summaryrefslogtreecommitdiff
path: root/Completion/X/Command/_rdesktop
diff options
context:
space:
mode:
authorAxel Beckert <abe@deuxchevaux.org>2015-05-05 23:32:59 +0200
committerAxel Beckert <abe@deuxchevaux.org>2015-05-05 23:58:59 +0200
commitdb38e167634b6c2217eec3a5aafc37c46d9e5a8d (patch)
treedaa342d423febbd3a5a7ef97053037677fab004a /Completion/X/Command/_rdesktop
parent01eea47617a6e06debdb4330f92ae69f92089fd2 (diff)
parent3c3c8d3d13fd4cf6c03f81ca8dc18a1efd561728 (diff)
downloadzsh-db38e167634b6c2217eec3a5aafc37c46d9e5a8d.tar.gz
zsh-db38e167634b6c2217eec3a5aafc37c46d9e5a8d.zip
Merge branch 'upstream' into debian
Diffstat (limited to 'Completion/X/Command/_rdesktop')
-rw-r--r--Completion/X/Command/_rdesktop71
1 files changed, 71 insertions, 0 deletions
diff --git a/Completion/X/Command/_rdesktop b/Completion/X/Command/_rdesktop
new file mode 100644
index 000000000..0bd08d932
--- /dev/null
+++ b/Completion/X/Command/_rdesktop
@@ -0,0 +1,71 @@
+#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