pop-os / gtk-theme

System76 Pop GTK+ Theme
GNU General Public License v3.0
780 stars 80 forks source link

Update flatpak theme #553

Open jackpot51 opened 2 years ago

jackpot51 commented 2 years ago

The current flathub version of the theme does not support GTK4. Keep it in better sync with the master branch.

https://github.com/flathub/org.gtk.Gtk3theme.Pop/pull/7 is a draft and could be updated.

jackpot51 commented 2 years ago

This is high priority since a number of applications from the newly released GNOME 41 will be using GTK4.

isantop commented 2 years ago

@jackpot51 GNOME Applications (or any other GTK4 applications) installed from Flathub are not picking up the test builds of the Theme in Flathub using GTK4. The Flatpak theming system doesn't appear to use the GTK4 extensions present in the theme, and it's not entirely clear how a GTK4 theme needs to work because there aren't currently any GTK4 compatible themes on flathub (and the documentation for Flatpak doesn't list anything for GTK4 themes, only GTK3 and GTK2.

The test build can currently be installed using flatpak install --user https://dl.flathub.org/build-repo/60736/org.gtk.Gtk3theme.Pop.flatpakref. I'm testing with Polari, its developers have stated that it uses GTK4 but not LibAdwaita.

ramilrgk commented 11 months ago

Please fix this issue 🙏🙏🙏🙏. Adwaita in GTK4 looks terrible with the rest of Pop OS apps, its using rounded windows

bbhtt commented 11 months ago

and it's not entirely clear how a GTK4 theme needs to work because there aren't currently any GTK4 compatible themes on flathub (and the documentation for Flatpak doesn't list anything for GTK4 themes, only GTK3 and GTK2.

The runtime needs to create a separate extension point for GTK4 themes. Only Gtk3 themes have extension now

https://gitlab.com/freedesktop-sdk/freedesktop-sdk/-/blob/27825ba8d7720efe30d9f88650edcb88fd8a1c1e/elements/flatpak-images/platform.bst#L78

https://gitlab.gnome.org/GNOME/gnome-build-meta/-/blob/89623727ce7add26697e33ee0bc9ece077affa1f/elements/flatpak/platform.bst#L75

Then you can create a separate package like org.gtk.Gtk4theme.THEME

See also the above comment.

Edit. Follow https://gitlab.gnome.org/GNOME/gnome-build-meta/-/issues/697, https://gitlab.com/freedesktop-sdk/freedesktop-sdk/-/issues/1620

TiZ-HugLife commented 2 months ago

FDO has been pushing back against us on this. I haven't even asked on GNOME's gitlab yet because I do not believe they will be sympathetic to the cause of theming. However, if FDO continues to refuse to integrate GTK4 until it meets whatever criteria GTK3 met to justify its inclusion, GNOME may be the only folks who can do it.

I brought up a question on FDO's tracker: the existence of GTK3 theme extension points was mainly only necessary because every GTK3 version kept breaking the way themes worked until around 3.18 or 3.20. Icon themes are actually just passed directly into the sandbox, exposed as /run/host/{share,user-share}/icons, because they're only images and it's safe.

So I want to ask: what's version churn like on GTK4 theme compatibility? Because it's possible that it may be better to take the same approach as is currently taken with icons and just pass them into the sandbox as-is. Do minor-versioned theme directories (gtk-3.18, gtk-3.20, gtk-3.22, etc) still exist in GTK4 in case they decide to go and break everything again?