Xfwm4 + Compton: проблемы с приложениями gtk3
В настоящее время я использую Xubuntu 16.10 с оконным менеджером Xfwm4. Я выключил композитор по умолчанию с Compton, чтобы исправить мои проблемы с разрывом экрана. Это сработало безупречно, однако, похоже, есть некоторые проблемы с тем, как Compton отображает приложения GTK3.20.
По какой-то причине он создает эффект двойной тени. Может кто-нибудь сказать мне, как это исправить, или, по крайней мере, что может быть причиной этого.
Вот ссылка на мой файл конфигурации Compton, если он помогает: https://github.com/Lend27/linuxstuff/blob/master/compton.conf
1 ответ
Я не использую compton в моих установках Ubuntu, кроме как на моем N22, где я запускаю Gallium. Проблема, о которой сообщали некоторые другие, заключается в том, что приложения GTK3 рисуют тени окон на стороне клиента, а compton рисует свои собственные вокруг них.
Есть два разных решения этой проблемы:
- Отключить тени на стороне клиента. В приведенной выше теме пользователи нашли несколько хаков, чтобы заставить клиентов не рисовать тени самостоятельно. Это более визуально непротиворечиво, когда вы настроили compton для рисования теней, которые визуально отличаются от клиентских, как в вашем примере.
- Другой вариант - отключить тени композитора. Добавьте имя окна или класс в
shadow-exclude
в ваш compton.conf и перезагрузите его. Предлагается запуститьxwininfo -stats -wm
и нажмите на соответствующее окно, чтобы получить информацию. Редактировать: это похоже на проблему с вашей пользовательской конфигурацией, которая отсутствует"_GTK_FRAME_EXTENTS@:c"
вshadow-exclude
, в соответствии со статьей Compton на Arch Wiki.
Мне не повезло, когда мой 16.10 гость VBox запустил compton, а на моем N22 16.04 все работает нормально:
Я не вносил никаких изменений в свою конфигурацию compton (я установил Gallium через chrx), вот некоторые подробности, которые могут быть полезны при исследовании возможных решений:
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