aboutsummaryrefslogtreecommitdiff
path: root/completions/bash/riverctl
blob: f3d867419d5667a129b40650b85b61cf6081b3a5 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
function __riverctl_completion ()
{
	if [ "${COMP_CWORD}" -eq 1 ]
	then
		OPTS=" \
			keyboard-group-create \
			keyboard-group-destroy \
			keyboard-group-add \
			keyboard-group-remove \
			keyboard-layout \
			exit \
			focus-output \
			focus-view \
			input \
			list-inputs \
			list-input-configs \
			move \
			resize \
			rule-add \
			rule-del \
			list-rules \
			snap \
			send-to-output \
			spawn \
			swap \
			toggle-float \
			toggle-fullscreen \
			zoom \
			default-layout \
			output-layout \
			send-layout-cmd \
			set-focused-tags \
			focus-previous-tags \
			send-to-previous-tags \
			set-view-tags \
			toggle-focused-tags \
			toggle-view-tags \
			spawn-tagmask \
			declare-mode \
			enter-mode \
			map \
			map-pointer \
			map-switch \
			unmap \
			unmap-pointer \
			unmap-switch \
			attach-mode \
			background-color \
			border-color-focused \
			border-color-unfocused \
			border-color-urgent \
			border-width \
			focus-follows-cursor \
			hide-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"|"send-to-output") OPTS="next previous" ;;
			"focus-view"|"swap") OPTS="next previous up down left right" ;;
			"move"|"snap") OPTS="up down left right" ;;
			"resize") OPTS="horizontal vertical" ;;
			"rule-add"|"rule-del") OPTS="float no-float ssd csd tag" ;;
			"list-rules") OPTS="float ssd tag" ;;
			"map") OPTS="-release -repeat -layout" ;;
			"unmap") OPTS="-release" ;;
			"attach-mode") OPTS="top bottom" ;;
			"focus-follows-cursor") OPTS="disabled normal always" ;;
			"set-cursor-warp") OPTS="disabled on-output-change on-focus-change" ;;
			"hide-cursor") OPTS="timeout when-typing" ;;
			*) 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]}"))
		elif [ "${COMP_WORDS[1]}" == "hide-cursor" ]
		then
			case "${COMP_WORDS[2]}" in
				"when-typing") OPTS="enabled disabled" ;;
				*) return ;;
			esac
			COMPREPLY=($(compgen -W "${OPTS}" -- "${COMP_WORDS[3]}"))
		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