Comment 11 for bug 1436553

Revision history for this message
luke (lukefromdc) wrote : Re: [Bug 1436553] Re: Transparent windows render black with Gtk3.16 and compiz

This patch DOES NOT WORK with compiz 0.9.12.1 or later, as the underlying code that makes it work was removed.
Getting this to work with current compiz would require finding all of the code it uses that was removed between 0.9.12.0
and 0.9.12.1 and adding it back along with the patch. This was more than I was able to do at the time, and yes, I did try.

Due to this mess, I took the old patched 0.9.12.0 version, replaced the gtk directory with one from a post gtk3.16 version
so it could build the window decorator with later versions of gtk3 and metacity. and stashed both the modded source and
debian packages built from it on Archive at:

https://archive.org/details/DebianPackagesForMate-desktopWityGtk3AndCustomPanelTheme

Where I offer debs for mate built with gtk3 and two built versions of compiz: one for Ubuntu, and one for Debian with a
forced restart to get the window decorator working.

Getting anything newer to work will require either reverting the removal of that underlying code or else writing entirely new
code to tell gtk 3.16 and later that compiz is in fact a compositor! The issue seems to be that gtk3.16 and later do not
recognize Compiz as being a compositor and therefore default to not supporting composition with it. Compositio can be
forced in the application code, so I included that in my mate theme support patches which went upstream for 1.12.0 and
later.

On 2/4/2016 at 1:16 AM, "Khurshid Alam" <email address hidden> wrote:
>
>@luke
>
>Can you explain how did you manage to compile compiz-0.9.12.2 with
>_GTK_FRAME_EXTENTS patch? For me it is failing , if I let
>launchpad to
>build it for me.
>
>--
>You received this bug notification because you are subscribed to
>the bug
>report.
>https://bugs.launchpad.net/bugs/1436553
>
>Title:
> Transparent windows render black with Gtk3.16 and compiz
>
>Status in compiz package in Ubuntu:
> Fix Released
>
>Bug description:
> Running compiz_1%3a0.9.12.0+15.04.20150202-0ubuntu1 without
>unity (in
> mate compiled with gtk-3) and testing Gtk-3.16 I run into serious
> issues with failures to render certain Gtk Windows transparent.
> Hardware is AMD FX 8120 with radeon HD 6750 GPU.
>
> My theme sets popup windows used by menus transparent, and Gtk
> application windows with client side decoration (CSD) have
> transparency underlying the GtkHeaderBar. In the latter case
>this is
> what makes rounded corners possible. The transparent popup
>windows
> used with my theme to support menus resembling gnome-shell's
>widgets
> in my hacked Gtk3 version of mate-panel work fine with Gtk3.14
>but due
> to the window issue get black corners with compiz and Gtk-3.16.
> Windows drawn transparent with cairo still work, but windows set
> transparent by GTK usually do not,
>
> Changing the window manager to Mutter makes transparency work
> perfectly. In Gtk-3.14 transparency works in Metacity with
>compositing
> enabled, it does not with gtk-3.16.
>
> I am not sure whether this should be considered a compiz bug or
>a Gtk
> bug, but since transparency works fine in gnome-shell and mutter
>(as
> used by shell), I am not sure the GNOME team would consider this
>a bug
> they are willing to fix. If nobody fixes this any GNOME
>application
> that forces client side decoration (such as the gtk3-demo or gtk3
> -widget-factory) will be ugly in Ubuntu unless the client side
> decorations have square corners.
>
>To manage notifications about this bug go to:
>https://bugs.launchpad.net/ubuntu/+source/compiz/+bug/1436553/+subs
>criptions