summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/Workspace.cc11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/Workspace.cc b/src/Workspace.cc
index 7cd21f1c..7e05e4c9 100644
--- a/src/Workspace.cc
+++ b/src/Workspace.cc
@@ -461,8 +461,15 @@ void Workspace::hide(void) {
void Workspace::show(void) {
- std::for_each(stackingList.begin(), stackingList.end(),
- std::mem_fun(&BlackboxWindow::show));
+ BlackboxWindowList::iterator it = stackingList.begin();
+ 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())
+ bw->show();
+ }
XSync(screen->getBlackbox()->getXDisplay(), False);