08.08.2011 22:22, Ray Strode пишет: > Previously the way it worked was SelectLayout was called any time the > user switched layouts in the greeter. that information would get sent > to the processing handling the authentication conversation, so that > after authenticating (and we knew the user's home directory was > available) we could save the infomration in ~/.dmrc Could you elaborate a bit - who actually write this info into .dmrc? Greeter? Where can I find format and examples of .dmrc? > DefaultLayoutNameChanged was emitted when the ~/.dmrc is first > available to read, so the greeter could italicize the user's "default" > layout in the layout list. Same here - who actually read .dmrc - greeter? gdm? When this is happening - right after username is entered into greeter? After some dbus signal fired? > The whole thing didn't work very well though. It turns out a > significant number of multiple layout users want to enter their > username and password in a different layout than they want post-login. > Also, the code in general has been plagued with bugs (races between > SelectLayout/DefaultLayoutNameChanged, dropping auxillary information > about the layout in the greeter, etc). Thanks's for the explanation - the commit comment I've found was too brief :) > The new plan is to provide the same interface the shell is going to provide: > > https://live.gnome.org/GnomeShell/Design/Guidelines/SystemStatus/InputLanguage > > but make it specific to the greeter, and not the user. So the old way is dropped and new one is not ready yet. Just to make sure - which is the last GDM version with layout switching support? > I believe it's something like xkl_config_rec_get_from_server to get > the list of grouped layouts, and then xkl_engine_get_current_state to > get the currently locked group. Thanks a lot! I'll try to implement this feature in my greeter. This layout stuff is actually much trickier that it seems at first sight :) cheers, Max.
Attachment:
signature.asc
Description: OpenPGP digital signature