Ratpoison is a minimalistic windowmanager which can be controlled 100% through keyboard. It behaves like the terminal-multiplexer GNU screen. Every window is maximized to fit the whole screen, no pixel is wasted on stuff like borders or other decoration. The user can also "split" the screen into two or more frames in order to display more than one window at the time. For more information check the official homepage at http://www.nongnu.org/ratpoison/
Ratpoison is part of the 'extra' repository. So a simple
pacman -S ratpoison
should do the trick.
To use ratpoison as your windowmanager, you have to create/edit the file ~/.xinitrc.
# the black/white grid as background doesn't suit my taste. xsetroot -solid black #fire up ratpoison! exec ratpoison
After X11 starts up you will see a black screen and a little textbox on the upper right of it that says "Welcome to Ratpoison" :) Now type CTRL+t and then '?' to get a list of keybindings. If you are used to GNU screen, you will feel at home very soon.
You are able to define custom keystrokes and even override existing ones in ~/.ratpoisonrc
# overriding CTRL+t 'c' to start aterm instead of xterm bind c exec aterm
bind f exec firefox
So, if you type CTRL+t and then 'f', ratpoison will fire up firefox.
Here is another .ratpoisonrc i'm using on my Computers:
exec xsetroot -cursor_name left_ptr startup_message off escape C-z # make a screenshot alias sshot exec import -window root ~/screenshot-`date +%F`.jpg definekey top M-C-Print sshot #virtual desks gnewbg one gnewbg two definekey top M-l exec ratpoison -c "select -" -c "gprev" -c "next" definekey top M-h exec ratpoison -c "select -" -c "gnext" -c "next" #switch between windows definekey top M-j next definekey top M-k prev #apps unbind c bind c exec urxvt -tr #bind c exec aterm bind g exec gftp bind f exec firefox2
Some More Useful KeyCombos
Example: Start any program
C-t ! <Program Name>
Execute RatPoison Command
C-t : <Command>t!
C-t : quit
Move through Windows
C-t p //previous window C-t n //next Window C-t TAB //quickly move through windows C-t w //List of windows
C-t k //when window is in focus
Opening a new tab in some application
C-t t //Eg. New tab in firefox
Splitting and unsplitting windows
C-t s //Split horizontally C-t S //split Vertically C-t Q //Unsplit windows C-t <Arrow Keys> //move between split windows