From mboxrd@z Thu Jan 1 00:00:00 1970 From: Christopher Suckling Subject: Re: Patch for growl notifications without uncommenting hacks Date: Mon, 6 Apr 2009 23:27:09 +0100 Message-ID: <8C94B64F-1D1C-424E-BE08-8B36AE8CC5CC@gmail.com> References: Mime-Version: 1.0 (Apple Message framework v930.3) Content-Type: multipart/mixed; boundary=Apple-Mail-21-904108481 Return-path: Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1LqxHn-0005tR-PS for emacs-orgmode@gnu.org; Mon, 06 Apr 2009 18:27:23 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1LqxHi-0005tE-Mz for emacs-orgmode@gnu.org; Mon, 06 Apr 2009 18:27:22 -0400 Received: from [199.232.76.173] (port=50770 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1LqxHi-0005tB-Ho for emacs-orgmode@gnu.org; Mon, 06 Apr 2009 18:27:18 -0400 Received: from mail-ew0-f160.google.com ([209.85.219.160]:64265) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1LqxHi-0002Ji-0L for emacs-orgmode@gnu.org; Mon, 06 Apr 2009 18:27:18 -0400 Received: by ewy4 with SMTP id 4so2503264ewy.42 for ; Mon, 06 Apr 2009 15:27:14 -0700 (PDT) In-Reply-To: List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: David Abrahams Cc: emacs-orgmode emacs-orgmode --Apple-Mail-21-904108481 Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit On 6 Apr 2009, at 01:49, David Abrahams wrote: > > This patch to org-mac-message.el should make it show growl > notifications > when searching for flagged messages and growl is running, and work > silently otherwise. > Thanks, works nicely. Below patch adapts for general case, cleans up commentary and fixes one tiny formatting bug I noticed. Best, Christopher --Apple-Mail-21-904108481 Content-Disposition: attachment; filename=org-mac-message.patch Content-Type: application/octet-stream; x-unix-mode=0644; name="org-mac-message.patch" Content-Transfer-Encoding: 7bit diff --git a/lisp/org-mac-message.el b/lisp/org-mac-message.el index fb71ebd..cef8603 100644 --- a/lisp/org-mac-message.el +++ b/lisp/org-mac-message.el @@ -40,10 +40,6 @@ ;; message:// links within the first level of the heading are deleted ;; and replaced with links to flagged messages. -;; If you have Growl installed and would like more visual feedback -;; whilst AppleScript searches for messages, please uncomment lines -;; 114 to 119. - ;;; Code: (require 'org) @@ -101,6 +97,17 @@ This will use the command `open' with the message URL." "AppleScript to create links to flagged messages in Mail.app" (do-applescript (concat + ;; Is Growl installed? + "tell application \"System Events\"\n" + "set growlHelpers to the name of every process whose creator type contains \"GRRR\"\n" + "if (count of growlHelpers) > 0 then\n" + "set growlHelperApp to item 1 of growlHelpers\n" + "else\n" + "set growlHelperApp to \"\"\n" + "end if\n" + "end tell\n" + + ;; Get links "tell application \"Mail\"\n" "set theMailboxes to every mailbox of account \"" org-mac-mail-account "\"\n" "set theLinkList to {}\n" @@ -111,12 +118,18 @@ This will use the command `open' with the message URL." "set theSubject to subject of theMessage\n" "set theLink to \"message://\" & theID & \"::split::\" & theSubject & \"\n\"\n" "copy theLink to end of theLinkList\n" - ;; "tell application \"GrowlHelperApp\"\n" - ;; "set the allNotificationsList to {\"FlaggedMail\"}\n" - ;; "set the enabledNotificationsList to allNotificationsList\n" - ;; "register as application \"FlaggedMail\" all notifications allNotificationsList default notifications enabledNotificationsList icon of application \"Mail\"\n" - ;; "notify with name \"FlaggedMail\" title \"Importing flagged message\" description theSubject application name \"FlaggedMail\"\n" - ;; "end tell\n" + + ;; Report progress through Growl + "if growlHelperApp is not \"\" then\n" + "tell application \"GrowlHelperApp\"\n" + "tell application growlHelperApp\n" + "set the allNotificationsList to {\"FlaggedMail\"}\n" + "set the enabledNotificationsList to allNotificationsList\n" + "register as application \"FlaggedMail\" all notifications allNotificationsList default notifications enabledNotificationsList icon of application \"Mail\"\n" + "notify with name \"FlaggedMail\" title \"Importing flagged message\" description theSubject application name \"FlaggedMail\"\n" + "end tell\n" + "end tell\n" + "end if\n" "end repeat\n" "end repeat\n" "return theLinkList as string\n" @@ -188,6 +201,7 @@ list of message:// links to flagged mail after heading." (while (re-search-forward message-re (save-excursion (outline-next-heading)) t) (delete-region (match-beginning 0) (match-end 0))) + (insert "\n") (org-mac-message-get-links "f") (yank)) (flush-lines "^$" (point) (outline-next-heading))) --Apple-Mail-21-904108481 Content-Type: text/plain; charset=US-ASCII; format=flowed Content-Transfer-Encoding: 7bit --Apple-Mail-21-904108481 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Emacs-orgmode mailing list Remember: use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode --Apple-Mail-21-904108481--