From c33286d357030944bd1a760b424fe3ae065b8808 Mon Sep 17 00:00:00 2001 From: Olivier Fourdan <fourdan@xfce.org> Date: Tue, 25 Aug 2015 16:47:30 +0200 Subject: [PATCH] Un-shade windows when fill is invoked Bug: 7549 Still thinking this is a corner case, but oh well... Signed-off-by: Olivier Fourdan <fourdan@xfce.org> --- src/client.c | 5 +++++ src/client.h | 4 +++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/client.c b/src/client.c index 952421165..f0538a2cd 100644 --- a/src/client.c +++ b/src/client.c @@ -3394,6 +3394,11 @@ clientToggleMaximized (Client *c, int mode, gboolean restore_position) clientSetNetActions (c); if (restore_position && FLAG_TEST (c->xfwm_flags, XFWM_FLAG_MANAGED)) { + if (FLAG_TEST (c->flags, CLIENT_FLAG_SHADED)) + { + /* It's a shame, we are configuring the same client twice in a row */ + clientUnshade (c); + } clientConfigure (c, &wc, CWWidth | CWHeight | CWX | CWY, CFG_FORCE_REDRAW); } /* Do not update the state while moving/resizing, CSD windows may resize */ diff --git a/src/client.h b/src/client.h index 7aa93f37d..aa2b1e0ab 100644 --- a/src/client.h +++ b/src/client.h @@ -229,7 +229,9 @@ !FLAG_TEST (c->flags, CLIENT_FLAG_FULLSCREEN)) #define CLIENT_CAN_FILL_WINDOW(c) (FLAG_TEST(c->xfwm_flags, XFWM_FLAG_HAS_RESIZE | \ XFWM_FLAG_IS_RESIZABLE) && \ - !FLAG_TEST (c->flags, CLIENT_FLAG_FULLSCREEN | CLIENT_FLAG_MAXIMIZED)) + !FLAG_TEST (c->flags, CLIENT_FLAG_FULLSCREEN | \ + CLIENT_FLAG_MAXIMIZED | \ + CLIENT_FLAG_SHADED)) #define CLIENT_CAN_TILE_WINDOW(c) (CLIENT_CAN_MAXIMIZE_WINDOW(c) && \ !FLAG_TEST (c->flags, CLIENT_FLAG_SHADED) && \ (c->type & WINDOW_NORMAL)) -- GitLab