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
This commit is contained in:
Owen W. Taylor 2010-11-11 16:04:31 -05:00
parent 3c4d52732e
commit 6b16604c26
3 changed files with 14 additions and 2 deletions

View File

@ -461,8 +461,6 @@ void meta_window_update_fullscreen_monitors (MetaWindow *window,
unsigned long left, unsigned long left,
unsigned long right); unsigned long right);
gboolean meta_window_appears_focused (MetaWindow *window);
/* args to move are window pos, not frame pos */ /* args to move are window pos, not frame pos */
void meta_window_move (MetaWindow *window, void meta_window_move (MetaWindow *window,
gboolean user_op, gboolean user_op,

View File

@ -9275,9 +9275,22 @@ transient_has_focus (MetaWindow *window,
return FALSE; 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 gboolean
meta_window_appears_focused (MetaWindow *window) 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 ()) if (!window->has_focus && meta_prefs_get_attach_modal_dialogs ())
{ {
gboolean focus = FALSE; gboolean focus = FALSE;

View File

@ -69,6 +69,7 @@ GType meta_window_get_type (void);
MetaFrame *meta_window_get_frame (MetaWindow *window); MetaFrame *meta_window_get_frame (MetaWindow *window);
gboolean meta_window_has_focus (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_shaded (MetaWindow *window);
gboolean meta_window_is_override_redirect (MetaWindow *window); gboolean meta_window_is_override_redirect (MetaWindow *window);
gboolean meta_window_is_skip_taskbar (MetaWindow *window); gboolean meta_window_is_skip_taskbar (MetaWindow *window);