aboutsummaryrefslogtreecommitdiff
path: root/dmenu-filepicker
diff options
context:
space:
mode:
authorSebastiano Tronto <sebastiano.tronto@gmail.com>2021-06-10 18:58:52 +0200
committerSebastiano Tronto <sebastiano.tronto@gmail.com>2021-06-10 18:58:52 +0200
commitb98e05ba63f2e108df634b4d9f9e5530769c6b80 (patch)
treea1d3a7f20e826d264f2a6b2141b7b1bfa7debb6f /dmenu-filepicker
parented61c5f085cebb86d3d3a34ce01ec22069c1fc70 (diff)
downloadscripts-b98e05ba63f2e108df634b4d9f9e5530769c6b80.tar.gz
scripts-b98e05ba63f2e108df634b4d9f9e5530769c6b80.zip
Added scripts and readme
Diffstat (limited to '')
-rwxr-xr-xdmenu-filepicker29
1 files changed, 29 insertions, 0 deletions
diff --git a/dmenu-filepicker b/dmenu-filepicker
new file mode 100755
index 0000000..a14bd53
--- /dev/null
+++ b/dmenu-filepicker
@@ -0,0 +1,29 @@
1#!/bin/sh
2
3# A dmenu-based file picker (prints selected file to stdout)
4# Requires: dmenu (or similar)
5# Usage: dmenu-filepicker [path]
6
7menu=${MENU:-dmenu}
8menuopts="-i -l 15"
9
10basedir="$(pwd)"
11
12next="${@:-$(pwd)}"
13
14while true; do
15 if [ -z "$next" ]; then
16 break
17 elif [ "$next" = "." ]; then
18 pwd
19 break
20 elif [ -d "$next" ]; then
21 cd "$next"
22 next=$(ls -a | $menu $menuopts)
23 else
24 echo "$(pwd)/$next"
25 break
26 fi
27done
28
29cd "$basedir"

Generated with cgit - Back to sebastiano.tronto.net