Skip to content

feat(window): a setting to hide the title bar, tabs in the top row (#91) - #103

Merged
Maxaubert merged 4 commits into
mainfrom
feat/91-no-title-bar
Sep 29, 2026
Merged

Maxaubert merged 4 commits into
mainfrom
feat/91-no-title-bar

Conversation

@Maxaubert

Copy link
Copy Markdown
Owner

Replaces #92 (same change, now against main).

Closes #91.

This adds Settings > Appearance > Title bar, with the options Shown (the default) or Hidden. The row sits above the theme wall, since no theme sets it.

Hidden is the owner's pick, "tabs in the top row":

  • The title bar's row goes away, and the tab strip takes its place.
  • The update chip, command help, settings and the window buttons sit at the right end of that row.
  • The strip's empty space still moves the window.
  • With no tabs open (the start screen), the row keeps just the drag space and the buttons.

Shown is the window exactly as before, so nobody's window changes with the update.

This change is in this app only; Prism has no such row. #86 is merged; this replaces #92, which GitHub closed when #86's branch was deleted. App version 0.21.0.

Verified:

  • Unit tests: 954 pass. Typecheck and lint pass.
  • A new titleBar e2e measures both layouts (two rows 68 px above the terminal, one row 36 px) and checks:
    • the buttons sit at the right edge;
    • the strip is still a drag region;
    • the start screen keeps its buttons;
    • Shown brings the title bar back.
  • The options and themeSwitch lists include the new row.
  • The full e2e suite passes.
  • .e2e-shots/title-bar-hidden.png was checked by eye.

🤖 Generated with Claude Code

https://claude.ai/code/session_01FHHaWKR4M5QtW7Wecyuk4t

Maxaubert and others added 4 commits September 28, 2026 19:42
…polish (#85)

- Dictation: the GPU engine gets its own kernel cache (the first pass was
  31.8 s with none, 0.26 s with one, on an RTX 5090), is warmed when
  dictation is armed, on a model or language change and at each press, and a
  partial on a cold engine answers 'warming' at once; the pill says
  "Starting speech engine".
- Finished and question marks: a static line along a tab's bottom, each
  optional with its own colour, for tabs you were not looking at. Claude
  gives no signal for a question (measured), so its footer is read off the
  screen when the title goes idle.
- One working bar across neighbouring working tabs.
- Taskbar overlay badge: how many tabs carry a mark (Settings > General).
- Tab names centred; a Dynamic tab is at least four characters wide.

Core 0.17.0, app 0.20.0.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FHHaWKR4M5QtW7Wecyuk4t
Settings > Appearance > Title bar, Shown (default) or Hidden. Hidden puts the
tab strip in the top row with the title bar's buttons at its end.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FHHaWKR4M5QtW7Wecyuk4t
# Conflicts:
#	CLAUDE.md
#	package-lock.json
#	package.json
#	src/renderer/src/App.tsx
#	src/renderer/src/components/Settings.tsx
#	src/renderer/src/components/TabStrip.tsx
#	src/renderer/src/lib/taskbarBadge.ts
#	tools/e2e/run.mjs
@Maxaubert
Maxaubert merged commit 550266c into main Sep 29, 2026
2 checks passed
@Maxaubert
Maxaubert deleted the feat/91-no-title-bar branch September 29, 2026 21:58
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.

Setting: no title bar (tabs in the top row)

1 participant