Ignore EnterNotify on Unmap
This is the basic condition that was first noticed because of the effect of the ClientMenu window unmapping and the resulting EnterNotify event stealing focus from the window selected in that menu. But to be complete, any window unmapping should cause focus to move to the next in the last-recently-focused window list, not the one that happens to be beneath the mouse cursor.
This commit is contained in:
parent
5c7784affe
commit
76ea1d9bbe
1 changed files with 5 additions and 0 deletions
|
@ -899,6 +899,11 @@ void Fluxbox::handleUnmapNotify(XUnmapEvent &ue) {
|
||||||
|
|
||||||
BScreen *screen = searchScreen(ue.event);
|
BScreen *screen = searchScreen(ue.event);
|
||||||
|
|
||||||
|
if (screen) {
|
||||||
|
/* Ignore all EnterNotify events until the pointer actually moves */
|
||||||
|
screen->focusControl().ignoreAtPointer();
|
||||||
|
}
|
||||||
|
|
||||||
if (ue.event != ue.window && (!screen || !ue.send_event)) {
|
if (ue.event != ue.window && (!screen || !ue.send_event)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue