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

View File

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

View File

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

View File

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

View File

@ -1461,7 +1461,7 @@ meta_window_unmanage (MetaWindow *window,
meta_window_on_all_workspaces_changed (window); meta_window_on_all_workspaces_changed (window);
#ifdef HAVE_X11_CLIENT #ifdef HAVE_X11_CLIENT
if (window->fullscreen) if (meta_window_is_fullscreen (window))
{ {
MetaGroup *group = NULL; MetaGroup *group = NULL;
/* If the window is fullscreen, it may be forcing /* If the window is fullscreen, it may be forcing
@ -2695,7 +2695,9 @@ ensure_size_hints_satisfied (MtkRectangle *rect,
static void static void
meta_window_save_rect (MetaWindow *window) 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 */ /* save size/pos as appropriate args for move_resize */
if (!window->maximized_horizontally) if (!window->maximized_horizontally)
@ -2897,7 +2899,7 @@ meta_window_is_monitor_sized (MetaWindow *window)
if (!window->monitor) if (!window->monitor)
return FALSE; return FALSE;
if (window->fullscreen) if (meta_window_is_fullscreen (window))
return TRUE; return TRUE;
if (meta_window_is_screen_sized (window)) if (meta_window_is_screen_sized (window))
@ -3396,7 +3398,7 @@ meta_window_set_above (MetaWindow *window,
void void
meta_window_make_fullscreen_internal (MetaWindow *window) meta_window_make_fullscreen_internal (MetaWindow *window)
{ {
if (!window->fullscreen) if (!meta_window_is_fullscreen (window))
{ {
meta_topic (META_DEBUG_WINDOW_OPS, meta_topic (META_DEBUG_WINDOW_OPS,
"Fullscreening %s", window->desc); "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 (META_IS_WINDOW (window));
g_return_if_fail (!window->override_redirect); g_return_if_fail (!window->override_redirect);
if (!window->fullscreen) if (!meta_window_is_fullscreen (window))
{ {
MtkRectangle old_frame_rect, old_buffer_rect; 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 (META_IS_WINDOW (window));
g_return_if_fail (!window->override_redirect); 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; MtkRectangle old_frame_rect, old_buffer_rect, target_rect;
gboolean has_target_size; gboolean has_target_size;
@ -3526,7 +3528,7 @@ meta_window_update_fullscreen_monitors (MetaWindow *window,
meta_window_clear_fullscreen_monitors (window); meta_window_clear_fullscreen_monitors (window);
} }
if (window->fullscreen) if (meta_window_is_fullscreen (window))
{ {
meta_window_queue(window, META_QUEUE_MOVE_RESIZE); meta_window_queue(window, META_QUEUE_MOVE_RESIZE);
} }
@ -4291,7 +4293,7 @@ meta_window_move_to_monitor (MetaWindow *window,
window->preferred_logical_monitor = window->preferred_logical_monitor =
meta_logical_monitor_dup_id (window->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); 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 * is not resizable purely due to fullscreen, we don't want to
* disable fullscreen mode. * disable fullscreen mode.
*/ */
if (window->fullscreen) if (meta_window_is_fullscreen (window))
{ {
window->has_move_func = FALSE; window->has_move_func = FALSE;
window->has_resize_func = FALSE; window->has_resize_func = FALSE;
@ -5762,7 +5764,7 @@ meta_window_recalc_features (MetaWindow *window)
meta_topic (META_DEBUG_WINDOW_OPS, 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 %s fullscreen = %d not resizable, maximizable = %d fullscreenable = %d min size %dx%d max size %dx%d",
window->desc, window->desc,
window->fullscreen, meta_window_is_fullscreen (window),
window->has_maximize_func, window->has_fullscreen_func, window->has_maximize_func, window->has_fullscreen_func,
window->size_hints.min_width, window->size_hints.min_width,
window->size_hints.min_height, 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; data[i] = x11_display->atom__NET_WM_STATE_MAXIMIZED_VERT;
++i; ++i;
} }
if (window->fullscreen) if (meta_window_is_fullscreen (window))
{ {
data[i] = x11_display->atom__NET_WM_STATE_FULLSCREEN; data[i] = x11_display->atom__NET_WM_STATE_FULLSCREEN;
++i; ++i;
@ -2417,7 +2417,7 @@ meta_window_x11_set_net_wm_state (MetaWindow *window)
mtk_x11_error_trap_pop (x11_display->xdisplay); mtk_x11_error_trap_pop (x11_display->xdisplay);
if (window->fullscreen) if (meta_window_is_fullscreen (window))
{ {
if (meta_window_has_fullscreen_monitors (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) && (window->decorated || !priv->has_custom_frame_extents) &&
mtk_rectangle_equal (&rect, &monitor_rect) && mtk_rectangle_equal (&rect, &monitor_rect) &&
window->has_fullscreen_func && window->has_fullscreen_func &&
!window->fullscreen) !meta_window_is_fullscreen (window))
{ {
/* /*
meta_topic (META_DEBUG_GEOMETRY, meta_topic (META_DEBUG_GEOMETRY,
@ -3432,7 +3432,8 @@ meta_window_x11_client_message (MetaWindow *window,
gboolean make_fullscreen; gboolean make_fullscreen;
make_fullscreen = (action == _NET_WM_STATE_ADD || 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) if (make_fullscreen && window->has_fullscreen_func)
meta_window_make_fullscreen (window); meta_window_make_fullscreen (window);
else else
@ -4602,7 +4603,7 @@ meta_window_x11_can_unredirect (MetaWindowX11 *window_x11)
if (!window->monitor) if (!window->monitor)
return FALSE; return FALSE;
if (window->fullscreen) if (meta_window_is_fullscreen (window))
return TRUE; return TRUE;
if (meta_window_is_screen_sized (window)) if (meta_window_is_screen_sized (window))