summaryrefslogtreecommitdiff
path: root/openbox/client.c
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2003-06-21 18:59:35 +0000
committerDana Jansens <danakj@orodu.net>2003-06-21 18:59:35 +0000
commit069e9607fa433190307bb8242294a109e88165de (patch)
tree3e65749cd6a9408394d2369071da29c6a131b816 /openbox/client.c
parentd085756572ae13035f69ab6fd3f7c9556d155e9c (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.c8
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);