ka@spanky.UUCP (06/06/83)
VVVVnnnneeeewwwwssss UUUUsssseeeerrrr''''ssss MMMMaaaannnnuuuuaaaallll bbyy KKKKeeeennnnnnnneeeetttthhhh AAAAllllmmmmqqqquuuuiiiisssstttt 1. OOOOvvvveeeerrrrvvvviiiieeeewwww Vnews is a program for reading USENET news. It is based on readnews but has a CRT oriented user interface. The command line options are identical. The list of available commands is quite similar, although since vnews is a "visual" interface, most vnews commands do not have to be terminated by a newline. Vnews is an experiment in writing a good user interface. The only way I can tell how successful I have been is by the responses I receive, so please send you comments, good or bad, to decvax!harpo!houxm!spanky!ka. (Bug reports should be sent to the same address.) Vnews uses the first 22 lines of the screen to display the current article. Line 23 is the secondary prompt line, and is used to input string arguments to commands. Line 24 contains several fields. The first field is the prompt field. If vnews is at the end of an article, the prompt is "next?"; otherwise the prompt is "more?". The second field is the newsgroup field, which displays the current newsgroup, the number of the current article, and the number of the last article in the newsgroup. The third field contains the current time, and the last field contains the word "mail" if you have mail. When you receive new mail, the bell on the teminal is rung and the word mail appears in capital letters for 30 seconds. 2. CCCCoooommmmmmmmaaaannnnddddssss Most of the readnews commands have vnews counterparts and vice versa. Some differences are: - Vnews does not have the X command because I don't think it belongs in readnews anyway. (It should be a separate program.) - It lacks an H command. I don't think that there is enough demand to justify this; just escape to the shell and say cat $A or sed '/^$/q' $A. - 2 - - It lacks a digest command. This would be nice to have, but it does not seem to be a major deficiency since you can move around in the article with vnews commands. If you really miss it, try compiling visual.c with the -DDIGPAGE option to cause each entry in a digest to start on a new page. - To get to the previous group, use the N command with a '-' argument. - Vnews has commands commands for moving around in the article which readnews does not have since they aren't applicable. - It has a parent command which will go to the article that the current article is a followup to, and a write command that writes out the body of an article without the header. - You can refer to the current article from the shell or while writing a followup as $A. - The decrypt command always does rot 13; rot 13 seems to be the default standard and the readnews version occasionally gets confused. Each vnews command may be preceded by a count. Some commands use the count; others ignore it. If count is omitted, it defaults to one. Some commands prompt for an argument on the second to the bottom line of the screen. Standard UNIX erase and kill processing is done on this argument. The argument is terminated by a return. An interrupt (delete or break) gets you out of any partially entered command. A list of commands follows. CR A carriage return prints more of the current article, or goes on to the next article if you are at the end of the current article. ^B A CONTROL-B goes backwards count pages. ^N or ^Y Go forwards count lines. ^P or ^Z Go backwards count lines. ^D Go forward half a page. h Go back to the top of the article and display only the header. - 3 - n Go on to the next article, marking the current article as read. e Marking the current article as unread and advance by count articles. Count may be zero. ug Unsubscribe to the current group. This is a two character command to ensure that it is not typed accidentally and to leave room for other types of unsubscribes (e. g. unsubscribe to discussion). v Print netnews version. b or - Go back to the previous article. This is a toggle (as in readnews), so that two b commands in a row get you back to the article you started with. + Go forward count articles. q Quit. The .newsrc file is updated. ^\ When sent a quit signal, vnews terminates without updating .newsrc. As distributed it calls abort() to generate a core dump; individual sites may want to delete this call. c Cancel the current article. Vnews prompts for confermation before cancelling the article. Carriage return means yes; anything else means no. ! Prompts for a UNIX command and passes it to the shell. The environment variable $A is set to the name of the file containing the current article. If the last character of the command is a "&", then the "&" is deleted and the command is run in the background with stdin, stdout and stderr redirected to /dev/null. If the command is missing, the shell is invoked. Use the l command (or essentially any other command) to turn on the display after the program terminates. r Reply to author of article. See f command for details. f Post a followup article. I haven't implemented "recording" messages because I think they're silly. If the article was posted to a moderated group, the followup is mailed to the sender of the article. - 4 - Both reply and followup work similarly. A file containing a header is created and an editor is invoked on the file. The environment variable $A is set to the current article in case you want to refer to it or quote it in your response. The second argument to the editor is $A, so that if you run Gosling's emacs, the article will automaticly appear in the second window. The header may be edited by the user, a feature I consider very useful. For example, if sombody posts an article to both btl.general and bell.general, you don't want to compound the error by posting the followup to both btl.followup and bell.followup. [Yes, I know readnews now allows this too.] If you change your mind about replying or posting a followup article, exit the editor without writing the file. A message will appear on the screen to inform you that the response was not mailed/posted. l or d Causes the current article to be displayed. Display of the current article is turned off by commands which scramble the screen (!, f, and r). My feeling here is that the user frequently wants to respond to an article and then go on to the next article; she/he shouldn't be forced to wait while the current article is rewritten to the screen. The l command will also redisplay the article if the help message is currently displayed. The mnemonic significance of l is that is similar to control-L, which redraws the screen. N Go to a different newsgroup. You are prompted for a newsgroup name. A null newsgroup name gets the next group, the name "-" gets the previous group. The semantics of this command are obscure; I can only refer you to the equally unenlightenning description of the N command in the readnews documentation. If vnews is invoked with the -x and -r options, N with a null newsgroup name will exit vnews. # Prints the numbers of the current article and the last article in the current newsgroup. ^L Rewrites the screen. CONTROL-L may be typed at any time. - 5 - D Decrypts a joke. It only handles rot 13 jokes. The D command is a toggle; typing another D re- encrypts the joke. < Prompts for an article ID or the rest of a message ID. It will display the article if it exists. A Go to the article numbered count in the current newsgroup. Regretably, no error message is produced if the article doesn't exist. Instead vnews starts from count and continues skanning until it finds and article. p Gets you the parent article (the article that the current aricle is a followup to). This doesn't work if the current article was posted by A new or notesfile. To get back to from the parent article, use the b command. Unfortunately, you use several p commands to trace the discussion back further, there is no command to get you back, s Prompts you for a file name and appends the article to the file. Depending on how the netnews administrator set up your system, the article may have a "From " line in front of it to allow the file to be read using your mail program. w Writes the article to a file without the article header. It is equivelant to "!sed 1',?^$/d' $A > file" but is built in to avoid trashing the screen. It is intended primarily for saving stuff in net.sources. ? Displays a synopsys of commands. The synopsys will be removed from the screen when the next command is executed. If you want to remove the synopsys without doing anything else, use the d command. 3. BBBBuuuuggggssss aaaannnndddd WWWWiiiisssshhhh LLLLiiiisssstttt 1. If the posting date on an article is not in ARPA format, vnews will mangle it. This won't normally affect you since inews converts all dates to ARPA format, but you may encounter this bug if you use vnews to look at old articles. 2. As with other visual interfaces, vnews does not handle typing errors gracefully. Occasionally I hit the enter key on my terminal, which sends the entire - 6 - bottom line. If the prompt is "more? ", the "r" will be interpreted as a reply command and I can recover by simply exiting the editor which vnews puts me into. If the prompt is "next? ", I exit news by sending it a quit signal (typing FS) and start all over again. I have no real solution to this rpoblem. 3. There is some argument for always printing the first page of the article rather than printing just the header and forcing the user to type a return. At 9600 baud, this does not slow things down too much, and at slower speeds this might still be better for users who use virtterm (i. e. have interruptable screen updates). I can't add an option to readnews without modifying code outside visual.c, but if you want this feature simply delete code in getnextart which sets the HDRONLY flag. 4. There should be an "unsubscribe to followup" command which would prevent you from seeing further followups on a given topic. This would remember the article title and not show you any more articles with that title or that title preceded by "Re: ". The list of titles would be stored in a file together with a date, and vnews would strip entries more than say 3 weeks old when reading in the file. Implementation of this idea is complicated by the fact that the notesfile system truncates titles. 5. An unsubscribe to person command is also tempting on occasion, but that seems to violate the spirit of USENET.