Skip to content

Add theme support with 5 built-in themes + Fix settings window crash#9

Open
dupenodi wants to merge 3 commits into
samirpatil2000:mainfrom
dupenodi:feat/themes
Open

Add theme support with 5 built-in themes + Fix settings window crash#9
dupenodi wants to merge 3 commits into
samirpatil2000:mainfrom
dupenodi:feat/themes

Conversation

@dupenodi

@dupenodi dupenodi commented Mar 31, 2026

Copy link
Copy Markdown
Contributor

Summary

  • ThemeManager — new singleton managing 5 themes: System, Midnight, Sage, Sunset, Mono. Applies NSApp.appearance for light/dark and cascades accent color through SwiftUI via .accentColor()
  • Settings view — swatch picker in the Appearance section with labels
  • Theme selection persists across launches via UserDefaults

IMPORTANT - Bug fix: Settings window crashed with unrecognized selector when reopened after closing —
caused by NSWindow being deallocated on close (isReleasedWhenClosed defaults to true) while
settingsWindow held a dangling reference. Fixed by setting isReleasedWhenClosed = false.
Screenshot 2026-03-31 at 7 46 31 PM

- Add ThemeManager with System, Midnight, Sage, Sunset, Mono themes
- Add theme switcher dots to history window action bar
- Add theme picker swatches to Settings view
- Persist selected theme to UserDefaults
@dupenodi dupenodi changed the title Add theme support with 5 built-in themes Add theme support with 5 built-in themes + Fix settings window crash Mar 31, 2026
@dupenodi

dupenodi commented Apr 1, 2026

Copy link
Copy Markdown
Contributor Author

@samirpatil2000 removed the theme switcher from the history window. it's only in the settings now

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