I really like rxvt-unicode as a terminal emulator. I can customize nearly everything I want without too much effort, and it seems to do everything I could want a terminal to do. Over time, the changes I’ve made to my configuration files have piled up, and now it’s pretty far from a vanilla setup. Here are a few of my favorite changes.
Enable unicode input with Ctrl+Shift+u
For anyone who doesn’t use unicode symbols very often, a lot of Linux software accepts unicode
input input sequences. Usually, you press Ctrl+Shift+u
, followed by the unicode
sequence, then Enter
. It hasn’t been until relatively recently that I’ve found use for unicode,
but I’ve found that a lot of things, and especially math, can be more clearly and concisely
expressed with symbols than with whole words. Consider this Python example, which converts spherical
coordinates to cartesian, making use of θ and ϕ:
import numpy as np
def spherical(r, ϕ, θ):
x = r*np.sin(θ)*np.cos(ϕ)
y = r*np.sin(θ)*np.sin(ϕ)
z = r\*np.cos(θ)
return (x, y, z)
The language is so much more expressive when you use all the symbols available to you! Anyway, by
default urxvt allows you to enter unicode symbols by pressing Ctrl+Shift+<unicode sequence>
, which
is both different than usual (I don’t want to memorize another key combination if there’s no good
reason to) and annoying, as it doesn’t leave both hands free to type the <unicode sequence>
.
Fortunately, Jeff Epler wrote a nice little script to
enable the usual unicode shortcut. To install it:
- Copy the script to
~/.urxvt/ext/unichr
, making a directory if necessary - The script needs to be enabled in urxvt, and the default unicode input sequence (“ISO 14755
mode”) needs to be disabled. Edit your
~/.Xresources
, adding the following lines:
URxvt.iso14755: false
URxvt.iso14755_52: false
URxvt.perl-ext: unichr
- Enable the new settings by doing
xrdb ~/.Xresources
After restarting urxvt, you should find that Ctrl+Shift+u
works! Jeff’s script shows a little
preview of the symbol you’ve entered as you type the unicode sequence, too.
Ctrl+Arrows
to move the cursor by word
I like to use Ctrl+Arrows
to move the cursor word-by-word. By default, urxvt has some other key
combination, but it’s been so long since I’ve used vanilla urxvt that I’ve forgotten what it is. If
you prefer Ctrl+Arrows
, open ~/.Xresources
and add the following lines:
URxvt.keysym.Control-Left: \033[1;5D
URxvt.keysym.Shift-Control-Left: \033[1;6D
URxvt.keysym.Control-Right: \033[1;5C
URxvt.keysym.Shift-Control-Right: \033[1;6C
URxvt.keysym.Control-Up: \033[1;5A
URxvt.keysym.Shift-Control-Up: \033[1;6A
URxvt.keysym.Control-Down: \033[1;5B
URxvt.keysym.Shift-Control-Down: \033[1;6B
Transparency
Check this out:

See how the background in the highlighted window is transparent, but the text is not? You can’t do
this by modifying Compton transparency settings, since those settings affect the entire window
including the text. Instead, open up ~/.Xresources
again and add:
URxvt.depth: 32
URxvt.background: [40]#11292e
Here, [40]
is the transparency level (0-100), and #11292e
is any hex color code. The depth
argument adjusts the color bit depth, and somehow enforces alpha channel support. I’m not sure why
or how, it’s just what the docs tell you to do.