From abcbdcce1e67a7c652a21c7578aba69e1bda08c4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alberts=20Muktup=C4=81vels?= Date: Mon, 3 Oct 2022 19:52:39 +0300 Subject: window: add meta_window_is_focusable Based on mutter commits: https://gitlab.gnome.org/GNOME/mutter/-/commit/43633d6b2f6f602ba87956d5c20ee336b8b56236 https://gitlab.gnome.org/GNOME/mutter/-/commit/58d2a674c466b607e18e6c8e129a6cf1646fde7f --- src/core/stack.c | 2 +- src/core/window-private.h | 2 ++ src/core/window.c | 10 ++++++++-- 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/src/core/stack.c b/src/core/stack.c index e16014d1..bc0fa9d3 100644 --- a/src/core/stack.c +++ b/src/core/stack.c @@ -1243,7 +1243,7 @@ get_default_focus_window (MetaStack *stack, if (window->unmanaging) continue; - if (!(window->input || window->take_focus)) + if (!meta_window_is_focusable (window)) continue; if (!meta_window_should_be_showing_on_workspace (window, workspace)) diff --git a/src/core/window-private.h b/src/core/window-private.h index ff1a606c..61cef633 100644 --- a/src/core/window-private.h +++ b/src/core/window-private.h @@ -593,6 +593,8 @@ gboolean meta_window_client_message (MetaWindow *window, void meta_window_set_focused_internal (MetaWindow *window, gboolean focused); +gboolean meta_window_is_focusable (MetaWindow *self); + void meta_window_set_current_workspace_hint (MetaWindow *window); unsigned long meta_window_get_net_wm_desktop (MetaWindow *window); diff --git a/src/core/window.c b/src/core/window.c index 194f42b7..07886fb5 100644 --- a/src/core/window.c +++ b/src/core/window.c @@ -2044,7 +2044,7 @@ window_state_on_map (MetaWindow *window, /* don't initially focus windows that are intended to not accept * focus */ - if (!(window->input || window->take_focus)) + if (!meta_window_is_focusable (window)) { *takes_focus = FALSE; return; @@ -4418,7 +4418,7 @@ meta_window_focus (MetaWindow *window, */ if (window->frame && (window->shaded || - !(window->input || window->take_focus))) + !meta_window_is_focusable (window))) { if (window->frame) { @@ -5903,6 +5903,12 @@ meta_window_set_focused_internal (MetaWindow *window, } } +gboolean +meta_window_is_focusable (MetaWindow *self) +{ + return self->input || self->take_focus; +} + static gboolean process_property_notify (MetaWindow *window, XPropertyEvent *event) -- cgit v1.2.1