From a26e6ae5253d95e7238dab20e298129a468e04f6 Mon Sep 17 00:00:00 2001 From: zachir Date: Sat, 30 Aug 2025 09:40:41 -0500 Subject: Improve dmenu support You can now (again) pass multiple flags to dmenu through -d flags, as well as for some scripts all args are passed to dmenu. --- bm | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'bm') diff --git a/bm b/bm index 08bde92..95eec02 100755 --- a/bm +++ b/bm @@ -57,7 +57,7 @@ while getopts "hbBcrflmqxwd:u:" o; do case "${o}" in m) SEL="MBC" ;; q) SEL="QBC" ;; c) SEL="CLIPB" ;; - d) ARG="$OPTARG";; + d) ARG=${ARG:+"$ARG "}"$OPTARG" ;; u) URL="$OPTARG " ;; *) printhelp ;; esac done @@ -85,6 +85,10 @@ bra () { } #}}} +dmenu_lp () { + dmenu -l 15 -p "$@" +} + #{{{ main if [ -n "$SEL" ]; then case "$SEL" in @@ -103,7 +107,7 @@ if [ -z "$CLIPB$BRA$BSC$FDC$FFC$LWC$MBC$QBC" ]; then echo "$BROWSERSINSTALLED" [ -z "$BROWSERSINSTALLED" ] && \ printf "No suitable browsers!\n" && exit 1 - BROWSERSEL="$(echo "$BROWSERSINSTALLED" | dmenu -l 10 -p "browser?" ${ARG:+"$ARG"})" + BROWSERSEL="$(echo "$BROWSERSINSTALLED" | dmenu_lp "browser?" ${ARG:+"$ARG"})" [ -z "$BROWSERSEL" ] && \ printf "No browser selected!\n" && exit 1 case "$BROWSERSEL" in -- cgit v1.2.3