feat(wpdef): default starred and put at the end
This commit is contained in:
parent
6d06f7e307
commit
337c12125d
@ -1,25 +1,16 @@
|
|||||||
#!/bin/bash -e
|
#!/bin/bash -e
|
||||||
|
|
||||||
case "$1" in
|
case "$1" in
|
||||||
s)
|
s) DEV='@DEFAULT_AUDIO_SINK@' ;;
|
||||||
DEV='@DEFAULT_AUDIO_SINK@'
|
m) DEV='@DEFAULT_AUDIO_SOURCE@' ;;
|
||||||
;;
|
*) exit 1 ;;
|
||||||
m)
|
|
||||||
DEV='@DEFAULT_AUDIO_SOURCE@'
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
exit 1
|
|
||||||
;;
|
|
||||||
esac
|
esac
|
||||||
|
|
||||||
function update_vol() {
|
function update_vol() {
|
||||||
case "$1" in
|
|
||||||
+*|-*)
|
|
||||||
# shellcheck disable=SC2017
|
# shellcheck disable=SC2017
|
||||||
CUR=$((CUR + $1 - CUR % $1 + CUR % $1 * 10 / $1 / 5 * $1))
|
case "$1" in
|
||||||
;;
|
+*|-*) CUR=$((CUR + $1 - CUR % $1 + CUR % $1 * 10 / $1 / 5 * $1)) ;;
|
||||||
*)
|
*) CUR="$1" ;;
|
||||||
CUR="$1"
|
|
||||||
esac
|
esac
|
||||||
wpctl set-volume -l 3 "$DEV" "$CUR%"
|
wpctl set-volume -l 3 "$DEV" "$CUR%"
|
||||||
}
|
}
|
||||||
|
@ -1,32 +1,32 @@
|
|||||||
#!/bin/bash -e
|
#!/bin/bash -e
|
||||||
|
|
||||||
json="$(pw-dump)"
|
json="$(pw-dump)"
|
||||||
|
fmt='"\(.id) \(.info.props."node.nick")"'
|
||||||
|
|
||||||
|
function _jq() {
|
||||||
|
jq -r "$*" <<< "$json"
|
||||||
|
}
|
||||||
|
|
||||||
|
function getdev() {
|
||||||
|
local d
|
||||||
|
|
||||||
|
d="$(_jq ".[].metadata | select(.)[] | select(.key == \"default.configured.audio.$1\").value.name")"
|
||||||
|
_jq ".[] | select(.info.props.\"node.name\" == \"$d\") | $fmt"
|
||||||
|
}
|
||||||
|
|
||||||
function getdevs() {
|
function getdevs() {
|
||||||
jq -r ".[] | select(.info.props.\"media.class\" == \"Audio/$1\") | \"\(.id) \(.info.props.\"node.nick\")\"" <<< "$json"
|
_jq ".[] | select(.info.props.\"media.class\" == \"Audio/$1\") | $fmt"
|
||||||
}
|
|
||||||
|
|
||||||
function getdefault() {
|
|
||||||
jq -r ".[].metadata | select(.) | .[] | select(.key == \"default.configured.audio.$1\") | .value.name" <<< "$json"
|
|
||||||
}
|
|
||||||
|
|
||||||
function getnick() {
|
|
||||||
jq -r ".[].info.props | select(.\"node.name\" == \"$1\") | .\"node.nick\"" <<< "$json"
|
|
||||||
}
|
}
|
||||||
|
|
||||||
case "$1" in
|
case "$1" in
|
||||||
s)
|
s) CLASS=Sink ;;
|
||||||
CLASS=Sink
|
m) CLASS=Source ;;
|
||||||
;;
|
*) exit 1 ;;
|
||||||
m)
|
|
||||||
CLASS=Source
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
exit 1
|
|
||||||
;;
|
|
||||||
esac
|
esac
|
||||||
|
|
||||||
read -r id <<< "$(getdevs "$CLASS" | dmenu -l 16)"
|
dev="$(getdev "${CLASS,,}")"
|
||||||
wpctl set-default "$id"
|
devs="$(getdevs "$CLASS" | grep -v "$dev")"$'\n'"* $dev"
|
||||||
|
|
||||||
|
read -r id <<< "$(dmenu -l 16 <<< "$devs" | sed 's/*//')"
|
||||||
|
wpctl set-default "$id"
|
||||||
kill -34 "$(cat "$XDG_RUNTIME_DIR/sbar/pid")"
|
kill -34 "$(cat "$XDG_RUNTIME_DIR/sbar/pid")"
|
||||||
|
Loading…
Reference in New Issue
Block a user