HeyPuter / puter

🌐 The Internet OS! Free, Open-Source, and Self-Hostable.
https://puter.com
GNU Affero General Public License v3.0
26.47k stars 1.74k forks source link

Feature Request: Theming for Puter UI #140

Open triptych opened 8 months ago

triptych commented 8 months ago

As a developer I would like to be able to theme the puter OS look and feel. Not just the desktop background but the look of the windows, the fonts, the colors, the buttons, etc.

Perhaps these themes could be also packaged up and sharable via some kind of theme chooser in the OS.

jelveh commented 8 months ago

This would be a great addition. Not only it allows for customization from users, it also will help with design. Additionally, it's going to be really fun to develop. I'd say this should be part of the Settings app. #60

KernelDeimos commented 7 months ago

This video might be good motivation for anyone who feels like they want to take this on: https://www.youtube.com/watch?v=ugoigcchsa0

Hiya-its-Aya commented 7 months ago

Hey @triptych, @jelveh, and @KernelDeimos, I think could take a crack at this.

I'm thinking I could implement this incrementally by first implementing a dark/light theme in a "Personalization" tab in the settings menu using CSS variables and classes like this (except in JQuery). Then I could start adding functionality to change UI colors, and hopefully, have full themes. I'm only a bit puzzled about how I could store style variables when I start to tackle a more complex and customizable styling system.

Let me know your thoughts and if you have any other "Personalization" features we could add.

Thanks!

AtkinsSJ commented 7 months ago

I'm only a bit puzzled about how I could store style variables when I start to tackle a more complex and customizable styling system.

You could have a <style> tag with an id, that just contains the CSS for setting the variables. Then whenever you want to change them, you replace the contents of that tag.

Unless you mean storing them on the server. KV would be good for that probably.

Hiya-its-Aya commented 7 months ago

Yeah I meant the server. Thanks!

KernelDeimos commented 1 week ago

This issue has been sitting here for a while, so I'm going to pin it as a way of hopefully bringing attention to it. The barrier to entry for this seems low, but anyone who takes this on should be mindful of security considerations when handling user-submitted values.