kwo pushed a commit to branch master. http://git.enlightenment.org/e16/e16.git/commit/?id=982ccfe70e6fee74d2b7575ba31868bb52c6c297
commit 982ccfe70e6fee74d2b7575ba31868bb52c6c297 Author: Kim Woelders <[email protected]> Date: Tue Mar 27 21:57:46 2018 +0200 Fix focus-if-group-focused cases In various cases focus would not be set as intended, at least when not focus-all-new and click-to-focus or not click-to-focus and pointer not in new client --- src/focus.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/focus.c b/src/focus.c index 20eaebe9..58a6805d 100644 --- a/src/focus.c +++ b/src/focus.c @@ -367,6 +367,9 @@ doFocusToEwin(EWin * ewin, int why) EwinGetWindowGroup(ewin) == EwinGetWindowGroup(Mode.focuswin)) goto check_focus_new; + if (Conf.focus.mode != MODE_FOCUS_CLICK && ewin == Mode.mouse_over_ewin) + goto check_focus_new; + if (EwinIsTransient(ewin)) { if (Conf.focus.new_transients_get_focus) @@ -485,8 +488,6 @@ FocusToEWin(EWin * ewin, int why) switch (why) { case FOCUS_EWIN_NEW: - if (!Conf.focus.all_new_windows_get_focus) - return; if (!FocusEwinValid(ewin, 0, 0, 0)) break; focus_pending_new = ewin; --
