[fusion-commits] Compiz mirror: Changes to 'master' (0c554bcbff69d13be8f8cba14263592be752f06c)

compiz at server.opencompositing.org compiz at server.opencompositing.org
Thu Mar 27 16:30:04 CET 2008


New commits:
commit 0c554bcbff69d13be8f8cba14263592be752f06c
Author: Danny Baumann <dannybaumann at web.de>
Date:   Thu Mar 27 16:27:38 2008 +0100

    Also maximize too-big-for-workarea windows if their placement was skipped.
    Reference: http://bugs.opencompositing.org/show_bug.cgi?id=827


 plugins/place.c |   32 ++++++++++++++++----------------
 1 files changed, 16 insertions(+), 16 deletions(-)


Modified: compiz/plugins/place.c
===================================================================
--- compiz/plugins/place.c
+++ compiz/plugins/place.c
@@ -1318,22 +1318,6 @@ placeWin (CompWindow *window,
 	}
     }
 
-    /* Maximize windows if they are too big for their work area (bit of
-     * a hack here). Assume undecorated windows probably don't intend to
-     * be maximized.
-     */
-    if ((window->actions & MAXIMIZE_STATE) == MAXIMIZE_STATE &&
-	(window->mwmDecor & (MwmDecorAll | MwmDecorTitle))   &&
-	!(window->state & CompWindowStateFullscreenMask))
-    {
-	XRectangle outer;
-
-	get_outer_rect_of_window (window, &outer);
-
-	if (outer.width >= work_area.width && outer.height >= work_area.height)
-	    maximizeWindow (window, MAXIMIZE_STATE);
-    }
-
 done_check_denied_focus:
     /* If the window is being denied focus and isn't a transient of the
      * focus window, we do NOT want it to overlap with the focus window
@@ -1388,6 +1372,22 @@ done_check_denied_focus:
     g_list_free (windows);
 
 done:
+    /* Maximize windows if they are too big for their work area (bit of
+     * a hack here). Assume undecorated windows probably don't intend to
+     * be maximized.
+     */
+    if ((window->actions & MAXIMIZE_STATE) == MAXIMIZE_STATE &&
+	(window->mwmDecor & (MwmDecorAll | MwmDecorTitle))   &&
+	!(window->state & CompWindowStateFullscreenMask))
+    {
+	XRectangle outer;
+
+	get_outer_rect_of_window (window, &outer);
+
+	if (outer.width >= work_area.width && outer.height >= work_area.height)
+	    maximizeWindow (window, MAXIMIZE_STATE);
+    }
+
     if (x + window_width + window->input.right > work_area.x + work_area.width)
 	x = work_area.x + work_area.width - window_width - window->input.right;
 


More information about the commits mailing list