*fix* better internal urgent task handling
*fix* urgent task blinks on all desktops for omnipresent windows *fix* better active window handling on desktop changes *fix* better active window handling if switching omnipresent property git-svn-id: http://tint2.googlecode.com/svn/trunk@302 121b4492-b84c-0410-8b4c-0d4edfb3f3cc
This commit is contained in:
17
src/tint.c
17
src/tint.c
@@ -400,6 +400,7 @@ void event_property_notify (XEvent *e)
|
||||
panel1[i].area.resize = 1;
|
||||
}
|
||||
task_refresh_tasklist();
|
||||
active_task();
|
||||
panel_refresh = 1;
|
||||
}
|
||||
// Change desktop
|
||||
@@ -559,16 +560,12 @@ void event_property_notify (XEvent *e)
|
||||
// Window desktop changed
|
||||
else if (at == server.atom._NET_WM_DESKTOP) {
|
||||
int desktop = window_get_desktop (win);
|
||||
int active = tsk->area.is_active;
|
||||
//printf(" Window desktop changed %d, %d\n", tsk->desktop, desktop);
|
||||
// bug in windowmaker : send unecessary 'desktop changed' when focus changed
|
||||
if (desktop != tsk->desktop) {
|
||||
remove_task (tsk);
|
||||
tsk = add_task (win);
|
||||
if (tsk && active) {
|
||||
tsk->area.is_active = 1;
|
||||
task_active = tsk;
|
||||
}
|
||||
active_task();
|
||||
panel_refresh = 1;
|
||||
}
|
||||
}
|
||||
@@ -630,9 +627,13 @@ void event_configure_notify (Window win)
|
||||
remove_task (tsk);
|
||||
add_task (win);
|
||||
if (win == window_get_active ()) {
|
||||
Task *tsk = task_get_task (win);
|
||||
tsk->area.is_active = 1;
|
||||
task_active = tsk;
|
||||
GSList* task_list = task_get_tasks(win);
|
||||
while (task_list) {
|
||||
Task *tsk = task_list->data;
|
||||
tsk->area.is_active = 1;
|
||||
task_active = tsk;
|
||||
task_list = task_list->next;
|
||||
}
|
||||
}
|
||||
panel_refresh = 1;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user