summaryrefslogtreecommitdiff
path: root/src/core/constraints.c
diff options
context:
space:
mode:
authorinfirit <[email protected]>2014-01-15 15:14:53 +0100
committerinfirit <[email protected]>2014-01-15 15:17:39 +0100
commit1b638654a247ae17bf0aa3d9d78f8f8e16453810 (patch)
treec4316ccbeb89883ddcd046e2a6eac7f2d9ea925c /src/core/constraints.c
parent62a708d461e08275d6b85985f5fa13fa8fbc85f7 (diff)
downloadmarco-1b638654a247ae17bf0aa3d9d78f8f8e16453810.tar.bz2
marco-1b638654a247ae17bf0aa3d9d78f8f8e16453810.tar.xz
constraints: don't apply fullscreen workarounds for CSD windows
If you maximize a CSD window on a monitor without struts, it ends up taking the whole monitor size, but it doesn't mean that the application wants to fullscreen. Gnome Bug: https://bugzilla.gnome.org/show_bug.cgi?id=708718 Gnome Commit: https://git.gnome.org/browse/mutter/commit/src/core/constraints.c?id=4eeeb1557a3a0caff6ef1debd92aeb541ae1b556
Diffstat (limited to 'src/core/constraints.c')
-rw-r--r--src/core/constraints.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/core/constraints.c b/src/core/constraints.c
index 16d9b107..5a3ef438 100644
--- a/src/core/constraints.c
+++ b/src/core/constraints.c
@@ -423,9 +423,15 @@ setup_constraint_info (ConstraintInfo *info,
xinerama_info->number);
/* Workaround braindead legacy apps that don't know how to
- * fullscreen themselves properly.
+ * fullscreen themselves properly - don't get fooled by
+ * windows which hide their titlebar when maximized or which are
+ * client decorated; that's not the same as fullscreen, even
+ * if there are no struts making the workarea smaller than
+ * the monitor.
*/
+
if (meta_prefs_get_force_fullscreen() &&
+ window->decorated &&
meta_rectangle_equal (new, &xinerama_info->rect) &&
window->has_fullscreen_func &&
!window->fullscreen)