Comment 13 for bug 1436553

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

Only the branch I am using worked in my systems for some reason. I don't know enough
about the internal workings of compiz to explain what was missing, only that when I attempted
to use the other patch (the short one) with newer compiz I got missing functions and that
sort of thing. Was probably nine months ago, I have forgotten the details.

At any rate, most of my work has been in C and not C++ and I really don't know a lot about
the inner workings of compiz, I got my version working by sheer experiment and trial and
error, trying both of the available branches referenced in the bug report.

My advice: attempt to apply the patch, see what comes up missing when you try to build,
and start adding that back, one piece at a time.

On 2/5/2016 at 8:20 AM, "Alberts Muktupāvels" <email address hidden> wrote:
>
>1) What code was removed?
>
>2) GTK+ 3.16 or newer requires that window manager explicitly
>advertises
>that it does support _GTK_FRAME_EXTENTS. If it does not do that
>then
>GTK+ thinks that CSD is not supported. This is why windows windows
>looks
>like they are running without compositing manager.
>
>It is not GTK+ that does not recognize compoz as compositor -
>simply
>compiz does not say - hey I do support _GTK_FRAME_EXTENTS.
>
>It could be "fixed" by adding _GTK_FRAME_EXTENTS to _NET_SUPPORTED
>- see
>my branch. But problem is that compiz really does not support
>_GTK_FRAME_EXTENTS so adding it to _NET_SUPPORTED is wrong.
>
>If it would be enabled then using theme that has .window-frame {
>margin:
>..; box-shadow: ...; } (Adwaita as example) then if you would tile
>csd
>window to left or right side of screen then it would not look
>tiled -
>there would empty space around window.
>
>Basically missing _GTK_FRAME_EXTENTS support is reason why:
>1) Ambiance theme does not add .window-frame { margin: ...; }
>1) GTK+ is patched with 0001-gtkwindow-set-transparent-background-
>color.patch and unity_rbga_tooltips.patch.
>
>If csd window is used without compositor and theme does not has
>fallback
>style .solid-csd then rounded corners will be black - color that
>is set
>by 0001-gtkwindow-set-transparent-background-color.patch.
>
>--
>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