Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ xrn(1) — Dell System V Release 4 Issue 2.2

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

emacs(1)

readnews(1)

rn(1)

sh(1)

sprintf(3)

vnews(1)

X(1)

nntpd(8)

XRN(1)

UCB(3 July 1991)



XRN(1)                        X UCB(3 July 1991)                         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 protocol for accessing newsgroups and articles on an NNTP
      server, thus allowing users to read news from personal workstations by
      accessing a central news repository.  This manual page applies to version
      6.17.

DESCRIPTION
      xrn [+/-authorFullName] [-breakLength len] [-cancelCount number] [+/-cc]
      [+/-ccForward] [-confirm list] [-deadLetters file] [-defaultLines count]
      [+/-displayLineCount] [-distribution dist] [+/-dumpCore] [-editorCommand
      command] [-includeCommand command] [-iconGeometry +X+Y] [+/-
      includeHeader] [+/-extraMailHeaders] [-includePrefix "prefix text"] [+/-
      includeSep] [+/-info] [+/-killFiles] [-leaveHeaders list] [-lineLength
      len] [-lockFile file] [-minLines number] [-mailer mailer] [-maxLines
      number] [-newsrcFile file] [-nntpServer name] [-organization org] [+/-
      pageArticles] [-printCommand command] [-replyTo name] [-rescanTime time]
      [+/-resetSave] [-saveDir directory] [-saveNewsrcFile file] [-saveString
      string] [-signatureFile file] [-stripHeaders list] [-saveMode mode] [-
      savePostings file] [+/-sortedSubjects] [+/-subjectRead] [-topLines
      number] [-tmpDir directory] [+/-typeAhead] [+/-updateNewsrc] [+/-
      useGadgets] [+/-verboseKill] [-addButtonList list] [-ngButtonList list]
      [-artButtonList list] [-artSpecButtonList list] [-allButtonList list] [-
      addBindings bindings] [-ngBindings bindings] [-artBindings bindings] [-
      allBindings bindings]

      Along with the standard toolkit options, including 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 customization (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 section titled "BUTTONS,
      SCROLL BARS, and SELECTION" can be skipped.

      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
      subscribed 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


10/89                                                                    Page 1







XRN(1)                        X UCB(3 July 1991)                         XRN(1)


      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 newsgroups, 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 Newsgroup 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, forward an article to another user via mail, 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 around the world under
      the name `USENET'.  The information is generally called `news' and is
      broken up into `newsgroups'.  Each newsgroup deals with a subject or set
      of subjects.  The subjects for newsgroups are varied:  from discussions
      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'.  Users who are new to the USENET are
      strongly encouraged to become familiar with the contents of the articles
      in `news.announce.newusers' before posting any messages.

NEWS SERVER
      In order to run xrn, you must have access to an NNTP news server.  If you
      do not have access to such a server and would like to set one up, see the
      "USENET Software:  History and Sources" posting in news.announce.newusers
      for information about where to get the appropriate software.  Either the
      file `/usr/local/lib/rn/server' (this filename may be configured


Page 2                                                                    10/89







XRN(1)                        X UCB(3 July 1991)                         XRN(1)


      differently at some sites) must contain the name of the server machine,
      the environment variable NNTPSERVER must be set to the name of the server
      machine, the nntpServer X resource 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, X resource, environment
      variable, file).  The name can be either the actual host name of the NNTP
      server (i.e. shambhala.berkeley.edu) or the internet number (i.e.
      128.32.132.54).  If someone else has installed xrn at your site, then it
      is probably already configured to use the correct news server and you
      don't have to worry about it.

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 is represented by a line of the form:

         Unread news in <group name>           <num> article(s) + <old> old

      <group name> is the name of the group, <num> is the number of unread
      articles, and <old> is the number of read articles that are still
      available (i.e. have not been expired) on the news server.  If "List old"
      is toggled on, then the word "Unread" will not appear on the lines of
      newsgroups with no unread articles, and furthermore, the words "news in"
      will not appear on the lines of newsgroups with no available articles at
      all.

      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][SP] <num>    <subject of the article> [<lines>] <author>

      where <num> is the article number, <lines> is the number of lines in the
      article (when available), and <author> is the author of the article.  A
      `+' in the first position means that the article has been read, a `u' in
      the first position means that the article has been marked as unread, a
      'S' in the second position means that the article has been saved to a
      file, and a 'P' in the second position means that the article has been
      printed.

      The top information bar displays information about the mode, the buttons
      in the top button box, and error messages.  The top button box has
      buttons that are specific to the mode and apply to the information 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 bottom 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


10/89                                                                    Page 3







XRN(1)                        X UCB(3 July 1991)                         XRN(1)


      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 accomplished 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 accomplished 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 middle 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.

      Clicking the middle button on a newsgroup in Newsgroup mode causes xrn to
      enter Article mode in that newsgroup.  Clicking the middle button on an
      article in Article mode causes that article to be displayed.

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 `.newsrc' file).

      quit (addQuit)
            Add remaining groups in the list to `.newsrc' as unsubscribed; 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.


Page 4                                                                    10/89







XRN(1)                        X UCB(3 July 1991)                         XRN(1)


      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
            carriage 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 a newsgroup entry will enter that newsgroup.

      quit (ngQuit)
            quit xrn.

      read group (ngRead)
            Read the articles in the current group.  The current group is
            either the first one selected (if one or more are 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.

      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 (subscribe to the previous group


10/89                                                                    Page 5







XRN(1)                        X UCB(3 July 1991)                         XRN(1)


            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 typing 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.  The name specified can
            be a substring of the group name or a regular expression.

      all groups (ngAllGroups)
            Display all of the groups that exist, their subscription 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.

      list old (ngListOld)
            List all of the groups subscribed to, independent of if they have
            any unread articles.

      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 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 (see also 'artCheckPoint').


Page 6                                                                    10/89







XRN(1)                        X UCB(3 July 1991)                         XRN(1)


      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 Article 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 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 beginning 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 particular group
            (for which the user is prompted with a dialog box) in the `.newsrc'
            file.

      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 Newsgroup mode.

      toggle order (allToggle)
            Toggle the order of the newsgroups in the window between `.newsrc'
            order and alphabetical order.





10/89                                                                    Page 7







XRN(1)                        X UCB(3 July 1991)                         XRN(1)


      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
      previous commands.  Hitting the space bar 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 an article entry will
      display that article.

      quit (artQuit)
            Update the `.newsrc' file and return to group mode.

      next unread (artNextUnread)
            Display the selected article if it is unread; otherwise, display
            the first unread article AFTER the cursor position.  If no unread
            articles exist, xrn exits from Article mode and returns to
            Newsgroup mode (or to All mode, if Article mode was entered from
            All mode).

      next (artNext)
            Display the selected article, if any; otherwise, display the next
            article in the current group.  Exit from Article mode after the
            last article has been reached.

      prev (artPrev)
            Display the selected article, if any; otherwise, 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, bypassing
            Newsgroup or All mode.

      catch up (artCatchUp)
            Mark all articles in the current group as read; return to Newsgroup
            mode.  Articles marked as unread by 'mark unread' will not be
            marked as read.  It a particular article is selected, catch up from
            the beginning of the group to the selected article.



Page 8                                                                    10/89







XRN(1)                        X UCB(3 July 1991)                         XRN(1)


      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 (for which the user will be
            prompted with a dialog box).

      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) as 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 number.  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; exit from Article mode.

      subject next (artSubNext)
            Find and display the next article with the same subject as the
            current article (stripping the '[rR][eE]:' garbage).  If there are
            no more articles with the current subject and there are more unread
            articles, the first unread article is selected.  If there are no
            more articles 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.

      list old (artListOld)
            List all articles available in the group, even those that have been
            read.  Note that this button does not toggle (clicking this button
            twice will not put you back to where you were).

      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,
            for this and all future sessions.



10/89                                                                    Page 9







XRN(1)                        X UCB(3 July 1991)                         XRN(1)


      global kill (artKillGlobal)
            Mark all articles with the current subject as read for all groups,
            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 expression 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 direction of the
            search without retyping the expression).

      continue (artContinue)
            Continue the last regular expression search by searching for the
            same regular expression in the same direction.

      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 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 X toolkit editor
            (similar to emacs(1)), Another editor can be specified using the
            -editorCommand command line option or by setting the same X
            resource (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 five buttons at the bottom of the editor window: abort to
            abort the article (or message, if a mail message is being written
            rather than an article, send to post/send it, save to save it in a
            file, include file to include a file (for which the user is
            prompted with a dialog box) at the current cursor location, and
            include article to include the text of the current article at the
            current cursor location.  The include article button is omitted if
            there is no current article (e.g. if the user is sending a "Gripe"
            or if "post" was selected from Newsgroup mode).  Only one article
            or message window can be active at a time.





Page 10                                                                   10/89







XRN(1)                        X UCB(3 July 1991)                         XRN(1)


      exit (artExit)
            Exit article mode, marking all articles listed in the top window as
            unread.

      checkpoint (artCheckPoint)
            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 (see also 'ngCheckPoint').

      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 command 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 `~'), `~/News/' will be prepended to
            it.  If the name begins with a `+' the name is assumed to be an MH
            mail folder and a `refile' command will be done on the article.  If
            no name is specified, it will be saved in `~/News/<groupname>',
            where `<groupname>' is the name of the current group with the first
            letter capitalized (following the rn(1) article saving
            conventions).  If -saveMode is set to `subdirs', then
            `~/News/<groupname>/' will be used instead of `~/News/'.  If
            multiple articles are selected, all will be appended to the same
            file; however, if the file name has a %d in it, the %d will be
            replaced with the article number and each article will be saved in
            a separate file.

      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 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


10/89                                                                   Page 11







XRN(1)                        X UCB(3 July 1991)                         XRN(1)


            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 precedence 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 arguments).  Under VMS all
      command line arguments are in lowercase.

      +/-authorFullName
                Display the full name of the author or the user/hostname of the
                author.

      -breakLength len
                Break lines longer than `len' characters into multiple lines.
                Default is 0 characters.  If set to 0, line breaking is
                disabled (see also 'lineLength').

      -cancelCount number
                The number of articles to search before popping up the cancel
                button.

      +/-cc     Put 'Cc: user' in replies.  (X resources class is "CC".)

      +/-ccForward
                Put 'Cc: user' in forwarded messages.  (X resources class is
                "CC".)

      -confirm list
                Turn on confirmation boxes for the buttons listed.  These boxes
                pop up to ask the user to verify the 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.





Page 12                                                                   10/89







XRN(1)                        X UCB(3 July 1991)                         XRN(1)


      -deadLetters file
                The name of the file to save failed postings and messages.
                Defaults to `~/dead.letters'.

      +defaultLines count
                Number of lines to scroll.

      -display display
                specification of the X display.

      +/-displayLocalTime
                Display the 'Date:' field of the article using the local time
                zone (instead of GMT).

      +distribution dist
                Set the default distribution to `dist'.

      +/-dumpCore
                Dump core when a signal is detected.  The X resources class for
                the "dumpCore" X resource is "Debug".

      -editorCommand command
                Use an alternate editor for creating postings, followups,
                forwards, gripes, and replies.  `command' must be a string in
                sprintf(3) format containing a `%s', which will be replaced by
                the file name to be edited.  The command will be executed using
                the bourne shell (sh(1)).  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 on, replied to or forwarded is
               automatically included.

      -includeCommand command
                Use an alternate program for inserting current article text
                when following up on, replying to or forwarding a message.
                `command' must be a string in sprintf format that contains two
                `%s's, which will be replaced by the include prefix and the
                article file name (in that order).  Examples are:

                  sed -e 's/^/%s /' %s
                  xmh-insert-reply -separator '%s' %s

               The command provided should output to its standard output the
               text to be included in the message, derived as desired from the
               prefix and the contents of the article file.  The command will
               be executed using the bourne shell.




10/89                                                                   Page 13







XRN(1)                        X UCB(3 July 1991)                         XRN(1)


      -geometry WxH+X+Y
                Specification of the xrn window size and location.  The window
                manager may choose to ignore this specification.

      -iconic   Start up xrn with the window iconified.

      -iconGeometry +X+Y
                Specification of the initial xrn icon location.  The window
                manager may choose to ignore this specification.

      +/-includeHeader
                Include or do not include the original header in included
                articles.  The default is to not include the header.

      +/-extraMailHeaders
                When replying via mail to a posting, include or do not include
                an "X-Newsgroups:" line with the newsgroups list from the
                posting and a "In-reply-to:" line with its message ID.

      -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 include the prefix text
                ("|> ").

      +/-info   Display all informative messages in the message pane.  Defaults
                to display all information in the message pane.

      +/-killFiles
                Turn the use of kill files on/off.  The default is on.  See
                rn(1) for documentation about how kill files work (however, see
                the BUGS section below for a description of the limitations in
                xrn's kill file handling).

      -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'.  If the word `all' is specified instead of a
                list of fields, then all headers will be retained (This can be
                used in user X resources to override a resource specified in
                the global xrn application defaults, or on the command line to
                override a resource specified in either the application
                defaults or the user X resources.).

      -lineLength len
                Length of lines that are broken.  Default is 0 characters.  If
                set to 0, line breaking is disabled (see also 'breakLength').



Page 14                                                                   10/89







XRN(1)                        X UCB(3 July 1991)                         XRN(1)


      -lockFile file
                Set the XRN lock file name to `file'.  Defaults to
                `~/.xrnlock'.

      -mailer mailer
                The command to use for mailing replies.  This command 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'.
                Under VMS, the default is `MAIL'.

      -minLines number
                The minimum number of lines above the cursor in the subject
                line display.  If negative, the subject 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 subject line scrolls only at
                the bottom and only one line at a time.

      -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.

      -nntpServer hostname
                The NNTP server to use (name or internet number).

      -organization organization
                Set the organization name in postings and followups.  You can
                also set the environment variable ORGANIZATION (NEWSORG on
                Apollo) to set the default organization name.

      +/-pageArticles
                Space bar with either scroll the current article or go to the
                next article.

      -pointerBackground color
                Set the background color of the mouse cursor.  The default
                color is whatever the default background color is for xrn.

      -pointerForeground color
                Set the foreground color of the mouse cursor.  The default
                color is whatever the default foreground color is for xrn.

      -printCommand command
                Set the command used for printing articles.  The article is
                sent to the command via standard input.  Defaults to `enscript
                -g'.





10/89                                                                   Page 15







XRN(1)                        X UCB(3 July 1991)                         XRN(1)


      -replyTo name
                Set the Reply-To field for articles and mail messages.

      -rescanTime time
                Amount of idle time (in seconds) before checking for new
                articles.

      +/-resetSave
                Reset the string in the 'save' dialog box upon entering each
                newsgroup.

      -saveDir dir
                The article saving directory.  Defaults to `~/News' when
                -saveMode specifies `onedir', or `~/News/newsgroup' when
                -saveMode specifies `subdirs'.

      -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'.

      -saveNewsrcFile file
                The saved `.newsrc' filename.  Before the `.newsrc' file is
                modified on startup, it is saved in a backup file.  Defaults to
                `~/.oldnewsrc'.

      -savePostings file
                The name of the file in which to save postings and messages
                (via the `save' button in the composition window).  Defaults to
                `~/Articles'.

      -saveString string
                Use 'string' as the default in the 'save' dialog box.

      -signatureFile file
                The signature file to use.  Defaults to `~/.signature'.

      +/-sortedSubjects
                Display the subject lines in the subject window sorted by
                subject.

      +/-subjectRead
                When using the space bar to scroll, when an article is
                finished, the space-bar scrolling invokes subject next instead
                of next unread.

      -stripHeaders list
                The header fields to strip from the article; a comma separated
                case-insensitive list of field names (i.e., keywords,message-
                id).  If the word `none' is specified instead of a list of
                fields, then no headers will be stripped (This can be used in


Page 16                                                                   10/89







XRN(1)                        X UCB(3 July 1991)                         XRN(1)


                user X resources to override a resource specified in the global
                xrn application defaults, or on the command line to override a
                resource specified in either the application defaults or the
                user X resources.).

      -tmpDir directory
                The directory to use for the temporary storage of articles
                fetched from the server.  If this option and the corresponding
                X resource do not exist, xrn will look for the environment
                variable TMPDIR.  The default is `/tmp'.

      -topLines number
                The number of lines to be used for the top text window (where
                the unread groups and article subjects are listed).

      +/-typeAhead
                Allow/disallow typeahead.  Defaults to allow typeahead.

      +/-updateNewsrc
                Update the newsrc file when leaving Article mode.

      +/-useGadgets
                Use 'gadgets' rather than full widgets (MOTIF only).

      +/-verboseKill
                List subjects or just give a count when killing articles. The
                default is on.

      -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




10/89                                                                   Page 17







XRN(1)                        X UCB(3 July 1991)                         XRN(1)


      -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 key bindings as possible.  See the X toolkit documentation
                on `Translation Tables' for information on the format of
                `bindings'.  The actions defined in xrn are the same as the
                button names.  For example, a set of bindings for Newsgroup
                mode might be:
                    xrn.ngBindings: \
                       <Key>Q:          ngQuit()    \n\
                       <Key>N:          ngRead()    \n\
                       <Key>P:          ngPrev()

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 collection 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)
            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)


