On my Ubuntu 20.04 install, the theme I was using was working fine with my gtk2 application (which follows our docs) but then I switched to the Yaru theme and the gtk2 app has the old default styling. Wondering if this was local to my snap, I then tried gtk2-demo and found it was also affected by this issue. This is easily replicated with:
$ sudo snap install gtk2-demo
$ gtk2-demo
Change the ‘Applications’ theme via gnome-tweak to Adwaita or Ambiance (for example) and gtk2-demo (and my application) is correctly themed. Change it to Yaru and it is not.
$ snap list gtk2-demo gtk-common-themes gtk2-common-themes
Name Version Rev Tracking Publisher Notes
gtk-common-themes 0.1 1499 latest/edge canonical✓ -
gtk2-common-themes 0.1 12 latest/edge canonical✓ -
gtk2-demo 2.24.30 12 latest/edge jamesh -
$ snap connections gtk2-demo
Interface Plug Slot Notes
content[gtk-2-engines] gtk2-demo:gtk-2-engines gtk2-common-themes:gtk-2-engines -
content[gtk-2-themes] gtk2-demo:gtk-2-themes gtk-common-themes:gtk-2-themes -
content[icon-themes] gtk2-demo:icon-themes gtk-common-themes:icon-themes -
desktop gtk2-demo:desktop :desktop -
desktop-legacy gtk2-demo:desktop-legacy :desktop-legacy -
x11 gtk2-demo:x11 :x11
I think you this fixes it:
environment:
GTK_PATH: $SNAP/lib/gtk-2.0
Either that or this does:
environment:
GTK_DATA_PREFIX: $SNAP
I have both of those set in audacity and I believe it is styled correctly…
In my snap, I have both of these:
environment:
...
GTK_DATA_PREFIX: $SNAP
GTK_PATH: $SNAP/lib/gtk-2.0
...
So does gtk2-demo:
environment:
GTK_DATA_PREFIX: $SNAP
GTK_PATH: $SNAP/lib/gtk-2.0
...
audacity is not styled correctly for me in an up-to-date focal install using yaru
The leafpad snap is properly themed, which is what I use as my test case.
For reference: https://github.com/kenvandine/leafpad-snap/blob/master/snapcraft.yaml
gtk2-demo is also working for me. I have gtk-common-themes and gtk2-common-themes from the candidate channel
OK, gtk-common-themes from edge is broken. Use either candidate or stable. I think the edge build comes from Yaru’s CI. I’ll check in with them to see what’s going on with that.
1 Like
try again (I had only released it to beta. it’s now in stable)
I confirmed that using either stable or candidate works great. Thanks!
1 Like
@clobrano I think Yaru is publishing gtk-common-themes to edge from CI. The version being published in CI is missing quite a few fixes including the gtk2 variant of Yaru that’s built as part of the snap build.
This might be due to an error I made in a test PR. Is there any other way to trigger a new gtk-common-theme build?
I could just publish our latest build to edge to replace what’s there?
Do you not have an automated build that publishes?
1 Like
There’s a CI, but only when pushing to bionic branch
Excellent - thanks @lucyllewy
I could try now to push some update to bionic, and see if this trigger the correct rebuild of edge for both
EDIT: or, I could be a little smarter and trigger again the CI on bionic branch
I rebuilt gtk-common-themes
with the content from the proper branch.