Function: org-setup-yank-dnd-handlers

org-setup-yank-dnd-handlers is a byte-compiled function defined in org.el.gz.

Signature

(org-setup-yank-dnd-handlers)

Documentation

Setup the yank-media and DND handlers for buffer.

Source Code

;; Defined in /usr/src/emacs/lisp/org/org.el.gz
;;; Yank media handler and DND
(defun org-setup-yank-dnd-handlers ()
  "Setup the `yank-media' and DND handlers for buffer."
  (let ((handler (if (>= emacs-major-version 30)
                     #'org--dnd-multi-local-file-handler
                   #'org--dnd-local-file-handler)))
    (setq-local dnd-protocol-alist
                (append
                 (list (cons "^file:///" handler)
                       (cons "^file:/[^/]" handler)
                       (cons "^file:[^/]" handler))
                 dnd-protocol-alist)))
  (when (fboundp 'yank-media-handler)
    (yank-media-handler "image/.*" #'org--image-yank-media-handler)
    ;; Looks like different DEs go for different handler names,
    ;; https://larsee.com/blog/2019/05/clipboard-files/.
    (yank-media-handler "x/special-\\(?:gnome\\|KDE\\|mate\\)-files"
                        #'org--copied-files-yank-media-handler))
  (when (boundp 'x-dnd-direct-save-function)
    (setq-local x-dnd-direct-save-function #'org--dnd-xds-function)))