Core LibrarystableTopics

Choose documentation 3

latest

Current version

latest
English

Prerelease This site documents an alpha of libtmux. Its structure, URLs and APIs are subject to change.

Edit this page on GitHub

Options and hooks

Use options to change tmux behavior, such as automatic-rename or the status-line format. Use hooks to run commands on events such as session-renamed or after-split-window. Choose the scope supported by the option or hook.

Reading and writing options

Read, set, or unset an option at its supported scope. Distinguish a local override from the effective value inherited from a parent scope.

Read all (this scope): pane.show_options()

Read effective/inherited: pane.show_option(name, global_=True) reaches the global fallback explicitly; no separate “resolved” call

Set: pane.set_option(name, value)

Unset: pane.unset_option(name)

Examples

After a successful write completes, read the option to obtain its updated value. The following examples set, read, and unset an option:

pane.set_option("automatic-rename", "off")
pane.show_options()
pane.unset_option("automatic-rename")

Hooks

Set: pane.set_hook(name, command)

Unset: pane.unset_hook(name)

List: pane.show_hook(name), pane.show_hooks() (all)

Run now, without the event: Not listed.

Examples

tmux stores hook commands in indexed arrays, such as after-new-window[0].

Include the array index in the hook name.

Set and list a session hook. The next section explains window and pane scope limitations:

session.set_hook("session-renamed", "display-message 'renamed'")
session.show_hooks()

Supported hook scopes

tmux stores hooks globally or per session. Accepted set-hook -w or -p flags do not imply a separate window or pane hook table, and show-hooks does not provide a corresponding listing. Check the event’s supported scope if a hook is accepted but never fires.

Options have window and pane tables of their own. The hook-scope limitation does not apply to ordinary options.

tmux version compatibility

The compatibility notes list these tmux requirements:

FeatureMinimum tmux
All options/hooks features3.2+
Window/pane hook scope flags (-w, -p) accepted3.2+; see the supported-scope caveat above
client-active, window-resized hooks3.3+
pane-title-changed hook3.2+

The pane-title-changed hook was added before tmux 3.2. It is present in both the documented 3.2a source and the 3.7c source.

Check the library’s supported tmux versions before using a version-specific option or hook.

tmux manual and source

The tmux manual defines option scopes and inherited reads. Unsetting a local value restores inheritance. Hook programs run in tmux when their event occurs; see the hook implementation.

Esc

Type to search.

Reference preview Open reference