-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathvolumerc
35 lines (33 loc) · 2.18 KB
/
volumerc
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
#-*- Mode: Ratpoisonrc -*-
## Volumey stuff. Unmute used only indirectly. Variables can be overridden in machine-specific ~/.ratpoisonrc.
#
# Examples:
#
# Control the first card:
# setenv rp_volume_step 2
# setenv rp_volume_card -c 0
#
# Control pulseaudio volume via amixer. (Note: specifying volume step in percent is important here!):
# setenv rp_volume_step 2%
# setenv rp_volume_card -D pulse
#
exec [ -z "${rp_volume_step}" ] && ratpoison -c 'setenv rp_volume_step 2%' || true
exec [ -z "${rp_volume_control}" ] && ratpoison -c 'setenv rp_volume_control Master' || true
exec [ -z "${rp_mic_control}" ] && ratpoison -c 'setenv rp_mic_control Capture' || true
exec [ -z "${rp_volume_card}" ] && ratpoison -c 'setenv rp_volume_card -D default' || true
alias %volume-unmute exec amixer ${rp_volume_card} sset "${rp_volume_control}" on; ratpoison -c 'echo Unmuted'
alias volume-up exec if amixer ${rp_volume_card} sget "${rp_volume_control}" | grep -q '\[off\]'; then ratpoison -c '%volume-unmute'; else ratpoison -c "echo $(amixer ${rp_volume_card} sset "${rp_volume_control}" "${rp_volume_step}+" | grep -Eo '\[.*%\](\s*\[.*dB\])?')"; fi
alias volume-down exec if amixer ${rp_volume_card} sget "${rp_volume_control}" | grep -q '\[off\]'; then ratpoison -c '%volume-unmute'; else ratpoison -c "echo $(amixer ${rp_volume_card} sset "${rp_volume_control}" "${rp_volume_step}-" | grep -Eo '\[.*%\](\s*\[.*dB\])?')"; fi
alias volume-mute exec amixer ${rp_volume_card} sset "${rp_volume_control}" off; ratpoison -c 'echo Muted'
alias volume-mic-toggle exec ratpoison -c "echo Microphone $(amixer ${rp_volume_card} sset "${rp_mic_control}" toggle | grep -Eo '\[(on|off)\]' | head -1)"
alias volume-show exec ratpoison -c "echo $(amixer ${rp_volume_card} sget ${rp_volume_control})"
definekey top XF86AudioMute volume-mute
definekey top XF86AudioMicMute volume-mic-toggle
definekey top XF86AudioLowerVolume volume-down
definekey top XF86AudioRaiseVolume volume-up
# For non-media-keyboards (but that have a keypad)
definekey top s-KP_Enter volume-mute
definekey top s-KP_Multiply volume-mic-toggle
definekey top s-KP_Subtract volume-down
definekey top s-KP_Add volume-up
bind v volume-show