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.
This commit is contained in:
parent
7a6485e4bb
commit
a4a1a667fc
1 changed files with 5 additions and 3 deletions
|
@ -2874,8 +2874,10 @@ void client_try_configure(ObClient *self, gint *x, gint *y, gint *w, gint *h,
|
|||
/* 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 @@ void client_maximize(ObClient *self, gboolean max, gint dir)
|
|||
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) {
|
||||
|
|
Loading…
Reference in a new issue