diff options
author | Robert Mader <robert.mader@collabora.com> | 2023-03-03 13:24:42 +0100 |
---|---|---|
committer | Marge Bot <marge-bot@gnome.org> | 2023-03-03 19:17:51 +0000 |
commit | b521747d8156777f68d2b7453929c8b978312dac (patch) | |
tree | c691e43db3bc1bc8a446f7703a4d27c79709cbde /src/x11 | |
parent | 92ac922519d9b530fd38e0e1bbd93efb6cadeada (diff) | |
download | mutter-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.h | 1 | ||||
-rw-r--r-- | src/x11/events.c | 2 | ||||
-rw-r--r-- | src/x11/window-props.c | 5 | ||||
-rw-r--r-- | src/x11/window-x11.c | 46 |
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 */ |