1#!/bin/sh
2#
3# $NetBSD: script,v 1.7 2021/11/02 21:55:38 abs Exp $
4#
5
6#
7# Link this script to /etc/apm/{suspend,standby,resume,line,battery}
8# to play some sounds on suspend/resume, and enable/shutdown the 
9# network card:
10#
11#   mkdir /etc/apm
12#   cp script /etc/apm/suspend
13#   cd /etc/apm
14#   for i in standby resume line battery ; do ln suspend $i ; done
15#   chmod a+x suspend standby resume line battery
16#
17# See apmd(8) for more information.
18#
19
20
21PATH=/usr/pkg/bin:/sbin:$PATH
22export PATH
23
24# Where some sound files are stored:
25S=/usr/pkg/share/kde/sounds
26
27# What my network card's recognized as:
28if=ne0
29
30LOGGER='logger -t apm'
31
32
33noise() {
34	if [ -f $1 ]; then
35		audioplay -q -f -s 22050 -c 1 $1
36	fi
37}
38
39case $0 in
40*suspend)	
41	$LOGGER 'Suspending...'
42	noise $S/KDE_Window_UnMaximize.wav
43	# In case some NFS mounts still exist - we don't want them to hang:
44	umount -a    -t nfs
45	umount -a -f -t nfs
46	ifconfig $if down
47	sh /etc/rc.d/dhcpcd stop
48	$LOGGER 'Suspending done.'
49	;;
50
51*standby)
52	$LOGGER 'Going to standby mode ....'
53	noise $S/KDE_Window_UnMaximize.wav
54	# In case some NFS mounts still exist - we don't want them to hang:
55	umount -a    -t nfs
56	umount -a -f -t nfs
57	ifconfig $if down
58	sh /etc/rc.d/dhcpcd stop
59	$LOGGER 'Standby done.'
60	;;
61
62*resume)
63	$LOGGER 'Resuming...'
64	noise $S/KDE_Startup.wav
65	sh /etc/rc.d/dhcpcd start
66	# mount /home
67	# mount /data
68	$LOGGER 'Resuming done.'
69	;;
70
71*line)
72	# noise $S/KDE_Window_DeIconify.wav
73	$LOGGER 'Running on power line.'
74	mount -u -o atime,devmtime -A -t ffs
75	atactl wd0 setidle 0
76	;;
77
78*battery)
79	# noise $S/KDE_Window_DeIconify.wav
80	$LOGGER 'Running on battery.'
81	mount -u -o noatime,nodevmtime -A -t ffs
82	atactl wd0 setidle 5
83	;;
84
85esac
86
87exit 0
88