Page 1 sur 1
[awesome][batterie] alerte, batterie est vide (résolu)
Publié : sam. 26 mai 2012, 10:25
par dionisos
Bonjour.
J’utilise awesome, et j’aimerais savoir comment déclancher une alerte (par exemple le lancement d’un programme), quand ma batterie est en déchargement, et presque vide.
J’ai essayé de regarder un peu comment fonctionnait le widget pour la batterie dans la documentation (que j’utilise pour afficher le pourcentage de charge), mais j’ai pas trouvé comment faire.
Merci !
Re: [awesome][batterie] alerte quand la batterie est vide
Publié : mar. 29 mai 2012, 10:16
par MrMen
Bonjour. Quel widget utilises tu pour afficher le poucentage de ta batterie ? un fait maison ou autre chose ? C'est pour savoir vers quoi s'orienter.
Re: [awesome][batterie] alerte quand la batterie est vide
Publié : mar. 29 mai 2012, 13:42
par dionisos
Merci pour ton aide je commençais à desespérer ^^.
Alors j’utilise le widget de vicious comme ça:
Code : Tout sélectionner
vicious.register(batwidget,vicious.widgets.bat, "bat:$1 $2% $3 ", 61, "BAT0")
Mais après, je ne suis pas attaché a une manière particulière de faire, j’ai fait avec vicious parce que c’était simple, et que je ne connais awesome que de manière superficielle.
Re: [awesome][batterie] alerte quand la batterie est vide
Publié : mar. 29 mai 2012, 14:29
par MrMen
Voilà un exemple de widget qui est tiré de ma configuration (pompé d'internet puis modifié un peu cf
http://blog.mitemitreski.com/2011/05/sm ... power.html) :
Code : Tout sélectionner
-- create image widget
-- batticon = widget({type = "imagebox"})
-- create widget
mybattmon = widget({ type = "textbox", name = "mybattmon", align = "right" })
-- define function to update battery status
function battery_status ()
local output={} --output buffer
local fd=io.popen("acpi", "r") -- read info from acpi
local line=fd:read()
local battery_load = string.match(line, "%d+%%") -- obtain percent
local time_rem = string.match(line, "(%d+\:%d+)\:%d+") -- obtain time
local discharging
if string.match(line, "Discharging") then -- discharging
discharging="<span color=\"#CC7777\">" -- red color
-- my icon
-- batticon.image=image("/home/mrmen/.config/awesome/icons/power-bat.png")
battery_load=battery_load.."</span> ("..time_rem..")"
else --charging
discharging="<span color=\"#DCDCCC\">" -- white
battery_load=battery_load.."</span>"
-- my icon
-- batticon.image=image("/home/mrmen/.config/awesome/icons/power-ac.png")
end
table.insert(output, discharging..battery_load)
line=fd:read() --read next line
return table.concat(output," ")
end
-- at awesome launch, update battery status
mybattmon.text = battery_status()
-- add a timer
my_battmon_timer=timer({timeout=60})
my_battmon_timer:add_signal("timeout", function()
mybattmon.text = " " .. battery_status() .. " "
end)
-- start timer
my_battmon_timer:start()
Si tu veux avoir le widget, ajoute le dans là où tu places les widgets vicious.
Je pense qu'avec ce code tu devrais pouvoir t'en tirer sans trop de problèmes. Si besoin redemande un peu d'aide.
Ensuite tout va dépendre du programme que tu veux lancer…
Re: [awesome][batterie] alerte quand la batterie est vide
Publié : mar. 29 mai 2012, 19:24
par dionisos
Merci !, j’ai regardé en diagonale, et j’pense que je vais pouvoir m’en sortir avec ça.
Sinon je pense que le programme, ça sera juste une console avec un message d’aversissement, ça fait trois fois que je ne fais pas attention à la batterie, et que du coup, mon portable se coupe en pleine activitée, avec ça je ne me ferais plus avoir.
Je regarde plus précisement demain, j’vais aller dormir, et je te tiens au courant.
Re: [awesome][batterie] alerte quand la batterie est vide
Publié : mar. 29 mai 2012, 20:34
par MrMen
Content que ça ait l'air de te convenir. Si c'est pour ce type de programme, alors pas de soucis ça devrait passer : comme une lettre à la poste ! Jette aussi un oeil à notify…
Re: [awesome][batterie] alerte quand la batterie est vide
Publié : mer. 30 mai 2012, 19:00
par dionisos
Voilà, j’ai modifié la fonction battery_status comme ça:
Code : Tout sélectionner
do
local alert_run = false
local hibernation_run = false
function battery_status ()
local output={} -- output buffer
local fd=io.popen("acpi", "r") --read info from acpi
local line=fd:read()
local return_value = "bug"
if(line ~= nil)then
local battery_load = string.match(line, "(%d+)%%") --obtain percent
local time_rem = string.match(line, "(%d+\:%d+)\:%d+") --obtain time
local discharging
if string.match(line, "Discharging") then -- discharging
discharging="<span color=\"#CC7777\">" --red color
--my icon
-- batticon.image=image("/home/mrmen/.config/awesome/icons/power-bat.pngé")
if(tonumber(battery_load) < 20)and not(alert_run)then
alert_run = true
awful.util.spawn(terminal_cmd .. "/home/dionisos/script/alert_bat")
end
if(tonumber(battery_load) < 10)and not(hibernation_run)then
hibernation_run = true
awful.util.spawn(terminal_cmd .. "/home/dionisos/script/hibernation")
end
battery_load=battery_load.."%</span> ("..time_rem..") "
else --charging
discharging="<span color=\"#DCDCCC\">" --white
battery_load=battery_load .."%</span>"
alert_run = false
hibernation_run = false
-- --my icon
-- batticon.image=image("/home/mrmen/.config/awesome/icons/power-ac.png")
end
table.insert(output, discharging..battery_load)
line=fd:read() --read next line
return_value = table.concat(output," ")
else
return_value = "no bat"
end
return return_value
end
end
et ça marche comme il faut, merci encore !
Re: [awesome][batterie] alerte, batterie est vide (résolu)
Publié : mer. 30 mai 2012, 21:47
par MrMen
Content que ça ait convenu.
