Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ xrn(1) — mips 4.00

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

readnews(1)

rn(1)

vnews(1)

X(1)

nntpd(8)



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



Typewritten Software • bear@typewritten.org • Edmonds, WA 98026