X-Git-Url: https://git.sur5r.net/?p=i3%2Fi3;a=blobdiff_plain;f=src%2Fcon.c;fp=src%2Fcon.c;h=f90d569f61c09717396705470c51cc46443b7a3b;hp=799148ef706b33e25d6402b18a4af50d38757645;hb=634512404940fb4b1effc930feb8b108883cef60;hpb=0e1b1dd984bbf96907fc97acdf84b84897a94be0 diff --git a/src/con.c b/src/con.c index 799148ef..f90d569f 100644 --- a/src/con.c +++ b/src/con.c @@ -656,8 +656,11 @@ void con_move_to_workspace(Con *con, Con *workspace, bool fix_coordinates, bool 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