Why can't Pinta use themes?

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…

pintaaaargh

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'

But if I run this command I cribbed from some other post:

~ ⚬ 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.

There’s a post here (https://discourse.ubuntu.com/t/ive-discovered-something-about-snap-theming/8316/10) that suggests that since Pinta will be using XWAYLAND, it should actually probably recieve the right theme information anyway. I’d guess that Vimix just simply isn’t in gtk-common-themes, I can’t see it here https://gitlab.gnome.org/Community/Ubuntu/gtk-common-themes/-/blob/master/snap/snapcraft.yaml

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.

In the short term, I think https://snapcraft.io/vimix-themes can help you out with the Vimix theme specifically.

2 Likes

Thanks! The app is still useable, so there’s that. Its appearance makes more sense knowing that it’s a GTK2 app.

I actually have that installed, but it doesn’t seem to have any effect on Pinta specifically.

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

sudo snap connect pinta-james-carroll:gtk-2-engines vimix-themes:gtk-2-engines
sudo snap connect pinta-james-carroll:gtk-2-themes vimix-themes:gtk-2-themes
sudo snap connect pinta-james-carroll:icon-themes vimix-themes:icon-themes
sudo snap connect pinta-james-carroll:sound-themes vimix-themes:sound-themes

(With the disclaimer I’ve not tried the vimix-themes snap itself so I’m hoping that actually works)

Edit: Looks like vimix-themes only provides gtk-2-themes and icon-themes, so the other 2 connections should fail.

1 Like

Hi,
I have installed Pinta 0.5 on Windows XP and default theme looks ugly. Is there any way I can set theme to look like Pinta 0.5 on Ubuntu 10.10?

I would like to have:

  1. icons to look exactly like on Ubuntu.
  2. big icons (on Windows are small icons, I prefer to have big icons),
  3. bellow icons to have a icon titles.
    Regards MyBPCreditcard

I’m afraid that this is out of this forum’s topic.

1 Like

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.

I tested in Ubuntu 20.04. I did:

  1. In browser: https://github.com/PintaProject/Pinta/actions?query=workflow%3ABuild
    Note: You have to be logged into Github to download files. If you are not logged into you will get 404 error.
    EDIT: You need to download version that is labeled wiht gtk3-v2 (it’s blue tag).
  2. Click on the top first link (what ever is it when you are reading this) commit from Build list.
  3. New web page opens. Move down to “Artifacts” section and download Pinta-ubuntu-20.04.zip.
  4. Unzip the file. And then unzip unzipped file.
  5. I then started the Terminal with CTRL+ALT+T and executed “cd <directory_of_extracted_zip_file>/<directory_of_extracted_zip_file>”
  6. Run Pinta: ./Pinta

It looks like Pinta 1.8 does not require any Mono to be installed on the system. It packages everything inside zip file.

Now play along with themes. Are they working?

P.S. Maybe snap package could be created for 1.8 like in new “edge” channel. @James-Carroll what is your opinion?

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.

1 Like

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!

There was an update on automatic themes in Snaps the other day here

https://snapcraft.io/blog/snaps-and-themes-on-the-path-to-seamless-desktop-integration

No idea when it might land in stable but it’s certainly progressing :slight_smile: