Score:0

จะเพิ่มระยะห่างระหว่างไอคอนถาดระบบใน Plasma 5.22 ได้อย่างไร?

ธง cn

ฉันใช้เวลาทั้งวันไปกับการปรับแต่งแล็ปท็อป ฉันทำสิ่งนี้ได้:

ภาพหน้าจอที่กำหนดเอง

ตอนนี้ปัญหาข้างต้นอยู่ที่ภูมิภาคเฉพาะนี้ในแถบเมนูด้านบน:

ภาพหน้าจอของถาดระบบ

พลาสมอยด์ของซิสเต็มเทรย์นี้ไม่มีการตั้งค่าใด ๆ เพื่อกำหนดค่าระยะห่าง และเนื่องจากฉันได้รับคำสั่งจากไกด์อื่น ๆ ฉันจึงควรแก้ไขไฟล์นี้ที่เรียกว่า /usr/share/plasma/plasmoids/org.kde.plasma.private.systemtray/contents/ui/main.qml

อย่างที่คุณเห็นในภาพหน้าจอ ก่อนอื่นฉันพยายามค้นหาตัวเลือกนี้ที่รู้จักกันในชื่อ ระยะห่าง: 0 แต่ฉันพบว่าผู้คนที่ kde ได้เปลี่ยนเป็นเค้าโครงกริดด้วย ระยะห่างคอลัมน์ และ ระยะห่างแถว พารามิเตอร์ ฉันพยายามแก้ไขแต่ไม่ได้ผลลัพธ์ใดๆ ฉันพยายามเพิ่มไฟล์ ระยะห่าง พารามิเตอร์ด้วยตัวเอง แต่ก็ไม่ได้ผลเช่นกัน ดังนั้นจึงมีการแก้ไขไฟล์ qml ใน Plasma 5.22 เพื่อให้ได้ระยะห่างที่กำหนดเองระหว่างไอคอนในซิสเต็มเทรย์

นี่คือไฟล์ qml หากจำเป็น:

/*
 * ลิขสิทธิ์ 2011 Marco Martin <[email protected]>
 * ลิขสิทธิ์ 2020 Konrad Materka <[email protected]>
 *
 * โปรแกรมนี้เป็นซอฟต์แวร์ฟรี คุณสามารถแจกจ่ายซ้ำและ/หรือแก้ไขได้
 * ภายใต้เงื่อนไขของ GNU Library General Public License เป็น
 * จัดพิมพ์โดยมูลนิธิซอฟต์แวร์เสรี; รุ่น 2 หรือ
 * (ตามตัวเลือกของคุณ) เวอร์ชันที่ใหม่กว่า
 *
 * โปรแกรมนี้เผยแพร่โดยหวังว่าจะเป็นประโยชน์
 * แต่ไม่มีการรับประกันใด ๆ ; โดยไม่มีแม้แต่การรับประกันโดยปริยายของ
 * ความสามารถทางการค้าหรือความเหมาะสมสำหรับวัตถุประสงค์เฉพาะ ดู
 * สัญญาอนุญาตสาธารณะทั่วไปของ GNU Library สำหรับรายละเอียดเพิ่มเติม
 *
 * คุณควรได้รับสำเนาของ GNU Library General Public
 * ใบอนุญาตพร้อมกับโปรแกรมนี้; ถ้าไม่เขียนถึง
 * มูลนิธิซอฟต์แวร์เสรี อิงค์
 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
 */

นำเข้า QtQuick 2.5
นำเข้า QtQuick.Layouts 1.1
นำเข้า org.kde.plasma.core 2.1 เป็น PlasmaCore
นำเข้า org.kde.plasma.plasmoid 2.0
นำเข้า org.kde.draganddrop 2.0 เป็น DnD
นำเข้า org.kde.kirigami 2.5 เป็น Kirigami

นำเข้า "รายการ"

