diff --git a/contrib/vncviewer b/contrib/vncviewer
index 1e6e3eb..d3e5c59 100644
--- a/contrib/vncviewer
+++ b/contrib/vncviewer
@@ -1,22 +1,27 @@
# bash completion for vncviewer
have vncviewer &&
-_vncviewer_bootstrap() {
+_vncviewer_bootstrap()
+{
local fname
case "$(_realcommand vncviewer)" in
- # If `vncviewer' not installed, default file-dir completion
- '') _filedir `_get_cword` ;;
*xvnc4viewer) fname=_xvnc4viewer ;;
- *tightvncviewer|*) fname=_tightvncviewer ;;
+ *tightvncviewer) fname=_tightvncviewer ;;
+ *) fname=_vncviewer ;;
esac
- if [ $fname ]; then
- # Install real completion for subsequent completions
- complete -F $fname vncviewer
- $fname # Generate completions once for now
- unset -f _vncviewer_bootstrap
- fi
+
+ # Install real completion for subsequent completions
+ complete -F $fname vncviewer
+ $fname # Generate completions once for now
+ unset -f _vncviewer_bootstrap
} &&
-complete -F _vncviewer_bootstrap vncviewer
+complete -F _vncviewer_bootstrap vncviewer &&
+_vncviewer()
+{
+ COMPREPLY=()
+ local cur=`_get_cword`
+ _known_hosts_real "$cur"
+}
have tightvncviewer &&
_tightvncviewer()