From b1c36bd094dc1fa8a1a7f65da0c1edc11ea5a682 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Madeleine=20Sydney=20=C5=9Alaga?= Date: Fri, 30 Jan 2026 13:40:58 -0700 Subject: [PATCH] feat(emacs): display animated gifs inline --- modules/home/users/msyds/emacs/init.el | 1 + .../emacs/lisp/syd/org/inline-animation.el | 27 +++++++++++++++++++ 2 files changed, 28 insertions(+) create mode 100644 modules/home/users/msyds/emacs/lisp/syd/org/inline-animation.el diff --git a/modules/home/users/msyds/emacs/init.el b/modules/home/users/msyds/emacs/init.el index 1e6d486..212ad05 100755 --- a/modules/home/users/msyds/emacs/init.el +++ b/modules/home/users/msyds/emacs/init.el @@ -39,6 +39,7 @@ syd/org/noter syd/org/tufte-latex syd/org/srs + syd/org/inline-animation syd/smartparens syd/snippets syd/ptemplate diff --git a/modules/home/users/msyds/emacs/lisp/syd/org/inline-animation.el b/modules/home/users/msyds/emacs/lisp/syd/org/inline-animation.el new file mode 100644 index 0000000..c64763f --- /dev/null +++ b/modules/home/users/msyds/emacs/lisp/syd/org/inline-animation.el @@ -0,0 +1,27 @@ +;; -*- lexical-binding: t; -*- + +(require 'syd/base) +(require 'syd/org) + +(use-package org-inline-anim + :hook (org-mode . org-inline-anim-mode) + :config + (defun syd-inline-animation-get-image-overlay () + "Return image overlay at point or nil. Extracted from +`org-inline-anim-animate'." + (save-excursion + (when-let* ((element (org-element-at-point))) + (if (eq (org-element-type element) 'src-block) + (org-inline-anim--get-image-overlay-in-result-of-this) + (if (and (eq (org-element-type element) 'paragraph) + (org-element-property :results element)) + (org-inline-anim--get-image-overlay-in-element element) + (org-inline-anim--get-image-overlay-at-point)))))) + + (syd-add-hook 'org-ctrl-c-ctrl-c-hook + (defun syd-inline-animation--ctrl-c-ctrl-c-h () + (interactive) + (when (syd-inline-animation-get-image-overlay) + (call-interactively #'org-inline-anim-animate))))) + +(provide 'syd/org/inline-animation)