window: Use getter for fullscreen state

Avoids going through struct field directly as we might replace that with
a WindowConfiguration type soon-ish.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4111>
This commit is contained in:
Bilal Elmoussaoui 2024-10-28 10:03:02 +01:00
parent 8e5433d82a
commit 0f5ec2ec16
6 changed files with 34 additions and 28 deletions

View File

@ -461,7 +461,8 @@ setup_constraint_info (MetaBackend *backend,
logical_monitor,
&info->work_area_monitor);
if (window->fullscreen && meta_window_has_fullscreen_monitors (window))
if (meta_window_is_fullscreen (window) &&
meta_window_has_fullscreen_monitors (window))
{
info->entire_monitor = window->fullscreen_monitors.top->rect;
mtk_rectangle_union (&info->entire_monitor,
@ -482,7 +483,7 @@ setup_constraint_info (MetaBackend *backend,
else
{
info->entire_monitor = logical_monitor->rect;
if (window->fullscreen)
if (meta_window_is_fullscreen (window))
meta_window_adjust_fullscreen_monitor_rect (window, &info->entire_monitor);
}
@ -551,7 +552,7 @@ place_window_if_needed (MetaWindow *window,
!(window->maximized_horizontally ||
window->maximized_vertically) &&
!window->minimized &&
!window->fullscreen)
!meta_window_is_fullscreen (window))
{
MetaMonitorManager *monitor_manager =
meta_backend_get_monitor_manager (info->backend);
@ -670,7 +671,7 @@ update_onscreen_requirements (MetaWindow *window,
* the application sends a bunch of configurerequest events). See
* #353699.
*/
if (window->fullscreen)
if (meta_window_is_fullscreen (window))
return;
/* USABILITY NOTE: Naturally, I only want the require_fully_onscreen,
@ -1166,7 +1167,7 @@ constrain_modal_dialog (MetaWindow *window,
meta_window_get_placement_rule (window))
return TRUE;
if (window->fullscreen)
if (meta_window_is_fullscreen (window))
return TRUE;
/* We want to center the dialog on the parent, including the decorations
@ -1354,7 +1355,7 @@ constrain_fullscreen (MetaWindow *window,
return TRUE;
/* Determine whether constraint applies; exit if it doesn't */
if (!window->fullscreen)
if (!meta_window_is_fullscreen (window))
return TRUE;
monitor = info->entire_monitor;
@ -1392,7 +1393,8 @@ constrain_size_increments (MetaWindow *window,
return TRUE;
/* Determine whether constraint applies; exit if it doesn't */
if (meta_window_is_maximized (window) || window->fullscreen ||
if (meta_window_is_maximized (window) ||
meta_window_is_fullscreen (window) ||
meta_window_is_tiled_side_by_side (window) ||
info->action_type == ACTION_MOVE)
return TRUE;
@ -1523,7 +1525,8 @@ constrain_aspect_ratio (MetaWindow *window,
(double)window->size_hints.max_aspect.y;
constraints_are_inconsistent = minr > maxr;
if (constraints_are_inconsistent ||
meta_window_is_maximized (window) || window->fullscreen ||
meta_window_is_maximized (window) ||
meta_window_is_fullscreen (window) ||
meta_window_is_tiled_side_by_side (window) ||
info->action_type == ACTION_MOVE)
return TRUE;
@ -1765,7 +1768,7 @@ constrain_fully_onscreen (MetaWindow *window,
*/
if (window->type == META_WINDOW_DESKTOP ||
window->type == META_WINDOW_DOCK ||
window->fullscreen ||
meta_window_is_fullscreen (window) ||
!window->require_fully_onscreen ||
info->is_user_action ||
meta_window_get_placement_rule (window))
@ -1828,7 +1831,7 @@ constrain_titlebar_visible (MetaWindow *window,
*/
if (window->type == META_WINDOW_DESKTOP ||
window->type == META_WINDOW_DOCK ||
window->fullscreen ||
meta_window_is_fullscreen (window) ||
!window->require_titlebar_visible ||
unconstrained_user_action ||
user_nonnorthern_resize ||

View File

@ -3148,7 +3148,7 @@ check_fullscreen_func (gpointer data)
if (window->hidden)
continue;
if (window->fullscreen)
if (meta_window_is_fullscreen (window))
{
covers_monitors = TRUE;
}

View File

@ -2175,7 +2175,7 @@ handle_toggle_fullscreen (MetaDisplay *display,
MetaKeyBinding *binding,
gpointer user_data)
{
if (window->fullscreen)
if (meta_window_is_fullscreen (window))
meta_window_unmake_fullscreen (window);
else if (window->has_fullscreen_func)
meta_window_make_fullscreen (window);

View File

@ -945,7 +945,7 @@ meta_window_place (MetaWindow *window,
* be maximized.
*/
if (window->has_maximize_func && window->decorated &&
!window->fullscreen)
!meta_window_is_fullscreen (window))
{
MtkRectangle workarea;
MtkRectangle frame_rect;

View File

@ -1461,7 +1461,7 @@ meta_window_unmanage (MetaWindow *window,
meta_window_on_all_workspaces_changed (window);
#ifdef HAVE_X11_CLIENT
if (window->fullscreen)
if (meta_window_is_fullscreen (window))
{
MetaGroup *group = NULL;
/* If the window is fullscreen, it may be forcing
@ -2695,7 +2695,9 @@ ensure_size_hints_satisfied (MtkRectangle *rect,
static void
meta_window_save_rect (MetaWindow *window)
{
if (!(meta_window_is_maximized (window) || meta_window_is_tiled_side_by_side (window) || window->fullscreen))
if (!(meta_window_is_maximized (window) ||
meta_window_is_tiled_side_by_side (window) ||
meta_window_is_fullscreen (window)))
{
/* save size/pos as appropriate args for move_resize */
if (!window->maximized_horizontally)
@ -2897,7 +2899,7 @@ meta_window_is_monitor_sized (MetaWindow *window)
if (!window->monitor)
return FALSE;
if (window->fullscreen)
if (meta_window_is_fullscreen (window))
return TRUE;
if (meta_window_is_screen_sized (window))
@ -3396,7 +3398,7 @@ meta_window_set_above (MetaWindow *window,
void
meta_window_make_fullscreen_internal (MetaWindow *window)
{
if (!window->fullscreen)
if (!meta_window_is_fullscreen (window))
{
meta_topic (META_DEBUG_WINDOW_OPS,
"Fullscreening %s", window->desc);
@ -3426,7 +3428,7 @@ meta_window_make_fullscreen (MetaWindow *window)
g_return_if_fail (META_IS_WINDOW (window));
g_return_if_fail (!window->override_redirect);
if (!window->fullscreen)
if (!meta_window_is_fullscreen (window))
{
MtkRectangle old_frame_rect, old_buffer_rect;
@ -3453,7 +3455,7 @@ meta_window_unmake_fullscreen (MetaWindow *window)
g_return_if_fail (META_IS_WINDOW (window));
g_return_if_fail (!window->override_redirect);
if (window->fullscreen)
if (meta_window_is_fullscreen (window))
{
MtkRectangle old_frame_rect, old_buffer_rect, target_rect;
gboolean has_target_size;
@ -3526,7 +3528,7 @@ meta_window_update_fullscreen_monitors (MetaWindow *window,
meta_window_clear_fullscreen_monitors (window);
}
if (window->fullscreen)
if (meta_window_is_fullscreen (window))
{
meta_window_queue(window, META_QUEUE_MOVE_RESIZE);
}
@ -4291,7 +4293,7 @@ meta_window_move_to_monitor (MetaWindow *window,
window->preferred_logical_monitor =
meta_logical_monitor_dup_id (window->monitor);
if (window->fullscreen || window->override_redirect)
if (meta_window_is_fullscreen (window) || window->override_redirect)
meta_display_queue_check_fullscreen (window->display);
}
@ -5740,7 +5742,7 @@ meta_window_recalc_features (MetaWindow *window)
* is not resizable purely due to fullscreen, we don't want to
* disable fullscreen mode.
*/
if (window->fullscreen)
if (meta_window_is_fullscreen (window))
{
window->has_move_func = FALSE;
window->has_resize_func = FALSE;
@ -5762,7 +5764,7 @@ meta_window_recalc_features (MetaWindow *window)
meta_topic (META_DEBUG_WINDOW_OPS,
"Window %s fullscreen = %d not resizable, maximizable = %d fullscreenable = %d min size %dx%d max size %dx%d",
window->desc,
window->fullscreen,
meta_window_is_fullscreen (window),
window->has_maximize_func, window->has_fullscreen_func,
window->size_hints.min_width,
window->size_hints.min_height,

View File

@ -2362,7 +2362,7 @@ meta_window_x11_set_net_wm_state (MetaWindow *window)
data[i] = x11_display->atom__NET_WM_STATE_MAXIMIZED_VERT;
++i;
}
if (window->fullscreen)
if (meta_window_is_fullscreen (window))
{
data[i] = x11_display->atom__NET_WM_STATE_FULLSCREEN;
++i;
@ -2417,7 +2417,7 @@ meta_window_x11_set_net_wm_state (MetaWindow *window)
mtk_x11_error_trap_pop (x11_display->xdisplay);
if (window->fullscreen)
if (meta_window_is_fullscreen (window))
{
if (meta_window_has_fullscreen_monitors (window))
{
@ -2993,7 +2993,7 @@ meta_window_move_resize_request (MetaWindow *window,
(window->decorated || !priv->has_custom_frame_extents) &&
mtk_rectangle_equal (&rect, &monitor_rect) &&
window->has_fullscreen_func &&
!window->fullscreen)
!meta_window_is_fullscreen (window))
{
/*
meta_topic (META_DEBUG_GEOMETRY,
@ -3432,7 +3432,8 @@ meta_window_x11_client_message (MetaWindow *window,
gboolean make_fullscreen;
make_fullscreen = (action == _NET_WM_STATE_ADD ||
(action == _NET_WM_STATE_TOGGLE && !window->fullscreen));
(action == _NET_WM_STATE_TOGGLE &&
!meta_window_is_fullscreen (window)));
if (make_fullscreen && window->has_fullscreen_func)
meta_window_make_fullscreen (window);
else
@ -4602,7 +4603,7 @@ meta_window_x11_can_unredirect (MetaWindowX11 *window_x11)
if (!window->monitor)
return FALSE;
if (window->fullscreen)
if (meta_window_is_fullscreen (window))
return TRUE;
if (meta_window_is_screen_sized (window))