summaryrefslogtreecommitdiff
path: root/src/x11
diff options
context:
space:
mode:
authorRobert Mader <robert.mader@collabora.com>2023-03-03 13:24:42 +0100
committerMarge Bot <marge-bot@gnome.org>2023-03-03 19:17:51 +0000
commitb521747d8156777f68d2b7453929c8b978312dac (patch)
treec691e43db3bc1bc8a446f7703a4d27c79709cbde /src/x11
parent92ac922519d9b530fd38e0e1bbd93efb6cadeada (diff)
downloadmutter-b521747d8156777f68d2b7453929c8b978312dac.tar.gz
Remove support for window shading
It's been broken for an unknown time and was never supported on Wayland. Thus let's remove the leftovers. Helpful command: `rg 'shade(?!r)' --pcre2` Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2884>
Diffstat (limited to 'src/x11')
-rw-r--r--src/x11/atomnames.h1
-rw-r--r--src/x11/events.c2
-rw-r--r--src/x11/window-props.c5
-rw-r--r--src/x11/window-x11.c46
4 files changed, 6 insertions, 48 deletions
diff --git a/src/x11/atomnames.h b/src/x11/atomnames.h
index 4e2939edb..644dbefee 100644
--- a/src/x11/atomnames.h
+++ b/src/x11/atomnames.h
@@ -110,7 +110,6 @@ item(_NET_SUPPORTED)
item(_NET_WM_NAME)
item(_NET_CLOSE_WINDOW)
item(_NET_WM_STATE)
-item(_NET_WM_STATE_SHADED)
item(_NET_WM_STATE_MAXIMIZED_HORZ)
item(_NET_WM_STATE_MAXIMIZED_VERT)
item(_NET_WM_DESKTOP)
diff --git a/src/x11/events.c b/src/x11/events.c
index bda06fbea..5a57062ef 100644
--- a/src/x11/events.c
+++ b/src/x11/events.c
@@ -802,7 +802,7 @@ handle_window_focus_event (MetaX11Display *x11_display,
const char *window_type;
/* Note the event can be on either the window or the frame,
- * we focus the frame for shaded windows
+ * we focus the frame for output-only windows
*/
if (window)
{
diff --git a/src/x11/window-props.c b/src/x11/window-props.c
index 31181b04e..3184befb0 100644
--- a/src/x11/window-props.c
+++ b/src/x11/window-props.c
@@ -783,7 +783,6 @@ reload_net_wm_state (MetaWindow *window,
return;
}
- window->shaded = FALSE;
window->maximized_horizontally = FALSE;
window->maximized_vertically = FALSE;
window->fullscreen = FALSE;
@@ -800,9 +799,7 @@ reload_net_wm_state (MetaWindow *window,
i = 0;
while (i < value->v.atom_list.n_atoms)
{
- if (value->v.atom_list.atoms[i] == x11_display->atom__NET_WM_STATE_SHADED)
- window->shaded = TRUE;
- else if (value->v.atom_list.atoms[i] == x11_display->atom__NET_WM_STATE_MAXIMIZED_HORZ)
+ if (value->v.atom_list.atoms[i] == x11_display->atom__NET_WM_STATE_MAXIMIZED_HORZ)
window->maximize_horizontally_after_placement = TRUE;
else if (value->v.atom_list.atoms[i] == x11_display->atom__NET_WM_STATE_MAXIMIZED_VERT)
window->maximize_vertically_after_placement = TRUE;
diff --git a/src/x11/window-x11.c b/src/x11/window-x11.c
index 9c38bb97b..3b3ea502f 100644
--- a/src/x11/window-x11.c
+++ b/src/x11/window-x11.c
@@ -974,9 +974,6 @@ maybe_focus_default_window (MetaDisplay *display,
if (focus_window->input)
break;
-
- if (focus_window->shaded && focus_window->frame)
- break;
}
focus_candidates_maybe_take_and_focus_next (&focus_candidates, timestamp);
@@ -989,14 +986,13 @@ meta_window_x11_focus (MetaWindow *window,
MetaWindowX11 *window_x11 = META_WINDOW_X11 (window);
MetaWindowX11Private *priv =
meta_window_x11_get_instance_private (window_x11);
- /* For output-only or shaded windows, focus the frame.
+ /* For output-only windows, focus the frame.
* This seems to result in the client window getting key events
* though, so I don't know if it's icccm-compliant.
*
* Still, we have to do this or keynav breaks for these windows.
*/
- if (window->frame &&
- (window->shaded || !meta_window_is_focusable (window)))
+ if (window->frame && !meta_window_is_focusable (window))
{
meta_topic (META_DEBUG_FOCUS,
"Focusing frame of %s", window->desc);
@@ -1333,11 +1329,7 @@ meta_window_x11_move_resize_internal (MetaWindow *window,
/* Compute new frame size */
new_w = window->rect.width + borders.invisible.left + borders.invisible.right;
-
- if (window->shaded)
- new_h = borders.total.top + borders.total.bottom;
- else
- new_h = window->rect.height + borders.invisible.top + borders.invisible.bottom;
+ new_h = window->rect.height + borders.invisible.top + borders.invisible.bottom;
if (new_w != window->frame->rect.width ||
new_h != window->frame->rect.height)
@@ -2254,11 +2246,6 @@ meta_window_x11_set_net_wm_state (MetaWindow *window)
unsigned long data[13];
i = 0;
- if (window->shaded)
- {
- data[i] = x11_display->atom__NET_WM_STATE_SHADED;
- ++i;
- }
if (priv->wm_state_modal)
{
data[i] = x11_display->atom__NET_WM_STATE_MODAL;
@@ -2289,7 +2276,7 @@ meta_window_x11_set_net_wm_state (MetaWindow *window)
data[i] = x11_display->atom__NET_WM_STATE_FULLSCREEN;
++i;
}
- if (!meta_window_showing_on_its_workspace (window) || window->shaded)
+ if (!meta_window_showing_on_its_workspace (window))
{
data[i] = x11_display->atom__NET_WM_STATE_HIDDEN;
++i;
@@ -3132,26 +3119,6 @@ meta_window_x11_client_message (MetaWindow *window,
meta_XFree (str2);
}
- if (first == x11_display->atom__NET_WM_STATE_SHADED ||
- second == x11_display->atom__NET_WM_STATE_SHADED)
- {
- gboolean shade;
- guint32 timestamp;
-
- /* Stupid protocol has no timestamp; of course, shading
- * sucks anyway so who really cares that we're forced to do
- * a roundtrip here?
- */
- timestamp = meta_display_get_current_time_roundtrip (window->display);
-
- shade = (action == _NET_WM_STATE_ADD ||
- (action == _NET_WM_STATE_TOGGLE && !window->shaded));
- if (shade && window->has_shade_func)
- meta_window_shade (window, timestamp);
- else
- meta_window_unshade (window, timestamp);
- }
-
if (first == x11_display->atom__NET_WM_STATE_FULLSCREEN ||
second == x11_display->atom__NET_WM_STATE_FULLSCREEN)
{
@@ -4087,11 +4054,6 @@ meta_window_x11_set_allowed_actions_hint (MetaWindow *window)
data[i] = x11_display->atom__NET_WM_ACTION_MINIMIZE;
++i;
}
- if (window->has_shade_func)
- {
- data[i] = x11_display->atom__NET_WM_ACTION_SHADE;
- ++i;
- }
/* sticky according to EWMH is different from mutter's sticky;
* mutter doesn't support EWMH sticky
*/