madduck's git repository

Every one of the projects in this repository is available at the canonical URL git://git.madduck.net/madduck/pub/<projectpath> — see each project's metadata for the exact URL.

All patches and comments are welcome. Please squash your changes to logical commits before using git-format-patch and git-send-email to patches@git.madduck.net. If you'd read over the Git project's submission guidelines and adhered to them, I'd be especially grateful.

SSH access, as well as push access can be individually arranged.

If you use my repositories frequently, consider adding the following snippet to ~/.gitconfig and using the third clone URL listed for each project:

[url "git://git.madduck.net/madduck/"]
  insteadOf = madduck:

Weather widget rewritten; first authorship updated
authorAleksandr Beliaev <trap000d@gmail.com>
Mon, 11 Sep 2017 04:51:52 +0000 (16:51 +1200)
committerLuca CPZ <luca.cpz@gmail.com>
Thu, 15 Feb 2018 11:24:31 +0000 (12:24 +0100)
29 files changed:
helpers.lua
init.lua
layout/cascade.lua
layout/centerwork.lua
layout/init.lua
layout/termfair.lua
util/init.lua
util/markup.lua
util/quake.lua
util/separators.lua
widget/alsa.lua
widget/alsabar.lua
widget/bat.lua
widget/calendar.lua
widget/contrib/init.lua
widget/contrib/tpbat/init.lua
widget/cpu.lua
widget/fs.lua
widget/imap.lua
widget/init.lua
widget/mem.lua
widget/mpd.lua
widget/net.lua
widget/pulse.lua
widget/pulsebar.lua
widget/sysload.lua
widget/temp.lua
widget/weather.lua
wiki

index b5b663d8cdc8652f8e87c022a75b7b0512dbc2cd..6073dddfc435b1b79c5ab81b65912ca8e7e8684f 100644 (file)
@@ -1,7 +1,7 @@
 --[[
 
      Licensed under GNU General Public License v2
-      * (c) 2013, Luke Bonham
+      * (c) 2013, Luca CPZ
 
 --]]
 
index 46c7659cd65a550e03cb3cf7efbb5c48bea972f4..b59d5dd93bb9568c83e80874f6a45a719d3ef54e 100644 (file)
--- a/init.lua
+++ b/init.lua
@@ -4,7 +4,7 @@
      Layouts, widgets and utilities for Awesome WM
 
      Licensed under GNU General Public License v2
-      * (c) 2013, Luke Bonham
+      * (c) 2013, Luca CPZ
 
 --]]
 
index f7dffb927514e61c181a9941974ed38911a568d3..cbc3877b0fb992ffb1570c898fb93049264fb9c8 100644 (file)
@@ -2,7 +2,7 @@
 
      Licensed under GNU General Public License v2
       * (c) 2014,      projektile
-      * (c) 2013,      Luke Bonham
+      * (c) 2013,      Luca CPZ
       * (c) 2010-2012, Peter Hofmann
 
 --]]
index aff27710dc8d31a208fad53200499de762431f9e..d1394a1dbe55008d6d1b6814a53ab49e1904d466 100644 (file)
@@ -4,7 +4,7 @@
       * (c) 2016,      Henrik Antonsson
       * (c) 2015,      Joerg Jaspert
       * (c) 2014,      projektile
-      * (c) 2013,      Luke Bonham
+      * (c) 2013,      Luca CPZ
       * (c) 2010-2012, Peter Hofmann
 
 --]]
index b311f4525ff09e55ebeb249a033f303be29c90f1..6478b06052460446729a9f950fe12e136706da3c 100644 (file)
@@ -6,7 +6,7 @@
      Layouts section
 
      Licensed under GNU General Public License v2
-      * (c) 2013,      Luke Bonham
+      * (c) 2013,      Luca CPZ
       * (c) 2010-2012, Peter Hofmann
 
 --]]
index 60b3c7df1f8ad56b4871adc93caa9bf63dd1bfe2..f57f7158101af2daa0d37d2f841a5eb246844de0 100644 (file)
@@ -2,7 +2,7 @@
 
      Licensed under GNU General Public License v2
       * (c) 2014,      projektile
-      * (c) 2013,      Luke Bonham
+      * (c) 2013,      Luca CPZ
       * (c) 2010,      Nicolas Estibals
       * (c) 2010-2012, Peter Hofmann
 
