Emacs: make browsing URLs friendlier with Helm

David Edmondson dme at dme.org
Sat Apr 25 08:01:42 PDT 2020


On Friday, 2020-04-24 at 15:46:20 -04, Ori wrote:

> 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.

Keegan Carruthers-Smith posted a patch with a suggested change for this
in id:m2r1wrxin8.fsf at gmail.com. Could you try that and see if it
addresses your concerns?

That patch is now in HEAD, but I presume not yet in a release.

> 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
> _______________________________________________
> notmuch mailing list
> notmuch at notmuchmail.org
> https://notmuchmail.org/mailman/listinfo/notmuch

dme.
-- 
Right across from where I'm standing, on the dance floor she was landing.


More information about the notmuch mailing list