Page 1 sur 1

[bash + notify-send] petit programme pour signaler la batterie

Publié : ven. 05 févr. 2016, 10:19
par Piczel
Bonjour tout le monde, j'pense pas poster dans la bonne section, mais j'ai une idée qui pourrait plaire à beaucoup

en gros j'voudrais faire un petit programme pour me signaler quand j'ai 15% de batterie, et affiche un petit pop-up.
j'y ai réfléchi vite fait, voilà le petit code (juste pour avoir un %age) :

Code : Tout sélectionner

#!/bin/bash

bat_n="$(cat /sys/class/power_supply/BAT0/energy_now)"
bat_f="$(cat /sys/class/power_supply/BAT0/energy_full)"

#let "percent=$bat_n/$bat_f*100"

percent=$(echo "$bat_n/$bat_f*100" | bc -l | cut -d"." -f1)

notify-send Batterie "$percent"
bon ça, ça affiche juste la batterie actuelle, mais au moins je vois comment récupérer la batterie.
Maintenant, je me demande comment je pourrait faire, genre avec un truc dans mon xinit rc, qui, avec cron, ferait l etest tout les 2 minutes, et SI ça fait 15%, ça affiche le pop-up.

Vous en pensez quoi ?

Re: [bash + notify-send] petit programme pour signaler la batterie

Publié : ven. 05 févr. 2016, 10:37
par benjarobin
Bonjour,
Que cela ne fonctionnera pas via un cron tel quel (variable d'env...). Que ce genre de fonctionnalité existe déjà via un icône dans le systray avec envoi d'une notification. Et avec Gnome et ou KDE c'est encore plus intégré.

Re: [bash + notify-send] petit programme pour signaler la batterie

Publié : ven. 05 févr. 2016, 13:38
par Piczel
j'me doutais que ça existait déjà, mais premièrement je n'utilise ni Gnome, ni KDE, et de plus, je voulais le faire moi même, pour essayer et apprendre des nouvelles choses, mais si les gens semblent préférer la simplicité à la compétence, libre à eux de choisir, je passe donc en abandonné :)

Re: [bash + notify-send] petit programme pour signaler la batterie

Publié : ven. 05 févr. 2016, 14:07
par papajoke
Bonjour,

moi aussi je me suis amusé avec notify-send, pour cela j'ai utilisé un service lancé via systemd timer en user

Re: [bash + notify-send] petit programme pour signaler la batterie

Publié : ven. 05 févr. 2016, 14:13
par benjarobin
C'est vrai que cela donne l'impression de critiquer/dénigrer, ce n'est pas le cas.
Je dis juste qu'il y a plus simple, plus jolie et plus intégré fournissant plus d'information tout en étant très léger.
Par exemple tu as cbatticon

Re: [bash + notify-send] petit programme pour signaler la batterie

Publié : ven. 05 févr. 2016, 14:38
par Piczel
Non c'était en aucun cas méchant, désolé si t'as pu penser le contraire !

D'acc merci, je vais regarder ça

Re: [bash + notify-send] petit programme pour signaler la batterie

Publié : ven. 05 févr. 2016, 16:52
par GuilouV
Sinon tu peux avoir des infos sur ta batterie, de manière un peu plus "directe", en faisant appel à acpi dans ton script.
Ca te donne l'état de ta batterie (charge, décharge), son niveau en % et l'autonomie restante (ou temps de charge). Après tu récupères ce que tu veux.

Après si ça ne te dérange pas d'avoir ton script qui tourne en fond tu peux utiliser les commandes sleep et while pour que ton script ne s'exécute que toutes les 2 minutes et ne s'affichent que si ta batterie est à moins de 15%.

Exemple à l'arrache:

Code : Tout sélectionner

While [ "$(acpi | awk '{print $3}' | sed 's/,//')" == "Discharging" ]; do #Si la batterie se décharge
sleep 120 #Pour que le script se répète toutes les 2 minutes
if [ "$(acpi | awk '{print $4}' | sed 's/,//')" -lt 15 ]; then #Si la batterie a moins de 15%
bat=$(acpi | awk '{print $4,$5}' | sed 's/,//' | sed 's/.\{3\}$//'") #On récupère le niveau en % et l'autonomie
notify-send "Batterie faible $bat" #On affiche le message d'alerte
fi
done
exit 0

Re: [bash + notify-send] petit programme pour signaler la batterie

Publié : ven. 05 févr. 2016, 16:58
par benjarobin
Plus direct ? Pas vraiment... Tu ne peux pas faire plus direct que ce qui est fait dans le script de Piczel

Re: [bash + notify-send] petit programme pour signaler la batterie

Publié : ven. 05 févr. 2016, 22:41
par GuilouV
benjarobin j'ai mis plus directe entre " " car ce que j'entends par là c'est qu'avec acpi tu as directement le niveau de la batterie en % (+ d'autres infos)... au lieu de faire des calculs (et d'analyser plusieurs fichiers).

C'est tout, ni plus, ni moins.