dmenu/dmenu_path

27 lines
484 B
Plaintext
Raw Normal View History

#!/bin/sh -f
CACHE=$HOME/.dmenu_cache
IFS=:
qfind() {
find "$@" 2>/dev/null
}
uptodate() {
test -f $CACHE &&
test "$(echo "$PATH")" = "$(sed 1q "$CACHE")" &&
qfind $PATH -maxdepth 0 -newer $CACHE
}
2007-05-23 11:22:27 +00:00
if ! uptodate
then
{
echo "$PATH"
qfind $PATH -type f -maxdepth 1 -perm -u+x -o -perm -g+x -o -perm -o+x |
sed 's,.*/,,' | sort | uniq
} > $CACHE.$pid
mv $CACHE.$pid $CACHE
fi
tail -n +2 $CACHE