]> Dogcows Code - chaz/openbox/blobdiff - src/blackbox.cc
window resistance complete
[chaz/openbox] / src / blackbox.cc
index 66a62e55fd32cfe5b45605644b6bd03760064f5b..0e03e17817ebc9289f31b5d89bb8a95a92ad10da 100644 (file)
@@ -328,7 +328,8 @@ void Blackbox::process_event(XEvent *e) {
         focus = True;
       }
 
-      if (focus && (win->isTransient() || win->getScreen()->doFocusNew()))
+      if (focus && (win->isTransient() || win->getScreen()->doFocusNew()) &&
+          win->isVisible())
         win->setInputFocus();
     } else {
       BScreen *screen = searchScreen(e->xmaprequest.parent);
@@ -712,7 +713,8 @@ void Blackbox::process_event(XEvent *e) {
 
           if (win->isIconic())
             win->deiconify(False, True);
-          if (win->getWorkspaceNumber() != screen->getCurrentWorkspaceID())
+          if (! win->isStuck() &&
+              (win->getWorkspaceNumber() != screen->getCurrentWorkspaceID()))
             screen->changeWorkspaceID(win->getWorkspaceNumber());
           if (win->isVisible() && win->setInputFocus()) {
             win->getScreen()->getWorkspace(win->getWorkspaceNumber())->
This page took 0.022694 seconds and 4 git commands to generate.