A modern GNOME Shell RSS reader for the top bar. Follow news from your favorite RSS, Atom, and RDF feeds directly from the panel. Featuring two layout modes, desktop notifications, an unread badge, and a fully editable feed list. Features: - Classic and Minimal layout - Light and Dark themes support - Notifications Only/Widget Only/Both mode select - Notifications groups (GNOME 48+) - Accent color (GNOME 47+) - Panel unread badge, with mark as read function - Desktop notifications (lock screen optional) - Article update detection (re-notifies on changed content) - Relative timestamps - Copy URL action in notifications, or right click on article - Feed management with drag-n-drop - Per-feed mute notifications - Custom feed title and avatar - Configurable refresh and article limit - Notification limit and optional auto-cleanup on disable - Persistent read state across shell restarts - Feed aggregator for RSS, Atom, RDF and FeedBurner format - Multi-charset feed support (UTF-8, ISO-8859, etc.) Extension writes to clipboard only when the user explicitly requests to copy a feed article URL.
Note: Binary files aren't shown on the web site. To see all files, please download the extension zipfile.
EGO-A-005 manual_review
extensions should not access the clipboard directly
Direct clipboard access via `St.Clipboard.get_default()` requires reviewer scrutiny.
ui/classic/articleItem.js:62
St.Clipboard.get_default()
ui/minimal/articleItem.js:54
St.Clipboard.get_default()
ui/notificationManager.js:149
St.Clipboard.get_default()
| Version | Status |
|---|---|
| 8.1 (9) | Active |
| 8 | Rejected |
| 7 | Inactive |
| 6 | Active |
| 5 | Inactive |
| 4 | Inactive |
| 3 | Inactive |
| 2 | Inactive |
| 1 | Inactive |
Hi this release is a larger internal rework, so I write you a short overview of the new structure: - extension.js is now a thin entry point that wires the components together. - data/ contains the model layer: feed store, sources and items, polling, merge logic, persistence of read state and notification policy, all UI-independent. - parsers/ holds the feed format parsers (RSS, Atom, RDF, Feedburner) built on top of the bundled tXml. Mostly unchanged. - lib/ contains one third-party file, tXml (fast XML parser), a replacement for the old REXML parser. - ui/ is the view layer: panel indicator, Classic and Minimal menu layouts and the notification manager, it only renders what the data layer provides. - prefs/ is the preferences window split into one file per page. - icons/ and schemas/ hold the symbolic icons and the GSettings schema. Root files are small shared helpers: http.js (Soup 3 wrapper), encoder.js, misc.js, gskeys.js. User-visible behavior is mostly unchanged, the rework targets performance (parsing and rendering should no longer block the main loop) and data/UI separation.
1. While `Gio.app_info_launch_default_for_uri()` throws, you don't need to wrap it with try-catch. Even GNOME Shell doesn't use try-catch for that. 2. Timeout should be removed on destroy (line 120 `data/feedRepository.js`): [EGO Review Guidelines: Timeout](https://gjs.guide/extensions/review-guidelines/review-guidelines.html#remove-main-loop-sources)