Skip to content

fix(tui): keep content inside the frame, scroll help, remember settings - #78

Merged
m1ngsama merged 4 commits into
mainfrom
fix/chrome-text-help
Sep 26, 2026
Merged

m1ngsama merged 4 commits into
mainfrom
fix/chrome-text-help

Conversation

@m1ngsama

Copy link
Copy Markdown
Member

A second audit found text running past the frame's rule at ≤83 columns, a help overlay that couldn't scroll, and settings that forgot where you were.

  • Body text, menus, list fields, footers and the header path end where the rule ends (one shared bodyEdge in theme.ts); lines never lose their indent, they wrap. Below 40 columns text and rule both use the full width.
  • The ? overlay scrolls with the usual keys, shows a percentage, and q quits from it; the Schedule e/x rows are reachable at 80×24.
  • Footers show the keys again: "↑↓ 移动 · ⏎ 打开 · Esc 返回 · q 退出 · ? 快捷键", stepping down as width shrinks. Home no longer offers Esc.
  • Settings keeps the cursor on the entry you left; "恢复默认" asks first with Cancel preselected; status names what changed ("图标模式已更新").
  • The startup logo starts at the frame's left edge and holds its final frame 400 ms (any key skips).
  • About gives the author its own row; "第 2 教学周" is spaced; English says "Log in"/"Log out" and uses Title Case for settings items.

- Wrap indented text, menus, footers and the context path at the rule's
  right end instead of the terminal edge, and keep the indent when a line
  only fits without it.
- Scroll the ? overlay with the usual keys and show its position.
- Put the keys back into footer hints and drop Esc from Home, where it
  quits rather than going back.
- Return to the entry you left after a submenu, a pick or About.
- Ask before restoring defaults, with Cancel preselected.
- Report "Icon mode updated" or "Color mode updated" instead of a generic
  theme message.
- Show the author on its own About row instead of after an ASCII colon.
- Title-case the settings menu items in English.
Start the logo, tagline and version at the frame's left edge plus the
indent, centered with the frame on wide terminals, so nothing jumps when
the app opens. Keep the final frame on screen for 400 ms; any key still
skips it.
Use "Log in" and "Log out" in every English string, matching the
`login`/`logout` commands, and write "第 2 教学周" like "第 13 期".
@m1ngsama
m1ngsama merged commit 2cd1e09 into main Sep 26, 2026
4 checks passed
@m1ngsama
m1ngsama deleted the fix/chrome-text-help branch September 26, 2026 15:27
@m1ngsama m1ngsama mentioned this pull request Sep 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant