Notification Batterie


 

Utilité : Affiche un icône de notification en fonction du pourcentage de la batterie du portable en utilisant le plugin xfce4-genmon-plugins.Lors du survol de la souris de l'icône, affichage du % batterie restant et du temps restant, à 15% et 5% affichage d'un popup d'avertissement.

 

 Dépendances : xfce4, xfce4-genmon-plugin,hal
 

Attention: Le script est vide, sans images. Vous pouvez recuperer les images de gnome-power-manager par exemple ( situé normalement dans /usr/share/gnome-power-manager/icons/hicolor/ ) et adapter leurs tailles à celles de votre panel.N'oubliez pas d'apdapter les chemins dans le scripts.

Un exemple de pack d'icone que j'ai fait ( rapidement ) avec Inkscape se trouve ici    

 

 Script :

 

#!/bin/bash

 

## Les icones se nomment 100.png, 80.png, etc... et ac_100.png, ac_80.png, etc... si branché sur secteur.Les icones BAT0.png et BAT15.png servent pour les notifications.

DOSSIER=" /home/$USER/Dossier d'insallation"

## Variables
BATTERY=`awk '/remaining /{print $3}' /proc/acpi/battery/BAT1/state`
MAX_BATTERY=`awk '/last full /{print $4}' /proc/acpi/battery/BAT1/info`
POURCENT_BATT=$(($BATTERY*100/$MAX_BATTERY))
POWER_STATE=`awk '{print $2}' /proc/acpi/ac_adapter/ACAD/state`

## Choix icones
case "$POURCENT_BATT" in
100|9[5-9]) ICON="100";;
9[0-4]|8[5-9]) ICON="90";;
8[0-4]|7[5-9]) ICON="80";;
7[0-4]|6[5-9]) ICON="70";;
6[0-4]|5[5-9]) ICON="60";;
5[0-4]|4[5-9]) ICON="50";;
4[0-4]|3[5-9]) ICON="40";;
3[0-4]|2[5-9]) ICON="30";;
2[0-4]|1[6-9]) ICON="20";;
1[0-5]|10|9|8) ICON="10";;
7|6|5|4|3|2|1) ICON="0";;
esac

case "$POWER_STATE" in
## Sur secteur
"on-line") 

TEMPS="En charge"

if [ `awk '/present:/{print $2}' /proc/acpi/battery/BAT1/state` == "no" ] ; then ICON="none" ; TEMPS="Pas de batterie"
elif [ $POURCENT_BATT -eq 100 ] ; then ICON="ac" ; TEMPS="Batterie chargé"
else ICON="ac_$ICON" ;fi
rm "$DOSSIER/prout" ;;

## Sur batterie
*)

## Temps restant avec hal-get-property

SECOND=`hal-get-property --udi /org/freedesktop/Hal/devices/computer_power_supply_battery_BAT1 --key battery.remaining_time`
if [ $? -eq O ] ; then HOURS=$(($SECOND/3600))
MIN=`echo "(($SECOND/3600)-$HOURS)*60" |bc -l | cut -f1 -d.`
TEMPS="Temps restant : "$HOURS"h"$MIN"min"
else TEMPS="Actualisation..." ;fi


## Affichage du pourcentage sous 15%
if [  "$POURCENT_BATT"  -le 15 ] ; then echo "<txt> $POURCENT_BATT%</txt>"

    ## Affichage warning entre 15% et 6% ( avec notify-send )
    if  [ ! -e "$DOSSIER/prout" -a "$POURCENT_BATT" -gt 6  ]  ; then
    notify-send  "                Batterie faible,
sauvegarder vos travaux en cours !" -i "$DOSSIER/BAT15.png"
    echo "1" > "$DOSSIER/prout"
    fi

    ## Affichage warning en dessous de 6% ( avec notify-send )
    if  [ "$POURCENT_BATT"  -le 6 -a -e "$DOSSIER/prout" ]  ; then
     notify-send -u critical -t 3000 "Batterie critique, l'ordinateur va hiberner dans quelques secondes !"  -i "$DOSSIER/BAT0.png"
    rm "$DOSSIER/prout"
    fi
fi
;;
esac

## Affichage pour genmon plugin
echo "<img>"$DOSSIER/$ICON.png"</img>"
echo "<tool>Batterie: "$POURCENT_BATT"%
"$TEMPS"</tool>"

exit 0

 


Plan du site Version imprimable Envoyer un mailLivre d'or


Flux Rss