[mutter] window: Add is_screen_sized method
- From: Adel Gadllah <agadllah src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [mutter] window: Add is_screen_sized method
- Date: Mon, 18 Feb 2013 13:10:40 +0000 (UTC)
commit e9709b7ff9fd28f9ffa28e20a0c63306ffaf6397
Author: Adel Gadllah <adel gadllah gmail com>
Date: Mon Feb 18 13:30:37 2013 +0100
window: Add is_screen_sized method
Add a method that returns whether the window occupies
the whole screen (i.e all montiors).
src/core/window.c | 32 +++++++++++++++++++++++++-------
src/meta/window.h | 1 +
2 files changed, 26 insertions(+), 7 deletions(-)
---
diff --git a/src/core/window.c b/src/core/window.c
index e4a8ddc..19d1988 100644
--- a/src/core/window.c
+++ b/src/core/window.c
@@ -3647,6 +3647,28 @@ meta_window_is_fullscreen (MetaWindow *window)
}
/**
+ * meta_window_is_screen_sized:
+ *
+ * Return value: %TRUE if the window is occupies the
+ * the whole screen (all monitors).
+ */
+gboolean
+meta_window_is_screen_sized (MetaWindow *window)
+{
+ MetaRectangle window_rect;
+ int screen_width, screen_height;
+
+ meta_screen_get_size (window->screen, &screen_width, &screen_height);
+ meta_window_get_outer_rect (window, &window_rect);
+
+ if (window_rect.x == 0 && window_rect.y == 0 &&
+ window_rect.width == screen_width && window_rect.height == screen_height)
+ return TRUE;
+
+ return FALSE;
+}
+
+/**
* meta_window_is_monitor_sized:
*
* Return value: %TRUE if the window is occupies an entire monitor or
@@ -3658,18 +3680,14 @@ meta_window_is_monitor_sized (MetaWindow *window)
if (window->fullscreen)
return TRUE;
+ if (meta_window_is_screen_sized (window))
+ return TRUE;
+
if (window->override_redirect)
{
MetaRectangle window_rect, monitor_rect;
- int screen_width, screen_height;
- meta_screen_get_size (window->screen, &screen_width, &screen_height);
meta_window_get_outer_rect (window, &window_rect);
-
- if (window_rect.x == 0 && window_rect.y == 0 &&
- window_rect.width == screen_width && window_rect.height == screen_height)
- return TRUE;
-
meta_screen_get_monitor_geometry (window->screen, window->monitor->number, &monitor_rect);
if (meta_rectangle_equal (&window_rect, &monitor_rect))
diff --git a/src/meta/window.h b/src/meta/window.h
index 9814f47..25eae37 100644
--- a/src/meta/window.h
+++ b/src/meta/window.h
@@ -141,6 +141,7 @@ void meta_window_foreach_ancestor (MetaWindow *window,
MetaMaximizeFlags meta_window_get_maximized (MetaWindow *window);
gboolean meta_window_is_fullscreen (MetaWindow *window);
+gboolean meta_window_is_screen_sized (MetaWindow *window);
gboolean meta_window_is_monitor_sized (MetaWindow *window);
gboolean meta_window_is_on_primary_monitor (MetaWindow *window);
gboolean meta_window_requested_bypass_compositor (MetaWindow *window);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]