index 8e7b8ef12cc3127da8224051f13d53d29941c61c..8b8e719b3b7af6d835129185ae034cfe6ece0358 100644 (file)
@@ -6,7 +6,7 @@
      Utilities section
 
      Licensed under GNU General Public License v2
-      * (c) 2013,      Luke Bonham
+      * (c) 2013,      Luca CPZ
       * (c) 2010-2012, Peter Hofmann
 
 --]]
index 0eb9bfa4f84233fcaca41c94127f5237527d5595..98013318d6f87284a4bcb1444b40696a5ed7c83e 100644 (file)
@@ -1,7 +1,7 @@
 --[[
 
      Licensed under MIT License
-      * (c) 2013, Luke Bonham
+      * (c) 2013, Luca CPZ
       * (c) 2009, Uli Schlachter
       * (c) 2009, Majic
 
index 38b99179b78d44f6baa8fb689147e6efb4bc475a..6271fcd7d947a44779f8faa9b955e4de7f87fe9f 100644 (file)
@@ -1,7 +1,7 @@
 --[[
 
      Licensed under GNU General Public License v2
-      * (c) 2016, Luke Bonham
+      * (c) 2016, Luca CPZ
       * (c) 2015, unknown
 
 --]]
index c86af9293f373a22faceb4d89f9cdceaffaa72b7..29d3005fa46f6feb2fb0ee2a2f58c8f916533e9b 100644 (file)
@@ -1,7 +1,7 @@
 --[[
 
      Licensed under GNU General Public License v2
-      * (c) 2015, Luke Bonham
+      * (c) 2015, Luca CPZ
       * (c) 2015, plotnikovanton
 
 --]]
index 29e3a052b89dee3a82d8dee5b11423123907bd91..2d4891d29abb990aa12adea61d055d39c8f08efd 100644 (file)
@@ -1,7 +1,7 @@
 --[[
 
      Licensed under GNU General Public License v2
-      * (c) 2013, Luke Bonham
+      * (c) 2013, Luca CPZ
       * (c) 2010, Adrian C. <anrxc@sysphere.org>
 
 --]]
index 750933a1eeed49e4c490b049eb67c4fbce940782..125b992055a1ce6fe2cdd91f7d48514630da652d 100644 (file)
@@ -1,7 +1,7 @@
 --[[
 
      Licensed under GNU General Public License v2
-      * (c) 2013, Luke Bonham
+      * (c) 2013, Luca CPZ
       * (c) 2013, Rman
 
 --]]
index d48b12a6ca0f3603534400ab34bfd640886b8496..34d63e5495572749b1c6014aa6f8f74beb19de39 100644 (file)
@@ -1,7 +1,7 @@
 --[[
 
         Licensed under GNU General Public License v2
-         * (c) 2013,      Luke Bonham
+         * (c) 2013,      Luca CPZ
          * (c) 2010-2012, Peter Hofmann
 
 --]]
index 4f927b38b81bc7265b1f0425320bc002b1ed156e..84b025d5d9b5f707fecf4c0a4b551fc4bc566e20 100644 (file)
@@ -1,7 +1,7 @@
 --[[
 
      Licensed under GNU General Public License v2
-      * (c) 2013, Luke Bonham
+      * (c) 2013, Luca CPZ
 
 --]]
 
index ccc1046b0ef39121aee949c4683923d33c4f1865..9e863a528473cbb2e406d2bbf8ceaa19f209799e 100644 (file)
@@ -6,7 +6,7 @@
      Users contributed widgets section
 
      Licensed under GNU General Public License v2
-      * (c) 2013, Luke Bonham
+      * (c) 2013, Luca CPZ
 
 --]]
 
index d926e8e4b1e76981b3f1fd1f789ceb3f7ed5a6bb..e9675ef42d530b236f23148884b54bc75ac18bb4 100644 (file)
@@ -8,7 +8,7 @@
 
      Licensed under GNU General Public License v2
       * (c) 2013,      Conor Heine
-      * (c) 2013,      Luke Bonham
+      * (c) 2013,      Luca CPZ
       * (c) 2010-2012, Peter Hofmann
 
 --]]
