mirror of
git://git.code.sf.net/p/zsh/code
synced 2025-09-02 10:01:11 +02:00
22794: completion for acpitool.
This commit is contained in:
parent
21c1e9a346
commit
3ede15153e
3 changed files with 90 additions and 0 deletions
|
@ -1,3 +1,9 @@
|
|||
2006-09-30 Clint Adams <clint@zsh.org>
|
||||
|
||||
* 22794: R. Ramkumar: Completion/Linux/Command/_acpitool,
|
||||
Completion/Linux/Type/_wakeup_capable_devices: completion for
|
||||
acpitool.
|
||||
|
||||
2006-09-30 Andrey Borzenkov <bor@zsh.org>
|
||||
|
||||
* unposted: Src/Zle/compmatch.c: fix thinko in 22787 that changed
|
||||
|
|
69
Completion/Linux/Command/_acpitool
Normal file
69
Completion/Linux/Command/_acpitool
Normal file
|
@ -0,0 +1,69 @@
|
|||
#compdef acpitool
|
||||
|
||||
local ret=1 selbrands disambig
|
||||
typeset -a brands args
|
||||
|
||||
if ! zstyle -a ":completion:${curcontext}:" acpi-extensions brands || \
|
||||
(( $brands[(I)detect] )); then
|
||||
[[ -d /proc/acpi/toshiba ]] && brands+=toshiba
|
||||
[[ -d /proc/acpi/asus ]] && brands+=asus
|
||||
[[ -d /proc/acpi/ibm ]] && brands+=thinkpad
|
||||
elif (( $brands[(I)all] )); then
|
||||
brands=(toshiba asus thinkpad)
|
||||
fi
|
||||
|
||||
args=(
|
||||
'(-a --ac_adapter)'{-a,--ac_adapter}'[show AC adapter presence]'
|
||||
'-b[show battery status for available batteries]'
|
||||
'(-B --battery)'{-B,--battery}'[show detailed battery status for all batteries found]'
|
||||
'(-c --cpu)'{-c,--cpu}'[show CPU information]'
|
||||
'(-a --ac_adapter -A -b -B --battery -c --cpu -e -f --fan -t --thermal -w)-e[show just about everything]'
|
||||
'(-f --fan)'{-f,--fan}'[show fan status]'
|
||||
'(-h --help)'{-h,--help}'[display help]'
|
||||
'(-s --suspend)'{-s,--suspend}'[suspend machine to memory (sleep state S3)]'
|
||||
'-S[suspend machine to disk (sleep state S4)]'
|
||||
'(-t --thermal)'{-t,--thermal}'[show thermal zone(s) information and trip points]'
|
||||
'-v[show more verbose output]'
|
||||
'(-V --version)'{-V,--version}'[output version information and exit]'
|
||||
'-w[show the wakeup capable devices]'
|
||||
'-W+[toggle enable/disable wakeup capable device]: :_wakeup_capable_devices'
|
||||
)
|
||||
|
||||
if (( $brands[(I)asus] )); then
|
||||
disambig=
|
||||
(( $brands[(I)(toshiba|thinkpad)] )) && disambig='Asus '
|
||||
args+=(
|
||||
'(-A --Asus)'{-A,--Asus}'[show supported Asus ACPI extensions]'
|
||||
'-m+[set mail LED status]:mail LED status:((1\:on 0\:off))'
|
||||
'-n+[set wireless LED status]:wireless LED status:((1\:on 0\:off))'
|
||||
'-o+[set LCD panel status]:LCD panel status:((1\:on 0\:off))'
|
||||
"-z+[set ${disambig}LCD brightness level]:${disambig}LCD brightness level:(0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15)"
|
||||
)
|
||||
fi
|
||||
|
||||
selbrands=
|
||||
if (( $brands[(I)toshiba] )); then
|
||||
selbrands=Toshiba
|
||||
args+=(
|
||||
'-F+[force fan on or switch back to auto mode]:fan status:((1\:on 0\:auto))'
|
||||
'(-T --Toshiba)'{-T,--Toshiba}'[show supported Toshiba ACPI extensions]'
|
||||
)
|
||||
fi
|
||||
|
||||
if (( $brands[(I)thinkpad] )); then
|
||||
[[ -n $selbrands ]] && selbrands+=/
|
||||
selbrands=${selbrands}Thinkpad
|
||||
args+=('-j[eject ultrabay device]')
|
||||
fi
|
||||
|
||||
if [[ -n $selbrands ]]; then
|
||||
disambig=
|
||||
(( $brands[(I)asus] )) && disambig="$selbrands "
|
||||
args+=(
|
||||
"-l+[set ${disambig}LCD brightness level]:${disambig}LCD brightness level:(0 1 2 3 4 5 6 7)"
|
||||
)
|
||||
fi
|
||||
|
||||
_arguments -s $args && ret=0
|
||||
|
||||
return ret
|
15
Completion/Linux/Type/_wakeup_capable_devices
Normal file
15
Completion/Linux/Type/_wakeup_capable_devices
Normal file
|
@ -0,0 +1,15 @@
|
|||
#autoload
|
||||
|
||||
local ret=1 item devline expl
|
||||
typeset -a desc
|
||||
|
||||
_call_program wakeup-capable-devices acpitool -w 2> /dev/null |
|
||||
while read devline; do
|
||||
[[ -n ${devline:#(#b)([0-9]#).[[:space:]]#([^[:space:]]#)[[:space:]]#[0-9]#[[:space:]]#(*)} ]] && continue
|
||||
zformat -f item "${match[1]}:%8d (currently ${match[3]})" d:${match[2]}
|
||||
desc+=$item
|
||||
done
|
||||
|
||||
_describe -t wakeup-capable-devices 'wakeup capable device' desc $@ && ret=0
|
||||
|
||||
return ret
|
Loading…
Reference in a new issue