summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDanny Baumann <dannybaumann@web.de>2007-10-08 16:12:43 +0200
committerDanny Baumann <dannybaumann@web.de>2007-10-08 16:12:43 +0200
commit1e5a189fb27b30883be09f908e2a5279a52ca40b (patch)
tree655c10b70022ef4fd376e6c4b86464fdb0370c79
parent88a947357d7aedcaa2f16677cfb0e165bca41c5b (diff)
parentefecdaed9cc65284fdec0737d13653f7f29f8127 (diff)
downloadplugins-extra-0.6.0.tar.gz
plugins-extra-0.6.0.tar.bz2
Merge branch '0.6.0' of git+ssh://maniac@git.opencompositing.org/git/fusion/plugins-extra into 0.6.00.6.0
-rw-r--r--VERSION2
-rw-r--r--src/group/group-internal.h3
-rw-r--r--src/group/group.c28
-rw-r--r--src/group/init.c3
-rw-r--r--src/group/selection.c15
5 files changed, 35 insertions, 16 deletions
diff --git a/VERSION b/VERSION
index 2313ac4..de3b1c2 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-VERSION=0.5.2
+VERSION=0.6.0
diff --git a/src/group/group-internal.h b/src/group/group-internal.h
index f15e003..bc799d8 100644
--- a/src/group/group-internal.h
+++ b/src/group/group-internal.h
@@ -474,6 +474,9 @@ Bool
screenGrabExist (CompScreen *s,
...);
+Bool
+groupIsGroupWindow (CompWindow *w);
+
void
groupUpdateWindowProperty (CompWindow *w);
diff --git a/src/group/group.c b/src/group/group.c
index 7769da7..7a9b0ee 100644
--- a/src/group/group.c
+++ b/src/group/group.c
@@ -58,6 +58,28 @@ screenGrabExist (CompScreen *s, ...)
}
/*
+ * groupIsGroupWindow
+ *
+ */
+Bool
+groupIsGroupWindow (CompWindow *w)
+{
+ if (w->attrib.override_redirect)
+ return FALSE;
+
+ if (w->type & CompWindowTypeDesktopMask)
+ return FALSE;
+
+ if (w->invisible)
+ return FALSE;
+
+ if (!matchEval (groupGetWindowMatch (w->screen), w))
+ return FALSE;
+
+ return TRUE;
+}
+
+/*
* groupDragHoverTimeout
*
* Description:
@@ -509,7 +531,7 @@ groupDeleteGroupWindow (CompWindow *w,
groupUpdateWindowProperty (w);
if (allowRegroup && groupGetAutotabCreate (w->screen) &&
- matchEval (groupGetWindowMatch (w->screen), w))
+ groupIsGroupWindow (w))
{
groupAddWindowToGroup (w, NULL, 0);
groupTabGroup (w);
@@ -551,7 +573,7 @@ groupDeleteGroup (GroupSelection *group)
groupUpdateWindowProperty (cw);
if (groupGetAutotabCreate (group->screen) &&
- matchEval (groupGetWindowMatch (group->screen), cw))
+ groupIsGroupWindow (cw))
{
groupAddWindowToGroup (cw, NULL, 0);
groupTabGroup (cw);
@@ -2045,7 +2067,7 @@ groupDamageWindowRect (CompWindow *w,
if (initial)
{
if (groupGetAutotabCreate (w->screen) &&
- matchEval (groupGetWindowMatch (w->screen), w))
+ groupIsGroupWindow (w))
{
if (!gw->group && (gw->windowState == WindowNormal))
{
diff --git a/src/group/init.c b/src/group/init.c
index 3d2ee65..d176a0c 100644
--- a/src/group/init.c
+++ b/src/group/init.c
@@ -159,8 +159,7 @@ groupApplyInitialActions (void *closure)
damageScreen (w->screen);
}
- if (groupGetAutotabCreate (s) && !w->invisible &&
- matchEval (groupGetWindowMatch (s), w))
+ if (groupGetAutotabCreate (s) && groupIsGroupWindow (w))
{
if (!gw->group && (gw->windowState == WindowNormal))
{
diff --git a/src/group/selection.c b/src/group/selection.c
index 97730a3..bc92835 100644
--- a/src/group/selection.c
+++ b/src/group/selection.c
@@ -101,8 +101,7 @@ groupFindWindowsInRegion (CompScreen *s,
for (w = s->reverseWindows; w; w = w->prev)
{
- if (matchEval (groupGetWindowMatch (s), w) &&
- !w->invisible &&
+ if (groupIsGroupWindow (w) &&
groupWindowInRegion (w, reg, precision))
{
GROUP_WINDOW (w);
@@ -185,22 +184,19 @@ groupSelectWindow (CompWindow * w)
GROUP_WINDOW (w);
// select singe window
- if (matchEval (groupGetWindowMatch (w->screen), w) &&
- !w->invisible && !gw->inSelection && !gw->group)
+ if (groupIsGroupWindow (w) && !gw->inSelection && !gw->group)
{
groupAddWindowToSelection(w);
addWindowDamage(w);
}
// unselect single window
- else if (matchEval (groupGetWindowMatch (w->screen), w) &&
- !w->invisible && gw->inSelection && !gw->group)
+ else if (groupIsGroupWindow (w) && gw->inSelection && !gw->group)
{
groupDeleteSelectionWindow(w);
addWindowDamage(w);
}
// select group
- else if (matchEval (groupGetWindowMatch (w->screen), w) &&
- !w->invisible && !gw->inSelection && gw->group)
+ else if (groupIsGroupWindow (w) && !gw->inSelection && gw->group)
{
int i;
for (i = 0; i < gw->group->nWins; i++)
@@ -212,8 +208,7 @@ groupSelectWindow (CompWindow * w)
}
}
// Unselect group
- else if (matchEval (groupGetWindowMatch (w->screen), w) &&
- !w->invisible && gw->inSelection && gw->group)
+ else if (groupIsGroupWindow (w) && gw->inSelection && gw->group)
{
/* Faster than doing groupDeleteSelectionWindow