Control: tags -1 + moreinfo patch

On 05/19/2016 02:40 PM, Christoph Anton Mitterer wrote:
> Control: tags -1 - moreinfo
> 
> On Wed, 2016-05-18 at 11:12 +0200, Christian Seiler wrote:
>> Could you provide me a screenshot of the broken tool tips?
> Attached are two screenshots (with/withou) gtk3-nocsd and a video.
> 
> The effect from the screenshot with gtk3-nocsd, I'v discovered just
> before (i.e. black frame around the tool tip, not flickering).
> The video (H265) shows the flickering.

I think I figured out what the problem is, after reproducing it in
a VM. Could you try compiling upstream gtk3-nocsd (Debian only
patches the manpage anyway) with the attached patch applied? I
would like to get some feedback to see whether it solves the
problem also on real hardware, not only VMs with emulated GPUs.

Instructions:
git clone https://github.com/PCMan/gtk3-nocsd
cd gtk3-nocsd
patch -p1 < dont_disable_compositing.patch
make
LD_PRELOAD=$PWD/libgtk3-nocsd.so.0 GTK_CSD=0 nautilus

Regards,
Christian
diff --git a/gtk3-nocsd.c b/gtk3-nocsd.c
index 41aa0b6..f54885f 100644
--- a/gtk3-nocsd.c
+++ b/gtk3-nocsd.c
@@ -461,7 +461,10 @@ extern void gtk_header_bar_set_show_close_button (GtkHeaderBar *bar, gboolean se
 }
 
 extern gboolean gdk_screen_is_composited (GdkScreen *screen) {
-    if(is_compatible_gtk_version() && are_csd_disabled()) {
+    /* With Gtk+3 3.16.1+ we reimplement gtk_window_set_titlebar ourselves, hence
+     * we don't want to re-use the compositing hack, especially since it causes
+     * problems in newer Gtk versions. */
+    if(is_compatible_gtk_version() && are_csd_disabled() && !is_gtk_version_larger_or_equal(3, 16, 1)) {
         if(TLSD->disable_composite)
             return FALSE;
     }

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to