summaryrefslogtreecommitdiff
path: root/cpu-widget/cpu-widget.lua
diff options
context:
space:
mode:
Diffstat (limited to 'cpu-widget/cpu-widget.lua')
-rw-r--r--cpu-widget/cpu-widget.lua12
1 files changed, 12 insertions, 0 deletions
diff --git a/cpu-widget/cpu-widget.lua b/cpu-widget/cpu-widget.lua
index 23b61f6..f1056e9 100644
--- a/cpu-widget/cpu-widget.lua
+++ b/cpu-widget/cpu-widget.lua
@@ -163,6 +163,7 @@ local function worker(user_args)
-- This part runs constantly, also when the popup is closed.
-- It updates the graph widget in the bar.
local maincpu = {}
+ local reset_garbage_collector = 0
watch(CMD_slim, timeout, function(widget, stdout)
local _, user, nice, system, idle, iowait, irq, softirq, steal, _, _ =
@@ -178,12 +179,18 @@ local function worker(user_args)
maincpu['idle_prev'] = idle
widget:add_value(diff_usage)
+ reset_garbage_collector = reset_garbage_collector + 1
+ if (reset_garbage_collector > 5) then
+ collectgarbage()
+ reset_garbage_collector = 0
+ end
end,
cpugraph_widget
)
-- This part runs whenever the timer is fired.
-- It therefore only runs when the popup is open.
+ local reset_garbage_collector = 0
local cpus = {}
popup_timer:connect_signal('timeout', function()
awful.spawn.easy_async(CMD, function(stdout, _, _, _)
@@ -318,6 +325,11 @@ local function worker(user_args)
margins = 8,
widget = wibox.container.margin
}
+ reset_garbage_collector = reset_garbage_collector + 1
+ if (reset_garbage_collector > 10) then
+ collectgarbage()
+ reset_garbage_collector = 0
+ end
end)
end)