On this page
libtmux.Pane.from_env
- Module
- libtmux
- Declared in
- Pane
- Package
- libtmux
- Source
- src/libtmux/pane.py
-
Return the pane this process is running inside of.
Reads
$TMUXfor the server's socket and$TMUX_PANEfor the pane id, then asks tmux for the rest. The stale session id inside$TMUXis never consulted, so the answer stays correct after the pane's window has been moved or linked elsewhere.Examples
>>> socket_path = server.cmd( # doctest: +HIDE ... "display-message", "-p", "-t", pane.pane_id, "#{socket_path}" ... ).stdout[0] >>> env = { # doctest: +HIDE ... "TMUX": f"{socket_path},1,0", ... "TMUX_PANE": pane.pane_id, ... }>>> Pane.from_env(env) Pane(%1 Window(@1 1:..., Session($1 ...)))>>> Pane.from_env(env).pane_id == pane.pane_id TrueOutside a pane there is nothing to resolve:
>>> from libtmux import exc >>> try: ... Pane.from_env({}) ... except exc.NotInsideTmux as e: ... print(e) Not inside a tmux pane: $TMUX is unset or empty- Parameters
-
-
env ( t.Mapping[str, str] | None ) – Environment to read. Defaults to
os.environ, which is what a process running inside a pane wants; pass an explicit mapping to resolve on behalf of another pane.
-
- Returns
- Raises
-
-
NotInsideTmux – When
$TMUXor$TMUX_PANEis unset or malformed. -
TmuxObjectDoesNotExist – When the pane named by
$TMUX_PANEis gone. -
LibTmuxException – When the server named by
$TMUXis unreachable.
-
Discussed in Environment
0 declared, 0 inherited