diff --git a/gmail.lua b/gmail.lua index 854417f..d270bea 100644 --- a/gmail.lua +++ b/gmail.lua @@ -17,21 +17,41 @@ local helpers = require("vicious.helpers") module("vicious.gmail") --- User data -local user = "" -- Todo: -local pass = "" -- * find a safer storage +-- {{{ Variable definitions +local rss = { + inbox = { + "https://mail.google.com/mail/feed/atom", + "Gmail - Inbox for " + }, + unread = { + "https://mail.google.com/mail/feed/atom/unread", + "Gmail - Label 'unread' for " + }, + --labelname = { + -- "https://mail.google.com/mail/feed/atom/labelname", + -- "Gmail - Label 'labelname' for " + --}, +} + +-- Todo: safer storage, maybe hook into Kwallet +local cfg = { + user = "", -- user@gmail.com + pass = "", -- users password + feed = rss.unread -- default is all unread +} +-- }}} + -- {{{ Gmail widget type local function worker(format, warg) - local auth = user .. ":" .. pass - local feed = "https://mail.google.com/mail/feed/atom/unread" + local auth = cfg.user ..":".. cfg.pass local mail = { ["{count}"] = 0, ["{subject}"] = "N/A" } -- Get info from the Gmail atom feed - local f = io.popen("curl --connect-timeout 1 -m 3 -fsu "..auth.." "..feed) + local f = io.popen("curl --connect-timeout 1 -m 3 -fsu "..auth.." "..cfg.feed[1]) -- Could be huge don't read it all at once, info we are after is at the top for line in f:lines() do @@ -41,20 +61,19 @@ local function worker(format, warg) -- Find subject tags local title = string.match(line, "(.*)") -- If the subject changed then break out of the loop - if title ~= nil and -- Todo: find a better way to deal with 1st title - title ~= "Gmail - Label 'unread' for "..user.."@gmail.com" then - -- Check if we should scroll, or maybe truncate - if warg then - if type(warg) == "table" then - title = helpers.scroll(title, warg[1], warg[2]) - else - title = helpers.truncate(title, warg) - end - end + if title ~= nil and title ~= cfg.feed[2] .. cfg.user then + -- Check if we should scroll, or maybe truncate + if warg then + if type(warg) == "table" then + title = helpers.scroll(title, warg[1], warg[2]) + else + title = helpers.truncate(title, warg) + end + end - -- Spam sanitize the subject and store - mail["{subject}"] = helpers.escape(title) - break + -- Spam sanitize the subject and store + mail["{subject}"] = helpers.escape(title) + break end end f:close() diff --git a/mem.lua b/mem.lua index 629cc12..f3352b6 100644 --- a/mem.lua +++ b/mem.lua @@ -20,7 +20,7 @@ module("vicious.mem") local function worker(format) -- Get meminfo local f = io.open("/proc/meminfo") - local mem = { buf = {}, swp = {}, } + local mem = { buf = {}, swp = {} } for line in f:lines() do if string.match(line, "^MemTotal.*") then diff --git a/thermal.lua b/thermal.lua index a36501c..d7e98fc 100644 --- a/thermal.lua +++ b/thermal.lua @@ -18,8 +18,7 @@ module("vicious.thermal") -- {{{ Thermal widget type local function worker(format, warg) - -- Known temperature data sources - local zone = { + local zone = { -- Known temperature data sources ["sys"] = {"/sys/class/thermal/", file = "temp", div = 1000}, ["core"] = {"/sys/devices/platform/", file = "temp1_input",div = 1000}, ["proc"] = {"/proc/acpi/thermal_zone/",file = "temperature"}