mirror of
git://git.code.sf.net/p/zsh/code
synced 2025-09-06 11:21:22 +02:00
Initial revision
This commit is contained in:
parent
343829717a
commit
4a662b72f1
3 changed files with 172 additions and 0 deletions
17
Completion/X/_x_extension
Normal file
17
Completion/X/_x_extension
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
#autoload
|
||||||
|
|
||||||
|
local expl
|
||||||
|
|
||||||
|
(( $+_xe_cache )) || _xe_cache=( "${(@)${(@f)$(xdpyinfo)}[(r)number of extensions:*,-1][2,(r)default screen number:*][1,-2]//[ ]}" )
|
||||||
|
|
||||||
|
_description expl 'X extension'
|
||||||
|
|
||||||
|
if [[ "$1" = -a ]]; then
|
||||||
|
shift
|
||||||
|
|
||||||
|
compadd "$@" "$expl[@]" -M 'm:{a-z}={A-Z} r:|-=* r:|=*' - all "$_xe_cache[@]"
|
||||||
|
else
|
||||||
|
[[ "$1" = - ]] && shift
|
||||||
|
|
||||||
|
compadd "$@" "$expl[@]" -M 'm:{a-z}={A-Z} r:|-=* r:|=*' - "$_xe_cache[@]"
|
||||||
|
fi
|
19
Completion/X/_x_window
Normal file
19
Completion/X/_x_window
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
#autoload
|
||||||
|
|
||||||
|
setopt localoptions extendedglob
|
||||||
|
|
||||||
|
local list expl
|
||||||
|
|
||||||
|
list=( "${(@)${(M@)${(@f)$(xwininfo -root -tree)}:#[ ]#0x[0-9a-f]# \"*}##[ ]#}" )
|
||||||
|
|
||||||
|
if [[ "$1" = -n ]]; then
|
||||||
|
shift
|
||||||
|
|
||||||
|
_description expl 'window name'
|
||||||
|
compadd "$@" "$expl[@]" -d list - "${(@)${(@)list#*\"}%%\"*}"
|
||||||
|
else
|
||||||
|
[[ "$1" = - ]] && shift
|
||||||
|
|
||||||
|
_description expl 'window ID'
|
||||||
|
compadd "$@" "$expl[@]" -d list - "${(@)list%% *}"
|
||||||
|
fi
|
136
Completion/X/_xutils
Normal file
136
Completion/X/_xutils
Normal file
|
@ -0,0 +1,136 @@
|
||||||
|
#compdef xdpyinfo xwininfo xkill xfontsel xfd xev xhost xon xsetroot xwd xwud xrdb
|
||||||
|
|
||||||
|
case "$words[1]" in
|
||||||
|
xdpyinfo)
|
||||||
|
_x_arguments \
|
||||||
|
-queryExtensions \
|
||||||
|
'-ext:extension: _x_extension -a'
|
||||||
|
;;
|
||||||
|
xwininfo)
|
||||||
|
_x_arguments \
|
||||||
|
-{help,int,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
|
||||||
|
|
||||||
|
if compset -P '-'; then
|
||||||
|
_description expl 'disallow access'
|
||||||
|
compadd "$expl[@]" -M 'm:{a-z}={A-Z} r:|[:.]=* r:|=*' - \
|
||||||
|
"${${(@M)${(@f)$(xhost)}[2,-1]:#LOCAL:*}#INET:}"
|
||||||
|
else
|
||||||
|
compset -P +
|
||||||
|
|
||||||
|
if [[ "$PREFIX" = *:* ]]; then
|
||||||
|
type="${(L)PREFIX%%:*}"
|
||||||
|
compset -P '*:'
|
||||||
|
|
||||||
|
case "$type" in
|
||||||
|
inet) _hosts && ret=0;;
|
||||||
|
dnet) _message 'DECnet host';;
|
||||||
|
nis) _message 'Secure RPC network name';;
|
||||||
|
krb) _message 'Kerberos V5 principal';;
|
||||||
|
esac
|
||||||
|
else
|
||||||
|
_description expl 'name family'
|
||||||
|
compadd -S: - inet dnet nis krb && ret=0
|
||||||
|
_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:_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 class:(StaticGray GrayScale StaticColor PseudoColor DirectColor TrueColor)'
|
||||||
|
;;
|
||||||
|
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 -/'
|
||||||
|
;;
|
||||||
|
esac
|
Loading…
Reference in a new issue