Core Library0.xAPI Reference

Choose documentation 3

v0.1.1

Current version

v0.1.1
English

Early release libtmux is released, and its APIs may still change between releases. This site's structure and URLs may change too.

method libtmux-ruby v0.1.1

Session.list_window_links

Behavior: Live acquisition.

Source and package
Qualified name
LibTmux::Session#list_window_links
Module
LibTmux
Declared in
Session
Package
libtmux
Source
gems/libtmux/lib/libtmux/operations.rb

Description#

Behavior contract: Live acquisition.

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/cat and /bin/sh available. In an empty directory, save this Gemfile:

source "https://rubygems.org"
gem "libtmux", "0.1.1"

Save this complete program as link_window.rb. Its Server.start() block owns a private tmux server and stops it on exit, including after an error. View source

# frozen_string_literal: true
begin
# docs:begin main
require "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_links
puts "indexes: #{links.map(&:index).join(', ')}"
puts "windows: #{links.map { |link| link.window.id }.uniq.join(', ')}"
end
# docs:end main
rescue StandardError => error
warn "#{error.class}: #{error.message}"
exit 1
end

Install the gem and run the program. An operation or cleanup error makes it exit unsuccessfully:

Terminal window
$ bundle install && \
bundle exec ruby link_window.rb

Expected output:

indexes: 0, 4, 9
windows: @0
Parameters

tmux command#

The tmux commands behind list_window_links.

tmux C API#

The C declarations in tmux that implement these commands.

Esc

Type to search.

Reference previewOpen reference