36 lines
1.6 KiB
Bash
Executable File
36 lines
1.6 KiB
Bash
Executable File
#!/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}%"
|