summaryrefslogtreecommitdiff
path: root/src/Workspace.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/Workspace.cc')
-rw-r--r--src/Workspace.cc13
1 files changed, 7 insertions, 6 deletions
diff --git a/src/Workspace.cc b/src/Workspace.cc
index f4fab1cd..b943bc3a 100644
--- a/src/Workspace.cc
+++ b/src/Workspace.cc
@@ -237,9 +237,10 @@ void Workspace::showAll(void) {
const BlackboxWindowList::iterator end = stackingList.end();
for (; it != end; ++it) {
BlackboxWindow *bw = *it;
- // not normal windows cant focus from mouse enters anyways, so we dont
- // need to unmap/remap them on workspace changes
- if (! bw->isStuck() || bw->isNormal())
+ // sticky windows arent unmapped on a workspace change so we don't have ot
+ // map them, but sometimes on a restart, another app can unmap our sticky
+ // windows, so we map on startup always
+ if (! bw->isStuck() || screen->getBlackbox()->isStartup())
bw->show();
}
}
@@ -254,9 +255,9 @@ void Workspace::hideAll(void) {
const BlackboxWindowList::iterator end = lst.end();
for (; it != end; ++it) {
BlackboxWindow *bw = *it;
- // not normal windows cant focus from mouse enters anyways, so we dont
- // need to unmap/remap them on workspace changes
- if (! bw->isStuck() || bw->isNormal())
+ // don't hide sticky windows, or they'll end up flickering on a workspace
+ // change
+ if (! bw->isStuck())
bw->withdraw();
}
}