]> git.madduck.net Git - etc/awesome.git/blobdiff - widgets/yawn/init.lua

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:

#109: catch n%0
[etc/awesome.git] / widgets / yawn / init.lua
index 033254e2cd3d6caf21854196d5a230ee6bcadd3d..1f6b0f4f2276d25dce705cf45cfdae1d996cd656 100644 (file)
@@ -13,7 +13,8 @@ local naughty      = require("naughty")
 local wibox        = require("wibox")
 
 local debug        = { getinfo = debug.getinfo }
-local io           = io
+local io           = { lines   = io.lines,
+                       open    = io.open }
 local os           = { date    = os.date,
                        getenv  = os.getenv }
 local string       = { find    = string.find,
@@ -44,9 +45,9 @@ local city_id             = nil
 local sky                 = nil
 local settings            = function() end
 
-yawn_notification_preset = {}
+yawn_notification_preset  = {}
 
-local function fetch_weather()
+function yawn.fetch_weather()
     local url = api_url .. units_set .. city_id
     local cmd = "curl --connect-timeout 1 -fsm 3 '" .. url .. "'"
 
@@ -101,10 +102,10 @@ local function fetch_weather()
         local hour = tonumber(os.date("%H"))
         sky = icon_path
 
-        if forecast == "Clear"         or
-           forecast == "Fair"          or
-           forecast == "Partly Cloudy" or
-           forecast == "Mostly Cloudy"
+        if string.find(forecast, "Clear")         or
+           string.find(forecast, "Fair")          or
+           string.find(forecast, "Partly Cloudy") or
+           string.find(forecast, "Mostly Cloudy")
            then
                if hour >= 6 and hour <= 18
                then
@@ -156,7 +157,7 @@ end
 function yawn.show(t_out)
     if yawn.widget._layout.text:match("?")
     then
-        fetch_weather(settings)
+        yawn.fetch_weather()
     end
 
     yawn.hide()
@@ -166,7 +167,6 @@ function yawn.show(t_out)
         text = weather_data,
         icon = sky,
         timeout = t_out,
-        screen = client.focus and client.focus.screen or 1
     })
 end
 
@@ -179,7 +179,7 @@ function yawn.register(id, args)
 
     city_id = id
 
-    newtimer("yawn", timeout, fetch_weather)
+    newtimer("yawn", timeout, yawn.fetch_weather)
 
     yawn.icon:connect_signal("mouse::enter", function()
         yawn.show(0)