diff options
-rw-r--r-- | src/client.c | 4 | ||||
-rw-r--r-- | src/events.c | 10 |
2 files changed, 9 insertions, 5 deletions
diff --git a/src/client.c b/src/client.c index df34eb019..4071e67f0 100644 --- a/src/client.c +++ b/src/client.c @@ -4089,6 +4089,7 @@ clientGetGtkHideTitlebar (Client * c) { ScreenInfo *screen_info; DisplayInfo *display_info; + unsigned long old_value; long val; g_return_val_if_fail (c != NULL, FALSE); @@ -4096,13 +4097,14 @@ clientGetGtkHideTitlebar (Client * c) screen_info = c->screen_info; display_info = screen_info->display_info; + old_value = FLAG_TEST (c->flags, CLIENT_FLAG_HIDE_TITLEBAR); FLAG_UNSET (c->flags, CLIENT_FLAG_HIDE_TITLEBAR); if (getHint (display_info, c->window, GTK_HIDE_TITLEBAR_WHEN_MAXIMIZED, &val) &&( val != 0)) { FLAG_SET (c->flags, CLIENT_FLAG_HIDE_TITLEBAR); } - return FLAG_TEST (c->flags, CLIENT_FLAG_HIDE_TITLEBAR); + return old_value != FLAG_TEST (c->flags, CLIENT_FLAG_HIDE_TITLEBAR); } #ifdef HAVE_LIBSTARTUP_NOTIFICATION diff --git a/src/events.c b/src/events.c index 74503e341..ee026aa1c 100644 --- a/src/events.c +++ b/src/events.c @@ -1839,11 +1839,13 @@ handlePropertyNotify (DisplayInfo *display_info, XPropertyEvent * ev) else if (ev->atom == display_info->atoms[GTK_HIDE_TITLEBAR_WHEN_MAXIMIZED]) { TRACE ("client \"%s\" (0x%lx) has received a GTK_HIDE_TITLEBAR_WHEN_MAXIMIZED notify", c->name, c->window); - clientGetGtkHideTitlebar (c); - if (FLAG_TEST (c->flags, CLIENT_FLAG_MAXIMIZED)) + if (clientGetGtkHideTitlebar (c)) { - clientUpdateMaximizeSize (c); - clientReconfigure (c, CFG_FORCE_REDRAW); + if (FLAG_TEST (c->flags, CLIENT_FLAG_MAXIMIZED)) + { + clientUpdateMaximizeSize (c); + clientReconfigure (c, CFG_FORCE_REDRAW); + } } } #ifdef HAVE_STARTUP_NOTIFICATION |