Re: [PATCH]: Add elisp snippet to worg/org-contrib/org-mac.org

2021-05-03 Thread Tim Visher
On Mon, May 3, 2021 at 8:58 AM Bastien  wrote:

> Tim Visher  writes:
>
> > Here's a quick patch that fixes that up:
>
> Applied, thanks.  If you want to contribute more to Worg, please
> send me the username you want in private and I'll create an account
> for you on code.orgmode.org.
>

Thanks for the apply! :)


Re: [PATCH]: Add elisp snippet to worg/org-contrib/org-mac.org

2021-05-03 Thread Bastien
Hi Tim,

Tim Visher  writes:

> Here's a quick patch that fixes that up:

Applied, thanks.  If you want to contribute more to Worg, please 
send me the username you want in private and I'll create an account
for you on code.orgmode.org.

Thanks!

-- 
 Bastien



Re: [PATCH]: Add elisp snippet to worg/org-contrib/org-mac.org

2021-05-03 Thread Tim Visher
Hi Bastien,

On Mon, May 3, 2021 at 12:05 AM Bastien  wrote:

>
> Tim Visher  writes:
>
> > At the recommendation of Tim Cross I've prepared a patch to worg to
> > include the elisp that I recently sent to the list that I've been
> > using to create TODO items based on the currently selected macOS
> > Mail.app message.
> >
> > Let me know if there's anything I can do to help get it applied.
>
> Applied in Worg, thanks a lot.
>

Thanks for the quick apply!

I'm surprised but I failed to notice that I never actually finished the
hyperlink to the new org-mac-mail-link.org file from org-mac.org. I only
saw it when I went to the site  to
check out the fruits of our labors. (-‸ლ)

Here's a quick patch that fixes that up:

>From 5a363a927f67d2c8571085110ce336872a073fac Mon Sep 17 00:00:00 2001
From: Tim Visher  
Date: Mon, 3 May 2021 08:25:46 -0400
Subject: [PATCH] org-mac: Fix link to org-mac-mail-link from org-mac
---
 org-mac.org | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/org-mac.org b/org-mac.orgindex 2addd5f0..b7c334fd
100644--- a/org-mac.org+++ b/org-mac.org@@ -33,7 +33,7 @@ applications
other than Emacs...
insert it as a hyperlink at point in an org-mode document. Written
by /Anthony Lander/.
-** org-mac-mail-link -- Hyperlink to messages in Mail.app+**
[[file:org-contrib/org-mac-mail-link.org][org-mac-mail-link]] --
Hyperlink to messages in Mail.app
A small elisp file that addresses linking to Mail.app messages
directly via the =org-capture= system. For wider application
support check out [[file:org-contrib/org-mac-link.org][org-mac-link]].--
2.30.1


0001-org-mac-Fix-link-to-org-mac-mail-link-from-org-mac.patch
Description: Binary data


Re: [PATCH]: Add elisp snippet to worg/org-contrib/org-mac.org

2021-05-02 Thread Bastien
Hi Tim,

Tim Visher  writes:

> At the recommendation of Tim Cross I've prepared a patch to worg to
> include the elisp that I recently sent to the list that I've been
> using to create TODO items based on the currently selected macOS
> Mail.app message.
>
> Let me know if there's anything I can do to help get it applied.

Applied in Worg, thanks a lot.

-- 
 Bastien



[PATCH]: Add elisp snippet to worg/org-contrib/org-mac.org

2021-05-02 Thread Tim Visher
Hello,

At the recommendation of Tim Cross
 I've
prepared a patch to worg to include the elisp that I recently sent to the
list that I've been using to create TODO items based on the currently
selected macOS Mail.app message.

Let me know if there's anything I can do to help get it applied.

>From d1a7818593aee6bcb6de5c6837c506905a64f723 Mon Sep 17 00:00:00 2001
From: Tim Visher  
Date: Sun, 2 May 2021 16:34:24 -0400
Subject: [PATCH] org-mac: Add org-mac-mail-link section and elisp
---
 org-contrib/org-mac-mail-link.org | 147 ++
 org-mac.org   |   5 +
 2 files changed, 152 insertions(+)
 create mode 100644 org-contrib/org-mac-mail-link.org
