GNOME Bugzilla – Bug 693381
Commands issued by keyboard shortcuts behave different than with alt+F2
Last modified: 2013-02-19 07:46:58 UTC
This was very hard to track, I hope I am filing it on the right place. It started with bug 692753 in which I reported gnome-terminal options being reset, but as I tested more thoroughly I found out that the problem is that the *same* commands behaved differently if I ran them from keyboard shortcuts or from alt+F2. To make a long story short: running gnome-terminal from alt+t (set on the keyboard settings "Shortcuts" tab) resets terminal opacity to zero, while running it from alt+F2 respects configurations made to the profile. Following advice from Christian Persch I set up a command to output the environment, and running it from a keyboard shortcut yields a different result than running it from alt+F2. The diff is: ~ diff keybind altf2 4d3 < DESKTOP_AUTOSTART_ID=10ee44445250437bb6135974084547510200000269310001 8a8,9 > GJS_DEBUG_OUTPUT=stderr > GJS_DEBUG_TOPICS=JS ERROR;JS LOG 22a24,27 > LC_MEASUREMENT=pt_BR.utf8 > LC_MONETARY=pt_BR.utf8 > LC_NUMERIC=pt_BR.utf8 > LC_TIME=pt_BR.utf8 31c36 < QT_IM_MODULE=xim --- > QT_IM_MODULE=ibus 51c56 < XMODIFIERS=@im=none --- > XMODIFIERS=@im=ibus Christian believes LC_NUMERIC could be the culprit here; it could be, because opacity is stored as a float number, and decimal separator differs from en_US (".") to pt_BR (","). Bug 692753 has some additional info on the investigation process.
Created attachment 235684 [details] [review] main: Set locale envvars on startup When starting up, we tell gnome-session to set the environment variables for new starting programs, but we don't set the environment for our own children. Do this on start up, as soon as possible.
This should fix the LC_* variables not being set by gnome-settings-daemon for its own children, but that doesn't explain why gnome-terminal would use a locale-dependent decimal point. Please test.
I'll consider this fixed, reopen if that's not the case Attachment 235684 [details] pushed as aef9bb2 - main: Set locale envvars on startup
The IM module settings were different too in the diff in comment 0... any ideas about why?
(In reply to comment #4) > The IM module settings were different too in the diff in comment 0... any ideas > about why? We didn't set them either. I'm fixing that in: commit d69767eedc9f769160f7a06f1afa33e20358699e Author: Bastien Nocera <hadess@hadess.net> Date: Fri Feb 15 17:33:45 2013 +0100 main: Set our own IBus envvars as well Just as we set gnome-session's. https://bugzilla.gnome.org/show_bug.cgi?id=693381
*** Bug 674995 has been marked as a duplicate of this bug. ***
(In reply to comment #2) > This should fix the LC_* variables not being set by gnome-settings-daemon for > its own children, but that doesn't explain why gnome-terminal would use a > locale-dependent decimal point. > > Please test. Thks for the fix. Unfortunately I'll only be able to confirm if it works when it gets merged downstream to Fedora 18 (currently gnome-settings-daemon-3.6.4-3) :-( I'll file a bug on their bugzilla in order to speed things up.
Pushed to gnome-3-6 as well.