From 115ff9a06870d51702918cd926199e2271bf4f92 Mon Sep 17 00:00:00 2001 From: Sebastiano Tronto Date: Sun, 15 May 2022 12:02:59 +0200 Subject: Added option to specify alternative menu. Some general cleanup. --- dmenu-filepicker | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) (limited to 'dmenu-filepicker') diff --git a/dmenu-filepicker b/dmenu-filepicker index 7a3da9f..e2642b2 100755 --- a/dmenu-filepicker +++ b/dmenu-filepicker @@ -2,10 +2,18 @@ # A dmenu-based file picker (prints selected file to stdout) # Requires: dmenu (or similar) -# Usage: dmenu-filepicker [path] +# Usage: dmenu-filepicker [-m menu] [path] -menu=dmenu -menuopts="-i -l 15" +menu="dmenu -i -l 15" + +while getopts "m:" opt; do + case "$opt" in + m) + menu="$OPTARG" + ;; + esac +done +shift `expr $OPTIND - 1` fullpath=$(realpath ${@:-"$(pwd)"}) @@ -15,7 +23,7 @@ while true; do break elif [ -d "$fullpath" ] || [ -z "$fullpath" ]; then if [ -z "$fullpath" ]; then fp="/"; else fp="$fullpath"; fi - sel=$(ls -a "$fp" | sed 's|.*/||' | $menu $menuopts) + sel=$(ls -a "$fp" | sed 's|.*/||' | $menu) if [ "$sel" = ".." ]; then fullpath=$(echo "$fullpath" | sed "s|/[^/]*$||") else -- cgit v1.3