|
|
776610 |
From 513cc535f3adb4414126f2d0e18bb11bbd93d218 Mon Sep 17 00:00:00 2001
|
|
|
776610 |
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
|
|
776610 |
Date: Fri, 25 May 2018 18:18:23 +0000
|
|
|
776610 |
Subject: [PATCH 1/3] window: Don't refuse to move focus to the grab window
|
|
|
776610 |
|
|
|
776610 |
We refuse to move focus while a grab operation is in place. While this
|
|
|
776610 |
generally makes sense, there's no reason why the window that owns the
|
|
|
776610 |
grab shouldn't be given the regular input focus as well - we pretty
|
|
|
776610 |
much assume that the grab window is also the focus window anyway.
|
|
|
776610 |
|
|
|
776610 |
In fact there's a strong reason for allowing the focus change here:
|
|
|
776610 |
If the grab window isn't the focus window, it probably has a modal
|
|
|
776610 |
transient that is focused instead, and a likely reason for the focus
|
|
|
776610 |
request is that the transient is being unmanaged and we must move
|
|
|
776610 |
the focus elsewhere.
|
|
|
776610 |
|
|
|
776610 |
https://gitlab.gnome.org/GNOME/mutter/issues/15
|
|
|
776610 |
|
|
|
776610 |
|
|
|
776610 |
(cherry picked from commit 148da24f9510ebd23d750b8224aa0ab3a549e69e)
|
|
|
776610 |
---
|
|
|
776610 |
src/core/window.c | 1 +
|
|
|
776610 |
1 file changed, 1 insertion(+)
|
|
|
776610 |
|
|
|
776610 |
diff --git a/src/core/window.c b/src/core/window.c
|
|
|
776610 |
index 743326c60..5b1eb5b68 100644
|
|
|
776610 |
--- a/src/core/window.c
|
|
|
776610 |
+++ b/src/core/window.c
|
|
|
776610 |
@@ -4620,6 +4620,7 @@ meta_window_focus (MetaWindow *window,
|
|
|
776610 |
window->desc, window->input, window->take_focus);
|
|
|
776610 |
|
|
|
776610 |
if (window->display->grab_window &&
|
|
|
776610 |
+ window->display->grab_window != window &&
|
|
|
776610 |
window->display->grab_window->all_keys_grabbed &&
|
|
|
776610 |
!window->display->grab_window->unmanaging)
|
|
|
776610 |
{
|
|
|
776610 |
--
|
|
|
776610 |
2.19.0
|
|
|
776610 |
|