con_fix_percent(next);
/* 7: focus the con on the target workspace (the X focus is only updated by
- * calling tree_render(), so for the "real" focus this is a no-op). */
- if (workspace->name[0] != '_' || workspace->name[1] != '_')
+ * calling tree_render(), so for the "real" focus this is a no-op).
+ * We don’t focus the con for i3 pseudo workspaces like __i3_scratch and
+ * we don’t focus when there is a fullscreen con on that workspace. */
+ if ((workspace->name[0] != '_' || workspace->name[1] != '_') &&
+ con_get_fullscreen_con(workspace, CF_OUTPUT) == NULL)
con_focus(con_descend_focused(con));
/* 8: when moving to a visible workspace on a different output, we keep the