summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorstardiviner <numbchild@gmail.com>2022-03-16 16:47:59 +0800
committerstardiviner <numbchild@gmail.com>2022-03-16 16:47:59 +0800
commit444f686a7f75db788d54f544b923a3532732eb8b (patch)
treeb663bd5a54517498b69ca533060ceed8e9f3109e
parentb2d0c0dc9ddfeefc1d3b3fee944a5682a73ed7c5 (diff)
Display kiwix library thumbnail URL image in vertico candidates.externals/kiwix
-rw-r--r--kiwix.el18
1 files changed, 17 insertions, 1 deletions
diff --git a/kiwix.el b/kiwix.el
index 732bac3..0ee4d39 100644
--- a/kiwix.el
+++ b/kiwix.el
@@ -57,6 +57,7 @@
(require 'cl-lib)
+(require 'url)
(require 'request)
(require 'subr-x)
(require 'thingatpt)
@@ -187,7 +188,22 @@ Set it to ‘t’ will use Emacs built-in ‘completing-read’."
entry-xml)))))
(library-filename (string-trim-left library-link-path "/")))
(propertize library-filename
- 'display (format "%s (%s)" title library-filename)))))
+ 'display (concat
+ (when-let ((return-buffer (url-retrieve-synchronously thumbnail-url :silent)))
+ (unwind-protect
+ (let ((image-data (with-current-buffer return-buffer
+ (goto-char (point-min))
+ (search-forward "\n\n") ; skip HTTP response headers.
+ (buffer-substring-no-properties (point) (point-max)))))
+ (kill-buffer return-buffer)
+ (propertize " "
+ 'display (create-image image-data nil t
+ :ascent 'center
+ :max-height (default-font-height))
+ 'read-only t))))
+ " "
+ (format "%s (%s)" title library-filename))
+ 'read-only t))))
xml-data))))))
:error (cl-function
(lambda (&rest args &key error-thrown &allow-other-keys)