RATPOISON(1)

NAME
ratpoison - fatless X window manager

SYNOPSIS
ratpoison [ options ]

DESCRIPTION
This manual page documents briefly the ratpoison window manager. ratpoison is a simple Window Manager with no fat library dependencies, no fancy graphics, no window decorations, and no flashy wank. It is largely modeled after GNU Screen which has done wonders in virtual terminal market. All interaction with the window manager is done through keystrokes. ratpoison has a prefix map to minimize the key clobbering that cripples EMACS and other quality pieces of software.

KEYSTROKES
ratpoison is controlled entirely through the keyboard. The default keystrokes are listed in this section.

C-t C-t
    Switch to the last window.

C-t t
    Sometimes you need to send a C-t to the current window. This keystroke does just that.

C-t 0-9
    Switch to the numbered window.

C-t -
    Select no window, essentially hiding all windows in the current frame.

C-t A,
    C-t C-A Rename the current window. The window's new name will prevail for the rest of its lifetime.

C-t K,
    C-t C-K Send a DestroyClient event to the current window. This will terminate the application without question.

C-t n,
    C-t C-n, C-t Return, C-t C-Return, C-t Space, C-t C-Space, Go to next window.

C-t p,
    C-t C-p Go to previous window.

C-t ',
    C-t C-' Go to a window by name. You will usually only need to type the first few characters of the window name.

C-t a,
    C-t C-a Display the current time of day.

C-t c,
    C-t C-c Open a new X terminal.

C-t :,
    C-t C-: This allows you to execute a single ratpoison command.

C-t !,
    Run a shell command.

C-t C-!
    Run a shell command through an X terminal.

C-t k,
    C-t C-k Close the current window.

C-t m,
    C-t C-m Maximize the current window. Sometimes windows don't respond correctly to the initial maximize event and need some coaxing. This is a fancy way of saying there are still bugs in ratpoison. C-t m will force the current window to maximize.

C-t v,
    C-t C-v Display the version of ratpoison.

C-t w,
    C-t C-w Display the list of managed windows. The current window is highlighted.

C-t s
    Split the current window horizontally in two. The last accessed window not occupying a frame will be the second window.

C-t S
    Split the current window vertically in two. The last accessed window not occupying a frame will be the second window.

C-t tab
    Cycle through ratpoison's frames.

C-t Q
    Kill all frames but the current one.

C-t R
    Kill the current frame. This is a no-op if there is only one frame.

C-t b,
    C-t C-b Banish the mouse to the lower right corner of the screen.

C-t ?
    Display a help screen

C-t f
    C-t C-f Indicate which frame is the current frame.

COMMANDS
Ratpoison can be controlled with commands (so called colon-commands). The summary of available commands is listed below:

abort
    This is a pretty useless command. By default, it is bound to C-t g, and its purpose is to abort other commands.

banish
    Banish the mouse to the lower right corner of the screen.

bind Key command
    Bind a key to a ratpoison command. This command takes two arguments: the key to bind and the command to run. For example, to bind C-t R to restart ratpoison:

    : bind R exec ratpoison --restart

clock
    Show current time. Disappears after 5 seconds, like all other info bars. In the default setup, the C-t a keystroke is bound to this command.

colon command
    Run a ratpoison command.

curframe
    Indicate which frame is the current frame.

delete
    This deletes the current window. You can access it with the C-t k keystroke.

escape key
    Set the prefix to to key. For example escape C-b sets the prefix key to C-b.

focus
    cycle through ratpoison's frames.

generate
    Send a C-t to the current window.

help
    Display a help screen that lists all bound keystrokes.

echo text
    Display text as a message.

exec command
    Execute a shell command. By default, C-t ! does this.

kill
    This destroys the current window. Normally you should only need to use delete, but just in case you need to rip the heart out of a misbehaving window this command should do the trick. Also available as C-t K.

maximize
    Maximize the current window, just like C-t m would do.

