diff options
-rw-r--r-- | ram-widget/ram-widget.lua | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/ram-widget/ram-widget.lua b/ram-widget/ram-widget.lua index b378990..edf9dd4 100644 --- a/ram-widget/ram-widget.lua +++ b/ram-widget/ram-widget.lua @@ -1,6 +1,7 @@ local awful = require("awful") local watch = require("awful.widget.watch") local wibox = require("wibox") +local gd = require("gears.debug") --- Main ram widget shown on wibar local ramgraph_widget = wibox.widget { @@ -37,21 +38,21 @@ w:setup { widget = wibox.widget.piechart } -local total, used, free, shared, buff_cache, available +local total, used, free, shared, buff_cache, available, total_swap, used_swap, free_swap local function getPercentage(value) - return math.floor(value / total * 100 + 0.5) .. '%' + return math.floor(value / (total+total_swap) * 100 + 0.5) .. '%' end -watch('bash -c "free | grep Mem"', 1, +watch('bash -c "free | grep -z Mem.*Swap.*"', 1, function(widget, stdout, stderr, exitreason, exitcode) - total, used, free, shared, buff_cache, available = stdout:match('(%d+)%s*(%d+)%s*(%d+)%s*(%d+)%s*(%d+)%s*(%d+)') + 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+)') widget.data = { used, total-used } if w.visible then w.pie.data_list = { - {'used ' .. getPercentage(used), used}, - {'free ' .. getPercentage(free), free}, + {'used ' .. getPercentage(used+used_swap), used+used_swap}, + {'free ' .. getPercentage(free+free_swap), free+free_swap}, {'buff_cache ' .. getPercentage(buff_cache), buff_cache} } end @@ -64,8 +65,8 @@ ramgraph_widget:buttons( awful.button({}, 1, function() awful.placement.top_right(w, { margins = {top = 25, right = 10}}) w.pie.data_list = { - {'used ' .. getPercentage(used), used}, - {'free ' .. getPercentage(free), free}, + {'used ' .. getPercentage(used+used_swap), used+used_swap}, + {'free ' .. getPercentage(free+free_swap), free+free_swap}, {'buff_cache ' .. getPercentage(buff_cache), buff_cache} } w.pie.display_labels = true |