mirror of
https://github.com/CoolnsX/hyprdots.git
synced 2026-06-17 07:42:07 +05:30
The universe is possible
This commit is contained in:
+29
-41
@@ -4,37 +4,52 @@ notify() {
|
|||||||
notify-send -e -t 5000 -i "${icon_dir}${1}" -h "string:x-canonical-private-synchronous:${0##*/}" "$2" -u "${3:-normal}"
|
notify-send -e -t 5000 -i "${icon_dir}${1}" -h "string:x-canonical-private-synchronous:${0##*/}" "$2" -u "${3:-normal}"
|
||||||
}
|
}
|
||||||
|
|
||||||
print_sleep() {
|
|
||||||
[ -n "$4" ] && printf "Status: %s, Charge: %s,Next Check in %s seconds\n" "$3" "$2" "$1"
|
|
||||||
sleep "$1"
|
|
||||||
}
|
|
||||||
|
|
||||||
switch_to_ac_mode() {
|
switch_to_ac_mode() {
|
||||||
charge_icon=$(printf "%03d" "$((charge / 10))0")
|
|
||||||
hyprctl keyword monitor 'eDP-1',preferred,auto,1.5,bitdepth,10
|
hyprctl keyword monitor 'eDP-1',preferred,auto,1.5,bitdepth,10
|
||||||
hyprctl keyword decoration:blur:enabled true
|
hyprctl keyword decoration:blur:enabled true
|
||||||
hyprctl keyword decoration:shadow:enabled true
|
hyprctl keyword decoration:shadow:enabled true
|
||||||
notify "battery-$charge_icon-charging.svg" "AC Mode ($charge%, Charging)"
|
notify "battery-$charge_icon-charging.svg" "AC Mode ($charge%, Charging)"
|
||||||
exit 0
|
|
||||||
}
|
}
|
||||||
|
|
||||||
switch_to_battery_mode() {
|
switch_to_battery_mode() {
|
||||||
charge_icon=$(printf "%03d" "$((charge / 10))0")
|
|
||||||
hyprctl keyword monitor 'eDP-1',$battery_resolution,auto,1.5,bitdepth,10
|
hyprctl keyword monitor 'eDP-1',$battery_resolution,auto,1.5,bitdepth,10
|
||||||
hyprctl keyword decoration:blur:enabled false
|
hyprctl keyword decoration:blur:enabled false
|
||||||
hyprctl keyword decoration:shadow:enabled false
|
hyprctl keyword decoration:shadow:enabled false
|
||||||
notify "battery-$charge_icon.svg" "Battery Mode ($charge%, Discharging)"
|
notify "battery-$charge_icon.svg" "Battery Mode ($charge%, Discharging)"
|
||||||
exit 0
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
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
|
#declaration
|
||||||
dir="/sys/class/power_supply/"
|
dir="/sys/class/power_supply/"
|
||||||
battery="BAT0" #change accordingly
|
battery="BAT0" #change accordingly
|
||||||
battery_dir="${dir}${battery}/"
|
battery_dir="${dir}${battery}/"
|
||||||
icon_dir="/usr/share/icons/Papirus-Dark/22x22/panel/" #change accordingly
|
icon_dir="/usr/share/icons/Papirus-Dark/22x22/panel/" #change accordingly
|
||||||
i=0
|
|
||||||
status="normal"
|
status="normal"
|
||||||
charge=$(cat "$battery_dir"/capacity)
|
charge=$(cat "$battery_dir"/capacity)
|
||||||
battery_resolution="2880x1800@48" # widthxheight@refresh_rate
|
battery_resolution="2880x1800@48" # widthxheight@refresh_rate
|
||||||
|
charge_icon=$(printf "%03d" "$((charge / 10))0")
|
||||||
|
|
||||||
case "$1" in
|
case "$1" in
|
||||||
ac)
|
ac)
|
||||||
@@ -48,38 +63,11 @@ case "$1" in
|
|||||||
if [ "$(cat "$dir/ADP1/online")" -eq 0 ]; then
|
if [ "$(cat "$dir/ADP1/online")" -eq 0 ]; then
|
||||||
switch_to_battery_mode
|
switch_to_battery_mode
|
||||||
fi
|
fi
|
||||||
exit 0
|
;;
|
||||||
|
|
||||||
|
status)
|
||||||
|
check_battery_status
|
||||||
;;
|
;;
|
||||||
|
|
||||||
*) ;;
|
*) ;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
#infinite loop
|
|
||||||
while charge=$(cat "$battery_dir"/capacity); do
|
|
||||||
if [ "$(cat "$battery_dir"/status)" = "Charging" ]; then
|
|
||||||
i=300 #default polling time, it's 5 minutes
|
|
||||||
else
|
|
||||||
case $charge in
|
|
||||||
[2-9][0-9] | 100)
|
|
||||||
i=300 # 5 minutes
|
|
||||||
status="normal"
|
|
||||||
;;
|
|
||||||
[1-2][0-9])
|
|
||||||
i=150 # 2.5 minutes
|
|
||||||
status="low"
|
|
||||||
;;
|
|
||||||
[5-9])
|
|
||||||
i=60 # every minute
|
|
||||||
status="critical"
|
|
||||||
;;
|
|
||||||
[0-4])
|
|
||||||
i=10 # every 10 seconds
|
|
||||||
status="critical"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
# remind appropriately
|
|
||||||
[ "$status" != "normal" ] && notify "battery-010.svg" "$charge % Battery $status, Please Plugin Charger!!" "$status"
|
|
||||||
fi
|
|
||||||
print_sleep "$i" "$charge" "$status" "$2" #pass 'log' as argument to print logs
|
|
||||||
done
|
|
||||||
|
|||||||
@@ -306,7 +306,6 @@ exec-once = systemctl --user start hypridle
|
|||||||
|
|
||||||
# power
|
# power
|
||||||
exec-once = systemctl --user start power-mode@check
|
exec-once = systemctl --user start power-mode@check
|
||||||
exec-once = systemctl --user start monitor-battery
|
|
||||||
|
|
||||||
# UI
|
# UI
|
||||||
exec-once = systemctl --user start theme
|
exec-once = systemctl --user start theme
|
||||||
|
|||||||
@@ -0,0 +1,6 @@
|
|||||||
|
# Rule for when switching to battery
|
||||||
|
ACTION=="change", SUBSYSTEM=="power_supply", ATTRS{type}=="Mains", ATTRS{online}=="0", TAG+="systemd", ENV{SYSTEMD_USER_WANTS}+="power-mode@battery.service"
|
||||||
|
# Rule for when switching to AC
|
||||||
|
ACTION=="change", SUBSYSTEM=="power_supply", ATTRS{type}=="Mains", ATTRS{online}=="1", TAG+="systemd", ENV{SYSTEMD_USER_WANTS}+="power-mode@ac.service"
|
||||||
|
# Rule for battery percentage/status changes
|
||||||
|
ACTION=="change", SUBSYSTEM=="power_supply", KERNEL=="BAT0", TAG+="systemd", ENV{SYSTEMD_USER_WANTS}+="power-mode@status.service"
|
||||||
@@ -2,3 +2,6 @@
|
|||||||
|
|
||||||
## Note for backlight
|
## Note for backlight
|
||||||
- Copy the file from .config/hypr/backlight.rules to /etc/udev/rules.d/ directory
|
- Copy the file from .config/hypr/backlight.rules to /etc/udev/rules.d/ directory
|
||||||
|
|
||||||
|
## Note for Battery Monitoring
|
||||||
|
- Copy the file from .config/hypr/powersupply_notification.rules to /etc/udev/rules.d/ directory
|
||||||
|
|||||||
@@ -1,9 +0,0 @@
|
|||||||
[Unit]
|
|
||||||
Description=Monitors the battery Power and State.
|
|
||||||
|
|
||||||
[Service]
|
|
||||||
Type=simple
|
|
||||||
ExecStart=%h/.config/hypr/battery
|
|
||||||
Restart=on-failure
|
|
||||||
RestartSec=5
|
|
||||||
|
|
||||||
Reference in New Issue
Block a user