From 776728f63cabfef94f73eb00ac5576a67c95f801 Mon Sep 17 00:00:00 2001 From: Stacy Harper Date: Wed, 17 Mar 2021 19:53:32 +0100 Subject: [PATCH] Add a sort by submenu Signed-off-by: Stacy Harper Signed-off-by: Maarten van Gompel --- scripts/appscripts/sxmo_files.sh | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/scripts/appscripts/sxmo_files.sh b/scripts/appscripts/sxmo_files.sh index 63511af..28bb53c 100755 --- a/scripts/appscripts/sxmo_files.sh +++ b/scripts/appscripts/sxmo_files.sh @@ -8,8 +8,26 @@ DIR="$1" [ -z "$DIR" ] && DIR="/home/$USER/" cd "$DIR" || exit 1 +SORT= +REVERSE= + +sort_loop() { + CHOICES="$([ -z "$SORT" ] && echo "date" || echo "name")\n$([ -z "$REVERSE" ] && echo "desc" || echo "asc")" + + PICKED="$( + printf %b "$CHOICES" | + dmenu -c -p "Sort" -l 10 -i + )" + + echo "$PICKED" | grep -q "date" && SORT="--sort=t" + echo "$PICKED" | grep -q "name" && SORT= + echo "$PICKED" | grep -q "desc" && REVERSE="-r" + echo "$PICKED" | grep -q "asc" && REVERSE= +} + + while true; do - CHOICES="$(printf %b 'Close Menu\n../\n*\n'"$(ls -1p)")" + CHOICES="$(printf %b 'Reload\nClose Menu\nSort By\n../\n*\n'"$(ls -1p $SORT $REVERSE)")" DIR="$(basename "$(pwd)")" TRUNCATED="$(printf %.7s "$DIR")" if [ "$DIR" != "$TRUNCATED" ]; then @@ -22,6 +40,7 @@ while true; do dmenu -c -p "$DIR" -l 20 -i )" + echo "$PICKED" | grep "Sort By" && sort_loop echo "$PICKED" | grep "Close Menu" && exit 0 [ -d "$PICKED" ] && cd "$PICKED" && continue echo "$PICKED" | grep -E '^[*]$' && sxmo_open.sh -a ./*