summaryrefslogtreecommitdiff
path: root/libmetacity
diff options
context:
space:
mode:
authorAlberts Muktupāvels <alberts.muktupavels@gmail.com>2020-03-19 03:24:47 +0200
committerAlberts Muktupāvels <alberts.muktupavels@gmail.com>2020-04-30 01:05:30 +0300
commitfbe4ece42047932e8a16c2eb3dbc12e615775b11 (patch)
tree92fe561ca5e8865e4764d2abd1e5e2eb51710826 /libmetacity
parent44fd2beed4446ed72f12a5f22961d3cc748fd939 (diff)
downloadmetacity-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.c57
-rw-r--r--libmetacity/meta-button.h6
-rw-r--r--libmetacity/meta-theme-gtk.c6
-rw-r--r--libmetacity/meta-theme-impl.c36
-rw-r--r--libmetacity/meta-theme-metacity.c55
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;