From: Carsten Dominik <carsten.dominik@gmail.com>
To: Nicolas Girard <nicolas.girard@nerim.net>
Cc: emacs-orgmode@gnu.org
Subject: Re: org-follow-link-in-same-window
Date: Sat, 27 Jun 2009 11:38:00 +0200 [thread overview]
Message-ID: <11A9F44D-1DFC-4E8B-A7B1-3A9FC34CA859@gmail.com> (raw)
In-Reply-To: <51b0095d0906270141s598f5a8fq8aac0f928cccf10d@mail.gmail.com>
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
next prev parent reply other threads:[~2009-06-27 9:38 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-06-27 8:41 org-follow-link-in-same-window Nicolas Girard
2009-06-27 9:38 ` Carsten Dominik [this message]
2009-06-27 10:25 ` org-follow-link-in-same-window Nicolas Girard
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=11A9F44D-1DFC-4E8B-A7B1-3A9FC34CA859@gmail.com \
--to=carsten.dominik@gmail.com \
--cc=emacs-orgmode@gnu.org \
--cc=nicolas.girard@nerim.net \
/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).