mirror of
https://github.com/CoolnsX/hyprdots.git
synced 2026-06-17 07:42:07 +05:30
74 lines
1.6 KiB
Bash
Executable File
74 lines
1.6 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
notify() {
|
|
notify-send -e -t 5000 -i "${icon_dir}${1}" -h "string:x-canonical-private-synchronous:${0##*/}" "$2" -u "${3:-normal}"
|
|
}
|
|
|
|
switch_to_ac_mode() {
|
|
hyprctl keyword monitor 'eDP-1',preferred,auto,1.5,bitdepth,10
|
|
hyprctl keyword decoration:blur:enabled true
|
|
hyprctl keyword decoration:shadow:enabled true
|
|
notify "battery-$charge_icon-charging.svg" "AC Mode ($charge%, Charging)"
|
|
}
|
|
|
|
switch_to_battery_mode() {
|
|
hyprctl keyword monitor 'eDP-1',$battery_resolution,auto,1.5,bitdepth,10
|
|
hyprctl keyword decoration:blur:enabled false
|
|
hyprctl keyword decoration:shadow:enabled false
|
|
notify "battery-$charge_icon.svg" "Battery Mode ($charge%, Discharging)"
|
|
}
|
|
|
|
check_battery_status() {
|
|
[ "$(cat "$battery_dir/status")" = "Charging" ] && return 0
|
|
|
|
case "$charge" in
|
|
[2-9][0-9] | 100)
|
|
status="normal"
|
|
;;
|
|
[1-2][0-9])
|
|
status="low"
|
|
;;
|
|
[0-9])
|
|
status="critical"
|
|
;;
|
|
esac
|
|
|
|
case "$status" in
|
|
low | critical)
|
|
notify "battery-$charge_icon.svg" "$charge% Battery $status, Please Plug In Charger!!" "$status"
|
|
;;
|
|
*) ;;
|
|
esac
|
|
}
|
|
|
|
#declaration
|
|
dir="/sys/class/power_supply/"
|
|
battery="BAT0" #change accordingly
|
|
battery_dir="${dir}${battery}/"
|
|
icon_dir="/usr/share/icons/Papirus-Dark/22x22/panel/" #change accordingly
|
|
status="normal"
|
|
charge=$(cat "$battery_dir"/capacity)
|
|
battery_resolution="2880x1800@48" # widthxheight@refresh_rate
|
|
charge_icon=$(printf "%03d" "$((charge / 10))0")
|
|
|
|
case "$1" in
|
|
ac)
|
|
switch_to_ac_mode
|
|
;;
|
|
|
|
battery)
|
|
switch_to_battery_mode
|
|
;;
|
|
check)
|
|
if [ "$(cat "$dir/ADP1/online")" -eq 0 ]; then
|
|
switch_to_battery_mode
|
|
fi
|
|
;;
|
|
|
|
status)
|
|
check_battery_status
|
|
;;
|
|
|
|
*) ;;
|
|
esac
|