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

From KDE Wiki Sandbox
Revision as of 08:32, 18 May 2019 by Yurchor (talk | contribs) (Created page with "Створіть правило прозорості у KWin:<keycap>Alt+F3</keycap> → <menuchoice>Додаткові дії</menuchoice> → <menuchoice>Спеціа...")
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

Create another rule on top of the first that will be an exclusion rule. Separate window titles with |. So for ex conky|pqiv|plasmashell|something should be placed in the Window Class while having Regexp instead of Unimportant. For this one force the opacity to 100%. In case you don't know what window class something has (tho it is usually in the titlebar) you can press ALT+F3More actionsSpecial Window Settings and get the window class or when you create a rule there is a button that will let you click on something to get its properties (detect window properties).The end result will look like so, and can be imported by saving it as .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

So pretty much everything under .local/share/applications and /usr/share/applications can be added alternatively you can have a script like this and have it runs at startup. The force blur thing does the same thing.

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