A few random AppleScript snippets
14/01/2010I was just writing an AppleScript to look up words on the excellent NinjaWords and decided to post it in case someone else needs something similar. Since one snippet of AppleScript is not a very meaty post, I’ll throw in a couple extra.
Look up word on NinjaWords
Select a word and copy it to the clipboard. Then invoke this script via Quicksilver or LaunchBar or whatever is your favorite tool for invocations.
1 2 3 4 | set clip_url to (the clipboard as string) set lc_url to do shell script "echo " & clip_url & " | tr '[:upper:]' '[:lower:]'" set ninjaURL to "http://ninjawords.com/" & lc_url do shell script "open " & ninjaURL |
Wrap link in ‘a href…’
Note: This one will look slightly different depending on whether you are using Quicksilver, LaunchBar, whatever. The key is that you pass a string value into the script and it returns one back to you. This example is for LaunchBar.
Copy a link to the clipboard, invoke the script, paste your now a-tagged link.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | on handle_string(vanillaStr) set quote to ASCII character 34 set openTag to "<a href=" & quote set closeTag to quote & ">" set finishTag to "</a>" set TempTID to AppleScript's text item delimiters set AppleScript's text item delimiters to space & ":" & space if (count of text items of vanillaStr) is greater than 1 then set urlStr to text item 1 of vanillaStr set linkStr to text item 2 of vanillaStr set returnStr to openTag & urlStr & closeTag & linkStr & finishTag else if (count of text items of vanillaStr) is 1 then set urlStr to text item 1 of vanillaStr set linkStr to "linkage" set returnStr to openTag & urlStr & closeTag & linkStr & finishTag else beep return end if set AppleScript's text item delimiters to "" tell application "LaunchBar" perform action "Copy and Paste" with string returnStr end tell end handle_string |
New File
Sometimes you just want a dang text file to magically appear.
1 2 3 4 5 6 7 8 9 10 11 12 | try tell application "Finder" to set the this_folder ¬ to (folder of the front window) as alias on error -- no open folder windows set the this_folder to path to desktop folder as alias end try tell me to activate set thefilename to text returned of (display dialog ¬ "Create file named:" default answer "filename.txt") set thefullpath to POSIX path of this_folder & thefilename do shell script "touch \"" & thefullpath & "\"" do shell script "mate \"" & thefullpath & "\"" |
That’s it for now. I have some gems saved for a later post, but they wouldn’t make sense out of context so you’ll just have to wait.

