GNOME Bugzilla – Bug 304911
gnome-settings-daemon rudely overrides settings made elsewhere
Last modified: 2005-05-20 21:46:08 UTC
The background to this issue is Debian bug 309530: http://bugs.debian.org/309530 Summary: - Settings in the ~/.gtkrc-2.0 file, for example Emacs-style keybindings, have been documented and worked reliably for a long time. However, when gnome-settings-daemon is running, this setting is ignored, even though I never had any interaction with gnome-settings-daemon. There is no reason to break this: since the ~/.gtkrc-2.0 file was manually edited, it should take precedence. - When gnome-session-daemon is not running, the ~/gtkrc-2.0 settings do function. This difference is mysterious and frustrating--it took me a long time to figure out why Emacs keys worked on one system and not another. - When gnome-session-daemon starts, it (apparently) resets the keyboard to its XKB configuration, thus wiping out any changes that had been made with xmodmap. Again, I never told gnome-session-daemon to do anything with my keyboard, so it should keep its hands off. - I never asked gnome-session-daemon to run in the first place. It apparently started when I ran some other GNOME program, perhaps by accident. Since I do not use the GNOME desktop (but do use mozilla and a few other GNOME applications), and gnome-session-daemon can't stay out of my way, I don't want it running. But if random applications start it, I'm out of luck. Generally, please consider those of us who don't want to give our entire desktops over to GNOME, and prefer to configure things with other tools. Running some program by accident and having various unrelated things break is a poor user experience. Other information: I am using Debian unstable, with libgtk2.0-0 2.6.4-3.
GTK+ is working as intended. (And you've thrown all sorts of random issues into this bug that have nothing to do with GTK+. It's nothing to do with GTK+ whether gnome-settings-daemon starts. gnome-settings-daemon was never intended to run in non-GNOME environments anyways.)
First, I am running a GTK+ application (that also happens to be a GNOME application) and it is ignoring my ~/.gtkrc-2.0. At very least, this is unintutive and should be documented. Better would be to fix it--I see no technical reason to break something that used to work. Second, I am not a GNOME user and could not figure out when I was reporting the bug where to file the other issues. Since it's all the GNOME bugzilla, I was hoping someone would help me route the issue. Should I reopen it and assign it to general?
GtkSettings set via XSETTINGS have overriden GtkSettings set via .gtkrc since GtkSetting was introduced in GTK+-2.0.0. There is *NO* behavior change here. Reassigning to general has little point. If starting some gnome app (excluding the gnome preference dialogs) starts gnome-settings-daemon, file a bug against that app.
Would it be possible for gnome-settings-daemon not to assert XSETTINGS for the keybindings (if it has not been set explicitly), and let it fall back to .gtkrc? As a user, I don't care about XSETTINGS, I just care that the configuration I typed in stopped working. Anyhow, if starting gnome-settings-daemon is a bug, I'll file it if I ever figure out the culprit. I was rather afraid it was by design. Thanks for your help.