10

I am running Lubuntu 16.04 and would like a more unified look to my file chooser dialog boxes, so I trying to work out what toolkit each application uses, so then I can then figure out which configuration I need to change. So potentially on my system I have: GTK, GTK+, GTK2, GTK+ 2, GTK3, GTK+ 3, QT 5

So first of all I am unsure if for example GTK2 and GTK+ 2 are the same thing, so of the 7 toolkits listed are these all unique, if not, which ones can I group together as they are same thing. Once I have a list of unique tool kits, how can I tell what application a tool kit is using - if I look at them visually below: enter image description here Then from left to right I have: PCManFM File Manager, Nemo File Manager, LeafPad Open file, MousePad Open file.

So here the first 3 look slightly different, but they use the same icons (apart from the Seagate Removable drive which has different icon on all 3!), and so the look is quite unified, but the 4th "MousePad" looks completely different. Looking at the MousePad website https://github.com/codebrainz/mousepad , this is using GTK+ 2, but there seems to be at least 3 places I can change GTK settings:

dconf - org - gtk - Settings - FileChooser 
File: ~/.config/gtk-2.0/gtkfilechooser.ini
File: ~/.config/gtk-3.0/settings.ini

So I thought it would be ~/.config/gtk-2.0/gtkfilechooser.ini, but it turns out it is dconf - org - gtk so neither plus here nor version 2.

One good thing here is that the bookmarks in ~/.config/gtk-3.0/bookmarks are seen in all 4 applications.

So for the GTK+ 2 Mousepad open file, which looks completely different from the others:

  1. Where can I change the icons it is using
  2. Can I get this to display the device partitions on my hard drive ("Mint10", "Data", etc)

Amended information:

I had originally installed mousepad via apt-get which installed version 0.4.0-3ubuntu1 with:

Depends: libc6 (>= 2.4), libdbus-1-3 (>= 1.9.14), libdbus-glib-1-2 (>= 0.88), libglib2.0-0 (>= 2.41.1), libgtk-3-0 (>= 3.2.1), libgtksourceview-3.0-1 (>= 2.91.4), libpango-1.0-0 (>= 1.14.0), dconf-gsettings-backend | gsettings-backend

So it appears this is actually GTK+ 3, so this makes more sense now:

The filechooser with the grey icons is GTK+ 3 and the setting for this are changed in:

dconf - org - gtk - Settings - FileChooser 

The filechooser for leafpad is GTK+ 2 and the setting for this are in

File: ~/.config/gtk-2.0/gtkfilechooser.ini

I have tested this by toggling StartupMode between "recent" and "cwd" and this corresponds for each of the GTK + 2 and GTK + 3 apps.

I have also removed version 0.4.0-3ubuntu1 of mousepad and reinstalled what seems from the version number to be a later version - 0.4.0-4, but this depends on earlier GTK + 2 version so now mousepad gives me the same filechooser as leadpad

2
  • There is only Gtk+, not Gtk, so you can remove three toolkits from your list. It’s also unlikely you have anything using Gtk+1. You probably still have some Qt4, so you might want to add that. Mar 23, 2018 at 11:40
  • Thanks Steve, so it appear the grey icons are for GTK3 apps, but I use lxappearance to set the icon theme and this modifies the settings.ini ~/.config/gtk-3.0, but it appears the icon theme set here only applies to GTK2 apps and not GTK3 - why is this and how do I set the icon theme for GTK3 apps? Mar 23, 2018 at 17:15

1 Answer 1

3

It seems GTK and GTK+ are the same and GTK1 is quite old so on my system I have:

  1. GTK2 (same as GTK+ 2)
  2. GTK3 (same as GTK+ 3)
  3. QT5

One way to tell what toolkit an application is using is to look at the dependencies for the application, so for example on a Debian system like Ubuntu to find the dependencies for application mousepad:

dpkg -s mousepad | grep "Depends"
Depends: libc6 (>= 2.4), libdbus-1-3 (>= 1.9.14), libdbus-glib-1-2 (>= 0.88), libglib2.0-0 (>= 2.41.1), libgtk-3-0 (>= 3.2.1), libgtksourceview-3.0-1 (>= 2.91.4), libpango-1.0-0 (>= 1.14.0), dconf-gsettings-backend | gsettings-backend

So here you can see that mousepad depends on libgtk-3-0. Likewise the dependencies for a GTK2 application like leafpad have libgtk2.0-0 and dependencies for a QT application like VirtualBox have something like libqt5core5a

Note to find out package name for application like virtualbox you can use

dpkg -l | grep -i virtualbox

so in this example it returns "virtualbox-5.1" as the package name.

Once you have found what each of GTK2, GTK3 and QT look like, then you can tell from the icons what an application is using at it seems it is unlikely that GTK2, GTK3 and QT will share the same icon theme (in fact I have not being able to find an icon theme that I can use for both GTK2 and GTK3).

It is not just the look of the icons, you can also tell from what is displayed in the left pane when opening a file as it seems:

GTK2 will display:

Search
Recently Used
Home folder
Desktop
Devices (so will always show FileSystem, plus any separate partitions)
ALL bookmarks 

GTK3 will display:

Recently Used
Home folder
Desktop
Documents
Downloads
Music
Pictures
Videos
Rubbish Bin
Bookmarks excluding Documents, Downloads, Music, Pictures and Videos
+ Other Locations

So in GTK3 it would appear you cannot show Devices in the left pane (other than removable devices) so you have to click on "+ Other Locations" to get to your partitions and there seems no way of excluding Documents, Downloads, Music, Pictures, Videos and Rubbish Bin. If there is a way of customising the GTK3 file chooser to show Devices, then I would be interested to know.

The reason you cannot use the same icon theme for both GTK2 and GTK3 is that they don't use the same names for the icon files, so you would have to find an icon scheme that has the icon names for both GTK2 and GTK3.

QT looks completely different, so the left pane looks like:

QT file chooser

So this is a very minimalist view

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .