GRn GRn GRn - Gadtools Read News for the Amiga GRn is a fully-featured Intuitionized Newsreader for the Amiga running 2.04 or above. GRn works with AmigaUUCP, NNTP and C-News. For detailed information concerning the operation of GRn, refer to the file named GRn.doc, which should be part of the GRn distribution. For information on how to install GRn, refer to the file INSTALL. For common problems, refer to the file PROBLEMS. It's easy to use, try it, and have fun! Run time parameters may be set on the command-line for shell users, and in the included GRn.info icon for Workbench users. All parameters are explained below. You can set the following environment variables to control GRn: USERNAME - the login name of the user running GRn REALNAME - the full name of the user NODENAME - the UUCP name of your system DOMAINNAME - the name of the domain your system is a part of ORGANIZATION - the name of the organization your system is a part of NEWSEDITOR - the program to run to Edit outgoing News MAILEDITOR - the program to run to Edit outgoing Mail SENDMAIL - the program that actually sends Mail to UUCP POSTNEWS - the program that actually sends News to UUCP UULIB - the directory where the grnrc is placed/found UUNEWS - the directory where news articles reside UUSPOOL - the directory where the GRn logfile is (by default) USER is a synonym for USERNAME. HOSTNAME is a synonym for NODENAME. For example, here is what they look like on one of the author's system: USERNAME mbs REALNAME Michael B. Smith NODENAME adastra DOMAINNAME .cvl.va.us ORGANIZATION Private UUCP Node NEWSEDITOR dme MAILEDITOR dme SENDMAIL uucp:c/sendmail POSTNEWS uucp:c/postnews UULIB uulib: UUNEWS uunews: UUSPOOL uuspool: The RealName, NodeName, DomainName and Organization are only used if you are running NNTP (for posting articles). If any of these are not set, GRn attempts to open a file named S:UUConfig (or UULIB:Config if it isn't present) and find them inside. The only variable absolutely required for the user to specify is UserName. All others have defaults applied. If you will be using NNTP, you should also specify RealName, NodeName, DomainName, and Organization. GRn will not normally use these except when you are using NNTP. PostNews is ignored when you are using NNTP. Shell special: If you are running GRn from the shell, you may subscribe to multiple newsgroups at startup. This is the syntax: grn -s newsgroup1 newsgroup2 ... newsgroupn The newsgroups MUST exist, or GRn will display an error message. Below the tooltype individual explanations is a "Notes" section that discusses some of the interactions between the arguments. Tooltypes/Command-Line Arguments with examples: TOP TOP=10 This tells GRn what the upper ('y') coordinate of its window should be. This defaults to "one character" in whatever font is used. LEFT LEFT=10 This tells GRn what the left-most ('x') coordinate of its window should be. This defaults to "one character" in whatever font is used. WIDTH WIDTH=640 This tells GRn how wide its window should be. This defaults to 640. HEIGHT HEIGHT=400 This tells GRn how high its window should be. This defaults to 400. FONT FONT=grn.font MSGFONT MSGFONT=grn.font These two commands (which are synonymous) tell GRn which font is to be used for display newsgroups and articles. Fonts must be non-proportional. They *must* be in the format "FONT=grn.font". If not, GRn will surely fail. This defaults to "grn.font". FONTSIZE FONTSIZE=8 MSGFONTSIZE MSGFONTSIZE=8 These two commands (which are synonymous) tell GRn the size of the font to be used in displaying newsgroup and articles. This defaults to 8. LOG LOG=UUSPOOL:LOGFILE LOGFILE LOGFILE=UUSPOOL:LOGFILE These two commands (which are synonymous) tell GRn what file to use to log fatal error messages. If GRn is start from a shell, these messages will also be displayed on standard output. A filename must be fully specified (such as: "LOG=UUSPOOL:LOGFILE"). This defaults to UUSpool:Logfile. WRAP WRAP=83 This tells GRn how many characters to display in an article before wrapping the line. Using topaz/8 requires a wrap at about 64. Using grn/8 requires a wrap at 83. This defaults to 82. UPDATERC UPDATERC This tells GRn to do a batch update of the news tree, and open no screens, and display no output (other than errors). Since it can take quite a while to scan the news tree, especially if you subscribe to some high-volume groups, it is recommended that you place the command "GRn updaterc" in a CronTab, or in your UUPoll script. If you do this, GRn will start up very quickly. This will NOT work for serial NNTP, unless you are VERY careful about how you establish communications with the NNTP server. This defaults to false. CNEWS CNEWS This indicates to GRn that you are running C-News. This means that GRn will check every file for residence when pruning a news-group, and not assume that the presence of a low-numbered file indicates that all files above it are present. This will take longer, but results in a significant savings in memory. This is required because C-News honors the "Expires:" header, whereas AmigaUUCP does not. GRn will use the file "UULib:News/Active" to get the valid Newsgroup list for subscriptions, instead of "UULib:NewsGroups". This defaults to false. SCREEN SCREEN=ScreenX PUBSCREEN PUBSCREEN=ScreenX These two commands (which are synonymous) tell GRn which screen to open it's window on. If GRn cannot open its window on the specified screen, GRn will display an error message (if started from the Shell) and/or write it to the logfile (if started from the Workbench). GRn attempts to open its screen on the default public screen (which is normally Workbench). If the default public screen is not large enough ("large enough" is 640x400 if the user does not set WIDTH and HEIGHT), GRn will open a custom screen (hi-res interlaced) that is large enough. This defaults to the default public screen. NNTP NNTP This tells GRn that articles are to be acquired from a remote machine that is utilizing Network News Transport Protocol (NNTP) version 1. This option must be set for the DEVICE, UNIT and HOSTNAME commands to be utilized. You may use NNTP across Ethernet or the serial port. This defaults to false. DEVICE DEVICE=serial.device This tells GRn that NNTP will occur across the serial port using the device named. Note that some devices, such as dnet.device, may not actually use the serial port -- but they emulate that interface. If NNTP is not specified, this option is ignored. This defaults to "serial.device". UNIT UNIT=0 This tells GRn that NNTP will occur across the serial port using the named (specified) unit of the previously named device. Note that some devices, such as dnet.device, require that UNIT be specified to a high number (such as 8192). Using the internal serial port, will allow the user to default to zero. If NNTP is not specified, this option is ignored. This defaults to 0. HOSTNAME HOSTNAME=nntp.local.domain This tells GRn that NNTP will occur across the Ethernet port using AS225 and socket.library. If you do not have socket.library, this will NOT work. If NNTP is not specified, this option is ignored. This has no default. PORT PORT=GRN_PORT PORTNAME PORTNAME=GRN_PORT These two commands (which are synonymous) tell GRn what the name of GRn's message port should be. Currently, this is of no use. However, GRn checks to ensure that this port does *not* currently exist. If it does, GRn informs you that another copy of GRn is already running. You are strongly advised against running multiple copies of GRn. This defaults to "GRN_PORT". TOOLPRI TOOLPRI=2 PRIORITY PRIORITY=2 These two commands (which are synonymous) tell GRn what priority to run at. GRn normally inherits its caller's priority, and does not set it. This has no default. 7WIRE 7WIRE This command tells GRn to set the 7-wire field for hardware flow control when using Serial based NNTP. This defaults to false. BPS BPS=9600 BAUD BAUD=57600 These two commands (which are synonymous) tell GRn at what baud rate the specified device and unit are to be set to, when using Serial based NNTP. This defaults to the user's Preferences/Serial default. Notes: GRn's icon is named "GRn.info". The GRn.info file that comes with this release has examples of each of these tooltypes. All are commented out, but you can see the exact format. If the TOP, LEFT, WIDTH, and HEIGHT arguments are specified then GRn will NOT attempt to open its normal custom screen. Also, if you specify the screen dimensions, they will override GRn's concept of what they should be. This can be dangerous, as a screen that is too small can cause GRn to have major problems placing gadgets. Using serial-based NNTP *requires* an error-free connection. If you don't have an MNP modem, or a V.42 modem, don't even try it. If GRn doesn't receive an expected response or an appropriate error, it will appear to hang. The serial routines will return an error if they receive a CTRL-C. If starting from a Shell, you *must* give the CTRL-C from the shell where GRn was started, not on the GRn window (why, I don't know). When using GRn-Term, the CTRL-C must be given using the C:Break command, as GRn is started as an independent process. If you are not using the internal serial port, you may need to specify "NOECHO", if GRn appears to hang at startup (and there is no modem activity). Using Ethernet-based NNTP requires the Commodore AS225 package, along with (currently available to developers only) socket.library. This was coded based on examples in AmigaMail, and I have no way to test it. PostNews is ignored for NNTP, but SendMail is still required. GRn does not do SMTP. If NNTP is set, GRn tries to use UULib:News/Active for a valid newsgroup list for subscription purposes. If it doesn't exist, GRn requests a list of valid newsgroups from the NNTP server and saves it throughout a session. GRn builds temporary article files in T: when using NNTP. Large articles can take a long time to transfer, as well as consume a great deal of memory. GRn is *not* smart about realizing that to "save" or "reply" or "followup" to an article that he doesn't need to re-request it.