神刀安全网

Libtmux – pilot your tmux session via python

libtmux – library for managing tmux workspaces

Libtmux – pilot your tmux session via python Libtmux – pilot your tmux session via python Libtmux – pilot your tmux session via python Libtmux – pilot your tmux session via python Libtmux – pilot your tmux session via python

libtmux is the library the powerstmuxp, a tool that helps tmux users manage their tmux workspaces.

Take control of tmux via python.

View the documentation homepage, API information and architectural details .

install

$ [sudo] pip install libtmux

open a tmux session

$ tmux new-session -n libtmux_wins -s a_libtmux_session

pilot your tmux session via python

$ python  # or for nice autocomplete and syntax highlighting $ pip install ptpython $ ptpython
>>> import libtmux >>> server = libtmux.Server() >>> server <libtmux.server.Server object at 0x7fbd622c1dd0>

list sessions:

>>> server.list_sessions() [Session($3 a_libtmux_session), Session($1 libtmux)]

find session:

>>> server.getById('$3') Session($3 a_libtmux_session)

find session by dict lookup:

>>> server.findWhere({ "session_name": "a_libtmux_session" }) Session($3 a_libtmux_session)

assign session to session :

>>> session = server.findWhere({ "session_name": "a_libtmux_session" })

play with session:

>>> session.new_window(attach=False, window_name="ha in the bg") Window(@8 2:ha in the bg, Session($3 a_libtmux_session)) >>> session.kill_window("ha in") >>> session.new_window(attach=False, window_name="ha in the bg") Window(@11 3:ha in the bg, Session($3 a_libtmux_session)) >>> session.kill_window('@12') >>> window = session.new_window(attach=False, window_name="check this out") >>> window.kill_window()

grab remaining tmux window:

>>> window = session.attached_window() >>> window.split_window(attach=False) Pane(%23 Window(@10 1:libtmux_wins, Session($3 a_libtmux_session)))

rename window:

>>> window.rename_window('libtmuxower') Window(@10 1:libtmuxower, Session($3 a_libtmux_session))

create panes by splitting window:

>>> pane = window.split_window() >>> pane = window.split_window(attach=False) >>> pane.select_pane() >>> window = session.new_window(attach=False, window_name="test") >>> pane = window.split_window(attach=False)

send key strokes to panes:

>>> pane.send_keys('echo hey send now')  >>> pane.send_keys('echo hey', enter=False) >>> pane.enter()

powerful traversal features:

>>> pane.window Window(@10 1:libtmuxower, Session($3 a_libtmux_session)) >>> pane.window.session Session($3 a_libtmux_session)

Project details

tmux support 1.8, 1.9a, 2.0, 2.1, 2.2
python support 2.6, 2.7, >= 3.3
Source https://github.com/tony/libtmux
Docs http://libtmux.rtfd.org
API http://libtmux.readthedocs.io/en/latest/api.html
Changelog http://libtmux.readthedocs.io/en/latest/history.html
Issues https://github.com/tony/libtmux/issues
Travis http://travis-ci.org/tony/libtmux
Test Coverage https://coveralls.io/r/tony/libtmux
pypi https://pypi.python.org/pypi/libtmux
Open Hub https://www.openhub.net/p/libtmux
License BSD .
git repo
$ git clone https://github.com/tony/libtmux.git
install stable
$ sudo pip install libtmux
install dev
$ git clone https://github.com/tony/libtmux.git libtmux $ cd ./libtmux $ virtualenv .venv $ source .venv/bin/activate $ pip install -e .

See the developing and testing page in the docs for more.

tests
$ make test

转载本站任何文章请注明:转载至神刀安全网,谢谢神刀安全网 » Libtmux – pilot your tmux session via python

分享到:更多 ()

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址