Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/sh
- source /home/user/scripts/_vars/global
- source /home/user/scripts/_vars/termcolors
- function check() {
- # charge level
- level=$(</sys/class/power_supply/BAT0/capacity)
- # battery state
- state=$(</sys/class/power_supply/BAT0/status)
- if [ "$state" != "Full" ] && [ "$state" != "Charging" ]; then
- if [ "$level" = "40" ] || [ "$level" = "15" ]; then
- notify low
- elif [ "$level" = "5" ]; then
- notify empty
- /home/user/scripts/desktop/menu battery
- fi
- fi
- }
- function notify() {
- _check_notifier
- # charge level
- level=$(</sys/class/power_supply/BAT0/capacity)
- # battery state status (Full, Discharging, Charging)
- state=$(</sys/class/power_supply/BAT0/status)
- warning=$1
- if [ "$warning" = "empty" ]; then
- icon="battery_empty"
- urgency="critical"
- timeout=$NOTIFY_TIMEOUT_CRITICAL
- message="<span foreground=\'$NOTIFY_COLOR_YELLOW\'><b>Battery Empty</b></span>\nCharge: <span foreground=\'${NOTIFY_COLOR_RED}\'><b>${level}%</b></span> (${state})"
- elif [ "$warning" = "low" ]; then
- icon="battery_low"
- urgency="critical"
- timeout=$NOTIFY_TIMEOUT_CRITICAL
- message="<span foreground=\'$NOTIFY_COLOR_YELLOW\'><b>Battery Low</b></span>\nCharge: <span foreground=\'${NOTIFY_COLOR_RED}\'><b>${level}%</b></span> (${state})"
- else
- icon="battery"
- urgency="low"
- timeout=$NOTIFY_TIMEOUT_NORMAL
- message="<b>Battery</b>\nCharge: <b>${level}%</b> (${state})"
- fi
- _send_notification "battery" "$icon" "$urgency" "$timeout" "battery" "$message"
- }
- function output() {
- # charge level
- level=$(</sys/class/power_supply/BAT0/capacity)
- # battery state status (Full, Discharging, Charging)
- state=$(</sys/class/power_supply/BAT0/status)
- if [ "$level" = "100" ]; then
- levelstring="${COLOR_GREEN}${level}%${COLOR_RESET}"
- elif [ "$level" -lt "100" ] && [ "$level" -gt "40" ]; then
- levelstring="${COLOR_YELLOW}${level}%${COLOR_RESET}"
- else
- levelstring="${COLOR_RED}${level}%${COLOR_RESET}"
- fi
- if [ "$state" = "Full" ] || [ "$state" = "Charging" ]; then
- statestring="(${COLOR_GREEN}${state}${COLOR_RESET})"
- else
- statestring="(${COLOR_YELLOW}${state}${COLOR_RESET})"
- fi
- echo "Battery: $levelstring $statestring"
- }
- case $1 in
- check) check ;;
- notify) notify $2 ;;
- "") output ;;
- *) _invalid_output ;;
- esac
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement