Updating branch refs/heads/xfce-4.8
         to cee208fd0011cf58442856fba4c0c9e0adff9bba (commit)
       from 85f6c0b6127c1c2b5fa9f2cdbea8935b3d31ee1f (commit)

commit cee208fd0011cf58442856fba4c0c9e0adff9bba
Author: Olivier Fourdan <[email protected]>
Date:   Mon May 2 10:21:38 2011 +0200

    Keep window fully visible on screen on size request

 src/client.c |   15 ++++++++++-----
 1 files changed, 10 insertions(+), 5 deletions(-)

diff --git a/src/client.c b/src/client.c
index 41a674a..9290b79 100644
--- a/src/client.c
+++ b/src/client.c
@@ -853,14 +853,19 @@ clientMoveResizeWindow (Client * c, XWindowChanges * wc, 
unsigned long mask)
         }
         flags |= CFG_REQUEST;
     }
-    if (mask & (CWWidth | CWHeight))
+    if (mask & (CWX | CWY | CWWidth | CWHeight) == (CWWidth | CWHeight))
     {
-        flags |= CFG_KEEP_VISIBLE;
+        /*
+         * The client is resizing its window, but did not specify a
+         * position, make sure the window remains fully visible in that
+         * case so that the user does not have to relocate the window
+         */
+        flags |= CFG_CONSTRAINED | CFG_KEEP_VISIBLE;
     }
     /*
-       Let's say that if the client performs a XRaiseWindow, we show the 
window if focus
-       stealing prevention is not activated, otherwise we just set the 
"demands attention"
-       flag...
+     * Let's say that if the client performs a XRaiseWindow, we show the 
window if focus
+     * stealing prevention is not activated, otherwise we just set the 
"demands attention"
+     * flag...
      */
     if ((mask & CWStackMode) && (wc->stack_mode == Above) && (wc->sibling == 
None) && !(c->type & WINDOW_TYPE_DONT_FOCUS))
     {
_______________________________________________
Xfce4-commits mailing list
[email protected]
https://mail.xfce.org/mailman/listinfo/xfce4-commits

Reply via email to