X-Git-Url: https://git.madduck.net/etc/awesome.git/blobdiff_plain/0b80b45bc9bca17f08e8055d364bac17f96129bd..e5abb784433ce678273d72eb9716b18ac45b5c82:/widgets/cpu.lua

diff --git a/widgets/cpu.lua b/widgets/cpu.lua
index ec84101..6019f32 100644
--- a/widgets/cpu.lua
+++ b/widgets/cpu.lua
@@ -21,10 +21,7 @@ local setmetatable = setmetatable
 
 -- CPU usage
 -- lain.widgets.cpu
-local cpu = {
-    last_total = 0,
-    last_active = 0
-}
+local cpu = { last_total = 0, last_active = 0 }
 
 local function worker(args)
     local args     = args or {}
@@ -53,20 +50,22 @@ local function worker(args)
             at = at + 1
         end
         local active = total - idle
+        
+        if cpu.last_active ~= active or cpu.last_total ~= total then
+            -- Read current data and calculate relative values.
+            local dactive = active - cpu.last_active
+            local dtotal = total - cpu.last_total
 
-        -- Read current data and calculate relative values.
-        local dactive = active - cpu.last_active
-        local dtotal = total - cpu.last_total
+            cpu_now = {}
+            cpu_now.usage = tostring(math.ceil((dactive / dtotal) * 100))
 
-        cpu_now = {}
-        cpu_now.usage = tostring(math.ceil((dactive / dtotal) * 100))
+            widget = cpu.widget
+            settings()
 
-        widget = cpu.widget
-        settings()
-
-        -- Save current data for the next run.
-        cpu.last_active = active
-        cpu.last_total = total
+            -- Save current data for the next run.
+            cpu.last_active = active
+            cpu.last_total = total
+        end
     end
 
     newtimer("cpu", timeout, update)