Jump to content

sterling

Member
  • Content count

    6
  • Joined

  • Last visited

  1. I've seen several workflows that do things like autocomplete tags, or folders, or something else. I'm wondering if there is a way to autocomplete mailboxes in mail.app? My use case would be a keyword to move a mail message, allowing the user to start typing the desired mailbox with the workflow providing matches. Any ideas?
  2. sterling

    Sending mail to Omnifocus

    on alfred_script(q) tell application "Mail" set lst to (get selection) set _msgRecent to my GetNewerMessage(lst) repeat with _msg in _msgRecent set _msgSubject to _msg's subject set _msgBody to _msg's content set _msgSender to _msg's sender set _msgURL to "message://%3c" & _msg's message id & "%3e" -- Fixed: OmniFocus doesn't accept "<" and ">" as part of a URL tell application "OmniFocus" tell quick entry set _task to make new inbox task with properties {name:_msgSubject, note:_msgBody} tell note of _task insert "From: " & _msgSender & " Original Message" & (ASCII character 10) & (ASCII character 10) at before paragraphs set value of attribute "link" of style of characters -1 thru -17 of first paragraph to _msgURL end tell end tell end tell end repeat end tell tell application "OmniFocus" tell quick entry to open end tell tell application "System Events" tell process "OmniFocus" key code 125 end tell end tell end alfred_script on GetNewerMessage(lst) if lst = {} then return if (count lst) = 1 then return (item 1 of lst) set msg to (item 1 of lst) repeat with i from 1 to (count lst) - 1 using terms from application "Mail" if CompareDates(date received of msg, date received of (item (i + 1) of lst)) then set msg to (item i of lst) else set msg to (item (i + 1) of lst) end if end using terms from end repeat return msg end GetNewerMessage on CompareDates(A, B) if A > B then return true else return false end if end CompareDates This script is what I am using right now.
  3. I have a print workflow that I'd like to tie to Alfred. I assume there is a way to do so in AppleScript? The workflow was created in Automator and is in the typical place. Print menu item -> PDF drop down menu Is there a way to tell Alfred to run this?
  4. sterling

    Looping through multiple arguments?

    Ah, I get it. I was able to loop through the arguments and call the external trigger each time. Works perfectly. Thanks for the hint!
  5. I have a workflow that goes through several steps, with a couple filters in there too. Right now I invoke it with a keyword and an argument. I'd like to pass multiple arguments, running the workflow for each argument passed. I understand that the arguments are passed as a string, so it if were all one script being run I could just loop in the code. Is there a way to take those arguments and pass them along the rest of the workflow one at a time?
  6. I'm using the AppleScript below as part of a workflow to get mail messages to OmniFocus. This recently broke. I'm just wondering if anyone has a clue what the issue may be? Not sure if this is due to an Apple update, or an OmniFocus one. Error message [2017-01-11 10:29:46][input.keyword] Processing output of 'action.applescript' with arg '' [2017-01-11 10:29:46][ERROR: action.applescript] { NSAppleScriptErrorAppName = OmniFocus; NSAppleScriptErrorBriefMessage = "Unable to convert the string \U201cmessage://<03D12B465157E52C189B6D836173733D254AF6F9@AMX>\U201d to a url. Make sure that the string is a valid URL, including quoting characters that aren't valid in URLs."; NSAppleScriptErrorMessage = "OmniFocus got an error: Unable to convert the string \U201cmessage://<03D12B465157E52C189B6D836173733D254AF6F9@AMX>\U201d to a url. Make sure that the string is a valid URL, including quoting characters that aren't valid in URLs."; NSAppleScriptErrorNumber = 1; NSAppleScriptErrorRange = "NSRange: {1161, 94}"; } [2017-01-11 10:29:46][action.applescript] Processing output of 'output.notification' with arg '' applescript on alfred_script(q) (* OmniFocus Selected Mail Messages.applescript Copyright (c) 2015 Jonathan 'Wolf' Rentzsch: http://rentzsch.com Some rights reserved: http://opensource.org/licenses/mit Pure AppleScript reimplementation of OmniGroup's Clip-o-Tron for OmniFocus. Hopefully this implementation will be more resilient against OS X, Mail, and OmniFocus updates. Successfully tested against OS X 10.10.1, OmniFocus 1.10.6, and OmniFocus 2.0.4. References: <http://daringfireball.net/2007/12/message_urls_leopard_mail> <http://forums.omnigroup.com/showthread.php?t=30754> <http://shawnblanc.net/box/smarter_clip-o-tron.txt> *) tell application "Mail" set _sel to the selection repeat with _msg in _sel set _msgSubject to _msg's subject set _msgBody to _msg's content set _msgSender to _msg's sender set _msgURL to "message://<" & _msg's message id & ">" tell application "OmniFocus" tell quick entry set _task to make new inbox task with properties {name:_msgSubject, note:_msgBody} tell note of _task insert "From: " & _msgSender & " Original Message" & (ASCII character 10) & (ASCII character 10) at before paragraphs set value of attribute "link" of style of characters -1 thru -17 of first paragraph to _msgURL end tell end tell end tell end repeat end tell tell application "OmniFocus" tell quick entry to open end tell tell application "System Events" to keystroke tab end alfred_script
×