22 lines
695 B
Lua
22 lines
695 B
Lua
local wibox = require('wibox')
|
|
local beautiful = require('beautiful')
|
|
local watch = require('awful.widget.watch')
|
|
|
|
local memory = wibox.widget.textbox()
|
|
memory.font = beautiful.font
|
|
|
|
function round(exact, quantum)
|
|
local quant,frac = math.modf(exact/quantum)
|
|
return quantum * (quant + (frac > 0.5 and 1 or 0))
|
|
end
|
|
|
|
watch('bash -c "free | grep -z Mem.*Swap.*"', 1, function(_, stdout)
|
|
local total, used, free, shared, buff_cache, available, total_swap, used_swap, free_swap =
|
|
stdout:match('(%d+)%s*(%d+)%s*(%d+)%s*(%d+)%s*(%d+)%s*(%d+)%s*Swap:%s*(%d+)%s*(%d+)%s*(%d+)')
|
|
|
|
memory.text = round((used / 1048576), 0.01) .. 'GB'
|
|
collectgarbage('collect')
|
|
end)
|
|
|
|
return memory
|