After installing Geektool, I added the following elements to my desktop :

To show the upcoming iCal events, I installed icalBuddy to show the TaskPapers tasks, I cobbled together some shell commands.

The following script shows the upcoming events and all the remaining tasks in my todo list. If you wish to use this script, do not forget to change the path to your TaskPaper file.

echo "\nEVENTS : \n------------------------" 
/usr/local/bin/icalBuddy -npn -nc -iep "title,datetime" -ps "| : |" -po "title,datetime" -tf "" -df "%RD" -eed eventsToday+5  | sed ''/today/s//`printf "\033[37m&\033[0m"`/''
echo "\nTASKS : \n------------------------" 
grep "^[[:space:]]*-" "/Users/gunther/SimpleText/todo.taskpaper" | grep -v @done | sed 's/^[[:space:]]*//' | fold -s -w 50 | sed ''/@today/s//`printf "\033[37m&\033[0m"`/''| sed ''/@due\(`date '+%Y-%m-%d'`\)/s//`printf "\033[37m&\033[0m"`/''

Some details :

  • /usr/local/bin/icalBuddy -npn -nc -iep "title,datetime" -ps "| : |" -po "title,datetime" -tf "" -df "%RD" -eed eventsToday+5 uses icalBuddy to show only the events for the next 5 days with some custom formatting.

  • sed ''/today/s//printf "\033[37m&\033[0m"/'' renders today in white

  • grep "^[[:space:]]*-" "/Users/gunther/SimpleText/todo.taskpaper" filters my TaskPaper file to only show the tasks (they start with a dash)

  • sed 's/^[[:space:]]*//' trims the whitespace at the beginning of the lines

  • fold -s -w 50 wraps the lines after 50 characters without cutting up words

  • sed ''/@today/s//printf "\033[37m&\033[0m"/'' prints the today tag in white

  • sed ''/@due\(date '+%Y-%m-%d'\)/s//printf "\033[37m&\033[0m"/'' prints the due tag in white if the due date is today

Geeklet files to download


Log in to comment or register here.