xpra icon
Bug tracker and wiki

Opened 8 months ago

Last modified 3 months ago

#1570 assigned task

transparent windows

Reported by: Antoine Martin Owned by: Antoine Martin
Priority: major Milestone: 3.0
Component: core Version: trunk
Keywords: Cc:

Description (last modified by Antoine Martin)

Transparency aka "alpha channel" tracker ticket.

Original tickets and important changesets:

  • #77 tray icons
  • #262 disappearing tooltips
  • #279 32-bit visuals and transparent windows
  • #280 Systray icon transparency broken
  • #385 opengl transparency (and more)
  • #487 webp artifacts with transparency
  • #500 small tooltip windows have transparency issues
  • #577 detect lack of transparency support and disable it to save bandwidth
  • #892 transparency forwarding is broken
  • #961 transparency support is broken with pixmap backing
  • #1145 pixbuf backend does not support transparency with desktop scaling enabled

Attachments (1)

win32-opengl-alpha.patch (2.6 KB) - added by Antoine Martin 3 months ago.
try to enable transparency with opengl

Download all attachments as: .zip

Change History (5)

comment:1 Changed 8 months ago by Antoine Martin

Description: modified (diff)
Status: newassigned

Fixes in r16262:

  • skip compositing check with opengl backend on macos (though transparency still doesn't work..)
  • enable transparency by default on macos as this seems to work with both cairo and pixmap backends
  • remove override in pixmap backing, use the superclass default (ie: enabled on macos)
  • add better error logging when initializing / enabling transparency, especially failures

This reverts an earlier changeset: r4934 "transparency does not work on OSX" - as it works with cairo and pixmap, the opengl case may be fixable.
If not, we should disable it in the backend - which will save some bandwidth.

comment:2 Changed 4 months ago by Antoine Martin

Hopefully this can be dealt with as part of #1569.

comment:3 Changed 3 months ago by Antoine Martin

r17373 enables transparency with GTK3, which works for the cairo backend (with opengl=off).

For opengl, r17375 passes the flag to the glcontext class so it can choose an appropriate visual.
Unfortunately, despite using the DwmEnableBlurBehindWindow (as directed here: https://stackoverflow.com/a/4055059), the window remains opaque on win32. See patch attached.

Last edited 3 months ago by Antoine Martin (previous) (diff)

Changed 3 months ago by Antoine Martin

Attachment: win32-opengl-alpha.patch added

try to enable transparency with opengl

comment:4 Changed 3 months ago by Antoine Martin

r17385 uses non-opengl rendering if the window requires transparency, will follow up in #1682 for win32.

macos support is blocked by #1575

Note: See TracTickets for help on using tickets.