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
Dana Jansens danakj@orodu.net
1 files changed,
7 insertions(+),
6 deletions(-)
jump to
M
openbox/client.c
→
openbox/client.c
@@ -1114,12 +1114,13 @@
client_change_allowed_actions(self); if (self->frame) { - /* this makes sure that these windows appear on all desktops */ - if (self->type == OB_CLIENT_TYPE_DESKTOP && - self->desktop != DESKTOP_ALL) - client_set_desktop(self, DESKTOP_ALL, FALSE); - - /* adjust the client's decorations, etc. */ + if (self->decorations != self->frame->decorations) + /* adjust the client's decorations, etc. */ + client_reconfigure(self); + /* we actually have to do this twice :P + the first time it removes the decorations, but now it may need to + be reconstrained for being maximized etc, so calling this again + will work with the new setup of decorations on the window */ client_reconfigure(self); } else { /* this makes sure that these windows appear on all desktops */