From 2466b9accbcc93843bf905cbd30e3b9f53a0a5be Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonas=20=C3=85dahl?= Date: Wed, 3 Jul 2024 14:13:59 +0200 Subject: [PATCH] window: Don't switch workspace on sticky transient when activating If a transient window is sticky (visible on all workspaces) and it gets activated, we'd call move_worskpace() which would effectively unstick it, which is rather unexpected. It'd also effectively unstick its parent as well, due to moving a transient window also moves its descendants and ascendants. Part-of: --- src/core/window.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/core/window.c b/src/core/window.c index 7f38a6cc8..4a2c3b8cf 100644 --- a/src/core/window.c +++ b/src/core/window.c @@ -3555,7 +3555,7 @@ meta_window_activate_full (MetaWindow *window, /* We've marked it as demanding, don't need to do anything else. */ return; } - else if (window->transient_for != NULL) + else if (window->transient_for != NULL && !window->on_all_workspaces) { /* Move transients to current workspace - preference dialogs should appear over the source window. */