diff options
Diffstat (limited to 'mac/.config/sketchybar.mon/plugins/nextevent.sh')
| -rwxr-xr-x | mac/.config/sketchybar.mon/plugins/nextevent.sh | 55 |
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 |
