diff options
author | Alberts Muktupāvels <alberts.muktupavels@gmail.com> | 2020-03-19 03:24:47 +0200 |
---|---|---|
committer | Alberts Muktupāvels <alberts.muktupavels@gmail.com> | 2020-04-30 01:05:30 +0300 |
commit | fbe4ece42047932e8a16c2eb3dbc12e615775b11 (patch) | |
tree | 92fe561ca5e8865e4764d2abd1e5e2eb51710826 /libmetacity | |
parent | 44fd2beed4446ed72f12a5f22961d3cc748fd939 (diff) | |
download | metacity-fbe4ece42047932e8a16c2eb3dbc12e615775b11.tar.gz |
libmetacity: remove shade, stick and above buttons
1) These buttons are broken with default GTK theme. As nobody has
reported bug I assume these buttons are unused. GTK is default
theme type since 3.2.0.
2) These buttons are not supported by client side decorated
windows.
3) Few Metacity themes I checked had no icons for these buttons.
They had empty draw_ops...
4) These buttons has been removed also from Mutter.
Functionality itself is not removed! Still available using window
menu and/or keybindings.
Diffstat (limited to 'libmetacity')
-rw-r--r-- | libmetacity/meta-button-layout.c | 57 | ||||
-rw-r--r-- | libmetacity/meta-button.h | 6 | ||||
-rw-r--r-- | libmetacity/meta-theme-gtk.c | 6 | ||||
-rw-r--r-- | libmetacity/meta-theme-impl.c | 36 | ||||
-rw-r--r-- | libmetacity/meta-theme-metacity.c | 55 |
5 files changed, 1 insertions, 159 deletions
diff --git a/libmetacity/meta-button-layout.c b/libmetacity/meta-button-layout.c index 6aded451..9fab1014 100644 --- a/libmetacity/meta-button-layout.c +++ b/libmetacity/meta-button-layout.c @@ -31,57 +31,12 @@ type_from_string (const gchar *str) return META_BUTTON_TYPE_MAXIMIZE; else if (g_strcmp0 (str, "close") == 0) return META_BUTTON_TYPE_CLOSE; - else if (g_strcmp0 (str, "shade") == 0) - return META_BUTTON_TYPE_SHADE; - else if (g_strcmp0 (str, "unshade") == 0) - return META_BUTTON_TYPE_UNSHADE; - else if (g_strcmp0 (str, "above") == 0) - return META_BUTTON_TYPE_ABOVE; - else if (g_strcmp0 (str, "unabove") == 0) - return META_BUTTON_TYPE_UNABOVE; - else if (g_strcmp0 (str, "stick") == 0) - return META_BUTTON_TYPE_STICK; - else if (g_strcmp0 (str, "unstick") == 0) - return META_BUTTON_TYPE_UNSTICK; else if (g_strcmp0 (str, "spacer") == 0) return META_BUTTON_TYPE_SPACER; return META_BUTTON_TYPE_LAST; } -static MetaButtonType -get_opposite_type (MetaButtonType type) -{ - switch (type) - { - case META_BUTTON_TYPE_SHADE: - return META_BUTTON_TYPE_UNSHADE; - case META_BUTTON_TYPE_UNSHADE: - return META_BUTTON_TYPE_SHADE; - - case META_BUTTON_TYPE_ABOVE: - return META_BUTTON_TYPE_UNABOVE; - case META_BUTTON_TYPE_UNABOVE: - return META_BUTTON_TYPE_ABOVE; - - case META_BUTTON_TYPE_STICK: - return META_BUTTON_TYPE_UNSTICK; - case META_BUTTON_TYPE_UNSTICK: - return META_BUTTON_TYPE_STICK; - - case META_BUTTON_TYPE_MENU: - case META_BUTTON_TYPE_MINIMIZE: - case META_BUTTON_TYPE_MAXIMIZE: - case META_BUTTON_TYPE_CLOSE: - case META_BUTTON_TYPE_SPACER: - case META_BUTTON_TYPE_LAST: - default: - break; - } - - return META_BUTTON_TYPE_LAST; -} - static MetaButton * string_to_buttons (const gchar *str, gint *n_buttons) @@ -106,10 +61,7 @@ string_to_buttons (const gchar *str, if (type != META_BUTTON_TYPE_LAST) { - if (get_opposite_type (type) != META_BUTTON_TYPE_LAST) - *n_buttons += 2; - else - *n_buttons += 1; + *n_buttons += 1; } else { @@ -143,13 +95,6 @@ string_to_buttons (const gchar *str, tmp.visible = TRUE; retval[index++] = tmp; - - type = get_opposite_type (type); - if (type != META_BUTTON_TYPE_LAST) - { - tmp.type = type; - retval[index++] = tmp; - } } } diff --git a/libmetacity/meta-button.h b/libmetacity/meta-button.h index c591719c..f1d631b3 100644 --- a/libmetacity/meta-button.h +++ b/libmetacity/meta-button.h @@ -29,12 +29,6 @@ typedef enum META_BUTTON_TYPE_MINIMIZE, META_BUTTON_TYPE_MAXIMIZE, META_BUTTON_TYPE_CLOSE, - META_BUTTON_TYPE_SHADE, - META_BUTTON_TYPE_UNSHADE, - META_BUTTON_TYPE_ABOVE, - META_BUTTON_TYPE_UNABOVE, - META_BUTTON_TYPE_STICK, - META_BUTTON_TYPE_UNSTICK, META_BUTTON_TYPE_SPACER, META_BUTTON_TYPE_LAST } MetaButtonType; diff --git a/libmetacity/meta-theme-gtk.c b/libmetacity/meta-theme-gtk.c index 4ee117c5..80939a19 100644 --- a/libmetacity/meta-theme-gtk.c +++ b/libmetacity/meta-theme-gtk.c @@ -849,12 +849,6 @@ meta_theme_gtk_draw_frame (MetaThemeImpl *impl, case META_BUTTON_TYPE_MENU: icon_name = "open-menu-symbolic"; break; - case META_BUTTON_TYPE_SHADE: - case META_BUTTON_TYPE_ABOVE: - case META_BUTTON_TYPE_STICK: - case META_BUTTON_TYPE_UNSHADE: - case META_BUTTON_TYPE_UNABOVE: - case META_BUTTON_TYPE_UNSTICK: case META_BUTTON_TYPE_SPACER: case META_BUTTON_TYPE_LAST: default: diff --git a/libmetacity/meta-theme-impl.c b/libmetacity/meta-theme-impl.c index 68a98985..cb8418ad 100644 --- a/libmetacity/meta-theme-impl.c +++ b/libmetacity/meta-theme-impl.c @@ -137,36 +137,6 @@ is_button_visible (MetaButton *button, visible = TRUE; break; - case META_BUTTON_TYPE_SHADE: - if ((flags & META_FRAME_ALLOWS_SHADE) && !(flags & META_FRAME_SHADED)) - visible = TRUE; - break; - - case META_BUTTON_TYPE_ABOVE: - if (!(flags & META_FRAME_ABOVE)) - visible = TRUE; - break; - - case META_BUTTON_TYPE_STICK: - if (!(flags & META_FRAME_STUCK)) - visible = TRUE; - break; - - case META_BUTTON_TYPE_UNSHADE: - if ((flags & META_FRAME_ALLOWS_SHADE) && (flags & META_FRAME_SHADED)) - visible = TRUE; - break; - - case META_BUTTON_TYPE_UNABOVE: - if (flags & META_FRAME_ABOVE) - visible = TRUE; - break; - - case META_BUTTON_TYPE_UNSTICK: - if (flags & META_FRAME_STUCK) - visible = TRUE; - break; - case META_BUTTON_TYPE_SPACER: visible = TRUE; break; @@ -208,12 +178,6 @@ strip_buttons (MetaButtonLayout *layout, gint i; count = 0; - types[count++] = META_BUTTON_TYPE_ABOVE; - types[count++] = META_BUTTON_TYPE_UNABOVE; - types[count++] = META_BUTTON_TYPE_STICK; - types[count++] = META_BUTTON_TYPE_UNSTICK; - types[count++] = META_BUTTON_TYPE_SHADE; - types[count++] = META_BUTTON_TYPE_UNSHADE; types[count++] = META_BUTTON_TYPE_MINIMIZE; types[count++] = META_BUTTON_TYPE_MAXIMIZE; types[count++] = META_BUTTON_TYPE_CLOSE; diff --git a/libmetacity/meta-theme-metacity.c b/libmetacity/meta-theme-metacity.c index a9df246d..831086c6 100644 --- a/libmetacity/meta-theme-metacity.c +++ b/libmetacity/meta-theme-metacity.c @@ -4799,30 +4799,6 @@ static gboolean is_button_allowed (MetaThemeMetacity *metacity, MetaButtonType type) { - if (theme_allows (metacity, META_THEME_SHADE_STICK_ABOVE_BUTTONS)) - { - switch (type) - { - case META_BUTTON_TYPE_SHADE: - case META_BUTTON_TYPE_ABOVE: - case META_BUTTON_TYPE_STICK: - case META_BUTTON_TYPE_UNSHADE: - case META_BUTTON_TYPE_UNABOVE: - case META_BUTTON_TYPE_UNSTICK: - return TRUE; - - case META_BUTTON_TYPE_MENU: - case META_BUTTON_TYPE_MINIMIZE: - case META_BUTTON_TYPE_MAXIMIZE: - case META_BUTTON_TYPE_CLOSE: - case META_BUTTON_TYPE_SPACER: - case META_BUTTON_TYPE_LAST: - default: - break; - } - } - - /* now consider the buttons which exist in all versions */ switch (type) { case META_BUTTON_TYPE_MENU: @@ -4832,19 +4808,6 @@ is_button_allowed (MetaThemeMetacity *metacity, case META_BUTTON_TYPE_SPACER: return TRUE; - case META_BUTTON_TYPE_STICK: - case META_BUTTON_TYPE_SHADE: - case META_BUTTON_TYPE_ABOVE: - case META_BUTTON_TYPE_UNSTICK: - case META_BUTTON_TYPE_UNSHADE: - case META_BUTTON_TYPE_UNABOVE: - /* we are being asked for a >v1 button which hasn't been handled yet, - * so obviously we're not in a theme which supports that version. - * therefore, we don't show the button. return NULL and all will - * be well. - */ - break; - case META_BUTTON_TYPE_LAST: default: break; @@ -5319,24 +5282,6 @@ get_button_function (MetaButtonType type, { switch (type) { - case META_BUTTON_TYPE_SHADE: - return META_BUTTON_FUNCTION_SHADE; - - case META_BUTTON_TYPE_UNSHADE: - return META_BUTTON_FUNCTION_UNSHADE; - - case META_BUTTON_TYPE_ABOVE: - return META_BUTTON_FUNCTION_ABOVE; - - case META_BUTTON_TYPE_UNABOVE: - return META_BUTTON_FUNCTION_UNABOVE; - - case META_BUTTON_TYPE_STICK: - return META_BUTTON_FUNCTION_STICK; - - case META_BUTTON_TYPE_UNSTICK: - return META_BUTTON_FUNCTION_UNSTICK; - case META_BUTTON_TYPE_MENU: return META_BUTTON_FUNCTION_MENU; |