river/completions/bash/riverctl
novakane e59c2a73d7 river: implement xdg-activation-v1
- add a new "urgent" border color
- add a new event to river-status-unstable-v1

Co-authored-by: Isaac Freund <ifreund@ifreund.xyz>
2021-08-19 12:58:52 +00:00

103 lines
2.4 KiB
Plaintext

function __riverctl_completion ()
{
if [ "${COMP_CWORD}" -eq 1 ]
then
OPTS=" \
csd-filter-add \
exit \
float-filter-add \
focus-output \
focus-view \
input \
list-inputs \
list-input-configs \
move \
resize \
snap \
send-to-output \
spawn \
swap \
toggle-float \
toggle-fullscreen \
zoom \
default-layout \
output-layout \
send-layout-cmd \
set-focused-tags \
focus-previous-tags \
set-view-tags \
toggle-focused-tags \
toggle-view-tags \
spawn-tagmask \
declare-mode \
enter-mode \
map \
map-pointer \
unmap \
unmap-pointer \
attach-mode \
background-color \
border-color-focused \
border-color-unfocused \
border-color-urgent \
border-width \
focus-follows-cursor \
set-repeat \
set-cursor-warp \
xcursor-theme"
COMPREPLY=($(compgen -W "${OPTS}" -- "${COMP_WORDS[1]}"))
elif [ "${COMP_CWORD}" -eq 2 ]
then
case "${COMP_WORDS[1]}" in
"focus-output"|"focus-view"|"send-to-output"|"swap") OPTS="next previous" ;;
"move"|"snap") OPTS="up down left right" ;;
"resize") OPTS="horizontal vertical" ;;
"map") OPTS="-release -repeat" ;;
"unmap") OPTS="-release" ;;
"attach-mode") OPTS="top bottom" ;;
"focus-follows-cursor") OPTS="disabled normal" ;;
"set-cursor-warp") OPTS="disabled on-output-change" ;;
*) return ;;
esac
COMPREPLY=($(compgen -W "${OPTS}" -- "${COMP_WORDS[2]}"))
elif [ "${COMP_CWORD}" -eq 3 ]
then
if [ "${COMP_WORDS[1]}" == "input" ]
then
OPTS="events \
accel-profile \
pointer-accel \
click-method \
drag \
drag-lock \
disable-while-typing \
middle-emulation \
natural-scroll \
left-handed \
tap \
tap-button-map \
scroll-method \
scroll-button"
COMPREPLY=($(compgen -W "${OPTS}" -- "${COMP_WORDS[2]}"))
fi
elif [ "${COMP_CWORD}" -eq 4 ]
then
if [ "${COMP_WORDS[1]}" == "input" ]
then
case "${COMP_WORDS[3]}" in
"events") OPTS="enabled disabled disabled-on-external-mouse" ;;
"accel-profile") OPTS="none flat adaptive" ;;
"click-method") OPTS="none button-areas clickfinger" ;;
"drag"|"drag-lock"|"disable-while-typing"|"middle-emulation"|"left-handed"|"tap") OPTS="enabled disabled" ;;
"tap-button-map") OPTS="left-right-middle left-middle-right" ;;
"scroll-method") OPTS="none two-finger edge button" ;;
*) return ;;
esac
fi
else
return
fi
}
complete -F __riverctl_completion riverctl