Selecting different keyboard layouts in Xfce

One of my laptops running Xfce has a British English keyboard. However, I write in Portuguese and Spanish as well and so I need to be able to switch keyboard layouts. Therefore I added the three keyboard layouts by clicking on ‘Applications Menu’ on the Xfce Panel, selecting ‘Settings’ > ‘Keyboard’ and clicking on the ‘Layout’ tab. I also created the file /etc/X11/xorg.conf.d/00-keyboard.conf containing the following:

Section "InputClass"
    Identifier "keyboard"
    MatchIsKeyboard "yes"
    Option "XkbLayout" "gb,br,es"
    Option "XkbVariant" ""
    Option "XkbOptions" "grp:alt_shift_toggle"

As you can probably guess from the XkbOptions option I specified, pressing Alt-Shift enables me to toggle between the keyboard layouts declared in the XkbLayout option (‘gb’ = British keyboard layout; ‘br’ = Brazilian Portuguese keyboard layout; ‘es’ = Spanish keyboard layout). This works fine but I could not tell at a glance which keyboard layout was selected, without typing some text and seeing the result. It would be nice to see an icon on the Panel indicating which keyboard layout is currently selected, in the same way as is possible in KDE and GNOME. It turns out that Xfce has a plugin that does precisely this: Keyboard Layouts, which is available by installing the package xfce4-xkb-plugin. I installed it, right-clicked on the Panel and selected ‘Panel’ > ‘Add New Items…’ > ‘Keyboard Layouts’ to display the plugin’s icon on the Panel. Right-clicking on it and selecting ‘Properties’ allows you to configure the plugin, and I selected ‘Show layout as: image’ so that a flag indicating the current keyboard layout is displayed on the Panel, as shown in the snapshot below.

POWERED BY LINUX badge on Mesh Edge DX laptop

Keyboard layout icon on Xfce Panel

I can either use the keyboard shortcut Alt-Shift to toggle between the three keyboard layouts (in which case the flag changes on the Panel), or I can click on the Keyboard Layouts icon on the Panel and select the desired layout from there instead, as shown in the snapshot below.

POWERED BY LINUX badge on Mesh Edge DX laptop

Selecting keyboard layout from Xfce Panel

An easy way to edit the Xfce Application Menu

I recently installed Sabayon Linux with Xfce 4.10 on a couple of laptops. Being a long-time KDE user, I was surprised to find that Xfce does not provide a ‘native’ easy way to edit the Xfce Application Menu. The Xfce Wiki page (Customize the Xfce menu) lists a protracted and complicated procedure for making changes to the Xfce menu files. Fortunately the article also points out that a LXDE tool works for Xfce too:

A GNU-licensed graphical menu editor for LXDE, LXMenuEditor, also works for XFCE, as of XFCE 4.8.0 and LXMenuEditor 20110523.

So I installed LXMenuEditor:

# equo install lxmed

To run LXMenuEditor from the command line you just need to enter the command lxmed. If you do that from your user account you can only use LXMenuEditor to view the menu entries. To be able to edit, add and delete menu entries you must launch lxmed as root user, which of course you can do from the command line too. But I wanted to add LXMenuEditor to the Xfce Application Menu and also make it prompt for the root user’s password when launched from the menu. So I did the following:

1. Open a Terminal window, login as root user and launch LXMenuEditor:

$ su
# lxmed

2. Click on the ‘System Tools’ entry in the Categories pane. The Menu Items pane will display the current menu entries in the System Tools category.

3. Click on the ‘New Item’ button and a window will pop up.

4. In the Name box enter “Application Menu Editor” (without the quotes).

5. In the Command box enter “gksu lxmed” (without the quotes).

6. In the Comment box enter “Edit entries in the Xfce Application Menu” (without the quotes).

7. Make sure the Visible tick box is ticked.

8. Click the OK button.

(x11-libs/gksu should already be installed, but install it if it is not.)

That’s it. If you click on ‘Applications Menu’ on the Panel there will now be a menu entry System > Applications Menu Editor and, if you click on that, you will be prompted to enter the root user’s password. Once you have done that, LXMenuEditor will be launched with root user previleges and you can view and edit the Xfce applications menu.