diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/Keys.cc | 4 | ||||
-rw-r--r-- | src/Keys.hh | 3 | ||||
-rw-r--r-- | src/fluxbox.cc | 2 |
3 files changed, 8 insertions, 1 deletions
diff --git a/src/Keys.cc b/src/Keys.cc index 658820e..ac25588 100644 --- a/src/Keys.cc +++ b/src/Keys.cc | |||
@@ -571,6 +571,10 @@ void Keys::reconfigure() { | |||
571 | m_reloader->checkReload(); | 571 | m_reloader->checkReload(); |
572 | } | 572 | } |
573 | 573 | ||
574 | void Keys::regrab() { | ||
575 | setKeyMode(m_keylist); | ||
576 | } | ||
577 | |||
574 | void Keys::keyMode(const string& keyMode) { | 578 | void Keys::keyMode(const string& keyMode) { |
575 | keyspace_t::iterator it = m_map.find(keyMode + ":"); | 579 | keyspace_t::iterator it = m_map.find(keyMode + ":"); |
576 | if (it == m_map.end()) | 580 | if (it == m_map.end()) |
diff --git a/src/Keys.hh b/src/Keys.hh index 9502643..af64a1d 100644 --- a/src/Keys.hh +++ b/src/Keys.hh | |||
@@ -73,6 +73,9 @@ public: | |||
73 | /// unregister window | 73 | /// unregister window |
74 | void unregisterWindow(Window win); | 74 | void unregisterWindow(Window win); |
75 | 75 | ||
76 | /// grab keys again when keymap changes | ||
77 | void regrab(); | ||
78 | |||
76 | const std::string& filename() const { return m_filename; } | 79 | const std::string& filename() const { return m_filename; } |
77 | /** | 80 | /** |
78 | Load configuration from file | 81 | Load configuration from file |
diff --git a/src/fluxbox.cc b/src/fluxbox.cc index 706556c..93768da 100644 --- a/src/fluxbox.cc +++ b/src/fluxbox.cc | |||
@@ -772,7 +772,7 @@ void Fluxbox::handleEvent(XEvent * const e) { | |||
772 | XRefreshKeyboardMapping(&e->xmapping); | 772 | XRefreshKeyboardMapping(&e->xmapping); |
773 | FbTk::KeyUtil::instance().init(); // reinitialise the key utils | 773 | FbTk::KeyUtil::instance().init(); // reinitialise the key utils |
774 | // reconfigure keys (if the mapping changes, they don't otherwise update | 774 | // reconfigure keys (if the mapping changes, they don't otherwise update |
775 | m_key->reload(); | 775 | m_key->regrab(); |
776 | } | 776 | } |
777 | break; | 777 | break; |
778 | case CreateNotify: | 778 | case CreateNotify: |