Your agenda in the status bar
Goal: your next events in i3status-rs or Waybar (Omarchy's bar), with nothing but curl.
- Make a view for the bar. In the console, create a view like "next 24 hours, max 3 events" and click Create feed URL. Copy the URL.
- Try it in a terminal:
curl https://calfeed.io/v1/feed/<your-slug>.txt
The.txtending returns one event per line, already formatted in the view's timezone. Without it you get JSON. - Grab the bar script from the repo's
clients/calfeed-bar.sh— it prints the first upcoming event, or Waybar-module JSON with the full list as a tooltip, and degrades tocal: offlineinstead of breaking your bar.
i3status-rs
[[block]] block = "custom" command = "/path/to/calfeed-bar.sh https://calfeed.io/v1/feed/<slug>" interval = 60
A native calfeed block (no script; colours events by
far / upcoming / running; several views with right-click to cycle and
left-click to step through events; $titles lists
overlapping events as Doctor | School run | +1) lives on
the calfeed-block branch of
cfsmp3/regolith-i3status-rust
until it is upstreamed:
[[block]] block = "calfeed" url = "https://calfeed.io/v1/feed/<slug>"
Waybar (Omarchy and any Hyprland setup)
"custom/calfeed": {
"exec": "/path/to/calfeed-bar.sh https://calfeed.io/v1/feed/<slug> waybar",
"return-type": "json",
"interval": 60
}
Add "custom/calfeed" to your modules list. Feeds are
cached for 60 seconds, so a 60-second interval is the useful floor.
Locking it down: in the feed's restrictions you can pin the
URL to your home IP range or require a secret header — the script
works with both (curl -H in a small wrapper).