end)
end
- timer_id = string.format("alsa-%s-%s", alsa.cmd, alsa.channel)
+ helpers.newtimer(string.format("alsa-%s-%s", alsa.cmd, alsa.channel), timeout, alsa.update)
- helpers.newtimer(timer_id, timeout, alsa.update)
-
- return alsa
+ return setmetatable(alsa, { __index = alsa.widget })
end
return setmetatable(alsa, { __call = function(_, ...) return worker(...) end })
end)
end
- timer_id = string.format("alsabar-%s-%s", alsabar.cmd, alsabar.channel)
-
- helpers.newtimer(timer_id, timeout, alsabar.update)
+ helpers.newtimer(string.format("alsabar-%s-%s", alsabar.cmd, alsabar.channel), timeout, alsabar.update)
return alsabar
end
bat_now.ac_status = tonumber(first_line(string.format("%s%s/online", pspath, ac))) or "N/A"
if bat_now.status ~= "N/A" then
+ if bat_now.status ~= "Full" and sum_rate_power == 0 and bat_now.ac_status == 1 then
+ bat_now.perc = math.floor(math.min(100, (sum_energy_now / sum_energy_full) * 100))
+ bat_now.time = "00:00"
+ bat_now.watt = 0
+
-- update {perc,time,watt} iff battery not full and rate > 0
- if bat_now.status ~= "Full" and (sum_rate_power > 0 or sum_rate_current > 0) then
+ elseif bat_now.status ~= "Full" then
local rate_time = 0
- local div = (sum_rate_power > 0 and sum_rate_power) or sum_rate_current
-
- if bat_now.status == "Charging" then
- rate_time = (sum_energy_full - sum_energy_now) / div
- else -- Discharging
- rate_time = sum_energy_now / div
- end
-
- if 0 < rate_time and rate_time < 0.01 then -- check for magnitude discrepancies (#199)
- rate_time_magnitude = math.abs(math.floor(math.log10(rate_time)))
- rate_time = rate_time * 10^(rate_time_magnitude - 2)
- end
+ -- Calculate time and watt if rates are greater then 0
+ if (sum_rate_power > 0 or sum_rate_current > 0) then
+ local div = (sum_rate_power > 0 and sum_rate_power) or sum_rate_current
+
+ if bat_now.status == "Charging" then
+ rate_time = (sum_energy_full - sum_energy_now) / div
+ else -- Discharging
+ rate_time = sum_energy_now / div
+ end
+
+ if 0 < rate_time and rate_time < 0.01 then -- check for magnitude discrepancies (#199)
+ rate_time_magnitude = math.abs(math.floor(math.log10(rate_time)))
+ rate_time = rate_time * 10^(rate_time_magnitude - 2)
+ end
+ end
local hours = math.floor(rate_time)
local minutes = math.floor((rate_time - hours) * 60)
bat_now.perc = math.floor(math.min(100, (sum_energy_now / sum_energy_full) * 100))
bat_now.time = string.format("%02d:%02d", hours, minutes)
bat_now.watt = tonumber(string.format("%.2f", sum_rate_energy / 1e6))
- elseif bat_now.status ~= "Full" and sum_rate_power == 0 and bat_now.ac_status == 1 then
- bat_now.perc = math.floor(math.min(100, (sum_energy_now / sum_energy_full) * 100))
- bat_now.time = "00:00"
- bat_now.watt = 0
elseif bat_now.status == "Full" then
bat_now.perc = 100
bat_now.time = "00:00"
end
end
- newtimer(battery, timeout, bat.update)
-
- return bat
+ newtimer("batteries", timeout, bat.update)
+
+ return setmetatable(bat, { __index = bat.widget })
end
return setmetatable({}, { __call = function(_, ...) return worker(...) end })
newtimer("cpu", timeout, update)
- return cpu.widget
+ return setmetatable(cpu, { __index = cpu.widget })
end
return setmetatable(cpu, { __call = function(_, ...) return worker(...) end })
newtimer("mem", timeout, update)
- return mem.widget
+ return setmetatable(mem, { __index = mem.widget })
end
return setmetatable(mem, { __call = function(_, ...) return worker(...) end })
mpd.timer = helpers.newtimer("mpd", timeout, mpd.update, true, true)
- return mpd
+ return setmetatable(mpd, { __index = imap.widget })
end
return setmetatable(mpd, { __call = function(_, ...) return worker(...) end })
local wibox = require("wibox")
local string = { format = string.format,
match = string.match }
-local tostring = tostring
local setmetatable = setmetatable
-- Network infos
settings()
end
- helpers.newtimer("net-" .. tostring(net.iface), timeout, update)
+ helpers.newtimer("network", timeout, update)
- return net
+ return setmetatable(net, { __index = net.widget })
end
return setmetatable({}, { __call = function(_, ...) return worker(...) end })
end)
end
- helpers.newtimer(string.format("pulseaudio-%s", timeout), timeout, pulseaudio.update)
+ helpers.newtimer("pulseaudio", timeout, pulseaudio.update)
return setmetatable(pulseaudio, { __index = pulseaudio.widget })
end
end)
end
-
- timer_id = string.format("pulsebar-%s", pulsebar.sink)
-
- helpers.newtimer(timer_id, timeout, pulsebar.update)
+ helpers.newtimer(string.format("pulsebar-%s", pulsebar.sink), timeout, pulsebar.update)
return pulsebar
end
end
newtimer("sysload", timeout, update)
- return sysload.widget
+
+ return setmetatable(sysload, { __index = sysload.widget })
end
return setmetatable(sysload, { __call = function(_, ...) return worker(...) end })
newtimer("coretemp", timeout, update)
- return temp.widget
+ return setmetatable(temp, { __index = temp.widget })
end
return setmetatable(temp, { __call = function(_, ...) return worker(...) end })
-Subproject commit df5dd684ec35c1fc8e044fb5fd0bdb76f7f568fa
+Subproject commit 7e4865822c669a86007d88bf6ae846a95c5eed5f