when setting up decor on a window, it needs to reconfigure twice if the decor changes, cuz the constraints need the new frame sizes to work right

This commit is contained in:
Dana Jansens 2003-08-05 07:39:44 +00:00
parent 20aca7fb7a
commit 853d5f4b70

View file

@ -1114,12 +1114,13 @@ void client_setup_decor_and_functions(ObClient *self)
client_change_allowed_actions(self); client_change_allowed_actions(self);
if (self->frame) { if (self->frame) {
/* this makes sure that these windows appear on all desktops */ if (self->decorations != self->frame->decorations)
if (self->type == OB_CLIENT_TYPE_DESKTOP && /* adjust the client's decorations, etc. */
self->desktop != DESKTOP_ALL) client_reconfigure(self);
client_set_desktop(self, DESKTOP_ALL, FALSE); /* we actually have to do this twice :P
the first time it removes the decorations, but now it may need to
/* adjust the client's decorations, etc. */ be reconstrained for being maximized etc, so calling this again
will work with the new setup of decorations on the window */
client_reconfigure(self); client_reconfigure(self);
} else { } else {
/* this makes sure that these windows appear on all desktops */ /* this makes sure that these windows appear on all desktops */