diff options
author | Holger Dürer <me@hdurer.net> | 2017-05-05 22:19:02 +0100 |
---|---|---|
committer | Holger Dürer <me@hdurer.net> | 2017-05-08 21:19:14 +0100 |
commit | 35886f7c19ef00f7c86c2e63ca335ae13ae7aa81 (patch) | |
tree | 0437f1c198c9216ef3c4a899b68a6d4465753381 /lisp/mastodon-tl.el | |
parent | 4d0bd43c0ede0159c0f0130a5565ea5a6511997a (diff) |
Show users' avatars plus other image work.
- Shows users' avatars (makes only sense if Emacs is built with imagemagick)
- Scales media attachement previews to a max size (if Emacs is built with imagemagick)
- Enable cacheing of image fetches
Known issues:
- We should really cache the avatars to avoid having multiple identical images in memory.
Diffstat (limited to 'lisp/mastodon-tl.el')
-rw-r--r-- | lisp/mastodon-tl.el | 30 |
1 files changed, 21 insertions, 9 deletions
diff --git a/lisp/mastodon-tl.el b/lisp/mastodon-tl.el index e025a6e..1a5d9ae 100644 --- a/lisp/mastodon-tl.el +++ b/lisp/mastodon-tl.el @@ -104,8 +104,18 @@ Optionally start from POS." "Propertize author of TOOT." (let* ((account (cdr (assoc 'account toot))) (handle (cdr (assoc 'acct account))) - (name (cdr (assoc 'display_name account)))) + (name (cdr (assoc 'display_name account))) + (avatar-url (cdr (assoc 'avatar account)))) (concat + (when mastodon-media-show-avatars-p + ;; We use just an empty space as the textual representation. + ;; This is what a user will see on a non-graphical display + ;; where not showing an avatar at all is preferable. + (concat (propertize " " + 'media-url avatar-url + 'media-state 'needs-loading + 'media-type 'avatar) + " ")) (propertize name 'face 'warning) " (@" handle @@ -177,14 +187,16 @@ also render the html" (defun mastodon-tl--media (toot) "Retrieve a media attachment link for TOOT if one exists." - (let ((media (mastodon-tl--field 'media_attachments toot))) - (mapconcat - (lambda (media-preview) - (concat "Media_Link:: " - (mastodon-tl--set-face - (cdr (assoc 'preview_url media-preview)) - 'mouse-face nil))) - media "\n"))) + (let ((media-attachements (mastodon-tl--field 'media_attachments toot))) + (mapconcat + (lambda (media-attachement) + (let ((preview-url (cdr (assoc 'preview_url media-attachement)))) + (concat (propertize "[img]" + 'media-url preview-url + 'media-state 'needs-loading + 'media-type 'media-link) + " "))) + media-attachements ""))) (defun mastodon-tl--content (toot) "Retrieve text content from TOOT." |