#!/bin/bash ## Author : Aditya Shakya (adi1090x) ## Mail : adi1090x@gmail.com ## Github : @adi1090x ## Reddit : @adi1090x rofi_command="rofi -theme themes/volume.rasi" ## Get Volume #VOLUME=$(amixer get Master | tail -n 1 | awk -F ' ' '{print $5}' | tr -d '[]%') MUTE=$(amixer get Master | tail -n 1 | awk -F ' ' '{print $6}' | tr -d '[]%') active="" urgent="" if [[ $MUTE == *"off"* ]]; then active="-a 1" else urgent="-u 1" fi if [[ $MUTE == *"off"* ]]; then active="-a 1" else urgent="-u 1" fi if [[ $MUTE == *"on"* ]]; then VOLUME="$(amixer get Master | tail -n 1 | awk -F ' ' '{print $5}' | tr -d '[]%')%" else VOLUME="Mu..." fi ## Icons ICON_UP="ﱛ" ICON_DOWN="ﱜ" ICON_MUTED="ﱝ" options="$ICON_UP\n$ICON_MUTED\n$ICON_DOWN" ## Main chosen="$(echo -e "$options" | $rofi_command -p "$VOLUME" -dmenu $active $urgent -selected-row 0)" case $chosen in $ICON_UP) amixer -Mq set Master,0 5%+ unmute && notify-send -u low -t 1500 "Volume Up $ICON_UP" ;; $ICON_DOWN) amixer -Mq set Master,0 5%- unmute && notify-send -u low -t 1500 "Volume Down $ICON_DOWN" ;; $ICON_MUTED) amixer -q set Master toggle ;; esac