dmenu/dmenu_path

33 lines
391 B
Bash
Executable File

#!/bin/sh
CACHE=$HOME/.dmenu_cache
UPTODATE=1
IFS=:
uptodate() { [ $UPTODATE -eq 1 ]; }
if test ! -f $CACHE
then
UPTODATE=0
fi
if uptodate
then
for dir in $PATH
do
test $dir -nt $CACHE && { UPTODATE=0; break; }
done
fi
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