7.2.4 高亮显示当前活动任务
当某个任务成为当前活动任务时,任务条需要将对应的任务项特殊标识一下。那么任务条如何知道当前任务已经发生变化了呢?前面我们看到,在winman中,每当为将一个窗口设置为当前活动窗口时,winman都将更新根窗口的属性_NET_ACTIVE_WINDOW。看到这里,读者一定明白了,任务条的处理过程与7.2.2节基本完全相同,相关代码如下:
函数root_window_event_filter用于检查根窗口发生变化的属性的值,如果是_NET_ACTIVE_WINDOW,说明当前活动的窗口改变了,任务条从根窗口读取当前活动的窗口,然后将其在任务条上对应的项高亮显示。