hw/xwin: Add an option to use alpha channel in multiwindow mode

Add an option to turn on the use of the X window's alpha channel in
multiwindow mode, i.e. this uses the X window's alpha channel for
compositing into the native desktop.

This works on W7/Vista (using DwmEnableBlurBehindWindow()), and Windows
10 (using the undocumented SetWindowCompositionAttribute()), but not on
Windows 8/8.1

-compositewm must be enabled for this to be useful, as we only have a
pixmap with an alpha channel for the X window in that case.  The
framebuffer/root window doesn't have one (unless perhaps you are using
the rootless extension, maybe...).

v2:
Update meson.build

Future work:

A window property to control use of alpha?
Option to turn off blur on W7/Vista
Implement _NET_WM_WINDOW_OPACITY
This commit is contained in:
Jon Turney
2017-01-05 13:17:59 +00:00
parent 2e1bc74373
commit 2afee831a4
9 changed files with 157 additions and 4 deletions

View File

@@ -62,7 +62,7 @@ TODO: Solaris.
TODO: *BSD.
Windows-dependent code assumes at least NT 5.1.
Windows-dependent code assumes at least NT 6.0.
OSX support is generally limited to the most recent version. Currently
that means 10.5.