Arthur Miller <arthur.mil...@live.com> writes: >> (org-link-set-parameters "http" :insert-description #'your-function) >> (org-link-set-parameters "https" :insert-description #'your-function) > > Thanks, after some thinkering I got it: > > ... > (org-link-set-parameters "http" :insert-description #'org-desc-from-clipboard) > (org-link-set-parameters "https" :insert-description > #'org-desc-from-clipboard) > #+end_src > > And I can do it async too, *but*; this will affect all insertions of links, > right?
Indeed. By design, `org-insert-link' is synchronous - it expects the link and description to be available upon request. > I am not sure if it is safe/possible always to access the internet or do > it asynchronously, so I'll abandon the ship and revert to home-cooked one just > for the precautios measures: What you can do is (1) make url descriptions be something like <title to be retrieved>; (2) add an :after advice for `org-insert-link' that will queue asynchronous url fetching; (3) replace <title to be retrieved> with the fetched title upon finishing the request. If the request fails, the description will remain <title to be retrieved>. Or you can run description retrieval independently, as a minor mode that will search for <title to be retrieved> marks and try to fetch them. -- Ihor Radchenko // yantar92, Org mode contributor, Learn more about Org mode at <https://orgmode.org/>. Support Org development at <https://liberapay.com/org-mode>, or support my work at <https://liberapay.com/yantar92>