NetBSD/share/examples/apm/script

88 lines
1.7 KiB
Bash
Executable File

#!/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