#!/usr/athena/bin/perl

die "Usage: $0 user machine [zwrite?]\n" if $#ARGV < 1;

require 'finger.pl';

$user = shift @ARGV;
$machine = shift @ARGV;
$zwrite = @ARGV;

if (!fork()) {
    while (1) {
	$seen = 0;
	$finger = &finger_str('', $machine);
	@finger = split("\n", $finger);
	foreach (@finger) {
	    if (/^$user/) {
		$seen++;
		if (substr($_, 37, 5) eq "     ") {
		    if ($zwrite) {
			open(Z, "| zwrite -n -q -s idle $ENV{'USER'}");
			select Z;
			print "$user not idle\n";
			close Z;
			exit 0;
		    }
		    else {
			die "$user not idle\n";
		    }
		    last;
		}
	    }
	}
	die "$user not on $machine\n" if !$seen;
	sleep 58;
    }
}
