mirror of snownews
Go to file
Mike Sharov b3af85e163 Move project to Sourceforge 2022-09-16 14:21:19 -04:00
man Remove obsolete stuff in docs/ 2021-09-22 19:54:51 -04:00
po Correct be@latin.po locale filename to be.po 2021-11-18 17:52:56 -05:00
.gitignore Improve build system 2021-04-08 10:47:09 -04:00
Config.mk.in Stop setting CFLAGS in Config.mk 2022-02-11 12:40:17 -05:00
LICENSE.md Accept repository transfer 2021-04-08 12:43:07 -04:00
Makefile Store feed list as OPML 2021-04-11 17:36:45 -04:00
README.md Move project to Sourceforge 2022-09-16 14:21:19 -04:00
about.c Update localization string use and data 2021-10-25 13:46:37 -04:00
about.h Merge support.c into about.c. This fixes #17. 2018-04-30 10:00:21 -04:00
cat.c Shorten source filenames 2021-04-11 13:16:08 -04:00
cat.h Shorten source filenames 2021-04-11 13:16:08 -04:00
config.h.in Move configuration and cache to XDG dirs 2021-04-11 14:16:53 -04:00
configure Treat misconfigured pkg-config as no pkg-config 2022-05-17 10:01:40 -04:00
conv.c Update localization string use and data 2021-10-25 13:46:37 -04:00
conv.h Rewrite the text wrapping code 2021-10-02 18:17:22 -04:00
dialog.c Support local file urls 2022-02-14 09:41:55 -05:00
dialog.h Run code through indent 2021-04-09 17:56:41 -04:00
feedio.c Print downloading feed status 2022-05-15 13:20:20 -04:00
feedio.h Add AddFeedToList 2021-05-29 15:30:47 -04:00
filters.c Shorten source filenames 2021-04-11 13:16:08 -04:00
filters.h Run code through indent 2021-04-09 17:56:41 -04:00
main.c Update localization string use and data 2021-10-25 13:46:37 -04:00
main.h Update localization string use and data 2021-10-25 13:46:37 -04:00
netio.c Store feed list as OPML 2021-04-11 17:36:45 -04:00
netio.h Use libcurl to download feeds 2021-04-10 18:43:09 -04:00
parse.c Update localization string use and data 2021-10-25 13:46:37 -04:00
parse.h Store feed list as OPML 2021-04-11 17:36:45 -04:00
setup.c Update localization string use and data 2021-10-25 13:46:37 -04:00
setup.h Move configuration and cache to XDG dirs 2021-04-11 14:16:53 -04:00
ui.c Use plain bold for unread items 2022-05-16 17:24:45 -04:00
ui.h Shorten source filenames 2021-04-11 13:16:08 -04:00
uiutil.c Sort smartfeeds by date 2022-08-03 11:09:40 -04:00
uiutil.h Rewrite the text wrapping code 2021-10-02 18:17:22 -04:00

README.md

Snownews

Snownews is a console RSS/Atom feed reader for Linux and other unix platforms, originally written by Oliver Feiler.

Moved

Current development has moved to Sourceforge: https://sourceforge.net/p/snownews. All releases after 1.9 will occur only there.

Building

You will need ncurses, libcurl, libxml2, openssl, and gettext, all of which are likely to be already installed on your distribution. Once you have the dependencies installed:

./configure --prefix=/usr
make install
snownews

Using

Feeds

The main program screen, that is shown right after you start snownews, lets you add/remove feeds and update them manually. On the right side of the screen the number of new items is shown for every newsfeed. To add a feed press 'a' and enter the http or https URL. To delete a listed feed highlight it with the cursor keys and press 'D'.

If you already use another RSS reader, you can import the feed list into snownews by exporting it from your old reader in OPML format. snownews stores its feed list directly in OPML, in ~/.config/snownews/urls.opml. You can either copy over it, or merge the 'outline' items from another list.

Once you have your list of feeds, press 'R' to load them all. 'r' will reload the selected feed. Select a feed with 'jk' or arrow keys, and press 'Enter' to view it. 'q' to return to feed list. With a feed item selected, press 'o' to read it in a browser or 'Enter' to read the short description. Learn other operations by pressing 'h'.

Browser

The default browser is lynx, but you can change this by pressing 'B' or by directly editing ~/.config/snownews/browser. The program replaces %s with the URL when expanding the string.

Typeahead

For faster navigation in your feedlist you can use snownews Type Ahead Find feature. Press the 'Tab' key and the statusline will change into a text entry field. While you enter the text you want to search for, highlight will be automatically placed on items as they match. If you have selected an item just press enter to open the feed. If there are multiple items matching you can switch between them by pressing 'Tab'. To quit Type Ahead delete the search text or press 'Ctrl+G'.

Categories

Snownews uses categories to manage large subscription lists. You can define as many categories for a feed as you like. You can then apply a filter in the main menu that will only show feeds that have a matching category defined. Feeds with a category will have it printed next to their name in the main menu.

To add or remove a feed from a category, press 'C' while the feed is highlighted. If you already have defined categories for other feeds you'll get a list of the existing categories. Just press its number to add the current feed to this category. To add the feed to a new category, press 'A' and enter the name of the new category. If you want to remove a feed from a category, press its number in the feed categorization GUI. You can see all defined categories for a feed in the feed info.

Keybindings

You can customize the keybindings by editing the file ~/.config/snownews/keybindings. The format is "function description:key". Do not change the string "function description". The single character behind the colon represents the key the program will associate with the corresponding function. If you delete a definition or the program cannot parse the file for some reason the default settings will be used instead.

Colors

If you prefer to see the world in colors, configure them by editing ~/.config/snownews/colors. To globally enable colors in the program, set enabled to "1". To set a color, use the color key value that is listed in the comment in that file. You can disable usage for single items by using the value "-1".

HTTP authentication

To subscribe to a feed that requires authentication, use URL format http://username:password@server/feed.rss. You can use cookies to supply log in information to a webserver. Put the cookies you want Snownews to use into the file ~/.config/snownews/cookies. The file has to be in standard Netscape cookies.txt file format. Mozilla uses this format for example. Snownews will automatically send the right cookies to the right webserver. You can also just place a symlink to your browser's cookie file, but it is not recommended. If a cookie is expired, Snownews will print a warning on program start and not use the cookie. If a cookie is marked as secure (only to be used via an SSL secured connection) Snownews will also discard the cookie.

Execurls and filters

Execurls are scripts that produce a valid RSS file by themselves. You can add one by using the exec: prefix to a feed: exec:wget -q https://feed.com/rss

Filters convert a resource after it is downloaded. You might subscribe to an URL that is a webpage or a non-RSS feed. If snownews asks you if you want to use a filter, because it couldn't parse the resource, enter the location of your script. You can also add filters to exisiting subscriptions by highlighting the feed and pressing 'e'.

Reporting bugs

If you think you found a bug in Snownews, please report it. Anything that makes the program crash, regardless what you're doing is a bug and needs to be fixed. Report problems on the project bugtracker.