You are not logged in.
My ratpoison configuration.
Source : ratpoison.org version.
To install: Open in emacs and type M-x org-babel-tangle or C-c C-v t
Also you can copy it from here!
startup_message off
unmanage xmessage
set font "Anonymous Pro-13"
set bgcolor LightGray
set bargravity nw
set barpadding 5 0
set winliststyle row
set winfmt [%n] %s %t
set winname class
set wingravity c
set maxsizegravity c
set padding 0 0 0 0
set barborder 0
set border 0
set waitcursor 0
msgwait 3
# Rudeness is a bitwise or of the following values:
# 1 Transient windows may raise.
# 2 Normal windows may raise.
# 4 New transient windows end up in the foreground.
# 8 New normal windows end up in the foreground.
rudeness 12
addhook key banish
addhook switchwin info [%n] %t
addhook switchframe info [%n] %t
bind z windows
bind o only
bind u undo
bind d dedicate
bind g groups
bind W tmpwm calavera-wm
bind c exec screen -Q select 0; exec ~/bin/ratpoison/rp-run-or-raise.sh URxvt 'urxvt'
alias emacs exec ~/bin/ratpoison/rp-run-or-raise.sh Emacs 'emacsclient -ca emacs'
bind E emacs
alias escreen exec screen -Q select 1; exec ~/bin/ratpoison/rp-run-or-raise.sh URxvt 'urxvt'
bind e escreen
alias conkeror exec ~/bin/ratpoison/rp-run-or-raise.sh Conkeror 'conkeror'
bind w conkeror
bind m exec ratpoison -c "exec urxvt -e man $(ratpoison -c "prompt Manpage:")"
bind D exec ratpoison -c "echo `dropbox status`"
alias time exec /usr/share/ratpoison/ratdate.sh
bind t time
bind I exec ~/bin/ratpoison/rat_info.sh
alias screensaver exec ~/bin/system/dpms-toggle.sh
bind Pause screensaver
alias toggletouchpad exec ~/bin/system/touchpad_toggle
bind BackSpace toggletouchpad
alias ratshot exec import -window root png:$HOME/Pictures/Screenshots/ratpoison-$(date +%s)$$.png && ratpoison -c "echo Ratshot saved!"
definekey top Print ratshot
definekey root Escape abort
unbind k
definekey top XF86AudioRaiseVolume exec amixer -q set PCM 5+ unmute; ratpoison -c "echo RaiseVolume +5"
definekey top XF86AudioLowerVolume exec amixer -q set PCM 5- unmute; ratpoison -c "echo LowerVolume -5"
definekey top XF86AudioMute exec amixer -q set PCM toggle; ratpoison -c "echo [ MUTE ]"
definekey top XF86AudioPlay exec urxvt -e emacsclient -e "(emms-pause)"; ratpoison -c "echo toggle EMMS"
definekey top XF86AudioPrev exec urxvt -e emacsclient -e "(emms-previous)"; ratpoison -c "echo EMMS << Previous song"
definekey top XF86AudioNext exec urxvt -e emacsclient -e "(emms-next)"; ratpoison -c "echo EMMS >> Next song"
alias edit exec emacs $HOME/.ratpoisonrc
alias mail exec ~/bin/mail/gmail.sh
alias skype exec ~/bin/system/run-skype.sh
alias enote exec emacsclient -c --eval '(deft)'
alias poweroff exec ~/bin/system/poweroff.sh
exec urxvt -e screen -RD
exec conkeror
Last edited by ivoarch (2014-05-03 16:35:19)
Offline
Two simple patches I use.
Ignore window size hints (to remove gaps with terminal windows - use this with rxvt-unicode-patched to avoid artifacts)
diff --git a/src/manage.c b/src/manage.c
index 412fc29..5dc13a9 100644
--- a/src/manage.c
+++ b/src/manage.c
@@ -714,17 +714,8 @@ maximize_normal (rp_window *win)
/* Set the window's border */
win->border = defaults.window_border_width;
- /* Honour the window's maximum size */
- if (win->hints->flags & PMaxSize)
- {
- maxx = win->hints->max_width;
- maxy = win->hints->max_height;
- }
- else
- {
maxx = frame->width - win->border * 2;
maxy = frame->height - win->border * 2;
- }
/* Honour the window's aspect ratio. */
PRINT_DEBUG (("aspect: %ld\n", win->hints->flags & PAspect));
@@ -755,32 +746,6 @@ maximize_normal (rp_window *win)
if (maxy > frame->height) maxy = frame->height - win->border * 2;
}
- /* Make sure we maximize to the nearest Resize Increment specified
- by the window */
- if (win->hints->flags & PResizeInc)
- {
- int amount;
- int delta;
-
- if (win->hints->width_inc)
- {
- amount = maxx - win->width;
- delta = amount % win->hints->width_inc;
- if (amount < 0 && delta) amount -= win->hints->width_inc;
- amount -= delta;
- maxx = amount + win->width;
- }
-
- if (win->hints->height_inc)
- {
- amount = maxy - win->height;
- delta = amount % win->hints->height_inc;
- if (amount < 0 && delta) amount -= win->hints->height_inc;
- amount -= delta;
- maxy = amount + win->height;
- }
- }
-
PRINT_DEBUG (("maxsize: %d %d\n", maxx, maxy));
win->width = maxx;
No default key bindings (so you must set all bindings in your .ratpoisonrc)
diff --git a/src/actions.c b/src/actions.c
index 6dfe56f..05b5ab5 100644
--- a/src/actions.c
+++ b/src/actions.c
@@ -725,88 +725,6 @@ initialize_default_keybindings (void)
/* Add the prefix key to the top-level map. */
add_keybinding (prefix_key.sym, prefix_key.state, "readkey " ROOT_KEYMAP, top);
- add_keybinding (prefix_key.sym, prefix_key.state, "other", map);
- add_keybinding (prefix_key.sym, 0, "meta", map);
- add_keybinding (XK_g, RP_CONTROL_MASK, "abort", map);
- add_keybinding (XK_0, 0, "select 0", map);
- add_keybinding (XK_1, 0, "select 1", map);
- add_keybinding (XK_2, 0, "select 2", map);
- add_keybinding (XK_3, 0, "select 3", map);
- add_keybinding (XK_4, 0, "select 4", map);
- add_keybinding (XK_5, 0, "select 5", map);
- add_keybinding (XK_6, 0, "select 6", map);
- add_keybinding (XK_7, 0, "select 7", map);
- add_keybinding (XK_8, 0, "select 8", map);
- add_keybinding (XK_9, 0, "select 9", map);
- add_keybinding (XK_minus, 0, "select -", map);
- add_keybinding (XK_A, 0, "title", map);
- add_keybinding (XK_A, RP_CONTROL_MASK, "title", map);
- add_keybinding (XK_K, 0, "kill", map);
- add_keybinding (XK_K, RP_CONTROL_MASK, "kill", map);
- add_keybinding (XK_Return, 0, "next", map);
- add_keybinding (XK_Return, RP_CONTROL_MASK, "next", map);
- add_keybinding (XK_a, 0, "time", map);
- add_keybinding (XK_a, RP_CONTROL_MASK, "time", map);
- add_keybinding (XK_b, 0, "banish", map);
- add_keybinding (XK_b, RP_CONTROL_MASK, "banish", map);
- add_keybinding (XK_c, 0, "exec " TERM_PROG, map);
- add_keybinding (XK_c, RP_CONTROL_MASK, "exec " TERM_PROG, map);
- add_keybinding (XK_colon, 0, "colon", map);
- add_keybinding (XK_exclam, 0, "exec", map);
- add_keybinding (XK_exclam, RP_CONTROL_MASK, "colon exec " TERM_PROG " -e ", map);
- add_keybinding (XK_i, 0, "info", map);
- add_keybinding (XK_i, RP_CONTROL_MASK, "info", map);
- add_keybinding (XK_k, 0, "delete", map);
- add_keybinding (XK_k, RP_CONTROL_MASK, "delete", map);
- add_keybinding (XK_l, 0, "redisplay", map);
- add_keybinding (XK_l, RP_CONTROL_MASK, "redisplay", map);
- add_keybinding (XK_m, 0, "lastmsg", map);
- add_keybinding (XK_m, RP_CONTROL_MASK, "lastmsg", map);
- add_keybinding (XK_n, 0, "next", map);
- add_keybinding (XK_n, RP_CONTROL_MASK, "next", map);
- add_keybinding (XK_p, 0, "prev", map);
- add_keybinding (XK_p, RP_CONTROL_MASK, "prev", map);
- add_keybinding (XK_quoteright, 0, "select", map);
- add_keybinding (XK_quoteright, RP_CONTROL_MASK, "select", map);
- add_keybinding (XK_space, 0, "next", map);
- add_keybinding (XK_space, RP_CONTROL_MASK, "next", map);
- add_keybinding (XK_v, 0, "version", map);
- add_keybinding (XK_v, RP_CONTROL_MASK, "version", map);
- add_keybinding (XK_V, 0, "license", map);
- add_keybinding (XK_V, RP_CONTROL_MASK, "license", map);
- add_keybinding (XK_w, 0, "windows", map);
- add_keybinding (XK_w, RP_CONTROL_MASK, "windows", map);
- add_keybinding (XK_s, 0, "split", map);
- add_keybinding (XK_s, RP_CONTROL_MASK, "split", map);
- add_keybinding (XK_S, 0, "hsplit", map);
- add_keybinding (XK_S, RP_CONTROL_MASK, "hsplit", map);
- add_keybinding (XK_Tab, 0, "focus", map);
- add_keybinding (XK_Tab, RP_META_MASK, "focuslast", map);
- add_keybinding (XK_Left, RP_CONTROL_MASK, "exchangeleft", map);
- add_keybinding (XK_Right, RP_CONTROL_MASK, "exchangeright", map);
- add_keybinding (XK_Up, RP_CONTROL_MASK, "exchangeup", map);
- add_keybinding (XK_Down, RP_CONTROL_MASK, "exchangedown", map);
- add_keybinding (XK_Left, 0, "focusleft", map);
- add_keybinding (XK_Right, 0, "focusright", map);
- add_keybinding (XK_Up, 0, "focusup", map);
- add_keybinding (XK_Down, 0, "focusdown", map);
- add_keybinding (XK_Q, 0, "only", map);
- add_keybinding (XK_R, 0, "remove", map);
- add_keybinding (XK_f, 0, "fselect", map);
- add_keybinding (XK_f, RP_CONTROL_MASK, "fselect", map);
- add_keybinding (XK_F, 0, "curframe", map);
- add_keybinding (XK_r, 0, "resize", map);
- add_keybinding (XK_r, RP_CONTROL_MASK, "resize", map);
- add_keybinding (XK_question, 0, "help " ROOT_KEYMAP, map);
- add_keybinding (XK_underscore, RP_CONTROL_MASK, "undo", map);
- add_keybinding (XK_u, 0, "undo", map);
- add_keybinding (XK_u, RP_CONTROL_MASK, "undo", map);
- add_keybinding (XK_U, 0, "redo", map);
- add_keybinding (XK_x, 0, "swap", map);
- add_keybinding (XK_x, RP_CONTROL_MASK, "swap", map);
- add_keybinding (XK_N, 0, "nextscreen", map);
- add_keybinding (XK_P, 0, "prevscreen", map);
-
add_alias ("unbind", "undefinekey " ROOT_KEYMAP);
add_alias ("bind", "definekey " ROOT_KEYMAP);
add_alias ("split", "vsplit");
Offline
patches I use.
Ignore window size hints (to remove gaps with terminal windows - use this with rxvt-unicode-patched to avoid artifacts)
I have created a aur package (ratpoison-patched-git) that includes your Ignore window size hints patch.
I found it very useful
Thanks again!!
Offline
My ratpoison setup.
You can check this config at https://github.com/Extraterrestrial/rp-setup or copy from here.
# settings
escape C-x
startup_message off
set framesels 123456789
set padding 0 14 0 0
set barpadding 0 0
set barinpadding 0
set border 2
set fwcolor white
set font Terminus:style=bold:size=14
exec /usr/bin/rpws init 9 -k
# aliases
alias grid exec ratpoison -c "select -" -c "only" -c "hsplit" -c next -c "vsplit" -c next -c "focusright" -c next -c "vsplit" -c "next"
alias xpaste meta S-Insert
alias colonterm colon exec x-terminal-emulator -e
alias execterm exec x-terminal-emulator -e
alias togglebarhide exec xdotool key --window $(xdotool search --class dzen) b
# keybindings
unbind s
unbind C-s
unbind M-Tab
unbind 4
unbind 5
unbind 6
unbind 7
unbind 8
# applications
bind I colonterm sudo pacman -S
bind S colonterm ssh
bind M colonterm man
bind C-l exec slock
bind F10 execterm mcabber
bind F11 execterm mocp
bind F12 execterm mc
bind H execterm htop
bind C execterm vim ~/.ratpoisonrc
bind backslash exec rp-moc
# wm bindings
bind k delete
bind K kill
bind 0 remove
bind 1 only
bind 2 vsplit
bind 3 hsplit
bind o focus
bind O focusprev
bind R restart
bind M-r source /home/halo/.ratpoisonrc
bind C-y getsel
bind y xpaste
bind 9 exec
bind semicolon colonterm
bind F1 exec rpws 1
bind F2 exec rpws 2
bind F3 exec rpws 3
bind F4 exec rpws 4
bind F5 exec rpws 5
bind F6 exec rpws 6
bind F7 exec rpws 7
bind F8 exec rpws 8
bind F9 exec rpws 9
bind Q quit
bind equal grid
bind bracketright focus
bind bracketleft focusprev
bind C-bracketright focus
bind C-bracketleft focusprev
bind C-comma rpwsp
bind C-period rpwsn
bind T title
bind w fselect
bind L windows
bind C-s focuslast
bind Tab exec rp-windows
bind M-Tab exec rp-tags
bind B togglebarhide
Offline
In my ratpoison version I have tried this:-
ratpoison -c "echo $(upower -i /org/freedesktop/UPower/devices/battery_BAT0| grep -E "state|to\ full|percentage")"
from terminal this command works as expected and gives my battery status in the mesage bar
when i try to bind it to a key the message bar says
/bin/sh -c "<command>" finished (127)
why is this happening?
Offline
I have a question.
I'm running ratpoison with rpws for multiple workspaces. However I want to disable the meta-ctrl-left and meta-ctrl-right keyboard shortcuts to cycle through workspaces.
I've unbound C-M-Right and C-M-Left in my ~/.ratpoisonrc but since the rpws shorcuts don't need the escape character as a prefix this accomplishes nothing...
How can I disable those shortcuts?
Offline
I'd highly recommend all of you to check out https://github.com/jcs/ratpoison
Native workspaces using vinit, vselect, vmove, and vdump commands.
Configured with set virtuals #.
No more shelling out to rpws which is horribly slow under heavy system load.
among other things. REALLY nice!
interactive ratpoison-repl: https://github.com/trapd00r/utils/blob/master/ratrepl
ratpoisonrc: https://github.com/trapd00r/configs/blo … atpoisonrc
### vim:ft=ratpoison:fde:fdm=marker:fmr=#<,#>:fdc=3:fdl=0:
#< ${HOME}/etc/ratpoisonrc
# ‗‗‗‗‗‗‗‗‗‗‗‗ ‗‗‗‗‗‗ ‗‗‗‗‗‗‗‗ ‗‗‗‗‗‗‗‗‗‗‗
# owner Magnus Woldrich <m@japh.se>
# crafted 2009-04-24
# mtime 2016-09-13 12:10:22
# permissions You are free to use things you may find useful here.
# Would my tweaks happen to give you a raise or fetch you a
# girlfriend, it goes without saying I'm counting on you
# to share with me as I've shared with you.
# git git://github.com/trapd00r/configs.git
# url http://github.com/trapd00r/configs
# irc japh@freenode #zsh #vim #perl
# ‗‗‗‗‗‗‗‗‗‗‗‗ ‗‗‗‗‗‗‗‗‗‗‗‗‗ ‗‗‗‗ ‗‗‗‗ ‗‗‗‗
###>
startup_message off
escape C-f
defresizeunit 80
addhook switchgroup next
## the undocumented framefmt takes the same arguments as winfmt.
# set framefmt %w
#< catpoison only!
set virtuals 10
vinit
definekey top F1 vselect 1
definekey top F2 vselect 2
definekey top F3 vselect 3
definekey top F4 vselect 4
definekey top F5 vselect 5
definekey top F6 vselect 6
definekey top F7 vselect 7
definekey top F8 vselect 8
definekey top M-1 vselect 1
definekey top M-2 vselect 2
definekey top M-3 vselect 3
definekey top M-4 vselect 4
definekey top M-5 vselect 5
set barsticky off
#set gap
#>
#< options
set gravity c
set bargravity c
set wingravity c
set winname title
set maxsizegravity c
set inputwidth 0
set historyexpansion 1
set historycompaction 1
set historysize 1000
set winliststyle column
set barpadding 8 8
set padding 0 10 0 0
set border 0
set bgcolor #080808
set bwcolor #0c0c0c
set fgcolor #d75f00
set fwcolor #afd700
set font Terminus:weight:bold:size=12
set maxundos 20
#>
#< window management
unmanage tint2
unmanage dzen2
unmanage sdlmame
unmanage mame
unmanage neverball
unmanage gcolor2
#>
#< binds: applications
bind c exec urxvt -name sid -fg white -bg black
bind C exec urxvt -name sid -fg white -bg '#1c1c1c'
bind v exec urxvt -name sid -bg '#121212' -fg '#bbaaaa'
bind x exec urxvt -name sid -fn 'xft:Terminus:pixelsize=14'
bind X exec xterm -name XTerm
bind e exec rp-runorraise firefox
bind p exec knradio -p
bind o exec knradio -s
bind 0 exec ratpoison -c "echo ´~/bin/knnp´"
#< top level XF86 binds
definekey top XF86AudioRaiseVolume exec amixer -c 0 set Master 2dB+
definekey top XF86AudioLowerVolume exec amixer -c 0 set Master 2dB-
definekey top XF86AudioMute exec amixer -c 0 set Master mute
definekey top XF86Calculator exec amixer -c 0 set Master unmute
definekey top XF86Mail exec nestopia -dpu ~/emu/nes/castlevania.nes
definekey top XF86HomePage exec nestopia -dpu ~/emu/nes/castlevania3.nes
#definekey top Menu
#>
unbind space
bind space exec ratpoison -c "echo `acpi | perl -pe 's/Battery 0: \w+, //'`"
unbind w
unbind g
bind w exec sh ~/dev/ratpoison_scripts/window-menu/window-menu
bind g exec ~/dev/utils/rp-groups-menu
#>
#< binds: window management
bind H exchangeleft
bind J exchangedown
bind K exchangeup
bind L exchangeright
bind h focusleft
bind j focusdown
bind k focusup
bind l focusright
bind C-K kill
#bind w windows
#bind W windows
bind u undo
bind G gmove
bind Tab focuslast
bind ISO_Left_Tab focus
#bind s-n gnext
#bind s-p gprev
#bind s-c gnew
#bind s-g gnew
#>
#< binds: workspaces
#exec rpws init 5 -k
#gnewbg one
#gnewbg two
#gnewbg three
#gnewbg four
#>
#< binds: top level
#definekey top C-Return exec firefox -new-tab "`xclip -o`"
#definekey top S-Return getsel
#definekey top Pause exec ossmix vmix0.pcm8 -- +2
#definekey top Print exec ossmix vmix0.pcm8 -- -2
#definekey top C-Break exec ossmix vmix0.pcm9 -- +2
#definekey top C-Print exec ossmix vmix0.pcm9 -- -2
#>
# act normal, but prevent firefox from raising itself
# when links are opened from other applications
rudeness 12
#< init
hsplit
#>
Offline
I know this is an ancient thread but may be there are still some RP in archlinux.
I want to use polybar or dzen on my RP but I can`t figure out how to go about for it . Did try some settings but they did not work for me
e.g
#unmanage tint2
unmanage polybar
exec polybar
#unmanage dzen2
unmanage panel
set padding 0 14 0 14
Would appreciate if someone helps me how to get it done correctly .
Offline
saleem, this really isn't a support thread -- if you need help using polybar or dzen with ratpoison, i'd suggest you start a new topic; post your entire ratpoison config file and your polybar or dzen configs (please use [ code ] tags).
I use rp, but I don't use polybar or dzen. A quick startpage search for "using polybar with ratpoison" or "using dzen with ratpoison" does give me several hits that look useful.
Offline
saleem, this really isn't a support thread -- if you need help using polybar or dzen with ratpoison, i'd suggest you start a new topic; post your entire ratpoison config file and your polybar or dzen configs (please use [ code ] tags).
I use rp, but I don't use polybar or dzen. A quick startpage search for "using polybar with ratpoison" or "using dzen with ratpoison" does give me several hits that look useful.
Thank you for guiding me , I will share all my work in a new post . and meanwhile will search for "using polybar with ratpoison" as well .
Offline
These days, I am trying ratpoison. Its amazing. Great. Only one thing. If I close LibreOffice Writer window using C-t k , then the firefox browser open, popup download window and ask me to download. If I close them all and reopen my Writer .odt file, then LibreOffice ask that to recover last changes in the file. Actually, I saved the file.
Edited: it was solved. I set the key k to kill. It makes problem. It should be set to delete.
Last edited by duyinthee (2021-11-20 04:50:57)
Offline