Page 18                                                                   10/89







XRN(1)                        X UCB(3 July 1991)                         XRN(1)


      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
         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


10/89                                                                   Page 19







XRN(1)                        X UCB(3 July 1991)                         XRN(1)


         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 hostname
      (optional)
      /usr/local/lib/news/hiddenhost      location of the hiddenhost 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 version
      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
      emacs(1), readnews(1), rn(1), sh(1) sprintf(3), vnews(1), X(1), nntpd(8)






Page 20                                                                   10/89







XRN(1)                        X UCB(3 July 1991)                         XRN(1)


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' command 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.

      The default specifications for color and fonts can be confusing
      (thousands of different X resources can be specified 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>.


10/89                                                                   Page 21







XRN(1)                        X UCB(3 July 1991)                         XRN(1)


      The strtok implementation included with xrn is from Henry Spencer
      <henry@zoo.toronto.edu>.

      PointerForeground is the resource name for the color of the cursor
      (pointer).  Some other programs use PointerColor/CursorColor.

BUGS
      See TODO for a full list of bugs and things that need to be done.

      Incomplete KILL file support: the THRU line is not updated, the only
      actions supported are 'm', 'j', and 's', and matching is always done
      against both the ``From:'' and ``Subject:'' lines of postings.

      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)
      Rick L Spickelmier (formerly UC Berkeley, now Objectivity, Inc.,
      ricks@berkeley.edu, ...!ucbvax!ricks, ricks@objy.com)
      Mike Yang <mikey@sgi.com> wrote the MOTIF interface.
      Jonathan I. Kamens <jik@pit-manager.mit.edu> has done a massive amount of
      bug fixing and feature adding.
      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!





















Page 22                                                                   10/89





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