You are not logged in.

#1 2014-12-06 20:12:02

exscape
Member
Registered: 2014-12-06
Posts: 3

Adwaita theme overrides ~/.gtkrc-2.0 (GNOME 3.14); change load order?

Is there some way to change the load order for these files?

For example, if I look at file opens when opening audacity and gvim:

~ $ sudo opensnoop gtkrc
Tracing open()s for filenames containing "gtkrc". Ctrl-C to end.
COMM             PID      FD FILE
audacity         24860   0x6 /usr/share/gtk-2.0/gtkrc
audacity         24860   0x6 /home/serenity/.gtkrc-2.0
audacity         24860   0x6 /usr/share/themes/Adwaita/gtk-2.0/gtkrc
audacity         24860   0x6 /usr/share/themes/Default/gtk-2.0-key/gtkrc
gvim             24957   0x8 /usr/share/gtk-2.0/gtkrc
gvim             24957   0x8 /home/serenity/.gtkrc-2.0
gvim             24957   0x8 /usr/share/themes/Adwaita/gtk-2.0/gtkrc
gvim             24957   0x8 /usr/share/themes/Default/gtk-2.0-key/gtkrc
^C
Ending tracing...
~ $ 

(opensnoop script is Brendan Gregg's, using ftrace.)

~ $ cat ~/.gtkrc-2.0 
gtk-primary-button-warps-slider = 0
gtk-recent-files-max-age = 0
gtk-recent-files-limit = 0

The warps-slider setting has zero effect, because it is set to 1 in /usr/share/themes/Adwaita/gtk-2.0/gtkrc! If I edit that file, it works exactly as I want it to... but that feels like an ugly hack.
Isn't the whole idea with a per-user gtkrc that it always overrides everything else?

Last edited by exscape (2014-12-06 20:12:25)

Offline

#2 2014-12-07 15:27:14

TE
Member
Registered: 2014-06-21
Posts: 86

Re: Adwaita theme overrides ~/.gtkrc-2.0 (GNOME 3.14); change load order?

This is (unfortunately) how the theme engine init works, it's called after gtk_rc_set_default_files() in the GTK+ code -- what you can hack is this:

mkdir ~/.themes && cd .themes
cp -a /usr/share/themes/Adwaita .
echo 'include "custom.rc"' >> Adwaita/gtk-2.0/gtkrc
cp ~/.gtkrc-2.0 Adwaita/gtk-2.0/custom.rc

You can delete everything else in ~/.themes/Adwaita except the gtk-2.0/ subdir *I think* and not have to leave the rest there, but you should test...

Offline

#3 2014-12-16 23:08:00

tazmanian
Member
Registered: 2009-10-25
Posts: 40

Re: Adwaita theme overrides ~/.gtkrc-2.0 (GNOME 3.14); change load order?

Here's a slight tweak to what TE suggests.

mkdir -p ~/.themes/Adwaita/gtk-2.0
echo 'include "/usr/share/themes/Adwaita/gtk-2.0/gtkrc"' >> ~/.themes/Adwaita/gtk-2.0/gtkrc
echo 'include "'${HOME}'/.gtkrc-2.0"' >> ~/.themes/Adwaita/gtk-2.0/gtkrc

This avoids polluting ~/.themes with unnecessary files, and ensures you only override those settings you care about.

Offline

Board footer

Powered by FluxBB