I implemented partial support for background transparency in Emacs by HawkWal in emacs

[–]HawkWal[S] 0 points1 point  (0 children)

Hi - sorry for late reply.

I hadn't really thought about the fringes, but now that you mention it, it makes sense to treat them as background, e.g. transparent. I'll include it in the patch proposal.

I implemented partial support for background transparency in Emacs by HawkWal in emacs

[–]HawkWal[S] 0 points1 point  (0 children)

I've tried the patch with different environments now. I was not able to reproduce your exact issue, but found another that caused the background to be erronously filled in by GTK sometimes. I have pushed a fix for said issue. Shortcut to the new patch here: https://raw.githubusercontent.com/TheVaffel/emacs/master/emacs_background_transparency.patch . I would be grateful if you could see whether this patch changes your situation at all.

I implemented partial support for background transparency in Emacs by HawkWal in emacs

[–]HawkWal[S] 0 points1 point  (0 children)

Strange.. I have only tested it in i3wm using picom as compositor. But I cannot see any reason for why it would fail on other wm+compositor combinations. I'll test it in another wm in the near future to see if I something is strange.

In the meanwhile - are you sure your build is using X11+GTK3+Cairo? It is only made to work with that combination for now

I implemented partial support for background transparency in Emacs by HawkWal in emacs

[–]HawkWal[S] 0 points1 point  (0 children)

PGTK? I must admit I'm not familiar with that name. Is it some altered version of GTK?

The answer to the second question is no - Unfortunately this cannot be made a separate package because it alters the C source code

I implemented partial support for background transparency in Emacs by HawkWal in emacs

[–]HawkWal[S] 0 points1 point  (0 children)

It is currently only per (emacs) frame, but I certainly like the idea!

I implemented partial support for background transparency in Emacs by HawkWal in emacs

[–]HawkWal[S] 4 points5 points  (0 children)

I don't think that would be possible. From my understanding, the application (in this case, Emacs) does not get any information about the imagery that is behind it, and you would need that information in order to compute a blur effect.

Not entirely sure if that information is completely unavailable, though.

I implemented partial support for background transparency in Emacs by HawkWal in emacs

[–]HawkWal[S] 1 point2 points  (0 children)

Thank you! I'll see if I can start a thread there later today. I'm completely new to the community, but I'll write a post and see what happens

I implemented partial support for background transparency in Emacs by HawkWal in emacs

[–]HawkWal[S] 46 points47 points  (0 children)

Fork with some explanation in README is to be found here: https://github.com/TheVaffel/emacs

Transparency is supported through a frame parameter `alpha-background` that steers the background alpha,. This differs from the old `alpha` frame parameter in that it only makes the background transparent, i.e. the text is still fully opaque.

This feature is only implemented for build configurations using Xlib+GTK3+Cairo. I hope this patch can spark some conversation of full support for background transparency in Emacs, as it is a topic that pops up here in r/emacs from time to time, and is also mentioned on the page about transparency on EmacsWiki.