index b6ecb9c1f4fd80cf5811eb102655beb524bb909e..6c6e77a9cde04826c9fb5bb76f3b3a3f85253c01 100644 (file)
@@ -1,7 +1,7 @@
 --[[
 
      Licensed under GNU General Public License v2
-      * (c) 2013,      Luke Bonham
+      * (c) 2013,      Luca CPZ
       * (c) 2010-2012, Peter Hofmann
 
 --]]
index 09e2ef5c95ddf54df10fdeca090b2f2cc6b40ef8..ca6fb4d90bee9cc2cd383009bfb06585e4d40632 100644 (file)
@@ -1,7 +1,7 @@
 --[[
 
      Licensed under GNU General Public License v2
-      * (c) 2013, Luke Bonham
+      * (c) 2013, Luca CPZ
 
 --]]
 
index 17f37cfefa036348120c7c2ad1355146da59a77d..7c13223e9ed5eb54dbd3eb174458abbcd191ad96 100644 (file)
@@ -1,7 +1,7 @@
 --[[
 
      Licensed under GNU General Public License v2
-      * (c) 2013, Luke Bonham
+      * (c) 2013, Luca CPZ
 
 --]]
 
index e3315d4b54571e5db6dc6bdf1cdce11dda0b99fd..57b86bb986b3c905e70a005bdb1dc30e82195765 100644 (file)
@@ -6,7 +6,7 @@
      Widgets section
 
      Licensed under GNU General Public License v2
-      * (c) 2013,      Luke Bonham
+      * (c) 2013,      Luca CPZ
       * (c) 2010-2012, Peter Hofmann
 
 --]]
index fa2c3649bcde6845614d9978fc926e6eccc0551e..3dcae2b7d9366dddfabf8da718ffe76eff85e79d 100644 (file)
@@ -1,7 +1,7 @@
 --[[
 
      Licensed under GNU General Public License v2
-      * (c) 2013,      Luke Bonham
+      * (c) 2013,      Luca CPZ
       * (c) 2010-2012, Peter Hofmann
 
 --]]
index 38c49dde8d684cf5c3ed39e9c9f1c2758357d6b9..ff451797e96924ddac126c435db7311ebdf1ef99 100644 (file)
@@ -1,7 +1,7 @@
 --[[
 
      Licensed under GNU General Public License v2
-      * (c) 2013, Luke Bonham
+      * (c) 2013, Luca CPZ
       * (c) 2010, Adrian C. <anrxc@sysphere.org>
 
 --]]
index 1780d78e86c3a609a2982793c9f1529651fecc7a..987f047ec3137da0dd15164c5ceff1dd6638ed86 100644 (file)
@@ -1,7 +1,7 @@
 --[[
 
      Licensed under GNU General Public License v2
-      * (c) 2013,      Luke Bonham
+      * (c) 2013,      Luca CPZ
       * (c) 2010-2012, Peter Hofmann
 
 --]]
index aa9d58e1bd098682d8b72493b4037b0610aa2a28..d37e83aca12e0ab0d2e537118481ae6d85183412 100644 (file)
@@ -1,7 +1,7 @@
 --[[
 
      Licensed under GNU General Public License v2
-      * (c) 2016, Luke Bonham
+      * (c) 2016, Luca CPZ
 
 --]]
 
index 7a0a3d4d9de5b0ce4288871bd3f39a1b1b790a62..78b7d49e385ea5f150b581846f82e0c1b265326a 100644 (file)
@@ -1,7 +1,7 @@
 --[[
 
      Licensed under GNU General Public License v2
-      * (c) 2013, Luke Bonham
+      * (c) 2013, Luca CPZ
       * (c) 2013, Rman
 
 --]]
index 98c0ff791e3b630eadcca90a95ad6e80d742b36d..adf3e035ba4cf5930021e561939fa3cc42761c38 100644 (file)
@@ -1,7 +1,7 @@
 --[[
 
      Licensed under GNU General Public License v2
-      * (c) 2013,      Luke Bonham
+      * (c) 2013,      Luca CPZ
       * (c) 2010-2012, Peter Hofmann
 
 --]]
