Using Ratpoison/Introduction

Welcome to the Using Ratpoison Wikibook.

Purpose
This is intended to be a book aimed at the intermediate/advanced GNU/Linux user who wants to start using the Ratpoison Window manager.

Thusly, only the window manager itself will be covered- this guide assumes that you have a working system running, from the kernel up to the X11 Windowing System, and it assumes you have competent grasp on Linux- this book will not teach you how to use GNU/Linux in general. Please see your distribution documentation or the Linux Guide to learn Linux in general.

Who is this guide suitable for?
Basically, any GNU/Linux or BSD user who wants to try something new or exciting, but also the user who wants to experiment with a different approach to mouse usage.

What is ratpoison?
Ratpoison is a window manager written for X Window, and principally developed by Linux users (though it should run on any operating system and platform X Window does). It is very different from most other window managers in that it is a tiling window manager and because it tries to minimize or completely eliminate the use of the mouse, in order to relieve stress on the arms and shoulders.

In keeping with this old-school approach, ratpoison is also extremely lightweight, and there are no "fat library dependencies", no fancy graphics beyond what other programs provide, and no window decoration. While this might seem odd at first, starting to use it is in fact quite simple. If you've ever used the GNU Screen terminal multiplexer or GNU Emacs, you'll be quite familiar with the interface, since most of the hotkeys and design ideas are borrowed from those programs. Indeed, the developers are very much fans of Emacs, as evidenced in one of the FAQs:
 * "I want feature XYZ."
 * "What you want is probably already in Emacs. If you don't use Emacs, start. If do use Emacs, use it more. If you *still* can't do what you want to do, you probably shouldn't do it." (sic)

Pros

 * 1) Ratpoison is extremely lightweight and will therefore start up and run very quickly; it will also run well on ancient hardware as well as more modern setups such as a 32-way SPARC.
 * 2) Rodent usage is minimized and the keyboard is promoted, relieving your arms and shoulders and decreasing the risk of injury
 * 3) Ratpoison works well with multiple monitors.
 * 4) Ratpoison key-bindings are very similar to those of GNU Screen and should be familiar to users with experience using Screen.

Cons

 * 1) High learning curve. Not particularly suited for UNIX beginners, without a lot of customization- this is a window manager written by experts for experts, so to speak.
 * 2) Some programs like the GIMP (which uses a multitude of small windows) are simply not designed to work with tiling window managers and do not work very well.
 * 3) Java GUI applications have some issues with the way Ratpoison handles window parenting and most Java GUI applications will only render as a grey box. (This problem could be solved by issuing 'export AWT_TOOLKIT=MToolkit' command before starting Java app).

Concepts
To start with, ratpoison has some radically different concepts about using a computer. First, you cannot drag windows around the "desktop", all windows are maximized to the full screen size and that cannot be changed. Because of this, you don't need window decorations, since they would steal precious space. When you look at a program, the only thing you see is the program. You are not forced to look at only one program at a time however: a window can be subdivided into a number of adjacent (but not overlapping!) frames; each of these frames holds a single program which is maximized within its frame. In Emacs terms, there is one window, split into one or more frames, in which each buffer is shown in one and only one frame.