home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Usenet 1994 October
/
usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso
/
misc
/
volume30
/
tin
/
part01
next >
Wrap
Text File
|
1992-05-20
|
56KB
|
1,757 lines
Newsgroups: comp.sources.misc
From: iain%anl433.uucp@germany.eu.net (Iain J. Lea)
Subject: v30i001: tin - threaded full screen newsreader, Part01/14
Message-ID: <csm-v30i001=tin.121320@sparky.IMD.Sterling.COM>
X-Md4-Signature: 5da49b25d58444802339cac7576ac3bf
Date: Wed, 20 May 1992 17:19:45 GMT
Approved: kent@sparky.imd.sterling.com
Submitted-by: iain%anl433.uucp@germany.eu.net (Iain J. Lea)
Posting-number: Volume 30, Issue 1
Archive-name: tin/part01
Environment: BSD, SCO, ISC, SUNOS, SYSVR3, SYSVR4, ULTRIX, XENIX
Supersedes: tin: Volume 29, Issue 19-30
This is version 1.1 PL3 (patchlevel 3) of the tin newsreader.
!!! NOTE: DELETE ALL YOUR OLD ~/.tin/.index files AS THE FORMAT HAS CHANGED.
o Based more on Notes and tass than rn type newreaders.
o Full screen, easy to use with on-line help at all levels.
o Reads news locally (ie. /usr/spool/news) and/or via NNTP/INN/CD-ROM.
o Threads on Subject: and/or Archive-name: mail headers.
o Five different operating levels:
- Spooldir selection level (CD-ROM only)
- Group selection level
- Thread selection level
- Article selection level
- Article viewer
o Same interface to mail, pipe, print and save articles.
o Reposting of articles from one newsgroup to another.
o Auto unpacking of multi-part shar & uuencoded articles.
o Batch mode to mail/save new news when user is on holiday.
o Builtin NNTP mini-inews & clientlib.c
o NNTP extensions XUSER & XINDEX allow central index files.
!!! NOTE: DELETE ALL YOUR OLD ~/.tin/.index files AS THE FORMAT HAS CHANGED.
-------------------------------------------------
Major improvements over tin 1.1 PL2 are the following:
o Added builtin NNTP client functions (nntplib.c).
o Added 'l' command to select spooldir to read news from.
o Added 'x' command to re/crosspost current article to another group.
o Added 'B' command to report bug/comments at thread level.
o Added 'c' command to catchup thread at thread level.
o Added 'd' command to toggle subject & author at thread level.
o Added support to use Reply-To: mail header when replying by mail.
o Added support for PgUp PgDn Home End for vt200 terminals.
o Added -I option to specify alternate directory for index files.
o Added menu option to allow confirmation prompts to be on/off.
o Added support for reading news from CD-ROM.
o Added support for INN NNTP (mode reader).
o Added support for the DISTRIBUTION shell variable.
o Added support for the MAILER shell variable.
o Added support for the NEWSORG shell variable on Apollo Domain.
o Added support for SCO Un*x machines (again).
o Added support for Harris HCX machines.
o Added support for Sequent PTX machines.
o Added support for Apollo Domain machines.
o Added the beginning (needs a lot of work) of a tin FAQ.
o Changed quit tin command to 'Q' at all levels.
o Changed return to previous level command to 'q' at all levels.
o Changed abort from prompts to use 'q' for easier operation.
o Changed reread active file command from ^Y to Y at group selection level.
o Changed group selection, index & thread levels to wrap around top/bottom.
o Changed command line specification of groups to allow regex patterns.
o Fixed bug that stopped group selection screen being redisplayed.
o Fixed builtin inews to recognize news gateway machine & domain address.
o Fixed builtin inews to use fully qualified domain name on BSD machines.
o Fixed cancelling of articles.
o Fixed killing of articles.
o Fixed bug that long groupname was overwriting screen array.
o Fixed window resizing to work on older version of Un*x.
Enjoy
Iain.
----------------------- Cut Here ------------------------------
#! /bin/sh
# This is a shell archive. Remove anything before this line, then feed it
# into a shell via "sh file" or similar. To overwrite existing files,
# type "sh file -c".
# The tool that generated this appeared in the comp.sources.unix newsgroup;
# send mail to comp-sources-unix@uunet.uu.net if you want that tool.
# Contents: README README.NNTP help.c tin.1
# Wrapped by kent@sparky on Tue May 19 13:38:01 1992
PATH=/bin:/usr/bin:/usr/ucb ; export PATH
echo If this archive is complete, you will see the following message:
echo ' "shar: End of archive 1 (of 14)."'
if test -f 'README' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'README'\"
else
echo shar: Extracting \"'README'\" \(3600 characters\)
sed "s/^X//" >'README' <<'END_OF_FILE'
XThis is version 1.1 PL3 (patchlevel 3) of the tin newsreader.
X
Xo Based more on Notes and tass than rn type newreaders.
Xo Full screen, easy to use with on-line help at all levels.
Xo Reads news locally (ie. /usr/spool/news) and/or via NNTP/INN/CD-ROM.
Xo Threads on Subject: and/or Archive-name: mail headers.
Xo Five different operating levels:
X - Spooldir selection level (CD-ROM only)
X - Group selection level
X - Thread selection level
X - Article selection level
X - Article viewer
Xo Same interface to mail, pipe, print and save articles.
Xo Reposting of articles from one newsgroup to another.
Xo Auto unpacking of multi-part shar & uuencoded articles.
Xo Batch mode to mail/save new news when user is on holiday.
Xo Builtin NNTP mini-inews & clientlib.c
Xo NNTP extensions XUSER & XINDEX allow central index files.
X
X!!! NOTE: DELETE ALL YOUR OLD ~/.tin/.index files AS THE FORMAT HAS CHANGED.
X
X-------------------------------------------------------------------------------
X
XMajor improvements over tin 1.1 PL2 are the following:
X
Xo Added builtin NNTP client functions (nntplib.c).
Xo Added 'l' command to select spooldir to read news from.
Xo Added 'x' command to re/crosspost current article to another group.
Xo Added 'B' command to report bug/comments at thread level.
Xo Added 'c' command to catchup thread at thread level.
Xo Added 'd' command to toggle subject & author at thread level.
Xo Added support to use Reply-To: mail header when replying by mail.
Xo Added support for PgUp PgDn Home End for vt200 terminals.
Xo Added -I option to specify alternate directory for index files.
Xo Added menu option to allow confirmation prompts to be on/off.
Xo Added support for reading news from CD-ROM.
Xo Added support for INN NNTP (mode reader).
Xo Added support for the DISTRIBUTION shell variable.
Xo Added support for the MAILER shell variable.
Xo Added support for the NEWSORG shell variable on Apollo Domain.
Xo Added support for SCO Un*x machines (again).
Xo Added support for Harris HCX machines.
Xo Added support for Sequent PTX machines.
Xo Added support for Apollo Domain machines.
Xo Added the beginning (needs a lot of work) of a tin FAQ.
Xo Changed quit tin command to 'Q' at all levels.
Xo Changed return to previous level command to 'q' at all levels.
Xo Changed abort from prompts to use 'q' for easier operation.
Xo Changed reread active file command from ^Y to Y at group selection level.
Xo Changed group selection, index & thread levels to wrap around top/bottom.
Xo Changed command line specification of groups to allow regex patterns.
Xo Fixed bug that stopped group selection screen being redisplayed.
Xo Fixed builtin inews to recognize news gateway machine & domain address.
Xo Fixed builtin inews to use fully qualified domain name on BSD machines.
Xo Fixed cancelling of articles.
Xo Fixed killing of articles.
Xo Fixed bug that long groupname was overwriting screen array.
Xo Fixed window resizing to work on older version of Un*x.
X
X-------------------------------------------------------------------------------
X
XFor more bug fixes, changes & additions read the CHANGES & TODO files.
X
XFor compilation and installation information read the INSTALL file.
X
XFor ftp & non-ftp source & binary availability read the FTP file.
X
X-------------------------------------------------------------------------------
X
XI wish to thank all the people that sent me bug fixes and comments
X(especially Jim Robinson) . I still want to hear of any bug reports,
Xgripes and comments but *PLEASE* read the INSTALL and tin.1 man page
Xbefore anything :-)!.
X
XEnjoy
X Iain.
END_OF_FILE
if test 3600 -ne `wc -c <'README'`; then
echo shar: \"'README'\" unpacked with wrong size!
fi
# end of 'README'
fi
if test -f 'README.NNTP' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'README.NNTP'\"
else
echo shar: Extracting \"'README.NNTP'\" \(932 characters\)
sed "s/^X//" >'README.NNTP' <<'END_OF_FILE'
XThis patch enables the TIN newsreader index files to be fetched from a
XNNTP server. The patch adds the following to the NNTP server nntpd:
X
X o XINDEX command to retrieve tin group index file from server.
X Syntax: XINDEX alt.sources
X
X o XUSER command to log tin clients username to nntp logfile.
X Syntax: XUSER Iain Lea
X
X o LIST SUBSCRIPTIONS command to retrieve list of newsgroups
X that first time user will be automatically subscribed to.
X Our users are auto subscribed to 120 groups from the 450
X that we take. Groups are written 1 group per line in the
X file /usr/lib/news/subscriptions.
X Syntax: LIST SUBSCRIPTIONS
X
X o HELP command changed to list XINDEX & XUSER as extensions.
X
X o Added comments /* */ around '#endif /* text */' to stop some
X compilers producing warnings about text after '#endif text'.
X
XFor compile & install instructions read the file INSTALL.NNTP
X
XEnjoy
X
X Iain
END_OF_FILE
if test 932 -ne `wc -c <'README.NNTP'`; then
echo shar: \"'README.NNTP'\" unpacked with wrong size!
fi
# end of 'README.NNTP'
fi
if test -f 'help.c' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'help.c'\"
else
echo shar: Extracting \"'help.c'\" \(5603 characters\)
sed "s/^X//" >'help.c' <<'END_OF_FILE'
X/*
X * Project : tin - a threaded Netnews reader
X * Module : help.c
X * Author : I.Lea
X * Created : 01-04-91
X * Updated : 12-05-92
X * Notes :
X * Copyright : (c) Copyright 1991-92 by Iain Lea
X * You may freely copy or redistribute this software,
X * so long as there is no profit made from its use, sale
X * trade or reproduction. You may not change this copy-
X * right notice, and it must be included in any copy made
X */
X
X#include "tin.h"
X#include "nntplib.h"
X
Xchar *help_select[] = {
X txt_help_g_4,
X txt_help_ctrl_d,
X txt_help_ctrl_l,
X txt_help_g_ctrl_k,
X txt_help_g_ctrl_r,
X txt_help_g_cr,
X txt_help_g_tab,
X txt_help_b,
X txt_help_bug_report,
X txt_help_sel_c,
X txt_help_g,
X txt_help_j,
X txt_help_h,
X txt_help_I,
X txt_help_g_l,
X txt_help_m,
X txt_help_M,
X txt_help_n,
X txt_help_g_q,
X txt_help_s,
X txt_help_S,
X txt_help_v,
X txt_help_w,
X txt_help_W,
X txt_help_g_y,
X txt_help_y,
X txt_help_g_z,
X txt_help_g_search,
X#ifndef NO_SHELL_ESCAPE
X txt_help_shell,
X#endif
X (char *) 0
X};
X
Xchar *help_spooldir[] = {
X txt_help_4,
X txt_help_ctrl_d,
X txt_help_ctrl_l,
X txt_help_cr,
X txt_help_b,
X txt_help_bug_report,
X txt_help_h,
X txt_help_I,
X txt_help_j,
X txt_help_i,
X txt_help_q,
X txt_help_v,
X (char *) 0
X};
X
Xchar *help_group[] = {
X txt_help_i_4,
X txt_help_ctrl_d,
X txt_help_ctrl_k,
X txt_help_ctrl_l,
X txt_help_i_cr,
X txt_help_i_tab,
X txt_help_a,
X txt_help_b,
X txt_help_bug_report,
X txt_help_c,
X txt_help_d,
X txt_help_g,
X txt_help_h,
X txt_help_I,
X txt_help_j,
X txt_help_K,
X txt_help_l,
X txt_help_p_m,
X txt_help_M,
X txt_help_o,
X txt_help_i_n,
X txt_help_i_p,
X txt_help_i,
X txt_help_q,
X txt_help_r,
X txt_help_p_s,
X txt_help_T,
X txt_help_u,
X txt_help_U,
X txt_help_v,
X txt_help_w,
X txt_help_W,
X txt_help_x,
X txt_help_p_z,
X txt_help_i_search,
X#ifndef NO_SHELL_ESCAPE
X txt_help_shell,
X#endif
X txt_help_dash,
X txt_help_pipe,
X (char *) 0
X};
X
Xchar *help_thread[] = {
X txt_help_t_0,
X txt_help_t_4,
X txt_help_ctrl_d,
X txt_help_ctrl_l,
X txt_help_t_cr,
X txt_help_p_tab,
X txt_help_b,
X txt_help_bug_report,
X txt_help_d,
X txt_help_h,
X txt_help_I,
X txt_help_j,
X txt_help_ck,
X txt_help_i,
X txt_help_q,
X txt_help_T,
X txt_help_v,
X txt_help_p_z,
X (char *) 0
X};
X
Xchar *help_page[] = {
X txt_help_p_0,
X txt_help_p_4,
X txt_help_ctrl_h,
X txt_help_ctrl_k,
X txt_help_ctrl_l,
X txt_help_p_ctrl_r,
X txt_help_p_cr,
X txt_help_p_tab,
X txt_help_b,
X txt_help_a,
X txt_help_bug_report,
X txt_help_c,
X txt_help_C,
X txt_help_p_d,
X txt_help_p_f,
X txt_help_p_g,
X txt_help_h,
X txt_help_I,
X txt_help_p_k,
X txt_help_p_m,
X txt_help_M,
X txt_help_p_n,
X txt_help_o,
X txt_help_p_p,
X txt_help_i,
X txt_help_q,
X txt_help_p_r,
X txt_help_p_s,
X txt_help_t,
X txt_help_T,
X txt_help_v,
X txt_help_w,
X txt_help_W,
X txt_help_x,
X txt_help_p_z,
X txt_help_p_search,
X#ifndef NO_SHELL_ESCAPE
X txt_help_shell,
X#endif
X txt_help_dash,
X txt_help_pipe,
X txt_help_thread,
X (char *) 0
X};
X
X
Xvoid show_info_page (type, help, title)
X int type;
X char *help[];
X char *title;
X{
X char buf[LEN];
X char ch;
X int i, len;
X int group_len = 0;
X int old_page = 0;
X int cur_page = 1;
X int max_page = 1;
X int pos_help = 0;
X
X if (NOTESLINES <= 0) {
X return;
X }
X
X /*
X * find how many elements in array
X */
X if (type == HELP_INFO) {
X for (i=0 ; help[i] ; i++) {
X continue;
X }
X } else {
X for (i=0 ; posted[i].date[0] ; i++) {
X len = strlen (posted[i].group);
X if (len > group_len) {
X group_len = len;
X }
X }
X }
X
X max_page = i / NOTESLINES;
X if (i % NOTESLINES) {
X max_page++;
X }
X
X while (1) {
X if (cur_page != old_page) {
X ClearScreen ();
X sprintf (buf, title, cur_page, max_page);
X center_line (0, TRUE, buf);
X MoveCursor (INDEX_TOP, 0);
X
X if (type == HELP_INFO) {
X for (i=pos_help ; i < (pos_help + NOTESLINES) && help[i] ; i++) {
X fputs (help[i], stdout);
X }
X } else {
X for (i=pos_help ; i < (pos_help + NOTESLINES) && posted[i].date[0] ; i++) {
X sprintf (msg, "%8s %c %-*s %s",
X posted[i].date, posted[i].action,
X group_len, posted[i].group, posted[i].subj);
X msg[COLS-2] = '\0';
X printf ("%s\r\n", msg);
X }
X }
X }
X
X if (cur_page != old_page) {
X center_line (LINES, FALSE, txt_hit_space_for_more);
X }
X
X old_page = cur_page;
X
X ch = (char) ReadCh ();
X switch (ch) {
X case ESC: /* common arrow keys */
X switch (get_arrow_key ()) {
X case KEYMAP_UP:
X case KEYMAP_PAGE_UP:
X if (cur_page > 1) {
X cur_page--;
X pos_help = (cur_page-1)*NOTESLINES;
X }
X break;
X
X case KEYMAP_DOWN:
X case KEYMAP_PAGE_DOWN:
X if (cur_page < max_page) {
X pos_help = cur_page*NOTESLINES;
X cur_page++;
X }
X break;
X
X case KEYMAP_HOME:
X if (cur_page != 1) {
X cur_page = 1;
X pos_help = 0;
X }
X break;
X
X case KEYMAP_END:
X if (cur_page != max_page) {
X cur_page = max_page;
X pos_help = (max_page-1) * NOTESLINES;
X }
X break;
X }
X break;
X
X case ctrl('D'): /* page down */
X case ' ':
X case 'j':
X if (cur_page < max_page) {
X pos_help = cur_page*NOTESLINES;
X cur_page++;
X }
X break;
X
X case ctrl('U'): /* page up */
X case 'b':
X case 'k':
X if (cur_page > 1) {
X cur_page--;
X pos_help = (cur_page-1)*NOTESLINES;
X }
X break;
X
X case ctrl('R'): /* Home */
X case 'g':
X if (cur_page != 1) {
X cur_page = 1;
X pos_help = 0;
X }
X break;
X
X case '$': /* End */
X case 'G':
X if (cur_page != max_page) {
X cur_page = max_page;
X pos_help = (max_page-1) * NOTESLINES;
X }
X break;
X
X default:
X#ifndef USE_CLEARSCREEN
X ClearScreen ();
X#endif
X return;
X }
X }
X}
END_OF_FILE
if test 5603 -ne `wc -c <'help.c'`; then
echo shar: \"'help.c'\" unpacked with wrong size!
fi
# end of 'help.c'
fi
if test -f 'tin.1' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'tin.1'\"
else
echo shar: Extracting \"'tin.1'\" \(38440 characters\)
sed "s/^X//" >'tin.1' <<'END_OF_FILE'
X.ev 1
X.if t .lt 6.85i
X.if n .lt 7.2i
X.ev
X.if t .po .45i
X.if t .ll 6.85i
X.if n .ll 7.2i
X.if \n(mo=1 .ds mo January
X.if \n(mo=2 .ds mo Febraury
X.if \n(mo=3 .ds mo March
X.if \n(mo=4 .ds mo April
X.if \n(mo=5 .ds mo May
X.if \n(mo=6 .ds mo June
X.if \n(mo=7 .ds mo July
X.if \n(mo=8 .ds mo August
X.if \n(mo=9 .ds mo September
X.if \n(mo=10 .ds mo October
X.if \n(mo=11 .ds mo November
X.if \n(mo=12 .ds mo December
X.TH TIN 1 "Version 1.1 PL3" "" "LOCAL"
X.ds ]W \*(mo \n(dy, 19\n(yr
X.nh
X.SH NAME
Xtin, rtin, tind - A threaded Netnews reader
X.SH SYNOPSIS
X.B tin/rtin/cdtin/tind
X[options] [newsgroups]
X.SH DESCRIPTION
X.I Tin
Xis a full-screen threaded Netnews reader. It can read news locally
X(ie. \fI/usr/spool/news\fP) or remotely (rtin or tin -r option) via
Xa NNTP (Network News Transport Protocol) server. A special version
Xof tin called cdtin can also read locally active news and news
Xarchived on CD-ROM.
X.PP
XTin has four newsreading levels:
Xthe newsgroup selection page, the group index page, the thread listing
Xpage and the article viewer.
XUse the 'h' (help) command to view a list of the commands available at a
Xparticular level.
X.PP
XOn startup Tin will show a list of the newsgroups found in \fI$HOME/.newsrc\fP.
XAn arrow '->' or highlighted bar will point to the first newsgroup.
XMove to a group by using the terminal arrow keys (ansi/at386/vt100 only) or 'j'
Xand 'k'. Use PgUp/PgDn (ansi/at386/vt100 only) or Ctrl-U and Ctrl-D to
Xpage up/down. Enter a newsgroup by pressing RETURN.
X.PP
XThe TAB key may be used to advance to the next newsgroup with unread articles
Xand enter it.
X.SH OPTIONS
X.TP 10
X\fB-c\fP
Xcreate/update index files for every group in \fI$HOME/.newsrc\fP or
Xfile specified by -f option and mark all articles as read.
X.TP
X\fB-f file\fP
Xuse the specified file of subscribed to newsgroups in place of
X\fI$HOME/.newsrc\fP.
X.TP
X\fB-h\fP
Xhelp listing all command line options.
X.TP
X\fB-H\fP
Xbrief introduction to tin that is also shown the first time it is started.
X.TP
X\fB-I dir\fP
Xdirectory to store newsgroup index files. Default is \fI$HOME/.tin/.index\fP.
X.TP
X\fB-m dir\fP
Xmailbox directory to use. Default is \fI$HOME/Mail\fP.
X.TP
X\fB-M user\fP
Xmail unread articles to specified user for later reading. For more
Xinformation read section Automatic Mailing and Saving New News.
X.TP
X\fB-n\fP
Xnotify the user of any newly created newsgroups since the last session.
X.TP
X\fB-p file\fP
Xprint program with options.\fP.
X.TP
X\fB-r\fP
Xread news remotely from the default NNTP server specified in the
Xenvironment variable NNTPSERVER or contained in the file
X\fI/etc/nntpserver\fP.
X.TP
X\fB-R\fP
Xread news saved by -S option (not yet implemented).
X.TP
X\fB-s dir\fP
Xsave articles to directory. Default is \fI$HOME/News\fP.
X.TP
X\fB-S\fP
Xsave unread articles for later reading by -R option. For more information
Xread section Automatic Mailing and Saving New News.
X.TP
X\fB-u\fP
Xcreate/update index files for every group in \fI$HOME/.newsrc\fP or
Xfile specified by -f option. This option does not work if tin retrieves
Xits index files via a NNTP server.
X.TP
X\fB-U\fP
Xstart tin in the background to update index files while reading news
Xin the foreground. This option does not work if tin retrieves its index
Xfiles via a NNTP server.
X.TP
X\fB-v\fP
Xverbose mode for -c -M -S -u and -Z options.
X.TP
X\fB-z\fP
Xonly start tin if there is any new/unread news. If there is news tin
Xwill position cursor at first group with unread news. Useful for putting
Xin login file.
X.TP
X\fB-Z\fP
Xcheck if there is any new/unread news and exit with appropiate status.
XIf -v option is specified the number of unread articles in each group
Xis printed. An exit code 0 indicates no news, 1 that an error occurred
Xand 2 that new/unread news exists. Useful for writing scripts.
X.PP
XTin can also dynamically change its options by the 'M' menu command.
XAny changes are written to \fI$HOME/.tin/tinrc\fP.
X.PP
XThe index daemon version Tind only supports the -f, -h and -v options.
X.SH "INDEX FILES"
XIn order to keep track of threads, Tin maintains an index for each newsgroup.
XThere are a number of methods in which index files can be created and updated.
X.PP
XThe simplest method is that each user creates/updates there own index files
Xthat are stored in $HOME/.tin/.index. This has the advantage that any user
Xcan compile and install tin, but the disadvantage is that each user is going
Xto be creating duplicate files and using precious disk space. A good way to
Xkeep index files updated is to start tin with the -U option that will update
Xindex files in the background while you are reading news in the foreground.
XYou can also update index files via the system batcher cron with the -u
Xoption:
X.RS
X.nf
X30 6 * * * /usr/local/bin/tin -u
X.fi
X.RE
X.PP
XA slightly better method is to set tin setuid news and have all index files
Xcreated and updated in the news spool directory (ie. /usr/spool/news/.index).
XThis has the advantage that there will only be one copy of the index files
Xon each machine on your network, but the disadvantage is that you will have
Xtin running setuid news and killing articles will change the central index
Xfile for a group for all users (Needs fixing!).
X.PP
XA better method is to install the tind index file updating daemon and have
Xit create and update index files for all groups in your active file at
Xregular intervals in the news spool directory (ie. /usr/spool/news/.index).
XThis has the advantage that there will only be one copy of the index files on
Xeach machine on your network and tin must not be setuid news, but the
Xdisadvantage is that you will have to have news permissions to install tind
Xand root permissions to install an entry in the cron batcher system to have
Xtind regularly update index files.
X.PP
XThe best method is to install the tind index file updating daemon on your
XNNTP server and have it create and update index files for all groups in your
Xactive file at regular intervals in the news spool directory (ie. /usr/spool/news/.index).
XThis has the advantage that there will only be one copy of the index files on
Xthe NNTP server for the whole of your network and tin clients must not be
Xsetuid news, but the disadvantage is that you will have to install my NNTP
Xserver patches to allow tin to retreive index file from your NNTP server and
Xand you must install an entry in the cron batcher system to have tind
Xregularly update index files (Note that this is the method we use on our
Xnetwork of 40-50 machines and have not had any problems).
X.PP
XEntering a group the first time tends to be slow because the index file must
Xbe built from scratch unless the tind update daemon is being used. Subsequent
Xreadings of a group will cause incremental updating of the index file.
X.PP
XIf reading news remotely and locally updating index files operation will be
Xsomewhat slower because the articles must be retrieved from the NNTP server.
X.SH "NEWS ADMINISTRATION"
XMaintaining Netnews on large networks of machines can be a pretty time
Xconsuming job as I recently discovered when I was given the job of
Xmaintaining our news system and news users.
X.PP
XTin is a News User Agent and so most of the users were always asking
Xquestions or doing things that could be frowned upon by there departments.
XTo relieve news admins (and especially me) of this features have been added
Xto Tin to make life easier.
X.PP
XIf my NNTP XUSER patch has been applied to your NNTP server you will be
Xable to log the username and machine to your NNTP logfile for usage
Xstatistics.
X.PP
XA user starting tin for the first time can be automatically subscribed to a
Xlist of newsgroups that are deemed appropiate by the news administrator. At
Xour site the subscriptions file has 125 groups (our active file conatains
Xover 400 groups with many only being marginally interesting to most people).
XThe subscriptions file should be created in your news lib directory (ie.
X/usr/lib/news/subscriptions) and should have file permissions set to 0644.
XIf reading news via NNTP my NNTP LIST SUBSCRIPTIONS patch will have to have
Xbeen applied to your NNTP server.
X.SH "SCREEN FORMAT"
XTin has five separate levels of operation: Group selection level, Spooldir
Xselection level, Group level, Thread level and Article level.
X.PP
XAt the Group Selection level the title displays the number of subscribed
Xgroups. The newsgroups are displayed on the left of the screen with the
Xnumber of unread articles displayed on the same line in the middle of
Xthe screen.
X.RS
X.nf
X.in +.5i
X.ta +\w'1 'u +\w'news.software.readers 'u
X<Selection Num> <Newsgroup> <Num of unread articles>
X.ti -.5i
Xi.e.,
X1 alt.sources 10
X2 comp.sources.misc 3
X3 news.software.readers 12
X.in -.5i
X.fi
X.RE
X.PP
XAt the Group level the title contains the name of the group, the number
Xof conversation threads and total number of articles i.e., alt.sources (7 23).
XIf the group has been setup not to thread articles (i.e., alt.sources
Xis in \fI$(HOME)/.tin/unthread\fP) the title will be alt.sources (U 23).
XThere are two possible display formats as shown below:
X.RS
X.nf
X.in +.5i
X.ta +\w'1 'u +\w'+ 'u +\w'3 'u +\w'This question has 'u
X<Selection Num> <Unread> <Responses> <Subject> <Author>
X.ti -.5i
Xi.e.,
X1 + 3 Bnews sources? iain@estevax.uucp
X2 1 This question has ether@net
X.ti -.5i
Xor
X.ta +\w'1 'u +\w'+ 'u +\w'3 'u +\w'This question has a long subject line 'u
X<Selection Num> <Unread> <Responses> <Subject (longer)>
X.ti -.5i
Xi.e.,
X1 + 3 Bnews sources?
X2 1 This question has a longer subject line
X.in -.5i
X.fi
X.RE
X.PP
XAt the Article level the page header has the following format:
X.RS
X.nf
X.in +.5i
X.ta \w'<Date posted> <Newsgroup> 'u
X<Date posted> <Newsgroup> <Thread 1 of n>
X<Article Num> <Subject> <Num of responses in thread>
X<Author> <Organization>
X
X<Article body>
X.ti -.5i
Xi.e.,
X.ta \w'24 Jul 15:20:03 GMT 'u +\w'Bnews sources? 'u
X24 Jul 15:20:03 GMT alt.sources Thread 1 of 2
XArticle 452 Bnews sources? 3 responses
Xiain@anl433.uucp Organization name
X
X<Article boby>
X.in -.5i
X.fi
X.RE
X.SH "COMMON MOVING KEYS"
XThis table shows the common keys/commands for moving at all three levels
Xwithin Tin.
X.RS
X.nf
X.ta \w'Beginning of list/article 'u +\w'ansi/at386/vt100 'u
X ansi/at386/vt100 Other Terminals
XBeginning of list/article \fBHome\fP \fB1\fP (\fB^R\fP or \fBg\fP at article level)
XEnd of list/article \fBEnd\fP \fB$\fP (also \fBG\fP at article level)
XPage Up \fBPgUp\fP \fB^U\fP or \fBb\fP
XPage Down \fBPgDn\fP \fB^D\fP or \fB<SPACE>\fP
XLine Up \fBUp arrow\fP \fBk\fP (not at article level)
XLine Down \fBDown arrow\fP \fBj\fP (not at article level)
X.fi
X.RE
X.SH "COMMON EDITING COMMANDS"
XAn emacs style editing package allows the easy editing of input strings.
XAn history list allows the easy re-use of previously entered strings.
XThe following commands are available when editing a string:
X
X.TP 10
X\fB^A,^E\fP
Xmove to beginnning or end of line, respectively.
X.TP
X\fB^F,^B\fP
Xnondestructive move forward or back one location, respectively.
X.TP
X\fB^D\fP
Xdelete the character currently under the cursor, or send EOF if no
Xcharacters in the buffer.
X.TP
X\fB^H,<DEL>\fP
Xdelete character left of the cursor.
X.TP
X\fB^K\fP
Xdelete from cursor to end of line.
X.TP
X\fB^P,^N\fP
Xmove through history, previous and next, respectively.
X.TP
X\fB^L,^R\fP
Xredraw the current line.
X.TP
X\fB<CR>\fP
Xplaces line on history list if nonblank, appends newline and returns
Xto the caller.
X.TP
X\fB<ESC>\fP
Xaborts the present editing operation.
X.SH "NEWSGROUP SELECTION COMMANDS"
X.TP 10
X\fB4\fP
XSelect group 4.
X.TP
X\fB^K\fP
XDelete current group from \fI$HOME/.newsrc\fP file.
X.TP
X\fB^L\fP
XRedraw page.
X.TP
X\fB^R\fP
XReset \fI$HOME/.newsrc\fP file.
X.TP
X\fB<CR>\fP
XRead current group.
X.TP
X\fB<TAB>\fP
XView next unread group.
X.TP
X\fBB\fP
XMail a bug report or comment to the author. This is the best way of
Xgetting bugs fixed and features added/changed.
X.TP
X\fBc\fP
XMark current group as all read with confirmation and goto next group
Xin group selection list.
X.TP
X\fBC\fP
XMark current group as all read and goto next unread group in group
Xselection list.
X.TP
X\fBg\fP
XChoose a new group by name. The position of the group within the group
Xlist will also be asked for. By entering '1' the new group will be the
Xfirst group in the displayed list, by entering '8' the group will be
Xthe eighth group in the list etc. By entering '$' the group will be the
Xlast group displayed.
X.TP
X\fBh\fP
Xhelp screen of newsgroup selection commands.
X.TP
X\fBI\fP
XToggle inverse video.
X.TP
X\fBl\fP
XList and allow selection of the available spool directories. This feature
Xrequires a special library to be linked with tin to create cdtin which can then
Xread news from an active news feed and also from multiple CD-ROMs.
X.TP
X\fBm\fP
XMove the current group within the group selection list.
XBy entering '1' the group will become the first displayed group in
Xthe list, by entering '8' the eighth group in the list etc. By
Xentering '$' the group will be the last group displayed.
X.TP
X\fBM\fP
XUser configurable options menu (for more information see section Options Menu).
X.TP
X\fBq\fP
XQuit tin.
X.TP
X\fBQ\fP
XQuit tin.
X.TP
X\fBs\fP
XSubscribe to current group.
X.TP
X\fBS\fP
XSubscribe to groups matching user specified pattern.
X.TP
X\fBu\fP
XUnsubscribe to current group.
X.TP
X\fBU\fP
XUnsubscribe to groups matching user specified pattern.
X.TP
X\fBv\fP
XPrint tin version information.
X.TP
X\fBw\fP
XPost an article to current group.
X.TP
X\fBW\fP
XList articles posted by user. The date posted, the newsgroup and the
Xsubject are listed.
X.TP
X\fBy\fP
XThe first time this command is called it will yank in all groups from
X\fI$LIBDIR/active\fP that are not in \fI$HOME/.newsrc\fP.
XAfter any groups have been subscribed/unsubscribed to, this command
Xif pressed again will reread \fI$HOME/.newsrc\fP and display only
Xthe subscribed groups.
X.TP
X\fBY\fP
XReread the active file to see if any new news has arrived since
Xstarting tin.
X.TP
X\fBz\fP
XMark all articles in the current group as unread.
X.TP
X\fBZ\fP
XUndelete previously deleted group by ^K command from \fI$HOME/.newsrc\fP.
X.TP
X\fB/\fP
XGroup forward search.
X.TP
X\fB?\fP
XGroup backward search.
X.SH "SPOOL DIRECTORY SELECTION COMMANDS"
X.TP 10
X\fB4\fP
XSelect spool directory 4.
X.TP
X\fB^L\fP
XRedraw page.
X.TP
X\fB<CR>\fP
XRead news from selected spool directory.
X.TP
X\fBB\fP
XMail a bug report or comment to the author. This is the best way of
Xgetting bugs fixed and features added/changed.
X.TP
X\fBh\fP
Xhelp screen of spool directory selection commands.
X.TP
X\fBI\fP
XToggle inverse video.
X\fBq\fP
XReturn to previous level.
X.TP
X\fBQ\fP
XQuit tin.
X.TP
X\fBv\fP
XPrint tin version information.
X.SH "GROUP INDEX COMMANDS"
X.TP 10
X\fB4\fP
XSelect article 4.
X.TP
X\fB^K\fP
XKill current article (for more information read section Kill Article Menu).
X.TP
X\fB^L\fP
XRedraw page.
X.TP
X\fB<CR>\fP
XRead current article.
X.TP
X\fB<TAB>\fP
XView next unread article or group.
X.TP
X\fBa\fP
XAuthor forward search.
X.TP
X\fBA\fP
XAuthor backward search.
X.TP
X\fBB\fP
XMail a bug report or comment to the author. This is the best way of
Xgetting bugs fixed and features added/changed.
X.TP
X\fBc\fP
XMark all articles as read with confirmation.
X.TP
X\fBC\fP
XCancel current article. It must have been posted by the same user. The
Xcancel message can be seen in the newsgroup 'control'.
X.TP
X\fBd\fP
XToggle display to show just the subject or the subject and author.
X.TP
X\fBg\fP
XChoose a new group by name.
X.TP
X\fBh\fP
Xhelp screen of group index commands.
X.TP
X\fBI\fP
XToggle inverse video.
X.TP
X\fBK\fP
XMark article/thread as read and advance to next unread article/thread.
X.TP
X\fBl\fP
XList the author of each response in current thread and enter thread
Xselection level.
X.TP
X\fBm\fP
XMail current article / thread / auto selected (hot) articles /
Xarticles matching pattern / tagged articles
Xto someone.
X.TP
X\fBM\fP
XUser configurable options menu (for more information see section Options Menu).
X.TP
X\fBn\fP
XGo to next group.
X.TP
X\fBN\fP
XGo to next unread article.
X.TP
X\fBo\fP
XOutput current article / thread / auto selected (hot) articles /
Xarticles matching pattern / tagged articles
Xto printer.
X.TP
X\fBp\fP
XGo to previous group.
X.TP
X\fBP\fP
XGo to previous unread article.
X.TP
X\fBq\fP
XReturn to previous level.
X.TP
X\fBQ\fP
XQuit tin.
X.TP
X\fBs\fP
XSave current article / thread / auto selected (hot) articles /
Xarticles matching pattern / tagged articles to file / files /
Xmailbox. To save to a mailbox enter '=' or '=mailbox' when asked
Xfor filename to save to. To save in <newsgroup name>/<filename>
Xformat enter '+filename'. Environment variables are allowed within
Xa filename (ie. $SOURCES/dir/filename).
X.TP
X\fBT\fP
XTag current article for mailing ('m') / piping ('|') / printing ('o') /
Xsaving ('s') / crossposting ('x').
X.TP
X\fBu\fP
XToggle display to show all articles as unthreaded or threaded.
X.TP
X\fBU\fP
XUntag all articles that were tagged.
X.TP
X\fBv\fP
XPrint tin version information.
X.TP
X\fBw\fP
XPost an article to current group.
X.TP
X\fBW\fP
XList articles posted by user. The date posted, the newsgroup and the
Xsubject are listed.
X.TP
X\fBx\fP
XCrosspost already posted current article / thread /
Xauto selected (hot) articles / articles matching pattern /
Xtagged articles to another newsgroup(s). Useful for reposting
Xfrom global to local newsgroups.
X.TP
X\fBz\fP
XMark current article as unread.
X.TP
X\fBZ\fP
XMark current thread as unread.
X.TP
X\fB/\fP
XSearch forward for specified subject.
X.TP
X\fB?\fP
XSearch backward for specified subject.
X.TP
X\fB-\fP
XShow last message.
X.TP
X\fB|\fP
XPipe current article / thread / auto selected (hot) articles /
Xarticles matching pattern / tagged articles into command.
X.SH "THREAD LISTING COMMANDS"
X.TP 10
X\fB4\fP
XSelect article 4 within thread.
X.TP
X\fB^L\fP
XRedraw page.
X.TP
X\fB<CR>\fP
XRead current article within thread.
X.TP
X\fB<TAB>\fP
XView next unread article within thread.
X.TP
X\fBB\fP
XMail a bug report or comment to the author. This is the best way of
Xgetting bugs fixed and features added/changed.
X.TP
X\fBc\fP
XMark thread as read after confirmation and return to previous level.
X.TP
X\fBd\fP
XToggle display to show just the subject or the subject and author.
X.TP
X\fBh\fP
Xhelp screen of thread listing commands.
X.TP
X\fBI\fP
XToggle inverse video.
X.TP
X\fBK\fP
XMark thread as read and return to previous level.
X.TP
X\fBq\fP
XReturn to previous level.
X.TP
X\fBQ\fP
XQuit tin.
X.TP
X\fBr\fP
XToggle display to show all articles or only unread articles.
X.TP
X\fBt\fP
XReturn to group index level.
X.TP
X\fBT\fP
XTag current article for mailing ('m') / piping ('|') / printing ('o') /
Xsaving ('s') / crossposting ('x').
X.TP
X\fBv\fP
XPrint tin version information.
X.TP
X\fBz\fP
XMark current article in thread as unread.
X.TP
X\fBZ\fP
XMark all articles in thread as unread.
X.SH "ARTICLE VIEWER COMMANDS"
X.TP 10
X\fB0\fP
XRead the base article in this thread.
X.TP
X\fB4\fP
XRead response 4 in this thread.
X.TP
X\fB^H\fP
XShow all of the articles mail header.
X.TP
X\fB^K\fP
XKill current article (for more information read section Kill Article Menu).
X.TP
X\fB^L\fP
XRedraw page.
X.TP
X\fB<CR>\fP
XGoto next base article.
X.TP
X\fB<TAB>\fP
XGoto next unread article.
X.TP
X\fBa\fP
XAuthor forward search.
X.TP
X\fBA\fP
XAuthor backward search.
X.TP
X\fBB\fP
XMail a bug report or comment to the author. This is the best way of
Xgetting bugs fixed and features added/changed.
X.TP
X\fBc\fP
XMark all articles as read with confirmation.
X.TP
X\fBd\fP
XToggle rot-13 decoding for this article.
X.TP
X\fBf\fP
XPost a followup to current article.
X.TP
X\fBF\fP
XPost a followup with a copy of the current article included.
X.TP
X\fBh\fP
XHelp screen of article page commands.
X.TP
X\fBI\fP
XToggle inverse video.
X.TP
X\fBk\fP
XMark article as read and advance to next unread article.
X.TP
X\fBK\fP
XMark thread as read and advance to next unread thread.
X.TP
X\fBm\fP
XMail current article / thread / auto selected (hot) articles /
Xarticles matching pattern / tagged articles
Xto someone.
X.TP
X\fBM\fP
XUser configurable options menu (for more information see section Options Menu).
X.TP
X\fBn\fP
XGo to the next article.
X.TP
X\fBN\fP
XGo to the next unread article.
X.TP
X\fBo\fP
XOutput current article / thread / auto selected (hot) articles /
Xarticles matching pattern / tagged articles to printer.
X.TP
X\fBo\fP
XOutput article/thread/tagged articles to printer.
X.TP
X\fBp\fP
XGo to the previous article.
X.TP
X\fBP\fP
XGo to the previous unread article.
X.TP
X\fBq\fP
XReturn to previous level.
X.TP
X\fBQ\fP
XQuit tin.
X.TP
X\fBr\fP
XReply through mail to author.
X.TP
X\fBR\fP
XReply through mail to author with a copy of the current article included.
X.TP
X\fBs\fP
XSave current article / thread / auto selected (hot) articles /
Xarticles matching pattern / tagged articles to file / files / mailbox.
XTo save to a mailbox enter '=' or '=mailbox' when asked for filename
Xto save to. To save in <newsgroup name>/<filename> format enter
X'+filename'. Environment variables are allowed within a filename
X(ie. $SOURCES/dir/filename).
X.TP
X\fBt\fP
XReturn to group selection level.
X.TP
X\fBT\fP
XTag current article for mailing ('m') / piping ('|') / printing ('o') /
Xsaving ('s') / crossposting ('x').
X.TP
X\fBv\fP
XPrint tin version information.
X.TP
X\fBw\fP
XPost an article to current group.
X.TP
X\fBW\fP
XList articles posted by user. The date posted, the newsgroup and the
Xsubject are listed.
X.TP
X\fBx\fP
XCrosspost already posted current article / thread /
Xauto selected (hot) articles / articles matching pattern /
Xtagged articles to another newsgroup(s). Useful for reposting
Xfrom global to local newsgroups.
X.TP
X\fBz\fP
XMark article as unread.
X.TP
X\fB/\fP
XArticle forward search.
X.TP
X\fB?\fP
XArticle backward search
X.TP
X\fB|\fP
XPipe current article / thread / auto selected (hot) articles /
Xarticles matching pattern / tagged articles into command.
X.TP
X\fB<\fP
XGoto the first article in the current thread.
X.TP
X\fB>\fP
XGoto the last article in the current thread.
X.SH "OPTIONS MENU"
XThis menu is accessed by pressing 'M' at all levels. It allows the user
Xto customize the behaviour of tin. The options are saved to the file
X\fI$HOME/.tin/tinrc\fP. Use <SPACE> to toggle the required option and
X<CR> to set.
X.TP 4
X\fBAuto save\fP
XAutomatically save articles/threads by Archive-name: line in article
Xheader and post process them if process type is not set to None.
X.TP
X\fBEditor offset\fP
XSet ON if the editor used for posting, follow-ups and bug reports has
Xthe capability of starting and positioning the cursor at a specified line
Xwithin a file.
X.TP
X\fBMark saved read\fP
XAllows saved articles/threads to be automatically marked as read.
X.TP
X\fBConfirm Command\fP
XAllows certain commands (ie. 'c' catchup) that require user confirmation
Xto be executed immediately if set OFF.
X.TP
X\fBDraw arrow\fP
XAllows groups/articles to be selected by an arrow '->' if set ON or
Xby an highlighted bar if set OFF.
X.TP
X\fBPrint header\fP
XThis allows the complete mail header or only the Siubject: and From:
Xfields to be output when printing articles.
X.TP
X\fBGoto 1st unread\fP
XThis allows the cursor to be placed at the first / last unread article
Xupon entering a newsgroup with unread news.
X.TP
X\fBScroll full page\fP
XIf set ON scrolling of groups/articles will be a full page at a time,
Xotherwise half a page at a time.
X.TP
X\fBCatchup on quit\fP
XIf set ON the user is asked when quitting if all groups read during the
Xcurrent session should be marked read.
X.TP
X\fBThread articles\fP
XIf set ON articles will be threaded in all groups (default), otherwise
Xarticles will be shown unthreaded. If set ON but certain user specified
Xgroups are in \fI$HOME/.tin/unthread\fP, the specified groups will be
Xunthreaded and the rest will be threaded.
X.TP
X\fBShow only unread\fP
XIf set ON show only new/unread articles, otherwise show all articles.
X.TP
X\fBShow Author\fP
XIf set 'None' only the Subject: line will be displayed. If set 'Addr'
XSubject: line & the address part of the From: line are displayed. If
Xset 'Name' Subject: line & the authors full name part of the From:
Xline are displayed. If set 'Both' Subject: line & all of the From: line
Xare displayed.
X.TP
X\fBProcess type\fP
XThis specifies the default type of post processing to perform on saved
Xarticles. The following types of processing are allowed:
X.in +.5i
X.ti -\w'\(em'u
X\(emnone.
X.ti -\w'\(em'u
X\(emunpacking of multi-part shell archives.
X.ti -\w'\(em'u
X\(emunpacking of multi-part uuencoded files.
X.ti -\w'\(em'u
X\(emunpacking of multi-part uuencoded files that produce a *.zoo archive
Xwhose contents is listed.
X.ti -\w'\(em'u
X\(emunpacking of multi-part uuencoded files that produce a *.zoo archive
Xwhose contents is extracted.
X.in -.5i
X.TP
X\fBSort articles by\fP
XThis specifies how articles should be sorted. The following sort
Xtypes are allowed:
X.in +.5i
X.ti -\w'\(em'u
X\(emdon't sort articles (default).
X.ti -\w'\(em'u
X\(emsort articles by Subject: field (ascending & descending).
X.ti -\w'\(em'u
X\(emsort articles by From: field (ascending & descending).
X.ti -\w'\(em'u
X\(emsort articles by Date: field (ascending & descending).
X.in -.5i
X.TP
X\fBSave directory\fP
XThe directory where articles/threads are to be saved. Default is
X\fI$HOME/News\fP.
X.TP
X\fBMail directory\fP
XThe directory where articles/threads are to be saved in mailbox format.
XThis feature is mainly for use with the Elm mail program. It allows
Xthe user to save articles/threads/groups simply by giving '=' as
Xthe filename to save to.
X.TP
X\fBPrinter\fP
XThe printer program with options that is to be used to print
Xarticles. Default is lpr for BSD machines and lp for SysV machines.
X.SH "KILL ARTICLE MENU"
XThis menu is accessed by pressing '^K' at the group and page levels. It
Xallows the user to kill an article that matches the current Subject:
Xline, From: line or a string entered by the user. The user entered string
Xcan be applied to the Subject: or From: lines of an article. The kill
Xdescription can be limited to the current newsgroup or it can apply to all newsgroups.
XOnce entered the user can abort the command and not save the kill
Xdescription, edit the kill file or save the kill description.
X.PP
XOn starting tin the users killfile \fI$HOME/.tin/kill\fP is read and
Xon entering a newsgroup any kill descriptions are applied. Articles
Xthat match a kill description are marked killed and are not displayed.
X.SH "POSTING ARTICLES"
XTin allows posting of articles, follow-up to already posted articles
Xand replying direct through mail to the author of an article.
X.PP
XUse the 'w' command to post an article to a newsgroup. After entering
Xthe post subject the default editor (ie. vi) or the editor specified
Xby the $VISUAL environment variable will be started and the article can
Xbe entered. To crosspost articles simply add a comma and the name of
Xthe newsgroup(s) to the end of the Newsgroups: line at the beginning of
Xthe article. After saving and exiting the editor you are asked if you
Xwish to a)bort posting the article, e)dit the article again or p)ost
Xthe article to the specified newsgroup(s).
X.PP
XUse the 'W' command to display a history of the articles you have posted.
XThe date the article was posted, which newsgroups the article was
Xposted to and the articles subject line are displayed.
X.PP
XUse the 'f' / 'F' command to post a follow-up article to an already
Xposted article. The 'F' command will copy the text of the original
Xarticle into the editor. The editing procedure is the same as when
Xposting an article with the 'w' command.
X.PP
XUse the 'r' / 'R' command to reply direct through mail to the author
Xof an already posted article. The 'R' command will copy the text of
Xthe original article into the editor. The editing procedure is the
Xsame as when posting an article with the 'w' command. After saving
Xand exiting the editor you are asked if you wish to a)bort sending
Xthe article, e)dit the article again or s)end the article to the
Xauthor.
X.SH "MAILING PIPING PRINTING REPOSTING AND SAVING ARTICLES"
XThe command interface to mail ('m'), pipe ('|'), print ('o'),
Xcrosspost ('x') and save ('s') articles is the same for ease of use.
X.PP
XThe initial command will ask you to select which a)rticle, t)hread,
Xh)ot (auto selected) r)egex pattern, t)agged articles you wish to
Xmail, pipe etc.
X.PP
XTagged articles must have already been tagged with the 'T' command.
XAll tagged articles can be untagged by the 'U' untag command.
X.PP
XIf regex pattern matching is selected you are asked to enter a regular
Xexpression (ie. to match all articles subject lines containing 'net News'
Xyou must enter '*net News*'). Any articles that match the
Xentered expression will be mailed, piped etc.
X.PP
XTo save articles to a mailbox with the name of the current newsgroup
X(ie. Alt.sources) enter '=' or '=<mailbox name>' when asked for the
Xsave filename.
X.PP
XTo save articles in <newsgroup name>/<filename> format enter '+<filename>'.
X.PP
XWhen saving articles you can specify whether the saved files should be
Xpost processed (ie. unshar shell archive, uudecode multiple parts etc).
XA default process type can be set by the 'Process type:' in the 'M'
Xoptions menu.
X.SH AUTOMATIC MAILING AND SAVING NEW NEWS
XTin allows new/unread news articles to be mailed (-M option)/saved
X(-S option) in batch mode for later reading. Useful when going on
Xholiday and you don't want to return and find that expire has removed a
Xwhole load of unread articles. Best to run from crontab everyday while away,
Xafter which you will be mailed a report of which articles were mailed/saved
Xfrom which newsgroups and the total number of articles mailed/saved.
XArticles are saved in a private news structure under your <savedir> directory
X(default is \fI$HOME/News\fP). Be careful of using this option if you read a
Xlot of groups because you could overflow your filesystem. If you only want to
Xsave a few groups it would be best to backup your full \fI$HOME/.newsrc\fP and
Xcreate a new one that only contains the newsgroups you want to mail/save.
XSaved news can be read later by starting tin with the -R option.
X.PP
Xtin -M iain -f newsrc.mail (mail any unread articles in newgroups specified
Xin file newsrc.mail)
X.PP
Xtin -S -f newsrc.save (save any unread articles in newgroups specified
Xin file newsrc.save)
X.PP
Xtin -R (read any unread articles saved by tin -S option)
X.SH SIGNATURES
XTin will recognize a signature in either \fI$HOME/.signature\fP or
X\fI$HOME/.Sig\fP. If \fI$HOME/.signature\fP exists, then the signature
Xwill be pulled into the editor for Tin mail commands. A signature in
X\fI$HOME/.signature\fP will not be pulled into the editor for posting
Xcommands since the inews program will append the signature itself.
X.PP
XA signature in \fI$HOME/.Sig\fP will be pulled into the editor for both
Xposting and mailing commands.
X.PP
XThe following is an example of a \fI$HOME/.Sig\fP file:
X.RS
X.nf
XNAME Iain Lea
XEMAIL iain%anl433.uucp@Germany.EU.net
XSNAIL Bruecken Strasse 12, 8500 Nuernberg 90, Germany
XPHONE +49-911-331963 (home) +49-911-3089-407 (work)
X.fi
X.RE
X.SH "ENVIROMENT VARIABLES"
X.TP
X\fBTINDIR\fP
XDefine this variable if you do not want tin's .tin directory in $HOME/.tin.
X(ie. if you want all tin's private files in /tmp/.tin you would set
XTINDIR to contain /tmp.
X.TP
X\fBNNTPSERVER\fP
XThe default NNTP server to remotely read news from. This variable only
Xneeds to be set if the -r command line option is specified and the file
X\fI/etc/nntpserver\fP does not exist.
X.TP
X\fBDISTRIBUTION\fP
XSet the article header field Distribution: to the contents of the
Xvariable instead of the system default.
X.TP
X\fBORGANIZATION\fP
XSet the article header field Organization: to the contents of the
Xvariable instead of the system default. This variable has precedence
Xover the file \fI$HOME/.tin/organization\fP that may also contain an
Xorganization string. If reading news on an Apollo DomainOS machine
Xthe environment variable NEWSORG has to be used instead of ORGANIZATION.
X.TP
X\fBREPLYTO\fP
XSet the article header field Reply-To: to the return address specified
Xby the variable.
XThis is useful if the machine is not registered in the UUCP mail maps
Xor if you wish to recieve replies at a different machine.
XThis variable has precedence over the file \fI$HOME/.tin/replyto\fP
Xthat may also contain a return address.
X.TP
X\fBADD_ADDRESS\fP
XThis can contain an address to append to the return address when replying
Xdirectly through mail to somebody whose mail address is not directly
Xrecognized by the local host. For example say the return address is
X\fIuser@bigvax\fP, but \fIbigvax\fP is not recognized by your host, so
Xtherfore the mail will not reach \fIuser\fP. But the host \fIlittevax\fP
Xis known to recognize your host and \fIbigvax\fP, so if ADD_ADDRESS is set
X(ie. 'setenv ADD_ADDRESS @littevax' for csh or 'set ADD_ADDRESS @littevax'
Xand 'export ADD_ADDRESS' for sh) the address \fIuser@bigvax@littlevax\fP will
Xbe used and the mail will reach \fIuser@bigvax\fP.
XThis variable has precedence over the file \fI$HOME/.tin/add_address\fP
Xthat may also contain an address.
X.TP
X\fBBUG_ADDRESS\fP
XIf the 'B' command bug report mail address is not correct this variable should be
Xset to the correct mail address. This variable has precedence over the file
X\fI$HOME/.tin/bug_address\fP that may also contain a mail address.
X.TP
X\fBMAILER\fP
XThis variable has precedence over the default mailer that is used in all
Xmailing operations within tin (ie. replying 'rR', and bug reports 'B').
X.TP
X\fBVISUAL\fP
XThis variable has precedence over the default editor (ie. vi) that is
Xused in all editing operations within tin (ie. posting 'w', replying 'rR',
Xfollow-ups 'fF' and bug reports 'B').
X.SH TIPS AND TRICKS
XThe following newsgroups provide useful information concerning news software:
X.in +.5i
X.ti -\w'\(em'u
X\(emnews.software.readers (info. about news user agents tin,rn,nn,vn etc.)
X.ti -\w'\(em'u
X\(emnews.software.nntp (info. about NNTP)
X.ti -\w'\(em'u
X\(emnews.software.b (info. about news transport agents Bnews & Cnews)
X.ti -\w'\(em'u
X\(emnews.answers (Frequently Asked Questions (FAQ) about many different themes)
X.PP
XMany prompts (ie. 'Mark everything as read? (y/n): y') within tin
Xoffer a default choice that the cursor is positioned on. By pressing
X<CR> the default value is taken.
X.PP
XWhen tin is run in an xterm window it will resize itself each time the xterm
Xis resized.
X.PP
XTin will reread the active file at set intervals to show any new news.
X.SH FILES
X.nf
X.ta \w'\fI$HOME/.tin/organization\fP 'u
X\fI$HOME/.newsrc\fP subscribed to newgroups.
X\fI$HOME/.tin/tinrc\fP options.
X\fI$HOME/.tin/.index\fP newsgroup index files directory.
X\fI$HOME/.tin/add_address\fP address to add to when replying through mail.
X\fI$HOME/.tin/active\fP used by -n option for notifying user of new groups.
X\fI$HOME/.tin/bug_address\fP address to send bug reports to.
X\fI$HOME/.tin/kill\fP kill file.
X\fI$HOME/.tin/organization\fP string to replace default organization.
X\fI$HOME/.tin/posted\fP history of articles posted by user.
X\fI$HOME/.tin/replyto\fP host address to use in Reply-To: mail header.
X\fI$HOME/.tin/unthread\fP contains groups that are not to be threaded.
X\fI$HOME/.signature\fP signature.
X\fI$HOME/.Sig\fP signature.
X.fi
X.SH BUGS
XThere are bugs somewhere among the creeping featurism. Any bugs found
Xshould be reported by the 'B' (bug report) command.
X.PP
XWill not uudecode some of the images in alt.binaries.pictures because
Xmore than one image is in the multi-part file to uudecode. Only the
Xfirst image will be uudecoded.
X.PP
XDoes not yet handle Xref: headers for cross-posted articles.
X.SH HISTORY
XBased on the tass newsreader that was developed by Rich Skrenta and posted
Xto alt.sources in March 1991. Tass was itself heavily infleuenced by NOTES
Xwhich was developed at the University of Illinois by Ray Essick and
XRob Kolstad in 1982.
X.PP
XTin v1.00 (full distribution) was posted in 8 parts to alt.sources on 23 Aug 1991.
X.br
XTin v1.0 PL1 (full distribution) was posted in 8 parts to alt.sources on 03 Sep 1991.
X.br
XTin v1.0 PL2 (full distribution) was posted in 9 parts to alt.sources on 24 Sep 1991.
X.br
XTin v1.0 PL3 (patch) was posted in 4 parts to alt.sources on 30 Sep 1991.
X.br
XTin v1.0 PL4 (patch) was posted in 2 parts to alt.sources on 02 Oct 1991.
X.br
XTin v1.0 PL5 (patch) was posted in 4 parts to alt.sources on 17 Oct 1991.
X.br
XTin v1.0 PL6 (patch) was posted in 5 parts to alt.sources on 27 Nov 1991.
X.br
XTin v1.0 PL7 (patch) was posted in 2 parts to alt.sources on 27 Nov 1991.
X.br
XTin v1.1 PL0 (full distribution) was posted in 11 parts to alt.sources on 13 Feb 1992.
X.br
XTin v1.1 PL1 (full distribution) was posted in 12 parts to alt.sources on 24 Mar 1992.
X.br
XTin v1.1 PL2 (patch) was posted in 4 parts to alt.sources on 30 Mar 1992.
X.br
XTin v1.1 PL3 (full distribution) was posted in ?? parts to alt.sources on 13 May 1992.
X.SH CREDITS
X.TP
XRich Skrenta
Xauthor of tass v3.2 which this newsreader used as its base.
X.TP
XDave Taylor
Xauthor of curses.c from the elm mailreader.
X.TP
XRich Salz
Xauthor of wildmat.c pattern matching routine.
X.TP
XChris Thewalt
Xauthor of getline.c emacs style editing routine.
X.TP
XDieter Becker
Xfor generously posting certain versions and patches for me when my net
Xconnection was removed by a group of very short sighted people.
X.PP
XI wish to thank the following people for supplying patchs:
X
XAnton Aylward, Dieter Becker, Dan Berry, Marc Boucher, Leila Burrell-Davis,
XRobert Claeson, Steven Cogswell, Ned Danieley, Brent Ermlick, Carl Hage,
XPaul Halsema, Ed Hanway, Torsten Homeyer, Nelson Kading, Fritz Kleeman,
XKarl-Koenig Koenigsson, Kris Kugel, Hakan Lennestal, Clifford Luke,
XMichael Faurot, David MacKenzie, Bill Poitras, Jim Robinson, Stephen Roseman,
XNickolay Saukh, Rich Salz, John Sauter, Bart Sears, Karl-Olav Serrander,
XDoug Sewell, Cliff Stanford, Steve Starck, Michael Traub, Adri Verhoef,
XCary Whitney, Lloyd Wright
X.PP
XI wish to thank the following people for bug reports/comments:
X
XKlaus Arzig, Scott Babb, Reiner Balling, Preston Bannister, Bill de Beabien,
XVolker Beyer, Etienne Bido, Roger Binns, Georg Biehler, Jean-Marc Bonnaudet,
XIan Brown, Andreas Brosig, Tom Czarnik, David Donovan, Peter Dressler,
XGerhard Ermer, Hugh Fader, Joachim Feld, Paul Fox, Bernhard Gmelch, Viet Hoang,
XAndy Jackson, Joe Johnson, Cyrill Jung, Kuo-Chein Kai, Hans-Juergen Knopp,
XBernhard Kroenung, Murray Laing, Per Lindqvist, Bob Lukas, Kazushi Marukawa,
XPhillip Molloy, Toni Metz, Greg Miller, Klaus Neuberger, Otto Niesser, Reiner Oelhaf,
XWolf Paul, John Palkovic, Andrew Phillips, Stefan Rathmann, Jonas Rwgmyr, Ted Richards,
XDaemon Schaefer, Klamer Schutte, Fredy Schwatz, Bernd Schwerin, Chris Smith,
XDaniel Smith, Steve Spearman, Hironobu Takahashi, Sven Werner, G. Woodbury,
XOrest Zboroski
X.SH AUTHOR
X.TP
XIain Lea
X(iain%anl433.uucp@Germany.EU.net)
END_OF_FILE
if test 38440 -ne `wc -c <'tin.1'`; then
echo shar: \"'tin.1'\" unpacked with wrong size!
fi
# end of 'tin.1'
fi
echo shar: End of archive 1 \(of 14\).
cp /dev/null ark1isdone
MISSING=""
for I in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 ; do
if test ! -f ark${I}isdone ; then
MISSING="${MISSING} ${I}"
fi
done
if test "${MISSING}" = "" ; then
echo You have unpacked all 14 archives.
rm -f ark[1-9]isdone ark[1-9][0-9]isdone
else
echo You still must unpack the following archives:
echo " " ${MISSING}
fi
exit 0
exit 0 # Just in case...