summary refs log tree commit diff
diff options
context:
space:
mode:
authorRobert Günzler <r@gnzler.io>2024-02-14 20:49:58 +0100
committerRobert Günzler <r@gnzler.io>2024-02-14 20:49:58 +0100
commit93922708430d311f58a84a3219f35174afce49e7 (patch)
tree9953f1112adb60ea39bef38be130df28edeb7838
parentf121379d86ef62789ecd131ec7b32d1e6dc0801c (diff)
bin/menu: last save before replacing bemenu with mkmenu
Signed-off-by: Robert Günzler <r@gnzler.io>
-rwxr-xr-xbin/menu23
1 files changed, 16 insertions, 7 deletions
diff --git a/bin/menu b/bin/menu
index b3e4759..b3a87bc 100755
--- a/bin/menu
+++ b/bin/menu
@@ -9,19 +9,27 @@ pgrep bemenu >/dev/null && pkill -f bemenu
 . "$HOME"/.config/bemenu.conf
 
 arg0=bemenu
-MENU_PROMPT=${MENU_PROMPT:-󰈶󰩤}
+MENU_PROMPT=${MENU_PROMPT:-}
+MENU_FROM_PATH=${MENU_FROM_PATH:-}
+
+# this is used by -run to combine desktop files and PATH binaries
+if [ -n "$MENU_FROM_PATH" ]; then
+	(cat ; (fd -tf -tl -tx . $(printf "%s" "$PATH" | tr : ' ') -x printf "%s\n" {/} | sort -u)) |
+		env -u MENU_FROM_PATH $0
+	exit $?
+fi
 
 idx=0
 while test $# -gt $idx; do
 	case "$1" in
 	-run)
-		arg0=bemenu-run
-		MENU_PROMPT="󰏌"
+		# arg0=bemenu-run
+		export MENU_FROM_PATH=1 # reexec
+		arg0="j4-dmenu-desktop --no-generic --dmenu=$0 --term=foot"
 		shift
 		;;
 	-drun)
-		arg0="j4-dmenu-desktop --dmenu=bemenu"
-		MENU_PROMPT="󱂬"
+		arg0="j4-dmenu-desktop --no-generic --dmenu=$0 --term=foot"
 		shift
 		;;
 	-p)
@@ -37,10 +45,11 @@ while test $# -gt $idx; do
 	idx=$((idx + 1))
 done
 
-[ -n "${MENU_POPUP}" ] &&
+if [ -n "${MENU_POPUP}" ]; then
 	BEMENU_OPTS="${BEMENU_OPTS} --center --width-factor 0.5 --border 2 --list 8" # --fixed-height
+fi
 
-BEMENU_OPTS="${BEMENU_OPTS} --prompt ${MENU_PROMPT}"
+BEMENU_OPTS="${BEMENU_OPTS} --prompt \"${MENU_PROMPT}\""
 
 BEMENU_OPTS="${BEMENU_OPTS} $*"