Subject: Re: bug#37689: Fringe pixmaps, widgets, etc. look ridiculously tiny in hidpi screen

From: Carlos Pita <[email-masked]>
Date: Fri, 11 Oct 2019 00:26:57 -0300

I tried to hack around this problem with an advice:

(defun my-define-fringe-bitmap-advice (fun bitmap bits &optional
height width align)
  (when (<= (or width 8) 8)
    (setq width (* (or width 8) 2)
          height (when height (* height 2))
          bits (vconcat (mapcan
                         (lambda (in)
                           (let ((out 0))
                             (dotimes (i 8 (list out out))
                               (setq out (+ out (lsh (* (logand in 1)
3) (* i 2)))
                                     in (/ in 2)))))
                         bits))))
  (funcall fun bitmap bits height width align))
(advice-add #'define-fringe-bitmap :around #'my-define-fringe-bitmap-advice)

It works well but too late I realized that many pixmaps are built-in
and don't go through define-fringe-bitmap at all :(.

Maybe it could still be useful as a prototype.