was not moving the window between desktop focus lists sometimes. bad news. now i always do. yay!

This commit is contained in:
Dana Jansens 2003-03-28 08:23:18 +00:00
parent 4bd182605c
commit b749cd5ec4

View file

@ -1730,19 +1730,20 @@ void client_set_desktop(Client *self, guint target, gboolean donthide)
if (old == DESKTOP_ALL) { if (old == DESKTOP_ALL) {
for (i = 0; i < screen_num_desktops; ++i) for (i = 0; i < screen_num_desktops; ++i)
focus_order[i] = g_list_remove(focus_order[i], self); focus_order[i] = g_list_remove(focus_order[i], self);
if (focus_new.bool) } else
focus_order[target] = g_list_prepend(focus_order[target], self);
else
focus_order[target] = g_list_append(focus_order[target], self);
} else {
focus_order[old] = g_list_remove(focus_order[old], self); focus_order[old] = g_list_remove(focus_order[old], self);
if (target == DESKTOP_ALL) if (target == DESKTOP_ALL) {
for (i = 0; i < screen_num_desktops; ++i) { for (i = 0; i < screen_num_desktops; ++i) {
if (focus_new.bool) if (focus_new.bool)
focus_order[i] = g_list_prepend(focus_order[i], self); focus_order[i] = g_list_prepend(focus_order[i], self);
else else
focus_order[i] = g_list_append(focus_order[i], self); focus_order[i] = g_list_append(focus_order[i], self);
} }
} else {
if (focus_new.bool)
focus_order[target] = g_list_prepend(focus_order[target], self);
else
focus_order[target] = g_list_append(focus_order[target], self);
} }
dispatch_client(Event_Client_Desktop, self, target, old); dispatch_client(Event_Client_Desktop, self, target, old);