summary refs log tree commit diff
path: root/Completion/X
diff options
context:
space:
mode:
Diffstat (limited to 'Completion/X')
-rw-r--r--Completion/X/Command/.distfiles2
-rw-r--r--Completion/X/Command/_vnc32
2 files changed, 33 insertions, 1 deletions
diff --git a/Completion/X/Command/.distfiles b/Completion/X/Command/.distfiles
index 51c5d10d1..5cc5d5e6d 100644
--- a/Completion/X/Command/.distfiles
+++ b/Completion/X/Command/.distfiles
@@ -1,5 +1,5 @@
 DISTFILES_SRC='
 .distfiles
 _gv        _netscape  _xauth     _xfig      _xrdb      _xterm     _xwit
-_nedit     _x_utils   _xdvi      _xmodmap   _xset      _xv
+_nedit     _vnc       _x_utils   _xdvi      _xmodmap   _xset      _xv
 '
diff --git a/Completion/X/Command/_vnc b/Completion/X/Command/_vnc
new file mode 100644
index 000000000..094fa0d9e
--- /dev/null
+++ b/Completion/X/Command/_vnc
@@ -0,0 +1,32 @@
+#compdef vncserver vncviewer
+
+local displays args
+displays=( ~/.vnc/$HOST:?.pid(N:r:t:s/$HOST//) )
+displays=( \\${^displays} ) 
+
+case $service in
+  vncserver)
+    # currently lacking Xvnc arguments
+    _arguments \
+      - start \
+	'-name:desktop name:_x_name' \
+	'-geometry:geometry:(1600x1200 1280x1024 1152x864 1024x768 800x600 640x480)' \
+	'-depth:pixel depth:(8 16 24 32)' \
+	'-pixelformat:pixel format' \
+	'1::display number:_guard ":[0-9]#"' \
+      - kill \
+	"-kill:display number:($displays)" \
+      - help \
+	'-help'
+  ;;
+  vncviewer) 
+    # should allow list for -encodings
+    _xt_arguments -shared -viewonly -fullscreen -bgr233 -owncmap -truecolour \
+      '-encodings:encodings:(copyrect hextile corre rre raw)' \
+      '-depth:depth' \
+      '-passwd:file:_files' \
+      '(1)-listen:display number' \
+      '(-listen)1::display:_x_display'
+  ;;
+esac
+