Foldex / AdwSteamGtk

A simple Gtk wrapper for Adwaita-for-Steam
GNU General Public License v3.0
209 stars 5 forks source link

Adw-gtk or yaru accent colors #22

Closed ghost closed 1 year ago

ghost commented 1 year ago

since both adwaita (with gradience, accent colors extension, etc) and also yaru on ubuntu support accent colors, is there any chance to add this like a option? for example yaru-blue, yaru-red - adwaita-magenta - adwaita-red.

Foldex commented 1 year ago

Possible, but would require some shuffling.

Upstream has full colortheme support, so basically any color (including accent) is capable of being overrided. The issue with changing the accent color in particular is that the pregenerated image assets also have to be updated with the new accent color.

It's likely I'd just open up support for creating/loading custom themes, rather than just specifically changing the accent color. The installer has no issue using arbitrary themes so long as assets are generated for them. This would involve a new dependency on imagemagick and making use of the recolor script, as well as populating themes from a custom dir instead of solely relying on the latest upstream zip release.

That said if you want a short term fix, albeit not involving the GUI:

  1. Clone upstream
  2. Copy your desired colortheme directory, e.g. adwaita to adwaita-red
  3. Rename the theme file adwaita.theme to adwaita-red.theme
  4. Delete the assets folder if it exists
  5. Edit the theme file's [accent] section, replacing all instances of #78AEED and #3584E4
  6. Use the recolor script to generate the assets under recolored
  7. Copy the recolored dir to the theme folder, renaming it to assets
  8. ./install.py -c adwaita-red
Foldex commented 1 year ago

Update: When the new steam UI lands out of beta we will no longer have to use pregenerated assets, so this should be easier to implement than before.

Foldex commented 1 year ago

This is now implemented in the latest release via Custom CSS

image

An example on changing accent colors is provided in the Wiki, though it is not capable of modifying the Non-Beta client's image assets. Basically the old client is on its way out, and I didn't want to put in the effort. Should just work™ with the Beta Client however.

A simple color picker based accent override would have been prettier, but this allows for much more in depth customization.