#!/bin/bash rl_full="$(cat "$HOME/.config/bemenu/"*.runlist)" rl="$(echo "$rl_full" | cut -d' ' -f2-)" inp="$(echo "$rl" | bemenu --prompt ">")" eval "inp_arr=($inp)" exectr=float-sh-keep while IFS= read -r line; do if [[ "$inp" == "$line"* ]]; then exectr="$(echo "$rl_full" | grep -F "$line" -m 1 | cut -d' ' -f1)" fi done <<< "$rl" case "$exectr" in exec) exec $inp;; float-sh) exec footclient --app-id="footclient_float" -D ~/ "$SHELL" -c "($inp)";; float-sh-keep) exec footclient --app-id="footclient_float" -D ~/ "$SHELL" -c "($inp); read -n1";; *) exec bash "$HOME/.local/bin/bemenu/run-$exectr.sh" "${inp_arr[@]}";; esac