aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLibravatar Stepanov Aleksey <blueingreen@bluig.space>2025-10-20 19:23:58 +0500
committerLibravatar Stepanov Aleksey <blueingreen@bluig.space>2025-10-20 19:23:58 +0500
commitb8eb10620b7124165ab6e9869f1ddd7aed8abadd (patch)
tree78449a7f75054ce89b026cb612f05cd22ba24a8c
parentf4c7fd23d0da4a9cc2b81b85eb5e9d5683401366 (diff)
Squash merge set-max-volume into master
-rw-r--r--README.md27
-rw-r--r--swob-swayconfig6
-rwxr-xr-xswob.sh12
3 files changed, 29 insertions, 16 deletions
diff --git a/README.md b/README.md
index da3fe4c..4733405 100644
--- a/README.md
+++ b/README.md
@@ -57,6 +57,33 @@ href="dwl-config.h.patch">dwl-config.h.patch</a></dd>
point to its absolute location. </li>
</ul>
+Environment variables
+---------------------
+
+You can set the `SWOB_MAX_VOLUME` environment variable to set the maximum volume.
+
+```conf
+# Your Sway config
+
+set $SWOB_MAX_VOLUME 120
+
+bindsym --locked XF86AudioLowerVolume exec exec env SWOB_MAX_VOLUME=$SWOB_MAX_VOLUME swob.sh volume 5%-
+bindsym --locked XF86AudioRaiseVolume exec exec env SWOB_MAX_VOLUME=$SWOB_MAX_VOLUME swob.sh volume 5%+
+```
+
+Theming
+-------
+
+For wob styling when the value is above the threshold, there are styles: `overflow_bar_color`, `overflow_background_color`, `overflow_border_color`.
+
+```ini
+[style.mute]
+background_color = af0000
+background_color = af0000
+overflow_bar_color = FF5555
+overflow_border_color = 000000
+```
+
Copying
-------
diff --git a/swob-swayconfig b/swob-swayconfig
index fd0d7a8..b74c114 100644
--- a/swob-swayconfig
+++ b/swob-swayconfig
@@ -4,9 +4,3 @@ bindsym --locked XF86MonBrightnessUp exec exec swob.sh brightness 5%+
bindsym --locked XF86AudioLowerVolume exec exec swob.sh volume 5%-
bindsym --locked XF86AudioRaiseVolume exec exec swob.sh volume 5%+
bindsym --locked XF86AudioMute exec exec swob.sh volume toggle
-
-# or with SWOB_MAX_VOLUME
-set $SWOB_MAX_VOLUME 120
-
-bindsym --locked XF86AudioLowerVolume exec exec env SWOB_MAX_VOLUME=$SWOB_MAX_VOLUME swob.sh volume 5%-
-bindsym --locked XF86AudioRaiseVolume exec exec env SWOB_MAX_VOLUME=$SWOB_MAX_VOLUME swob.sh volume 5%+
diff --git a/swob.sh b/swob.sh
index d47e980..394d7d9 100755
--- a/swob.sh
+++ b/swob.sh
@@ -95,14 +95,6 @@ get_audio_type() {
SWOB_AUDIO=alsa # default to ALSA
}
-pactl_vol() {
- pactl set-sink-"$1" @DEFAULT_SINK@ "$(echo "$2" | sed -E 's/(.*)([+-])$/\2\1/')"
-}
-
-percent_to_float() {
- awk -v percent="$1" 'BEGIN{printf "%.1f", percent/100}'
-}
-
set_vol() {
set +fu
get_audio_type
@@ -112,7 +104,7 @@ set_vol() {
pipewire)
case $1 in
toggle) to_set=mute ;;
- *) to_set="volume -l $(percent_to_float "$SWOB_MAX_VOLUME")" ;;
+ *) to_set="volume -l $(awk -v percent="$SWOB_MAX_VOLUME" 'BEGIN{printf "%.1f", percent/100}')" ;;
esac
wpctl set-$to_set @DEFAULT_AUDIO_SINK@ "$1"
wpctl get-volume @DEFAULT_AUDIO_SINK@ | sed -E \
@@ -131,7 +123,7 @@ set_vol() {
if test "$to_set" = "mute" \
-o \( "$percent" -lt "$SWOB_MAX_VOLUME" \) \
-o \( "$percent" -eq "$SWOB_MAX_VOLUME" -a "$sign" = "-" \); then
- pactl_vol "$to_set" "$1"
+ pactl set-sink-$to_set @DEFAULT_SINK@ "$(echo "$1" | sed -E 's/(.*)([+-])$/\2\1/')"
else
pactl set-sink-$to_set @DEFAULT_SINK@ "${SWOB_MAX_VOLUME}%"
fi