bat: added a handler for incompetent users

A lot of people expect widgets like this one to auto-magically work,
and somehow don't understand that *they* need to make sure there is a
source of information. Is ACPI module loaded? Is battery info exposed
in the same place that widget expects by default? You need to answer
those questions before loading the widget and sending me "bug"
reports.
This commit is contained in:
Adrian C. (anrxc) 2009-10-04 16:26:34 +02:00
parent fcf1027cb5
commit af4e85f99d
2 changed files with 4 additions and 3 deletions

View File

@ -32,10 +32,12 @@ local function worker(format, batid)
-- Get /proc/acpi/battery info
local f = io.open("/proc/acpi/battery/"..batid.."/info")
-- Handler for incompetent users
if not f then return {"/", "/", "/"} end
local infofile = f:read("*all")
f:close()
-- Check if the file wasn't found or the battery isn't present
-- Check if the battery is present
if infofile == nil or string.find(infofile, "present:[%s]+no") then
return {"/", "/", "/"}
end

View File

@ -17,8 +17,7 @@ module("vicious.thermal")
local function worker(format, thermal_zone)
-- Get an ACPI thermal zone
local f = io.open("/proc/acpi/thermal_zone/" .. thermal_zone .. "/temperature")
-- Fix your ACPI setup, or find another source of temperature
-- exposed trough /sys, if a thermal_zone can't be found
-- Handler for incompetent users
if not f then return {"N/A"} end
local line = f:read("*line")
f:close()