summaryrefslogtreecommitdiff
path: root/src/core
diff options
context:
space:
mode:
authorOmar Zeidan <[email protected]>2017-12-11 11:07:14 +0100
committerraveit65 <[email protected]>2017-12-20 20:42:12 +0100
commit01f68e8f9f1541393e6e069db08f834d4ef18691 (patch)
tree0d3476e55e1d6628e2c000487ac2eb59a91facf6 /src/core
parent8828bd7cabc39f0a3564467c2303774dc494fd0b (diff)
downloadmarco-01f68e8f9f1541393e6e069db08f834d4ef18691.tar.bz2
marco-01f68e8f9f1541393e6e069db08f834d4ef18691.tar.xz
Fixes window getting reset to saved_rect when untiling from corner
Diffstat (limited to 'src/core')
-rw-r--r--src/core/keybindings.c5
-rw-r--r--src/core/window-private.h2
2 files changed, 4 insertions, 3 deletions
diff --git a/src/core/keybindings.c b/src/core/keybindings.c
index 8006c9e1..3a54ca0d 100644
--- a/src/core/keybindings.c
+++ b/src/core/keybindings.c
@@ -3090,8 +3090,9 @@ handle_toggle_tiled (MetaDisplay *display,
{
MetaTileMode mode = binding->handler->data;
- if ((META_WINDOW_TILED_LEFT (window) && mode == META_TILE_LEFT) ||
- (META_WINDOW_TILED_RIGHT (window) && mode == META_TILE_RIGHT))
+ if (mode == window->tile_mode &&
+ window->maximized_vertically &&
+ !window->maximized_horizontally)
{
if (window->saved_maximize)
{
diff --git a/src/core/window-private.h b/src/core/window-private.h
index 8ab35718..0d744faf 100644
--- a/src/core/window-private.h
+++ b/src/core/window-private.h
@@ -408,7 +408,7 @@ struct _MetaWindow
(w)->tile_mode == META_TILE_LEFT)
#define META_WINDOW_TILED_RIGHT(w) (META_WINDOW_SIDE_TILED(w) && \
(w)->tile_mode == META_TILE_RIGHT)
-#define META_WINDOW_QUARTER_TILED(w) (!(w)->maximized_vertically && \
+#define META_WINDOW_QUARTER_TILED(w) ((w)->maximized_vertically && \
!(w)->maximized_horizontally && \
((w)->tile_mode == META_TILE_BOTTOM_RIGHT || \
(w)->tile_mode == META_TILE_BOTTOM_LEFT || \