24 lines
788 B
Lua
24 lines
788 B
Lua
-- Provides:
|
|
-- signal::ram
|
|
-- used (integer - mega bytes)
|
|
-- total (integer - mega bytes)
|
|
local awful = require("awful")
|
|
|
|
local update_interval = 20
|
|
-- Returns the used amount of ram in percentage
|
|
-- TODO output of free is affected by system language. The following command
|
|
-- works for any language:
|
|
-- free -m | sed -n '2p' | awk '{printf "%d available out of %d\n", $7, $2}'
|
|
local ram_script = [[
|
|
sh -c "
|
|
free -m | grep 'Mem:' | awk '{printf \"%d@@%d@\", $7, $2}'
|
|
"]]
|
|
|
|
-- Periodically get ram info
|
|
awful.widget.watch(ram_script, update_interval, function(widget, stdout)
|
|
local available = stdout:match("(.*)@@")
|
|
local total = stdout:match("@@(.*)@")
|
|
local used = tonumber(total) - tonumber(available)
|
|
awesome.emit_signal("signal::ram", used, tonumber(total))
|
|
end)
|