Comment 2 for bug 1629749

Revision history for this message
luke (lukefromdc) wrote : Re: [Bug 1629749] Re: window-decorator cannot build with libmetacity 3.22

I've been able to keep using compiz, using Emerald as the window decorator and applying
an old, never-merged patch that restores proper transparency function for CSD windows.

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

Ubuntu patches GTK instead to get compiz to work with CSD windows Their CSD results are said
noty to be not as good as mine, but their system has the advantage that when tiling is used and
the theme does not expliclty set tiles windows to zero margins and zero shadows they still line up
with no gaps.

If neither compiz nor GTK is patched, the result is black corners on CSD windows and the inabilty
of any CSD window to be transparent unless the code calling the window expliclity enable it:

https://bugs.launchpad.net/ubuntu/+source/compiz/+bug/1436553

The "fix released" appears to be the GTK patches, not a fix in compiz by Ubuntu.

I offer the compiz builds I use in Debian at
https://archive.org/details/DebianPackagesForMate-desktopWityGtk3AndCustomPanelTheme

I do get a couple timing issues on startup. To get compiz to fully start and connect to the window
decorator at session startup I have to use a script, and if the timing is exactly wrong mate-panel
has to be restarted. Compiz itself orignally restarted gnome-panel in session startups I recall.

Anyway, I've got it mostly working, with a little attention to that timing issue and the extents
patch, a better build than mine for Debian should be possible.

On 10/21/2016 at 10:01 AM, "Cyril Brulebois" <email address hidden> wrote:
>
>Thanks for sharing your findings.
>
>FWIW I was looking at reintroducing compiz into Debian (that is:
>via
>unstable), and while it compiled mostly OK 2-3 weeks ago, I've just
>stumbled upon this FTBFS due to the (lib)metacity bump for GNOME
>3.22.
>
>Just out of curiosity, did you get in touch with GNOME people to
>mention
>this regression and to get advice on how to go forward on the
>compiz
>side?
>
>--
>You received this bug notification because you are subscribed to
>the bug
>report.
>https://bugs.launchpad.net/bugs/1629749
>
>Title:
> window-decorator cannot build with libmetacity 3.22
>
>Status in Compiz:
> New
>
>Bug description:
> This is with compiz source
> compiz_0.9.13.0+16.10.20160818.2.orig.tar.gz
> build on Debian Unstable (not Ubuntu) and GTK 3.22 and Metacity
>3.22. Will become an issue for Ubuntu post-yakkety unless Ubuntu
>pins Metacity at version 3.20.
>
> Metacity/libmetacity 3.22 introduced radical changes that totally
> break compiz's gtk-window-decorator,which can neither build nor
>run
> against it. I played with it, a whole bunch of things compiz
>needed to
> link against were removed. This was the first error resulting
>from an
> attempt to build against Metacity 3.22:
>
> error: unknown type name ‘MetaButtonLayout’
> MetaButtonLayout button_layout;
>
>
> The possible killer for Metacity theme support:
>
>
>https://github.com/GNOME/metacity/commit/d7f2445ec7e70274c7501586a5
>37c699f6628335
> libmetacity: switch from .ssd to .csd
>
> and some of the changes probably behind breaking the build:
>
>
>https://github.com/GNOME/metacity/commit/2ee0ffbee0b52cb8fc3112906b
>ea1eaa737559f7
> libmetacity: don't expose MetaButton struct
>
>
>
>https://github.com/GNOME/metacity/commit/eee199e3b7ce87cbd08b4b6e4c
>9c55c804c6ff5f
> libmetacity: rename MetaButtonFunction to MetaButtonType
>
> Not sure a port to 3.22 would even still give the ability to read
> Metacity themes anyway, given the first commit listed above.
>
> Meanwhile, building gtk-window-decorator without metacity
>support at
> all was broken accidently in changes to support metacity 3.20 by
>using
> metacity version selectors but not checking to see if Metacity
>support
> is being used at all.
>
> I build compiz for use in Debian Unstable (and offer my builds
>for
> public use) so I saw this a couple days ago. All I could so was
>switch
> decorators to Emerald (which compiz-reloaded has ported to GTK3)
>and
> use the Emerald pixmap engine to write an Emerald theme matched
>to my
> metacity theme. Ubuntu MATE may have to do the same post-Yakkety
> unless Ubuntu either pins Metacity, gets a 3.22 port to work and
>finds
> it handles metacity themes, or modified gtk-window-decorator to
>read
> metacity themes directly without using libmetacity.
>
>To manage notifications about this bug go to:
>https://bugs.launchpad.net/compiz/+bug/1629749/+subscriptions