feat: config option to pin overscroll status bar always visible
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 19.9k
- Forks
- 2.3k
- Avg merge
- 2d 7h
- Merged PRs (30d)
- 30
Description
Problem
The bottom status bar (model, provider, context usage, working dir) only shows when you overscroll past the transcript bottom and auto-hides after 1.5s. For users who want persistent at-a-glance info, this is hard to keep visible.
Current behavior
const OVERSCROLL_DWELL: Duration = Duration::from_millis(1500)incrates/jcode-tui/src/tui/app/navigation.rs- The line appears below the input when overscroll is detected, dwells 1.5s, then disappears
draw_overscroll_status()inui_input.rsrenders it with model, provider, auth, context bar, and cwd
Request
Add a [display] config option to pin the overscroll status bar always visible (no auto-hide, always rendered below the input line):
[display]
persistent_status_bar = true # default: false
When enabled:
overscroll_heightis always 1 (instead of conditional onchat_overscroll_active())- The status line stays permanently rendered below the input
- No dwell timer / countdown needed
Implementation notes
The relevant areas are:
navigation.rs:OVERSCROLL_DWELL,chat_overscroll_active(),register_chat_overscroll()ui.rs:overscroll_heightcalculation around line 2589ui_input.rs:draw_overscroll_status()— already handles all the rendering logic- Config struct in
config-types/src/lib.rs: addpersistent_status_bar: boolfield toDisplayConfig
The overscroll line already shows useful info (model, provider, auth, context bar, working dir). Just needs the on/off toggle.
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 with DisplayConfig in config-types/src/lib.rs, then trace the overscroll height calculation in ui.rs and the activity logic in crates/jcode-tui/src/tui/app/navigation.rs. Check how ui_input.rs draws the existing status line and run the relevant TUI tests or checks. Done means the new display setting defaults off, enables a permanently rendered status line, and avoids the dwell countdown when enabled.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- cli
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Clearly specified
- Newbie friendliness
- 72/100