diff options
Diffstat (limited to 'Completion/X/Command/_x_utils')
-rw-r--r-- | Completion/X/Command/_x_utils | 28 |
1 files changed, 19 insertions, 9 deletions
diff --git a/Completion/X/Command/_x_utils b/Completion/X/Command/_x_utils index 05a899b68..13c5572af 100644 --- a/Completion/X/Command/_x_utils +++ b/Completion/X/Command/_x_utils @@ -1,6 +1,6 @@ -#compdef xdpyinfo xwininfo xkill xfontsel xfd xev xhost xon xsetroot xwd xwud xrdb xprop xlsatoms +#compdef xdpyinfo xwininfo xkill xfontsel xfd xev xhost xon xsetroot xwd xwud xrdb xprop xlsatoms xlsclients -local curcontext="$curcontext" state line expl ret=1 +local curcontext="$curcontext" state state_descr line expl ret=1 case "$service" in xdpyinfo) @@ -26,10 +26,10 @@ xprop) '-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' + '*-remove[specify an atom to remove from the target window]:property atom:->atoms' \ + '*-set[specify an atom and a value to set on the target window]:property atom:->atoms:value' \ + '*-f:property atom:->atoms:format: ::dformat' \ + '*:property atoms:->atoms' ;; xlsatoms) _x_arguments -C \ @@ -37,6 +37,12 @@ xlsatoms) '*-range[atom values to list]:[num]-[num]' \ '*-name[name of single atom to print]:atom:->atoms' ;; +xlsclients) + _x_arguments -C \ + '-a[list all clients on all screens]' \ + '-l[long format adding window/icon names and class hints]' \ + '-m[maximum characters of command to include]:characters' + ;; xkill) _x_arguments \ -version \ @@ -76,12 +82,16 @@ xev) xhost) local type tmp match + if [[ -z $PREFIX ]]; then + _describe prefixes '(-:disallow +:allow)' -S '' -r '' + fi + if compset -P '-'; then tmp=(${(f)"$(xhost)"}) shift tmp tmp=(${tmp:#LOCAL:|<*>}) if [[ "$tmp" = *:* ]]; then - if compset -P '(#b)(*):'; then + if compset -P 1 '(#b)(*):'; then type="$match[1]" _tags displays while _tags; do @@ -112,7 +122,7 @@ xhost) if [[ "$PREFIX" = *:* ]]; then type="${(L)PREFIX%%:*}" - compset -P '*:' + compset -P 1 '*:' case "$type" in inet) _hosts && ret=0;; @@ -193,7 +203,7 @@ xrdb) esac && ret=0 if [[ $state == atoms ]]; then - _wanted atoms expl atoms compadd ${${(f)"$(_call_program atoms xlsatoms 2> /dev/null)"}#*$'\t'} && ret=0 + _wanted atoms expl "$state_descr" compadd ${${(f)"$(_call_program atoms xlsatoms 2> /dev/null)"}#*$'\t'} && ret=0 fi return ret |