[comp.windows.x] xrn on ucbvax

rpd@CS.CMU.EDU (Richard Draves) (04/25/88)

I was poking around on ucbvax (looking for the awm revision, actually, which I
didn't find) and I came across an xrn man page and two binaries, which I
couldn't run.  It appears to be an X10 interface to NNTP news reading.  Is
there source available somewhere?  Is it being converted to X11? etc, etc.

Rich

ellen@ic.Berkeley.EDU (Ellen M. Sentovich) (04/26/88)

In article <YWQZ6Fy00hk=IFqn99@cs.cmu.edu>, rpd@CS.CMU.EDU (Richard Draves) writes:

> I was poking around on ucbvax (looking for the awm revision, actually, which I
> didn't find) and I came across an xrn man page and two binaries, which I
> couldn't run.  It appears to be an X10 interface to NNTP news reading.  Is
> there source available somewhere?  Is it being converted to X11? etc, etc.
> 
> Rich


xrn is indeed an X10 interface to NNTP news reading.  We had planned
to release it in mid-summer, hence source will not be available
until then (sorry).  However, binaries can be found on ucbvax in
~ftp/pub/xrn.{sun3,ultrix,vaxbsd} and a man page in xrn.man.  A sun4
binary will be available soon (~1 week).  We plan to port to X11
around mid-summer as well.

Bug reports/feature requests to xrn@eros.berkeley.edu.  Check the
man page for features that are currently not implemented but are
planned for the official release in summer.

A man page follows for those who don't have internet access.


		Ellen & Rick

	
	    Rick L Spickelmier
	    ricks@berkeley.edu

	    Ellen M. Sentovich
	    ellen@ic.berkeley.edu

	
	    University of California, Berkeley




XRN(1)              UNIX Programmer's 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.

DESCRIPTION
     xrn [displayname] [=WxH+X+Y] [#+X+Y] [-fg color] [-bg color]
     [-ft font] [-nntpServer name] [-newsrcFile file] [-
     saveNewsrcFile file] [-saveDir directory] [-signatureFile
     file] [+/-infoLine] [-topLines number] [-saveMode mode] [-
     leaveHeaders list] [-stripHeaders list] [-deadLetters file]
     [-savePostings file] [-minLines number] [-maxLines number]
     [-mailer mailer] [-tmpDir directory] [+/-iconOnStart] [+/-
     subjectRead] [+/-confirmBox] [-calvin] [-editorCommand com-
     mand]

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.

     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'.  The `.newsrc' file is kept con-
     stantly up to date.

     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



Printed 4/25/88           5 March 1988                          1






XRN(1)              UNIX Programmer's Manual               XRN(1)



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



Printed 4/25/88           5 March 1988                          2






XRN(1)              UNIX Programmer's Manual               XRN(1)



     `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 `-server' 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
     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



Printed 4/25/88           5 March 1988                          3






XRN(1)              UNIX Programmer's Manual               XRN(1)



     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.  Hitting backspace (while
     the mouse cursor is in the top button box) will scroll the
     current article backwards.  Hitting Control-C (while the
     mouse cursor is in the top button box) will abort searching
     commands.

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 Add remaining groups in the list to `.newsrc' as unsub-
          scribed; go to group mode.

     add first
          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
          Add the current group(s) to the end of the `.newsrc'
          file and mark as subscribed.

     add after group
          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



Printed 4/25/88           5 March 1988                          4






XRN(1)              UNIX Programmer's Manual               XRN(1)



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

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

     quit quit xrn.

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

     next Move the cursor to the next group, leaving the articles
          in the current group untouched.

     prev Move the cursor to the previous group, leaving the
          articles in the current group untouched.

     catch up
          Mark all articles in the current group as read.

     subscribe
          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, last group (sub-
          scribe to the last 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 com-
          mand can also be used to change the position of a sub-
          scribed group.  Hitting carriage return after typing in
          the name is the same as clicking the current position
          button.

     unsubscribe



Printed 4/25/88           5 March 1988                          5






XRN(1)              UNIX Programmer's Manual               XRN(1)



          Unsubscribe from the current group.

     goto newsgroup
          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
          Display all of the groups that exist, their subscrip-
          tion status, and a set of buttons for changing the
          status.

     rescan
          Query the server for any new groups or articles.

     last group
          Re-visit the last group visited.

     select groups
          Records the groups currently selected.  If no groups
          are selected, nothing is recorded.

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

ALL MODE
     All mode allows the user to change both the subscription
     status and the `.newsrc' file position of ANY available
     group.  and moving around groups in the `.newsrc' file.  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 but-
     ton box will scroll the bottom text window.

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

     subscribe
          Subscribe to the current group, leaving it at its
          current position in the `.newsrc' file.

     subscribe first
          Subscribe to the current group and add it to the begin-
          ning of the `.newsrc' file.

     subscribe last
          Subscribe to the current group and add it to the end of
          the `.newsrc' file.



Printed 4/25/88           5 March 1988                          6






XRN(1)              UNIX Programmer's Manual               XRN(1)



     subscribe after group
          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).

     unsubscribe
          Unsubscribe the current group.

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.

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

     next unread
          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 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 Display the selected article, if any; otherwise,
          display the previous article in the current group.

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

     catch up
          Mark all articles in the current group as read; return
          to Newsgroup mode.

     unsubscribe
          Unsubscribe from the current group; return to Newsgroup
          mode.

     mark read
          Mark an article (or group of articles) as read.  This
          command marks either the selected article(s) or the



Printed 4/25/88           5 March 1988                          7






XRN(1)              UNIX Programmer's Manual               XRN(1)



          article the cursor is on, and leaves the cursor at its
          current position.

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

     subject next
          Find and display the next article with the same subject
          as the current article (stripping the '[rR][eE]: ' and
          '([wW]as: ..)' 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 previous
          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.

     subject kill
          Mark all articles with the same subject as the current
          one as read.

     subject search
          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
          Continue the last regular expression search by search-
          ing for the same regular expression in the same direc-
          tion.




Printed 4/25/88           5 March 1988                          8






XRN(1)              UNIX Programmer's Manual               XRN(1)



     post 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 is the standard Xtoolkit editor
          (similar to emacs).  The basic commands include the
          following (note that there are no searching commands):

             ^F   forward a character
             ^B   backward a character
             ^N   next line
             ^P   previous line
             ^D   delete next character
             ^H   delete previous character
             ^A   start of line
             ^E   end of line
             ^K   delete to end of line (if empty, deletes the line)
             ^W   delete selection
             Meta-Y    yank the cut buffer
             Meta-<    beginning of file
             Meta->    end of file
             Meta-I    insert a file (a dialog box appears to accept a filename, no `~' processing)

          The mouse buttons can be used to select text in this
          window (which can then be placed in a file, for exam-
          ple).

          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 Exit article mode, marking all articles listed in the
          top window as unread.

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

     reply



Printed 4/25/88           5 March 1988                          9






XRN(1)              UNIX Programmer's Manual               XRN(1)



          Reply (by mail) to the author of the current article.
          See post for a description of how to create and send a
          message.

     followup
          Post a followup article to the current article.  See
          post for a description of how to create and send an
          article.

     cancel
          Cancel the current article.

     rot-13
          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
          Show the full text of an article, including the full
          header.

CUSTOMIZING XRN
     Colors, fonts, and other xrn options can be specified on the
     command line or in the `~/.Xdefaults' file.  All options can
     be specified in the `~/.Xdefaults' file (with the exception
     of the display name), only a subset can be specified on the
     command line.  Options specified on the command line take
     precedence over those specified in the `~/.Xdefaults' file.

COMMAND LINE ARGUMENTS
     Here are the current command line arguments (the Xdefaults
     for the non-display options have the same names and values
     as the command line arguments):

     =WxH+X+Y  specification of the xrn window size and location.

     #+X+Y     specification of the initial xrn icon location.
               The initial icon location will default to the
               mouse position when the iconification is
               requested.

     -fg color the default foreground color, can be a color name
               or an rgb value.

     -bg color the default background color, can be a color name
               or an rgb value.

     -ft font  the default font.




Printed 4/25/88           5 March 1988                         10






XRN(1)              UNIX Programmer's Manual               XRN(1)



     -nntpServer hostname
               the NNTP server to use.

     -newsrcFile file
               the newsrc file to use.  Defaults to `~/.newsrc'.

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

     -signatureFile file
               the signature file to use.  Defaults to `~/.signa-
               ture'.

     +/-infoLine
               turn on/off the information lines.  When the mouse
               is moved into a button, the information line that
               corresponds to that button will display what the
               button does.

     -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 seperated
               list of options.  The options can be `mailbox' or
               `normal', and `headers' or `noheaders'.  The
               default is `normal,headers'.

     -leaveHeaders list
               the header fields to leave in the article; a comma
               seperated 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 seperated 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



Printed 4/25/88           5 March 1988                         11






XRN(1)              UNIX Programmer's Manual               XRN(1)



               the name of the file to save postings and messages
               (via the `save' button in the composition window)

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

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

     +/-iconOnStart
               start up xrn as an icon/start up xrn normally, not
               as an icon.

     +/-subjectRead
               use "subject read" mode, which means switch the
               buttons next unread and subject next in Article
               mode.  Also, when using the space bar to scroll,
               when an article is finished, the space-bar scrol-
               ling invokes subject next instead of next unread.

     +/-confirmBox
               turn the confirmation boxes on/off.  These boxes
               pop up to ask the user to verify the invokation of
               "dangerous" actions (catch up and unsubscribe in
               both Article and Newsgroup modes.

     -calvin   use a picture of Calvin, from Calvin and Hobbes,
               as the icon.

     -editorCommand command
               use an alternate editor creating postings, follow-
               ups, and replies.  the file name should be placed.
               Examples are:



Printed 4/25/88           5 March 1988                         12






XRN(1)              UNIX Programmer's Manual               XRN(1)



                 xterm -e vi %s
                 xterm -e microEmacs %s
                 emacsclient %s

              The resulting command should handle all editing and
              windowing.

     host:number
               specification of the display for xrn.

X DEFAULTS
     xrn takes a number of specifications for colors, fonts,
     border widths, and other program options.  They are stored
     in a file called `~/.Xdefaults' in the home directory of the
     user.  The format for an xrn entry in the `~/.Xdefaults'
     file 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.

     NOTE: The X defaults package is case insensitive, but the X
     toolkit defaults package is not; so xrn.Background is not
     interchangeable with the correct xrn.background.

     Examples of defaults are:
        #
        # In the following examples, `xrn' is the name that the program is called.
        # If the program is called by some other name, defaults will be needed with
        # that name
        #
        # position and size defaults
        xrn.iconPos: #+247+491
        xrn.geometry: =750x800+10+20
        #
        #xrn.reverseVideo: on
        #
        # non-display options
        xrn.infoLine: on
        xrn.saveDir: ~/News
        xrn.newsrcFile: ~/.newsrc



Printed 4/25/88           5 March 1988                         13






XRN(1)              UNIX Programmer's Manual               XRN(1)



        xrn.nntpServer: cad
        xrn.signatureFile: ~/.signature
        xrn.topLines: 10
        xrn.saveMode: mailbox,noheaders
        xrn.leaveHeaders: Subject,From,Date
        #xrn.stripHeaders: Message-ID, Reply-To, Keywords
        xrn.deadLetters: ~/dead.letters
        xrn.savePostings: ~/Articles
        xrn.minLines: 4
        xrn.maxLines: 7
        xrn.confirmBox: on
        #
        # specify alternate bindings (see the toolkit documentation for more info)
        #
        xrn.Command.eventBindings: .Xtkbindings
        #
        # example bindings file to make all buttons activate the xrn buttons
        # (strip the leading '# '):
        #
        # <BtnDown>left:    set
        # <BtnUp>left:      notify unset
        # <BtnDown>middle:  set
        # <BtnUp>middle:    notify unset
        # <BtnDown>right:   set
        # <BtnUp>right:          notify unset
        # <EnterWindow>:    highlight
        # <LeaveWindow>:    unhighlight unset
        #
        xrn.background: wheat
        xrn.foreground: Black
        xrn.font: 9x15
        #
        # text window (displays groups and articles)
        xrn.Text.background: DarkSlateGray
        xrn.Text.foreground: White
        xrn.ScrollBar.foreground: yellow
        xrn.ScrollBar.border: White
        xrn.ScrollBarMgr.thickness: 25
        # title and information bars
        xrn.Label.font: 9x15b
        xrn.Label.background: cyan
        # buttons
        xrn.Command.background: coral
        xrn.Command.font: timrom12b
        #
        # a specific setting for the article mode `quit' button
        #  the entire set of button names is:
        #
        #    ADD mode buttons:
        #    addQuit, addAddFirst, addAddLast, addAddAfterGroup, addUnsubscribed
        #
        #    NEWSGROUP mode buttons:



Printed 4/25/88           5 March 1988                         14






XRN(1)              UNIX Programmer's Manual               XRN(1)



        #    ngQuit, ngReadGroup, ngNext, ngPrev, ngCatchUp, ngSubscribe,
        #    ngUnSubscribe, ngGoto, ngAllGroups, ngRescan, ngLastGroup,
        #    ngSelectGroups, ngMove
        #
        #    ARTICLE mode buttons (top box):
        #    artQuit, artNext, artNextUnread, artPrev, artLast, artCatchUp,
        #    artUnSubscribe, artMarkRead, artMarkUnread, artSubNext,
        #    artSubPrev, artKill, artSubSearch, artContinuePost, artPost,
        #    artExit
        #
        #    ARTICLE mode buttons (bottom box):
        #    artSave, artReply, artFollowup, artCancel, artRot13,
        #    artToggleHeader
        #
        #    ALL mode buttons:
        #    allQuit, allSub, allFirst, allLast, allAfter, allUnsub
        #
        xrn.buttonBox.artQuit.foreground: Black
        xrn.buttonBox.artQuit.background: red
        #
        # dialog boxes
        xrn.Form.Label.background: wheat
        xrn.Form.Command.foreground: Black
        xrn.Form.Command.background: yellow

DIFFERENCES FROM OTHER NEWS READERS
     In xrn, as soon as an article is displayed, it is marked as
     read.  Thus if a group is quit at a particular article, when
     the group is reentered, the next article will be displayed.
     In rn, the article that was quit from will be displayed upon
     reentry.

     xrn will only run with an NNTP news server.  Even if a local
     news system exists, the NNTP news server will still have to
     be running.

FILES
     ~/.newsrc      description of the groups and the articles
     read in each group
     ~/.oldnewsrc        backup of ~/.newsrc
     ~/.signature        users 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
     ~/.Xdefaults        location of color, font, and other
     default information
     /usr/local/lib/rn/server location of the news server host-
     name
     /usr/lib/sendmail   default mailer



Printed 4/25/88           5 March 1988                         15






XRN(1)              UNIX Programmer's Manual               XRN(1)



ENVIRONMENT VARIABLES
     NNTPSERVER          name of the news server hostname
     TMPDIR         temporary directory

SEE ALSO
     readnews(1), rn(1), vnews(1), X(1), nntpd(8)

COMMENTS
     Clicking a mouse button in the title bar will iconify the
     xrn window.  Clicking in the xrn icon will deiconify the xrn
     window.

     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 HUP, 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 (close to 200 different Xdefaults 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).

     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.

     Uses X version 10 release 4 (needs XStippleFill).

     xrn assumes a `smart' or `lucky' mailer.

     xrn locks the `.newsrc' file in an attempt to stop multiple
     xrns from running.  Unfortunately, file locking does not
     work across NFS.

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



Printed 4/25/88           5 March 1988                         16






XRN(1)              UNIX Programmer's Manual               XRN(1)



     toolkit does not currently support multiple fonts).

BUGS
     Meta-< does not work in the text windows (an Xtoolkit bug).

     Carriage return does not activate any of the dialog box but-
     tons in the 'Meta-I' (include file) dialog box while in the
     toolkit editor.

     Resizing the main window while a dialog box is up will cause
     the dialog box to be buried.  If the dialog box is moded,
     you will be stuck (you must kill xrn).

     If you rebind your mouse buttons such that the left one no
     longer activates command buttons, hitting carriage return in
     a dialog box will do the right thing, but not highlight the
     button.

FUTURE PLANS
     Adding kill files, not hard to do.

     Keep running if the server dies and reconnect when it comes
     back up.

     Allow some of the options to be changed at run-time.

     xrn will be converted to X11 when X11 and the X11 toolkit
     settle down (xrn currently uses a bug-fixed and slightly
     modified X10 toolkit).

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

AUTHORS
     Ellen M Sentovich (UC Berkeley, ellen@ic.berkeley.edu,
     ...!ucbvax!ic!ellen)
     Rick L Spickelmier (UC Berkeley, ricks@berkeley.edu,
     ...!ucbvax!ricks)













Printed 4/25/88           5 March 1988                         17