summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorinfirit <[email protected]>2014-01-15 15:14:53 +0100
committerinfirit <[email protected]>2014-01-15 15:14:53 +0100
commit12c2862d899ff9fdfabc9fcd0ff9280ac9160e33 (patch)
treecc1b1037bd7d28b782789f4af87b349d65fe71d9
parent073d8e090f62b509d33021a6ec2cae95f539db55 (diff)
downloadmarco-12c2862d899ff9fdfabc9fcd0ff9280ac9160e33.tar.bz2
marco-12c2862d899ff9fdfabc9fcd0ff9280ac9160e33.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
-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)