Mi-am petrecut ziua de azi personalizând laptopul. Am reusit sa fac asta:

Acum problema cu cele de mai sus este la această regiune specifică din bara de meniu de sus:

Acest plasmoid din bara de sistem nu oferă nicio setare pentru a configura spațierea și, așa cum am fost îndrumat de multe alte ghiduri, ar trebui să editez acest fișier cunoscut ca /usr/share/plasma/plasmoids/org.kde.plasma.private.systemtray/contents/ui/main.qml
După cum puteți vedea în captura de ecran, am încercat mai întâi să găsesc această opțiune cunoscută ca spatie: 0 dar am descoperit că oamenii de la kde l-au schimbat într-un aspect de grilă cu columnSpacing și rowSpacing parametrii. Am incercat sa le modific dar nu am obtinut niciun rezultat. Am încercat chiar să adaug spaţiere parametru de unul singur, dar nici asta nu a funcționat. Deci, există oricum pentru a modifica fișierul qml în Plasma 5.22 pentru a obține o spațiere personalizată între pictograme din bara de sistem.
Iată fișierul qml dacă este necesar:
/*
 * Drepturi de autor 2011 Marco Martin <mart@kde.org>
 * Copyright 2020 Konrad Materka <materka@gmail.com>
 *
 * Acest program este software gratuit; îl puteți redistribui și/sau modifica
 * în conformitate cu termenii Licenței Publice Generale a Bibliotecii GNU ca
 * publicat de Free Software Foundation; fie versiunea 2, fie
 * (la alegerea dvs.) orice versiune ulterioară.
 *
 * Acest program este distribuit în speranța că va fi util,
 * dar FĂRĂ NICIO GARANȚIE; fără măcar garanția implicită a
 * VANTABILITATE sau ADECVENȚĂ PENTRU UN ANUMIT SCOP. Vezi
 * GNU Library General Public License pentru mai multe detalii
 *
 * Ar fi trebuit să primiți o copie a Bibliotecii GNU General Public
 * Licență împreună cu acest program; dacă nu, scrie la
 * Free Software Foundation, Inc.,
 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, SUA.
 */
