4 while IFS
=$
'\t' read idx name _
; do
5 printf "%s %s\n" "$idx" "$name"
6 done < <(pactl list cards short
2> /dev
/null
)
10 while IFS
=$
'\t' read _ name _ _ _
; do
12 done < <(pactl list sinks short
2> /dev
/null
)
16 while IFS
=$
'\t' read idx _ _ _ _
; do
18 done < <(pactl list sinks short
2> /dev
/null
)
22 while IFS
=$
'\t' read _ name _ _ _
; do
24 done < <(pactl list sources short
2> /dev
/null
)
28 while IFS
=$
'\t' read idx _ _ _ _
; do
30 done < <(pactl list sink-inputs short
2> /dev
/null
)
34 while IFS
=$
'\t' read idx _ _ _ _
; do
36 done < <(pactl list source-outputs short
2> /dev
/null
)
40 pactl list cards
2> /dev
/null |
awk -e \
51 ports = ports substr($0, 3, index($0, ":")-3) " "
60 pactl list cards
2> /dev
/null |
awk -e \
71 profiles = profiles substr($0, 3, index($0, ": ")-3) " "
83 done < <(pulseaudio
--dump-modules 2> /dev
/null
)
87 while IFS
=$
'\t' read idx name _
; do
88 printf "%s %s\n" "$idx" "$name"
89 done < <(pactl list modules short
2> /dev
/null
)
92 __resample_methods
() {
95 done < <(pulseaudio
--dump-resample-methods 2> /dev
/null
)
98 _pacat_file_formats
() {
99 while IFS
=$
'\t' read name _
; do
100 printf "%s\n" "$name"
101 done < <(pacat
--list-file-formats 2> /dev
/null
)
106 for i
in "${@:2}"; do
107 [[ $1 = "$i" ]] && return
112 local cur prev words cword preprev
command
114 local flags
='-h --help --version -s --server= --client-name='
115 local list_types
='short sinks sources sink-inputs source outputs cards
116 modules samples clients'
117 local commands
=(stat info list
exit upload-sample play-sample remove-sample
118 load-module unload-module move-sink-input move-source-output
119 suspend-sink suspend-source set-card-profile set-sink-port
120 set-source-port set-sink-volume set-source-volume
121 set-sink-input-volume set-source-output-volume set-sink-mute
122 set-source-mute set-sink-input-mute set-source-output-mute
123 set-sink-formats set-port-latency-offset subscribe
help)
125 _init_completion
-n = ||
return
126 preprev
=${words[$cword-2]}
128 for word
in "${COMP_WORDS[@]}"; do
129 if in_array
"$word" "${commands[@]}"; then
136 list
) COMPREPLY
=($
(compgen
-W 'short' -- "$cur")) ;;
140 COMPREPLY
=($
(compgen
-W '${comps[*]}' -- "$cur"))
145 COMPREPLY
=($
(compgen
-W '${comps[*]}' -- "$cur"))
150 COMPREPLY
=($
(compgen
-W '${comps[*]}' -- "$cur"))
155 COMPREPLY
=($
(compgen
-W '${comps[*]}' -- "$cur"))
160 COMPREPLY
=($
(compgen
-W '${comps[*]}' -- "$cur"))
163 set-
*-mute) COMPREPLY
=($
(compgen
-W 'true false toggle' -- "$cur")) ;;
170 COMPREPLY
=($
(compgen
-W '${comps[*]}' -- "$cur"))
174 _known_hosts_real
"$cur"
179 list
) COMPREPLY
=($
(compgen
-W '${list_types[*]}' -- "$cur")) ;;
181 stat
) COMPREPLY
=($
(compgen
-W 'short' -- "$cur")) ;;
183 upload-sample
) _filedir
;;
185 play-sample
) ;; # TODO
187 remove-sample
) ;; # TODO
190 comps
=$
(__all_modules
)
191 COMPREPLY
=($
(compgen
-W '${comps[*]}' -- "$cur"))
195 comps
=$
(__loaded_modules
)
196 COMPREPLY
=($
(compgen
-W '${comps[*]}' -- "$cur"))
201 COMPREPLY
=($
(compgen
-W '${comps[*]}' -- "$cur"))
205 comps
=$
(__sink_inputs
)
206 COMPREPLY
=($
(compgen
-W '${comps[*]}' -- "$cur"))
210 comps
=$
(__source_outputs
)
211 COMPREPLY
=($
(compgen
-W '${comps[*]}' -- "$cur"))
216 COMPREPLY
=($
(compgen
-W '${comps[*]}' -- "$cur"))
221 COMPREPLY
=($
(compgen
-W '${comps[*]}' -- "$cur"))
226 COMPREPLY
=($
(compgen
-W '${comps[*]}' -- "$cur"))
231 COMPREPLY
=($
(compgen
-W '${comps[*]}' -- "$cur"))
235 _known_hosts_real
"$cur" ;;
241 _known_hosts_real
"$cur"
245 COMPREPLY
=($
(compgen
-W '${flags[*]}' -- "$cur"))
246 [[ $COMPREPLY == *= ]] && compopt
-o nospace
250 [[ -z $command ]] && COMPREPLY
=($
(compgen
-W '${commands[*]}' -- "$cur"))
254 complete
-F _pactl pactl
257 local cur prev words cword preprev
command
259 local flags
='-h --help --version'
260 local commands
=(exit help list-modules list-sinks list-sources list-clients
261 list-samples list-sink-inputs list-source-outputs stat info
262 load-module unload-module describe-module set-sink-volume
263 set-source-volume set-sink-input-volume set-source-output-volume
264 set-sink-mute set-source-mut set-sink-input-mute
265 set-source-output-mute update-sink-proplist update-source-proplist
266 update-sink-input-proplist update-source-output-proplist
267 set-default-sink set-default-source kill-client kill-sink-input
268 kill-source-output play-sample remove-sample load-sample
269 load-sample-lazy load-sample-dir-lazy play-file dump
270 move-sink-input move-source-output suspend-sink suspend-source
271 suspend set-card-profile set-sink-port set-source-port
272 set-port-latency-offset set-log-target set-log-level set-log-meta
273 set-log-time set-log-backtrace
)
274 _init_completion
-n = ||
return
275 preprev
=${words[$cword-2]}
277 for word
in "${COMP_WORDS[@]}"; do
278 if in_array
"$word" "${commands[@]}"; then
285 play-sample|play-file
)
287 COMPREPLY
=($
(compgen
-W '${comps[*]}' -- "$cur"))
290 load-sample
*) _filedir
;;
294 COMPREPLY
=($
(compgen
-W '${comps[*]}' -- "$cur"))
299 COMPREPLY
=($
(compgen
-W '${comps[*]}' -- "$cur"))
304 COMPREPLY
=($
(compgen
-W '${comps[*]}' -- "$cur"))
309 COMPREPLY
=($
(compgen
-W '${comps[*]}' -- "$cur"))
312 set-
*-mute) COMPREPLY
=($
(compgen
-W 'true false' -- "$cur"));;
319 describe-module|load-module
)
320 comps
=$
(__all_modules
)
321 COMPREPLY
=($
(compgen
-W '${comps[*]}' -- "$cur"))
325 comps
=$
(__loaded_modules
)
326 COMPREPLY
=($
(compgen
-W '${comps[*]}' -- "$cur"))
329 load-sample-dir-lazy
) _filedir
-d ;;
330 play-file
) _filedir
;;
333 comps
=$
(__sink_inputs
)
334 COMPREPLY
=($
(compgen
-W '${comps[*]}' -- "$cur"))
338 comps
=$
(__source_outputs
)
339 COMPREPLY
=($
(compgen
-W '${comps[*]}' -- "$cur"))
344 COMPREPLY
=($
(compgen
-W '${comps[*]}' -- "$cur"))
349 COMPREPLY
=($
(compgen
-W '${comps[*]}' -- "$cur"))
354 COMPREPLY
=($
(compgen
-W '${comps[*]}' -- "$cur"))
359 COMPREPLY
=($
(compgen
-W '${comps[*]}' -- "$cur"))
363 COMPREPLY
=($
(compgen
-W 'auto syslog stderr file: newfile:' -- "$cur"))
367 COMPREPLY
=($
(compgen
-W '{0..4}' -- "$cur"))
370 set-log-meta|set-log-time|
suspend)
371 COMPREPLY
=($
(compgen
-W 'true false' -- "$cur"))
376 -*) COMPREPLY
=($
(compgen
-W '${flags[*]}' -- "$cur")) ;;
378 COMPREPLY
=($
(compgen
-W 'suspend suspend-sink suspend-source' -- "$cur"))
382 COMPREPLY
=($
(compgen
-W 'load-sample load-sample-lazy load-sample-dir-lazy' -- "$cur"))
386 [[ -z $command ]] && COMPREPLY
=($
(compgen
-W '${commands[*]}' -- "$cur"))
390 complete
-F _pacmd pacmd
394 local flags
='-h --help --version -s --server='
396 _init_completion
-n = ||
return
401 _known_hosts_real
"$cur"
405 COMPREPLY
=($
(compgen
-W '${flags[*]}' -- "$cur"))
406 [[ $COMPREPLY == *= ]] && compopt
-o nospace
411 -s) _known_hosts_real
"$cur" ;;
414 complete
-F _pasuspender pasuspender
418 local flags
='-h -s -n -m -M -S -D -d'
420 _get_comp_words_by_ref cur prev
423 -*) COMPREPLY
=($
(compgen
-W '${flags[*]}' -- "$cur")) ;;
427 -s) _known_hosts_real
"$cur" ;;
430 complete
-F _padsp padsp
434 local flags
='-h --help --version -r --record -p --playback -v --verbose -s
435 --server= -d --device= -n --client-name= --stream-name= --volume=
436 --rate= --format= --channels= --channel-map= --fix-format --fix-rate
437 --fix-channels --no-remix --no-remap --latency= --process-time=
438 --latency-msec= --process-time-msec= --property= --raw --passthrough
439 --file-format= --list-file-formats'
441 _init_completion
-n = ||
return
446 _known_hosts_real
"$cur"
453 COMPREPLY
=($
(compgen
-W '${comps[*]}' -- "$cur"))
458 COMPREPLY
=($
(compgen
-W '32000 44100 48000 9600 192000' -- "$cur"))
463 comps
=$
(_pacat_file_formats
)
464 COMPREPLY
=($
(compgen
-W '${comps[*]}' -- "$cur"))
471 COMPREPLY
=($
(compgen
-W '${flags[*]}' -- "$cur"))
472 [[ $COMPREPLY == *= ]] && compopt
-o nospace
478 -s) _known_hosts_real
"$cur" ;;
482 COMPREPLY
=($
(compgen
-W '${comps[*]}' -- "$cur"))
486 complete
-F _pacat pacat paplay parecord
490 local cur prev words cword
491 local flags
='-h --help --version --dump-conf --dump-resample-methods --cleanup-shm
492 --start -k --kill --check --system= -D --daemonize= --fail= --high-priority=
493 --realtime= --disallow-module-loading= --disallow-exit= --exit-idle-time=
494 --scache-idle-time= --log-level= -v --log-target= --log-meta= --log-time=
495 --log-backtrace= -p --dl-search-path= --resample-method= --use-pit-file=
496 --no-cpu-limit= --disable-shm= -L --load= -F --file= -C -n'
497 _init_completion
-n = ||
return
500 --system=*|
--daemonize=*|
--fail=*|
--high-priority=*|
--realtime=*| \
501 --disallow-*=*|
--log-meta=*|
--log-time=*|
--use-pid-file=*| \
502 --no-cpu-limit=*|
--disable-shm=*)
504 COMPREPLY
=($
(compgen
-W 'true false' -- "$cur"))
509 COMPREPLY
=($
(compgen
-W 'auto syslog stderr file: newfile:' -- "$cur"))
514 COMPREPLY
=($
(compgen
-W '{0..4}' -- "$cur"))
529 comps
=$
(__resample_methods
)
530 COMPREPLY
=($
(compgen
-W '${comps[*]}' -- "$cur"))
535 comps
=$
(__all_modules
)
536 COMPREPLY
=($
(compgen
-W '${comps[*]}' -- "$cur"))
543 COMPREPLY
=($
(compgen
-W '${flags[*]}' -- "$cur"))
544 [[ $COMPREPLY == *= ]] && compopt
-o nospace
549 -D) COMPREPLY
=($
(compgen
-W 'true false' -- "$cur")) ;;
554 comps
=$
(__all_modules
)
555 COMPREPLY
=($
(compgen
-W '${comps[*]}' -- "$cur"))
559 complete
-F _pulseaudio pulseaudio
561 #vim: set ft=zsh sw=4 ts=4 noet