#!/bin/sh basename=`basename $0` if [ -z "$*" ]; then echo "usage: ${basename} [ -o | -r | | - ]" echo "" echo "options:" echo " -o open dot in window with keyboard focus" echo " -r read contents of dot" echo " -c clear contents of dot" echo " append contents of regular file to dot" echo " - append standard input to dot" echo "" echo "examples:" echo " $ cal -h | tot 1 - # put a calendar in first dot" echo " $ tot 2 MyApp.crash # put a crash report in second dot" echo "" exit 1 fi dot="$1" if [ -z "$2" ]; then echo "error: no dot action specified" exit 1 else if [ "$2" = "-o" ]; then # open dot osascript -e "tell application \"Tot\" to open location \"tot://${dot}\"" osascript -e "tell application \"Tot\" to activate" elif [ "$2" = "-r" ]; then # get contents of dot osascript -e "tell application \"Tot\" to open location \"tot://${dot}/content\"" elif [ "$2" = "-c" ]; then # clear contents of dot osascript -e "tell application \"Tot\" to open location \"tot://${dot}/replace?text=\"" else # append file or stdin to dot if [ "$2" = "-" ]; then FILE=`mktemp -t ${basename}` || exit 1 cat /dev/stdin > $FILE else if [ -f "$2" ]; then FILE="$2" else echo "error: not a regular file" exit 1 fi fi text=`cat $FILE | python -c 'import urllib; import sys; print urllib.quote(sys.stdin.read())'` osascript -e "tell application \"Tot\" to open location \"tot://${dot}/append?text=${text}\"" fi fi