diff options
| author | 2025-10-20 19:23:58 +0500 | |
|---|---|---|
| committer | 2025-10-20 19:23:58 +0500 | |
| commit | b8eb10620b7124165ab6e9869f1ddd7aed8abadd (patch) | |
| tree | 78449a7f75054ce89b026cb612f05cd22ba24a8c | |
| parent | f4c7fd23d0da4a9cc2b81b85eb5e9d5683401366 (diff) | |
Squash merge set-max-volume into master
| -rw-r--r-- | README.md | 27 | ||||
| -rw-r--r-- | swob-swayconfig | 6 | ||||
| -rwxr-xr-x | swob.sh | 12 |
3 files changed, 29 insertions, 16 deletions
@@ -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%+ @@ -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 |
