Skip to content

Add comprehensive Settings dialog#67

Merged
an0nn30 merged 10 commits intomainfrom
feat/settings-dialog
Mar 20, 2026
Merged

Add comprehensive Settings dialog#67
an0nn30 merged 10 commits intomainfrom
feat/settings-dialog

Conversation

@an0nn30
Copy link
Owner

@an0nn30 an0nn30 commented Mar 20, 2026

Summary

  • Adds an IntelliJ-style Settings dialog (Cmd+,) with grouped sidebar navigation and 7 content sections: Appearance, Keyboard Shortcuts, Terminal, Shell, Cursor, Plugins, and Advanced
  • Exposes all config.toml options in a GUI — settings are read/written to the same config.toml file
  • Absorbs the standalone Plugin Manager dialog into the Plugins section
  • Settings that can be hot-reloaded (theme, appearance mode, UI fonts, keyboard shortcuts) apply immediately on Apply; others show a "restart required" toast
  • Includes a keyboard shortcut recorder for rebinding shortcuts
  • Backend: new settings.rs module with get_all_settings, save_settings, list_themes commands and needs_restart logic (7 unit tests)
  • TauriState.config wrapped in Mutex for runtime mutability
  • Legacy [font] section suppressed from serialization output

Test plan

  • Cmd+, opens Settings dialog; Cmd+, again toggles it closed; Escape closes it
  • Each sidebar section displays correct current values from config.toml
  • Change theme + Apply — theme changes immediately
  • Change terminal font + Apply — toast: "Some changes require a restart to take effect"
  • Cancel after making changes — reopen shows original values
  • Plugins section: enable/disable a plugin, rescan, verify functionality matches old Plugin Manager
  • Keyboard shortcuts: click a shortcut, record a new binding, Apply, verify menu accelerator updates
  • New window (Cmd+Shift+N) — Settings menu item works there too
  • View menu still has Zoom In/Out/Reset and all other items after plugin load (no menu drift)

@an0nn30 an0nn30 merged commit 3279b25 into main Mar 20, 2026
4 checks passed
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