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"
177 [[ $COMPREPLY ]] && return 0
180 list
) COMPREPLY
=($
(compgen
-W '${list_types[*]}' -- "$cur")) ;;
182 stat
) COMPREPLY
=($
(compgen
-W 'short' -- "$cur")) ;;
184 upload-sample
) _filedir
;;
186 play-sample
) ;; # TODO
188 remove-sample
) ;; # TODO
191 comps
=$
(__all_modules
)
192 COMPREPLY
=($
(compgen
-W '${comps[*]}' -- "$cur"))
196 comps
=$
(__loaded_modules
)
197 COMPREPLY
=($
(compgen
-W '${comps[*]}' -- "$cur"))
202 COMPREPLY
=($
(compgen
-W '${comps[*]}' -- "$cur"))
206 comps
=$
(__sink_inputs
)
207 COMPREPLY
=($
(compgen
-W '${comps[*]}' -- "$cur"))
211 comps
=$
(__source_outputs
)
212 COMPREPLY
=($
(compgen
-W '${comps[*]}' -- "$cur"))
217 COMPREPLY
=($
(compgen
-W '${comps[*]}' -- "$cur"))
222 COMPREPLY
=($
(compgen
-W '${comps[*]}' -- "$cur"))
227 COMPREPLY
=($
(compgen
-W '${comps[*]}' -- "$cur"))
232 COMPREPLY
=($
(compgen
-W '${comps[*]}' -- "$cur"))
236 _known_hosts_real
"$cur" ;;
238 [[ $COMPREPLY ]] && return 0
243 _known_hosts_real
"$cur"
247 COMPREPLY
=($
(compgen
-W '${flags[*]}' -- "$cur"))
248 [[ $COMPREPLY == *= ]] && compopt
-o nospace
252 [[ -z $command ]] && COMPREPLY
=($
(compgen
-W '${commands[*]}' -- "$cur"))
256 complete
-F _pactl pactl
259 local cur prev words cword preprev
command
261 local flags
='-h --help --version'
262 local commands
=(exit help list-modules list-cards list-sinks list-sources list-clients
263 list-samples list-sink-inputs list-source-outputs stat info
264 load-module unload-module describe-module set-sink-volume
265 set-source-volume set-sink-input-volume set-source-output-volume
266 set-sink-mute set-source-mut set-sink-input-mute
267 set-source-output-mute update-sink-proplist update-source-proplist
268 update-sink-input-proplist update-source-output-proplist
269 set-default-sink set-default-source kill-client kill-sink-input
270 kill-source-output play-sample remove-sample load-sample
271 load-sample-lazy load-sample-dir-lazy play-file dump
272 move-sink-input move-source-output suspend-sink suspend-source
273 suspend set-card-profile set-sink-port set-source-port
274 set-port-latency-offset set-log-target set-log-level set-log-meta
275 set-log-time set-log-backtrace
)
276 _init_completion
-n = ||
return
277 preprev
=${words[$cword-2]}
279 for word
in "${COMP_WORDS[@]}"; do
280 if in_array
"$word" "${commands[@]}"; then
287 play-sample|play-file
)
289 COMPREPLY
=($
(compgen
-W '${comps[*]}' -- "$cur"))
292 load-sample
*) _filedir
;;
296 COMPREPLY
=($
(compgen
-W '${comps[*]}' -- "$cur"))
301 COMPREPLY
=($
(compgen
-W '${comps[*]}' -- "$cur"))
306 COMPREPLY
=($
(compgen
-W '${comps[*]}' -- "$cur"))
311 COMPREPLY
=($
(compgen
-W '${comps[*]}' -- "$cur"))
314 set-
*-mute) COMPREPLY
=($
(compgen
-W 'true false' -- "$cur"));;
322 describe-module|load-module
)
323 comps
=$
(__all_modules
)
324 COMPREPLY
=($
(compgen
-W '${comps[*]}' -- "$cur"))
328 comps
=$
(__loaded_modules
)
329 COMPREPLY
=($
(compgen
-W '${comps[*]}' -- "$cur"))
332 load-sample-dir-lazy
) _filedir
-d ;;
333 play-file
) _filedir
;;
336 comps
=$
(__sink_inputs
)
337 COMPREPLY
=($
(compgen
-W '${comps[*]}' -- "$cur"))
341 comps
=$
(__source_outputs
)
342 COMPREPLY
=($
(compgen
-W '${comps[*]}' -- "$cur"))
347 COMPREPLY
=($
(compgen
-W '${comps[*]}' -- "$cur"))
352 COMPREPLY
=($
(compgen
-W '${comps[*]}' -- "$cur"))
357 COMPREPLY
=($
(compgen
-W '${comps[*]}' -- "$cur"))
362 COMPREPLY
=($
(compgen
-W '${comps[*]}' -- "$cur"))
366 COMPREPLY
=($
(compgen
-W 'auto syslog stderr file: newfile:' -- "$cur"))
370 COMPREPLY
=($
(compgen
-W '{0..4}' -- "$cur"))
373 set-log-meta|set-log-time|
suspend)
374 COMPREPLY
=($
(compgen
-W 'true false' -- "$cur"))
379 -*) COMPREPLY
=($
(compgen
-W '${flags[*]}' -- "$cur")) ;;
381 COMPREPLY
=($
(compgen
-W 'suspend suspend-sink suspend-source' -- "$cur"))
385 COMPREPLY
=($
(compgen
-W 'load-sample load-sample-lazy load-sample-dir-lazy' -- "$cur"))
389 [[ -z $command ]] && COMPREPLY
=($
(compgen
-W '${commands[*]}' -- "$cur"))
393 complete
-F _pacmd pacmd
397 local flags
='-h --help --version -s --server='
399 _init_completion
-n = ||
return
404 _known_hosts_real
"$cur"
408 COMPREPLY
=($
(compgen
-W '${flags[*]}' -- "$cur"))
409 [[ $COMPREPLY == *= ]] && compopt
-o nospace
414 -s) _known_hosts_real
"$cur" ;;
417 complete
-F _pasuspender pasuspender
421 local flags
='-h -s -n -m -M -S -D -d'
423 _get_comp_words_by_ref cur prev
426 -*) COMPREPLY
=($
(compgen
-W '${flags[*]}' -- "$cur")) ;;
430 -s) _known_hosts_real
"$cur" ;;
433 complete
-F _padsp padsp
437 local flags
='-h --help --version -r --record -p --playback -v --verbose -s
438 --server= -d --device= -n --client-name= --stream-name= --volume=
439 --rate= --format= --channels= --channel-map= --fix-format --fix-rate
440 --fix-channels --no-remix --no-remap --latency= --process-time=
441 --latency-msec= --process-time-msec= --property= --raw --passthrough
442 --file-format= --list-file-formats --monitor-stream='
444 _init_completion
-n = ||
return
449 _known_hosts_real
"$cur"
455 comps
+=" "$
(__sources
)
456 COMPREPLY
=($
(compgen
-W '${comps[*]}' -- "$cur"))
461 comps
=$
(__sink_inputs
)
462 COMPREPLY
=($
(compgen
-W '${comps[*]}' -- "$cur"))
467 COMPREPLY
=($
(compgen
-W '32000 44100 48000 9600 192000' -- "$cur"))
472 comps
=$
(_pacat_file_formats
)
473 COMPREPLY
=($
(compgen
-W '${comps[*]}' -- "$cur"))
480 COMPREPLY
=($
(compgen
-W '${flags[*]}' -- "$cur"))
481 [[ $COMPREPLY == *= ]] && compopt
-o nospace
487 -s) _known_hosts_real
"$cur" ;;
490 comps
+=" "$
(__sources
)
491 COMPREPLY
=($
(compgen
-W '${comps[*]}' -- "$cur"))
495 complete
-F _pacat pacat paplay parecord
499 local cur prev words cword
500 local flags
='-h --help --version --dump-conf --dump-resample-methods --cleanup-shm
501 --start -k --kill --check --system= -D --daemonize= --fail= --high-priority=
502 --realtime= --disallow-module-loading= --disallow-exit= --exit-idle-time=
503 --scache-idle-time= --log-level= -v --log-target= --log-meta= --log-time=
504 --log-backtrace= -p --dl-search-path= --resample-method= --use-pit-file=
505 --no-cpu-limit= --disable-shm= -L --load= -F --file= -C -n'
506 _init_completion
-n = ||
return
509 --system=*|
--daemonize=*|
--fail=*|
--high-priority=*|
--realtime=*| \
510 --disallow-*=*|
--log-meta=*|
--log-time=*|
--use-pid-file=*| \
511 --no-cpu-limit=*|
--disable-shm=*)
513 COMPREPLY
=($
(compgen
-W 'true false' -- "$cur"))
518 COMPREPLY
=($
(compgen
-W 'auto syslog stderr file: newfile:' -- "$cur"))
523 COMPREPLY
=($
(compgen
-W '{0..4}' -- "$cur"))
538 comps
=$
(__resample_methods
)
539 COMPREPLY
=($
(compgen
-W '${comps[*]}' -- "$cur"))
544 comps
=$
(__all_modules
)
545 COMPREPLY
=($
(compgen
-W '${comps[*]}' -- "$cur"))
552 COMPREPLY
=($
(compgen
-W '${flags[*]}' -- "$cur"))
553 [[ $COMPREPLY == *= ]] && compopt
-o nospace
558 -D) COMPREPLY
=($
(compgen
-W 'true false' -- "$cur")) ;;
563 comps
=$
(__all_modules
)
564 COMPREPLY
=($
(compgen
-W '${comps[*]}' -- "$cur"))
568 complete
-F _pulseaudio pulseaudio
570 #vim: set ft=zsh sw=4 ts=4 noet