save the frame decorations in client_configure_full before causing the fake frame adjust, since that loses its old value.
This commit is contained in:
parent
084c66a32a
commit
d94fba7262
1 changed files with 4 additions and 9 deletions
|
@ -1114,14 +1114,8 @@ void client_setup_decor_and_functions(ObClient *self)
|
|||
client_change_allowed_actions(self);
|
||||
|
||||
if (self->frame) {
|
||||
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);
|
||||
/* adjust the client's decorations, etc. */
|
||||
client_reconfigure(self);
|
||||
} else {
|
||||
/* this makes sure that these windows appear on all desktops */
|
||||
if (self->type == OB_CLIENT_TYPE_DESKTOP &&
|
||||
|
@ -1711,6 +1705,7 @@ void client_configure_full(ObClient *self, ObCorner anchor,
|
|||
gboolean force_reply)
|
||||
{
|
||||
gboolean moved = FALSE, resized = FALSE;
|
||||
gint fdecor = self->frame->decorations;
|
||||
|
||||
/* make the frame recalculate its dimentions n shit without changing
|
||||
anything visible for real, this way the constraints below can work with
|
||||
|
@ -1901,7 +1896,7 @@ void client_configure_full(ObClient *self, ObCorner anchor,
|
|||
|
||||
/* move/resize the frame to match the request */
|
||||
if (self->frame) {
|
||||
if (self->decorations != self->frame->decorations)
|
||||
if (self->decorations != fdecor)
|
||||
moved = resized = TRUE;
|
||||
|
||||
if (moved || resized)
|
||||
|
|
Loading…
Reference in a new issue