First, install it for GDM – see Ratpoison doesn't appear in GDM menu. Create /usr/share/xsessions/ratpoison.desktop

[Desktop Entry]
Comment=This session logs you into Ratpoison

Since I find C-t to be a useful key to create new tabs in Firefox, I decided to use the “§” key aka “section” (see SwissGermanKeyboard). (To discover the names of keys use the escape key—by default this is C-t—and the key you want; the error message will name it.)

In my .ratpoisonrc file, I use “section” as the escape key, define two commands I use a lot, define ⌘⇥ to get me the next window and ⇧⌘⇥ to get me the previous window. I leave some space at the bottom for applets in trayer:

escape section
bind e exec emacs
bind f exec x-www-browser

definekey top M-Tab next
definekey top M-ISO_Left_Tab prev

unmanage panel
set padding 0 0 0 26

When initializing my X11 session, I start trayer running nm-applet for the wireless connection using my .xsessionrc file:

( sleep 1; \
  trayer --align right --edge bottom --distance 0 \
         --expand true \
         --transparent true --alpha 128 --tint 0 \
         --SetDockType true --SetPartialStrut true & 
  nm-applet & ) &

Old Setup from 2003 and earlier

Back in the old days I used the following config.

In my .Xmodmap file I defined Caps Lock to be F13:

! CapsKey
clear Lock
! keycode 66 = Undo Redo
! Use it as ratpoison command key!
keycode 66 = F13

In my .ratpoisonrc I used F13 as the command file. Most of the commands just call shell scripts with the same name as the command. That made customizing them easier.

escape F13
alias www exec web-browser
bind w www
alias wwwutf8 exec web-browser u
bind W wwwutf8
alias xtermutf8 exec xterm-utf8
bind C xtermutf8
alias root exec root
bind u root
bind o windows
alias windowmenu exec windows-menu
bind O windowmenu
bind c exec aterm
bind m exec phoenix

Interesting in this respect was my use of the text browser w3m. I called it via the web-browser script. It got started using the -B option (to start with the bookmarks), and when running under X and given the u parameter, it would use an xterm in UTF-8. Without the need to use UTF-8, it would use aterm instead of xterm, however. I did that so I could continue using the script later when I switched from xterm to aterm. (Obviously all the UTF-8 stuff was useless, then, too.) Instead of w3m I had to use the w3m-m17n, too.

#! /bin/bash
# GEOM="-geometry 155x55"
if [ -z "$DISPLAY" ]; then
    if [ "u" == "$1" ]; then
elif [ "u" == "$1" ]; then
    PROG="xterm-utf8 -name web-browser $GEOM -bg #243 -fg NavajoWhite -e w3m-m17n"
    PROG="aterm -name web-browser $GEOM -bg #342 -fg NavajoWhite -e w3m"

if [ -z "$URL" ]; then


And the xterm-utf8 script made sure to call the uxterm binary and use an appropriate font.

exec uxterm \
    -bg '#003' \
    -fn '*-unifont-*--16-*-iso10646-1' \


Please make sure you contribute only your own work, or work licensed under the GNU Free Documentation License. See Info for text formatting rules. You can edit the comment page if you need to fix typos. You can subscribe to new comments by email without leaving a comment.

To save this page you must answer this question:

Please say HELLO.