🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.mail.mush
Article #933

Re: instant notification of new mail in curses mode (LONG)

#933
From: Bill Petro - GSG Marketing
Date: Wed, 07 Jun 1989 22:57
222 lines
9056 bytes

Here is a little tool that I use on my Sun that will tell you not only
when you get new mail, but how many new mail items you have, and how
many unread items you have.  It is called "checkmail" and can be run as
a window tool in iconic form.  I run it automatically every 120 seconds
as part of my .suntools file with a very large font.

Here is my .suntools entry (should be all one line):

shelltool -Wp 2 153 -Ws 481 224 -WP 600 0 -Wi 
-Wt /usr/lib/fonts/fixedwidthfonts/gallant.r.19 
-Wl "suntool: checkmail" -WL "suntool: checkmail" checkmail -i 120 

Here is the shell script itself.  It is in "shar" format, which means
save everything below the cutmark into a file called "neato".  Then
type "sh neato" and three files will be created: checkmail, mail.icon,
and nomail.icon.  I have included these two icons for your viewing
pleasure.  Otherwise, you can uncomment the lines "#Havemail ..." and
"#Nomail ...".  Type "chmod +x checkmail" and you are set.  To run it
all the time, put the entry above in your .suntools file.  To run it on the
command line with a 120 second cycle, type "shelltool checkmail -i 120 &"

Bill Petro

------------------- Cutmark, cut here, valuable coupon ----------------------
#! /bin/sh
# This is a shell archive.  Remove anything before this line, then unpack
# it by saving it into a file and typing "sh file".  To overwrite existing
# files, type "sh file -c".  You can also feed this as standard input via
# unshar, or by typing "sh <file", e.g..  If this archive is complete, you
# will see the following message at the end:
#		"End of shell archive."
# Contents:  checkmail cm_shar mail.icon nomail.icon
# Wrapped by rock@warp on Wed Jun  7 15:18:22 1989
PATH=/bin:/usr/bin:/usr/ucb ; export PATH
if test -f 'checkmail' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'checkmail'\"
else
echo shar: Extracting \"'checkmail'\" \(1030 characters\)
sed "s/^X//" >'checkmail' <<'END_OF_FILE'
X#! /bin/sh
X#
X# checkmail - checks for new mail and updates icon label
X#		with "new" message.
X#
X# syntax:	checkmail [ -i seconds ]
X#
X# 16.nov.87	yOOnkim@Sun.COM
X#
X
Interval=60		# In seconds
X
case $1 in
X-i*)
X	if [ $# = 2 ]
X	then
X		Interval=$2
X	fi
X	;;
esac
X
Havemail=mail.icon
Nomail=nomail.icon
X#Havemail=/usr/include/images/mail.icon
X#Nomail=/usr/include/images/nomail.icon
X
XEsc=''
Close="echo -n ${Esc}[2t"
X
newLabel()
X{
X	echo -n "${Esc}]L$1\\"
X}
X
newicon()
X{
X	echo -n "${Esc}]I$1\\"
X}
X
newicon $Nomail
newLabel ""
X$Close
while true
do
X	Top=`echo x | mail | head -2 | egrep "new$|unread$"`
X	case "$Top" in
X	*new*unread)
X		label=`echo $Top | \
X			awk '{printf("%d/%d", $(NF-3), $(NF-1));}'`
X		newLabel "${label}"
X		newicon $Havemail
X		;;
X	*new)
X		label=`echo $Top | awk '{printf("  %d", $(NF-1));}'`
X		newLabel "${label}"
X		newicon $Havemail
X		;;
X	*unread)
X		label=`echo $Top | awk '{printf("%d_U", $(NF-1));}'`
X		newLabel "${label}"
X		newicon $Havemail
X		;;
X	*)
X		newLabel ""
X		newicon $Nomail
X		;;
X	esac
X	sleep $Interval
done
END_OF_FILE
echo shar: 3 control characters may be missing from \"'checkmail'\"
if test 1030 -ne `wc -c <'checkmail'`; then
    echo shar: \"'checkmail'\" unpacked with wrong size!
fi
chmod +x 'checkmail'
# end of 'checkmail'
fi
if test -f 'cm_shar' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'cm_shar'\"
else
echo shar: Extracting \"'cm_shar'\" \(0 characters\)
sed "s/^X//" >'cm_shar' <<'END_OF_FILE'
END_OF_FILE
if test 0 -ne `wc -c <'cm_shar'`; then
    echo shar: \"'cm_shar'\" unpacked with wrong size!
