From 3b55c94cc946103747c890218a709af5e6b84d1d Mon Sep 17 00:00:00 2001 From: vincent Date: Mon, 4 Mar 2019 21:09:10 +0100 Subject: [PATCH] updated awesome extention --- awesome/.config/awesome/lain/helpers.lua | 3 +- .../.config/awesome/lain/layout/termfair.lua | 4 +- awesome/.config/awesome/lain/util/init.lua | 7 +- .../awesome/lain/util/menu_iterator.lua | 3 +- awesome/.config/awesome/lain/util/quake.lua | 7 +- .../.config/awesome/lain/util/separators.lua | 4 +- awesome/.config/awesome/lain/widget/alsa.lua | 3 +- .../.config/awesome/lain/widget/alsabar.lua | 14 +- awesome/.config/awesome/lain/widget/bat.lua | 35 ++-- awesome/.config/awesome/lain/widget/cal.lua | 5 +- .../awesome/lain/widget/contrib/moc.lua | 5 +- .../awesome/lain/widget/contrib/redshift.lua | 1 + .../awesome/lain/widget/contrib/task.lua | 20 +-- .../lain/widget/contrib/tpbat/init.lua | 163 ------------------ .../lain/widget/contrib/tpbat/smapi.lua | 98 ----------- awesome/.config/awesome/lain/widget/cpu.lua | 5 +- awesome/.config/awesome/lain/widget/fs.lua | 5 +- awesome/.config/awesome/lain/widget/imap.lua | 70 ++++---- awesome/.config/awesome/lain/widget/mpd.lua | 18 +- awesome/.config/awesome/lain/widget/net.lua | 2 +- awesome/.config/awesome/lain/widget/pulse.lua | 6 +- .../.config/awesome/lain/widget/pulsebar.lua | 14 +- .../.config/awesome/lain/widget/weather.lua | 6 +- awesome/.config/awesome/revelation/init.lua | 10 +- 24 files changed, 129 insertions(+), 379 deletions(-) delete mode 100644 awesome/.config/awesome/lain/widget/contrib/tpbat/init.lua delete mode 100644 awesome/.config/awesome/lain/widget/contrib/tpbat/smapi.lua diff --git a/awesome/.config/awesome/lain/helpers.lua b/awesome/.config/awesome/lain/helpers.lua index 4d75f7b..d3fa259 100644 --- a/awesome/.config/awesome/lain/helpers.lua +++ b/awesome/.config/awesome/lain/helpers.lua @@ -12,7 +12,8 @@ local io = { lines = io.lines, open = io.open } local pairs = pairs local rawget = rawget -local table = { sort = table.sort } +local table = { sort = table.sort, unpack = table.unpack } +local unpack = unpack or table.unpack -- lua 5.1 retro-compatibility -- Lain helper functions for internal use -- lain.helpers diff --git a/awesome/.config/awesome/lain/layout/termfair.lua b/awesome/.config/awesome/lain/layout/termfair.lua index f57f715..e33894e 100644 --- a/awesome/.config/awesome/lain/layout/termfair.lua +++ b/awesome/.config/awesome/lain/layout/termfair.lua @@ -8,9 +8,7 @@ --]] -local math = { ceil = math.ceil, - floor = math.floor, - max = math.max } +local math = math local screen = screen local tonumber = tonumber diff --git a/awesome/.config/awesome/lain/util/init.lua b/awesome/.config/awesome/lain/util/init.lua index 8b8e719..55bfa26 100644 --- a/awesome/.config/awesome/lain/util/init.lua +++ b/awesome/.config/awesome/lain/util/init.lua @@ -158,9 +158,10 @@ 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 + tonumber(thatmuch) +function util.useless_gaps_resize(thatmuch, s, t) + local scr = s or awful.screen.focused() + local tag = t or scr.selected_tag + tag.gap = tag.gap + tonumber(thatmuch) awful.layout.arrange(scr) end diff --git a/awesome/.config/awesome/lain/util/menu_iterator.lua b/awesome/.config/awesome/lain/util/menu_iterator.lua index 0ea4e0e..9959b25 100644 --- a/awesome/.config/awesome/lain/util/menu_iterator.lua +++ b/awesome/.config/awesome/lain/util/menu_iterator.lua @@ -11,12 +11,13 @@ -- lain.util.menu_iterator local naughty = require("naughty") +local helpers = require("lain.helpers") local util = require("lain.util") local atable = require("awful.util").table local assert = assert local pairs = pairs local tconcat = table.concat -local unpack = unpack +local unpack = unpack or table.unpack -- lua 5.1 retro-compatibility local state = { cid = nil } diff --git a/awesome/.config/awesome/lain/util/quake.lua b/awesome/.config/awesome/lain/util/quake.lua index 64aaca5..01891b0 100644 --- a/awesome/.config/awesome/lain/util/quake.lua +++ b/awesome/.config/awesome/lain/util/quake.lua @@ -8,13 +8,10 @@ local awful = require("awful") local capi = { client = client } - -local math = { floor = math.floor } -local string = { format = string.format } - +local math = math +local string = string local pairs = pairs local screen = screen - local setmetatable = setmetatable -- Quake-like Dropdown application spawn diff --git a/awesome/.config/awesome/lain/util/separators.lua b/awesome/.config/awesome/lain/util/separators.lua index e45b954..465132d 100644 --- a/awesome/.config/awesome/lain/util/separators.lua +++ b/awesome/.config/awesome/lain/util/separators.lua @@ -6,8 +6,8 @@ --]] -local wibox = require("wibox") -local gears = require("gears") +local wibox = require("wibox") +local gears = require("gears") -- Lain Cairo separators util submodule -- lain.util.separators diff --git a/awesome/.config/awesome/lain/widget/alsa.lua b/awesome/.config/awesome/lain/widget/alsa.lua index 2d4891d..3b6c6d6 100644 --- a/awesome/.config/awesome/lain/widget/alsa.lua +++ b/awesome/.config/awesome/lain/widget/alsa.lua @@ -9,8 +9,7 @@ local helpers = require("lain.helpers") local shell = require("awful.util").shell local wibox = require("wibox") -local string = { match = string.match, - format = string.format } +local string = string -- ALSA volume -- lain.widget.alsa diff --git a/awesome/.config/awesome/lain/widget/alsabar.lua b/awesome/.config/awesome/lain/widget/alsabar.lua index ea78ec5..9b9f4b9 100644 --- a/awesome/.config/awesome/lain/widget/alsabar.lua +++ b/awesome/.config/awesome/lain/widget/alsabar.lua @@ -6,12 +6,14 @@ --]] -local helpers = require("lain.helpers") -local awful = require("awful") -local naughty = require("naughty") -local wibox = require("wibox") - -local math, string, type, tonumber = math, string, type, tonumber +local helpers = require("lain.helpers") +local awful = require("awful") +local naughty = require("naughty") +local wibox = require("wibox") +local math = math +local string = string +local type = type +local tonumber = tonumber -- ALSA volume bar -- lain.widget.alsabar diff --git a/awesome/.config/awesome/lain/widget/bat.lua b/awesome/.config/awesome/lain/widget/bat.lua index b654948..3cb801c 100644 --- a/awesome/.config/awesome/lain/widget/bat.lua +++ b/awesome/.config/awesome/lain/widget/bat.lua @@ -6,14 +6,14 @@ --]] -local helpers = require("lain.helpers") -local fs = require("gears.filesystem") -local naughty = require("naughty") -local wibox = require("wibox") -local math = math -local string = string -local ipairs = ipairs -local tonumber = tonumber +local helpers = require("lain.helpers") +local fs = require("gears.filesystem") +local naughty = require("naughty") +local wibox = require("wibox") +local math = math +local string = string +local ipairs = ipairs +local tonumber = tonumber -- Battery infos -- lain.widget.bat @@ -26,14 +26,15 @@ local function factory(args) return end - local bat = { widget = wibox.widget.textbox() } - local args = args or {} - local timeout = args.timeout or 30 - local notify = args.notify or "on" - local n_perc = args.n_perc or { 5, 15 } - local batteries = args.batteries or (args.battery and {args.battery}) or {} - local ac = args.ac or "AC0" - local settings = args.settings or function() end + local bat = { widget = wibox.widget.textbox() } + local args = args or {} + local timeout = args.timeout or 30 + local notify = args.notify or "on" + local full_notify = args.full_notify or notify + local n_perc = args.n_perc or { 5, 15 } + local batteries = args.batteries or (args.battery and {args.battery}) or {} + local ac = args.ac or "AC0" + local settings = args.settings or function() end function bat.get_batteries() helpers.line_callback("ls -1 " .. pspath, function(line) @@ -198,7 +199,7 @@ local function factory(args) }).id end fullnotification = false - elseif bat_now.status == "Full" and not fullnotification then + elseif bat_now.status == "Full" and full_notify == "on" and not fullnotification then bat.id = naughty.notify({ preset = bat_notification_charged_preset, replaces_id = bat.id diff --git a/awesome/.config/awesome/lain/widget/cal.lua b/awesome/.config/awesome/lain/widget/cal.lua index 326dc00..9b613bf 100644 --- a/awesome/.config/awesome/lain/widget/cal.lua +++ b/awesome/.config/awesome/lain/widget/cal.lua @@ -19,6 +19,7 @@ local tostring = tostring -- Calendar notification -- lain.widget.cal + local function factory(args) args = args or {} local cal = { @@ -47,6 +48,7 @@ local function factory(args) strx = string.format("%s%s", string.rep(" ", 3 - tostring(x):len()), strx) notifytable[#notifytable+1] = string.format("%-4s%s", strx, (x+st_day)%7==0 and x ~= mth_days and "\n" or "") end + if string.len(cal.icons or "") > 0 and today then cal.icon = cal.icons .. today .. ".png" end cal.month, cal.year = d.month, d.year return notifytable end @@ -78,7 +80,7 @@ local function factory(args) cal.notification = nil end - function cal.show(timeout, month, year) + function cal.show(timeout, month, year, scr) cal.notification_preset.text = tconcat(cal.build(month, year)) if cal.three then @@ -94,6 +96,7 @@ local function factory(args) cal.hide() cal.notification = naughty.notify { preset = cal.notification_preset, + screen = cal.followtag and awful.screen.focused() or scr or 1, icon = cal.icon, timeout = timeout or cal.notification_preset.timeout or 5 } diff --git a/awesome/.config/awesome/lain/widget/contrib/moc.lua b/awesome/.config/awesome/lain/widget/contrib/moc.lua index 027cec3..f429c77 100644 --- a/awesome/.config/awesome/lain/widget/contrib/moc.lua +++ b/awesome/.config/awesome/lain/widget/contrib/moc.lua @@ -11,9 +11,8 @@ local focused = require("awful.screen").focused local escape_f = require("awful.util").escape local naughty = require("naughty") local wibox = require("wibox") -local os = { getenv = os.getenv } -local string = { format = string.format, - gmatch = string.gmatch } +local os = os +local string = string -- MOC audio player -- lain.widget.contrib.moc diff --git a/awesome/.config/awesome/lain/widget/contrib/redshift.lua b/awesome/.config/awesome/lain/widget/contrib/redshift.lua index 7b54611..d0e5eed 100644 --- a/awesome/.config/awesome/lain/widget/contrib/redshift.lua +++ b/awesome/.config/awesome/lain/widget/contrib/redshift.lua @@ -1,6 +1,7 @@ --[[ Licensed under GNU General Public License v2 + * (c) 2017, Luca CPZ * (c) 2014, blueluke --]] diff --git a/awesome/.config/awesome/lain/widget/contrib/task.lua b/awesome/.config/awesome/lain/widget/contrib/task.lua index 7e1f3d8..536e006 100644 --- a/awesome/.config/awesome/lain/widget/contrib/task.lua +++ b/awesome/.config/awesome/lain/widget/contrib/task.lua @@ -10,7 +10,7 @@ local markup = require("lain.util").markup local awful = require("awful") local naughty = require("naughty") local mouse = mouse -local string = { format = string.format, gsub = string.gsub } +local string = string -- Taskwarrior notification -- lain.widget.contrib.task @@ -23,11 +23,7 @@ function task.hide() end function task.show(scr) - if task.followtag then - task.notification_preset.screen = awful.screen.focused() - elseif scr then - task.notification_preset.screen = scr - end + task.notification_preset.screen = task.followtag and awful.screen.focused() or scr or 1 helpers.async({ awful.util.shell, "-c", task.show_cmd }, function(f) local widget_focused = true @@ -44,12 +40,12 @@ function task.show(scr) if widget_focused then task.hide() - task.notification = naughty.notify({ - preset = task.notification_preset, - title = "task next", - text = markup.font(task.notification_preset.font, - awful.util.escape(f:gsub("\n*$", ""))) - }) + task.notification = naughty.notify { + preset = task.notification_preset, + title = "task next", + text = markup.font(task.notification_preset.font, + awful.util.escape(f:gsub("\n*$", ""))) + } end end) end diff --git a/awesome/.config/awesome/lain/widget/contrib/tpbat/init.lua b/awesome/.config/awesome/lain/widget/contrib/tpbat/init.lua deleted file mode 100644 index c62acd1..0000000 --- a/awesome/.config/awesome/lain/widget/contrib/tpbat/init.lua +++ /dev/null @@ -1,163 +0,0 @@ ---[[ - - tpbat.lua - Battery status widget for ThinkPad laptops that use SMAPI - lain.widget.contrib.tpbat - - More on tp_smapi: http://www.thinkwiki.org/wiki/Tp_smapi - - Licensed under GNU General Public License v2 - * (c) 2013, Conor Heine - * (c) 2013, Luca CPZ - * (c) 2010-2012, Peter Hofmann - ---]] - -local debug = { getinfo = debug.getinfo } -local newtimer = require("lain.helpers").newtimer -local first_line = require("lain.helpers").first_line -local naughty = require("naughty") -local wibox = require("wibox") -local string = { format = string.format } -local math = { floor = math.floor } -local tostring = tostring -local setmetatable = setmetatable -package.path = debug.getinfo(1,"S").source:match[[^@?(.*[\/])[^\/]-$]] .. "?.lua;" .. package.path -local smapi = require("smapi") - --- ThinkPad SMAPI-enabled battery info widget --- lain.widget.contrib.tpbat -local tpbat = {} - -function tpbat.hide() - if not tpbat.notification then return end - naughty.destroy(tpbat.notification) - tpbat.notification = nil -end - -function tpbat.show(t_out) - tpbat.hide() - - local bat = tpbat.bat - - if bat == nil or not bat:installed() then return end - - local t_out = t_out or 0 - local mfgr = bat:get('manufacturer') or "no_mfgr" - local model = bat:get('model') or "no_model" - local chem = bat:get('chemistry') or "no_chem" - local status = bat:get('state') or "nil" - local time = bat:remaining_time() - local msg = "\t" - - if status ~= "idle" and status ~= "nil" then - if time == "N/A" then - msg = "...Calculating time remaining..." - else - msg = time .. (status == "charging" and " until charged" or " remaining") - end - else - msg = "On AC Power" - end - - local str = string.format("%s : %s %s (%s)\n", bat.name, mfgr, model, chem) - .. string.format("\n%s \t\t\t %s", status:upper(), msg) - - tpbat.notification = naughty.notify({ - text = str, - timeout = t_out, - screen = client.focus and client.focus.screen or 1 - }) -end - -function tpbat.register(args) - local args = args or {} - local timeout = args.timeout or 30 - local battery = args.battery or "BAT0" - local bat_low_perc = args.bat_low_perc or 15 - local bat_critical_perc = args.bat_critical_perc or 5 - local settings = args.settings or function() end - - tpbat.bat = smapi:battery(battery) -- Create a new battery - local bat = tpbat.bat - - tpbat.widget = wibox.widget.textbox() - - bat_notification_low_preset = { - title = "Battery low", - text = "Plug the cable!", - timeout = 15, - fg = "#202020", - bg = "#CDCDCD" - } - - bat_notification_critical_preset = { - title = "Battery exhausted", - text = "Shutdown imminent", - timeout = 15, - fg = "#000000", - bg = "#FFFFFF" - } - - if bat:get('state') == nil - then - local n = naughty.notify({ - preset = bat_notification_low_preset, - title = "SMAPI Battery Warning: Unable to read battery state!", - text = "This widget is intended for ThinkPads. Is tp_smapi installed? Check your configs & paths.", - screen = client.focus and client.focus.screen or 1 - }) - end - - function tpbat.update() - bat_now = { - status = "Not present", - perc = "N/A", - time = "N/A", - watt = "N/A" - } - - if bat:installed() - then - bat_now.status = bat:status() or "N/A" - bat_now.perc = bat:percent() - bat_now.time = bat:remaining_time() - -- bat_now.watt = string.format("%.2fW", (VOLTS * AMPS) / 1e12) - - -- notifications for low and critical states (when discharging) - if bat_now.status == "discharging" - then - if bat_now.perc <= bat_critical_perc - then - tpbat.id = naughty.notify({ - preset = bat_notification_critical_preset, - replaces_id = tpbat.id, - screen = client.focus and client.focus.screen or 1 - }).id - elseif bat_now.perc <= bat_low_perc - then - tpbat.id = naughty.notify({ - preset = bat_notification_low_preset, - replaces_id = tpbat.id, - screen = client.focus and client.focus.screen or 1 - }).id - end - end - - bat_now.perc = tostring(bat_now.perc) - end - - widget = tpbat.widget - - settings() - end - - newtimer("tpbat-" .. bat.name, timeout, tpbat.update) - - widget:connect_signal('mouse::enter', function () tpbat.show() end) - widget:connect_signal('mouse::leave', function () tpbat.hide() end) - - return tpbat -end - -return setmetatable(tpbat, { __call = function(_, ...) return tpbat.register(...) end }) diff --git a/awesome/.config/awesome/lain/widget/contrib/tpbat/smapi.lua b/awesome/.config/awesome/lain/widget/contrib/tpbat/smapi.lua deleted file mode 100644 index a8867e4..0000000 --- a/awesome/.config/awesome/lain/widget/contrib/tpbat/smapi.lua +++ /dev/null @@ -1,98 +0,0 @@ ---[[ - - smapi.lua - Interface with thinkpad battery information - - Licensed under GNU General Public License v2 - * (c) 2013, Conor Heine - ---]] - -local first_line = require("lain.helpers").first_line - -local string = { format = string.format } -local tonumber = tonumber -local setmetatable = setmetatable - -local smapi = {} -local apipath = "/sys/devices/platform/smapi" - --- Most are readable values, but some can be written to (not implemented, yet?) -local readable = { - barcoding = true, - charging_max_current = true, - charging_max_voltage = true, - chemistry = true, - current_avg = true, - current_now = true, - cycle_count = true, - design_capacity = true, - design_voltage = true, - dump = true, - first_use_date = true, - force_discharge = false, - group0_voltage = true, - group1_voltage = true, - group2_voltage = true, - group3_voltage = true, - inhibit_charge_minutes = false, - installed = true, - last_full_capacity = true, - manufacture_date = true, - manufacturer = true, - model = true, - power_avg = true, - power_now = true, - remaining_capacity = true, - remaining_charging_time = true, - remaining_percent = true, - remaining_percent_error = true, - remaining_running_time = true, - remaining_running_time_now = true, - serial = true, - start_charge_thresh = false, - state = true, - stop_charge_thresh = false, - temperature = true, - voltage = true -} - -function smapi:battery(name) - local bat = {} - - bat.name = name - bat.path = apipath .. "/" .. name - - function bat:get(item) - return self.path ~= nil and readable[item] and first_line(self.path .. "/" .. item) or nil - end - - function bat:installed() - return self:get("installed") == "1" - end - - function bat:status() - return self:get('state') - end - - -- Remaining time can either be time until battery dies or time until charging completes - function bat:remaining_time() - local time_val = bat_now.status == 'discharging' and 'remaining_running_time' or 'remaining_charging_time' - local mins_left = self:get(time_val) - - if not mins_left:find("^%d+") then return "N/A" end - - local hrs = math.floor(mins_left / 60) - local min = mins_left % 60 - - return string.format("%02d:%02d", hrs, min) - end - - function bat:percent() - return tonumber(self:get("remaining_percent")) - end - - return setmetatable(bat, {__metatable = false, __newindex = false}) -end - -return smapi diff --git a/awesome/.config/awesome/lain/widget/cpu.lua b/awesome/.config/awesome/lain/widget/cpu.lua index 6c6e77a..81638c2 100644 --- a/awesome/.config/awesome/lain/widget/cpu.lua +++ b/awesome/.config/awesome/lain/widget/cpu.lua @@ -8,9 +8,8 @@ local helpers = require("lain.helpers") local wibox = require("wibox") -local math = { ceil = math.ceil } -local string = { format = string.format, - gmatch = string.gmatch } +local math = math +local string = string local tostring = tostring -- CPU usage diff --git a/awesome/.config/awesome/lain/widget/fs.lua b/awesome/.config/awesome/lain/widget/fs.lua index 358d4dd..d1b7a97 100644 --- a/awesome/.config/awesome/lain/widget/fs.lua +++ b/awesome/.config/awesome/lain/widget/fs.lua @@ -52,6 +52,7 @@ local function factory(args) local args = args or {} local timeout = args.timeout or 600 local partition = args.partition + local threshold = args.threshold or 99 local showpopup = args.showpopup or "on" local settings = args.settings or function() end @@ -106,12 +107,12 @@ local function factory(args) widget = fs.widget settings() - if partition and fs_now[partition] and fs_now[partition].used >= 99 then + if partition and fs_now[partition] and fs_now[partition].percentage >= threshold then if not helpers.get_map(partition) then naughty.notify { preset = naughty.config.presets.critical, title = "Warning", - text = partition .. " is full", + text = string.format("%s is above %d%% (%d%%)", partition, threshold, fs_now[partition].percentage) } helpers.set_map(partition, true) else diff --git a/awesome/.config/awesome/lain/widget/imap.lua b/awesome/.config/awesome/lain/widget/imap.lua index 7e83d36..b3d9dc7 100644 --- a/awesome/.config/awesome/lain/widget/imap.lua +++ b/awesome/.config/awesome/lain/widget/imap.lua @@ -17,63 +17,75 @@ local tonumber = tonumber -- lain.widget.imap local function factory(args) - local imap = { widget = wibox.widget.textbox() } - local args = args or {} - local server = args.server - local mail = args.mail - local password = args.password - local port = args.port or 993 - local timeout = args.timeout or 60 - local is_plain = args.is_plain or false - local followtag = args.followtag or false - local notify = args.notify or "on" - local settings = args.settings or function() end + local imap = { widget = wibox.widget.textbox() } + local args = args or {} + local server = args.server + local mail = args.mail + local password = args.password + local port = args.port or 993 + local timeout = args.timeout or 60 + local pwdtimeout = args.pwdtimeout or 10 + local is_plain = args.is_plain or false + local followtag = args.followtag or false + local notify = args.notify or "on" + local settings = args.settings or function() end local head_command = "curl --connect-timeout 3 -fsm 3" - local request = "-X 'SEARCH (UNSEEN)'" + local request = "-X 'STATUS INBOX (MESSAGES RECENT UNSEEN)'" if not server or not mail or not password then return end + mail_notification_preset = { + icon = helpers.icons_dir .. "mail.png", + position = "top_left" + } + helpers.set_map(mail, 0) if not is_plain then if type(password) == "string" or type(password) == "table" then helpers.async(password, function(f) password = f:gsub("\n", "") end) elseif type(password) == "function" then - local p = password() + imap.pwdtimer = helpers.newtimer(mail .. "-password", pwdtimeout, function() + local retrieved_password, try_again = password() + if not try_again then + imap.pwdtimer:stop() -- stop trying to retrieve + password = retrieved_password or "" -- failsafe + end + end, true, true) end end - function update() - mail_notification_preset = { - icon = helpers.icons_dir .. "mail.png", - position = "top_left" - } + function imap.update() + -- do not update if the password has not been retrieved yet + if type(password) ~= "string" then return end - if followtag then - mail_notification_preset.screen = awful.screen.focused() - end - - local curl = string.format("%s --url imaps://%s:%s/INBOX -u %s:%q %s -k", + local curl = string.format("%s --url imaps://%s:%s/INBOX -u %s:'%s' %s -k", head_command, server, port, mail, password, request) helpers.async(curl, function(f) - mailcount = tonumber(f:match("UNSEEN (%d+)")) + imap_now = { ["MESSAGES"] = 0, ["RECENT"] = 0, ["UNSEEN"] = 0 } + + for s,d in f:gmatch("(%w+)%s+(%d+)") do imap_now[s] = tonumber(d) end + mailcount = imap_now["UNSEEN"] -- backwards compatibility widget = imap.widget + settings() if notify == "on" and mailcount and mailcount >= 1 and mailcount > helpers.get_map(mail) then - local nt = mail .. " has " .. mailcount .. " new message" - if mailcount >= 1 then nt = nt .. "s" end - naughty.notify { preset = mail_notification_preset, text = nt } + if followtag then mail_notification_preset.screen = awful.screen.focused() end + naughty.notify { + preset = mail_notification_preset, + text = string.format("%s has %d new message%s", mail, mailcount, mailcount == 1 and "" or "s") + } end - helpers.set_map(mail, mailcount) + helpers.set_map(mail, imap_now["UNSEEN"]) end) end - imap.timer = helpers.newtimer(mail, timeout, update, true, true) + imap.timer = helpers.newtimer(mail, timeout, imap.update, true, true) return imap end diff --git a/awesome/.config/awesome/lain/widget/mpd.lua b/awesome/.config/awesome/lain/widget/mpd.lua index ff45179..01f28e6 100644 --- a/awesome/.config/awesome/lain/widget/mpd.lua +++ b/awesome/.config/awesome/lain/widget/mpd.lua @@ -6,16 +6,14 @@ --]] -local helpers = require("lain.helpers") -local shell = require("awful.util").shell -local escape_f = require("awful.util").escape -local focused = require("awful.screen").focused -local naughty = require("naughty") -local wibox = require("wibox") -local os = { getenv = os.getenv } -local string = { format = string.format, - gmatch = string.gmatch, - match = string.match } +local helpers = require("lain.helpers") +local shell = require("awful.util").shell +local escape_f = require("awful.util").escape +local focused = require("awful.screen").focused +local naughty = require("naughty") +local wibox = require("wibox") +local os = os +local string = string -- MPD infos -- lain.widget.mpd diff --git a/awesome/.config/awesome/lain/widget/net.lua b/awesome/.config/awesome/lain/widget/net.lua index 987f047..805b577 100644 --- a/awesome/.config/awesome/lain/widget/net.lua +++ b/awesome/.config/awesome/lain/widget/net.lua @@ -9,7 +9,7 @@ local helpers = require("lain.helpers") local naughty = require("naughty") local wibox = require("wibox") -local string = { format = string.format, match = string.match } +local string = string -- Network infos -- lain.widget.net diff --git a/awesome/.config/awesome/lain/widget/pulse.lua b/awesome/.config/awesome/lain/widget/pulse.lua index d37e83a..f63fe55 100644 --- a/awesome/.config/awesome/lain/widget/pulse.lua +++ b/awesome/.config/awesome/lain/widget/pulse.lua @@ -8,10 +8,8 @@ local helpers = require("lain.helpers") local shell = require("awful.util").shell local wibox = require("wibox") -local string = { gmatch = string.gmatch, - match = string.match, - format = string.format } -local type = type +local string = string +local type = type -- PulseAudio volume -- lain.widget.pulse diff --git a/awesome/.config/awesome/lain/widget/pulsebar.lua b/awesome/.config/awesome/lain/widget/pulsebar.lua index a7c0666..317468f 100644 --- a/awesome/.config/awesome/lain/widget/pulsebar.lua +++ b/awesome/.config/awesome/lain/widget/pulsebar.lua @@ -6,12 +6,14 @@ --]] -local helpers = require("lain.helpers") -local awful = require("awful") -local naughty = require("naughty") -local wibox = require("wibox") - -local math, string, type, tonumber = math, string, type, tonumber +local helpers = require("lain.helpers") +local awful = require("awful") +local naughty = require("naughty") +local wibox = require("wibox") +local math = math +local string = string +local type = type +local tonumber = tonumber -- PulseAudio volume bar -- lain.widget.pulsebar diff --git a/awesome/.config/awesome/lain/widget/weather.lua b/awesome/.config/awesome/lain/widget/weather.lua index a9b886a..f35ca68 100644 --- a/awesome/.config/awesome/lain/widget/weather.lua +++ b/awesome/.config/awesome/lain/widget/weather.lua @@ -10,8 +10,10 @@ local json = require("lain.util").dkjson local focused = require("awful.screen").focused local naughty = require("naughty") local wibox = require("wibox") - -local math, os, string, tonumber = math, os, string, tonumber +local math = math +local os = os +local string = string +local tonumber = tonumber -- OpenWeatherMap -- current weather and X-days forecast diff --git a/awesome/.config/awesome/revelation/init.lua b/awesome/.config/awesome/revelation/init.lua index 066bfe4..964d60c 100644 --- a/awesome/.config/awesome/revelation/init.lua +++ b/awesome/.config/awesome/revelation/init.lua @@ -93,11 +93,11 @@ local revelation = { is_excluded = false, curr_tag_only = false, font = "monospace 20", - fg = beautiful.fg_normal or "#DCDCCC", - bg = beautiful.bg_normal or "#000000", - border_color=beautiful.border_focus or "#DCDCCC", - border_width=beautiful.border_width or 2, - hintsize = (type(beautiful.xresources) == 'table' and beautiful.xresources.apply_dpi(50) or 60) + fg = beautiful.revelation_fg_normal or beautiful.fg_normal or "#DCDCCC", + bg = beautiful.revelation_bg_normal or beautiful.bg_normal or "#000000", + border_color = beautiful.revelation_border_color or beautiful.border_focus or "#DCDCCC", + border_width = beautiful.revelation_border_width or beautiful.border_width or 2, + hintsize = (type(beautiful.xresources) == 'table' and beautiful.xresources.apply_dpi(beautiful.revelation_hintsize or 50) or 60) }