diff options
-rw-r--r-- | src/Ewmh.cc | 10 | ||||
-rw-r--r-- | src/FbTk/Menu.cc | 4 | ||||
-rw-r--r-- | src/Keys.cc | 2 | ||||
-rw-r--r-- | src/fluxbox.cc | 4 |
4 files changed, 9 insertions, 11 deletions
diff --git a/src/Ewmh.cc b/src/Ewmh.cc index 8dd1959..147b7d3 100644 --- a/src/Ewmh.cc +++ b/src/Ewmh.cc | |||
@@ -662,15 +662,7 @@ void Ewmh::updateState(FluxboxWindow &win) { | |||
662 | } | 662 | } |
663 | 663 | ||
664 | void Ewmh::updateLayer(FluxboxWindow &win) { | 664 | void Ewmh::updateLayer(FluxboxWindow &win) { |
665 | //!! TODO _NET_WM_WINDOW_TYPE | 665 | updateState(win); |
666 | /* | ||
667 | if (win.getLayer() == Fluxbox::instance()->getAboveDockLayer()) { | ||
668 | // _NET_WM_STATE_BELOW | ||
669 | |||
670 | } else if (win.getLayer() == Fluxbox::instance()->getBottomLayer()) { | ||
671 | // _NET_WM_STATE_ABOVE | ||
672 | } | ||
673 | */ | ||
674 | } | 666 | } |
675 | 667 | ||
676 | void Ewmh::updateHints(FluxboxWindow &win) { | 668 | void Ewmh::updateHints(FluxboxWindow &win) { |
diff --git a/src/FbTk/Menu.cc b/src/FbTk/Menu.cc index b5536f7..138eaf4 100644 --- a/src/FbTk/Menu.cc +++ b/src/FbTk/Menu.cc | |||
@@ -965,6 +965,10 @@ void Menu::motionNotifyEvent(XMotionEvent &me) { | |||
965 | if (w == m_active_index) | 965 | if (w == m_active_index) |
966 | return; | 966 | return; |
967 | 967 | ||
968 | // if another menu is focused, change focus to this one, so arrow keys | ||
969 | // work as expected | ||
970 | if (s_focused != this && s_focused != 0) | ||
971 | grabInputFocus(); | ||
968 | 972 | ||
969 | if (validIndex(m_active_index) && w != m_active_index) { | 973 | if (validIndex(m_active_index) && w != m_active_index) { |
970 | int old_active_index = m_active_index; | 974 | int old_active_index = m_active_index; |
diff --git a/src/Keys.cc b/src/Keys.cc index dbcff67..97a83bf 100644 --- a/src/Keys.cc +++ b/src/Keys.cc | |||
@@ -339,7 +339,7 @@ bool Keys::doAction(int type, unsigned int mods, unsigned int key) { | |||
339 | // grab "None Escape" to exit keychain in the middle | 339 | // grab "None Escape" to exit keychain in the middle |
340 | unsigned int esc = FbTk::KeyUtil::getKey("Escape"); | 340 | unsigned int esc = FbTk::KeyUtil::getKey("Escape"); |
341 | 341 | ||
342 | if (temp_key && temp_key->keylist.size()) { // emacs-style | 342 | if (temp_key && !temp_key->keylist.empty()) { // emacs-style |
343 | if (!saved_keymode) | 343 | if (!saved_keymode) |
344 | saved_keymode = m_keylist; | 344 | saved_keymode = m_keylist; |
345 | next_key = temp_key; | 345 | next_key = temp_key; |
diff --git a/src/fluxbox.cc b/src/fluxbox.cc index 42ff47d..468e723 100644 --- a/src/fluxbox.cc +++ b/src/fluxbox.cc | |||
@@ -733,7 +733,9 @@ void Fluxbox::handleEvent(XEvent * const e) { | |||
733 | for (; it != it_end; ++it) { | 733 | for (; it != it_end; ++it) { |
734 | if ( (*it)->screenNumber() == | 734 | if ( (*it)->screenNumber() == |
735 | FbTk::Menu::focused()->fbwindow().screenNumber()) { | 735 | FbTk::Menu::focused()->fbwindow().screenNumber()) { |
736 | FocusControl::revertFocus(**it); | 736 | FocusControl::setFocusedWindow(0); |
737 | m_revert_screen = *it; | ||
738 | m_revert_timer.start(); | ||
737 | break; // found the screen, no more search | 739 | break; // found the screen, no more search |
738 | } | 740 | } |
739 | } | 741 | } |