NEWSBOAT(1)

NAME
newsboat - an RSS/Atom feed reader for text terminals

SYNOPSIS

newsboat [-r] [-e] [-i opmlfile] [-u urlfile] [-c cachefile] [-C configfile] [-X] [-o] [-x <command> ...] [-h]

DESCRIPTION

newsboat is an RSS/Atom feed reader for text terminals. RSS and Atom are a number of widely-used XML formats to transmit, publish and syndicate articles, for example news or blog articles. Newsboat is designed to be used on text terminals on Unix or Unix-like systems such as GNU/Linux, BSD or Mac OS X.

OPTIONS

-h, --help
    Display help

-r, --refresh-on-start
    Refresh feeds on start

-e, --export-to-opml
    Export feeds as OPML to stdout

-X, --vacuum
    Compact the cache by: 1) reclaiming the space that was left empty when data was deleted; and 2) defragmenting the entries in the cache. This doesn’t delete the entries; for that, see cleanup-on-quit, delete-read-articles-on-quit, keep-articles-days, and max-items settings.

-v, -V, --version
    Get version information about newsboat and the libraries it uses

-i opmlfile, --import-from-opml=opmlfile
    Import an OPML file

-u urlfile, --url-file=urlfile
    Use an alternative URL file

-c cachefile, --cache-file=cachefile
    Use an alternative cache file

-C configfile, --config-file=configfile
    Use an alternative configuration file

-x command ..., --execute=command...
    Execute one or more commands to run newsboat unattended. Currently available commands are "reload" and "print-unread".

-l loglevel, --log-level=loglevel
    Generate a logfile with a certain loglevel. Valid loglevels are 1 to 6. An actual logfile will only be written when you provide a logfile name.

-d logfile, --log-file=logfile
    Use this logfile as output when logging debug messages. Please note that this only works when providing a loglevel.

-E file, --export-to-file=file
    Export a list of read articles (resp. their GUIDs). This can be used to transfer information about read articles between different computers.

-I file, --import-from-file=file
    Import a list of read articles and mark them as read if they are held in the cache. This is to be used in conjunction with the -E commandline parameter.

FIRST STEPS

After you’ve installed newsboat, you can run it for the first time by typing newsboat on your command prompt. This will bring you the following message:

    Error: no URLs configured. Please fill the file /home/ak/.newsboat/urls with RSS feed URLs or import an OPML file.

    newsboat 2.10
    usage: ./newsboat [-i <file>|-e] [-u <urlfile>] [-c <cachefile>] [-x <command> ...] [-h]
            -e, --export-to-opml            export OPML feed to stdout
            -r, --refresh-on-start          refresh feeds on start
            -i, --import-from-opml=<file>   import OPML file
            -u, --url-file=<urlfile>        read RSS feed URLs from <urlfile>
            -c, --cache-file=<cachefile>    use <cachefile> as cache file
            -C, --config-file=<configfile>  read configuration from <configfile>
            -X, --vacuum                    compact the cache
            -x, --execute=<command>...      execute list of commands
            -q, --quiet                     quiet startup
            -v, --version                   get version information
            -l, --log-level=<loglevel>      write a log with a certain loglevel (valid values: 1 to 6)
            -d, --log-file=<logfile>        use <logfile> as output log file
            -E, --export-to-file=<file>     export list of read articles to <file>
            -I, --import-from-file=<file>   import list of read articles from <file>
            -h, --help                      this help

This means that newsboat can’t start without any configured feeds. To add feeds to newsboat, you can either add URLs to the configuration file $HOME/.newsboat/urls or you can import an OPML file by running newsboat -i blogroll.opml. To manually add URLs, open the file with your favorite text editor and add the URLs, one per line:

    http://rss.cnn.com/rss/cnn_topstories.rss
    http://newsrss.bbc.co.uk/rss/newsonline_world_edition/front_page/rss.xml

If you need to add URLs that have restricted access via username/password, simply provide the username/password in the following way:

    http://username:password@hostname.domain.tld/feed.rss

In order to protect username and password, make sure that $HOME/.newsboat/urls is only readable by you and, optionally, your group:

    $ chmod u=rw,g=r,o= ~/.newsboat/urls

Newsboat also makes sure that usernames and passwords within URLs aren’t displayed in its user interface. In case there is a @ in the username, you need to write it as %40 instead so that it can be distinguished from the @ that separates the username/password part from the hostname part.

You can also configure local files as feeds, by prefixing the local path with file:// and adding it to the $HOME/.newsboat/urls file:

    file:///var/log/rss_eventlog.xml

Now you can run newsboat again, and it will present you with a controllable list of the URLs that you configured previously. You can now start downloading the feeds, either by pressing "R" to download all feeds, or by pressing "r" to download the currently selected feed. You can then select a feed you want to read, and by pressing "Enter", you can go to the article list for this feed. This works even while the downloading is still in progress.

You can now see the list of available articles by their title. A "N" on the left indicates that an article wasn’t read yet. Pressing "Enter" brings you to the content of the article. You can scroll through this text, and also run a browser (default: lynx) to view the complete article if the content is empty or just an abstract or a short description. Each URL in the article has a number next to it; to open it, type # and then the number, then press "Enter". For single-digit links, like 3, you can just press that number on the keyboard.

Pressing "q" brings you back to the article list, and pressing "q" again brings you back to the feed list. Pressing "q" a third time then closes newsboat.

Newsboat caches the article that it downloads. This means that when you start newsboat again and reload a feed, the old articles can still be read even if they aren’t in the current RSS feeds anymore. Optionally you can configure how many articles shall be preserved by feed so that the article backlog doesn’t grow endlessly (see max-items below).

Newsboat also uses a number of measures to preserve the users' and feed providers' bandwidth, by trying to avoid unnecessary feed downloads through the use of conditional HTTP downloading. It saves every feed’s "Last-Modified" and "ETag" response header values (if present) and advises the feed’s HTTP server to only send data if the feed has been updated by modification date/time or "ETag" header. This doesn’t only make feed downloads for RSS feeds with no new updates faster, it also reduces the amount of transferred data per request. Conditional HTTP downloading can be optionally disabled per feed by using the always-download configuration command.

