RSS reader as a Waybar custom module + HTML view — for Hyprland / Wayland compositors.
- Waybar module: Shows RSS icon with article count for a configurable time window.
- Left click: Opens
index.htmlwith all articles from the last N hours, grouped by feed. - Right click: Forces immediate refresh + HTML regeneration.
- systemd timer: Regenerates the HTML page every hour automatically.
| Feature | Description |
|---|---|
| Time window | Configurable in hours (default: 24h) |
| HTML view | Dark theme, articles with title + link + date + summary |
| Tooltip | Current headlines directly in Waybar |
| Auto-update | Hourly background regeneration via systemd timer |
| No external deps | Python 3 only (stdlib + urllib) |
| Idle blogs | If a feed has no articles in the time window, its latest article is shown anyway |
git clone https://github.com/saigkill/waybar-rss.git
cd waybar-rss
./install.shThis copies the script, installs the systemd timer, and creates the config directory.
./uninstall.shRemoves the script, config, cache, generated HTMLs, and systemd timer. You'll still need to manually clean up the Waybar config.
In ~/.config/waybar/config.jsonc:
In ~/.config/waybar/style.css:
#custom-rss.has-articles { color: #a6e3a1; }
#custom-rss.no-articles { color: #6c7086; }Restart Waybar:
omarchy restart waybar # on Omarchy
# or:
pkill waybar && waybar &~/.config/waybar-rss/config.json:
{
"hours": 24,
"html_path": "/home/sascha/.local/share/waybar-rss/index.html"
}~/.config/waybar-rss/feeds.txt:
https://news.ycombinator.com/rss
https://www.heise.de/rss/heise.rdf
# ...
waybar-rss.py generate # Regenerate HTML page
waybar-rss.py read # Output JSON for Waybar
waybar-rss.py open # Open HTML in browser| File | Purpose |
|---|---|
waybar-rss.py |
Main script — fetches feeds, outputs JSON, generates HTML |
waybar-config.jsonc |
Waybar module block snippet |
waybar-style.css |
Waybar CSS snippet |
feeds.txt |
RSS feed URL list |
config.json |
Configuration (hours, html_path) |
install.sh |
Installation script |
uninstall.sh |
Uninstall script |
MIT