VOOZH about

URL: https://en.wikibooks.org/wiki/Using_Ratpoison/Example_Config

⇱ Using Ratpoison/Example Config - Wikibooks, open books for an open world


Jump to content
From Wikibooks, open books for an open world
This page may need to be reviewed for quality.
 #.ratpoisonrc --- my own ratpoison customizations
 
 #Copyright (C) 2006 by maru dubshinki
 
 #Author: maru dubshinki <marudubshinki0@gmail.com>
 #License: BSD license, minus advertising clause.
 #Where: http://en.wikipedia.org/wiki/User:Marudubshinki/.ratpoisonrc
 #When: Time-stamp: "2006-09-06 18:22:39 maru"
 #Keywords: local,customization,ratpoison
 
 #Commentary
 #This is my own all-singing all-dancing personal ratpoisonrc. 
 #It depends on two scripts, rpws, and expose (which can either be gotten
 #at Reactorcore or at the ratpoison wiki) and a number of other programs, chief
 #among which are xclip, surfraw, and firefox.
 #Anyway, there are three main sections, so to speak.
 #The first tweaks some ratpoison settings directly. The main feature of 
 #note is the changing of the escape sequence from two keys, C-t, to a single
 #key (called by ratpoison "less"), and the mirroring of less with another key,
 #so there are actually two equivalent escape keys.
 #The second section runs a number of programs like unclutter. This section generally
 #modifies X, modifies the keybindings (i.e making caps lock a control), and runs some
 #useful programs if possible.
 #The third section handles application key bindings. My general philosophy here has 
 #been to make the lower-case key invoke the "heavy" or feature-rich version of the 
 #idealized type of application, and the uppercase one runs a different, smaller and 
 #lighter-weight application which does much the same thing. For example, d runs 
 #Firefox, and D runs terminal elinks. e runs Emacs, and E runs nano in a terminal.
 #And so on.
 
 ##change directory to $HOME
 chdir
 
 ##What's the shell?
 alias term exec aterm
 
 ##Banish the mouse with each screenchange
 #addhook switchwin banish
 
 ##Setting the prefix keys
 ###Set the ctrl-t key to something easier
 escape less
 
 ###Set the ctrl-t key to something easier
 definekey top Insert readkey root
 definekey root Insert link less
 
 ##Set the mouse warping option.
 warp on
 
 ##Hush up, ratpoison. I know what the prefix key is.
 startup_message off
 
 ##There are three different ways ratpoison can "name" frames.
 ##By title, name, or class. Title gets you gunk like "emacs@localhost.localdomain";
 ##but name and class give you the sensible "emacs" or "Emacs". 
 set winname class
 
 ##Graphics tweaks
 ###Not quite sure what these do, copied from Reactor Core.
 ###Supposedly make borders take up less space.
 defborder 0
 defpadding 0 0 0 0
 defbarpadding 0 0 
 
 #This was suggested on the ratpoison wiki as a way to
 #make messages clearer. Doesn't work right now. Maybe I have the wrong
 #font name?
 #deffont -etl-*-*-r-*-*-*-400-*-*-*-*-*-*
 
 ##What programs do we run on startup?
 ###Do some key re-mapping
 exec xmodmap -quiet ~/.Xmodmap
 
 ###Apparently modifies some low-level GUI bits of X.
 exec xrdb -load ~/.Xresources
 
 ###Change the background and pointer in X
 #exec xsetroot -solid black -cursor_name left_ptr
 exec xsetroot -cursor_name left_ptr
 
 ###I like astronomical images. Let us make use of xplanet.
 #exec xplanet -body earth -fork -random -light_time -transparency -wait 60
 
 ####This is an alternative- setting electricsheep as the background.
 #exec electricsheep --root 1 --nick maru --zoom 1 --mplayer 1 --history 50 &
 
 ###Set a background, randomly picking from a certain directory.
 exec cd ~/pics && xsetbg -border black -fork -type jpeg -fit -onroot -fullscreen `w=(*.jpg); n=${#w[@]}; echo "${w[RANDOM%n]}"` && cd ~/
 #exec xsetbg -border black -fork -type jpeg -fit -onroot -fullscreen `w=(*.jpg); n=${#w[@]}; echo "~/pics/${w[RANDOM%n]}"`
 
 ###Run unclutter so the mouse hangs around no longer than needed.
 exec unclutter -idle 1 -jitter 2 -root
 
 ###I use xscreensaver as a screensaver. The first line makes sure any running xscreensaver is killed.
 ###The second starts and backgrounds xscreensaver
 exec xscreensaver-command -exit
 exec xscreensaver &
 
 ###This should set up rpws and groups
 ###http://ratpoison.elektrubadur.se/rpws
 exec rpws -i
 exec rpws -b
 ###This should be pretty obvious. Why not use function keys?
 bind F1 exec ~/bin/rpws 1
 bind F2 exec ~/bin/rpws 2
 bind F3 exec ~/bin/rpws 3
 bind F4 exec ~/bin/rpws 4
 bind F5 exec ~/bin/rpws 5
 bind F6 exec ~/bin/rpws 6
 bind F7 exec ~/bin/rpws 7
 bind F8 exec ~/bin/rpws 8
 bind F9 exec ~/bin/rpws 9
 bind F10 exec ~/bin/rpws 10
 bind F11 exec ~/bin/rpws 11
 bind F12 exec ~/bin/rpws 12
 
 ###xbindkeys can alias for some neat things.
 #This is last- low priority. Commented out, currently does nothing,
 #exec xbindkeys
 
 
 
 
 ##aliasing keys within ratpoison
 ###make semicolon invoke ratpoison command, and colon shell command.
 bind semicolon colon
 bind colon exec
 
 ###Show-the-root-window script
 alias showroot exec ratpoison -c fdump; ratpoison -c 'select -' -c only
 alias unshowroot exec ratpoison -c "frestore `cat $HOME/.rpfdump`"
 #bind B showroot
 
 ###Change the date from 24-hour to 12-hour
 bind a time
 
 ###(Getting a root terminal. There is no binding for "c", since that
 ###is a default binding, to a terminal.)
 ###I've since changed this since I don't use it very often.
 #bind C exec ssh -X root@127.0.0.1 aterm
 bind C colon exec aterm -e 
 
 ###Shortcut for emacs. Emacsclient is called, but it expects
 ###a filename. This can be circumvented by instructing it to
 ###instead evaluate a Emacslisp expression- the current one
 ###says "open up a new frame on the current display device".
 ###It has to be quoted or else sh will try to open up the lisp
 ###expression in a sub-shell as a shell command.
 ###Neatly, if an emacs isn't already running, then emacsclient runs
 ###$EDITOR, which points back to regular emacs!
 bind M-e exec emacsclient --eval '(make-frame-command)'
 ###Shortcut for nano
 bind M-E exec aterm -e nano
 
 ###Shortcut for firefox
 bind d exec mozilla-firefox
 #bind d exec mozilla-firefox & ratpoison -c "title firefox"
 
 ###A new hack using xclip (which prints out the current text selection) to
 ###open up a new tab in a running firefox with the address as the current selection.
 ###The idea is, you highlight an URL and then instead of manually inputting it,
 ###simply whack R-b ('b' standing for "browse").
 #bind b exec mozilla-firefox -new-tab `xclip -o`
 bind B exec mozilla-firefox -new-tab `$RATPOISON -c getsel`
 bind b colon exec mozilla-firefox 
 
 ###Shortcut for elinks
 bind D elinks http://www.google.com/
 #bind B elinks http://www.google.com/
 
 ###Shortcut for dillo- currently I use elinks instead. dillo's 
 ###keyboard commands are too awkward as of yet.
 #bind D exec dillo
 
 ###Shortcut for gqview
 bind g exec gqview +t
 
 ###Binding for xpdf
 bind x exec xpdf
 
 ###Runs a perl script which emulates the Mac's expose feature.
 ###http://ratpoison.elektrubadur.se/expose.pl
 bind w exec ~/bin/expose.pl
 
 ###Runs a shell script which creates an alt-tab menu analog
 ###http://reactor-core.org/ratpoison-config.html
 bind W exec ~/bin/windows
 
 ###Make prtscreen work, as long as in ratpoison mode. "import" is an Imagemagick command.
 bind Print exec import -window root png:$HOME/xwd-$(date +%s)$$.png
 
 ###Crikey, I'm gonna need a separate section just for surfraw shortcuts.
 ###Anyway, the model for these (thanks to aon) is "bind r colon exec surfraw wikipedia "- note
 ###the space. If the space isn't there, then the user will need to manually add a space, which is not good
 ###In the shell, one can omit the surfraw command, but not in ratpoison, as ratpoison's PATH currently does
 ###not include the directory with the elvi in it.
 ###List of useful surfraw elvi follows:
 ###amazon bbcnews cia cite cnn debbugs debcontents deblists deblogs debpackages debpts deja dmoz ebay etym freshmeat google imdb rfc rhyme slashdot sourceforgen translate
 
 ###Surfraw aliases.
 alias cnn exec surfraw cnn
 alias debbugs exec surfraw debbugs
 alias debbug debbugs
 alias debpackages exec surfraw debpackages
 alias google exec surfraw google
 alias gutenberg exec surfraw gutenberg
 alias surfraw exec surfraw
 alias wayback exec surfraw wayback
 alias wikipedia exec surfraw wikipedia
 alias wookieepedia exec wookieepedia
 
 ###Surfraw keybindings
 bind t colon wikipedia 
 #bind t exec wikipedia `xclip -o` #See previous comment for R-b
 bind T exec wikipedia `$RATPOISON -c getsel`
 bind E google `$RATPOISON -c getsel`
 bind e colon google 
 #bind T colon google 
 bind Y colon wayback 
 bind y colon wookieepedia 
 bind u colon debbugs 
 bind U colon debpackages 
 
 ##Aliasing long commands within ratpoison
 ###Leaving open the option to use conkeror, a skin over firefox.
 ###Wish I could get sane tabbed browsing in it...
 alias conkeror exec mozilla-firefox -chrome chrome://conkeror/content
 alias elinks exec aterm -e elinks