Prerelease This site documents an alpha of libtmux. Its structure, URLs and APIs are subject to change.

libtmux._internal.env.socket_path_from_env

Python
  • Python
  • Ruby Unavailable
  • Lua Unavailable
  • TypeScript Unavailable
  • Rust Unavailable
  • Go Unavailable
  • Java Unavailable
  • .NET Unavailable
  • C++ Unavailable
  • Swift Unavailable

View as Markdown

Module
libtmux._internal.env
Package
libtmux
Source
src/libtmux/_internal/env.py
socket_path_from_env ( env : t.Mapping[str, str] | None = None ) → str
function [source]
function [source]
socket_path_from_env

Return the tmux socket path recorded in $TMUX.

$TMUX is "<socket_path>,<server_pid>,<session_id>". The pid and session id are integers, so any comma in the value belongs to the socket path -- split from the *right*.

The pid and session id are deliberately discarded: both are frozen at pane spawn, and the session id goes stale as soon as the pane's window is moved between sessions.

Examples

>>> from libtmux._internal.env import socket_path_from_env
>>> socket_path_from_env({"TMUX": "/tmp/tmux-1000/default,84215,0"})
'/tmp/tmux-1000/default'

A comma in the socket path is safe, because the split runs from the right:

>>> socket_path_from_env({"TMUX": "/tmp/od,d/sock,84215,3"})
'/tmp/od,d/sock'

Outside tmux there is nothing to read:

>>> socket_path_from_env({})
Traceback (most recent call last):
...
libtmux.exc.NotInsideTmux: Not inside a tmux pane: $TMUX is unset or empty
Parameters
Returns

str Path of the tmux server's socket.

Raises
  • NotInsideTmux – When $TMUX is unset, empty, or not shaped like tmux's triple.

0 declared, 0 inherited

Esc

Type to search.