Підручники/Користування іншими засобами керування вікнами із Плазмою

From KDE Wiki Sandbox
Other languages:

Вступ

KWin — є типовою програмою для керування вікнами у Плазмі. Ця програма має багато можливостей, але у ній передбачено підтримку лише звичайних рухомих вікон. У Плазмі передбачено можливість скористатися іншою програмою для керування вікнами, наприклад i3, bspwm або будь-якою іншою мозаїчною програмою для керування вікнами.

Плазма з використанням i3 як засобу керування вікнами
Warning
Other window managers are only available when using X.org. These changes cannot be made for Wayland sessions yet. With Wayland maturing and Wayland extensions being standarised, this feature could be implemented in Wayland[1]


Для більшості засобів керування вікнами потрібні мінімальні зміни у файлах налаштувань, іноді можна обійтися і взагалі без змін.

Деякі речі, які слід брати до уваги, якщо ви хочете скористатися іншою програмою для керування вікнами:

  • У мозаїчних засобів керування вікнами можуть виникати проблеми із компонентами, зокрема панелями. У деяких з таких засобів проблеми можна вирішити налаштовуванням.
  • У більшості засобів керування вікнами немає власного засобу композиції, тому деякі можливості, зокрема анімація та прозорість, у них є недоступними. Якщо вам потрібні якісь із недоступних ефектів, доведеться скористатися стороннім засобом композиції, наприклад compton.

Використання іншого засобу керування вікнами у Плазмі

На рівні окремого користувача: використання Системних параметрів

Це найпростіший спосіб, але ним можна скористатися лише для окремого користувача системи.

  • Створіть скрипт командної оболонки (наприклад, kde-i3.sh) із таким вмістом:
    #!/bin/sh
    export KDEWM=/usr/bin/i3
    

Замініть /usr/bin/i3 на шлях до бажаної для вас програми для керування вікнами.

  • Запустіть Системні параметри
  • Виберіть пункт Запуск і вихід
  • Виберіть пункт Автозапуск
  • Натисніть розташовану під списком кнопку Додати скрипт
  • Вкажіть розташування попередньо створеного скрипту або натисніть кнопку із піктограмою теки, щоб скористатися для визначення адреси діалоговим вікном. Натисніть кнопку Гаразд, і скрипт буде додано до списку.
  • У стовпчику Момент виконання виберіть зі спадного списку варіант Перед запуском сеансу.
  • Вибраний вами засіб для керування вікнами буде використано під час наступного входу до системи.

На загальносистемному рівні: додавання XSession

Якщо у вас є доступ до облікового запису суперкористувача (root), можна створити новий файл сеансу для X.org.

Цей підхід має декілька переваг: альтернативний варіант сеансу буде доступним для усіх користувачів системи, а для того, щоб повернутися до KWin, достатньо буде вийти з системи і увійти до неї знову.

Note
The XSession file location varies between distributions, but is most of the time found in /usr/share/xsessions.


Щоб додати сеанс для альтернативного засобу керування вікнами від імені суперкористувача (root)

  • Скопіюйте наявний файл сеансу Плазми
    cp plasma.desktop plasma-i3.desktop
  • За допомогою текстового редактора відкрийте файл і змініть у ньому запис рядка Exec і, якщо хочете, запис Description
    [Desktop Entry]
    Type=XSession
    Exec=env KDEWM=/usr/bin/i3
    DesktopNames=KDE
    Name=Plasma (i3)
    Comment=Plasma by KDE w/i3
    X-KDE-PluginInfo-Version=5.14.4
    
  • Далі, засіб керування вікнами слід перезапустити. Найпростіше це зробити простим перезавантаженням системи.
Попередження
Переконайтеся щодо шлях і назву до головної програми для керування вікнами у зміненій команді Exec вказано правильно. Якщо KDE не вдасться запустити програму для керування вікнами, сеанс не вдасться розпочати, і ви повернетеся до вікна входу до системи.


Налаштування I3

Встановлення

Перш ніж розпочинати налаштовування, вам слід переконатися, що у системі встановлено i3 або i3-gaps. Якщо це не так, встановіть відповідні пакунки за допомогою програми для керування пакунками або Discover. Вам також слід встановити засіб композиції, оскільки, на відміну від KWin, у i3 немає власного вбудованого засобу композиції. Рекомендуємо скористатися compton.

Створення типових налаштувань i3

Зауваження
Якщо у вас вже є файл налаштувань i3 (зазвичай, це .i3/config або .config/i3/config), ви можете пропустити цей крок.


Відкрийте консоль і введіть команду i3-config-wizard. У відповідь буде відкрито маленьке вікно, за допомогою якого ви зможете створити файл налаштувань.

Деякі з правил керування вікнами 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

Bspwm configuration

В основному, для bspwm потрібне лише мінімальне додаткове налаштовування.

  • Якщо у Плазмі одна панель, у переважній частині випадків bspwm виявляє її належним чином і не розташовує вікна у її частині. Якщо з панеллю виникають проблеми або використовується декілька панелей, слід додати такі рядки до .bspwmrc
    bspc config top_padding size
    де size— розмір панелі у пікселях. Також можна скористатися параметрами bottom_padding, left_padding та right_padding. Якщо панеле декілька, можна скористатися керуванням панелями довільною кількістю цих інструкцій.

Hints and Tips

Dbus

You can open some Plasma components with DBus commands. So you can map keybinding to this Dbus commands. To find a specific dbus command, you can look at QDbusViewer.

Some examples:

  • Open 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

For i3, you can map a keybinding with the bindsym command. Example:

bindsym $mod+Shift+e exec <command>

For Bspwn, you need to use the bspc programm. See Arch Linux wiki for more information.

More Information

References