Server.set_hook
set_hook(name => hook_or_hook[index], command => explicit_tmux_command_string, target => session_id?, global => boolean?).
Source and package
-
Description#
Set a native hook or sparse hook[index] entry for an explicit session target or global scope. command is deliberately a tmux command string, unlike literal process argv.
"show_hooks"preserves native indexes/quoting rather than inventing a flattened hook list.Returns
undefafter command acceptance. Performs I/O; failures propagate throughLibTmux::X. Captured objects are not modified.$server->set_hook(target => $session->id, name => 'after-select-window[3]', command => 'display-message hook');Methods#
tmux command#
The tmux commands behind set_hook.
tmux C API#
The C declarations in tmux that implement these commands.
tmux hooks#
Events that run tmux commands, with the scope each hook belongs to and where tmux fires it.
In other ports#
Bind a command to a global hook
| Language | Equivalent |
|---|---|
| Python | libtmux |
| Lua | libtmux |
| Haskell | No public Haskell equivalent is implemented; the current modules expose scalar values and version parsing. |
| TypeScript | server |
| Rust | server |
| Go | no equivalent on Server |
| Java | reached through Server.hooks, whose Hooks carries the write |
| C# | reached through Server.Hooks, whose TmuxHooks carries the write |
| C++ | no equivalent on Server |
| Swift | Server |
| OCaml | Libtmux |
No equivalent is recorded in Ruby, PowerShell, Julia, Erlang, Elixir, Common Lisp, Clojure, Kotlin, Scala or F#.
Bind a command to a session hook
| Language | Equivalent |
|---|---|
| Python | libtmux |
| Lua | libtmux |
| Haskell | No public Haskell equivalent is implemented; the current modules expose scalar values and version parsing. |
| TypeScript | session |
| Rust | session |
| Go | tmux |
| Java | reached through Session.hooks, whose Hooks carries the write |
| C# | reached through Session.Hooks, whose TmuxHooks carries the write |
| C++ | libtmux:: |
| Swift | Server |
| OCaml | Libtmux |
No equivalent is recorded in Ruby, PowerShell, Julia, Erlang, Elixir, Common Lisp, Clojure, Kotlin, Scala or F#.