tmux-python / tmux-python/libtmux
Bullet proofing for `capture_pane`
Open
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 1.2k
- Forks
- 127
- Avg merge
- 2h 13m
- Merged PRs (30d)
- 1
Description
This is an existential issue for libtmux / tmuxp
I think it's going to take some thinking.
Ideas:
- sending a sentinel command made to figure out what the PS1 and shell is.
- building in support for polling
capture_pane()(similar to playwright / selenium) - finding "flake-free" / "rock-solid" loadouts for capturing pane text. Reliable enough to be used downstream in tests and across platforms
What we need:
- What are the user's needs when running
capture_pane()?- Is it just to boot up a daemon or process in the background?
- Do they need consistency and determinism in shell commands across systems, or do they want to use their own environment's shell / configuration and deal with the output inconsistency themselves?
- If they're willing to make any compromises: limiting their shell, using a barebones shell configuration in panes, or making it clear bringing your own shell / configuration may be hard to provide reliable results for
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.
Research direction
Start at the capture_pane() entry point and read the related discussion in issue #454, then compare the listed sentinel, polling, and shell-configuration ideas with the needs described here. Done requires an agreed, reliable approach and clearly defined behavior across shells and platforms.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- api, cli
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100