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;

-- 


Reply via email to