พื้นที่เมาส์ {
    รหัส: รูท

    คุณสมบัติบูลแนวตั้งแบบอ่านอย่างเดียว: plasmoid.formFactor === PlasmaCore.Types.Vertical

    Layout.minimumWidth: แนวตั้ง ? PlasmaCore.Units.iconSizes.small : mainLayout.implicitWidth + PlasmaCore.Units.smallSpacing
    Layout.minimumHeight: แนวตั้ง ? mainLayout.implicitHeight + PlasmaCore.Units.smallSpacing : PlasmaCore.Units.iconSizes.small

    LayoutMirroring.enabled: !vertical && Qt.application.layoutDirection === Qt.RightToLeft
    LayoutMirroring.childrenInherit: จริง

    นามแฝงของคุณสมบัติแบบอ่านอย่างเดียว systemTrayState: systemTrayState
    คุณสมบัตินามแฝงแบบอ่านอย่างเดียว itemSize: taskGrid.itemSize
    นามแฝงคุณสมบัติแบบอ่านอย่างเดียวที่มองเห็นเค้าโครง: งานกริด
    นามแฝงคุณสมบัติแบบอ่านอย่างเดียว hiddenLayout: expandRepresentation.hiddenLayout

    onWheel: {
        // อย่าเผยแพร่เหตุการณ์วงล้อที่ไม่มีการจัดการ
        wheel.accepted = จริง;
    }

    SystemTrayState {
        รหัส: systemTrayState
    }

    // ที่นั่นบังคับให้โหลดรายการทั้งหมด และรายการเหล่านั้นจะถูกแยกใหม่ในป๊อปอัปทีละรายการ รายการนี้ *ไม่* มองเห็นได้
    สิ่งของ {
        id: preloadedStorage
        มองเห็นได้: เท็จ
    }

    CurrentItemHighLight {
        ที่ตั้ง: plasmoid.location
        ผู้ปกครอง: ราก
    }

    DnD.DropArea {
        anchors.fill: ผู้ปกครอง

        ป้องกันการขโมย: จริง;

        /** แยกชื่อของแอปเพล็ตถาดระบบในข้อมูลการลากถ้ามี
         * มิฉะนั้นจะคืนค่า null*/
        ฟังก์ชัน systemTrayAppletName (เหตุการณ์) {
            ถ้า (event.mimeData.formats.indexOf("text/x-plasmoidservicename") < 0) {
                ส่งคืน null;
            }
            var plasmoidId = event.mimeData.getDataAsByteArray("ข้อความ/x-plasmoidservicename");

            ถ้า (!plasmoid.nativeInterface.isSystemTrayApplet(plasmoidId)) {
                ส่งคืน null;
            }
            กลับ plasmoidId;
        }

        onDragEnter: {
            ถ้า (! systemTrayAppletName (เหตุการณ์)) {
                เหตุการณ์. ละเว้น ();
            }
        }

        onDrop: {
            var plasmoidId = systemTrayAppletName (เหตุการณ์);
            ถ้า (!plasmoidId) {
                เหตุการณ์. ละเว้น ();
                กลับ;
            }

            ถ้า (plasmoid.configuration.extraItems.indexOf(plasmoidId) < 0) {
                var extraItems = พลาสมอยด์.configuration.extraItems;
                extraItems.push (พลาสมอยด์ไอดี);
                plasmoid.configuration.extraItems = รายการพิเศษ;
            }
        }
    }

    // เค้าโครงหลัก
    เค้าโครงตาราง {
        รหัส: mainLayout

        ระยะห่างระหว่างแถว: 0
        ระยะห่างระหว่างคอลัมน์: 0

        anchors.fill: ผู้ปกครอง

        การไหล: แนวตั้ง ? GridLayout.TopToBottom : GridLayout.LeftToRight

        กริดวิว {
            รหัส: taskGrid

            Layout.alignment: Qt.AlignCenter

            โต้ตอบ: เท็จ // ปิดใช้งานคุณสมบัติที่เราไม่ต้องการ
            การไหล: แนวตั้ง ? GridView.LeftToRight : GridView.TopToBottom

            // ขนาดไอคอนที่จะแสดงเมื่อไม่ได้ใช้การตั้งค่าการปรับขนาดอัตโนมัติ
            คุณสมบัติแบบอ่านอย่างเดียว int smallIconSize: PlasmaCore.Units.iconSizes.smallMedium
            คุณสมบัติแบบอ่านอย่างเดียว บูล autoSize: plasmoid.configuration.scaleIconsToFit

            คุณสมบัติแบบอ่านอย่างเดียว int gridThickness: root.vertical ? root.width : root.height
            // ควรเปลี่ยนเป็น 2 แถว/คอลัมน์บนแผง 56px (ใน DPI มาตรฐาน)
            คุณสมบัติแบบอ่านอย่างเดียว int rowsOrColumns: autoSize ? 1 : Math.max(1, Math.min(นับ, Math.floor(ความหนาของกริด / (smallIconSize + PlasmaCore.Units.smallSpacing))))

            // เพิ่มระยะขอบเฉพาะเมื่อพาเนลมีขนาดใหญ่กว่าไอคอนขนาดเล็ก (เพื่อหลีกเลี่ยงช่องว่างขนาดใหญ่ระหว่างไอคอนขนาดเล็ก)
            คุณสมบัติแบบอ่านอย่างเดียว int smallSizeCellLength: gridThickness < smallIconSize ? smallIconSize : smallIconSize + PlasmaCore.Units.smallSpacing * 2
            ความสูงของเซลล์: {
                ถ้า (root.vertical) {
                    กลับ autoSize ? root.width + PlasmaCore.Units.smallSpacing : smallSizeCellLength
                } อื่น {
                    กลับ autoSize ? root.height : Math.floor(รูทความสูง / แถวหรือคอลัมน์)
                }
            }
            ความกว้างของเซลล์: {
                ถ้า (root.vertical) {
                    กลับ autoSize ? root.width : Math.floor(root.width /rowsOrColumns)
                } อื่น {
                    กลับ autoSize ? root.height + PlasmaCore.Units.smallSpacing : smallSizeCellLength
                }
            }

            // ขึ้นอยู่กับฟอร์มแฟกเตอร์ เรากำลังคำนวณไดเมนชันเพียงหนึ่งมิติ วินาทีจะเหมือนกับรูท/พาเรนต์เสมอ
            implicitHeight: root.vertical ? cellHeight * Math.ceil(นับ / แถวหรือคอลัมน์) : root.height
            implicitWidth: !root.vertical ? ความกว้างของเซลล์ * Math.ceil(นับ / แถวหรือคอลัมน์) : รูทความกว้าง

            // ใช้โดย AbstractItem เท่านั้น แต่เนื่องจากมันง่ายที่สุดที่จะเก็บไว้ที่นี่
            // ใช้มิติจากรายการนี้เพื่อคำนวณค่าสุดท้าย
            คุณสมบัติแบบอ่านอย่างเดียว int itemSize: {
                ถ้า (ขนาดอัตโนมัติ) {
                    ขนาด const = Math.min(implicitWidth / rowsOrColumns, implicitHeight / rowsOrColumns)
                    ส่งคืน PlasmaCore.Units.roundToIconSize (Math.min (ขนาด, PlasmaCore.Units.iconSizes.enormous))
                } อื่น {
                    กลับ SmallIconSize
                }
            }

            รุ่น: PlasmaCore.SortFilterModel {
                sourceModel: plasmoid.nativeInterface.systemTrayModel
                filterRole: "สถานะที่มีประสิทธิภาพ"
                filterCallback: ฟังก์ชัน (source_row ค่า) {
                    ค่าส่งคืน === PlasmaCore.Types.ActiveStatus
                }
            }

            ผู้รับมอบสิทธิ์: ItemLoader {}

            เพิ่ม: การเปลี่ยน {
                เปิดใช้งาน: itemSize > 0

                NumberAnimation {
                    คุณสมบัติ: "มาตราส่วน"
                    จาก: 0
                    ถึง: 1
                    easing.type: Easing.InOutQuad
                    ระยะเวลา: PlasmaCore.Units.longDuration
                }
            }

            พลัดถิ่น: การเปลี่ยนแปลง {
                // ตรวจสอบให้แน่ใจว่าค่าสเกลกลับเป็น 1.0
                //https://doc.qt.io/qt-5/qml-qtquick-viewtransition.html#handling-interrupted-animations
                NumberAnimation {
                    คุณสมบัติ: "มาตราส่วน"
                    ถึง: 1
                    easing.type: Easing.InOutQuad
                    ระยะเวลา: PlasmaCore.Units.longDuration
                }
            }

            ย้าย: การเปลี่ยน {
                NumberAnimation {
                    คุณสมบัติ: "x,y"
                    easing.type: Easing.InOutQuad
                    ระยะเวลา: PlasmaCore.Units.longDuration
                }
            }
        }

        ExpanderArrow {
            id:ตัวขยาย
            Layout.fillWidth: แนวตั้ง
            Layout.fillHeight: !vertical
            Layout.alignment: แนวตั้ง ? Qt.AlignVCenter : Qt.AlignHCenter
            มองเห็นได้: root.hiddenLayout.itemCount > 0
        }
    }

    // ป๊อปอัปหลัก
    PlasmaCore.Dialog {
        รหัส: โต้ตอบ
        visualParent: ราก
        ธง: Qt.WindowStaysOnTopHint
        ที่ตั้ง: plasmoid.location
        HideOnWindowDeactivate: !plasmoid.configuration.pin
        มองเห็นได้: systemTrayState.expanded

        onVisibleChanged: {
            systemTrayState.expanded = มองเห็นได้
        }
        mainItem: ExpandedRepresentation {
            id: การขยายตัวแทน

            Keys.onEscapePressed: {
                systemTrayState.expanded = เท็จ
            }

            LayoutMirroring.enabled: Qt.application.layoutDirection === Qt.RightToLeft
            LayoutMirroring.childrenInherit: จริง
        }
    }
}

ฉันไม่พบการตั้งค่าที่เกี่ยวข้องในแอปการตั้งค่าเช่นกัน

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา