weather: add plugin

This plugin fetches weather information in the same fashion as
Xmobar's Weather plugin. It fetches from NOAA's website (by default)
using their standard format for reporting data from weather stations
around the world.

Also enable in CI.

TODO:

Fill out the example configuration in the docfile.
This commit is contained in:
Ben Boeckel 2025-02-08 19:16:08 +01:00
parent 082ab41598
commit 11f7f38a3c
12 changed files with 1187 additions and 0 deletions

View file

@ -60,6 +60,9 @@ plugin_xkb_enabled = backend_x11 and xcb_xkb.found()
plugin_xwindow_enabled = backend_x11 and get_option('plugin-xwindow').allowed()
curl = dependency('libcurl', required: get_option('plugin-weather'))
plugin_weather_enabled = curl.found() and get_option('plugin-weather').allowed()
# Module name -> (source-list, dep-list)
mod_data = {}
@ -144,6 +147,14 @@ if plugin_niri_workspaces_enabled
mod_data += {'niri-workspaces': [['niri-common.c', 'niri-common.h'], [dynlist, json_niri_workspaces]]}
endif
if plugin_weather_enabled
mod_data += {'weather': [['weather-parse.c'], [curl]]}
e = executable('test-weather', ['test-weather.c', 'weather-parse.c'],
dependencies: [pixman, fcft, tllist, curl])
test('module-weather', e)
endif
if plugin_xkb_enabled
mod_data += {'xkb': [[], [xcb_stuff, xcb_xkb]]}
endif