#using jcs hacks # info: C=control, M=meta/alt, s=super, S=shift, H = Hyper # xnest for testing set onlyborder 0 escape grave definekey top s-grave meta definekey top Arabic_dammatan meta # Surpress 'Current Frame' set framemsgwait -1 set historyexpansion 1 bind f fselect # set font with unicode support #set font -*-terminus-medium-r-normal-*-14-*-*-*-*-*-*-* set font "DejaVu Sans Mono" # Enable xcb copy/paste #source .config/ratpoison/ratpoisonrc.clipboard # Make tab switch to the next screen bind Tab nextscreen #have windows centered set wingravity center # Set name to be title set winname title #Pest control. banish #exec unclutter -idle 1 -jitter 2 -root #warp on #addhook switchwin banish #No more startup message startup_message off #fix mouse exec xsetroot -cursor_name left_ptr #Effects & Background #exec xcompmgr -c -f & #exec nitrogen --restore #Border & Padding alias showpanel set padding 0 40 0 0 alias hidepanel set padding 0 0 0 0 hidepanel alias showborder set border 2 alias hideborder set border 0 #bordscript ###################################### # Panel ###################################### #alias barsend exec ~/.config/ratpoison/panel/windows alias barsend exec echo 'Wclear' > /tmp/panel-fifo; ratpoison -c 'windows %s%n %t' | while read line;do echo "${line}" | cut -c -25 > /tmp/panel-fifo;done # tell ratpoison to ignore panels unmanage feh unmanage rpbar unmanage bar unmanage stalonetray # hooks addhook switchwin barsend #addhook deletewindow barsend addhook switchframe barsend addhook switchgroup barsend #addhook switchgroup bordscript #addhook titlechanged barsend #addhook key barsend #------------------------------------------------------------- #Bindings #------------------------------------------------------------- alias window_menu exec .config/ratpoison/window_menu bind h focusleft bind l focusright bind j focusdown bind k focusup bind H exchangeleft bind L exchangeright bind J exchangedown bind K exchangeup bind w window_menu bind a exec ratpoison -i -c 'title' && ratpoison -c 'barsend' bind t exec ~/bin/passenter bind T exec ~/bin/passmake definekey top s-l exec ~/.config/ratpoison/lock definekey top s-s exec ~/bin/sus definekey top s-L redisplay bind C exec feh --bg-fill "$(find ~/.wallpapers/ -type f | shuf -n 1)" bind v hsplit bind V hsplit 2/3 bind s vsplit bind S vsplit 2/3 bind d remove bind space exec kitty bind S-space exec kitty --override font_size=8 bind o only bind semicolon colon bind e exec bind u undo bind x delete bind X kill bind Escape abort bind W exec sudo connman_dmenu #Paste goodness bind g exec ~/bin/safeimg bind P exec ~/bin/safepaste alias paneltoggle exec ~/.config/ratpoison/paneltoggle definekey top s-b bordtoggle definekey top s-p paneltoggle # Stop proccess alias stop exec pkill -STOP # Cont proccess alias cont exec pkill -CONT # b : Open url alias browse_cmd exec .config/ratpoison/exec_to_workspace 2 chromium-dev --start-fullscreen --new-window https://google.com alias browse colon browse_cmd bind b browse # B : open a new firefox tab and browse to the X clipboard selection alias browse_selection exec .config/ratpoison/exec_to_workspace 2 vimb `ratpoison -c getsel` bind B banish # Paste with X selection alias insert_X_selection meta S-Insert bind i insert_X_selection #------------------------------------------------------------- #Application Shortcuts #------------------------------------------------------------- definekey top s-c colon cont definekey top s-x colon stop definekey top s-f exec firefox definekey top s-v exec vimb definekey top s-V exec mpv `xclip -o` --ytdl-format=22 definekey top s-h exec ~/.config/vimb/history-search #definekey top s-g exec gvim #definekey top s-l exec libreoffice definekey top s-m exec mbsync -a && notmuch new && ratpoison -c 'echo Mail Synced' #----------------------------------------------------- # Voice control #----------------------------------------------------- definekey top KP_Enter exec ~/Dropbox/speech/run-duplex.sh #------------------------------------------------------------- # Volume Control #------------------------------------------------------------- alias volup exec pactl set-sink-volume `pactl list sinks short | perl -ne '/^(\d*)/; $x=$1; END { print $x }'` +2% && echo "V$(pamixer --sink 9 --get-volume)" > /tmp/panel-fifo alias voldown exec pactl set-sink-volume `pactl list sinks short | perl -ne '/^(\d*)/; $x=$1; END { print $x }'` -2% && echo "V$(pamixer --sink 9 --get-volume)" > /tmp/panel-fifo alias spvolup exec pactl set-sink-input-volume `.config/ratpoison/get_spotify_sink` +2% alias spvoldown exec pactl set-sink-input-volume `.config/ratpoison/get_spotify_sink` -2% definekey top XF86AudioRaiseVolume volup definekey top M-XF86AudioRaiseVolume spvolup definekey top s-Prior volup definekey top s-q volup definekey top XF86AudioPlay exec dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.PlayPause definekey top XF86AudioStop exec dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Stop definekey top XF86AudioNext exec dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Next definekey top XF86AudioPrev exec dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Previous definekey top XF86AudioLowerVolume voldown definekey top M-XF86AudioLowerVolume spvoldown definekey top s-Next voldown definekey top s-a voldown # Mute alias voltoggle exec amixer set Master toggle && ratpoison -c "echo Sound: `amixer -D sysdefault get Master|awk '/Mono:/ {print $6}'`" definekey top XF86AudioMute voltoggle definekey top s-Pause voltoggle #------------------------------------------------------------- # Brightness Control #------------------------------------------------------------- alias brightup exec light -A 2 alias brightdown exec light -U 2 definekey top XF86MonBrightnessUp brightup definekey top XF86MonBrightnessDown brightdown definekey top s-Home brightup definekey top s-g brightup definekey top s-End brightdown definekey top s-d brightdown #------------------------------------------------------------- # MPD (Music) Control #------------------------------------------------------------- # Aliases alias playinfo exec ratpoison -c "echo Music: `mpc -h 127.0.0.1 | head -2 | tail -1 | awk '{print $1}'`" alias volinfo exec ratpoison -c "echo `$HOME/.config/ratpoison/mpdvolind`" alias songinfo exec ratpoison -c "echo Music: `mpc -h 127.0.0.1 | head -1`" #alias volinfo exec ratpoison -c "echo `$HOME/.config/ratpoison/cmusvolind`" #alias playinfo exec ratpoison -c "echo Music: `cmus-remote -Q | awk '/status/ {print $2}'`" #alias songinfo exec ratpoison -c "echo Playing:`cmus-remote -Q | awk '/ artist/ {$1=$2=""; print $0}'` - `cmus-remote -Q 2>/dev/null | grep title | awk '{$1=$2=""; print $0}'`" # Play/Pause and Volume definekey top s-space exec mpc -h 127.0.0.1 toggle #&& ratpoison -c 'playinfo' definekey top s-Right exec mpc -h 127.0.0.1 next #&& ratpoison -c "songinfo" definekey top s-Left exec mpc -h 127.0.0.1 prev #&& ratpoison -c "songinfo" definekey top s-Up exec mpc -h 127.0.0.1 volume +5 #&& ratpoison -c "volinfo" definekey top s-w exec mpc -h 127.0.0.1 volume +5 #&& ratpoison -c "volinfo" definekey top s-Down exec mpc -h 127.0.0.1 volume -5 #&& ratpoison -c 'volinfo' definekey top s-r exec mpc -h 127.0.0.1 volume -5 #&& ratpoison -c "volinfo" # Old cmus controls #definekey top s-space exec cmus-remote -u && ratpoison -c "playinfo" #definekey top s-Right exec cmus-remote -n && ratpoison -c "songinfo" #definekey top s-Left exec cmus-remote -r && ratpoison -c "songinfo" #definekey top s-Up exec cmus-remote -v +5% && ratpoison -c "volinfo" #definekey top s-Down exec cmus-remote -v -5% && ratpoison -c "volinfo" # Show song that is playing definekey top Print songinfo #------------------------------------------------------------- # Unbindings #------------------------------------------------------------- unbind Q unbind C-A unbind C-a unbind C-p unbind C-apostrophe unbind C-i unbind C-Return unbind C-n unbind C-m unbind C-c unbind C-k unbind C-l unbind C-K unbind C-exclam unbind C-grave unbind C-u unbind C-g unbind C-space unbind C-v unbind C-s unbind C-Right unbind C-Up unbind C-Down unbind C-x unbind C-f unbind C-V unbind C-S unbind C-w unbind C-b #------------------------------------------------------------- # Layout saving #------------------------------------------------------------- # bind M-! to store the current frame layout in slot #1 bind M-exclam exec ratpoison -c "setenv fs1 `ratpoison -c 'fdump'`" #bind M-1 to restore the frame layout in slot #1 bind M-1 exec ratpoison -c "frestore `ratpoison -c 'getenv fs1'`" # Do the same for slot #2 and bind it to M-@ and M-2, respectively. bind M-at exec ratpoison -c "setenv fs2 `ratpoison -c 'fdump'`" bind M-2 exec ratpoison -c "frestore `ratpoison -c 'getenv fs2'`" # Give ourselves another slot on M-# and M-3, respectively. bind M-numbersign exec ratpoison -c "setenv fs3 `ratpoison -c 'fdump'`" bind M-3 exec ratpoison -c "frestore `ratpoison -c 'getenv fs3'`"