You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I'm not so familiar with awesome but after trying to integrate a weather widget, it seems that weathre is not showing up on my wibar but no error when I relead awesome.
ani ydeas?
local awful = require("awful")
local wibox = require("wibox")
local beautiful = require("beautiful")
local xresources = require("beautiful.xresources")
local dpi = xresources.apply_dpi
local helpers = require("helpers")
local weather_widget = require("awesome-wm-widgets.weather-widget.weather")
-- Keyboard map indicator and switcher
mykeyboardlayout = awful.widget.keyboardlayout()
-- Text clock
local time = wibox.widget {
widget = wibox.container.background,
bg = beautiful.bg_normal,
buttons = {
awful.button({}, 1, function()
require "ui.popup.calender" ()
end),
},
{
widget = wibox.container.margin,
margins = 10,
{
widget = wibox.widget.textclock "%d %B - %l:%M %p",
font = beautiful.font_name .. " Bold 11",
align = "center",
},
},
}
local weather = wibox.widget {
widget = wibox.container.background,
bg = beautiful.bg_normal,
buttons = {
awful.button({}, 1, function()
require "ui.popup.calender" ()
end),
},
{
widget = wibox.container.margin,
margins = 10,
{
widget = wibox.widget.textclock "%d %B - %l:%M %p",
font = beautiful.font_name .. " Bold 11",
align = "center",
},
},
weather_widget({
api_key="ApiKey'',
coordinates = {44.5017, -73.5675},
time_format_12h = true,
units = 'metric',
both_units_widget = true,
font_name = 'Carter One',
icons = 'VitalyGorbachev',
icons_extension = '.svg',
show_hourly_forecast = true,
show_daily_forecast = true,
}),
}
helpers.add_hover_cursor(time, "hand1")
local action_icon = require("ui.gooey").make_button {
icon = "bell2",
--bg = beautiful.background,
--fg = beautiful.white,
width = 34,
margins = 6.9,
hover = true,
exec = function()
F.action.toggle()
end,
}
-- Battery
battery = require("config.battery")
battery_widget = wibox.widget.textbox()
battery_widget:set_align("right")
battery_closure = battery.closure()
function battery_update()
battery_widget:set_text(" " .. battery_closure() .. " ")
end
battery_update()
battery_timer = timer({ timeout = 15 })
battery_timer:connect_signal("timeout", battery_update)
battery_timer:start()
--
helpers.add_hover_cursor(action_icon, "hand1")
screen.connect_signal("request::desktop_decoration", function(s)
awful.tag({ " ", " ", " ", " ", " " }, s,
awful.layout.layouts[1])
-- Create a promptbox for each screen
s.mypromptbox = awful.widget.prompt()
-- Create an imagebox widget which will contain an icon indicating which layout we're using.
-- We need one layoutbox per screen.
s.mylayoutbox = awful.widget.layoutbox {
screen = s,
buttons = {
awful.button({}, 1, function() awful.layout.inc(1) end),
awful.button({}, 3, function() awful.layout.inc(-1) end),
awful.button({}, 4, function() awful.layout.inc(-1) end),
awful.button({}, 5, function() awful.layout.inc(1) end),
}
}
-- Create a taglist widget
s.mytaglist = awful.widget.taglist {
screen = s,
filter = awful.widget.taglist.filter.all,
buttons = {
awful.button({}, 1, function(t) t:view_only() end),
awful.button({ modkey }, 1, function(t)
if client.focus then
client.focus:move_to_tag(t)
end
end),
awful.button({}, 3, awful.tag.viewtoggle),
awful.button({ modkey }, 3, function(t)
if client.focus then
client.focus:toggle_tag(t)
end
end),
awful.button({}, 4, function(t) awful.tag.viewprev(t.screen) end),
awful.button({}, 5, function(t) awful.tag.viewnext(t.screen) end),
}
}
-- Create a tasklist widget
s.mytasklist = awful.widget.tasklist {
screen = s,
filter = awful.widget.tasklist.filter.currenttags,
buttons = {
awful.button({}, 1, function(c)
c:activate { context = "tasklist", action = "toggle_minimization" }
end),
awful.button({}, 3, function() awful.menu.client_list { theme = { width = 250 } } end),
awful.button({}, 4, function() awful.client.focus.byidx(-1) end),
awful.button({}, 5, function() awful.client.focus.byidx(1) end),
},
}
s.mywibar = awful.wibar({
type = "dock",
ontop = true,
stretch = false,
visible = true,
height = dpi(35),
width = dpi(1200),-- s.geometry.width,
position = "bottom",
shape = helpers.rrect(15),
-- shape = helpers.rrect(6),
screen = s,
})
-- awful.placement.bottom(s.mywibar, { margins = beautiful.useless_gap * 1 })
-- awful.placement.bottom(s.mywibar)
--{{{ Remove wibar on full screen
local function remove_wibar(c)
if c.fullscreen or c.maximized then
c.screen.mywibar.visible = false
else
c.screen.mywibar.visible = true
end
end
local function add_wibar(c)
if c.fullscreen or c.maximized then
c.screen.mywibar.visible = true
end
end
---}}}
-- Hide bar when a splash widget is visible
awesome.connect_signal("widgets::splash::visibility", function(vis)
screen.primary.mywibar.visible = not vis
end)
client.connect_signal("property::fullscreen", remove_wibar)
client.connect_signal("request::unmanage", add_wibar)
-- Create the wibox
s.mywibar:setup({
{
{
layout = wibox.layout.align.horizontal,
expand = "none",
{
s.mytaglist,
margins = dpi(2),
widget = wibox.container.margin,
},
time,
weather,
{
{
margins = dpi(9.7),
widget = wibox.container.margin,
},
battery_widget,
action_icon,
layout = wibox.layout.fixed.horizontal,
},
},
left = dpi(15),
right = dpi(15),
widget = wibox.container.margin,
},
shape = helpers.rrect(beautiful.border_radius),
widget = wibox.container.background,
})
end)
The text was updated successfully, but these errors were encountered:
I recently encountered the same issue. After investigating, it seems like the OpenWeather API has changed a lot. Here are some observations:
The OpenWeather free plan no longer provides hourly or daily forecasts. Instead it only provides a 3-hour/5-day forecast. This forecast is only accurate down to 3-hour intervals, and I had to aggregate the data client-side to get a bespoke daily forecast.
The format of the JSON responses have changed.
There is a separate API for current weather included in the free plan.
UVI data is no longer free
I have a few commits in my fork to get things working with the free plan: https://github.com/alexbox23/awesome-wm-widgets
Feel free to use it. For now I'm not submitting a PR, since it will break any users paying for the true hourly/daily forecast. Someone with the paid subscription would have to implement and test support for both free and paid APIs.
Hope this helps. Friendly ping @streetturtle in case you aren't aware :)
Hi,
I'm not so familiar with awesome but after trying to integrate a weather widget, it seems that weathre is not showing up on my wibar but no error when I relead awesome.
ani ydeas?
The text was updated successfully, but these errors were encountered: