import QtQuick 2.15 import Quickshell PopupWindow { id: submenuPopup required property var bar required property var mainPopup anchor.window: bar anchor.rect.x: bar.trayMenuAnchorX - 220 anchor.rect.y: bar.implicitHeight implicitWidth: 220 implicitHeight: submenuCol.implicitHeight + 8 visible: bar.activeSubmenuEntry !== null color: "black" QsMenuOpener { id: submenuOpener menu: bar.activeSubmenuEntry } Column { id: submenuCol x: 4; y: 4 width: parent.width - 8 Repeater { model: submenuOpener.children delegate: Item { id: subEntry required property var modelData width: submenuCol.width height: subEntry.modelData.isSeparator ? 9 : 36 Rectangle { visible: subEntry.modelData.isSeparator anchors.centerIn: parent width: parent.width height: 1 color: "#333" } Rectangle { visible: !subEntry.modelData.isSeparator anchors.fill: parent radius: 3 color: subItemArea.containsMouse && subEntry.modelData.enabled ? "#1a1a1a" : "transparent" Text { anchors { left: parent.left leftMargin: 10 right: parent.right rightMargin: 10 verticalCenter: parent.verticalCenter } text: subEntry.modelData.text color: subEntry.modelData.enabled ? "white" : "#555" font.family: "Inter" font.pixelSize: 14 font.weight: 700 elide: Text.ElideRight } MouseArea { id: subItemArea anchors.fill: parent hoverEnabled: true enabled: subEntry.modelData.enabled && !subEntry.modelData.isSeparator onClicked: { subEntry.modelData.triggered() mainPopup.visible = false } } } } } } }