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