distribution/packages/jelos/sources/scripts/volume

40 lines
744 B
Bash

#!/bin/sh
# SPDX-License-Identifier: GPL-2.0-or-later
# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS)
# Source minimal predefined functions and variables
# to ensure as much performance as possible.
. /etc/profile.d/001-functions
VOLUME=$(get_setting "audio.volume")
MAX_VOLUME=100
MIN_VOLUME=0
STEP=10
case ${1} in
"+"|"up")
VOLUME=$(( ${VOLUME} + ${STEP} ))
;;
"-"|"down")
VOLUME=$(( ${VOLUME} - ${STEP} ))
;;
*)
VOLUME=${1}
;;
esac
if (( ${VOLUME} < ${MIN_VOLUME} ))
then
VOLUME=${MIN_VOLUME}
elif (( ${VOLUME} > ${MAX_VOLUME} ))
then
VOLUME=${MAX_VOLUME}
elif [ -z "${VOLUME}" ]
then
VOLUME=60
fi
pactl -- set-sink-volume @DEFAULT_SINK@ ${VOLUME}%
set_setting "audio.volume" ${VOLUME}