-
Notifications
You must be signed in to change notification settings - Fork 463
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
Add color themes #69
Add color themes #69
Conversation
Great idea thanks ! Just tried on device :
It will not survive a reset, but it will survive the "shutdown" mode. |
@clifward : At this point, I’m wondering telling the LCD to rotate the palette would be better :) (However it might not be using a palette in this mode...) |
@rhaamo I believe I've fixed the LCD going into sleep when you change the theme, can you test? I'll see what I can do about the update popup. Probably just need to change a few indexes around in @clifward Yes, changing the icon's colors would be ideal to match the theme, but the only way I could think of doing this is to create multiple pngs with all the different colors. But @adriweb brings up a good point -- maybe a pseudo-palette-change on the images could be implemented? The And I just realized: the exam mode icon also "breaks" when you change a theme: So an |
And the "Update pop-up" setting should be fixed with the latest commit. |
@tjhorner confirming, fixed for my two issues ! thanks |
So, how should the different color icons be implemented? I am seeing a couple routes:
I'd like to hear your thoughts on these. |
One fourth route:
|
Yet another idea, although more cumbersome: don't actually use images for apps icons, but draw them programmatically. |
@adriweb Technically, they are already drawn programmatically, since the inliner converts them into a C++ class. But I see what you mean, we could use |
Wouldn't the best way be icons in a palettized format, where the first couple indexes are set aside for shades of the main color of the theme, replaced at run-time? Otherwise I'm worried how to make this work properly with arbitrary third-party apps... |
Hi! Thank you very much for this suggestion and for taking your time to write some code. That's why I believe this feature would be best as a compile-time feature. It would also make the job a lot easier: you could imagine using ImageMagick in a Makefile step to pre-process images before they are built. |
@Ecco That's definitely a good point, and I agree with you that making it compile-time would lessen confusion. Especially with adriweb's suggestion of a "build-your-own-OS" tool, it would give us even more flexibility (custom hex colors, perhaps?) I'll see what I can do to refactor this into a compile-time feature. |
Thank you very much @tjhorner :) |
We will most likely not merge a runtime theme engine, so I'm going to close this PR. The idea is interesting though, so feel free to reopen (or create another PR) if you'd like to work on a compile-time version. |
These changes will add color themes to Epsilon. Because, you know, everyone loves customization :)
I rarely touch C++, so please do give me honest criticism about the code quality!
Also, I have only tested this on the simulator. So if anyone has a device, please test to see if themes work and persist with reboots.
Here are the themes (change it in Settings -> Theme):
Yellow (Default)
Blue
Green
Red