]> arthur.barton.de Git - OhMyZshExtensions.git/commitdiff
Add "reminders" plugin: Show reminders
authorAlexander Barton <alex@barton.de>
Fri, 27 Mar 2015 15:38:29 +0000 (16:38 +0100)
committerAlexander Barton <alex@barton.de>
Fri, 27 Mar 2015 15:38:33 +0000 (16:38 +0100)
Currently icalBuddy(1) and remind(1) are supported.

plugins/reminders/reminders.plugin.zsh [new file with mode: 0644]

diff --git a/plugins/reminders/reminders.plugin.zsh b/plugins/reminders/reminders.plugin.zsh
new file mode 100644 (file)
index 0000000..ff865f6
--- /dev/null
@@ -0,0 +1,30 @@
+# reminders.plugin.zsh
+# 2015-03-27, alex@barton.de
+
+# Show reminders (once every 60 minutes)
+if [ -z `find ~/.last_reminder -mmin -60 2>/dev/null` ]; then
+       if [ "$(type icalBuddy 2>/dev/null)" -a "$LOGNAME" != "root" ]; then
+               # icalBuddy(1)
+               case "$LANG" in
+                       *.UTF*) bul="•"; bul_imp="!"; sep="»"; ;;
+                       *)      bul="*"; bul_imp="!"; sep=">"; ;;
+               esac
+               icalBuddy -f -n -b " $bul " -ab " $bul_imp " -ps "/ $sep /" \
+                       -nc -npn -iep "title,due" -stda \
+                       tasksDueBefore:today 2>/dev/null
+               icalBuddy -f -n -b " $bul " -ab " $bul_imp " -ps "/ $sep /" \
+                       -nc -npn -iep "title,datetime" \
+                       eventsToday+1 2>/dev/null
+               [ $? -eq 0 ] && echo
+               unset bul bul_imp sep
+               [ -w ~/ ] && touch ~/.last_reminder
+       else
+               # remind(1)
+               if [ "$(type remind 2>/dev/null)" -a -r ~/.remind ]; then
+                       remind -h -g -t5 ~/.remind | \
+                               grep -v '^Reminders for ' | grep -v '^$'
+                       [ $? -eq 0 ] && echo
+               fi
+               [ -w ~/ ] && touch ~/.last_reminder
+       fi
+fi