Tutorials/Using Other Window Managers with Plasma/uk: Difference between revisions

    From KDE UserBase Wiki
    (Created page with "*Створіть скрипт командної оболонки (наприклад, kde-i3.sh) із таким вмістом:{{Input|1=<nowiki> #!/bin/sh export KDEWM=/us...")
    (Updating to match new version of source page)
     
    (91 intermediate revisions by 2 users not shown)
    Line 1: Line 1:
    <languages />
    <languages />
    {{Construction}}


    <span id="Introduction"></span>
    ==Вступ==
    ==Вступ==


    KWin is the default window manager (WM) in Plasma and has lot of features, but only support floating windows. Plasma let you use another window manager for example i3, bspwm or [https://wiki.archlinux.org/index.php/Window_managers any other tilling window manager].
    KWin — є типовою програмою для керування вікнами у Плазмі. Ця програма має багато можливостей, але у ній передбачено підтримку лише звичайних рухомих вікон. У Плазмі передбачено можливість скористатися іншою програмою для керування вікнами, наприклад i3, bspwm або [https://wiki.archlinux.org/index.php/Window_managers будь-якою іншою мозаїчною програмою для керування вікнами].


    {{Warning|Other window managers are only available when using X.org. These changes can not be made for Wayland sessions.}}
    [[File:Plasma_i3.png|500px|thumb|center|Плазма з використанням i3 як засобу керування вікнами]]


    Most window managers require few, if any, changes to their configuration files.
    {{Warning_(uk)|Іншими засобами керування вікнами можна скористатися лише разом із графічним сервером X.org. Описані тут зміни не стосуються сеансів Wayland. Коли Wayland стане достатньо розвиненим, а розширення Wayland буде стандартизовано, цю можливість буде реалізовано і у Wayland<ref>https://drewdevault.com/2018/04/28/KDE-Sprint-retrospective.html</ref>}}


    Some considerations to be aware of when using another window manager:
    Для більшості засобів керування вікнами потрібні мінімальні зміни у файлах налаштувань, іноді можна обійтися і взагалі без змін.


    *Tiling window managers may have problems with components like panels. For some configuration options will help alleviate issues
    Деякі речі, які слід брати до уваги, якщо ви хочете скористатися іншою програмою для керування вікнами:


    * Most window managers do not have their own compositors, and therefore lack such features as animations and transparency. If such effects are desired, a compositor, such as '''compton''', is required
    * У мозаїчних засобів керування вікнами можуть виникати проблеми із компонентами, зокрема панелями. У деяких з таких засобів проблеми можна вирішити налаштовуванням.


    ==Using Another Window Manager with Plasma ==
    * У більшості засобів керування вікнами немає власного засобу композиції, тому деякі можливості, зокрема анімація та прозорість, у них є недоступними. Якщо вам потрібні якісь із недоступних ефектів, доведеться скористатися стороннім засобом композиції, наприклад '''compton'''.
    ===Single User: Using System Settings===
    ** Допомогти із усуванням розривів у зображенні на екрані можуть засоби композиції. Втім, вам спершу слід переконатися, що проблему не можна вирішити за допомогою відеодрайверів, оскільки усування цих проблем є найкращим з точки зору швидкодії варіантом.


    This is the simplest method, but only affects the user for which it is added
    <span id="Set-up"></span>
    ==Налаштовування==


    [[Image:kde-i3-integration.png]]
    Щоб скористатися іншою програмою для керування вікнами з Плазмою, замініть службу systemd для KWin новим модулем користувача для бажаного засобу керування вікнами. Настанови можна знайти в [https://wiki.archlinux.org/title/KDE#Use_a_different_window_manager ArchWiki].


    *Створіть скрипт командної оболонки (наприклад, kde-i3.sh) із таким вмістом:{{Input|1=<nowiki>
    <span id="Configuration"></span>
    #!/bin/sh
    ==Налаштування==
    export KDEWM=/usr/bin/i3
    </nowiki>}}
    Замініть /usr/bin/i3 на шлях до бажаної для вас програми для керування вікнами.


    * Start '''System Settings'''
    Щоб змусити нестандартну програму для керування вікнами працювати з Плазмою, можуть знадобитися додаткове налаштовування.


    * Select '''Startup and Shutdown'''
    ===i3===


    * Select '''Autostart'''
    <span id="Installation"></span>
    ====Встановлення====


    * Click the '''Add script''' button below the list
    Перш ніж розпочинати налаштовування, вам слід переконатися, що у системі встановлено i3 або i3-gaps. Якщо це не так, встановіть відповідні пакунки за допомогою програми для керування пакунками або [[Special:myLanguage/Discover|Discover]]. Вам також слід встановити засіб композиції, оскільки, на відміну від KWin, у i3 немає власного вбудованого засобу композиції. Рекомендуємо скористатися compton.


    * Enter the location of the script created earlier, or use the folder icon to use a dialog to find it. Click '''OK''', the script will be added to the list
    <span id="Configure_i3"></span>
    ===Налаштовування i3===


    * In the '''Run On''' column, select '''Before Session Startup''' from the drop down list
    Деякі з правил керування вікнами i3 уможливлюють використання вікон сповіщення та інших вікон Плазми як звичайних рухомих вікон:
    {{Input|1=<nowiki>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
    </nowiki>}}


    * The chosen window manager will be used the next time you log in
    Якщо ви хочете скористатися однаковими налаштуваннями для усіх користувачів (які, втім, зможуть змінювати налаштування для свого облікового запису), вилучіть виклик майстра з загальносистемного файла налаштувань і впишіть налаштування безпосередньо.


    === System Wide: Adding an XSession===


    If superuser (root) access is available, a new session file for X.org can be created.
    Вказані нижче правила для вікон i3 допоможуть вам із сповіщеннями та деякими іншими вікнами Плазми:
    {{Input|1=<nowiki>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 [class="plasmashell" window_type="notification"]
    </nowiki>}}


    This has several advantages: the alternate session is available to all users of the system, and changing back to KWin is as simple as logging out and then back in
    Якщо ви користуєтеся Плазмою із перекладом якоюсь мовою, вам слід визначити точну назву заголовка вікна стільниці. Одним зі способів такого визначення є команда <code>wmctrl -l</code>.
     
    Замість додавання
    {{Input|1=<nowiki>for_window [title="Desktop — Plasma"] kill; floating enable; border none
    </nowiki>}}


    To add a session for an alternate window manager, as the superuser
    додайте у файл налаштувань i3 визначену назву вікна. Наприклад, у перекладі Плазми німецькою це буде
    {{Input|1=<nowiki>for_window [title="Arbeitsfläche — Plasma"] kill; floating enable; border none
    </nowiki>}}


    * Copy the existing Plasma session flie{{Input|1=<nowiki>cp plasma.desktop plasma-i3.desktop</nowiki>}}
    Визначення позиції показу сповіщень може бути непростою сравою, оскільки не усі сповіщення мають однакові розміри (розміри можуть залежати від вмісту). Ви також можете скористатися позиціюванням за координатами, якщо знаєте роздільну здатність екрана. Наприклад, для екрана 1920x1080 і сповіщень у верхньому правому куті ви можете скористатися таким кодом:{{Input|1=<nowiki>
    for_window [class="plasmashell" window_type="notification"] floating enable, border none, move position 1450px 20px
    </nowiki>}}


    * Using a text editor, open the file and change the Exec line, and optionally the Description{{Input|1=<nowiki>[Desktop Entry]
    Якщо ви хочете розблоковувати KWallet автоматично при вході до системи, налаштуйте PAM, а потім додайте такий рядок до файла налаштувань i3:
    Type=XSession
    {{Input|1=<nowiki>exec --no-startup-id /usr/lib/pam_kwallet_init
    Exec=env KDEWM=/usr/bin/i3
    DesktopNames=KDE
    Name=Plasma (i3)
    Comment=Plasma by KDE w/i3
    X-KDE-PluginInfo-Version=5.14.4
    </nowiki>}}
    </nowiki>}}


    * The display manager must be restarted, most easily by rebooting
    <span id="Configure_Plasma"></span>
    ====Налаштовування Плазми====
     
    У вас можуть виникнути проблеми із можливостями «просторів дій» — активація за допомогою клавіатурних скорочень (деякі з яких використовуються у самому i3, зокрема "Meta + Q") робить i3 непрацездатним. Вилучення загальносистемних клавіатурних скорочень, які пов'язано із просторами дій, має вирішити проблему.
     
    Щоб віджет пейджера Плазми показував стільниці у форматі i3bar, встановіть для параметра '''Налаштувати аплет «Пейджер»''' > '''Загальне''' > '''Показ тексту''' значення «Назва стільниці».
     
    ===Bspwm===


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


    ===Встановлення===
    * Якщо у Плазмі одна панель, у переважній частині випадків bspwm виявляє її належним чином і не розташовує вікна у її частині. Якщо з панеллю виникають проблеми або використовується декілька панелей, слід додати такі рядки до '''.bspwmrc'''{{Input|1=<nowiki>bspc config top_padding size</nowiki>}}де '''size'''— розмір панелі у пікселях. Також можна скористатися параметрами bottom_padding, left_padding та right_padding. Якщо панеле декілька, можна скористатися керуванням панелями довільною кількістю цих інструкцій.


    Before starting the configuration, you should make sure i3 or i3-gaps are installed on your system. If not use your packet manager or [[Special:myLanguage/Discover|Discover]] to install one of this two packages. You should also install a compositor, because unlike KWin, i3 don't ship with an integrated compositor. I recommend the use of compton.
    ===awesomewm===


    ===Створення типових налаштувань i3===
    Following rules help Plasma to work as intended.
    Add these entries into <code>awful.rules.rules</code> table
    {{Input|1=<nowiki>
    { -- General plasma rules
        rule_any = {
            class = {
                "plasmashell",
                "ksmserver-logout-greeter",
            },
        },
        properties = {
            floating = true,
            border_width = 0,
            titlebars = false, -- custom property to control titlebars
        },


    {{Note|If you already have an i3 configuration file (usually at <code>.i3/config</code> or <code>.config/i3/config</code>), you can skip this step.}}
    },
    { -- KDE apps
        rule_any = {
            class = {
                "spectacle",
                "krunner"
            }
        },
        properties = {
            floating = true,
        }
    },
    </nowiki>}}
    Plasma widgets hide when they become unfocused. We do not want Desktop and Panel to be focusable, but want other <code>plasmashell</code> windows to remain focusable. A way to achieve this is with "manage" signal handler. An example handler:
    {{Input|1=<nowiki>
    client.connect_signal("manage", function(c)
    --... your config


    [[Special:myLanguage/Tutorials/Open a console|Open a console]] and type <code>i3-config-wizard</code>. This command open a small windows that will help you create a configuration file.  
    if c.type == "dock" -- Plasma Panel
        or c.type == "desktop" then -- Plasma Desktop
        c.focusable = false
        c:tags(c.screen.tags) -- show on all tags from this screen.
    end


    [[File:i3-wizard.png|500px]]
    -- Show titlebars only if enabled.
    if c.titlebars then
        awful.titlebar.show(c)
    else
        awful.titlebar.hide(c)
    end


    Some i3 keybinding can be used to provide better integration with Plasma.  
    -- Place floating windows. Plasma widgets provide this info
    {{Input|1=<nowiki># Open logout confirmation screen with $mod+e
    if c.floating then
    bindsym $mod+Shift+e exec qdbus org.kde.ksmserver /KSMServer org.kde.KSMServerInterface.logout -1 -1 -1
        if c.size_hints.user_position then
    # Open krunner with $mod+d
            c.x = c.size_hints.user_position.x
    bindsym $mod+d exec qdbus org.kde.kglobalaccel /component/krunner org.kde.kglobalaccel.Component.invokeShortcut 'run command'
            c.y = c.size_hints.user_position.y
        end
        if c.size_hints.user_size then
            c.width = c.size_hints.user_size.width
            c.height = c.size_hints.user_size.height
        end
    end
    ..
    end)
    </nowiki>}}
    </nowiki>}}


    Some i3 window rules help you to have notification and some other plasma windows as floating windows:
    You may match Plasma Desktop using the following rule:
    {{Input|1=<nowiki>for_window [title="Desktop — Plasma"] kill; floating enable; border none
    {{Input|1=<nowiki>
    for_window [class="plasmashell"] floating enable;
    rule_any = {
    for_window [class="Plasma"] floating enable; border none
        name = {
    for_window [title="plasma-desktop"] floating enable; border none
          "Desktop.*Plasma",
    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
    </nowiki>}}
    </nowiki>}}


    ==bspwm==
    <span id="Hints_and_Tips"></span>
    ==Підказки і настанови==
     
    ===DBus===
     
    Відкривати компоненти Плазми можна за допомогою команд DBus. Ви можете пов'язати комбінації клавіш із командами DBus. Щоб визначити потрібну вам команду DBus, скористайтеся QDbusViewer.
     
    Деякі з компонентів Плазми можна відкривати за допомогою команд DBus. Ви можете скористатися цим для прив'язки відповідної комбінації клавіш до команди DBus. Щоб визначити команду DBus, скористайтеся <code>dbus-monitor</code> або <code>qdbusviewer</code>, викликавши відповідний компонент за допомогою стандартних інструментів Плазми.
     
    Докладніше про роботу з клавішею <keycap>Meta</keycap> (<keycap>Alt</keycap>):
     
    * [https://www.reddit.com/r/kde/comments/6wn5lk/bind_meta_key_alone_to_do_something/ Допис на Reddit із описом зв'язку клавіші Meta із KWin]
     
    * [https://zren.github.io/2019/03/04/activate-any-widget-with-meta-key Допис у блозі із описом зв'язку DBus — компонент]
     
     
    Декілька прикладів:
     
    * Відкрити Krunner {{Input|1=<nowiki>qdbus org.kde.kglobalaccel /component/krunner org.kde.kglobalaccel.Component.invokeShortcut 'run command'</nowiki>}}
    * Відкрити вікно підтвердження виходу {{Input|1=<nowiki>qdbus org.kde.ksmserver /KSMServer org.kde.KSMServerInterface.logout -1 -1 -1</nowiki>}}
     
    * Відкрити Krunner {{Input|1=<nowiki>qdbus org.kde.kglobalaccel /component/krunner org.kde.kglobalaccel.Component.invokeShortcut 'run command'</nowiki>}}
     
    * Відкрити вікно підтвердження виходу із облікового запису {{Input|1=<nowiki>qdbus org.kde.ksmserver /KSMServer org.kde.KSMServerInterface.logout -1 -1 -1</nowiki>}}
     
    У i3 ви можете пов'язати комбінацію клавіш із командою за допомогою програми bindsym. Приклад:
     
    {{Input|1=<nowiki>bindsym $mod+Shift+e exec <команда></nowiki>}}
     
    Якщо ви хочете самостійно визначити прив'язку до клавіші-модифікатора, скористайтеся командою '''bindcode''' — вам слід вказати код клавіші, визначити який можна за допомогою програми <code>xev</code>.
     
    Приклад для клавіші Meta:
    {{Input|1=<nowiki>bindcode 133 --release exec --no-startup-id <command></nowiki>}}
     
    Уr Bspwn вам слід скористатися програмою <code>bspc</code>. Див. [https://wiki.archlinux.org/index.php/Bspwm#Keyboard вікі Arch Linux], щоб дізнатися більше.
     
    <span id="More_Information"></span>
    ==Додаткові відомості==


    For the most part, bspwm requires little additional configuration.
    * [https://en.wikipedia.org/wiki/X_window_manager Засоби керування вікнами] (Вікіпедія)
    * [https://wiki.archlinux.org/index.php/Window_managers Засоби керування вікнами] (Вікі Arch Linux)
    * [https://en.wikipedia.org/wiki/Desktop_environment Стільничне середовище] (Вікіпедія)
    * [https://wiki.archlinux.org/index.php/Desktop_environment Стільничне середовище] (Вікі Arch Linux)


    * A single Plasma panel, in most cases, is detected properly and bspwm will not place windows in its space. If the panel does present a problem, or when using multiple panels, the following may be added to '''.bspwmrc'''{{Input|1=<nowiki>bspc config top_padding size</nowiki>}}where '''size''' is the size in pixels of the panel. Also valid are bottom_padding, left_padding, and right_padding. As many of these directive may be used as necessary for multiple panels.
    <span id="References"></span>
    ==Посилання==


    [[Category:Підручники/uk]]
    [[Category:Підручники/uk]]

    Latest revision as of 01:29, 22 October 2023

    Other languages:

    Вступ

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

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

    Попередження

    Іншими засобами керування вікнами можна скористатися лише разом із графічним сервером X.org. Описані тут зміни не стосуються сеансів Wayland. Коли Wayland стане достатньо розвиненим, а розширення Wayland буде стандартизовано, цю можливість буде реалізовано і у Wayland[1]


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

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

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

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

    Щоб скористатися іншою програмою для керування вікнами з Плазмою, замініть службу systemd для KWin новим модулем користувача для бажаного засобу керування вікнами. Настанови можна знайти в ArchWiki.

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

    Щоб змусити нестандартну програму для керування вікнами працювати з Плазмою, можуть знадобитися додаткове налаштовування.

    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 [class="plasmashell" window_type="notification"] 
    

    Якщо ви користуєтеся Плазмою із перекладом якоюсь мовою, вам слід визначити точну назву заголовка вікна стільниці. Одним зі способів такого визначення є команда wmctrl -l.

    Замість додавання

    for_window [title="Desktop — Plasma"] kill; floating enable; border none
    

    додайте у файл налаштувань i3 визначену назву вікна. Наприклад, у перекладі Плазми німецькою це буде

    for_window [title="Arbeitsfläche — Plasma"] kill; floating enable; border none
    

    Визначення позиції показу сповіщень може бути непростою сравою, оскільки не усі сповіщення мають однакові розміри (розміри можуть залежати від вмісту). Ви також можете скористатися позиціюванням за координатами, якщо знаєте роздільну здатність екрана. Наприклад, для екрана 1920x1080 і сповіщень у верхньому правому куті ви можете скористатися таким кодом:

    for_window [class="plasmashell" window_type="notification"] floating enable, border none, move position 1450px 20px
    

    Якщо ви хочете розблоковувати KWallet автоматично при вході до системи, налаштуйте PAM, а потім додайте такий рядок до файла налаштувань i3:

    exec --no-startup-id /usr/lib/pam_kwallet_init
    

    Налаштовування Плазми

    У вас можуть виникнути проблеми із можливостями «просторів дій» — активація за допомогою клавіатурних скорочень (деякі з яких використовуються у самому i3, зокрема "Meta + Q") робить i3 непрацездатним. Вилучення загальносистемних клавіатурних скорочень, які пов'язано із просторами дій, має вирішити проблему.

    Щоб віджет пейджера Плазми показував стільниці у форматі i3bar, встановіть для параметра Налаштувати аплет «Пейджер» > Загальне > Показ тексту значення «Назва стільниці».

    Bspwm

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

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

    awesomewm

    Following rules help Plasma to work as intended. Add these entries into awful.rules.rules table

    { -- General plasma rules
        rule_any = {
            class = {
                "plasmashell",
                "ksmserver-logout-greeter",
            },
        },
        properties = {
            floating = true,
            border_width = 0,
            titlebars = false, -- custom property to control titlebars
        },
    
    },
    { -- KDE apps
        rule_any = {
            class = {
                "spectacle",
                "krunner"
            }
        },
        properties = {
            floating = true,
        }
    },
    

    Plasma widgets hide when they become unfocused. We do not want Desktop and Panel to be focusable, but want other plasmashell windows to remain focusable. A way to achieve this is with "manage" signal handler. An example handler:

    client.connect_signal("manage", function(c)
    --... your config
    
    if c.type == "dock" -- Plasma Panel
        or c.type == "desktop" then -- Plasma Desktop
        c.focusable = false
        c:tags(c.screen.tags) -- show on all tags from this screen.
    end
    
    -- Show titlebars only if enabled.
    if c.titlebars then 
        awful.titlebar.show(c)
    else
        awful.titlebar.hide(c)
    end
    
    -- Place floating windows. Plasma widgets provide this info
     if c.floating then
        if c.size_hints.user_position then
            c.x = c.size_hints.user_position.x
            c.y = c.size_hints.user_position.y
        end
        if c.size_hints.user_size then
            c.width = c.size_hints.user_size.width
            c.height = c.size_hints.user_size.height
        end
    end
    ..
    end)
    

    You may match Plasma Desktop using the following rule:

     rule_any = {
         name = {
           "Desktop.*Plasma",
         },
     },
    

    Підказки і настанови

    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'
    • Відкрити вікно підтвердження виходу із облікового запису
      qdbus org.kde.ksmserver /KSMServer org.kde.KSMServerInterface.logout -1 -1 -1

    У i3 ви можете пов'язати комбінацію клавіш із командою за допомогою програми bindsym. Приклад:

    bindsym $mod+Shift+e exec <команда>

    Якщо ви хочете самостійно визначити прив'язку до клавіші-модифікатора, скористайтеся командою bindcode — вам слід вказати код клавіші, визначити який можна за допомогою програми xev.

    Приклад для клавіші Meta:

    bindcode 133 --release exec --no-startup-id <command>

    Уr Bspwn вам слід скористатися програмою bspc. Див. вікі Arch Linux, щоб дізнатися більше.

    Додаткові відомості

    Посилання