applied anydot's dmenu_path caching patch, thank you! 4042a11e
Anselm R. Garbe · 2007-05-14 11:56 1 file(s) · +26 −5
dmenu_path +26 −5
1 1
#!/bin/sh
2 +
CACHE=$HOME/.dmenu_cache
3 +
UPTODATE=1
2 4
IFS=:
3 -
for dir in $PATH
4 -
do
5 -
	for file in "$dir"/*
5 +
6 +
if test ! -f $CACHE 
7 +
then
8 +
	unset UPTODATE
9 +
fi
10 +
11 +
if test $UPTODATE
12 +
then
13 +
	for dir in $PATH
6 14
	do
7 -
		test -x "$file" && echo "${file##*/}"
15 +
		test $dir -nt $CACHE && unset UPTODATE
8 16
	done
9 -
done | sort | uniq
17 +
fi
18 +
19 +
if test ! $UPTODATE
20 +
then
21 +
	for dir in $PATH
22 +
	do
23 +
		for file in "$dir"/*
24 +
		do
25 +
			test -x "$file" && echo "${file##*/}"
26 +
		done
27 +
	done | sort | uniq > $CACHE
28 +
fi
29 +
30 +
cat $CACHE