fi
# end of 'cm_shar'
fi
if test -f 'mail.icon' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'mail.icon'\"
else
echo shar: Extracting \"'mail.icon'\" \(1933 characters\)
sed "s/^X//" >'mail.icon' <<'END_OF_FILE'
X/* Format_version=1, Width=64, Height=64, Depth=1, Valid_bits_per_item=16
X */
X	0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
X	0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
X	0x0000,0x0000,0x0008,0x0000,0x0000,0x0000,0x000C,0x0000,
X	0x0000,0x0000,0x000E,0x0000,0x0000,0x0000,0x000F,0x0000,
X	0x0000,0x0000,0x000F,0x8000,0x0000,0x0000,0x000F,0xC000,
X	0x0000,0x0000,0x000F,0xE000,0x0000,0x0000,0x000F,0xF000,
X	0x0000,0x0000,0x000F,0xF800,0x0000,0x0000,0x000F,0xFC00,
X	0x0000,0x0000,0x000F,0xFE00,0x0000,0x0000,0x000F,0xFF00,
X	0x7FFF,0xFFFF,0xFFFF,0xFF80,0x7FFF,0xFFFF,0xFFFF,0xFFC0,
X	0x7FFF,0xFFFF,0xFFFF,0xFFE0,0x7E7C,0xF1E6,0x7FFF,0xFFF0,
X	0x7E38,0xE4E6,0x7FFF,0xFFF8,0x7E10,0xCE66,0x7FFF,0xFFFC,
X	0x7E44,0xCE66,0x7FFF,0xFFFE,0x7E6C,0xCE66,0x7FFF,0xFFFF,
X	0x7E7C,0xC066,0x7FFF,0xFFFF,0x7E7C,0xCE66,0x7FFF,0xFFFE,
X	0x7E7C,0xCE66,0x7FFF,0xFFFC,0x7E7C,0xCE66,0x7FFF,0xFFF8,
X	0x7E7C,0xCE66,0x03FF,0xFFF0,0x7E7C,0xCE66,0x03FF,0xFFE0,
X	0x7FFF,0xFFFF,0xFFFF,0xFFC0,0x7FFF,0xFFFF,0xFFFF,0xFF80,
X	0x0000,0x0000,0x000F,0xFF00,0x0000,0x0000,0x000F,0xFE00,
X	0x0000,0x0000,0x000F,0xFC00,0x0000,0x0000,0x000F,0xF800,
X	0x0000,0x0000,0x000F,0xF000,0x0000,0x0000,0x000F,0xE000,
X	0x0000,0x0000,0x000F,0xC000,0x0000,0x0000,0x000F,0x8000,
X	0x0000,0x0000,0x000F,0x0000,0x0000,0x0000,0x000E,0x0000,
X	0x0000,0x0000,0x000C,0x0000,0x0000,0x0000,0x0008,0x0000,
X	0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
X	0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
X	0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
X	0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
X	0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
X	0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
X	0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
X	0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
X	0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
X	0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000
END_OF_FILE
if test 1933 -ne `wc -c <'mail.icon'`; then
    echo shar: \"'mail.icon'\" unpacked with wrong size!
