diff options
| author | Dana Jansens <danakj@orodu.net> | 2003-06-21 18:59:35 +0000 |
|---|---|---|
| committer | Dana Jansens <danakj@orodu.net> | 2003-06-21 18:59:35 +0000 |
| commit | 069e9607fa433190307bb8242294a109e88165de (patch) | |
| tree | 3e65749cd6a9408394d2369071da29c6a131b816 /openbox/client.c | |
| parent | d085756572ae13035f69ab6fd3f7c9556d155e9c (diff) | |
add decoration state to the frame struct. make client_configure adjust the frame if the decorations do not match between the client and the frame, so that when they change it can send a configurenotify to the client.
Diffstat (limited to 'openbox/client.c')
| -rw-r--r-- | openbox/client.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/openbox/client.c b/openbox/client.c index a5c29a3b..87cdba96 100644 --- a/openbox/client.c +++ b/openbox/client.c @@ -1027,10 +1027,7 @@ void client_setup_decor_and_functions(Client *self) if (self->type == Type_Desktop && self->desktop != DESKTOP_ALL) client_set_desktop(self, DESKTOP_ALL, FALSE); - /* change the decors on the frame, and with more/less decorations, - we may also need to be repositioned */ - frame_adjust_area(self->frame, TRUE, TRUE); - /* with new decor, the window's maximized size may change */ + /* adjust the client's decorations, etc. */ client_reconfigure(self); } else { /* this makes sure that these windows appear on all desktops */ @@ -1775,6 +1772,9 @@ void client_configure(Client *self, Corner anchor, int x, int y, int w, int h, /* move/resize the frame to match the request */ if (self->frame) { + if (self->decorations != self->frame->decorations) + moved = resized = TRUE; + if (moved || resized) frame_adjust_area(self->frame, moved, resized); |
