]> git.sur5r.net Git - i3/i3/blobdiff - src/commands.c
Merge pull request #3369 from orestisf1993/clang-format
[i3/i3] / src / commands.c
index c7b57ab3571a94f89b5ebec0b39b2d23a3f9174d..ad7d9770b7193c69c296fccc79650b577a2f925e 100644 (file)
@@ -2019,28 +2019,30 @@ void cmd_rename_workspace(I3_CMD, const char *old_name, const char *new_name) {
             LOG("Could not get output named \"%s\"\n", assignment->output);
             continue;
         }
+        if (!output_triggers_assignment(target_output, assignment)) {
+            continue;
+        }
         workspace_move_to_output(workspace, target_output);
 
-        bool can_restore_focus = previously_focused != NULL;
-        /* NB: If previously_focused is a workspace we can't
-         * work directly with it since it might have been cleaned up by
-         * workspace_show() already, depending on the
-         * focus order/number of other workspaces on the output.
-         * Instead, we loop through the available workspaces and only focus
-         * previously_focused if we still find it. */
-        if (previously_focused_content) {
-            Con *workspace = NULL;
-            GREP_FIRST(workspace, previously_focused_content, child == previously_focused);
-            can_restore_focus &= (workspace != NULL);
-        }
+        break;
+    }
 
-        if (can_restore_focus) {
-            /* Restore the previous focus since con_attach messes with the focus. */
-            workspace_show(con_get_workspace(previously_focused));
-            con_activate(previously_focused);
-        }
+    bool can_restore_focus = previously_focused != NULL;
+    /* NB: If previously_focused is a workspace we can't work directly with it
+     * since it might have been cleaned up by workspace_show() already,
+     * depending on the focus order/number of other workspaces on the output.
+     * Instead, we loop through the available workspaces and only focus
+     * previously_focused if we still find it. */
+    if (previously_focused_content) {
+        Con *workspace = NULL;
+        GREP_FIRST(workspace, previously_focused_content, child == previously_focused);
+        can_restore_focus &= (workspace != NULL);
+    }
 
-        break;
+    if (can_restore_focus) {
+        /* Restore the previous focus since con_attach messes with the focus. */
+        workspace_show(con_get_workspace(previously_focused));
+        con_focus(previously_focused);
     }
 
     cmd_output->needs_tree_render = true;