One of the things I most often need to do is to grab the current URL and other page information from Safari or Camino and paste it somewhere.
Here is how I do that using Quicksilver and some AppleScript (which is then bound to a trigger), getting a nice Growl notification afterwards:
For Safari:
tell application "Safari"
set szURL to URL of document 1
set szTitle to do JavaScript "document.title" in document 1
set szReferrer to do JavaScript "document.referrer" in document 1
set szSelection to do JavaScript "window.getSelection() + ''" in document 1
end tell
--copy URL and title to clipboard in Textile format
if (length of szSelection is not 0) then
set the clipboard to "\"" & szTitle & "\":" & szURL & " | " & szSelection
else
set the clipboard to "\"" & szTitle & "\":" & szURL
end if
tell application "GrowlHelperApp"
notify with name "Quicksilver Notification" title "URL copied" application name "Quicksilver" description szURL
--with sticky
end tell
If you need to add further metadata, I’ve found that you can also use JavaScript to get Safari to prompt you for it:
set szTags to do JavaScript “prompt(‘Enter tags:’)” in document 1
For Camino:
Camino 1.6 has better AppleScript support than previous versions, but it can’t yet do the do JavaScript
thing. So I use a simpler script:
tell application "Camino"
set theTab to the current tab of front browser window
set szURL to the URL of theTab
set szTitle to the title of theTab
end tell
set the clipboard to "\"" & szTitle & "\":" & szURL
tell application "GrowlHelperApp"
notify with name "Quicksilver Notification" title "URL copied" application name "Quicksilver" description szURL
--with sticky
end tell
Mind you, Quicksilver trigger scope is known to be broken in Leopard for some reason, so you might want to avoid using the same hotkey for both scripts.