GNOME Bugzilla – Bug 308282
What does "separate group for each window" mean ?
Last modified: 2007-07-11 11:20:17 UTC
The checkbox on the layout page of the keyboard capplet that says "Separate group for each window" doesn't come close to explaining what it is for. It is also not explained in the help.
Actually it means that if in abiword you are typing in Russian, then switch to Firefox and fill some form in English - when you return back to Abi, you'll automatically have Russian back. If you have better wording for it - you're welcome. Sure, the people who are in charge for the gnome help - should fix it too.
"Maintain language setting for each window" ?
Ccing usability on this. Maybe "language setting by window"?
Not exactly true in all cases. For example, in current xorg Hungarian uses 2 groups (and I hate it!). But even saying this - what about people who would have 'gb' and 'ie' as 2 groups (well, difficult to imagine)? What about Canadians, who have multilingual layout with 2 groups? So if we can afford using not precise wording - it would be ok. Otherwise we have to think about something different.
What is a group ?
The best way to answer is to give you this reference: http://xlibs.freedesktop.org/xkbdesc/xkbconfig.sxw
I think the relevant part of xkbconfig.sxw is this: > A 'group' is a logical state of a keyboard, providing access to > a collection of characters. ... > > Layouts usually express national variations (eg. German) but > they can also be used for alternate keyboard layouts (eg. > Dvorak) or other such oddities. Any layout can describe one (eg. > French) or several (eg. Russian) groups. Each group within a > layout has unique name. A layout can optionally have several > variants which represent small changes within the groups. I can imagine some reasons why this terminology was introduced. Nevertheless, I think it's twisted. I would a prefer to call a "layout" what is called a >group< in xkb, and to call a "group of layouts" what xkb calls a >layout<. And actually this seems to be how things are *ALREADY* called in the Keyboard Preferences dialog, and the Choose A Layout dialog. Except for the "Separate group for each window" checkbox, there is not a single mention of a "group" anywhere. "Layouts" is all you see. In the Choose A Layout dialog, available variations of a layout (i.e., xkb >groups<) are show in an expander. So I think this sole mention of "group" is really confusing (I know it's also mentioned and explained in the help, but who bothers reading that). For a user, a >group< is a layout. So at least, the checkbox should be titled "Separate layout for each window". But I would really prefer a variation on Crispin's suggestion: "Maintain [separate] layout setting for each window".
Well, I do not particularly object. The only problem may happen with proprietary or old X servers (or people with handcrafted layouts). Using the word 'layout' in this context would just confuse people using layouts with several groups. Try to raise the issue in gnome-devel list (or desktop-devel), and if there is consensus - I'll happily change it.
Is this per window or per application? I've read the following 3 times, and I still don't understand it: > A 'group' is a logical state of a keyboard, providing access to > a collection of characters. ... > > Layouts usually express national variations (eg. German) but > they can also be used for alternate keyboard layouts (eg. > Dvorak) or other such oddities. Any layout can describe one (eg. > French) or several (eg. Russian) groups. Each group within a > layout has unique name. A layout can optionally have several > variants which represent small changes within the groups. What is a group? How can I explain this concept to a reader of the user guide?
Well, it is really difficult to explain. I can just refer ISO documentation on this. Roughly and approximatel, a group can be considered as a layout for one language/alphabet.
Is it fair to say that in the 'Choose layout' dialog, the groups are the labels with the expand arrows, and the layouts are the items inside?
No. In that tree there are layouts and variants. The layouts are with expand arrows, the variants are the items inside (actually, the layout item correspond to the "default" variant for the layout). You DEFINITELY should look at http://xlibs.freedesktop.org/xkbdesc/xkbconfig.sxw
So.... a layout can contain several groups? (That seems the wrong way round from a purely semantic point of view.) I understand from further down that document that the Russian layout contains two groups, a cyrillic and a latin one. How does this work out in the interface? I've just added the Russian layout, but I don't see any indication of the two groups in it.
I use Debian testing with xorg 6.9.0 on a i686 PC. It seems the layouts are loaded from /usr/X11R6/lib/X11/xkb/symbols/pc/ -- all layouts there are "normalized", i.e., they contain exactly one group (although they usually contain several variations, e.g., .../xkb/symbols/pc/sk contains four variations of the Slovak layout; similarly for Russian, and so on). In other words, the situation there is as described in section "XKB configuration changes in XFree 4.3.0" and illustrated in Appendix C of http://xlibs.freedesktop.org/xkbdesc/xkbconfig.sxw . Old layouts containing more than one group are directly in .../xkb/symbols/ (e.g., .../xkb/symbols/sk defines group1 -- Slovak and group2 -- US, and specifies that they are switched by simultaneously pressing both Shift keys), but you can't select them in the "Choose A Layout" dialog. The layouts in all subdirectories (not only .../xkb/symbols/pc/) contain exactly one group. So with XFree86 4.3.0+ and xorg (on PC at least), you can safely assume that there is no distinction between a layout (or perhaps a layout variation, but they are presented as layouts to the user anyway) and a group. But things may still be complicated for older X servers. I have no idea what options you have in the "Choose A Layout" dialog when running an older X server.
> So.... a layout can contain several groups? (That seems the wrong way round > from a purely semantic point of view.) Yes. Though now in xkeyboard-config (officially recommended by xorg) all normal layouts are single-grouped. I'd say even in xorg most of layouts are single-grouped. > I understand from further down that document that the Russian layout contains > two groups, a cyrillic and a latin one. How does this work out in the > interface? I've just added the Russian layout, but I don't see any indication > of the two groups in it. Russian layout contained two groups back in xfree 4.2 days. Since xfree 4.3 it is one-grouped. The default xorg ruleset takes it from symbols/pc subdirectory, where single-grouped layouts are placed in xfree/xorg - but this can be changed. The layouts in symbols dir are old. multi-grouped - but they are mostly ignored by xorg ruleset.
So if all normal layouts are single-grouped, can we use the terms 'layout' and 'group' as synonyms? We could therefore remove the term 'group' from the UI.
In modern xorg and xkeyboard-config "layout" and "group" could be used as synonyms. If we forget about old versions of Xorg/XFree and commercial X servers - yes we could get rid of the word "group" in UI. But I am not sure I am in a position to make this decision. It is not a technical issue, it is about compatibility policies.
Changed to "layout".