#! /usr/bin/perl

$LID_FLAG = "/etc/acpi/lid_closed";
$event = $ARGV[1];

sub sub_sleep {    
    system "logger going to sleep";
    system "sync; sync; sync";
    system "echo mem >> /sys/power/state";
    # commands below this line will not be executed
    # until the system resumes:
    system "logger waking up";
}

system "logger sleep.pl called for event: $event\n";

if ($event eq "sleep"){
    sub_sleep();
    exit;
}

if ($event eq "lid"){
    if (-e $LID_FLAG){
	system "logger lid was closed, now opening, so only remove lid flag.";
	system "rm $LID_FLAG";		
	exit;
    } else {
	system "logger lid was opened, now closing, so set lid flag and sleep.";
	system "touch $LID_FLAG";
	sub_sleep();
	exit;
    }
} 


