tmux-python / tmux-python/libtmux

Bullet proofing for `capture_pane`

Open
#456 0 comments 0 reactions 0 assignees View on GitHub

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

See also: https://github.com/tmux-python/libtmux/issues/454

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.