Xinqi Bao's Git

applied Jukka's fix
[dmenu.git] / dmenu_path
1 #!/bin/sh
2 CACHE=$HOME/.dmenu_cache
3 UPTODATE=1
4 IFS=:
5
6 uptodate() { [ $UPTODATE -eq 1 ]; }
7
8 if test ! -f $CACHE
9 then
10 UPTODATE=0
11 fi
12
13 if uptodate
14 then
15 for dir in $PATH
16 do
17 test $dir -nt $CACHE && { UPTODATE=0; break; }
18 done
19 fi
20
21 if ! uptodate
22 then
23 for dir in $PATH
24 do
25 for file in "$dir"/*
26 do
27 test -x "$file" && echo "${file##*/}"
28 done
29 done | sort | uniq > $CACHE
30 fi
31
32 cat $CACHE