From 6b16604c26f86b2564863627caab2c9ae4d04a21 Mon Sep 17 00:00:00 2001 From: "Owen W. Taylor" Date: Thu, 11 Nov 2010 16:04:31 -0500 Subject: [PATCH] Export meta_window_appears_focused() Move meta_window_appears_focused() into the public window.h so we can use it to change the shadow type. https://bugzilla.gnome.org/show_bug.cgi?id=592382 --- src/core/window-private.h | 2 -- src/core/window.c | 13 +++++++++++++ src/include/window.h | 1 + 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/src/core/window-private.h b/src/core/window-private.h index 485a68348..67fe4d195 100644 --- a/src/core/window-private.h +++ b/src/core/window-private.h @@ -461,8 +461,6 @@ void meta_window_update_fullscreen_monitors (MetaWindow *window, unsigned long left, unsigned long right); -gboolean meta_window_appears_focused (MetaWindow *window); - /* args to move are window pos, not frame pos */ void meta_window_move (MetaWindow *window, gboolean user_op, diff --git a/src/core/window.c b/src/core/window.c index 8fd342cae..30bdeda21 100644 --- a/src/core/window.c +++ b/src/core/window.c @@ -9275,9 +9275,22 @@ transient_has_focus (MetaWindow *window, return FALSE; } +/** + * meta_window_appears_focused: + * @window: a #MetaWindow + * + * Determines if the window should be drawn with a focused appearance. This is + * true for focused windows but also true for windows with a focused modal + * dialog attached. + * + * Return value: %TRUE if the window should be drawn with a focused frame + */ gboolean meta_window_appears_focused (MetaWindow *window) { + /* FIXME: meta_window_foreach_transient() iterates over all windows; we + * should eat the complexity to cache a bit for this. + */ if (!window->has_focus && meta_prefs_get_attach_modal_dialogs ()) { gboolean focus = FALSE; diff --git a/src/include/window.h b/src/include/window.h index 8cdcd18e8..b3d3c4cf3 100644 --- a/src/include/window.h +++ b/src/include/window.h @@ -69,6 +69,7 @@ GType meta_window_get_type (void); MetaFrame *meta_window_get_frame (MetaWindow *window); gboolean meta_window_has_focus (MetaWindow *window); +gboolean meta_window_appears_focused (MetaWindow *window); gboolean meta_window_is_shaded (MetaWindow *window); gboolean meta_window_is_override_redirect (MetaWindow *window); gboolean meta_window_is_skip_taskbar (MetaWindow *window);