[mutter] window: Add is_screen_sized method



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]