Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/relikd/baRSS
Menu Bar RSS reader for macOS
https://github.com/relikd/baRSS
atom feed macos menu-bar rss rss-reader
Last synced: 26 days ago
JSON representation
Menu Bar RSS reader for macOS
- Host: GitHub
- URL: https://github.com/relikd/baRSS
- Owner: relikd
- License: mit
- Created: 2018-09-26T12:10:44.000Z (about 6 years ago)
- Default Branch: main
- Last Pushed: 2023-10-12T23:16:33.000Z (about 1 year ago)
- Last Synced: 2024-11-08T09:08:07.300Z (about 1 month ago)
- Topics: atom, feed, macos, menu-bar, rss, rss-reader
- Language: Objective-C
- Homepage:
- Size: 878 KB
- Stars: 126
- Watchers: 6
- Forks: 5
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
- Mac-Menubar-Megalist - baRSS
README
[![macOS 10.12+](https://img.shields.io/badge/macOS-10.12+-888)](#download--install)
[![Current release](https://img.shields.io/github/release/relikd/baRSS)](https://github.com/relikd/baRSS/releases)
[![All downloads](https://img.shields.io/github/downloads/relikd/baRSS/total)](https://github.com/relikd/baRSS/releases)
[![GitHub license](https://img.shields.io/github/license/relikd/baRSS)](LICENSE)baRSS – *Menu Bar RSS Reader*
=============================![screenshot](screenshot.png)
What is it?
-----------A RSS & Atom feed reader that lives in the system status bar.
Very much inspired by [RSS Menu](https://itunes.apple.com/us/app/rss-menu/id423069534); go ahead and check that out.*baRSS* will automatically update feeds for you, and inform you when new content is available.
The new articles are just a menu away.### Features
*baRSS* is unobtrusive, fast, and built from scratch with minimal footprint in mind.
The application uses less than 30 Mb memory and has a ridiculous file size of 1 Mb.Speaking of reducing web traffic.
In contrast to other applications, *baRSS* does not save any cached web sessions or cookies as a matter of fact.
But it will reuse `ETag` and `Last-Modified` headers to avoid unnecessary transmissions.
Further, tuning the update frequently will decrease the traffic even more.Download & Install
------------------Requires macOS Sierra (10.12) or higher.
### Easy way
Go to [releases](https://github.com/relikd/baRSS/releases) and downloaded the latest version.
Searching for the App Store release? Read this [notice](#app-store-notice).### Build from source
You'll need Xcode, [RSXML2] \(required), and [QLOPML] \(optional).```sh
git clone https://github.com/relikd/baRSS
git clone https://github.com/relikd/RSXML2
git clone https://github.com/relikd/QLOPML
```Alternatively, you can simply delete the `QLOPML` project reference without much harm.
`QLOPML` is a Quick Look plugin for `.opml` files.
It will display the file contents whenever you hit spacebar.That's it.
Open `baRSS/baRSS.xcodeproj` and build the project.
Note, there are some compiler flags that append 'beta' to the development release.
If you prefer the optimized release version go to `Product > Archive`.Hidden options
--------------### Launch on start / reboot
baRSS has no option to launch it on start.
However, you can still add the application to auto boot by adding it to the system login items:`System Preferences > User > Login Items`
### CLI options
The following options have no UI equivalent and must be configured in Terminal.
Most likely, you will never stumble upon these if not reading this chapter.
**Note:** To reset an option run `defaults delete de.relikd.baRSS {KEY}`, where `{KEY}` is an option from below.1. If you hold down the option key and click on an article item, you can mark a single item (un-)read without opening it.
2. When holding down the option key, the menu will show an item to open only a few unread items at a time.
This number can be changed with the following Terminal command (default: 10):
```
defaults write de.relikd.baRSS openFewLinksLimit -int 10
```3. In preferences you can choose to show 'Short article names'.
This will limit the number of displayed characters to 60 (default).
With this Terminal command you can customize this limit:
```
defaults write de.relikd.baRSS shortArticleNamesLimit -int 50
```4. Limit the number of displayed articles per feed menu.
**Note:** displayed unread count may be different than the unread items inside. 'Open all unread' will open hidden items too.
```
defaults write de.relikd.baRSS articlesInMenuLimit -int 40
```5. You can change the appearance of colors throughout the application.
E.g., The tint color of the menu bar icon and the color of the blue unread articles dot.
```
defaults write de.relikd.baRSS colorStatusIconTint -string "#37F"
defaults write de.relikd.baRSS colorUnreadIndicator -string "#FBA33A"
```6. To backup your list of subscribed feeds, here is a one-liner:
```
open barss:backup && cp "$HOME/Library/Containers/de.relikd.baRSS/Data/Library/Application Support/baRSS/backup/feeds_latest.opml" "$HOME/Desktop/baRSS_backup_$(date "+%Y-%m-%d").opml"
```ToDo
----The following list is a collection of ideas that may be added if people request it.
- [ ] Localizations
- [ ] Feed generator for websites without feeds
- [ ] Automatically choose best update interval (e.g., avg)
- [ ] Sync with online services
- [ ] Feeds with authentication
- [ ] Notification Center
- [ ] Distraction Mode
- [ ] Distract less: Sleep timer. (e.g., disable updates during working hours)
- [ ] Distract more: Automatically open feed items
- [ ] Add support for media types
- [ ] music / video? (open media player)
- [ ] Pure image feed? (show images directly in menu)
- [ ] Per feed / group settings
- [ ] select launch application (e.g., for podcasts)
- [ ] exclude unread count from menu bar (e.g., unimportant feeds)
- [ ] ~~Infinite storage. (load more button)~~FAQ / Q&A
---------### App Store Notice
If you find this app somewhere on the App Store, you can be sure that it is a counterfeit.
As long as you can read this very notice, I am not responsible for the publication.
Further, I can't guarantee the App Store version wasn't modified by a malicious actor to spy on you.### Why create something that already existed?
First, open source is awesome!
Second, RSS Menu made some design decisions I didn't like.
For example, the new integrated browser window.One thing I liked most, was the fact that feeds were opened in the default browser.
Not like 99% of the other feed readers on the market that show a separate HTML viewer window.
No rendering issues, no broken links, no content that is different from the actual news article.I know, the whole purpose of RSS is to deliver content without the need of opening a webpage.
But for me RSS is more about being informed whenever a blog or news feed has updated content.
E.g, subscribing to video channels without having to have an account.### Why is this project not written in Swift?!
Actually, I started this project with Swift.
Even without adding much functionality, the app was exceeding the 10 Mb file size.
The working alpha version, written in Objective-C, had only 500 Kb.
The reason being that Swift frameworks are always packed into the final application.Sadly, this was before Swift 5 and ABI stability.
Had I only started the project a year later…
But on the other hand, now it is macOS 10.12 compatible.### 3rd Party Libraries
This project uses a modified version of Brent Simmons' [RSXML] for feed parsing.
[RSXML2] is licensed under a MIT license (same as this project).##### Trivia
- Start of project: __July 19, 2018__
- Estimated development time: __1970h+__
- First prototype used __feedparser python__ library[QLOPML]: https://github.com/relikd/QLOPML
[RSXML2]: https://github.com/relikd/RSXML2
[RSXML]: https://github.com/brentsimmons/RSXML