dmenu/dmenu_path

27 lines
491 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 >/dev/null
}
2007-05-23 13:22:27 +02:00
if ! uptodate
then
{
echo "$PATH"
2007-05-23 22:59:38 +02:00
qfind $PATH -type f -maxdepth 1 '(' -perm -u+x -o -perm -g+x -o -perm -o+x ')' |
sed 's,.*/,,' | sort | uniq
}
mv $CACHE.$pid $CACHE
fi
tail -n +2 $CACHE