Utilities¶
Helper methods and mixins for libtmux.
libtmux.common¶
- libtmux.common.TMUX_MIN_VERSION = '3.2a'¶
Minimum version of tmux required to run libtmux
- libtmux.common.TMUX_MAX_VERSION = '3.6'¶
Most recent version of tmux supported
- class libtmux.common.EnvironmentMixin[source]¶
Mixin for manager session and server level environment variables in tmux.
- set_environment(name, value)[source]¶
Set environment
$ tmux set-environment <name> <value>.- Return type:
- Parameters:
- Raises:
ValueError – If tmux returns an error.
- unset_environment(name)[source]¶
Unset environment variable
$ tmux set-environment -u <name>.- Return type:
- Parameters:
name (str) – The environment variable name, e.g. ‘PATH’.
- Raises:
ValueError – If tmux returns an error.
- remove_environment(name)[source]¶
Remove environment variable
$ tmux set-environment -r <name>.- Return type:
- Parameters:
name (str) – The environment variable name, e.g. ‘PATH’.
- Raises:
ValueError – If tmux returns an error.
- show_environment()[source]¶
Show environment
$ tmux show-environment -t [session].Return dict of environment variables for the session.
Changed in version 0.13: Removed per-item lookups. Use
libtmux.common.EnvironmentMixin.getenv().
- class libtmux.common.tmux_cmd[source]¶
Run any tmux(1) command through
subprocess.Examples
Create a new session, check for error:
>>> proc = tmux_cmd(f'-L{server.socket_name}', 'new-session', '-d', '-P', '-F#S') >>> if proc.stderr: ... raise exc.LibTmuxException( ... 'Command: %s returned error: %s' % (proc.cmd, proc.stderr) ... ) ...
>>> print(f'tmux command returned {" ".join(proc.stdout)}') tmux command returned 2
Equivalent to:
$ tmux new-session -s my session
Notes
Changed in version 0.8: Renamed from
tmuxtotmux_cmd.
- libtmux.common.get_version()[source]¶
Return tmux version.
If tmux is built from git master, the version returned will be the latest version appended with -master, e.g.
2.4-master.If using OpenBSD’s base system tmux, the version will have
-openbsdappended to the latest version, e.g.2.4-openbsd.- Return type:
LegacyVersion- Returns:
tmux version according to
shtuil.which()’s tmux- Return type:
distutils.version.LooseVersion
- libtmux.common.has_gt_version(min_version)[source]¶
Return True if tmux version greater than minimum.
- libtmux.common.has_gte_version(min_version)[source]¶
Return True if tmux version greater or equal to minimum.
- libtmux.common.has_lte_version(max_version)[source]¶
Return True if tmux version less or equal to minimum.
- libtmux.common.has_minimum_version(raises=True)[source]¶
Return True if tmux meets version requirement. Version >= 3.2a.
- Return type:
- Parameters:
raises (bool) – raise exception if below minimum version requirement
- Returns:
True if tmux meets minimum required version.
- Return type:
- Raises:
libtmux.exc.VersionTooLow – tmux version below minimum required for libtmux
Notes
Changed in version 0.49.0: Minimum version bumped to 3.2a. For older tmux, use libtmux v0.48.x.
Changed in version 0.7.0: No longer returns version, returns True or False
Changed in version 0.1.7: Versions will now remove trailing letters per Issue 55.
- libtmux.common.session_check_name(session_name)[source]¶
Raise exception session name invalid, modeled after tmux function.
tmux(1) session names may not be empty, or include periods or colons. These delimiters are reserved for noting session, window and pane.
- Return type:
- Parameters:
session_name (str) – Name of session.
- Raises:
exc.BadSessionName – Invalid session name.