Why do different programs with GTK design look so different?

Idk what a gtk is but i hear the word wit hthese so it’s probably something GTK’y. Libreoffice, the buttons on the save and do not save when you attempt to exit an unsaved document? They use a very different style compared to say gnome’s excellent text editor. Gimp is similar.

Then there’s the funny one. When you save a file on your web browser you get nautilus file manager to ask where you want it, and on the bottom is the blue “save” button. Nothing weird there. But as soon as you use say virtual machine manager and start messing around with .iso’s there for VM’s you get a file manager window with the save as button on top rather than on the bottom, in a style that looks quite a bit older than nautilus itself.

Why is this?

Most likely what you’re observing is the difference in appearance between Gnome apps built using Libadwaita and those built with plain Gtk.

Gtk is a cross-platform GUI toolkit. It’s a library you can use to build apps with Graphical User Interface for different DEs and platforms.

Libadwaita on the other hand is a library built ontop of Gtk 4 following the Gnome design language. Those apps looking sleek and Gnomy are most likely using Libadwaita.

On the other hand, if you build an app with plain Gtk, it will look different because they aren’t built with a single design language in mind. They are meant to run on different platforms and DEs.

1 Like

I see. So no way around it?

So no way around it?

I guess you mean making the plain Gtk apps look like Gnome apps. I am afraid I don’t know of any way of achieving that.

The Linux desktop isn’t Apple: there isn’t a single toolkit, and there’s no mechanism to incentivise application developers to use a single toolkit. Even on Windows you get different iterations of the official Microsoft toolkits in the same OS.

This is caused by applications not using the desktop portal for file selection. If they did, then you’d only see Nautilus as a file selection window.

2 Likes

so Libadwaita looks more Appleish??

Or cleaner??

This means i need to chase this squirrel and find the answer doesnt it??

Also, i was wondering… GTK3 is becoming legacy in a while, does that mean when everyone jumps to GTK4 will they switch UI design or will they just do the same but with GTK4 instead of GTK3?

If an application developer wants to target GNOME, then they should use GTK4 and libadwaita. If they don’t want to target GNOME, then they can use GTK4, either by itself or with another platform library, like libgranite (for ElementaryOS). It’s up to the application developers to decide.

1 Like