Merge branch 'obsd-master' into master

pull/2546/head
Thomas Adam 2021-01-17 18:01:21 +00:00
commit 24c15eda79
4 changed files with 13 additions and 3 deletions

View File

@ -126,6 +126,8 @@ retry:
log_debug("connect failed: %s", strerror(errno)); log_debug("connect failed: %s", strerror(errno));
if (errno != ECONNREFUSED && errno != ENOENT) if (errno != ECONNREFUSED && errno != ENOENT)
goto failed; goto failed;
if (flags & CLIENT_NOSTARTSERVER)
goto failed;
if (~flags & CLIENT_STARTSERVER) if (~flags & CLIENT_STARTSERVER)
goto failed; goto failed;
close(fd); close(fd);

5
tmux.1
View File

@ -191,6 +191,11 @@ directories are missing).
Behave as a login shell. Behave as a login shell.
This flag currently has no effect and is for compatibility with other shells This flag currently has no effect and is for compatibility with other shells
when using tmux as a login shell. when using tmux as a login shell.
.It Fl N
Do not start the server even if the command would normally do so (for example
.Ic new-session
or
.Ic start-server ) .
.It Fl S Ar socket-path .It Fl S Ar socket-path
Specify a full alternative path to the server socket. Specify a full alternative path to the server socket.
If If

7
tmux.c
View File

@ -53,7 +53,7 @@ static __dead void
usage(void) usage(void)
{ {
fprintf(stderr, fprintf(stderr,
"usage: %s [-2CDluvV] [-c shell-command] [-f file] [-L socket-name]\n" "usage: %s [-2CDlNuvV] [-c shell-command] [-f file] [-L socket-name]\n"
" [-S socket-path] [-T features] [command [flags]]\n", " [-S socket-path] [-T features] [command [flags]]\n",
getprogname()); getprogname());
exit(1); exit(1);
@ -340,7 +340,7 @@ main(int argc, char **argv)
if (**argv == '-') if (**argv == '-')
flags = CLIENT_LOGIN; flags = CLIENT_LOGIN;
while ((opt = getopt(argc, argv, "2c:CDdf:lL:qS:T:uUvV")) != -1) { while ((opt = getopt(argc, argv, "2c:CDdf:lL:NqS:T:uUvV")) != -1) {
switch (opt) { switch (opt) {
case '2': case '2':
tty_add_features(&feat, "256", ":,"); tty_add_features(&feat, "256", ":,");
@ -370,6 +370,9 @@ main(int argc, char **argv)
free(label); free(label);
label = xstrdup(optarg); label = xstrdup(optarg);
break; break;
case 'N':
flags |= CLIENT_NOSTARTSERVER;
break;
case 'q': case 'q':
break; break;
case 'S': case 'S':

2
tmux.h
View File

@ -1636,7 +1636,7 @@ struct client {
#define CLIENT_DEAD 0x200 #define CLIENT_DEAD 0x200
#define CLIENT_REDRAWBORDERS 0x400 #define CLIENT_REDRAWBORDERS 0x400
#define CLIENT_READONLY 0x800 #define CLIENT_READONLY 0x800
/* 0x1000 unused */ #define CLIENT_NOSTARTSERVER 0x1000
#define CLIENT_CONTROL 0x2000 #define CLIENT_CONTROL 0x2000
#define CLIENT_CONTROLCONTROL 0x4000 #define CLIENT_CONTROLCONTROL 0x4000
#define CLIENT_FOCUSED 0x8000 #define CLIENT_FOCUSED 0x8000