Subject: bug#70697: 30.0.50; Frame parameter alpha-background is ignored for fringe bitmaps & internal borders

From: Aleksandar Dimitrov <[email-masked]>
Date: Thu, 16 May 2024 16:26:47 +0200

Hello Po Lu,

> This has been previously reported.  As I've stated on those occasions
> and numerous others, the internal border is a _border_, a natural
> component of a frame's foreground that should not be affected by its
> background transparency properties.

Thanks for your feedback. I didn't find any previous discussions, but I
guess I didn't look hard enough, sorry for that. Is there another way to
create insets in Emacs that does respect transparency settings? Or is
there a way to tweak the frame border's transparency settings that
doesn't also affect the rendered text and other interactive elements?

What I'm looking for is to distance the text somewhat from the edge of
the frame to create some negative space.

> As regards fringe bitmaps, they respond to alpha-background on the
> XRender builds.  This (untested) patch might extend this to Cairo
> builds:

Thanks for the patch. I applied it to the current Emacs (on top of
407b88333) and came to the following conclusion:

When compiling Emacs with --with-toolkit=lucid, the above patch
works. Fringe bitmaps' backgrounds are now transparent.
As before, the internal borders aren't transparent.

When compiling Emacs instead with --with-pgtk, the above patch *does not
work*. However, the internal frame borders *are* transparent there
now. I haven't yet investigated whether that was always the case (and I
simply hadn't compiled Emacs correctly before) or whether that change
came in recently.

I guess the behaviour (whatever it ends up being) should be consistent across toolkits.

Thanks,
Aleks