1
0
Fork 0

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: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3870>
This commit is contained in:
Jonas Ådahl 2024-07-03 14:13:59 +02:00 committed by Marge Bot
parent d9ead043c7
commit 2466b9accb

View file

@ -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. */