Needed for things like #77 (see there for backing patch)
We need to:
get_rgb_rawdata
, and the depth used so callers know about it
Extra difficulty:
pixbuf.get_from_drawable
does not seem to handle things properly.. maybe we can use gdk_pixbuf_get_from_image
instead?
adds basics for supporting transparency
The biggest stumbling block is going to be the X11 server once again.
Neither Xvfb nor the dummy driver support 32-bit visuals, for whatever reason. See this ticket for Xvfb.
I've tried to patch dummy to allow it but only got as far as this:
[128046.305] (II) DUMMY: Driver for Dummy chipsets: dummy [128046.305] (WW) Falling back to old probe method for dummy [128046.305] (WW) VGA arbiter: cannot open kernel arbiter, no multi-card support [128046.305] (II) DUMMY(0): Chipset is a DUMMY [128046.305] (II) DUMMY(0): Creating default Display subsection in Screen section "dummy_screen" for depth/fbbpp 32/32 [128046.305] (**) DUMMY(0): Depth 32, (--) framebuffer bpp 32 [128046.305] (EE) DUMMY(0): Weight given (000) is inconsistent with the depth (32)
Patch attached. Note: module loading is complicated and I hacked the ABI number rather than trying to figure out why the srpm did not install out of the box.
naive hack to try to get 32-bit modes with dummy driver (not working)
Ignore comment:4, no changes to the X11 server were needed. What we want are 32-bit visuals, you can get that from a 24-bit dummy server just fine.
r3368 now handles transparency (big changeset - lost of details in commit message)
Remaining work items:
Pretty much all done, see:
That will do for now, win32 may get transparency if/when we move to gtk3/qt4 (#90).
Note: X11 pixel data is in pre-multiplied format, so we needed r4152 to display it properly with GTK (#416 to improve on that). I don't think it really matters to the encoders (only png and webp at present) if it's pre-multiplied or not.
Since lack of transparency support should not be a problem any more why black rectangle still an issue with Firefox and expanding tree-style-tab? Antoine, remember in https://www.xpra.org/trac/ticket/252#comment:24 you confirmed that you are able to reproduce the problem. It never improved and as before the issue is only reproducible in active window... Any ideas why it still happening? Thanks.
Should xeyes's transparently work correctly with this? Is there an example that does?
xeyes uses the SHAPE extension, not transparency, so it's probably not expected to work :-)
(set correct milestone work was completed in)
this ticket has been moved to: https://github.com/Xpra-org/xpra/issues/279