Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:AZhou:branches:GNOME:Next
mutter
mutter-SLE-relax-some-constraints-on-CSD-window...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File mutter-SLE-relax-some-constraints-on-CSD-windows.patch of Package mutter
diff -urp mutter-46.3.1.orig/src/core/constraints.c mutter-46.3.1/src/core/constraints.c --- mutter-46.3.1.orig/src/core/constraints.c 2024-07-30 13:54:28.842797794 -0500 +++ mutter-46.3.1/src/core/constraints.c 2024-07-30 14:02:54.984030220 -0500 @@ -1730,6 +1730,12 @@ constrain_to_single_monitor (MetaWindow } static gboolean +constraint_is_sle_classic(void){ + char * session_mode = (char *) g_getenv ("GNOME_SHELL_SESSION_MODE"); + return g_strcmp0("sle-classic", session_mode) == 0; +} + +static gboolean constrain_fully_onscreen (MetaWindow *window, ConstraintInfo *info, ConstraintPriority priority, @@ -1745,6 +1751,11 @@ constrain_fully_onscreen (MetaWindow if (window->type == META_WINDOW_DESKTOP || window->type == META_WINDOW_DOCK || window->fullscreen || + /* in SLE Classic, there is no top bar and to avoid issues like + * bnc#883491, remove some constraints on CSD windows, which tends to have + * invisible wrapper box. Do the same for "constrain_titlebar_visible". + */ + (constraint_is_sle_classic() && !window->decorated) || !window->require_fully_onscreen || info->is_user_action || meta_window_get_placement_rule (window)) @@ -1802,12 +1813,13 @@ constrain_titlebar_visible (MetaWindow * is only meant for normal windows (e.g. we don't want docks to be shoved * "onscreen" by their own strut). */ - if (window->type == META_WINDOW_DESKTOP || - window->type == META_WINDOW_DOCK || - window->fullscreen || - !window->require_titlebar_visible || - unconstrained_user_action || - user_nonnorthern_resize || + if (window->type == META_WINDOW_DESKTOP || + window->type == META_WINDOW_DOCK || + window->fullscreen || + !window->require_titlebar_visible || + (constraint_is_sle_classic() && !window->decorated) || + unconstrained_user_action || + user_nonnorthern_resize || meta_window_get_placement_rule (window)) return TRUE;
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor