madduck's git repository
Every one of the projects in this repository is available at the canonical
URL git://git.madduck.net/madduck/pub/<projectpath> — see
each project's metadata for the exact URL.
All patches and comments are welcome. Please squash your changes to logical
commits before using git-format-patch and git-send-email to
patches@git.madduck.net.
If you'd read over the Git project's submission guidelines and adhered to them,
I'd be especially grateful.
SSH access, as well as push access can be individually
arranged.
If you use my repositories frequently, consider adding the following
snippet to ~/.gitconfig and using the third clone URL listed for each
project:
[url "git://git.madduck.net/madduck/"]
insteadOf = madduck:
local function worker(args)
local args = args or {}
local function worker(args)
local args = args or {}
- local timeout = args.timeout or 2
- local settings = args.settings or function() end
+ local timeout = args.timeout or 2
+ local settings = args.settings or function() end
- cpu.widget = wibox.widget.textbox('')
+ cpu.widget = wibox.widget.textbox('')
-- Read the amount of time the CPUs have spent performing
-- Read the amount of time the CPUs have spent performing
- -- different kinds of work. Read the first line of /proc/stat
- -- which is the sum of all CPUs.
+ -- different kinds of work. Read the first line of /proc/stat
+ -- which is the sum of all CPUs.
local times = lines_match("cpu","/proc/stat")
local times = lines_match("cpu","/proc/stat")
- for index,time in pairs(times)
- do
+ for index,time in pairs(times) do
- local core = cpu.core[coreid] or
- { last_active = 0 , last_total = 0, usage = 0 }
- local at = 1
- local idle = 0
- local total = 0
-
- for field in string.gmatch(time, "[%s]+([^%s]+)")
- do
+ local core = cpu.core[coreid] or
+ { last_active = 0 , last_total = 0, usage = 0 }
+ local at = 1
+ local idle = 0
+ local total = 0
+
+ for field in string.gmatch(time, "[%s]+([^%s]+)") do
-- 4 = idle, 5 = ioWait. Essentially, the CPUs have done
-- nothing during these times.
if at == 4 or at == 5 then
-- 4 = idle, 5 = ioWait. Essentially, the CPUs have done
-- nothing during these times.
if at == 4 or at == 5 then
-- Read current data and calculate relative values.
local dactive = active - core.last_active
local dtotal = total - core.last_total
-- Read current data and calculate relative values.
local dactive = active - core.last_active
local dtotal = total - core.last_total
-
- local usage = math.ceil((dactive / dtotal) * 100)
+ local usage = math.ceil((dactive / dtotal) * 100)
core.last_active = active
core.last_total = total
core.usage = usage
-- Save current data for the next run.
core.last_active = active
core.last_total = total
core.usage = usage
-- Save current data for the next run.
- cpu.core[coreid] = core;
+ cpu.core[coreid] = core
end
newtimer("cpu", timeout, update)
end
newtimer("cpu", timeout, update)