yawn: fetch_weather local -> integrated; net: iface scope fixed

This commit is contained in:
luke bonham 2014-11-15 13:21:22 +01:00 committed by copycat-killer
parent 75a68eda59
commit e07eee4618
3 changed files with 9 additions and 8 deletions

View File

@ -11,9 +11,9 @@
-- ...asynchronously: -- ...asynchronously:
-- asyncshell.request('wscript -Kiev', function(f) wwidget.text = f:read("*l") end) -- asyncshell.request('wscript -Kiev', function(f) wwidget.text = f:read("*l") end)
-- ...synchronously -- ...synchronously
-- wwidget.text = asyncshell.demand('wscript -Kiev', 5):read("*l") or "Error" -- widget:set_text(asyncshell.demand('wscript -Kiev', 5):read("*l") or "Error")
-- This makes things faster, but puts weight on sysload and is more cpu demanding. -- This is more cpu demanding, but makes things faster.
local spawn = require('awful.util').spawn local spawn = require('awful.util').spawn
@ -39,7 +39,7 @@ end
function asyncshell.request(command, callback) function asyncshell.request(command, callback)
local id = next_id() local id = next_id()
local tmpfname = asyncshell.file_template .. id local tmpfname = asyncshell.file_template .. id
asyncshell.request_table[id] = {callback = callback} asyncshell.request_table[id] = { callback = callback }
local req = local req =
string.format("sh -c '%s > %s; " .. string.format("sh -c '%s > %s; " ..
'echo "asyncshell.deliver(%s)" | ' .. 'echo "asyncshell.deliver(%s)" | ' ..

View File

@ -42,12 +42,13 @@ end
local function worker(args) local function worker(args)
local args = args or {} local args = args or {}
local timeout = args.timeout or 2 local timeout = args.timeout or 2
local iface = args.iface or net.get_device()
local units = args.units or 1024 --kb local units = args.units or 1024 --kb
local notify = args.notify or "on" local notify = args.notify or "on"
local screen = args.screen or 1 local screen = args.screen or 1
local settings = args.settings or function() end local settings = args.settings or function() end
iface = args.iface or net.get_device()
net.widget = wibox.widget.textbox('') net.widget = wibox.widget.textbox('')
helpers.set_map(iface, true) helpers.set_map(iface, true)

View File

@ -47,7 +47,7 @@ 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 url = api_url .. units_set .. city_id
local cmd = "curl --connect-timeout 1 -fsm 3 '" .. url .. "'" local cmd = "curl --connect-timeout 1 -fsm 3 '" .. url .. "'"
@ -157,7 +157,7 @@ end
function yawn.show(t_out) function yawn.show(t_out)
if yawn.widget._layout.text:match("?") if yawn.widget._layout.text:match("?")
then then
fetch_weather(settings) yawn.fetch_weather()
end end
yawn.hide() yawn.hide()
@ -179,7 +179,7 @@ function yawn.register(id, args)
city_id = id city_id = id
newtimer("yawn", timeout, fetch_weather) newtimer("yawn", timeout, yawn.fetch_weather)
yawn.icon:connect_signal("mouse::enter", function() yawn.icon:connect_signal("mouse::enter", function()
yawn.show(0) yawn.show(0)