feat: Claude Code-style statusline footer, OAuth usage windows, and pinned-gray input border #40
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "clfy-footer-input-box"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
What
Restyles pi's bottom-of-screen UI to match Berto's Claude Code setup, in two commits:
e9fe526— statusline footer + gray input borderctx.ui.setFooterAPI with the statusline grammar from~/.claude/statusline-command.sh:dir │ ⎇ branch │ model │ Ctx: N%, 2-space indent,│separators, three color modes (colored / single hex / monochrome).Theme.prototype.getThinkingBorderColor— pi reassignseditor.borderColorfrom that method on its own events, so the wrapper's colorizer re-checks the setting on every render (live-reflecting). Bash mode's recolor is kept: live capture confirmed Claude Code also recolors bash mode (211) while staying gray (244) in every permission mode.f97d14f— model-aware OAuth usage windows (authored by pi during a session handover, reviewed here)isUsingOAuth: Anthropic shows five-hourUsage+ weeklyWeek(api.anthropic.com/api/oauth/usage); OpenAI Codex showsWeek(chatgpt.com/backend-api/wham/usage). Each window renderslabel: N% ▓▓░░ → Reset: t.ctx.modelRegistry— never read fromauth.json, persisted, logged, or cached. Only validated percentages/reset timestamps cache in memory (60s). Failures, API-key auth, and unsupported providers degrade to~placeholders.footerContextBar→footerUsageBarwith anormalizeAliasesmigration.Capture + decisions doc:
docs/plans/2026-07-16-cc-input-box-footer.md(live tmux capture of Claude Code v2.1.211, all permission modes + bash mode).Known caveats
┃and 24-hour time option are not ported in this compact first version.Test plan
scripts/test-footer.ts(suite count 14 → 15): line grammar byte-for-byte in all three color modes, context threshold tiers, quota-window rendering, Anthropic/OpenAI response parsing, provider-switch and disposal races, border-patch idempotence + live reflection, Footer section rows + hex validation.tsc --noEmit --strictclean.