AppleScript

Applescript SMS Message for Free

Apple

In my wild and crazy adventures using this drug we call the internet, I've come across a shell script that sends SMS messages straight to your veins phone through google for free (I'm all about the free things in life - hugs, sleep, pennies, samples at Costco, music... oh wait).

As a shell script it's not much use (to me), but wrapped in an AppleScript command, well, hold on to your butts.

It goes a little something like this -

  1. do shell script "curl -v -d gl='US' -d hl='en' -d client='navclient-ffsms' -d c='1' -d mobile_user_id='YOUR PHONE NUMBER HERE' -d carrier='ATT' -d ec='' -d subject='PUT YOUR SUBJECT HERE' -d text='PUT YOUR TEXT HERE' -d send_button='Send' http://www.google.com/sendtophone"

Be sure to change your carrier from "ATT" to whatever it is if it's different.

Also make sure your phone number is in the form of '1112223333'.

I've looked into it, and there's literally a bazillion uses for this. Lately, my mac's been eating hard drives, so I made this script an AppleScript app and then set SMARTReporter to launch it if there's going to be a hard drive failure.

Booya!

Show Package Contents with Quicksilver

Apple

Using AppleScript and Quicksilver, you can set up a handy little shortcut to Show Package Contents in the Finder. Lets begin!!!

Paste and save this modified script into script editor and call it whatever you like (call it Bob) -

  1. tell application "Finder"
  2.         try
  3.                 set selectedItems to selection
  4.                 set selectedItem to item 1 of selectedItems as alias
  5.                 open folder ((selectedItem as string) & "Contents:")
  6.         end try
  7. end tell

Then, with your script file selected in the Finder, go to the Trigger pane in Quicksilver Preferences, create a new HotKey Trigger, Command-G that shit, tab over, type Run, and hit Enter.

I'm partial to Command-Shift-O for the HotKey.

Power Delete with Quicksilver

Apple

