Fix hyprland, monitor management and waybar after lua switch

This commit is contained in:
2026-08-29 00:55:17 +02:00
parent 9db0b4dac0
commit be4de88d1a
45 changed files with 593 additions and 388 deletions

View File

@@ -0,0 +1,78 @@
#!/bin/bash
BAT_PATH="/sys/class/power_supply/BAT0"
if [ ! -d "$BAT_PATH" ]; then
echo "Batterie non trouvée"
exit 1
fi
# Lire les informations
capacity=$(cat "$BAT_PATH/capacity" 2>/dev/null)
status=$(cat "$BAT_PATH/status" 2>/dev/null)
charge_now=$(cat "$BAT_PATH/charge_now" 2>/dev/null) # µAh
current_now=$(cat "$BAT_PATH/current_now" 2>/dev/null) # µA
voltage_now=$(cat "$BAT_PATH/voltage_now" 2>/dev/null) # µV
max_limit=$(cat "$BAT_PATH/charge_control_end_threshold" 2>/dev/null)
# Valeurs par défaut
[ -z "$capacity" ] && capacity=0
[ -z "$status" ] && status="Unknown"
[ -z "$max_limit" ] && max_limit=100
# Calcul de la puissance (si voltage et courant disponibles)
# if [ -n "$voltage_now" ] && [ -n "$current_now" ] && [ "$current_now" -gt 0 ]; then
# wattage=$(echo "scale=1; $voltage_now * $current_now / 1000000000000" | bc)
# else
# wattage=""
# fi
wattage=$(cat /tmp/power_now 2>/dev/null)
# Calcul du temps restant (en minutes) si en décharge
time_str=""
if [ "$status" = "Discharging" ] && [ -n "$charge_now" ] && [ -n "$current_now" ] && [ "$current_now" -gt 0 ]; then
time_h=$(echo "scale=2; $charge_now / $current_now" | bc)
time_min=$(echo "$time_h * 60" | bc | cut -d. -f1)
if [ -n "$time_min" ] && [ "$time_min" -gt 0 ]; then
hours=$(( time_min / 60 ))
minutes=$(( time_min % 60 ))
time_str=$(printf "%d:%02d" $hours $minutes)
fi
fi
# Affichage selon l'état
if [ "$status" = "Charging" ]; then
icon="⚡"
if [ -n "$wattage" ]; then
text="${icon} ${capacity}% (${wattage}W - ${max_limit}%)"
else
text="${icon} ${capacity}% (${max_limit}%)"
fi
elif [ "$status" = "Discharging" ]; then
# Icône batterie selon le niveau
if [ $capacity -le 20 ]; then
icon=""
elif [ $capacity -le 40 ]; then
icon=""
elif [ $capacity -le 60 ]; then
icon=""
elif [ $capacity -le 80 ]; then
icon=""
else
icon=""
fi
if [ -n "$time_str" ] && [ -n "$wattage" ]; then
text="${icon} ${capacity}% (${time_str} - ${wattage}W - ${max_limit}%)"
else
text="${icon} ${capacity}% (${max_limit}%)"
fi
else
icon=""
if [ -n "$wattage" ]; then
text="${icon} ${capacity}% (${wattage}W - ${max_limit}%)"
else
text="${icon} ${capacity}% (${max_limit}%)"
fi
fi
echo "$text"

View File

@@ -0,0 +1,9 @@
#!/bin/bash
current=$(cat /sys/class/power_supply/BAT0/charge_control_end_threshold)
if [ "$current" -eq 80 ]; then
sudo cctk --PrimaryBattChargeCfg=Custom:95-100
notify-send "Batterie" "Charge standard (100%)"
else
sudo cctk --PrimaryBattChargeCfg=Custom:50-80
notify-send "Batterie" "Charge limitée à 80%"
fi

View File

@@ -0,0 +1,2 @@
#!/bin/bash
systemctl --user edit --full power-monitor.service

View File

@@ -0,0 +1,9 @@
#!/bin/bash
RAPL0="/sys/class/powercap/intel-rapl:0/energy_uj"
RAPL1="/sys/class/powercap/intel-rapl:1/energy_uj"
while true; do
e1=$(( $(cat "$RAPL0") + $(cat "$RAPL1") ))
sleep 2
e2=$(( $(cat "$RAPL0") + $(cat "$RAPL1") ))
echo "scale=1; ($e2 - $e1) / 2000000" | bc > /tmp/power_now
done