XRN -- an X News reader
What is XRN?
XRN is a program for reading News via NNTP on a UNIX machine which
supports the X Window System.
XRN is maintained by Jonathan
XRN is compliant with the Good Net-Keeping Seal of
Approval (GNKSA). Its GNKSA review, which earned it seal number
14, can be viewed here.
Where can I get it?
The master source tree for XRN
is on Github. Also,
tarballs for new releases are deposited here.
What can it do?
Notable features of XRN include:
- As of XRN version 9.00, article threading is supported.
- XRN warns the user when he is composing a followup which will be
posted to multiple newsgroups (i.e., cross-posted). Furthermore,
when the user submits an article for posting, XRN warns the user
if his article will be posted in an excessive number of
newsgroups, and asks if he wants to re-edit the article to post
to fewer groups. Finally, the person who installs XRN at a site
may configure it to completely prohibit postings to more than a
specified number of newsgroups.
- XRN has numerous features for utilizing bandwidth more
efficiently when communicating with the server over a slow
network, e.g., over a SLIP or PPP connection.
- XRN supports NNTP authentication, including traditional
user-name/password authentication and "AUTHINFO GENERIC"
authentication. If you need to specify a user-name and password
to connect to your NNTP server, XRN will probably do what you
- XRN's interface is highly configurable -- all XRN commands can be
accessed through either buttons or key bindings, and you can
control exactly which buttons are visible and the order in which
they appear. Furthermore, since XRN uses the standard Xt
mechanism for defining key bindings, you can redefine any of the
key bindings to suit your personal preferences.
- XRN supports newsgroup-specific signature files,
hierarchy-specific signature files, executable signature files
(i.e., XRN will run your signature file as a program and use the
program's output as your message signature), and any combination
- XRN does extensive pre-fetching while you are reading News, so
that when you're ready to move on, what you're going to see next
usually has already been retrieved from the server.
- XRN can scan for new articles in the background while you are
reading News, so you don't have to wait for it to check for new
articles in all groups before you can read any of them.
- XRN has support for multi-lingual messages, button labels, etc.
Currently, German and French supported; other languages can be
What does it look like?
Here are some screen-shots of what a "vanilla" XRN looks like,
without any resources configuring its appearance.
Since XRN is a standard X Athena Widgets/Toolkit Intrinsics
application, you can use X resources to configure fonts, border
widths, colors, key bindings, etc., to make buttons rounded instead of
rectangular, etc. Furthermore, if you prefer a "3D" style, you can
link XRN against the Xaw3d library.
- Newsgroup mode is the newsgroup
list you see when you start XRN.
- Article mode is what you see when
you are reading a newsgroup.
- All mode allows you to view a list
of all newsgroups, subscribe to and unsubscribe from groups,
and change the order in which groups are displayed.
What can I do to help?
First and foremost, report bugs to me when
you find them. If I don't hear about a bug, I can't fix it.
Similarly, if you want XRN to do something that it doesn't currently
do, please let me know.
Second, I'm always looking for people who are willing to implement
new functionality. Note, however, the following caveats:
- My coding standards are a bit high. XRN was a maze of twisty
little passages when I took over its maintenance. I've done huge
amounts of clean-up since then, and I expect any code that gets
added at this point to be comparable to to the new code rather
than the old. However, if you submit code that does something
you want XRN to do, I'll meet you halfway and help correct any
problems I have with the code (include recoding parts of it
myself, if necessary).
- XRN is very big and cluttered, so I sometimes reject suggestions
for new features or enhancements to existing features because
they can be implemented with external programs called by XRN
rather than inside XRN, or because they don't add enough value to
be worth the added complexity. Therefore, before you spend time
working on a new feature, get in touch with me and find out what
I think about it. You might not want to spend time working on
something that I'm not going to incorporate into the official XRN
release when you're done with it.
Finally, one of XRN's major weak points is its documentation. The
man page is mostly complete (although parts of it, such as the widget
hierarchy, are way out of date), but it's horribly convoluted and
difficult to navigate. I'd really like someone to write an XRN manual
in HTML, or in some formatting language that can be turned into
multiple formats, so that an HTML version of it can be put up on the
Web and a man-page version of it can be installed with the program.
If you are interested in helping, please contact me.
Where can I find out more?
Correspondence about XRN should be sent to email@example.com
The xrn-users mailing list is a moderated list (I am the only one
who sends messages to it) which I use to announce new releases
(including beta releases) and to contact XRN users when I need
feedback or help from them, for example, when I need to find people
using XRN on a specific problem to help me debug a problem on that
platform. The volume of traffic on the list is very low. If you are
interested in joining, please write to firstname.lastname@example.org.
|Read this page
thanks to Alyona Lompar.|
This document was last modified on $Date: 2018/08/23 17:30:08 $.