Skip to content

feat: appearance settings panel#5

Open
ElTHumeau wants to merge 1 commit into
Paseru:mainfrom
ElTHumeau:feat/appearance-settings
Open

feat: appearance settings panel#5
ElTHumeau wants to merge 1 commit into
Paseru:mainfrom
ElTHumeau:feat/appearance-settings

Conversation

@ElTHumeau
Copy link
Copy Markdown

Summary

  • Add Settings → Appearance with theme (system / dark / cream light), accent color picker, window zoom (Cmd = / Cmd - / Cmd 0), separate Monaco / chat / terminal font sizes
  • Monaco line numbers, render whitespace, auto save (delay / on blur); cursor + bracket match follow the user accent
  • Terminal cursor style + blink, copy on select, shell selector backed by the which crate (custom path supported), light-theme ANSI palette
  • File tree show hidden, chat user-message timestamps, workspace confirm close, JSON export / import of every persisted preference
  • Rebuild the macOS menu: app submenu gains Settings… ⌘, and an About dialog filled with metadata; File menu gets New Conversation / Open Workspace / Settings; Linux keeps the same set under File (Settings at the bottom, GTK convention)
  • Centralise Monaco theme defs in src/lib/monacoTheme.ts so the MCP JSON editor and the main editor stay in sync

Tests

  • npx tsc --noEmit
  • npm run tauri dev (manual: toggle every setting, switch theme, swap accent, change shell, export/import JSON, confirm close on dirty buffer)

Settings → Appearance with:
- theme (system / dark / cream light) + accent color picker
- window zoom (Cmd= / Cmd- / Cmd0) via native webview setZoom
- separate Monaco / chat / terminal font sizes
- Monaco line numbers, render whitespace, auto save
- terminal cursor style + blink, copy on select, shell selector
  (detected via the `which` crate, custom path supported)
- file tree show hidden, chat user-message timestamps
- workspace confirm close, JSON export / import of every preference

Rebuild the macOS menu: app submenu gains Settings + an About dialog
with metadata; File / Edit / Window submenus rebuilt with the standard
items. Linux keeps the same set under the File menu (Settings at the
bottom, GTK-style).

Shared Monaco theme definitions live in `src/lib/monacoTheme.ts`, so
the MCP JSON editor and the main editor follow the same theme + accent.
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