summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/Keys.cc4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/Keys.cc b/src/Keys.cc
index 6a4406a..7e6c93e 100644
--- a/src/Keys.cc
+++ b/src/Keys.cc
@@ -27,6 +27,7 @@
27#include "fluxbox.hh" 27#include "fluxbox.hh"
28#include "Screen.hh" 28#include "Screen.hh"
29 29
30#include "FbTk/EventManager.hh"
30#include "FbTk/StringUtil.hh" 31#include "FbTk/StringUtil.hh"
31#include "FbTk/App.hh" 32#include "FbTk/App.hh"
32#include "FbTk/Command.hh" 33#include "FbTk/Command.hh"
@@ -392,7 +393,8 @@ bool Keys::doAction(int type, unsigned int mods, unsigned int key,
392 393
393 // if focus changes, windows will get NotifyWhileGrabbed, 394 // if focus changes, windows will get NotifyWhileGrabbed,
394 // which they tend to ignore 395 // which they tend to ignore
395 if (temp_key && type == KeyPress) 396 if (temp_key && type == KeyPress &&
397 !FbTk::EventManager::instance()->grabbingKeyboard())
396 XUngrabKeyboard(Fluxbox::instance()->display(), CurrentTime); 398 XUngrabKeyboard(Fluxbox::instance()->display(), CurrentTime);
397 399
398 if (temp_key && !temp_key->keylist.empty()) { // emacs-style 400 if (temp_key && !temp_key->keylist.empty()) { // emacs-style