diff options
| author | TheSiahxyz <164138827+TheSiahxyz@users.noreply.github.com> | 2025-02-09 11:08:35 +0900 |
|---|---|---|
| committer | TheSiahxyz <164138827+TheSiahxyz@users.noreply.github.com> | 2025-02-09 11:08:35 +0900 |
| commit | ade72d85ebc04455e6cc7be5ccb53b2890efd18d (patch) | |
| tree | 79e397527f5349f916e0fef82cf6b9ab1d15a0c7 /dmenu/dmenu_path | |
| parent | feb68a52e559ae769150d6971cbd4c0f3038c86e (diff) | |
modified dmenu/dmenu_path, modified dmenu/dmenu_run
Diffstat (limited to 'dmenu/dmenu_path')
| -rwxr-xr-x | dmenu/dmenu_path | 21 |
1 files changed, 11 insertions, 10 deletions
diff --git a/dmenu/dmenu_path b/dmenu/dmenu_path index 9b3b1f2..9e7c801 100755 --- a/dmenu/dmenu_path +++ b/dmenu/dmenu_path @@ -1,12 +1,13 @@ #!/bin/sh -# -# dmenu_path: Override dmenu_path sorting results by atime. -# -# By default, dmenu_path sorts executables alphabetically. It seems to make -# more sense to sort them by atime in an effort to reduce the number of -# keystrokes needed to start a program. -echo $PATH | tr ':' '\n' | uniq | sed 's#$#/#' | # List directories in $PATH - xargs ls -lu --time-style=+%s | # Add atime epoch - awk '/^(-|l)/ { print $6, $7 }' | # Only print timestamp and name - sort -rn | cut -d' ' -f 2 +cachedir="${XDG_CACHE_HOME:-"$HOME/.cache"}" +cache="$cachedir/dmenu_run" + +[ ! -e "$cachedir" ] && mkdir -p "$cachedir" + +IFS=: +if stest -dqr -n "$cache" $PATH; then + stest -flx $PATH | sort -u | tee "$cache" +else + cat "$cache" +fi |
