summaryrefslogtreecommitdiff
path: root/mac/.config/sketchybar.mon/plugins/nextevent.sh
diff options
context:
space:
mode:
Diffstat (limited to 'mac/.config/sketchybar.mon/plugins/nextevent.sh')
-rwxr-xr-xmac/.config/sketchybar.mon/plugins/nextevent.sh55
1 files changed, 55 insertions, 0 deletions
diff --git a/mac/.config/sketchybar.mon/plugins/nextevent.sh b/mac/.config/sketchybar.mon/plugins/nextevent.sh
new file mode 100755
index 0000000..732629a
--- /dev/null
+++ b/mac/.config/sketchybar.mon/plugins/nextevent.sh
@@ -0,0 +1,55 @@
+#!/usr/bin/env bash
+
+render_item() {
+ sketchybar --set $NAME label="$(date "+%I:%M %p")"
+}
+
+render_popup() {
+
+ if which "icalBuddy" &>/dev/null; then
+ input=$(/opt/homebrew/bin/icalBuddy -ec 'Found in Natural Language,CCSF' -npn -nc -iep 'datetime,title' -po 'datetime,title' -eed -ea -n -li 4 -ps '|: |' -b '' eventsToday)
+ currentTime=$(date '+%I:%M %p')
+
+ # echo "Debug: $NAME #11 $input"
+
+ if [ -n "$input" ]; then
+ IFS='^' read -ra events <<< "$input"
+ for anEvent in "${events[@]}"; do
+ IFS='^' read -ra eventItems <<< "$anEvent"
+ eventTime=${eventItems[0]}
+ if [ "$eventTime" '>' "$currentTime" ]; then
+ theEvent="$anEvent"
+ break
+ fi
+ done
+ else
+ theEvent="No events today"
+ fi
+ else
+ theEvent="Please install icalBuddy → brew install ical-buddy."
+ fi
+
+
+ sketchybar --set clock.details label="$theEvent" click_script="sketchybar --set $NAME popup.drawing=off" >/dev/null
+}
+
+update() {
+ render_item
+}
+
+popup() {
+ render_popup
+ sketchybar --set "$NAME" popup.drawing="$1"
+}
+
+case "$SENDER" in
+"routine" | "forced")
+ update
+ ;;
+"mouse.entered")
+ popup on
+ ;;
+"mouse.exited" | "mouse.exited.global")
+ popup off
+ ;;
+esac \ No newline at end of file