Xfwm4 + Compton:gtk3应用程序的问题

我目前正在使用Xubuntu 16.10和Xfwm4窗口管理器。 我用Compton切换了默认的合成器,以修复我的屏幕撕裂问题。 这完美无缺,但Compton渲染GTK3.20应用程序的方式似乎有些问题。

双影效果

由于某种原因,它创建了这个双重阴影效果。 任何人都可以告诉我如何解决这个问题,或者至少可能导致问题的原因。

如果有帮助,这里是我的Compton配置文件的链接: https : //github.com/Lend27/linuxstuff/blob/master/compton.conf

我不会在我的Ubuntu安装上使用compton,除了在我运行Gallium的N22上。 其他一些人报告的问题似乎是GTK3应用程序绘制了客户端侧窗口阴影,而康普顿则围绕它们绘制了自己的窗口阴影。

此问题有两种不同的解决方法:

  • 禁用客户端阴影。 在上面链接的线程中,用户发现了一些黑客攻击,迫使客户自己不绘制任何阴影。 当您配置compton以在视觉上区别于客户端阴影时,这在视觉上更加一致,就像在您的示例中一样。
  • 另一个选项是禁用合成器阴影。 在compton.conf中添加窗口名称或类到shadow-exclude并重新加载它。 建议启动xwininfo -stats -wm并单击相应的窗口以获取信息。 编辑:根据Arch Wiki上的康普顿文章 ,这似乎是您的自定义配置的问题,在shadow-exclude缺少"_GTK_FRAME_EXTENTS@:c"

我没有运气,我的16.10 VBox客户得到康普顿跑,我的N22基于16.04一切运行良好:

在此处输入图像描述

我没有对我的compton配置进行任何更改(我通过chrx安装了Gallium)这里有一些细节可能有助于调查可能的解决方案:

 livewire@zc01:~$ apt-cache show quadrapassel | grep Version Version: 1:3.18.0-1 livewire@zc01:~$ apt-file search compton.conf compton-conf: /usr/share/compton-conf/compton.conf.example ubuntustudio-default-settings: /etc/xdg/xdg-ubuntustudio/compton.conf xubuntu-default-settings: /etc/xdg/xdg-xubuntu/compton.conf livewire@zc01:~$ grep _GTK_FRAME_EXTENTS /etc/xdg/compton.conf "_GTK_FRAME_EXTENTS@:c" # GTK+ 3 CSD windows https://github.com/chjj/compton/issues/189 livewire@zc01:~$ diff /etc/xdg/compton.conf /etc/xdg/xdg-xubuntu/compton.conf 18,19c18 < #glx-no-rebind-pixmap = true; < glx-swap-buffer = 1; --- > glx-no-rebind-pixmap = true; 21c20,22 < vsync = "opengl-swc"; --- > vsync = "opengl-swc"; > > 43,45c44,46 < "class_g = 'Firefox' && argb", < "class_g = 'Kodi'", < "class_g = 'XScreenSaver'", --- > "n:w:*Firefox*", > "n:w:*Chrome*", > "n:w:*Chromium*", 47a49 > "class_g ?= 'Xfce4-notifyd'", 54,60d55 < # Opacity < menu-opacity = 1.0; # The opacity for menus. (default 1.0) < inactive-opacity = 1.0; # Opacity of inactive windows. (0.1 - 1.0) < frame-opacity = 1.0; # Opacity of window titlebars and borders. (0.1 - 1.0) < inactive-opacity-override = true; # Inactive opacity set by 'inactive-opacity' overrides value of _NET_WM_OPACITY. < < 77,78c72 < dialog = { fade = true; shadow = true; opacity = 1.0; focus = true; }; < }; --- > }; \ No newline at end of file