#compdef apm if [[ $OSTYPE == linux* ]] then _arguments -C -s \ '(--version)-V[print the apm program and exit immediately]' \ '(-V)--version[print the apm program and exit immediately]' \ '(--verbose)-v[print information about APM BIOS and Linux APM driver version]' \ '(-v)--verbose[print information about APM BIOS and Linux APM driver version]' \ '(--minutes)-m[print total minutes remaining instead of using an hh:mm format]' \ '(-m)--minutes[print total minutes remaining instead of using an hh:mm format]' \ '(--suspend)-s[put the machine into suspend mode if possible]' \ '(-s)--suspend[put the machine into suspend mode if possible]' \ '(--standby)-S[put the machine into standby mode if possible]' \ '(-S)--standby[put the machine into standby mode if possible]' \ '(--noignore)-n[tell the system not to ignore system-generated APM message]' \ '(-n)--noignore[tell the system not to ignore system-generated APM message]' \ '(--ignore)-i[tell the system to ignore system-generated APM message]' \ '(-i)--ignore[tell the system to ignore system-generated APM message]' elif [[ $OSTYPE == freebsd* ]] then _arguments -C \ '-a[display AC line status]' \ '-b[display battery status]' \ '-d[disable/enable display suspension]:bool:' \ '-e[disable/enable apm functions]:bool:' \ '-h[disable/enable HLT in kernel context switch]:bool:' \ '-l[display remaining battery percentage]' \ '-r[enable resume wakeup timer]' \ '-s[display status of APM support]' \ '-t[display estimated remaining battery life in seconds]' \ '-Z[transition system into standby mode]' \ '-z[suspend the system]' elif [[ $OSTYPE == openbsd* ]] then _arguments -C \ '-z[engage suspend mode]' \ '-S[engage stand-by mode]' \ '-l[display estimated battery lifetime percentage]' \ '-m[display estimated battery lifetime minutes]' \ '-b[display battery status]' \ '-a[display AC line status]' \ '-v[verbose]' \ '-f[socket]:sockname:_files' fi