From mboxrd@z Thu Jan 1 00:00:00 1970 From: Carsten Dominik Subject: Re: org-follow-link-in-same-window Date: Sat, 27 Jun 2009 11:38:00 +0200 Message-ID: <11A9F44D-1DFC-4E8B-A7B1-3A9FC34CA859@gmail.com> References: <51b0095d0906270141s598f5a8fq8aac0f928cccf10d@mail.gmail.com> Mime-Version: 1.0 (Apple Message framework v935.3) Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit Return-path: Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1MKUMN-00078H-7M for emacs-orgmode@gnu.org; Sat, 27 Jun 2009 05:38:11 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1MKUMH-00071S-CL for emacs-orgmode@gnu.org; Sat, 27 Jun 2009 05:38:09 -0400 Received: from [199.232.76.173] (port=59591 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MKUMH-00071M-7h for emacs-orgmode@gnu.org; Sat, 27 Jun 2009 05:38:05 -0400 Received: from mail-ew0-f208.google.com ([209.85.219.208]:55813) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1MKUMG-0006ga-Pm for emacs-orgmode@gnu.org; Sat, 27 Jun 2009 05:38:05 -0400 Received: by ewy4 with SMTP id 4so1621568ewy.42 for ; Sat, 27 Jun 2009 02:38:03 -0700 (PDT) In-Reply-To: <51b0095d0906270141s598f5a8fq8aac0f928cccf10d@mail.gmail.com> 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: Nicolas Girard Cc: emacs-orgmode@gnu.org On Jun 27, 2009, at 10:41 AM, Nicolas Girard wrote: > Hi all, > when clicking on a link, I whish I could choose between > - following it in another window (the current behaviour, which I'm > often fine with, but not always); > - following it in the same window > > I tried to create a new function, org-follow-link-in-same-window, > and bind it to a key. > > As for the key binding, I couldn't get down-mouse-2 to work, as > initially expected. I tried the following bindings: > > (add-hook 'org-load-hook > '(lambda () > (define-key org-mouse-map [C-down-mouse-1] 'org-follow- > link-in-same-window) > (define-key org-mouse-map [down-mouse-2] 'org-follow- > link-in-same-window) > (define-key org-mouse-map [C-down-mouse-2] 'org-follow- > link-in-same-window) > (define-key org-mouse-map [s-down-mouse-1] 'org-follow- > link-in-same-window) > (define-key org-mouse-map [s-mouse-1] 'org-follow- > link-in-same-window))) > > I found none of them to work *but* the latest, [s-mouse-1]. > (I'm not fond of incantations, so when emacs leaves me under the > impression that some kind of black magic is happening, I always feel > a little upset. > Anyway, i'm digressing, and after all I'm fine with [s-mouse-1].) > > Now, as for the function, I came to the following: > > (defun org-follow-link-in-same-window (ev) > (interactive "e") > (let ((org-display-internal-link-with-indirect-buffer t)) > (save-excursion > (set-buffer (window-buffer (posn-window (event-end ev)))) > (select-window (posn-window (event-end ev))) > (org-open-at-mouse ev))) > > which doesn't work. I mean, it does follow the link, but not in the > same window. When following a link, Org does all kinds of things, including possibly searching for a particular place in a file. So it is best to let Org do its thing, but to scope a different value of org-link-frame-setup. Like so: (defun org-open-at-mouse-same-window (ev) "Open file link or URL at mouse." (interactive "e") (mouse-set-point ev) (if (eq major-mode 'org-agenda-mode) (org-agenda-copy-local-variable 'org-link-abbrev-alist-local)) (let ((org-link-frame-setup '((vm . vm-visit-folder) (gnus . gnus) (file . find-file)))) (org-open-at-point))) HTH - Carsten > > Could you please give me a hand on this ? > > Thanks in advance, > Nicolas > > > _______________________________________________ > 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