]> git.newer.systems Git - dmenu.git/commitdiff
notepick main
authorTucker Johnson <tucker@newer.systems>
Sat, 3 Jan 2026 18:53:59 +0000 (13:53 -0500)
committerTucker Johnson <tucker@newer.systems>
Sat, 3 Jan 2026 18:53:59 +0000 (13:53 -0500)
extras/dmenu-scripts/dm-notepick [new file with mode: 0755]

diff --git a/extras/dmenu-scripts/dm-notepick b/extras/dmenu-scripts/dm-notepick
new file mode 100755 (executable)
index 0000000..b78bc73
--- /dev/null
@@ -0,0 +1,39 @@
+#!/usr/bin/env bash
+
+# Tucker Johnson (git.newer.systems) (tucker@newer.systems)
+
+# This script is to add out-of the box features to my dmenu build. If you want
+# to make changes, make them in the source directory and reinstall.
+
+folder=$HOME/Notes/
+
+newnote () { \
+  fType="$(echo -e "markdown\ngroff_ms\nspreadsheet\ncalendar" | dmenu -i -p 'File type: ')" || exit 0
+  dir="$(command ls -d "$folder" "$folder"*/ | dmenu -i -p 'Choose directory: ')" || exit 0
+  : "${dir:=$folder}"
+  name="$(echo "" | dmenu -p "Enter a name: " <&-)" || exit 0
+  : "${name:=$(date +%F_%H-%M-%S)}"
+  case $fType in
+    markdown) setsid -f "$TERMINAL" -e $EDITOR $dir$name".md" >/dev/null 2>&1 ;;
+    groff_ms) setsid -f "$TERMINAL" -e $EDITOR $dir$name".ms" >/dev/null 2>&1 ;;
+    spreadsheet) setsid -f "$TERMINAL" -e sc-im $dir$name".sc" >/dev/null 2>&1 ;;
+    calendar) setsid -f "$TERMINAL" -e $EDITOR $dir$name".rem" >/dev/null 2>&1 ;;
+    *) exit ;;
+  esac
+}
+
+selected () { \
+  choice=$(
+    echo -e "New\n$(find $folder -type f -printf '%T@ %P\n' | sort -nr | cut -d' ' -f2-)" | dmenu -l 20 -i -p "Choose note or create new: "
+  )
+  case $choice in
+    New) newnote ;;
+    *.md) setsid -f "$TERMINAL" -e $EDITOR "$folder$choice" >/dev/null 2>&1 ;;
+    *.sc) setsid -f "$TERMINAL" -e sc-im "$folder$choice" >/dev/null 2>&1 ;;
+    *.ms) setsid -f "$TERMINAL" -e $EDITOR "$folder$choice" >/dev/null 2>&1 ;;
+    *.rem) setsid -f "$TERMINAL" -e $EDITOR "$folder$choice" >/dev/null 2>&1 ;;
+    *) exit ;;
+  esac
+}
+
+selected