Skip to content

feat(desktop): unified title bar across mac/win/linux#64

Merged
attson merged 13 commits into
mainfrom
feat/unified-titlebar
May 20, 2026
Merged

feat(desktop): unified title bar across mac/win/linux#64
attson merged 13 commits into
mainfrom
feat/unified-titlebar

Conversation

@attson
Copy link
Copy Markdown
Owner

@attson attson commented May 20, 2026

Summary

  • Merge top toolbar with native title bar on all three platforms — IDE-style single row.
  • macOS: Mac.TitleBar = TitleBarHiddenInset() puts traffic lights over the merged bar; Windows + Linux switch to Frameless: true and self-draw min/max/close.
  • New components: TitleBar.vue (sole owner of merged bar, detects platform via Wails Environment()), WindowControls.vue (Win/Linux chrome buttons), useWindowMaximized composable (shared maximize state).
  • 8 px .app inset on Win/Linux to compensate for borderless-maximized overflow; gated off on macOS where the window is not frameless.
  • Go side: main.go split into per-OS build-tagged platformOptions() merged via mergePlatformOptions().
  • Drops the redundant "AT Term" brand text — already shown by OS title.
  • Bundles an unrelated fix for QuickInput Enter dispatch (separate \r send so Codex doesn't see it as pasted multiline input).

Test plan

  • macOS: traffic lights overlay merged bar, no separate native title above. Drag from empty area moves window; clicking buttons doesn't drag.
  • macOS: double-click empty area triggers system zoom; 8 px inset is NOT applied when zoomed.
  • Windows: three buttons render and function (min, max/restore, close). Maximized window doesn't overflow edges. Double-click title bar toggles maximize; snap-to-edge works.
  • Windows: close button with active sessions opens confirm-quit dialog.
  • Linux (X11 — GNOME/KDE): three buttons functional, drag region works. Edge-resize known limitation (use maximize button or WM shortcuts).
  • npm test from desktop/frontend/: 363/363 pass.
  • go test ./desktop/... passes.
  • go build ./desktop/... succeeds.

Spec: docs/superpowers/specs/2026-05-20-unified-titlebar-design.md
Plan: docs/superpowers/plans/2026-05-20-unified-titlebar.md

@attson attson merged commit fbb3211 into main May 20, 2026
7 checks passed
@attson attson deleted the feat/unified-titlebar branch May 20, 2026 09:36
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