This is the slrn FAQ.

Send comments, suggestions, or corrections to davis@space.mit.edu.

The latest version of slrn is available via anonymous ftp from
space.mit.edu in /pub/davis/slrn.  In addition, it may be obtained from the
European mirror ftp.uni-stuttgart.de in /pub/unix/misc/slang.

If you are viewing this FAQ with slrn, press `g' to go from one subject to
the next.

Questions addressed:

1.  Instead of drawing lines for the thread tree, I see `mq'.  Why?
2.  I do not see a thread tree. Why?
3.  When I mark an article as read, why aren't cross-posts marked as read also?
4.  What is a prefix argument?
5.  How do I re-read articles in a newsgroup that I have already read?
6.  Can I use the mouse with slrn?
7.  How do I use the mouse in an XTerm to cut/paste?
8.  What is the easiest way to uudecode articles?
9.  How do I cross-post an article?
10. How do I find the previously read articles of a thread?

Answers:

------------------------------

Subject: 1. Instead of drawing lines for the thread tree, I see `mq'.  Why?

    There are a couple of reasons for this.  The simplest may be that the
    font that you are using does not support line drawing characters.
    Simply switching fonts to a dec-vt220 compatible font may solve the
    problem.  This is usually the case with Windows telnet applications.

    Another reason for this is that your terminfo file may not be set up
    properly. The obvious solution is fix the terminfo file.  However, this
    may not be possible without the correct tools (untic and tic) and many
    systems do not have those tools installed.

    Although slang is a terminfo based system, there is another solution
    based on termcap if you are using version 0.99.18 of slang or later.
    First of all, get a termcap entry that contains the appropriate
    capabilities for an alternate character set, that is, the termcap `ac',
    `ae', `as', and possibly `eA' capabilities.  Lets call this file
    `my_termcap'.  Then do:

      setenv TERMCAP `pwd`/my_termcap
      eval `tset -s terminal-name`

    (Replace `terminal-name' by your terminal name).  `tset' will then read
    and parse the my_termcap file and set the TERMCAP variable
    appropriately. You will want to put this in your .login file.

------------------------------

Subject: 2. I do not see a thread tree. Why?

    See the answer to the previous question.

------------------------------

Subject: 3. When I mark an article as read, why aren't cross-posts marked
            as read also?

    For slrn to mark an article as read in more than one group, it needs
    information about what groups the article was cross-posted to.  This
    information is provided by the Xref header.  Not all servers provide
    this header so this feature will not work with those servers.

    Now suppose that your server provides the Xref header as one of the
    headers of the article and at the same time, provides support for the
    NOV database (via the XOVER nntp command).  In this case, unless the
    server has been configured to provide the Xref header as part of the NOV
    database, slrn will not be able to get the header without accessing the
    article.  Unfortunately, Xref is optional under NOV so many systems do
    not automatically provide it even though it is one of the recommended
    headers.

    To summarize, make sure that your server provides the Xref header AND if
    it supports NOV, make sure that the Xref header is part of the NOV
    database.

------------------------------

Subject: 4. What is a prefix argument?

    Many key-bindings accept prefix arguments.  A prefix argument is an
    integer that is generated prior to a key sequence and is used as a way
    of controlling the behavior the key sequence.  It is generated by
    pressing the ESC key and then pressing the keys that correspond to the
    integer.  For example, to generate a prefix argument of 314, simply
    press the 4 keys: ESC 3 1 4.

    Some functions use such arguments as repeat factors.  That is, the
    function bound to the key sequence that they modify will be repeated the
    number of times specified by the prefix argument.

    Some other functions may simply use it as a way of slightly modifying
    the behavior of the function.  For example, if a prefix argument is
    used as a modifier for the `followup' function, the original article's
    headers will be included in the followup message.  Without a prefix
    argument, the headers will not be included in followups.

------------------------------

Subject: 5. How do I re-read articles in a newsgroup that I have already read?

    When entering a newsgroup, simply use a `prefix argument'.  This means,
    press ESC and then a number followed by the key sequence that you use to
    enter the newsgroup.  For example, if you use the RETURN key, then do
    the following: ESC 1 RETURN

------------------------------

