1
0
mirror of git://git.code.sf.net/p/zsh/code synced 2024-11-19 13:33:52 +01:00
zsh/Completion/X/Command/_x_utils

166 lines
4.5 KiB
Plaintext

#compdef xdpyinfo xwininfo xkill xfontsel xfd xev xhost xon xsetroot xwd xwud xrdb
case "$service" in
xdpyinfo)
_x_arguments \
-queryExtensions \
'-ext:extension: _x_extension -a'
;;
xwininfo)
_x_arguments \
-{help,int,children,tree,stats,bits,events,size,wm,shape,frame,all,english,metric} \
'(-id -name)-root' \
'(-id -root)-name:name: _x_window -n' \
'(-name -root)-id:id: _x_window'
;;
xkill)
_x_arguments \
-frame \
'(-id)-all' \
'(-all)-id:window: _x_window' \
'-button:selection button:(any 1 2 3 4 5)'
;;
xfontsel)
_xt_arguments \
-{print,noscaled} \
'-pattern:font pattern:_x_font' \
'-sample:sample text' \
'-sample16:16-bit sample text'
;;
xfd)
_xt_arguments \
'-fn:font: _x_font' \
-{box,center} \
'-start:first character number' \
'-bc:box border color:_x_color' \
'-rows:number of rows' \
'-columns:number of columns'
;;
xev)
_x_arguments \
'-bw:border width' \
'-bs:type of backing store:(NotUseful WhenMapped Always)' \
'-id:id:_x_window' \
'-s[use save-under]' \
'-name:window name' \
'-rv'
;;
xhost)
local expl type ret=1 tmp match
if compset -P '-'; then
tmp=(${(f)"$(xhost)"})
shift tmp
tmp=(${tmp:#LOCAL:|<*>})
if [[ "$tmp" = *:* ]]; then
if compset -P '(#b)(*):'; then
type="$match[1]"
_tags displays
while _tags; do
while _next_label displays expl 'disallow access'; do
{ compadd "$expl[@]" -M 'm:{a-z}={A-Z} r:|[:.]=* r:|=*' - \
${${(M)tmp:#(#i)$type:*}#(#i)$type:} ||
_hosts "$expl[@]" } && ret=0
done
(( ret )) || return 0
done
else
_alternative \
'types:name family:compadd -S: ${(L)tmp%%:*}' \
'hosts:host:compadd ${(@)tmp#*:}' && ret=0
fi
else
_tags displays
while _tags; do
while _next_label displays expl 'disallow access'; do
{ compadd "$expl[@]" -M 'm:{a-z}={A-Z} r:|[:.]=* r:|=*' -a tmp ||
_hosts "$expl[@]" } && ret=0
done
(( ret )) || return 0
done
fi
else
compset -P +
if [[ "$PREFIX" = *:* ]]; then
type="${(L)PREFIX%%:*}"
compset -P '*:'
case "$type" in
inet) _hosts && ret=0;;
dnet) _message -e decnet-hosts 'DECnet host';;
nis) _message -e network-names 'Secure RPC network name';;
krb) _message -e principals 'Kerberos V5 principal';;
esac
else
_alternative \
'types:name family:compadd -S: - inet dnet nis krb' \
'hosts:: _hosts' && ret=0
fi
return ret
fi
;;
xon)
_arguments \
-{access,debug,nols} \
'-name:window name' \
'-screen:screen number' \
'-user:remote user name:_users' \
':remote host:_hosts' \
'(-):command: _command_names -e' \
'*:command: _normal'
;;
xsetroot)
_x_arguments \
-{help,def,gray,grey,rv} \
'-cursor:cursor file:_files -g \*.\(\#i\)\(xbm\|curs\(\|or\)\):mask file:_files -g \*.\(\#i\)\(xbm\|curs\(\|or\)\|mask\)\(-.\)' \
'-cursor_name:cursor name:_x_cursor' \
'-bitmap:bitmap file:_files -g \*.\(\#i\)xbm\(-.\)' \
'-mod:x grid distance (1-16): :y grid distance (1-16)' \
'-fg:foreground color:_x_color' \
'-bg:background color:_x_color' \
'-solid:screen solid color:_x_color' \
'-name:root window name'
;;
xwd)
_x_arguments \
-{debug,help,nobdrs,xy,frame,root,icmap,screen,silent} \
'-out:output file:_files' \
'-add:pixel change value' \
'-id:id: _x_window' \
'-name:name: _x_window -n'
;;
xwud)
_x_arguments \
-{help,new,noclick,raw,rv,scale} \
'-bg:background color:_x_color' \
'-fg:foreground color:_x_color' \
'-in:input file:_files -g \*.\(\#i\)xwd\(-.\)' \
'-plane:image plane to display' \
'-std:standard colormap:(best default gray red blue green)' \
'-vis:visual:_x_visual'
;;
xrdb)
_x_arguments \
-{help,quiet,symbols,retain} \
'(-all -screen -screens)-global' \
'(-global -screen -screens)-all' \
'(-global -all -screens)-screen' \
'(-global -all -screen)-screens' \
'-n[only display on stdout]' \
'(-nocpp)-cpp:preprocessor program:_files -g \*\(-\*\)' \
'(-cpp)-nocpp' \
'(-load -override -merge -remove)-query' \
'(-query -override -merge -remove)-load' \
'(-query -load -merge -remove)-override' \
'(-query -load -override -remove)-merge' \
'(-query -load -override -merge)-remove' \
'-edit:output file:_files' \
'-backup:backup extension' \
'*-D-:symbol to define' \
'*-U-:symbol to undefine' \
'*-I-:include directory:_files -/' \
'*:defaults file:_files'
;;
esac