From 218baa9dbeaf1ee7bef8ed17e942983f6a945062 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20L=C3=BCbking?= Date: Sun, 18 Mar 2012 00:56:30 +0100 Subject: [PATCH] swap strictGeometry for isFullScreen case in sizeForClientSize ratio: it's the same preference in isFullScreenable, allows clients which do not withdraw their restrictions (like aspect etc.) or get fullscreen artificially (like through kstart) to start in "real" fullscreen mode. BUG: 146741 REVIEW: 104331 --- geometry.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/geometry.cpp b/geometry.cpp index e37a93d4e3..357c5cc238 100644 --- a/geometry.cpp +++ b/geometry.cpp @@ -1396,7 +1396,7 @@ QSize Client::sizeForClientSize(const QSize& wsize, Sizemode mode, bool noframe) w += xSizeHint.base_width; h += xSizeHint.base_height; } - if (!rules()->checkStrictGeometry(true)) { + if (!rules()->checkStrictGeometry(!isFullScreen())) { // disobey increments and aspect by explicit rule w = w1; h = h1; @@ -2344,11 +2344,12 @@ void Client::setFullScreen(bool set, bool user) workspace()->updateClientLayer(this); // active fullscreens get different layer info->setState(isFullScreen() ? NET::FullScreen : 0, NET::FullScreen); updateDecoration(false, false); - if (isFullScreen()) + if (isFullScreen()) { if (info->fullscreenMonitors().isSet()) setGeometry(fullscreenMonitorsArea(info->fullscreenMonitors())); else setGeometry(workspace()->clientArea(FullScreenArea, this)); + } else { if (!geom_fs_restore.isNull()) { int currentScreen = screen();