NetBSD-5.0.2/share/examples/apm/script

#!/bin/sh
#
# $NetBSD: script,v 1.5 2003/03/10 16:14:37 david Exp $
#

#
# Link this script to /etc/apm/{suspend,standby,resume,line,battery}
# to play some sounds on suspend/resume, and enable/shutdown the 
# network card:
#
#   mkdir /etc/apm
#   cp script /etc/apm/suspend
#   cd /etc/apm
#   for i in standby resume line battery ; do ln suspend $i ; done
#   chmod a+x suspend standby resume line battery
#
# See apmd(8) for more information.
#


PATH=/usr/pkg/bin:/sbin:$PATH
export PATH

# Where some sound files are stored:
S=/usr/X11R6/share/kde/sounds

# What my network card's recognized as:
if=ne0

LOGGER='logger -t apm'


noise() {
	if [ -f $1 ]; then
		audioplay -q -f -s 22050 -c 1 $1
	fi
}

case $0 in
*suspend)	
	$LOGGER 'Suspending...'
	noise $S/KDE_Window_UnMaximize.wav
	# In case some NFS mounts still exist - we don't want them to hang:
	umount -a    -t nfs
	umount -a -f -t nfs
	ifconfig $if down
	sh /etc/rc.d/dhclient stop
	$LOGGER 'Suspending done.'
	;;

*standby)
	$LOGGER 'Going to standby mode ....'
	noise $S/KDE_Window_UnMaximize.wav
	# In case some NFS mounts still exist - we don't want them to hang:
	umount -a    -t nfs
	umount -a -f -t nfs
	ifconfig $if down
	sh /etc/rc.d/dhclient stop
	$LOGGER 'Standby done.'
	;;

*resume)
	$LOGGER 'Resuming...'
	noise $S/KDE_Startup.wav
	sh /etc/rc.d/dhclient start
	# mount /home
	# mount /data
	$LOGGER 'Resuming done.'
	;;

*line)
	# noise $S/KDE_Window_DeIconify.wav
	$LOGGER 'Running on power line.'
	mount -u -o atime,devmtime -A -t ffs
	atactl wd0 setidle 0
	;;

*battery)
	# noise $S/KDE_Window_DeIconify.wav
	$LOGGER 'Running on battery.'
	mount -u -o noatime,nodevmtime -A -t ffs
	atactl wd0 setidle 5
	;;

esac

exit 0