summaryrefslogtreecommitdiff
path: root/dmenu_path
blob: cd43748d53893465a93ceab91a78ba2a48096418 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#!/bin/sh
CACHE=$HOME/.dmenu_cache
IFS=:

uptodate() {                                                                       
	test ! -f $CACHE && return 1                                                   
	for dir in $PATH                                                                
	do                                                                              
		test $dir -nt $CACHE && return 1                                           
	done                                                                            
	return 0                                                                       
}          

if ! uptodate
then
	for dir in $PATH
	do
		for file in "$dir"/*
		do
			test -x "$file" && echo "${file##*/}"
		done
	done | sort | uniq > $CACHE
fi

cat $CACHE