Client.set_hook
Set a hook to a nonempty command list. Without an index, replace the whole hook array, or fill the lowest free index when appending. An explicit @name custom hook stores command text as a user option; it requires complete replacement and has no array indexes. read_hook returns its Libtmux.Options.Text value; bulk hook capture includes built-ins. Commands may cause arbitrary tmux effects when triggered. Hooks that print output are outside the supported control transport contract.
Source and package
- Qualified name
-
Libtmux_eio .Client. set _hook - Module
- Libtmux_eio
- Declared in
Client- Package
- libtmux-eio
- Source
- eio/libtmux_eio.mli
- Other languages
- Perlmethod Erlang PowerShell Julia Elixir Haskell Common Lisp Python Ruby LuaTypeScriptRustGo Java C# C++Swift Kotlin Scala F# Clojure
- val set_hook : ?index:int -> ?append:bool -> t -> Libtmux
.Options -> name:string -> Libtmux.scope .Hook list -> (unit, Libtmux.command .Error ) result.t -
Public owner:
Libtmux_eio
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 |
| Perl | Lib Use global => true; command is an explicit native tmux command string. |
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 |
| Perl | Lib Use an explicit session target ID; command is an explicit native tmux command string. |
No equivalent is recorded in Ruby, PowerShell, Julia, Erlang, Elixir, Common Lisp, Clojure, Kotlin, Scala or F#.
Bind a command to a window hook
| Language | Equivalent |
|---|---|
| Python | libtmux |
| Lua | libtmux |
| Haskell | No public Haskell equivalent is implemented; the current modules expose scalar values and version parsing. |
| TypeScript | window |
| Rust | window |
| Go | tmux |
| Java | reached through Window.hooks, whose Hooks carries the write |
| C# | reached through Window.Hooks, whose TmuxHooks carries the write |
| C++ | no equivalent on Window |
| Swift | Server |
| Perl | No dedicated equivalent in the selected Perl surface. Explicit Server::cmd remains available for native tmux commands. |
No equivalent is recorded in Ruby, PowerShell, Julia, Erlang, Elixir, Common Lisp, Clojure, Kotlin, Scala or F#.
Bind a command to a pane hook
| Language | Equivalent |
|---|---|
| Python | libtmux |
| Lua | libtmux |
| Haskell | No public Haskell equivalent is implemented; the current modules expose scalar values and version parsing. |
| TypeScript | pane |
| Rust | pane |
| Go | tmux |
| Java | reached through Pane.hooks, whose Hooks carries the write |
| C# | reached through Pane.Hooks, whose TmuxHooks carries the write |
| C++ | no equivalent on Pane |
| Swift | Server |
| Perl | No dedicated equivalent in the selected Perl surface. Explicit Server::cmd remains available for native tmux commands. |
No equivalent is recorded in Ruby, PowerShell, Julia, Erlang, Elixir, Common Lisp, Clojure, Kotlin, Scala or F#.