[fusion-commits] Resizes a window to the maximum size still available without overlapping with other windows: Changes to 'master' (7187d3c321cb2ed2f9fef930b3e6d1d94ade27ad)
kristian at server.opencompositing.org
kristian at server.opencompositing.org
Tue May 20 23:14:10 CEST 2008
New commits:
commit 7187d3c321cb2ed2f9fef930b3e6d1d94ade27ad
Author: Kristian Lyngstol <kristian at yoda.lyngstol.net>
Date: Tue May 20 23:10:56 2008 +0200
Ignore Docks except the struts
maximumize.c | 17 +++++++++++++++--
1 files changed, 15 insertions(+), 2 deletions(-)
Modified: fusion/plugins/maximumize/maximumize.c
===================================================================
--- fusion/plugins/maximumize/maximumize.c
+++ fusion/plugins/maximumize/maximumize.c
@@ -79,6 +79,7 @@ maximumizeEmptyRegion (CompWindow *window,
for (w = s->windows; w; w = w->next)
{
+ EMPTY_REGION (tmpRegion);
if (w->id == window->id)
continue;
@@ -88,6 +89,20 @@ maximumizeEmptyRegion (CompWindow *window,
if (w->wmType & CompWindowTypeDesktopMask)
continue;
+ if (w->wmType & CompWindowTypeDockMask)
+ {
+ if (w->struts)
+ {
+ XUnionRectWithRegion (&w->struts->left, tmpRegion, tmpRegion);
+ XUnionRectWithRegion (&w->struts->right, tmpRegion, tmpRegion);
+ XUnionRectWithRegion (&w->struts->top, tmpRegion, tmpRegion);
+ XUnionRectWithRegion (&w->struts->bottom, tmpRegion, tmpRegion);
+ XUnionRectWithRegion (&tmpRect, tmpRegion, tmpRegion);
+ XSubtractRegion (newRegion, tmpRegion, newRegion);
+ }
+ continue;
+ }
+
if (maximumizeGetIgnoreSticky(s->display) &&
(w->state & CompWindowStateStickyMask) &&
!(w->wmType & CompWindowTypeDockMask))
@@ -102,8 +117,6 @@ maximumizeEmptyRegion (CompWindow *window,
if (maximumizeGetIgnoreOverlapping(s->display) &&
maximumizeSubstantialOverlap(tmpRect, windowRect))
continue;
-
- EMPTY_REGION (tmpRegion);
XUnionRectWithRegion (&tmpRect, tmpRegion, tmpRegion);
XSubtractRegion (newRegion, tmpRegion, newRegion);
}
More information about the commits
mailing list