diff options
| author | Dana Jansens <danakj@orodu.net> | 2003-08-05 07:39:44 +0000 |
|---|---|---|
| committer | Dana Jansens <danakj@orodu.net> | 2003-08-05 07:39:44 +0000 |
| commit | 853d5f4b70ccc475ae25806a6683406119236b29 (patch) | |
| tree | 9325af608f4fd3f8494357a69a7f8e2a63f4612e /openbox | |
| parent | 20aca7fb7a21e5b88eae0d749a3c4a34dde39ebb (diff) | |
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
Diffstat (limited to 'openbox')
| -rw-r--r-- | openbox/client.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/openbox/client.c b/openbox/client.c index 1f1d8032..ebff0bae 100644 --- a/openbox/client.c +++ b/openbox/client.c @@ -1114,12 +1114,13 @@ void client_setup_decor_and_functions(ObClient *self) 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 */ |
