all repos — fluxbox @ 853b0340373b81110c151e97189dea16938d3dd9

custom fork of the fluxbox windowmanager

mouse focus fixes - thanks Scott Kuhl:  skuhl AT cs utah edu
simonb simonb
commit

853b0340373b81110c151e97189dea16938d3dd9

parent

759ca9e6b5103c5589d4d5db3883fd34801cb1bf

3 files changed, 5 insertions(+), 2 deletions(-)

jump to
M ChangeLogChangeLog

@@ -1,6 +1,8 @@

(Format: Year/Month/Day) Changes for 0.9.16: *06/04/19: + * Fixes to Mouse Focus (thanks Scott Kuhl; skuhl AT cs utah edu) + Window.cc * Allow ~ in "background" pixmap options (Simon + thanks_markt) RootTheme.cc * Windows keep relative position in ArrangeWindows (Mathias)
M src/FocusControl.hhsrc/FocusControl.hh

@@ -82,6 +82,7 @@

void dirFocus(FluxboxWindow &win, FocusDir dir); bool isMouseFocus() const { return focusModel() == MOUSEFOCUS; } bool isMouseTabFocus() const { return tabFocusModel() == MOUSETABFOCUS; } + bool isCycling() const { return m_cycling_focus; } void addFocusFront(WinClient &client); void addFocusBack(WinClient &client);
M src/Window.ccsrc/Window.cc

@@ -2662,7 +2662,7 @@ // check frame events first

frame().buttonPressEvent(be); if (be.button == 1 || (be.button == 3 && be.state == Mod1Mask)) { - if ((! focused) && (! screen().focusControl().isMouseFocus())) { //check focus + if ( (! focused) ) { //check focus setInputFocus(); }

@@ -3024,7 +3024,7 @@ sa.w = ev.window;

sa.enter = sa.leave = False; XCheckIfEvent(display, &dummy, queueScanner, (char *) &sa); - if ((!sa.leave || sa.inferior)) { + if ((!sa.leave || sa.inferior) && !screen().focusControl().isCycling() ) { setInputFocus(); } }