avatar

Меняем стандартный композитный менеджер XFCE на Picom/Compton

Опубликовал в раздел LINUX
?
Привет блог! Решился на замену композитного менеджера, причем попытка уже была где-то год назад, но так его завести не смог. Скорее всего было лень возиться, но время пришло.

Compton — лёгкий композитный менеджер для графического X сервера. Для чего он нужен:

  • отображать тени у окон(причем цвет теней можно задать);
  • эффект затемнение окон при сворачивании или разворачивании;
  • делать окна и элементы интерфейса прозрачными/полупрозрачными.

Начнем с установки, собранный уже пакет из репозирария, оказался глючным и при вызове окна для сохранения файла, compton крашился. Тогда на помощь пришел AUR, в нём нашел picom-jonaburg-git, который и установил.

Первым делом, отключаем стандартный менеджер:


Копируем готовый конфиг в домашнюю директорию ~/.config

cp /etc/xdg/picom.conf.example ~/.config/

Вот мой конфиг, время от времени я его правлю.


transition-length = 300;
transition-pow-x = 0.1;
transition-pow-y = 0.1;
transition-pow-w = 0.1;
transition-pow-h = 0.1;
spawn-center-screen = true;
spawn-center = true;
size-transition = true;
shadow = true;
shadow-radius = 10;
shadow-opacity = 0.4
shadow-offset-x = -7;
shadow-offset-y = -7;
shadow-color = "#000000";
shadow-exclude = [
  "name = 'Notification'",
  "name = 'Plank'",
  "name = 'tilix'",
  "class_g = 'VirtualBox'",
  "class_g ?= 'Notify-osd'",
  "class_g ?= 'Xfce4-notifyd'",
  "class_g ?= 'Xfce4-power-manager'",
  "n:w:*Firefox*",
  "name *= 'compton'",
  "name *= 'picom'",
  "_NET_WM_STATE@:32a *= '_NET_WM_STATE_HIDDEN'",
  "_GTK_FRAME_EXTENTS@:c"
];
fading = true;
fade-in-step = 0.09;
fade-out-step = 0.09;
inactive-opacity = 1.0;
frame-opacity = 0.7;
inactive-opacity-override = false;
active-opacity = 1.0
corner-radius = 0;
rounded-corners-exclude = [
  "window_type = 'dock'",
  "window_type = 'desktop'"
];
blur-background-exclude = [
  "window_type = 'dock'",
  "window_type = 'desktop'",
  "_GTK_FRAME_EXTENTS@:c"
];
dbe = false;
glx-copy-from-front = false;
backend = "glx";
vsync = true;
mark-wmwin-focused = true;
mark-ovredir-focused = true;
detect-rounded-corners = true;
detect-client-opacity = true;
refresh-rate = 0;
detect-transient = true;
detect-client-leader = true;
invert-color-include = [];
glx-no-stencil = true;
glx-no-rebind-pixmap = true;
use-damage = true;
xrender-sync-fence = true;
log-level = "warn";
wintypes:
{
  tooltip = { fade = true; shadow = true; opacity = 0.90; focus = true; full-shadow = false; };
  dock = { shadow = false; clip-shadow-above = true; }
  dnd = { shadow = false; }
};

У меня отключены все эти прозрачности/полупрозрачности, не люблю я их.

После пробуем запустить

/usr/bin/picom --experimental-backends --daemon

Если всё норм работает, добавляем в автозагрузку:



Небольшое демо: