From 3085bc77b3f1fcc31259997a30be306a4d80f6bc Mon Sep 17 00:00:00 2001 From: Robert Günzler Date: Tue, 23 Feb 2021 13:29:45 +0100 Subject: bin/menu: pass bemenu options globally through env var --- bin/soundswitch | 36 +++++++++++++++++++++++------------- 1 file changed, 23 insertions(+), 13 deletions(-) (limited to 'bin/soundswitch') diff --git a/bin/soundswitch b/bin/soundswitch index 3f893c6..acd287a 100755 --- a/bin/soundswitch +++ b/bin/soundswitch @@ -15,12 +15,14 @@ for tool in jq swq pactl perl; do fi done - - DEFAULT_PROFILE="output:analog-stereo+input:analog-stereo" HDMI_PROFILE="output:hdmi-stereo" export MENU_PROMPT="soundswitch" +_menu() { + menu -l 8 +} + mode= output= input= @@ -67,29 +69,37 @@ done shift $((OPTIND-1)) # ask mode +_mode_global="󰣨 global" +_mode_focused="󰻿 focused" +_mode_profile_card="󱂇 card profile" +_mode_profile_hdmi="󰡁 hdmi profile" +_mode_profile_reset="󰕍 reset profile" if [ -z "$mode" ]; then - printf "global\nfocused\ncard profile\nhdmi profile\nreset profile\n" | menu | { + printf "$_mode_global\n$_mode_focused\n$_mode_profile_card\n$_mode_profile_hdmi\n$_mode_profile_reset\n" | _menu | { read -r line case ${line} in - global) exec "$0" -g "$*" ;; - focused) exec "$0" -f "$*" ;; - "card profile") exec "$0" -p "$*" ;; - "hdmi profile") exec "$0" -H "$*" ;; - "reset profile") exec "$0" -R "$*" ;; - *) usage ;; + $_mode_global) exec "$0" -g "$*" ;; + $_mode_focused) exec "$0" -f "$*" ;; + $_mode_profile_card) exec "$0" -p "$*" ;; + $_mode_profile_hdmi) exec "$0" -H "$*" ;; + $_mode_profile_reset) exec "$0" -R "$*" ;; + *) + usage ;; esac } exit $? fi +_mode_output="󰴸 output" +_mode_input="󰍬 input" if [ -n "$mode" ]; then # ask target? if [ -z "$output" ] && [ -z "$input" ]; then - printf "output\ninput\n" | menu | { + printf "$_mode_output\n$_mode_input\n" | _menu | { read -r line case ${line} in - output) exec "$0" -O $_args ;; - input) exec "$0" -I $_args ;; + $_mode_output) exec "$0" -O $_args ;; + $_mode_input) exec "$0" -I $_args ;; *) usage ;; esac } @@ -177,7 +187,7 @@ profile) | cut -d'~' -f2- \ | tr '\r' '\n' \ | xargs -L1 \ - | menu \ + | _menu \ | perl -pe 's/^\s*([^\s]+):\s.*$/\1/') if [ -z "${target_profile}" ]; then exit 1 -- cgit 1.4.1