Quick reminders from BTT using dontforget

This is an ugly mess... a bash script that wraps an applescript that asks and passes arguments to Brett Terpstra's dontforget bash script.

If you write something like "call Nancy in 45m" the script will issue a notification and say "Time to call nancy" once 45 minutes have pasted. If the number has h, m, or s immediately after it (no space), it will be interpreted as hours, minutes, or seconds. You can find more details and tweaks in the script itself (linked above). For my personal needs, I have changed the audio that plays with the reminder ( in the "__df_remind" section) and added a couple extra audiovisual feedback actions so that I really don't miss the reminder, I'm very distractible (?).


Edit
Because it seems a simpler applescript would 1) held BTT resources and 2) only allow for one reminder at a time while it was running, I found a bash wrapper for it. It can be launched with an execute terminal command (async) action and writing the "path_to_script" in the box. Then you launch it however you like it, I for instance do it by either pressing fn (without release) + d + o + f + o + fn (releasing), either by a clock icon in a radial web menu (yes the nice one Andreas used as example / tuto =)

So, recap:

  1. get dontforget script from link above; make it executable (chmod +x path_to script in the terminal)
  2. copy script below and change path_to_script_dontforget.sh to your path; save it as an .sh file (e.g. dofo_wrapper.sh), make it executable (chmod +x path_to_dofo_wrapper.sh in the terminal)
  3. in BTT create a new trigger with action execute terminal command (async)
  4. write full path to your dofo_wrapper.sh script
  5. remind away =)

Again I'm a copy-paste monkey with zero knowledge, so without further ado

#!/bin/bash

/usr/bin/osascript <<-EOF

try
set _dofo to the text returned of (display dialog "WHAT :mushroom: shall we NOT FORGET?" default answer "")
delay 1
do shell script "nohup path_to_script_dontforget.sh " & _dofo & " > /dev/null &"
if button returned is "Cancel" then
error number -128
end if
end try

EOF

From this corner I'd like to thank Mr Terpstra for the simple and useful script and for sharing it, also to the nice pips contributing (cannot remember where I took it) solutions that one can just steal / copy-paste; hopefully someone else finds it useful; cheers