aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--i3/config6
-rw-r--r--scripts/audio_control.sh32
2 files changed, 35 insertions, 3 deletions
diff --git a/i3/config b/i3/config
index 5d6da20..82a485f 100644
--- a/i3/config
+++ b/i3/config
@@ -174,9 +174,9 @@ bar {
# Audio shortcuts
# # Volume
-bindsym XF86AudioLowerVolume exec pamixer -d 5
-bindsym XF86AudioRaiseVolume exec pamixer -i 5
-bindsym XF86AudioMute exec pamixer -t
+bindsym XF86AudioLowerVolume exec sh ~/.dotfiles/scripts/audio_control.sh -5
+bindsym XF86AudioRaiseVolume exec sh ~/.dotfiles/scripts/audio_control.sh +5
+bindsym XF86AudioMute exec sh ~/.dotfiles/scripts/audio_control.sh toggle
# # Music
bindsym XF86AudioPrev exec bash ~/.dotfiles/scripts/media_control.sh prev
bindsym XF86AudioPlay exec bash ~/.dotfiles/scripts/media_control.sh toggle
diff --git a/scripts/audio_control.sh b/scripts/audio_control.sh
new file mode 100644
index 0000000..7bbf7df
--- /dev/null
+++ b/scripts/audio_control.sh
@@ -0,0 +1,32 @@
+#!/bin/sh
+
+if type pamixer &> /dev/null
+then
+ command_inc="pamixer -i "
+ command_dec="pamixer -d "
+ command_toggle="pamixer -t"
+elif type amixer &> /dev/null
+then
+ command_inc="amixer -q set Master "
+ inc_suff="%+"
+ command_dec="amixer -q set Master "
+ dec_suff="%-"
+ command_toggle="amixer -q set Master toggle"
+else
+ command_inc="i3-nagbar -m \"please install amixer(ALSA) or pamixer(PA)\""
+ command_dec="i3-nagbar -m \"please install amixer(ALSA) or pamixer(PA)\""
+ command_toggle="i3-nagbar -m \"please install amixer(ALSA) or pamixer(PA)\""
+fi
+
+if [[ $1 =~ ^\+[0-9]$ ]]
+then
+ eval $command_inc "${1:1}$inc_suff"
+elif [[ $1 =~ ^\-[0-9]$ ]]
+then
+ eval $command_dec "${1:1}$dec_suff"
+elif [[ $1 = "toggle" ]]
+then
+ eval $command_toggle
+else
+ eval "i3-nagbar -m \"not supported command $1\""
+fi