Tôi đã dành cả ngày hôm nay để tùy chỉnh máy tính xách tay của mình. Tôi quản lý để làm điều này:
Bây giờ, vấn đề ở trên là ở khu vực cụ thể này trong thanh thực đơn trên cùng:
Plasoid khay hệ thống này không cung cấp bất kỳ cài đặt nào để định cấu hình khoảng cách và vì tôi đã được hướng dẫn bởi nhiều hướng dẫn khác, tôi phải chỉnh sửa tệp này được gọi là /usr/share/plasma/plasmoids/org.kde.plasma.private.systemtray/contents/ui/main.qml
Như bạn có thể thấy trong ảnh chụp màn hình, lần đầu tiên tôi cố gắng tìm tùy chọn này được gọi là khoảng cách: 0
nhưng tôi thấy rằng mọi người ở kde đã thay đổi nó thành bố cục dạng lưới với khoảng cách cột
và khoảng cách hàng
thông số. Tôi đã cố gắng sửa đổi chúng nhưng không nhận được bất kỳ kết quả nào. Tôi thậm chí đã cố gắng thêm khoảng cách
tham số của tôi nhưng điều đó cũng không hoạt động. Vì vậy, có cách nào để sửa đổi tệp qml trong Plasma 5.22 để đạt được khoảng cách tùy chỉnh giữa các biểu tượng trong khay hệ thống.
Đây là tệp qml nếu cần:
/*
* Bản quyền 2011 Marco Martin <[email protected]>
* Bản quyền 2020 Konrad Materka <[email protected]>
*
* Chương trình này là phần mềm miễn phí; bạn có thể phân phối lại và/hoặc sửa đổi
* nó theo các điều khoản của Giấy phép Công cộng Chung của Thư viện GNU như
* do Free Software Foundation xuất bản; phiên bản 2 hoặc
* (tùy chọn của bạn) bất kỳ phiên bản nào sau này.
*
* Chương trình này được phân phối với hy vọng rằng nó sẽ hữu ích,
* nhưng KHÔNG CÓ BẤT KỲ BẢO HÀNH NÀO; thậm chí không có bảo hành ngụ ý của
* KHẢ NĂNG BÁN ĐƯỢC hoặc SỰ PHÙ HỢP CHO MỘT MỤC ĐÍCH CỤ THỂ. xem
* Giấy phép Công cộng Chung của Thư viện GNU để biết thêm chi tiết
*
* Bạn nên nhận được một bản sao của GNU Library General Public
* Giấy phép cùng với chương trình này; nếu không, hãy viết thư cho
* Tổ chức Phần mềm Tự do, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
nhập QtQuick 2.5
nhập QtQuick.Layouts 1.1
nhập org.kde.plasma.core 2.1 dưới dạng PlasmaCore
nhập org.kde.plasma.plasmoid 2.0
nhập org.kde.draganddrop 2.0 dưới dạng DnD
nhập org.kde.kirigami 2.5 dưới dạng Kirigami
nhập "mặt hàng"
Vùng chuột {
id: gốc
thuộc tính chỉ đọc bool vertical: plasmoid.formFactor === PlasmaCore.Types.Vertical
Layout.minimumWidth: dọc? PlasmaCore.Units.iconSizes.small : mainLayout.implicitWidth + PlasmaCore.Units.smallSpacing
Layout.minimumHeight: dọc ? mainLayout.implicitHeight + PlasmaCore.Units.smallSpacing : PlasmaCore.Units.iconSizes.small
LayoutMirroring.enabled: !vertical && Qt.application.layoutDirection === Qt.RightToLeft
LayoutMirroring.childrenInherit: true
bí danh thuộc tính chỉ đọc systemTrayState: systemTrayState
bí danh thuộc tính chỉ đọc itemSize: taskGrid.itemSize
bí danh thuộc tính chỉ đọc có thể nhìn thấyLayout: taskGrid
bí danh thuộc tính chỉ đọc hiddenLayout: expandRepresentation.hiddenLayout
onWheel: {
// Không lan truyền các sự kiện bánh xe chưa được xử lý
bánh xe.accepted = true;
}
SystemTrayState {
id: systemTrayState
}
// ở đó buộc các mục phải tải đầy đủ và chúng sẽ được sửa lại lần lượt trong cửa sổ bật lên, mục này *không bao giờ* hiển thị
Mục {
id: preloadedStorage
hiển thị: sai
}
CurrentItemHighLight {
vị trí: plasmoid.location
cha mẹ: gốc
}
DnD.DropArea {
neo.fill: cha mẹ
ngăn chặn Ăn cắp: đúng;
/** Trích xuất tên của applet khay hệ thống trong dữ liệu kéo nếu có
* ngược lại trả về null*/
chức năng systemTrayAppletName(sự kiện) {
if (event.mimeData.formats.indexOf("text/x-plasmoidservicename") < 0) {
trả về giá trị rỗng;
}
var plasmoidId = event.mimeData.getDataAsByteArray("text/x-plasmoidservicename");
if (!plasmoid.nativeInterface.isSystemTrayApplet(plasmoidId)) {
trả về giá trị rỗng;
}
trả lại plasmoidId;
}
onDragEnter: {
if (!systemTrayAppletName(sự kiện)) {
event.ignore();
}
}
onDrop: {
var plasmoidId = systemTrayAppletName(sự kiện);
nếu (!plasmoidId) {
event.ignore();
trở lại;
}
nếu (plasmoid.configuration.extraItems.indexOf(plasmoidId) < 0) {
var extraItems = plasmoid.configuration.extraItems;
extraItems.push(plasmoidId);
plasmoid.configuration.extraItems = extraItems;
}
}
}
// Bố cục chính
GridLayout {
id: mainLayout
khoảng cách hàng: 0
khoảng cách cột: 0
neo.fill: cha mẹ
dòng chảy: dọc? GridLayout.TopToBottom : GridLayout.LeftToRight
Chế độ hiển thị theo ô {
id: taskGrid
Bố cục. Căn chỉnh: Qt.AlignCenter
tương tác: sai // tắt các tính năng chúng tôi không cần
dòng chảy: dọc? GridView.LeftToRight : GridView.TopToBottom
// Kích thước biểu tượng sẽ hiển thị khi không sử dụng cài đặt tự động mở rộng
thuộc tính chỉ đọc int smallIconSize: PlasmaCore.Units.iconSizes.smallMedium
thuộc tính chỉ đọc bool autoSize: plasmoid.configuration.scaleIconsToFit
thuộc tính chỉ đọc int gridThickness: root.vertical? root.width : root.height
// Nên thay đổi thành 2 hàng/cột trên bảng 56px (ở DPI tiêu chuẩn)
thuộc tính chỉ đọc int rowsOrColumns: autoSize? 1 : Math.max(1, Math.min(count, Math.floor(gridThickness / (smallIconSize + PlasmaCore.Units.smallSpacing))))
// Chỉ thêm lề nếu bảng điều khiển lớn hơn biểu tượng nhỏ (để tránh khoảng cách lớn giữa các biểu tượng nhỏ)
thuộc tính chỉ đọc int smallSizeCellLength: gridThickness < smallIconSize? smallIconSize : smallIconSize + PlasmaCore.Units.smallSpacing * 2
chiều cao ô: {
nếu (root.vertical) {
trả lại kích thước tự động? root.width + PlasmaCore.Units.smallSpacing : smallSizeCellLength
} khác {
trả lại kích thước tự động? root.height : Math.floor(root.height / rowsOrColumns)
}
}
chiều rộng ô: {
nếu (root.vertical) {
trả lại kích thước tự động? root.width : Math.floor(root.width / rowsOrColumns)
} khác {
trả lại kích thước tự động? root.height + PlasmaCore.Units.smallSpacing : smallSizeCellLength
}
}
// tùy thuộc vào yếu tố hình thức, chúng tôi chỉ tính toán một chiều, thứ hai luôn giống với gốc/cha mẹ
ngầm định: root.vertical? cellHeight * Math.ceil(count / rowsOrColumns): root.height
implicitWidth: !root.vertical? cellWidth * Math.ceil(count / rowsOrColumns): root.width
// Chỉ được sử dụng bởi AbstractItem, nhưng dễ nhất là giữ nó ở đây vì nó
// sử dụng kích thước từ mục này để tính giá trị cuối cùng
thuộc tính chỉ đọc int itemSize: {
nếu (tự động kích thước) {
const size = Math.min(implicitWidth / rowsOrColumns, implicitHeight / rowsOrColumns)
trả về PlasmaCore.Units.roundToIconSize(Math.min(size, PlasmaCore.Units.iconSizes.enormous))
} khác {
trả về smallIconSize
}
}
mô hình: PlasmaCore.SortFilterModel {
nguồnMô hình: plasmoid.nativeInterface.systemTrayModel
vai trò bộ lọc: "Trạng thái hiệu quả"
filterCallback: function(source_row, value) {
giá trị trả về === PlasmaCore.Types.ActiveStatus
}
}
đại biểu: ItemLoader {}
thêm: Chuyển đổi {
đã bật: itemSize > 0
SốHoạt hình {
tài sản: "quy mô"
từ: 0
đến 1
nới lỏng.type: Easing.InOutQuad
thời lượng: PlasmaCore.Units.longDuration
}
}
di dời: Chuyển đổi {
// đảm bảo giá trị tỷ lệ trở về 1.0
//https://doc.qt.io/qt-5/qml-qtquick-viewtransition.html#handling-interrupted-animations
SốHoạt hình {
tài sản: "quy mô"
đến 1
nới lỏng.type: Easing.InOutQuad
thời lượng: PlasmaCore.Units.longDuration
}
}
di chuyển: Chuyển đổi {
SốHoạt hình {
thuộc tính: "x,y"
nới lỏng.type: Easing.InOutQuad
thời lượng: PlasmaCore.Units.longDuration
}
}
}
Mũi tên mở rộng {
id: mở rộng
Layout.fillWidth: dọc
Bố cục.fillHeight: !vertical
Layout.alignment: dọc? Qt.AlignVCenter : Qt.AlignHCenter
hiển thị: root.hiddenLayout.itemCount > 0
}
}
// Cửa sổ bật lên chính
PlasmaCore.Dialog {
id: hộp thoại
trực quan: gốc
cờ: Qt.WindowStaysOnTopHint
vị trí: plasmoid.location
hideOnWindowDeactivate: !plasmoid.configuration.pin
hiển thị: systemTrayState.expanded
onVisibleChanged: {
systemTrayState.expanded = có thể nhìn thấy
}
mainItem: ExpandedRepresentation {
id: đại diện mở rộng
Keys.onEscapePressed: {
systemTrayState.expanded = false
}
LayoutMirroring.enabled: Qt.application.layoutDirection === Qt.RightToLeft
LayoutMirroring.childrenInherit: true
}
}
}
Tôi cũng không thể tìm thấy bất kỳ cài đặt liên quan nào trong ứng dụng cài đặt.