]> Dogcows Code - chaz/openbox/blobdiff - src/Workspace.cc
handle toolbars and utility windows proper. also, no more crashes from kpager (i...
[chaz/openbox] / src / Workspace.cc
index 7cd21f1c281f0187916bc88c58ac60b90407e134..b03ee7b2ea0817b88253db96835d8a480c4bbc1f 100644 (file)
@@ -84,7 +84,7 @@ void Workspace::addWindow(BlackboxWindow *w, bool place, bool sticky) {
   if (place) placeWindow(w);
 
   stackingList.push_front(w);
-    
+
   if (w->isNormal()) {
     if (! sticky) {
       w->setWorkspace(id);
@@ -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);
 
This page took 0.020713 seconds and 4 git commands to generate.