Comment 12 for bug 1436553

Revision history for this message
Alberts Muktupāvels (muktupavels) 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.