ฉันใช้เวลาทั้งวันไปกับการปรับแต่งแล็ปท็อป ฉันทำสิ่งนี้ได้:
ตอนนี้ปัญหาข้างต้นอยู่ที่ภูมิภาคเฉพาะนี้ในแถบเมนูด้านบน:
พลาสมอยด์ของซิสเต็มเทรย์นี้ไม่มีการตั้งค่าใด ๆ เพื่อกำหนดค่าระยะห่าง และเนื่องจากฉันได้รับคำสั่งจากไกด์อื่น ๆ ฉันจึงควรแก้ไขไฟล์นี้ที่เรียกว่า /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: จริง
}
}
}
ฉันไม่พบการตั้งค่าที่เกี่ยวข้องในแอปการตั้งค่าเช่นกัน