#!/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}
