Karthik Chikmagalur <karthikchikmaga...@gmail.com> writes: > Please ignore the previous patch and use this one instead. I've fixed a > bug and a couple of formatting errors.
Thanks for the patch! See my comments inline. > +(defcustom org-image-align nil > + "How to align images previewed using `org-display-inline-images'. > + > +Only stand-alone image links are affected by this setting. These > +are links without surrounding text. > + > +Possible values of this option are: > + > +nil Insert image at specified position (same as left-alignment). It would make sense to allow 'left value as well (same as nil). > + (when align > + (overlay-put > + ov 'before-string > + (propertize > + " " 'face 'default > + 'display > + (pcase align > + ((or 'center 'justify) I do not think that we need to consider 'justify value at this point. Maybe in future, when (or if) we add proper justification support to text. But not now. > +(defun org-image--align (link) > + "Determine the alignment of the image link. > + > +This is controlled globally by the option `org-image-align', and > +per image by the value of `:align' in the affiliated keyword > +`#+attr_org'. > + > +The result is one of the symbols center, justify or right. The > +first two will cause the image preview to be centered, the last > +will cause it to be right-aligned. A return value of nil implies > +no special alignment -- the image preview is overlaid on the link > +exactly where it appears in the buffer." > + (let ((par (org-element-lineage link 'paragraph))) > + ;; Only apply when image is not surrounded by paragraph text: > + (when (and (= (org-element-property :begin link) > + (org-element-property :contents-begin par)) > + (<= (- (org-element-property :contents-end par) > + (org-element-property :end link)) > + 1)) ;account for trailing newline This will not work when the image paragraph is indented: * This is test #+attr_org: :align center [[file:~/Downloads/wallpaper.png]] -- Ihor Radchenko // yantar92, Org mode contributor, Learn more about Org mode at <https://orgmode.org/>. Support Org development at <https://liberapay.com/org-mode>, or support my work at <https://liberapay.com/yantar92>