Written by Alexander Iliev, this plugin allows you to setup and use multiple (currently up to 4 due to X11 protocol limitation) keyboard layouts.
You can choose the keyboard model, what key combination to use to switch between the layouts, the actual keyboard layouts, the way in which the current layout is being displayed (country flag image or text) and the layout policy, which is whether to store the layout globally (for all windows), per application or per window.
If a certain flag is missing, the plugin will fallback to displaying the layout as text.
The plugin detects any change in the layout configuration (e.g. setxkbmap invocations) and reconfigures itself to use the new settings.
NOTE: Lots of code was borrowed from the XfKC project by Gauvain Pocentek.
Once the plugin is added to a panel, it displays the current keyboard layout configuration.
The keyboard layouts, keyboard model and layout change shortcut key can be configured from the settings dialog. A default layout is selected through the list of the configured layouts and this layout is used for all new windows.
The plugin can manage the layout globally (one common layout for all windows), per application and per window.
If more than three layouts are configured, then, when clicked, the plugin pops-up a menu with the available layouts. If there are two layouts configured, then the layout is changed right away with a click on the plugin.
If for some language more than one variant is configured, then a little black circle with thin white outline is added to the bottom right corner of the flag image for the second variant, or if the display type of the plugin is set to “text”, then a little dot is shown after the language text (as a subscript). Two of those circles/dots are added for the third variant for the same language and three for the fourth /though I doubt someone uses more than two variants of the same language at all :)/.
The plugin handles runtime layout configuration changes and configures it's settings accordingly.
Currently the plugin cannot handle well most of the XKB options. Actually it will overwrite all but the first group: option found in the running configuration. This will change in future versions.
- The plugin in action:
- The settings dialog:
SHA-256 Hash: c19ecf126201deb6148741c521124771ad396adc874471512ab5ffe1946567a1
SHA-1 Hash: bac2c00a167465424e1f424b61f0c4322a319f90
MD5 Hash: 72530bf59d7cd902326469e5a7a9892b
- libgtk+ >= 2.6.0
- libxfce4panel >= 4.8.0
- libxfce4util >= 4.8.0
- libxfce4ui >= 4.8.0
- libxklavier >= 5.0
- librsvg >= 2.18
- libwnck >= 2.12
Source Code Repository
If you encounter a bug in
Xkb, please submit a bug report to the Xfce Bugzilla. Please note that to do this you will need to have / create an account on Bugzilla.
- [Bug 15842] Implement list of window class names that default to each layout (2019/08/20 11:33)
- [Bug 15841] scale alternate layout dots to be visible on hi dpi displays (2019/08/20 11:31)
- [Bug 6370] xkb-plugin resets many XKB options. (2019/04/17 04:06)
- [Bug 15269] Allow to display variant in applet (2019/04/08 21:21)
- [Bug 2363] XFCE keyboard switcher doesn't show variant label (2019/04/08 21:02)
- [Bug 15115] Impossible to select russian unified layout. (2019/02/04 19:14)
- [Bug 14917] Окно выбора xkb-command, меньше. Нельзя выбрать нужное. (2018/11/28 09:46)
- [Bug 14684] [PATCH] Improve Spacing in XKB Plugin Preferences (2018/09/22 21:08)
- [Bug 14350] Myanmar Flag - Old to New Flag (2018/04/23 13:30)
- [Bug 12190] provide option to disable/remap capslock key (2018/02/17 19:22)
- [Bug 7443] XKB plugin takes too much space (2017/10/18 12:45)
- [Bug 11681] make the icon smaller (2017/09/12 04:56)
- [Bug 12884] [Feature request] Patch for flags in XDG_DATA_HOME (2017/07/26 16:20)
- [Bug 12114] Use system font request (2017/07/24 17:13)
- [Bug 12294] Layout-labels shown in Unicode instead of local charset (2017/07/24 15:59)
- [Bug 12441] Name of the Indian flag svg file (2017/07/24 15:57)