130 lines
2.8 KiB
Bash
Executable File
130 lines
2.8 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
NAME=$(basename "$0")
|
|
VER="0.4"
|
|
|
|
usage() {
|
|
cat <<- EOF
|
|
|
|
USAGE: $NAME [OPTIONS [ADDITIONAL]]
|
|
|
|
OPTIONS:
|
|
|
|
-h,--help Display this message
|
|
|
|
-v,--version Display script version
|
|
|
|
-p,--polybar Toggle the configured polybar session, NO additional options
|
|
|
|
-c,--compton Toggle compton or daemon monitoring icon, can use toggle option
|
|
|
|
-r,--redshift Toggle redshift or daemon monitoring icon, can use toggle option
|
|
|
|
-f,--caffeine Toggle caffeine or daemon monitoring icon, can use toggle option
|
|
|
|
ADDITIONAL:
|
|
|
|
-t,--toggle Toggle the program off/on, without this flag a monitor process will be started
|
|
|
|
EOF
|
|
}
|
|
|
|
toggle_polybar() {
|
|
if [[ $(pidof polybar) ]]; then
|
|
pkill polybar
|
|
else
|
|
al-polybar-session
|
|
fi
|
|
}
|
|
|
|
toggle_compton() {
|
|
if (( opt == 1 )); then
|
|
if [[ $(pidof compton) ]]; then
|
|
al-compositor --stop
|
|
else
|
|
al-compositor --start
|
|
fi
|
|
exit 0
|
|
fi
|
|
on=""
|
|
off=""
|
|
while true; do
|
|
if [[ $(pidof compton) ]]; then
|
|
echo "$on"
|
|
else
|
|
echo "%{F#888888}$off"
|
|
fi
|
|
sleep 2
|
|
done
|
|
}
|
|
|
|
toggle_redshift() {
|
|
if (( opt == 1 )); then
|
|
if [[ $(pidof redshift) ]]; then
|
|
pkill redshift
|
|
else
|
|
redshift &
|
|
fi
|
|
exit 0
|
|
fi
|
|
icon=""
|
|
while true; do
|
|
if [[ $(pidof redshift) ]]; then
|
|
temp=$(sed 's/K//g' <<< "$(grep -o '[0-9].*K' <<< "$(redshift -p 2>/dev/null)")")
|
|
fi
|
|
if [[ -z $temp ]]; then
|
|
echo " $icon " # Greyed out (not running)
|
|
elif [[ $temp -ge 5000 ]]; then
|
|
echo "%{F#8039A0} $icon " # Blue
|
|
elif [[ $temp -ge 4000 ]]; then
|
|
echo "%{F#F203F0} $icon " # Yellow
|
|
else
|
|
echo "%{F#FF5B6C} $icon " # Orange
|
|
fi
|
|
sleep 2
|
|
done
|
|
}
|
|
|
|
toggle_caffeine() {
|
|
if (( $opt == 1 )); then
|
|
if [[ $(pidof caffeine) ]]; then
|
|
killall caffeine
|
|
else
|
|
caffeine &
|
|
fi
|
|
exit 0
|
|
fi
|
|
on=""
|
|
off=""
|
|
while true; do
|
|
if [[ $(pidof caffeine) ]]; then
|
|
echo "%{F#0000FF}$on"
|
|
else
|
|
echo "%{F#FF0000}$off"
|
|
fi
|
|
sleep 2
|
|
done
|
|
}
|
|
|
|
# Catch command line options
|
|
case $1 in
|
|
-h|--help) usage ;;
|
|
-v|--version) echo -e "$NAME -- Version $VER" ;;
|
|
-p|--polybar) toggle_polybar ;;
|
|
-c|--compton)
|
|
[[ $2 =~ (-t|--toggle) ]] && opt=1
|
|
toggle_compton
|
|
;;
|
|
-r|--redshift)
|
|
[[ $2 =~ (-t|--toggle) ]] && opt=1
|
|
toggle_redshift
|
|
;;
|
|
-f|--caffeine)
|
|
[[ $2 =~ (-t|--toggle) ]] && opt=1
|
|
toggle_caffeine
|
|
;;
|
|
*) echo -e "Option does not exist: $1" && usage && exit 1
|
|
esac
|
|
|
|
exit 0
|