emacs-orgmode
[Top][All Lists]
Advanced

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

Re: [Orgmode] org-follow-link-in-same-window


From: Carsten Dominik
Subject: Re: [Orgmode] org-follow-link-in-same-window
Date: Sat, 27 Jun 2009 11:38:00 +0200


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.
address@hidden
http://lists.gnu.org/mailman/listinfo/emacs-orgmode





reply via email to

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