Skip to content

feat(linux): align normal UI with macOS - #2

Draft
Neo-Isshin wants to merge 6 commits into
normalfrom
codex/linux-theme-parity
Draft

feat(linux): align normal UI with macOS#2
Neo-Isshin wants to merge 6 commits into
normalfrom
codex/linux-theme-parity

Conversation

@Neo-Isshin

Copy link
Copy Markdown
Owner

What changed

  • Rebuilt the Linux normal widget as a transparent circular GTK3/Cairo dial matching the macOS normal face system.
  • Added all eight built-in faces, four sizes, themed detail panel, visual face picker, weather, localization, and custom saved faces.
  • Added the full right-click controls and a five-tab GTK settings window for API, tools, paths, thresholds, and face editing.
  • Added XDG autostart, explicit Linux preference persistence, runtime fonts/icons, and AppImage packaging updates.

Why

The original Linux widget exposed usage data but did not preserve the visual identity or the interaction surface of the macOS normal build. Linux Swift preferences also needed an explicit flush on clean GTK shutdown to survive restarts reliably.

Impact

Debian/Linux users now receive the normal experience rather than a simplified compatibility clock, while continuing to use the same 14 local usage parsers, history database, and loopback API.

Validation

  • Debian Swift 6 release build with static Swift runtime
  • All eight built-in faces plus custom face under Xvfb
  • Small, medium, large, and extra-large window sizes
  • Detail panel, visual picker, settings, custom face save/apply, language switch, About, autostart, and live API port/tool changes
  • /api/usage and /api/history smoke tests
  • Docker runtime dependency/font/icon checks
  • AppImage build, SHA-256 verification, and extracted runtime smoke test
  • Linux UserDefaults persistence verified in ~/.config/TokenClock.plist after clean quit

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