next
    This jumps you to the next window in the window list. This one is bound to three keystrokes, namely C-t n, C-t space, and C-t enter.

newwm window-manager
    This is a bad-bad command. It kills ratpoison and revives that ugly rodent! Yuck! Avoid!

number n
    Set the current window's number to n. If another window occupies the requested number already, then the windows' numbers are swapped.

only
    Kill all frames but the current one.

other
    This toggles between the current window and the last window. By default, this is bound to C-t C-t.

prev
    This jumps you to the previous window in the window list. By default, this is bound to C-t p.

quit
    Quit ratpoison.

remove
    Kill the current frame. This is a no-op if there is only one frame.

rudeness n
    The rudeness command lets you decide what windows pop-up automatically and when. This is often useful for those deep hack sessions when you absolutely can't be disturbed. There are two kinds of windows: normal windows (like an xterm) and transient windows (generally pop-up dialog boxes). When a client program wants to display a new window it makes a requests to ratpoison. ratpoison then decides whether to grant the request and display the window or ignore it. A client program can also request that one of its windows be raised. You can customize ratpoison to either honour these requests (the default operation) or ignore them. n is a number from 0 to 15. Each of the four bits determine which requests ratpoison grants. Bit 0 Tells ratpoison to grant raise requests on transient windows. Bit 1 Tells ratpoison to grant raise requests on normal windows. Bit 2 Tells ratpoison to grant display requests on new transient windows. Bit 3 Tells ratpoison to grant display requests on new normal windows. For example, if you wanted only wanted to grant transient windows raise requests and display requests you would type rudeness 5. If a request is not granted ratpoison will tell you about the request with a message like Raise request from window 1 (emacs).

select n
    This jumps you to window n where n is the window number as shown in the Program Bar. You can do the same trick with C-n too. To select no window, blanking the current frame, type select -.

select window-name
    Go to a window by name. A shortcut is C-t '.

source file
    Read a text file containing ratpoison commands.

split,
    hsplit Split the current window horizontally in two. The last accessed window not occupying a frame will be the second window.

title title
    Rename the currently active window. This name will remain for the duration of the window's life, unless you change it again. By default, the C-t A keystroke is bound to this command.

unbind key
    Unbind a keystroke.

version
    Print ratpoison version. By default, this is bound to C-t v.

vsplit
    Split the current window vertically in two. The last accessed window not occupying a frame will be the second window.

windows
    This displays the Program Bar which displays the windows you currently have running. The number before each window name is used to jump to that window. You can do this by typing C-t n where n is the number of the window. Note that only windows with numbers from 0 to 9 can be referenced using this keystroke. To reach windows with numbers greater than 9, use C-t ' and type the number at the prompt. After 5 seconds the Program Bar disappears. This command is bound to C-t w by default. When invoked from the command-line like this, $ ratpoison -c windows Instead of a message bar, you will get a list of the windows printed to stdout. This allows you to write more advanced scripts than simple keyboard macros.

OPTIONS
These are the command line options that are recognized by ratpoison:

-r, --restart
    restart ratpoison

-k, --kill
    kill ratpoison

-v, --version
    output version information and exit

-h, --help
    display this help and exit

-c cmd, --command cmd
    Tell the running ratpoison process to execute the command cmd. This is how ratpoison can be controlled from the command-line or from a script.

REPORTING BUGS
Report bugs to <ratpoison-devel@lists.sourceforge.net>.

COPYRIGHT
Copyright © 2000, 2001 Shawn Betts
This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

SEE ALSO
The full documentation for ratpoison is maintained as a Texinfo manual. If the info and ratpoison programs are properly installed at your site, the command

    info ratpoison

should give you access to the complete manual.

AUTHOR
Ratpoison was written by Shawn Betts <sabetts@users.sourceforge.net>. This manual page was written by Gergely Nagy <8@free.bsd.hu> and updated by Shawn Betts <sabetts@users.sourceforge.net>.