[mutter] theme: Complete removal of "fringe" titlebar button support
- From: Florian Müllner <fmuellner src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [mutter] theme: Complete removal of "fringe" titlebar button support
- Date: Fri, 16 Oct 2015 02:18:50 +0000 (UTC)
commit ffd95c2ad594f7433d90b557ad4ed27eef98abf4
Author: Florian Müllner <fmuellner gnome org>
Date: Tue Sep 29 14:24:05 2015 +0200
theme: Complete removal of "fringe" titlebar button support
We have been ignoring those buttons since 3.16 after they had been
broken in the default theme for a couple of versions. As nobody
appears to miss them, it's time to remove them for good.
src/core/prefs.c | 53 -----------------------
src/meta/common.h | 20 ++-------
src/ui/frames.c | 108 ------------------------------------------------
src/ui/frames.h | 6 ---
src/ui/theme-private.h | 14 +------
src/ui/theme.c | 51 +----------------------
6 files changed, 7 insertions(+), 245 deletions(-)
---
diff --git a/src/core/prefs.c b/src/core/prefs.c
index 90ad108..3ea5aa2 100644
--- a/src/core/prefs.c
+++ b/src/core/prefs.c
@@ -1477,42 +1477,11 @@ button_function_from_string (const char *str)
return META_BUTTON_FUNCTION_MAXIMIZE;
else if (strcmp (str, "close") == 0)
return META_BUTTON_FUNCTION_CLOSE;
- else if (strcmp (str, "shade") == 0)
- return META_BUTTON_FUNCTION_SHADE;
- else if (strcmp (str, "above") == 0)
- return META_BUTTON_FUNCTION_ABOVE;
- else if (strcmp (str, "stick") == 0)
- return META_BUTTON_FUNCTION_STICK;
else
/* don't know; give up */
return META_BUTTON_FUNCTION_LAST;
}
-static MetaButtonFunction
-button_opposite_function (MetaButtonFunction ofwhat)
-{
- switch (ofwhat)
- {
- case META_BUTTON_FUNCTION_SHADE:
- return META_BUTTON_FUNCTION_UNSHADE;
- case META_BUTTON_FUNCTION_UNSHADE:
- return META_BUTTON_FUNCTION_SHADE;
-
- case META_BUTTON_FUNCTION_ABOVE:
- return META_BUTTON_FUNCTION_UNABOVE;
- case META_BUTTON_FUNCTION_UNABOVE:
- return META_BUTTON_FUNCTION_ABOVE;
-
- case META_BUTTON_FUNCTION_STICK:
- return META_BUTTON_FUNCTION_UNSTICK;
- case META_BUTTON_FUNCTION_UNSTICK:
- return META_BUTTON_FUNCTION_STICK;
-
- default:
- return META_BUTTON_FUNCTION_LAST;
- }
-}
-
static gboolean
button_layout_handler (GVariant *value,
gpointer *result,
@@ -1556,12 +1525,6 @@ button_layout_handler (GVariant *value,
if (i > 0 && strcmp("spacer", buttons[b]) == 0)
{
new_layout.left_buttons_has_spacer[i-1] = TRUE;
- f = button_opposite_function (f);
-
- if (f != META_BUTTON_FUNCTION_LAST)
- {
- new_layout.left_buttons_has_spacer[i-2] = TRUE;
- }
}
else
{
@@ -1570,11 +1533,6 @@ button_layout_handler (GVariant *value,
new_layout.left_buttons[i] = f;
used[f] = TRUE;
++i;
-
- f = button_opposite_function (f);
-
- if (f != META_BUTTON_FUNCTION_LAST)
- new_layout.left_buttons[i++] = f;
}
else
{
@@ -1618,11 +1576,6 @@ button_layout_handler (GVariant *value,
if (i > 0 && strcmp("spacer", buttons[b]) == 0)
{
new_layout.right_buttons_has_spacer[i-1] = TRUE;
- f = button_opposite_function (f);
- if (f != META_BUTTON_FUNCTION_LAST)
- {
- new_layout.right_buttons_has_spacer[i-2] = TRUE;
- }
}
else
{
@@ -1631,12 +1584,6 @@ button_layout_handler (GVariant *value,
new_layout.right_buttons[i] = f;
used[f] = TRUE;
++i;
-
- f = button_opposite_function (f);
-
- if (f != META_BUTTON_FUNCTION_LAST)
- new_layout.right_buttons[i++] = f;
-
}
else
{
diff --git a/src/meta/common.h b/src/meta/common.h
index d6a7cf7..a18be7f 100644
--- a/src/meta/common.h
+++ b/src/meta/common.h
@@ -372,12 +372,6 @@ typedef enum
* @META_BUTTON_FUNCTION_MINIMIZE: Minimize
* @META_BUTTON_FUNCTION_MAXIMIZE: Maximize
* @META_BUTTON_FUNCTION_CLOSE: Close
- * @META_BUTTON_FUNCTION_SHADE: Shade
- * @META_BUTTON_FUNCTION_ABOVE: Above
- * @META_BUTTON_FUNCTION_STICK: Stick
- * @META_BUTTON_FUNCTION_UNSHADE: Unshade
- * @META_BUTTON_FUNCTION_UNABOVE: Unabove
- * @META_BUTTON_FUNCTION_UNSTICK: Unstick
* @META_BUTTON_FUNCTION_LAST: Marks the end of the #MetaButtonFunction enumeration
*
* Function a window button can have. Note, you can't add stuff here
@@ -390,12 +384,6 @@ typedef enum
META_BUTTON_FUNCTION_MINIMIZE,
META_BUTTON_FUNCTION_MAXIMIZE,
META_BUTTON_FUNCTION_CLOSE,
- META_BUTTON_FUNCTION_SHADE,
- META_BUTTON_FUNCTION_ABOVE,
- META_BUTTON_FUNCTION_STICK,
- META_BUTTON_FUNCTION_UNSHADE,
- META_BUTTON_FUNCTION_UNABOVE,
- META_BUTTON_FUNCTION_UNSTICK,
META_BUTTON_FUNCTION_APPMENU,
META_BUTTON_FUNCTION_LAST
} MetaButtonFunction;
@@ -405,10 +393,10 @@ typedef enum
/* Keep array size in sync with MAX_BUTTONS_PER_CORNER */
/**
* MetaButtonLayout:
- * @left_buttons: (array fixed-size=11):
- * @right_buttons: (array fixed-size=11):
- * @left_buttons_has_spacer: (array fixed-size=11):
- * @right_buttons_has_spacer: (array fixed-size=11):
+ * @left_buttons: (array fixed-size=5):
+ * @right_buttons: (array fixed-size=5):
+ * @left_buttons_has_spacer: (array fixed-size=5):
+ * @right_buttons_has_spacer: (array fixed-size=5):
*/
typedef struct _MetaButtonLayout MetaButtonLayout;
struct _MetaButtonLayout
diff --git a/src/ui/frames.c b/src/ui/frames.c
index a2f7f45..b29a592 100644
--- a/src/ui/frames.c
+++ b/src/ui/frames.c
@@ -970,12 +970,6 @@ meta_frame_left_click_event (MetaUIFrame *frame,
case META_FRAME_CONTROL_UNMAXIMIZE:
case META_FRAME_CONTROL_MINIMIZE:
case META_FRAME_CONTROL_DELETE:
- case META_FRAME_CONTROL_SHADE:
- case META_FRAME_CONTROL_UNSHADE:
- case META_FRAME_CONTROL_ABOVE:
- case META_FRAME_CONTROL_UNABOVE:
- case META_FRAME_CONTROL_STICK:
- case META_FRAME_CONTROL_UNSTICK:
case META_FRAME_CONTROL_MENU:
case META_FRAME_CONTROL_APPMENU:
frame->grab_button = event->button;
@@ -1154,24 +1148,6 @@ handle_button_release_event (MetaUIFrame *frame,
case META_FRAME_CONTROL_DELETE:
meta_window_delete (frame->meta_window, event->time);
break;
- case META_FRAME_CONTROL_SHADE:
- meta_window_shade (frame->meta_window, event->time);
- break;
- case META_FRAME_CONTROL_UNSHADE:
- meta_window_unshade (frame->meta_window, event->time);
- break;
- case META_FRAME_CONTROL_ABOVE:
- meta_window_make_above (frame->meta_window);
- break;
- case META_FRAME_CONTROL_UNABOVE:
- meta_window_unmake_above (frame->meta_window);
- break;
- case META_FRAME_CONTROL_STICK:
- meta_window_stick (frame->meta_window);
- break;
- case META_FRAME_CONTROL_UNSTICK:
- meta_window_unstick (frame->meta_window);
- break;
default:
break;
}
@@ -1220,18 +1196,6 @@ meta_ui_frame_update_prelit_control (MetaUIFrame *frame,
break;
case META_FRAME_CONTROL_UNMAXIMIZE:
break;
- case META_FRAME_CONTROL_SHADE:
- break;
- case META_FRAME_CONTROL_UNSHADE:
- break;
- case META_FRAME_CONTROL_ABOVE:
- break;
- case META_FRAME_CONTROL_UNABOVE:
- break;
- case META_FRAME_CONTROL_STICK:
- break;
- case META_FRAME_CONTROL_UNSTICK:
- break;
case META_FRAME_CONTROL_RESIZE_SE:
cursor = META_CURSOR_SE_RESIZE;
break;
@@ -1270,12 +1234,6 @@ meta_ui_frame_update_prelit_control (MetaUIFrame *frame,
case META_FRAME_CONTROL_MINIMIZE:
case META_FRAME_CONTROL_MAXIMIZE:
case META_FRAME_CONTROL_DELETE:
- case META_FRAME_CONTROL_SHADE:
- case META_FRAME_CONTROL_UNSHADE:
- case META_FRAME_CONTROL_ABOVE:
- case META_FRAME_CONTROL_UNABOVE:
- case META_FRAME_CONTROL_STICK:
- case META_FRAME_CONTROL_UNSTICK:
case META_FRAME_CONTROL_UNMAXIMIZE:
/* leave control set */
break;
@@ -1487,24 +1445,6 @@ meta_ui_frame_paint (MetaUIFrame *frame,
case META_FRAME_CONTROL_UNMAXIMIZE:
button_type = META_BUTTON_TYPE_MAXIMIZE;
break;
- case META_FRAME_CONTROL_SHADE:
- button_type = META_BUTTON_TYPE_SHADE;
- break;
- case META_FRAME_CONTROL_UNSHADE:
- button_type = META_BUTTON_TYPE_UNSHADE;
- break;
- case META_FRAME_CONTROL_ABOVE:
- button_type = META_BUTTON_TYPE_ABOVE;
- break;
- case META_FRAME_CONTROL_UNABOVE:
- button_type = META_BUTTON_TYPE_UNABOVE;
- break;
- case META_FRAME_CONTROL_STICK:
- button_type = META_BUTTON_TYPE_STICK;
- break;
- case META_FRAME_CONTROL_UNSTICK:
- button_type = META_BUTTON_TYPE_UNSTICK;
- break;
case META_FRAME_CONTROL_DELETE:
button_type = META_BUTTON_TYPE_CLOSE;
break;
@@ -1624,24 +1564,6 @@ control_rect (MetaFrameControl control,
case META_FRAME_CONTROL_UNMAXIMIZE:
rect = &fgeom->max_rect.visible;
break;
- case META_FRAME_CONTROL_SHADE:
- rect = &fgeom->shade_rect.visible;
- break;
- case META_FRAME_CONTROL_UNSHADE:
- rect = &fgeom->unshade_rect.visible;
- break;
- case META_FRAME_CONTROL_ABOVE:
- rect = &fgeom->above_rect.visible;
- break;
- case META_FRAME_CONTROL_UNABOVE:
- rect = &fgeom->unabove_rect.visible;
- break;
- case META_FRAME_CONTROL_STICK:
- rect = &fgeom->stick_rect.visible;
- break;
- case META_FRAME_CONTROL_UNSTICK:
- rect = &fgeom->unstick_rect.visible;
- break;
case META_FRAME_CONTROL_RESIZE_SE:
break;
case META_FRAME_CONTROL_RESIZE_S:
@@ -1726,36 +1648,6 @@ get_control (MetaUIFrame *frame, int root_x, int root_y)
return META_FRAME_CONTROL_MAXIMIZE;
}
- if (POINT_IN_RECT (x, y, fgeom.shade_rect.clickable))
- {
- return META_FRAME_CONTROL_SHADE;
- }
-
- if (POINT_IN_RECT (x, y, fgeom.unshade_rect.clickable))
- {
- return META_FRAME_CONTROL_UNSHADE;
- }
-
- if (POINT_IN_RECT (x, y, fgeom.above_rect.clickable))
- {
- return META_FRAME_CONTROL_ABOVE;
- }
-
- if (POINT_IN_RECT (x, y, fgeom.unabove_rect.clickable))
- {
- return META_FRAME_CONTROL_UNABOVE;
- }
-
- if (POINT_IN_RECT (x, y, fgeom.stick_rect.clickable))
- {
- return META_FRAME_CONTROL_STICK;
- }
-
- if (POINT_IN_RECT (x, y, fgeom.unstick_rect.clickable))
- {
- return META_FRAME_CONTROL_UNSTICK;
- }
-
/* South resize always has priority over north resize,
* in case of overlap.
*/
diff --git a/src/ui/frames.h b/src/ui/frames.h
index 3bca1aa..e986dbc 100644
--- a/src/ui/frames.h
+++ b/src/ui/frames.h
@@ -39,12 +39,6 @@ typedef enum
META_FRAME_CONTROL_MINIMIZE,
META_FRAME_CONTROL_MAXIMIZE,
META_FRAME_CONTROL_UNMAXIMIZE,
- META_FRAME_CONTROL_SHADE,
- META_FRAME_CONTROL_UNSHADE,
- META_FRAME_CONTROL_ABOVE,
- META_FRAME_CONTROL_UNABOVE,
- META_FRAME_CONTROL_STICK,
- META_FRAME_CONTROL_UNSTICK,
META_FRAME_CONTROL_RESIZE_SE,
META_FRAME_CONTROL_RESIZE_S,
META_FRAME_CONTROL_RESIZE_SW,
diff --git a/src/ui/theme-private.h b/src/ui/theme-private.h
index a61457e..61d151d 100644
--- a/src/ui/theme-private.h
+++ b/src/ui/theme-private.h
@@ -115,7 +115,7 @@ struct _MetaFrameGeometry
/* used for a memset hack */
#define ADDRESS_OF_BUTTON_RECTS(fgeom) (((char*)(fgeom)) + G_STRUCT_OFFSET (MetaFrameGeometry, close_rect))
-#define LENGTH_OF_BUTTON_RECTS (G_STRUCT_OFFSET (MetaFrameGeometry, unstick_rect) + sizeof (MetaButtonSpace)
- G_STRUCT_OFFSET (MetaFrameGeometry, close_rect))
+#define LENGTH_OF_BUTTON_RECTS (G_STRUCT_OFFSET (MetaFrameGeometry, appmenu_rect) + sizeof (MetaButtonSpace)
- G_STRUCT_OFFSET (MetaFrameGeometry, close_rect))
/* The button rects (if changed adjust memset hack) */
MetaButtonSpace close_rect;
@@ -123,12 +123,6 @@ struct _MetaFrameGeometry
MetaButtonSpace min_rect;
MetaButtonSpace menu_rect;
MetaButtonSpace appmenu_rect;
- MetaButtonSpace shade_rect;
- MetaButtonSpace above_rect;
- MetaButtonSpace stick_rect;
- MetaButtonSpace unshade_rect;
- MetaButtonSpace unabove_rect;
- MetaButtonSpace unstick_rect;
/* End of button rects (if changed adjust memset hack) */
/* Saved button layout */
@@ -158,12 +152,6 @@ typedef enum
META_BUTTON_TYPE_MINIMIZE,
META_BUTTON_TYPE_MENU,
META_BUTTON_TYPE_APPMENU,
- META_BUTTON_TYPE_SHADE,
- META_BUTTON_TYPE_ABOVE,
- META_BUTTON_TYPE_STICK,
- META_BUTTON_TYPE_UNSHADE,
- META_BUTTON_TYPE_UNABOVE,
- META_BUTTON_TYPE_UNSTICK,
META_BUTTON_TYPE_LAST
} MetaButtonType;
diff --git a/src/ui/theme.c b/src/ui/theme.c
index d86c251..87b4adb 100644
--- a/src/ui/theme.c
+++ b/src/ui/theme.c
@@ -177,17 +177,6 @@ rect_for_function (MetaFrameGeometry *fgeom,
return &fgeom->close_rect;
else
return NULL;
- case META_BUTTON_FUNCTION_STICK:
- case META_BUTTON_FUNCTION_SHADE:
- case META_BUTTON_FUNCTION_ABOVE:
- case META_BUTTON_FUNCTION_UNSTICK:
- case META_BUTTON_FUNCTION_UNSHADE:
- case META_BUTTON_FUNCTION_UNABOVE:
- /* Fringe buttons that used to be supported by theme versions >v1;
- * if we want to support them again, we need to return the
- * correspondings rects here
- */
- return NULL;
case META_BUTTON_FUNCTION_LAST:
return NULL;
@@ -457,22 +446,10 @@ meta_frame_layout_calc_geometry (MetaFrameLayout *layout,
}
/* Otherwise we need to shave out a button. Shave
- * above, stick, shade, min, max, close, then menu (menu is most useful);
+ * min, max, close, then menu (menu is most useful);
* prefer the default button locations.
*/
- if (strip_button (left_func_rects, &n_left, &fgeom->above_rect))
- continue;
- else if (strip_button (right_func_rects, &n_right, &fgeom->above_rect))
- continue;
- else if (strip_button (left_func_rects, &n_left, &fgeom->stick_rect))
- continue;
- else if (strip_button (right_func_rects, &n_right, &fgeom->stick_rect))
- continue;
- else if (strip_button (left_func_rects, &n_left, &fgeom->shade_rect))
- continue;
- else if (strip_button (right_func_rects, &n_right, &fgeom->shade_rect))
- continue;
- else if (strip_button (left_func_rects, &n_left, &fgeom->min_rect))
+ if (strip_button (left_func_rects, &n_left, &fgeom->min_rect))
continue;
else if (strip_button (right_func_rects, &n_right, &fgeom->min_rect))
continue;
@@ -643,30 +620,6 @@ get_button_rect (MetaButtonType type,
*rect = fgeom->close_rect.visible;
break;
- case META_BUTTON_TYPE_SHADE:
- *rect = fgeom->shade_rect.visible;
- break;
-
- case META_BUTTON_TYPE_UNSHADE:
- *rect = fgeom->unshade_rect.visible;
- break;
-
- case META_BUTTON_TYPE_ABOVE:
- *rect = fgeom->above_rect.visible;
- break;
-
- case META_BUTTON_TYPE_UNABOVE:
- *rect = fgeom->unabove_rect.visible;
- break;
-
- case META_BUTTON_TYPE_STICK:
- *rect = fgeom->stick_rect.visible;
- break;
-
- case META_BUTTON_TYPE_UNSTICK:
- *rect = fgeom->unstick_rect.visible;
- break;
-
case META_BUTTON_TYPE_MAXIMIZE:
*rect = fgeom->max_rect.visible;
break;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]