I have installed Pinta 1.7 via Snap on Ubuntu 20.10. My desktop environment is Gnome under Wayland. I’m using one of the Vimix themes (amethyst, but it makes no difference if I use the default colour Vimix). They’re installed from Github in ~/.themes/. When I launch Pinta, it looks… unthemed…
It looks like gtk-common-themes is installed:
~ ⚬ sudo snap install gtk-common-themes
snap "gtk-common-themes" is already installed, see 'snap help refresh'
vimix-themes is also installed.
If I try to look up the theme in a regular shell:
~ ⚬ gsettings get org.gnome.desktop.interface gtk-theme
'vimix-amethyst'
~ ⚬ snap run --shell pinta-james-carroll.pinta
To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.
jason@gary:/home/jason$ $SNAP/bin/desktop-launch gsettings get org.gnome.desktop.interface gtk-theme
No such schema “org.gnome.desktop.interface”
Why can’t the Snap environment access the Gnome theme setting? And, just to satisfy my curiosity, why does it default to something that looks like a Javascript reimplementation of Windows 95? (Instead of, say, Yaru or Adwaita?) How can I make Pinta not look like that?
Pinta is a GTK2 app with a GTK3 port in progress, so it’s using GTK2 theming logic here. I believe there’s snapd work on getting arbitrary GTK3 themes to work in snaps without relying on content sharing with the gtk-common-themes snap, but I’ve no idea how that’s progressing and it wouldn’t help until the GTK3 port is complete.
Pinta is also a core20 base app and if I remember correctly, glibc does some magic so that gsettings is actually private per snap which will likely be why the gsettings command returns nothing, though I’d appreciate if someone could confirm that.
Overall I think the snap itself is doing as much as it can correctly, and the long term answer is that the GTK3 port and some snapd work will hopefully fix the problem consistently for everyone.
Just installing it won’t do the magic, Pinta and essentially everything else will default to using gtk-common-themes, you need to explicitly tell it to try an alternate snap
Pinta 1.8 still in development but it is using GTK3. I have tested it and it looks pretty nice. There is still some work to do (some small bugs), but it looks like 95% ready.
The last update I’ve seen to snapd aiding with theme installation is here. It’s yet to be put into snapd stable, but the work is coming along.
I’m unlikely to create an edge build for Pinta, the transition to .Net 5 means I’d have to spend several hours making sure the runtime still works as expected and I don’t expect the adoption of an edge build to be worth the time invested in doing it, in my other snaps I’ve never gone above a handful of users and they all generally end up going back to stable anyway. The Pinta devs would also probably prefer that I didn’t contribute bug reports to the development release that were my fault and not theirs.
But I do track Pinta’s progress and I’ll update the stable channel to 1.8 when it releases.
Just installing it won’t do the magic, Pinta and essentially everything else will default to using gtk-common-themes, you need to explicitly tell it to try an alternate snap
Personally I think this is something of a “paper cut” bug ie. a small, not-really-functional bug that nonetheless adds a tiny bit of annoyance to using something. It would be good if this step was not necessary.
Thanks for updating Pinta, I’ll give it a shot via Git for now. Let me know when the Snap is ready and I’ll try that out too!