dmenu/dmenu_path

27 lines
503 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")" &&
2007-05-23 18:35:05 -04:00
qfind $PATH -maxdepth 0 -newer $CACHE >/dev/null
}
2007-05-23 07:22:27 -04:00
if ! uptodate
then
{
echo "$PATH"
2007-05-23 16:59:38 -04:00
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