1jehuang / 1jehuang/jcode

feat: config option to pin overscroll status bar always visible

Open
#393 3 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

autonomous: no enhancement priority: low triage: needs-decision
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) in crates/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() in ui_input.rs renders 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_height is always 1 (instead of conditional on chat_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_height calculation around line 2589
  • ui_input.rs: draw_overscroll_status() — already handles all the rendering logic
  • Config struct in config-types/src/lib.rs: add persistent_status_bar: bool field to DisplayConfig

The overscroll line already shows useful info (model, provider, auth, context bar, working dir). Just needs the on/off toggle.

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 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.