Підручники/Примусове визначення прозорості та розмивання

From KDE UserBase Wiki
This page is a translated version of the page Tutorials/Force Transparency And Blur and the translation is 100% complete.
Other languages:

Корисні відомості для тих, кому потрібне розмивання.

Лише обрамлення вікон

Нехай, наприклад, вам потрібен термінал із розмиттям згори до низу. У цьому випадку вам потрібно знайти якісь декорації вікна, які є прозорими. Звичайно ж, вам слід переконатися, що у ефектах стільниці увімкнено ефекти стільниці. Автор цього підручника навіть не використовує декорації вікон, тому не може рекомендувати якусь тему (досягається це за допомогою пункту Деконації віконНалаштувати Breeze...Перевизначення, які є специфічними для вікон → додавання правила із формальним виразом .*).

Прозорість вмісту вікон

Kvantum

Встановіть Kvantum з github Kvantum. Змініть стиль віджетів на Kvantum на сторінці Системні параметриСтиль програмСтиль віджетів. Далі ви можете вибрати тему Kvantum в окремій програмі, яка називається Manager Kvantum.

Щоб отримати розмивання, встановіть якусь тему Kvantum із прозорістю, наприклад Materia Blur або Kvglass і виберіть її як вашу поточну тему. Більше того, ви можете змінити теми, наприклад, кольори materia замінити на такі:

sudo sed -i 's/#4285f4/#3daee9/g' MateriaBlur.kvconfig
sudo sed -i 's/#4285f4/#3daee9/g' MateriaBlur.svg

Це замінить звичайний колір на синій колір з Breeze. Зробити це можна відкривши файл у текстовому редакторі і замінивши колір у звичний спосіб.

Збереження стилю Breeze

Потреби у встановленні Kvantum немає.

Створіть правило прозорості у KWin:Alt+F3Додаткові діїСпеціальні параметри вікна, потім у спадному меню для класу і ролі вікна виберіть «Неважливо». Також виберіть усі типи вікон, окрім стільниці і вікна вітання. Ці параметри буде застосовано до усіх вікон. Встановіть примусові значення для непрозорості активних і неактивних вікон у бажані значення на останній вкладці Вигляд і виправлення. Кінцевий результат виглядатиме подібно до наведеного нижче, його можна імпортувати, зберігши як .kwinrule.


[Transparent all the things]
Description=Transparent all the things
clientmachine=localhost
clientmachinematch=0
opacityactive=90
opacityactiverule=2
opacityinactive=80
opacityinactiverule=2
types=445
wmclass=audacious
wmclasscomplete=false
wmclassmatch=0

Створіть ще одне правило над першим — правило виключення. Заголовки вікон у списку можна відокремлювати символом |. Отже, у пункті класу вікна можна вказати, наприклад, conky|pqiv|plasmashell|something, і визначити формальний вираз замість запису «Неважливо». Цього разу вкажіть непрозорість 100%. Якщо ви не можете визначитися, що записати до поля класу вікон (хоча, зазвичай, це значення записано у смужці заголовка вікна), ви можете натиснути Alt+F3Додаткові діїСпеціальні параметри вікна і отримати відповідне значення класу вікна у полі. Крім того, можна під час створення правила натиснути кнопку, яка надасть вам змогу клацнути на вікні для отримання його властивостей (виявлення властивостей вікна). Кінцевий результат буде подібним до наведеного нижче, ви можете імпортувати його, зберігши дані як .kwinrule.

[Transparency exceptions]
Description=Transparency exceptions
opacityactive=100
opacityactiverule=2
opacityinactive=100
opacityinactiverule=2
wmclass=conky|pqiv|plasmashell|rpcs3
wmclasscomplete=false
wmclassmatch=3

Встановіть скрипт KWin примусове розмивання і додайте його для усіх вікон, де потрібне розмивання. Перед цим слід виконати наведені нижче команди. Після цього у скриптах Kwin з'явиться піктограма параметрів для примусового розмивання.

mkdir -p ~/.local/share/kservices5/
cp ~/.local/share/kwin/scripts/forceblur/metadata.desktop ~/.local/share/kservices5/forceblur.desktop

Можна додати майже усе у каталогах .local/share/applications і /usr/share/applications. Крім того, ви можете створити скрипт, подібний до наведеного нами, і наказати системі запускати його під час завантаження. Примусове розмивання дає такі самі результати.

if [[ $(ps --no-header -p $PPID -o comm) =~ '^yakuake|dolphin$' ]]; then
    for wid in $(xdotool search --pid $PPID); do
       xprop -f _KDE_NET_WM_BLUR_BEHIND_REGION 32c -set _KDE_NET_WM_BLUR_BEHIND_REGION 0 -id $wid;
    done
fi