NAME
tin, cdtin, rtin, tind
SYNOPSIS
tin/cdtin/rtin/tind [options] [newsgroups]
DESCRIPTION
Tin is an easy to use full-screen Usenet News reader. It can read news
locally (ie: /usr/spool/news) or remotely via a Network News Transport
Protocol server (tin -r), or be built for use with NNTP only (rtin).
Cdtin reads news both locally and archived via CD-ROM. Tin will use
NOV (News OverView) style index files when available, if not the
included indexing daemon tind may be built.
This revision of tin (tinx) is derived from V1.2 pl2 and contains many
enhancements, which are described in this document, numerous bug fixes
and extensive additional error checking and handling. It will not eat
any of your files, nor become a runaway train if your terminal becomes
disconnected from it (a common dial-up access problem). A complete
revision history is available in tinx.doc which is included in the tinx
distribution (see the AVAILABILITY section at the end of this man
page).
Tin has five separate levels of operation: Spooldir Selection,
Newsgroup Selection, Thread/Article Selection, Thread Indexing and
Article Viewing. The 'h' (Help) command is context-sensitive and
displays all commands available from any particular level when invoked
from that level. Tin runs in the single character input mode - this
means in general commands don't need to be terminated with a <CR>. The
usual exception is when entering a string of characters (more than one)
such that without a <CR> it wouldn't be possible to know where the end
of it all actually is. Command characters are alphabetic case-
sensitive. That is, 'h' is not the same command as 'H'.. Under Unix
command arguments (such as a file name) are also case-sensitive.
On startup tin will display its progress in establishing a connection
if using NNTP, including the name, IP address and port number of each
server it tries and the greeting message when connecting, and in
reading in data from the server or spool. Once running tin indexes the
newsgroups found in $HOME/.newsrc. An arrow '->' or highlighted bar
will point to the first newsgroup. Move to a particular group by using
the terminal arrow keys (terminal dependent) or 'j' and 'k'. Use
PgUp/PgDn (terminal dependent) or 'b' and <Space> to page up/down.
Enter a newsgroup by pressing <CR> or the Right-Arrow key (terminal
dependent) or by entering its index number (listed at the left side of
its row on the screen). The <Tab> key advances to the next newsgroup
with unread articles and enters it, then if pressed again advances to
and opens the next unseen article, as long as any remain unread.
TABLE OF CONTENTS
This tinx manual page is organized in the following sections, which may
be directly accessed by searching for them by name.
FULL SCREEN DISPLAY FORMATS
Operational details for the Selection Indices and the Article
Viewer.
TIPS AND TRICKS
Hints for using tin and solving common problems.
COMMON NAVIGATION KEYS
Operation of the arrow and function keys, and some alphabetic
key substitutes for them.
X WINDOW SYSTEM MOUSE BUTTONS
Details of functional differences at tin's various levels of
operation.
COMMON EDITING COMMANDS
How to use tin's internal single-line editor when entering
command character strings.
SPOOL DIRECTORY SELECTION COMMANDS
Descriptions of all commands available from the Spool
Directory Selection index.
NEWSGROUP SELECTION COMMANDS
Descriptions of all commands available from the Newsgroup
Selection index.
THREAD/ARTICLE SELECTION COMMANDS
Descriptions of all commands available from the Thread and
Article Selection indices.
THREAD INDEXING COMMANDS
Descriptions of all commands available when in the individual
Thread Indexing mode.
ARTICLE VIEWER COMMANDS
Descriptions of all commands available from the Article
Viewer.
SERVER AUTHENTICATION
Describes the options available when one must log in to a
news server before being given access to news on it.
ENVIRONMENTAL VARIABLES
Lists all variables tin reads and includes details concerning
their usage.
CONFIGURATION AND DATA FILES
Lists all files tin creates and/or reads and includes details
regarding their usage.
GLOBAL OPTIONS MENU
Describes the operation of the globally accessable
configuration menu, which allows the user to conveniently set
some of tin's most frequently altered parameters.
ANSI COLOR SUPPORT
Provides info regarding enabling and configuring ANSI color
displays.
TINRC CONFIGURABLE VARIABLES
Lists and describes the vast majority of tin's user settable
operational parameters.
GROUP ATTRIBUTES
Describes the use of a data file to individually set some
attributes on a per-newsgroup basis.
AUTOMATIC KILL AND HOT-SELECTION
Describes how to kill uninteresting articles and auto-select
(mark as hot) others of particular interest.
POSTING ARTICLES
Discussion of the various ways a news article may be posted.
CUSTOMIZING THE ARTICLE QUOTE STRING
Details regarding creating the attribution strings used when
including text from an article being followed up or when
replying by email.
SIGNATURES
Discussion of the various ways a signature may be appended to
news articles and email letters.
MAILING, PIPING, PRINTING, REPOSTING AND SAVING ARTICLES
Describes the available options when the need arises to move
news articles elsewhere.
AUTOMATIC MAILING AND SAVING NEW NEWS
Discusses options to gather up all new news articles and
store them, perhaps while one is away for a while.
COMMAND LINE OPTIONS
Descriptions of all the command line switches with which tin
may be started.
NEWS ADMINISTRATION
Describes a few options available to those installing tin.
INDEX FILES
Discussion of the various article indexing options available
when installing tin.
BUGS Lists all known bugs in this release of tinx.
HISTORY Describes the origin of this newsreader.
CREDITS Lists the author of the software that inspired tin.
AUTHOR Info about the author of tin.
MAINTAINER
Info about the maintainer of tinx (this special version of
tin).
AVAILABILITY
Where to get the latest release of tinx.
COPYRIGHT NOTICE
Includes tin's distribution and usage policies.
FULL SCREEN DISPLAY FORMATS
Tin has five separate levels of operation: Spooldir Selection,
Newsgroup Selection, Thread/Article Selection, Thread Indexing and
Article Viewing. Use the 'h' (help) command to view a list of the
commands available at any particular level. Help is context-sensitive
and changes for each level. Tin defaults to displaying a four-line
Help Mini-Menu at the bottom of each screen. This may be toggled off
(and back on) via the 'H' command.
Spooldir Selection is presently only available in cdtin, in which one
may select between the local (live) spool and as many other spool
directories as are present on the CD-ROM currently in use.
At the Newsgroup Selection level the title bar at the top of the screen
displays the name of the news server or spool to which you are
connected, the total number of newsgroups listed for the mode (unseen
only, all subscribed or all groups) in use and an R if the display is
currently toggled to only groups having unseen articles (as may be done
with the 'r' command):
Group Selection (nnrp03-std.news.primenet.com 78 R) h=help
If you receive new email while using tin you will be informed by a
message appearing where the 'h=help' text is in the upper right corner
of the screen. Otherwise the bottom line of the screen is the message
area in which program status and errors are reported.
Items on selection screens are each given a unique index number which
may be used to access them. These index numbers are always listed at
the left edge of the display. Note well the index numbers are
arbitrarily assigned and will change each time the display is updated
if any groups are added to or removed from the selection index.
Thus each newsgroup listed has an index number, which is followed by an
estimate of the number of articles in that group as yet unread by you.
It's only an estimate because at this point only the difference between
the highest and lowest article numbers minus what you have already seen
is displayed and articles may have been canceled, superseded or become
missing. This is followed by the newsgroup name and if descriptions
are enabled (the 'd' command toggles them off and on) a short
explanation of what it is intended to cover if there is one available
for that group:
11 45 alt.railroad.steam Steam powered railroads
12 17 alt.startrek.books
u 13 81 alt.happyclown
u 14 21 alt.music.sloan Discussion of Canadian
->u 15 161 alt.games.shadow-warrior Discussion of 3DRealms
In the above a 'u' to the left of the index number denotes you are not
presently subscribed to this newsgroup. Subscribed means tin will
maintain a record of which news articles in the newsgroup you have read
and the newsgroup will be listed in the subsets of all groups displayed
for the unseen only and subscribed only modes. The '->' is the cursor
and indicates in this example newsgroup #15 is currently selected. If
your terminal supports inverse video this may be replaced with a
highlighted bar (simply use the 'I' command) which will recover and use
the two columns formerly eaten by the pointer. The starting column of
the newsgroup descriptions may be defined via the groupname_max_length
variable in $HOME/.tin/tinrc. As this is at best a trade-off (27 is a
good compromise) and something will be truncated, the 'i' command may
be used to dump the complete description of the currently selected
newsgroup to the message area at the bottom of the screen:
Discussion of 3DRealms game, Shadow Warrior.
Once you've opened a newsgroup the Thread Selection level screen
presents the individual threads (or Articles if in the unthreaded mode)
in much the same way as the groups, above, are handled. The title bar
at the top of the screen displays the name of the newsgroup currently
open, the server or news spool on which it's being read, the number of
threads (T) or articles (U) listed for the modes (unseen only or all
articles, threaded or unthreaded) in use, an article count (A) if
threading, the number of articles killed (K), marked as hot (H) and
tagged (t), followed by an (R) if the display is currently toggled to
unseen articles only (as may be done with the 'r' command):
primenet.announce (nnrp02-std.news 3T 3A 0K 0H 2t R) h=help
Each thread listed has an index number, which is followed by a '+' if
there are articles in that thread as yet unread by you. If an article
has been marked as hot this will be replaced by a '*' (in inverse video
if you terminal supports it). This is followed by a count of the
unseen articles or if in the show all mode a count of all articles in
the thread, the subject and unless disabled (Show Author in tin's 'M'
Global Options Menu) the author of the first article (base note) then
present on the server or spool. The subject can extend through the
author area using all available space when Show Author is set to None.
1 t+ phone_downtime (chk) Sun Jun 8 07:46:37 19 support@pri
2 t+ phone_downtime (chk) Sun Jun 8 07:55:07 19 support@pri
-> 3 + 2 usr_machine_maint (chk) Sun Jun 8 10:01:59 support@pri
Here the 't' indicates at least one article in the thread has been
tagged for possible processing of all so tagged with one single set of
commands, and a count of one unseen is implied in the '+' itself thus
counts are not displayed until two or more unread articles exist when
in the display unseen articles only mode. In the show all mode the '+'
indicates there is at least one unseen article present in the thread
and the count displayed is the total of all articles present, both seen
and unseen.
The 'u' command toggles between the threaded and unthreaded modes. If
in the unthreaded mode each article is individually listed and the tag
sequence (serial order in which an article was tagged) numbers replace
the unseen counts:
primenet.announce (nnrp02-std.news 3U 0K 0H 2t R) h=help
1 t+ 1 phone_downtime (chk) Sun Jun 8 07:46:37 19 support@pri
2 t+ 2 phone_downtime (chk) Sun Jun 8 07:55:07 19 support@pri
-> 3 + usr_machine_maint (chk) Sun Jun 8 10:01:59 support@pri
This is useful as multiple-part files transmitted in more than one news
article must be tagged in proper sequence before decoding. NOTE WELL
while all articles can be tagged only one multiple part uuencoded file
can be processed at any one time.
Multiple part articles must be tagged in their correct sequential order
to be properly decoded. When in the threaded mode the Thread Indexing
('l' command) is also useful to display tag sequence numbers:
Thread (Double Roasting) h=help
0 [ 37] I840COFFEE <[email protected]>
1 1+ [ 26] Colin Bigam <[email protected]>
-> 2 2+ [ 31] Scott Reed, Green Coffee Buyer, QCM <pjs@pjscoff
Note here after the index numbers at the extreme left the tag sequence
numbers appear to the left of the '+' unseen article marker. The
numbers in brackets are the lengths in number of lines of text of each
article.
At the Article Viewer level the initial page header presents these
data:
<Date Posted> <Newsgroup> <Thread X of Y>
<Num of Lines> <Subject> <Num of Responses in Thread>
<Author> <Personal Name> at <Organization>
<Article Body>
If you have set your timezone (an operating system parameter) dates
will be converted to your local time. In the unthreaded mode the
number of responses on the second line becomes the article filename.
TIPS AND TRICKS
Tin can be pretty much be navigated by using the four cursor keys.
Left-Arrow goes up a level or will exit from the Newsgroup Selection
level, Right-Arrow goes down a level until opening either the first
unseen article or base note if none is new and then (at the Article
Viewer level) will act like <Tab> until all unseen articles have been
read except it will not then advance to the next group, Up-Arrow goes
up a line (page at the Article Viewer level) and Down-Arrow goes down a
line (page at the Article Viewer level).
The <Tab> key is also useful to quickly advance to and step through
unseen articles. When everything is a newsgroup has been seen and
you're returned to the group's article index if pressed again <Tab>
will open the next newsgroup with unseen articles in it.
Many queries (ie: 'Mark everything as read? (y/n): y') within tin offer
a default choice which is shown at the cursor position. By pressing
<CR> the default value is taken.
Most prompts for input from you (ie: 'Post subject>') within tin can be
aborted by pressing <ESC>.
The Unix shell style pattern matching used in places such as strings on
which articles are killed is currently alphabetic case-sensitive. You
may specify both cases, as in [Pp][Ss][Yy][Cc][Hh][Ii][Cc], for
patterns when both are of interest. This example will match psychic,
Psychic, PSYCHIC or any other case-specific version of it.
When reading in data (active file, .overview files, newsgroups file)
via NNTP over a network the I/O is timed and the result to the nearest
millisecond is displayed in the message area at the bottom of the
display. This gives the user a means to assess network and server
performance (timing is only to stuff data into a temp file). For
example an active file of 25,000 groups is about 1MB in size and should
over a 10mbps ethernet be read in under two seconds. The counter
displayed while reading is tallying lines of text returned from the
server.
The unseen article counts displayed are estimates - any one may be
canceled or otherwise become missing. More accurate unseen data (at
the cost of more time taken to obtain them) are available by using any
text editor to set parse_listgroup=ON in $HOME/.tin/tinrc. This
feature is currently only supported when reading news from an NNTP
server.
When opening large newsgroups you may receive a status message saying a
certain number of NOV (News OverView) records are being skipped. This
occurs when the operating system data segment size is considered to be
inadequate for the number of records to be read in. Currently 16,000
arts per 8MB of memory are allowed. This can only be an estimate, but
experience has shown it to be pretty close to reality. On a typical
64MB system this permits 128,000 arts to be loaded. The only other
choice is crashing when memory runs out..
Tin can dynamically change some of its options with the 'M' (for Global
Options Menu) command, which is available at all levels except Thread
Indexing. Any changes are written to $HOME/.tin/tinrc. This file also
contains many other options which can only be changed by editing it.
See the TINRC CONFIGURABLE VARIABLES section, below, for details.
Defining groupname_max_length=27 or so makes newsgroup descriptions
fairly easy to read without taking too much off the average newsgroup
name. You may also use the 'i' command to see the full description
text of the currently selected newsgroup displayed in the message area
at the bottom of the screen.
If you are using a slow (character-cell) terminal or using tin via a
modem connection display speed can be enhanced by defining
slow_speed_terminal=ON in $HOME/.tin/tinrc. This will strip any
trailing blanks from the end of each line. Indices are normally space
padded to [your_terminal_width-1] to support a full-screen inverted
video cursor although it may still be used on trimmed indices.
Additionally, if tin is on the other end of a modem or sluggish network
link from the server you'll find the '-n' and '-q' command line options
worth investigating. These speed up operation at the expense of only
processing groups already subscribed. Turning off the newsgroup
descriptions with the 'd' command after tin is running also saves some
time beginning the next time tin is started as it's one less file to
load.
When reading news via NNTP and the server system is comprised of more
than one host you may when connecting use Ctrl-C to force tin to onward
to trying the next host in the list. This is convenient when one (or
more) of the host servers are sluggish, hung or missing in action. The
time out here if not otherwise interrupted is 60 seconds.
If you wish to read news on something other than your default server or
spool you may issue the command:
tin -f new_newsrc -x new_server_name
Using the real names, of course. You may need to log in, if that's the
case tin will prompt for it, or if you feel your system security is
adequate you may place the identifying data in a disk file which will
be recovered without any intervention by the user. See the SERVER
AUTHENTICATION section, below, for details. Multiple servers are
supported and command aliases may be used for easy access to as many
different hosts as one would like.
Tin will prepend the $HOME path to new_newsrc so the file must reside
either there or in a subdirectory under it. You may copy your existing
.newsrc to new_newsrc and tin will delete any unavailable groups on the
new server then the rest may be reset with tin's Ctrl-R command. You
may also start as a new user by simply specifying a non-existent or
invalid (no ':' or '!' in its first line) file. Tin will then
create/overwrite it using the LIST SUBSCRIPTIONS command, or if that
fails all newsgroups unless you've defined AUTOSUBSCRIBE. See the
ENVIRONMENTAL VARIABLES section, below, for its usage. Backups
(.oldnewsrc and the temp file .newnewsrc) remain with their original
names in the $HOME/ directory and will contain data from which ever
newsrc file is then or last was in use.
If you are using the pico text editor you'll find defining VISUAL='pico
-t -w -z' a big help. Here, -t is the tool mode, which eliminates the
yes/no query to save the file when exiting and the file name query as
well, -w kills the wrap mode (so long header lines won't be broken) and
-z allows Ctrl-Z to suspend the editor so you can do something else
without exiting pico first when the need arises.
If you need to suspend tin with Ctrl-Z take care and be sure no I/O
operation is still active before you do it. When tin is waiting for
input it's quiescent (unless you see 'q' to quit in the status line in
which case you'd just press 'q' first). You may use the 'v' command if
you're not sure - when you see the version data type out you may safely
suspend tin. There is as well a '!' shell escape command which of
course has no possibility of interfering with a pending I/O operation.
Should you choose some other editor and see filenames with '+8' or some
other number appended this means that editor does not support a cursor
offset into the file on start-up. This may be easily disabled in tin
by toggling the Editor Offset to OFF with the Global Options Menu
accessed via the 'M' command (this is item #2).
Under Unix the default MAILER is usually sendmail. If you'd like
something more than just a text editor for mailing operations within
tin (ie: replying via 'r, R', mailing via 'm' and bug reports via 'R')
you may define this environmental variable to elm, pine or any other
mail user agent of your choice.
When tin is run in an X11 window it will resize itself each time the
terminal window is resized. When not on an index the mouse buttons
revert back to usual cut and paste of X11, but only after one click of
any button. See the X WINDOW SYSTEM MOUSE BUTTONS section, below, for
details.
When processing multiple articles results in more than one output file
tin will append serial numbers to the file names, as in test.001,
test.002, and so on. The number of leading zeros is based on the
highest number to be used, so directory listings and such will easily
keep all files in correct serial order. If you wish to move a set of
these files to a host with a limited filename capacity (such as the
typical personal computer) it would be wise not to save more files at
any one time than the target system can accomodate (with a pc this
would be 999 maximum due to the 8.3 name structure). Tin also supports
the elm sytle option of using an equals sign for the first character of
the file name (=filename) which will concatenate all the articles into
one single file. Specifying only an equals '=' sign for the filename
will create or append to a file of the same name as the currently
selected newsgroup.
Tin will reread the active file at set intervals to show any newly
arrived news. Default is 300 seconds and the controlling parameter is
reread_active_file_secs in $HOME/.tin/tinrc.
Unsubscribing a newsgroup means a complete rewrite of the newsrc file,
which tin does on a line by line basis. Unsubscribing from many groups
can become a very serious performance issue as all this is done one
group per pass through the file. It's much better to use the text
editor of your choice on newsrc files.
If you wish to run this software on Netcom's interactive (shell)
account hosts see tinz.doc, included in the tinx distribution.
The following newsgroups provide useful information concerning Usenet
News and the facilities used to transport and read it:
news.answers Frequently Asked Questions (FAQs)
news.software.b Transport agents like Cnews and INN
news.software.misc News issues not covered elsewhere..
news.software.nntp Network News Transfer Protocol info
news.software.readers User agents like nn, slrn, tin, trn
COMMON NAVIGATION KEYS
This table lists the command keys common to moving through all five
levels within tin:
ANSI/vt100 Other Terminals
Beginning of Item(s) Home 1 (Ctrl-R or g in Article Viewer)
End of Item(s) End $ (also G in Article Viewer)
Page Up PgUp b or Ctrl-B or Ctrl-U
Page Down PgDn <Space> or Ctrl-F or Ctrl-D
Line Up Up-Arrow k (page in Article Viewer)
Line Down Down-Arrow j (page in Article Viewer)
Select Item Right-Arrow <CR> (Spool&Group Sel, Thread Idx)
1st Unseen/Base Note Right-Arrow <Tab>/<CR> (Article/Thread Select)
Next Unseen Item Right-Arrow <Tab> (Article Viewer)
Previous Level Left-Arrow q (Exit at Group Selection)
X WINDOW SYSTEM MOUSE BUTTONS
If you are running the X Window System (X11) and the environmental
variable TERM is defined as xterm then the mouse buttons may be used to
select items from tin's various indices.
In the Spool Selection page, if the mouse pointer is before the spool
indexing region the previous page is selected (just like 'b'). If the
mouse pointer is after the spool indexing region the next page is
selected (just like <Space>). If the mouse pointer is on a spool
selection then:
Left Button moves the selection cursor to that spool.
Other Buttons move the selection cursor to that spool and open it,
just like <CR>.
In the Newsgroup Selection page if the mouse pointer is before the
groups indexing region the previous page is selected (just like 'b').
If the mouse pointer is after the groups indexing region the next page
is selected (just like <Space>). If the mouse pointer is on a group
then:
Left Button moves the selection cursor to that group.
Other Buttons move the selection cursor to that group and open it,
just like <CR>.
In the Thread/Article Selection page if the mouse pointer is before the
article indexing region the previous page is selected (just like 'b').
If the mouse pointer is after the article indexing region the next page
is selected (just like <Space>). If the mouse pointer is on an article
or thread then:
Left Button moves the selection cursor to that article or thread.
Center Button moves the selection cursor to that article or thread
then opens next unread article from that index position,
just like <Tab>.
Right Button moves the selection cursor to that article or thread and
opens it, just like <CR>.
In the Thread Indexing page if the mouse pointer is before the article
indexing region the previous page is selected (just like 'b'). If the
mouse pointer is after the article indexing region the next page is
selected (just like <Space>). If the mouse pointer is on an article
then:
Left Button moves the selection cursor to that article.
Center Button moves the selection cursor to that article then opens
next unread article from that index position, just like
<Tab>.
Right Button moves the selection cursor to that article and opens it,
just like <CR>.
In the Article Viewer and other menus and areas mouse button
functionality reverts back to usual cut and paste of X11, but only
after one click of any button.
COMMON EDITING COMMANDS
An emacs style line-input function allows editing command input strings
and a history list allows the easy reuse of previously entered strings.
In the password entry mode history is disabled and a '*' will be echoed
for each character input. This single-line editor is separate from any
command history maintained by one's shell. Here commands are only
cached in memory, they are not written out to a disk file and thus
remain stored only for any one session with tin. The default list size
is fifty entries and the following editing functions are available when
composing an input string:
Ctrl-A, Ctrl-E
Move the cursor to the beginning or the end of the line,
respectively.
Ctrl-F, Ctrl-B
Move the cursor forward or backward one word, respectively.
Ctrl-D Delete the character currently under the cursor, or send an
<EOF> if no characters are in the input buffer.
Ctrl-H, <DEL>
Delete the character to the left of the cursor.
Ctrl-K Delete characters from the current cursor position to the end
of the line.
Ctrl-P, Ctrl-N
Step through the command history list, previous and next,
respectively. Disabled during password entry.
Ctrl-L, Ctrl-R
Retype the current line.
<CR> Places the line on the history list if non-blank and not in
the password entry mode, appends a newline to it and returns
it to tin.
<ESC> Aborts the current editing operation, discarding the input
text.
SPOOL DIRECTORY SELECTION COMMANDS
4 $ Select spool directory 4 in the index ($=select the last
spool directory in the index).
Ctrl-L Redraw the screen.
<CR> Read news from the currently selected spool directory.
h On-line Help for all Spool Directory Selection commands.
H Toggle the display of a four line Help Mini-Menu at the
bottom of the screen.
I Toggle the use of inverse video for highlighting and the
selection cursor.
q Return to the previous level.
Q Quit tin.
R Mail a bug report or comment to the maintainer. This is the
best way of getting bugs fixed and features added or changed.
v Show tin's version data in the message area at the bottom of
the screen.
NEWSGROUP SELECTION COMMANDS
4 $ Select group 4 in the index ($=select the last group in the
index).
Ctrl-K Delete the currently selected newsgroup from the newsrc file.
Deleted groups are stored in $HOME/.delgroups and may be
undeleted by using the 'Z' command.
Ctrl-L Redraw the screen.
Ctrl-R Reset the newsrc file removing all data regarding which
articles have been seen. Useful when a news spool gets
destroyed and article serial numbering data are lost on the
news host, or when moving a list of subscribed newsgroups to
a new news host system.
<CR> Open the currently selected newsgroup.
<Tab> Open the next (with respect to the current cursor position)
group in the Newsgroup Selection index containing unread
news. Once a newsgroup has been entered <Tab> then opens the
next unseen article in it for viewing. When all articles in
that newsgroup have been read and you're returned to the
group's Thread/Article Selection index if pressed again <Tab>
opens the next group with unseen articles in it. At the end
of the Newsgroup Selection index this check wraps around to
the beginning and continues from there until everything has
been read.
a Toggles between an ANSI-Color or a monochrome display.
c Mark all articles in the currently selected newsgroup as
having been read then go to the next group in the Newsgroup
Selection index. If Confirm Command in the 'M' Global
Options Menu is ON confirmation will be requested before the
update is actually done, at which time it may be declined if
desired. After reaching the end of the index this wraps
around to the to the first group in the list.
C Mark all articles in the currently selected newsgroup as
having been read then go to the next group with unseen
articles in the Newsgroup Selection index. If Confirm
Command in the 'M' Global Options Menu is ON confirmation
will be requested before the update is actually done, at
which time it may be declined if desired. After reaching the
end of the index this wraps around to the beginning and
continues checking upward from there.
d Toggle the display to show just the newsgroup names or the
newsgroup names along with their descriptions.
e Display the number of newsgroups that are currently empty
(having no articles in them).
E Display the number of newsgroups that are currently
completely virgin (never had even one article posted to
them).
g Select a newsgroup from those currently indexed by entering
its name.
h On-line Help for all Newsgroup Selection commands.
H Toggle the display of a four line Help Mini-Menu at the
bottom of the screen.
i Display the full text of the currently selected newsgroup's
description in the message area at the bottom of the screen.
I Toggle the use of inverse video for highlighting and the
selection cursor.
l List and allow selection of the available spool directories.
This feature requires a special library to be linked with tin
to create cdtin which can then read news from an active news
feed and also from multiple CD-ROMs.
m Move the currently selected newsgroup's position within the
Newsgroup Selection index by supplying the desired new index
number. Entering '1' moves it to the first displayed group,
'8' the eighth group, etc. '$' may be used to move to the
the last group listed in the index. These choices must be
made when displaying all subscribed newsgroups, tin will
inform you if you need to toggle to that mode first.
M Invokes a configuration menu for some of tin's options (for
more information see the GLOBAL OPTIONS MENU section, below).
n Go to the next newsgroup containing unread news and open it.
N Go to the next newsgroup containing unread news but do not
open it.
q Q Quit tin.
r Toggle the display of all subscribed groups or just the
subscribed groups currently containing unread articles. This
command has no effect if the newsgroups were specified on and
read in from the command line when tin was started.
R Mail a bug report or comment to the maintainer. This is the
best way of getting bugs fixed and features added or changed.
s Subscribe to the currently selected newsgroup.
S Subscribe to all the newsgroups that match a user specified
pattern.
u Unsubscribe from the currently selected newsgroup.
U Unsubscribe from all the newsgroups that match a user
specified pattern.
v Show tin's version data in the message area at the bottom of
the screen.
w Post an article to the currently selected newsgroup.
W Display a history of message traffic generated by the user.
Dates, destinations and subjects are shown, up to the last
200 events.
y Toggles between yanking in all newsgroups (including all
unsubscribed groups) from $LIBDIR/active (that are not in the
newsrc file) and only displaying subscribed newsgroups.
Y Reread the news active file to see if any new news has
arrived since tin was started or the last time the active
file was read.
z Mark all articles in the currently selected newsgroup as
unread.
Z Undelete a newsgroup previously deleted from the newsrc file
with the 'Ctrl-K' command.
! Shell escape. If you don't wish to execute the default
(last) command you may enter a new command or press <ESC> to
just spawn a new shell. When done enter exit on the spawned
shell command line to return to tin.
/ Search for a newsgroup by its name, forward through the index
from the current selection cursor position.
? Search for a newsgroup by its name, backward through the
index from the current selection cursor position.
THREAD/ARTICLE SELECTION COMMANDS
4 $ Select article 4 in the index ($=select the last article in
the index).
Ctrl-K Kill or mark as hot (auto-select) the currently selected
article. For more information see the AUTOMATIC KILL AND
HOT-SELECTION section, below.
Ctrl-L Redraw the screen.
<CR> Read the currently selected article.
<Tab> Open the next unread article in the currently selected
newsgroup or if there is none remaining go to the next
newsgroup containing unread articles. When the end of the
Newsgroup Selection index is reached this wraps around to the
beginning and continues checking from there until everything
has been read.
a Search for an author, forward through the index from the
current selection cursor position.
A Search for an author, backward through the index from the
current selection cursor position.
B Search article bodies for the specified text string, forward
from the current selection cursor position only. This
command has no backward counterpart.
c Mark all articles in the currently selected newsgroup as
having been read then go to the next group in the Newsgroup
Selection index. If Confirm Command in the 'M' Global
Options Menu is ON confirmation will be requested before the
update is actually done, at which time it may be declined if
desired. After reaching the end of the index this wraps
around to the to the first group in the list.
C Mark all articles in the currently selected newsgroup as
having been read then go to the next group with unseen
articles in the Newsgroup Selection index. If Confirm
Command in the 'M' Global Options Menu is ON confirmation
will be requested before the update is actually done, at
which time it may be declined if desired. After reaching the
end of the index this wraps around to the beginning and
continues checking upward from there.
d Toggle the index display to show just article subjects or
subjects and authors.
e Select an article to read by its numeric file name. Tin must
first be in its show all articles mode (as opposed to unseen
only) as otherwise the full group index (and thus all
articles) is unavailable for this command. Once invoked
display of article file names at the Article Viewer level is
also enabled, after which it may only be disabled via the 'i'
command within the Article Viewer.
g Open another newsgroup by entering its name.
h On-line Help for all Thread/Article Selection commands.
H Toggle the display of a four line Help Mini-Menu at the
bottom of the screen.
I Toggle the use of inverse video for highlighting and the
selection cursor.
K Mark the current article or thread as read and advance to
next unread article or thread.
l Enter the Thread Indexing mode, listing the author of each
response in the current thread. Most useful for checking tag
sequence numbers which are individually displayed in this
mode.
m Mail the currently selected article, thread, auto-selected
(hot) articles, articles matching a pattern or tagged
articles to someone.
M Invokes a configuration menu for some of tin's options (for
more information see the GLOBAL OPTIONS MENU section, below).
n Go to the next newsgroup in the list of those currently
indexed.
N Go to the next unread article in the newsgroup currently
open.
o Output the currently selected article, thread, auto-selected
(hot) articles, articles matching a specified pattern or
tagged articles to the printer.
p Go to the previous newsgroup in the list of those currently
indexed.
P Go to the previous (with respect to the selection cursor
index position) unread article in the currently open
newsgroup.
q Return to the previous level.
Q Quit tin.
r Toggle the indexing display between unseen articles only and
all articles in the currently selected newsgroup.
R Mail a bug report or comment to the maintainer. This is the
best way of getting bugs fixed and features added or changed.
s Save the currently selected article, thread, auto-selected
(hot) articles, articles matching a pattern or tagged
articles to a file, files or a mailbox. A mailbox file is
the result of concatenating multiple input items to one
single output file and is specified by entering a leading
equals sign when prompted for a filename: '=filename'. Tin
supports the following forms of pathname expansion:
~/News /usr/iain/News
~abc/News /usr/abc/News
$VAR/News /env/var/News
And these which include a filename:
= /usr/iain/Mail/group.name
=filename /usr/iain/Mail/filename
+filename /usr/iain/News/group.name/filename
t Tag or untag (toggles) the currently selected article or
thread (only unseen articles in a thread if in the show only
unread mode, otherwise all of it) for mailing 'm', piping
'|', printing 'o', saving 's' or reposting 'x'. Tags are
reset when exiting a newsgroup, so they must be used prior to
that. Tags are preserved though operations on them for the
convenience of doing more than one thing with the same set of
articles. NOTE WELL while all articles in a group can be
tagged only one multiple part uuencoded file can be processed
at any one time and multiple part articles must be tagged in
their correct sequential order to be properly decoded. When
you are done with the current set of tagged items or wish to
start over use the 'U' command to untag everything.
T Tag everything (all articles) as currently indexed in the
currently selected newsgroup. If displaying only unread
items then only as yet unseen articles will be tagged.
u Toggle the display to index all articles as unthreaded or
threaded.
U Untag all tagged articles in the currently selected
newsgroup. Exiting the group also untags everything.
v Show tin's version data in the message area at the bottom of
the screen.
w Post an article to the currently selected newsgroup.
W Display a history of message traffic generated by the user.
Dates, destinations and subjects are shown, up to the last
200 events.
x Repost the already posted and currently selected article,
thread, auto-selected (hot) articles, articles matching a
pattern or tagged articles to another newsgroup or groups.
Useful for reposting from global to local newsgroups.
X Mark all unread articles that have not been selected as read,
recalculate the indexing data to reflect the changes and put
the index cursor on the first thread to begin reading.
Pressing 'X' again will toggle back to what you had before.
See the '~' command to clear the toggled data.
z Mark the currently selected article as unread.
Z Mark the currently selected thread as unread.
! Shell escape. If you don't wish to execute the default
(last) command you may enter a new command or press <ESC> to
just spawn a new shell. When done enter exit on the spawned
shell command line to return to tin.
/ Search forward from the current selection cursor position for
the specified text string in the news article subjects.
? Search backward from the current selection cursor position
for the specified text string in the news article subjects.
- Go to the last read news article, the one you were on just
before where you are now. Must be in the same newsgroup and
since you last opened the group.
| Pipe the currently selected article, thread, auto-selected
(hot) articles, articles matching a pattern or tagged
articles into an external command.
* Mark the currently selected thread as hot (auto-selected),
for later processing.
. Toggle the auto-selections (marked as hot) in the currently
selected thread. If there is at least one unread article,
but not all unread articles, in the thread that is marked as
hot (auto-selected), then all unread articles become auto-
selected (marked as hot).
@ Reverse all selections and markers on all articles in the
currently selected newsgroup.
~ Undo all selections and markers on all articles in the
currently selected newsgroup. This clears the stored data
that are toggled with the 'X' command. Thus after first
invoking 'X' the '~' command may then be used to reset
articles such that one may iteratively whittle away
uninteresting threads.
+ Refresh (recalculate) the killed and auto-selection (marked
as hot) data for the currently selected newsgroup's index.
; For each thread in the currently selected newsgroup, if it at
least one unread article is selected then all unread articles
become selected. This is useful for auto-selection on the
author's name when the reader wants to see the entire thread.
= Prompts for a pattern after which all threads with subjects
matching the pattern will be auto-selected (marked as hot).
A pattern of "*" will match all subjects and <CR> will use
the previously entered pattern if one exists. Matching is
not alphabetic case-sensitive.
THREAD INDEXING COMMANDS
0 Select the base article in the currently indexed thread.
4 $ Select article 4 in the currently indexed thread ($=select
the last article in the currently indexed thread).
Ctrl-L Redraw the screen.
<CR> Read the article currently selected in the thread index.
<Tab> Open the next unread article in the currently indexed thread
or if there is none remaining go to the next thread or
newsgroup containing an unread article. When the end of the
Newsgroup Selection index is reached this wraps around to the
beginning and continues checking from there until everything
has been read.
c Mark all articles in the currently indexed thread as having
been read and return to the previous level. If Confirm
Command ('M' Global Options Menu) is ON confirmation will be
requested before the update is actually done, at which time
it may be declined if desired.
d Toggle the index display to show just the article subjects or
subjects and authors. This function is only operational when
not threading (sorting) articles by subject.
h On-line Help for all Thread Indexing commands.
H Toggle the display of a four line Help Mini-Menu at the
bottom of the screen.
I Toggle the use of inverse video for highlighting and the
selection cursor.
K Mark all articles in the currently indexed thread as having
been read and return to the previous level.
q Return to the previous level.
Q Quit tin.
R Mail a bug report or comment to the maintainer. This is the
best way of getting bugs fixed and features added or changed.
t Tag or untag (toggles) the currently selected article for
mailing 'm', piping '|', printing 'o', saving 's' or
reposting 'x'. Tags are reset when exiting a newsgroup, so
they must be used prior to that. Tags are preserved though
operations on them for the convenience of doing more than one
thing with the same set of articles. NOTE WELL while all
articles in a group can be tagged only one multiple part
uuencoded file can be processed at any one time and multiple
part articles must be tagged in their correct sequential
order to be properly decoded. When you are done with the
current set of tagged items or wish to start over use the 'U'
command to untag everything.
U Untag all tagged articles in the currently selected
newsgroup. Exiting the newsgroup also untags everything.
v Show tin's version data in the message area at the bottom of
the screen.
z Mark the article currently selected in the thread index as
unread.
Z Mark all articles in the currently indexed thread as unread.
* Mark the article currently selected in the thread index as
hot (auto-selected), for later processing.
. Toggle the auto-selection (hot-mark) of the currently
selected article in the thread index.
@ Reverse all auto-selections (hot-marks) on all articles in
the currently indexed thread.
~ Undo all auto-selections (hot-marks) on the currently indexed
thread.
ARTICLE VIEWER COMMANDS
0 Read the base article in the currently selected thread.
4 Read response 4 in the currently selected thread.
$ Display the last page of the article currently being read.
Ctrl-H Show all of the currently selected article's headers.
Ctrl-K Kill or mark as hot (auto-select) the current article. For
more information see the AUTOMATIC KILL AND HOT-SELECTION
section of this man page).
Ctrl-L Redraw the current page of the article being viewed.
Ctrl-R Redisplay first page of the article currently being viewed.
<CR> Go to next base article in the currently selected newsgroup.
<Tab> Open the next unread article in the currently selected
newsgroup or if there is none remaining go to the next
newsgroup containing unread articles. When the end of the
Newsgroup Selection index is reached this wraps around to the
beginning and continues checking from there until everything
has been read.
a Search for an author, forward through the currently selected
newsgroup from the currently open article's index position in
it.
A Search for an author, backward through the currently selected
newsgroup from the currently open article's index position in
it.
B Search article bodies in the currently selected newsgroup for
the specified text string, forward from the currently open
article's index position in the group only.
c Mark all articles in the currently selected newsgroup as
having been read then go to the next group in the Newsgroup
Selection index. If Confirm Command in the 'M' Global
Options Menu is ON confirmation will be requested before the
update is actually done, at which time it may be declined if
desired. After reaching the end of the newsgroups index this
wraps around to the to the first group in the list.
C Mark all articles in the currently selected newsgroup as
having been read then go to the next group with unseen
articles in the Newsgroup Selection index. If Confirm
Command in the 'M' Global Options Menu is ON confirmation
will be requested before the update is actually done, at
which time it may be declined if desired. After reaching the
end of the newsgroups index this wraps around to the first
group in the list and continues checking for unseen articles
upward from there.
d Toggle rot-13 decoding for the article currently being
viewed. Ctrl-X or % may also be used.
D Send a message to cancel (delete) the currently selected news
article. It must have been posted by the same user and the
name string including the email address and personal name
(full_name) must match exactly. Cancel messages are stored
and may be seen in the control.cancel newsgroup.
Some percentage of news sites ignore at least some (if not
all) cancel messages. The cancel message is as well
propogated by the same mechanism as the original article,
thus the article will remain available at any particular site
at least until the cancel message has propogated to it. From
this it's easy to understand why it's best to think and be
sure before posting an article.
e Select an article to read by its numeric file name. Tin must
first be in its show all articles mode (as opposed to unseen
only) as otherwise the full group index (and thus all
articles) is unavailable for this command. Once invoked
display of article file names at the Article Viewer level is
also enabled, after which it may only be disabled via the 'i'
command within the Article Viewer.
f Post a followup to the currently selected news article,
including a copy of its text.
F Post a followup to the currently selected news article
without including its text.
g Go to the first page of the currently selected article.
G Go to the last page of the currently selected article.
h On-line Help for all Article Viewer commands.
H Toggle the display of a four line Help Mini-Menu at the
bottom of the screen.
i Toggles display of article file names at the left side of the
message area at the bottom of the screen. Automatically
enabled by the 'e' (select an article by its numeric
filename) command from the Thread Indexing and Article Viewer
levels, after which it must be manually disabled with this
command. 'i' may also be used independently if desired.
I Toggle the use of inverse video for highlighting and the
selection cursor.
k Mark the currently selected article as read and advance to
the next unread article in the same newsgroup, if any remain.
K Mark the currently selected thread as read and advance to the
next thread with an unread article in it in the same
newsgroup, if any remain.
m Mail the currently selected article, thread, auto-selected
(hot) articles, articles matching a pattern or tagged
articles to someone.
M Invokes a configuration menu for some of tin's options (for
more information see the GLOBAL OPTIONS MENU section, below).
n Go to the next article in the currently selected newsgroup.
N Go to the next unread article in the currently selected
newsgroup.
o Output the currently selected article, thread, auto-selected
(hot) articles, articles matching a specified pattern or
tagged articles to the printer.
p Go to the previous article in the currently selected
newsgroup.
P Go to the previous (with respect to the current article's
index position) unread article in the currently selected
newsgroup.
q Return to the previous level.
Q Quit tin.
r Reply through mail to the author of the currently selected
article with a copy of the article included.
R Reply through mail to the author of the currently selected
article without including any text from the article.
s Save the currently selected article, thread, auto-selected
(hot) articles, articles matching a pattern or tagged
articles to a file, files or a mailbox. A mailbox file is
the result of concatenating multiple input items to one
single output file and is specified by entering a leading
equals sign when prompted for a filename: '=filename'. Tin
supports the following forms of pathname expansion:
~/News /usr/iain/News
~abc/News /usr/abc/News
$VAR/News /env/var/News
And these which include a filename:
= /usr/iain/Mail/group.name
=filename /usr/iain/Mail/filename
+filename /usr/iain/News/group.name/filename
t Tag or untag (toggles) the currently selected article for
mailing 'm', piping '|', printing 'o', saving 's' or
reposting 'x'. Tags are reset when exiting a newsgroup, so
they must be used prior to that. Tags are preserved though
operations on them for the convenience of doing more than one
thing with the same set of articles. NOTE WELL while all
articles in a group can be tagged only one multiple part
uuencoded file can be processed at any one time and multiple
part articles must be tagged in their correct sequential
order to be properly decoded. When you are done with the
current set of tagged items or wish to start over use the 'U'
command to untag everything.
T Return to Newsgroup Selection level.
U Untag all tagged articles in the currently selected
newsgroup.
v Show tin's version data in the message area at the bottom of
the screen.
w Post an article to the currently selected newsgroup.
W Display a history of message traffic generated by the user.
Dates, destinations and subjects are shown, up to the last
200 events.
x Repost the already posted and currently open article, thread,
auto-selected (hot) articles, articles matching a pattern or
tagged articles to another newsgroup or groups. Useful for
reposting from global to local newsgroups.
z Mark the currently selected article as unread.
/ Search forward for text in the currently open article's body
only, from your current position in it.
! Shell escape. If you don't wish to execute the default
(last) command you may enter a new command or press <ESC> to
just spawn a new shell. When done enter exit on the spawned
shell command line to return to tin.
- Go to the last read news article, the one you were on just
before where you are now. Must be in the same newsgroup and
since you last opened the group.
| Pipe current article, thread, auto-selected (hot) articles,
articles matching a pattern or tagged articles into an
external command.
< Go to the first article in the currently selected thread.
> Go to the last article in the currently selected thread.
SERVER AUTHENTICATION
Tin supports the basic form of the AUTHINFO authentication scheme. Its
SIMPLE and GENERIC extensions are not supported.
If the NNTP news server you are using requires authentication you may
use data stored in $HOME/.newsauth. Entries may be of the form
'nntpserver password' or 'nntpserver username password' if the user
name is not the same as on the host executing tin. Multiple entries
are supported, the correct one will be selected by server name. The
server name is not case-sensitive but the username and password may be.
NOTE WELL passwords here are stored in the clear, and the user name is
the one used to log in to the host in use, not whatever may have been
set via TINX_USER.
If there is no entry in $HOME/.newsauth for the server in use tin will
prompt for a username and/or password as requested by the server. You
may enter your login name on the host executing tin (shown in the
prompt) by simply pressing <CR>. In all cases (automatic or manual)
tin will display the server's response to the user logging in, and if
successful cache the login data for automatic reuse during the
remainder of that particular session.
ENVIRONMENTAL VARIABLES
Tin reads these environmental variables and uses the data contained in
them as described below.
AUTOSUBSCRIBE
Tin interprets this variable similarly to rn. It contains a
list of patterns delimited by commas and possibly prefixed
with exclamation points. A new group is checked against this
list and if it matches tin subscribes the user to the group
without further query. An exclamation point '!' negates the
meaning of a match and can be used to cancel certain matches.
Defining AUTOSUBSCRIBE=comp.os.unix.*,talk.*,!talk.politics.*
for example will automatically subscribe the user to all new
groups in the comp.os.unix hierarchy and all talk groups
other than talk.politics groups, which will be queried for
subscription as usual.
AUTOUNSUBSCRIBE
Tin interprets this variable similarly to rn. It's handled
like AUTOSUBSCRIBE except matching groups are unsubscribed
without further query. AUTOUNSUBSCRIBE=alt.flame.*,u*,!uk.*
automatically unsubscribes the user from all new alt.flame
groups and all groups starting with u (university groups)
other than UK groups, which will be queried for subscription
as usual.
ADD_ADDRESS
This can contain an address to append to the return address
when replying directly through mail to somebody whose mail
address is not directly recognized by the local host. For
example, say the return address is user@bigvax, but bigvax is
not recognized by your host, so therefore the mail will not
reach user. But the host littevax is known to recognize your
host and bigvax, so if ADD_ADDRESS is set (ie: 'setenv
ADD_ADDRESS @littevax' for csh or 'set ADD_ADDRESS @littevax'
and 'export ADD_ADDRESS' for sh) the address
user@bigvax@littlevax will be used and the mail will reach
user@bigvax. This variable has precedence over the file
$HOME/.tin/add_address that may also contain an address.
BUG_ADDRESS
If the 'R' command bug report mail address is not correct
this variable should be set to the correct mail address.
This variable has precedence over the file
$HOME/.tin/bug_address that may also contain a mail address.
Note well this version of tin (tinx) is fully supported and
the maintainer will accept and act on any bug report
received.
DISTRIBUTION
Set the article 'Distribution: ' header field to the contents
of the variable instead of the system default.
MAILER This variable has precedence over the default mailer that is
used in all mailing operations within tin (ie: replying via
'r, R', mailing via 'm' and bug reports via 'R'). You may
define this to elm, pine or any other mail user agent of your
choice. The default under Unix is usually just your text
editor and sendmail.
NAME Sets the user's full_name (personal name), if undefined
whatever has been set by chfn will be used.
NNTPSERVER
This is the name of the news system from which it is desired
to read news via NNTP. Tin supports multiple servers on a
round robin and displays the name of the actual machine to
which it connects. If undefined the name found in the file
/etc/nntpserver will be used, or if nothing is there tin
defaults to the value specified in the makefile, which is
compiled into the executable image. NNTPSERVER may be, and
usually is, defined on a site-wide basis.
NNTP_INEWS_DOMAIN
This is OBSELETE and has been replaced by TINX_FQDN. See
next entry for details.
NNTP_INEWS_GATEWAY
This is OBSELETE and has been replaced by TINX_FQDN. Note
well that in tinx NNTP_INEWS_DOMAIN is unused and
NNTP_INEWS_GATEWAY is redirected to TINX_FQDN. Thus while
anything remains possible what you _should_ be doing here is
using only the TINX_* environmental variables. And oddly
enough, despite the names NNTP_INEWS_* these two have nothing
whatsoever to do with inews or posting articles, all this is
strictly about how to properly configure the user's email
address only, period.
ORGANIZATION
Set the article 'Organization: ' header field to the contents
of the variable instead of the system default. This variable
has precedence over the file $HOME/.tin/organization that may
also contain an organization string. If reading news on an
Apollo DomainOS machine the environmental variable NEWSORG
has to be used instead of ORGANIZATION.
REPLYTO Set the article 'Reply-To: ' header field to the return
address specified by the variable. This is useful if the
machine is not registered in the UUCP mail maps or if you
wish to receive replies at a different machine. This
variable has precedence over the file $HOME/.tin/replyto that
may also contain a return address.
TERM Tin requires a full-screen terminal for its operation. The
vt100 is one common example of such a terminal.
TINRC Define this variable if you want to specify command line
options that tin should be started with to save typing them
each time it is started. The contents of the environmental
variable are prepended to the command line options before it
is parsed allowing an option specified on the command line to
override the same option specified in the environment.
TINX_FQDN This defines everything to the right of the '@' in the user's
email address. If this is not done most likely the hostname
will be included what tin uses, which in general is not a
good thing. If there is more than one host this makes
canceling articles possible ONLY from the same host on which
the original article was posted. This can also make delivery
of email more complicated than need be, particularly when one
wished to unsubscribe from a mailing list.. TINX_FQDN may be
defined on a site-wide basis in /etc/profile or by any
individual user. If it is undefined $LIBDIR/sitename,
$LIBDIR/mailname, gethostbyname() and uname() will be tried
in that order.
TINX_PATH Replaces the user's name in the path. May be used site-wide
to say 'not-for-mail' or individually as required.
TINX_USER Sets the user's name, that is everything to the left of the
'@' in the user's email address. If undefined the login name
on the host executing tin will be used.
TIN_ACTIVEFILE
Define this variable if you want to override the
$LIBDIR/active path that was compiled into the tin binary via
the makefile.
TIN_HOMEDIR
Define this variable if you do not want tin's working
directory to be $HOME/.tin. (ie: if you want all tin's
private files in /tmp/.tin you would define TINDIR as /tmp.
TIN_INDEXDIR
Define this variable if you do not want the .index directory
in $HOME/.tin/.index. (ie: if you want all tin's index files
in /tmp/.index you would define TIN_INDEXDIR as /tmp.
TIN_LIBDIR
Define this variable if you want to override the LIBDIR path
that was compiled into the tin binary via the makefile.
TIN_NOVROOTDIR
Define this variable if you want to override the NOVROOTDIR
path that was compiled into the tin binary via the makefile.
TIN_SPOOLDIR
Define this variable if you want to override the SPOOLDIR
path that was compiled into the tin binary via the makefile.
VISUAL This variable has precedence over the default editor (ie: vi)
that is used in all editing operations within tin (ie:
posting via 'w', replying via 'r, R', following up via 'f, F'
and bug reporting via 'R').
CONFIGURATION AND DATA FILES
Tin uses these disk files and the data contained in them as shown
below.
/etc/nntpserver This may be used to define the NNTPSERVER tin will
use on a site-side basis. Use of the environmental
variable of the same name is faster.
/etc/organization This may be used to define the ORGANIZATION tin
will use on a site-side basis. Use of the
environmental variable of the same name is faster.
$HOME/.article File used to post a news article. If
unlink_article=OFF in $HOME/.tin/tinrc .article
will not be deleted or overwritten until the next
posting command is invoked.
$HOME/.bugreport File used to mail a bug report. If
unlink_letter=OFF in $HOME/.tin/tinrc .bugreport
will not be deleted or overwritten until the next
bug report is initiated.
$HOME/.cancel File used to cancel a news article. If
unlink_article=OFF in $HOME/.tin/tinrc .cancel will
not be deleted or overwritten until the next time
cancel ('D' command) is invoked.
$HOME/.delgroups File used to store newsgroups deleted from the
newsrc file by the 'Ctrl-K' command so the 'Z'
undelete command can restore them.
$HOME/.letter File used to email a letter. If unlink_letter=OFF
in $HOME/.tin/tinrc .letter will not be deleted or
overwritten until the next mailing command is
invoked.
$HOME/.newnewsrc When updating seen article maps data are first
written to .newnewsrc then after that has
successfully been completed it is renamed to the
newsrc file currently in use.
$HOME/.newsrc Contains a list of subscribed newsgroups and which
articles in them have been seen which tin uses by
default. Optional newsrc files used with the '-f'
command line option are also created in the $HOME
directory unless an additional subdirectory path is
included in the command line file specification.
$HOME/.newsauth Place entries of 'nntpserver password' pairs for
NNTP servers that require authentication, or
'nntpserver username password' if the user name
required for the server is not the same as on the
host executing tin. Multiple entries are
supported, the correct one will be selected by
server name. NOTE WELL passwords here are stored
in the clear, and the default user name is the one
used to log in to the host in use, not whatever may
have been set via TINX_USER.
$HOME/.oldnewsrc Each time tin is started it makes a backup copy of
the newsrc file then in use into .oldnewsrc. This
backup then remains untouched until the next time
tin is started, so if any problem occurs during a
session one may easily recover to as things were
before the trouble occured.
$HOME/.Sig Signature path (for random sigs) or file which is
will be used in both news articles and email
letters. See the SIGNATURES section, below, for
details regarding randomly selected sigs.
$HOME/.sigfixed Specify a fixed signature part to be prepended to
each randomly selected signature. Useful for one's
name, address, etc.
$HOME/.signature Signature file used only for email letters, with
the expectation the news posting host will read
this in for news articles.
$HOME/dead.article If for some reason a news article can not be posted
tin will place a copy of it in this file, which
will then remain untouched until the next posting
failure occurs, at which time it will be
overwritten.
$HOME/Mail/ Default save directory for mail related operations.
May be modified with the Mail Directory option
(#17) of the Global Options Menu available via the
'M' command.
$HOME/News/ Default save directory for news related operations.
May be modified with the News Directory option
(#16) of the Global Options Menu available via the
'M' command.
$HOME/.tin/ This is tin's default configuration and data
directory under Unix. The environmental variable
TIN_HOMEDIR may be defined to redirect this to the
location of your choice.
$HOME/.tin/.index/ Newsgroup index files directory.
$HOME/.tin/.mailidx/
Mailgroup index files directory.
$HOME/.tin/active When reading news via a local spool directory tin
keeps a backup copy of the active file here.
$HOME/.tin/active.mail
Active file of users mailgroups.
$HOME/.tin/active.times
Last update timestamps for each group, used by the
tind indexing daemon only.
$HOME/.tin/add_address
Address to add to when replying by mail. Most
useful to UUCP sites. See the listing for the
environmental variable of the same name, above,
regarding details of its operation. Also note
using envorinmental variables is faster than
opening and reading files.
$HOME/.tin/attributes
Contains user specified group attributes. See the
GROUP ATTRIBUTES section, below, for details and
usage.
$HOME/.tin/bug_address
Address for reporting bugs, if you don't wish to
use the default. Before changing this be aware the
maintainer who is the default will respond to any
bug reported. Use of the environmental variable of
the same name is faster.
$HOME/.tin/kill Article kill and auto-selection data file, fully
commented by tin.
$HOME/.tin/log Log of saved or mailed news articles, which log is
mailed to the user of tin initiating the -M or -S
operation.
$HOME/.tin/newattributes
When updating group attributes data are first
written to newattributes then after that has
successfully been completed it is renamed to
attributes.
$HOME/.tin/newtinrc When updating tinrc data are first written to
newtinrc then after that has successfully been
completed it is renamed to tinrc.
$HOME/.tin/organization
String to replace the default (usually site-wide)
ORGANIZATION. Use of the environmental variable of
the same name is faster.
$HOME/.tin/posted History of message traffic generated by the user.
This file is limited to 200 lines maximum (about
15kb) so it can't grow into a monster on its own.
$HOME/.tin/replyto Email address to use in the 'Reply-To: ' mail
header. Use of the REPLYTO environmental variable
is faster.
$HOME/.tin/spooldir_alias/
When reading news from multiple spools a separate
subdirectory will be created for each one.
$HOME/.tin/spooldir_alias/.newnewsrc
When reading news from multiple spools a separate
.newnewsrc backup file will be used for each spool.
$HOME/.tin/spooldir_alias/.newsrc
When reading news from multiple spools a separate
.newsrc data file will be maintained for each
spool.
$HOME/.tin/tinrc Stores all options set via the 'M' command and many
others configurable only by editing this file. See
the TINRC CONFIGURABLE VARIABLES section, below,
for complete and detailed documentation.
$LIBDIR/active The news active file, listing all newsgroups and
the lowest and highest article numbers in each of
them.
$LIBDIR/mailname After first checking TINX_FQDN and $LIBDIR/sitename
for a fully qualified domain name tin looks here,
then if neither file exists gethostbyname() is
called.
$LIBDIR/motd News message of the day file.
$LIBDIR/newsgroups Short descriptions for all newsgroups.
$LIBDIR/organization
Specify an organization on a site-wide basis.
$LIBDIR/overview.fmt
If present indicates the NOV (News OverView) system
of article indexing is available (which tin will
then use), also lists exact NOV structure in use.
$LIBDIR/sitename Fully qualified domain name, may be used if
TINX_FQDN isn't defined. If this and
$LIBDIR/mailname don't exist gethostbyname() is
called.
$LIBDIR/subscriptions
List of newsgroups to which first-time users will
be subscribed.
$TMPDIR/.tin_log Logs all image activations of tin (in other words,
by all users of it on a particular host machine).
This may be disabled by defining DONT_LOG_USER when
compiling tin.
$TMPDIR/.subrc.XXXXX
Used when repositioning a newsgroup in the newsrc
file. Contains all subscribed newsgroups. XXXXX
is the owning process ID.
$TMPDIR/.unsubrc.XXXXX
Used when repositioning a newsgroup in the newsrc
file. Contains all unsubscribed newsgroups. XXXXX
is the owning process ID.
$TMPDIR/tin_nntpNXXXXX
Data read in over a network are buffered here.
XXXXX is the owning process ID and N will be 0 for
the first file, a for the second if the first still
exists, and so forth.
$TMPDIR/tin.userid.LCK
This is a lock file used to prevent more than one
indexing process from doing the same thing at the
same time. userid is the login name of the owning
process.
GLOBAL OPTIONS MENU
This menu is accessed by pressing 'M' at all levels except Thread
Indexing and allows the user to customize the behavior of tin. The
options are saved to the file $HOME/.tin/tinrc. After selecting an
item by its index number use <Space> to toggle to the required option
and <CR> to set it. When done use 'q' or <ESC> to quit if you decide
not to save what you've just changed, or any other key to save and exit
back to reading news.
Auto Save
Automatically save articles or threads by 'Archive-name: ' line in
article header, and post process them if Process Type is not set to
'None'.
Catchup On Quit
If ON all groups opened during the current session will be marked
as all articles in them have been seen upon exiting tin. If
Confirm Command (below) is ON confirmation will be requested before
the update is actually done, at which time it may be declined if
desired.
Confirm Command
If OFF allow certain commands (ie: 'c' to catchup) that normally
require user confirmation to be executed immediately.
Draw Arrow
If ON allow groups/articles to be selected by an arrow '->' cursor
otherwise a highlighted bar is used for selection.
Editor Offset
Set ON if the text editor used with tin has the capability of
positioning the cursor on a specified line offset within a file at
start-up.
Goto 1st Unread
This allows the cursor to be placed on the first unread instead of
the last unread (with respect to the sorting scheme currently in
use) article upon entering a newsgroup with unread news.
Mail Directory
The directory where articles/threads are to be saved in mailbox
format. Default is $HOME/Mail. A mailbox file is the result of
concatenating multiple input items to one single output file. This
feature is mainly for use with the Elm mail user agent, and allows
the user to save articles, threads or groups simply by specifying
'=' as the first character of the output filename.
Mark Saved Read
Allows saved articles or threads to be automatically marked as
read.
Print Header
Allows all headers or only the 'Subject: ' and 'From: ' fields to
be output when printing articles.
Printer
The printer program with options that is to be used to print
articles. Default is lpr for BSD machines and lp for SysV
machines.
Process Type
This specifies the default type of post processing to perform on
saved articles. <ESC> here restores the previous selection and
returns to the main options menu. The following types of
processing are supported:
--None
--Unpacking of multi-part shell archives
--Unpacking of multi-part uuencoded files
--Unpacking of multi-part uuencoded files, producing a zoo
archive and listing its contents
--Unpacking of multi-part uuencoded files producing a zoo
archive and extracting its contents
--Unpacking of multi-part uuencoded files producing a zip
archive and listing its contents
--Unpacking of multi-part uuencoded files producing a zip
archive and extracting its contents
--Unpacking of multi-part uuencoded files producing a lha
archive and listing its contents (AmigaDOS version only)
--Unpacking of multi-part uuencoded files producing a lha
archive and extracting its contents (AmigaDOS version only)
The default type is None.
Save Directory
The directory where news articles and threads are saved. Default
is $HOME/News.
Scroll Full Page
If ON scrolling of group/article indices will be a full page at a
time, otherwise half a page at a time.
Show Author
If 'None' only the subject will be displayed, if 'Addr' the subject
and the author's email address are displayed, 'Name' shows the
author's personal name (full_name) instead and 'Both' includes
everything. <ESC> here restores the previous selection and returns
to the main options menu. This parameter may only be modified from
the Group Selection level as otherwise the index to be altered is
already open.
Show Description
If ON show a short descriptive text for each displayed newsgroup.
The text used is taken from the $LIBDIR/newsgroups file.
Show Only Unread
If ON show only new/unread articles, otherwise show all articles.
This parameter may only be modified from the Group Selection level
as otherwise the index to be altered is already open. Tin's 'r'
command easily toggles between these modes within an open newsgroup
index.
Sort Articles By
This specifies how articles should be sorted. <ESC> here restores
the previous selection and returns to the main options menu. The
following sort types are supported:
--Don't sort articles, index in filename order only
--Sort articles by Subject ascending or descending
--Sort articles by Author (From) ascending or descending
--Sort articles by Date ascending or descending
The default sort is by Date ascending. This parameter may only be
modified from the Group Selection level as otherwise the index to
be altered is already open.
Thread Articles
If ON articles will be threaded in all groups (default), otherwise
article indices will be unthreaded. Threading or unthreading on a
per group basis is possible by setting the group attribute variable
'thread_arts' ON or OFF in the file $HOME/.tin/attributes. May not
be modified from the Article Viewer level as the index to be
changed is then in use.
ANSI COLOR SUPPORT
Rudimentary support for ANSI-Color terminals is available. See the
TINRC CONFIGURABLE VARIABLES section, below, starting at the
'use_color' parameter for as much information about color displays as
currently exists. Color operation may be toggled on and off via the
'a' command from the Newsgroup Selection level.
TINRC CONFIGURABLE VARIABLES
The following options are user configurable by editing $HOME/.tin/tinrc
directly. Some of these are accessable via the 'M' Global Options Menu
however all are listed here. Note that several other defaults are
stored at the end of tinrc and these are set automatically as tin is
used thus they need no specific attention from the user.
auto_cc
If ON automatically put your email address in the 'Cc: ' field when
mailing an article. Default is OFF.
auto_save
If ON articles or threads with an 'Archive-name: ' in their mail
headers will be automatically saved with the archive name and
part/patch number.
batch_save
If set ON articles/threads will be saved in batch mode when save -S
or mail -M is specified on the command line. Default is OFF.
beginner_level
If set ON a Mini-Menu of the most useful commands will be displayed
at the bottom of the screen for each level. Default is ON. Tin's
'H' command toggles this menu off and on.
catchup_read_groups
If ON all groups opened during the current session will be marked
as all articles in them have been seen upon exiting tin. Default
is OFF. If confirm_action (below) is ON confirmation will be
requested before the update is actually done, at which time it may
be declined if desired.
check_for_new_mail
Set to OFF to skip testing for new mail every time the screen is
cleared, which is useful on hosts where nfs performance is poor.
Default is ON.
confirm_action
If ON confirm certain commands, such as catching up or overwriting
a file, with a yes/no prompt before executing. Default is ON.
default_editor_format
The format string used to create the editor start command with
parameters. Default is '%E +%N %F' where:
%E = Editor
%F = File Name
%N = Cursor Line Number Offset
default_savedir
The directory where articles and threads are saved as files.
Default is ~/News.
default_maildir
The directory where articles and threads are saved in mailbox
format. Default is ~/Mail, this may be modified with the -m switch
when invoking tin.
default_printer
The print program with parameters or device used to print from
within tin. Default is operating system dependent.
default_sigfile
The path that specifies the signature file to use when posting,
following up or replying to an article. If the path is a directory
then the signature will be randomly selected from files that are in
the specified directory. Default is $HOME/.Sig.
display_reading_prompt
The prompt 'Reading...' will be displayed when reading an article
from a NNTP server to provide feedback to the user. Default is ON.
draw_arrow
If ON use '->' for a selection cursor, otherwise use a highlighted
bar. Default is OFF.
force_screen_redraw
Specifies whether a screen redraw should always be done after
certain external commands. Default is OFF.
full_page_scroll
If ON scroll full page of at a time, otherwise half a page.
Default in ON.
groupname_max_length
Limits the maximum length of the newsgroups names displayed so more
of the newsgroup description can be displayed. Default is 132.
hot_art_mark
The character used to show that an article or thread is auto-
selected (marked as hot). Default is '*' and it is displayed in
inverse video on terminals that support it.
kill_level
If 0 killed articles are simply marked as being read, if 1 killed
articles are hidden and never seen. Default is 1.
inverse_okay
If ON use inverse video for page headers at different levels.
Default is ON.
mail_quote_format
Format of the attribution line when responding to an article by
mail. Format effectors available are:
%A = Author's Email Address
%D = Article's Date
%F = Author's Name + Email Address (%N <%A>)
%G = Newsgroup's Name
%M = Article's Message-ID
%N = Author's Name
The default string is "Hi -\n\nIn %G you wrote:\n" where "\n" is a
newline. See the CUSTOMIZING THE ARTICLE QUOTE STRING section,
below, for details.
mark_saved_read
If ON mark articles that are saved to files, printed, etc. as
having been read even if they have not been seen with tin's Article
Viewer. Default is ON.
news_quote_format
Format of the attribution line when following up an article. Format
effectors available are:
%A = Author's Email Address
%D = Article's Date
%F = Author's Name + Email Address (%N <%A>)
%G = Newsgroup's Name
%M = Article's Message-ID
%N = Author's Name
The default string is "%F writes:\n" where "\n" is a newline. See
the CUSTOMIZING THE ARTICLE QUOTE STRING section, below, for
details.
parse_listgroup
If ON use the LISTGROUP command to discover missing articles and
use those data to not mistake them as unseen. Currently supported
only when reading news via NNTP. Default is OFF.
pos_first_unread
If ON when opening a group place the selection cursor on the first
unread article, otherwise go to the last unread article. Default
is ON.
post_process_type
Type of post processing to perform after saving articles.
Available options are:
0 = None
1 = Unshar
2 = Uudecode
3 = Uudecode & List Zoo
4 = Uudecode & Extract Zoo
5 = Uudecode & List Zip
6 = Uudecode & Extract Zip
Default is 0, None.
print_header
If ON include all headers when feeding articles to the printer,
otherwise just the 'Subject: ' and 'From: ' lines. Default is OFF.
quote_chars
The character used in quoting included text to article followups
and mail replys. The character '_' represents a blank character
and is replaced with a ' ' (space, ASCII 32.) when read. The
default string is ':_'.
reread_active_file_secs
The news active file is reread at regular intervals to show if any
new news has arrived. Default is 300 seconds (5 minutes).
return_art_mark
The character used to show that an article will return. That is it
has been seen then marked as unseen. Default is '-'.
save_to_mmdf_mailbox
Allows articles to be saved to a MMDF style mailbox instead of mbox
format. Default is OFF unless reading news on SCO Unix which uses
MMDF by default.
show_author
When listing authors in indicies display:
0 = Nothing, use display space to extend Subjects
1 = Email Address only
2 = Full Name only
3 = Email Address + Full Name
Default is 2, Full Name only.
show_description
If ON show group description text after newsgroup name at the
Newsgroup Selection level. Default is ON.
show_last_line_prev_page
The last line of the previous page will be displayed as the first
line of next page. Default is OFF.
show_only_unread
If ON show only new (unread) articles, otherwise show all. Default
is ON.
show_only_unread_groups
If ON show only subscribed to groups that contain unread articles.
Default is OFF.
slow_speed_terminal
Strips any trailing blanks from the end of each line (indices are
normally padded out to your_terminal_width - 1 to support the
inverted video cursor) thereby speeding up the display when reading
on a slow terminal or via a modem conection. Default is OFF.
sort_article_type
When indexing news articles and threads sort them by:
0 = Unsorted, index in filename order
1 = Subject descending
2 = Subject ascending
3 = From descending
4 = From ascending
5 = Date descending
6 = Date ascending
Default is 6, Date ascending.
start_editor_offset
If ON editor will be started with cursor offset into the file by
tin such that it is already at the most convenient place to start,
otherwise the cursor will be positioned on the first line. Default
is ON for Unix, OFF elsewhere.
tab_after_X_selection
If enabled will automatically go to the first unread article after
having selected all hot articles and threads with the 'X' command
at Thread Selection level. Default is OFF.
tab_goto_next_unread
If enabled pressing <Tab> at the Article Viewer level will go to
the next unread article immediately instead of first paging through
the current one. Default is ON.
thread_articles
If ON all newsgroups will be threaded when opened. Default is ON.
tinz
If ON emulate Netcom's tin in numeric selection of groups and
threads in that the cursor will be placed in the index entry but
the item won't be opened, tin will then stop and await another
command.
unlink_article
If ON remove ~/.article or ~/.cancel after posting. Default is
OFF. Note the same filename is reused for the next article or
cancelation so any file recovery must be done prior to that.
unlink_letter
If ON remove ~/.letter or ~/.bugreport after sending. Default is
OFF. Note the same filename is reused for the next letter or bug
report so any file recovery must be done prior to that.
unread_art_mark
The character used to show that an article has not been read.
Default is '+'.
use_builtin_inews
Allows the builtin NNTP inews to be enabled or disabled. Default
is ON (enabled).
use_color
If ON display using ANSI colors. Default is OFF. To set colors
use the following numeric codes:
0 = Black
1 = Red
2 = Green
3 = Brown
4 = Blue
5 = Pink
6 = Cyan
7 = White
These color codes are only for use in the foreground:
8 = Gray
9 = Light Red
10 = Light Green
11 = Yellow
12 = Light Blue
13 = Light Pink
14 = Light Cyan
15 = Light White
col_back
Standard background color. Default is 0 (Black).
col_footlines
Color of message area at bottom of screen, including the Help
Mini-Menu when it is enabled. Default is 7 (White).
col_fromline
Color of the text identifying the author. Default is 2
(Green).
col_headerlines
Color of header lines in an article. Default is 9 (Light Red).
col_highlight1
First class of word highlighting, delimiting character is '*'.
Default is 14 (Light Cyan).
col_highlight2
Second class of word highlighting, delimiting character is '/'.
Default is 5 (Pink).
col_highlight3
Third class of word highlighting, delimiting character is '_'.
Default is 2 (Green).
col_newslines
Color of unquoted text in news articles. Default is 6 (Cyan).
col_norm
Standard foreground display color. Default is 7 (White).
col_quotelines
Color of quoted text in news articles. Default is 11 (Yellow).
col_replayto
Color of response number data at the right end of the second
row of the Article Viewer. Default is 13 (Light Pink).
col_select
Background color for the inverse video mode. Default is 4
(Blue).
col_subject
Color of news article subjects. Default is 7 (White).
farbe13
Color of the 'h=Help' and new mail announcement at the upper
right corner of the display. Default is 8 (Gray).
use_keypad
If ON enable keypad scrolling keys on terminals which support them.
Default is OFF. To use this function HAVE_KEYPAD must be defined
when tin is compiled.
use_mime_viewer
If ON use an external MIME veiwer (default is metamail) to display
encoded articles. Default is OFF.
x_no_archive
If ON insert an 'X-No-Archive: Yes' header when posting a news
article. Default is OFF.
GROUP ATTRIBUTES
Tin allows certain attributes to be set on a per group basis. These
group attributes are read from the file $HOME/.tin/attributes. At
present you will have to modify this file with your editor to make any
changes or additons. The following sample entry lists all the group
attributes which are available:
newsgroup=alt.sources
auto_save=ON
batch_save=OFF
delete_tmp_files=ON
followup_to=alt.sources.d
maildir=/usr/iain/Mail/sources
organization=Wacky Bits Inc.
post_proc_type=1
printer=/usr/local/bin/a2ps -nn | /bin/lpr
savedir=/usr/iain/News/alt.sources
show_author=1
show_only_unread=OFF
sigfile=/usr/iain/.funny_sig
sort_art_type=5
thread_arts=ON
Note that the 'newsgroup=group.name' line must preceed any attributes
specified for that group, and that parameter strings containing
embedded white space (blanks, spaces) need not be quoted when used in
this file.
All attributes are set to reasonable defaults (see the TINRC
CONFIGURABLE VARIABLES section, above, for those not listed below) so
you only have to specify the attribute(s) that you actually want to
change.
All toggle attributes are set by specifying ON or OFF.
The post_proc_type attribute is specified by a number from the
following range:
0 = None
1 = Unshar
2 = Uudecode
3 = Uudecode & List Zoo
4 = Uudecode & Extract Zoo
5 = Uudecode & List Zip
6 = Uudecode & Extract Zip
Default is 0, None. If running under AmigaDOS the zoo options are
replaced by their corresponding lha archiver options.
The show_author attribute is specified by a number from the following
range:
0 = Nothing, use display space to extend Subjects
1 = Email Address only
2 = Full Name only
3 = Email Address + Full Name
Default is 2, Full Name only.
The sort_art_type attribute is specified by a number from the following
range:
0 = Unsorted, index in filename order
1 = Subject descending
2 = Subject ascending
3 = From descending
4 = From ascending
5 = Date descending
6 = Date ascending
Default is 6, Date ascending.
AUTOMATIC KILL AND HOT-SELECTION
If there is a subject or author which you find either very interesting
or completely uninteresting you can easily instruct tin to Auto-Select
or Kill articles with specific subjects or from specific authors.
These instructions are stored in a kill file. This option is invoked
by pressing 'Ctrl-K' at the Thread/Article Selection and Article Viewer
levels and also supports a manually entered pattern from the user. The
kill scope can be limited to the current newsgroup or apply to all
groups. <ESC> may be used at any time to abandon the entry and return
to the 'pre-Ctrl-K' state.
When manually entering or editing a string remember tin does shell-
style pattern matching for the ?, \, [, ] and * metacharacters unless
they are quoted, as in \?, \\, \[, \] and \*. \ is an escape character
used to prefix the other metacharacters such that their literal value
only is taken for matching. Unquoted metacharacters are the most
common cause of 'errors' as matches will be made as shown below _and_
malformed patterns such as "foo[a-" could cause a segmentation
violation in the match function (INN's wildmat.c). This quoting
requirement only concerns the user's manual entry from the keyboard of
said chars, tinx will quote metacharacters when reading them in as text
from a news article's headers.
The ?, \, [, ] and * metacharacters are expanded as shown:
* any string at all
ab* any string starting with ab
*ab any string ending with ab
*ab* any string containing ab (article text extract default)
ab*cd any string starting with ab, ending with cd, incl. abcd
ab*cd* any string that begins with ab and contains cd
? any one-character string
a?b any three-char string starting with a, ending with b
a?? any three-char string starting with a
[1234]* any string starting with 1, 2, 3 or 4
*[zZ] any string ending with z or Z
ab[346] any of the strings ab3, ab4 or ab6
*[0-9]* any string containing at least one digit
[A-Z]* any string starting with an upper case letter
*[03-6] any string ending with 0, 3, 4, 5 or 6
*[13-57] any string ending with 1, 3, 4, 5 or 7
\\ a literal \
\? a literal ?
\* a literal *
\[ a literal [
\] a literal ]
Matching is currently alphabetic case-sensitive and 8-bit clean. One
may specify both cases, as in [Pp][Ss][Yy][Cc][Hh][Ii][Cc], for
patterns when both are significant. This example will hit on psychic,
Psychic, PSYCHIC or any other case-specific version of it.
Once the entry is completed one may q)uit and not save the kill
description, e)dit the kill file (which first saves the current entry
being created then positions the editor cursor on the first line of it
such that its removal is made easy by simply deleting from there to the
end of the file), or just s)ave the kill description and return to
reading news. After killing or auto-selecting the user will be
returned to a newly calculated index, positioned as close to the
location prior to killing the now gone item as is possible.
The kill file default is $HOME/.tin/kill and is fully commented. NOTE
WELL all the actual data lines of each entry must remain contiguous
(next to each other) - there may be no intervening comments! The
actual group name is included in the comments to make editing as easy
as possible. Unfortunately the hashing routine currently used by tin
is not very effective at uniquely identifying newsgroups, so - if you
see more than one group where you expected only one, well - that's how
it's being interpreted when killing articles too. Changing the
groupname hashing involves dealing with thousands of existing kill
files, so that is reserved for some future time..
On starting tin the users kill file $HOME/.tin/kill is read and on
entering a newsgroup any kill or auto-select descriptions are applied.
Articles that match a kill description are, if kill_level (in
$HOME/.tin/kill) is 0, simply marked as being read and if 1 they are
hidden and never seen. Articles that match an auto-select description
are marked with a '*' (in inverse video if the terminal supports it)
when listed in the indices. Auto-selections may be added, removed and
modified manually by various commands tin provides once a newsgroup has
been opened. These changes remain until the newsgroup is exited at
which time all manual operations are cleared. Permanent changes
require modifying or updating the data stored in the kill file itself.
POSTING ARTICLES
Tin allows posting of articles, followups to already posted articles
and replying direct through mail to the author of an article.
Use the 'w' command to post an article to a newsgroup. After entering
the post subject the default editor (ie: vi) or the editor specified by
the VISUAL environmental variable will be started and the article can
be entered. To cross-post articles (to more than one newsgroup) simply
add a comma and the name of the newsgroup(s) to the end of the
'Newsgroups: ' line at the beginning of the article. Note that NO
spaces are permitted between newsgroup names, and excessive cross-
posting is not a good thing to do. After saving and exiting the editor
you will be shown any possible problems or fatal errors in your article
and asked if you wish to q)uit posting the article, e)dit the article
again (fixing any problems or errors if need be) or if there are no
fatal errors p)ost the article to the specified newsgroup(s).
Use the 'W' command to display a history of your message traffic. The
dates, destinations and subjects are displayed. This is limited to the
last 200 events so the $HOME/.tin/posted file will be self-maintaining
and thus can't grow into a disk space eating monster on its own.
Use the 'f' or 'F' commands to post a followup article to an already
posted article. 'f' copies the text of the original article into the
editor. The editing procedure is the same as when posting an article
with the 'w' command. After saving and exiting the editor you are
asked if you wish to q)uit posting the article, e)dit the article again
or p)ost the article to the net.
Use the 'r' or 'R' command to reply directly through mail to the author
of an already posted article. 'r' copies the text of the original
article into the editor. The editing procedure is the same as when
posting an article with the 'w' command. After saving and exiting the
editor you are asked if you wish to q)uit sending the letter, e)dit the
letter again or s)end the letter.
For your convenience tin presents all articles headers (including the
'From: ' header) for editing during article or email message
composition. If any header exceeds 512 bytes in length or if the
overall article size exceeds 63kb you will be warned (64kb may be a
barrier so this allows for headers added downstream) you will be warned
propagation will be degraded and given a chance to edit before posting.
If any header exceeds 1032 bytes in length your article will be
rejected until it's either fixed or composition is abandoned.
Once posted an article may only be deleted by sending another message
to cancel it with the 'D' command. This requires having the article to
be canceled open with the Article Viewer and it must have been posted
by the same user. The name string including the email address and
personal name (full_name) must match exactly. Cancel messages are
stored and may be seen in the control.cancel newsgroup.
Some percentage of news sites ignore at least some (if not all) cancel
messages. The cancel message is as well propogated by the same
mechanism as the original article, thus the article will remain
available at any particular site at least until the cancel message has
propogated to it. From this it's easy to understand why it's best to
think and be sure before posting an article.
CUSTOMIZING THE ARTICLE QUOTE STRING
When posting a followup to an article or replying direct to the author
of an article via email the text of the article can be quoted. The
beginning of the quoted text can contain information about the quoted
article (ie: Author and Message-ID of the article). To allow for
different situations certain information from the article can be used
in the quoted string. The following format effectors are expanded if
found in the tinrc variables 'mail_quote_format' or
'news_quote_format':
%A Author's Email Address
%D Article's Date
%F Author's Name + Email Address (%N <%A>)
%G Newsgroup's Name
%M Article's Message-ID
%N Author's Personal Name (full_name)
To demonstrate the usage of these format effectors:
mail_quote_format="On %D in %G you wrote:"
news_quote_format="In %M %F wrote:"
Would be expanded as shown in these examples:
On 21 Jul 1992 09:45:51 -0400 in alt.sources you wrote:
In <[email protected]> Iain Lea ([email protected]) wrote:
When extracting the author's email address if a 'Reply-To: ' address
has been provided tinx will use that. If no personal name is included
there the one in the 'From: ' address will be used, and if none is
available there the user name in the email address will be subsituted
for it.
Common practice is to include the 'Message-ID: ' field in these
strings, however it must be mentioned for news articles it is already
included in the 'References: ' field and tinx adds an 'In-reply-to: '
header to letters including it and the article's date.
If you wish to include newlines in your format strings that must be
done using the C language escape character style of notation, ie: \n,
as the actual newline character (Ctrl-J) would be taken as the end of
the string when it's read in. Other control characters such as <Tab>
are not as troublesome but are still best specified using the same
notation, ie:
\a Bell (Ctrl-G, Standard C only)
\b Backspace (Ctrl-H)
\f Form Feed (Ctrl-L)
\n Newline (Ctrl-J, Line Feed)
\r Return (Ctrl-M)
\t Tab (Ctrl-I)
\v Vert Tab (Ctrl-K)
\\ Backslash
\' Apostrophe
\" Double Quote
\<CR> Line Continuation
\nnn Octal Character Value
\xhh Hexadecimal Char Value (Standard C only)
SIGNATURES
Tin will recognize a signature in either $HOME/.signature or
$HOME/.Sig. If $HOME/.Sig exists the sig text in it will be pulled
into the editor for both posting and mailing commands. If not and
$HOME/.signature exists the sig text in it will be pulled into the
editor for mail commands only, on the expectation the news posting host
itself will append $HOME/.signature.
Note that when using $HOME/.Sig if $HOME/.signature also exists the
news posting host may still append it as well, resulting in two sigs in
the same one article.
The following is an example of a $HOME/.Sig file:
NAMES Iain Lea [email protected]
SNAIL Bruecken Strasse 12, 8500 Nuernberg 90, Germany
PHONE +49-911-331963 (home) +49-911-3089-407 (work)
Tin also has the capability to randomly select signatures, and on a per
newsgroup basis if so desired. This is implimented by specifying the
default sigfile or the group attribute sigfile as a directory, not a
file. If for example the sigfile path is /usr/iain/.Sig and .Sig is a
directory then tin will randomly select a signature from amongst all
files that are in the directory .Sig. Use one random signature item
per numbered file. File names should begin with 0, then 1, 2, ..., up
to the [total_number-1] of files used. The random file name is modulus
the total number of files in the directory thus they should be
sequentially numbered for optimum distrubution, although tin will dig
around a bit if the first try does not succeed. A random signature can
contain a fixed text part in the file $HOME/.sigfixed which is then
followed by the randomly selected sig text. This may be used to
include your name, address, and other pertinent data.
MAILING, PIPING, PRINTING, REPOSTING AND SAVING ARTICLES
The command interface to mail 'm', pipe '|', print 'o', repost 'x' and
save 's' articles is the same for ease of use.
The initial command will ask you to select which of an a)rticle,
t)hread, h)ot (auto-selected), r)egex pattern or T)agged set of
articles you wish to mail, pipe, print, repost or save.
Tagged articles must have already been tagged with the 't' or 'T'
commands. NOTE WELL while all articles can be tagged only one multiple
part uuencoded file can be processed at any one time. Multiple part
articles must be tagged in their correct sequential order to be
properly decoded. All tagged articles can be untagged at once with the
'U' (untag) command, or 't' toggles between tagged and untagged. 'T'
from the Article/Thread Selection level tags everything then currently
indexed, which would be only the currently unread articles if then in
the show unread only ('r' command toggles on/off) mode. 't' also
tracks the unread only mode, should only certain threads be of
interest, or may be used to untag a few uninteresting threads after
tagging everything.
When you are done with the current set of tagged items or wish to start
over use the 'U' command to untag everything. Tags are preserved
though operations on them for the convenience of doing more than one
thing with the same set of articles.
If regex pattern matching is chosen you will be prompted to enter a
regular expression (ie: to match all articles subject lines containing
'net News' you must enter '*net News*', sans the quote characters, of
course). All articles in the newsgroup that match the entered
expression will be tagged.
Tin supports the following forms of pathname expansion:
~/News /usr/iain/News
~abc/News /usr/abc/News
$VAR/News /env/var/News
And these which include a filename:
= /usr/iain/Mail/group.name
=filename /usr/iain/Mail/filename
+filename /usr/iain/News/group.name/filename
To save articles to a mailbox with the name of the current newsgroup
(ie: alt.sources) enter '=' when asked for the save filename, or use
'=mailbox_name' to specify a name as well. A mailbox file is the
result of concatenating multiple input items to one single output file.
To save articles in <newsgroup_name>/<filename> format enter
'+filename'. The + creates a directory using the newsgroup name if
needed and then places the file in it.
To be sure, the above are examples only - you must use the actual path
(if needed, or prepend as shown above) and file names you wish to
create.
When saving articles you can specify whether the saved files should be
post processed (ie: unshar shell archive, uudecode multiple parts,
etc). A default process type can be set by the 'Process Type' option
in the 'M' Global Options Menu. If you are post-processing and the
scheme in use provides an embedded file name that name will be used for
the output file.
When tagging multiple part files in many separate news articles you may
find it convenient to use the unthreaded mode, sorting on the subject.
When processing multiple articles results in more than one output file
tin will append serial numbers to the file names, as in test.001,
test.002, and so on. The number of leading zeros is based on the
highest number to be used, so directory listings and such will easily
keep all files in correct serial order. If you wish to move a set of
these files to a host with a limited filename capacity (such as the
typical personal computer) it would be wise not to save more files at
any one time than the target system can accomodate (with a pc this
would be 999 maximum due to the 8.3 name structure). Tin also supports
the elm sytle option of using an equals sign for the first character of
the file name (=filename) which will concatenate all the articles into
one single file.
AUTOMATIC MAILING AND SAVING NEW NEWS
Tin allows new (unread) news articles to be mailed (-M option) or saved
(-S option) in batch mode for later reading. Useful when going on
holiday and you don't want to return and find that expire has removed a
whole load of unread articles. Best to run from crontab everyday while
away, after which you will be mailed a report of which articles were
mailed/saved from which newsgroups and the total number of articles
mailed/saved.
Articles are saved in a private news structure under your savedir
directory (default is $HOME/News). Be careful of using this option if
you read a lot of groups because you could overflow your filesystem.
If you only want to save a few groups it would be best to backup your
full $HOME/.newsrc and create a new one that only contains the
newsgroups you want to mail or save. Saved news could be read later by
tin -R, if and when this option is ever implimented. It is currently
_NOT_ available.
tin -M iain -c -f newsrc.mail
mail iain unread articles in the newgroups
specified in the file newsrc.mail
tin -S -c -f newsrc.save
save unread articles in the newgroups specified in
the file newsrc.save
tin -R NOT IMPLIMENTED: read articles saved by tin -S
COMMAND LINE OPTIONS
Exactly which command line switches are present in any particular
version of tin depends on which options were selected at the time the
executable image was compiled. To deterime what these might be you may
run the image with the '-h' switch and it will type out a list of all
those it has available.
-c Create or update index files for every newsgroup in
$HOME/.newsrc or the newsrc file specified by -f option,
then mark all articles as read.
-D Specify a debug mode -Dn where n=1 for NNTP only logging
and n=2 for logging all debug info. Debug files written to
/tmp are ARTS, ACTIVE, BASE and NNTP. Debugging requires
tin be explicity built with DEBUG defined. See the INSTALL
file for details.
-f file Use the specified newsrc file of subscribed newsgroups in
place of $HOME/.newsrc. Tin will prepend the $HOME path so
the file must reside either there or in a subdirectory
under it. You may copy your existing .newsrc to the new
newsrc file and tin will delete any groups unavailable on a
new spool or server, then the rest may be reset with tin's
Ctrl-R command. You may also start as a new user by simply
specifying any non-existent or invalid (no ':' or '!' in
its first line) file. Tin will then create/overwrite it
using the LIST SUBSCRIPTIONS command, or if that fails all
newsgroups unless you've defined AUTOSUBSCRIBE. See the
ENVIRONMENTAL VARIABLES section, below, for its usage.
Backups (.oldnewsrc and the temp file .newnewsrc) remain
with their original names in the $HOME/ directory and will
contain data from which ever newsrc file is then or last
was in use.
In the tind indexing daemon version -f is used to specify
an alternate news active path and file name.
-h Lists the available command line options. These vary
depending on which were selected when building tin.
-H Brief intro to tin shown when RCDIR or newsrc must be
created (first use or no prior subscription data).
-I dir Directory in which to store newsgroup index files when
doing local indexing. Default is $HOME/.tin/.index.
-m dir Save mailbox files to the specified directory. Default is
$HOME/Mail. A mailbox file is more than one news article
concatenated into a single file and is created by prefixing
the supplied file name with an equals '=' sign.
-M user Mail unread articles to the specified user for later
reading. For more information see the AUTOMATIC MAILING
AND SAVING NEW NEWS section, below.
-n Only load and index active newsgroups that are subscribed
in the user's newsrc. This allows a noticeable speedup
when connecting via a slow line. Note well this precludes
checking for any new newsgroups and also does not recover
the moderated status of any newsgroup thus tin can not
advise you of same (although operation and posting is
otherwise unaffected). Some NNTP news servers do NOT
respond rapidly to the GROUP command for large newsgroups.
-p program Specify a printer or print program with options which tin
will use to redirect output. Overrides any printer
specified in $HOME/.tin/attributes.
-P Purge the newsgroup index files of articles that no longer
exist. Care should be taken when using this command as it
stats each and every article in each group that is
accessed. On a low speed connection this can have an
undesirable effect and it also beats the hell out of your
filesystem.
-q Quick start without checking for new newsgroups. Setting
aside the time it takes to accept or decline new groups
quick here concerns the time it takes to determine what's
new on a local spool as opposed to how fast the typical
NNTP server responds to the NEWGROUPS command, which is
usually faster.
-r Read news remotely from the NNTP server specified in the -x
command line option, the environmental variable NNTPSERVER,
the file /etc/nntpserver or the default compiled into tin.
Forced on when tin is built for NNTP_ONLY news reading.
-R Read news saved by the -S option. NOTE WELL: The -R option
is not yet implemented.
-s dir Save news articles to the specified directory. Default is
$HOME/News.
-S Save unread articles for later reading by -R option. For
more information see the AUTOMATIC MAILING AND SAVING NEW
NEWS section, below. NOTE WELL the -R option is as yet
unimplimented.
-u Create or update index files for every group in
$HOME/.newsrc or the newsrc file specified via the -f
option. This option is disabled if tin retreives its index
files via a NNTP server.
-U Start tin in the background to update index files while
reading news in the foreground. This option is disabled if
tin retrieves its index files via a NNTP server.
-v Enables the verbose mode for the -c -M -S -u and -Z (batch)
options.
-V Display tin's version and patch level, and compile date and
time if available, then exit.
-w Quick mode to post a news article and then exit.
-x host Specify an alternate NNTPSERVER from which to read news.
-X port Specify an alternate NNTP_TCP_PORT for the NNTPSERVER.
Default is 119.
-z Only start tin if there is any new (unread) news, then
position the cursor on the first group with unread news.
Useful in a login file.
-Z Check if there is any new (unread) news and exit with
appropriate status. If -v option is specified the number
of unread articles in each group is displayed. An exit
code of 0 indicates no news, 1 that an error occurred and 2
that new/unread news exists. Useful for writing scripts.
The index daemon version, tind, only supports the -f, -h, -I, -v, -x
and -X options.
NEWS ADMINISTRATION
Tin is a Usenet News User Agent containing the following features to
support automatic maintenance of the news system and its users:
When a user starts tin it is possible to inform them of any important
changes/information concerning the news system by displaying a message
of the day (motd) file. The motd file should be created in your news
lib directory (ie: /usr/lib/news/motd) and should have file permissions
set to 0644. The motd file will only be displayed if its contents is
newer than the last time the user started tin. If reading news via
NNTP the XMOTD patch will have to be installed on your server.
A user starting tin for the first time can be automatically subscribed
to a list of newsgroups that are deemed appropriate by the news
administrator. The subscriptions file should be created in your news
lib directory (ie: /usr/lib/news/subscriptions) and should have file
permissions set to 0644. If reading news via NNTP you may need to
apply the LIST SUBSCRIPTIONS patch to your server.
If the XUSER patch has been applied to your NNTP server you will be
able to log the username and machine to your NNTP logfile for usage
statistics. Otherwise tin maintains these data in /tmp/.tin_log.
INDEX FILES
The best method for indexing is the News Overview (NOV) scheme that is
presently run on many news servers. See the FAQ regularly posted to
the news.software.* hierarchy for details about its installation and
operation. This version of tin will automatically detect and use NOV
data either from an NNTP server or a local news spool.
Failing that, in order to keep track of threads, tin can maintain an
index for each newsgroup. There are several methods by which these
index files can be created and updated.
The simplest method is that each user creates/updates their own index
files which are stored in $HOME/.tin/.index. This has the advantage
that any user can compile and install tin, but the disadvantage is that
each user is going to be creating duplicate files and using precious
disk space. A good way to keep these index files updated is by 'tin
-U' which will update them in the background while you are reading news
in the foreground.
You can also update index files via the system batcher cron with its
'-u' option:
30 6 * * * /usr/local/bin/tin -u
A slightly better method is to install tin setuid news and have all
index files created and updated in the news spool directory (ie:
/usr/spool/news/.index). This has the advantage that there will only
be one copy of the index files on each machine on your network, but the
disadvantage is that you will have tin running setuid news.
A yet better method is to install the tind index file updating daemon
and have it create and update index files for all groups in your active
file at regular intervals in the news spool directory (ie:
/usr/spool/news/.index). This has the advantage that there will only
be one copy of the index files on each machine on your network and tin
must not be setuid news, but the disadvantage is that you will have to
have news permissions to install tind and root permissions to install
an entry in the cron batcher system to have tind regularly update index
files.
The best method is to install the tind index file updating daemon on
your NNTP server and have it create and update index files for all
groups in your active file at regular intervals in the news spool
directory (ie: /usr/spool/news/.index). This has the advantage that
there will only be one copy of the index files on the NNTP server for
the whole of your network, but the disadvantage is that you will have
to install the NNTP server patches to allow tin to retreive index file
from your server and and you must install an entry in the cron batcher
system to have tind regularly update index files.
Entering a group the first time tends to be slow because the index file
must be built from scratch unless the tind update daemon is being used.
To alleviate the slowness start tin to create all index files for the
groups you subscribe to with 'tin -u -v' and go out for coffee.
Subsequent readings of a group will cause incremental updating of the
index file.
If reading news remotely and locally updating index files operation
will be somewhat slower because the articles must be retreived from the
NNTP server.
BUGS
Any bug found should be reported by the 'R' (mail a bug report)
command. This version of tin (tinx) is fully supported and the
maintainer will accept and act on any bug report received. Currently
known bugs:
Tin currently builds the array used to mark news articles as seen based
on counts in the active file or group commands. Articles received and
read after the last active file or groups update (and thus not included
in the reported range of articles) can not be marked as seen until
after the next active file or groups update.
Tin's '-n' switch doesn't catch and thus users can't be warned
regarding moderated status of newsgroups, as it never reads the active
file.
The current kill file groupname hash routine is VERY weak. The single
group option appears to match any group where everything to the right
of the last dot '.' in the name is the same, ie: *.misc, *.general, and
so forth.
Malformed patterns such as "foo[a-" could cause a segmentation
violation in the matching function (INN's wildmat.c) called by the kill
and auto-select functions, among other things.
Unsubscribing a newsgroup means a complete rewrite of the newsrc file,
which tin does on a line by line basis. Unsubscribing from many groups
can become a very serious performance issue as all this is done one
group per pass through the file. It's much better to use the text
editor of your choice for this.
HISTORY
Based on the tass newsreader that was developed by Rich Skrenta and
posted to alt.sources in March 1991. Tass was itself heavily
influenced by NOTES which was developed at the University of Illinois
by Ray Essick and Rob Kolstad in 1982.
The name 'tin' is derived from Threaded Internet Newsreader, although
this version of tin actually only sorts articles, it does not thread by
references.
Tinx is tin v1.2 pl2 with many bugs fixed, several performance
enhancements and extensive error checking and handling added to it.
CREDITS
Rich Skrenta Author of tass v3.2 which this newsreader used as its
base.
AUTHOR
Iain Lea Author of tin v1.2 pl2 from whence this work began.
MAINTAINER
Billy Y.. Maintainer of this version: tinx v1.2 PL9o
AVAILABILITY
The latest revision is available from:
ftp.vnet.net:/pub/users/billy
ftp.primenet.com:/users/b/billy
COPYRIGHT NOTICE
Copyright 1991-93 by Iain Lea & Rich Skrenta
You may freely copy or redistribute this software,
so long as there is no profit made from its use, sale
trade or reproduction. You may not change this copy-
right notice, and it must be included in any copy made
Copyright 1994,1995,1996,1997,1998,1999 Billy Y..
Check out the Unix Man pages Manuals