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:
parent
544da8c704
commit
a2db09b869
1 changed files with 5 additions and 1 deletions
|
@ -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);
|
||||||
|
|
Loading…
Reference in a new issue