summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJim Ramsay <i.am@jimramsay.com>2009-01-30 15:47:24 (GMT)
committerJim Ramsay <i.am@jimramsay.com>2009-02-27 20:18:07 (GMT)
commit76ea1d9bbe3f3b7edb15da1a67652982edd5f646 (patch)
tree282bf00695dacb9bbaf09fcabd5f5d17bf409986
parent5c7784affe78467d7ef4e52e22da83c341622d53 (diff)
downloadfluxbox_lack-76ea1d9bbe3f3b7edb15da1a67652982edd5f646.zip
fluxbox_lack-76ea1d9bbe3f3b7edb15da1a67652982edd5f646.tar.bz2
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.
-rw-r--r--src/fluxbox.cc5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/fluxbox.cc b/src/fluxbox.cc
index 93768da..f44f8aa 100644
--- a/src/fluxbox.cc
+++ b/src/fluxbox.cc
@@ -899,6 +899,11 @@ void Fluxbox::handleUnmapNotify(XUnmapEvent &ue) {
899 899
900 BScreen *screen = searchScreen(ue.event); 900 BScreen *screen = searchScreen(ue.event);
901 901
902 if (screen) {
903 /* Ignore all EnterNotify events until the pointer actually moves */
904 screen->focusControl().ignoreAtPointer();
905 }
906
902 if (ue.event != ue.window && (!screen || !ue.send_event)) { 907 if (ue.event != ue.window && (!screen || !ue.send_event)) {
903 return; 908 return;
904 } 909 }