Skip to content

Latest commit

 

History

History
106 lines (68 loc) · 2.83 KB

quickstart.rst

File metadata and controls

106 lines (68 loc) · 2.83 KB

Quickstart

Installation

Assure you have at least tmux >= 1.8 and python >= 2.6.

$ pip install tmuxp

You can upgrade to the latest release with:

$ pip install tmuxp -U

Then install :ref:`completion`.

CLI

.. seealso:: :ref:`examples`, :ref:`cli`, :ref:`completion`.

tmuxp launches workspaces / sessions from JSON and YAML files.

Configuration files can be stored in $HOME/.tmuxp or in project directories as .tmuxp.py, .tmuxp.json or .tmuxp.yaml.

Every configuration is required to have:

  1. session_name
  2. list of windows
  3. list of panes for every window in windows

Create a file, ~/.tmuxp/example.yaml:

.. literalinclude:: ../examples/2-pane-vertical.yaml
    :language: yaml

$ tmuxp load example.yaml

This creates your tmuxp session.

Load multiple tmux sessions at once:

$ tmuxp load example.yaml anothersession.yaml

tmuxp will offer to switch-client for you if you're already in a session. You can also load config appending windows in the current active session.

You can also have a custom tmuxp config directory by setting the TMUX_CONFIGDIR in your environment variables.

$ TMUXP_CONFIGDIR=$HOME/.tmuxpmoo tmuxp load cpython

Or in your ~/.bashrc / ~/.zshrc you can set:

export TMUXP_CONFIGDIR=$HOME/.yourconfigdir/tmuxp

You can also Import configs teamocil and tmuxinator.

Pythonics

.. seealso::
    :ref:`libtmux python API documentation <libtmux:api>` and :ref:`developing`,
    :ref:`internals`.

ORM - Object Relational Mapper

AL - Abstraction Layer

python abstraction layer

:ref:`tmuxp python api <libtmux:api>` :term:`tmux(1)` equivalent
:meth:`libtmux.Server.new_session` $ tmux new-session
:meth:`libtmux.Server.list_sessions` $ tmux list-sessions
:meth:`libtmux.Session.list_windows` $ tmux list-windows
:meth:`libtmux.Session.new_window` $ tmux new-window
:meth:`libtmux.Window.list_panes` $ tmux list-panes
:meth:`libtmux.Window.split_window` $ tmux split-window
:meth:`libtmux.Pane.send_keys` $ tmux send-keys