X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;ds=sidebyside;f=src%2Fblackbox.cc;h=0e03e17817ebc9289f31b5d89bb8a95a92ad10da;hb=39bd954b8bf197fa08f73ffade953fe531463796;hp=66a62e55fd32cfe5b45605644b6bd03760064f5b;hpb=83b6c9bfa0ccc8088e4c65e5a2cf139933959565;p=chaz%2Fopenbox diff --git a/src/blackbox.cc b/src/blackbox.cc index 66a62e55..0e03e178 100644 --- a/src/blackbox.cc +++ b/src/blackbox.cc @@ -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())->