-
-
Notifications
You must be signed in to change notification settings - Fork 51
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Custom theme support #180
Comments
This was something I was planning on adding eventually, so I'll see if I can work it into the next release! I think building a settings UI to edit the themes is too complicated and (for now at least) low-priority, so I was planning a config file format (probably TOML-based since it's nicely user-editable and the internal config file already uses TOML). Probably look something like [SupersonicTheme]
Name = "Catppuccin"
Version = "1.0"
SupportsDark = true
SupportsLight = true
[DarkColors]
Foreground = "#ffffff"
Background = "#ffffff"
PageBackground = "#ffffff"
# etc
[LightColors]
# etc |
One thing to note though is that the app currently uses several PNG-based icons (all the navigation buttons), and those can't be themed, and there are Fyne bugs currently preventing me from moving to all themeable SVG icons, so for now, the only supported icon colors would be black and white, as they currently are in the light and dark themes. |
Great news! I think this is fine staying as a config-file-only option for now given that an app restart would probably be required anyways, so editing the colors within the settings GUI would not have many benefits versus just typing in the colors from a predetermined palette. I don't think the icon colors would be a big issue for now, as long as they provide enough contrast (which can be done by having the theme specify whether it is dark or light and using the corresponding icons). Of course it would be nice to have them match the foreground color, but this is a great start already :) |
The default theme, and any builtin themes, will have to support both a dark and a light mode, for the auto-switching according to the OS preference to work properly. However I will allow custom themes to support only one palette if desired, and disabling auto-switching mode in the case that such a custom theme is loaded. I can add other builtin themes, as part of the work for custom theme support. Potentially a Solarized builtin theme. Even though Solarized is usually for text editing/coding, I think the palette could work well in Supersonic too. |
The Fyne theming works by allowing you to supply custom color values for a whole list of theme color names, which describe which GUI elements the color is applied to. The full list of color names is here (everything that starts I was thinking of just exposing all of the Fyne |
This sounds great! I don't think it is too complicated as the Fyne color names are already quite descriptive. It would be nice to have a reference somehow to see where each color is used (maybe an example theme could be provided with comments explaining the main elements affected by each color?). |
Hi, I spend some time on making a theme for supersonic, It is based on Flexoki - it's like Solarized by with more contrast, which works better with GUI elements in my opinion. Feel free to add it to the community themes :)
|
Hi!
I am loving this app so far, and when building it with Wayland support as described in #54 it looks great. Thanks for your work maintaining it!
However, as it uses the Fyne toolkit, it does not follow my system theme (Catppuccin Mocha) like GTK and Qt apps. I am not aware of a way to force a Fyne app to use different theme colors and, looking at the recent light theme pull request, it seems the colors need to be hardcoded. If that is the case, I would love to see this be configurable within the settings (or even as an editable config file) so I can make Supersonic fit in with my other programs.
The text was updated successfully, but these errors were encountered: