diff options
-rw-r--r-- | ChangeLog | 2 | ||||
-rw-r--r-- | src/FocusControl.hh | 1 | ||||
-rw-r--r-- | src/Window.cc | 4 |
3 files changed, 5 insertions, 2 deletions
@@ -1,6 +1,8 @@ | |||
1 | (Format: Year/Month/Day) | 1 | (Format: Year/Month/Day) |
2 | Changes for 0.9.16: | 2 | Changes for 0.9.16: |
3 | *06/04/19: | 3 | *06/04/19: |
4 | * Fixes to Mouse Focus (thanks Scott Kuhl; skuhl AT cs utah edu) | ||
5 | Window.cc | ||
4 | * Allow ~ in "background" pixmap options (Simon + thanks_markt) | 6 | * Allow ~ in "background" pixmap options (Simon + thanks_markt) |
5 | RootTheme.cc | 7 | RootTheme.cc |
6 | * Windows keep relative position in ArrangeWindows (Mathias) | 8 | * Windows keep relative position in ArrangeWindows (Mathias) |
diff --git a/src/FocusControl.hh b/src/FocusControl.hh index 0d9cd05..65363dd 100644 --- a/src/FocusControl.hh +++ b/src/FocusControl.hh | |||
@@ -82,6 +82,7 @@ public: | |||
82 | void dirFocus(FluxboxWindow &win, FocusDir dir); | 82 | void dirFocus(FluxboxWindow &win, FocusDir dir); |
83 | bool isMouseFocus() const { return focusModel() == MOUSEFOCUS; } | 83 | bool isMouseFocus() const { return focusModel() == MOUSEFOCUS; } |
84 | bool isMouseTabFocus() const { return tabFocusModel() == MOUSETABFOCUS; } | 84 | bool isMouseTabFocus() const { return tabFocusModel() == MOUSETABFOCUS; } |
85 | bool isCycling() const { return m_cycling_focus; } | ||
85 | void addFocusFront(WinClient &client); | 86 | void addFocusFront(WinClient &client); |
86 | void addFocusBack(WinClient &client); | 87 | void addFocusBack(WinClient &client); |
87 | 88 | ||
diff --git a/src/Window.cc b/src/Window.cc index e766cab..4ced1c6 100644 --- a/src/Window.cc +++ b/src/Window.cc | |||
@@ -2662,7 +2662,7 @@ void FluxboxWindow::buttonPressEvent(XButtonEvent &be) { | |||
2662 | frame().buttonPressEvent(be); | 2662 | frame().buttonPressEvent(be); |
2663 | 2663 | ||
2664 | if (be.button == 1 || (be.button == 3 && be.state == Mod1Mask)) { | 2664 | if (be.button == 1 || (be.button == 3 && be.state == Mod1Mask)) { |
2665 | if ((! focused) && (! screen().focusControl().isMouseFocus())) { //check focus | 2665 | if ( (! focused) ) { //check focus |
2666 | setInputFocus(); | 2666 | setInputFocus(); |
2667 | } | 2667 | } |
2668 | 2668 | ||
@@ -3024,7 +3024,7 @@ void FluxboxWindow::enterNotifyEvent(XCrossingEvent &ev) { | |||
3024 | sa.enter = sa.leave = False; | 3024 | sa.enter = sa.leave = False; |
3025 | XCheckIfEvent(display, &dummy, queueScanner, (char *) &sa); | 3025 | XCheckIfEvent(display, &dummy, queueScanner, (char *) &sa); |
3026 | 3026 | ||
3027 | if ((!sa.leave || sa.inferior)) { | 3027 | if ((!sa.leave || sa.inferior) && !screen().focusControl().isCycling() ) { |
3028 | setInputFocus(); | 3028 | setInputFocus(); |
3029 | } | 3029 | } |
3030 | } | 3030 | } |