summaryrefslogtreecommitdiffstats
path: root/cmd-select-layout.c
diff options
context:
space:
mode:
Diffstat (limited to 'cmd-select-layout.c')
-rw-r--r--cmd-select-layout.c18
1 files changed, 9 insertions, 9 deletions
diff --git a/cmd-select-layout.c b/cmd-select-layout.c
index 7069eccc..f9a29047 100644
--- a/cmd-select-layout.c
+++ b/cmd-select-layout.c
@@ -105,24 +105,24 @@ cmd_select_layout_exec(struct cmd *self, struct cmdq_item *item)
goto changed;
}
+ if (args_count(args) != 0)
+ layoutname = args_string(args, 0);
+ else if (args_has(args, 'o'))
+ layoutname = oldlayout;
+ else
+ layoutname = NULL;
+
if (!args_has(args, 'o')) {
- if (args->argc == 0)
+ if (layoutname == NULL)
layout = w->lastlayout;
else
- layout = layout_set_lookup(args->argv[0]);
+ layout = layout_set_lookup(layoutname);
if (layout != -1) {
layout_set_select(w, layout);
goto changed;
}
}
- if (args->argc != 0)
- layoutname = args->argv[0];
- else if (args_has(args, 'o'))
- layoutname = oldlayout;
- else
- layoutname = NULL;
-
if (layoutname != NULL) {
if (layout_parse(w, layoutname) == -1) {
cmdq_error(item, "can't set layout: %s", layoutname);