importa QtQuick 2.5
import QtQuick.Layouts 1.1
importați org.kde.plasma.core 2.1 ca PlasmaCore
import org.kde.plasma.plasmoid 2.0
importați org.kde.dragandrop 2.0 ca DnD
importați org.kde.kirigami 2.5 ca Kirigami
importa "articole"
MouseArea {
    id: rădăcină
    proprietate readonly bool vertical: plasmoid.formFactor === PlasmaCore.Types.Vertical
    Layout.minimumWidth: vertical ? PlasmaCore.Units.iconSizes.small : mainLayout.implicitWidth + PlasmaCore.Units.smallSpacing
    Layout.minimumHeight: vertical ? mainLayout.implicitHeight + PlasmaCore.Units.smallSpacing : PlasmaCore.Units.iconSizes.small
    LayoutMirroring.enabled: !vertical && Qt.application.layoutDirection === Qt.RightToLeft
    LayoutMirroring.childrenInherit: adevărat
    alias de proprietate numai în citire systemTrayState: systemTrayState
    alias de proprietate numai în citire itemSize: tasksGrid.itemSize
    Alias de proprietate numai în citire visibleLayout: tasksGrid
    Alias de proprietate numai în citire hiddenLayout: expandedRepresentation.hiddenLayout
    pe roată: {
        // Nu propaga evenimente de roată necontrolate
        roată.acceptat = adevărat;
    }
    SystemTrayState {
        id: systemTrayState
    }
    //fiind acolo forțează elementele să se încarce complet, iar acestea vor fi reparentate în fereastra pop-up unul câte unul, acest articol nu este *niciodată* vizibil
    articol {
        id: preloadedStorage
        vizibil: fals
    }
    CurrentItemHighLight {
        localizare: plasmoid.localizare
        părinte: rădăcină
    }
    DnD.DropArea {
        ancore.fill: părinte
        previne Furtul: adevărat;
        /** Extrage numele applet-ului barei de sistem din datele de glisare, dacă este prezent
         * altfel returnează null*/
        funcția systemTrayAppletName(eveniment) {
            if (event.mimeData.formats.indexOf("text/x-plasmoidservicename") < 0) {
                returnează nul;
            }
            var plasmoidId = event.mimeData.getDataAsByteArray("text/x-plasmoidservicename");
            dacă (!plasmoid.nativeInterface.isSystemTrayApplet(plasmoidId)) {
                returnează nul;
            }
            return plasmoidId;
        }
        onDragEnter: {
            dacă (!systemTrayAppletName(eveniment)) {
                event.ignore();
            }
        }
        onDrop: {
            var plasmoidId = systemTrayAppletName(eveniment);
            if (!plasmoidId) {
                event.ignore();
                întoarcere;
            }
            if (plasmoid.configuration.extraItems.indexOf(plasmoidId) < 0) {
                var extraItems = plasmoid.configuration.extraItems;
                extraItems.push(plasmoidId);
                plasmoid.configuration.extraItems = extraItems;
            }
        }
    }
    //Aspect principal
    GridLayout {
        id: mainLayout
        rowSpacing: 0
        spațiere coloane: 0
        ancore.fill: părinte
        flux: vertical ? GridLayout.TopToBottom : GridLayout.LeftToRight
        GridView {
            id: tasksGrid
            Layout.alignment: Qt.AlignCenter
            interactiv: false //dezactivează funcțiile de care nu avem nevoie
            flux: vertical ? GridView.LeftToRight : GridView.TopToBottom
            // Dimensiunea pictogramei de afișat atunci când nu utilizați setarea de scalare automată
            proprietate readonly int smallIconSize: PlasmaCore.Units.iconSizes.smallMedium
            proprietate readonly bool autoSize: plasmoid.configuration.scaleIconsToFit
            proprietate readonly int gridThickness: root.vertical ? root.width : root.height
            // Ar trebui să se schimbe la 2 rânduri/coloane pe un panou de 56 px (în DPI standard)
            proprietate readonly int rowsOrColumns: autoSize ? 1 : Math.max(1, Math.min(număr, Math.floor(gridThickness / (smallIconSize + PlasmaCore.Units.smallSpacing))))
            // Adăugați margini numai dacă panoul este mai mare decât o pictogramă mică (pentru a evita spațiile mari între pictogramele mici)
            proprietate readonly int smallSizeCellLength: gridThickness < smallIconSize ? smallIconSize : smallIconSize + PlasmaCore.Units.smallSpacing * 2
            CellHeight: {
                dacă (rădăcină.verticală) {
                    returnează autoSize? root.width + PlasmaCore.Units.smallSpacing : smallSizeCellLength
                } altfel {
                    returnează autoSize? root.height : Math.floor(root.height / rowsOrColumns)
                }
            }
            cellWidth: {
                dacă (rădăcină.verticală) {
                    returnează autoSize? root.width : Math.floor(root.width / rowsOrColumns)
                } altfel {
                    returnează autoSize? root.height + PlasmaCore.Units.smallSpacing : smallSizeCellLength
                }
            }
            //în funcție de factorul de formă, calculăm o singură dimensiune, a doua este întotdeauna aceeași cu rădăcină/părinte
            implicitHeight: root.vertical ? cellHeight * Math.ceil(count / rowsOrColumns) : root.height
            implicitWidth: !root.vertical ? cellWidth * Math.ceil(count / rowsOrColumns) : root.width
            // Folosit numai de AbstractItem, dar este cel mai ușor să-l păstrați aici de când este
            // folosește dimensiunile din acest articol pentru a calcula valoarea finală
            proprietate numai citire int itemSize: {
                if (autoSize) {
                    dimensiune const = Math.min(Lățime implicită / rowsOrColumns, implicitHeight / rowsOrColumns)
                    return PlasmaCore.Units.roundToIconSize(Math.min(size, PlasmaCore.Units.iconSizes.enormous))
                } altfel {
                    returnează smallIconSize
                }
            }
            model: PlasmaCore.SortFilterModel {
                sourceModel: plasmoid.nativeInterface.systemTrayModel
                filterRole: „effectiveStatus”
                filterCallback: function(source_row, value) {
                    valoarea returnată === PlasmaCore.Types.ActiveStatus
                }
            }
            delegat: ItemLoader {}
            adăugați: Tranziție {
                activat: itemSize > 0
                NumberAnimation {
                    proprietate: "scale"
                    de la: 0
                    la: 1
                    easing.type: Easing.InOutQuad
                    durata: PlasmaCore.Units.longDuration
                }
            }
            deplasat: tranziție {
                //asigură-te că valoarea scalei revine la 1.0
                //https://doc.qt.io/qt-5/qml-qtquick-viewtransition.html#handling-interrupted-animations
                NumberAnimation {
                    proprietate: "scale"
                    la: 1
                    easing.type: Easing.InOutQuad
                    durata: PlasmaCore.Units.longDuration
                }
            }
            mutare: tranziție {
                NumberAnimation {
                    proprietăți: "x,y"
                    easing.type: Easing.InOutQuad
                    durata: PlasmaCore.Units.longDuration
                }
            }
        }
        ExpanderArrow {
            id: expander
            Layout.fillWidth: verticală
            Layout.fillHeight: !vertical
            Layout.alignment: vertical ? Qt.AlignVCenter : Qt.AlignHCenter
            vizibil: root.hiddenLayout.itemCount > 0
        }
    }
    //Fără pop-up principală
    PlasmaCore.Dialog {
        id: dialog
        visualParent: rădăcină
        steaguri: Qt.WindowStaysOnTopHint
        localizare: plasmoid.localizare
        hideOnWindowDeactivate: !plasmoid.configuration.pin
        vizibil: systemTrayState.expanded
        onVisibleChanged: {
            systemTrayState.expanded = vizibil
        }
        mainItem: ExpandedRepresentation {
            id: expandedRepresentation
            Keys.onEscapePressed: {
                systemTrayState.expanded = fals
            }
            LayoutMirroring.enabled: Qt.application.layoutDirection === Qt.RightToLeft
            LayoutMirroring.childrenInherit: adevărat
        }
    }
}
Nu am reușit să găsesc nicio setare asociată în aplicația de setări.