26 lines
		
	
	
		
			786 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			26 lines
		
	
	
		
			786 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
#!/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
 |