mirror of
https://github.com/brl/mutter.git
synced 2024-12-23 19:42:05 +00:00
window: Add is_screen_sized method
Add a method that returns whether the window occupies the whole screen (i.e all montiors).
This commit is contained in:
parent
027593faa5
commit
e9709b7ff9
@ -3646,6 +3646,28 @@ meta_window_is_fullscreen (MetaWindow *window)
|
|||||||
return window->fullscreen;
|
return window->fullscreen;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 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:
|
* meta_window_is_monitor_sized:
|
||||||
*
|
*
|
||||||
@ -3658,18 +3680,14 @@ meta_window_is_monitor_sized (MetaWindow *window)
|
|||||||
if (window->fullscreen)
|
if (window->fullscreen)
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
|
||||||
|
if (meta_window_is_screen_sized (window))
|
||||||
|
return TRUE;
|
||||||
|
|
||||||
if (window->override_redirect)
|
if (window->override_redirect)
|
||||||
{
|
{
|
||||||
MetaRectangle window_rect, monitor_rect;
|
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);
|
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);
|
meta_screen_get_monitor_geometry (window->screen, window->monitor->number, &monitor_rect);
|
||||||
|
|
||||||
if (meta_rectangle_equal (&window_rect, &monitor_rect))
|
if (meta_rectangle_equal (&window_rect, &monitor_rect))
|
||||||
|
@ -141,6 +141,7 @@ void meta_window_foreach_ancestor (MetaWindow *window,
|
|||||||
|
|
||||||
MetaMaximizeFlags meta_window_get_maximized (MetaWindow *window);
|
MetaMaximizeFlags meta_window_get_maximized (MetaWindow *window);
|
||||||
gboolean meta_window_is_fullscreen (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_monitor_sized (MetaWindow *window);
|
||||||
gboolean meta_window_is_on_primary_monitor (MetaWindow *window);
|
gboolean meta_window_is_on_primary_monitor (MetaWindow *window);
|
||||||
gboolean meta_window_requested_bypass_compositor (MetaWindow *window);
|
gboolean meta_window_requested_bypass_compositor (MetaWindow *window);
|
||||||
|
Loading…
Reference in New Issue
Block a user