Eli, I think we can solve the three situations described with following algorithm/idea/inspiration [1]: through a configurable variable (yank-media-image-types ?). That would allow you to be able to select among all options (that for certain cases could be interesting, say "expert mode", I know what I am doing, verbose mode, etc.), and also, a way to filter out certain candidates based on what you need. Making that variable equal to nil would be as it is now, and configuring it to "image/png", would only select one. I think others were thinking about a regex. As you wish, I only need some sort of filter, and I don't care too much on the detail of how it is configured. [1] #+begin_src emacs-lisp (defun my/filter (lst allowed)   "Filter elements from LST based on ALLOWED. If no match is found, return LST."   (if (null allowed)       lst     (let ((filtered            (delq nil (mapcar                       (lambda (x)                         (when                             (member x allowed) x)) lst))))       (if (null filtered) lst filtered)))) (defun my/select (lst allowed)   (if (equal (length allowed) 1)       allowed     (completing-read      "Several types available, choose one:"      (my/filter lst allowed)))) (setq my/candidates '("image/png"                       "image/pbm"                       "image/xbm"                       "image/xpm"                       "image/jpeg"                       "image/tiff"                       "image/webp")) ;; 1. I only want png (my/select my/candidates '("image/png")) ;; 2. I only want to select between png and/or jpeg (my/select my/candidates '("image/png" "image/jpeg")) ;; 3. expert mode (just like it is now) (my/select my/candidates nil) ;; example of how you would customize the variable (setq yank-media-image-types '("image/png")) #+end_src On 2024-09-23 15:35, Eli Zaretskii wrote: >> Date: Mon, 23 Sep 2024 15:00:54 -0300 >> Cc: visuweshm@gmail.com, emacs-devel@gnu.org >> From: pinmacs >> >> Before yank-media, I was using org-download [1], so I got used to just >> insert a screenshot with no question to answer (such as the type of the >> image). >> >> Recently, I moved to yank-media, but to have the same functionality, I >> had to tweak it a little bit, full detail here [2]. >> >> I see utility on asking for the image/png and image/jpeg and here you >> have details why you would care about [3]. > This just says that PNG is always preferable to JPEG if both are > available. As I already said, I'm okay with the idea of having C-y or > similar key to decide which format to use, and so what you are saying > (and I agree) that it should always choose PNG if Emacs supports it. > > What I still do not understand is what would be the reason for the > user to prefer JPEG over PNG. More generally, if Emacs can support N > formats out of those available in the clipboard, why would the user > want to be shown only 1 < M < N out of them? > > Furthermore, your request was even more broad and general: it asked > for some filtering infrastructure, and I'm still trying to understand > why that would be needed. The discussion to which you point on the > Org list doesn't explain the rationale, either. > > Bottom line: I'm okay with offering two yank-media alternatives: > > (1) via a command that selects a single most appropriate format based > on some (yet to be defined) algorithm; and > (2) via showing the list of all the formats that the running Emacs > supports and asking the user to choose one. > > If we can agree on this, we should now discuss those algorithms for > selecting a single media type. > > Thanks. >