unofficial mirror of notmuch@notmuchmail.org
 help / color / mirror / code / Atom feed
From: Ori <ori@oribarbut.com>
To: notmuch@notmuchmail.org
Subject: Emacs: make browsing URLs friendlier with Helm
Date: Fri, 24 Apr 2020 15:46:20 -0400	[thread overview]
Message-ID: <CACyCJqVY9YcwYFEXLGQHVCa-xoLw7FeiQ2=gaCRYH+846sikYw@mail.gmail.com> (raw)


[-- Attachment #1.1: Type: text/plain, Size: 1555 bytes --]

Hi,

This is a fairly small point and was easy for me to locally address, and
that in itself may be valuable in sharing, but I wondered if it would be
worth putting a change behind a defcustom option, or depending on how this
works with other completion frameworks, changing it altogether?

The "B" shortcut calls notmuch-show-browse-urls, which calls completing-read
with an INITIAL-INPUT of the first URL in the message. On Helm, this shows
a near-blank list (blank unless other URLs have the first one as a
substring). It's a nicer behavior for Helm to start off with no initial
input, as that first URL is highlighted automatically anyway.

Locally I simply redefine the function with a minor change (highlighted)
after loading notmuch:

(defun notmuch-show-browse-urls (&optional kill)
    "Offer to browse any URLs in the current message.
With a prefix argument, copy the URL to the kill ring rather than
browsing."
    (interactive "P")
    (let ((urls (notmuch-show--gather-urls))
          (prompt (if kill "Copy URL to kill ring: " "Browse URL: "))
          (fn (if kill #'kill-new #'browse-url)))
      (if urls
          (funcall fn (completing-read prompt urls))
        (message "No URLs found."))))

For reference, in notmuch-show.el that highlighted part is:
(completing-read prompt (cdr urls) nil nil (car urls))

As I said, I'm not sure how this works with other popular completion
alternatives like ivy and if the redefined function is better or worse with
those. Perhaps this post is only here to be useful for other Helm users!

Ori

[-- Attachment #1.2: Type: text/html, Size: 2079 bytes --]

[-- Attachment #2: Type: text/plain, Size: 0 bytes --]



             reply	other threads:[~2020-04-25 14:32 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-04-24 19:46 Ori [this message]
2020-04-25 15:01 ` Emacs: make browsing URLs friendlier with Helm David Edmondson
2020-04-25 16:24   ` Ori

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://notmuchmail.org/

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

  git send-email \
    --in-reply-to='CACyCJqVY9YcwYFEXLGQHVCa-xoLw7FeiQ2=gaCRYH+846sikYw@mail.gmail.com' \
    --to=ori@oribarbut.com \
    --cc=notmuch@notmuchmail.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://yhetil.org/notmuch.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).