Several aspects of newsboat’s behaviour can be configured via a configuration file, by default $HOME/.newsboat/config. This configuration file contains lines in the form <config-command> <arg1> .... The configuration file can also contain comments, which start with the # character and go as far as the end of line. If you need to enter a configuration argument that contains spaces, use quotes (") around the whole argument. It’s even possible to integrate the output of external commands into the configuration. The text between two backticks (`) is evaluated as shell command, and its output is put on its place instead. This works like backtick evaluation in Bourne-compatible shells and allows users to use external information from the system within the configuration. Backticks and # characters can be escaped with a backslash (e.g. \` and \#); in that case, they’ll be replaced with literal ` or # in the configuration.

Searching for articles is possible in newsboat, too. Just press the "/" key, enter your search phrase, and the title and content of all articles are searched for it. When you do a search from the list of feeds, all articles of all feeds will be searched. When you do a search from the article list of a feed, only the articles of the currently viewed feed are searched. When opening an article from a search result dialog, the search phrase is highlighted.

The history of all your searches is saved to the filesystem, to ~/.newsboat/history.search. By default, the last 100 search phrases are stored, but this limited can be influenced through the history-limit configuration variable. To disable search history saving, simply set the history-limit to 0.

CONFIGURATION COMMANDS

always-display-description (parameters: [yes/no]; default value: no)
    If set to yes, then the description will always be displayed even if e.g. a <content:encoded> tag has been found. (example: always-display-description yes)

always-download (parameters: <url> [<url>]; default value: n/a)
    The parameters of this configuration command are one or more RSS URLs. These URLs will always get downloaded, regardless of their Last-Modified timestamp and ETag header. (example: always-download "http://www.n-tv.de/23.rss")

article-sort-order (parameters: <sortfield>[-<direction>]; default value: date)
    The <sortfield> specifies which article property shall be used for sorting, currently available are: date, title, flags, author, link, guid and random. The optional <direction> specifies the sort direction. asc specifies ascending sorting, desc specifies descending sorting. Note that direction does not affect random sort order. For date, desc is default, for all others, asc is default. (example: article-sort-order author-desc)

articlelist-format (parameters: <format>; default value: "%4i %f %D %6L %?T?|%-17T| ?%t")
    This variable defines the format of entries in the article list. See the respective section in the documentation for more information on format strings. (example: articlelist-format "%4i %f %D %?T?|%-17T| ?%t")

