id = "tmux" name = "tmux" homepage = "https://github.com/tmux/tmux/wiki" description = "A terminal multiplexer: many terminals in one screen, in sessions that outlive the window." icon = "theSVG:tmux" executables = ["tmux"] platforms = ["macos", "linux"] [dotfiles] # tmux(1) FILES: ~/.tmux.conf, which tmux hard-codes in the home directory, and # $XDG_CONFIG_HOME/tmux/tmux.conf — the configuration base directory, so the # second is written as `[configHome]` rather than as the XDG default. paths = ["~/.tmux.conf", "[configHome]/tmux/"] # tpm and tmux-resurrect check out git repos and dump session state below the # config directory; neither is configuration. exclude = [ "~/.tmux/plugins/", "[configHome]/tmux/plugins/", "[configHome]/tmux/resurrect/", ] secret = [] # Both name a program by absolute path — /bin/bash on one box, # /opt/homebrew/bin/fish on the next, a wrapper command in default-command. # What the line records is which program *this box* has installed, not what # every machine of its OS and architecture has: send /opt/homebrew/bin/fish to # a same-class Mac without fish and tmux does not open a pane at all. So the # lines are kept for rebuilding this machine and applied to no other. [[dotfiles.machine_lines]] file = "~/.tmux.conf" match = { prefix = ["set -g default-shell", "set -g default-command"] } scope = "backup" [commands] format = 1 label = "tmux sessions" description = "Create, list, attach to and kill tmux sessions. Windows, panes and key bindings are left out." quality = "ai-draft" base = "fig:tmux" parser = { end_of_options = "--", interleave = "permute", long_equals = false, short_attached = true, short_bundles = true } [[commands.source]] id = "fig" kind = "completion" url = "https://github.com/withfig/autocomplete/blob/master/src/tmux.ts" license = "MIT" [[commands.subcommand]] path = ["new"] label = "New session" description = "Create a new session." [[commands.subcommand.source]] id = "fig" kind = "completion" url = "https://github.com/withfig/autocomplete/blob/master/src/tmux.ts" license = "MIT" [[commands.subcommand.field]] id = "session_name" label = "Session name" type = "string" option = ["-s"] sources = ["fig"] [[commands.subcommand.field]] id = "window_name" label = "First window name" type = "string" option = ["-n"] sources = ["fig"] [[commands.subcommand.field]] id = "start_dir" label = "Start directory" type = "path" option = ["-c"] path = { kind = "directory", role = "input", must_exist = true } sources = ["fig"] [[commands.subcommand.field]] id = "detached" label = "Detached (do not attach)" type = "boolean" option = ["-d"] sources = ["fig"] [[commands.subcommand.field]] id = "attach_if_exists" label = "Attach if it exists" type = "boolean" option = ["-A"] sources = ["fig"] [[commands.subcommand.field]] id = "command" label = "Shell command" type = "string" position = 0 sources = ["fig"] [[commands.subcommand.task]] id = "new" label = "Named session" fields = ["session_name", "start_dir"] required = ["session_name"] [[commands.subcommand.task]] id = "bg" label = "Detached session" fields = ["session_name", "detached", "command"] required = ["session_name"] set = { detached = [true] } [[commands.subcommand.group]] id = "basic" label = "Basic" fields = ["session_name", "start_dir", "detached", "attach_if_exists"] [[commands.subcommand.group]] id = "advanced" label = "Advanced" fields = ["window_name", "command"] [[commands.subcommand]] path = ["a"] label = "Attach to session" description = "Attach to the last session or a named one." [[commands.subcommand.source]] id = "fig" kind = "completion" url = "https://github.com/withfig/autocomplete/blob/master/src/tmux.ts" license = "MIT" [[commands.subcommand.field]] id = "target" label = "Target session" type = "string" option = ["-t"] sources = ["fig"] [[commands.subcommand.field]] id = "detach_others" label = "Detach other clients" type = "boolean" option = ["-d"] sources = ["fig"] [[commands.subcommand.task]] id = "attach" label = "Attach to session" fields = ["target", "detach_others"] required = ["target"] [[commands.subcommand.group]] id = "basic" label = "Basic" fields = ["target", "detach_others"] [[commands.subcommand]] path = ["ls"] label = "List sessions" description = "List sessions on the server." [[commands.subcommand.source]] id = "fig" kind = "completion" url = "https://github.com/withfig/autocomplete/blob/master/src/tmux.ts" license = "MIT" [[commands.subcommand.field]] id = "format" label = "Format" type = "string" option = ["-F"] sources = ["fig"] [[commands.subcommand.field]] id = "filter" label = "Filter" type = "string" option = ["-f"] sources = ["fig"] [[commands.subcommand.task]] id = "ls" label = "List sessions" fields = [] required = [] [[commands.subcommand.group]] id = "basic" label = "Basic" fields = ["format", "filter"] [[commands.subcommand]] path = ["kill-ses"] label = "Kill session" description = "Destroy a session. Running programs in it are terminated." [[commands.subcommand.source]] id = "fig" kind = "completion" url = "https://github.com/withfig/autocomplete/blob/master/src/tmux.ts" license = "MIT" [[commands.subcommand.field]] id = "target" label = "Target session" type = "string" option = ["-t"] effect = "delete" sources = ["fig"] [[commands.subcommand.field]] id = "all_others" label = "Kill all but the target" type = "boolean" option = ["-a"] effect = "delete" sources = ["fig"] [[commands.subcommand.task]] id = "kill" label = "Kill session" fields = ["target"] required = ["target"] [[commands.subcommand.group]] id = "basic" label = "Basic" fields = ["target", "all_others"]