\input texinfo @c -*-texinfo-*- @c %**start of header @setfilename ratpoison.info @settitle ratpoison manual @setchapternewpage odd @c %**end of header @dircategory X11 @direntry * ratpoison: (ratpoison). Say good-bye to the rodent @end direntry @ifinfo This is the ratpoison user manual. Copyright @copyright{} 2000, 2001 Shawn Betts Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies. @ignore Permission is granted to process this file through TeX and print the results, provided the printed document carries a copying permission notice identical to this one except for the removal of this paragraph (this paragraph not being relevant to the printed manual). @end ignore Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided also that the sections entitled ``Copying'' and ``GNU General Public License'' are included exactly as in the original, and provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one. Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions, except that this permission notice may be stated in a translation approved by the Free Software Foundation. @end ifinfo @titlepage @sp 10 @titlefont{ratpoison} @author Shawn Betts @page @vskip 0pt plus 1filll Copyright @copyright{} 2000, 2001 Shawn Betts Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies. Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided also that the sections entitled ``Copying'' and ``GNU General Public License'' are included exactly as in the original, and provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one. Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions, except that this permission notice may be stated in a translation approved by the Free Software Foundation. @end titlepage @node Top, About, (dir), (dir) @ifinfo This document explains how to use ratpoison. @end ifinfo @menu * About:: What is ratpoison? * Contacting:: How do I contact the ratpoison developers? * General Use:: How does this thing work?? * Keystrokes:: Key commands and functionality * Commands:: ratpoison commands * Startup file:: They threatened me...with violence! @end menu @node About, Contacting, Top, Top @chapter About ratpoison is a simple Window Manager with no fat library dependencies, no fancy graphics, no window decorations, and no flashy wank. It is largely modelled after GNU Screen which has done wonders in virtual 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. ratpoison was written by Shawn Betts (@email{sabetts@@users.sourceforge.net}). @node Contacting, General Use, About, Top @chapter Contacting ratpoison is hosted on @url{sourceforge.net}. To see the latest developments in ratpoison go to @url{http://www.sourceforge.net/projects/ratpoison} or visit the ratpoison webpage at @url{http://ratpoison.sourceforge.net}. There is also a ratpoison mailing list: @email{ratpoison-devel@@lists.sourceforge.net}. For details on subscribing and for the list archives go to the ratpoison sourceforge.net project. There is a #ratpoison irc channel on irc.openprojects.net. @node General Use, Keystrokes, Contacting, Top @chapter General Use When ratpoison starts you should see an empty X server. To open an x terminal hit @kbd{C-t c}. You can now run shell commands as you would on any terminal. Notice the terminal maximized full screen. @kbd{C-t !} will run a single shell command and saves you the effort of opening a terminal. Once you have a couple X programs running, you'll want to navigate between windows. To see what windows are being managed hit @kbd{C-t w}. Each window has a number. You can jump to a window by hitting @kbd{C-t} followed by the window's number. This assumes the the window's number is one digit. You can also switch to a window by typing in part of its name. To do this hit @kbd{C-t A}. ratpoison allows you to cycle through the windows with @kbd{C-t n} and @kbd{C-t p}. And That concludes a brief introduction on how to use ratpoison. Notice how we didn't have to drag a single window, or click a single maximize button? Beautiful wasn't it? Felt fast? Cool? Its modern computing at its best boys and girls. @node Keystrokes, Commands, General Use, Top @chapter Keystrokes ratpoison is a very simple window manager. Each window is maximized and has no border decorations. The default keystrokes are listed in this chapter. Not all commands are accessible by default by keys. A full list of ratpoison commands is in the next section. @table @kbd @item C-t C-t Switch to the last window. @item C-t t Sometimes you need to send a C-t to the current window. This keystroke does just that. @item C-t 0-9 Switch to the numbered window. @item C-t A @item C-t C-A Rename the current window. The window's new name will prevail for the rest of its lifetime. @item C-t K @item C-t C-K Send a DestroyClient event to the current window. This will terminate the application without question. @item C-t n @item C-t C-n @item C-t Return @item C-t C-Return @item C-t Space @item C-t C-Space Go to next window. @item C-t p @item C-t C-p Go to previous window. @item C-t ' @item C-t C-' Go to a window by name. You will usually only need to type the first few characters of the window name. @item C-t a @item C-t C-a Display the current time of day. @item C-t c @item C-t C-c Open a new X terminal. @item C-t : @item C-t C-: This allows you to execute a single ratpoison command. @item C-t ! Run a shell command. @item C-t C-! Run a shell command through an X terminal. @item C-t k @item C-t C-k Close the current window. @item C-t m @item 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. @kbd{C-t m} will force the current window to maximize. @item C-t v @item C-t C-v Display the version of ratpoison. @item C-t w @item C-t C-w Display the list of managed windows. The current window is highlighted. @end table @node Commands, Startup file, Keystrokes, Top @chapter ratpoison commands ratpoison can be controlled with commands (so called colon-commands). The summary of available commands is listed below: @table @command @item abort This is a pretty useless command. By default, it is bound to @kbd{C-t g}, and its purpose is to abort other commands. @item bind @var{Key} @var{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 @kbd{C-t R} to restart ratpoison: @example : bind R exec ratpoison --restart @end example @item clock Show current time. Disappears after 5 seconds, like all other info bars. In the default setup, the @kbd{C-t a} keystroke is bound to this command. @item colon @var{command} Run a ratpoison command. @item delete This deletes the current window. You can access it with the @kbd{C-t k} keystroke. @item escape @var{key} Set the prefix to to @var{key}. For example @samp{escape ^b} sets the prefix key to @key{C-b}. @item generate Send a @kbd{C-t} to the current window. @item exec @var{command} Execute a shell command. By default, @kbd{C-t !} does this. @item kill This destroys the current window. Normally you should only need to use @command{delete}, but just incase you need to rip the heart out of a misbehaving window this command should do the trick. Also available as @kbd{C-t K}. @item maximize Maximize the current window, just like @kbd{C-t m} would do. @item next This jumps you to the next window in the window list. This one is bound to three keystrokes, namely @kbd{C-t n}, @kbd{C-t space}, and @kbd{C-t enter}. @item newwm @var{window-manager} This is a bad-bad command. It kills ratpoison and revives that ugly rodent! Yuck! Avoid! @item other This toggles between the current window and the last window. By default, this is bound to @kbd{C-t C-t}. @item prev This jumps you to the previous window in the window list. By default, this is bound to @kbd{C-t p}. @item select @var{n} This jumps you to window @var{n} where @var{n} is the window number as shown in the Program Bar. You can do the same trick with @command{C-@var{n}} too. @item select @var{window-name} Go to a window by name. A shortcut is @kbd{C-t '}. @item source @var{file} Read a text file containing ratpoison commands. @item title @var{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 @kbd{C-t A} keystroke is bound to this command. @item version Print ratpoison version. By default, this is bound to @kbd{C-t v}. @item 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 @kbd{C-t @var{n}} where @var{n} is the number of the window. Note that only windows with numbers from 0 to 9 can be referenced using this keystoke. To reach windows with numbers greater than 9, use @kbd{C-t '} and type the number at the prompt. After 5 seconds the Program Bar disappears. This command is bound to @kbd{C-t w} by default. @end table @node Startup file, , Commands, Top @chapter Startup file Now you've probably read the web page, and you've no doubt dug up some old file I forgot about. You're probably wondering, ``say, didn't he say there was no configuration file to customize?''. Ok, ya got me. But lets be honest here: ratpoison is so pure and fast-acting, customization is barely worth the extra effort. In the off chance that you need to make ratpoison your own, we now support it. On startup ratpoison looks for @file{~/.ratpoisonrc} and runs it through the command parser. If @file{~/.ratpoisonrc} does not exist, ratpoison tries @file{/etc/ratpoisonrc}. This means any command you can bind a key to or run at the command prompt (@kbd{C-t :}) you can execute in this rc file. It adds 320 bytes to ratpoison on a glibc6-i386 machine. Its a little steep for a feature and we are attempting to squeeze the fat. @bye