summaryrefslogtreecommitdiff
path: root/src/ui/theme.c
diff options
context:
space:
mode:
authorJasper St. Pierre <jstpierre@mecheye.net>2015-06-30 22:14:03 -0700
committerJasper St. Pierre <jstpierre@mecheye.net>2015-09-29 08:46:16 -0700
commit917cd357f2039ba2e12c771d848bd31061c9a31d (patch)
tree1ba59fcd9877616fa3711d512ffd3921265b7915 /src/ui/theme.c
parentb3c1f833b731632a54a3b8468f9eeae344e2d0de (diff)
downloadmutter-wip/tiling.tar.gz
frame: Don't allow resizing of edges that are constrainedwip/tiling
https://bugzilla.gnome.org/show_bug.cgi?id=751857
Diffstat (limited to 'src/ui/theme.c')
-rw-r--r--src/ui/theme.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/src/ui/theme.c b/src/ui/theme.c
index be2460c15..8711352c1 100644
--- a/src/ui/theme.c
+++ b/src/ui/theme.c
@@ -94,19 +94,22 @@ meta_frame_layout_get_borders (const MetaFrameLayout *layout,
if (flags & META_FRAME_ALLOWS_HORIZONTAL_RESIZE)
{
- borders->invisible.left = MAX (0, draggable_borders - borders->visible.left);
- borders->invisible.right = MAX (0, draggable_borders - borders->visible.right);
+ if (!(flags & META_FRAME_CONSTRAINED_LEFT_EDGE))
+ borders->invisible.left = MAX (0, draggable_borders - borders->visible.left);
+ if (!(flags & META_FRAME_CONSTRAINED_RIGHT_EDGE))
+ borders->invisible.right = MAX (0, draggable_borders - borders->visible.right);
}
if (flags & META_FRAME_ALLOWS_VERTICAL_RESIZE)
{
- borders->invisible.bottom = MAX (0, draggable_borders - borders->visible.bottom);
-
/* borders.visible.top is the height of the *title bar*. We can't do the same
* algorithm here, titlebars are expectedly much bigger. Just subtract a couple
* pixels to get a proper feel. */
- if (type != META_FRAME_TYPE_ATTACHED)
+ if (!(flags & META_FRAME_CONSTRAINED_TOP_EDGE) && type != META_FRAME_TYPE_ATTACHED)
borders->invisible.top = MAX (0, draggable_borders - 2);
+
+ if (!(flags & META_FRAME_CONSTRAINED_BOTTOM_EDGE))
+ borders->invisible.bottom = MAX (0, draggable_borders - borders->visible.bottom);
}
borders->total.left = borders->invisible.left + borders->visible.left;