index cc9f0566c279729c43cfd49e0e820b1e222919f8..3c93252b113fc9bb3463342ab44e0c3205566210 100644 (file)
@@ -1,7 +1,7 @@
 --[[
 
      Licensed under GNU General Public License v2
-      * (c) 2013, Luke Bonham
+      * (c) 2013, Luca CPZ
 
 --]]
 
index b75afc8560936fc3936559fba113ff239bb1f81f..a9b886a12f9ea3df7774595e8b96c18f00bcb45f 100644 (file)
@@ -1,7 +1,7 @@
 --[[
 
      Licensed under GNU General Public License v2
-      * (c) 2015, Luke Bonham
+      * (c) 2015, Luca CPZ
 
 --]]
 
@@ -20,7 +20,7 @@ local math, os, string, tonumber = math, os, string, tonumber
 local function factory(args)
     local weather               = { widget = wibox.widget.textbox() }
     local args                  = args or {}
-    local APPID                 = args.APPID or "3e321f9414eaedbfab34983bda77a66e" -- lain default
+    local APPID                 = args.APPID or "3e321f9414eaedbfab34983bda77a66e" -- lain's default
     local timeout               = args.timeout or 60 * 15 -- 15 min
     local timeout_forecast      = args.timeout or 60 * 60 * 24 -- 24 hrs
     local current_call          = args.current_call  or "curl -s 'http://api.openweathermap.org/data/2.5/weather?id=%s&units=%s&lang=%s&APPID=%s'"
@@ -114,22 +114,18 @@ local function factory(args)
                 local sunrise = tonumber(weather_now["sys"]["sunrise"])
                 local sunset  = tonumber(weather_now["sys"]["sunset"])
                 local icon    = weather_now["weather"][1]["icon"]
-                local loc_now = os.time()
-                local loc_m   = os.time { year = os.date("%Y"), month = os.date("%m"), day = os.date("%d"), hour = 0 }
-                local loc_t   = os.difftime(loc_now, loc_m)
-                local loc_d   = os.date("*t",  loc_now)
-                local utc_d   = os.date("!*t", loc_now)
-                local utc_now = os.time(utc_d)
-                local offdt   = (loc_d.isdst and 1 or 0) * 3600 + 100 * (loc_d.min  - utc_d.min) / 60
-                local offset  = os.difftime(loc_now, utc_now) + offdt
-                local offday  = (offset < 0 and -86400) or 86400
-
-                if math.abs(loc_now - utc_now - offdt + loc_t) >= 86400 then
-                    utc_now = utc_now + offday
-                end
-
-                if offday * (loc_now - utc_now - offdt) > 0 then
-                    sunrise = sunrise + offday
+                local loc_now = os.time() -- local time
+                local loc_m   = os.time { year = os.date("%Y"), month = os.date("%m"), day = os.date("%d"), hour = 0 } -- local time from midnight
+                local loc_d   = os.date("*t",  loc_now) -- table YMDHMS for current local time (for TZ calculation)
+                local utc_d   = os.date("!*t", loc_now) -- table YMDHMS for current UTC time
+                local utc_now = os.time(utc_d) -- UTC time now
+                local offdt   = (loc_d.isdst and 1 or 0) * 3600 + 100 * (loc_d.min  - utc_d.min) / 60 -- DST offset
+                local offset  = os.difftime(loc_now, utc_now) + (loc_d.isdst and 1 or 0) * 3600 + 100 * (loc_d.min  - utc_d.min) / 60 -- TZ offset (including DST)
+                local offday  = (offset < 0 and -86400) or 86400 -- 24 hour correction value (+86400 or -86400)
+
+                -- if current UTC time is earlier then local midnight -> positive offset (negative otherwise)
+                if offset * (loc_m - utc_now + offdt) > 0 then
+                    sunrise = sunrise + offday -- Shift sunset and sunrise times by 24 hours
                     sunset  = sunset  + offday
                 end
 
diff --git a/wiki b/wiki
index b0eb6680557d182bc0c9379d0294913f93e33a27..2859d4049cf9b96ffa8ac2c872428d730b6477c9 160000 (submodule)
--- a/wiki
+++ b/wiki
@@ -1 +1 @@
-Subproject commit b0eb6680557d182bc0c9379d0294913f93e33a27
+Subproject commit 2859d4049cf9b96ffa8ac2c872428d730b6477c9