We refuse to move focus while a grab operation is in place. While this
generally makes sense, there's no reason why the window that owns the
grab shouldn't be given the regular input focus as well - we pretty
much assume that the grab window is also the focus window anyway.
In fact there's a strong reason for allowing the focus change here:
If the grab window isn't the focus window, it probably has a modal
transient that is focused instead, and a likely reason for the focus
request is that the transient is being unmanaged and we must move
the focus elsewhere.
https://gitlab.gnome.org/GNOME/mutter/issues/15
(cherry picked from commit
148da24f9510ebd23d750b8224aa0ab3a549e69e)
Bug-GNOME: https://gitlab.gnome.org/GNOME/mutter/issues/15
Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/gnome-shell/+bug/
1422253
Applied-Upstream: 3.28.4, commit:https://gitlab.gnome.org/GNOME/mutter/commit/
513cc535
Gbp-Pq: Name window-Don-t-refuse-to-move-focus-to-the-grab-window.patch
window->desc, window->input, window->take_focus);
if (window->display->grab_window &&
+ window->display->grab_window != window &&
window->display->grab_window->all_keys_grabbed &&
!window->display->grab_window->unmanaging)
{