#!/usr/local/bin/wish4.0
#
# tkbiff - Color version of Biff by Tk
# programmed by gaku@ueda.info.waseda.ac.jp
#
# Version 2 (95/09/26)
# $B4D6-JQ?t(BUSER$B$r;2>H$7!"%a!<%k%9%W!<%k$rH=CG$9$k$h$&$K2~NI(B
#
# Version 1 (95/09/19)
# $BFCDj%U%!%$%k$K$N$_;H$($k!#(B
#



# target file
#set file /a/brie/var/spool/mail/gaku
if [info exists env(USER)] {
	set file /var/spool/mail/$env(USER)
} else {
	exit 1
}

# Interval of Spool check.	interval/1000(sec)
set interval 1000

# Bitmap File
set file_empty /usr/local/lib/gaku/biff_empty.gif
set file_none /usr/local/lib/gaku/biff_none.gif
set file_full /usr/local/lib/gaku/biff_full.gif

image create photo img_full -file $file_full -palette 4/4/4
image create photo img_empty -file $file_empty -palette 4/4/4
image create photo img_none -file $file_none -palette 4/4/4

set state img_empty
set prev_size 0

proc Size {f} {
	set err	[catch {set size [file size $f]}]
	if {$err == 1} {return -1} {return $size}
}

proc Tick {} {
	global file prev_size interval
	after $interval Tick
	set s [Size $file]
	if {$s == -1} {
		.btn config -image img_none
	} else {
            if {$s == 0} { .btn config -image img_empty } 
	    if {$prev_size <= 0} {set prev_size 0}

		if {$prev_size < $s} {
			.btn config -image img_full
			bell
		}
	}
	set prev_size $s
}

proc checked {} {
	.btn config -image img_empty
}

# Create Window
button .btn -borderwidth 0 -relief flat -image $state -command {checked} 
#place .btn  -relx .5 -rely .5 -relwidth 1 -relheight 1 -anchor center
pack .btn 

# Main LOOP
Tick