fi
# end of 'mail.icon'
fi
if test -f 'nomail.icon' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'nomail.icon'\"
else
echo shar: Extracting \"'nomail.icon'\" \(1933 characters\)
sed "s/^X//" >'nomail.icon' <<'END_OF_FILE'
X/* Format_version=1, Width=64, Height=64, Depth=1, Valid_bits_per_item=16
X */
X	0x0000,0x0000,0x0000,0x0000,0x7FFF,0xFFFF,0xFFFF,0xFFFE,
X	0x7FFF,0xFFFF,0xFFFF,0xFFFE,0x7FFF,0xFFFF,0xFFFF,0xFFFE,
X	0x7FFF,0xFFFF,0xFFFF,0xFFFE,0x7FFF,0xFFFF,0xFFFF,0xFFFE,
X	0x7FFF,0xFFFF,0xFFFF,0xFFFE,0x7FFF,0xFFFF,0xFFFF,0xFFFE,
X	0x7FFF,0xFFFF,0xFFFF,0xFFFE,0x7FFF,0xE000,0x0000,0x01FE,
X	0x7FFF,0x01FF,0xFFFF,0xFE7E,0x7FF8,0xFE3F,0xFFFF,0xFF9E,
X	0x7FE7,0xFFCF,0xFFFF,0xFFEE,0x7FDF,0xFFF7,0xFFFF,0xFFEE,
X	0x7F3F,0x8FF9,0xFFFF,0xFFF6,0x7EFF,0x07FE,0xFFFF,0xFFF6,
X	0x7EFE,0x03FE,0xFFFF,0xFFFA,0x7DFE,0x03FF,0x7FFF,0xFFFA,
X	0x7BFE,0x03FF,0xBFFF,0xFFFA,0x7BFF,0x07FF,0xBFFF,0xFFFA,
X	0x77FF,0x8FFF,0xDFFF,0xFFFA,0x77FF,0xFFFF,0xDFFF,0xFFFA,
X	0x77FF,0xFFFF,0xCFFF,0xFFFA,0x6FFF,0xFFFF,0xEFFF,0xFFFA,
X	0x6FFF,0xFFFF,0xEFFF,0xFFFA,0x6C00,0x0000,0x6FFF,0xFFDA,
X	0x5DFF,0xFFFF,0x6FFF,0xFF1A,0x5DFF,0xFFFF,0x6FFF,0xFC5A,
X	0x5DFF,0xFFFF,0x6FFF,0xF9DA,0x5C00,0x0000,0x6FFF,0xE3DA,
X	0x5FFF,0xFFFF,0xEFFF,0xCBDA,0x5FFF,0xFFFF,0xEFFF,0x3BDA,
X	0x5FFF,0xFFFF,0xEFFC,0x7BDA,0x5FFF,0xFFFF,0xEFF9,0xFBDA,
X	0x5FFF,0xFFFF,0xEFE3,0xFBDA,0x5FFF,0xFFFF,0xEE0F,0xFBDA,
X	0x5FFF,0xFFFF,0xEC1F,0xFBBA,0x5FFF,0xFFFF,0xEC1F,0xFA7A,
X	0x5FFF,0xFFFF,0xEC1F,0xF9FA,0x5FFF,0xFFFF,0xEE3F,0xFBFA,
X	0x5FFF,0xFFFF,0xEFFF,0xFFF2,0x5BDE,0x7BD8,0x2FFF,0xFFEE,
X	0x59DD,0xB9DB,0xEFFF,0xFFDE,0x59DB,0xD9DB,0xEFFF,0xFF3E,
X	0x5ADB,0xDADB,0xEFFF,0xFEFE,0x5ADB,0xDADB,0xEFFF,0xF9FE,
X	0x5B5B,0xDB58,0x6FFF,0xF7FE,0x5B5B,0xDB5B,0xEFFF,0xC7FE,
X	0x5B9B,0xDB9B,0xEFFF,0xB7FE,0x5B9B,0xDB9B,0xEFFF,0x77FE,
X	0x5BDD,0xBBDB,0xEFFC,0xF7FE,0x5BDE,0x7BD8,0x2FFB,0xF7FE,
X	0x5FFF,0xFFFF,0xEFE3,0xF7FE,0x5FFF,0xFFFF,0xEFDB,0xF7FE,
X	0x5FFF,0xFFFF,0xEFBB,0xF7FE,0x5FFF,0xFFFF,0xEE7B,0xF7FE,
X	0x5FFF,0xFFFF,0xEDFB,0xF7FE,0x5FFF,0xFFFF,0xEBFB,0xF7FE,
X	0x4000,0x0000,0x07FB,0xF7FE,0x7FFF,0xFFF7,0xFFFB,0xF7FE,
X	0x7FFF,0xFFF7,0xFFFB,0xF7FE,0x7FFF,0xFFF7,0xFFFB,0xF7FE,
X	0x7FFF,0xFFF7,0xFFFB,0xF7FE,0x0000,0x0000,0x0000,0x0000
END_OF_FILE
if test 1933 -ne `wc -c <'nomail.icon'`; then
    echo shar: \"'nomail.icon'\" unpacked with wrong size!
fi
# end of 'nomail.icon'
fi
echo shar: End of shell archive.
exit 0
{decwrl,hplabs,ucbvax}!sun!warp!rock  Bill Petro
Technical Details
Message-ID: <108723@sun.Eng.Sun.COM>
Path: arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!rutgers!tut.cis.ohio-state.edu!unmvax!pprg.unm.edu!hc!ames!amdcad!sun!warp!rock

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!rutgers!tut.cis.ohio-state.edu!unmvax!pprg.unm.edu!hc!ames!amdcad!sun!warp!rock
From: rock%warp@Sun.COM (Bill Petro - GSG Marketing)
Newsgroups: comp.mail.mush
Subject: Re: instant notification of new mail in curses mode (LONG)
Message-ID: <108723@sun.Eng.Sun.COM>
Date: 7 Jun 89 22:57:20 GMT
Sender: news@sun.Eng.Sun.COM
Reply-To: rock@sun.UUCP (Bill Petro - GSG Marketing)
Organization: Sun Microsystems, Mountain View
Lines: 222