Sebastian Stark Creating to do items with quicksilver applescript
Jul 04, 2007; 21:23
Sebastian Stark
Creating to do items with quicksilver applescript
Hello,
I am using Yojimbo a lot for creating and managing todos. This made me think of a super-fast way to add todos through quicksilver.
The script is at a very early stage but I wanted to get it on the list in the hope for some testers and helpful feedback. Be aware this is my first applescript---I am sure the code is ugly.
Sebastian
Description ======== The idea is to enter a string into quicksilver using the "." command and then use this script as an action. It parses the string and file a note item with the given name and contents in Yojimbo. It assumes you have a label with the name "Todo" and applies the label. If you want to change the label you have to edit the script.
Additionally you can specify one or more collections or tags and you can flag an item if you want. Some examples for the syntax:
Run errands
The easiest possible syntax. Just add the todo with the given title.
Create user account >>Work +account -- username: glib
This creates a note with the title "Create user account", put it into the "Work" folder collection and assign the "account" tag. The contents is "username: glib"
Order new backup tapes !! >>Work +backup +orders
This creates a note with the titel "Order new backup tapes", put it into the "Work" folder collections and assign the "backup" and "order" tags. It also flags the item. The contents is empty.
The order of the keywords (those starting with !!, >> or +) does not matter as long as they appear on the left side of " -- ", together with the title.
Installation ========= Paste the script into script editor and save it into ~/Library/ Application Support/Quicksilver/Actions/addYojimboTodo.scpt. Create the Actions folder if it does not exist. Restart quicksilver.
The script ======= using terms from application "Quicksilver" on process text theString -- cut out content, if any set AppleScript's text item delimiters to " -- " try set theItems to the text items of theString set theName to item 1 of theItems set theContents to item 2 of theItems on error set theName to theString set theContents to "" end try try -- if there are spaces then split set AppleScript's text item delimiters to " " set theItems to the text items of theName -- try to find collection, flag and tag specifiers set theTitleWords to {} set theCollections to {} set theTags to {} set theFlag to false repeat with oneItem in theItems if oneItem starts with ">>" then set AppleScript's text item delimiters to "" set the end of theCollections to items 3 thru -1 of oneItem as text set AppleScript's text item delimiters to " " else if oneItem starts with "+" then set AppleScript's text item delimiters to "" set the end of theTags to items 2 thru -1 of oneItem as text set AppleScript's text item delimiters to " " else if oneItem starts with "!!" then set theFlag to true else set the end of theTitleWords to oneItem as text end if end repeat set AppleScript's text item delimiters to " " set theTitle to theTitleWords as text on error -- no spaces or parse error. use a one-word title set theTitle to theName end try -- restore default value set AppleScript's text item delimiters to "" set theTitleText to theTitle tell application "Yojimbo" set theNote to make new note item with properties {name:theTitleText, contents:theContents, label name:"Todo", flagged:theFlag} add tags theTags to theNote repeat with oneCollection in theCollections add theNote to folder collection named oneCollection end repeat end tell end process text end using terms from
-- ------------------------------------------------------------------ This message is sent to you because you are subscribed to the mailing list <yojimbo-talk@barebones.com>. To unsubscribe, send mail to: <yojimbo-talk-off@barebones.com> List archives: <http://www.listsearch.com/yojimbotalk.lasso> Have a feature request, or not sure if the software's working correctly? Please send mail to: <support@barebones.com>
Search
Lasso Programming
This site manages and broadcasts several email lists pertaining to Lasso Programming and technologies related and used by Lasso developers. Sign up today!