Підручники/Користування іншими засобами керування вікнами із Плазмою
Вступ
KWin — є типовою програмою для керування вікнами у Плазмі. Ця програма має багато можливостей, але у ній передбачено підтримку лише звичайних рухомих вікон. У Плазмі передбачено можливість скористатися іншою програмою для керування вікнами, наприклад i3, bspwm або будь-якою іншою мозаїчною програмою для керування вікнами.
Для більшості засобів керування вікнами потрібні мінімальні зміни у файлах налаштувань, іноді можна обійтися і взагалі без змін.
Деякі речі, які слід брати до уваги, якщо ви хочете скористатися іншою програмою для керування вікнами:
- У мозаїчних засобів керування вікнами можуть виникати проблеми із компонентами, зокрема панелями. У деяких з таких засобів проблеми можна вирішити налаштовуванням.
- У більшості засобів керування вікнами немає власного засобу композиції, тому деякі можливості, зокрема анімація та прозорість, у них є недоступними. Якщо вам потрібні якісь із недоступних ефектів, доведеться скористатися стороннім засобом композиції, наприклад compton.
- Допомогти із усуванням розривів у зображенні на екрані можуть засоби композиції. Втім, вам спершу слід переконатися, що проблему не можна вирішити за допомогою відеодрайверів, оскільки усування цих проблем є найкращим з точки зору швидкодії варіантом.
Використання іншого засобу керування вікнами у Плазмі
На рівні окремого користувача: використання Системних параметрів
Це найпростіший спосіб, але ним можна скористатися лише для окремого користувача системи.
- Створіть скрипт командної оболонки (наприклад, kde-i3.sh) із таким вмістом:
#!/bin/sh export KDEWM=/usr/bin/i3
Замініть /usr/bin/i3 на шлях до бажаної для вас програми для керування вікнами.
- Запустіть Системні параметри
- Виберіть пункт Запуск і вихід
- Виберіть пункт Автозапуск
- Натисніть розташовану під списком кнопку Додати скрипт
- Вкажіть розташування попередньо створеного скрипту або натисніть кнопку із піктограмою теки, щоб скористатися для визначення адреси діалоговим вікном. Натисніть кнопку Гаразд, і скрипт буде додано до списку.
- У стовпчику Момент виконання виберіть зі спадного списку варіант Перед запуском сеансу.
- Вибраний вами засіб для керування вікнами буде використано під час наступного входу до системи.
На загальносистемному рівні: додавання XSession
Якщо у вас є доступ до облікового запису суперкористувача (root), можна створити новий файл сеансу для X.org.
Цей підхід має декілька переваг: альтернативний варіант сеансу буде доступним для усіх користувачів системи, а для того, щоб повернутися до KWin, достатньо буде вийти з системи і увійти до неї знову.
Щоб додати сеанс для альтернативного засобу керування вікнами від імені суперкористувача (root)
- Скопіюйте наявний файл сеансу Плазми
cp plasma.desktop plasma-i3.desktop
- За допомогою текстового редактора відкрийте файл і змініть у ньому запис рядка Exec і, якщо хочете, запис Description
[Desktop Entry] Type=XSession Exec=env KDEWM=/usr/bin/i3 /usr/bin/startplasma-x11 DesktopNames=KDE Name=Plasma (i3) Comment=Plasma by KDE w/i3
- Далі, засіб керування вікнами слід перезапустити. Найпростіше це зробити простим перезавантаженням системи.
Налаштування I3
Встановлення
Перш ніж розпочинати налаштовування, вам слід переконатися, що у системі встановлено i3 або i3-gaps. Якщо це не так, встановіть відповідні пакунки за допомогою програми для керування пакунками або Discover. Вам також слід встановити засіб композиції, оскільки, на відміну від KWin, у i3 немає власного вбудованого засобу композиції. Рекомендуємо скористатися compton.
Створення типових налаштувань i3
Деякі з правил керування вікнами i3 уможливлюють використання вікон сповіщення та інших вікон Плазми як звичайних рухомих вікон:
for_window [title="Desktop — Plasma"] kill; floating enable; border none for_window [class="plasmashell"] floating enable; for_window [class="Plasma"] floating enable; border none for_window [title="plasma-desktop"] floating enable; border none for_window [title="win7"] floating enable; border none for_window [class="krunner"] floating enable; border none for_window [class="Kmix"] floating enable; border none for_window [class="Klipper"] floating enable; border none for_window [class="Plasmoidviewer"] floating enable; border none for_window [class="(?i)*nextcloud*"] floating disable for_window [class="plasmashell" window_type="notification"] floating enable, border none, move right 700px, move down 450px, no_focus
Якщо ви хочете скористатися однаковими налаштуваннями для усіх користувачів (які, втім, зможуть змінювати налаштування для свого облікового запису), вилучіть виклик майстра з загальносистемного файла налаштувань і впишіть налаштування безпосередньо.
Вказані нижче правила для вікон i3 допоможжуть вам із сповіщеннями та деякими іншими вікнами Плазми:
for_window [title="Desktop — Plasma"] kill; floating enable; border none for_window [class="plasmashell"] floating enable; for_window [class="Plasma"] floating enable; border none for_window [title="plasma-desktop"] floating enable; border none for_window [title="win7"] floating enable; border none for_window [class="krunner"] floating enable; border none for_window [class="Kmix"] floating enable; border none for_window [class="Klipper"] floating enable; border none for_window [class="Plasmoidviewer"] floating enable; border none for_window [class="(?i)*nextcloud*"] floating disable for_window [class="plasmashell" window_type="notification"] floating enable, border none, move right 700px, move down 450px, no_focus
Якщо ви користуєтеся Плазмою із перекладом якоюсь мовою, вам слід визначити точну назву заголовка вікна стільниці. Одним зі способів такого визначення є команда wmctrl -l
.
Замість додавання
for_window [title="Desktop — Plasma"] kill; floating enable; border none
додайте у файл налаштувань i3 визначену назву вікна. Наприклад, у перекладі Плазми німецькою це буде
for_window [title="Arbeitsfläche — Plasma"] kill; floating enable; border none
Налаштовування Плазми
У вас можуть виникнути проблеми із можливостями «просторів дій» — активація за допомогою клавіатурних скорочень (деякі з яких використовуються у самому i3, зокрема "Meta + Q") робить i3 непрацездатним. Вилучення загальносистемних клавіатурних скорочень, які пов'язано із просторами дій, має вирішити проблему.
Щоб віджет пейджера Плазми показував стільниці у форматі i3bar, встановіть для параметра Налаштувати аплет «Пейджер» > Загальне > Показ тексту значення «Назва стільниці».
Налаштування Bspwm
В основному, для bspwm потрібне лише мінімальне додаткове налаштовування.
- Якщо у Плазмі одна панель, у переважній частині випадків bspwm виявляє її належним чином і не розташовує вікна у її частині. Якщо з панеллю виникають проблеми або використовується декілька панелей, слід додати такі рядки до .bspwmrc
bspc config top_padding size
де size— розмір панелі у пікселях. Також можна скористатися параметрами bottom_padding, left_padding та right_padding. Якщо панеле декілька, можна скористатися керуванням панелями довільною кількістю цих інструкцій.
Підказки і настанови
DBus
Відкривати компоненти Плазми можна за допомогою команд DBus. Ви можете пов'язати комбінації клавіш із командами DBus. Щоб визначити потрібну вам команду DBus, скористайтеся QDbusViewer.
Деякі з компонентів Плазми можна відкривати за допомогою команд DBus. Ви можете скористатися цим для прив'язки відповідної комбінації клавіш до команди DBus. Щоб визначити команду DBus, скористайтеся dbus-monitor
або qdbusviewer
, викликавши відповідний компонент за допомогою стандартних інструментів Плазми.
Докладніше про роботу з клавішею Meta (Alt):
Декілька прикладів:
- Відкрити Krunner
qdbus org.kde.kglobalaccel /component/krunner org.kde.kglobalaccel.Component.invokeShortcut 'run command'
- Відкрити вікно підтвердження виходу
qdbus org.kde.ksmserver /KSMServer org.kde.KSMServerInterface.logout -1 -1 -1
- Відкрити Krunner
qdbus org.kde.kglobalaccel /component/krunner org.kde.kglobalaccel.Component.invokeShortcut 'run command'
- Open logout confirmation screen
qdbus org.kde.ksmserver /KSMServer org.kde.KSMServerInterface.logout -1 -1 -1
У i3 ви можете пов'язати комбінацію клавіш із командою за допомогою програми bindsym. Приклад:
bindsym $mod+Shift+e exec <команда>
If you want to map the modifier key itself, use the bindcode command - you have to specify the keycode generated by the key, which you can get via the xev
utility.
Example for the Meta key:
bindcode 133 --release exec --no-startup-id <command>
Уr Bspwn вам слід скористатися програмою bspc
. Див. вікі Arch Linux, щоб дізнатися більше.
Додаткові відомості
- Засоби керування вікнами (Вікіпедія)
- Засоби керування вікнами (Вікі Arch Linux)
- Стільничне середовище (Вікіпедія)
- Стільничне середовище (Вікі Arch Linux)