Hi, Kitchin, thanks for your sharing. Following your code example, I did small modification to use on my case.
Here is my code: #+begin_src emacs-lisp (defvar image-overlay-re (concat ":ICON:" "\\(?3:'\\|\"\\)\\(?1:.*\\." (regexp-opt '("png" "PNG" "jpg" "jpeg" "JPG" "JPEG" "gif" "GIF" "eps" "EPS")) "\\)\\(?:\\3\\)") "Regexp to match image filenames in quotes") (defun org-contacts-icon-property-image-overlay (&optional limit) (when (re-search-forward image-overlay-re limit t) (let ((beg (match-beginning 0)) (end (match-end 0)) (image-file (match-string 1))) (when (file-exists-p image-file) (setq org-contacts-icon-property-iimage (create-image (expand-file-name image-file) 'imagemagick nil :width 300)) (setq org-contacts-icon-property-image-overlay (make-overlay beg end)) (overlay-put org-contacts-icon-property-image-overlay 'display image) (overlay-put org-contacts-icon-property-image-overlay 'face 'default) (overlay-put org-contacts-icon-property-image-overlay 'org-image-overlay t) (overlay-put org-contacts-icon-property-image-overlay 'modification-hooks (list 'org-display-inline-remove-overlay)))))) (font-lock-add-keywords nil '((org-contacts-icon-property-image-overlay (0 'font-lock-keyword-face t))) t) #+end_src But when I evaluate upper code, and re-enable org-mode on Contacts.org file. The :ICON: property value "John.png" is not displayed as image. Is there something wrong? I choose to use overlay to auto display image when open org-contacts file. -- [ stardiviner ] don't need to convince with trends. Blog: https://stardiviner.github.io/ IRC(freenode): stardiviner GPG: F09F650D7D674819892591401B5DF1C95AE89AC3