X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=openbox%2Fscreen.c;h=7e02bff43accde12621ba2eb7438d99b0a24560d;hb=ae624a1487fd7db9291c4de1a3b2c34fcab89ef9;hp=720fc049c423bfcb4ce104b4e21070ea7adb4fca;hpb=de2ba8f28b85422e645c94cfdf5791cce3321264;p=chaz%2Fopenbox diff --git a/openbox/screen.c b/openbox/screen.c index 720fc049..7e02bff4 100644 --- a/openbox/screen.c +++ b/openbox/screen.c @@ -27,6 +27,7 @@ #include "moveresize.h" #include "config.h" #include "screen.h" +#include "composite.h" #include "client.h" #include "session.h" #include "frame.h" @@ -490,6 +491,9 @@ void screen_resize() for (it = client_list; it; it = g_list_next(it)) client_move_onscreen(it->data, FALSE); + + /* this needs to be setup whenever the root window's size changes */ + composite_setup_root_window(); } void screen_set_num_desktops(guint num) @@ -526,9 +530,10 @@ void screen_set_num_desktops(guint num) client_set_desktop(c, num - 1, FALSE, TRUE); /* raise all the windows that are on the current desktop which is being merged */ - else if (c->desktop == DESKTOP_ALL || - c->desktop == num - 1) - stacking_raise(WINDOW_AS_CLIENT(c)); + else if (screen_desktop == num - 1 && + (c->desktop == DESKTOP_ALL || + c->desktop == screen_desktop)) + stacking_raise(CLIENT_AS_WINDOW(c)); } }