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:
parent
8e5433d82a
commit
0f5ec2ec16
@ -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 ||
|
||||||
|
@ -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;
|
||||||
}
|
}
|
||||||
|
@ -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);
|
||||||
|
@ -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;
|
||||||
|
@ -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,
|
||||||
|
@ -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))
|
||||||
|
Loading…
x
Reference in New Issue
Block a user