1
0
Fork 0
mirror of git://git.code.sf.net/p/zsh/code synced 2025-09-26 18:01:03 +02:00

29409: Add xprop and xlsatoms completions.

This commit is contained in:
Mikael Magnusson 2011-12-09 15:58:35 +00:00
parent 9d83e165fc
commit df2140e4cb
3 changed files with 37 additions and 3 deletions

View file

@ -2,6 +2,9 @@
* unposted: Doc/Zsh/compsys.yo: Remove duplicated 'the'.
* 29409: Completion/X/Command/_x_utils: Add completion for xprop and
xlsatoms.
2011-12-09 Peter Stephenson <pws@csr.com>
* unposted: Completion/compinit: add NO_ignoreclosebraces to
@ -15696,5 +15699,5 @@
*****************************************************
* This is used by the shell to define $ZSH_PATCHLEVEL
* $Revision: 1.5526 $
* $Revision: 1.5527 $
*****************************************************

View file

@ -1,4 +1,6 @@
#compdef xdpyinfo xwininfo xkill xfontsel xfd xev xhost xon xsetroot xwd xwud xrdb
#compdef xdpyinfo xwininfo xkill xfontsel xfd xev xhost xon xsetroot xwd xwud xrdb xprop xlsatoms
local ret=1 oret expl
case "$service" in
xdpyinfo)
@ -13,6 +15,27 @@ xwininfo)
'(-id -root)-name:name: _x_window -n' \
'(-name -root)-id:id: _x_window'
;;
xprop)
_x_arguments \
-{help,frame,notype,spy} \
'-grammar[show grammar for command line options]' \
'(-id -name)-root[use the root window as the target window]' \
'(-id -root)-name[specify target window by name]:name: _x_window -n' \
'(-name -root)-id[specify target window by window id]:id: _x_window' \
'-font[display the properties of a font]:font: _x_font' \
'-len[show at most n bytes of any property]:n' \
'*-fs[read more property formats from file]:file: _files' \
'*-remove[specify an atom to remove from the target window]:atoms:->atoms' \
'*-set[specify an atom and a value to set on the target window]:atoms:->atoms:value' \
'*-f:atoms:->atoms:format: ::dformat' \
'*:atoms:->atoms' && ret=0
;;
xlsatoms)
_x_arguments \
'*-format[printf-style format to use]:format' \
'*-range[atom values to list]:[num]-[num]' \
'*-name[name of single atom to print]:atom:->atoms'
;;
xkill)
_x_arguments \
-frame \
@ -163,3 +186,11 @@ xrdb)
'*:defaults file:_files'
;;
esac
oret=$?
if [[ $state == atoms ]]; then
_wanted atoms expl atoms compadd ${${(f)"$(_call_program atoms xlsatoms 2> /dev/null)"}#*$'\t'} && ret=0
else
ret=$oret
fi
return ret

View file

@ -9,7 +9,7 @@ _tags fonts || return 1
if (( ! $+_font_cache )); then
typeset -gU _font_cache
_font_cache=( "${(@)^${(@f)$(_call_program fonts xlsfonts)}%%--*}--" )
_font_cache=( "${(@)^${(@f)$(_call_program fonts xlsfonts 2> /dev/null)}%%--*}--" )
fi
_wanted fonts expl font \