Merge pull request #203 from TimofeyTitovets/master
add completion for xinput and shutdown
This commit is contained in:
commit
0265542b64
|
@ -0,0 +1,71 @@
|
|||
#compdef shutdown
|
||||
# ------------------------------------------------------------------------------
|
||||
# Copyright (c) 2011 Github zsh-users - http://github.com/zsh-users
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are met:
|
||||
# * Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
# * Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution.
|
||||
# * Neither the name of the zsh-users nor the
|
||||
# names of its contributors may be used to endorse or promote products
|
||||
# derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS' AND
|
||||
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
# DISCLAIMED. IN NO EVENT SHALL ZSH-USERS BE LIABLE FOR ANY
|
||||
# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
# ------------------------------------------------------------------------------
|
||||
# Description
|
||||
# -----------
|
||||
#
|
||||
# Completion script for shutdown - Shut down the system
|
||||
#
|
||||
# ------------------------------------------------------------------------------
|
||||
# Authors
|
||||
# -------
|
||||
#
|
||||
# * Timofey Titovets <nefelim4ag@gmail.com>
|
||||
#
|
||||
# ------------------------------------------------------------------------------
|
||||
_shutdown(){
|
||||
local -a _1st_arguments
|
||||
_1st_arguments=(
|
||||
"--help:Show help"
|
||||
"-H:Halt the machine" "--halt:Halt the machine"
|
||||
"-P:Power-off the machine" "--poweroff:Power-off the machine"
|
||||
"-r:Reboot the machine" "--reboot:Reboot the machine"
|
||||
"-h:Equivalent to --poweroff, overridden by --halt"
|
||||
"-k:Dont halt/power-off/reboot, just send warnings"
|
||||
"--no-wall:Dont send wall message before halt/power-off/reboot"
|
||||
"-c:Cancel a pending shutdown"
|
||||
)
|
||||
|
||||
local context state line expl
|
||||
local -A opt_args
|
||||
|
||||
_arguments '*:: :->subcmds' && return 0
|
||||
|
||||
if (( CURRENT == 1 )); then
|
||||
_describe -t commands "shutdown commands" _1st_arguments -V1
|
||||
return
|
||||
fi
|
||||
|
||||
case "$words[1]" in
|
||||
*)
|
||||
_arguments \
|
||||
':list option:(now +{0,5,10,15,30} hh:mm)'
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
_shutdown "$@"
|
|
@ -0,0 +1,196 @@
|
|||
#compdef xinput
|
||||
# ------------------------------------------------------------------------------
|
||||
# Copyright (c) 2011 Github zsh-users - http://github.com/zsh-users
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are met:
|
||||
# * Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
# * Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution.
|
||||
# * Neither the name of the zsh-users nor the
|
||||
# names of its contributors may be used to endorse or promote products
|
||||
# derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS' AND
|
||||
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
# DISCLAIMED. IN NO EVENT SHALL ZSH-USERS BE LIABLE FOR ANY
|
||||
# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
# ------------------------------------------------------------------------------
|
||||
# Description
|
||||
# -----------
|
||||
#
|
||||
# Completion script for xinput
|
||||
# TODO: Add property handler
|
||||
# TODO: Add buttons handler
|
||||
# ------------------------------------------------------------------------------
|
||||
# Authors
|
||||
# -------
|
||||
#
|
||||
# * Timofey Titovets <nefelim4ag@gmail.com>
|
||||
#
|
||||
# ------------------------------------------------------------------------------
|
||||
_xinput(){
|
||||
# list of xinput arguments
|
||||
local -a _1st_arguments
|
||||
_1st_arguments=(
|
||||
'version:show version' '--version:show version'
|
||||
'help:show help options' '--help:show help options'
|
||||
get-feedbacks
|
||||
set-ptr-feedback
|
||||
set-integer-feedback
|
||||
get-button-map
|
||||
set-button-map
|
||||
set-pointer
|
||||
'set-mode:change the mode of device' '--set-mode:change the mode of device'
|
||||
'list:show devices' '--list:show devices'
|
||||
query-state
|
||||
test --test
|
||||
create-master
|
||||
remove-master
|
||||
reattach
|
||||
float
|
||||
set-cp
|
||||
test-xi2
|
||||
map-to-output
|
||||
list-props
|
||||
set-int-prop
|
||||
set-float-prop
|
||||
set-atom-prop
|
||||
watch-props
|
||||
delete-prop
|
||||
set-prop
|
||||
'disable:disable the device' '--disable:disable the device'
|
||||
'enable:enable the device' '--enable:enable the device'
|
||||
--get-feedbacks
|
||||
--set-ptr-feedback
|
||||
--set-integer-feedback
|
||||
--get-button-map
|
||||
--set-button-map
|
||||
--set-pointer
|
||||
--query-state
|
||||
--create-master
|
||||
--remove-master
|
||||
--reattach
|
||||
--float
|
||||
--set-cp
|
||||
--test-xi2
|
||||
--map-to-output
|
||||
--list-props
|
||||
--set-int-prop
|
||||
--set-float-prop
|
||||
--set-atom-prop
|
||||
--watch-props
|
||||
--delete-prop
|
||||
--set-prop
|
||||
)
|
||||
|
||||
local context state line expl
|
||||
local -A opt_args
|
||||
|
||||
_arguments '*:: :->subcmds' && return 0
|
||||
|
||||
if (( CURRENT == 1 )); then
|
||||
_describe -t commands "xinput commands" _1st_arguments -V1
|
||||
return
|
||||
fi
|
||||
|
||||
_xinput_devices_id=($(xinput list --id-only))
|
||||
for i in $(xinput list --id-only)
|
||||
do
|
||||
_xinput_devices_name[$i]="$(xinput list --name-only $i)"
|
||||
done
|
||||
_xinput_devices=( $_xinput_devices_id $_xinput_devices_name )
|
||||
|
||||
# xinput arguments handler
|
||||
case "$words[1]" in
|
||||
--get-feedbacks|--set-ptr-feedback|--get-button-map|--query-state|--list-props|--watch-props|get-feedbacks|set-ptr-feedback|get-button-map|query-state|list-props|watch-props|--enable|enable|--map-to-output|map-to-output|--disable|disable)
|
||||
_arguments \
|
||||
':list option:($_xinput_devices)'
|
||||
;;
|
||||
--list|list)
|
||||
_arguments \
|
||||
':list option:($_xinput_devices --short --long --name-only --id-only)' \
|
||||
':list option:(--short --long --name-only --id-only)'
|
||||
;;
|
||||
--set-integer-feedback|set-integer-feedback)
|
||||
_arguments \
|
||||
':list option:($_xinput_devices)' \
|
||||
':list option:( feedback )' \
|
||||
':list option:( $_xinput_devices_id )'
|
||||
;;
|
||||
--set-button-map|set-button-map)
|
||||
_arguments \
|
||||
':list option:($_xinput_devices)' #map button 1 [map button 2 [...]]
|
||||
;;
|
||||
--set-pointer|set-pointer)
|
||||
_arguments \
|
||||
':list option:($_xinput_devices)' # [x index y index]
|
||||
;;
|
||||
--set-mode|set-mode)
|
||||
_arguments \
|
||||
':list option:($_xinput_devices)' \
|
||||
':list option:(ABSOLUTE RELATIVE)'
|
||||
;;
|
||||
--test|test)
|
||||
_arguments \
|
||||
':list option:(-proximity $_xinput_devices )' \
|
||||
':list option:($_xinput_devices)'
|
||||
;;
|
||||
--reattach|reattach)
|
||||
_arguments \
|
||||
':list option:($_xinput_devices)' \
|
||||
':list option:(master slave)'
|
||||
;;
|
||||
--float|float)
|
||||
_arguments \
|
||||
':list option:($_xinput_devices_id)'
|
||||
;;
|
||||
--test-xi2|test-xi2)
|
||||
_arguments \
|
||||
':list option:($_xinput_devices --root)' \
|
||||
':list option:($_xinput_devices)'
|
||||
;;
|
||||
--delete-prop|delete-prop)
|
||||
_arguments \
|
||||
':list option:($_xinput_devices)' #property
|
||||
;;
|
||||
--create-master|create-master)
|
||||
_arguments \
|
||||
':list option:($_xinput_devices_id)' # [sendCore (dflt:1)] [enable (dflt:1)]
|
||||
;;
|
||||
--remove-master|remove-master)
|
||||
_arguments \
|
||||
':list option:($_xinput_devices_id)' # [Floating|AttachToMaster (dflt:Floating)] [returnPointer] [returnKeyboard]
|
||||
;;
|
||||
# --set-cp|set-cp); window device;;
|
||||
--set-prop|set-prop)
|
||||
_arguments \
|
||||
':list option:($_xinput_devices)' \
|
||||
':list option:(--type={atom,float,int} --format={8,16,32})' \
|
||||
':list option:(--type={atom,float,int} --format={8,16,32})' # property val [val ...]
|
||||
;;
|
||||
--set-int-prop|set-int-prop)
|
||||
_arguments \
|
||||
':list option:($_xinput_devices)' # property format (8, 16, 32) val [val ...]
|
||||
;;
|
||||
--set-float-prop|set-float-prop)
|
||||
_arguments \
|
||||
':list option:($_xinput_devices)' # property val [val ...]
|
||||
;;
|
||||
--set-atom-prop|set-atom-prop)
|
||||
_arguments \
|
||||
':list option:($_xinput_devices)' # property val [val ...]
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
_xinput "$@"
|
Loading…
Reference in New Issue