diff --git a/org-contrib/org-mac-mail-link.org
b/org-contrib/org-mac-mail-link.orgnew file mode 100644index
..6e7f9c52--- /dev/null+++
b/org-contrib/org-mac-mail-link.org@@ -0,0 +1,147 @@+#+TITLE:
org-mac-mail-link.el -- Create and handle links to the selected
Mail.app message+#+OPTIONS:   ^:{} author:Tim Visher+#+STARTUP: odd++#
This file is released by its authors and contributors under the GNU+#
Free Documentation license v1.3 or later, code examples are released+#
under the GNU General Public License v3 or
later.++[[file:index.org][{Back to Worg's contibutions index}]]++*
Overview++  This code will allow you to capture a TODO item based on
the+  currently selected Mail.app message using =org-capture=.++*
Installation++  You should simply copy the source code from this
document into your+  init file and edit it as you see fit.++* Usage++
Activate =org-capture= however you see fit (=M-x org-capture= works+
just fine) and then whack the keychord you have set up to activate+
the capture template.++* Code++  #+begin_src elisp+
;;+
 ;;; Capture template for the currently selected Mail.app message+
;;++
 (defun org-mac-mail-link-get-selected-message-subject+  ()+
(with-temp-buffer+  (call-process+   "osascript" nil t nil+
   "-e" "tell application \"Mail\" to get subject of item 1 of
(selection as list)")+  (buffer-substring-no-properties
(point-min) (- (point-max) 1++  (defun
org-mac-mail-link-get-selected-message-id+  ()+
(with-temp-buffer+  (call-process+   "osascript" nil t nil+
   "-e" "tell application \"Mail\" to get message id of item 1 of
(selection as list)")+  ;; This additional encoding specifically
of =/= is because Mail.app+  ;; claims to be unable to find a
message if it's ID contains unencoded+  ;; slashes.+
(browse-url-url-encode-chars+   (buffer-substring-no-properties
(point-min) (- (point-max) 1))+   "[/]")))++  (defun
org-mac-mail-link-get-link-string+  ()+(let ((subject
(org-mac-mail-link-get-selected-message-subject))+
(message-id (org-mac-mail-link-get-selected-message-id)))+
(org-link-make-string (format "message:%s" message-id)+
subject)))++  (defun
org-mac-mail-link-get-body-quote-template-element+  ()+(let
((body (setq body (with-temp-buffer+
(call-process+  "osascript" nil t nil+
 "-e" "tell application \"Mail\" to get
content of item 1 of (selection as list)")+
 (buffer-substring-no-properties (point-min) (- (point-max) 1))+
   (format "++,#+begin_quote+  %s+,#+end_quote"+
(string-join+   ;; Remove duplicate empty lines+
(seq-reduce+(lambda (acc next)+
(if (string= next (or (car (last acc)) ""))+  acc+
   (append acc (list next+;;
Indent each line by two spaces for inclusion in the quote+
   (mapcar (lambda (string)+  (let ((string
(string-trim string)))+(if (string= ""
string)+string+
  (format "  %s" string+(split-string
body "\n"))+'())+   "\n"++  (require
'org-capture)++  ;;; You may also wish to use the Customize interface
for this variable+  ;;; which is quite nice.+  (setq
org-capture-templates+;; These 2-item entries are only
necessary if you want to nest the+;; capture template under a
keychord.+'(("t" "TODO")+  ("tc" "TODO Current")+
("tcm" "TODO Current Mail" entry+   ;; If you maintain
your TODO list in a single file this will+   ;; place the
resulting org-capture template expansion under the+   ;;
'Inbox' heading. You may want to modify this.+   ;;+
;; The resulting heading looks something like+   ;;+
;; ** TODO [[message:][subject]]+   ;;+
  ;;[2021-05-02 Sun 16:22]+   ;;+   ;;
#+begin_quote+   ;;Unwrapped+   ;;+   ;;
 Body+   ;;+   ;;