]> git.newer.systems - dmenu.git/commitdiff
zeit script main
authorTucker Johnson <tucker@newer.systems>
Wed, 16 Jul 2025 02:30:58 +0000 (22:30 -0400)
committerTucker Johnson <tucker@newer.systems>
Wed, 16 Jul 2025 02:30:58 +0000 (22:30 -0400)
Makefile
extras/dmenu-scripts/dm-zeit [new file with mode: 0755]

index 95e6f6ad24f0398f96ae01e3530ba87559aeea61..625833daf4df01d918c43121045c413fbda623b3 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -60,6 +60,7 @@ install: all
        chmod 755 $(DESTDIR)$(PREFIX)/bin/dm-streamselect
        chmod 755 $(DESTDIR)$(PREFIX)/bin/dm-sysact
        chmod 755 $(DESTDIR)$(PREFIX)/bin/dm-unicode
+       chmod 755 $(DESTDIR)$(PREFIX)/bin/dm-zeit
        mkdir -p $(DESTDIR)$(MANPREFIX)/man1
        sed "s/VERSION/$(VERSION)/g" < dmenu.1 > $(DESTDIR)$(MANPREFIX)/man1/dmenu.1
        sed "s/VERSION/$(VERSION)/g" < stest.1 > $(DESTDIR)$(MANPREFIX)/man1/stest.1
diff --git a/extras/dmenu-scripts/dm-zeit b/extras/dmenu-scripts/dm-zeit
new file mode 100755 (executable)
index 0000000..d7b0145
--- /dev/null
@@ -0,0 +1,35 @@
+#!/bin/sh
+
+# dmenu wrapper script for zeit project and task tracking.
+
+# 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.
+
+project() { \
+    projName="$(dmenu -p 'Project:' < /dev/null)"
+    projColor="$(pastel random -n 1 | pastel format hex)"
+    [ -z $projName ] || notify-send "$(zeit project --color "$projColor" "$projName")" "   $projName ($projColor)"
+}
+
+track() { \
+    projName="$(dmenu -p 'Project:' < /dev/null)"
+    taskName="$(dmenu -p 'Task:' < /dev/null)"
+    begin="$(dmenu -p 'Begin Time:' < /dev/null)"
+    if [ -z $begin ]
+    then
+        [ -z $projName ] || notify-send "$(zeit track --project "$projName" --task "$taskName" | sed $'s/[^[:print:]\t]//g' | sed 's/\[[0-9]*m//g' )"
+    else
+        [ -z $projName ] || notify-send "$(zeit track --project "$projName" --task "$taskName" --begin "$begin" | sed $'s/[^[:print:]\t]//g' | sed 's/\[[0-9]*m//g' )"
+    fi
+}
+
+case "$(printf "🖲️ track\n⌛ finish\n⏲️ status\n🗒️ list\n✔️ task\n💡 project" | dmenu -i -p 'Command:')" in
+    '⏲️ status') notify-send "$(zeit tracking | sed $'s/[^[:print:]\t]//g' | sed 's/\[[0-9]*m//g' )" ;;
+    '🖲️ track') track ;;
+    '⌛ finish') notify-send "$(zeit finish | sed $'s/[^[:print:]\t]//g' | sed 's/\[[0-9]*m//g' )" ;;
+    '🗒️ list') notify-send "$(zeit list --range "today" --decimal --total | tail -n 2)" "$(zeit list --range "today" | sed $'s/[^[:print:]\t]//g' | sed 's/\[[0-9]*m//g' | cut -c 38- | sed 's/^/◆ /' )" ;;
+    '💡 project') project ;;
+       *) exit 1 ;;
+esac