#!/bin/sh - # # $NetBSD: lid_switch,v 1.4 2006/09/27 01:41:45 jnemeth Exp $ # # Generic script for lid switch events. We try to put the system to sleep. # # Arguments passed by powerd(8): # # device event case "${2}" in pressed) lastconsole="$(/usr/sbin/wsconscfg -g)" curconsole="$lastconsole" while [ "$curconsole" -ne "1" ]; do /usr/sbin/wsconscfg -s 1 sleep 1 curconsole="$(/usr/sbin/wsconscfg -g)" done #/usr/pkg/sbin/vbetool vbestate save > /tmp/vbestate /sbin/sysctl -w machdep.sleep_state=3 sleep 2 #/usr/pkg/sbin/vbetool post #/usr/pkg/sbin/vbetool vbestate restore < /tmp/vbestate /usr/sbin/wsconscfg -s "$lastconsole" exit 0 ;; released) ;; *) logger -p warning "${0}: unsupported event ${2} on device ${1}" >&1 exit 1 esac