X-Git-Url: https://git.madduck.net/etc/awesome.git/blobdiff_plain/6f86540f4d920706ed21ed5ecd6729791650507c..c580e13015554a32dbc93173b5b40dd1dec1ea78:/widgets/yawn/init.lua?ds=inline diff --git a/widgets/yawn/init.lua b/widgets/yawn/init.lua index 7ab76fe..86a2d0f 100644 --- a/widgets/yawn/init.lua +++ b/widgets/yawn/init.lua @@ -1,3 +1,4 @@ + --[[ Licensed under GNU General Public License v2 @@ -46,8 +47,7 @@ yawn_notification_preset = {} local function fetch_weather() local url = api_url .. units_set .. city_id - local f = io.popen("curl --connect-timeout 1 -fsm 1 '" - .. url .. "'" ) + local f = io.popen("curl --connect-timeout 1 -fsm 3 '" .. url .. "'" ) local text = f:read("*all") f:close() @@ -58,12 +58,12 @@ local function fetch_weather() yawn.icon:set_image(icon_path .. "na.png") if text == "" then weather_data = "Service not available at the moment." - yawn.widget:set_text("N/A") + yawn.widget:set_text(" N/A ") else weather_data = "City not found!\n" .. "Are you sure " .. city_id .. " is your Yahoo city ID?" - yawn.widget:set_text("?") + yawn.widget:set_text(" ? ") end return end @@ -75,7 +75,7 @@ local function fetch_weather() -- may still happens in case of bad connectivity if weather_data == "" then yawn.icon:set_image(icon_path .. "na.png") - yawn.widget:set_text("?") + yawn.widget:set_text(" ? ") return end @@ -135,7 +135,8 @@ local function fetch_weather() yawn.icon:set_image(sky) widget = yawn.widget - forecast = weather_data:match(": %S.-,"):gsub(": ", ""):gsub(",", "") + _data = weather_data:match(": %S.-,") or weather_data + forecast = _data:gsub(": ", ""):gsub(",", "") units = units:gsub(" ", "") settings() @@ -149,7 +150,7 @@ function yawn.hide() end function yawn.show(t_out) - if yawn.widget._layout.text == "?" + if yawn.widget._layout.text:match("?") then fetch_weather(settings) end