Last-Modified: Dec 11, 1999

This is the slrn FAQ.  Send comments, suggestions, or corrections to
davis@space.mit.edu.

slrn is a newsreader that runs under Unix, VMS, OS/2, Win32, and BeOS
operating systems.  The latest version of slrn is available via
anonymous ftp from <ftp://space.mit.edu/pub/davis/slrn/>.  It is also
available from:

  ftp://ftp.uni-stuttgart.de/pub/unix/misc/slang/
  ftp://ftp.fu-berlin.de/pub/unix/news/slrn/
  ftp://ftp.ntua.gr/pub/lang/slang/

More information about slrn is available on the World Wide Web via
<http://space.mit.edu/%7Edavis>.

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

Questions addressed:

0.  Where can I find more information about slrn?
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?
11. Why doesn't the `L' command work as advertised?
12. Where can I find more information about slrn?
13. How can I set my `From' line for my posts?
14. Why doesn't set_author_display work?

Answers:

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

Subject: 0. Where can I find more information about slrn?

    Although there is a man page, it probably does not cover the
    latest slrn features.  A better source of information about new
    features may be found in the `changes.txt' file that is
    distributed with slrn.  Also, all .slrnrc options are described in
    the example `slrn.rc' file that is distributed with slrn.

    More help may also be available from 
    
        http://space.mit.edu/%7Edavis/slrn.html

    In particular, this web page contains links to other sources of
    slrn information.

    You can also participate in the development of slrn by improving
    its documentation.  If you would like to submit some documentation
    for slrn, please use a text-only format.  At some point, I plan to
    put all of slrn's documentation in SGML format and then process
    the SGML document to produce man pages, html pages, TeX, RTF,
    etc...

    Finally, if you create additional documentation for slrn and make
    it available via the WWW, please let me know about it and I will
    create a link to your web page.

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

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.  Let's 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 press
    `ESC 1 RETURN'.

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

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

     If slrn is run in an Xterm or on a win32 system, it can use the
     mouse.  To enable it, add the line 
     
        set mouse 1

     to your .slrnrc file.  This will cause slrn to enable mouse
     reporting on systems that support it. If run on Unix, the TERM
     environment variable is used to determine whether or not mouse
     support is available.

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

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

Subject: 11. Why doesn't the `L' command work as advertised?

     Capital L lists all un-subscribed groups that slrn knows about.
     Slrn gets this information through one of three sources.  It
     tries the following in order and stops when one is successful:

	a.  From the server via the active file.  It only does this if the
	    line `set read_active 1' is in your .slrnrc file.  By default,
	    slrn does not read the active file.
	    
	b.  By querying the server using the XGTITLE nntp command.  This
	    requires your server to support this command and the line
	    `set use_xgtitle 1' must be in your .slrnrc file.
	    
        c.  From the groups listed in your newsrc file.  The `L' command
	    will only list unsubscribed groups that are present in this file.

     The last one (c) always succeeds with results that may be less than
     desirable.  If you have a fast network connection to your server,
     simply put
     
         set read_active 1

     in your .slrnrc file.  If your connection is slow via something like
     ppp and you do not want slrn to read the active file, then see whether
     or not your server supports XGTITLE command.  If it does, allow slrn to
     use it via

         set use_xgtitle 1
	 
     As a last resort, try to keep a full list of newsgroups in your newsrc
     file.


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

Subject: 12. Where can I find more information about slrn?

     The newsgroup news.software.readers frequently contains articles
     that pertain to slrn.  Many knowledgeable slrn users actively
     participate in the newsgroup making the group a great slrn
     resource.

     There are several web pages devoted to slrn.  Just follow the
     links off of the slrn home page at
     http://space.mit.edu/%7Edavis/slrn.html.

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

Subject: 13. How can I set my `From' line for my posts?

     Use the .slrnrc settings:
     
         set hostname "YOUR.HOST.NAME"
	 set username "USERNAME"
	 set realname "YOUR REAL NAME"
	 
    This will cause slrn to use a From line of the form:
    
        From: USERNAME@YOUR.HOST.NAME (YOUR REAL NAME)

    Finally, if a slang function called `make_from_string_hook'
    exists, then it will be used to generate the `From' header, e.g.,
    
        define make_from_string_hook ()
	{
	   return "W. J. Clinton <president@whitehouse.gov>"
	}

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

Subject: 14. Why doesn't set_author_display work?

    This variable is nolonger meaningful and is ignored by recent
    versions of slrn.  Instead, the user is encouraged to use the much
    more flexible interface provided by `header_display_format'
    variable.  
