summaryrefslogtreecommitdiff
path: root/dmenu_run
blob: cf75b0afc32c86480261032091dc2c2a76cedc24 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#!/bin/sh
cachedir=${XDG_CACHE_HOME:-"$HOME/.cache"}
if [ -d "$cachedir" ]; then
	cache=$cachedir/dmenu_run
else
	cache=$HOME/.dmenu_cache
fi
(
	IFS=:
	if [ "`ls -dt $PATH "$cache" | head -n 1`" != "$cache" ]; then
		lsx $PATH | sort -u | tee "$cache" | dmenu "$@"
	else
		dmenu "$@" < "$cache"
	fi
) | read cmd && exec sh -c "$cmd"