dmenu/dmenu_run

15 lines
319 B
Bash
Executable File

#!/bin/sh
CACHE=${XDG_CACHE_HOME:-"$HOME/.cache"}/dmenu_run
if [ ! -d "`dirname "$CACHE"`" ]; then
CACHE=$HOME/.dmenu_cache
fi
(
IFS=:
if ls -d $PATH | stest -q -n "$CACHE"; then
for dir in $PATH; do
ls $dir | stest -C $dir -fx
done | sort -u > "$CACHE"
fi
)
cmd=`dmenu "$@" < "$CACHE"` && exec sh -c "$cmd"