core: Avoid focusing windows on map during grabs

Normally, mutter implicitly allows a window being shown to take
focus. This is normally desired, except it steals input from
GNOME Shell self. Avoid focusing the just shown window in those
situations.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2878>
This commit is contained in:
Carlos Garnacho 2023-03-01 13:58:13 +01:00 committed by Marge Bot
parent 608d3019b6
commit 3ac82a58c5

View File

@ -1990,6 +1990,15 @@ window_state_on_map (MetaWindow *window,
return; return;
} }
/* Do not focus window on map if input is already taken by the
* compositor.
*/
if (!meta_display_windows_are_interactable (window->display))
{
*takes_focus = FALSE;
return;
}
/* Terminal usage may be different; some users intend to launch /* Terminal usage may be different; some users intend to launch
* many apps in quick succession or to just view things in the new * many apps in quick succession or to just view things in the new
* window while still interacting with the terminal. In that case, * window while still interacting with the terminal. In that case,