pragma ComponentBehavior: Bound import Quickshell import Quickshell.Services.SystemTray import Quickshell.Widgets import QtQuick import QtQuick.Layouts import QtQuick.Effects import qs import qs.settings Rectangle { id: root layer.enabled: true layer.effect: MultiEffect { id: dropShadow source: root shadowEnabled: true shadowHorizontalOffset: 4 shadowVerticalOffset: 2 shadowOpacity: 0.5 shadowColor: "#020202" } visible: iconRepeater.count != 0 Layout.fillHeight: true required property double moduleHeight implicitHeight: moduleHeight implicitWidth: iconlayout.width + 16 color: Colors.moduleBg radius: Config.rounding RowLayout { id: iconlayout anchors.centerIn: root spacing: 8 Repeater { id: iconRepeater model: SystemTray.items delegate: Item { id: iconWrapper required property var modelData implicitWidth: 16 implicitHeight: 16 IconImage { anchors.centerIn: parent source: iconWrapper.modelData.icon implicitSize: 16 } QsMenuAnchor { id: menu anchor.item: iconWrapper menu: iconWrapper.modelData.menu } MouseArea { anchors.fill: parent acceptedButtons: Qt.LeftButton | Qt.RightButton onClicked: mouse => { if (mouse.button == Qt.RightButton) { menu.open(); } } } } } } }