summaryrefslogtreecommitdiff
path: root/src/ui/theme-parser.c
diff options
context:
space:
mode:
authorAlberts Muktupāvels <alberts.muktupavels@gmail.com>2014-05-12 19:39:04 +0300
committerAlberts Muktupāvels <alberts.muktupavels@gmail.com>2014-06-06 17:26:03 +0300
commit0eb770fe5b96144e9c79487bf13cb8448df72f32 (patch)
treeb196f4c5ac0f82b27cde91e8dc9cbe3a147bd0da /src/ui/theme-parser.c
parent5be337ce674fe6cd955bc5c2077e86ad6c642601 (diff)
downloadmetacity-0eb770fe5b96144e9c79487bf13cb8448df72f32.tar.gz
Add side-by-side tiling
1. Manually applied this patch: https://github.com/SolusOS-discontinued/consortium/commit/b463e03f5bdeab307ceee6b969c681f29537c76d 2. Ported tile-preview.c to gtk3.
Diffstat (limited to 'src/ui/theme-parser.c')
-rw-r--r--src/ui/theme-parser.c44
1 files changed, 44 insertions, 0 deletions
diff --git a/src/ui/theme-parser.c b/src/ui/theme-parser.c
index 77d80ca6..774986cf 100644
--- a/src/ui/theme-parser.c
+++ b/src/ui/theme-parser.c
@@ -3181,6 +3181,28 @@ parse_style_set_element (GMarkupParseContext *context,
meta_frame_style_ref (frame_style);
info->style_set->maximized_styles[frame_focus] = frame_style;
break;
+ case META_FRAME_STATE_TILED_LEFT:
+ if (info->style_set->tiled_left_styles[frame_focus])
+ {
+ set_error (error, context, G_MARKUP_ERROR, G_MARKUP_ERROR_PARSE,
+ _("Style has already been specified for state %s focus %s"),
+ state, focus);
+ return;
+ }
+ meta_frame_style_ref (frame_style);
+ info->style_set->tiled_left_styles[frame_focus] = frame_style;
+ break;
+ case META_FRAME_STATE_TILED_RIGHT:
+ if (info->style_set->tiled_right_styles[frame_focus])
+ {
+ set_error (error, context, G_MARKUP_ERROR, G_MARKUP_ERROR_PARSE,
+ _("Style has already been specified for state %s focus %s"),
+ state, focus);
+ return;
+ }
+ meta_frame_style_ref (frame_style);
+ info->style_set->tiled_right_styles[frame_focus] = frame_style;
+ break;
case META_FRAME_STATE_SHADED:
if (info->style_set->shaded_styles[frame_resize][frame_focus])
{
@@ -3203,6 +3225,28 @@ parse_style_set_element (GMarkupParseContext *context,
meta_frame_style_ref (frame_style);
info->style_set->maximized_and_shaded_styles[frame_focus] = frame_style;
break;
+ case META_FRAME_STATE_TILED_LEFT_AND_SHADED:
+ if (info->style_set->tiled_left_and_shaded_styles[frame_focus])
+ {
+ set_error (error, context, G_MARKUP_ERROR, G_MARKUP_ERROR_PARSE,
+ _("Style has already been specified for state %s focus %s"),
+ state, focus);
+ return;
+ }
+ meta_frame_style_ref (frame_style);
+ info->style_set->tiled_left_and_shaded_styles[frame_focus] = frame_style;
+ break;
+ case META_FRAME_STATE_TILED_RIGHT_AND_SHADED:
+ if (info->style_set->tiled_right_and_shaded_styles[frame_focus])
+ {
+ set_error (error, context, G_MARKUP_ERROR, G_MARKUP_ERROR_PARSE,
+ _("Style has already been specified for state %s focus %s"),
+ state, focus);
+ return;
+ }
+ meta_frame_style_ref (frame_style);
+ info->style_set->tiled_right_and_shaded_styles[frame_focus] = frame_style;
+ break;
case META_FRAME_STATE_LAST:
g_assert_not_reached ();
break;