rose-pine / gtk

Soho vibes for GTK
210 stars 4 forks source link

Add main/dawn variants for gnome shell #21

Open mvllow opened 1 year ago

mvllow commented 1 year ago

https://github.com/rose-pine/gtk/pull/20 added moon variant support for gnome shell. As mentioned in that PR, it shouldn't be too difficult to use our build tool to add support for the other two variants :)

Happy to help with any questions if someone takes this on!

zoedsoupe commented 1 year ago

hmmm I would like to try that!

mvllow commented 1 year ago

Lovely! I think our kitty theme might be the simplest real-world example using the build tool.

zoedsoupe commented 1 year ago

perfect! I'll take a look

ashbork commented 9 months ago

I've returned to Linux and I think I can spin something up! The old Moon version sadly doesn't work anymore, but it was due to a fragile implementation on my part.

Building seems a bit tricky to automate in the long run; I'm basically building all of gnome-shell with a different stylesheet and using the resulting gnome-shell.css - hope there's a better way but I mostly fiddled with the colors to make sure they're correct. I'm also a bit opinionated on the accent color but it's trivial to change if we decide to go with another.

Here's a POC with my beloved Moon variant (and GTK3 + GTK4 themes applied). I used Gradience for this one and I'd argue for looking into changing it a bit; the top bar color seems inconsistent (not sure if it's across GTK versions, but I think that may be the case) and I don't quite agree with replacing the Close button with a big red dot.

example of Rose Pine Moon fullscreen example, showcasing GTK3, GTK4 and the shell.

the panel and the 'Files' program header are the same color the panel and VS Code's header are different colors GNOME Files' header blends perfectly into the topbar, while VSCode's doesn't.

mvllow commented 9 months ago

That's looking great! As far as building, would gnome-shell-extensions help? Looks like it allows setting a user theme from a directory which could remove the need to rebuild gnome shell each time. I'm not well-versed in this realm

Edit: user-theme extensions: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/tree/main/extensions/user-theme?ref_type=heads

ashbork commented 9 months ago

Applying the theme isn't an issue exactly because we can use the User theme extension, actually building the theme is tricky; what's the project's policy on the theme sources? The resulting gnome-shell.css is actually compiled out of a huge directory of parts from the gnome-shell project, should we include it in the repo with instructions to build it and add the resulting files to a release or should we have just the results?

mvllow commented 9 months ago

Oh that makes sense. Licensing doesn't seem to be an issue as far as including any or all of gnome-shell's css. For contributors it is best to allow building from source—I assume only including the result would make any modifications more difficult.

Edit: I do like the idea of having prebuilt releases though :)

ashbork commented 9 months ago

I think the way to go should be Gradience + icons + gnome-shell, in which case I'd like to have the release be a tarball that you'd just extract in your home directory. Gradience really seems to be the future for GTK theming and the old GTK4 theme I wrote probably won't be as future-proof. We could also opt for an install script that'd allow the user to pick whether they'd like to use Gradience or the legacy stylesheets