XRN(1) RISC/os Reference Manual XRN(1)
NAME
xrn - an X-based interface to the USENET news system that
uses the NNTP remote news server
SYNOPSIS
xrn is an X-based interface to the USENET news system that
uses the NNTP remote news server for accessing newsgroups
and articles. By using the NNTP server, users can read news
from personal workstations with the program accessing the
news groups and articles from a central repository on the
local area network. This manual page applies to version
6.13.
DESCRIPTION
xrn [-breakLength len] [-lineLength len] [+/-confirm list]
[-deadLetters file]
[-editorCommand command] [+/-includeHeader] [-includePrefix
"prefix text"] [+/-includeSep] [-iconGeometry +X+Y]
[-leaveHeaders list] [-stripHeaders list] [+/-killFiles] [-
nntpServer name]
[-minLines number] [-maxLines number] [-cancelCount number]
[-newsrcFile file] [-printCommand command]
[-organization organization] [-replyTo name] [-
saveNewsrcFile file] [-saveDir directory]
[-signatureFile file] [-saveMode mode] [-savePostings file]
[+/-subjectRead]
[-topLines number] [-mailer mailer] [-tmpDir directory]
[+/-updateNewsrc]
[+/-sortedSubjects] [+/-info] [-rescanTime time] [-calvin]
[+/-typeAhead] [-addButtonList list] [-ngButtonList list]
[-artButtonList list]
[-artSpecButtonList list] [-allButtonList list]
[-addBindings bindings] [-ngBindings bindings] [-artBindings
bindings] [-allBindings bindings]
[+/-pageArticles] [+/-dumpCore] [+/-verboseKill] [+/-cc]
[-distribution dist] [-defaultLines count]
Along with the standard toolkit options: display, geometry,
xrm, and iconic.
BASIC OPERATION
Don't let the size of this manual page alarm you. xrn is
easy to learn on-line without reading the documentation.
This manual page describes many features that may be obvious
to the casual observer, along with a large section on cus-
tomization (such as choosing colors and fonts). It also
describes how to use scroll bars, buttons, and select text;
if you have used an X toolkit application before, the sec-
tion titled "BUTTONS, SCROLL BARS, and SELECTION" can be
skipped.
Printed 1/24/91 28 November 1988 Page 1
XRN(1) RISC/os Reference Manual XRN(1)
xrn uses the `.newsrc' file to determine what groups need to
be read. If the `.newsrc' file does not exist, it is
created, and the user is subscribed to the news group
`news.announce.newusers'.
xrn has four modes of operation: Add, Newsgroup, All, and
Article modes. Add mode will be entered on startup if there
are any groups that the news system knows about that are not
in the `.newsrc' file (i.e., new groups). In Add mode, the
user is given a list of new groups. Groups can then be sub-
scribed to and placed in the `.newsrc' file at the first
position, the last position, or after a group already in the
`.newsrc' file. When Add mode is exited, any remaining
groups are added unsubscribed, so the user is not asked
about them the next time xrn is started. On exit from Add
mode, or on startup if there are no new groups, Newsgroup
mode is entered. Newsgroup mode displays the subscribed to
groups that have unread articles and the range of available
articles. The basic functions available in this mode allow
the user to read a group, mark all articles in a group as
read, unsubscribe from a group, move the cursor around the
newsgroup window, change the order of the list of news-
groups, re-visit the most recently visited group, and quit
xrn. In addition, the user can subscribe to a group and
specify its position in the `.newsrc' file, query the news
server for new articles and groups, and go to groups that
are either not subscribed to or currently have no unread
articles (i.e., groups not displayed on the screen). From
Newsgroup mode the user can go into All mode. In All mode
the user is presented with a sorted list of all known groups
and their subscription status (subscribed or unsubscribed)
and can change their status or location in the `.newsrc'
file. On exiting All mode the user is placed back in News-
group mode. In order to read the articles in a particular
group, the user goes from Newsgroup mode to Article mode.
In Article mode the user can sequence through the articles
in the group forward or backward, mark a group of articles
as read or unread, mark all articles in the current group as
read, unsubscribe to the current group, return to the last
article visited, search forward or backward for an article
subject (either for the exact subject or for a regular
expression in the subject), locally kill all articles with a
particular subject, and quit (saving all changes) or exit
(leaving all articles marked unread). In addition, the user
can save the current article in a file, post an article to
the group, post a followup to the current article, mail a
reply to the author of an article, and return to Newsgroup
mode.
NEWS SYSTEM
The news system is a set of bulletins, discussion groups,
program sources, and other bits of information distributed
28 November 1988 Page 2 Printed 1/24/91
XRN(1) RISC/os Reference Manual XRN(1)
around the world under the name `USENET'. The information
is generally called `news' and is broken up into `news-
groups'. Each newsgroup deals with a subject or set of sub-
jects. The subjects for newsgroups are varied: from dis-
cussions about particular versions of UNIX to movie reviews,
from information on the X window system to commentary on
current social and political issues.
For information on what newsgroups are available, answers to
commonly asked questions, and newsgroup ediquette, read the
articles in the newsgroup `news.announce.newsusers'.
NEWS SERVER
In order to run xrn on a machine, the machine must be run-
ning an NNTP news server or be on a network that has a
machine running an NNTP news server (the source for an NNTP
server can be retrieved by anonymous ftp from the machine
`ucbvax.berkeley.edu' [128.32.137.3, 10.2.0.78]). Either
the file `/usr/local/lib/rn/server' must contain the name of
the server machine, the environment variable NNTPSERVER must
be set to the name of the server machine, the nntpServer
Xdefault must be set to the name of the server machine, or
the `-nntpServer' flag must be specified on the command line
(with the order of precedence being command line, Xdefault,
environment variable, file).
SCREEN LAYOUT
The screen displayed by xrn consists of seven sections: a
title bar, two scrollable text windows, two information
bars, and two button boxes. The title bar displays the
current version of the program. The top text window
displays information based on the mode. In Add mode, the
window displays all groups that are not currently in the
`.newsrc' file, one per line. In Newsgroup mode, the window
displays the groups containing unread articles; each group
represented by a line of the form:
Unread news in <group name> <num> article(s) [<first>,<last>]
<group name> is the name of the group, <num> is the number
of unread articles, and <first> and <last> are the numbers
of the first and last available articles, respectively. In
Article mode, the window displays a list of subjects for the
articles in the current group, with each subject line being
represented by a line of the form:
[+u][S] <num> <subject of the article>
where <num> is the article number, a `+' in the first posi-
tion means that the article has been read, a `u' in the
first position means that the article has been marked as
unread, and a 'S' in the second position means that the
Printed 1/24/91 28 November 1988 Page 3
XRN(1) RISC/os Reference Manual XRN(1)
article has been saved to a file. The top information bar
displays information about the mode, the buttons in the top
button box, and error messages. The top button box has but-
tons that are specific to the mode and apply to the informa-
tion in the top text window. The bottom text window
displays articles in Article mode and a list of all known
groups and their subscription status in All mode. The bot-
tom information bar displays information about the mode, the
buttons in the bottom button box, and error messages. The
bottom button box has buttons that are specific to the mode
and apply to the information in the bottom text window.
BUTTONS, SCROLL BARS, AND SELECTION
All button and text selection commands are done with the
left mouse button. Single-line text selection is accom-
plished by clicking the left mouse button on the desired
line. Multiple-line selection is accomplished by clicking
the left mouse button on the first line, holding the button
down, dragging the mouse to the last line, and releasing the
mouse button. Multiple-line selection can also be accom-
plished by left-clicking on the first line, and right-
clicking on the last line. Selected lines appear in reverse
video (the foreground and background colors are switched).
The text windows are scrolled with the scroll bar on the
left side of the window. Clicking the left mouse button in
the scroll bar will scroll the text down some fraction of a
page; clicking the right mouse button in the scroll bar
similarly scrolls up. Clicking the middle mouse button will
scroll over larger areas: clicking at the top of the scroll
bar will scroll to the top of the text, clicking in the mid-
dle will scroll to the middle of the text, and clicking at
the bottom will scroll to the bottom of the text. For those
who like using the keyboard, hitting control-V while the
mouse cursor is in a scrollable text window will cause the
window to scroll down one page, meta-V will scroll up one
page. Hitting the space bar (while the mouse cursor is in
the top button box) will do the right thing; scroll the
article text window when appropriate, go to the next article
at the end of the current article, go to newsgroup mode when
done with all articles in the current group, and go to the
next group when in newsgroup mode.
MODES
The next few sections describe the individual modes in xrn.
Each button in the various modes is described with the label
for the button and the name of the button. The name of the
button can be used in X resources, in the button lists, and
in the bindings tables.
ADD MODE
Add mode is entered when new groups have been detected
(groups that the news system knows about but are not in the
28 November 1988 Page 4 Printed 1/24/91
XRN(1) RISC/os Reference Manual XRN(1)
`.newsrc' file).
quit (addQuit)
Add remaining groups in the list to `.newsrc' as unsub-
scribed; go to group mode.
add first (addFirst)
Add the current group(s) to the beginning of the
`.newsrc' file and mark as subscribed. The current
group is the selected group(s), or the group on the
line containing the cursor.
add last (addLast)
Add the current group(s) to the end of the `.newsrc'
file and mark as subscribed.
add after group (addAfter)
Add the current group(s) after a group already in the
`.newsrc'. A dialog box is used to allow the user to
enter the name of the group to add the group after.
The mouse cursor must be in the dialog box for xrn to
accept text (however, it does not have to be in the
type-in area). The dialog box has two options: abort
and add. No other buttons on the screen will work
until the user has selected an option in the dialog
box. Hitting carriage return is the same as clicking
the add button (in all xrn dialog boxes hitting car-
riage return is the same as clicking in the rightmost
button of the dialog box).
add unsubscribed (addUnsub)
Add the current group(s) to the end of the `.newsrc'
file and mark as unsubscribed.
NEWSGROUP MODE
Newsgroup mode informs the user of the groups with unread
news and gives the user control over which groups are
visited. Clicking the middle button on the newsgroup entry
will enter the newsgroup.
quit (ngQuit)
quit xrn.
read group (ngRead)
Read the articles in the current group. The current
group is either the one selected (if one is selected)
or the one on the line containing the cursor. If all
groups have been read, the user can still access groups
by using the goto newsgroup command. Hitting the space
bar with the cursor in the top button box will call
this function.
Printed 1/24/91 28 November 1988 Page 5
XRN(1) RISC/os Reference Manual XRN(1)
next (ngNext)
Move the cursor to the next group, leaving the articles
in the current group untouched.
prev (ngPrev)
Move the cursor to the previous group, leaving the
articles in the current group untouched.
catch up (ngCatchUp)
Mark all articles in the current group as read.
subscribe (ngSubscribe)
Subscribe to a group. A dialog box is used to allow
the user to enter the name of the group. The dialog
box has the following options: abort, prev group (sub-
scribe to the previous group visited), first (put group
in the beginning of the `.newsrc' file), last (put
group in the end of the `.newsrc' file), and current
position (put group at the position of the cursor).
This command can also be used to change the position of
a subscribed group. Hitting carriage return after typ-
ing in the name is the same as clicking the current
position button.
unsubscribe (ngUnsub)
Unsubscribe from the current group.
goto newsgroup (ngGoto)
Go to a group that is not currently displayed. The
first unread article is displayed. If all articles in
the group have been read, the last article in the group
is displayed.
all groups (ngAllGroups)
Display all of the groups that exist, their subscrip-
tion status, and a set of buttons for changing the
status.
rescan (ngRescan)
Query the server for any new groups or articles.
prev group (ngPrevGroup)
Re-visit the previous group visited.
select groups (ngSelect)
Records the groups currently selected. If no groups
are selected, nothing is recorded.
move (ngMove)
Moves the groups previously selected with the select
groups command to the current cursor position. If the
cursor is currently inside the groups to be moved, no
28 November 1988 Page 6 Printed 1/24/91
XRN(1) RISC/os Reference Manual XRN(1)
groups are moved. If any other button is invoked after
select groups and before move, the selection is lost,
and no groups are moved.
exit (ngExit)
Quit xrn, leaving the `.newsrc' file unchanged since
the last `rescan' operation or `checkpoint'. If
`updateNewsrc' is on, then the `.newsrc' file is kept
up to date with the last time Article mode was exited.
checkpoint (ngCheckPoint)
Update the `.newsrc' file. xrn normally updates the
`.newsrc' file on `rescan' and `quit' in Newsgroup
mode. This allows you to update the `.newsrc' file
without exiting xrn or reconnecting to the server.
gripe (ngGripe)
Send a gripe (bug, bug fix, complaint, feature request,
etc.) to the authors of the program.
post (ngPost)
Post an article to a newsgroup. See "post" under Arti-
cle mode for more information.
ALL MODE
All mode allows the user to change both the subscription
status and the `.newsrc' file position of any available
group. All operations can apply to multiple groups. Thus,
the user should never have to use a text editor on the
`.newsrc' file. Hitting the space bar with the cursor in
the top button box will scroll the bottom text window.
quit (allQuit)
Update the `.newsrc' file and return to group mode.
subscribe (allSub)
Subscribe to the current group, leaving it at its
current position in the `.newsrc' file.
subscribe first (allFirst)
Subscribe to the current group and add it to the begin-
ning of the `.newsrc' file.
subscribe last (allLast)
Subscribe to the current group and add it to the end of
the `.newsrc' file.
subscribe after group (allAfter)
Subscribe to the current group and add it after a par-
ticular group in the `.newsrc' file (which is entered
with the use of a dialog box).
Printed 1/24/91 28 November 1988 Page 7
XRN(1) RISC/os Reference Manual XRN(1)
unsubscribe (allUnsub)
Unsubscribe the current group.
goto group (allGoto)
Go to the current newsgroup.
select groups (allSelect)
move (allMove)
Same as the "select groups" and "move" buttons in News-
group mode.
toggle order (allToggle)
Toggle the order of the newsgroups in the window
between `.newsrc' order and alphabetical order.
scroll forward (allScroll)
Scroll the all groups window forward a page.
scroll backward (allScrollBack)
Scroll the all groups window backwards a page.
ARTICLE MODE
Article mode is used for reading and manipulating articles
in a single group. When a group is entered, the list of
article subjects displayed contains those from the first
unread article to the last available article. Previous
articles can be obtained by using the prev or subject previ-
ous commands. Hitting the space bar with the cursor in the
top button box in Article mode will ``do the right thing'';
it will scroll an article if there is more of the article to
see and call the next unread function if there is no more of
the article to see. Clicking the middle button on the arti-
cle entry will display the article.
quit (artQuit)
Update the `.newsrc' file and return to group mode.
next unread (artNextUnread)
Display the selected article if it is unread; other-
wise, display the first unread article AFTER the cursor
position. If no unread articles exist, xrn returns to
Newsgroup mode.
next (artNext)
Display the selected article, if any; otherwise,
display the next article in the current group. Return
to Newsgroup mode after the last article has been
reached.
prev (artPrev)
Display the selected article, if any; otherwise,
28 November 1988 Page 8 Printed 1/24/91
XRN(1) RISC/os Reference Manual XRN(1)
display the previous article in the current group.
last (artLast)
Display the last article accessed before the currently
displayed one. This command only keeps track of one
previously accessed article, so invoking it repeatedly
simply toggles the display between two articles.
next newsgroup (artNextGroup)
Go directly to the next newsgroup with unread news
(bypass newsgroup mode).
catch up (artCatchUp)
Mark all articles in the current group as read; return
to Newsgroup mode. It a particular article is
selected, catch up from the beginning of the group to
the selected article.
fed up (artFedUp)
Mark all articles in the current group as read; go to
the next newsgroup.
goto article (artGotoArticle)
Go to the specified article number.
mark read (artMarkRead)
Mark an article (or group of articles) as read. This
command marks either the selected article(s) or the
article the cursor is on, and leaves the cursor at its
current position.
mark unread (artMarkUnread)
Mark an article (or group of articles) and unread.
This command marks either the selected article(s) or
the article the cursor is on, and leaves the cursor at
its current position. When an article is marked as
unread, a 'u' is placed in the far left column next to
the article's subject. The next, prev, subject next,
and subject prev buttons will all display this article
if they come across it, but the next unread button will
not. The only way to mark an article as read once it
has been marked with a 'u' is to use the mark read
function.
unsubscribe (artUnsub)
Unsubscribe from the current group; return to Newsgroup
mode.
subject next (artSubNext)
Find and display the next article with the same subject
as the current article (stripping the '[rR][eE]:' gar-
bage). If there are no more articles with the current
Printed 1/24/91 28 November 1988 Page 9
XRN(1) RISC/os Reference Manual XRN(1)
subject and there are more unread articles, the first
unread article is selected. If there are no more arti-
cles with the current subject and there are no more
unread articles, Article mode is exited.
subject prev (artSubPrev)
Find and display the previous article with the same
subject as the current article. When the program must
go to the server to get old articles, the top informa-
tion line will display the number of the article being
fetched.
session kill (artKillSession)
Mark all articles with the current subject as read, for
this session only.
local kill (artKillLocal)
Mark all articles with the current subject as read for
this group, and for this and all future sessions.
global kill (artKillGlobal)
Mark all articles with the current subject as read for
all groups, and for this and all future sessions.
author kill (artKillAuthor)
Mark all articles by the current author as read for
this session only.
subject search (artSubSearch)
Begin a regular expression subject search. When this
button is invoked, a window pops up querying the user
for a regular expression (of the form used in ed), and
a direction in which to search. If a regular expres-
sion is not typed in, the last regular expression is
used, and the search direction is the one specified in
the dialog box (this can be used to switch the direc-
tion of the search without retyping the expression).
continue (artContinue)
Continue the last regular expression search by search-
ing for the same regular expression in the same direc-
tion.
scroll forward (artScroll)
Scroll the article text forward a page.
scroll backward (artScrollBack)
Scroll the article text backward a page.
post (artPost)
Post an article to the current group. A scrollable,
editable text window will appear with a header and the
28 November 1988 Page 10 Printed 1/24/91
XRN(1) RISC/os Reference Manual XRN(1)
user's `~/.signature' file included. An appropriate
header will be generated with a number of blank header
fields that if left blank will be deleted from the
posting. The editor defaults to the standard Xtoolkit
editor (similar to emacs), and the default can be over-
ridden by using the command line option -editorCommand
or by setting the same Xdefault (see the section on
command line arguments). The mouse buttons can be used
to select text in this window (which can then be placed
in a file, for example).
There are four buttons at the bottom of the window:
abort, send (to post the article), save (to save the
article in a file), and include (include the text of
the article in the reply or followup). Only one post
(or followup or reply) window can be active at a time.
exit (artExit)
Exit article mode, marking all articles listed in the
top window as unread.
gripe (artGripe)
Send a gripe (bug, bug fix, complaint, feature request,
etc.) to the authors of the program.
save (artSave)
Save the current article in a file, or use the current
article as standard input to a command. The save com-
mand will pop up a dialog box for the filename. The
dialog box has two buttons: abort and save. If the
filename begins with a `|', the article will be sent to
the command specified after the `|'. Otherwise, the
article will be appended to the file specified. If the
name is relative (does not begin with `/' or `~'), it
will be prepended by `~/News/'. If no name is speci-
fied, it will be saved in `~/News/<groupname>', where
`<groupname>' is the name of the current group with the
first letter capitalized (follows the rn article saving
conventions). If -saveMode is set to `subdirs', then
`~/News/<groupname>/' will be used instead of
`~/News/'.
reply (artReply)
Reply (by mail) to the author of the current article.
See post for a description of how to create and send a
message.
forward (artForward)
Send the current article to another person via mail.
followup (artFollowup)
Post a followup article to the current article. See
Printed 1/24/91 28 November 1988 Page 11
XRN(1) RISC/os Reference Manual XRN(1)
post for a description of how to create and send an
article.
cancel (artCancel)
Cancel the current article.
rot-13 (artRot13)
Decrypt a encrypted article. In the newsgroup
`rec.humor', occasionally articles are submitted that
may offend certain people or groups of people. In
order to minimize the offense, these articles are
posted in an encrypted form. This button will decrypt
them.
toggle header (artHeader)
Show the full text of an article, including the full
header.
print article (artPrint)
Send the article to the printer (see the `printCommand'
command line option).
CUSTOMIZING XRN
Colors, fonts, and other xrn options can be specified on the
command line or using X resources. With the exception of
the display name, all xrn options can be specified using X
resources. Options specified on the command line take pre-
cedence over those specified using X resources.
COMMAND LINE ARGUMENTS
Here are the current command line arguments (the X resources
have the same names and values as the command line argu-
ments), under VMS all command line arguments are in lower-
case:
-display display
specification of the X display.
-geometry WxH+X+Y
specification of the xrn window size and location.
The window manager may choose to ignore this
specification.
-iconGeometry +X+Y
specification of the initial xrn icon location.
The window manager may choose to ignore this
specification.
-iconic start up xrn with the window iconified.
28 November 1988 Page 12 Printed 1/24/91
XRN(1) RISC/os Reference Manual XRN(1)
-nntpServer hostname
the NNTP server to use.
-newsrcFile file
the newsrc file to use. Defaults to `~/.newsrc'.
If a file with a name of the form `<newsrcFile>-
<nntpServer>' is found, it will be used.
-saveNewsrcFile file
the saved `.newsrc' filename. Before the
`.newsrc' file is modified on startup, it is saved
in a backup file. Defaults to `~/.oldnewsrc'.
-saveDir dir
the article saving directory. Defaults to
`~/News' when -saveMode specifies `onedir', or
`~/News/newsgroup' when -saveMode specifies `sub-
dirs'.
-signatureFile file
the signature file to use. Defaults to `~/.signa-
ture'.
-topLines number
the number of lines to be used for the top text
window (where the unread groups and article sub-
jects are listed).
-saveMode mode
the mode for saving articles; a comma separated
list of options. The options can be `mailbox' or
`normal', `headers' or `noheaders', and `onedir'
or `subdirs'. The default is
`normal,headers,onedir'.
-leaveHeaders list
the header fields to leave in the article; a comma
separated case-insensitive list of field names
(i.e., subject,from,organization). This option
takes precedence over `stripHeaders'.
-stripHeaders list
the header fields to strip from the article; a
comma separated case-insensitive list of field
names (i.e., keywords,message-id).
-deadLetters file
the name of the file to save failed postings and
messages. Defaults to `~/dead.letters'.
-savePostings file
the name of the file to save postings and messages
Printed 1/24/91 28 November 1988 Page 13
XRN(1) RISC/os Reference Manual XRN(1)
(via the `save' button in the composition window).
Defaults to `~/Articles'.
-minLines number
the minimum number of lines above the cursor in
the subject line display. If negative, the sub-
ject line display scrolls only at the bottom and
only one line at a time.
-maxLines number
the maximum number of lines above the cursor in
the subject line display. If negative, the sub-
ject line scrolls only at the bottom and only one
line at a time.
-cancelCount number
the number of articles to search before popping up
the cancel button.
-mailer mailer
the command to use for mailing replies. This com-
mand must take all of it's input from stardard
input (xrn will not build a command line). The
default is `/usr/lib/sendmail -oi -t'.
-tmpDir directory
the directory to use for the temporary storage of
articles fetched from the server. If this option
and the corresponding Xdefault do not exist, xrn
will look for the environment variable TMPDIR.
The default is `/tmp'.
+/-subjectRead
When using the space bar to scroll, when an arti-
cle is finished, the space-bar scrolling invokes
subject next instead of next unread.
+/-sortedSubjects
Display the subject lines in the subject window
sorted by subject.
+/-info Display all informative messages in the message
pane. Defaults to display all information in the
message pane.
+/-typeAhead
Allow/disallow typeahead. Defaults to allow
typeahead.
+/-confirm list
Turn on confirmation boxes for the buttons listed.
These boxes pop up to ask the user to verify the
28 November 1988 Page 14 Printed 1/24/91
XRN(1) RISC/os Reference Manual XRN(1)
invocation of "dangerous" actions (such as catch
up and unsubscribe). The list of buttons is a
comma separated list of button names. The buttons
that can be confirmed: ngQuit, ngExit, ngCatchUp,
artCatchUp, ngUnsub, and artUnsub.
+/-killFiles
turn the use of kill files on/off. The default is
on.
-editorCommand command
use an alternate editor for creating postings,
followups, forwards, gripes, and replies. The
argument, `command', must be a sprintf format
string that contains a `%s' where the file name
should be placed. Examples are:
xterm -e vi %s
xterm -e microEmacs %s
emacsclient %s
The resulting command should handle all editing and
windowing. The article being followed up or
replied to is automatically included.
-breakLength len
Break lines longer than `len' characters into mul-
tiple lines. Default is 80 characters. If set to
0, line breaking is disabled.
-lineLength len
Length of lines that are broken. Default is 72
characters. If set to 0, line breaking is dis-
abled.
-rescanTime time
Amount of idle time (in seconds) before checking
for new articles.
+/-includeHeader
Include or do not include the original header in
included articles. The default is to not include
the header.
-includePrefix prefix text
Change the standard prefix for each line of
included text from the default, "|> ", to the
given text string.
+/-includeSep
Include or do not include the prefix text ("|> ")
in front of included articles. The default is to
Printed 1/24/91 28 November 1988 Page 15
XRN(1) RISC/os Reference Manual XRN(1)
include the prefix text ("|> ").
+/-updateNewsrc
Update the newsrc file when leaving Article mode.
-organization organization
Set the organization name in postings and follow-
ups.
-replyTo name
Set the Reply-To field in postings and followups.
-printCommand command
Set the command used for printing articles. The
article is sent to the command via standard input.
Defaults to `enscript'.
-ngButtonList list
-artButtonList list
-artSpecButtonList list
-addButtonList list
-allButtonList list
use the given list of buttons for the particular
mode in the order given rather than all of the
buttons for the mode in the default order. The
list is a comma separated list of button names.
The names of the buttons appear next after the
button label in the button descriptions above.
For example, a list of buttons for Newsgroup mode
might be:
ngQuit,ngRead,ngCatchUp,ngRescan,ngSubscribe,ngPost
-ngBindings bindings
-allBindings bindings
-addBindings bindings
-artBindings bindings
use the given bindings for the key/mouse bindings
for the particular mode. The default key bindings
are as close to the `rn (1)' key bindings as are
possible with xrn. See the X toolkit documenta-
tion on `Translation Tables' for information on
the format of `bindings'. The actions defined in
xrn are the same as the button names. For exam-
ple, a set of bindings for Newsgroup mode might
be:
28 November 1988 Page 16 Printed 1/24/91
XRN(1) RISC/os Reference Manual XRN(1)
xrn.ngBindings: \
<Key>Q: ngQuit() \n\
<Key>N: ngRead() \n\
<Key>P: ngPrev()
+/-pageArticles
Space bar with either scroll the current article
or go to the next article.
+/-dumpCore
Dump core when a signal is detected. The X
resources class for the "dumpCore" X resource is
"Debug".
+/-verboseKill
List subjects or just give a count when killing
articles. The default is on.
+/-cc put 'Cc: user' in replies.
+distribution dist
Set the default distribution to `dist'.
+defaultLines count
Number of lines to scroll.
X RESOURCES
xrn takes a number of specifications for colors, fonts,
border widths, and other program options. The format for an
xrn X resource is:
xrn.x.y....z.a: value
Where x.y....z specifies the path from the top level of xrn
to a particular item (think of xrn as a hierarchical collec-
tion of windows, panes, and buttons, and x.y....z is a path
from the top of the hierarchy to a node in the hierarchy), a
is the type of default (i.e., font, border, foreground,
background, borderWidth), and value is the value of the
default (i.e,. a color name or hex representation, a font
name, a numeric value). Specifying a default for a item at
some point in the hierarchy will set that default for all
items from that point down in the hierarchy. A higher level
default can be overridden by specifying a default at a lower
level directly.
XRN widget hierarchy:
vpane (Paned)
titlebar (Label) (optional)
index (Text)
indexinfo (Label)
indexbuttons (Box)
Printed 1/24/91 28 November 1988 Page 17
XRN(1) RISC/os Reference Manual XRN(1)
buttonName (Command)
articleText (Text)
textinfo (Label)
textbuttons (Box)
buttonName (Command)
Composition (Shell)
vpane (Paned)
label (Label)
text (Text)
box (Box)
abort (Command)
send (Command)
save (Command)
includeArticle (Command)
includeFile (Command)
dialogs...
Examples of defaults are:
#
xrn.newsrcFile: ~/.newsrc
xrn.nntpServer: pasteur
xrn.organization: UC Berkeley XRN Design Team
xrn.replyTo: user@machine.domain
xrn.iconGeometry: +64+521
xrn.leaveHeaders: subject,from
xrn.includeHeader: off
xrn.signatureFile: ~/.signature
xrn.geometry: =750x770+10+10
xrn.deadLetters: ~/dead.letters
xrn.savePostings: ~/Articles
xrn.topLines: 9
xrn.saveMode: mailbox,headers,onedir
xrn.minLines: 3
xrn.maxLines: 6
xrn.tmpDir: /tmp
xrn.mailer: /usr/lib/sendmail -oi -t
#
xrn.Gripe.geometry: +50+50
#
xrn.ngButtonList: ngQuit,ngRead,ngCatchUp,ngRescan,ngSubscribe,ngPost
xrn.artButtonList: artQuit,artNextUnread,artCatchUp,artPost,artNextGroup
#
xrn.ngBindings: \
<Key>Q: ngQuit() \n\
<Key>N: ngRead() \n\
<Key>P: ngPrev()
#
xrn*background: plum
xrn*foreground: red
xrn*font: 9x15
28 November 1988 Page 18 Printed 1/24/91
XRN(1) RISC/os Reference Manual XRN(1)
xrn*border: LightGray
#
xrn*Text*Background: DarkSlateGray
xrn*Text*Foreground: yellow
xrn*ScrollBarMgr.thickness: 22
xrn*ScrollBar.background: DarkSlateGray
xrn*ScrollBar.foreground: yellow
xrn*ScrollBar.border: White
xrn*Label.background: cyan
xrn*Label.foreground: blue
xrn*Command.foreground: White
xrn*Command.background: coral
#
xrn*Box.ngQuit.foreground: Black
xrn*Box.ngQuit.background: red
#
xrn*dialog*font: 9x15
xrn*dialog*background: LimeGreen
xrn*dialog*foreground: CornflowerBlue
xrn*dialog*Label.foreground: NavyBlue
xrn*dialog*Command.foreground: Black
xrn*dialog*Command.background: yellow
xrn*dialog*Text.background: Wheat
xrn*dialog*Text.foreground: SteelBlue
xrn*dialog*borderWidth: 2
#
FILES
~/.newsrc description of the groups and the articles
read in each group
~/.oldnewsrc backup of ~/.newsrc (created at startup)
~/.signature signature for use when sending messages
~/News directory where articles are saved
~/Articles where `saved' postings and messages are
stored
~/dead.letter where failed postings and messages are
stored
~/.xrnlock lock file
/usr/local/lib/rn/server location of the news server host-
name (optional)
/usr/local/lib/news/hiddenhost location of the hid-
denhost name (optional)
/usr/local/lib/news/pathhost location of the path host name
(optional)
/usr/local/lib/news/domain location of the domain name
(optional)
/etc/uucpname location of the UUCP name for your host
(optional)
/usr/lib/sendmail default mailer
CHANGES list of changes from the previous ver-
sion
Printed 1/24/91 28 November 1988 Page 19
XRN(1) RISC/os Reference Manual XRN(1)
TODO list of bugs and things to do
ENVIRONMENT VARIABLES
NNTPSERVER hostname of the news server
TMPDIR temporary directory
DOMAIN name of your internet domain
(".Berkeley.EDU", ".orst.edu")
HIDDENHOST full domain-style name of the host that you
want your return path to be from ("decvax.dec.com",
"Berkeley.EDU")
HIDDENPATH name of the host that you want put in the
Path field of messages.
USER login name of the user.
HOME home directory of the user.
FULLNAME full name of the user, used for the From field of
messages.
SEE ALSO
readnews(1), rn(1), vnews(1), X(1), nntpd(8)
COMMENTS
The name (xrn) is a bit of a misnomer. xrn is not an X
interface to `rn' (the terminal-based news reading program
by Larry Wall), but is an X-based news reader that has had
part of the functionality of `rn' added since a number of
our users are (were?) `rn' users (all of the code is new).
Much of the `rn' funcionality that xrn currently has was not
in the original plan (KILL files, for example).
The user interface look and feel is modeled after that of
`XMH' (by Terry Weissman).
The `.newsrc' file is updated on executing the `quit' com-
mand in Newsgroup mode, during every `rescan', and by
`checkpoint'. If the `updateNewsrc' option is set, the
`.newsrc' file will be updated everytime Article mode is
exited.
xrn catches signals and X errors and will clean up on error
exit (remove temporary files, update the `.newsrc' file).
The cleanup will be done and then a death notifier box will
be posted (if the signal is SIGHUP or SIGINT, the death
notifier will be skipped and the program will exit). The
"click to exit" button must be pressed in the death notifier
box for the program to exit.
XREFS are handled by xrn, however only articles that are
actually read (not marked as read by 'catchup' or 'mark as
read') have their XREFS chased and only groups that are
currently subscribed to have XREFed articles marked as read.
28 November 1988 Page 20 Printed 1/24/91
XRN(1) RISC/os Reference Manual XRN(1)
The default specifications for color and fonts can be
confusing (thousands of different X resources can be speci-
fied for xrn, no two users' xrn displays need to be the
same).
xrn uses the XHDR command of the Berkeley NNTP news server
(XHDR is not part of the protocol defined by RFC 977). xrn
will detect the presence of this command and complain if it
does not exist.
Since the NNTP protocol does not define a unique response
code for server timeout, timeout recovery may not work if
the format of the timeout error message changes.
xrn assumes a `smart' or `lucky' mailer.
xrn notices that the `.newsrc' file has been updated by
another program while xrn is running and informs the user
(and gives the user the option to quit without updating the
`.newsrc' or to continue on).
Article temporary files can be removed and xrn will recover.
xrn strips `<character>^H' from articles.
The v{f,s}printf implementation included with xrn is from
Robert A. Larson <blarson@skat.usc.edu>.
The strtok implementation included with xrn is from Henry
Spencer <henry@zoo.toronto.edu>.
BUGS
See TODO for a full list of bugs and things that need to be
done.
Incomplete KILL file support.
See config.h for a list of defines you may want to use based
on problems that may exist in your version of the X11
toolkit and widgets.
Report bugs and requests for features to
`xrn@eros.berkeley.edu' (...!ucbvax!eros!xrn).
Requests to be placed on the xrn users mailing list should
be sent to `xrn-users-request@eros.berkeley.edu'
(...!ucbvax!eros!xrn-users-request).
ORIGINAL AUTHORS
Ellen M Sentovich (UC Berkeley, ellen@ic.berkeley.edu,
...!ucbvax!ic!ellen)
Printed 1/24/91 28 November 1988 Page 21
XRN(1) RISC/os Reference Manual XRN(1)
Rick L Spickelmier (UC Berkeley, ricks@berkeley.edu,
...!ucbvax!ricks)
See the FIXERS/CHANGES files for a listing of those who have
really been doing most of the work over the last year or so!
28 November 1988 Page 22 Printed 1/24/91