diff options
author | nicm <nicm> | 2017-11-15 19:59:27 +0000 |
---|---|---|
committer | nicm <nicm> | 2017-11-15 19:59:27 +0000 |
commit | 3b649d2fcdc8a15c69efbce69ae9e559481d36cb (patch) | |
tree | b8b2e0d03ace30d066b836c53f37aa9eef02a9b5 /cmd-select-layout.c | |
parent | 533a5719c5edf53f0d7021d4340af230cc43ac8a (diff) | |
download | rtmux-3b649d2fcdc8a15c69efbce69ae9e559481d36cb.tar.gz rtmux-3b649d2fcdc8a15c69efbce69ae9e559481d36cb.tar.bz2 rtmux-3b649d2fcdc8a15c69efbce69ae9e559481d36cb.zip |
Add a common function for spreading out cells and use it for the two
even layouts and to add a -E flag to select-layout to spread out cells
evenly without changing parent cells.
Diffstat (limited to 'cmd-select-layout.c')
-rw-r--r-- | cmd-select-layout.c | 27 |
1 files changed, 16 insertions, 11 deletions
diff --git a/cmd-select-layout.c b/cmd-select-layout.c index e32f115d..28737c18 100644 --- a/cmd-select-layout.c +++ b/cmd-select-layout.c @@ -33,10 +33,10 @@ const struct cmd_entry cmd_select_layout_entry = { .name = "select-layout", .alias = "selectl", - .args = { "nopt:", 0, 1 }, - .usage = "[-nop] " CMD_TARGET_WINDOW_USAGE " [layout-name]", + .args = { "Enopt:", 0, 1 }, + .usage = "[-Enop] " CMD_TARGET_PANE_USAGE " [layout-name]", - .target = { 't', CMD_FIND_WINDOW, 0 }, + .target = { 't', CMD_FIND_PANE, 0 }, .flags = CMD_AFTERHOOK, .exec = cmd_select_layout_exec @@ -71,14 +71,14 @@ const struct cmd_entry cmd_previous_layout_entry = { static enum cmd_retval cmd_select_layout_exec(struct cmd *self, struct cmdq_item *item) { - struct args *args = self->args; - struct winlink *wl = item->target.wl; - struct window *w; - const char *layoutname; - char *oldlayout; - int next, previous, layout; - - w = wl->window; + struct args *args = self->args; + struct winlink *wl = item->target.wl; + struct window *w = wl->window; + struct window_pane *wp = item->target.wp; + const char *layoutname; + char *oldlayout; + int next, previous, layout; + server_unzoom_window(w); next = self->entry == &cmd_next_layout_entry; @@ -99,6 +99,11 @@ cmd_select_layout_exec(struct cmd *self, struct cmdq_item *item) goto changed; } + if (args_has(args, 'E')) { + layout_spread_out(wp); + goto changed; + } + if (!args_has(args, 'o')) { if (args->argc == 0) layout = w->lastlayout; |