summaryrefslogtreecommitdiff
path: root/to_review
diff options
context:
space:
mode:
Diffstat (limited to 'to_review')
-rw-r--r--to_review/rdesktop52
-rw-r--r--to_review/vncviewer57
2 files changed, 43 insertions, 66 deletions
diff --git a/to_review/rdesktop b/to_review/rdesktop
deleted file mode 100644
index a3a6394c..00000000
--- a/to_review/rdesktop
+++ /dev/null
@@ -1,52 +0,0 @@
-# -*- mode: shell-script; sh-basic-offset: 8; indent-tabs-mode: t -*-
-# ex: ts=8 sw=8 noet filetype=sh
-#
-# bash completion for rdesktop
-
-have rdesktop &&
-_rdesktop()
-{
- local cur prev
-
- COMPREPLY=()
- cur=`_get_cword`
- prev=${COMP_WORDS[COMP_CWORD-1]}
-
- case $prev in
- -k)
- COMPREPLY=( $( command ls \
- /usr/share/rdesktop/keymaps 2>/dev/null | \
- egrep -v '(common|modifiers)' ) )
- COMPREPLY=( ${COMPREPLY[@]:-} $( command ls \
- $HOME/.rdesktop/keymaps 2>/dev/null ) )
- COMPREPLY=( ${COMPREPLY[@]:-} $( command ls \
- ./keymaps 2>/dev/null ) )
- COMPREPLY=( $( compgen -W '${COMPREPLY[@]}' -- $cur ) )
- return 0
- ;;
- -a)
- COMPREPLY=( $( compgen -W '8 15 16 24' -- $cur ) )
- return 0
- ;;
- -x)
- COMPREPLY=( $( compgen -W 'b broadband m modem l lan' \
- -- $cur ) )
- return 0
- ;;
- -r)
- COMPREPLY=( $( compgen -W 'comport: disk: lptport: \
- printer: sound: lspc scard' -- $cur ) )
- return 0
- ;;
- esac
-
- if [[ "$cur" == -* ]]; then
- COMPREPLY=( $( compgen -W '-u -d -s -c -p -n -k -g -f -b -A -B \
- -e -E -m -C -D -K -S -T -N -X -a -z -X -P -r -0 -4 -5' \
- -- $cur ) )
- else
- _known_hosts
- fi
-
-} &&
-complete -F _rdesktop rdesktop
diff --git a/to_review/vncviewer b/to_review/vncviewer
index 02c91051..24d90124 100644
--- a/to_review/vncviewer
+++ b/to_review/vncviewer
@@ -1,8 +1,11 @@
# -*- mode: shell-script; sh-basic-offset: 8; indent-tabs-mode: t -*-
# ex: ts=8 sw=8 noet filetype=sh
#
-# bash completion for vncviewer
+# bash completion for vncviewer (4.1.1)
+
+# NOTE: - VNC Viewer options are case-insensivite. Preferred case is taken from -help.
+# - Both single dash (-) and double dash (--) are allowed as option prefix
have vncviewer &&
_vncviewer()
{
@@ -12,29 +15,55 @@ _vncviewer()
cur=`_get_cword`
prev=${COMP_WORDS[COMP_CWORD-1]}
- case $prev in
- -passwd)
+ # 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
;;
- -encodings)
- COMPREPLY=( $( compgen -W 'copyrect tight hextile zlib \
- corre rre raw' -- $cur ) )
+ # -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)
+ # -via
+ -[vV][iI][aA])
_known_hosts
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 ) )
+ 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 | 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"* ]] && echo $dash$option
+ done ) )
+ eval "$oldNoCaseMatch" 2> /dev/null
+ else
+ # Variable 'nocasematch' isn't available;
+ # Convert completions to lowercase
+ COMPREPLY=( $( compgen -W "$(
+ echo ${options[@]/#/$dash} | tr [:upper:] [:lower:]
+ )" -- "$(echo "$cur" | tr [:upper:] [:lower:])" ) )
+ fi
else
_known_hosts
fi