mirror of https://github.com/lcpz/lain.git
yawn: fetch_weather local -> integrated; net: iface scope fixed
This commit is contained in:
parent
75a68eda59
commit
e07eee4618
|
@ -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)" | ' ..
|
||||||
|
|
|
@ -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)
|
||||||
|
|
|
@ -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)
|
||||||
|
|
Loading…
Reference in New Issue