Sexi-i3/manager/scripts/volume
OpexHunter 292de4b25c init
2025-03-16 21:22:11 +03:00

36 lines
1.6 KiB
Bash
Executable File
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/bin/bash
# Максимальный уровень громкости (в процентах)
MAX_VOLUME=200
# Уникальный идентификатор для уведомления
NOTIFICATION_ID=9999
# Получаем текущий уровень громкости
CURRENT_VOLUME=$(pactl get-sink-volume @DEFAULT_SINK@ | grep -oP '\d+%' | head -1 | tr -d '%')
# Проверяем переданный параметр
if [ "$1" == "+" ]; then
# Если параметр "+", увеличиваем громкость
if [ "$CURRENT_VOLUME" -lt "$MAX_VOLUME" ]; then
pactl set-sink-volume @DEFAULT_SINK@ +10%
else
# Если громкость уже на максимуме, выводим уведомление
notify-send -u normal -r $NOTIFICATION_ID "Невозможно увеличить звук" "Достигнут лимит в $MAX_VOLUME%"
exit 0
fi
elif [ "$1" == "-" ]; then
# Если параметр "-", уменьшаем громкость
pactl set-sink-volume @DEFAULT_SINK@ -10%
else
# Если параметр некорректный, выводим сообщение об ошибке
notify-send -u normal -r $NOTIFICATION_ID "Error" "Invalid parameter. Use '+' or '-'."
exit 1
fi
# Получаем обновленный уровень громкости
UPDATED_VOLUME=$(pactl get-sink-volume @DEFAULT_SINK@ | grep -oP '\d+%' | head -1 | tr -d '%')
# Отправляем уведомление с текущим уровнем громкости
notify-send -u normal -i audio-volume-high -r $NOTIFICATION_ID "Уровень звука" "${UPDATED_VOLUME}%"