aboutsummaryrefslogtreecommitdiff
path: root/Window_Manager/ratpoison/ratpoisonrc.conf
blob: 8c32e47db7d6f33b6d607f8da427b9a5d842a8b8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
#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
showpanel

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'`"