Fonts are ugly inside gtk applications. How can I set gtk4 config?


Font rendering is ugly inside my gtk applications : I’m using the Adapta-Nokto-Eta-Maia theme (Manjaro i3 default) and white text over grey background has red and blue on the edges (as shown e.g. in this image).

I suspect this is related to the font hinting and subpixel geometry settings. I tried to use lxappearance (shipped with manjaro i3) to change the settings. This indeed edits ~/.gktrc-2.0 and ~/.config/gtk-3.0/settings.ini. But I found out that gtk-query-settings returns gtk-xft-rgba: "rgb" for instance whereas it is set to none inside the aforementioned config files.

I tried to create, ~/.config/gtk-4.0/ and copy files from the gtk-3.0 dir. I made sure every property was listed inside this reference but I still get the same output from gtk-query-settings. This reference states:

GtkSettings provides a mechanism to share global settings between applications.

On the X window system, this sharing is realized by an XSettings manager that is usually part of the desktop environment, along with utilities that let the user change these settings.

But I’m a little lost on how to investigate how gtk gets these settings.

I had my experience with the issue, some monitors have BGR Subpixel-layout unlike RGB Subpixel-layout.

Does your monitor use BGR-layout?

My screen is a Dell S2721QS and has RGB subpixel layout.

Anyway, as described, it seems like I’m not able to set this setting for GTK applications.

gtk-query-settings is for GTK3, so changing GTK4 configuration files won’t have any effect on that. Try gtk4-query-settings.

The upstream Adapta theme is long dead. It does not support Gtk 4.

Thanks for your answers @pobrn and @Yochanan !

First question : is there a simple way to know whether an application uses gtk3 or gtk4 (if this makes sense) ? For now, I’m using pcmanfm as a “probe” to check whether changing my gtk settings in one of these files has any visual effect.

Very interesting. Does this mean that my local gtk3 configuration is not correct and that a default config file is read instead ?

Thanks, I had no idea ! I will try to switch to another theme. However, since pcmanfm seems to be old and gtk-2.0 based, I should see my configuration reflected in the UI when I update gtk-2.0 config files, is that correct ?