diff options
author | Raymaekers Luca <raymaekers.luca@gmail.com> | 2023-10-21 00:35:13 +0200 |
---|---|---|
committer | Raymaekers Luca <raymaekers.luca@gmail.com> | 2023-10-21 00:35:13 +0200 |
commit | c3c4b8c6b4556e01770a75da4b6fbf8e1eba9ce4 (patch) | |
tree | 006d8799585d86557e570f03af93b112a079a697 /bin/guiscripts/dmfm | |
parent | 39a6cea6f2f198aa08189d345e0281a591d17ec4 (diff) | |
parent | 3d253cd428e2769e0449fbf0c3ece5c0ab41545c (diff) |
Merge branch 'main' of db:dotfiles
Diffstat (limited to 'bin/guiscripts/dmfm')
-rwxr-xr-x | bin/guiscripts/dmfm | 28 |
1 files changed, 15 insertions, 13 deletions
diff --git a/bin/guiscripts/dmfm b/bin/guiscripts/dmfm index 969c111..d1dd8b8 100755 --- a/bin/guiscripts/dmfm +++ b/bin/guiscripts/dmfm @@ -1,17 +1,19 @@ #!/bin/sh -file=1 -while [ "$file" ]; do - file=$(ls -1 --group-directories-first | dmenu -i -l 8 -g 1 -p "$(basename $(pwd)):") - if [ -e "$file" ]; then - owd=$(pwd) - if [ -d "$file" ]; then - cd "$file" - else [ -f "$file" ] - if which xdg-open &> /dev/null; then - exec xdg-open "$owd/$file" & - unset file - fi - fi +while true +do + file=$(find . -maxdepth 1 -mindepth 1 -not -name '.*' -printf '%y\t%f\n' | + sort -k 1 -k 2 | cut -f 2- | + commander -xcd -p "$PWD>") + + [ "$file" ] || break + [ ! -e "$file" ] && continue + + if [ -d "$file" ] + then + cd "$file" || continue + else + setsid xdg-open "$PWD/$file" & fi + done |