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;