org-mac-link: Improve grabbing behavior for Chrome.

* 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.
This commit is contained in:
Muchenxuan Tong 2014-03-23 08:23:12 +08:00 committed by Bastien Guerry
parent b3a10b66fe
commit cb91729595
1 changed files with 12 additions and 20 deletions

View File

@ -350,25 +350,17 @@ applications and inserting them in org documents"
(defun org-as-mac-chrome-get-frontmost-url () (defun org-as-mac-chrome-get-frontmost-url ()
(let ((result (do-applescript (let ((result (do-applescript
(concat (concat
"set oldClipboard to the clipboard\n"
"set frontmostApplication to path to frontmost application\n" "set frontmostApplication to path to frontmost application\n"
"tell application \"Google Chrome\"\n" "tell application \"Google Chrome\"\n"
" activate\n" " set theUrl to get URL of active tab of first window\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" " set theResult to (get theUrl) & \"::split::\" & (get name of window 1)\n"
"end tell\n" "end tell\n"
"activate application (frontmostApplication as text)\n" "activate application (frontmostApplication as text)\n"
"set links to {}\n" "set links to {}\n"
"copy theResult to the end of links\n" "copy theResult to the end of links\n"
"return links as string\n")))) "return links as string\n"))))
(substring (car (split-string result "[\r\n]+" t)) 1 -1))) (replace-regexp-in-string "^\"\\|\"$" ""
(car (split-string result "[\r\n]+" t)))))
(defun org-mac-chrome-get-frontmost-url () (defun org-mac-chrome-get-frontmost-url ()
(interactive) (interactive)