mirror of
https://github.com/tmux/tmux.git
synced 2025-04-18 02:08:48 +00:00
Merge branch 'obsd-master'
This commit is contained in:
commit
ac2779f4d8
cmd-bind-key.ccmd-command-prompt.ccmd-confirm-before.ccmd-display-menu.ccmd-new-session.ccmd-new-window.ccmd-respawn-pane.ccmd-respawn-window.ccmd-run-shell.ccmd-send-keys.ccmd-set-buffer.ccmd-set-environment.ccmd-show-environment.ccmd-show-options.ccmd-show-prompt-history.ccmd-split-window.ctmux.1tmux.c
@ -38,7 +38,7 @@ const struct cmd_entry cmd_bind_key_entry = {
|
||||
|
||||
.args = { "nrN:T:", 1, -1, cmd_bind_key_args_parse },
|
||||
.usage = "[-nr] [-T key-table] [-N note] key "
|
||||
"[command [arguments]]",
|
||||
"[command [argument ...]]",
|
||||
|
||||
.flags = CMD_AFTERHOOK,
|
||||
.exec = cmd_bind_key_exec
|
||||
|
@ -44,7 +44,7 @@ const struct cmd_entry cmd_command_prompt_entry = {
|
||||
|
||||
.args = { "1bFkiI:Np:t:T:", 0, 1, cmd_command_prompt_args_parse },
|
||||
.usage = "[-1bFkiN] [-I inputs] [-p prompts] " CMD_TARGET_CLIENT_USAGE
|
||||
" [-T type] [template]",
|
||||
" [-T prompt-type] [template]",
|
||||
|
||||
.flags = CMD_CLIENT_TFLAG,
|
||||
.exec = cmd_command_prompt_exec
|
||||
|
@ -42,7 +42,7 @@ const struct cmd_entry cmd_confirm_before_entry = {
|
||||
.alias = "confirm",
|
||||
|
||||
.args = { "bc:p:t:y", 1, 1, cmd_confirm_before_args_parse },
|
||||
.usage = "[-by] [-c confirm_key] [-p prompt] " CMD_TARGET_CLIENT_USAGE
|
||||
.usage = "[-by] [-c confirm-key] [-p prompt] " CMD_TARGET_CLIENT_USAGE
|
||||
" command",
|
||||
|
||||
.flags = CMD_CLIENT_TFLAG,
|
||||
|
@ -42,7 +42,7 @@ const struct cmd_entry cmd_display_menu_entry = {
|
||||
.usage = "[-MO] [-b border-lines] [-c target-client] "
|
||||
"[-C starting-choice] [-H selected-style] [-s style] "
|
||||
"[-S border-style] " CMD_TARGET_PANE_USAGE " [-T title] "
|
||||
"[-x position] [-y position] name key command ...",
|
||||
"[-x position] [-y position] name [key] [command] ...",
|
||||
|
||||
.target = { 't', CMD_FIND_PANE, 0 },
|
||||
|
||||
@ -59,7 +59,7 @@ const struct cmd_entry cmd_display_popup_entry = {
|
||||
"[-d start-directory] [-e environment] [-h height] "
|
||||
"[-s style] [-S border-style] " CMD_TARGET_PANE_USAGE
|
||||
" [-T title] [-w width] [-x position] [-y position] "
|
||||
"[shell-command]",
|
||||
"[shell-command [argument ...]]",
|
||||
|
||||
.target = { 't', CMD_FIND_PANE, 0 },
|
||||
|
||||
|
@ -43,7 +43,7 @@ const struct cmd_entry cmd_new_session_entry = {
|
||||
.usage = "[-AdDEPX] [-c start-directory] [-e environment] [-F format] "
|
||||
"[-f flags] [-n window-name] [-s session-name] "
|
||||
CMD_TARGET_SESSION_USAGE " [-x width] [-y height] "
|
||||
"[shell-command]",
|
||||
"[shell-command [argument ...]]",
|
||||
|
||||
.target = { 't', CMD_FIND_SESSION, CMD_FIND_CANFAIL },
|
||||
|
||||
|
@ -40,7 +40,8 @@ const struct cmd_entry cmd_new_window_entry = {
|
||||
|
||||
.args = { "abc:de:F:kn:PSt:", 0, -1, NULL },
|
||||
.usage = "[-abdkPS] [-c start-directory] [-e environment] [-F format] "
|
||||
"[-n window-name] " CMD_TARGET_WINDOW_USAGE " [shell-command]",
|
||||
"[-n window-name] " CMD_TARGET_WINDOW_USAGE
|
||||
" [shell-command [argument ...]]",
|
||||
|
||||
.target = { 't', CMD_FIND_WINDOW, CMD_FIND_WINDOW_INDEX },
|
||||
|
||||
|
@ -36,7 +36,7 @@ const struct cmd_entry cmd_respawn_pane_entry = {
|
||||
|
||||
.args = { "c:e:kt:", 0, -1, NULL },
|
||||
.usage = "[-k] [-c start-directory] [-e environment] "
|
||||
CMD_TARGET_PANE_USAGE " [shell-command]",
|
||||
CMD_TARGET_PANE_USAGE " [shell-command [argument ...]]",
|
||||
|
||||
.target = { 't', CMD_FIND_PANE, 0 },
|
||||
|
||||
|
@ -36,7 +36,7 @@ const struct cmd_entry cmd_respawn_window_entry = {
|
||||
|
||||
.args = { "c:e:kt:", 0, -1, NULL },
|
||||
.usage = "[-k] [-c start-directory] [-e environment] "
|
||||
CMD_TARGET_WINDOW_USAGE " [shell-command]",
|
||||
CMD_TARGET_WINDOW_USAGE " [shell-command [argument ...]]",
|
||||
|
||||
.target = { 't', CMD_FIND_WINDOW, 0 },
|
||||
|
||||
|
@ -44,7 +44,7 @@ const struct cmd_entry cmd_run_shell_entry = {
|
||||
.name = "run-shell",
|
||||
.alias = "run",
|
||||
|
||||
.args = { "bd:Ct:c:", 0, 2, cmd_run_shell_args_parse },
|
||||
.args = { "bd:Ct:c:", 0, 1, cmd_run_shell_args_parse },
|
||||
.usage = "[-bC] [-c start-directory] [-d delay] " CMD_TARGET_PANE_USAGE
|
||||
" [shell-command]",
|
||||
|
||||
|
@ -35,7 +35,7 @@ const struct cmd_entry cmd_send_keys_entry = {
|
||||
|
||||
.args = { "c:FHKlMN:Rt:X", 0, -1, NULL },
|
||||
.usage = "[-FHKlMRX] [-c target-client] [-N repeat-count] "
|
||||
CMD_TARGET_PANE_USAGE " key ...",
|
||||
CMD_TARGET_PANE_USAGE " [key ...]",
|
||||
|
||||
.target = { 't', CMD_FIND_PANE, 0 },
|
||||
|
||||
|
@ -35,7 +35,7 @@ const struct cmd_entry cmd_set_buffer_entry = {
|
||||
|
||||
.args = { "ab:t:n:w", 0, 1, NULL },
|
||||
.usage = "[-aw] " CMD_BUFFER_USAGE " [-n new-buffer-name] "
|
||||
CMD_TARGET_CLIENT_USAGE " data",
|
||||
CMD_TARGET_CLIENT_USAGE " [data]",
|
||||
|
||||
.flags = CMD_AFTERHOOK|CMD_CLIENT_TFLAG|CMD_CLIENT_CANFAIL,
|
||||
.exec = cmd_set_buffer_exec
|
||||
|
@ -35,7 +35,7 @@ const struct cmd_entry cmd_set_environment_entry = {
|
||||
.alias = "setenv",
|
||||
|
||||
.args = { "Fhgrt:u", 1, 2, NULL },
|
||||
.usage = "[-Fhgru] " CMD_TARGET_SESSION_USAGE " name [value]",
|
||||
.usage = "[-Fhgru] " CMD_TARGET_SESSION_USAGE " variable [value]",
|
||||
|
||||
.target = { 't', CMD_FIND_SESSION, CMD_FIND_CANFAIL },
|
||||
|
||||
|
@ -39,7 +39,7 @@ const struct cmd_entry cmd_show_environment_entry = {
|
||||
.alias = "showenv",
|
||||
|
||||
.args = { "hgst:", 0, 1, NULL },
|
||||
.usage = "[-hgs] " CMD_TARGET_SESSION_USAGE " [name]",
|
||||
.usage = "[-hgs] " CMD_TARGET_SESSION_USAGE " [variable]",
|
||||
|
||||
.target = { 't', CMD_FIND_SESSION, CMD_FIND_CANFAIL },
|
||||
|
||||
|
@ -65,7 +65,7 @@ const struct cmd_entry cmd_show_hooks_entry = {
|
||||
.alias = NULL,
|
||||
|
||||
.args = { "gpt:w", 0, 1, NULL },
|
||||
.usage = "[-gpw] " CMD_TARGET_PANE_USAGE,
|
||||
.usage = "[-gpw] " CMD_TARGET_PANE_USAGE " [hook]",
|
||||
|
||||
.target = { 't', CMD_FIND_PANE, CMD_FIND_CANFAIL },
|
||||
|
||||
|
@ -32,7 +32,7 @@ const struct cmd_entry cmd_show_prompt_history_entry = {
|
||||
.alias = "showphist",
|
||||
|
||||
.args = { "T:", 0, 0, NULL },
|
||||
.usage = "[-T type]",
|
||||
.usage = "[-T prompt-type]",
|
||||
|
||||
.flags = CMD_AFTERHOOK,
|
||||
.exec = cmd_show_prompt_history_exec
|
||||
@ -43,7 +43,7 @@ const struct cmd_entry cmd_clear_prompt_history_entry = {
|
||||
.alias = "clearphist",
|
||||
|
||||
.args = { "T:", 0, 0, NULL },
|
||||
.usage = "[-T type]",
|
||||
.usage = "[-T prompt-type]",
|
||||
|
||||
.flags = CMD_AFTERHOOK,
|
||||
.exec = cmd_show_prompt_history_exec
|
||||
|
@ -42,7 +42,7 @@ const struct cmd_entry cmd_split_window_entry = {
|
||||
.args = { "bc:de:fF:hIl:p:Pt:vZ", 0, -1, NULL },
|
||||
.usage = "[-bdefhIPvZ] [-c start-directory] [-e environment] "
|
||||
"[-F format] [-l size] " CMD_TARGET_PANE_USAGE
|
||||
" [shell-command]",
|
||||
" [shell-command [argument ...]]",
|
||||
|
||||
.target = { 't', CMD_FIND_PANE, 0 },
|
||||
|
||||
|
102
tmux.1
102
tmux.1
@ -23,7 +23,7 @@
|
||||
.Sh SYNOPSIS
|
||||
.Nm tmux
|
||||
.Bk -words
|
||||
.Op Fl 2CDlNuVv
|
||||
.Op Fl 2CDhlNuVv
|
||||
.Op Fl c Ar shell-command
|
||||
.Op Fl f Ar file
|
||||
.Op Fl L Ar socket-name
|
||||
@ -156,6 +156,8 @@ command may be used to load a file later.
|
||||
.Nm
|
||||
shows any error messages from commands in configuration files in the first
|
||||
session created, and continues to process the rest of the configuration file.
|
||||
.It Fl h
|
||||
Print usage information and exit.
|
||||
.It Fl L Ar socket-name
|
||||
.Nm
|
||||
stores the server socket in a directory under
|
||||
@ -1248,7 +1250,7 @@ Lock all clients attached to
|
||||
.Op Fl t Ar group-name
|
||||
.Op Fl x Ar width
|
||||
.Op Fl y Ar height
|
||||
.Op Ar shell-command
|
||||
.Op Ar shell-command Op Ar argument ...
|
||||
.Xc
|
||||
.D1 Pq alias: Ic new
|
||||
Create a new session with name
|
||||
@ -3091,7 +3093,7 @@ option.
|
||||
.Op Fl F Ar format
|
||||
.Op Fl n Ar window-name
|
||||
.Op Fl t Ar target-window
|
||||
.Op Ar shell-command
|
||||
.Op Ar shell-command Op Ar argument ...
|
||||
.Xc
|
||||
.D1 Pq alias: Ic neww
|
||||
Create a new window.
|
||||
@ -3339,7 +3341,7 @@ to manual in the window options.
|
||||
.Op Fl c Ar start-directory
|
||||
.Op Fl e Ar environment
|
||||
.Op Fl t Ar target-pane
|
||||
.Op Ar shell-command
|
||||
.Op Ar shell-command Op Ar argument ...
|
||||
.Xc
|
||||
.D1 Pq alias: Ic respawnp
|
||||
Reactivate a pane in which the command has exited (see the
|
||||
@ -3365,7 +3367,7 @@ command.
|
||||
.Op Fl c Ar start-directory
|
||||
.Op Fl e Ar environment
|
||||
.Op Fl t Ar target-window
|
||||
.Op Ar shell-command
|
||||
.Op Ar shell-command Op Ar argument ...
|
||||
.Xc
|
||||
.D1 Pq alias: Ic respawnw
|
||||
Reactivate a window in which the command has exited (see the
|
||||
@ -3493,10 +3495,10 @@ the command behaves like
|
||||
.Op Fl bdfhIvPZ
|
||||
.Op Fl c Ar start-directory
|
||||
.Op Fl e Ar environment
|
||||
.Op Fl F Ar format
|
||||
.Op Fl l Ar size
|
||||
.Op Fl t Ar target-pane
|
||||
.Op Ar shell-command
|
||||
.Op Fl F Ar format
|
||||
.Op Ar shell-command Op Ar argument ...
|
||||
.Xc
|
||||
.D1 Pq alias: Ic splitw
|
||||
Create a new pane by splitting
|
||||
@ -3676,7 +3678,8 @@ Commands related to key bindings are as follows:
|
||||
.Op Fl nr
|
||||
.Op Fl N Ar note
|
||||
.Op Fl T Ar key-table
|
||||
.Ar key command Op Ar argument ...
|
||||
.Ar key
|
||||
.Op Ar command Op Ar argument ...
|
||||
.Xc
|
||||
.D1 Pq alias: Ic bind
|
||||
Bind key
|
||||
@ -3735,7 +3738,8 @@ command.
|
||||
.Tg lsk
|
||||
.It Xo Ic list-keys
|
||||
.Op Fl 1aN
|
||||
.Op Fl P Ar prefix-string Fl T Ar key-table
|
||||
.Op Fl P Ar prefix-string
|
||||
.Op Fl T Ar key-table
|
||||
.Op Ar key
|
||||
.Xc
|
||||
.D1 Pq alias: Ic lsk
|
||||
@ -3774,7 +3778,7 @@ lists the command for keys that do not have a note rather than skipping them.
|
||||
.Op Fl c Ar target-client
|
||||
.Op Fl N Ar repeat-count
|
||||
.Op Fl t Ar target-pane
|
||||
.Ar key ...
|
||||
.Op Ar key ...
|
||||
.Xc
|
||||
.D1 Pq alias: Ic send
|
||||
Send a key or keys to a window or client.
|
||||
@ -3852,12 +3856,44 @@ option prevents errors being returned.
|
||||
The appearance and behaviour of
|
||||
.Nm
|
||||
may be modified by changing the value of various options.
|
||||
There are four types of option:
|
||||
.Em server options ,
|
||||
.Em session options ,
|
||||
.Em window options ,
|
||||
Each option belongs to one or multiple scopes
|
||||
.Po
|
||||
.Em server ,
|
||||
.Em session ,
|
||||
.Em window ,
|
||||
and
|
||||
.Em pane options .
|
||||
.Em pane
|
||||
.Pc and has a type
|
||||
.Po
|
||||
.Em string ,
|
||||
.Em number ,
|
||||
.Em key ,
|
||||
.Em colour ,
|
||||
.Em flag ,
|
||||
.Em choice ,
|
||||
or
|
||||
.Em command
|
||||
.Pc . Values of
|
||||
.Em flag Ns -type
|
||||
options may be one of:
|
||||
.Ic 1 ,
|
||||
.Ic on ,
|
||||
.Ic yes ,
|
||||
.Ic 0 ,
|
||||
.Ic off ,
|
||||
or
|
||||
.Ic no ;
|
||||
for possible
|
||||
.Em choice
|
||||
values, see the respective option; for
|
||||
.Em key
|
||||
options, the
|
||||
.Sx KEY BINDINGS
|
||||
section; and for
|
||||
.Em colour
|
||||
options, the
|
||||
.Sx STYLES
|
||||
section.
|
||||
.Pp
|
||||
The
|
||||
.Nm
|
||||
@ -3921,13 +3957,14 @@ $ tmux show -wv @foo
|
||||
abc123
|
||||
.Ed
|
||||
.Pp
|
||||
Commands which set options are as follows:
|
||||
Options are managed with these commands:
|
||||
.Bl -tag -width Ds
|
||||
.Tg set
|
||||
.It Xo Ic set-option
|
||||
.Op Fl aFgopqsuUw
|
||||
.Op Fl t Ar target-pane
|
||||
.Ar option Ar value
|
||||
.Ar option
|
||||
.Op Ar value
|
||||
.Xc
|
||||
.D1 Pq alias: Ic set
|
||||
Set a pane option with
|
||||
@ -3943,7 +3980,7 @@ or
|
||||
.Fl s
|
||||
may be unnecessary -
|
||||
.Nm
|
||||
will infer the type from the option name, assuming
|
||||
will infer the scope from the option name, assuming
|
||||
.Fl w
|
||||
for pane options.
|
||||
If
|
||||
@ -3964,8 +4001,9 @@ unsets an option (like
|
||||
but if the option is a pane option also unsets the option on any panes in the
|
||||
window.
|
||||
.Ar value
|
||||
depends on the option and may be a number, a string, or a flag (on, off, or
|
||||
omitted to toggle).
|
||||
depends on the option and its type and can be omitted for flag and choice
|
||||
options to toggle its value (choice options toggle between the first two
|
||||
choices).
|
||||
.Pp
|
||||
The
|
||||
.Fl o
|
||||
@ -4020,7 +4058,7 @@ or
|
||||
.Fl s
|
||||
may be unnecessary -
|
||||
.Nm
|
||||
will infer the type from the option name, assuming
|
||||
will infer the scope from the option name, assuming
|
||||
.Fl w
|
||||
for pane options.
|
||||
Global session or window options are listed if
|
||||
@ -5467,7 +5505,7 @@ Hooks are managed with these commands:
|
||||
.Op Fl agpRuw
|
||||
.Op Fl t Ar target-pane
|
||||
.Ar hook-name
|
||||
.Ar command
|
||||
.Op Ar command
|
||||
.Xc
|
||||
Without
|
||||
.Fl R ,
|
||||
@ -5488,6 +5526,7 @@ immediately.
|
||||
.It Xo Ic show-hooks
|
||||
.Op Fl gpw
|
||||
.Op Fl t Ar target-pane
|
||||
.Op Ar hook
|
||||
.Xc
|
||||
Shows hooks.
|
||||
The flags are the same as for
|
||||
@ -5578,7 +5617,8 @@ for example
|
||||
.Ql #{session_name} .
|
||||
The possible variables are listed in the table below, or the name of a
|
||||
.Nm
|
||||
option may be used for an option's value.
|
||||
option may be used for an option's value, or the name of an environment
|
||||
variable.
|
||||
Some variables have a shorter alias such as
|
||||
.Ql #S ;
|
||||
.Ql ##
|
||||
@ -6148,9 +6188,10 @@ The colour is one of:
|
||||
.Ic cyan ,
|
||||
.Ic white ;
|
||||
if supported the bright variants
|
||||
.Ic brightblack ,
|
||||
.Ic brightred ,
|
||||
.Ic brightgreen ,
|
||||
.Ic brightyellow ;
|
||||
.Eo ...;
|
||||
.Ec
|
||||
.Ic colour0
|
||||
to
|
||||
.Ic colour255
|
||||
@ -6386,7 +6427,7 @@ Commands to alter and view the environment are:
|
||||
.It Xo Ic set-environment
|
||||
.Op Fl Fhgru
|
||||
.Op Fl t Ar target-session
|
||||
.Ar name Op Ar value
|
||||
.Ar variable Op Ar value
|
||||
.Xc
|
||||
.D1 Pq alias: Ic setenv
|
||||
Set or unset an environment variable.
|
||||
@ -6663,7 +6704,8 @@ the default is
|
||||
.Op Fl y Ar position
|
||||
.Ar name
|
||||
.Ar key
|
||||
.Ar command Op Ar argument ...
|
||||
.Ar command
|
||||
.Op Ar name key command ...
|
||||
.Xc
|
||||
.D1 Pq alias: Ic menu
|
||||
Display a menu on
|
||||
@ -6836,12 +6878,14 @@ forwards any input read from stdin to the empty pane given by
|
||||
.Op Fl w Ar width
|
||||
.Op Fl x Ar position
|
||||
.Op Fl y Ar position
|
||||
.Op Ar shell-command
|
||||
.Op Ar shell-command Op Ar argument ...
|
||||
.Xc
|
||||
.D1 Pq alias: Ic popup
|
||||
Display a popup running
|
||||
.Ar shell-command
|
||||
on
|
||||
(or
|
||||
.Ar default-command
|
||||
when omitted) on
|
||||
.Ar target-client .
|
||||
A popup is a rectangular box drawn over the top of any panes.
|
||||
Panes are not updated while a popup is present.
|
||||
|
20
tmux.c
20
tmux.c
@ -43,20 +43,20 @@ const char *socket_path;
|
||||
int ptm_fd = -1;
|
||||
const char *shell_command;
|
||||
|
||||
static __dead void usage(void);
|
||||
static __dead void usage(int);
|
||||
static char *make_label(const char *, char **);
|
||||
|
||||
static int areshell(const char *);
|
||||
static const char *getshell(void);
|
||||
|
||||
static __dead void
|
||||
usage(void)
|
||||
usage(int status)
|
||||
{
|
||||
fprintf(stderr,
|
||||
"usage: %s [-2CDlNuVv] [-c shell-command] [-f file] [-L socket-name]\n"
|
||||
fprintf(status ? stderr : stdout,
|
||||
"usage: %s [-2CDhlNuVv] [-c shell-command] [-f file] [-L socket-name]\n"
|
||||
" [-S socket-path] [-T features] [command [flags]]\n",
|
||||
getprogname());
|
||||
exit(1);
|
||||
exit(status);
|
||||
}
|
||||
|
||||
static const char *
|
||||
@ -379,7 +379,7 @@ main(int argc, char **argv)
|
||||
environ_set(global_environ, "PWD", 0, "%s", cwd);
|
||||
expand_paths(TMUX_CONF, &cfg_files, &cfg_nfiles, 1);
|
||||
|
||||
while ((opt = getopt(argc, argv, "2c:CDdf:lL:NqS:T:uUvV")) != -1) {
|
||||
while ((opt = getopt(argc, argv, "2c:CDdf:hlL:NqS:T:uUvV")) != -1) {
|
||||
switch (opt) {
|
||||
case '2':
|
||||
tty_add_features(&feat, "256", ":,");
|
||||
@ -408,6 +408,8 @@ main(int argc, char **argv)
|
||||
cfg_files[cfg_nfiles++] = xstrdup(optarg);
|
||||
cfg_quiet = 0;
|
||||
break;
|
||||
case 'h':
|
||||
usage(0);
|
||||
case 'V':
|
||||
printf("tmux %s\n", getversion());
|
||||
exit(0);
|
||||
@ -437,16 +439,16 @@ main(int argc, char **argv)
|
||||
log_add_level();
|
||||
break;
|
||||
default:
|
||||
usage();
|
||||
usage(1);
|
||||
}
|
||||
}
|
||||
argc -= optind;
|
||||
argv += optind;
|
||||
|
||||
if (shell_command != NULL && argc != 0)
|
||||
usage();
|
||||
usage(1);
|
||||
if ((flags & CLIENT_NOFORK) && argc != 0)
|
||||
usage();
|
||||
usage(1);
|
||||
|
||||
if ((ptm_fd = getptmfd()) == -1)
|
||||
err(1, "getptmfd");
|
||||
|
Loading…
Reference in New Issue
Block a user