I really, really like Zenity. This guide – while a definite go-to resource – only hints at the power therein.
For example, there’s the GoogleCL interface. Once set up, you have a way to automatically get your agenda for the day. But I don’t want that to show up every time I open a terminal window… but I need it in my face. Enter two quick scripts. (WATCH FOR LINE WRAP)
This one gives you the agenda for any day you select on a graphically displayed calendar (defaults to the current day):
alias agenda2=’bob=$(zenity –calendar –text “Pick a day” –title “Google Agenda” –date-format=%Y-%m-%d); agenda=$(google calendar list –date “$bob”);zenity –info –title “Agenda” –text “Events for that day:n$agenda”‘
It gets the date from the zenity calendar dialog and returns an info box with that day’s events. If you’re slick, you could put in a quick test for nothing being returned, but hey.
Here’s one that’s appropriate for being called upon login:
alias agenda=’bob=`date +%Y-%m-%d`;daytwo=`date –date=”-2 days ago” +%Y-%m-%d`; agenda=$(google calendar list –date “$bob”,”$daytwo”);zenity –info –title “Your Life” –text “$agenda”‘
This gives you two day’s worth of agenda items from your default calendar (that’s what the “daytwo” bit is). Play with them and see what you can come up with!