Glossary

tmuxp

A tool to manage workspaces with tmux. A pythonic abstraction of tmux.

tmux
tmux(1)

The tmux binary. Used internally to distinguish tmuxp is only a layer on top of tmux.

kaptan

configuration management library, see kaptan on github.

Server

Tmux runs in the background of your system as a process.

The server holds multiple Session. By default, tmux automatically starts the server the first time $ tmux is run.

A server contains session’s.

tmux starts the server automatically if it’s not running.

Advanced cases: multiple can be run by specifying [-L socket-name] and [-S socket-path].

Client

Attaches to a tmux server. When you use tmux through CLI, you are using tmux as a client.

Session

Inside a tmux server.

The session has 1 or more Window. The bottom bar in tmux show a list of windows. Normally they can be navigated with Ctrl-a [0-9], Ctrl-a n and Ctrl-a p.

Sessions can have a session_name.

Uniquely identified by session_id.

Window

Entity of a session.

Can have 1 or more pane.

Panes can be organized with a layouts.

Windows can have names.

Pane

Linked to a Window.

a pseudoterminal.

The link between a session and a window: the triple (session, index, window).

A window does not live in one session; a session holds links to windows, each at an index. link-window adds another link to the same window, so one window can be reachable from several sessions – and even from one session at two indexes.

This is what tmux enumerates: a row of list-windows or list-panes -a names a winlink, not a window. See When one window is in two sessions.

Target

A target, cited in the manual as [-t target] can be a session, window or pane.

TMUX

Environment variable tmux exports into every Pane it spawns.

Holds socket_path,server_pid,session_id for the Server the pane belongs to. The session id is spelled bare, e.g. 47, where libtmux spells the same session $47.

Written once, when the pane is spawned, and never revised — so its session id records where the process was launched, and goes stale if the pane’s Window later moves.

libtmux takes only the socket path from it, and asks tmux for the rest. See Locating yourself.

TMUX_PANE

Environment variable tmux exports into every Pane it spawns.

Holds that pane’s pane_id, e.g. %1. Unlike TMUX it always names the pane the process is really in, so it is the id libtmux anchors on to answer where a process is running.

Read back by libtmux in Locating yourself.