Internal Constants¶
The libtmux._internal.constants module documents private constants used
inside libtmux.
Warning
Be careful with these! These constants are private, internal as they’re not covered by version policies. They can break or be removed between minor versions!
If you need a data structure here made public or stabilized please file an issue.
Internal constants.
Bases:
SkipDefaultFieldsReprMixinContainer for tmux server options.
Bases:
SkipDefaultFieldsReprMixinContainer for tmux session options.
Bases:
SkipDefaultFieldsReprMixinContainer for tmux window options.
-
attribute
Bases:
SkipDefaultFieldsReprMixinContainer for tmux pane options.
Bases:
ServerOptions,SessionOptions,WindowOptions,PaneOptions,SkipDefaultFieldsReprMixinContainer for all tmux options (server, session, window, and pane).
-
attribute
Bases:
SkipDefaultFieldsReprMixintmux hooks data structure.
Parses tmux hook output into typed
SparseArrayfields, preserving array indices for hooks that can have multiple commands at different indices.Examples
Parse raw tmux hook output:
>>> from libtmux._internal.constants import Hooks
>>> raw = [ ... "session-renamed[0] set-option -g status-left-style bg=red", ... "session-renamed[1] display-message 'session renamed'", ... ] >>> hooks = Hooks.from_stdout(raw)
Access individual hook commands by index:
>>> hooks.session_renamed[0] 'set-option -g status-left-style bg=red' >>> hooks.session_renamed[1] "display-message 'session renamed'"
Get all commands as a list (sorted by index):
>>> hooks.session_renamed.as_list() ['set-option -g status-left-style bg=red', "display-message 'session renamed'"]
Sparse indices are preserved (gaps in index numbers):
>>> raw_sparse = [ ... "pane-focus-in[0] refresh-client", ... "pane-focus-in[5] display-message 'focus'", ... ] >>> hooks_sparse = Hooks.from_stdout(raw_sparse) >>> 0 in hooks_sparse.pane_focus_in True >>> 5 in hooks_sparse.pane_focus_in True >>> 3 in hooks_sparse.pane_focus_in False >>> sorted(hooks_sparse.pane_focus_in.keys()) [0, 5]
Iterate over values in index order:
>>> for cmd in hooks_sparse.pane_focus_in.iter_values(): ... print(cmd) refresh-client display-message 'focus'
Multiple hook types in one parse:
>>> raw_multi = [ ... "after-new-window[0] select-pane -t 0", ... "after-new-window[1] send-keys 'clear' Enter", ... "window-renamed[0] refresh-client -S", ... ] >>> hooks_multi = Hooks.from_stdout(raw_multi) >>> len(hooks_multi.after_new_window) 2 >>> len(hooks_multi.window_renamed) 1
Parse raw tmux hook output into a Hooks instance.
The parsing pipeline:
parse_options_to_dict()- Parse “key value” lines into dictexplode_arrays(force_array=True)- Extract array indices into SparseArrayexplode_complex()- Handle complex option typesRename keys:
session-renamed→session_renamed
Examples
Basic parsing:
>>> from libtmux._internal.constants import Hooks
>>> raw = ["session-renamed[0] display-message 'renamed'"] >>> hooks = Hooks.from_stdout(raw) >>> hooks.session_renamed[0] "display-message 'renamed'"
The pipeline preserves sparse indices:
>>> raw = [ ... "after-select-window[0] refresh-client", ... "after-select-window[10] display-message 'selected'", ... ] >>> hooks = Hooks.from_stdout(raw) >>> sorted(hooks.after_select_window.keys()) [0, 10]
Empty input returns empty SparseArrays:
>>> hooks_empty = Hooks.from_stdout([]) >>> len(hooks_empty.session_renamed) 0 >>> hooks_empty.session_renamed.as_list() []
-
__init__(alert_activity=¶
SparseArray(), alert_bell=SparseArray(), alert_silence=SparseArray(), client_active=SparseArray(), client_attached=SparseArray(), client_detached=SparseArray(), client_focus_in=SparseArray(), client_focus_out=SparseArray(), client_resized=SparseArray(), client_session_changed=SparseArray(), pane_died=SparseArray(), pane_exited=SparseArray(), pane_focus_in=SparseArray(), pane_focus_out=SparseArray(), pane_set_clipboard=SparseArray(), session_created=SparseArray(), session_closed=SparseArray(), session_renamed=SparseArray(), window_linked=SparseArray(), window_renamed=SparseArray(), window_resized=SparseArray(), window_unlinked=SparseArray(), pane_title_changed=SparseArray(), client_light_theme=SparseArray(), client_dark_theme=SparseArray(), client_detached_control=SparseArray(), client_session_changed_control=SparseArray(), config_error=SparseArray(), continue_control=SparseArray(), exit_control=SparseArray(), extended_output=SparseArray(), layout_change=SparseArray(), message_control=SparseArray(), output=SparseArray(), pane_mode_changed=SparseArray(), paste_buffer_changed=SparseArray(), paste_buffer_deleted=SparseArray(), pause_control=SparseArray(), session_changed_control=SparseArray(), session_renamed_control=SparseArray(), session_window_changed=SparseArray(), sessions_changed=SparseArray(), subscription_changed=SparseArray(), unlinked_window_add=SparseArray(), unlinked_window_close=SparseArray(), unlinked_window_renamed=SparseArray(), window_add=SparseArray(), window_close=SparseArray(), window_layout_changed=SparseArray(), window_pane_changed=SparseArray(), window_renamed_control=SparseArray(), after_bind_key=SparseArray(), after_capture_pane=SparseArray(), after_copy_mode=SparseArray(), after_display_message=SparseArray(), after_display_panes=SparseArray(), after_kill_pane=SparseArray(), after_list_buffers=SparseArray(), after_list_clients=SparseArray(), after_list_keys=SparseArray(), after_list_panes=SparseArray(), after_list_sessions=SparseArray(), after_list_windows=SparseArray(), after_load_buffer=SparseArray(), after_lock_server=SparseArray(), after_new_session=SparseArray(), after_new_window=SparseArray(), after_paste_buffer=SparseArray(), after_pipe_pane=SparseArray(), after_queue=SparseArray(), after_refresh_client=SparseArray(), after_rename_session=SparseArray(), after_rename_window=SparseArray(), after_resize_pane=SparseArray(), after_resize_window=SparseArray(), after_save_buffer=SparseArray(), after_select_layout=SparseArray(), after_select_pane=SparseArray(), after_select_window=SparseArray(), after_send_keys=SparseArray(), after_set_buffer=SparseArray(), after_set_environment=SparseArray(), after_set_hook=SparseArray(), after_set_option=SparseArray(), after_show_environment=SparseArray(), after_show_messages=SparseArray(), after_show_options=SparseArray(), after_split_window=SparseArray(), after_unbind_key=SparseArray(), command_error=SparseArray())method[source]method[source]__init__(alert_activity=¶SparseArray(), alert_bell=SparseArray(), alert_silence=SparseArray(), client_active=SparseArray(), client_attached=SparseArray(), client_detached=SparseArray(), client_focus_in=SparseArray(), client_focus_out=SparseArray(), client_resized=SparseArray(), client_session_changed=SparseArray(), pane_died=SparseArray(), pane_exited=SparseArray(), pane_focus_in=SparseArray(), pane_focus_out=SparseArray(), pane_set_clipboard=SparseArray(), session_created=SparseArray(), session_closed=SparseArray(), session_renamed=SparseArray(), window_linked=SparseArray(), window_renamed=SparseArray(), window_resized=SparseArray(), window_unlinked=SparseArray(), pane_title_changed=SparseArray(), client_light_theme=SparseArray(), client_dark_theme=SparseArray(), client_detached_control=SparseArray(), client_session_changed_control=SparseArray(), config_error=SparseArray(), continue_control=SparseArray(), exit_control=SparseArray(), extended_output=SparseArray(), layout_change=SparseArray(), message_control=SparseArray(), output=SparseArray(), pane_mode_changed=SparseArray(), paste_buffer_changed=SparseArray(), paste_buffer_deleted=SparseArray(), pause_control=SparseArray(), session_changed_control=SparseArray(), session_renamed_control=SparseArray(), session_window_changed=SparseArray(), sessions_changed=SparseArray(), subscription_changed=SparseArray(), unlinked_window_add=SparseArray(), unlinked_window_close=SparseArray(), unlinked_window_renamed=SparseArray(), window_add=SparseArray(), window_close=SparseArray(), window_layout_changed=SparseArray(), window_pane_changed=SparseArray(), window_renamed_control=SparseArray(), after_bind_key=SparseArray(), after_capture_pane=SparseArray(), after_copy_mode=SparseArray(), after_display_message=SparseArray(), after_display_panes=SparseArray(), after_kill_pane=SparseArray(), after_list_buffers=SparseArray(), after_list_clients=SparseArray(), after_list_keys=SparseArray(), after_list_panes=SparseArray(), after_list_sessions=SparseArray(), after_list_windows=SparseArray(), after_load_buffer=SparseArray(), after_lock_server=SparseArray(), after_new_session=SparseArray(), after_new_window=SparseArray(), after_paste_buffer=SparseArray(), after_pipe_pane=SparseArray(), after_queue=SparseArray(), after_refresh_client=SparseArray(), after_rename_session=SparseArray(), after_rename_window=SparseArray(), after_resize_pane=SparseArray(), after_resize_window=SparseArray(), after_save_buffer=SparseArray(), after_select_layout=SparseArray(), after_select_pane=SparseArray(), after_select_window=SparseArray(), after_send_keys=SparseArray(), after_set_buffer=SparseArray(), after_set_environment=SparseArray(), after_set_hook=SparseArray(), after_set_option=SparseArray(), after_show_environment=SparseArray(), after_show_messages=SparseArray(), after_show_options=SparseArray(), after_split_window=SparseArray(), after_unbind_key=SparseArray(), command_error=SparseArray()) - Parameters:
alert_activity (
SparseArray[str])alert_bell (
SparseArray[str])alert_silence (
SparseArray[str])client_active (
SparseArray[str])client_attached (
SparseArray[str])client_detached (
SparseArray[str])client_focus_in (
SparseArray[str])client_focus_out (
SparseArray[str])client_resized (
SparseArray[str])client_session_changed (
SparseArray[str])pane_died (
SparseArray[str])pane_exited (
SparseArray[str])pane_focus_in (
SparseArray[str])pane_focus_out (
SparseArray[str])pane_set_clipboard (
SparseArray[str])session_created (
SparseArray[str])session_closed (
SparseArray[str])session_renamed (
SparseArray[str])window_linked (
SparseArray[str])window_renamed (
SparseArray[str])window_resized (
SparseArray[str])window_unlinked (
SparseArray[str])pane_title_changed (
SparseArray[str])client_light_theme (
SparseArray[str])client_dark_theme (
SparseArray[str])client_detached_control (
SparseArray[str])client_session_changed_control (
SparseArray[str])config_error (
SparseArray[str])continue_control (
SparseArray[str])exit_control (
SparseArray[str])extended_output (
SparseArray[str])layout_change (
SparseArray[str])message_control (
SparseArray[str])output (
SparseArray[str])pane_mode_changed (
SparseArray[str])paste_buffer_changed (
SparseArray[str])paste_buffer_deleted (
SparseArray[str])pause_control (
SparseArray[str])session_changed_control (
SparseArray[str])session_renamed_control (
SparseArray[str])session_window_changed (
SparseArray[str])sessions_changed (
SparseArray[str])subscription_changed (
SparseArray[str])unlinked_window_add (
SparseArray[str])unlinked_window_close (
SparseArray[str])unlinked_window_renamed (
SparseArray[str])window_add (
SparseArray[str])window_close (
SparseArray[str])window_layout_changed (
SparseArray[str])window_pane_changed (
SparseArray[str])window_renamed_control (
SparseArray[str])after_bind_key (
SparseArray[str])after_capture_pane (
SparseArray[str])after_copy_mode (
SparseArray[str])after_display_message (
SparseArray[str])after_display_panes (
SparseArray[str])after_kill_pane (
SparseArray[str])after_list_buffers (
SparseArray[str])after_list_clients (
SparseArray[str])after_list_keys (
SparseArray[str])after_list_panes (
SparseArray[str])after_list_sessions (
SparseArray[str])after_list_windows (
SparseArray[str])after_load_buffer (
SparseArray[str])after_lock_server (
SparseArray[str])after_new_session (
SparseArray[str])after_new_window (
SparseArray[str])after_paste_buffer (
SparseArray[str])after_pipe_pane (
SparseArray[str])after_queue (
SparseArray[str])after_refresh_client (
SparseArray[str])after_rename_session (
SparseArray[str])after_rename_window (
SparseArray[str])after_resize_pane (
SparseArray[str])after_resize_window (
SparseArray[str])after_save_buffer (
SparseArray[str])after_select_layout (
SparseArray[str])after_select_pane (
SparseArray[str])after_select_window (
SparseArray[str])after_send_keys (
SparseArray[str])after_set_buffer (
SparseArray[str])after_set_environment (
SparseArray[str])after_set_hook (
SparseArray[str])after_set_option (
SparseArray[str])after_show_environment (
SparseArray[str])after_show_messages (
SparseArray[str])after_show_options (
SparseArray[str])after_split_window (
SparseArray[str])after_unbind_key (
SparseArray[str])command_error (
SparseArray[str])
- Return type: