nosignal-shell/modules/bar/components/TrayItem.qml
2025-09-09 18:35:22 +10:00

40 lines
1,017 B
QML

pragma ComponentBehavior: Bound
import qs.components.effects
import qs.services
import qs.config
import Quickshell.Services.SystemTray
import QtQuick
MouseArea {
id: root
required property SystemTrayItem modelData
acceptedButtons: Qt.LeftButton | Qt.RightButton
implicitWidth: Appearance.font.size.small * 2
implicitHeight: Appearance.font.size.small * 2
onClicked: event => {
if (event.button === Qt.LeftButton)
modelData.activate();
else
modelData.secondaryActivate();
}
ColouredIcon {
id: icon
anchors.fill: parent
source: {
let icon = root.modelData.icon;
if (icon.includes("?path=")) {
const [name, path] = icon.split("?path=");
icon = Qt.resolvedUrl(`${path}/${name.slice(name.lastIndexOf("/") + 1)}`);
}
return icon;
}
colour: Colours.palette.m3secondary
layer.enabled: Config.bar.tray.recolour
}
}