Here is a simple example to use this library.
Nobody has claimed this yet.
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 25/100
- Issue type
- Documentation
- Clarity
- Needs clarification
- Activity status
- Stale
- Tech stack
- python
- Domain
- documentation
Research direction
Start by reviewing the inline Python example, especially its libtmux window and pane commands, and compare it with the repository's existing documentation structure. The requested outcome is unclear: determine whether the project needs a documented libtmux example or guidance to use a bash script, then make the chosen example runnable and clear.
Written by the indexing model from the issue text.
Description
When I use the library to split window, I use win.cmd('split-window', '-h') which let me spend a lot of time.
At last, I suggest to use bash script instead of this library.
#!/usr/bin/env python3
# coding=utf-8
# author: thinkycx
# date: 2018-01-11
# Usage:
# run several commands in tmux panel, every window have 4 panes
# $ pip3 install libtmux
# $ python tmux.py
import libtmux
import math
import os
import logging
def create_session(session_name, commands):
'''
create session with 2*2 panes and run commands
:param session_name: tmux session name
:param commands: bash commands
:return:
'''
logging.info(commands)
# pane_NUM = 3
# WINDOW_NUM = int(math.ceil(len(commands)/4.0)) # in python3, we can use 4 also
server = libtmux.Server()
session = server.new_session(session_name)
# create windows
windows = []
panes = []
for i in range(len(commands)):
# create window to store 4 panes
if i % 4 == 0:
win = session.new_window(attach=False, window_name="win"+str(int(i/4)))
windows.append(win)
# tmux_args = ('-h',)
win.cmd('split-window', '-h')
win.cmd('split-window', '-f')
win.cmd('split-window', '-h')
panes.extend(win.list_panes())
panes[i].send_keys(commands[i])
logging.info(panes)
logging.info(windows)
if __name__ == '__main__':
commands = []
for i in range(10):
commands.append("echo " + str(i))
os.system("tmux kill-session -t session")
create_session("session", commands)

- Dominant language
- Python
- Stars
- 1.2k
- Forks
- 127
- Avg merge
- 2h 13m
- Merged PRs (30d)
- 1
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from tmux-python/libtmux
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
tmux-python/libtmux#759 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
tmux-python/libtmux#745 · 2 comments ·
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
tmux-python/libtmux#744 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
tmux-python/libtmux#731 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
tmux-python/libtmux#654 ·
All issues in tmux-python/libtmux
Similar issues
-
link-check link-check:sphinx-theme
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
qgis/QGIS-Documentation#11275 ·
-
bug priority:normal ready-for-dev
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
OpenHands/extensions#626 · 1 comment ·
-
Difficulty 1/5 Under an hour Newbie friendliness 90/100
CSCfi/sd-search-api#39 ·
-
Difficulty 1/5 Under an hour Newbie friendliness 90/100