all repos — openbox @ a4a1a667fc341b1fb2c420b6b699a9074fefbdad

openbox fork - make it a bit more like ryudo

If a window is maximized and has FUNC_MAXIMIZE disabled, still let it unmaximize.  When normal hints change and we reconfigure, the w/h of the window may not have changed - rather the minw/maxh etc may have changed.  So in client_try_configure always run through the code that checks them to see if the client should be resized or whatever.
Dana Jansens danakj@orodu.net
commit

a4a1a667fc341b1fb2c420b6b699a9074fefbdad

parent

7a6485e4bb4ceb88f6279d4bce054c1aa30d45dd

1 files changed, 5 insertions(+), 3 deletions(-)

jump to
M openbox/client.copenbox/client.c

@@ -2874,8 +2874,10 @@

/* gets the client's position */ frame_frame_gravity(self->frame, x, y); - /* work within the preferred sizes given by the window */ - if (!(*w == self->area.width && *h == self->area.height)) { + /* work within the preferred sizes given by the window, these may have + changed rather than it's requested width and height, so always run + through this code */ + { gint basew, baseh, minw, minh; gint incw, inch; gfloat minratio, maxratio;

@@ -3254,7 +3256,7 @@ {

gint x, y, w, h; g_assert(dir == 0 || dir == 1 || dir == 2); - if (!(self->functions & OB_CLIENT_FUNC_MAXIMIZE)) return; /* can't */ + if (!(self->functions & OB_CLIENT_FUNC_MAXIMIZE) && max) return;/* can't */ /* check if already done */ if (max) {