aboutsummaryrefslogtreecommitdiff
path: root/scripts/bbtargets
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/bbtargets')
-rwxr-xr-xscripts/bbtargets25
1 files changed, 25 insertions, 0 deletions
diff --git a/scripts/bbtargets b/scripts/bbtargets
new file mode 100755
index 0000000..1862ca0
--- /dev/null
+++ b/scripts/bbtargets
@@ -0,0 +1,25 @@
+#!/bin/sh
+# If the user is doing something ambiguous, like selecting a bunch of files,
+# moving the cursor off of those files, then doing an action, this will ask
+# what they mean to target, then output either 'cursor' or 'selected'.
+# Usage: targets "$BBCURSOR" "$@"
+cursor="$1"
+shift
+if [ $# -gt 0 ]; then
+ for f in "$@"; do
+ if [ "$f" = "$cursor" ]; then
+ intended='Selected files'
+ break
+ fi
+ done
+else
+ intended='Cursor file'
+fi
+
+[ -z "$intended" ] && intended="$(printf '%s\0' 'Cursor file' 'Selected files' 'Both' | bbpick 'Which do you want to delete? ')"
+
+case "$intended" in
+ Cursor*) echo cursor ;;
+ Selected*) echo selected ;;
+ Both) echo both ;;
+esac