Date: Mon, 02 Apr 2007 13:21:08 +0300 From: Andriy Gapon <avg@icyb.net.ua> To: freebsd-gnome@freebsd.org Subject: Re: gnome-theme-manager vs gtkrc-2.0 Message-ID: <4610D914.9060405@icyb.net.ua> In-Reply-To: <4607D463.7020702@icyb.net.ua> References: <4607D463.7020702@icyb.net.ua>
next in thread | previous in thread | raw e-mail | index | archive | help
on 26/03/2007 17:10 Andriy Gapon said the following: > Environment: > FreeBSD 6.2-RELEASE-p2 amd64 > gtk-2.10.11_2 > gtk-engines2-2.10.0 > gnome-desktop-2.18.0 > gnome-themes-2.18.0_1 > gnome-control-center-2.18.0 > > I am not using full GNOME desktop, but rather many GNOME and GTK > applications (i.e. no gnome-session stuff). > > I have the following line in my .gtkrc-2.0: > include "/usr/local/share/themes/Mist/gtk-2.0/gtkrc" > > Everything works OK except for one minor problem: if I run > gnome-theme-manager it hangs eating 100% CPU. > This problem did not exist with gnome 2.16. > From ktrace output it looks like gnome-theme-manager is looping or is > recursing reading .gtkrc-2.0 and /usr/local/share/themes/Mist/gtk-2.0/gtkrc. > General impression is that trying to do include involves something that > needs .gtkrc-2.0 again. While trying to debug this problem I discovered some interesting and new (to me) things. It seems that now there is such thing as XSETTINGS and apparently gnome-settings-daemon acts as xsettings manager. GTK2 applications on startup (in gtk_init and similar) read those xsettings and they actually override certain settings from gtkrc-s. So in my case gnome-theme-manager read my .gtkrc-2.0, then explicitly included /usr/local/share/themes/Mist/gtk-2.0/gtkrc, and then honored Net/ThemeName="Mist" xsetting and apparently that caused some confusion. So, now instead of explicit include I use more modern and correct way to specify a theme via gtkrc: gtk-theme-name="Mist" This has correct effect when xsettings are not available and also Net/ThemeName overrides this property, so everything is still right when xsettings are available (i.e. gnome-settings-daemon is running). Now the hang is fixed for me, so I don't really want to pursue further what lines of code actually caused it. -- Andriy Gapon
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4610D914.9060405>