JasonWoof Got questions, comments, patches, etc.? Contact Jason Woofenden
Fix focus when switching to an inactive workspace with a new window.
[spectrwm.git] / spectrwm.c
index 960c0eb..1e20562 100644 (file)
@@ -3465,8 +3465,9 @@ switchws(struct swm_region *r, union arg *args)
        this_r->ws = new_ws;
        new_ws->r = this_r;
 
-       /* Set focus_pending before stacking. */
-       if (focus_mode != SWM_FOCUS_FOLLOW)
+       /* Set focus_pending before stacking, if needed. */
+       if (focus_mode != SWM_FOCUS_FOLLOW && (!new_ws->focus_pending ||
+           validate_win(new_ws->focus_pending)))
                new_ws->focus_pending = get_region_focus(new_ws->r);
 
        stack();