gmail: add scrolling support and truncate control
Same as the mpd widget. No argument, string is returned in full. Number enables truncate. Table enables scrolling.
This commit is contained in:
parent
9e91408ccb
commit
44d943d024
20
gmail.lua
20
gmail.lua
|
@ -4,6 +4,7 @@
|
|||
---------------------------------------------------
|
||||
|
||||
-- {{{ Grab environment
|
||||
local type = type
|
||||
local tonumber = tonumber
|
||||
local io = { popen = io.popen }
|
||||
local setmetatable = setmetatable
|
||||
|
@ -21,9 +22,9 @@ local user = "" -- Todo:
|
|||
local pass = "" -- * find a safer storage
|
||||
|
||||
-- {{{ Gmail widget type
|
||||
local function worker(format, feed)
|
||||
local function worker(format, warg)
|
||||
local auth = user .. ":" .. pass
|
||||
local feed = feed or "https://mail.google.com/mail/feed/atom/unread"
|
||||
local feed = "https://mail.google.com/mail/feed/atom/unread"
|
||||
local mail = {
|
||||
["{count}"] = 0,
|
||||
["{subject}"] = "N/A"
|
||||
|
@ -42,10 +43,17 @@ local function worker(format, feed)
|
|||
-- 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
|
||||
-- Spam sanitize the subject
|
||||
title = helpers.escape(title)
|
||||
-- Don't abuse the wibox, truncate, then store
|
||||
mail["{subject}"] = helpers.truncate(title, 22)
|
||||
-- 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
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue