mcgrew@dartagnan.rutgers.edu (Charles Mcgrew) (07/21/89)
Submitted-by: bowen%prg.oxford.ac.uk@nfsnet-relay.ac.uk Posting-number: Volume 1, Issue 55 Archive-name: rntool Copyright (C) 1989 University of Oxford Permission to copy without fee all or part of this material is granted provided that the copies are not made or distributed for direct commercial advantage, the University of Oxford copyright notice and the title and its date appear, and notice is given that copying is by permission of the University of Oxford or the original contributor. #! /bin/sh # This is a shell archive, meaning: # 1. Remove everything above the #! /bin/sh line. # 2. Save the resulting text in a file. # 3. Execute the file with /bin/sh (not csh) to create the files: # README # Makefile # rntool # rntool.1 # rn.sh # rn.tt # news.icon # nonews.icon # This archive created: Mon Apr 17 16:21:23 1989 # By: Jonathan "news" Bowen (Programming Research Group, Oxford University, UK) export PATH; PATH=/bin:$PATH echo shar: extracting "'README'" '(1734 characters)' if test -f 'README' then echo shar: will not over-write existing file "'README'" else sed 's/^ X//' << \SHAR_EOF > 'README' XThese files relate to the ``rntool'' command which allows news to be Xread within a SunView window using ``tooltool'' and ``rn''. The Xsoftware has only been tested on a Sun 3/50. The files include: X X Makefile - makefile to install files * X README - this file * X news.icon - icon displayed when new news is present X nonews.icon - icon display when there is no new news X rn.sh - main news reading "csh" shell script * X rn.tt - tooltool application description file * X rntool - start-up shell script * X rntool.1 - manual page for tool * X X"rntool" is normally invoked by a user (e.g. in $HOME/.suntools or X$HOME/.rootmenu) and this in turn invokes "tooltool". X X* Note that some files are currently put under "/usr/news". This may Xwell need to be changed depending on the local configuration. All the Xfiles except the icon files should be scanned for this string and Xedited appropriately before the files are installed (by running X"make"). X X"rn.sh" makes use of the "sunbell" program to sound the bell when news Xarrived. If this is not available then "rn.sh" should be edited at this Xpoint to edit out the call to "sunbell" and to sound the bell in some Xother way if desired. An example is given as a comment in the shell Xscript. X X XWritten by X Jonathan Bowen X Oxford University Computing Laboratory, X Programming Research Group, X 8-11 Keble Road, X Oxford OX1 3QD, X England. X Tel: +44-865-272574 (Sec: +44-865-273840) X XCopyright (C) 1988,1989 by J.P.Bowen X XPermission is granted to copy these files for Xnon-profit purposes, provided this notice is left intact. X XPlease send corrections, improvements, etc. to: X JANET: bowen@uk.ac.oxford.prg X ARPA: bowen%prg.oxford.ac.uk@nsfnet-relay.ac.uk X UUCP: ...!uunet!mcvax!ukc!ox-prg!bowen X SHAR_EOF if test 1734 -ne "`wc -c < 'README'`" then echo shar: error transmitting "'README'" '(should have been 1734 characters)' fi fi # end of overwriting check echo shar: extracting "'Makefile'" '(358 characters)' if test -f 'Makefile' then echo shar: will not over-write existing file "'Makefile'" else sed 's/^ X//' << \SHAR_EOF > 'Makefile' XROOT=/usr/news XBIN=/usr/local/bin XMAN=/usr/man/man1 XIMAGES=$(ROOT)/images XTOOLTOOL=$(ROOT)/tooltool X Xinstall: X chmod +x rntool rn.sh X cp rntool $(BIN) X cp rntool.1 $(MAN) X cp news.icon nonews.icon $(IMAGES) X cp rn.tt rn.sh $(TOOLTOOL) X Xshar: X shar -a README Makefile rntool rntool.1 rn.sh rn.tt \ X news.icon nonews.icon > rntool.shar X compress rntool.shar X SHAR_EOF if test 358 -ne "`wc -c < 'Makefile'`" then echo shar: error transmitting "'Makefile'" '(should have been 358 characters)' fi fi # end of overwriting check echo shar: extracting "'rntool'" '(401 characters)' if test -f 'rntool' then echo shar: will not over-write existing file "'rntool'" else sed 's/^ X//' << \SHAR_EOF > 'rntool' X#!/bin/sh X# X# rntool - window-based news reader for "rn" X# X# Written by Jonathan Bowen, October 1987 X# Updated July 1988, February 1989 X# X XROOT=/usr/news export ROOT XPATH=/bin:/usr/ucb:/usr/bin:/usr/local/bin:$ROOT/bin:$PATH X export PATH XPROGNAME=`basename $0` export PROGNAME XNEWSPROG=`basename $PROGNAME tool` export NEWSPROG X Xexec $ROOT/bin/tooltool -f $ROOT/tooltool/$NEWSPROG.tt -Wi $* X SHAR_EOF if test 401 -ne "`wc -c < 'rntool'`" then echo shar: error transmitting "'rntool'" '(should have been 401 characters)' fi chmod +x 'rntool' fi # end of overwriting check echo shar: extracting "'rntool.1'" '(2012 characters)' if test -f 'rntool.1' then echo shar: will not over-write existing file "'rntool.1'" else sed 's/^ X//' << \SHAR_EOF > 'rntool.1' X.TH RNTOOL 1L "6 February 1989" "" "LOCAL" X.UC X.ds RT /usr/news X.SH NAME Xrntool \- window-based interface for news X.SH SYNOPSIS X.B rntool X[ X.B \-i X.I seconds X] X.SH DESCRIPTION X.I Rntool Xis a window-based interface to the \fIrn\fP(1) program for reading news Xin the SunView environment on a Sun workstation. The window is Xopened as a icon initially. The icon indicates whether there is any Xnews to be read. Additionally, the bell is sounded when new news Xarrives, and \fIrn\fP is automatically invoked. The news may then be Xread by opening the window and using \fIrn\fP in the normal way. If Xthere is no new news available, \fIrn\fP may still be invoked by Xopening the window. The window is automatically closed on exit from X\fIrn\fP. X.PP XSome commands may be entered using a mouse-selectable menu at the top Xof the window if desired. Pressing the left mouse button invokes the Xdefault action; pressing the right mouse button may display a sub-menu Xfor further selection of actions. X.PP XThe \fB$NEWSPROG\fP environment variable may be used to specify Xanother news reading program if desired. However the menu provided has Xbeen specifically tailored for the default program, \fIrn\fP. X.SH OPTIONS XThe follow options are available: X.TP 12 X.BI \-i " seconds" XCheck for new news every \fIseconds\fP seconds. XThe default is 600 (10 minutes). X.TP 12 X.BI \-W .\|.\|. XThe standard \fIsuntools\fP generic tool arguments may also be included Xif desired. See \fIsuntools\fP(1) for more information. X.SH FILES X.PD 0 X.TP 35 X\*(RT/images/news.icon Xnews available icon X.TP 35 X\*(RT/images/nonews.icon Xno news available icon X.TP 35 X\*(RT/tooltool/rn.tt X\fItooltool\fP(1) description file X.TP 35 X\*(RT/tooltool/rn.sh Xapplication shell script X.PD X.SH "SEE ALSO" Xmailtool(1), Xnews(5), Xnewstool(1L), Xshelltool(1), Xrn(1), Xsunbell(1L), Xtooltool(1) X.SH AUTHOR XJonathan Bowen, Oxford University X.SH BUGS XThis shell script and manual page may change without notice. X.br XPlease report problems to \fI<bowen@prg.oxford.ac.uk>\fP. SHAR_EOF if test 2012 -ne "`wc -c < 'rntool.1'`" then echo shar: error transmitting "'rntool.1'" '(should have been 2012 characters)' fi fi # end of overwriting check echo shar: extracting "'rn.sh'" '(2099 characters)' if test -f 'rn.sh' then echo shar: will not over-write existing file "'rn.sh'" else sed 's/^ X//' << \SHAR_EOF > 'rn.sh' X#!/bin/csh -f X# X# rn.sh - News reading program - check for news every so often, X# change icon etc. when news is present/absent. X# X# Normally invoked by "tooltool -f rn.tt". X# X# Written by Jonathan Bowen, July/August 1988 X# Based on "newsreader", written by Jonathan Bowen, October 1987 X# Based on a "newsread" shell script by Jeremy Jacob, 9 Oct 87 X# Updated by Jonathan Bowen, February 1989 X# X Xonintr - X Xif (! ${?ROOT}) then X set ROOT=/usr/news Xendif X Xset PATH=/bin:/usr/bin:/ucb/bin:/usr/local/bin:$ROOT/bin X Xif (! ${?PROGNAME}) then X set PROGNAME=`basename $0` Xendif X X# Directory containing icons for this shell script Xset ICONDIR=$ROOT/images X X# Interval in seconds between checks for news Xset INTERVAL=600 X X# BEL is the ASCII bell character (octal 007) Xset BEL=`echo -n x | tr x '\007'` X# ESC is the ASCII escape character (octal 033) Xset ESC=`echo -n x | tr x '\033'` X X# "rn" is the default newsreading program unless NEWSPROG is set Xif (! ${?NEWSPROG}) then X set NEWSPROG=rn Xendif X Xecho -n "${ESC}]L${ESC}\" X Xwhile (1) X X echo -n "${ESC}[2t" X set NEWNEWS=`rn -c` X X if (! $#NEWNEWS) then X echo -n "${ESC}]I$ICONDIR/nonews.icon${ESC}\" X echo -n "${ESC}]l$PROGNAME - No news${ESC}\" X X# Check for new news X while (! $#NEWNEWS) X onintr read X sleep $INTERVAL X set NEWNEWS=`rn -c` X goto cont X# Read news anyway Xread: X onintr - X echo -n "${ESC}]l$PROGNAME - Reading news${ESC}\${ESC}[1t" X clear X $NEWSPROG X clear X echo -n "${ESC}[2t${ESC}]l$PROGNAME - No news${ESC}\" Xcont: X onintr - X end X X# Enable "News" icon. X echo -n "${ESC}]I$ICONDIR/news.icon${ESC}\" X# Sound bell ("Read all a------bout it!") X sunbell 200 50 200 50 100 50 400 50 100 X# Sound bell twice (use if "sunbell" is not available) X# echo -n "${BEL}" ; sleep 1; echo -n "${BEL}" X# Sound bell and make icon visible (Not safe if screen is locked) X# echo -n "${BEL}${ESC}[5t" ; echo -n "${BEL}" X endif X X# Read new news X echo -n "${ESC}]I$ICONDIR/news.icon${ESC}\" X echo -n "${ESC}]l$PROGNAME - News${ESC}\" X clear X $NEWSPROG X clear X Xend X SHAR_EOF if test 2099 -ne "`wc -c < 'rn.sh'`" then echo shar: error transmitting "'rn.sh'" '(should have been 2099 characters)' fi chmod +x 'rn.sh' fi # end of overwriting check echo shar: extracting "'rn.tt'" '(1916 characters)' if test -f 'rn.tt' then echo shar: will not over-write existing file "'rn.tt'" else sed 's/^ X//' << \SHAR_EOF > 'rn.tt' Xapplication "/usr/news/tooltool/rn.sh" X font "/usr/lib/fonts/fixedwidthfonts/screen.r.14" X size 36 by 80 characters X label "rntool" X icon "/usr/news/images/nonews.icon" X open "^C" X close "q" Xgadgets X top X font "/usr/lib/fonts/fixedwidthfonts/screen.b.14" X ragged X button X normal "Default" " " X shift "Back" "^B" X control "Refresh" "^L" X meta "Refresh and decrypt" "X" X end_button X button X normal "Help" "h" X end_button X button X normal "Quit" "q" X shift "Close" CLOSE X control "Exit" EXIT X end_button X button X normal "List" "L" X end_button X button X normal "Goto" "g" X shift "Goto specified subject" "g^Subj.*:.*" X control "Goto next subject in article" "^G" X meta "Search" "/" X end_button X button X normal "Next" "N" X shift "Next unread" "n" X control "Next unread with same subject" "^N" X meta "Next subject in article" "^G" X end_button X button X normal "Prev" "P" X shift "Previous unread" "p" X control "Previous unread with same subject" "^P" X meta "Previous displayed newsgroup" "-" X end_button X button X normal "Yes" "y" X end_button X button X normal "No" "n" X end_button X button X normal "Top" "^R" X shift "Decrypt" "^X" X control "Verbose" "v" X end_button X button X normal "Reply" "r" X shift "Reply, including article" "R" X end_button X button X normal "Followup" "f" X shift "Followup, including article" "F" X end_button X menu "Others" X "Subjects" "=" X "Next subject" "^G" X "Same subject" "^N" X "Go to first article" "1" X "Go to first unread article" "^" X "Go to last article" "$" X "Mark all articles read" "c" X "Mark article as unread" "m" X "Unsubscribe" "u" X "Edit KILL file" "^K" X end_menu Xend_gadgets SHAR_EOF if test 1916 -ne "`wc -c < 'rn.tt'`" then echo shar: error transmitting "'rn.tt'" '(should have been 1916 characters)' fi fi # end of overwriting check echo shar: extracting "'news.icon'" '(1933 characters)' if test -f 'news.icon' then echo shar: will not over-write existing file "'news.icon'" else sed 's/^ X//' << \SHAR_EOF > 'news.icon' X/* Format_version=1, Width=64, Height=64, Depth=1, Valid_bits_per_item=16 X */ X 0xFFFF,0xFFFF,0xFFFF,0xFFFF,0x8000,0x0000,0x0000,0x0001, X 0x8000,0x0000,0x0000,0x0001,0x8003,0x9C00,0x0000,0x0001, X 0x8001,0xC800,0x0000,0x0001,0x8001,0xC800,0x0000,0x0001, X 0x8001,0x6870,0xC63E,0x0001,0x8001,0x68C8,0xC642,0x0001, X 0x8001,0x398C,0xC660,0x0001,0x8001,0x39FC,0xD63C,0x0001, X 0x8001,0x1980,0xD61E,0x0001,0x8001,0x1980,0xFE43,0x0001, X 0x8001,0x08C4,0xEE61,0x0001,0x8003,0x8878,0xC65E,0x0001, X 0x8000,0x0000,0x0000,0x0001,0x8000,0x0000,0x0000,0x0001, X 0xFFFF,0xFFFF,0xFFFF,0xFFFF,0x8000,0x0000,0x0000,0x0001, X 0x8000,0x0000,0x0000,0x0001,0x8000,0x0000,0x0000,0x0001, X 0xBFFF,0xFD75,0xD346,0x0001,0xA000,0x0524,0x9B49,0x24A1, X 0xA010,0x0500,0x0045,0x24D1,0xA040,0x057E,0xAD42,0x2491, X 0xA48F,0x7D00,0x0049,0x2C91,0xA8EC,0xE55B,0xEB46,0x1491, X 0xAAEA,0xE500,0x0040,0x0001,0xA0AA,0xCD75,0xDF5B,0xE7FD, X 0xA8A8,0x8500,0x0040,0x0001,0xAFFF,0xF55F,0xFB57,0x7F7D, X 0xA935,0x0500,0x0040,0x0001,0xBFFF,0xFD7E,0x775D,0xFBFD, X 0x8000,0x0100,0x0040,0x0001,0xA828,0x0175,0xBD5E,0xFEED, X 0xBB3B,0x5500,0x0040,0x0001,0xAB2B,0x756F,0xFF5F,0xBFDD, X 0x8000,0x0100,0x0040,0x0001,0xBEFD,0xFD7F,0xCF5D,0xFB7D, X 0x8000,0x0100,0x0040,0x0001,0xB7F7,0xFD7B,0xBF57,0xDDDD, X 0x8000,0x0100,0x0040,0x0001,0xBBDF,0xDD3E,0xFB5F,0xBDED, X 0x8000,0x0100,0x0040,0x0001,0xBF7F,0x7D7F,0x675F,0xFFFD, X 0x8000,0x0100,0x0050,0x0005,0xBEE9,0xFD7B,0x9F50,0x3E05, X 0x8000,0x0100,0x0050,0x7F05,0xBBDF,0xBD6F,0xEF50,0xFF85, X 0x8000,0x0100,0x0051,0xC1C5,0xBFEF,0xFD7E,0xFF51,0x8045, X 0x800C,0x4D00,0x0053,0x2165,0xB6ED,0x057B,0xF352,0x52A5, X 0x8009,0x6500,0x0052,0x2125,0xBFEA,0x657C,0xFF52,0x0C25, X 0x8008,0x8500,0x0052,0x0025,0xBDCF,0x257B,0xBF51,0x3E45, X 0x8008,0x0500,0x0050,0x9C85,0xB7EB,0xF57F,0xCF50,0x4105, X 0x800A,0x7500,0x0050,0xBE85,0xA7AB,0xB57E,0xEF51,0x0045, X 0x800A,0xDD00,0x0052,0x0025,0xBCEF,0xFD6F,0xDF5F,0xFFFD, X 0x8000,0x0000,0x0000,0x0001,0xFFFF,0xFFFF,0xFFFF,0xFFFF SHAR_EOF if test 1933 -ne "`wc -c < 'news.icon'`" then echo shar: error transmitting "'news.icon'" '(should have been 1933 characters)' fi fi # end of overwriting check echo shar: extracting "'nonews.icon'" '(1933 characters)' if test -f 'nonews.icon' then echo shar: will not over-write existing file "'nonews.icon'" else sed 's/^ X//' << \SHAR_EOF > 'nonews.icon' X/* Format_version=1, Width=64, Height=64, Depth=1, Valid_bits_per_item=16 X */ X 0xFFFF,0xFFFF,0xFFFF,0xFFFF,0x8000,0x0000,0x0000,0x0001, X 0x8000,0x0000,0x0000,0x0001,0x8E70,0x0079,0xC000,0x0001, X 0x8720,0x001C,0x8000,0x0001,0x8720,0x001C,0x8000,0x0001, X 0x85A0,0xC016,0x870C,0x63E1,0x85A1,0x2016,0x8C8C,0x6421, X 0x84E3,0x3013,0x98CC,0x6601,0x84E3,0x3013,0x9FCD,0x63C1, X 0x8463,0x3011,0x980D,0x61E1,0x8463,0x3011,0x980F,0xE431, X 0x8421,0x2010,0x8C4E,0xE611,0x8E20,0xC078,0x878C,0x65E1, X 0x8000,0x0000,0x0000,0x0001,0x8000,0x0000,0x0000,0x0001, X 0xFFFF,0xFFFF,0xFFFF,0xFFFF,0x8000,0x0000,0x0000,0x0001, X 0x8000,0x0000,0x0000,0x0001,0x8000,0x0000,0x0000,0x0001, X 0xBFFF,0xFD75,0xD346,0x0001,0xA000,0x0524,0x9B49,0x24A1, X 0xA000,0x0500,0x0045,0x24D1,0xA000,0x0500,0x0042,0x2491, X 0xA000,0x0500,0x0049,0x2C91,0xA000,0x0500,0x0046,0x1491, X 0xA000,0x0500,0x0040,0x0001,0xA000,0x0500,0x0040,0x0001, X 0xA000,0x0500,0x0040,0x0001,0xA000,0x0500,0x0040,0x0001, X 0xA000,0x0500,0x0040,0x0001,0xBFFF,0xFD00,0x0040,0x0001, X 0x8000,0x0100,0x0040,0x0001,0xA828,0x0100,0x0040,0x0001, X 0xBB3B,0x5500,0x0040,0x0001,0xAB2B,0x7500,0x0040,0x0001, X 0x8000,0x0100,0x0040,0x0001,0x8000,0x0100,0x0040,0x0001, X 0x8000,0x0100,0x0040,0x0001,0x8000,0x0100,0x0040,0x0001, X 0x8000,0x0100,0x0040,0x0001,0x8000,0x0100,0x0040,0x0001, X 0x8000,0x0100,0x0040,0x0001,0x8000,0x0100,0x005F,0xFFFD, X 0x8000,0x0100,0x0050,0x0005,0x8000,0x0100,0x0050,0x0005, X 0x8000,0x0100,0x0050,0x0005,0x8000,0x0100,0x0050,0x0005, X 0x8000,0x0100,0x0050,0x0005,0x800F,0xFD00,0x0050,0x0005, X 0x8008,0x0500,0x0050,0x0005,0x8008,0x0500,0x0050,0x0005, X 0x8008,0x0500,0x0050,0x0005,0x8008,0x0500,0x0050,0x0005, X 0x8008,0x0500,0x0050,0x0005,0x8008,0x0500,0x0050,0x0005, X 0x8008,0x0500,0x0050,0x0005,0x8008,0x0500,0x0050,0x0005, X 0x8008,0x0500,0x0050,0x0005,0x8008,0x0500,0x0050,0x0005, X 0x8008,0x0500,0x0050,0x0005,0x800F,0xFD00,0x005F,0xFFFD, X 0x8000,0x0000,0x0000,0x0001,0xFFFF,0xFFFF,0xFFFF,0xFFFF SHAR_EOF if test 1933 -ne "`wc -c < 'nonews.icon'`" then echo shar: error transmitting "'nonews.icon'" '(should have been 1933 characters)' fi fi # end of overwriting check # End of shell archive exit 0