diff options
Diffstat (limited to 'to_review')
-rw-r--r-- | to_review/rdesktop | 52 | ||||
-rw-r--r-- | to_review/vncviewer | 57 |
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 |