[script] état de batterie dans la barre Wmii

Autres projets et contributions
Avatar de l’utilisateur
widapit
Maître du Kyudo
Messages : 1148
Inscription : mar. 30 mars 2010, 22:53
Localisation : Toulouse

[script] état de batterie dans la barre Wmii

Message par widapit »

Salut tous !!

1°) : J'ai pas de problèmes alors je sais pas vraiment si je poste dans la bonne rubrique... désolé !

Sinon voilà, j'ai écris un petit script (vraiment pas grand chose :transpi: ) mais ce qui compte, c'est que chez moi "ca fait ce que je veux que ça fasse" :lol: :bravo:
Pour surveiller simplement l'état de la batterie; puis on modifie également la conf de wmii pour qu'il affiche le résultat du script dans la barre d'en-bas, à côté de la date
Donc je le partage, ça peut servir à certains....
En fait c'est plus pour voir ce que vous en pensez
et éventuellement, si ceux qui sont plus doués que moi ont envie de l'améliorer..... ça m'interesse !!!

alors, d'abord le script (que j'ai placé à /etc/wmii/Wmii_battery.sh) :

Code : Tout sélectionner

#!/bin/bash 
#
# Déclaration des variables 
# 
 charge=$(cat /proc/acpi/battery/BAT1/state | grep 'charging state:' | sed 's/charging state: //')
 capacity=$(cat /proc/acpi/battery/BAT1/state | grep 'remaining capacity:' | sed 's/remaining capacity: //' | sed 's/mWh//') 
 bell=$(echo -e "\a" && sleep 0.4; echo -e "\a" && sleep 0.1; echo "\a")   ## celui-là je me doute que beaucoup n'aimeront pas !!
 good="56000"
 normal="35000"
 low="15000" 

# 
# Voir si on est en charge 
# et à quel niveau... 
# 
case "$charge" in 
              charging ) echo 'In LoaD !' ;; 
              charged ) echo 'FULL !!' ;; 
              discharging ) if [[ "$capacity" -ge "$good" ]]; then
                                        echo 'GooD' 
                                    elif [[ "$capacity" -lt "$good" && "$capacity" -ge "$normal" ]]; then 
                                       echo 'NormaL' 
                                    elif [[ "$capacity" -lt "$normal" && "$capacity" -ge "$low" ]]; then 
                                       echo 'Low' 
                                    elif [[ "$capacity" -lt "$low" ]]; then
                                       echo "WARNING: $capacity mWh !!" & echo "$bell"
                                    fi ;; 
esac 
# 
# end 
# 
Ensuite, on modifie '/etc/wmii/wmiirc', pour que la section '# Status Bar Info' ressemble à ça :

Code : Tout sélectionner

status() {
                echo -n 'IP:' $(links -dump http://mon-ip.com | grep 'Votre adresse IP est :' | sed 's/Votre adresse IP est ://') '|' 'Battery :' $(/etc/wmii/Wmii_battery.sh) '|' 'Mem:' $(cat /proc/meminfo | grep 'Active:' | sed 's/Active://') '|' $(date +'%H:%M:%S le %d/%m/%Y') 
}
c'est tout

-Merci- .
routeur(OpenWRT); serveurs(Debian, Arch); cléUSB(Black-Arch);
mon ordi(Arch-hardened) = {spectrwm, zsh} || je m'amuse aussi avec des Arduino !
Avatar de l’utilisateur
FoolEcho
Maître du Kyudo
Messages : 10707
Inscription : dim. 15 août 2010, 11:48
Localisation : Basse-Normandie

Re: [script] état de batterie dans la barre Wmii

Message par FoolEcho »

2 observations dans le sens d'une généralisation du script (j'aime pas trifouiller du code source... même interprété... même pour une constante... mais j'apprécie néanmoins que tu fasses l'effort de les déclarer proprement pour qu'on s'y retrouve :D ):
- pourquoi tu n'utilises pas acpi plutôt que de chercher à la main /proc/acpi/etc. ? (ex: chez moi, la batterie, c'est BAT0... )
- même ordre d'idée: déterminer les valeurs de good / normal / low selon les caractéristiques du matériel ?
(en prime avec acpi tu as le temps de charge/décharge à afficher... par contre interrogation: peut-on récupèrer les valeurs sans opèrer à coup de grep/sed même avec acpi ? )

Tu peux t'épargner une comparaison dans ton déchargement (toi y en a programmer robuste :D ) : si (capacité >= good) faire(); sinon si (normal <= capacité < good ) faire(); sinon si (capacité < low) faire() ; ... sinon (dernier cas: low <= capacité < normal) faire().

Bon, effectivement... le coup du bell est douteux... :aimepas:
«The following statement is not true. The previous statement is true.» :nage:
Avatar de l’utilisateur
widapit
Maître du Kyudo
Messages : 1148
Inscription : mar. 30 mars 2010, 22:53
Localisation : Toulouse

Re: [script] état de batterie dans la barre Wmii

Message par widapit »

Salut FoolEcho,
et merci pour ta réponse !!
par contre
- pourquoi tu n'utilises pas acpi plutôt que de chercher à la main /proc/acpi/etc. ? (ex: chez moi, la batterie, c'est BAT0... )
euh.... :oops: c'est la première fois que j'ai un portable qui a moins de huit ans !!!!! (c.f.: ma signature qui est récemment passée en Arch_64 !! 8) ) du coup je m'y étais jamais trop intéressé....
effectivement je viens de faire

Code : Tout sélectionner

Yaourt -Ss acpi
y'a de quoi remplir ma barre d'info !!!!! :P
je vais m'installer ça....
et retoucher mon 'wmiirc'
mon script sert plus à rien !!! :triste: !!!
- même ordre d'idée: déterminer les valeurs de good / normal / low selon les caractéristiques du matériel ?
ouais, je sais, ca me fais tiquer depuis le début.... peut-être en transcrivant en pourcentage, je vais y réfléchir....

EDIT: voila, c'est mieux comme ça ..... merci !!!
Dernière modification par widapit le ven. 13 mai 2011, 22:23, modifié 1 fois.
routeur(OpenWRT); serveurs(Debian, Arch); cléUSB(Black-Arch);
mon ordi(Arch-hardened) = {spectrwm, zsh} || je m'amuse aussi avec des Arduino !
Avatar de l’utilisateur
FoolEcho
Maître du Kyudo
Messages : 10707
Inscription : dim. 15 août 2010, 11:48
Localisation : Basse-Normandie

Re: [script] état de batterie dans la barre Wmii

Message par FoolEcho »

Tu t'es un peu emmêlé sur les citations... :copain:

Ce n'est pas tout à fait exact, ton script peut te servir si tu veux conserver ton affichage par tranche de niveaux plutôt que par pourcentage... mais c'est sûr qu'acpi te mâchera le boulot.
De toutes manières, tu peux te faire un truc plus classieux encore. 8)
«The following statement is not true. The previous statement is true.» :nage:
Répondre