2007-05-23 16:42:51 -04:00
|
|
|
#!/bin/sh -f
|
2007-05-14 05:56:41 -04:00
|
|
|
CACHE=$HOME/.dmenu_cache
|
2007-02-23 09:28:25 -05:00
|
|
|
IFS=:
|
2007-05-14 05:56:41 -04:00
|
|
|
|
2007-05-23 16:42:51 -04:00
|
|
|
qfind() {
|
|
|
|
find "$@" 2>/dev/null
|
|
|
|
}
|
|
|
|
|
2007-05-23 16:13:46 -04:00
|
|
|
uptodate() {
|
2007-05-23 16:42:51 -04:00
|
|
|
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 16:42:51 -04:00
|
|
|
}
|
2007-05-14 05:56:41 -04:00
|
|
|
|
2007-05-23 07:22:27 -04:00
|
|
|
if ! uptodate
|
2007-05-14 05:56:41 -04:00
|
|
|
then
|
2007-05-23 16:42:51 -04:00
|
|
|
{
|
|
|
|
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 ')' |
|
2007-05-23 16:42:51 -04:00
|
|
|
sed 's,.*/,,' | sort | uniq
|
|
|
|
} > $CACHE.$pid
|
|
|
|
mv $CACHE.$pid $CACHE
|
2007-05-14 05:56:41 -04:00
|
|
|
fi
|
|
|
|
|
2007-05-23 16:42:51 -04:00
|
|
|
tail -n +2 $CACHE
|
|
|
|
|