all repos — fluxbox @ 76ea1d9bbe3f3b7edb15da1a67652982edd5f646

custom fork of the fluxbox windowmanager

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.
Jim Ramsay i.am@jimramsay.com
commit

76ea1d9bbe3f3b7edb15da1a67652982edd5f646

parent

5c7784affe78467d7ef4e52e22da83c341622d53

1 files changed, 5 insertions(+), 0 deletions(-)

jump to
M src/fluxbox.ccsrc/fluxbox.cc

@@ -899,6 +899,11 @@ void Fluxbox::handleUnmapNotify(XUnmapEvent &ue) {

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)) { return; }