Skip to content

feat: themes (#285)#294

Merged
andrinoff merged 3 commits intofloatpane:masterfrom
andrinoff:feat/themes
Mar 14, 2026
Merged

feat: themes (#285)#294
andrinoff merged 3 commits intofloatpane:masterfrom
andrinoff:feat/themes

Conversation

@andrinoff
Copy link
Member

What?

Adds a theme system with 6 built-in color themes (Matcha, Rose, Lavender, Ocean, Peach, Catppuccin Mocha) and support for user-defined custom themes via JSON files.

  • New theme/ package with Theme struct, built-in theme definitions, and custom theme loading from ~/.config/matcha/themes/*.json
  • New tui/theme.go with RebuildStyles() to update all package-level styles when the theme changes
  • New "Theme" option in Settings with a picker that shows a live preview panel of each theme's colors
  • Replaced hardcoded color values across all TUI and view files with references to theme.ActiveTheme
  • Added Theme field to config for persistence across sessions

Why?

The entire UI was hardcoded to a single green color scheme with no way to customize it. Users with different terminal setups or aesthetic preferences had no option to change the look of the app. This adds a theming system that lets users pick from built-in themes or create their own, making the app more personal and accessible.

Signed-off-by: drew <me@andrinoff.com>
Signed-off-by: drew <me@andrinoff.com>
Signed-off-by: drew <me@andrinoff.com>
@andrinoff andrinoff merged commit afe107a into floatpane:master Mar 14, 2026
1 of 2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant