[mutter] theme: Remove MetaFrameResize
- From: Jasper St. Pierre <jstpierre src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [mutter] theme: Remove MetaFrameResize
- Date: Mon, 29 Dec 2014 16:58:59 +0000 (UTC)
commit 46f3eb0b717925d6b3d425b887c747ac09da4c75
Author: Florian Müllner <fmuellner gnome org>
Date: Thu Sep 25 16:52:17 2014 +0100
theme: Remove MetaFrameResize
Really, styling windows differently based on how they can be resized
is over the top ...
https://bugzilla.gnome.org/show_bug.cgi?id=741917
src/ui/theme-private.h | 24 ++------
src/ui/theme.c | 147 +++++++++++------------------------------------
2 files changed, 41 insertions(+), 130 deletions(-)
---
diff --git a/src/ui/theme-private.h b/src/ui/theme-private.h
index 141e0a7..bc49bd0 100644
--- a/src/ui/theme-private.h
+++ b/src/ui/theme-private.h
@@ -247,16 +247,14 @@ struct _MetaFrameStyle
/* Kinds of frame...
*
- * normal -> noresize / vert only / horz only / both
- * focused / unfocused
+ * normal -> focused / unfocused
* max -> focused / unfocused
* shaded -> focused / unfocused
* max/shaded -> focused / unfocused
*
- * so 4 states with 8 sub-states in one, 2 sub-states in the other 3,
- * meaning 14 total
+ * so 4 states with 2 sub-states each, meaning 8 total
*
- * 14 window states times 7 or 8 window types. Except some
+ * 8 window states times 7 or 8 window types. Except some
* window types never get a frame so that narrows it down a bit.
*
*/
@@ -275,15 +273,6 @@ typedef enum
typedef enum
{
- META_FRAME_RESIZE_NONE,
- META_FRAME_RESIZE_VERTICAL,
- META_FRAME_RESIZE_HORIZONTAL,
- META_FRAME_RESIZE_BOTH,
- META_FRAME_RESIZE_LAST
-} MetaFrameResize;
-
-typedef enum
-{
META_FRAME_FOCUS_NO,
META_FRAME_FOCUS_YES,
META_FRAME_FOCUS_LAST
@@ -291,8 +280,7 @@ typedef enum
/**
* How to draw frames at different times: when it's maximised or not, shaded
- * or not, when it's focussed or not, and (for non-maximised windows), when
- * it can be horizontally or vertically resized, both, or neither.
+ * or not, tiled or not, and when it's focussed or not.
* Not all window types actually get a frame.
*
* A theme contains one of these objects for each type of window (each
@@ -304,11 +292,11 @@ struct _MetaFrameStyleSet
{
int refcount;
MetaFrameStyleSet *parent;
- MetaFrameStyle *normal_styles[META_FRAME_RESIZE_LAST][META_FRAME_FOCUS_LAST];
+ MetaFrameStyle *normal_styles[META_FRAME_FOCUS_LAST];
MetaFrameStyle *maximized_styles[META_FRAME_FOCUS_LAST];
MetaFrameStyle *tiled_left_styles[META_FRAME_FOCUS_LAST];
MetaFrameStyle *tiled_right_styles[META_FRAME_FOCUS_LAST];
- MetaFrameStyle *shaded_styles[META_FRAME_RESIZE_LAST][META_FRAME_FOCUS_LAST];
+ MetaFrameStyle *shaded_styles[META_FRAME_FOCUS_LAST];
MetaFrameStyle *maximized_and_shaded_styles[META_FRAME_FOCUS_LAST];
MetaFrameStyle *tiled_left_and_shaded_styles[META_FRAME_FOCUS_LAST];
MetaFrameStyle *tiled_right_and_shaded_styles[META_FRAME_FOCUS_LAST];
diff --git a/src/ui/theme.c b/src/ui/theme.c
index 74203b4..934e909 100644
--- a/src/ui/theme.c
+++ b/src/ui/theme.c
@@ -995,14 +995,8 @@ meta_frame_style_set_unref (MetaFrameStyleSet *style_set)
if (style_set->refcount == 0)
{
- int i;
-
- for (i = 0; i < META_FRAME_RESIZE_LAST; i++)
- {
- free_focus_styles (style_set->normal_styles[i]);
- free_focus_styles (style_set->shaded_styles[i]);
- }
-
+ free_focus_styles (style_set->normal_styles);
+ free_focus_styles (style_set->shaded_styles);
free_focus_styles (style_set->maximized_styles);
free_focus_styles (style_set->tiled_left_styles);
free_focus_styles (style_set->tiled_right_styles);
@@ -1022,88 +1016,44 @@ meta_frame_style_set_unref (MetaFrameStyleSet *style_set)
static MetaFrameStyle*
get_style (MetaFrameStyleSet *style_set,
MetaFrameState state,
- MetaFrameResize resize,
MetaFrameFocus focus)
{
- MetaFrameStyle *style;
+ MetaFrameStyle **styles;
- style = NULL;
+ styles = NULL;
switch (state)
{
case META_FRAME_STATE_NORMAL:
+ styles = style_set->normal_styles;
+ break;
+ case META_FRAME_STATE_MAXIMIZED:
+ styles = style_set->maximized_styles;
+ break;
+ case META_FRAME_STATE_TILED_LEFT:
+ styles = style_set->tiled_left_styles;
+ break;
+ case META_FRAME_STATE_TILED_RIGHT:
+ styles = style_set->tiled_right_styles;
+ break;
case META_FRAME_STATE_SHADED:
- {
- if (state == META_FRAME_STATE_SHADED)
- style = style_set->shaded_styles[resize][focus];
- else
- style = style_set->normal_styles[resize][focus];
-
- /* Try parent if we failed here */
- if (style == NULL && style_set->parent)
- style = get_style (style_set->parent, state, resize, focus);
-
- /* Allow people to omit the vert/horz/none resize modes */
- if (style == NULL &&
- resize != META_FRAME_RESIZE_BOTH)
- style = get_style (style_set, state, META_FRAME_RESIZE_BOTH, focus);
- }
+ styles = style_set->shaded_styles;
+ break;
+ case META_FRAME_STATE_MAXIMIZED_AND_SHADED:
+ styles = style_set->maximized_and_shaded_styles;
+ break;
+ case META_FRAME_STATE_TILED_LEFT_AND_SHADED:
+ styles = style_set->tiled_left_and_shaded_styles;
+ break;
+ case META_FRAME_STATE_TILED_RIGHT_AND_SHADED:
+ styles = style_set->tiled_right_and_shaded_styles;
+ break;
+ case META_FRAME_STATE_LAST:
+ g_assert_not_reached ();
break;
- default:
- {
- MetaFrameStyle **styles;
-
- styles = NULL;
-
- switch (state)
- {
- case META_FRAME_STATE_MAXIMIZED:
- styles = style_set->maximized_styles;
- break;
- case META_FRAME_STATE_TILED_LEFT:
- styles = style_set->tiled_left_styles;
- break;
- case META_FRAME_STATE_TILED_RIGHT:
- styles = style_set->tiled_right_styles;
- break;
- case META_FRAME_STATE_MAXIMIZED_AND_SHADED:
- styles = style_set->maximized_and_shaded_styles;
- break;
- case META_FRAME_STATE_TILED_LEFT_AND_SHADED:
- styles = style_set->tiled_left_and_shaded_styles;
- break;
- case META_FRAME_STATE_TILED_RIGHT_AND_SHADED:
- styles = style_set->tiled_right_and_shaded_styles;
- break;
- case META_FRAME_STATE_NORMAL:
- case META_FRAME_STATE_SHADED:
- case META_FRAME_STATE_LAST:
- g_assert_not_reached ();
- break;
- }
-
- style = styles[focus];
-
- /* Tiled states are optional, try falling back to non-tiled states */
- if (style == NULL)
- {
- if (state == META_FRAME_STATE_TILED_LEFT ||
- state == META_FRAME_STATE_TILED_RIGHT)
- style = get_style (style_set, META_FRAME_STATE_NORMAL,
- resize, focus);
- else if (state == META_FRAME_STATE_TILED_LEFT_AND_SHADED ||
- state == META_FRAME_STATE_TILED_RIGHT_AND_SHADED)
- style = get_style (style_set, META_FRAME_STATE_SHADED,
- resize, focus);
- }
-
- /* Try parent if we failed here */
- if (style == NULL && style_set->parent)
- style = get_style (style_set->parent, state, resize, focus);
- }
}
- return style;
+ return styles[focus];
}
/**
@@ -1114,7 +1064,7 @@ MetaTheme*
meta_theme_get_default (void)
{
static MetaTheme *theme = NULL;
- int i, j, frame_type;
+ int i, frame_type;
if (theme)
return theme;
@@ -1151,14 +1101,11 @@ meta_theme_get_default (void)
for (i = 0; i < META_FRAME_FOCUS_LAST; i++)
{
- for (j = 0; j < META_FRAME_RESIZE_LAST; j++)
- {
- meta_frame_style_ref (style);
- style_set->normal_styles[j][i] = style;
+ meta_frame_style_ref (style);
+ style_set->normal_styles[i] = style;
- meta_frame_style_ref (style);
- style_set->shaded_styles[j][i] = style;
- }
+ meta_frame_style_ref (style);
+ style_set->shaded_styles[i] = style;
meta_frame_style_ref (style);
style_set->maximized_styles[i] = style;
@@ -1217,9 +1164,7 @@ theme_get_style (MetaTheme *theme,
MetaFrameFlags flags)
{
MetaFrameState state;
- MetaFrameResize resize;
MetaFrameFocus focus;
- MetaFrameStyle *style;
MetaFrameStyleSet *style_set;
style_set = theme->style_sets_by_type[type];
@@ -1257,26 +1202,6 @@ theme_get_style (MetaTheme *theme,
break;
}
- switch (flags & (META_FRAME_ALLOWS_VERTICAL_RESIZE | META_FRAME_ALLOWS_HORIZONTAL_RESIZE))
- {
- case 0:
- resize = META_FRAME_RESIZE_NONE;
- break;
- case META_FRAME_ALLOWS_VERTICAL_RESIZE:
- resize = META_FRAME_RESIZE_VERTICAL;
- break;
- case META_FRAME_ALLOWS_HORIZONTAL_RESIZE:
- resize = META_FRAME_RESIZE_HORIZONTAL;
- break;
- case (META_FRAME_ALLOWS_VERTICAL_RESIZE | META_FRAME_ALLOWS_HORIZONTAL_RESIZE):
- resize = META_FRAME_RESIZE_BOTH;
- break;
- default:
- g_assert_not_reached ();
- resize = META_FRAME_RESIZE_LAST; /* compiler */
- break;
- }
-
/* re invert the styles used for focus/unfocussed while flashing a frame */
if (((flags & META_FRAME_HAS_FOCUS) && !(flags & META_FRAME_IS_FLASHING))
|| (!(flags & META_FRAME_HAS_FOCUS) && (flags & META_FRAME_IS_FLASHING)))
@@ -1284,9 +1209,7 @@ theme_get_style (MetaTheme *theme,
else
focus = META_FRAME_FOCUS_NO;
- style = get_style (style_set, state, resize, focus);
-
- return style;
+ return get_style (style_set, state, focus);
}
MetaFrameStyle*
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]