diff options
Diffstat (limited to 'dmenu/dmenu_path')
| -rwxr-xr-x | dmenu/dmenu_path | 21 |
1 files changed, 10 insertions, 11 deletions
diff --git a/dmenu/dmenu_path b/dmenu/dmenu_path index 3a7cda7..9b3b1f2 100755 --- a/dmenu/dmenu_path +++ b/dmenu/dmenu_path @@ -1,13 +1,12 @@ #!/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. -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 +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 |
