ignore the EnterNotify for focusing when changing workspaces in an ACTIVE_WINDOW change, so that the right window gets focused, not the window under the mouse.

This commit is contained in:
Dana Jansens 2002-08-16 04:25:13 +00:00
parent 544da8c704
commit a2db09b869

View file

@ -574,6 +574,8 @@ void Blackbox::process_event(XEvent *e) {
has moved to a known window. has moved to a known window.
*/ */
e->xfocus.window = None; e->xfocus.window = None;
no_focus = False; // focusing is back on
} }
break; break;
@ -682,8 +684,10 @@ void Blackbox::process_event(XEvent *e) {
if (win->isIconic()) if (win->isIconic())
win->deiconify(False, False); win->deiconify(False, False);
if (! win->isStuck() && if (! win->isStuck() &&
(win->getWorkspaceNumber() != screen->getCurrentWorkspaceID())) (win->getWorkspaceNumber() != screen->getCurrentWorkspaceID())) {
no_focus = True;
screen->changeWorkspaceID(win->getWorkspaceNumber()); screen->changeWorkspaceID(win->getWorkspaceNumber());
}
if (win->isVisible() && win->setInputFocus()) { if (win->isVisible() && win->setInputFocus()) {
win->getScreen()->getWorkspace(win->getWorkspaceNumber())-> win->getScreen()->getWorkspace(win->getWorkspaceNumber())->
raiseWindow(win); raiseWindow(win);