mirror of
git://git.code.sf.net/p/zsh/code
synced 2025-01-09 07:47:05 +01:00
71 lines
2.4 KiB
Text
71 lines
2.4 KiB
Text
#compdef xrandr
|
|
|
|
local curcontext="$curcontext" state line expl
|
|
typeset -A opt_args
|
|
|
|
_arguments -C \
|
|
'(-d -display)'{-d,-display}':X display:_x_display' \
|
|
'-help[display help]' \
|
|
'(-o --orientation)'{-o,--orientation}':rotation:(normal inverted left right 0 1 2 3)' \
|
|
'(-q --query)'{-q,--query}'[display current state]' \
|
|
'(-s --size)'{-s,--size}':size:' \
|
|
'(-r --rate --refresh)'{*-r,*--rate,*--refresh}':target refresh rate:' \
|
|
'(-v --version)'{-v,--version}'[display version]' \
|
|
'-x[reflect across X axis]' \
|
|
'-y[reflect across Y axis]' \
|
|
'--screen:X screen number' \
|
|
'--verbose[be more verbose]' \
|
|
'--dryrun' \
|
|
'--nograb' \
|
|
'(--prop --properties)'{--prop,--properties}'[display the contents of properties for each output]' \
|
|
'--fb:size:' \
|
|
'--fbmm:size:' \
|
|
'--dpi:dpi:' \
|
|
"*--output:output to reconfigure:->outputs" \
|
|
'*--auto' \
|
|
"*--mode:mode:->modes" \
|
|
'*--preferred' \
|
|
'*--pos:position:' \
|
|
'*--reflect:axes:(normal x y xy)' \
|
|
'*--rotate:rotation:(normal inverted left right)' \
|
|
"*--left-of:relative position to:->outputs" \
|
|
"*--right-of:relative position to:->outputs" \
|
|
"*--above:relative position to:->outputs" \
|
|
"*--below:relative position to:->outputs" \
|
|
"*--same-as:relative position to:->outputs" \
|
|
'*--set:property:(Backlight scaling\ mode):value:->value' \
|
|
'*--scale:output scaling:' \
|
|
'*--transform:transformation matrix:' \
|
|
'*--off[disable the output]' \
|
|
'*--crtc:crtc to use:' \
|
|
'*--panning:panning:' \
|
|
'*--gamma:r\:g\:b:' \
|
|
'*--primary' \
|
|
'--noprimary' \
|
|
'*--newmode:name: :clock MHz: :hdisp: :hsync-start: :hsync-end: :htotal: :vdisp: :vsync-start: :vsync-end: :vtotal:' \
|
|
'*--rmmode:Mode name:' \
|
|
"*--addmode:output:->outputs:name" \
|
|
"*--delmode:output:->outputs:name" \
|
|
&& return 0
|
|
|
|
case $state in
|
|
value)
|
|
case $words[CURRENT-1] in
|
|
(scaling*" mode")
|
|
_description value expl "output property 'scaling mode'"
|
|
compadd "$@" "$expl[@]" None Full Center Full\ aspect && return 0
|
|
;;
|
|
esac
|
|
;;
|
|
outputs)
|
|
local -a xrandr_output=(${(f)"$(_call_program outputs xrandr)"})
|
|
_alternative \
|
|
'connected:connected outputs:('${(j: :)${(uo)${(M)xrandr_output:#* connected*}%% *}}')' \
|
|
'disconnected:disconnected outputs:('${(j: :)${(uo)${(M)xrandr_output:#* disconnected*}%% *}}')' \
|
|
&& return 0
|
|
;;
|
|
modes)
|
|
_wanted modes expl mode compadd \
|
|
${(Mun)$(_call_program modes xrandr):#[0-9]##x[0-9]##} && return 0
|
|
;;
|
|
esac
|