articlelist-title-format (parameters: <format>; default value: "%N %V - Articles in feed '%T (%u unread, %t total) - %U"')
    Format of the title in article list. See "Format Strings" section of Newsboat manual for details on available formats. (example: articlelist-title-format "Articles in feed %T (%u unread)")

auto-reload (parameters: [yes/no]; default value: no)
    If set to yes, all feeds will be automatically reloaded at start up and then continuously after a certain time has passed (see reload-time). (example: auto-reload yes)

bind-key (parameters: <key> <operation> [<dialog>]; default value: n/a)
    Bind key <key> to <operation>. This means that whenever <key> is pressed, then <operation> is executed (if applicable in the current dialog). A list of available operations can be found below. Optionally, you can specify a dialog. If you specify one, the key binding will only be added to the specified dialog. Available dialogs are all (default if none is specified), feedlist, filebrowser, help, articlelist, article, tagselection, filterselection, urlview, podbeuter, and dirbrowser. (example: bind-key ^R reload-all)

bookmark-autopilot (parameters: [yes/no]; default value: no)
    If set to yes, the configured bookmark command is executed without any further input asked from user, unless the url or the title cannot be found/guessed. (example: bookmark-autopilot yes)

bookmark-cmd (parameters: <command>; default value: "")
    If set, then <command> will be used as bookmarking plugin. See the documentation on bookmarking for further information. (example: bookmark-cmd "~/bin/delicious-bookmark.sh")

bookmark-interactive (parameters: [yes/no]; default value: no)
    If set to yes, then the configured bookmark command is an interactive program. (example: bookmark-interactive yes)

browser (parameters: <command>; default value: %BROWSER, otherwise lynx)
    Set the browser command to use when opening an article in the browser. If BROWSER environment variable is set, it will be used as the default browser, otherwise lynx will be used. Any occurrences of %u in <command> will be replaced by a URL in single quotes. (example: browser "w3m %u")

cache-file (parameters: <path>; default value: "~/.newsboat/cache.db")
    This configuration option sets the cache file. This is especially useful if the filesystem of your home directory doesn’t support proper locking (e.g. NFS). (example: cache-file "/tmp/testcache.db")

cleanup-on-quit (parameters: [yes/no]; default value: yes)
    If set to yes, then the cache gets locked and superfluous feeds and items are removed, such as feeds that can’t be found in the urls configuration file anymore. (example: cleanup-on-quit no)

color (parameters: <element> <fgcolor> <bgcolor> [<attribute> ...]; default value: n/a)
    Set the foreground color, background color and optional attributes for a certain element. (example: color background white black)

confirm-exit (parameters: [yes/no]; default value: no)
    If set to yes, then newsboat will ask for confirmation whether the user really wants to quit newsboat. (example: confirm-exit yes)

cookie-cache (parameters: <path>; default value: "")
    Set a cookie cache. If set, cookies will be cached in (i.e. read from and written to) this file, using Netscape format. (example: cookie-cache "~/.newsboat/cookies.txt")

datetime-format (parameters: <date/time format>; default value: %b %d)
    This format specifies the date/time format in the article list. For a detailed documentation on the allowed formats, consult the manpage of strftime(3). (example: datetime-format "%D, %R")

define-filter (parameters: <name> <filterexpr>; default value: n/a)
    With this command, you can predefine filters, which you can later select from a list, and which are then applied after selection. This is especially useful for filters that you need often and you don’t want to enter them every time you need them. (example: define-filter "all feeds with fun tag" "tags # \"fun\"")

delete-read-articles-on-quit (parameters: [yes/no]; default value: no)
    If set to yes, then all read articles will be deleted when you quit newsboat. (example: delete-read-articles-on-quit yes)

dialogs-title-format (parameters: <format>; default value: "%N %V - Dialogs")
    Format of the title in dialog list. See "Format Strings" section of Newsboat manual for details on available formats. (example: dialogs-title-format "%N %V - Dialogs")

dirbrowser-title-format (parameters: <format>; default value: "%N %V - %?O?Open Directory&Save File? - %f")
    Format of the title in directory browser. See "Format Strings" section of Newsboat manual for details on available formats. (example: dirbrowser-file-format "%?O?Open Directory&Save File? - %f")

display-article-progress (parameters: [yes/no]; default value: yes)
    If set to yes, then a read progress (in percent) is displayed in the article view. Otherwise, no read progress is displayed. (example: display-article-progress no)

download-full-page (parameters: [yes/no]; default value: no)
    If set to yes, then for all feed items with no content but with a link, the link is downloaded and the result used as content instead. This may significantly increase the download times of "empty" feeds. (example: download-full-page yes)

download-retries (parameters: <number>; default value: 1)
    How many times newsboat shall try to successfully download a feed before giving up. This is an option to improve the success of downloads on slow and shaky connections such as via a TOR proxy. (example: download-retries 4)

download-timeout (parameters: <number>; default value: 30)
    The number of seconds newsboat shall wait when downloading a feed before giving up. This is an option to improve the success of downloads on slow and shaky connections such as via a TOR proxy. (example: download-timeout 60)

error-log (parameters: <path>; default value: "")
    If set, then user errors (e.g. errors regarding defunct RSS feeds) will be logged to this file. (example: error-log "~/.newsboat/error.log")

external-url-viewer (parameters: <command>; default value: "")
    If set, then show-urls will pipe the current article to a specific external tool instead of using the internal URL viewer. This can be used to integrate tools such as urlview. (example: external-url-viewer "urlview")

feed-sort-order (parameters: <sortorder>[-<direction>]; default value: none)
    The <sortfield> specifies which feed property shall be used for sorting; currently available are: firsttag, title, articlecount, unreadarticlecount, lastupdated and none. The optional <direction> specifies the sort direction. asc specifies ascending sorting, desc specifies descending sorting. desc is the default. (example: feed-sort-order firsttag)

feedhq-flag-share (parameters: <flag>; default value: "")
    If set and FeedHQ support is used, then all articles that are flagged with the specified flag are being "shared" in FeedHQ so that people that follow you can see it. (example: feedhq-flag-share "a")

feedhq-flag-star (parameters: <flag>; default value: "")
    If set and FeedHQ support is used, then all articles that are flagged with the specified flag are being "starred" in FeedHQ and appear in the list of "Starred items". (example: feedhq-flag-star "b")

feedhq-login (parameters: <login>; default value: "")
    This variable sets your FeedHQ login for FeedHQ support. (example: feedhq-login "your-login")

feedhq-min-items (parameters: <number>; default value: 20)
    This variable sets the number of articles that are loaded from FeedHQ per feed. (example: feedhq-min-items 100)

feedhq-password (parameters: <password>; default value: "")
    This variable sets your FeedHQ password for FeedHQ support. Double quotes should be escaped, i.e. you should write \" instead of ". (example: feedhq-password "here_goesAquote:\"")

feedhq-passwordfile (parameters: <path>; default value: "")
    A more secure alternative to the above, by storing your password elsewhere in your system. (example: feedhq-passwordfile "~/.newsboat/feedhq-pw.txt")

feedhq-passwordeval (parameters: <command>; default value: "")
    Another secure alternative, is providing your password from an external command that is evaluated during login. This can be used to read your password from a gpg encrypted file or your system keyring. (example: feedhq-passwordeval "gpg --decrypt ~/.newsboat/feedhq-password.gpg")

feedhq-show-special-feeds (parameters: [yes/no]; default value: yes)
    If set and FeedHQ support is used, then "special feeds" like "People you follow" (articles shared by people you follow), "Starred items" (your starred articles) and "Shared items" (your shared articles) appear in your subscription list. (example: feedhq-show-special-feeds "no")

feedhq-url (parameters: <url>; default value: "https://feedhq.org/")
    Configures the URL where your FeedHQ instance resides. (example: feedhq-url "https://feedhq.example.com/")

feedlist-format (parameters: <format>; default value: "%4i %n %11u %t")
    This variable defines the format of entries in the feed list. See the respective section in the documentation for more information on format strings. (example: feedlist-format " %n %4i - %11u -%> %t")

feedlist-title-format (parameters: <format>; default value: "N %V - Your feeds (%u unread, %t total)%?T? - tag ‘%T&?"’)
    Format of the title in feed list. See "Format Strings" section of Newsboat manual for details on available formats. (example: feedlist-title-format "Feeds (%u unread, %t total)")

filebrowser-title-format (parameters: <format>; default value: "%N %V - %?O?Open File&Save File? - %f")
    Format of the title in file browser. See "Format Strings" section of Newsboat manual for details on available formats. (example: filebrowser-title-format "%?O?Open File&Save File? - %f")

goto-first-unread (parameters: [yes/no]; default value: yes)
    If set to yes, then the first unread article will be selected whenever a feed is entered. (example: goto-first-unread no)

goto-next-feed (parameters: [yes/no]; default value: yes)
    If set to yes, then the next-unread, prev-unread and random-unread keys will search in other feeds for unread articles if all articles in the current feed are read. If set to no, then these keys will stop in the current feed. (example: goto-next-feed no)

help-title-format (parameters: <format>; default value: "%N %V - Help")
    Format of the title in help window. See "Format Strings" section of Newsboat manual for details on available formats. (example: help-title-format "%N %V - Help")

highlight (parameters: <target> <regex> <fgcolor> [<bgcolor> [<attribute> ...]]; default value: n/a)
    With this command, you can highlight text parts in the feed list, the article list and the article view. For a detailed documentation, see the chapter on highlighting. (example: highlight all "newsboat" red)

highlight-article (parameters: <filterexpr> <fgcolor> <bgcolor> [<attribute> ...]; default value: n/a)
    With this command, you can highlight articles in the article list if they match a filter expression. For a detailed documentation, see the chapter on highlighting. (example: highlight-article "author =~ \"Andreas Krennmair\"" white red bold)

history-limit (parameters: <number>; default value: 100)
    Defines the maximum number of entries of commandline resp. search history to be saved. To disable history saving, set it to 0. (example: history-limit 0)

html-renderer (parameters: <command>; default value: internal)
    If set to internal, then the internal HTML renderer will be used. Otherwise, the specified command will be executed, the HTML to be rendered will be written to the command’s stdin, and the program’s output will be displayed. This makes it possible to use other, external programs, such as w3m, links or lynx, to render HTML. (example: html-renderer "w3m -dump -T text/html")

http-auth-method (parameters: <method>; default value: any)
    Set HTTP authentication method. Allowed values: any, basic, digest, digest_ie (only available with libcurl 7.19.3 and newer), gssnegotiate, ntlm and anysafe. (example: http-auth-method digest)

ignore-article (parameters: <feed> <filterexpr>; default value: n/a)
    If a downloaded article from <feed> matches <filterexpr>, then it is ignored and not presented to the user. This command is further explained in the "kill file" section below. (example: ignore-article "*" "title =~ \"Windows\"")

ignore-mode (parameters: [download/display]; default value: download)
    This configuration option defines in what way an article is ignored (see ignore-article). If set to download, then it is ignored in the download/parsing phase and thus never written to the cache, if it set to display, it is ignored when displaying articles but is kept in the cache. (example: ignore-mode "display")

include (parameters: <path>; default value: n/a)
    With this command, you can include other files to be interpreted as configuration files. This is especially useful to separate your configuration into several files, e.g. key configuration, color configuration, ... (example: include "~/.newsboat/colors")

itemview-title-format (parameters: <format>; default value: "%N %V - Article '%T (%u unread, %t total)"')
    Format of the title in article view. See "Format Strings" section of Newsboat manual for details on available formats. (example: itemview-title-format "Article %T")

inoreader-flag-share (parameters: <flag>; default value: "")
    If set and Inoreader support is used, then all articles that are flagged with the specified flag are being "shared" in Inoreader so that people that follow you can see it. (example: inoreader-flag-share "a")

inoreader-flag-star (parameters: <flag>; default value: "")
    If set and Inoreader support is used, then all articles that are flagged with the specified flag are being "starred" in Inoreader and appear in the list of "Starred items". (example: inoreader-flag-star "b")

inoreader-login (parameters: <login>; default value: "")
    This variable sets your Inoreader login for Inoreader support. (example: inoreader-login "your-login")

inoreader-min-items (parameters: <number>; default value: 20)
    This variable sets the number of articles that are loaded from Inoreader per feed. (example: inoreader-min-items 100)

inoreader-password (parameters: <password>; default value: "")
    This variable sets your Inoreader password for Inoreader support. Double quotes should be escaped, i.e. you should write \" instead of ". (example: inoreader-password "here_goesAquote:\"")

inoreader-passwordfile (parameters: <path>; default value: "")
    A more secure alternative to the above, by storing your password elsewhere in your system. (example: inoreader-passwordfile "~/.newsboat/inoreader-pw.txt")

inoreader-passwordeval (parameters: <command>; default value: "")
    Another secure alternative, is providing your password from an external command that is evaluated during login. This can be used to read your password from a gpg encrypted file or your system keyring. (example: inoreader-passwordeval "gpg --decrypt ~/.newsboat/inoreader-password.gpg")

inoreader-show-special-feeds (parameters: [yes/no]; default value: yes)
    If set and Inoreader support is used, then "special feeds" like "Starred items" (your starred articles) and "Shared items" (your shared articles) appear in your subscription list. (example: inoreader-show-special-feeds "no")

keep-articles-days (parameters: <number>; default value: 0)
    If set to a number greater than 0, only articles that are were published within the last <number> days are kept, and older articles are deleted. If set to 0, this option is not active. Note that changing this setting won’t bring back the articles that were deleted earlier; currently, there’s no non-hacky way to bring back deleted articles. (example: keep-articles-days 30)

macro (parameters: <macro key> <command list>; default value: n/a)
    With this command, you can define a macro key and specify a list of commands that shall be executed when the macro prefix and the macro key are pressed. (example: macro k open ; reload ; quit)

mark-as-read-on-hover (parameters: [yes/no]; default value: no)
    If set to yes, then all articles that get selected in the article list are marked as read. (example: mark-as-read-on-hover yes)

max-download-speed (parameters: <number>; default value: 0)
    If set to a number great than 0, the download speed per download is set to that limit (in kB). (example: max-download-speed 50)

max-browser-tabs (parameters: <number>; default value: 10)
    Set the maximum number of articles to open in a browser when using the open-all-unread-in-browser or open-all-unread-in-browser-and-mark-read commands. (example: max-browser-tabs 4)

max-items (parameters: <number>; default value: 0)
    Set the number of articles to maximally keep per feed. If the number is set to 0, then all articles are kept. (example: max-items 100)

newsblur-login (parameters: <login>; default value: "")
    This variable sets your NewsBlur login for NewsBlur support. (example: newsblur-login "your-login")

newsblur-min-items (parameters: <number>; default value: 20)
    This variable sets the number of articles that are loaded from NewsBlur per feed. (example: newsblur-min-items 100)

newsblur-password (parameters: <password>; default value: "")
    This variable sets your NewsBlur password for NewsBlur support. Double quotes should be escaped, i.e. you should write \" instead of ". (example: newsblur-password "here_goesAquote:\"")

newsblur-passwordfile (parameters: <path>; default value: "")
    A more secure alternative to the above, by storing your password elsewhere in your system. (example: newsblur-passwordfile "~/.newsboat/newsblur-pw.txt")

newsblur-passwordeval (parameters: <command>; default value: "")
    Another secure alternative, is providing your password from an external command that is evaluated during login. This can be used to read your password from a gpg encrypted file or your system keyring. (example: newsblur-passwordeval "gpg --decrypt ~/.newsboat/newsblur-password.gpg")

newsblur-url (parameters: <url>; default value: "https://newsblur.com")
    Configures the URL where the NewsBlur instance resides. (example: newsblur-url "https://localhost")

notify-always (parameters: [yes/no]; default value: no)
    If set to no, notifications will only be made when there are new feeds or articles. If set to yes, notifications will be made regardless. (example: notify-always yes)

notify-beep (parameters: [yes/no]; default value: no)
    If set to yes, then the speaker beep on new articles. (example: notify-beep yes)

notify-format (parameters: <string>; default value: "newsboat: finished reload, %f unread feeds (%n unread articles total)")
    Format string that is used for formatting notifications. See the chapter on format strings for more information. (example: notify-format "%d new articles (%n unread articles, %f unread feeds)")

notify-program (parameters: <command>; default value: "")
    If set, then the configured program will be executed if new articles arrived (through a reload) or if notify-always is yes. The first parameter of the called program contains the notification message. In order to pass other hard-coded arguments to the program, write an appropriate wrapper shell script and use it as <command> instead. (example: notify-program "~/bin/my-notifier")

notify-screen (parameters: [yes/no]; default value: no)
    If set to yes, then a "privacy message" will be sent to the terminal, containing a notification message about new articles. This is especially useful if you use terminal emulations such as GNU screen which implement privacy messages. (example: notify-screen yes)

notify-xterm (parameters: [yes/no]; default value: no)
    If set to yes, then the xterm window title will be set to a notification message about new articles. (example: notify-xterm yes)

ocnews-flag-star (parameters: <character>; default value: "")
    If set and ownCloud News support is used, then all articles that are flagged with the specified flag are being "starred" in ownCloud News. (example: ocnews-flag-star "s")

ocnews-login (parameters: <username>; default value: "")
    Sets the username to use with the ownCloud instance. (example: ocnews-login "user")

ocnews-password (parameters: <password>; default value: "")
    Configures the password to use with the ownCloud instance. Double quotes should be escaped, i.e. you should write \" instead of ". (example: ocnews-password "here_goesAquote:\"")

ocnews-passwordfile (parameters: <path>; default value: "")
    A more secure alternative to the above, by storing your password elsewhere in your system. (example: ocnews-passwordfile "~/.newsboat/ocnews-pw.txt")

ocnews-passwordeval (parameters: <command>; default value: "")
    Another secure alternative, is providing your password from an external command that is evaluated during login. This can be used to read your password from a gpg encrypted file or your system keyring. (example: ocnews-passwordeval "gpg --decrypt ~/.newsboat/ocnews-password.gpg")

ocnews-url (parameters: <url>; default value: "")
    Configures the URL where the ownCloud instance resides. (example: ocnews-url "https://localhost/owncloud")

oldreader-flag-share (parameters: <flag>; default value: "")
    If set and The Old Reader support is used, then all articles that are flagged with the specified flag are being "shared" in The Old Reader so that people that follow you can see it. (example: oldreader-flag-share "a")

oldreader-flag-star (parameters: <flag>; default value: "")
    If set and The Old Reader support is used, then all articles that are flagged with the specified flag are being "starred" in The Old Reader and appear in the list of "Starred items". (example: oldreader-flag-star "b")

oldreader-login (parameters: <login>; default value: "")
    This variable sets your The Old Reader login for The Older Reader support. (example: oldreader-login "your-login")

oldreader-min-items (parameters: <number>; default value: 20)
    This variable sets the number of articles that are loaded from The Old Reader per feed. (example: oldreader-min-items 100)

oldreader-password (parameters: <password>; default value: "")
    This variable sets your The Old Reader password for The Old Reader support. Double quotes should be escaped, i.e. you should write \" instead of ". (example: oldreader-password "here_goesAquote:\"")

oldreader-passwordfile (parameters: <path>; default value: "")
    A more secure alternative to the above, by storing your password elsewhere in your system. (example: oldreader-passwordfile "~/.newsboat/oldreader-pw.txt")

oldreader-passwordeval (parameters: <command>; default value: "")
    Another secure alternative, is providing your password from an external command that is evaluated during login. This can be used to read your password from a gpg encrypted file or your system keyring. (example: oldreader-passwordeval "gpg --decrypt ~/.newsboat/oldreader-password.gpg")

oldreader-show-special-feeds (parameters: [yes/no]; default value: yes)
    If set and The Old reader support is used, then "special feeds" like "People you follow" (articles shared by people you follow), "Starred items" (your starred articles) and "Shared items" (your shared articles) appear in your subscription list. (example: oldreader-show-special-feeds "no")

openbrowser-and-mark-jumps-to-next-unread (parameters: [yes/no]; default value: no)
    If set to yes, jump to the next unread item when an item is opened in the browser and marked as read. (example: openbrowser-and-mark-jumps-to-next-unread yes)

opml-url (parameters: <url> ...; default value: "")
    If the OPML online subscription mode is enabled, then the list of feeds will be taken from the OPML file found on this location. Optionally, you can specify more than one URL. All the listed OPML URLs will then be taken into account when loading the feed list. (example: opml-url "http://host.domain.tld/blogroll.opml" "http://example.com/anotheropmlfile.opml")

pager (parameters: [<command>/internal]; default value: internal)
    If set to internal, then the internal pager will be used. Otherwise, the article to be displayed will be rendered to be a temporary file and then displayed with the configured pager. If the command is set to an empty string, the content of the "PAGER" environment variable will be used. If the command contains a placeholder %f, it will be replaced with the temporary filename. (example: pager "less %f")

podcast-auto-enqueue (parameters: [yes/no]; default value: no)
    If set to yes, then all podcast URLs that are found in articles are added to the podcast download queue. See the respective section in the documentation for more information on podcast support in newsboat. (example: podcast-auto-enqueue yes)

prepopulate-query-feeds (parameters: [yes/no]; default value: no)
    If set to yes, then all query feeds are prepopulated with articles on startup. (example: prepopulate-query-feeds yes)

ssl-verifyhost (parameters: [yes/no]; default value: yes)
    If set to no, skip verification of the certificate’s name against host. (example: ssl-verifyhost no)

ssl-verifypeer (parameters: [yes/no]; default value: yes)
    If set to no, skip verification of the peer’s SSL certificate. (example: ssl-verifypeer no)

proxy-auth-method (parameters: <method>; default value: any)
    Set proxy authentication method. Allowed values: any, basic, digest, digest_ie (only available with libcurl 7.19.3 and newer), gssnegotiate, ntlm and anysafe. (example: proxy-auth-method ntlm)

proxy-auth (parameters: <auth>; default value: n/a)
    Set the proxy authentication string. (example: proxy-auth user:password)

proxy-type (parameters: <type>; default value: http)
    Set proxy type. Allowed values: http, socks4, socks4a, socks5 and socks5h. (example: proxy-type socks5)

proxy (parameters: <server:port>; default value: n/a)
    Set the proxy to use for downloading RSS feeds. (Don’t forget to actually enable the proxy with use-proxy yes.) (example: proxy localhost:3128)

refresh-on-startup (parameters: [yes/no]; default value: no)
    If set to yes, then all feeds will be reloaded when newsboat starts up. This is equivalent to the -r commandline option. (example: refresh-on-startup yes)

reload-only-visible-feeds (parameters: [yes/no]; default value: no)
    If set to yes, then manually reloading all feeds will only reload the currently visible feeds, e.g. if a filter or a tag is set. (example: reload-only-visible-feeds yes)

reload-threads (parameters: <number>; default value: 1)
    The number of parallel reload threads that shall be started when all feeds are reloaded. (example: reload-threads 3)

reload-time (parameters: <number>; default value: 60)
    The number of minutes between automatic reloads. (example: reload-time 120)

reset-unread-on-update (parameters: <url> ...; default value: n/a)
    With this configuration command, you can provide a list of RSS feed URLs for whose articles the unread flag will be reset if an article has been updated, i.e. its content has been changed. This is especially useful for RSS feeds where single articles are updated after publication, and you want to be notified of the updates. (example: reset-unread-on-update "http://blog.fefe.de/rss.xml?html")

save-path (parameters: <path-to-directory>; default value: ~/)
    The default path where articles shall be saved to. If an invalid path is specified, the current directory is used. (example: save-path "~/Saved Articles")

search-highlight-colors (parameters: <fgcolor> <bgcolor> [<attribute> ...]; default value: black yellow bold)
    This configuration command specifies the highlighting colors when searching for text from the article view. (example: search-highlight-colors white black bold)

searchresult-title-format (parameters: <format>; default value: "%N %V - Search result (%u unread, %t total)")
    Format of the title in search result. See "Format Strings" section of Newsboat manual for details on available formats. (example: searchresult-title-format "Search result")

selectfilter-title-format (parameters: <format>; default value: "%N %V - Select Filter")
    Format of the title in filter selection dialog. See "Format Strings" section of Newsboat manual for details on available formats. (example: selectfilter-title-format "Select Filter")

selecttag-format (parameters: <format>; default value: "%4i %T (%u)")
    Format of the lines in "Select tag" dialog. See the respective section in the documentation for more information on format strings. (example: selecttag-format "[%2i] %T (%n unread articles in %f feeds, %u feeds total)")

selecttag-title-format (parameters: <format>; default value: "%N %V - Select Tag")
    Format of the title in tag selection dialog. See "Format Strings" section of Newsboat manual for details on available formats. (example: selecttag-title-format "Select Tag")

show-keymap-hint (parameters: [yes/no]; default value: yes)
    If set to no, then the keymap hints on the bottom of screen will not be displayed. (example: show-keymap-hint no)

show-title-bar (parameters: [yes/no]; default value: yes)
    If set to no, then the title bar on the top of the screen will not be displayed. (example: show-title-bar no)

show-read-articles (parameters: [yes/no]; default value: yes)
    If set to yes, then all articles of a feed are listed in the article list. If set to no, then only unread articles are listed. (example: show-read-articles no)

show-read-feeds (parameters: [yes/no]; default value: yes)
    If set to yes, then all feeds, including those without unread articles, are listed. If set to no, then only feeds with one or more unread articles are list. (example: show-read-feeds no)

suppress-first-reload (parameters: [yes/no]; default value: no)
    If set to yes, then the first automatic reload will be suppressed if auto-reload is set to yes. (example: suppress-first-reload yes)

swap-title-and-hints (parameters: [yes/no]; default value: no)
    If set to yes, then the title at the top of screen and keymap hints at the bottom of screen will be swapped. (example: swap-title-and-hints yes)

text-width (parameters: <number>; default value: 0)
    If set to a number greater than 0, all HTML will be rendered to this maximum line length or the terminal width (whichever is smaller). If set to 0, the terminal width will always be used. Does not apply when using external renderer or viewing the source. Also note that "Link" header and "Links" section won’t be affected by it—they contain URLs which are better not wrapped. (example: text-width 72)

toggleitemread-jumps-to-next-unread (parameters: [yes/no]; default value: no)
    If set to yes, jump to the next unread item when an item’s read status is toggled in the article list. (example: toggleitemread-jumps-to-next-unread yes)

ttrss-flag-publish (parameters: <character>; default value: "")
    If set and Tiny Tiny RSS support is used, then all articles that are flagged with the specified flag are being marked as "published" in Tiny Tiny RSS. (example: ttrss-flag-publish "b")

ttrss-flag-star (parameters: <character>; default value: "")
    If set and Tiny Tiny RSS support is used, then all articles that are flagged with the specified flag are being "starred" in Tiny Tiny RSS. (example: ttrss-flag-star "a")

ttrss-login (parameters: <username>; default value: "")
    Sets the username for use with Tiny Tiny RSS. (example: ttrss-login "admin")

ttrss-mode (parameters: [multi/single]; default value: multi)
    Configures the mode in which Tiny Tiny RSS is used. In single-user mode, login and password are used for HTTP authentication, while in multi-user mode, they are used for authenticating with Tiny Tiny RSS. (example: ttrss-mode "single")

ttrss-password (parameters: <password>; default value: "")
    Configures the password for use with Tiny Tiny RSS. Double quotes should be escaped, i.e. you should write \" instead of ". (example: ttrss-password "here_goesAquote:\"")

ttrss-passwordfile (parameters: <path>; default value: "")
    A more secure alternative to the above, by storing your password elsewhere in your system. (example: ttrss-passwordfile "~/.newsboat/ttrss-pw.txt")

ttrss-passwordeval (parameters: <command>; default value: "")
    Another secure alternative, is providing your password from an external command that is evaluated during login. This can be used to read your password from a gpg encrypted file or your system keyring. (example: ttrss-passwordeval "gpg --decrypt ~/.newsboat/ttrss-password.gpg")

ttrss-url (parameters: <url>; default value: "")
    Configures the URL where the Tiny Tiny RSS installation you want to use resides. (example: ttrss-url "http://example.com/ttrss/")

unbind-key (parameters: <key> [<dialog>]; default value: n/a)
    Unbind key <key>. This means that no operation is called when <key> is pressed. If you provide "-a" as <key>, all currently bound keys will become unbound. Optionally, you can specify a dialog (for a list of available dialogs, see bind-key above). If you specify one, the key binding will only be unbound for the specified dialog. (example: unbind-key R)

urls-source (parameters: <source>; default value: "local")
    This configuration command sets the source where URLs shall be retrieved from. By default, this is ~/.newsboat/urls. Alternatively, you can set it to opml, which enables newsboat’s OPML online subscription mode, to ttrss which enables newsboat’s Tiny Tiny RSS support, to oldreader, which enables newsboat’s The Old Reader support, to newsblur, which enables NewsBlur support, or feedhq for FeedHQ support, or ocnews for ownCloud News support, or inoreader for Inoreader support. Query feed specifications will be read from the local urls file regardless of this setting. (example: urls-source "oldreader")

urlview-title-format (parameters: <format>; default value: "%N %V - URLs")
    Format of the title in URL view. See "Format Strings" section of Newsboat manual for details on available formats. (example: urlview-title-format "URLs")

use-proxy (parameters: [yes/no]; default value: no)
    If set to yes, then the configured proxy will be used for downloading the RSS feeds. (example: use-proxy yes)

user-agent (parameters: <string>; default value: "")
    If set to a non-zero-length string, this value will be used as HTTP User-Agent header for all HTTP requests. (example: user-agent "Lynx/2.8.5rel.1 libwww-FM/2.14")

AVAILABLE OPERATIONS

open (default key: ENTER)
    Open the currently selected feed or article.

quit (default key: q)
    Quit the program or return to the previous dialog (depending on the context).

hard-quit (default key: Q)
    Quit the program without confirmation.

reload (default key: r)
    Reload the currently selected feed.

reload-all (default key: R)
    Reload all feeds.

mark-feed-read (default key: A)
    Mark all articles in the currently selected feed read.

mark-all-feeds-read (default key: C)
    Mark articles in all feeds read.

mark-all-above-as-read (default key: n/a)
    Mark all above as read.

save (default key: s)
    Save the currently selected article to a file.

save-all (default key: n/a)
    Save all articles from currently selected feed.

next-unread (default key: n)
    Jump to the next unread article.

prev-unread (default key: p)
    Jump to the previous unread article.

next (default key: J)
    Jump to next article.

prev (default key: K)
    Jump to previous article.

random-unread (default key: ^K)
    Jump to a random unread article.

open-in-browser (default key: o)
    Open the URL associated with the current article.

open-in-browser-and-mark-read (default key: O)
    Open the URL associated with the current article and mark the article as read.

open-all-unread-in-browser (default key: n/a)
    Open all the unread URLs in the current feed.

open-all-unread-in-browser-and-mark-read (default key: n/a)
    Open all the unread URLs in the current feed and mark them as read.

help (default key: ?)
    Run the help screen.

toggle-source-view (default key: ^U)
    Toggle between the HTML view and the source view in the article view.

toggle-article-read (default key: N)
    Toggle the read flag for the currently selected article, and clear the delete flag if set.

toggle-show-read-feeds (default key: l)
    Toggle whether read feeds should be shown in the feed list.

show-urls (default key: u)
    Show all URLs in the article in a list (similar to urlview).

clear-tag (default key: ^T)
    Clear current tag.

set-tag (default key: t)
    Select tag.

open-search (default key: /)
    Open the search dialog. When a search is done in the article list, then the search operation only applies to the articles of the current feed, otherwise to all articles.

goto-url (default key: #)
    Open the URL dialog and then open a specified URL.

enqueue (default key: e)
    Add the podcast download URL of the current article (if any is found) to the podcast download queue (see the respective section in the documentation for more information on podcast support).

edit-urls (default key: E)
    Edit the list of subscribed URLs. newsboat will start the editor configured through the $VISUAL environment variable (if unset, $EDITOR is used; fallback: "vi"). When editing is finished, newsboat will reload the URLs file.

reload-urls (default key: ^R)
    Reload the URLs configuration file.

redraw (default key: ^L)
    Redraw the screen.

cmdline (default key: :)
    Open the command line.

set-filter (default key: F)
    Set a filter.

select-filter (default key: f)
    Select a predefined filter.

clear-filter (default key: ^F)
    Clear currently set filter.

bookmark (default key: ^B)
    Bookmark currently selected article or URL.

edit-flags (default key: ^E)
    Edit the flags of the currently selected article.

next-unread-feed (default key: ^N)
    Go to the next feed with unread articles. This only works from the article list.

prev-unread-feed (default key: ^P)
    Go to the previous feed with unread articles. This only works from the article list.

next-feed (default key: j)
    Go to the next feed. This only works from the article list.

prev-feed (default key: k)
    Go to the previous feed. This only works from the article list.

delete-article (default key: D)
    Delete the currently selected article.

delete-all-articles (default key: ^D)
    Delete all articles in the current feed.

purge-deleted (default key: $)
    Purge all articles that are marked as deleted from the article list.

view-dialogs (default key: v)
    View list of open dialogs.

close-dialog (default key: ^X)
    Close currently selected dialog.

next-dialog (default key: ^V)
    Go to next dialog.

prev-dialog (default key: ^G)
    Go to previous dialog.

pipe-to (default key: '| ')
    Pipe article to command.

sort (default key: g)
    Sort feeds/articles by interactively choosing the sort method.

rev-sort (default key: G)
    Sort feeds/articles by interactively choosing the sort method (reversed).

up (default key: UP)
    Go up one item in the list.

down (default key: DOWN)
    Go down one item in the list.

pageup (default key: PPAGE)
    Go up one page in the list.

pagedown (default key: NPAGE)
    Go down one page in the list.

home (default key: HOME)
    Go to the first item in the list.

end (default key: END)
    Go to the last item in the list.

macro-prefix (default key: ,)
    Initiate macro execution. The next key press selects the actual macro and runs it.

TAGGING

Newsboat comes with the possibility to categorize or "tag", as we call it, RSS feeds. Every RSS feed can be assigned 0 or more tags. Within newsboat, you can then select to only show RSS feeds that match a certain tag. That makes it easy to categorize your feeds in a flexible and powerful way.

Usually, the ~/.newsboat/urls file contains one RSS feed URL per line. To assign a tag to an RSS feed, simply attach it as a single word, separated by blanks such as space or tab. If the tag needs to contain spaces, you must use quotes (") around the tag (see example below). An example ~/.newsboat/urls file may look like this:

    http://blog.fefe.de/rss.xml?html interesting conspiracy news "cool stuff"
    http://rss.orf.at/news.xml news orf
    http://www.heise.de/newsticker/heise.rdf news interesting

When you now start newsboat with this configuration, you can press "t" to select a tag. When you select the tag "news", you will see all three RSS feeds. Pressing "t" again and e.g. selecting the "conspiracy" tag, you will only see the http://blog.fefe.de/rss.xml?html RSS feed. Pressing "^T" clears the current tag, and again shows all RSS feeds, regardless of their assigned tags.

A special type of tag are tags that start with the tilde character (~). When such a tag is found, the feed title is set to the tag name (excluding the ~ character). With this feature, you can give feeds any title you want in your feed list:

    http://rss.orf.at/news.xml "~ORF News"

Another special type of tag are tags that start with the exclamation mark (!). When such a tag is found, the feed is hidden from the regular list of feeds and its content can only be found through a query feed.

    http://rss.orf.at/news.xml "!ORF News (hidden)"

SCRIPTS AND FILTERS

Newsboat contains support for Snownews extensions. The RSS feed readers Snownews and Liferea share a common way of extending the readers with custom scripts. Two mechanisms, namely "execurl" and "filter" type scripts, are available and supported by newsboat.

An "execurl" script can be any program that gets executed and whose output is interpreted as RSS feed, while "filter" scripts are fed with the content of a configured URL and whose output is interpreted as RSS feed.

The configuration is simple and straight-forward. Just add to your ~/.newsboat/urls file configuration lines like the following ones:

    exec:~/bin/execurl-script
    filter:~/bin/filter-script:http://some.test/url

The first line shows how to add an execurl script to your configuration: start the line with exec: and then immediately append the path of the script that shall be executed. If this script requires additional parameters, simply use quotes:

    "exec:~/bin/execurl-script param1 param2"

The second line shows how to add a filter script to your configuration: start the line with filter:, then immediately append the path of the script, then append a colon (:), and then append the URL of the file that shall be fed to the script. Again, if the script requires any parameters, simply quote:

    "filter:~/bin/filter-script param1 param2:http://url/foobar"

In both cases, the tagging feature as described above is still available:

    exec:~/bin/execurl-script tag1 tag2 "quoted tag"
    filter:~/bin/filter-script:http://some.test/url tag3 tag4 tag5

If you need to write your own extension, see this short guide for an introduction. A collection of existing scripts might also help.

COMMAND LINE

Like other text-oriented software, Newsboat contains an internal commandline to modify configuration variables ad hoc and to run own commands. It provides a flexible access to the functionality of Newsboat which is especially useful for advanced users.

To start the commandline, type ":". You will see a ":" prompt at the bottom of the screen, similar to tools like vi(m) or mutt. You can now enter commands. Pressing the "Enter" key executes the command (possibly giving feedback to the user) and closes the commandline. You can cancel entering commands by pressing the "Esc" key. The history of all the commands that you enter will be saved to ~/.newsboat/history.cmdline. The backlog is limited to 100 entries by default, but can be influenced by setting the history-limit configuration variable. To disable history saving, set the history-limit to 0.

The commandline provides you with some help if you can’t remember the full names of commandline commands. By pressing the "Tab" key, newsboat will try to automatically complete your command. If there is more than one possible completion, you can subsequently press the "Tab" key to cycle through all results. If no match is found, no suggestion will be inserted into the commandline. For the set command, the completion also works for configuration variable names.

In addition, some common key combination such as "Ctrl-G" (to cancel input), "Ctrl-K" (to delete text from the cursor position to the end of line), "Ctrl-U" (to clear the whole line) and "Ctrl-W" (to delete the word before the current cursor position) were added.

Please be aware that the input history of both the command line and the search functions are saved to the filesystems, to the files ~/.newsboat/history.cmdline resp. ~/.newsboat/history.search. By default, the last 100 entries are saved, but this can be configured (configuration variable history-limit) and also totally disabled (by setting said variable to 0).

Currently, the following command line commands are available:

quit
    Quit newsboat

q
    Alias for quit

save <filename>
    Save current article to <filename>

set <variable>[=<value>|&|!]
    Set (or get) configuration variable value. Specifying a ! after the name of a boolean configuration variable toggles their values, a & directly after the name of a configuration variable of any type resets its value to the documented default value.

tag <tagname>
    Select a certain tag

goto <case-insensitive substring>
    Go to the next feed whose name contains the case-insensitive substring.

source <filename> [...]
    Load the specified configuration files. This allows it to load alternative configuration files or reload already loaded configuration files on-the-fly from the filesystem.

dumpconfig <filename>
    Save current internal state of configuration to file, so that it can be instantly reused as configuration file.

<number>
    Jump to the <number>th entry in the current dialog

XDG BASE DIRECTORY SUPPORT

Newsboat defaults to storing everything in $HOME/.newsboat directory. If you prefer XDG, create $HOME/.config/newsboat and $HOME/.local/share/newsboat directories, and Newsboat will use them from there on.

If you already have some files in $HOME/.newsboat/, move them as follows:

config, urls
    to $HOME/.config/newsboat/

cache.db, history.search, history.cmdline
    to $HOME/.local/share/newsboat/

See also a corresponding section in podboat(1).

FILES

dotfiles
    $HOME/.newsboat/config $HOME/.newsboat/urls

XDG
    $HOME/.config/newsboat/config $HOME/.config/newsboat/urls

ENVIRONMENT

BROWSER
    Tells Newsboat what browser to use if there is no "browser" setting in the config file. If this variable doesn’t exist, a default of lynx(1) will be used.

CURL_CA_BUNDLE
    Tells Newsboat to use the specified certificate file to verify the peer. The file may contain multiple certificates. The certificate(s) must be in PEM format. This option is useful if your libcurl is built without useful certificate information, and you can’t rebuild the library yourself.

TMPDIR
    Tells Newsboat to use the specified directory for storing temporary files. If this variable doesn’t exist, a default of /tmp will be used.

SEE ALSO

podboat(1)

AUTHOR

Alexander Batischev <eual.jp@gmail.com>
    Author.