Terje Larsen <ter...@gmail.com> writes:

> There is already org-image-actual-width but the problem with that one is
> that images that have quite small width, but are tall will be scaled and
> become very tall.

> I think it would make sense to introduce something like
> org-image-max-width, which would scale images that are larger than this
> width, but leave images within this width alone.

I think this is doable since there is already a max-width parameter for
images IIRC.  But this means some work AFAICS.  A way could be to allow
a pair like (max-width . 555) as org-image-actual-width with the meaning
to downsize any image wider than 555 and let the smaller images alone.

Could you invest some energy and possibly suggest a patch?  You have all
the time.

> Another interesting thing would be to be able to adjust the max-width to
> the width of the buffer, but not sure how well that will play in all
> cases and how complex that would be.

This looks also doable AFAICT.

FWIW I use a little extension of the image-map which allows to adjust
the image width with the window-width with key "W" on the image.  (Quite
a bunch of w's in that sentence.)

This is the respective code from my init file:
(defun mw-image-change-width-to-window-width ()
"Resize image width to match window-width."
  (let* ((image (image--get-image))
         (new-image (image--image-without-parameters image)))
    (setcdr image (cdr new-image))
    (plist-put (cdr image) :width (nth 2 (window-inside-pixel-edges)))))

(define-key image-map "W" #'mw-image-change-width-to-window-width)

Reply via email to