Summary
- psmux
C-b q implements “type a number to select a pane” (e.g., typing 2 focuses pane 2), which could be intentional.
- However it still diverges from tmux defaults and has a clear input/terminal desync issue while the pane-number overlay is active:
- pane numbering: tmux default is 0-based; psmux shows 1-based indices
- lifetime/exit: tmux shows briefly (default ~1s) and exits on any non-prefix keypress; psmux remains until Escape or a selection
- input handling: while the overlay is visible, normal keypresses are passed through to the underlying pane program, and the underlying program’s visible input becomes desynced/laggy (characters appear delayed / in batches)
Environment
- OS: Windows 11
- Terminal: Windows Terminal
- Shell: PowerShell 7
- psmux:
0.4.7
- tmux (parity reference):
3.6a (no user config, default bindings)
- Config state for verification: reproduced with default config for psmux
Expected (tmux default behavior)
C-b q shows pane indices using tmux defaults (0-based unless pane-base-index is changed).
- Overlay duration is controlled by
display-panes-time (default ~1000ms) and it closes on any keypress.
- While the overlay is visible:
- pressing a digit selects that pane (tmux uses
0–9)
- other keypresses dismiss the overlay
- keystrokes used during the overlay are handled by tmux and do not get delivered to the underlying pane program
- underlying pane input/display should not become visually desynced
Actual (psmux 0.4.7)
- Pane indices shown by
C-b q are 1-based.
- Overlay remains visible until:
- a pane is selected by typing a number, or
- Escape is pressed.
- While the overlay is visible, normal typing is delivered to the underlying pane program.
- The underlying pane’s visible input becomes desynced/laggy (characters appear delayed / in batches), e.g.:
- type
a -> underlying program shows a
- type
b -> underlying program still shows a
- type
c -> underlying program shows ab
- type
d -> underlying program shows abc
- (continues: display lags behind typed keys / updates inconsistently)
- This leaves the terminal state visually inconsistent while the overlay is active until it is dismissed.
Reproduction
- Start a fresh attached
psmux 0.4.7 session (default config).
- Create multiple panes (e.g.,
Ctrl+b %).
- Ensure the active pane is running an interactive program that echoes input (e.g., PowerShell prompt).
- Press
Ctrl+b q to show pane indices.
- While the overlay is visible, type
a, b, c, d (or any sequence of characters).
Result:
- Observed:
- non-numeric keystrokes pass through to the underlying pane program while the overlay is visible
- underlying program’s visible input lags/desyncs in the pattern above
- overlay remains up until Escape or a numeric selection is made
- Expected (tmux default):
- overlay closes quickly (default ~1s) and/or closes on any keypress
- keystrokes used during the overlay do not pass through to the underlying program
- no underlying input/display desync
Result
C-b q diverges from tmux defaults (index base and overlay lifetime), and passing keystrokes through while the overlay is active causes underlying pane input/display desynchronization.
Summary
C-b qimplements “type a number to select a pane” (e.g., typing2focuses pane 2), which could be intentional.Environment
0.4.73.6a(no user config, default bindings)Expected (tmux default behavior)
C-b qshows pane indices using tmux defaults (0-based unlesspane-base-indexis changed).display-panes-time(default ~1000ms) and it closes on any keypress.0–9)Actual (psmux 0.4.7)
C-b qare 1-based.a-> underlying program showsab-> underlying program still showsac-> underlying program showsabd-> underlying program showsabcReproduction
psmux0.4.7session (default config).Ctrl+b %).Ctrl+b qto show pane indices.a,b,c,d(or any sequence of characters).Result:
Result
C-b qdiverges from tmux defaults (index base and overlay lifetime), and passing keystrokes through while the overlay is active causes underlying pane input/display desynchronization.