/etc/bash_completion.d/vncviewer is in bash-completion 1:1.3-1ubuntu8.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 | # bash completion for vncviewer
have vncviewer &&
_vncviewer_bootstrap()
{
local fname
case $(_realcommand vncviewer) in
*xvnc4viewer) fname=_xvnc4viewer ;;
*tightvncviewer) fname=_tightvncviewer ;;
*) fname=_known_hosts ;;
esac
# 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
have tightvncviewer &&
_tightvncviewer()
{
local cur prev
COMPREPLY=()
_get_comp_words_by_ref cur prev
case $prev in
-passwd)
_filedir
return 0
;;
-encodings)
COMPREPLY=( $( compgen -W 'copyrect tight hextile zlib \
corre rre raw' -- "$cur" ) )
return 0
;;
-via)
_known_hosts_real "$cur"
return 0
;;
esac
if [[ "$cur" == -* ]]; then
COMPREPLY=( $( compgen -W '-help -listen -via -shared -noshared\
-viewonly -fullscreen -noraiseonbeep -passwd -encodings\
-bgr233 -owncmap -truecolour -truecolor -depth \
-compresslevel -quality -nojpeg -nocursorshape \
-x11cursor' -- $cur ) )
else
_known_hosts_real "$cur"
fi
} &&
complete -F _tightvncviewer tightvncviewer
# NOTE: - VNC Viewer options are case insensitive.
# Preferred case is taken from -help.
# - Both single dash (-) and double dash (--) are allowed as option prefix
have xvnc4viewer &&
_xvnc4viewer()
{
local cur prev
COMPREPLY=()
_get_comp_words_by_ref cur prev
# Convert double dash to single dash
case ${prev/#--/-} in
# -passwd, -PasswordFile
-[pP][aA][sS][sS][wW][dD]|-[pP][aA][sS][sS][wW][oO][rR][dD][fF][iI][lL][eE])
_filedir
return 0
;;
# -PreferredEncoding
-[pP][rR][eE][fF][eE][rR][rR][eE][dD][eE][nN][cC][oO][dD][iI][nN][gG])
COMPREPLY=( $( compgen -W 'zrle hextile raw' -- $cur ) )
return 0
;;
# -via
-[vV][iI][aA])
_known_hosts_real "$cur"
return 0
;;
esac
if [[ "$cur" == -* || "$cur" == --* ]]; then
# Default to vncviewer camelcase options, see `vncviewer -help'
local dash options=( \
AcceptClipboard AutoSelect DebugDelay display \
DotWhenNoCursor FullColor FullColour FullScreen \
geometry help listen Log \
LowColourLevel MenuKey name Parent \
passwd PasswordFile PointerEventInterval PreferredEncoding \
SendClipboard SendPrimary Shared UseLocalCursor \
via ViewOnly WMDecorationHeight WMDecorationWidth \
ZlibLevel \
)
[[ "$cur" == --* ]] && dash=-- || dash=-
# Is a `nocasematch' variable available (bash > v3.1)?
if shopt nocasematch 2> /dev/null | command grep -q ^nocasematch; then
# Variable `nocasematch' is available
# Use vncviewer camelcase options
local option oldNoCaseMatch=$(shopt -p nocasematch)
shopt -s nocasematch
COMPREPLY=( $( for option in "${options[@]}"; do
[[ $dash$option == "$cur"* ]] && printf '%s\n' $dash$option
done ) )
eval "$oldNoCaseMatch" 2> /dev/null
else
# Variable 'nocasematch' isn't available;
# Convert completions to lowercase
COMPREPLY=( $( compgen -W \
"$( tr [:upper:] [:lower:] <<<${options[@]/#/$dash} )" \
-- "$( tr [:upper:] [:lower:] <<<"$cur" )" ) )
fi
else
_known_hosts_real "$cur"
fi
} &&
complete -F _xvnc4viewer xvnc4viewer
# Local variables:
# mode: shell-script
# sh-basic-offset: 4
# sh-indent-comment: t
# indent-tabs-mode: nil
# End:
# ex: ts=4 sw=4 et filetype=sh
|