IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    Libtmux – pilot your tmux session via python

    shendao发表于 2016-05-27 19:54:47
    love 0

    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



沪ICP备19023445号-2号
友情链接