eilmeldung is a TUI RSS reader based on the awesome news-flash library.
- fast in every aspect: non-blocking terminal user interface, (neo)vim-inspired keybindings, instant start-up and no clutter
- stands on the shoulder of giants: based on the news-flash library, eilmeldung supports many RSS providers, is efficient and reliable
- powerful and yet easy to use out-of-the-box: sane defaults which work for most, and yet configurable to meet anyones requirements, from keybindings to colors, from displayed content to RSS provider
- read news like a pro: filter and search news with a easy-to-learn powerful query language, activate zen mode to focus on the article content and nothing else
eilmeldung is German for breaking news
Table of Contents
Showreel
2026-02-06.15-29-58.mp4
This video demonstrates
- basic (vim-like) navigation and reading
- zen mode: just show content
- creating new tags and tagging a article
- filtering and searching article list by using a article queries
- tagging multiple articles by using an article query
Installation
Quick install:
- Homebrew:
brew tap christo-auer/eilmeldung https://github.com/christo-auer/eilmeldung && brew install eilmeldung - Arch (AUR):
paru -S eilmeldungoryay -S eilmeldung - Cargo:
cargo install --locked --git https://github.com/christo-auer/eilmeldung(you need to install build dependencies first!)
Important: You need a Nerd Font compatible font/terminal for icons to display correctly!
For detailed installation instructions including Nix/Home Manager setup, see Installation Guide.
Quick Start
- Install eilmeldung (see above)
- Run
eilmeldung- you'll be guided through the initial setup - Choose a provider (select "Local" if you're new to RSS)
- Add feeds with
c for import an OPML file with:importopml path/to/file.opml - Sync your feeds with
s - Start reading! Use
j/kto navigate up/down,h/lto navigate between panels,oto open articles in the browser,zto enjoy "zen mode"
Press ? anytime to see all available commands!
For a comprehensive getting started guide, see Getting Started.
Quick Reference
Here some key bindings to get you started.
| Key | Action |
|---|---|
? |
Show all key bindings (search with /!) |
s |
Sync all feeds |
j / k |
Move down / up |
h / l |
Move between panels (left/right) |
o |
Open article in browser, mark as read, jump to next unread |
r / u |
Mark as read / unread |
m / v |
Mark (star) / unmark article |
/ |
Search articles |
: |
Open command line |
q |
Quit |
1 / 2 / 3 |
Show all/only unread/only marked in feed list or article list |
Tip: Press ? anytime to see all available commands, and use / in the help dialog to search!
Another Tip: Navigate to the article list and use C-j/C-k to move down/up in the feed list and use M-k/M-j to scroll the article content down/up. Of course, you can remap all keys to your liking.
Documentation
Complete documentation is available in the docs/ directory:
- Getting Started Guide - Setup and first steps
- Installation Guide - Detailed installation instructions
- Key Bindings Reference - Complete keybinding reference
- Commands Reference - All available commands
- Article Queries - Powerful search and filter syntax
- Configuration Guide - Customize appearance and behavior
- Command Line Arguments - Available CLI options
- FAQ - Frequently asked questions
FAQ
Which providers are supported?
See news_flash_gtk for all supported providers.
Does eilmeldung support smart folders?
Yes! Use queries in your feed list configuration. Example:
feed_list = [ 'query: "Important Today" #important unread today', 'query: "Read Later" #readlater unread', "feeds", ]
Can I customize keybindings and colors?
Absolutely! Everything is customizable via the configuration file. See examples/default-config.toml for all options.
How do I save articles for later?
Create a tag (:tagadd readlater red), bind it to a key, and create a query in your feed list. See the FAQ for details.
Can I hide feeds/categories/tags without unread/marked articles?
Yes, focus the feed list and press 2 / 3 to show only feeds/categories/tags with unread / marked articles, show all with 1. Change the value of the configuration option feed_list_scope to either all, unread or marked to set the default value.
More questions? See the complete FAQ.
Can execute automatic operations after synchronisation/refresh?
Yes, via the option after_sync_commands configuration for some recipes.
Credits
Standing on the Shoulders of Giants
eilmeldung was inspired by other awesome programs and libraries:
- news-flash library and news-flash GTK, a modern Gnome/GTK RSS reader, both implemented in rust
- newsboat which has been me TUI RSS reader of choice for many years
- spotify-player, a TUI spotify music player written in rust. In particular, the theming system and how input is handled has been a great inspiration for eilmeldung
- vifm, neomutt with notmuch inspired the filtering and article query systems
- neovim and vim for their philosophy on user input
- ratatui and all its supporting libraries for creating the TUI
On the use of LLMs in this Project
This project was built as an experiment in learning Rust through LLM use. LLMs were used as tutors (asking questions, not providing solutions) and for documentation, but every line of code was intentionally written to solve a problem I understood.
📖 Read more about the LLM development approach in LLM Development.
Contributing
Contributions are welcome! Please feel free to:
- Report bugs or request features via GitHub Issues
- Submit pull requests
- Improve documentation
- Share your configuration examples
License
See LICENSE file for details.

