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 :–)