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"}