From f14280bf9c60bac3dd024c0967690780ecf13fcf Mon Sep 17 00:00:00 2001 From: "Adrian C. (anrxc)" Date: Wed, 5 Aug 2009 22:53:42 +0200 Subject: Pacman widget updated for pacman 3.3. Pacman 3.3 returns one package on a line, without any other information. So now we count lines, while before the list of packages was provided on one line along with the number of updates - so we didn't have to count them. Old code was commented out, and is waiting for removal. --- pacman.lua | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/pacman.lua b/pacman.lua index bdf9ef7..f4fedbf 100644 --- a/pacman.lua +++ b/pacman.lua @@ -20,17 +20,23 @@ function worker(format) local f = io.popen("pacman -Qu") -- Initialise updates - local updates = nil + local updates = 0 -- Get data for line in f:lines() do - -- If there are 'Targets:' then updates are available, - -- number is provided, we don't have to count packages - updates = line:match("^Targets[%s]%(([%d]+)%)") or 0 + -- Pacman 3.3 returns one package on a line, without any extra + -- information + updates = updates + 1 + + -- Pacman 3.2 returns 'Targets:' followed by a number of + -- available updates and a list of packages all on one + -- line. Since the number is provided we don't have to count + -- them + --updates = line:match("^Targets[%s]%(([%d]+)%)") or 0 -- If the count changed then break out of the loop - if tonumber(updates) > 0 then - break - end + --if tonumber(updates) > 0 then + -- break + --end end f:close() -- cgit v1.2.3