summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDanny Baumann <dannybaumann@web.de>2007-07-31 09:39:13 +0200
committerDanny Baumann <dannybaumann@web.de>2007-07-31 09:39:13 +0200
commit3b638f3c0738447eb9ac67f8380f755765ffb39c (patch)
tree8f9a8d247308ef39eb44ad4d117201b237988bd3
parent2a9375943bb1058e8c1ad49a739361c5dd579519 (diff)
downloadshowdesktop-3b638f3c0738447eb9ac67f8380f755765ffb39c.tar.gz
showdesktop-3b638f3c0738447eb9ac67f8380f755765ffb39c.tar.bz2
Added variable tracking if we sent the window to showdesktop mode.
w->inShowDesktopMode is not enough as it might be set by core on windows we didn't handle.
-rw-r--r--showdesktop.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/showdesktop.c b/showdesktop.c
index d0b82d6..f9bb0b4 100644
--- a/showdesktop.c
+++ b/showdesktop.c
@@ -102,6 +102,7 @@ typedef struct _ShowdesktopWindow
unsigned int notAllowedMask;
unsigned int stateMask;
+ Bool showdesktoped;
Bool wasManaged;
float delta;
@@ -158,6 +159,8 @@ setSDWindowHints (CompWindow *w,
SD_WINDOW (w);
+ sw->showdesktoped = enterSDMode;
+
if (enterSDMode)
{
sw->stateMask = state & CompWindowStateSkipPagerMask;
@@ -719,14 +722,14 @@ showdesktopFocusWindow (CompWindow *w)
SD_SCREEN (s);
SD_WINDOW (w);
- if (w->inShowDesktopMode)
+ if (sw->showdesktoped)
w->managed = sw->wasManaged;
UNWRAP (ss, s, focusWindow);
ret = (*s->focusWindow) (w);
WRAP (ss, s, focusWindow, showdesktopFocusWindow);
- if (w->inShowDesktopMode)
+ if (sw->showdesktoped)
w->managed = FALSE;
return ret;
@@ -842,6 +845,7 @@ showdesktopInitWindow (CompPlugin * p,
if (!sw)
return FALSE;
+ sw->showdesktoped = FALSE;
sw->adjust = FALSE;
sw->delta = 1.0f;
sw->placer = NULL;