GitHub - christo-auer/eilmeldung: eilmeldung is a TUI RSS reader based on the awesome news-flash library.

5 min read Original article ↗

Logo of eilmeldung

Screenshot of eilmeldung

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 eilmeldung or yay -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

  1. Install eilmeldung (see above)
  2. Run eilmeldung - you'll be guided through the initial setup
  3. Choose a provider (select "Local" if you're new to RSS)
  4. Add feeds with c f or import an OPML file with :importopml path/to/file.opml
  5. Sync your feeds with s
  6. Start reading! Use j/k to navigate up/down, h/l to navigate between panels, o to open articles in the browser, z to 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:


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.