User-Agent: Mozilla/5.0 (X11; U; Linux i686; fr; rv:1.8.0.7) Gecko/20060921 Ubuntu/dapper-security Firefox/1.5.0.7 Build Identifier: Initially reported at: https://launchpad.net/distros/ubuntu/+source/xfce4-xkb-plugin/+bug/43185 Additional keyboard variants are not shown properly/fully in a descriptive manner in the keyboard switcher applet in XFCE. Reproducible: Always Steps to Reproduce: 1. Add an alternat keyboard variant in /etc/X11/xorg.conf : Section "InputDevice" Identifier "Generic Keyboard" Driver "kbd" Option "CoreKeyboard" Option "XkbRules" "xorg" Option "XkbModel" "pc104" Option "XkbLayout" "us,us" Option "XkbVariant" ",alt-intl" EndSection 2. Logout, then login again 3. Add keyboard applet to XFCE panel 4. switch among keyboards by clicking on the applet Actual Results: XFCE keyboard switcher shows only the keyboard layout text label without the keyboard layout variant (in this case Alternative International for the 2nd layout). Similarly, a hint indicating the variant is changing could be added to the flag icon display. I think this is what the same applet in Gnome does. Expected Results: XFCE keyboard switcher should show the layout and variant information. This is a major usability problem for anyone using anything else than a standard US layout. I understand to even configure an alternate keyboard under XFCE at this point there is no "friendly" way unless you do it with the gnome tools first. Regardless, I think the way it's displayed is part of fixing the overall usability problem for anyone wishing to have keyboard variants. Another XFCE bug talks about adding layout config options to this applet config dialog: http://bugzilla.xfce.org/show_bug.cgi?id=1901 The variant *label description* can be very long, but the label itself is at most 22 characters, most being aroun 7~ 10. I checked this in this file: /usr/lib/X11/xkb/rules/xfree86.lst However, even 7~10 characters is too long to show. Ultimately, this should be as configurable as the date-hour settings which permit using a variable-based template. The way variants are used, I think, is mostly as a modification of an existing keyboard layout. For example, US becomes US - International. This is in effect the keyboard layout code plus the keyboard variant description. I suggest to have the keyboard layout plus variant description as a hint (mouse-over bubble/dialog), which would make it friendly to its panel space. This, again, should be configurable by variables. In the panel applet space, I think Gnome uses an asterisk (*) to differentiate between a variant and its standard layout. So, if I follow my configuration example, If I had only one variant for US, repeatedly changing the layout would show US and US(*) only in the applet panel (or a flag with a distinctive mark). Hovering over it would show the keyboard layout plus variant description (US - International). Any other suggestions welcome.
This still seems to be a problem.
The same bug on Arch Linux http://bugs.archlinux.org/task/8595 ==================================== After upgrade xfce4-xkb-plugin doesn't show flag for "RU" and "UK" but PNG-files have been. Plugin showes US flag only. For other languages showes "(null)" string. Additional info: * xfce4-xkb-plugin 0.4.3-3 * /etc/X11/xorg.conf =================== Section "InputDevice" # generated from default Identifier "Keyboard0" Driver "kbd" Option "XkbModel" "pc105" Option "XkbLayout" "us,ru,ua" Option "XkbOptions" "grp:ctrl_shift_toggle" EndSection =================== ls /usr/share/xfce4/xkb/flags/{ru,uk}.png -l =================== -rw-r--r-- 1 root root 215 Apr 16 2007 /usr/share/xfce4/xkb/flags/ru.png -rw-r--r-- 1 root root 1210 Apr 16 2007 /usr/share/xfce4/xkb/flags/uk.png =================== When I change keyboard layout plugin write to log error message =================== (xfce4-xkb-plugin:8319): GLib-CRITICAL **: g_utf8_strdown: assertion `str != NULL' failed (xfce4-xkb-plugin:8319): GLib-CRITICAL **: g_utf8_strdown: assertion `str != NULL' failed (xfce4-xkb-plugin:8319): GLib-CRITICAL **: g_utf8_strdown: assertion `str != NULL' failed (xfce4-xkb-plugin:8319): GLib-CRITICAL **: g_utf8_strdown: assertion `str != NULL' failed (xfce4-xkb-plugin:8319): GLib-CRITICAL **: g_utf8_strdown: assertion `str != NULL' failed (xfce4-xkb-plugin:8319): GLib-CRITICAL **: g_utf8_strdown: assertion `str != NULL' failed (xfce4-xkb-plugin:8319): GLib-CRITICAL **: g_utf8_strdown: assertion `str != NULL' failed ===================
*** Bug 3409 has been marked as a duplicate of this bug. ***
In the current version (0.5.6) the variant is shown in the balloon text activated on the mouseover; if multiple variants of the same layout are configured, they are visually differentiated by adding "dots" to the layout name (similar to the asterisk trick described in comment #1). This seems to satisfy the requirements.