Interrogation marks and keyboard layouts
I recently switched from KDE to XFCE because I could not stand KDE bugs anymore. The upside is that XFCE is super simple, fast, and minimalist. The downside is that everything looks “blocky” (as in “lego blocks”).
Anyway, two issues have been bugging me these past few days and I finally got around them today.
Accented characters displayed as interrogation marks in terminal
I write in French and English so I sometimes need to type accented characters on the command line. Unfortunately, after installing XFCE on archlinux, I found that every time I typed an accented character in the terminal, it was replaced by an interrogation mark.
After messing around with my configuration files for three days, I finally found the solution on the archlinux wiki:
# in ~/.bashrc export LC_ALL= export LC_COLLATE="C" export LANG=en_US.utf8 # in /etc/environment LANG="en_US.UTF-8" LC_ALL="en_US.UTF-8"
I believe that only the /etc/environment is necessary, but setting your language in your bash file is considered to be a good practice and other programs might use these variables to determine your locale. Obviously, this is in complement of configuring your /etc/locale.gen file properly.
Keyboard layouts and xfce4-xkb-plugin
This was an extremely annoying bug that probably cost me a few years of my life expectancy in stress. After installing the xfce4-xkb-plugin, I added an extra keyboard layout (English Canada) and I set the layout switch key combination to alt-shift. Unfortunately, the plugin, as other users have reported, has a tendency to “forget” the layout and/or the key combination every once in a while.
The plugin seems to be patched in various distributions, but since archlinux rarely patch programs (which is a generally a good thing), I was stuck with a buggy version.
After some research, I uninstalled the plugin and added this script in /etc/X11/xinit/xinitrc.d/50-keyboard-bart
#!/usr/bin/bash # Reset keyboard options setxkbmap -option "" # Set layout setxkbmap -layout "us,ca" # Set international keyboard setxkbmap -model "pc105" # Use alt-shift to switch layout setxkbmap -option "grp:alt_shift_toggle"
If you go down that path, don’t forget to make the script executable. You also need to restart your X session (or you can just execute the script in the current session). The downside is that you do not see your current layout on your panel, but I see this as less cutter :–)