summaryrefslogtreecommitdiff
path: root/completions/xrandr
diff options
context:
space:
mode:
Diffstat (limited to 'completions/xrandr')
-rw-r--r--completions/xrandr51
1 files changed, 30 insertions, 21 deletions
diff --git a/completions/xrandr b/completions/xrandr
index 70de80f7..36164298 100644
--- a/completions/xrandr
+++ b/completions/xrandr
@@ -1,22 +1,22 @@
-# bash completion for xrandr
+# bash completion for xrandr -*- shell-script -*-
-have xrandr &&
_xrandr()
{
- local cur prev output modes
- COMPREPLY=()
- _get_comp_words_by_ref cur prev
+ local cur prev words cword
+ _init_completion || return
+
+ local output modes
case $prev in
- --output)
+ --output|--left-of|--right-of|--above|--below|--same-as)
local outputs=$(xrandr|awk '/connected/ {print $1}')
COMPREPLY=( $(compgen -W "$outputs" -- "$cur"))
return 0
;;
--mode)
- for(( i = 1; i < COMP_CWORD; i++ )); do
- if [[ "${COMP_WORDS[i]}" == "--output" ]]; then
- output=${COMP_WORDS[i+1]}
+ for(( i = 1; i < cword; i++ )); do
+ if [[ "${words[i]}" == "--output" ]]; then
+ output=${words[i+1]}
break
fi
done
@@ -25,28 +25,37 @@ _xrandr()
COMPREPLY=( $( compgen -W "$modes" -- "$cur"))
return 0
;;
+ -o|--orientation)
+ COMPREPLY=( $( compgen -W 'normal inverted left right 0 1 2 3' -- \
+ "$cur" ) )
+ return 0
+ ;;
+ --reflect)
+ COMPREPLY=( $( compgen -W 'normal x y xy' -- \
+ "$cur" ) )
+ return 0
+ ;;
+ --rotate)
+ COMPREPLY=( $( compgen -W 'normal inverted left right' -- \
+ "$cur" ) )
+ return 0
+ ;;
esac
case $cur in
*)
COMPREPLY=( $(compgen -W '-display -help --orientation --query \
--size --rate --version -x -y --screen --verbose --dryrun \
- --prop --fb --fbmm --dpi --output --auto --mode --preferred \
- --pos --reflect --rotate --left-of --right-of --above --below \
- --same-as --set --off --crtc --newmode --rmmode --addmode \
- --delmode' -- "$cur") )
+ --q1 --q12 --nograb --prop --properties --fb --fbmm --dpi \
+ --output --auto --mode --preferred --pos --rate --refresh \
+ --reflect --rotate --left-of --right-of --above --below \
+ --same-as --set --scale --transform --off --crtc --panning \
+ --gamma --brightness --primary --noprimary --newmode --rmmode \
+ --addmode --delmode' -- "$cur") )
return 0
;;
esac
-
- return 0
} &&
complete -F _xrandr xrandr
-# 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