From: copycat-killer Date: Fri, 27 Jan 2017 21:01:48 +0000 (+0100) Subject: maildir: turned into an abase example X-Git-Url: https://git.madduck.net/etc/awesome.git/commitdiff_plain/555b872d16393774089df3b3453000571a73a3dd?hp=83b96b3c3ada021e47d6ef1ad48c03710f0dc24a maildir: turned into an abase example --- diff --git a/util/init.lua b/util/init.lua index 2f9e14a..25470e4 100644 --- a/util/init.lua +++ b/util/init.lua @@ -162,7 +162,7 @@ end -- On the fly useless gaps change function util.useless_gaps_resize(thatmuch) local scr = awful.screen.focused() - scr.selected_tag.gap = scr.selected_tag.gap + thatmuch + scr.selected_tag.gap = scr.selected_tag.gap + tonumber(thatmuch) awful.layout.arrange(scr) end diff --git a/widgets/maildir.lua b/widgets/maildir.lua deleted file mode 100644 index f7dfd28..0000000 --- a/widgets/maildir.lua +++ /dev/null @@ -1,84 +0,0 @@ - ---[[ - - Licensed under GNU General Public License v2 - * (c) 2013, Luke Bonham - * (c) 2010-2012, Peter Hofmann - ---]] - -local awful = require("awful") -local wibox = require("wibox") -local helpers = require("lain.helpers") -local io = { popen = io.popen } -local os = { getenv = os.getenv } -local string = { format = string.format, - match = string.match } -local setmetatable = setmetatable - --- Maildir check (synchronous) --- lain.widgets.maildir -local maildir = {} - -local function worker(args) - local args = args or {} - local timeout = args.timeout or 60 - local mailpath = args.mailpath or os.getenv("HOME") .. "/Mail" - local ignore_boxes = args.ignore_boxes or {} - local settings = args.settings or function() end - local cmd = args.cmd - - maildir.widget = wibox.widget.textbox() - - function maildir.update() - if cmd then helpers.async({ awful.util.shell, "-c", cmd }, function() end) end - - -- Find pathes to mailboxes. - local p = io.popen(string.format("find %s -mindepth 1 -maxdepth 2 -type d -not -name .git", mailpath)) - local boxes = {} - repeat - line = p:read("*l") - if line then - -- Find all files in the "new" subdirectory. For each - -- file, print a single character (no newline). Don't - -- match files that begin with a dot. - -- Afterwards the length of this string is the number of - -- new mails in that box. - local mailstring = helpers.read_pipe(string.format("find %s /new -mindepth 1 -type f -not -name '.*' -printf a", line)) - - -- Strip off leading mailpath. - local box = string.match(line, mailpath .. "/(.*)") - local nummails = #mailstring - - if nummails > 0 then - boxes[box] = nummails - end - end - until not line - p:close() - - local newmail = "no mail" - local total = 0 - - for box, number in helpers.spairs(boxes) do - -- Add this box only if it's not to be ignored. - if not helpers.element_in_table(box, ignore_boxes) then - total = total + number - if newmail == "no mail" then - newmail = string.format("%s(%s)", box, number) - else - newmail = string.format("%s, %s(%s)", newmail, box, number) - end - end - end - - widget = maildir.widget - settings() - end - - maildir.timer = helpers.newtimer(mailpath, timeout, maildir.update, true, true) - - return maildir -end - -return setmetatable(maildir, { __call = function(_, ...) return worker(...) end }) diff --git a/wiki b/wiki index 425169b..2fb160f 160000 --- a/wiki +++ b/wiki @@ -1 +1 @@ -Subproject commit 425169b35b105e5a240997ff8f5aa12bec6099cb +Subproject commit 2fb160f6c19483150110cb6fa2d6567cc3581a85