diff options
Diffstat (limited to 'src/ClientMenu.cc')
-rw-r--r-- | src/ClientMenu.cc | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/ClientMenu.cc b/src/ClientMenu.cc index 02df7e4..67ec374 100644 --- a/src/ClientMenu.cc +++ b/src/ClientMenu.cc | |||
@@ -25,6 +25,7 @@ | |||
25 | #include "Screen.hh" | 25 | #include "Screen.hh" |
26 | #include "Window.hh" | 26 | #include "Window.hh" |
27 | #include "WindowCmd.hh" | 27 | #include "WindowCmd.hh" |
28 | #include "FocusControl.hh" | ||
28 | #include <X11/keysym.h> | 29 | #include <X11/keysym.h> |
29 | 30 | ||
30 | #include "FbTk/MenuItem.hh" | 31 | #include "FbTk/MenuItem.hh" |
@@ -56,8 +57,12 @@ public: | |||
56 | 57 | ||
57 | m_client.focus(); | 58 | m_client.focus(); |
58 | fbwin->raise(); | 59 | fbwin->raise(); |
59 | if ((mods & ControlMask) == 0) | 60 | if ((mods & ControlMask) == 0) { |
61 | // Ignore any focus changes due to this menu closing | ||
62 | // (even in StrictMouseFocus mode) | ||
63 | m_client.screen().focusControl().ignoreAtPointer(true); | ||
60 | parent->hide(); | 64 | parent->hide(); |
65 | } | ||
61 | } | 66 | } |
62 | 67 | ||
63 | const std::string &label() const { return m_client.title(); } | 68 | const std::string &label() const { return m_client.title(); } |