emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Daniil Frumin <difrumin@gmail.com>
To: Carsten Dominik <carsten.dominik@gmail.com>,
	"emacs-orgmode@gnu.org Mode" <emacs-orgmode@gnu.org>
Subject: Re: Skim.app support for org-mac-link-grabber.el
Date: Tue, 14 May 2013 10:18:41 +0400	[thread overview]
Message-ID: <529C465A-6A0D-492A-BE0D-F179091E61C6@gmail.com> (raw)
In-Reply-To: <541E4CA0-F2FD-4870-9CE6-52C18567C1B4@gmail.com>

[-- Attachment #1: Type: text/plain, Size: 178 bytes --]

OK, here's a patch which adds the ability to highlight the selected text.

It makes new highlight notes only if `org-mac-Skim-highlight-selection-p' is set to t.


- Dan


[-- Attachment #2: 0004-Add-the-ability-to-highlight-the-selected-text-in-Sk.patch --]
[-- Type: application/octet-stream, Size: 1925 bytes --]

From cb943216ae4d4a5ff2ab0295d0d026b6cbdfb4ea Mon Sep 17 00:00:00 2001
From: Daniil Frumin <difrumin@gmail.com>
Date: Tue, 14 May 2013 10:13:50 +0400
Subject: [PATCH 4/4] Add the ability to highlight the selected text in
 Skim.app

Make a 'highlight note' upon grabbing a link from Skim.app if the
option 'org-mac-Skim-highlight-selection-p' is t.
---
 contrib/lisp/org-mac-link-grabber.el | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/contrib/lisp/org-mac-link-grabber.el b/contrib/lisp/org-mac-link-grabber.el
index cb92b44..59f4820 100644
--- a/contrib/lisp/org-mac-link-grabber.el
+++ b/contrib/lisp/org-mac-link-grabber.el
@@ -136,6 +136,12 @@ applications and inserting them in org documents"
   :group 'org-mac-link-grabber
   :type 'boolean)
 
+(defcustom org-mac-Skim-highlight-selection-p nil
+  "Highlight (using notes) the selection (if present) when grabbing the a link from Skim.app"
+  :tag "Highlight selection in Skim.app"
+  :group 'org-mac-link-grabber
+  :type 'boolean)
+
 \f
 (defun omlg-grab-link ()
   "Prompt the user for an application to grab a link from, then go grab the link, and insert it at point"
@@ -506,6 +512,13 @@ applications and inserting them in org documents"
        "set theContent to contents of (get text for theSelection)\n"
        "if theContent is missing value then\n"
        "    set theContent to theTitle & \", p. \" & thePage\n"
+       (when org-mac-Skim-highlight-selection-p
+	 (concat
+	  "else\n"
+          "    tell theDoc\n"
+          "        set theNote to make note with properties {type:highlight note, selection:theSelection}\n"
+          "         set text of theNote to (get text for theSelection)\n"
+          "    end tell\n"))
        "end if\n"
        "set theLink to \"skim://\" & thePath & \"::\" & thePage & "
        "\"::split::\" & theContent\n"
-- 
1.7.12.4 (Apple Git-37)


[-- Attachment #3: Type: text/plain, Size: 4655 bytes --]


On May 14, 2013, at 8:33 AM, Carsten Dominik <carsten.dominik@gmail.com> wrote:

> 
> On 13.5.2013, at 22:35, Daniil Frumin <difrumin@gmail.com> wrote:
> 
>> So I've been researching this problem and it seems that there is no sane way to re-select a text. 
> 
> OK, thanks for looking into it.
> 
>> 
>> The problem is that `(do-applescript ..)' only interacts with AppleScript well if the return type of the string is either a number or a string. If I try to convert the selection object (which is not really an object but a list of specifiers) it just returns the selected text. 
>> 
>> There is also `selection bounds' but it only covers rectangle selections.
>> 
>> It's possible to save the selected text and try to `find' it later, but that won't work well (e.g.: there are several repetitions of the same text on one page). 
>> 
>> I've also tried to implement an auto-scrolling to the selected text, but to no avail.
>> 
>> The option that seems to me the most reasonable is to add a highlight note to the selected text (which is actually possible). What do you think? 
> 
> Interesting idea!  I think this should be implemented, but with a user option to turn it off.
> 
>> 
>> For now, the patch to the problem mentioned by Ivan.
>> I have actually fixed a small bug in the code for getting links from Firefox:
>> Prior to the fix the firefox link grabber won't work correctly if a cursor has been already positioned in the URL field. The fix works by adding an additional keystore for selecting all the text in that field.
>> 
>> The problem is that I've committed it before committing the stuff that Ivan told us about, so I am not sure what to do in this case.
> 
> So you mean the patch you would like to send to me is several commits?  That is no problem, just specify with git which range of commits should be part of the patch, for example
> 
>    git diff HEAD^^
> 
> will include the changes from two commits.  You could also amend the previous commit if it has not yet been push to another repository - there are many ways to deal with this.
> 
> - Carsten
> 
>> 
>> Thanks
>> 
>> -- Daniil
>> 
>> <0002-Fixing-a-bug-in-as-mac-firefox-get-frontmost-url.patch><0003-Automatic-detection-of-the-presence-of-Skim.app.patch>
>> 
>> 
>> On May 13, 2013, at 10:34 AM, Carsten Dominik <carsten.dominik@gmail.com> wrote:
>> 
>>> Hi Daniil,
>>> 
>>> I like this a lot and would like to take the patch after you have taken Ivans feedback, and maybe more feedback if you get any.
>>> 
>>> I would like it even more if following the link would rehighlight the selected text.  Is there any way to achieve this?
>>> 
>>> I have another question, this would maybe be for the original author, Anthony Lander?  I see that there are functions with prefixes that are not "org-".  This is dangerous because there might be packages around that use that name space.  I also think it violates coding rules in Emacs.  I think this should be changed - unless you know of a convention that all functions dealing with applescripts are supposed to have an "as-" prefix.
>>> 
>>> I can fix this - but I wanted your feedback first.
>>> 
>>> Thanks.
>>> 
>>> - Carsten
>>> 
>>> On 12 mei 2013, at 20:29, Daniil Frumin <difrumin@gmail.com> wrote:
>>> 
>>>> Hi, all!
>>>> 
>>>> I use org-mac-link-grabber.el <http://orgmode.org/worg/org-contrib/org-mac-link-grabber.html> almost every day. However, it lacks support for an app that I'd like to use together with org-mode. 
>>>> 
>>>> Skim.app is a light and fast PDF reader for Mac OS X with a note-taking ability. I wrote a little patch for org-mac-link-grabber.el to support grabbing links to documents.
>>>> 
>>>> What it does:
>>>> 
>>>> * Grabs not just the link to file, but a page
>>>> 
>>>> * Inserts the selected text as a description, if present. Otherwise
>>>> inserts "<filename>, p. <page #>"
>>>> 
>>>> * The shortcut is set to [S]
>>>> 
>>>> * Defines a new "skim" link type
>>>> 
>>>> It would be interesting to also add some support for importing notes from Skim to org.
>>>> 
>>>> Since Skim.app is not present in clean OS X installs, by default support for grabbing links from it is disabled. You can enable it by customizing group `org-mac-link-grabber'.
>>>> 
>>>> So, maybe it's possible to get this patch into the tree? It's my first time hacking on org (or even any major elisp extension), so it's probably that I've messed up somewhere with a commit format or whatnot.
>>>> 
>>>> Cheers.
>>>> 
>>>> -- Daniil Frumin
>>>> <0001-Adding-Skim.app-support-to-org-mac-link-grabber.el.patch>
>>> 
>> 
> 


  reply	other threads:[~2013-05-14  6:18 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-05-12 18:29 Skim.app support for org-mac-link-grabber.el Daniil Frumin
2013-05-13  0:39 ` Ivan Andrus
2013-05-13  6:34 ` Carsten Dominik
2013-05-13  9:53   ` Daniel F
2013-05-13 10:54     ` Carsten Dominik
2013-05-13 20:35   ` Daniil Frumin
2013-05-14  4:33     ` Carsten Dominik
2013-05-14  6:18       ` Daniil Frumin [this message]
2013-05-14  7:12         ` Carsten Dominik

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.orgmode.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=529C465A-6A0D-492A-BE0D-F179091E61C6@gmail.com \
    --to=difrumin@gmail.com \
    --cc=carsten.dominik@gmail.com \
    --cc=emacs-orgmode@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).