23 lines
747 B
Bash
Executable File
23 lines
747 B
Bash
Executable File
#!/bin/bash
|
|
|
|
rl_full="$(cat "$HOME/.config/bemenu/"*.runlist)"
|
|
rl="$(echo "$rl_full" | cut -d' ' -f2-)"
|
|
|
|
inp="$(echo "$rl" | bemenu --prompt ">")"
|
|
[ -z "$inp" ] && exit 0
|
|
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 alacritty msg create-window --class="term_float" --working-directory="$HOME" --command "$SHELL" -c "($inp)";;
|
|
float-sh-keep) exec alacritty msg create-window --class="term_float" --working-directory="$HOME" --command "($inp); read -n1";;
|
|
*) exec bash "$HOME/.local/bin/bemenu/run-$exectr.sh" "${inp_arr[@]}"
|
|
esac
|