Core Library0.xAPI Reference

Choose documentation 3

latest

Current version

latest
English

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

class libtmux-java latest

TmuxEnvironment

What tmux tells a program running inside one of its panes.

Source and package
Qualified name
io.github.libtmux.TmuxEnvironment
Package
io.github.libtmux
Distribution
io.github.libtmux:libtmux
Source
libtmux/src/main/java/io/github/libtmux/TmuxEnvironment.java
class io.github.libtmux.TmuxEnvironment

Description#

tmux exports TMUX as <socket>,<server-pid>,<session> and TMUX_PANE as the pane's id. That is how a process discovers the server it is already inside, without being told where to look.

#config() selects the server in TMUX by its path. A ServerConfig built with no endpoint does not: it passes tmux no socket unless LIBTMUX_SOCKET_PATH or LIBTMUX_SOCKET is set, and tmux then follows TMUX by itself.

Reading is separated from the environment itself, so the parsing is testable without a process ever having to be started inside tmux: #of() takes the variables, #current() is the one-line wrapper that fetches them.

A class rather than a record for the reason ServerConfig gives — and because the pane is genuinely absent sometimes, which an Optional accessor says better than a nullable record component.

Examples#

TmuxEnvironment here = TmuxEnvironment.current().orElseThrow();
try (Server server = Server.open(here.config())) {
Session mine = server.sessions().stream()
.filter(session -> session.id().equals(here.session()))
.findFirst()
.orElseThrow();
}

Members8#

  • config method A config addressing this server, ready for Server#open().
  • current method Reads this process's own environment.
  • of method Reads a set of environment variables.
  • pane method The pane this process is running in, absent when TMUX_PANE was not set.
  • serverPid method The process id of the tmux server, which is not the pane's process.
  • session method The session this process is running in.
  • socket method The socket the server is listening on.
  • toString method

Guides#

Pages that discuss TmuxEnvironment.

Esc

Type to search.

Reference previewOpen reference