summaryrefslogtreecommitdiff
path: root/src/netwm.c
diff options
context:
space:
mode:
authorOlivier Fourdan <fourdan@xfce.org>2020-12-17 20:18:11 +0100
committerOlivier Fourdan <fourdan@xfce.org>2020-12-17 20:18:11 +0100
commit9b77e0719a1478a106835448793a4d1ae20309dc (patch)
treec1ce26f04c9a1509981f5d5af3b459d2dd70b32c /src/netwm.c
parente1cbe04b306334afc9aad873eac18f773df344c2 (diff)
downloadxfwm4-9b77e0719a1478a106835448793a4d1ae20309dc.tar.gz
netwm: Mark splashscreen as transient for groups
KDE applications such as Krita place their splashscreen window above other windows, but may display a dialog at startup, and that dialog would end up underneath the splashscreen. Make the splashscreen windows transient for groups, so that if another window from the same applications is eventually mapped, the splashscreen will be sent back automatically at the same layer as the application and will not hide it. Signed-off-by: Olivier Fourdan <fourdan@xfce.org> Fixes: https://gitlab.xfce.org/xfce/xfwm4/-/issues/470
Diffstat (limited to 'src/netwm.c')
-rw-r--r--src/netwm.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/netwm.c b/src/netwm.c
index 031f746c8..7c9838fc5 100644
--- a/src/netwm.c
+++ b/src/netwm.c
@@ -1332,6 +1332,14 @@ clientWindowType (Client * c)
XFWM_FLAG_HAS_BORDER | XFWM_FLAG_HAS_HIDE |
XFWM_FLAG_HAS_MENU | XFWM_FLAG_HAS_MOVE |
XFWM_FLAG_HAS_RESIZE);
+ /* Treat SPLASHSCREEN as transient for group to work around
+ * broken apps placing splashscreens above and then complaining
+ * it hides their dialogs, sigh.
+ */
+ if ((c->transient_for == None) || (!clientGetTransient (c)))
+ {
+ c->transient_for = c->screen_info->xroot;
+ }
}
else if (c->type_atom == display_info->atoms[NET_WM_WINDOW_TYPE_NOTIFICATION])
{