mirror of
https://github.com/Gator96100/ProxSpace.git
synced 2025-03-12 04:36:22 -07:00
62 lines
2.0 KiB
Bash
62 lines
2.0 KiB
Bash
# bash completion for xgamma(1) -*- shell-script -*-
|
|
|
|
_xgamma()
|
|
{
|
|
local cur prev words cword
|
|
_init_completion -n : || return
|
|
|
|
case "$prev" in
|
|
-screen)
|
|
local screens=$(xrandr --query 2>/dev/null | command sed -n \
|
|
'/^Screen /s|^Screen \{1,\}\(.*\):.*$|\1|p' 2>/dev/null)
|
|
COMPREPLY=($(compgen -W "$screens" -- "$cur"))
|
|
return
|
|
;;
|
|
-gamma | -rgamma | -ggamma | -bgamma)
|
|
# expect f.f
|
|
if [[ $cur && $cur != *.* ]]; then
|
|
COMPREPLY=(.)
|
|
fi
|
|
COMPREPLY+=($(compgen -W "{0..9}"))
|
|
compopt -o nospace
|
|
return
|
|
;;
|
|
-display)
|
|
# expect hostname:displaynumber.screennumber
|
|
if [[ $cur == :* && $cur != :*.* ]]; then
|
|
# FIXME: where to get local display numbers?
|
|
local display=${cur#:}
|
|
COMPREPLY=($(compgen -W "${display:-0}."))
|
|
compopt -o nospace
|
|
elif [[ $cur == :*.* ]]; then
|
|
# local screen numbers
|
|
local t screens=$(xrandr --query 2>/dev/null | command sed -ne \
|
|
'/^Screen /s|^Screen \{1,\}\(.*\):.*$|\1|p' 2>/dev/null)
|
|
t="${cur#:}"
|
|
COMPREPLY=($(compgen -P "${t%.*}." -W "$screens" -- \
|
|
"${cur##*.}"))
|
|
elif [[ $cur != *:* ]]; then
|
|
# complete hostnames
|
|
_known_hosts_real -c -- "$cur"
|
|
if [[ ! $cur ]]; then
|
|
COMPREPLY+=(:)
|
|
fi
|
|
compopt -o nospace
|
|
fi
|
|
# no display completion for remote hosts
|
|
return
|
|
;;
|
|
esac
|
|
|
|
if [[ $cur == -* ]]; then
|
|
COMPREPLY=($(compgen -W '$(_parse_help "$1" -help)' -- "$cur"))
|
|
if [[ ${COMPREPLY-} ]]; then
|
|
[[ $COMPREPLY == *= ]] && compopt -o nospace
|
|
return
|
|
fi
|
|
fi
|
|
} &&
|
|
complete -F _xgamma xgamma
|
|
|
|
# ex: filetype=sh
|