branch: externals/org-modern commit 7016e7cae8488da1500e5cb90661a582531bcd0a Author: Daniel Mendler <m...@daniel-mendler.de> Commit: Daniel Mendler <m...@daniel-mendler.de>
Compute fringe bitmaps based on line height (Fix #64) --- org-modern.el | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/org-modern.el b/org-modern.el index eaa6d8e69a..3a1481e528 100644 --- a/org-modern.el +++ b/org-modern.el @@ -467,10 +467,6 @@ You can specify a font `:family'. The font families `Iosevka', `Hack' and (put-text-property i (1+ i) 'display (if (= 0 (mod i 2)) sp1 sp2))))))))) -(define-fringe-bitmap 'org-modern--block-inner (make-vector 1 #x80) nil nil '(top t)) -(define-fringe-bitmap 'org-modern--block-begin (vconcat (make-vector 20 0) [#xFF] (make-vector 107 #x80)) nil nil 'top) -(define-fringe-bitmap 'org-modern--block-end (vconcat (make-vector 107 #x80) [#xFF] (make-vector 20 0)) nil nil 'bottom) - (defun org-modern--block-fringe () "Prettify blocks with fringe bitmaps." ;; Do not add source block fringe markers if org-indent-mode is @@ -517,6 +513,13 @@ You can specify a font `:family'. The font families `Iosevka', `Hack' and :group 'org-modern (cond (org-modern-mode + (unless (fringe-bitmap-p 'org-modern--block-inner) + (let* ((h (ceiling (default-line-height) 2)) + (v1 (make-vector h 0)) + (v2 (make-vector (- 127 h) #x80))) + (define-fringe-bitmap 'org-modern--block-inner [128] nil nil '(top t)) + (define-fringe-bitmap 'org-modern--block-begin (vconcat v1 [#xFF] v2) nil nil 'top) + (define-fringe-bitmap 'org-modern--block-end (vconcat v2 [#xFF] v1) nil nil 'bottom))) (org-modern--update-label-face) (setq org-modern--keywords