From a2e9b1461f6573f4ed4bc41c44e9e03f4a1b4c00 Mon Sep 17 00:00:00 2001 From: Orestis Floros Date: Sun, 10 Dec 2017 22:06:29 +0200 Subject: [PATCH 1/2] Reduce repetition in cmd_move_con_to_workspace* --- src/commands.c | 38 +++++++++++++------------------------- 1 file changed, 13 insertions(+), 25 deletions(-) diff --git a/src/commands.c b/src/commands.c index 162f0892..5bfdc96a 100644 --- a/src/commands.c +++ b/src/commands.c @@ -269,14 +269,20 @@ void cmd_criteria_add(I3_CMD, const char *ctype, const char *cvalue) { match_parse_property(current_match, ctype, cvalue); } +static void move_matches_to_workspace(Con *ws) { + owindow *current; + TAILQ_FOREACH(current, &owindows, owindows) { + DLOG("matching: %p / %s\n", current->con, current->con->name); + con_move_to_workspace(current->con, ws, true, false, false); + } +} + /* * Implementation of 'move [window|container] [to] workspace * next|prev|next_on_output|prev_on_output|current'. * */ void cmd_move_con_to_workspace(I3_CMD, const char *which) { - owindow *current; - DLOG("which=%s\n", which); /* We have nothing to move: @@ -309,10 +315,7 @@ void cmd_move_con_to_workspace(I3_CMD, const char *which) { return; } - TAILQ_FOREACH(current, &owindows, owindows) { - DLOG("matching: %p / %s\n", current->con, current->con->name); - con_move_to_workspace(current->con, ws, true, false, false); - } + move_matches_to_workspace(ws); cmd_output->needs_tree_render = true; // XXX: default reply for now, make this a better reply @@ -324,11 +327,7 @@ void cmd_move_con_to_workspace(I3_CMD, const char *which) { * */ void cmd_move_con_to_workspace_back_and_forth(I3_CMD) { - owindow *current; - Con *ws; - - ws = workspace_back_and_forth_get(); - + Con *ws = workspace_back_and_forth_get(); if (ws == NULL) { yerror("No workspace was previously active."); return; @@ -336,10 +335,7 @@ void cmd_move_con_to_workspace_back_and_forth(I3_CMD) { HANDLE_EMPTY_MATCH; - TAILQ_FOREACH(current, &owindows, owindows) { - DLOG("matching: %p / %s\n", current->con, current->con->name); - con_move_to_workspace(current->con, ws, true, false, false); - } + move_matches_to_workspace(ws); cmd_output->needs_tree_render = true; // XXX: default reply for now, make this a better reply @@ -358,7 +354,6 @@ void cmd_move_con_to_workspace_name(I3_CMD, const char *name, const char *_no_au } const bool no_auto_back_and_forth = (_no_auto_back_and_forth != NULL); - owindow *current; /* We have nothing to move: * when criteria was specified but didn't match any window or @@ -382,10 +377,7 @@ void cmd_move_con_to_workspace_name(I3_CMD, const char *name, const char *_no_au HANDLE_EMPTY_MATCH; - TAILQ_FOREACH(current, &owindows, owindows) { - DLOG("matching: %p / %s\n", current->con, current->con->name); - con_move_to_workspace(current->con, ws, true, false, false); - } + move_matches_to_workspace(ws); cmd_output->needs_tree_render = true; // XXX: default reply for now, make this a better reply @@ -398,7 +390,6 @@ void cmd_move_con_to_workspace_name(I3_CMD, const char *name, const char *_no_au */ void cmd_move_con_to_workspace_number(I3_CMD, const char *which, const char *_no_auto_back_and_forth) { const bool no_auto_back_and_forth = (_no_auto_back_and_forth != NULL); - owindow *current; /* We have nothing to move: * when criteria was specified but didn't match any window or @@ -435,10 +426,7 @@ void cmd_move_con_to_workspace_number(I3_CMD, const char *which, const char *_no HANDLE_EMPTY_MATCH; - TAILQ_FOREACH(current, &owindows, owindows) { - DLOG("matching: %p / %s\n", current->con, current->con->name); - con_move_to_workspace(current->con, workspace, true, false, false); - } + move_matches_to_workspace(workspace); cmd_output->needs_tree_render = true; // XXX: default reply for now, make this a better reply From e0f15796692d5d76c7046d83ebc2786a965ea4f0 Mon Sep 17 00:00:00 2001 From: Orestis Floros Date: Sun, 10 Dec 2017 22:08:46 +0200 Subject: [PATCH 2/2] cmd_move_con_to_workspace_number: rename workspace->ws For consistency with other cmd_move_con_to_workspace* functions. --- src/commands.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/commands.c b/src/commands.c index 5bfdc96a..02d14daa 100644 --- a/src/commands.c +++ b/src/commands.c @@ -403,7 +403,7 @@ void cmd_move_con_to_workspace_number(I3_CMD, const char *which, const char *_no LOG("should move window to workspace %s\n", which); /* get the workspace */ - Con *output, *workspace = NULL; + Con *output, *ws = NULL; long parsed_num = ws_name_to_number(which); @@ -414,19 +414,19 @@ void cmd_move_con_to_workspace_number(I3_CMD, const char *which, const char *_no } TAILQ_FOREACH(output, &(croot->nodes_head), nodes) - GREP_FIRST(workspace, output_get_content(output), + GREP_FIRST(ws, output_get_content(output), child->num == parsed_num); - if (!workspace) { - workspace = workspace_get(which, NULL); + if (!ws) { + ws = workspace_get(which, NULL); } if (!no_auto_back_and_forth) - workspace = maybe_auto_back_and_forth_workspace(workspace); + ws = maybe_auto_back_and_forth_workspace(ws); HANDLE_EMPTY_MATCH; - move_matches_to_workspace(workspace); + move_matches_to_workspace(ws); cmd_output->needs_tree_render = true; // XXX: default reply for now, make this a better reply