On macosxhints.com, someone posted a hint detailing how to use Quicksilver to "Send applications to AppDelete, Eject Volumes, and send all other selected files to the trash" with the same keystroke (Command-Delete). I thought it could use some improvements, so I changed the following:

  • Send Applications to AppZapper (I like to see what I'm deleting)
  • Use Command-E (more comortable because they are closer together)
  • Correctly Eject remote Volumes (it would crash the finder before)

One thing it doesn't do is eject WebDav Volumes. It looks like AppleScript doesn't have any sort of specific identifier for WebDavs. Anyway,

  1. tell application "Finder"
  2.         if frontmost then set selected_items to selection
  3.         repeat with i in selected_items
  4.                 set k to kind of i
  5.                 if k contains "Application" then
  6.                         open i using application file id "com.appzapper.appzapper"
  7.                 else if k = "Volume" or "Disk" then
  8.                         eject i
  9.                 else
  10.                         move i to trash
  11.                 end if
  12.         end repeat
  13. end tell

  1. Paste that into Script Editor, I called the file "Power Delete," but you can call it anything you want 'cause hey, you're special!
  2. Then, open Quicksilver and make a new HotKey trigger with "Power Delete.scpt" as the selected item, and "Run" as the action (leave the target blank).
  3. Lastly, but not leastly, set the trigger to Command-E (or Command-Delete if you want, but note that the Delete symbol won't show up in Quicksilver even though it's there)

Now if only AppZapper could automatically quit after clicking Zap...

UPDATE: For some reason, ever since Leopard, ejecting drives doesn't happen immediately. Any ideas?

UPDATE: Everything's working smoothly with Lion!

A Better Proximity Applescript

Apple

A while ago I came across an application called Proximity. It let's you use your bluetooth phone to notify your computer if you are near or not. "Now how," you say, "how would I use this to keep me from experimenting some techmological differences?" Well, allow me to explicate. This particular piece of software executes an applescript of your choice when your computer detects your phone, and, you guessed it, when your computer can no longer detect your phone.

So, naturally, Proximity is quite versatile. I've seen a couple example applescripts here and there, but none quite did what I wanted. So, stealing (yes, stealing) bits and pieces from all of them (and with the addition of my own little special ingredient) I frankenstiened the mother of all Proximity AppleScripts together. Ok, technically there's two scripts.

"Enough with this popcockery!" You say, "Show me the scripts!"

Wait, wait, wait! The nerve you have. I haven't even told you what these scripts do. These scripts do the following when exiting the premises of your beloved macintosh.

  • Activates JackSMS
    This program will detect if you computer has been unplugged or picked up, and alert you by either text-message or e-mail (including a picture of the perp if you have a macbook/pro with iSight) or *Gasp* both.
  • Activates DeskShade
    Not exactly necessary, it could be accomplished with another (free) program, but this will place a cool transparent lock icon on top of your desktop background and not let anyone past without a password (which you can set to be different from you default user password). Also it can record and report attempted entries.
  • Pauses iTunes
    This is the sexy part. The problem with all of the other scripts that I came across was that they would pause iTunes, yeah, but if you came back to your computer and hadn't been playing iTunes, your music would start playing anyway. With this script, your music will only resume playing if it was paused by the script, meaning you don't have to worry about coming home late at night only to start blasting Britney Spears (I know you like it). Techmologically, this could still happen if you were blasting Britney Spears when you walked out, but you should know better. But wait, there's more! Instead of just pausing or playing, iTunes will fade in and out! OMG! OMG! OMG! OMG!

When you come back to your computer with your phone, the opposite of everything above will happen. Also, you don't have to have Deskshade or JackSMS running all the time, because the script opens the applications when you leave, and then closes them when you come back. So, without further Abu, Paste this into Script Editor and call it something like "Lock Script"

  1. global okflag
  2. set okflag to false
  3. set front_app to (path to frontmost application as Unicode text) -- So we can switch back to this after running the fade
  4.  
  5. -- check if iTunes is running
  6. tell application "System Events"
  7.         if process "iTunes" exists then
  8.                 set okflag to true --iTunes is running
  9.         end if
  10. end tell
  11.  
  12.  
  13. if okflag is true then
  14.         try
  15.                 tell application "iTunes"
  16.                         set currentvolume to the sound volume
  17.                         if (player state is playing) then
  18.                                 repeat
  19.                                         --Fade down
  20.                                         repeat with i from currentvolume to 0 by -1 --try by -4 on slower Macs
  21.                                                 set the sound volume to i
  22.                                                 delay 0.01 -- Adjust this to change fadeout duration (delete this line on slower Macs)
  23.                                         end repeat
  24.                                         pause
  25.                                         --Restore original volume
  26.                                         set the sound volume to currentvolume
  27.                                         exit repeat
  28.                                 end repeat
  29.                                 set comment of current track to "Proximity Paused"
  30.                         end if
  31.                 end tell
  32.                 tell application front_app
  33.                         activate
  34.                 end tell
  35.         on error
  36.                 beep
  37.         end try
  38. end if
  39.  
  40. tell application "JackSMS" to set jack status to "on"
  41. delay 1
  42. tell application "DeskShade"
  43.         lock
  44. end tell
  45. end run

And then do the same for this code, calling it something like "Unlock Script"

  1. tell application "ScreenSaverEngine" to quit
  2. tell application "DeskShade"
  3.         unlock
  4.         quit
  5. end tell
  6. tell application "JackSMS"
  7.         quit
  8. end tell
  9.  
  10. global okflag
  11. set okflag to false
  12. set front_app to (path to frontmost application as Unicode text) -- So we can switch back to this after running the fade
  13.  
  14. -- check if iTunes is running
  15. tell application "System Events"
  16.         if process "iTunes" exists then
  17.                 set okflag to true --iTunes is running
  18.         end if
  19. end tell
  20.  
  21. if okflag is true then
  22.         try
  23.                 tell application "iTunes"
  24.                         set currentvolume to the sound volume
  25.                         if comment of current track is "Proximity Paused" then
  26.                                 set comment of current track to ""
  27.                                 play
  28.                                 repeat with j from 0 to currentvolume by 2 --try by 4 on slower Macs
  29.                                         set the sound volume to j
  30.                                 end repeat
  31.                         end if
  32.                 end tell
  33.                 tell application front_app
  34.                         activate
  35.                 end tell
  36.         on error
  37.                 beep
  38.         end try
  39. end if