Mijn eerste Applescript voor Omnifocus

Omnifocus gebruik ik al een tijdje, maar het was meer een verzamelbak van stuff-todo dan een handige tool die me echt hielp slimmer te werken. Ik had me een beetje tot aanschaf laten verleiden, de iphone en ipad app zijn bijvoorbeeld ook geweldig, mijn UX-geek hart ging overstag, maar toen… Ad van der Hulst is zo’n zwarte band GTD’er die heel wat ins&outs van Omnifocus kent en ik ken hem gelukkig. Ik heb zijn websites heb ontworpen, zie hier de laatste versie van ADJUSTINTIME, volgende week komt er een spannende verrassing van Ad trouwens, hou die site in de gaten!

Omnifocus bijles

Ik vroeg Ad om wat Omnifocus tips en toen ging de wereld van “perspectieven” voor me open, sindsdien hou ik echt van Omnifocus! En dankzij naadloze syncing altijd de laatste versies bij de hand met de iPhone en iPad (na veel gezoek, bleek ik mijn MobileMe abonnement hier voor te kunnen gebruiken, dropbox werk(te) niet voor de mobile clients, en de beta Omniserver zal ik niemand aanraden te gaan gebruiken). Ik kon Ad één tip teruggeven, dat was de Safari bookmarklet, met 1 klik een url dumpen in Omnifocus (een bookmark die ik later wil bekijken of een email waar ik op terug moet komen). Heb je ‘m nog niet? Meteen doen, werkt ook met mobile.

Safari bookmarklet for Omnifocus

Recent gebeurde het een aantal keren dat ik eigenlijk supersnel een lijst actie-items moest invoeren, uit een mailtje met feedback of een lijst van urls die ik moest checken. Die ga ik niet handmatig copy/paste’en vond ik, maar naar veel zoeken vond ik een Applescript, die ik iets kon aanpassen zodat ik het script kon openen, een tekst bestand kon aanwijzen. En vervolgens werd van elke regen een aparte todo in mijn inbox geplaatst. Klinkt slim tot nu toe.

Echter, ik vond dat het openen van het Applescript me teveel tijd kostte, het programma laadde vrij langzaam en dan moest ik nog handelingen verrichten. Dat kon slimmer, kon het geen ‘droplet’ worden? Ja dat kan!

Mijn droplet script

Met behulp van MacScripter en het orginele script van Josh Betz ben ik hier op uitgekomen:

on open the_Droppings

set foo to (open for access the_Droppings with write permission)
set txt to (read foo for (get eof foo))
set eof foo to 0 close access foo
set Names to paragraphs of txt
repeat with nextLine in Names
if length of nextLine is greater than 0 then
tell application "OmniFocus"
set theDoc to first document
tell theDoc make new inbox task with properties {name:nextLine}
end tell
end tell
end if
end repeat

end open

Vergeet niet als je het bestand als “programma” te bewaren, dan werkt het namelijk ook nog eens als een droppelt 😉 Je .txt bestand erop droppen en het staat in Omnifocus. Oh, let op: dit script maakt je .txt bestand LEEG, dus een duplicaat gebruiken als je het nog moet bewaren!