summaryrefslogtreecommitdiffstats
path: root/cmd-split-window.c
diff options
context:
space:
mode:
Diffstat (limited to 'cmd-split-window.c')
-rw-r--r--cmd-split-window.c16
1 files changed, 10 insertions, 6 deletions
diff --git a/cmd-split-window.c b/cmd-split-window.c
index 4dd03055..ebe0ffef 100644
--- a/cmd-split-window.c
+++ b/cmd-split-window.c
@@ -174,17 +174,21 @@ cmd_split_window_exec(struct cmd *self, struct cmd_ctx *ctx)
else
cwd = ctx->cmdclient->cwd;
+ type = LAYOUT_TOPBOTTOM;
+ if (data->flag_horizontal)
+ type = LAYOUT_LEFTRIGHT;
+
size = -1;
if (data->size != -1)
size = data->size;
- else if (data->percentage != -1)
- size = (w->active->sy * data->percentage) / 100;
+ else if (data->percentage != -1) {
+ if (type == LAYOUT_TOPBOTTOM)
+ size = (w->active->sy * data->percentage) / 100;
+ else
+ size = (w->active->sx * data->percentage) / 100;
+ }
hlimit = options_get_number(&s->options, "history-limit");
- type = LAYOUT_TOPBOTTOM;
- if (data->flag_horizontal)
- type = LAYOUT_LEFTRIGHT;
-
shell = options_get_string(&s->options, "default-shell");
if (*shell == '\0' || areshell(shell))
shell = _PATH_BSHELL;