// 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);
- add_task (win);
+ tsk = add_task (win);
+ if (tsk && active) {
+ tsk->area.is_active = 1;
+ task_active = tsk;
+ }
panel_refresh = 1;
}
}