Subject: Re: bug#51490: Show an indicator when Emacs is busy somewhere in the Emacs window

From: Eli Zaretskii <[email-masked]>
Date: Thu, 22 Sep 2022 09:28:22 +0300

> Date: Wed, 21 Sep 2022 17:11:17 +0000
> From: Gregory Heytings <[email-masked]>
> cc: [email-masked], [email-masked], [email-masked]
> 
> >> On GUI frames, can't we do something similar to what we do for fringe 
> >> bitmaps?
> >
> > I'm not sure I follow.  Fringe bitmaps are drawn by redisplay, and they 
> > do access faces, text properties, overlays,...  So how would this solve 
> > the problem?
> 
> Aren't they the simplest graphical element drawn by Emacs, a simple 
> black-and-white bitmap?

No, they aren't.  They are certainly not black-and-white: they use
faces.

> I don't think a "busy" indicator would have to access faces, text
> properties and overlays, it could be a simple (list of)
> black-and-white bitmaps drawn at a fixed position, e.g. on the left
> of the mode line.

Drawn how?  Bitmaps are images, and drawing images in the text area
means we need to invoke all the machinery of redrawing a certain
screen line, be it on the mode line or elsewhere.  That's how Emacs
draws stuff; we don't have any way of directly poking the glass with
an arbitrary bunch of pixels, at least not one that I know of.