GNU/Linux |
RedHat 6.2(Zoot) |
|
![]() |
slrn(1) |
![]() |
slrn - An easy to use NNTP based newsreader.
This documentation is out of date. You are encouraged to look at slrn/changes.txt and slrn/doc/slrn.rc in the slrn distribution for more up to date information. See also http://space.mit.edu/%7Edavis/slrn.html for additional documentation.
slrn [ −n ] [ −h nntp-server-name ] [ −f newsrc-file ] [ −create ] [ −C ] [ −help ]
slrn is an easy to use but powerful NNTP based newsreader. It relies extensively on the S-Lang programmer’s library for many of its features.
If no server is specified on the command line using the −h option, the server specified by the NNTPSERVER environment variable will be used. The −f option specifies which newsrc file should be used. If none is specified, a default value of .jnewsrc will be used. This value can be set on a server by server basis using the .slrnrc initialization file.
The −create option should be used the first time slrn is used for a particular server. This causes slrn to read the entire list of groups available at the server and place them in the selected newsrc file. If the NNTP connection is slow, this process may take several minutes. Fortunately, this happens only when the −create flag is used.
If −C is specified on the command line, the terminal is assumed to support colors. Colors may be specified by using the initialization file. If the −n option is present, no new newsgroups will be checked for. This may result in a faster startup.
Using slrn is simple. For many, simply typing slrn will connect to a news server. After starting, slrn checks for the existence of new newsgroups and automatically subscribes to them. Then after new news is checked, slrn goes into ’’full screen’’ mode at which point the user can unsubscribe to one or more groups. slrn will display a list of newsgroups that looks like:
-> 3
sci.research.postdoc 689-705
1 comp.databases.olap 1-1
4 rec.antiques.radio+phono 1-4
1 comp.emulators.ms-windows.win 339-349
113 comp.unix.questions 74401-74513
11 gnu.ghostscript.bug 4874-4884
100 alt.music.pink-floyd 7941-8040
11 rec.sport.baseball.analysis 239-249
3 rec.sport.baseball.data 267-269
13 sci.physics.electromag 1159-1171
65 comp.sys.ibm.pc.hardware.systems 4754-4818
5 sci.physics.particle 1069-1073
2 comp.sources.x 2362-2363
2 comp.unix.user-friendly 2603-2604
Here the middle column shows the name of a newsgroup and the left column shows the number of unread articles in the group. The right column shows the range of articles present on the server. Note the presence of the −> in the first column on the ’sci.research.postdoc’ line. This symbol is used by slrn as a pointer to indicate the currently selected line. It may be moved up and down by using the arrow keys. Pressing the RETURN key or the SPACEBAR at this point will select the ’sci.research.postdoc’ group. A new screen will appear showing something like:
->- 703 (P)
Lecturer in Comp. dumontet@nuri.inria.fr (dumo
- 704 Research & Developnment dumontet@nuri.inria.fr
(dumo
- 705 Re: Example of proposal
shinbrot@bart.chem-eng.nwu.e
Here, each line consists of four fields and possibly the −> cursor. The first field indicates whether the article has been read or not. A hyphen ( − ) in the first field indicates that the article has not been read. Since a hyphen appears in the first field in all three of the lines above, none of the articles have been marked as read. A d in this field indicates that an article has been read. The currently selected article can be changed from the read to the unread state by pressing the u key. The d key may be used to mark the article as read without actually reading it. The c key may be used to mark all the articles as read (Actually this is the preferred way to use the newsreader: scan the articles by eye looking for something interesting then before moving on to next newsgroup, press ’c’ to mark all articles as read).
The second field displays the server number of the article. The third and fourth fields contain the subject and author of the article, respectively.
Pressing the SPACEBAR or the RETURN key will create a second window and display the contents of the currently selected article. The screen will now consist of two windows - a large one and a small one. The large window, known as the article window, will contain the currently selected article and the small one, known as the summary window, will contain the list of articles as shown above. The space bar may be used the scroll the article forward and the DELETE key or the ’B’ key may be used to scroll it backward. The UP/DOWN arrow keys simply move the −> cursor from one line to another in the summary window. To hide the article window, press the h key.This will zoom the summary window to full screen.
The f key may be used to post a followup to the currently selected article. To return to the list of Newsgroups, press the Q key to leave this mode.
These keybindings are always available: These keybindings are always available:
? |
Help |
PageUp Ctrl-U
Page up
PageDn Ctrl-D
Page down
Ctrl-Z |
Suspend program |
These keybindings may be used at the newsgroup level:
SPACE |
Select articles for the current group. | ||
UP P |
Move to the previous group | ||
DOWN |
Move to the next group | ||
q |
Quit the program | ||
p |
Post an article | ||
l |
Toggle the display of groups with no unread articles on and off | ||
L |
Toggle display of unsubscribed groups (can also subscribe with this) | ||
u |
Unsubscribe from the current group | ||
s |
Subscribe to the current group | ||
c |
Mark all articles in the current group as read. | ||
a |
Subscribe to a specified group | ||
/ |
Search for a subscribed group | ||
G |
Refresh groups from news server | ||
X |
Save .newsrc | ||
ESC > |
Move to last group | ||
ESC < |
Move to first group |
The following bindings are valid once a newsgroup has been selected:
SPACE |
Select or scroll currently selected article forward |
DELETE, b
Scroll currently selected article backward
d |
Mark currently selected article as read and move to the next unread article. | ||
u |
Mark the currently selected article as unread | ||
# |
Numerically tag the article for multiple save (see o command) | ||
g |
Skip to next digest | ||
h |
Hide the article window by zooming the summary window to full screen | ||
Ctrl-^ |
Decrease the size of the header window by one line. | ||
^ |
Increase the size of the header window by one line. | ||
f |
Post follow-up to the currently selected article | ||
F |
Forward the currently selected article to someone | ||
r |
Reply directly to the author of the currently selected article | ||
o |
Save the currently selected article or thread to a file in a Unix mail format by appending it to the the specified file, then optionally decode the articles with uudecode or unshar. If numerically tagged articles (see # ) are present, then optionally save and then decode the tagged articles. The built-in uudecoder can decode files that contain multiple multi-part uuencoded articles. However, they must be tagged in the proper order. The key ESC # may be used to un-tag articles. | ||
q |
Quit and go back to the list of newsgroups | ||
T |
Toggle quote display | ||
K |
Toggle scoring | ||
TAB |
Skip over quotes in article | ||
t |
Toggle the current articles headers between hidden and un-hidden states. By default, uninteresting ones are hidden | ||
UP |
Move to the previous article | ||
DOWN |
Move to the next article |
ESC DOWN, RETURN
Scroll the article down one line
< |
Jump to the beginning of the article | ||
ESC UP |
Scroll the article up one line | ||
ESC > |
Move to last article | ||
ESC < |
Move to first article | ||
RIGHT |
Pan the article window to the right | ||
LEFT |
Pan the article window to the left | ||
n |
Move to the next unread article | ||
o |
Append article to a file; optionally, decode with uudecode or shar | ||
p |
Move to a previously unread article |
PageUp, PageDn
Page up and down through the header list.
/ |
Search forward in the article | ||
? |
Search backward through article. | ||
a |
Author search forward. | ||
A |
Author search backward. | ||
s |
Subject search forward. | ||
S |
Subject search backward | ||
H |
Hide the article (make its window disappear) | ||
N |
Skip to next news group | ||
j |
Move to an article | ||
P |
Post an article (also see f to post a follow-up article) |
SEMICOLON
Set a mark at the current article.
COMMA |
Return to a previously set mark setting the mark first. | ||
* |
Flag the article as ’important’ (prevents catchup in header window from marking the article deleted) | ||
| |
Pipe article to an external command |
ESC Ctrl-C
Cancel the current article.
ESC Ctrl-S
Supersede the current article, editing the original text.
c |
Mark all articles as read |
|||
ESC C |
Mark articles to here as read |
|||
ESC U |
Mark articles to here as UN-read |
Ctrl-R, Ctrl-L
Redraw the screen.
ESC R |
Toggle ROT 13 decryption on and off |
|||
ESC S |
Toggle header threading on and off |
|||
ESC T |
Toggle collapse of header threading |
|||
ESC A |
Switch between header display methods |
|||
ESC p |
Find parent header |
ESC Ctrl-P
Find child header
? |
Show help | ||
Ctrl-Z |
Suspend the newsreader. | ||
E |
Edit score parameters using this article as template |
slrn uses the following list of environment variables:
NNTPSERVER |
NNTP Server to connect to if none specified when slrn is started. | ||
EDITOR |
SLANG_EDITOR
Editor to use when composing messages. The ’%s’ and ’%d’ format descriptors may be used to specify the filename and line number respectively. For example, if ’jed’ is your editor, then you can use something like: setenv SLANG_EDITOR ´jed %s −g %d´ in your shell startup file. If you are using a bash shell, you could instead use the command: export SLANG_EDITOR=´jed %s −g %d´ in your shell startup file. SLANG_EDITOR is the prefered environment variable since all S-Lang applications that use an editor look for this variable and understand this syntax.
REPLYTO |
Address to be inserted into the ’Reply-To’ field. |
ORGANIZATION
String to be used in the ’Organization’ field.
If a file called .slrnrc is present in the users HOME directory, slrn will use it as an initialization file. This file can contain list of personalized keybindings as well as a list of server -- newsrc mappings.
BINDING KEYS
To bind a key to a particular function use the syntax:
setkey keymap function key-sequence
The setkey function requires three arguments. The first argument specifies the keymap to be used for the bindings. Valid keymaps include: group and article. The function argument specifies the function that is to be executed when keys in the last argument are pressed. For example,
setkey group quit "x"
indicates that if x is pressed at the group level, the quit function will be executed. Note that although not normally necessary, the last argument should be enclosed in double quotes since it may contain SPACE characters.
The key-sequence argument can consist of several characters. For example, on many terminals, the RIGHT arrow sends the three characters ESC, ’[’ and ’C’ to the terminal. To bind the RIGHT key to ’select_group’ function, use:
setkey group select_group "\e[C"
Sometimes, it is necessary to unbind a key from a keymap before binding the key. For example, one cannot do:
setkey group quit "\e"
to bind the ESC key to the quit function without first unsetting it. This is because the default bindings use the ESC character as the prefix character for certain keymaps. To achieve this goal, use the unsetkey function:
unsetkey group
"\e"
setkey group quit "\e"
Here the unsetkey function has been used to remove the binding for the ESC character before binding it to the ’quit’ function. Please note that unsetting the ESC key will also unset any key sequence been with the ESC key. This includes most function keys.
See the example initialization file below for the list of functions and their meaning.
USING MULTIPLE SERVERS
The easiest way to use multiple servers is through the use of the server command in the .slrnrc file. This command simple associates a server name with a newsrc file:
server nntp-server newsrc-file
For example, suppose that you use three servers with hostnames ’red.news.edu’, ’blue.news.edu’, and ’green.news.edu’. The the lines:
server red.news.edu .jnewsrc-red
server blue.news.edu .jnewsrc-blue
server green.news.edu .jnewsrc-green
specify that the file .jnewsrc-red is to be used when the server red.news.edu is connected to, etc...
DEFINING COLORS
Color support is enabled when using the ’-C’ command line switch. The colors may be defined through the use of the ’color’ keyword in the ’.slrnrc’ file. The syntax is:
color OBJECT-NAME FOREGROUND-COLOR BACKGROUND-COLOR
Here, OBJECT-NAME can be any one of the following items:
article -- The
body of the article (not headers)
author -- Author’s name
boldtext -- Color for *emphasized* text
box -- Color for popup boxes
cursor -- The --> position indicator
description -- Newsgroup descriptions (group mode)
error -- Error messages
frame -- Frame around a popup box
group -- Newsgroup names (group mode)
grouplens_display -- Grouplens score
header_name -- Name of the header, e.g., From:
header_number -- Nth line of header window
headers -- The lines that constitute the headers of the
article
high_score -- Articles with high scores
menu -- Line at the top of the display (menu bar)
menu_press -- Menu bar entry when activated
normal -- anything not included above
pgpsignature -- PGP signature text
quotes -- Quoted material (level 0)
quotes1 -- Quoted material (level 1)
quotes2 -- Quoted material (level 2)
quotes3 -- Quoted material (level 3)
quotes4 -- Quoted material (level 4)
quotes5 -- Quoted material (level 5)
quotes6 -- Quoted material (level 6)
quotes7 -- Quoted material (level 7)
response_char -- As in [Y]es, [N]o, [C]ancel
signature -- Author’s signature
selection -- Currently selected item in a popup listbox
status -- Status line attached to windows
subject -- Subject
thread_number -- Thread numbers
tilde -- Tildes (tilde mode)
tree -- Article tree
underline_text -- Color for _emphasized_ test
The foreground/background color names can be any of the following:
black gray
red brightred
green brightgreen
brown yellow
blue brightblue
magenta brightmagenta
cyan brightcyan
lightgray white
default
Most terminals do not support the second group of colors for the background.
HIDING QUOTED ARTICLES
Often articles contain quotes of previous articles. slrn is capable of not displaying lines in an article that match a given regular expression. The regular expression may be specified by putting a line of the form
ignore_quotes REGULAR-EXPRESSION
in the .slrnrc startup file. The default regular expression is
"^ ?[:>=]"
which matches any line that begins with or without a space followed by either a colon, greater than sign, or an equal sign.
To toggle the display of such lines on or off, press the ’T’ key when in article mode.
(For a complete description of the flexibility in the slrn scorefile system, see the files KILL_FAQ and score.txt in the slrn distribution)
slrn incorporates a sophisticated system for scoring articles. In other newsreaders, one of slrn’s scoring features would be called a " killfile ". But unlike some other newsreaders, slrn provides for a great degree of flexibility and the capability to mark articles in ways other than merely killing them.
Four levels of scoring are provided:
-9999 |
The scored article is deleted (as with a common killfile) and will not appear in the header window |
-1 through -9998
The scored article appears with a " D " as in "Deleted" flag in the header window
0 normal article
1 through 9999
The scored article’s header appears with a " ! " flag to indicate importance
CONFIGURING THE SCOREFILE
The scorefile system is disabled until you set scorefile to the pathname of the file slrn should use to hold the scoring parameters.
Once set, scorefile may be accessed through the E command at the header window, or may be edited manually. When accessed with E , slrn appends a template based upon the currently selected article to the scorefile with various parameters taken from the article and you are placed in your editor. To enable scoring, delete the % comment symbol from the first column of the header line(s) you wish to score upon.
The other way to configure your scorefile is by editing the file directly, with a text editor. Here is a sample scorefile (remember the KILL_FAQ and score.txt files are the definitive references for the score system):
[news.software.readers]
Score: 9999
% All slrn articles are good
Subject: slrn
Score: 9999
% This is someone I want to hear from
From: davis@space.mit.edu
Score = -9999
Subject: <f?agent>
[comp.os.linux.*]
Score: -10
Expires: 1/1/1996
Subject: swap
Score: 20
Subject: SunOS
Score: 50
From: Linus
% Kill all
articles cross posted to an advocacy group
Score: -9999
Xref: advocacy
~From: Linus
% This person I
want nothing to do with unless he posts about
% ’gizmos’ but only in
comp.os.linux.development.*
Score: -9999
From: someone@who.knows.where
~Subject: gizmo
~Newsgroup: development
% These stooges
post massive .sigs all the time. I like
% to track them
[alt.fan.warlord]
Score:: 20
Subject: larry
Subject: curly
This file consists of two sections. The first section defines a set of tests applied to the news.software.readers newsgroups. The second section applies to the comp.os.linux newsgroups.
The first section consists of three tests. The first test applies a score of 9999 to any subject that contains the string ’slrn’. The second test applies to the ’From’. It says that any article from davis@space.mit.edu gets scores 9999. The third test gives a score of -9999 to any article whose subject contains the word ’agent’. Since tests are applied in order, if an article contains both ’slrn’ and ’agent’, it will be given a score of 9999 since 9999 is a special score value.
The second section is more complex. It applies to the newsgroups comp.os.linux newsgroups and consists of 5 tests. The first three are simple: -10 points are given if the subject contains ’swap’, 20 if it contains SunOS, and 50 if the article is from someone named ’Linus’. This means that if Bill@Somewhere writes an article whose subject is ’Swap, Swap, Swap’, the article is give -10 points. However, if the Linus writes an article with the same title, it is given -10 + 50 = 40 points. Note that the first test expires at the beginning of 1996.
The fourth test kills all articles that were cross posted to an advocay newsgroup UNLESS they were posted by Linus. Note that if a keyword begins with the ’~’ character, the effect of the regular expression is reversed.
The fourth test serves to filter out posts from someone@who.knows.where unless he posts about ’gizmos’ in one of the comp.os.development newsgroups. Again note the ’~’ character.
The last test marks as important messages from mentioning Moe or Curly in the alt.fan.warlord newsgroup. This demonstrates use of an "OR" condition in a scorefile.
If you elect to send a courtesy copy of your followup article to the original poster, you may easily do so by adding a "Cc:" header to the article. Here is an example of how to send a courtesy copy of a followup to John Davis’ (slrn’s author) announcement of a new slrn version:
Newsgroups:
news.software.readers
Subject: Re: slrn 0.8.0 Released!
References: <46c6b8$e2@news.mit.edu>
Organization: a clean well lit place
Reply-To: hg@n2wx.ampr.org
Followup-To:
Cc: davis@space.mit.edu
On 22 Oct 1995
01:26:45 GMT, John Davis <davis@space.mit.edu> wrote:
...
John will receive a copy of the followup by email with the article text preceded by a line of text stating that [This message has also been posted.] (The text within the brackets may be customized with the .slrnrc cc_followup_string parameter.)
MISCELLANEOUS SETTINGS
The .slrnrc initialization file also supports the following commands:
signature
<signature file name>
organization <Your organization name>
replyto <Email address to be used reply to>
quote_string <string to be used to quote an article>
editor_command <string used to invoke editor>
scorefile <score file name>
For example,
signature
.news-signature
organization "Society of Famous Outlaws"
signature "Billy the Kid"
quote_string ">"
editor_command "jed %s -g %d -tmp"
scorefile "News/Score"
$HOME/.slrnrc - the slrn’s initialization file
$HOME/.jnewsrc - default newsrc file for slrn.
% -*- slang -*-
% This is a sample startup file for the slrn news reader.
The percent
% character is used for comments.
% Note OS/2 and
Win32 users:
% To separate directories you can either use a single
’/’ or
% double ’\’. Single backslashes are not
supported. For example, use
% "C:\home\file.txt" or
"C:/home/file.txt" but NOT
"C:ele.txt"
% SERVER to
NEWSRC mapping
%server "hsdndev.harvard.edu"
".jnewrc-hsdndev"
%server "news.uni-stuttgart.de"
".jnewsrc-stuttgart"
% The next line
is for those servers that require a password.
%nnrpaccess "HOSTNAME" "USERNAME"
"PASSWORD"
%nnrpaccess "HOSTNAME" "USERNAME"
"" % Prompt for password
%nnrpaccess "HOSTNAME" "" "" %
Prompt for username and password
%hostname
"YOUR.HOSTNAME"
%set username "jd"
%set realname
"John Doe"
%set replyto "jd@somthing.com"
% Name of
signature file to use
%set signature ".signature"
% The quote
string will be used when following up/replying
set quote_string ">"
% If non-zero,
signature will not be included in quoted text of followups
set followup_strip_signature 0
% If set to 1,
slrn will not allow you to post articles that contain
% non-quoted lines whose length exceeds 80 characters. If
set to 2, a warning
% will be generated.
set reject_long_lines 1
% This regular
expression defines lines that are consider to be quoted
lines.
% It says that any lines beginning with 0-2 spaces followed
by a either
% a >, <, :, |, or = character is a quoted line.
ignore_quotes "^ ? ?[><:=|]"
% This sets the
follow-up and reply strings. Here, the following format
% specifiers are recognized:
% %d:date, %r:real name, %f:email address, %s:subject,
% %m:msgid, %n:newsgroups, %%: percent
set followup_string "On %d, %r <%f> wrote:"
set reply_string "In %n, you wrote:"
%Custom headers
to add to NEW posts
%set custom_headers "X-Whatever: bla0-Misc: bla
bla"
% Custom
headers for followup/reply. These can use format specifiers
as
% in the ’followup’ string variable.
%set followup_custom_headers "X-newsgroup:
%n0-realname: %r0
%set reply_custom_headers "X-newsgroup: %n0-realname:
%r0
% Headers to
show when viewing an articles. This is a comma-separated
% list of strings that specify what headers to show. Note
that these
% strings are not regular expressions. However, one may use,
e.g.,
% "X-" to match any header beginning with
"X-". Similarly, "F" will
% match "From:" and "Followup".
visible_headers
"From:,Subject:,Newsgroups:,Followup-To:,Reply-To:"
% WWW browser
to use. The ’U’ key in article mode searches the
current article
% for a URL and then calls X browser if slrn appears to be
run in X windows
% and non_Xbrowser otherwise. Note: The second Xbrowser form
assumes that
% netscape is already running.
set non_Xbrowser "lynx ’%s’"
set Xbrowser "netscape ’%s’ &"
%set Xbrowser "netscape -remote
’openURL(%s)’ &"
% If autobaud
is present, output rate will be synced to baud rate
%autobaud
% if non-zero,
display first article when entering article-mode.
set show_article 0
% if non-zero,
show description of newsgroup if available
set show_descriptions 1
% column where
group descriptions start
set group_dsc_start_column 40
% If non-zero,
backups of the newsrc file are not performed.
set no_backups 0
% If 0, do not
beep terminal. If 1, send audible beep. If 2, send only
% visible bell. If 3, send both.
set beep 1
% If non-zero,
slrn will automatically un-subscribe new groups.
% The default is 0.
set unsubscribe_new_groups 0
% If non-zero,
all subject titles will be displayed even though many are
% duplicated. A zero value makes the screen look less busy.
set show_thread_subject 0
% If non-zero,
slrn will draw the thread tree using simple ascii characters
set simulate_graphic_chars 0
% Enable
xterm/win32 mouse support: 1 to enable, 0 to disable
set mouse 0
% Draw cursor bar ala tin instead of slrn "->" cursor?
0 |
% Set to 1 to
have slrn scroll by full page instead of by line.
set scroll_by_page 0
% Setting this
to 1 will cause an article to automatically be marked as
read
% when viewed. Setting this to zero means that it is up to
the user to
% explicitly mark an article as read.
set auto_mark_article_as_read 1
% Setting
either of these to 0 will enable you to move directly to the
% next article/group without confirmation
set query_next_group 1
set query_next_article 1
% if zero, you
will not see the "next group:" prompt. This is NOT
the same
% as the ’query_next_group’ variable.
set prompt_next_group 1
% Set this to 0
for no-confirmation on follow, reply, quit, etc...
set confirm_actions 1
% If 0, save
all groups when writing newsrc file
% if 1, do not save any unsubscribed groups
% if 2, do not save any unread-unsubscribed groups
set write_newsrc_flags 0
% If non-zero,
you will be prompted whether or not a Cc header will be
% generated on the followup.
set cc_followup 0
set cc_followup_string "[This message has also been
posted.]"
% Set to 0 to
turn off display of ~ at end of article
set use_tilde 1
% Filename
where articles you have posted are archived.
%set save_posts "News/My_Posts"
%set save_replies "News/My_Replies"
%File where
failed posts are appended. Use "" to disable
saving.
%set failed_posts_file "dead.letter"
% The sendmail
command allows you to substitute another mailer. Be sure
that
% it implements the same interface as sendmail!
%set sendmail_command "/usr/lib/sendmail -oi -t -oem
-odb"
% Name of score
file (relative to HOME directory)
scorefile "News/Score"
% Articles
scoring min_high_score and above constitute a high scoring
article.
% Articles scoring below max_low_score define a low scoring
article.
% Articles scoring at or below kill_score will be killed.
set min_high_score 1
set max_low_score 0
set kill_score -9999
% Name of
directory where decoded files are placed (relative to HOME)
set decode_directory "News"
% Directory where all other files are saved.
set save_directory "News"
% Directory where postponed articles are placed. (Make sure
it exists)
set postpone_directory "News/postponed"
% If non-zero,
abort posting or email operation if the file was not
modified
% by the editor.
set abort_unmodified_edits 0
% Command used
to invoke editor. In the following example, %s represents
% the file name and %d represents the starting line number
%set editor_command "jed ’%s’ -g %d
-tmp"
%set editor_command "pico -t +%d
’%s’"
% Editor
command for editing posts, mail, and score files. Note the
use of
% single quotes around %s. This is only necessary if you use
filenames
% with spaces in them.
%set mail_editor_command "jed ’%s’ -g %d
-tmp"
%set post_editor_command "jed ’%s’ -g %d
-tmp"
%set score_editor_command "jed ’%s’ -g %d
-tmp"
% If non-zero,
files used for posting, followup and reply will be regarded
as
% temporary files in the directory specified by the TMPDIR
environment
% variable or /tmp.
set use_tmpdir 0
% If 0, do not
sort. If 1, perform threading. If 2, sort by subject
% If 3, thread then sort result by subject
% If 4, sort by score. If 5, thread then sort by score.
% If 6, sort by score and subject
% If 7, thread, then sort by score and subject
% If 8, sort by date with most recent first
% If 9, thread, then sort by date with most recent first
% If 10, sort by date with most recent last
% If 11, thread then sort by date with most recent last
set sorting_method 3
set display_score 0
% If 1, a
header with a new subject will start a new thread.
set new_subject_breaks_threads 0
% If non-zero,
threads will be uncollapsed when a group is entered
set uncollapse_threads 0
% If non-zero,
slrn will read the active file when starting. This may lead
to
% faster startup times IF your network connection is fast.
If it slow,
% DO NOT USE IT. If you can, I recommend setting it to 1.
set read_active 0
% If non-zero
and read_active is zero, slrn will attempt to use the NNTP
% XGTITLE command when listing unsubscribed groups.
set use_xgtitle 0
% What to wrap
when wrapping an article:
% 0 or 4 ==> wrap body
% 1 or 5 ==> wrap headers, body
% 2 or 6 ==> wrap quoted text, body
% 3 or 7 ==> wrap headers, quoted text, body
% The higher number indicates that every article will be
automatically
% wrapped.
set wrap_flags 4
% Maximum
number of articles to read before slrn will prompt. Default
is 100.
% Set this to zero to turn of prompting.
set query_read_group_cutoff 100
% Numes of
lines to read from the server between percentage counter
updates
% This number will vary with the speed of the connection to
your server
set lines_per_update 100
% Valid
character sets: isolatin, ibm850, next, koi8
% ibm850 is the default on OS/2
% next is the default on NeXT machines
% isolatin is the defaule on all other systems.
%set charset isolatin
%---------------------------------------------------------------------------
% Mime support
%---------------------------------------------------------------------------
set use_mime 1
set mime_charset "iso-8859-1"
% If non-zero, call metamail for mime formats that slrn does
not handle
set use_metamail 1
set metamail_command "metamail"
% If non-zero,
header numbers will be displayed in the left-margin of the
% header window. These numbers may be used as
’’thread selectors’’.
set use_header_numbers 1
% If non-zero,
prompt for reconnection if the NNTP connection drops. If
zero,
% attempt reconnection without asking user.
set query_reconnect 1
% Character to
use to hide spoiler text:
set spoiler_char ’*’
% set to 0 to
keep the display still, and just reveal the spoiler
% set to 1 to start a new page when spoiler is revealed
% set to 2 to keep the display still, and reveal ALL
spoilers
% set to 3 to start new page and reveal ALL spoilers
set spoiler_display_mode 1
% If non-zero,
interprete _this_ as underlined text and *that* as
% bold text using underlinetext and boldtext colors, resp.
% If set to 1, do not write _ and * characters.
% If set to 2, write _ and * with spaces.
% Otherwise, if non-zero, write _ and * characters.
3 |
% This
bitmapped variable controls what parts of an article should
be scanned
% for emphasized text. Set it to one of the following values
or the sum
% of any combination of the values to scan the corresponding
parts of the
% article:
% 1 message portion (the non-quoted, non-signature part)
% 2 quoted portion
% 4 signature
% For example, using 3 (1+2) will cause the message and
quoted portions to
% be scanned.
set emphasized_text_mask 1
% If non-zero, #v+ and #v- will be used as markers of verbatum lines
1 |
% If non-zero, hide signature in articles
0 |
% If non-zero, hide PGP signature in articles
0 |
% Help text to
be displayed at bottom of screen in various modes:
%set art_help_line "bla bla"
%set header_help_line "more bla bla"
%set group_help_line "and even more"
%If non-zero,
the terminal driver will be enabled to use ^S/^Q for
%flow control
set use_flow_control 0
%---------------------------------------------------------------------------
% Local spool configuration
%---------------------------------------------------------------------------
% set spool_inn_root "/var/lib/news"
% set spool_root "/var/spool/news"
% set spool_nov_root "/var/spool/news/over.view"
%
%% -- The following filenames are relative to spool_inn_root
unless they
%% start with "/".
% set spool_active_file "data/active"
% set spool_activetimes_file "data/active.times"
% set spool_newsgroups_file "data/newsgroups"
%% -- The
following filenames are relative to spool_nov_root
% set spool_nov_file ".overview"
%If set to 1,
then spool.c will actually check each article file exists
when
%reading an overview file. This adds a perceptible delay
(especially in a
%large spool directory), so I’ve made it an option.
With some servers it is
%almost redundant, whereas with others which don’t
expire entries from
%overview files regularly, it’s almost vital. If the
users sees a lot of
%"article not available" errors, they should
probably try turning it on.
set spool_check_up_on_nov 0
%---------------------------------------------------------------------------
% GroupLens Support
%---------------------------------------------------------------------------
%set use_grouplens 1
%color grouplens_display blue white
"grouplens.cs.umn.edu" | |||||
9000 | |||||
"YOUR_PSEUDONAME" |
%grouplens_add
"rec.cooking.recipes"
%grouplens_add "comp.os.linux.misc"
%---------------------------------------------------------------------------
% Colors
%---------------------------------------------------------------------------
"blue" |
"black" |
|||||||||
"magenta" |
"black" |
|||||||||
"brightblue" |
"black" |
|||||||||
"black" |
"white" |
|||||||||
"brightgreen" |
"black" |
|||||||||
"blue" |
"black" |
|||||||||
"red" |
"black" |
|||||||||
"yellow" |
"blue" |
|||||||||
"blue" |
"black" |
|||||||||
"blue" |
"black" | |||||||||
"green" |
"black" |
|||||||||
"green" |
"black" |
|||||||||
"brightcyan" |
"black" |
|||||||||
"red" |
"black" |
|||||||||
"magenta" |
"black" |
|||||||||
"yellow" |
"blue" |
|||||||||
"blue" |
"yellow" |
|||||||||
"lightgray" |
"black" |
|||||||||
"blue" |
"black" |
|||||||||
"red" |
"black" |
|||||||||
"magenta" |
"black" |
|||||||||
"brown" |
"black" |
|||||||||
"brown" |
"black" |
|||||||||
"brown" |
"black" |
|||||||||
"brown" |
"black" |
|||||||||
"brown" |
"black" |
|||||||||
"brown" |
"black" |
|||||||||
"green" |
"black" |
|||||||||
"red" |
"black" |
|||||||||
"yellow" |
"blue" |
|||||||||
"yellow" |
"blue" |
|||||||||
"white" |
"black" |
|||||||||
"blue" |
"black" |
|||||||||
"green" |
"black" |
|||||||||
"red" |
"black" |
|||||||||
"cyan" |
"black" |
|||||||||
"green" |
"black" |
%-----------------------------------------------------
% Monochrome attributes for monochrom terminals. One or more
attributes
% may be specified.
%-----------------------------------------------------
"none" |
|||||||
"none" |
|||||||
"bold" |
|||||||
"bold" |
"reverse" | ||||||
"none" |
|||||||
"blink" "bold" |
|||||||
"reverse" |
|||||||
"bold" |
"none" |
||||||
"none" |
|||||||
"bold" |
|||||||
"bold" |
|||||||
"bold" |
|||||||
"reverse" |
|||||||
"none" |
|||||||
"none" |
|||||||
"none" |
|||||||
"underline" |
|||||||
"underline" |
|||||||
"underline" |
|||||||
"underline" |
|||||||
"underline" |
|||||||
"underline" |
|||||||
"underline" |
|||||||
"underline" |
"bold" |
||||||
"bold" |
|||||||
"none" |
|||||||
"reverse" |
|||||||
"none" |
"bold" |
||||||
"bold" |
"underline" |
||||||
0 |
%------------------------ Group keymap------------------------------------
post_postponed |
"\P" |
||||||||
add_group |
"A" % add a new newsgroup |
||||||||
bob |
"\<" % beg of buffer |
||||||||
bob |
"^K\OA" |
||||||||
bob |
"^K\[A" |
||||||||
catchup |
"C" % mark group as read |
||||||||
down |
"\OB" % next group |
||||||||
down |
"\[B" |
||||||||
down |
"^N" |
||||||||
eob |
"\>" % end of buffer |
||||||||
eob |
"^K\OB" |
||||||||
eob |
"^K\[B" |
||||||||
group_search_forward |
"/" | ||||||||
help |
"?" |
||||||||
pagedown |
"^D" % next page of groups |
||||||||
pagedown |
"\[6~" |
||||||||
pagedown |
"^V" |
||||||||
pageup |
"\V" % previous page of groups |
||||||||
pageup |
"^U" |
||||||||
pageup |
"\[5~" |
||||||||
post |
"P" |
||||||||
quit |
"Q" |
||||||||
redraw |
"^L" |
||||||||
redraw |
"^R" |
||||||||
refresh_groups |
"G" |
||||||||
save_newsrc |
"X"" % read articles from group |
||||||||
select_group |
" |
||||||||
select_group |
" " |
||||||||
subscribe |
"S" % subscribe to group (See unsubscribe)
|
||||||||
suspend |
"^Z" |
||||||||
toggle_group_display |
" 33A" | ||||||||
toggle_scoring |
"K" |
||||||||
toggle_hidden |
"l" |
||||||||
toggle_list_all |
"L" |
||||||||
unsubscribe |
"U" % unsubscribe |
||||||||
up |
"\OA" % previous line |
||||||||
up |
"\[A" |
||||||||
up |
"^P" |
%---------------- Article mode keymap -------------------------------------
post_postponed |
"\P" | ||||||
goto_article |
"j" | ||||||
pipe_article |
"|" | ||||||
skip_quotes |
"" setkey article | ||||||
pageup |
"^U" | ||||||
pageup |
"\[5~" | ||||||
pageup |
"\V" setkey article | ||||||
pagedn |
"\[6~" | ||||||
pagedn |
"^D" | ||||||
pagedn |
"^V" |
setkey article
post "P"
setkey article toggle_show_author "\a"
setkey article get_parent_header "\p"
catchup_all |
"c" |
|||||||||
catchup_all |
"\c" |
|||||||||
uncatchup_all |
"\u" |
|||||||||
catchup |
"\C" |
|||||||||
uncatchup |
"\U" |
|||||||||
scroll_dn |
" " |
% scroll to next page of article or select article |
||||||||
scroll_up |
"^?" |
% scroll to next page of article |
||||||||
scroll_up |
"b" |
% (scroll_up or article_pageup) |
||||||||
"\\[A" |
% Scroll article one line up |
|||||||||
"\\OA" |
||||||||||
"\\[B" |
% Scroll article one line down |
|||||||||
"\\OB"" |
||||||||||
article_linedn " |
"/" |
% Search forward through article |
||||||||
"a" |
% Search forward for an author |
|||||||||
"A" |
% Search backward for an author | |||||||||
"\^C" |
% Cancel the article |
|||||||||
"d" |
% Mark current article as read and move to the next
unread one |
|||||||||
"^N" |
% Move to the next article |
|||||||||
"\[B" |
||||||||||
"\OB" |
||||||||||
";" |
% Set mark at current article |
|||||||||
"," |
% Set the mark and return to the location of the
previous mark. |
|||||||||
"f" |
% Followup on the article |
|||||||||
"F" |
% Forward the article to someone |
|||||||||
"?" |
% Show help screen |
|||||||||
"H" |
% Hide the article window. |
|||||||||
zoom_article_window |
"z" % Zoom/UnZoom article window |
|||||||||
">" |
% goto the end of the article |
|||||||||
"\OD" |
||||||||||
"\[D" |
||||||||||
"n" |
% next unread article |
"N" |
% next group |
|||||||
"p" |
% previous unread article |
|||||||||
"q" |
% Quit back to group mode. |
|||||||||
"^L" |
% Redraw the display |
|||||||||
"^R" |
||||||||||
"r" |
% Reply to the author of the current article |
|||||||||
"<" |
% goto the beginning of the article |
|||||||||
"\[C" |
||||||||||
"\OC" |
||||||||||
"O" |
% append to a file in Unix mail format |
"s" |
% Search forward/backward for an article with a specific
subject | |||||||
"S" |
||||||||||
"^Z" |
% Suspend the newsreader |
setkey article toggle_collapse_threads "\t"
toggle_rot13 |
"\R" |
||||||
toggle_sort |
"\S" |
||||||
"t" |
% Toggle the display of some headers on and off | ||||||
"T" |
setkey article toggle_signature
"\" % Toggle display signature on/off
setkey article toggle_pgpsignature "]" % Toggle
display pgp signature on/off
"u" |
|||||||||
% Mark the current article as unread |
|||||||||
"^P" |
% Move to the previous article |
||||||||
"\OA" |
|||||||||
"\[A" |
|||||||||
header_bob |
"\<" |
||||||||
% Move to first article in list |
|||||||||
header_eob |
"\>" |
||||||||
% Move to last article in list |
|||||||||
shrink_window |
"^^" |
||||||||
% Ctrl-6 or Ctrl-^ |
% Shrink header window | ||||||||
enlarge_window |
"^" |
||||||||
% Shift-6 or just ^ |
% Enlarge header window | ||||||||
"!" setkey article print_article |
|||||||||
"y" setkey article wrap_article |
|||||||||
"W" % toggle wrapping |
%setkey article
skip_to_prev_group "" % No default binding
%setkey article fast_quit "" % No default
binding
% This is a
special hack for HP terminals to get the arrow keys working.
% Are there any other terminals being used with non-ANSI
arrow keys?
#if$TERM hpterm
setkey group up "\A"
setkey group down "\B"
setkey article down "\B"
setkey article up "\A"
setkey article left "\D"
setkey article right "\C"
#endif
% Command prompt keymap
"^A" |
% Beginning of line |
||||||||
"^E" |
% End of line |
||||||||
"\[C" |
% Move right |
||||||||
"\[D" |
% Move left |
||||||||
"^H" |
% Delete backward |
||||||||
"^?" |
% Delete Backward |
||||||||
"^D" |
% Delete Foreword |
||||||||
"^K" |
% Delete to End of line |
||||||||
"\/" |
% Trim whitespace |
||||||||
"^Q" |
% Quoted insert |
environ(5)
Questions about slrn may be posted to the newsgroup news.software.readers where they will be answered by the author of the program. In addition, announcements of new versions of slrn are posted there.
The latest version of slrn is available via anoymous ftp from space.mit.edu in pub/davis/slrn.
John E. Davis <davis@space.mit.edu>
(This list is still incomplete)
Howard Goldstein <hg@n2wx.ampr.org> for updating this man page.
Andrew Greer <Andrew.Greer@vuw.ac.nz> for the VMS port.
Jay Maynard <jmaynard@admin5.hsc.uth.tmc.edu> for the OS/2 port.
Michael Elkins <elkins@aero.org> for the MIME code.
Lloyd Zusman <ljz@ingress.com> performed some cosmetic improvements.
J.B. Nicholson-Owens <jbn@mystery-train.cu-online.com> for extensive testing.
Mark Olesen <olesen@weber.me.queensu.ca> for suggestions and help with AIX version.
![]() |
slrn(1) | ![]() |