-> I get "GBr" as default layout consistently, which is correct (g-s-d has code to match that).
So what we actually need now is one of those:
- not override the system default if the user doesn't pick anything different in gdm; i. e. consider an empty list in gconf as a valid long-term configuration
- passing the entire list of system defaults in $GDM_KEYBOARD_LAYOUT, with the one selected being first
The first seems easier to implement indeed.
Sorry for all the back and forth, it took me a while to test all the scenarios, read the code, and understand how things should work.
Taking notes for myself, please ignore.
I tested this in more detail, and gsd always sets the current default layout to what is in $GDM_KEYBOARD_ LAYOUT, so this is already working correctly.
Simple check which avoids logging out/in:
gconftool --type list --list-type string -s /desktop/ gnome/periphera ls/keyboard/ kbd/layouts '[us,de]' LAYOUT= gb gnome-settings- daemon --debug --no-daemon
GDM_KEYBOARD_
-> I get "GBr" as default layout consistently, which is correct (g-s-d has code to match that).
So what we actually need now is one of those:
- not override the system default if the user doesn't pick anything different in gdm; i. e. consider an empty list in gconf as a valid long-term configuration LAYOUT, with the one selected being first
- passing the entire list of system defaults in $GDM_KEYBOARD_
The first seems easier to implement indeed.
Sorry for all the back and forth, it took me a while to test all the scenarios, read the code, and understand how things should work.