mirror of
git://git.code.sf.net/p/zsh/code
synced 2025-09-03 10:21:46 +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