web-dev-qa-db-ja.com

Xfwm4 + Compton:gtk3アプリケーションの問題

現在、Xfwm4ウィンドウマネージャーでXubuntu 16.10を使用しています。画面の破損の問題を修正するために、Comptonでデフォルトのコンポジターを切り替えました。これは問題なく機能しましたが、ComptonがGTK3.20アプリケーションをレンダリングする方法に問題があるようです。

Double Shadow effect

何らかの理由で、この二重影効果が作成されます。誰でもこれを修正する方法、または少なくともそれを引き起こしている可能性があるものを教えてもらえますか?.

役立つ場合は、コンプトン構成ファイルへのリンクを次に示します。 https://github.com/Lend27/linuxstuff/blob/master/compton.conf

1
Dylan M.

Galliumを実行しているN22を除き、Ubuntuのインストールではコンプトンを使用しません。 issue 他の数人から報告されているのは、GTK3アプリケーションがクライアント側のウィンドウシャドウを描画し、コンプトンがこれらの周囲に独自のシャドウを描画することです。

この問題には2つの異なる回避策があります。

  • クライアント側のシャドウを無効にします。上記のリンクのスレッドで、ユーザーはクライアントに自分自身で影を描画させないようにするハッキングを見つけました。これは、例のように、クライアント側のものと視覚的に異なる影を描画するようにコンプトンを構成した場合、視覚的に一貫性があります。
  • 別のオプションは、コンポジターシャドウを無効にすることです。 compton.confのshadow-excludeにウィンドウ名またはクラスを追加し、再読み込みします。 xwininfo -stats -wmを起動し、それぞれのウィンドウをクリックして情報を取得することをお勧めします。編集:これは、Arch Wikiの compton article によると、"_GTK_FRAME_EXTENTS@:c"shadow-excludeがないカスタム設定の問題のようです。

16.10 VBoxのゲストがコンプトンを実行できるようになることも、16.04に基づいてN22がすべて正常に動作することもありませんでした。

enter image description here

コンプトンの設定を変更しませんでした(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
3
LiveWireBT