Session.link_window
Behavior: Window links.
Source and package
- def link_window: ( ::Lib
Tmux:: , index: ::Integer, ?timeout: ::Numeric, ?cancel: untyped ) -> ::LibEntity Ref Tmux:: Command Result -
Description#
Behavior contract: Window links.
Examples#
Link one window at two more indexes of its session and list the three links that share one window ID. Use Ruby 3.3 or newer with Bundler, and tmux 3.3a or newer, on Unix with
/bin/catand/bin/shavailable. In an empty directory, save thisGemfile:source "https://rubygems.org"gem "libtmux", "0.1.1"Save this complete program as
link_window.rb. ItsServer.start()block owns a private tmux server and stops it on exit, including after an error. View source# frozen_string_literal: truebegin# docs:begin mainrequire "libtmux"LibTmux::Server.start do |server|session = server.new_session(name: "links", command: ["/bin/cat"])window = session.list_windows.fetch(0)session.link_window(window.ref, index: 4)session.link_window(window.ref, index: 9)links = session.list_window_linksputs "indexes: #{links.map(&:index).join(', ')}"puts "windows: #{links.map { |link| link.window.id }.uniq.join(', ')}"end# docs:end mainrescue StandardError => errorwarn "#{error.class}: #{error.message}"exit 1endInstall the gem and run the program. An operation or cleanup error makes it exit unsuccessfully:
Terminal window $ bundle install && \bundle exec ruby link_window.rbExpected output:
indexes: 0, 4, 9windows: @0
tmux command#
The tmux commands behind link_window.
tmux C API#
The C declarations in tmux that implement these commands.
Guides#
Pages that discuss link_window.
In other ports#
Link a window into another session
| Language | Equivalent |
|---|---|
| Python | libtmux |
| Lua | libtmux |
| TypeScript | window |
| Rust | window |
| Go | tmux |
| Java | io |
| C# | Lib |
| C++ | libtmux:: |
| Swift | Server |
No equivalent is recorded in PowerShell, Julia, Elixir, Kotlin, Scala or F#.