summaryrefslogtreecommitdiff
path: root/src/core/prefs.c
diff options
context:
space:
mode:
authorStefano Karapetsas <[email protected]>2013-05-31 16:22:39 +0200
committerStefano Karapetsas <[email protected]>2013-05-31 16:22:39 +0200
commita87157176ca6e01c8c4047999ee584f00b63c11e (patch)
tree80e928a800b4b54f6831a6b38a952014c7f5ae5c /src/core/prefs.c
parentcc760e2586cd0f98f8c60382ab8ff1f7373d9c1d (diff)
downloadmarco-a87157176ca6e01c8c4047999ee584f00b63c11e.tar.bz2
marco-a87157176ca6e01c8c4047999ee584f00b63c11e.tar.xz
Implement side-by-side tiling
Patch by Florian Müllner for Metacity https://bugzilla.gnome.org/show_bug.cgi?id=607694 When dragging a window over a screen edge and dropping it there, maximize it vertically and scale it horizontally to cover the corresponding half of the current monitor. Whenever a "hot area" which triggers this behavior is entered, an indication of window's target size is displayed after a short delay to avoid distraction when moving a window between monitors.
Diffstat (limited to 'src/core/prefs.c')
-rw-r--r--src/core/prefs.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/core/prefs.c b/src/core/prefs.c
index 116a9bb8..5f46b554 100644
--- a/src/core/prefs.c
+++ b/src/core/prefs.c
@@ -117,6 +117,7 @@ static gboolean compositing_fast_alt_tab = FALSE;
static gboolean resize_with_right_button = FALSE;
static gboolean center_new_windows = FALSE;
static gboolean force_fullscreen = TRUE;
+static gboolean side_by_side_tiling = FALSE;
static MetaVisualBellType visual_bell_type = META_VISUAL_BELL_FULLSCREEN_FLASH;
static MetaButtonLayout button_layout;
@@ -401,6 +402,12 @@ static MetaBoolPreference preferences_bool[] =
&center_new_windows,
FALSE,
},
+ { "side-by-side-tiling",
+ KEY_GENERAL_SCHEMA,
+ META_PREF_SIDE_BY_SIDE_TILING,
+ &side_by_side_tiling,
+ FALSE,
+ },
{ NULL, NULL, 0, NULL, FALSE },
};
@@ -1545,6 +1552,9 @@ meta_preference_to_string (MetaPreference pref)
case META_PREF_FORCE_FULLSCREEN:
return "FORCE_FULLSCREEN";
+
+ case META_PREF_SIDE_BY_SIDE_TILING:
+ return "SIDE_BY_SIDE_TILING";
}
return "(unknown)";
@@ -2202,6 +2212,12 @@ meta_prefs_get_center_new_windows (void)
return center_new_windows;
}
+gboolean
+meta_prefs_get_side_by_side_tiling ()
+{
+ return side_by_side_tiling;
+}
+
guint
meta_prefs_get_mouse_button_resize (void)
{