home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso / misc / volume30 / tin / part01 next >
Text File  |  1992-05-20  |  56KB  |  1,757 lines

  1. Newsgroups: comp.sources.misc
  2. From: iain%anl433.uucp@germany.eu.net (Iain J. Lea)
  3. Subject:  v30i001:  tin - threaded full screen newsreader, Part01/14
  4. Message-ID: <csm-v30i001=tin.121320@sparky.IMD.Sterling.COM>
  5. X-Md4-Signature: 5da49b25d58444802339cac7576ac3bf
  6. Date: Wed, 20 May 1992 17:19:45 GMT
  7. Approved: kent@sparky.imd.sterling.com
  8.  
  9. Submitted-by: iain%anl433.uucp@germany.eu.net (Iain J. Lea)
  10. Posting-number: Volume 30, Issue 1
  11. Archive-name: tin/part01
  12. Environment: BSD, SCO, ISC, SUNOS, SYSVR3, SYSVR4, ULTRIX, XENIX
  13. Supersedes: tin: Volume 29, Issue 19-30
  14.  
  15. This is version 1.1 PL3 (patchlevel 3) of the tin newsreader.
  16.  
  17. !!! NOTE: DELETE ALL YOUR OLD ~/.tin/.index files AS THE FORMAT HAS CHANGED.
  18.  
  19. o  Based more on Notes and tass than rn type newreaders.
  20. o  Full screen, easy to use with on-line help at all levels.
  21. o  Reads news locally (ie. /usr/spool/news) and/or via NNTP/INN/CD-ROM.
  22. o  Threads on Subject: and/or Archive-name: mail headers.
  23. o  Five different operating levels:
  24.    -  Spooldir selection level (CD-ROM only)
  25.    -  Group selection level
  26.    -  Thread selection level
  27.    -  Article selection level
  28.    -  Article viewer
  29. o  Same interface to mail, pipe, print and save articles.
  30. o  Reposting of articles from one newsgroup to another.
  31. o  Auto unpacking of multi-part shar & uuencoded articles.
  32. o  Batch mode to mail/save new news when user is on holiday.
  33. o  Builtin NNTP mini-inews & clientlib.c
  34. o  NNTP extensions XUSER & XINDEX allow central index files. 
  35.  
  36. !!! NOTE: DELETE ALL YOUR OLD ~/.tin/.index files AS THE FORMAT HAS CHANGED.
  37.  
  38.       -------------------------------------------------
  39.  
  40. Major improvements over tin 1.1 PL2 are the following:
  41.  
  42. o  Added builtin NNTP client functions (nntplib.c).
  43. o  Added 'l' command to select spooldir to read news from.
  44. o  Added 'x' command to re/crosspost current article to another group.
  45. o  Added 'B' command to report bug/comments at thread level.
  46. o  Added 'c' command to catchup thread at thread level.
  47. o  Added 'd' command to toggle subject & author at thread level.
  48. o  Added support to use Reply-To: mail header when replying by mail.
  49. o  Added support for PgUp PgDn Home End for vt200 terminals.
  50. o  Added -I option to specify alternate directory for index files.
  51. o  Added menu option to allow confirmation prompts to be on/off.
  52. o  Added support for reading news from CD-ROM.
  53. o  Added support for INN NNTP (mode reader).
  54. o  Added support for the DISTRIBUTION shell variable.
  55. o  Added support for the MAILER shell variable.
  56. o  Added support for the NEWSORG shell variable on Apollo Domain.
  57. o  Added support for SCO Un*x machines (again).
  58. o  Added support for Harris HCX machines.
  59. o  Added support for Sequent PTX machines.
  60. o  Added support for Apollo Domain machines.
  61. o  Added the beginning (needs a lot of work) of a tin FAQ.
  62. o  Changed quit tin command to 'Q' at all levels.
  63. o  Changed return to previous level command to 'q' at all levels.
  64. o  Changed abort from prompts to use 'q' for easier operation. 
  65. o  Changed reread active file command from ^Y to Y at group selection level.
  66. o  Changed group selection, index & thread levels to wrap around top/bottom.
  67. o  Changed command line specification of groups to allow regex patterns.
  68. o  Fixed bug that stopped group selection screen being redisplayed.
  69. o  Fixed builtin inews to recognize news gateway machine & domain address.
  70. o  Fixed builtin inews to use fully qualified domain name on BSD machines.
  71. o  Fixed cancelling of articles.
  72. o  Fixed killing of articles.
  73. o  Fixed bug that long groupname was overwriting screen array. 
  74. o  Fixed window resizing to work on older version of Un*x.
  75.  
  76. Enjoy
  77.         Iain.
  78. ----------------------- Cut Here ------------------------------
  79. #! /bin/sh
  80. # This is a shell archive.  Remove anything before this line, then feed it
  81. # into a shell via "sh file" or similar.  To overwrite existing files,
  82. # type "sh file -c".
  83. # The tool that generated this appeared in the comp.sources.unix newsgroup;
  84. # send mail to comp-sources-unix@uunet.uu.net if you want that tool.
  85. # Contents:  README README.NNTP help.c tin.1
  86. # Wrapped by kent@sparky on Tue May 19 13:38:01 1992
  87. PATH=/bin:/usr/bin:/usr/ucb ; export PATH
  88. echo If this archive is complete, you will see the following message:
  89. echo '          "shar: End of archive 1 (of 14)."'
  90. if test -f 'README' -a "${1}" != "-c" ; then 
  91.   echo shar: Will not clobber existing file \"'README'\"
  92. else
  93.   echo shar: Extracting \"'README'\" \(3600 characters\)
  94.   sed "s/^X//" >'README' <<'END_OF_FILE'
  95. XThis is version 1.1 PL3 (patchlevel 3) of the tin newsreader.
  96. X
  97. Xo  Based more on Notes and tass than rn type newreaders.
  98. Xo  Full screen, easy to use with on-line help at all levels.
  99. Xo  Reads news locally (ie. /usr/spool/news) and/or via NNTP/INN/CD-ROM.
  100. Xo  Threads on Subject: and/or Archive-name: mail headers.
  101. Xo  Five different operating levels:
  102. X   -  Spooldir selection level (CD-ROM only)
  103. X   -  Group selection level
  104. X   -  Thread selection level
  105. X   -  Article selection level
  106. X   -  Article viewer
  107. Xo  Same interface to mail, pipe, print and save articles.
  108. Xo  Reposting of articles from one newsgroup to another.
  109. Xo  Auto unpacking of multi-part shar & uuencoded articles.
  110. Xo  Batch mode to mail/save new news when user is on holiday.
  111. Xo  Builtin NNTP mini-inews & clientlib.c
  112. Xo  NNTP extensions XUSER & XINDEX allow central index files. 
  113. X
  114. X!!! NOTE: DELETE ALL YOUR OLD ~/.tin/.index files AS THE FORMAT HAS CHANGED.
  115. X
  116. X-------------------------------------------------------------------------------
  117. X
  118. XMajor improvements over tin 1.1 PL2 are the following:
  119. X
  120. Xo  Added builtin NNTP client functions (nntplib.c).
  121. Xo  Added 'l' command to select spooldir to read news from.
  122. Xo  Added 'x' command to re/crosspost current article to another group.
  123. Xo  Added 'B' command to report bug/comments at thread level.
  124. Xo  Added 'c' command to catchup thread at thread level.
  125. Xo  Added 'd' command to toggle subject & author at thread level.
  126. Xo  Added support to use Reply-To: mail header when replying by mail.
  127. Xo  Added support for PgUp PgDn Home End for vt200 terminals.
  128. Xo  Added -I option to specify alternate directory for index files.
  129. Xo  Added menu option to allow confirmation prompts to be on/off.
  130. Xo  Added support for reading news from CD-ROM.
  131. Xo  Added support for INN NNTP (mode reader).
  132. Xo  Added support for the DISTRIBUTION shell variable.
  133. Xo  Added support for the MAILER shell variable.
  134. Xo  Added support for the NEWSORG shell variable on Apollo Domain.
  135. Xo  Added support for SCO Un*x machines (again).
  136. Xo  Added support for Harris HCX machines.
  137. Xo  Added support for Sequent PTX machines.
  138. Xo  Added support for Apollo Domain machines.
  139. Xo  Added the beginning (needs a lot of work) of a tin FAQ.
  140. Xo  Changed quit tin command to 'Q' at all levels.
  141. Xo  Changed return to previous level command to 'q' at all levels.
  142. Xo  Changed abort from prompts to use 'q' for easier operation. 
  143. Xo  Changed reread active file command from ^Y to Y at group selection level.
  144. Xo  Changed group selection, index & thread levels to wrap around top/bottom.
  145. Xo  Changed command line specification of groups to allow regex patterns.
  146. Xo  Fixed bug that stopped group selection screen being redisplayed.
  147. Xo  Fixed builtin inews to recognize news gateway machine & domain address.
  148. Xo  Fixed builtin inews to use fully qualified domain name on BSD machines.
  149. Xo  Fixed cancelling of articles.
  150. Xo  Fixed killing of articles.
  151. Xo  Fixed bug that long groupname was overwriting screen array. 
  152. Xo  Fixed window resizing to work on older version of Un*x.
  153. X
  154. X-------------------------------------------------------------------------------
  155. X
  156. XFor more bug fixes, changes & additions read the CHANGES & TODO files.
  157. X
  158. XFor compilation and installation information read the INSTALL file.
  159. X
  160. XFor ftp & non-ftp source & binary availability read the FTP file.
  161. X
  162. X-------------------------------------------------------------------------------
  163. X
  164. XI wish to thank all the people that sent me bug fixes and comments
  165. X(especially Jim Robinson) . I still want to hear of any bug reports,
  166. Xgripes and comments but *PLEASE* read the INSTALL and tin.1 man page 
  167. Xbefore anything :-)!.
  168. X
  169. XEnjoy
  170. X    Iain.
  171. END_OF_FILE
  172.   if test 3600 -ne `wc -c <'README'`; then
  173.     echo shar: \"'README'\" unpacked with wrong size!
  174.   fi
  175.   # end of 'README'
  176. fi
  177. if test -f 'README.NNTP' -a "${1}" != "-c" ; then 
  178.   echo shar: Will not clobber existing file \"'README.NNTP'\"
  179. else
  180.   echo shar: Extracting \"'README.NNTP'\" \(932 characters\)
  181.   sed "s/^X//" >'README.NNTP' <<'END_OF_FILE'
  182. XThis patch enables the TIN newsreader index files to be fetched from a
  183. XNNTP server. The patch adds the following to the NNTP server nntpd:
  184. X
  185. X  o  XINDEX command to retrieve tin group index file from server.
  186. X     Syntax:  XINDEX alt.sources
  187. X
  188. X  o  XUSER command to log tin clients username to nntp logfile.
  189. X     Syntax:  XUSER Iain Lea
  190. X
  191. X  o  LIST SUBSCRIPTIONS command to retrieve list of newsgroups
  192. X     that first time user will be automatically subscribed to.
  193. X     Our users are auto subscribed to 120 groups from the 450
  194. X     that we take. Groups are written 1 group per line in the
  195. X     file /usr/lib/news/subscriptions.
  196. X     Syntax: LIST SUBSCRIPTIONS
  197. X
  198. X  o  HELP command changed to list XINDEX & XUSER as extensions.
  199. X
  200. X  o  Added comments /* */ around '#endif /* text */' to stop some
  201. X     compilers producing warnings about text after '#endif text'.
  202. X
  203. XFor compile & install instructions read the file INSTALL.NNTP
  204. X
  205. XEnjoy 
  206. X
  207. X  Iain
  208. END_OF_FILE
  209.   if test 932 -ne `wc -c <'README.NNTP'`; then
  210.     echo shar: \"'README.NNTP'\" unpacked with wrong size!
  211.   fi
  212.   # end of 'README.NNTP'
  213. fi
  214. if test -f 'help.c' -a "${1}" != "-c" ; then 
  215.   echo shar: Will not clobber existing file \"'help.c'\"
  216. else
  217.   echo shar: Extracting \"'help.c'\" \(5603 characters\)
  218.   sed "s/^X//" >'help.c' <<'END_OF_FILE'
  219. X/*
  220. X *  Project   : tin - a threaded Netnews reader
  221. X *  Module    : help.c
  222. X *  Author    : I.Lea
  223. X *  Created   : 01-04-91
  224. X *  Updated   : 12-05-92
  225. X *  Notes     :
  226. X *  Copyright : (c) Copyright 1991-92 by Iain Lea
  227. X *              You may  freely  copy or  redistribute  this software,
  228. X *              so  long as there is no profit made from its use, sale
  229. X *              trade or  reproduction.  You may not change this copy-
  230. X *              right notice, and it must be included in any copy made
  231. X */
  232. X
  233. X#include    "tin.h"
  234. X#include    "nntplib.h"
  235. X
  236. Xchar *help_select[] = {
  237. X    txt_help_g_4,
  238. X    txt_help_ctrl_d,
  239. X    txt_help_ctrl_l,
  240. X    txt_help_g_ctrl_k,
  241. X    txt_help_g_ctrl_r,
  242. X    txt_help_g_cr,
  243. X    txt_help_g_tab,
  244. X    txt_help_b,
  245. X    txt_help_bug_report,
  246. X    txt_help_sel_c,
  247. X    txt_help_g,
  248. X    txt_help_j,
  249. X    txt_help_h,
  250. X    txt_help_I,
  251. X    txt_help_g_l,
  252. X    txt_help_m,
  253. X    txt_help_M,
  254. X    txt_help_n,
  255. X    txt_help_g_q,
  256. X    txt_help_s,
  257. X    txt_help_S,
  258. X    txt_help_v,
  259. X    txt_help_w,
  260. X    txt_help_W,
  261. X    txt_help_g_y,
  262. X    txt_help_y,
  263. X    txt_help_g_z,
  264. X    txt_help_g_search,
  265. X#ifndef NO_SHELL_ESCAPE
  266. X    txt_help_shell,
  267. X#endif
  268. X    (char *) 0
  269. X};
  270. X
  271. Xchar *help_spooldir[] = {
  272. X    txt_help_4,
  273. X    txt_help_ctrl_d,
  274. X    txt_help_ctrl_l,
  275. X    txt_help_cr,
  276. X    txt_help_b,
  277. X    txt_help_bug_report,
  278. X    txt_help_h,
  279. X    txt_help_I,
  280. X    txt_help_j,
  281. X    txt_help_i,
  282. X    txt_help_q,
  283. X    txt_help_v,
  284. X    (char *) 0
  285. X};
  286. X
  287. Xchar *help_group[] = {
  288. X    txt_help_i_4,
  289. X    txt_help_ctrl_d,
  290. X    txt_help_ctrl_k,
  291. X    txt_help_ctrl_l,
  292. X    txt_help_i_cr,
  293. X    txt_help_i_tab,
  294. X    txt_help_a,
  295. X    txt_help_b,
  296. X    txt_help_bug_report,
  297. X    txt_help_c,
  298. X    txt_help_d,
  299. X    txt_help_g,
  300. X    txt_help_h,
  301. X    txt_help_I,
  302. X    txt_help_j,
  303. X    txt_help_K,
  304. X    txt_help_l,
  305. X    txt_help_p_m,
  306. X    txt_help_M,
  307. X    txt_help_o,
  308. X    txt_help_i_n,
  309. X    txt_help_i_p,
  310. X    txt_help_i,
  311. X    txt_help_q,
  312. X    txt_help_r,
  313. X    txt_help_p_s,
  314. X    txt_help_T,
  315. X    txt_help_u,
  316. X    txt_help_U,
  317. X    txt_help_v,
  318. X    txt_help_w,
  319. X    txt_help_W,
  320. X    txt_help_x,
  321. X    txt_help_p_z,
  322. X    txt_help_i_search,
  323. X#ifndef NO_SHELL_ESCAPE
  324. X    txt_help_shell,
  325. X#endif
  326. X    txt_help_dash,
  327. X    txt_help_pipe,
  328. X    (char *) 0
  329. X};
  330. X
  331. Xchar *help_thread[] = {
  332. X    txt_help_t_0,
  333. X    txt_help_t_4,
  334. X    txt_help_ctrl_d,
  335. X    txt_help_ctrl_l,
  336. X    txt_help_t_cr,
  337. X    txt_help_p_tab,
  338. X    txt_help_b,
  339. X    txt_help_bug_report,
  340. X    txt_help_d,
  341. X    txt_help_h,
  342. X    txt_help_I,
  343. X    txt_help_j,
  344. X    txt_help_ck,
  345. X    txt_help_i,
  346. X    txt_help_q,
  347. X    txt_help_T,
  348. X    txt_help_v,
  349. X    txt_help_p_z,
  350. X    (char *) 0
  351. X};
  352. X
  353. Xchar *help_page[] = {
  354. X    txt_help_p_0,
  355. X    txt_help_p_4,
  356. X    txt_help_ctrl_h,
  357. X    txt_help_ctrl_k,
  358. X    txt_help_ctrl_l,
  359. X    txt_help_p_ctrl_r,
  360. X    txt_help_p_cr,
  361. X    txt_help_p_tab,
  362. X    txt_help_b,
  363. X    txt_help_a,
  364. X    txt_help_bug_report,
  365. X    txt_help_c,
  366. X    txt_help_C,
  367. X    txt_help_p_d,
  368. X    txt_help_p_f,
  369. X    txt_help_p_g,
  370. X    txt_help_h,
  371. X    txt_help_I,
  372. X    txt_help_p_k,
  373. X    txt_help_p_m,
  374. X    txt_help_M,
  375. X    txt_help_p_n,
  376. X    txt_help_o,
  377. X    txt_help_p_p,
  378. X    txt_help_i,
  379. X    txt_help_q,
  380. X    txt_help_p_r,
  381. X    txt_help_p_s,
  382. X    txt_help_t,
  383. X    txt_help_T,
  384. X    txt_help_v,
  385. X    txt_help_w,
  386. X    txt_help_W,
  387. X    txt_help_x,
  388. X    txt_help_p_z,
  389. X    txt_help_p_search,
  390. X#ifndef NO_SHELL_ESCAPE
  391. X    txt_help_shell,
  392. X#endif
  393. X    txt_help_dash,
  394. X    txt_help_pipe,
  395. X    txt_help_thread,
  396. X    (char *) 0
  397. X};
  398. X
  399. X
  400. Xvoid show_info_page (type, help, title)
  401. X    int type; 
  402. X    char *help[];
  403. X    char *title;
  404. X{
  405. X    char buf[LEN];
  406. X    char ch;
  407. X    int i, len;
  408. X    int group_len = 0;
  409. X    int old_page = 0;
  410. X    int cur_page = 1;
  411. X    int max_page = 1;
  412. X    int pos_help = 0;
  413. X
  414. X    if (NOTESLINES <= 0) {
  415. X        return;
  416. X    }
  417. X
  418. X    /*
  419. X     *  find how many elements in array
  420. X     */
  421. X    if (type == HELP_INFO) {
  422. X        for (i=0 ; help[i] ; i++) {
  423. X            continue;
  424. X        }
  425. X    } else {
  426. X        for (i=0 ; posted[i].date[0] ; i++) {
  427. X            len = strlen (posted[i].group);
  428. X            if (len > group_len) {
  429. X                 group_len = len;
  430. X            }
  431. X         }
  432. X    }
  433. X    
  434. X    max_page = i / NOTESLINES;
  435. X    if (i % NOTESLINES) {
  436. X        max_page++;
  437. X    }
  438. X
  439. X    while (1) {
  440. X        if (cur_page != old_page) {
  441. X            ClearScreen ();
  442. X            sprintf (buf, title, cur_page, max_page);
  443. X            center_line (0, TRUE, buf);
  444. X            MoveCursor (INDEX_TOP, 0);
  445. X
  446. X            if (type == HELP_INFO) { 
  447. X                for (i=pos_help ; i < (pos_help + NOTESLINES) && help[i] ; i++) {
  448. X                    fputs (help[i], stdout);
  449. X                }
  450. X            } else {
  451. X                for (i=pos_help ; i < (pos_help + NOTESLINES) && posted[i].date[0] ; i++) {
  452. X                    sprintf (msg, "%8s  %c  %-*s  %s",
  453. X                        posted[i].date, posted[i].action,  
  454. X                        group_len, posted[i].group, posted[i].subj);
  455. X                        msg[COLS-2] = '\0';
  456. X                    printf ("%s\r\n", msg);
  457. X                }
  458. X            }
  459. X        }
  460. X
  461. X        if (cur_page != old_page) {
  462. X            center_line (LINES, FALSE, txt_hit_space_for_more);
  463. X        }
  464. X
  465. X        old_page = cur_page;
  466. X        
  467. X        ch = (char) ReadCh ();
  468. X        switch (ch) {
  469. X            case ESC:    /* common arrow keys */
  470. X                switch (get_arrow_key ()) {
  471. X                    case KEYMAP_UP:
  472. X                    case KEYMAP_PAGE_UP:
  473. X                        if (cur_page > 1) {
  474. X                            cur_page--;
  475. X                            pos_help = (cur_page-1)*NOTESLINES;
  476. X                        }
  477. X                        break;
  478. X
  479. X                    case KEYMAP_DOWN:
  480. X                    case KEYMAP_PAGE_DOWN:
  481. X                        if (cur_page < max_page) {
  482. X                            pos_help = cur_page*NOTESLINES;
  483. X                            cur_page++;
  484. X                        }
  485. X                        break;
  486. X
  487. X                    case KEYMAP_HOME:
  488. X                        if (cur_page != 1) {
  489. X                            cur_page = 1;
  490. X                            pos_help = 0;
  491. X                        }
  492. X                        break;
  493. X                    
  494. X                    case KEYMAP_END:
  495. X                        if (cur_page != max_page) {
  496. X                            cur_page = max_page;
  497. X                            pos_help = (max_page-1) * NOTESLINES;
  498. X                        }
  499. X                        break;
  500. X                }
  501. X                break;
  502. X
  503. X            case ctrl('D'):            /* page down */
  504. X            case ' ':
  505. X            case 'j':
  506. X                if (cur_page < max_page) {
  507. X                    pos_help = cur_page*NOTESLINES;
  508. X                    cur_page++;
  509. X                }
  510. X                break;
  511. X            
  512. X            case ctrl('U'):            /* page up */
  513. X            case 'b':
  514. X            case 'k':
  515. X                if (cur_page > 1) {
  516. X                    cur_page--;
  517. X                    pos_help = (cur_page-1)*NOTESLINES;
  518. X                }
  519. X                break;
  520. X
  521. X            case ctrl('R'):            /* Home */
  522. X            case 'g':
  523. X                if (cur_page != 1) {
  524. X                    cur_page = 1;
  525. X                    pos_help = 0;
  526. X                }
  527. X                break;
  528. X
  529. X            case '$':                /* End */
  530. X            case 'G':
  531. X                if (cur_page != max_page) {
  532. X                    cur_page = max_page;
  533. X                    pos_help = (max_page-1) * NOTESLINES;
  534. X                }
  535. X                break;
  536. X
  537. X            default:
  538. X#ifndef USE_CLEARSCREEN
  539. X                ClearScreen ();
  540. X#endif    
  541. X                return;
  542. X        }    
  543. X    }
  544. X}
  545. END_OF_FILE
  546.   if test 5603 -ne `wc -c <'help.c'`; then
  547.     echo shar: \"'help.c'\" unpacked with wrong size!
  548.   fi
  549.   # end of 'help.c'
  550. fi
  551. if test -f 'tin.1' -a "${1}" != "-c" ; then 
  552.   echo shar: Will not clobber existing file \"'tin.1'\"
  553. else
  554.   echo shar: Extracting \"'tin.1'\" \(38440 characters\)
  555.   sed "s/^X//" >'tin.1' <<'END_OF_FILE'
  556. X.ev 1
  557. X.if t .lt 6.85i
  558. X.if n .lt 7.2i
  559. X.ev
  560. X.if t .po .45i
  561. X.if t .ll 6.85i
  562. X.if n .ll 7.2i
  563. X.if \n(mo=1 .ds mo January
  564. X.if \n(mo=2 .ds mo Febraury
  565. X.if \n(mo=3 .ds mo March
  566. X.if \n(mo=4 .ds mo April
  567. X.if \n(mo=5 .ds mo May
  568. X.if \n(mo=6 .ds mo June
  569. X.if \n(mo=7 .ds mo July
  570. X.if \n(mo=8 .ds mo August
  571. X.if \n(mo=9 .ds mo September
  572. X.if \n(mo=10 .ds mo October
  573. X.if \n(mo=11 .ds mo November
  574. X.if \n(mo=12 .ds mo December
  575. X.TH TIN 1 "Version 1.1 PL3" "" "LOCAL"
  576. X.ds ]W \*(mo \n(dy, 19\n(yr
  577. X.nh
  578. X.SH NAME
  579. Xtin, rtin, tind - A threaded Netnews reader
  580. X.SH SYNOPSIS
  581. X.B tin/rtin/cdtin/tind
  582. X[options] [newsgroups]
  583. X.SH DESCRIPTION
  584. X.I Tin
  585. Xis a full-screen threaded Netnews reader.  It can read news locally
  586. X(ie. \fI/usr/spool/news\fP) or remotely (rtin or tin -r option) via
  587. Xa NNTP (Network News Transport Protocol) server. A special version
  588. Xof tin called cdtin can also read locally active news and news
  589. Xarchived on CD-ROM.
  590. X.PP
  591. XTin has four newsreading levels:
  592. Xthe newsgroup selection page, the group index page, the thread listing
  593. Xpage and the article viewer.
  594. XUse the 'h' (help) command to view a list of the commands available at a
  595. Xparticular level.
  596. X.PP
  597. XOn startup Tin will show a list of the newsgroups found in \fI$HOME/.newsrc\fP.
  598. XAn arrow '->' or highlighted bar will point to the first newsgroup.
  599. XMove to a group by using the terminal arrow keys (ansi/at386/vt100 only) or 'j'
  600. Xand 'k'. Use PgUp/PgDn (ansi/at386/vt100 only) or Ctrl-U and Ctrl-D to
  601. Xpage up/down. Enter a newsgroup by pressing RETURN.
  602. X.PP
  603. XThe TAB key may be used to advance to the next newsgroup with unread articles
  604. Xand enter it.
  605. X.SH OPTIONS
  606. X.TP 10
  607. X\fB-c\fP
  608. Xcreate/update index files for every group in \fI$HOME/.newsrc\fP or
  609. Xfile specified by -f option and mark all articles as read.
  610. X.TP
  611. X\fB-f file\fP
  612. Xuse the specified file of subscribed to newsgroups in place of
  613. X\fI$HOME/.newsrc\fP.
  614. X.TP
  615. X\fB-h\fP
  616. Xhelp listing all command line options.
  617. X.TP
  618. X\fB-H\fP
  619. Xbrief introduction to tin that is also shown the first time it is started.
  620. X.TP
  621. X\fB-I dir\fP
  622. Xdirectory to store newsgroup index files. Default is \fI$HOME/.tin/.index\fP.
  623. X.TP
  624. X\fB-m dir\fP
  625. Xmailbox directory to use. Default is \fI$HOME/Mail\fP.
  626. X.TP
  627. X\fB-M user\fP
  628. Xmail unread articles to specified user for later reading. For more
  629. Xinformation read section Automatic Mailing and Saving New News. 
  630. X.TP
  631. X\fB-n\fP
  632. Xnotify the user of any newly created newsgroups since the last session.
  633. X.TP
  634. X\fB-p file\fP
  635. Xprint program with options.\fP.
  636. X.TP
  637. X\fB-r\fP
  638. Xread news remotely from the default NNTP server specified in the
  639. Xenvironment variable NNTPSERVER or contained in the file
  640. X\fI/etc/nntpserver\fP.
  641. X.TP
  642. X\fB-R\fP
  643. Xread news saved by -S option (not yet implemented).
  644. X.TP
  645. X\fB-s dir\fP
  646. Xsave articles to directory. Default is \fI$HOME/News\fP.
  647. X.TP
  648. X\fB-S\fP
  649. Xsave unread articles for later reading by -R option. For more information
  650. Xread section Automatic Mailing and Saving New News.
  651. X.TP
  652. X\fB-u\fP
  653. Xcreate/update index files for every group in \fI$HOME/.newsrc\fP or
  654. Xfile specified by -f option. This option does not work if tin retrieves 
  655. Xits index files via a NNTP server. 
  656. X.TP
  657. X\fB-U\fP
  658. Xstart tin in the background to update index files while reading news 
  659. Xin the foreground. This option does not work if tin retrieves its index
  660. Xfiles via a NNTP server.
  661. X.TP
  662. X\fB-v\fP
  663. Xverbose mode for -c -M -S -u and -Z options.
  664. X.TP
  665. X\fB-z\fP
  666. Xonly start tin if there is any new/unread news. If there is news tin
  667. Xwill position cursor at first group with unread news. Useful for putting
  668. Xin login file.
  669. X.TP
  670. X\fB-Z\fP
  671. Xcheck if there is any new/unread news and exit with appropiate status.
  672. XIf -v option is specified the number of unread articles in each group
  673. Xis printed. An exit code 0 indicates no news, 1 that an error occurred
  674. Xand 2 that new/unread news exists. Useful for writing scripts.
  675. X.PP
  676. XTin can also dynamically change its options by the 'M' menu command.
  677. XAny changes are written to \fI$HOME/.tin/tinrc\fP.
  678. X.PP
  679. XThe index daemon version Tind only supports the -f, -h and -v options.
  680. X.SH "INDEX FILES"
  681. XIn order to keep track of threads, Tin maintains an index for each newsgroup.
  682. XThere are a number of methods in which index files can be created and updated.
  683. X.PP
  684. XThe simplest method is that each user creates/updates there own index files
  685. Xthat are stored in $HOME/.tin/.index. This has the advantage that any user
  686. Xcan compile and install tin, but the disadvantage is that each user is going
  687. Xto be creating duplicate files and using precious disk space. A good way to 
  688. Xkeep index files updated is to start tin with the -U option that will update
  689. Xindex files in the background while you are reading news in the foreground.
  690. XYou can also update index files via the system batcher cron with the -u
  691. Xoption:
  692. X.RS
  693. X.nf
  694. X30 6 * * * /usr/local/bin/tin -u
  695. X.fi
  696. X.RE
  697. X.PP
  698. XA slightly better method is to set tin setuid news and have all index files
  699. Xcreated and updated in the news spool directory (ie. /usr/spool/news/.index).
  700. XThis has the advantage that there will only be one copy of the index files
  701. Xon each machine on your network, but the disadvantage is that you will have
  702. Xtin running setuid news and killing articles will change the central index
  703. Xfile for a group for all users (Needs fixing!).
  704. X.PP
  705. XA better method is to install the tind index file updating daemon and have
  706. Xit create and update index files for all groups in your active file at
  707. Xregular intervals in the news spool directory (ie. /usr/spool/news/.index).
  708. XThis has the advantage that there will only be one copy of the index files on
  709. Xeach machine on your network and tin must not be setuid news, but the
  710. Xdisadvantage is that you will have to have news permissions to install tind
  711. Xand root permissions to install an entry in the cron batcher system to have
  712. Xtind regularly update index files.
  713. X.PP
  714. XThe best method is to install the tind index file updating daemon on your
  715. XNNTP server and have it create and update index files for all groups in your
  716. Xactive file at regular intervals in the news spool directory (ie. /usr/spool/news/.index).
  717. XThis has the advantage that there will only be one copy of the index files on
  718. Xthe NNTP server for the whole of your network and tin clients must not be
  719. Xsetuid news, but the disadvantage is that you will have to install my NNTP
  720. Xserver patches to allow tin to retreive index file from your NNTP server and 
  721. Xand you must install an entry in the cron batcher system to have tind 
  722. Xregularly update index files (Note that this is the method we use on our
  723. Xnetwork of 40-50 machines and have not had any problems).
  724. X.PP
  725. XEntering a group the first time tends to be slow because the index file must
  726. Xbe built from scratch unless the tind update daemon is being used. Subsequent
  727. Xreadings of a group will cause incremental updating of the index file.
  728. X.PP
  729. XIf reading news remotely and locally updating index files operation will be
  730. Xsomewhat slower because the articles must be retrieved from the NNTP server.
  731. X.SH "NEWS ADMINISTRATION"
  732. XMaintaining Netnews on large networks of machines can be a pretty time 
  733. Xconsuming job as I recently discovered when I was given the job of
  734. Xmaintaining our news system and news users.
  735. X.PP
  736. XTin is a News User Agent and so most of the users were always asking
  737. Xquestions or doing things that could be frowned upon by there departments.
  738. XTo relieve news admins (and especially me) of this features have been added
  739. Xto Tin to make life easier.
  740. X.PP
  741. XIf my NNTP XUSER patch has been applied to your NNTP server you will be
  742. Xable to log the username and machine to your NNTP logfile for usage
  743. Xstatistics.
  744. X.PP
  745. XA user starting tin for the first time can be automatically subscribed to a
  746. Xlist of newsgroups that are deemed appropiate by the news administrator. At
  747. Xour site the subscriptions file has 125 groups (our active file conatains
  748. Xover 400 groups with many only being marginally interesting to most people).
  749. XThe subscriptions file should be created in your news lib directory (ie.
  750. X/usr/lib/news/subscriptions) and should have file permissions set to 0644.
  751. XIf reading news via NNTP my NNTP LIST SUBSCRIPTIONS patch will have to have 
  752. Xbeen applied to your NNTP server.
  753. X.SH "SCREEN FORMAT"
  754. XTin has five separate levels of operation: Group selection level, Spooldir
  755. Xselection level, Group level, Thread level and Article level.
  756. X.PP
  757. XAt the Group Selection level the title displays the number of subscribed
  758. Xgroups. The newsgroups are displayed on the left of the screen with the
  759. Xnumber of unread articles displayed on the same line in the middle of
  760. Xthe screen.
  761. X.RS
  762. X.nf
  763. X.in +.5i
  764. X.ta +\w'1  'u +\w'news.software.readers  'u
  765. X<Selection Num> <Newsgroup> <Num of unread articles>
  766. X.ti -.5i
  767. Xi.e.,
  768. X1    alt.sources            10
  769. X2    comp.sources.misc        3
  770. X3    news.software.readers        12
  771. X.in -.5i
  772. X.fi
  773. X.RE
  774. X.PP
  775. XAt the Group level the title contains the name of the group, the number
  776. Xof conversation threads and total number of articles i.e., alt.sources (7 23).
  777. XIf the group has been setup not to thread articles (i.e., alt.sources
  778. Xis in \fI$(HOME)/.tin/unthread\fP) the title will be alt.sources (U 23).
  779. XThere are two possible display formats as shown below:
  780. X.RS
  781. X.nf
  782. X.in +.5i
  783. X.ta +\w'1   'u +\w'+   'u +\w'3   'u +\w'This question has   'u
  784. X<Selection Num> <Unread> <Responses> <Subject> <Author>
  785. X.ti -.5i
  786. Xi.e.,
  787. X1    +    3    Bnews sources?        iain@estevax.uucp
  788. X2        1    This question has    ether@net
  789. X.ti -.5i
  790. Xor
  791. X.ta +\w'1   'u +\w'+   'u +\w'3   'u +\w'This question has a long subject line   'u
  792. X<Selection Num> <Unread> <Responses> <Subject (longer)>
  793. X.ti -.5i
  794. Xi.e.,
  795. X1    +    3    Bnews sources?
  796. X2        1    This question has a longer subject line
  797. X.in -.5i
  798. X.fi
  799. X.RE
  800. X.PP
  801. XAt the Article level the page header has the following format:
  802. X.RS
  803. X.nf
  804. X.in +.5i
  805. X.ta \w'<Date posted> <Newsgroup>    'u
  806. X<Date posted> <Newsgroup>    <Thread 1 of n>
  807. X<Article Num> <Subject>    <Num of responses in thread>
  808. X<Author>    <Organization>
  809. X
  810. X<Article body>
  811. X.ti -.5i
  812. Xi.e.,
  813. X.ta \w'24 Jul 15:20:03 GMT   'u +\w'Bnews sources?   'u
  814. X24 Jul 15:20:03 GMT    alt.sources    Thread 1 of 2
  815. XArticle 452    Bnews sources?    3 responses
  816. Xiain@anl433.uucp        Organization name
  817. X
  818. X<Article boby>
  819. X.in -.5i
  820. X.fi
  821. X.RE
  822. X.SH "COMMON MOVING KEYS"
  823. XThis table shows the common keys/commands for moving at all three levels
  824. Xwithin Tin.
  825. X.RS
  826. X.nf
  827. X.ta \w'Beginning of list/article  'u +\w'ansi/at386/vt100  'u
  828. X    ansi/at386/vt100    Other Terminals
  829. XBeginning of list/article    \fBHome\fP    \fB1\fP (\fB^R\fP or \fBg\fP at article level)
  830. XEnd of list/article    \fBEnd\fP    \fB$\fP (also \fBG\fP at article level)
  831. XPage Up    \fBPgUp\fP    \fB^U\fP or \fBb\fP 
  832. XPage Down    \fBPgDn\fP    \fB^D\fP or \fB<SPACE>\fP
  833. XLine Up    \fBUp arrow\fP    \fBk\fP (not at article level)
  834. XLine Down    \fBDown arrow\fP    \fBj\fP (not at article level)
  835. X.fi
  836. X.RE
  837. X.SH "COMMON EDITING COMMANDS"
  838. XAn emacs style editing package allows the easy editing of input strings.
  839. XAn history list allows the easy re-use of previously entered strings.
  840. XThe following commands are available when editing a string:
  841. X
  842. X.TP 10
  843. X\fB^A,^E\fP
  844. Xmove to beginnning or end of line, respectively.
  845. X.TP
  846. X\fB^F,^B\fP
  847. Xnondestructive move forward or back one location, respectively.
  848. X.TP
  849. X\fB^D\fP
  850. Xdelete the character currently under the cursor, or send EOF if no
  851. Xcharacters in the buffer.
  852. X.TP
  853. X\fB^H,<DEL>\fP
  854. Xdelete character left of the cursor.
  855. X.TP
  856. X\fB^K\fP
  857. Xdelete from cursor to end of line.
  858. X.TP
  859. X\fB^P,^N\fP
  860. Xmove through history, previous and next, respectively.
  861. X.TP
  862. X\fB^L,^R\fP
  863. Xredraw the current line.
  864. X.TP
  865. X\fB<CR>\fP
  866. Xplaces line on history list if nonblank, appends newline and returns
  867. Xto the caller.
  868. X.TP
  869. X\fB<ESC>\fP
  870. Xaborts the present editing operation.
  871. X.SH "NEWSGROUP SELECTION COMMANDS"
  872. X.TP 10
  873. X\fB4\fP
  874. XSelect group 4.
  875. X.TP
  876. X\fB^K\fP
  877. XDelete current group from \fI$HOME/.newsrc\fP file.
  878. X.TP
  879. X\fB^L\fP
  880. XRedraw page.
  881. X.TP
  882. X\fB^R\fP
  883. XReset \fI$HOME/.newsrc\fP file.
  884. X.TP
  885. X\fB<CR>\fP
  886. XRead current group.
  887. X.TP
  888. X\fB<TAB>\fP
  889. XView next unread group.
  890. X.TP
  891. X\fBB\fP
  892. XMail a bug report or comment to the author. This is the best way of
  893. Xgetting bugs fixed and features added/changed.
  894. X.TP
  895. X\fBc\fP
  896. XMark current group as all read with confirmation and goto next group
  897. Xin group selection list.
  898. X.TP
  899. X\fBC\fP
  900. XMark current group as all read and goto next unread group in group
  901. Xselection list.
  902. X.TP
  903. X\fBg\fP
  904. XChoose a new group by name. The position of the group within the group
  905. Xlist will also be asked for. By entering '1' the new group will be the
  906. Xfirst group in the displayed list, by entering '8' the group will be
  907. Xthe eighth group in the list etc. By entering '$' the group will be the
  908. Xlast group displayed.
  909. X.TP
  910. X\fBh\fP
  911. Xhelp screen of newsgroup selection commands.
  912. X.TP
  913. X\fBI\fP
  914. XToggle inverse video.
  915. X.TP
  916. X\fBl\fP
  917. XList and allow selection of the available spool directories. This feature
  918. Xrequires a special library to be linked with tin to create cdtin which can then
  919. Xread news from an active news feed and also from multiple CD-ROMs.
  920. X.TP
  921. X\fBm\fP
  922. XMove the current group within the group selection list.
  923. XBy entering '1' the group will become the first displayed group in
  924. Xthe list, by entering '8' the eighth group in the list etc. By
  925. Xentering '$' the group will be the last group displayed.
  926. X.TP
  927. X\fBM\fP
  928. XUser configurable options menu (for more information see section Options Menu).
  929. X.TP
  930. X\fBq\fP
  931. XQuit tin.
  932. X.TP
  933. X\fBQ\fP
  934. XQuit tin.
  935. X.TP
  936. X\fBs\fP
  937. XSubscribe to current group.
  938. X.TP
  939. X\fBS\fP
  940. XSubscribe to groups matching user specified pattern.
  941. X.TP
  942. X\fBu\fP
  943. XUnsubscribe to current group.
  944. X.TP
  945. X\fBU\fP
  946. XUnsubscribe to groups matching user specified pattern.
  947. X.TP
  948. X\fBv\fP
  949. XPrint tin version information.
  950. X.TP
  951. X\fBw\fP
  952. XPost an article to current group.
  953. X.TP
  954. X\fBW\fP
  955. XList articles posted by user. The date posted, the newsgroup and the
  956. Xsubject are listed.
  957. X.TP
  958. X\fBy\fP
  959. XThe first time this command is called it will yank in all groups from
  960. X\fI$LIBDIR/active\fP that are not in \fI$HOME/.newsrc\fP.
  961. XAfter any groups have been subscribed/unsubscribed to, this command
  962. Xif pressed again will reread \fI$HOME/.newsrc\fP and display only
  963. Xthe subscribed groups.
  964. X.TP
  965. X\fBY\fP
  966. XReread the active file to see if any new news has arrived since
  967. Xstarting tin.
  968. X.TP
  969. X\fBz\fP
  970. XMark all articles in the current group as unread.
  971. X.TP
  972. X\fBZ\fP
  973. XUndelete previously deleted group by ^K command from \fI$HOME/.newsrc\fP.
  974. X.TP
  975. X\fB/\fP
  976. XGroup forward search.
  977. X.TP
  978. X\fB?\fP
  979. XGroup backward search.
  980. X.SH "SPOOL DIRECTORY SELECTION COMMANDS"
  981. X.TP 10
  982. X\fB4\fP
  983. XSelect spool directory 4.
  984. X.TP
  985. X\fB^L\fP
  986. XRedraw page.
  987. X.TP
  988. X\fB<CR>\fP
  989. XRead news from selected spool directory.
  990. X.TP
  991. X\fBB\fP
  992. XMail a bug report or comment to the author. This is the best way of
  993. Xgetting bugs fixed and features added/changed.
  994. X.TP
  995. X\fBh\fP
  996. Xhelp screen of spool directory selection commands.
  997. X.TP
  998. X\fBI\fP
  999. XToggle inverse video.
  1000. X\fBq\fP
  1001. XReturn to previous level.
  1002. X.TP
  1003. X\fBQ\fP
  1004. XQuit tin.
  1005. X.TP
  1006. X\fBv\fP
  1007. XPrint tin version information.
  1008. X.SH "GROUP INDEX COMMANDS"
  1009. X.TP 10
  1010. X\fB4\fP
  1011. XSelect article 4.
  1012. X.TP
  1013. X\fB^K\fP
  1014. XKill current article (for more information read section Kill Article Menu).
  1015. X.TP
  1016. X\fB^L\fP
  1017. XRedraw page.
  1018. X.TP
  1019. X\fB<CR>\fP
  1020. XRead current article.
  1021. X.TP
  1022. X\fB<TAB>\fP
  1023. XView next unread article or group.
  1024. X.TP
  1025. X\fBa\fP
  1026. XAuthor forward search.
  1027. X.TP
  1028. X\fBA\fP
  1029. XAuthor backward search.
  1030. X.TP
  1031. X\fBB\fP
  1032. XMail a bug report or comment to the author. This is the best way of
  1033. Xgetting bugs fixed and features added/changed.
  1034. X.TP
  1035. X\fBc\fP
  1036. XMark all articles as read with confirmation.
  1037. X.TP
  1038. X\fBC\fP
  1039. XCancel current article. It must have been posted by the same user. The
  1040. Xcancel message can be seen in the newsgroup 'control'.
  1041. X.TP
  1042. X\fBd\fP
  1043. XToggle display to show just the subject or the subject and author.
  1044. X.TP
  1045. X\fBg\fP
  1046. XChoose a new group by name.
  1047. X.TP
  1048. X\fBh\fP
  1049. Xhelp screen of group index commands.
  1050. X.TP
  1051. X\fBI\fP
  1052. XToggle inverse video.
  1053. X.TP
  1054. X\fBK\fP
  1055. XMark article/thread as read and advance to next unread article/thread.
  1056. X.TP
  1057. X\fBl\fP
  1058. XList the author of each response in current thread and enter thread
  1059. Xselection level.
  1060. X.TP
  1061. X\fBm\fP
  1062. XMail current article / thread / auto selected (hot) articles / 
  1063. Xarticles matching pattern / tagged articles
  1064. Xto someone.
  1065. X.TP
  1066. X\fBM\fP
  1067. XUser configurable options menu (for more information see section Options Menu).
  1068. X.TP
  1069. X\fBn\fP
  1070. XGo to next group.
  1071. X.TP
  1072. X\fBN\fP
  1073. XGo to next unread article.
  1074. X.TP
  1075. X\fBo\fP
  1076. XOutput current article / thread / auto selected (hot) articles / 
  1077. Xarticles matching pattern / tagged articles
  1078. Xto printer.
  1079. X.TP
  1080. X\fBp\fP
  1081. XGo to previous group.
  1082. X.TP
  1083. X\fBP\fP
  1084. XGo to previous unread article.
  1085. X.TP
  1086. X\fBq\fP
  1087. XReturn to previous level.
  1088. X.TP
  1089. X\fBQ\fP
  1090. XQuit tin.
  1091. X.TP
  1092. X\fBs\fP
  1093. XSave current article / thread / auto selected (hot) articles / 
  1094. Xarticles matching pattern / tagged articles to file / files / 
  1095. Xmailbox. To save to a mailbox enter '=' or '=mailbox' when asked
  1096. Xfor filename to save to. To save in <newsgroup name>/<filename>
  1097. Xformat enter '+filename'. Environment variables are allowed within
  1098. Xa filename (ie. $SOURCES/dir/filename).
  1099. X.TP
  1100. X\fBT\fP
  1101. XTag current article for mailing ('m') / piping ('|') / printing ('o') /
  1102. Xsaving ('s') / crossposting ('x').
  1103. X.TP
  1104. X\fBu\fP
  1105. XToggle display to show all articles as unthreaded or threaded.
  1106. X.TP
  1107. X\fBU\fP
  1108. XUntag all articles that were tagged.
  1109. X.TP
  1110. X\fBv\fP
  1111. XPrint tin version information.
  1112. X.TP
  1113. X\fBw\fP
  1114. XPost an article to current group.
  1115. X.TP
  1116. X\fBW\fP
  1117. XList articles posted by user. The date posted, the newsgroup and the
  1118. Xsubject are listed.
  1119. X.TP
  1120. X\fBx\fP
  1121. XCrosspost already posted current article / thread / 
  1122. Xauto selected (hot) articles / articles matching pattern / 
  1123. Xtagged articles to another newsgroup(s). Useful for reposting
  1124. Xfrom global to local newsgroups.
  1125. X.TP
  1126. X\fBz\fP
  1127. XMark current article as unread.
  1128. X.TP
  1129. X\fBZ\fP
  1130. XMark current thread as unread.
  1131. X.TP
  1132. X\fB/\fP
  1133. XSearch forward for specified subject.
  1134. X.TP
  1135. X\fB?\fP
  1136. XSearch backward for specified subject.
  1137. X.TP
  1138. X\fB-\fP
  1139. XShow last message.
  1140. X.TP
  1141. X\fB|\fP
  1142. XPipe current article / thread / auto selected (hot) articles / 
  1143. Xarticles matching pattern / tagged articles into command.
  1144. X.SH "THREAD LISTING COMMANDS"
  1145. X.TP 10
  1146. X\fB4\fP
  1147. XSelect article 4 within thread.
  1148. X.TP
  1149. X\fB^L\fP
  1150. XRedraw page.
  1151. X.TP
  1152. X\fB<CR>\fP
  1153. XRead current article within thread.
  1154. X.TP
  1155. X\fB<TAB>\fP
  1156. XView next unread article within thread.
  1157. X.TP
  1158. X\fBB\fP
  1159. XMail a bug report or comment to the author. This is the best way of
  1160. Xgetting bugs fixed and features added/changed.
  1161. X.TP
  1162. X\fBc\fP
  1163. XMark thread as read after confirmation and return to previous level.
  1164. X.TP
  1165. X\fBd\fP
  1166. XToggle display to show just the subject or the subject and author.
  1167. X.TP
  1168. X\fBh\fP
  1169. Xhelp screen of thread listing commands.
  1170. X.TP
  1171. X\fBI\fP
  1172. XToggle inverse video.
  1173. X.TP
  1174. X\fBK\fP
  1175. XMark thread as read and return to previous level.
  1176. X.TP
  1177. X\fBq\fP
  1178. XReturn to previous level.
  1179. X.TP
  1180. X\fBQ\fP
  1181. XQuit tin.
  1182. X.TP
  1183. X\fBr\fP
  1184. XToggle display to show all articles or only unread articles.
  1185. X.TP
  1186. X\fBt\fP
  1187. XReturn to group index level.
  1188. X.TP
  1189. X\fBT\fP
  1190. XTag current article for mailing ('m') / piping ('|') / printing ('o') /
  1191. Xsaving ('s') / crossposting ('x').
  1192. X.TP
  1193. X\fBv\fP
  1194. XPrint tin version information.
  1195. X.TP
  1196. X\fBz\fP
  1197. XMark current article in thread as unread.
  1198. X.TP
  1199. X\fBZ\fP
  1200. XMark all articles in thread as unread.
  1201. X.SH "ARTICLE VIEWER COMMANDS"
  1202. X.TP 10
  1203. X\fB0\fP
  1204. XRead the base article in this thread.
  1205. X.TP
  1206. X\fB4\fP
  1207. XRead response 4 in this thread.
  1208. X.TP
  1209. X\fB^H\fP
  1210. XShow all of the articles mail header.
  1211. X.TP
  1212. X\fB^K\fP
  1213. XKill current article (for more information read section Kill Article Menu).
  1214. X.TP
  1215. X\fB^L\fP
  1216. XRedraw page.
  1217. X.TP
  1218. X\fB<CR>\fP
  1219. XGoto next base article.
  1220. X.TP
  1221. X\fB<TAB>\fP
  1222. XGoto next unread article.
  1223. X.TP
  1224. X\fBa\fP
  1225. XAuthor forward search.
  1226. X.TP
  1227. X\fBA\fP
  1228. XAuthor backward search.
  1229. X.TP
  1230. X\fBB\fP
  1231. XMail a bug report or comment to the author. This is the best way of
  1232. Xgetting bugs fixed and features added/changed.
  1233. X.TP
  1234. X\fBc\fP
  1235. XMark all articles as read with confirmation.
  1236. X.TP
  1237. X\fBd\fP
  1238. XToggle rot-13 decoding for this article.
  1239. X.TP
  1240. X\fBf\fP
  1241. XPost a followup to current article.
  1242. X.TP
  1243. X\fBF\fP
  1244. XPost a followup with a copy of the current article included.
  1245. X.TP
  1246. X\fBh\fP
  1247. XHelp screen of article page commands.
  1248. X.TP
  1249. X\fBI\fP
  1250. XToggle inverse video.
  1251. X.TP
  1252. X\fBk\fP
  1253. XMark article as read and advance to next unread article.
  1254. X.TP
  1255. X\fBK\fP
  1256. XMark thread as read and advance to next unread thread.
  1257. X.TP
  1258. X\fBm\fP
  1259. XMail current article / thread / auto selected (hot) articles / 
  1260. Xarticles matching pattern / tagged articles
  1261. Xto someone.
  1262. X.TP
  1263. X\fBM\fP
  1264. XUser configurable options menu (for more information see section Options Menu).
  1265. X.TP
  1266. X\fBn\fP
  1267. XGo to the next article.
  1268. X.TP
  1269. X\fBN\fP
  1270. XGo to the next unread article.
  1271. X.TP
  1272. X\fBo\fP
  1273. XOutput current article / thread / auto selected (hot) articles / 
  1274. Xarticles matching pattern / tagged articles to printer.
  1275. X.TP
  1276. X\fBo\fP
  1277. XOutput article/thread/tagged articles to printer.
  1278. X.TP
  1279. X\fBp\fP
  1280. XGo to the previous article.
  1281. X.TP
  1282. X\fBP\fP
  1283. XGo to the previous unread article.
  1284. X.TP
  1285. X\fBq\fP
  1286. XReturn to previous level.
  1287. X.TP
  1288. X\fBQ\fP
  1289. XQuit tin.
  1290. X.TP
  1291. X\fBr\fP
  1292. XReply through mail to author.
  1293. X.TP
  1294. X\fBR\fP
  1295. XReply through mail to author with a copy of the current article included.
  1296. X.TP
  1297. X\fBs\fP
  1298. XSave current article / thread / auto selected (hot) articles / 
  1299. Xarticles matching pattern / tagged articles to file / files / mailbox.
  1300. XTo save to a mailbox enter '=' or '=mailbox' when asked for filename
  1301. Xto save to. To save in <newsgroup name>/<filename> format enter 
  1302. X'+filename'. Environment variables are allowed within a filename
  1303. X(ie. $SOURCES/dir/filename).
  1304. X.TP
  1305. X\fBt\fP
  1306. XReturn to group selection level.
  1307. X.TP
  1308. X\fBT\fP
  1309. XTag current article for mailing ('m') / piping ('|') / printing ('o') /
  1310. Xsaving ('s') / crossposting ('x').
  1311. X.TP
  1312. X\fBv\fP
  1313. XPrint tin version information.
  1314. X.TP
  1315. X\fBw\fP
  1316. XPost an article to current group.
  1317. X.TP
  1318. X\fBW\fP
  1319. XList articles posted by user. The date posted, the newsgroup and the
  1320. Xsubject are listed.
  1321. X.TP
  1322. X\fBx\fP
  1323. XCrosspost already posted current article / thread / 
  1324. Xauto selected (hot) articles / articles matching pattern / 
  1325. Xtagged articles to another newsgroup(s). Useful for reposting
  1326. Xfrom global to local newsgroups.
  1327. X.TP
  1328. X\fBz\fP
  1329. XMark article as unread.
  1330. X.TP
  1331. X\fB/\fP
  1332. XArticle forward search.
  1333. X.TP
  1334. X\fB?\fP
  1335. XArticle backward search
  1336. X.TP
  1337. X\fB|\fP
  1338. XPipe current article / thread / auto selected (hot) articles / 
  1339. Xarticles matching pattern / tagged articles into command.
  1340. X.TP
  1341. X\fB<\fP
  1342. XGoto the first article in the current thread.
  1343. X.TP
  1344. X\fB>\fP
  1345. XGoto the last article in the current thread.
  1346. X.SH "OPTIONS MENU"
  1347. XThis menu is accessed by pressing 'M' at all levels. It allows the user
  1348. Xto customize the behaviour of tin. The options are saved to the file
  1349. X\fI$HOME/.tin/tinrc\fP. Use <SPACE> to toggle the required option and
  1350. X<CR> to set.
  1351. X.TP 4
  1352. X\fBAuto save\fP
  1353. XAutomatically save articles/threads by Archive-name: line in article
  1354. Xheader and post process them if process type is not set to None.
  1355. X.TP
  1356. X\fBEditor offset\fP
  1357. XSet ON if the editor used for posting, follow-ups and bug reports has
  1358. Xthe capability of starting and positioning the cursor at a specified line
  1359. Xwithin a file.
  1360. X.TP
  1361. X\fBMark saved read\fP
  1362. XAllows saved articles/threads to be automatically marked as read. 
  1363. X.TP
  1364. X\fBConfirm Command\fP
  1365. XAllows certain commands (ie. 'c' catchup) that require user confirmation
  1366. Xto be executed immediately if set OFF.
  1367. X.TP
  1368. X\fBDraw arrow\fP
  1369. XAllows groups/articles to be selected by an arrow '->' if set ON or
  1370. Xby an highlighted bar if set OFF.
  1371. X.TP
  1372. X\fBPrint header\fP
  1373. XThis allows the complete mail header or only the Siubject: and From:
  1374. Xfields to be output when printing articles.
  1375. X.TP
  1376. X\fBGoto 1st unread\fP
  1377. XThis allows the cursor to be placed at the first / last unread article
  1378. Xupon entering a newsgroup with unread news.
  1379. X.TP
  1380. X\fBScroll full page\fP
  1381. XIf set ON scrolling of groups/articles will be a full page at a time,
  1382. Xotherwise half a page at a time.
  1383. X.TP
  1384. X\fBCatchup on quit\fP
  1385. XIf set ON the user is asked when quitting if all groups read during the
  1386. Xcurrent session should be marked read.
  1387. X.TP
  1388. X\fBThread articles\fP
  1389. XIf set ON articles will be threaded in all groups (default), otherwise
  1390. Xarticles will be shown unthreaded. If set ON but certain user specified
  1391. Xgroups are in \fI$HOME/.tin/unthread\fP, the specified groups will be
  1392. Xunthreaded and the rest will be threaded.
  1393. X.TP
  1394. X\fBShow only unread\fP
  1395. XIf set ON show only new/unread articles, otherwise show all articles.
  1396. X.TP
  1397. X\fBShow Author\fP
  1398. XIf set 'None' only the Subject: line will be displayed. If set 'Addr'
  1399. XSubject: line & the address part of the From: line are displayed. If
  1400. Xset 'Name' Subject: line & the authors full name part of the From:
  1401. Xline are displayed. If set 'Both' Subject: line & all of the From: line
  1402. Xare displayed.
  1403. X.TP
  1404. X\fBProcess type\fP
  1405. XThis specifies the default type of post processing to perform on saved
  1406. Xarticles. The following types of processing are allowed:
  1407. X.in +.5i
  1408. X.ti -\w'\(em'u
  1409. X\(emnone.
  1410. X.ti -\w'\(em'u
  1411. X\(emunpacking of multi-part shell archives.
  1412. X.ti -\w'\(em'u
  1413. X\(emunpacking of multi-part uuencoded files.
  1414. X.ti -\w'\(em'u
  1415. X\(emunpacking of multi-part uuencoded files that produce a *.zoo archive
  1416. Xwhose contents is listed.
  1417. X.ti -\w'\(em'u
  1418. X\(emunpacking of multi-part uuencoded files that produce a *.zoo archive
  1419. Xwhose contents is extracted.
  1420. X.in -.5i
  1421. X.TP
  1422. X\fBSort articles by\fP
  1423. XThis specifies how articles should be sorted. The following sort
  1424. Xtypes are allowed:
  1425. X.in +.5i
  1426. X.ti -\w'\(em'u
  1427. X\(emdon't sort articles (default).
  1428. X.ti -\w'\(em'u
  1429. X\(emsort articles by Subject: field (ascending & descending).
  1430. X.ti -\w'\(em'u
  1431. X\(emsort articles by From: field (ascending & descending).
  1432. X.ti -\w'\(em'u
  1433. X\(emsort articles by Date: field (ascending & descending).
  1434. X.in -.5i
  1435. X.TP
  1436. X\fBSave directory\fP
  1437. XThe directory where articles/threads are to be saved. Default is
  1438. X\fI$HOME/News\fP.
  1439. X.TP
  1440. X\fBMail directory\fP
  1441. XThe directory where articles/threads are to be saved in mailbox format.
  1442. XThis feature is mainly for use with the Elm mail program. It allows
  1443. Xthe user to save articles/threads/groups simply by giving '=' as
  1444. Xthe filename to save to.
  1445. X.TP
  1446. X\fBPrinter\fP
  1447. XThe printer program with options that is to be used to print
  1448. Xarticles. Default is lpr for BSD machines and lp for SysV machines.
  1449. X.SH "KILL ARTICLE MENU"
  1450. XThis menu is accessed by pressing '^K' at the group and page levels. It
  1451. Xallows the user to kill an article that matches the current Subject:
  1452. Xline, From: line or a string entered by the user. The user entered string
  1453. Xcan be applied to the Subject: or From: lines of an article. The kill
  1454. Xdescription can be limited to the current newsgroup or it can apply to all newsgroups.
  1455. XOnce entered the user can abort the command and not save the kill
  1456. Xdescription, edit the kill file or save the kill description.
  1457. X.PP
  1458. XOn starting tin the users killfile \fI$HOME/.tin/kill\fP is read and
  1459. Xon entering a newsgroup any kill descriptions are applied. Articles
  1460. Xthat match a kill description are marked killed and are not displayed.
  1461. X.SH "POSTING ARTICLES"
  1462. XTin allows posting of articles, follow-up to already posted articles
  1463. Xand replying direct through mail to the author of an article.
  1464. X.PP
  1465. XUse the 'w' command to post an article to a newsgroup. After entering
  1466. Xthe post subject the default editor (ie. vi) or the editor specified
  1467. Xby the $VISUAL environment variable will be started and the article can
  1468. Xbe entered. To crosspost articles simply add a comma and the name of
  1469. Xthe newsgroup(s) to the end of the Newsgroups: line at the beginning of
  1470. Xthe article. After saving and exiting the editor you are asked if you
  1471. Xwish to a)bort posting the article, e)dit the article again or p)ost
  1472. Xthe article to the specified newsgroup(s).
  1473. X.PP
  1474. XUse the 'W' command to display a history of the articles you have posted.
  1475. XThe date the article was posted, which newsgroups the article was
  1476. Xposted to and the articles subject line are displayed.
  1477. X.PP
  1478. XUse the 'f' / 'F' command to post a follow-up article to an already
  1479. Xposted article. The 'F' command will copy the text of the original
  1480. Xarticle into the editor. The editing procedure is the same as when
  1481. Xposting an article with the 'w' command.
  1482. X.PP
  1483. XUse the 'r' / 'R' command to reply direct through mail to the author
  1484. Xof an already posted article. The 'R' command will copy the text of
  1485. Xthe original article into the editor. The editing procedure is the
  1486. Xsame as when posting an article with the 'w' command. After saving
  1487. Xand exiting the editor you are asked if you wish to a)bort sending
  1488. Xthe article, e)dit the article again or s)end the article to the
  1489. Xauthor.
  1490. X.SH "MAILING PIPING PRINTING REPOSTING AND SAVING ARTICLES"
  1491. XThe command interface to mail ('m'), pipe ('|'), print ('o'),
  1492. Xcrosspost ('x') and save ('s') articles is the same for ease of use.
  1493. X.PP
  1494. XThe initial command will ask you to select which a)rticle, t)hread,
  1495. Xh)ot (auto selected) r)egex pattern, t)agged articles you wish to
  1496. Xmail, pipe etc.
  1497. X.PP
  1498. XTagged articles must have already been tagged with the 'T' command.
  1499. XAll tagged articles can be untagged by the 'U' untag command.
  1500. X.PP
  1501. XIf regex pattern matching is selected you are asked to enter a regular
  1502. Xexpression (ie. to match all articles subject lines containing 'net News'
  1503. Xyou must enter '*net News*'). Any articles that match the
  1504. Xentered expression will be mailed, piped etc.
  1505. X.PP
  1506. XTo save articles to a mailbox with the name of the current newsgroup
  1507. X(ie. Alt.sources) enter '=' or '=<mailbox name>' when asked for the
  1508. Xsave filename.
  1509. X.PP
  1510. XTo save articles in <newsgroup name>/<filename> format enter '+<filename>'.
  1511. X.PP
  1512. XWhen saving articles you can specify whether the saved files should be
  1513. Xpost processed (ie. unshar shell archive, uudecode multiple parts etc).
  1514. XA default process type can be set by the 'Process type:' in the 'M'
  1515. Xoptions menu.
  1516. X.SH AUTOMATIC MAILING AND SAVING NEW NEWS
  1517. XTin allows new/unread news articles to be mailed (-M option)/saved
  1518. X(-S option) in batch mode for later reading. Useful when going on
  1519. Xholiday and you don't want to return and find that expire has removed a
  1520. Xwhole load of unread articles. Best to run from crontab everyday while away,
  1521. Xafter which you will be mailed a report of which articles were mailed/saved
  1522. Xfrom which newsgroups and the total number of articles mailed/saved.
  1523. XArticles are saved in a private news structure under your <savedir> directory
  1524. X(default is \fI$HOME/News\fP). Be careful of using this option if you read a
  1525. Xlot of groups because you could overflow your filesystem. If you only want to
  1526. Xsave a few groups it would be best to backup your full \fI$HOME/.newsrc\fP and
  1527. Xcreate a new one that only contains the newsgroups you want to mail/save.
  1528. XSaved news can be read later by starting tin with the -R option.
  1529. X.PP
  1530. Xtin -M iain -f newsrc.mail (mail any unread articles in newgroups specified
  1531. Xin file newsrc.mail)
  1532. X.PP
  1533. Xtin -S -f newsrc.save (save any unread articles in newgroups specified
  1534. Xin file newsrc.save)
  1535. X.PP
  1536. Xtin -R (read any unread articles saved by tin -S option)
  1537. X.SH SIGNATURES
  1538. XTin will recognize a signature in either \fI$HOME/.signature\fP or
  1539. X\fI$HOME/.Sig\fP. If \fI$HOME/.signature\fP exists, then the signature
  1540. Xwill be pulled into the editor for Tin mail commands.  A signature in
  1541. X\fI$HOME/.signature\fP will not be pulled into the editor for posting
  1542. Xcommands since the inews program will append the signature itself.
  1543. X.PP
  1544. XA signature in \fI$HOME/.Sig\fP will be pulled into the editor for both
  1545. Xposting and mailing commands.
  1546. X.PP
  1547. XThe following is an example of a \fI$HOME/.Sig\fP file:
  1548. X.RS
  1549. X.nf
  1550. XNAME   Iain Lea
  1551. XEMAIL  iain%anl433.uucp@Germany.EU.net
  1552. XSNAIL  Bruecken Strasse 12, 8500 Nuernberg 90, Germany
  1553. XPHONE  +49-911-331963 (home)  +49-911-3089-407 (work)
  1554. X.fi
  1555. X.RE
  1556. X.SH "ENVIROMENT VARIABLES"
  1557. X.TP
  1558. X\fBTINDIR\fP
  1559. XDefine this variable if you do not want tin's .tin directory in $HOME/.tin.
  1560. X(ie. if you want all tin's private files in /tmp/.tin you would set
  1561. XTINDIR to contain /tmp.
  1562. X.TP
  1563. X\fBNNTPSERVER\fP
  1564. XThe default NNTP server to remotely read news from. This variable only
  1565. Xneeds to be set if the -r command line option is specified and the file
  1566. X\fI/etc/nntpserver\fP does not exist.
  1567. X.TP
  1568. X\fBDISTRIBUTION\fP
  1569. XSet the article header field Distribution: to the contents of the
  1570. Xvariable instead of the system default.
  1571. X.TP
  1572. X\fBORGANIZATION\fP
  1573. XSet the article header field Organization: to the contents of the
  1574. Xvariable instead of the system default. This variable has precedence
  1575. Xover the file \fI$HOME/.tin/organization\fP that may also contain an
  1576. Xorganization string. If reading news on an Apollo DomainOS machine
  1577. Xthe environment variable NEWSORG has to be used instead of ORGANIZATION.
  1578. X.TP
  1579. X\fBREPLYTO\fP
  1580. XSet the article header field Reply-To: to the return address specified
  1581. Xby the variable.
  1582. XThis is useful if the machine is not registered in the UUCP mail maps
  1583. Xor if you wish to recieve replies at a different machine.
  1584. XThis variable has precedence over the file \fI$HOME/.tin/replyto\fP
  1585. Xthat may also contain a return address.
  1586. X.TP
  1587. X\fBADD_ADDRESS\fP
  1588. XThis can contain an address to append to the return address when replying
  1589. Xdirectly through mail to somebody whose mail address is not directly
  1590. Xrecognized by the local host. For example say the return address is
  1591. X\fIuser@bigvax\fP, but \fIbigvax\fP is not recognized by your host, so
  1592. Xtherfore the mail will not reach \fIuser\fP. But the host \fIlittevax\fP
  1593. Xis known to recognize your host and \fIbigvax\fP, so if ADD_ADDRESS is set
  1594. X(ie. 'setenv ADD_ADDRESS @littevax' for csh or 'set ADD_ADDRESS @littevax'
  1595. Xand 'export ADD_ADDRESS' for sh) the address \fIuser@bigvax@littlevax\fP will
  1596. Xbe used and the mail will reach \fIuser@bigvax\fP.
  1597. XThis variable has precedence over the file \fI$HOME/.tin/add_address\fP
  1598. Xthat may also contain an address.
  1599. X.TP
  1600. X\fBBUG_ADDRESS\fP
  1601. XIf the 'B' command bug report mail address is not correct this variable should be
  1602. Xset to the correct mail address. This variable has precedence over the file
  1603. X\fI$HOME/.tin/bug_address\fP that may also contain a mail address.
  1604. X.TP
  1605. X\fBMAILER\fP
  1606. XThis variable has precedence over the default mailer that is used in all
  1607. Xmailing operations within tin (ie. replying 'rR', and bug reports 'B').
  1608. X.TP
  1609. X\fBVISUAL\fP
  1610. XThis variable has precedence over the default editor (ie. vi) that is
  1611. Xused in all editing operations within tin (ie. posting 'w', replying 'rR',
  1612. Xfollow-ups 'fF' and bug reports 'B').
  1613. X.SH TIPS AND TRICKS
  1614. XThe following newsgroups provide useful information concerning news software:
  1615. X.in +.5i
  1616. X.ti -\w'\(em'u
  1617. X\(emnews.software.readers (info. about news user agents tin,rn,nn,vn etc.)
  1618. X.ti -\w'\(em'u
  1619. X\(emnews.software.nntp (info. about NNTP)
  1620. X.ti -\w'\(em'u
  1621. X\(emnews.software.b (info. about news transport agents Bnews & Cnews)
  1622. X.ti -\w'\(em'u
  1623. X\(emnews.answers (Frequently Asked Questions (FAQ) about many different themes)
  1624. X.PP
  1625. XMany prompts (ie. 'Mark everything as read? (y/n): y') within tin 
  1626. Xoffer a default choice that the cursor is positioned on. By pressing
  1627. X<CR> the default value is taken.
  1628. X.PP
  1629. XWhen tin is run in an xterm window it will resize itself each time the xterm
  1630. Xis resized.
  1631. X.PP
  1632. XTin will reread the active file at set intervals to show any new news.
  1633. X.SH FILES
  1634. X.nf
  1635. X.ta \w'\fI$HOME/.tin/organization\fP   'u
  1636. X\fI$HOME/.newsrc\fP    subscribed to newgroups.
  1637. X\fI$HOME/.tin/tinrc\fP    options.
  1638. X\fI$HOME/.tin/.index\fP    newsgroup index files directory.
  1639. X\fI$HOME/.tin/add_address\fP    address to add to when replying through mail.
  1640. X\fI$HOME/.tin/active\fP    used by -n option for notifying user of new groups.
  1641. X\fI$HOME/.tin/bug_address\fP    address to send bug reports to.
  1642. X\fI$HOME/.tin/kill\fP    kill file.
  1643. X\fI$HOME/.tin/organization\fP    string to replace default organization.
  1644. X\fI$HOME/.tin/posted\fP    history of articles posted by user.
  1645. X\fI$HOME/.tin/replyto\fP    host address to use in Reply-To: mail header.
  1646. X\fI$HOME/.tin/unthread\fP    contains groups that are not to be threaded.
  1647. X\fI$HOME/.signature\fP    signature.
  1648. X\fI$HOME/.Sig\fP    signature.
  1649. X.fi
  1650. X.SH BUGS
  1651. XThere are bugs somewhere among the creeping featurism. Any bugs found
  1652. Xshould be reported by the 'B' (bug report) command.
  1653. X.PP
  1654. XWill not uudecode some of the images in alt.binaries.pictures because
  1655. Xmore than one image is in the multi-part file to uudecode. Only the
  1656. Xfirst image will be uudecoded.
  1657. X.PP
  1658. XDoes not yet handle Xref: headers for cross-posted articles.
  1659. X.SH HISTORY
  1660. XBased on the tass newsreader that was developed by Rich Skrenta and posted
  1661. Xto alt.sources in March 1991. Tass was itself heavily infleuenced by NOTES
  1662. Xwhich was developed at the University of Illinois by Ray Essick and
  1663. XRob Kolstad in 1982.
  1664. X.PP
  1665. XTin v1.00 (full distribution) was posted in 8 parts to alt.sources on 23 Aug 1991.
  1666. X.br
  1667. XTin v1.0 PL1 (full distribution) was posted in 8 parts to alt.sources on 03 Sep 1991.
  1668. X.br
  1669. XTin v1.0 PL2 (full distribution) was posted in 9 parts to alt.sources on 24 Sep 1991.
  1670. X.br
  1671. XTin v1.0 PL3 (patch) was posted in 4 parts to alt.sources on 30 Sep 1991.
  1672. X.br
  1673. XTin v1.0 PL4 (patch) was posted in 2 parts to alt.sources on 02 Oct 1991.
  1674. X.br
  1675. XTin v1.0 PL5 (patch) was posted in 4 parts to alt.sources on 17 Oct 1991.
  1676. X.br
  1677. XTin v1.0 PL6 (patch) was posted in 5 parts to alt.sources on 27 Nov 1991.
  1678. X.br
  1679. XTin v1.0 PL7 (patch) was posted in 2 parts to alt.sources on 27 Nov 1991.
  1680. X.br
  1681. XTin v1.1 PL0 (full distribution) was posted in 11 parts to alt.sources on 13 Feb 1992.
  1682. X.br
  1683. XTin v1.1 PL1 (full distribution) was posted in 12 parts to alt.sources on 24 Mar 1992.
  1684. X.br
  1685. XTin v1.1 PL2 (patch) was posted in 4 parts to alt.sources on 30 Mar 1992.
  1686. X.br
  1687. XTin v1.1 PL3 (full distribution) was posted in ?? parts to alt.sources on 13 May 1992.
  1688. X.SH CREDITS
  1689. X.TP
  1690. XRich Skrenta
  1691. Xauthor of tass v3.2 which this newsreader used as its base.
  1692. X.TP
  1693. XDave Taylor
  1694. Xauthor of curses.c from the elm mailreader.
  1695. X.TP
  1696. XRich Salz
  1697. Xauthor of wildmat.c pattern matching routine.
  1698. X.TP
  1699. XChris Thewalt
  1700. Xauthor of getline.c emacs style editing routine.
  1701. X.TP
  1702. XDieter Becker
  1703. Xfor generously posting certain versions and patches for me when my net
  1704. Xconnection was removed by a group of very short sighted people.
  1705. X.PP
  1706. XI wish to thank the following people for supplying patchs:
  1707. X
  1708. XAnton Aylward, Dieter Becker, Dan Berry, Marc Boucher, Leila Burrell-Davis, 
  1709. XRobert Claeson, Steven Cogswell, Ned Danieley, Brent Ermlick, Carl Hage,
  1710. XPaul Halsema, Ed Hanway, Torsten Homeyer, Nelson Kading, Fritz Kleeman, 
  1711. XKarl-Koenig Koenigsson, Kris Kugel, Hakan Lennestal, Clifford Luke, 
  1712. XMichael Faurot, David MacKenzie, Bill Poitras, Jim Robinson, Stephen Roseman,
  1713. XNickolay Saukh, Rich Salz, John Sauter, Bart Sears, Karl-Olav Serrander, 
  1714. XDoug Sewell, Cliff Stanford, Steve Starck, Michael Traub, Adri Verhoef,
  1715. XCary Whitney, Lloyd Wright
  1716. X.PP
  1717. XI wish to thank the following people for bug reports/comments:
  1718. X
  1719. XKlaus Arzig, Scott Babb, Reiner Balling, Preston Bannister, Bill de Beabien,
  1720. XVolker Beyer, Etienne Bido, Roger Binns, Georg Biehler, Jean-Marc Bonnaudet,
  1721. XIan Brown, Andreas Brosig, Tom Czarnik, David Donovan, Peter Dressler, 
  1722. XGerhard Ermer, Hugh Fader, Joachim Feld, Paul Fox, Bernhard Gmelch, Viet Hoang,
  1723. XAndy Jackson, Joe Johnson, Cyrill Jung, Kuo-Chein Kai, Hans-Juergen Knopp,
  1724. XBernhard Kroenung, Murray Laing, Per Lindqvist, Bob Lukas, Kazushi Marukawa,
  1725. XPhillip Molloy, Toni Metz, Greg Miller, Klaus Neuberger, Otto Niesser, Reiner Oelhaf,
  1726. XWolf Paul, John Palkovic, Andrew Phillips, Stefan Rathmann, Jonas Rwgmyr, Ted Richards,
  1727. XDaemon Schaefer, Klamer Schutte, Fredy Schwatz, Bernd Schwerin, Chris Smith,
  1728. XDaniel Smith, Steve Spearman, Hironobu Takahashi, Sven Werner, G. Woodbury,
  1729. XOrest Zboroski
  1730. X.SH AUTHOR
  1731. X.TP
  1732. XIain Lea
  1733. X(iain%anl433.uucp@Germany.EU.net)
  1734. END_OF_FILE
  1735.   if test 38440 -ne `wc -c <'tin.1'`; then
  1736.     echo shar: \"'tin.1'\" unpacked with wrong size!
  1737.   fi
  1738.   # end of 'tin.1'
  1739. fi
  1740. echo shar: End of archive 1 \(of 14\).
  1741. cp /dev/null ark1isdone
  1742. MISSING=""
  1743. for I in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 ; do
  1744.     if test ! -f ark${I}isdone ; then
  1745.     MISSING="${MISSING} ${I}"
  1746.     fi
  1747. done
  1748. if test "${MISSING}" = "" ; then
  1749.     echo You have unpacked all 14 archives.
  1750.     rm -f ark[1-9]isdone ark[1-9][0-9]isdone
  1751. else
  1752.     echo You still must unpack the following archives:
  1753.     echo "        " ${MISSING}
  1754. fi
  1755. exit 0
  1756. exit 0 # Just in case...
  1757.