Subject: 6. Can I use the mouse with slrn?

     If slrn is run in an XTerm, it can use the mouse.  To enable it, add the
     line
           set mouse 1

     to your .slrnrc file.  This will cause slrn to turn on XTerm mouse
     reporting when run in an XTerm window.  The TERM environment variable
     is used to determine whether or not this is the case.
     
     To force the mouse to be used, startup slrn using the -m option, e.g.,
     `slrn -m'.

     The actions defined for the mouse are specified in the following table:

     Group Mode:

         Object                 Button         Action
         ------------------------------------------------
         Top Status line        any            specified by button label
         Group Name             any            select group
         Bottom Status line     middle         toggle display of unread groups
         Bottom Status line     left           page-down
         Bottom Status line     right          page-up         

     Article Mode:

         Object                 Button         Action
         ------------------------------------------------
         Top status line        any            specified by button label

         Header status line     left           header page down
                                right          header page up
                                middle         hide article window

         Article status line    left           next unread
                                right          previous unread
                                middle         toggle quotes

         Header item            any            select item

         Article window         left           article page down
                                right          article page up
                                middle         hide article window

------------------------------

Subject: 7. How do I use the mouse in an XTerm to cut/paste?

    The easiest way is to hold down the shift key when using the mouse for
    cut/paste operations.  The other way is to simply get an slrn prompt,
    e.g., search for something then after cut/paste abort the search.

------------------------------

Subject: 8. What is the easiest way to uudecode articles?

    Fortunately, the easiest way is also the most efficient.  Basically this
    involves using the `#' key to numerically tag articles that you want to
    decode and then the `:' key to start the decode process.  The only
    restriction is that multi-part uuencoded articles must be tagged in
    their proper order.  There is no need to uudecode one article at a time.
    Simply mark everything that you would like to decode then press `:'.

    Here is an actual example taken from alt.binaries.pictures.fractals:

    -    9:[Mike In Indy]    Kaboom! - kaboom.gif (0/1)
    - 3078:[Mike In Indy]    Kaboom! - kaboom.gif (1/1)
    -   23:[Gumbycat    ]    lucifer.gif  (0/7)
    -  433:[Gumbycat    ]    lucifer.gif -  for Halloween  (5/7)
    -  433:[Gumbycat    ]    lucifer.gif  -  for Halloween (3/7)
    -  433:[Gumbycat    ]    lucifer.gif  -  for Halloween (4/7)
    -  433:[Gumbycat    ]    lucifer.gif  -  for Halloween (6/7)
    -  244:[Gumbycat    ]    lucifer.gif  -  for Halloween (7/7)
    -  434:[Gumbycat    ]    lucifer.gif  - for Halloween (1/7)
    -  433:[Gumbycat    ]    lucifer.gif - for Halloween (2/7)
    -   16:[Paul Carlson]    My Halloween Fractal - devil.gif (0/1)
    - 4310:[Paul Carlson]    My Halloween Fractal - devil.gif (1/1)

    As you can see, 3 files have been posted: kaboom.gif, lucifer.gif, and
    devel.gif (At the time of this writing, it is Halloween weekend). Both
    kaboom.gif and devel.gif are single part files whereas lucifer.gif is a
    seven part series.  Since lucifer.gif is displayed out of order, care
    must be exercised when tagging it (slrn will sort threads by subject and
    in this case the poster used an inconsistent subject format--- usually,
    sorting will result in the correct ordering).  Assuming that we wish to
    decode these three gif images, the `#' key will be used to tag them.
    The result of using the `#' key is shown below:

    -    9:[Mike In Indy]    Kaboom! - kaboom.gif (0/1)
   1- 3078:[Mike In Indy]    Kaboom! - kaboom.gif (1/1)
    -   23:[Gumbycat    ]    lucifer.gif  (0/7)
   6-  433:[Gumbycat    ]    lucifer.gif -  for Halloween  (5/7)
   4-  433:[Gumbycat    ]    lucifer.gif  -  for Halloween (3/7)
   5-  433:[Gumbycat    ]    lucifer.gif  -  for Halloween (4/7)
   7-  433:[Gumbycat    ]    lucifer.gif  -  for Halloween (6/7)
   8-  244:[Gumbycat    ]    lucifer.gif  -  for Halloween (7/7)
   2-  434:[Gumbycat    ]    lucifer.gif  - for Halloween (1/7)
   3-  433:[Gumbycat    ]    lucifer.gif - for Halloween (2/7)
    -   16:[Paul Carlson]    My Halloween Fractal - devil.gif (0/1)
   9- 4310:[Paul Carlson]    My Halloween Fractal - devil.gif (1/1)

    Now 9 headers have been numerically tagged.  To decode these, simply
    press the `:' key.  slrn will prompt for a filename to save the articles
    to and after saving, it will prompt to go ahead and decode.  The decoded
    files will be placed in the directory specified by the
    `decode_directory' variable that one can set in the .slrnrc file.  The
    end result is that after tagging with the `#' key, one presses `:' and
    hits return twice.

    To un-tag articles, press `ESC #'.

------------------------------

Subject: 9. How do I cross-post an article?

    There are two ways:

       1. When slrn prompts for a newsgroup, simply specify a comma
          separated list of newsgroups.  DO NOT USE SPACES!

       2. Edit the Newsgroup header line when editing the message.  Again,
          the list of newsgroups must be comma separated with no whitespace.
          Also make sure that you do not wrap this line.

    Helpful hint:

       If you forget the name of a newsgroup while inside the editor,
       suspend the editor with Ctrl-Z and use more/less/most to view your
       .newsrc file.  If your editor is sophisticated enough, you can really
       simplify this process by using the `editor_command' keyword in your
       .slrnrc file.  For example, if you use jed as your editor, you can
       set your editor command to something like:

          editor_command "jed ~/.jnewsrc -2 %s -g %d"

       This says to load the file ~/.jnewsrc into the editor, split the
       window, then load the file that slrn wants to edit in one of the
       windows and then goto a specified line number.

------------------------------

Subject: 10. How do I re-read previously read articles of a thread?

     `ESC p' will attempt to find the parent as specified by the references
     header of the current article querying the server if necessary.  To
     find the children of the current article (articles that reference it),
     use `ESC Ctrl-P'.  Finally, to reconstruct the entire tree (all parents
     and all children), use `ESC 1 ESC p'.
