home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / unix / volume19 / nn / part09 < prev    next >
Text File  |  1989-06-22  |  50KB  |  1,544 lines

  1. Subject:  v19i070:  NN, a Usenet news reader, Part09/15
  2. Newsgroups: comp.sources.unix
  3. Sender: sources
  4. Approved: rsalz@uunet.UU.NET
  5.  
  6. Submitted-by: storm@texas.dk (Kim F. Storm)
  7. Posting-number: Volume 19, Issue 70
  8. Archive-name: nn/part09
  9.  
  10. #!/bin/sh
  11. # this is part 9 of a multipart archive
  12. # do not concatenate these parts, unpack them in order with /bin/sh
  13. # file nn.1 continued
  14. #
  15. CurArch=9
  16. if test ! -r s2_seq_.tmp
  17. then echo "Please unpack part 1 first!"
  18.      exit 1; fi
  19. ( read Scheck
  20.   if test "$Scheck" != $CurArch
  21.   then echo "Please unpack part $Scheck next!"
  22.        exit 1;
  23.   else exit 0; fi
  24. ) < s2_seq_.tmp || exit 1
  25. echo "x - Continuing file nn.1"
  26. sed 's/^X//' << 'NO_NEWS_IS_GOOD_NEWS' >> nn.1
  27. X.SH FILE AND GROUP NAME COMPLETION
  28. XWhen entering a file name or a news group name, a simple
  29. X.B completion
  30. Xfeature is available using the \fBspace\fP, \fBtab\fP, and \fB?\fP keys.
  31. X.LP
  32. XHitting \fBspace\fP anywhere during input will complete the 
  33. X.I current
  34. X.I component
  35. Xof the file name or group name with the
  36. X.I first
  37. Xavailable possibility.
  38. X.LP
  39. XIf this possibility is not the one you want, keep on hitting 
  40. X.B space
  41. Xuntil it appears.
  42. X.LP
  43. XWhen the right completion has appeared, you can just continue typing
  44. Xthe file or group name, or you can hit
  45. X.B tab
  46. Xto fix the current component, and get the
  47. X.I first
  48. Xpossibility for the next component, and then use
  49. X.B space
  50. Xto go through the other possible completions.
  51. X.LP
  52. XThe
  53. X.B ?
  54. Xkey will produce a list of the possible 
  55. X.I completions
  56. Xof the current component.  If the list is too long for the available
  57. Xspace on screen, the key can be repeated to get the next part of the
  58. Xlist.
  59. X.LP
  60. XThe current completion can be deleted with the
  61. X.B erase
  62. Xkey.
  63. X.LP
  64. XThe default value for a file name is the last file name you have
  65. Xentered, so if you enter a
  66. X.B space
  67. Xas the first character after the prompt, the last file name will be
  68. Xrepeated (and you can edit it if you like).  In some cases, a string
  69. Xwill already be written for you in the prompt line, and to get the
  70. Xdefault value in these cases, use the \fBkill\fP key.  This also means
  71. Xthat if you neither want the initial value, nor the default value, you
  72. Xwill have to hit the \fBkill\fP twice to get a clean prompt line.
  73. X.LP
  74. XOther keys can be used for completion instead of the \fBspace\fP,
  75. X\fBtab\fP, and \fB?\fP keys by setting the variables \fBcomp1-key\fP,
  76. X\fBcomp2-key\fP, and \fBhelp-key\fP, respectively.
  77. X.SH POSTING AND RESPONDING TO ARTICLES
  78. XIn both selection mode and reading mode you can post new articles,
  79. Xpost follow-ups to articles, send replies to the author of an article,
  80. Xand you can send mail to another user with the option of including an
  81. Xarticle in the letter.  In reading mode, a response is made to the
  82. Xcurrent article, while in selection mode you will be prompted for an
  83. Xarticle to respond to.
  84. X.LP
  85. XThe following commands are available (the lower-case equivalents are
  86. Xalso available in reading mode):
  87. X.TP
  88. X\&\fBR\fP    {\fBreply\fP}
  89. XReply through mail to the author of the article.  This is the prefered
  90. Xway to respond to an article unless you think your reply is of general
  91. Xinterest.
  92. X.TP
  93. X\&\fBF\fP    {\fBfollow\fP}
  94. XFollow-up with an article in the same newsgroup (unless an alternative
  95. Xgroup is specified in the article header).
  96. X.TP
  97. X\&\fBM\fP    {\fBmail\fP}
  98. XMail a letter or
  99. X.I forward
  100. Xan article to a single recipient.
  101. XIn selection mode, you will be prompted for an article to include
  102. Xin your letter, and in reading mode you will be asked if the current
  103. Xarticle should be included in the letter.
  104. XYou will then be prompted for the recipient of the letter (default
  105. Xrecipient is yourself)
  106. Xand the subject of the letter (if an article is included, you may hit
  107. X.B space
  108. Xto get the default subject which is the subject of the included article).
  109. X.TP
  110. X\&\fB:post\fP    {\fBpost\fP}
  111. XPost a new article to any newsgroup.  This command will prompt you for
  112. Xa 
  113. X.I comma-separated 
  114. Xlist of newsgroups to post to (you cannot enter a space because 
  115. X.B space
  116. Xis used for group name completion as described below).
  117. X.LP
  118. XGenerally, \fInn\fP will construct a file with a suitable header, optionally
  119. Xinclude a copy of the article in the file with each non-empty line
  120. Xprefixed by a `>' character (except in mail mode), and invoke an
  121. Xeditor of your choice (using the EDITOR environment variable) on this
  122. Xfile, positioning you on the first line of the body of the article (if
  123. Xit knows the editor).
  124. X.PP
  125. XWhen you have completed editing the message, it will compare it to the
  126. Xunedited file, and if they are identical (i.e. you did not make any
  127. Xchanges to the file), or it is empty, the operation is cancelled.
  128. XOtherwise you will be prompted for an action to take on the
  129. Xconstructed article (enter first letter followed by
  130. X.BR return ):
  131. X.br
  132. X.sp 0.5v
  133. X    Action: (a)bort (e)dit (o)k (s)end: 
  134. X.sp 0.5v
  135. X.br
  136. XYou now have the opportunity to 
  137. X.BR a :
  138. Xthrow the article away,
  139. X.BR e :
  140. Xedit the file again, or
  141. X.B o
  142. Xand
  143. X.BR s :
  144. Xsend the article or letter.
  145. X.SH JUMPING TO OTHER GROUPS
  146. XBy default \fInn\fP will present the news groups in a predefined
  147. Xsequence (see the section on Presentation Sequence later on).
  148. XTo override this sequence and have a look at any other group the
  149. X.B G
  150. X{\fBgoto-group\fP} command available in both selection and reading
  151. Xmode enables you to move freely between all the newsgroups.
  152. X.LP
  153. XFurthermore, the
  154. X.B G
  155. Xcommand enables you to open folders and other files, to read old
  156. Xarticles you have read before, and to grep for a specific subject in a
  157. Xgroup.
  158. X.PP
  159. XIt is important to notice that normally the goto command is recursive,
  160. Xi.e. a new \fImenu level\fP is created when the specified group or
  161. Xfolder is presented, and when it has been read, \fInn\fP will continue
  162. Xthe activity in the group that was presented before the goto command
  163. Xwas executed.  However, you can avoid entering a new menu level by
  164. Xusing the
  165. X.B j
  166. Xreply described below.  The current menu level (i.e. number of nested
  167. Xgoto commands) will be shown in the prompt line as "<N>" (in reverse
  168. Xvideo).
  169. X.PP
  170. XThe goto command is very powerful, but unfortunately also a little bit
  171. Xtricky at first sight, because the facilities it provides depend a
  172. Xlittle bit on the context in which the command is used.
  173. X.PP
  174. XWhen executed, the goto command will prompt you for the name of the
  175. Xnewsgroup, folder, or file to open.  It will use the first letter
  176. Xyou enter to distinguish these three possibilities:
  177. X.TP
  178. X.I letter\ or\ digit
  179. XThe answer is taken to be the name of a newsgroup.
  180. X.TP
  181. X.I +
  182. X.br
  183. XThe answer is taken to be the name of a folder.
  184. X.TP
  185. X.I \&./\ \ or\ \ ~/\ \ or\ \ /
  186. XThe answer is taken to be the name of a file, either relative to the
  187. Xcurrent directory, relative to your home directory, or an absolute
  188. Xpath name for the file.
  189. X.TP
  190. X.B return
  191. XAn empty answer is equivalent to the current newsgroup.
  192. X.LP
  193. XSpecifying a folder or a file will cause \fInn\fP to treat the file
  194. Xlike a digest and split it into separate articles (not physically!)
  195. Xwhich are then presented on a menu in the usual way, allowing you to
  196. Xread or save individual subarticles from the folder.
  197. X.LP
  198. XWhen you enter a groupname, \fInn\fP will ask you how many articles in
  199. Xthe group you want to see on the menu.  You can give the following
  200. Xanswers:
  201. X.TP
  202. X.I a number N
  203. XIn this case you will get the newest N articles in the group, or if
  204. Xyou specified the current group (by hitting
  205. X.B return
  206. Xto the group name prompt), you will get that many
  207. X.I extra
  208. Xarticles included on the same menu (without creating a new menu level).
  209. X.TP
  210. X.B j
  211. XThis answer can only be given if there are unread articles in the
  212. Xgroup.  It will instruct nn to jump directly to the specified group in
  213. Xthe presentation sequence \fIwithout\fP creating a new menu level.
  214. X.TP
  215. X.B u
  216. XThis instructs \fInn\fP to present the 
  217. X.I unread
  218. Xarticles in the group (if there are any).  If you have already read
  219. Xthe group (in the current invocation of \fInn\fP), the
  220. X.B u
  221. Xanswer will instruct \fInn\fP to present the articles that were unread
  222. Xwhen you entered \fInn\fP.
  223. X.TP
  224. X.B a
  225. XThis instruct \fInn\fP to present
  226. X.I all
  227. Xarticles in the group.
  228. X.TP
  229. X\fB=\fP\fIword\fP
  230. XThis instructs \fInn\fP to search
  231. X.I all
  232. Xarticles in the groups, but only present the articles containing the word
  233. X.I word
  234. Xin the subject.
  235. X.TP
  236. X\fB=/\fP\fIregexp\fP
  237. XThis instructs \fInn\fP to search the group for the articles whose
  238. Xsubject matches the regular expression
  239. X.IR regexp .
  240. X.TP
  241. X.B return
  242. XThe meaning of an empty answer depends on the context: if there are
  243. Xunread articles in the specified group the unread articles will be
  244. Xpresented, otherwise 
  245. X.I all
  246. Xarticles in the group will be included in the menu.
  247. X.LP
  248. XIf you specified the current group, and the menu already contains all
  249. Xthe available articles, \fInn\fP will directly prompt for a word to
  250. Xsearch for in the subject of all articles (the prompt will be an equal
  251. Xsign.)
  252. X.LP
  253. XWhen the goto command creates a new menu level, \fInn\fP will not
  254. Xperform auto kill or selection in the group.  You can use the
  255. X.B +
  256. Xcommand in menu mode to perform the auto-selections.
  257. X.LP
  258. XThere are three commands in the goto family:
  259. X.TP
  260. X\&\fBG\fP    {\fBgoto-group\fP}
  261. XThis is the general goto command described above.
  262. X.TP
  263. X\&\fBB\fP    {\fBback-group\fP}
  264. XBackup one or more groups.  You can hit this key one or more times to
  265. Xgo back in the groups already presented (including those without new
  266. Xarticles); when you have found the group you are looking for, hit
  267. X.B space
  268. Xto enter it.
  269. X.TP
  270. X\&\fBA\fP    {\fBadvance-group\fP}
  271. XAdvance one or more groups.  This command is similar to the 
  272. X.B B
  273. Xcommand, but operates in the opposite direction.  You can freely mix
  274. Xthe 
  275. X.B A 
  276. Xand 
  277. X.B B 
  278. Xcommands, and you can also use the 
  279. X.B G 
  280. Xcommand directly when you are prompted with a group.
  281. X.LP
  282. XTo show the use of the goto command some typical examples on
  283. Xits use are given below:
  284. X.sp
  285. X.nf
  286. X.B "Present the unread articles in the dk.general group"
  287. X.sp 0.5v
  288. X     \fBG\fP dk.general \fBreturn\fP \fBu\fP
  289. X.sp
  290. X.B "Jump directly to the gnu.emacs group and continue from there"
  291. X.sp 0.5v
  292. X     \fBG\fP gnu.emacs \fBreturn\fP \fBj\fP
  293. X.sp
  294. X.B "Include the last 10 READ articles in the current group menu"
  295. X.sp 0.5v
  296. X     \fBG\fP \fBreturn\fP 10 \fBreturn\fP
  297. X.sp 0.5v
  298. X.fi
  299. XAnswering \fBreturn\fP to the group name prompt will make the goto
  300. Xcommand apply to the current group and prompt for the number of
  301. X\fIextra\fP articles (which have already been read) to include in the
  302. Xpresent menu.  This will \fInot\fP create a new menu level.
  303. X.nf
  304. X.sp
  305. X.B "Find all articles in rec.music.misc on the subject Floyd"
  306. X.sp 0.5v
  307. X     \fBG\fP rec.music.misc \fBreturn\fP 
  308. X     \fB=\fP floyd \fBreturn\fP 
  309. X.sp 0.5v
  310. X.fi
  311. XNotice that case is ignored when searching for the word in the subject
  312. Xlines.
  313. X.nf
  314. X.sp
  315. X.B "Open the folder +nn"
  316. X.sp 0.5v
  317. X     \fBG\fP +nn \fBreturn\fP
  318. X
  319. X.fi
  320. X.SH AUTOMATIC KILL AND SELECTION
  321. XYou can easily instruct \fInn\fP to 
  322. X.I kill
  323. Xor
  324. X.I select
  325. Xarticles with specific subjects or from specific authors using the
  326. Xfollowing command:
  327. X.TP
  328. X\&\fBK\fP    {\fBkill-select\fP}
  329. XPut a permanent or temporary entry into your personal
  330. X.I kill
  331. Xfile.  The contents of the entry is specified during a short dialog
  332. Xthat is described in details below.
  333. XThis command is available in both selection and reading mode.
  334. X.LP
  335. XEntries in the kill file may apply to a single newsgroup or to all
  336. Xnewsgroups.  Furthermore, entries may be permanent or they may be
  337. Xexpired a given number of days after their entry.
  338. X.LP
  339. XTo increase performance, \fInn\fP uses a compiled version of the kill
  340. Xfile which is read in when \fInn\fP is invoked.  The compiled kill
  341. Xfile will automatically be updated if the normal kill file has been
  342. Xmodified.
  343. X.LP
  344. XThe following dialog is used to build the kill file entry:
  345. X.TP
  346. X\fIAUTO (K)ill or (S)elect (CR => Kill subject 1 month)\fP
  347. XIf you simply want \fInn\fP to kill all articles with the subject of the
  348. Xcurrent article (in reading mode) or a specific article (which
  349. X\fInn\fP will prompt for in selection mode), just hit
  350. X.BR return .
  351. XThis will cause \fInn\fP to create an entry in the kill file to 
  352. Xkill the current (or specified) subject in the current group for a
  353. Xperiod of 30 days (which should be enough for the discussion to die out).
  354. X.sp 0.5v
  355. XIf this "default behaviour" is not what you want, just answer either
  356. X.I k
  357. Xor
  358. X.I s
  359. Xto kill or select articles, respectively, which will bring you on to
  360. Xthe rest of the questions.
  361. X.TP
  362. X\fIAUTO SELECT on (S)ubject or (N)ame ?\fP
  363. X(The 
  364. X.I SELECT
  365. Xwill be substituted with
  366. X.I KILL 
  367. Xdepending on the previous answer).
  368. XHere you specify whether you want the kill or select to depend on the
  369. Xsubject of the article (\fBs\fP or \fBspace\fP),
  370. Xor on the 
  371. Xname of the author (\fBn\fP). 
  372. X.TP
  373. X\fISELECT NAME:\fP
  374. X(Again
  375. X.I SELECT
  376. Xmay be substituted with
  377. X.I KILL
  378. Xand
  379. X.I SUBJECT
  380. Xmay replace
  381. X.IR NAME ).
  382. XYou must now enter a name (or subject) to select (or kill).  In reading
  383. Xmode, you may just hit 
  384. X.B return 
  385. X(or 
  386. X.BR % )
  387. Xto use the name (or subject) of the current article.  In selection
  388. Xmode, you can use the name (or subject) from an article on the menu by
  389. Xanswering with
  390. X.B %
  391. Xfollowed by the corresponding article identifier.
  392. X.sp 0.5v
  393. XWhen the name or subject is taken from an article (the current or one
  394. Xfrom the menu), \fInn\fP will only select or kill articles where the
  395. Xname or subject matches the original name or subject exactly including
  396. Xcase.
  397. X.sp 0.5v
  398. XOtherwise, \fInn\fP will select or kill articles which 
  399. X.I contain
  400. Xthe specified name or subject (or part thereof) anywhere in the name
  401. Xor subject ignoring case.
  402. X.TP
  403. X\fISELECT in (G)roup `dk.general' or in (A)ll groups\fP
  404. XYou must now specify whether the selection or kill should apply to
  405. Xthe current group only (\fBg\fP or \fBspace\fP)
  406. Xor to all groups (\fBa\fP).
  407. X.TP
  408. X\fILifetime of entry in days (P)ermanent\fP
  409. XYou can now specify the lifetime of the entry,
  410. Xeither by entering a number specifying the number of days
  411. Xthe entry should be active, or
  412. X.B p
  413. Xto specify the entry as a permanent entry.  An empty reply is
  414. Xequivalent to 30 days.
  415. X.TP
  416. X\fICONFIRM SELECT ....\fP
  417. XFinally, you will be asked to confirm the entry, and you should
  418. Xespecially note the presence or absence of the word 
  419. X.I exact
  420. Xwhich specify whether an exact match applies for the entry.
  421. X.SH THE FORMAT OF THE KILL FILE
  422. XThe normal kill file consists of one line for each entry.  Empty
  423. Xlines and lines starting with a # character are ignored.  \fInn\fP
  424. Xautomatically places a # character in the first position of expired
  425. Xentries when it compiles the kill file.
  426. X.LP
  427. XEach line has the following format
  428. X.br
  429. X    [ \fIexpire-time\fP : ] [ \fIgroup name\fP ] : \fIflags\fP : \fIstring\fP
  430. X.br
  431. X.LP
  432. XPermanent entries have no 
  433. X.I expire-time
  434. X(in which case the colon is omitted as well!).  Otherwise, the 
  435. X.I expire-time
  436. Xdefines the time (as a time_t value) when the entry should be expired.
  437. X.LP
  438. XIf a 
  439. X.I group name
  440. Xis present, the entry applies to that group only;
  441. Xotherwise, the entry applies to all groups.
  442. X.LP
  443. XThe 
  444. X.I flags
  445. Xfield consist of two or three characters:
  446. X.br    
  447. X\- The first character is either a 
  448. X.B +
  449. Xor a 
  450. X.B !
  451. Xcharacter specifying a
  452. Xselect or a kill entry, respectively.
  453. X.br
  454. X\- The second character is either an
  455. X.B n
  456. Xor an 
  457. X.B s
  458. Xspecifying whether the entry applies to the
  459. Xname or to the subject of an article.
  460. X.br
  461. X\- The optional third character is an 
  462. X.B =
  463. Xsign which
  464. Xspecify that the match against the name or subject must be an
  465. Xexact match (including case).
  466. X.LP
  467. XThe 
  468. X.I string
  469. Xfield in the entry is the name or subject that will be
  470. Xmatched against the name or subject of each article in the group (or
  471. Xall groups).  Notice, that unless an exact match is specified, the
  472. Xspecified name or subject may occur
  473. X.I anywhere
  474. Xin a name or a subject, and that case is ignored.
  475. X.LP
  476. XIt is completely safe to update the kill file (obeying the format of
  477. Xcourse), for example to remove expired entries, or to "undo" a 
  478. X.B K
  479. Xcommand.
  480. X.SH SHELL ESCAPES
  481. XThe 
  482. X.B !
  483. Xcommands available in selection and reading mode are identical in
  484. Xoperation (with one exception).  When you enter the shell escape
  485. Xcommand, you will be prompted for a shell command.  This command will
  486. Xbe fed to /bin/sh (or the shell specified in the SHELL environment
  487. Xvariable) after the following substitutions have been performed on the
  488. Xcommand:
  489. X.LP
  490. XThe ealier described file name expansions will be performed on all
  491. Xarguments.
  492. X.TP
  493. X.B $G
  494. Xwill be substituted with the name of the current news group.
  495. X.TP
  496. X.B $L
  497. Xwill be substituted with the \fIlast component\fP of the name of the
  498. Xcurrent news group.
  499. X.TP
  500. X.B $F
  501. Xwill be substituted with the name of the current news group with the
  502. Xperiods replaced by slashes.
  503. X.TP
  504. X.B $N
  505. Xwill be substituted with the (local) article number (only defined in
  506. Xreading mode).
  507. X.TP
  508. X.B $A
  509. Xis replaced by the full path name of the file containing the current article
  510. X(only defined in reading mode).
  511. X.TP
  512. X.B %
  513. XSame as $A.
  514. X.LP
  515. XWhen the shell command is completed, you will be asked to hit any key
  516. Xto continue.  If you hit the 
  517. X.B !
  518. Xkey again, you will be prompted for a new shell command.  Any other
  519. Xkey will redraw the screen and return you to the mode you came from.
  520. X.SH MISCELLANEOUS COMMANDS
  521. XBelow are more useful commands which are available in both
  522. Xselection and reading modes.
  523. X.TP
  524. X\&\fBU\fP    {\fBunsub\fP}
  525. XUnsubscribe to the current group.  You will not see this group
  526. Xanymore.  If you are not subscribing to the group, you will be given
  527. Xthe possibility to 
  528. X.I resubscribe
  529. Xto the group!  This may be used in connection with the
  530. X.B G
  531. Xcommand to resubscribe a group.
  532. X.TP
  533. X\&\fBC\fP    {\fBcancel\fP}
  534. XCancel (delete) an article in the current group or folder.  Cancelling
  535. Xarticles in a folder will cause the folder to be rewritten when it is
  536. Xclosed.  In selection mode, you will be prompted for the identifier of
  537. Xthe article to cancel.  Normal users can only cancel their own
  538. Xarticles.
  539. X.TP
  540. X\&\fBY\fP    {\fBoverview\fP}
  541. XProvide an overview of the groups with unread articles.
  542. X.TP
  543. X\&\fBL\fP    {\fBlayout\fP}
  544. XChange menu layout in selection mode.  The menu will be redrawn using
  545. Xthe next layout (cycling through ..., 2, 3, 0, 1, ...)
  546. X.LP
  547. XMost of the commands in \fInn\fP are bound to a key and can be activated
  548. Xby a single keystroke.  However, there are a few commands that
  549. Xcannot be bound to a key at all.
  550. X.LP
  551. XAs shown in the keystroke command descriptions, all commands have a
  552. Xname, and it is possible to activate a command by name with the
  553. X.I extended
  554. X.I command
  555. Xkey (\fB:\fP).  Hitting this key will prompt you for the name of a
  556. Xcommand (and parameters).  For example, an alternative to hitting the
  557. X.B R
  558. Xkey to reply to an article is to enter the extended command
  559. X.B :reply
  560. Xfollowed by 
  561. X.BR return .
  562. XThe
  563. X.B :post
  564. Xand
  565. X.B :unshar
  566. Xcommands described earlier can also be bound to a key.  The complete
  567. Xlist of commands which can be bound to keys is provided in the section
  568. Xon Key Mappings below.
  569. X.LP
  570. XThe following extended commands 
  571. X.I cannot
  572. Xbe bound to a key, mainly because they require additional parameters
  573. Xon the prompt line, or because it should not be possible to activate
  574. Xthem too easily.
  575. X.TP
  576. X\fB:admin\fP
  577. XEnter administrative mode.  This is identical in operation to the 
  578. X.IR nnadmin (1M)
  579. Xprogram except that the (V)erify operation cannot be performed.
  580. X.TP
  581. X\fB:cd\fP [ \fIdirectory\fP ]
  582. XChange current working directory.  If the directory argument is not provided,
  583. X\fInn\fP will prompt for it.
  584. X.TP
  585. X\fB:compile\fP
  586. XRecompile the 
  587. X.I kill
  588. Xfile.  This is not necessary under normal operation since \fInn\fP
  589. Xautomatically compiles the file on start-up if it has changed.
  590. X.TP
  591. X\fB:coredump\fP
  592. XAbort with a core dump.  For debugging purposes only.
  593. X.TP
  594. X\fB:define\fP \fImacro\fP
  595. XDefine macro number \fImacro\fP as described in the Macro Definition
  596. Xsection below.  If \fImacro\fP is omitted, the next free macro number
  597. Xwill be chosen.
  598. X.TP
  599. X\fB:dump\fP \fItable\fP
  600. XSame as the 
  601. X.B :show
  602. Xcommand described below.
  603. X.TP
  604. X\fB:help\fP [ \fIsubject\fP ]
  605. XProvide online help on the specified subject.  If you omit the
  606. Xsubject, a list of the available topics will be given.
  607. X.TP
  608. X\fB:man\fP
  609. XCall up the online manual.  The manual is presented as a normal folder
  610. Xwith the program name in the `From' field and the section title in the
  611. X\&`subject' field.  All the normal commands related to a folder works
  612. Xfor the online manual as well.
  613. X.TP
  614. X\fB:map\fP \fIarguments\fP 
  615. XThis is the command used for binding commands to the keys.  It is
  616. Xfully described in the Key Mapping section below.
  617. X.TP
  618. X\fB:mkdir\fP [ \fIdirectory\fP ]
  619. XCreate the directory (and the directories in its path).  It will
  620. Xprompt for at directory name if the argument is omitted.
  621. X.TP
  622. X\fB:pwd\fP
  623. XPrint path name of current working directory on message line.
  624. X.TP
  625. X\fB:q\fP
  626. XHas no effect besides redrawing the screen if necessary.  If an
  627. Xextended command (one which is prefixed by a :) produces any output
  628. Xrequirering the screen to be redrawn, the screen will not be redrawn
  629. Ximmediately.  Instead another : prompt is shown to allow you to enter
  630. Xa new extended command immediately.  It is sufficient to hit
  631. X.B return
  632. Xto redraw the screen, but it has been my experience that entering
  633. X.B q return
  634. Xin this situation happens quite often, so it was made a no-op.
  635. X.TP
  636. X\fB:q!\fP
  637. XQuit \fInn\fP without updating the 
  638. X.I rc
  639. Xfile.  This will only work if the
  640. X.B backup
  641. Xvariable is set (see the explanation below).
  642. X.TP
  643. X\fB:Q\fP
  644. XQuit \fInn\fP.  This is equivalent to the normal
  645. X.B Q
  646. Xcommand.
  647. X.TP
  648. X\fB:rmail\fP 
  649. XOpen your mailbox (see the \fBmail\fP variable) as a folder to
  650. Xread the incoming messages.  This is \fInot\fP a full mail interface
  651. X(you cannot delete messages, no cc: on replies, etc), but it can give
  652. Xyou a quick glance at new mail without leaving \fInn\fP.
  653. X.TP
  654. X\fB:set\fP \fIvariable\fP [ \fIvalue\fP ]
  655. XSet a boolean variable to true or assign the value to a string or
  656. Xinteger variable.  The
  657. X.B :set
  658. Xcommand is described in details in the section on VARIABLES.
  659. X.TP
  660. X\fB:sh\fP
  661. XSuspend \fInn\fP, or if that is not possible, spawn an interactive shell.
  662. X.TP
  663. X\fB:show kill\fP
  664. XShow the kill entries that applies to the current group and to all groups.
  665. X.TP
  666. X\fB:show groups\fP \fImode\fP
  667. XShow the total number or the number of unread articles in the current
  668. Xgroup, depending on 
  669. X.IR mode :
  670. X.B all
  671. Xresults in a listing of the number of unread articles in all groups
  672. Xincluding groups which you have unsubscribed to; groups
  673. Xwithout unread articles are not included, or
  674. X.B total
  675. Xresults in a listing of the total number of articles in all existing
  676. Xgroups.  Any other
  677. X.I mode
  678. Xresults in a listing of the number of unread articles in all
  679. Xsubscribed groups (same as the
  680. X.B Y
  681. Xcommand).
  682. X.TP
  683. X\fB:sort\fP [ \fImode\fP ]
  684. XReorder the articles on the menu according to 
  685. X.IR mode :
  686. Xif omitted sort the articles according to the subject (and further
  687. Xsort articles with the same subject according to their age), if it is
  688. X.B age
  689. Xsort articles only according to their age (posting date and time), or if
  690. Xit is
  691. X.B arrival
  692. Xor
  693. X.B no
  694. Xin the order in which they arrived on the local system (which is a
  695. Xcompletely arbitrary order).
  696. X.TP
  697. X\fB:unread\fP [ \fIarticles\fP ]
  698. XMark the current group as unread.  If the argument is omitted, the
  699. Xnumber of unread articles in the group will be set to the number of
  700. Xunread articles when \fInn\fP was invoked.  Otherwise, the argument
  701. Xspecifies the number of unread articles.
  702. X.TP
  703. X\fB:unset\fP \fIvariable\fP
  704. XSet a boolean variable to false or clear an integer variable.
  705. X.TP
  706. X\fB:x\fP
  707. XQuit \fInn\fP and
  708. X.I mark
  709. Xthe current group as read!
  710. X.SH VARIABLES AND OPTIONS
  711. XIt is possible to control the behaviour of \fInn\fP through the
  712. Xsetting (and unsetting) of the variables described below.  There are
  713. Xthree ways of setting variables:
  714. X.br
  715. X\- Through command line options when \fInn\fP is invoked.
  716. X.br
  717. X\- Through \fBset\fP commands in the init file.
  718. X.br
  719. X\- Through the \fB:set\fP extended command when you run \fInn\fP.
  720. X.LP
  721. XThere are three types of variables:
  722. X.br
  723. X\- Boolean variables
  724. X.br
  725. X\- Integer variables
  726. X.br
  727. X\- String variables
  728. X.br
  729. X.LP
  730. XBoolean variables control a specific function in \fInn\fP, e.g.
  731. Xwhether the current time is shown in the prompt line.  A boolean
  732. Xvariable is set to
  733. X.B true
  734. Xwith the command
  735. X.br
  736. X    \fBset\fP \fIvariable\fP
  737. X.br
  738. Xand it is set to 
  739. X.B false
  740. Xwith either of the following (equivalent) commands:
  741. X.br
  742. X    \fBunset\fP \fIvariable\fP
  743. X.br
  744. X    \fBset no\fP\fIvariable\fP
  745. X.LP
  746. XYou can also toggle the value of a boolean variable using the command:
  747. X.br
  748. X    \fBtoggle\fP \fIvariable\fP
  749. X.LP
  750. XFor example:
  751. X.br
  752. X    \fBset\fP time
  753. X.br
  754. X    \fBunset\fP time
  755. X.br
  756. X    \fBset\fP notime
  757. X.br
  758. X    \fBtoggle\fP time
  759. X.LP
  760. XInteger variables control an amount e.g. the size of the preview
  761. Xwindow, or the maximum number of articles to read in each group.  They
  762. Xare set with the following command:
  763. X.br
  764. X    \fBset\fP \fIvariable value\fP
  765. X.br
  766. XIn some cases, not setting an integer value has a special meaning,
  767. Xfor example, not having a minimal preview window or reading all
  768. Xarticles in the groups no matter how many there are.  The special
  769. Xmeaning can be re-established by the following command:
  770. X.br
  771. X    \fBunset\fP \fIvariable\fP
  772. X.br
  773. XFor example:
  774. X.br
  775. X    \fBset\fP window 7
  776. X.br
  777. X    \fBunset\fP limit
  778. X.br
  779. X.LP
  780. XString variables may specify directory names, default values for
  781. Xprompts, etc.  They are set using the command
  782. X.br
  783. X    \fBset\fP \fIvariable string\fP
  784. X.br
  785. XExcept for file and directory names, the 
  786. X.I string
  787. Xvalue starts at the first non-blank character after the variable name
  788. Xand continues to the end of the line \fIincluding all trailing
  789. Xblanks on the line\fP!
  790. X.LP
  791. XThe current variable settings can be shown with the 
  792. X.B :set
  793. Xcommand without arguments.
  794. X.LP
  795. XThe following variables are available:
  796. X.TP
  797. X\fBbackup\fP    (boolean, default true)
  798. XBackup the rc file on start-up.  Setting 
  799. X.B backup
  800. Xcauses \fInn\fP to keep a backup of the 
  801. X.I rc
  802. Xfile (used by \fInn\fP to register
  803. Xwhich articles have been read).  You can then exit
  804. X\fInn\fP without updating the rc file with the \fB:q!\fP command.
  805. X.TP
  806. X\fBcomp1-key\fP \fIkey\fP    (key, default \fBspace\fP)
  807. XThe key which gives the first/next completion, and the default value
  808. Xwhen \fInn\fP is prompting for a string, e.g. a file name.
  809. X.TP
  810. X\fBcomp2-key\fP \fIkey\fP    (key, default \fBtab\fP)
  811. XThe key which ends the current completion and gives the first
  812. Xcompletion for the next component
  813. Xwhen \fInn\fP is prompting for a string, e.g. a file name.
  814. X.TP
  815. X\fBconfirm\fP        (boolean, default false)
  816. XIn some cases, \fInn\fP will sleep one second (or more) when it has shown a
  817. Xmessage to the user, e.g. in connection with macro debugging.  Setting
  818. X.B confirm
  819. Xwill cause \fInn\fP to
  820. X\fIwait\fP for you to confirm all messages by hitting any
  821. Xkey.  (It will show the symbol <> to indicate that it is awaiting
  822. Xconfirmation.)
  823. X.TP
  824. X\fBconfirm-append\fP        (boolean, default false) 
  825. XNormally when
  826. Xyou save in a file, \fInn\fP will only ask for confirmation when it
  827. Xhas to create the file.  When
  828. X.B confirm-append
  829. Xis set, you will also be asked for confirmation before appending an
  830. Xarticle to an existing file.
  831. X.TP
  832. X\fBdate\fP        (boolean, default true)
  833. XIf set \fInn\fP will show the article posting date when articles are
  834. Xread.
  835. X.TP
  836. X\fBdebug\fP \fImask\fP    (integer, default 0)
  837. XLook in the source if you are going to use this.
  838. X.TP
  839. X\fBdefault-save-file\fP \fIfile\fP    (string, default +$F)
  840. XThe default save file used in quick save mode.  It can also be
  841. Xspecified using the abbreviation "+" as the file name in normal save
  842. Xmode.
  843. X.TP
  844. X\fBdelay-redraw\fP        (boolean, default false)
  845. XNormally, \fInn\fP will redraw the screen immediately after an
  846. Xextended command (:command) which cleared the screen.  If
  847. X\fBdelay-redraw\fP is set \fInn\fP will prompt for a new command
  848. Xwithout redrawing the screen; it is redrawn when you give an empty
  849. Xreply.
  850. X.TP
  851. X\fBerase-key\fP \fIkey\fP    (key, default tty erase key)
  852. XThe key which erases the last input character
  853. Xwhen \fInn\fP is prompting for a string, e.g. a file name.
  854. X.TP
  855. X\fBexpert\fP        (boolean, default false)
  856. XIf set \fInn\fP will use slightly shorter prompts (e.g. not tell you
  857. Xthat ? will give you help), and be a bit less verbose in a few other cases.
  858. X.TP
  859. X\fBfolder\fP \fIdirectory\fP    (string, default ~/News)
  860. XThe full pathname of the 
  861. X.I folder directory
  862. Xwhich will replace the + in folder names.  It will be initialized from
  863. Xthe FOLDER environment variable if it is not set in the 
  864. X.I init
  865. Xfile.
  866. X.TP
  867. X\fBfsort\fP        (boolean, default true)
  868. XWhen set, folders are sorted alphabetically according to the subject
  869. X(and age).
  870. XOtherwise, the articles in 
  871. Xa folder will be presented in the sequence in which they were saved.
  872. X.TP
  873. X\fBheader-lines\fP \fIlist\fP    (string, no default)
  874. XWhen set, it determines the list of header fields that are shown when
  875. Xan article is read instead of the normal one line header showing the
  876. Xauthor and subject.  See the full description in the section on
  877. XCustomized Article Headers below.
  878. X.TP
  879. X\fBhelp-key\fP \fIkey\fP    (key, default \fB?\fP)
  880. XThe key which ends the current completion and gives a list of possible
  881. Xcompletions for the next component
  882. Xwhen \fInn\fP is prompting for a string, e.g. a file name.
  883. X.TP
  884. X\fBincluded-mark\fP \fIstring\fP    (string, default ">")
  885. XThis string is prefixed to all lines in the original article that are
  886. Xincluded in a reply or a follow-up.  (Now you have the possibility to
  887. Xchange it, but please don't.  Lines with a mixture of prefixes like
  888. X.br
  889. X   : orig-> <> } ] #- etc.
  890. X.br
  891. Xare very difficult to comprehend.  Let's all use the standard folks!
  892. X(And hack inews if it is the 50% rule that bothers you.)
  893. X.TP
  894. X\fBkill\fP        (boolean, default true)
  895. XIf set, \fInn\fP performs automatic kill and selection based on the
  896. X.I kill
  897. Xfile.
  898. X.TP
  899. X\fBkill-key\fP \fIkey\fP    (key, default tty kill key)
  900. XThe key which deletes the current line
  901. Xwhen \fInn\fP is prompting for a string, e.g. a file name.
  902. X.TP
  903. X\fBlayout\fP \fInumber\fP    (integer, default 1)
  904. XSet the menu layout.  The argument must be a number between 0 and 3.
  905. X.TP
  906. X\fBlimit\fP \fImax-articles\fP    (integer, default infinite)
  907. X.I Limit
  908. Xthe maximum number of articles presented in each group to 
  909. X.I max-articles.
  910. XThe default is to present
  911. X.I all
  912. Xunread articles no matter how many there are.  Setting this variable,
  913. Xonly the most recent 
  914. X.I max-articles
  915. Xarticles will be presented, but all the articles will still be marked
  916. Xas read.  This is useful to get up-to-date quickly if you have not
  917. Xread news for a longer period.
  918. X.TP
  919. X\fBlong-menu\fP        (boolean, default false)
  920. XIf set \fInn\fP will not put an empty line after the header line and
  921. Xan empty line before the prompt line; this gives you two extra menu
  922. Xlines.
  923. X.TP
  924. X\fBmacro-debug\fP    (boolean, default false)
  925. XIf set \fInn\fP will trace the execution of all macros.  Prior to the
  926. Xexecution of each command or operation in a macro, it will show the
  927. Xname of the command or the input string or key stroke at the bottom of
  928. Xthe screen.
  929. X.TP
  930. X\fBmail\fP \fIfile\fP    (string, default not set)
  931. X\fIfile\fP must be a full path name of a file.  If defined, \fInn\fP will
  932. Xcheck for arrival of new mail every minute or so by looking at the
  933. Xspecified file.
  934. X.TP
  935. X\fBmail-format\fP    (boolean, default false)
  936. XWhen set, \fInn\fP will save articles in a format that is compatible
  937. Xwith normal mail folders.
  938. X.TP
  939. X\fBmail-record\fP \fIfile\fP    (string, default not set)
  940. X\fIfile\fP must be a full path name of a file.  If defined, all replies and
  941. Xmail will be saved in this file in standard
  942. X.I mailbox
  943. Xformat, i.e. you can use you favourite mailer (and \fInn\fP) to look at
  944. Xthe file.
  945. X.TP
  946. X\fBmark-overlap\fP    (boolean, default false)
  947. XWhen set, \fInn\fP will draw a line (using the underline capabilities
  948. Xof the terminal if possible) to indicate the end of the overlap (see the
  949. X\fBoverlap\fP variable).
  950. X.TP
  951. X\fBmonitor\fP        (boolean, default false)
  952. XWhen set, \fInn\fP will show 
  953. X.I all
  954. Xcharacters in the received messages using a "cat -v" like format.
  955. XOtherwise, only the printable characters are shown (default).
  956. X.TP
  957. X\fBnews-record\fP \fIfile\fP    (string, default not set)
  958. XSave file for follow-ups and postings.  Same rules and format as the
  959. X\fBmail-record\fP variable.
  960. X.TP
  961. X\fBnewsrc\fP        (boolean, default false)
  962. XWhen set, \fInn\fP will synchronize its own
  963. X.I rc
  964. Xfile with the
  965. X.I .newsrc
  966. Xfile used by other news readers.  Notice that \fInn\fP does not allow
  967. Xindividual articles to be marked unread, and some articles marked
  968. Xunread in
  969. X.I .newsrc
  970. Xmay silently be marked as read by \fInn\fP when the group is read.
  971. X.TP
  972. X\fBold\fP [\fImax-articles\fP]    (integer, default not set)
  973. XWhen 
  974. X.B old
  975. Xis set, \fInn\fP will present (or scan) all (or the last
  976. X\fImax-articles\fP) unread as well as 
  977. Xread articles.  While
  978. X.B old
  979. Xis set, \fInn\fP will
  980. X.I never
  981. Xmark any unread articles as read.
  982. X.TP
  983. X\fBoverlap\fP \fIlines\fP    (integer, default 2)
  984. XSpecifies the number of overlapping lines from one page to the next
  985. Xwhen paging through an article in reading mode.
  986. XThe last line from the previous page
  987. Xwill be underlined if the terminal has that capability.
  988. X.TP
  989. X\fBpager\fP \fIshell-command\fP    (string, default is system dep.)
  990. XThis is the command which output from \fBunshar\fP and \fBpatch\fP
  991. Xis piped through as well as most of the output from
  992. X.IR nnadmin (1M).
  993. X.TP
  994. X\fBpatch-cmd\fP \fIshell-command\fP    (string, default "patch")
  995. XThis is the command which is invoked by the \fBpatch\fP command.
  996. X.TP
  997. X\fBprinter\fP \fIshell-command\fP    (string, default is system dep.)
  998. XThis is the default value for the 
  999. X.B print
  1000. Xcommand.  It should include an option which prevents the spooler from
  1001. Xechoing a job-id or similar to the terminal to avoid problems with
  1002. Xscreen handling (e.g. lp -s on System V).
  1003. X.TP
  1004. X\fBquick-save\fP    (boolean, default false)
  1005. XWhen set, \fInn\fP will not prompt for a file name when an article is
  1006. Xsaved (unless it belongs to a folder).  
  1007. XInstead it uses the save file specified for the current group in the
  1008. Xinit file or the default save file.
  1009. X.TP
  1010. X\fBrecord\fP \fIfile\fP    (string, no default)
  1011. XSetting this 
  1012. X.I pseudo
  1013. Xvariable will set both the \fBmail-record\fP and the
  1014. X\fBnews-record\fP variables to the specified pathname.
  1015. X.TP
  1016. X\fBrepeat\fP        (boolean, default false)
  1017. XWhen set, \fInn\fP will not eliminate duplicated subject lines on
  1018. Xmenus (I cannot imagine why anyone should want that, but....)
  1019. X.TP
  1020. X\fBretry-on-error\fP \fItimes\fP    (integer, default not set)
  1021. XWhen set, \fInn\fP will try the specified number of \fItimes\fP to
  1022. Xopen an article before reporting that the article does not exist
  1023. Xanymore.  This may be necessary in some network environments.
  1024. X.TP
  1025. X\fBsave-counter\fP \fIformat\fP    (string, default "%d")
  1026. XThis is the printf-format which \fInn\fP uses to create substitution
  1027. Xstring for the trailing * in save file names.  You can set this to
  1028. Xmore complex formats if you like, but be sure that it will produce
  1029. Xdifferent strings for different numbers.  An alternative format which
  1030. Xseems to be popular is ".%02d" .
  1031. X.TP
  1032. X\fBsave-report\fP    (boolean, default true)
  1033. XWhen set, a message reporting the number of lines written is shown
  1034. Xafter saving an article.  Since messages are shown for a few seconds,
  1035. Xthis may slow down the saving of many articles (e.g. using the 
  1036. X.B S*
  1037. Xcommand).
  1038. X.TP
  1039. X\fBsilent\fP        (boolean, default false)
  1040. XWhen set, \fInn\fP wont print the logo or "No News" if there are no
  1041. Xunread articles.  Only useful to set in the init file or with the 
  1042. X.B \-Q
  1043. Xoption.
  1044. X.TP
  1045. X\fBsort\fP        (boolean, default true)
  1046. XWhen set, \fInn\fP will sort articles according to subject (and age
  1047. Xfor identical subjects).  Otherwise, articles will be presented in
  1048. Xorder of arrival.
  1049. X.TP
  1050. X\fBsplit\fP        (boolean, default true)
  1051. XWhen set, digests will automatically and silently be split into
  1052. Xsub-articles which are then handled transparently as normal articles.
  1053. XOtherwise, digests are presented as one article (which you can split
  1054. Xon demand with the 
  1055. X.B G
  1056. Xcommand).
  1057. X.TP
  1058. X\fBstop\fP \fIlines\fP    (integer, default not set)
  1059. XWhen 
  1060. X.B stop
  1061. Xis set, \fInn\fP will only show the first \fIlines\fP lines of the
  1062. Xof each article 
  1063. Xbefore prompting you to continue.  This is useful on slow terminals and
  1064. Xmodem lines to be able to see the first few lines of longer articles
  1065. X(and skipping the rest with the
  1066. X.B n
  1067. Xcommand).
  1068. X.TP
  1069. X\fBtime\fP        (boolean, default true)
  1070. XWhen set, \fInn\fP will show the current time in the prompt line.
  1071. XThis is useful on systems without a 
  1072. X.I sysline (1)
  1073. Xutility.
  1074. X.TP
  1075. X\fBwindow\fP \fIsize\fP    (integer, default not set)
  1076. XWhen set, \fInn\fP will reserve the last \fIsize\fP lines of the menu
  1077. Xscreen for a preview window.  If not set, \fInn\fP will clear the
  1078. Xscreen to preview an article if there are too few empty lines at the
  1079. Xbottom of the screen.  As a side effect, it can also be used to reduce
  1080. Xthe size of the menus, which may be useful on slow terminals.
  1081. X.TP
  1082. X\fBword-key\fP \fIkey\fP    (key, default ^W)
  1083. XThe key which erases the last input component or word
  1084. Xwhen \fInn\fP is prompting for a string, e.g. the last name in a path
  1085. Xname.
  1086. X.SH CUSTOMIZED ARTICLE HEADER PRESENTATION
  1087. XNormally, \fInn\fP will just print a (high-lighted) single line header
  1088. Xcontaining the author, subject, and date (optional) of the article
  1089. Xwhen it is read.
  1090. X.LP
  1091. XBy setting the
  1092. X.B header-lines
  1093. Xvariable as described below, it is possible to get a more informative
  1094. Xmulti line header with optional high-lighting and underlining.
  1095. X.LP
  1096. XThe
  1097. X.B header-lines
  1098. Xvariable is set to a list of header line identifiers, and the
  1099. Xcustomized headers will then contain exactly these header lines
  1100. X\fIin the specified order\fP.
  1101. X.LP
  1102. XThe following header line identifiers are recognized in the 
  1103. X.B header-lines
  1104. Xvariable:
  1105. X.LP
  1106. X.in +8n
  1107. X.ta 5m
  1108. X.br
  1109. X\fBA\fP    Approved:
  1110. X.br
  1111. X\fBB\fP    Distribution:
  1112. X.br
  1113. X\fBD\fP    Date:
  1114. X.br
  1115. X\fBF\fP    From:
  1116. X.br
  1117. X\fBI\fP    Message-Id:
  1118. X.br
  1119. X\fBK\fP    Keywords:
  1120. X.br
  1121. X\fBL\fP    Lines:
  1122. X.br
  1123. X\fBN\fP    Newsgroups:
  1124. X.br
  1125. X\fBO\fP    Organization:
  1126. X.br
  1127. X\fBP\fP    Path:
  1128. X.br
  1129. X\fBR\fP    Reply-To:
  1130. X.br
  1131. X\fBS\fP    Subject:
  1132. X.br
  1133. X\fBW\fP    Followup-To:
  1134. X.br
  1135. X\fBX\fP    References:
  1136. X.in -8n
  1137. X.DT
  1138. X.LP
  1139. XPreceding the identifier with an equal sign "=" or an underscore "_"
  1140. Xwill cause the header field contents to be high-lighted or underlined.
  1141. X.LP
  1142. XIncluding an asterisk "*" in the list will produce the standard one
  1143. Xline header at that point.
  1144. X.LP
  1145. XExample:  The following setting of the 
  1146. X.B header-lines
  1147. Xvariable will show the author (underlined), organization, posting
  1148. Xdate, and subject (high-lighted) when articles are read:
  1149. X.sp 0.5v
  1150. X    set header-lines _FOD=S
  1151. X.SH COMMAND LINE OPTION
  1152. XSome of the command line options have already been described, but
  1153. Xbelow we provide a complete list of the effect of each option by
  1154. Xshowing the equivalent 
  1155. X.BR set ,
  1156. X.BR unset ,
  1157. Xor
  1158. X.B toggle
  1159. Xcommand.
  1160. X.LP
  1161. XNotice that the init files are read \fIbefore\fP the options are
  1162. Xparsed (unless you use the \-\fBI\fP option).  Therefore, the options
  1163. Xwhich are related to boolean variables set in the init file will
  1164. Xtoggle the value set there, rather than the default value.
  1165. XConsequently, the meaning of the options are also user-defined.
  1166. X.LP
  1167. XThe explanations below describe the effect related to the default
  1168. Xsetting of the variables, with the `reverse' effect in square
  1169. Xbrackets.
  1170. X.TP
  1171. X\-\fBa\fP\fIN\fP    {\fBset limit\fP \fIN\fP}
  1172. X.I Limit
  1173. Xthe maximum number of articles presented in each group to 
  1174. X.I N.
  1175. XThis is useful to get up-to-date quickly if you have not 
  1176. Xread news for a longer period.
  1177. X.TP
  1178. X\-\fBa0\fP
  1179. XMark 
  1180. X.I all
  1181. Xunread articles as read.  See the full explanation at the beginning of
  1182. Xthis manual.
  1183. X.TP
  1184. X\-\fBB\fP    {\fBtoggle backup\fP}
  1185. XDo not [do] backup the rc file.
  1186. X.TP
  1187. X\-\fBd\fP    {\fBtoggle split\fP}
  1188. XDo not [do] split digests into separate articles.
  1189. X.TP
  1190. X\-\fBf\fP    {\fBtoggle fsort\fP}
  1191. XDo not [do] sort folders according to the subject (present the
  1192. Xarticles in a folder in the sequence in which they were saved).
  1193. X.TP
  1194. X\-\fBg\fP
  1195. XPrompt for the name of a news group or folder to be entered
  1196. X.TP
  1197. X\-\fBI\fP
  1198. XDo not read the init file (must be the first option!!)
  1199. X.TP
  1200. X\-\fBk\fP    {\fBtoggle kill\fP}
  1201. XDo not [do] perform automatic kill and selection of articles.
  1202. X.TP
  1203. X\-\fBl\fP\fIN\fP    {\fBset stop\fP \fIN\fP}
  1204. XStop after printing the first \fIN\fP lines of each article.
  1205. XThis is useful on slow terminals.
  1206. X.TP
  1207. X\-\fBL\fP[\fIf\fP]    {\fBset layout\fP \fIf\fP}
  1208. XSelect alternative menu layout
  1209. X.IR f 
  1210. X(0 to 3).
  1211. XIf
  1212. X.I f
  1213. Xis omitted, menu layout 3 is selected.
  1214. X.TP
  1215. X\-\fBm\fP    {\fIno corresponding variable\fP}
  1216. XMerge all articles into one `meta group' instead of showing
  1217. Xthem one group at a time.  When -m is used, no articles will be marked
  1218. Xas read. 
  1219. X.TP
  1220. X\-\fBN\fP    {\fIno corresponding variable\fP}
  1221. XDisable updating of the rc file.  This includes not recording that
  1222. Xgroups have been read or unsubscribed to (although \fInn\fP will tell
  1223. Xyou so until you quit).  Intended for debugging purposes, but may be
  1224. Xused if you want to experiment with \fInn\fP without the risk of
  1225. Xlosing any articles.
  1226. X.TP
  1227. X\-\fBq\fP    {\fBtoggle sort\fP}
  1228. XDo not [do] sort the articles (q means quick, but it isn't
  1229. Xany quicker in practice!)
  1230. X.TP
  1231. X\-\fBQ\fP    {\fBtoggle silent\fP}
  1232. XQuiet mode - don't [do] print the logo or "No News" messages.
  1233. X.TP
  1234. X\-\fBs\fP\fIWORD\fP
  1235. XCollect only articles which contain the string
  1236. X.I WORD
  1237. Xin their subject (case is ignored).  If
  1238. X.I WORD
  1239. Xstarts with a slash `/', the rest of the argument is used as a
  1240. X\fIregular expression\fP instead of a fixed string.
  1241. X.TP
  1242. X\-\fBS\fP    {\fBtoggle repeat\fP}
  1243. XDo not [do] eliminate duplicated subject lines on menus.
  1244. X.TP
  1245. X\-\fBT\fP    {\fBtoggle time\fP}
  1246. XDo not [do] show the current time in the prompt line.
  1247. X.TP
  1248. X\-\fBw\fP[\fIN\fP]    {\fBset window\fP \fIN\fP}
  1249. XReserve \fIN\fP lines of the menu screen for a preview window.  If
  1250. X\fIN\fP is omitted, the preview window is set to 5 lines.
  1251. X.TP
  1252. X\-\fBW\fP    {\fBtoggle confirm\fP}
  1253. X[Don't] Wait for confirmation on all messages.
  1254. X.TP
  1255. X\-\fBx\fP[\fIN\fP]    {\fBset old N\fP}
  1256. XPresent (or scan) all (or the last \fIN\fP) unread as well as
  1257. Xread articles.  This will 
  1258. X.I never
  1259. Xmark unread articles as read.
  1260. X.SH KEY MAPPINGS
  1261. XThe descriptions of the keys and commands provided in this manual
  1262. Xreflects the default key mappings in \fInn\fP.  However, you can
  1263. Xeasily change these mappings to match your personal demands, and it is
  1264. Xalso possible to remap keys depending on the terminal in use.
  1265. XPermanent remapping of keys must be done through the
  1266. X.I init
  1267. Xfile, while temporary changes (for the duration of the current
  1268. Xinvocation of \fInn\fP) can be made with the
  1269. X.B :map
  1270. Xcommand.
  1271. X.LP
  1272. XThe binding and mapping of keys are controlled by four tables:
  1273. X.TP
  1274. X.B The multikey definition table
  1275. XThis table is used for mapping multicharacter key sequences into
  1276. Xsingle characters.  By default the table contains the mappings for the
  1277. Xfour cursor keys, and there is room for 10 user-defined multikeys.
  1278. XThe fourteen multikeys are named: 
  1279. X.BR up ,
  1280. X.BR down ,
  1281. X.BR right ,
  1282. X.BR left 
  1283. X(the four arrow keys), and
  1284. X.BR #0
  1285. Xthrough
  1286. X.BR #9
  1287. Xfor the user-defined keys.
  1288. X.sp 0.5v
  1289. XMultikey #\fIi\fP is defined using the following command:
  1290. X.sp 0.5v
  1291. X    \fBmap #\fP\fIi\fP \fIsequence\fP
  1292. X.sp 0.5v
  1293. Xwhere the 
  1294. X.I sequence
  1295. Xis a list of 7-bit character names (see below) separated by spaces.  
  1296. XFor example, if the HOME key sends the sequence ESC [ H, you can
  1297. Xdefine multikey #0 to be the home key using the command:
  1298. X.sp 0.5v
  1299. X    map #0 ^[ [ H
  1300. X.TP
  1301. X.B The input key mapping table
  1302. XAll characters that are read from the keyboard will be mapped through
  1303. Xthe input mapping table.  Consequently, you can globally remap one key
  1304. Xto produce any other key value.  By default all keys are mapped into
  1305. Xthemselves.
  1306. X.sp 0.5v
  1307. XAn entry in the input key mapping table to map \fIinput-key\fP into
  1308. X\fInew-key\fP is made with the command
  1309. X.sp 0.5v
  1310. X    \fBmap key\fP \fIinput-key\fP \fInew-key\fP
  1311. X.sp 0.5v
  1312. XFor example, to make your ESC key function as 
  1313. X.B interrupt
  1314. Xyou can use the command
  1315. X.sp 0.5v
  1316. X    map key ^[ ^G
  1317. X.TP
  1318. X.B The selection mode key binding table
  1319. XThis table defines for each key which command should be invoked when
  1320. Xthat key is pressed in selection mode, i.e. when the article menu is
  1321. Xshown.  The command to bind a
  1322. X.I key
  1323. Xto a
  1324. X.I command
  1325. Xin selection mode is:
  1326. X.sp 0.5v
  1327. X    \fBmap menu\fP \fIkey command\fP
  1328. X.sp 0.5v
  1329. XFor example, to have the HOME key defined as multikey #0 above bound
  1330. Xto the 
  1331. X.B select
  1332. Xcommand, the following command is used:
  1333. X.sp 0.5v
  1334. X    map menu #0 select
  1335. X.TP
  1336. X.B The reading mode key binding table
  1337. XThis table defines for each key which command should be invoked when
  1338. Xthat key is pressed in reading mode, i.e. when the article text is
  1339. Xshown.  The command to bind a
  1340. X.I key
  1341. Xto a
  1342. X.I command
  1343. Xin reading mode is:
  1344. X.sp 0.5v
  1345. X    \fBmap show\fP \fIkey command\fP
  1346. X.LP
  1347. XKeys and character names are specified using the following notation:
  1348. X.TP
  1349. X.I C
  1350. XA single printable character represents the key or character itself.
  1351. X.TP
  1352. X\fB^\fP\fIC\fP
  1353. XThis notation represents a control key or character.  
  1354. XDEL is written as \fB^?\fP
  1355. X.TP
  1356. X\fI125\fP, \fI0175\fP, \fI0x7D\fP
  1357. XCharacters and keys can be specified by their ordinal value in
  1358. Xdecimal, octal, and hexadecimal notation.
  1359. X.TP
  1360. X\fBup\fP, \fBdown\fP, \fBright\fP, \fBleft\fP
  1361. XThese names represent the cursor keys.
  1362. X.TP
  1363. X\fB#0\fP  through  \fB#9\fP
  1364. XThese symbols represent the ten user-defined multikeys.
  1365. X.LP
  1366. XTo show the current contents of the four tables, the following
  1367. Xversions of the 
  1368. X.B :show
  1369. Xcommand are available:
  1370. X.TP
  1371. X.B :show map #
  1372. XShow the multikey definition table.
  1373. X.TP
  1374. X.B :show map key
  1375. XShow the input key mapping table.
  1376. X.TP
  1377. X.B :show map menu
  1378. XShow the selection mode key bindings.
  1379. X.TP
  1380. X.B :show map show
  1381. XShow the reading mode key bindings.
  1382. X.LP
  1383. XBelow is a list of all the commands that can be bound to keys, either
  1384. Xin selection mode, in reading mode, or both.  For each command the
  1385. Xdefault command key bindings in both modes are shown.
  1386. XIf the key is not bound in one of the modes, but it can be bound, the
  1387. Xcorresponding part will just be empty.  If the command cannot be bound
  1388. Xin one of the modes, that mode will contain the word \fBnix\fP.
  1389. X.LP
  1390. X.in +8n
  1391. X.ta \w'select-subject'u+5m +\w'Selection mode'u+3m
  1392. X.br
  1393. X\fIFunction    Selection mode    Reading mode
  1394. X.br
  1395. X\fBadvance-group\fP    A     A 
  1396. X.br
  1397. X\fBback-group\fP    B     B 
  1398. X.br
  1399. X\fBcancel\fP    C     C 
  1400. X.br
  1401. X\fBcommand\fP    :      : 
  1402. X.br
  1403. X\fBcompress\fP    \fBnix\fP     c 
  1404. X.br
  1405. X\fBcontinue\fP    \fBspace\fP     \fBspace\fP 
  1406. X.br
  1407. X\fBfind\fP    \fBnix\fP     / 
  1408. X.br
  1409. X\fBfind-next\fP    \fBnix\fP     . 
  1410. X.br
  1411. X\fBfollow\fP    F     fF 
  1412. X.br
  1413. X\fBfull-digest\fP    \fBnix\fP     H 
  1414. X.br
  1415. X\fBgoto-group\fP    G     G 
  1416. X.br
  1417. X\fBgoto-menu\fP    \fBnix\fP     = Z
  1418. X.br
  1419. X\fBhelp\fP    ?     ? 
  1420. X.br
  1421. X\fBkill-select\fP    K     K 
  1422. X.br
  1423. X\fBlayout\fP    L     \fBnix\fP 
  1424. X.br
  1425. X\fBleave-article\fP    \fBnix\fP     l 
  1426. X.br
  1427. X\fBline+1\fP    ,  \fBdown\fP     \fBreturn\fP
  1428. X.br
  1429. X\fBline-1\fP    /     \fBnix\fP 
  1430. X.br
  1431. X\fBline=@\fP    \fBnix\fP     g 
  1432. X.br
  1433. X\fBmacro\fP \fIM\fP
  1434. X.br
  1435. X\fBmail\fP    M     m M 
  1436. X.br
  1437. X\fBmessage\fP    ^P     ^P 
  1438. X.br
  1439. X\fBnext-article\fP    \fBnix\fP     n 
  1440. X.br
  1441. X\fBnext-group\fP    N     N 
  1442. X.br
  1443. X\fBnext-subject\fP    \fBnix\fP     k 
  1444. X.br
  1445. X\fBnil\fP        
  1446. X.br
  1447. X\fBoverview\fP    Y     Y 
  1448. X.br
  1449. X\fBpage+1\fP    >     \fBnix\fP
  1450. X.br
  1451. X\fBpage+1/2\fP    \fBnix\fP     d 
  1452. X.br
  1453. X\fBpage-1\fP    <     \fBdelete  backspace\fP 
  1454. X.br
  1455. X\fBpage-1/2\fP    \fBnix\fP     u 
  1456. X.br
  1457. X\fBpage=0\fP    \fBnix\fP     h 
  1458. X.br
  1459. X\fBpage=1\fP    ^     ^ 
  1460. X.br
  1461. X\fBpage=$\fP    $     $ 
  1462. X.br
  1463. X\fBpost\fP        
  1464. X.br
  1465. X\fBpreview\fP    %     % 
  1466. X.br
  1467. X\fBprevious\fP    P     p 
  1468. X.br
  1469. X\fBprint\fP        P 
  1470. X.br
  1471. X\fBquit\fP    Q     Q 
  1472. X.br
  1473. X\fBread-return\fP    Z     \fBnix\fP 
  1474. X.br
  1475. X\fBread-skip\fP    X     X 
  1476. X.br
  1477. X\fBredraw\fP    ^L ^R     ^L ^R 
  1478. X.br
  1479. X\fBreply\fP    R     r R 
  1480. X.br
  1481. X\fBrot13\fP    \fBnix\fP     D 
  1482. X.br
  1483. X\fBsave-body\fP    W     w W 
  1484. X.br
  1485. X\fBsave-full\fP    S     s S 
  1486. X.br
  1487. X\fBsave-short\fP    O     o O 
  1488. X.br
  1489. X\fBselect\fP    .     \fBnix\fP 
  1490. X.br
  1491. X\fBselect-auto\fP    +     \fBnix\fP 
  1492. X.br
  1493. X\fBselect-invert\fP    @     \fBnix\fP 
  1494. X.br
  1495. X\fBselect-range\fP    -     \fBnix\fP 
  1496. X.br
  1497. X\fBselect-subject\fP    *     * 
  1498. X.br
  1499. X\fBshell\fP    !     ! 
  1500. X.br
  1501. X\fBunselect-all\fP    ~     \fBnix\fP 
  1502. X.br
  1503. X\fBunshar\fP        
  1504. X.br
  1505. X\fBunsub\fP    U     U 
  1506. X.br
  1507. X\fBversion\fP    V     V 
  1508. X.in -8n
  1509. X.DT
  1510. X.LP
  1511. XSee the descriptions of the default bindings for a description of the
  1512. Xcommands.  The pseudo command
  1513. X.B nil
  1514. Xis used to
  1515. X.I unbind
  1516. Xa key.
  1517. X.SH MACRO DEFINITIONS
  1518. XPractically any combination of commands and key strokes can be defined
  1519. Xas a macro which can be bound to a single key in menu and/or reading mode.
  1520. X.LP
  1521. XThe macro definition must specify a sequence of commands and key
  1522. Xstrokes as if they were typed directly from the keyboard.  For
  1523. Xexample, a string specifying a file name must follow a save command.
  1524. XThis manual does not give a complete specification of all the input
  1525. Xrequired by the various commands; it is recommended to execute the
  1526. Xdesired command sequence from the keyboard prior to defining the macro
  1527. Xto get the exact requirements of each command.
  1528. X.LP
  1529. XAlthough it is possible to define temporary macros interactively using the 
  1530. X.B :define
  1531. Xcommand, macro definitions are normally placed in the 
  1532. X.I init
  1533. Xfile.  Macros are numbered from 0 to 31, i.e. it is possible to define
  1534. NO_NEWS_IS_GOOD_NEWS
  1535. echo "End of part 9"
  1536. echo "File nn.1 is continued in part 10"
  1537. echo "10" > s2_seq_.tmp
  1538. exit 0
  1539. ---
  1540. Kim F. Storm        storm@texas.dk        Tel +45 429 174 00
  1541. Texas Instruments, Marielundvej 46E, DK-2730 Herlev, Denmark
  1542.       No news is good news, but nn is better!
  1543.  
  1544.