emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [O] [PATCH] org-mac-link: Improve grabbing behavior for Chrome.


From: Anthony Lander
Subject: Re: [O] [PATCH] org-mac-link: Improve grabbing behavior for Chrome.
Date: Tue, 25 Mar 2014 11:19:32 -0400

Thanks for improving the link grabber!

  -Anthony


On Sat, Mar 22, 2014 at 8:23 PM, Muchenxuan Tong <address@hidden> wrote:
* contrib/lisp/org-mac-link.el (org-as-mac-chrome-get-frontmost-url):
  Improve AppleScript used for grabbing information from Chrome. Now
  it's shorter and doesn't require switching to the app. Also,
  starting and ending quote are trimmed only when necessary.
---
 contrib/lisp/org-mac-link.el | 32 ++++++++++++--------------------
 1 file changed, 12 insertions(+), 20 deletions(-)

diff --git a/contrib/lisp/org-mac-link.el b/contrib/lisp/org-mac-link.el
index ef46171..d1687e0 100644
--- a/contrib/lisp/org-mac-link.el
+++ b/contrib/lisp/org-mac-link.el
@@ -349,26 +349,18 @@ applications and inserting them in org documents"

 (defun org-as-mac-chrome-get-frontmost-url ()
   (let ((result (do-applescript
-                    (concat
-                     "set oldClipboard to the clipboard\n"
-                     "set frontmostApplication to path to frontmost application\n"
-                     "tell application \"Google Chrome\"\n"
-                     " activate\n"
-                     " delay 0.15\n"
-                     " tell application \"System Events\"\n"
-                     "         keystroke \"l\" using command down\n"
-                     "         keystroke \"c\" using command down\n"
-                     " end tell\n"
-                     " delay 0.15\n"
-                     " set theUrl to the clipboard\n"
-                     " set the clipboard to oldClipboard\n"
-                     " set theResult to (get theUrl) & \"::split::\" & (get name of window 1)\n"
-                     "end tell\n"
-                     "activate application (frontmostApplication as text)\n"
-                     "set links to {}\n"
-                     "copy theResult to the end of links\n"
-                     "return links as string\n"))))
-    (substring (car (split-string result "[\r\n]+" t)) 1 -1)))
+                (concat
+                  "set frontmostApplication to path to frontmost application\n"
+                  "tell application \"Google Chrome\"\n"
+                  "    set theUrl to get URL of active tab of first window\n"
+                  "    set theResult to (get theUrl) & \"::split::\" & (get name of window 1)\n"
+                  "end tell\n"
+                  "activate application (frontmostApplication as text)\n"
+                  "set links to {}\n"
+                  "copy theResult to the end of links\n"
+                  "return links as string\n"))))
+    (replace-regexp-in-string "^\"\\|\"$" ""
+     (car (split-string result "[\r\n]+" t)))))

 (defun org-mac-chrome-get-frontmost-url ()
   (interactive)
--
1.9.1




reply via email to

[Prev in Thread] Current Thread [Next in Thread]