← Back to team overview

desktop-packages team mailing list archive

[Bug 1436553] Re: Transparent windows render black with Gtk3.16 and compiz

 

I can now confirm that building and installing the

https://code.launchpad.net/~albertsmuktupavels/compiz/add-gtk-frame-
extents-to-net-supported

compiz branch solves the problem, as far as I can tell solving it
entirely.

At the moment I am running Debian Unstable, using the Ubuntu PPA kernel
and Mesa on Radeon graphics, this version of compiz, and mate compiled
with gtk3.16 hacked for semi-transparent panel menus. Transparency  in
the panel menus works perfectly, and CSD apps render and can be resized
just as if they were running in gnome-shell.  Looks like this simple
change to src/screen.cpp did it, now there is another issue that comes
from Metacity.

Neither this branch nor the main compiz branch will build the gtk window
decorator with Metacity 3.17 installed, so Emerald must be used for
window decoration (I don't have the kde development files installed to
build the kde window decorator) at least on my current setup.  "build
metacity" and "build gtk" must both be disabled or the build errors out.

Given that Metacity itself no longer supports metacity themes I am not
sure that can be fixed unless Compiz is to support using the theme set
for csd in the gtk theme. Then the decoration will be much too tall.

There is a way get your old window decoration theme back in Emerald. If
you have MATE installed you can run marco --replace to screenshot your
old metacity theme, then use png files of sections of the decoration to
copy your theme in Emerald's "pixmap" engine.

Long term options I see are this:

1: Rewrite Metacity support to use current Metacity and read the css
theme, not the legacy metacity themes

2: Replace Metacity support with Marco support. Most compiz installs
needing gtk-window-decorator are in Unity or MATE. This would introduce
Marco as a build dependency of compiz and thus unity.

3: Split out Marco support and Unity support, have Unity include its own
window decorator. Code could be exactly the same, but this removes an
external dependency from Unity.

4: Dump Metacity support, take over Emerald mantainance instead.  Update
Emerald theme engines or just create Emerald themes to march distro
default themes.

-- 
You received this bug notification because you are a member of Desktop
Packages, which is subscribed to compiz in Ubuntu.
https://bugs.launchpad.net/bugs/1436553

Title:
  Transparent windows render black with Gtk3.16 and compiz

Status in compiz package in Ubuntu:
  Confirmed

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/+subscriptions


References