dmenu/dmenu_run

16 lines
325 B
Bash
Executable File

#!/bin/sh
cachedir=${XDG_CACHE_HOME:-"$HOME/.cache"}
if [ -d "$cachedir" ]; then
cache=$cachedir/dmenu_run
else
cache=$HOME/.dmenu_cache
fi
(
IFS=:
if [ "`ls -dt $PATH "$cache" | head -n 1`" != "$cache" ]; then
lsx $PATH | sort -u | tee "$cache" | dmenu "$@"
else
dmenu "$@" < "$cache"
fi
) | ${SHELL:-"/bin/sh"} &