Skip to content

Commit 04f2f73

Browse files
Actually fix argument parsing
1 parent 8ba0b33 commit 04f2f73

File tree

1 file changed

+15
-14
lines changed

1 file changed

+15
-14
lines changed

pulseaudio-control.bash

+15-14
Original file line numberDiff line numberDiff line change
@@ -427,13 +427,14 @@ More info on GitHub:
427427
https://github.com/marioortizmanero/polybar-pulseaudio-control"
428428
}
429429

430-
function getArgVal() {
430+
# Obtains the value for an option and returns 1 if no shift is needed.
431+
function getOptVal() {
431432
if [[ "$1" = *=* ]]; then
432433
val="${1//*=/}"
433-
else
434-
val="$2"
435-
shift
434+
return 1
436435
fi
436+
437+
val="$2"
437438
}
438439

439440
# Parsing the options from the arguments
@@ -450,7 +451,7 @@ while [[ "$1" = --* ]]; do
450451
AUTOSYNC=no
451452
;;
452453
--color-muted|--colour-muted)
453-
getArgVal "$@"
454+
if getOptVal "$@"; then shift; fi
454455
COLOR_MUTED="%{F#$val}"
455456
;;
456457
--notifications)
@@ -466,40 +467,40 @@ while [[ "$1" = --* ]]; do
466467
OSD=no
467468
;;
468469
--icon-muted)
469-
getArgVal "$@"
470+
if getOptVal "$@"; then shift; fi
470471
ICON_MUTED="$val"
471472
;;
472473
--icon-sink)
473-
getArgVal "$@"
474+
if getOptVal "$@"; then shift; fi
474475
# shellcheck disable=SC2034
475476
ICON_SINK="$val"
476477
;;
477478
--icons-volume)
478-
getArgVal "$@"
479+
if getOptVal "$@"; then shift; fi
479480
IFS=, read -r -a ICONS_VOLUME <<< "${val//[[:space:]]/}"
480481
;;
481482
--volume-max)
482-
getArgVal "$@"
483+
if getOptVal "$@"; then shift; fi
483484
VOLUME_MAX="$val"
484485
;;
485486
--volume-step)
486-
getArgVal "$@"
487+
if getOptVal "$@"; then shift; fi
487488
VOLUME_STEP="$val"
488489
;;
489490
--sink-blacklist)
490-
getArgVal "$@"
491+
if getOptVal "$@"; then shift; fi
491492
IFS=, read -r -a SINK_BLACKLIST <<< "${val//[[:space:]]/}"
492493
;;
493494
--sink-nicknames-from)
494-
getArgVal "$@"
495+
if getOptVal "$@"; then shift; fi
495496
SINK_NICKNAMES_PROP="$val"
496497
;;
497498
--sink-nickname)
498-
getArgVal "$@"
499+
if getOptVal "$@"; then shift; fi
499500
SINK_NICKNAMES["${val//:*/}"]="${val//*:}"
500501
;;
501502
--format)
502-
getArgVal "$@"
503+
if getOptVal "$@"; then shift; fi
503504
FORMAT="$val"
504505
;;
505506
# Undocumented because the `help` action already exists, but makes the

0 commit comments

Comments
 (0)