AwesomeFiles/config/awesome/signal/ram.lua
VincentKnightTesting 0cc6886341 updated
2022-04-25 09:51:27 -05:00

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)