aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornicm <nicm>2018-06-08 09:43:58 +0000
committernicm <nicm>2018-06-08 09:43:58 +0000
commitff45b2d343fea6b0c477ed2cb5bbe2d30922ea3e (patch)
treedc76f64c4c8dcce4119e50c58a881a329ed1c864
parentba31d3a88c8c76ec3c76d9a91373fa24e64797cd (diff)
downloadrtmux-ff45b2d343fea6b0c477ed2cb5bbe2d30922ea3e.tar.gz
rtmux-ff45b2d343fea6b0c477ed2cb5bbe2d30922ea3e.tar.bz2
rtmux-ff45b2d343fea6b0c477ed2cb5bbe2d30922ea3e.zip
Tweak previous - check for a NULL client and simplify manual text.
-rw-r--r--cmd-new-session.c28
-rw-r--r--tmux.12
2 files changed, 22 insertions, 8 deletions
diff --git a/cmd-new-session.c b/cmd-new-session.c
index 7af67a11..e809de24 100644
--- a/cmd-new-session.c
+++ b/cmd-new-session.c
@@ -202,17 +202,29 @@ cmd_new_session_exec(struct cmd *self, struct cmdq_item *item)
sy = 24;
}
if ((is_control || detached) && args_has(args, 'x')) {
- sx = strtonum(args_get(args, 'x'), 1, USHRT_MAX, &errstr);
- if (errstr != NULL) {
- cmdq_error(item, "width %s", errstr);
- goto error;
+ tmp = args_get(args, 'x');
+ if (strcmp(tmp, "-") == 0) {
+ if (c != NULL)
+ sx = c->tty.sx;
+ } else {
+ sx = strtonum(tmp, 1, USHRT_MAX, &errstr);
+ if (errstr != NULL) {
+ cmdq_error(item, "width %s", errstr);
+ goto error;
+ }
}
}
if ((is_control || detached) && args_has(args, 'y')) {
- sy = strtonum(args_get(args, 'y'), 1, USHRT_MAX, &errstr);
- if (errstr != NULL) {
- cmdq_error(item, "height %s", errstr);
- goto error;
+ tmp = args_get(args, 'y');
+ if (strcmp(tmp, "-") == 0) {
+ if (c != NULL)
+ sy = c->tty.sy;
+ } else {
+ sy = strtonum(tmp, 1, USHRT_MAX, &errstr);
+ if (errstr != NULL) {
+ cmdq_error(item, "height %s", errstr);
+ goto error;
+ }
}
}
if (sx == 0)
diff --git a/tmux.1 b/tmux.1
index ac5e9b44..329279fd 100644
--- a/tmux.1
+++ b/tmux.1
@@ -851,6 +851,8 @@ the initial size is 80 x 24;
and
.Fl y
can be used to specify a different size.
+.Ql -
+uses the size of the current client if any.
.Pp
If run from a terminal, any
.Xr termios 4