snownews [-huV] [--help|--update|--version]
Snownews is a console RSS/RDF news reader. It supports all versions of RSS natively and can be expanded via plugins to support many other other formats.
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 URL. This can be either a http:// or a feed:// URL. If you omit the protocol specifier snownews asumes the HTTP protocol. To delete a listed feed highlight it with the cursor keys and press 'D'. A dialog will ask for confirmation.
You can navigate through the main menu with up and down arrow keys or with 'n' and 'p'. The keys page up/page down, b/space and HOME/END, </> will scroll a page up or down and to the first or last entry respectively. Pressing 'r' reloads the highlighted feed from the server, 'R' updates all feeds in your list and 'T' refreshes the feed ignoring any cache control data. That means, even if the feed has not been modified on the server, Snownews will still download the file.
The program will not sort this list alphabetically by default. You can move items up and down by pressing 'P' and 'N'. To sort the feed list alphabetically, press 's'.
If you highlight a feed and hit Enter the program will display every item for this feed. Navigation in all sub menus works as usual. If you press 'r' the program will reload the current feed. Items may vanish from the list completely and new newsitems will appear bold or in colour.
Select an item and hit Enter to read its description. If there is none attached to it the text "No description available." will be displayed instead. You can use the arrow keys left and right, repectively 'p' and 'n' to select the previous or next newsitem in the list. Pressing 'o' will open the link (usually the complete news text) in the browser.
The default browser is lynx, but you can change this by pressing 'B' in the main menu and entering a new default browser. Or you can edit the file ~/.snownews/browser. The program replaces %s with the URL when expanding the string.
You can rename a feed by pressing the key 'c' and entering its new name. To reset its name to the original title enter '-' in this textfield.
A context help window is available everytime by pressing 'h'.
Type Ahead Find
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
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 in the main menu. 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, just press its number in the feed categorization GUI.
You can see all defined categories for a feed in the feed info.
You can customize the keybindings by editing the file ~/.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.
If you prefer to see the world in colours you can enable (and configure) colour support in Snownews. Edit the file ~/.snownews/colors. To globally enable colours in the program, set enabled to "1". To set a colour, use the colour key value that is listed in the comment in that file. You can disable usage for single items by using the value "-1".
Snownews will try to convert HTML content into plain text before displaying the text. Tags will be stripped alltogether and some common HTML entities will be translated. By default only the five entities defined in XML (< (<), > (>), & (&), " (") and ' (')) plus a default setting included will be translated. You can influence this behaviour with the definition file at ~/.snownews/html_entities. See the comments on top of the file for further details.
Importing/exporting subscriptions from other programs:
Snownews can import opml subscription files from other RSS readers into its own format with the included program "opml2snow". To convert an opml subscription file type "opml2snow MySubsriptions.opml" with MySubscriptions.opml being the name of the file you want to convert. The program will print the converted data to stdout. Use "opml2snow file.opml >converted" to put the converted data into the file "converted" or "opml2snow file.opml >>~/.snownews/urls" to append it to snownews' subscription list.
You can also export snownews' internal format to an OPML file with "opml2snow --export".
See "opml2snow -h" or its manpage for more usage examples.
HTTP client features
Snownews' HTTP client will follow HTTP server redirects. If the URL you have entered points to a permanent redirect it will update the internal URL to reflect the new location. Requests will be automatically sent to the new location from now on.
If you need to use a proxy server to access the internet, set the environment variable "http_proxy". Snownews expects this variable to be in the format http://your_proxy.org:PORT/ (http://proxy.your_isp.com:8080/).
Snownews has a plugin architecture that allows to load feeds from external scripts or pipe downloaded contents through a filter. Such a filter could be an Atom to RSS converter for example. The snownews website has a section with publically available extensions. See http://snownews.kcore.de/snowscripts/.
There are two types of filters: execurls and filters.
Execurls are scripts that produce a valid RSS file by themselves. You can add such extensions by subscribing to a feed "exec:/path/to/extension".
Filters convert a downloaded resource on the fly. You usually 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' in the main menu.
For further documentation about this feature, please visit the website http://snownews.kcore.de/snowscripts/.
Snownews is released under the GNU General Public License version 2.
- --charset or -l,
- Force using this charset. Snownews tries to guess the correct charset of your terminal, but if fails, this option can be used to force using a specific one.
- --cursor-on or -c,
- Always display the cursor on the screen.
- --update or -u,
- Automatically update all subscribed feeds when the application starts.
- --help or -h,
- Show usage summary and available command line options and exit.
- --version or -V,
- Print program version and exit.
Snownews will access the internet through the proxy server set in this variable. The expected format is http://your_proxy.org:PORT/.
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. XML parsing errors are probably not fixable in Snownews since libxml is responsible for parsing a document's XML. Though you can report problematic feeds anyway, it may be a bug in Snownews.
Please read http://kiza.kcore.de/software/snownews/faq#toc4 before you report a bug.
Oliver Feiler <firstname.lastname@example.org>