]> Dogcows Code - chaz/openbox/blobdiff - src/Workspace.cc
sync with bb-cvs: re-add support for alt-button2, fix some off by 2's temorarily
[chaz/openbox] / src / Workspace.cc
index 2aaf80eeb35f9a54b0b0260a47e97abe1909557a..90a83b2678a43a531dd78f214b668b2fb1055299 100644 (file)
@@ -103,8 +103,13 @@ unsigned int Workspace::removeWindow(BlackboxWindow *w) {
   if ((w->isFocused() || w == lastfocus) &&
       ! screen->getBlackbox()->doShutdown()) {
     BlackboxWindow *newfocus = 0;
-    if (w->isTransient())
+    if (w->isTransient()) {
       newfocus = w->getTransientFor();
+      if (newfocus &&
+          (newfocus->isIconic() ||                // do not focus icons
+           newfocus->getWorkspaceNumber() != id)) // or other workspaces
+        newfocus = 0;
+    }
     if (! newfocus && ! stackingList.empty())
       newfocus = stackingList.front();
 
@@ -115,7 +120,7 @@ unsigned int Workspace::removeWindow(BlackboxWindow *w) {
         if the window is on the visible workspace, then try focus it, and fall
         back to the default focus target if the window won't focus.
       */
-      if (! newfocus || ! newfocus->setInputFocus())
+      if (! (newfocus && newfocus->setInputFocus()))
         screen->getBlackbox()->setFocusedWindow(0);
     } else if (lastfocus == w) {
       /*
This page took 0.021396 seconds and 4 git commands to generate.