mirror of
git://git.code.sf.net/p/zsh/code
synced 2025-10-11 10:41:12 +02:00
71 lines
2 KiB
Text
71 lines
2 KiB
Text
#compdef rdesktop
|
|
|
|
local curcontext="$curcontext" state line expl redir ret=1
|
|
typeset -A opt_args
|
|
|
|
_arguments -C -s \
|
|
'-u[username]:username:_users' \
|
|
'-d[domain]:domain' \
|
|
'-s[shell]:startup shell' \
|
|
'-c[working directory]:directory:_directories' \
|
|
'-p[password]:password' \
|
|
'-n[hostname]:host:_hosts' \
|
|
'-k[keyboard map]:keyboard map' \
|
|
'(-f)-g[geometry]:geometry (WxH)' \
|
|
'(-g)-f[fullscreen mode]' \
|
|
'-b[force server to use bitmaps for screen updates]' \
|
|
'-B[use X server backing store]' \
|
|
'-E[disable encryption]' \
|
|
"-m[don't send mouse motion events]" \
|
|
'-C[use private colormap]' \
|
|
'-D[hide window decorations]' \
|
|
'-K[do not override window manager key bindings]' \
|
|
'-S[single application mode]' \
|
|
'-T[set window title]:title' \
|
|
'-N[enable numlock synchronisation]' \
|
|
'-X[embed in another window]:window:_x_window' \
|
|
'-a[colour depth]:depth:(8 15 16 24)' \
|
|
'-z[enable compression]' \
|
|
'-x[bandwidth performance behaviour]:experience:((b\:broadband l\:lan m\:modem))' \
|
|
'-P[enable bitmap caching]' \
|
|
'*-r[device redirection]: :->redirection' \
|
|
'-0[attach to server console]' \
|
|
'(-5)-4[use RDP version 4]' \
|
|
'(-4)-5[use RDP version 5]' \
|
|
':server:->hostsport' && ret=0
|
|
|
|
case $state in
|
|
hostsport)
|
|
if compset -P '*:'; then
|
|
_ports && ret=0
|
|
else
|
|
compset -S ':*'
|
|
_hosts && ret=0
|
|
fi
|
|
;;
|
|
redirection)
|
|
redir="${PREFIX%%:*}"
|
|
if compset -P '*='; then
|
|
curcontext="${curcontext%:*}:$redir"
|
|
compset -P '*='
|
|
case $redir in
|
|
comport|lptport) _wanted devices expl device _files -g '*(-%)' && ret=0 ;;
|
|
disk) _directories && ret=0 ;;
|
|
printer) _printers && ret=0 ;;
|
|
scard) _message -e aliases 'alias name' ;;
|
|
esac
|
|
else
|
|
compset -S '=*'
|
|
_values -S : 'redirection' \
|
|
'comport:port' \
|
|
'disk:sharename' \
|
|
'lptport:lptport' \
|
|
'printer:printername:_printers -S=' \
|
|
'sound:sound:(local off remote)' \
|
|
'lspci' \
|
|
'scard:sound card name' && ret=0
|
|
fi
|
|
;;
|
|
esac
|
|
|
|
return ret
|