nosignal-shell/modules/bar/components/Tray.qml
2 * r + 2 * t d0a61b9834 bar: move tray + recolour option
Option to recolour tray icons
2025-04-29 23:29:51 +10:00

60 lines
1.6 KiB
QML

import "root:/widgets"
import "root:/services"
import "root:/config"
import Quickshell
import Quickshell.Widgets
import Quickshell.Services.SystemTray
import QtQuick
import Qt5Compat.GraphicalEffects
StyledRect {
animate: true
clip: true
visible: width > 0 && height > 0 // To avoid warnings about being visible with no size
BoxLayout {
Repeater {
model: SystemTray.items
MouseArea {
id: item
required property SystemTrayItem modelData
acceptedButtons: Qt.LeftButton | Qt.RightButton
width: Appearance.font.size.smaller * 2
height: Appearance.font.size.smaller * 2
onClicked: event => {
if (event.button === Qt.LeftButton)
modelData.activate();
else if (modelData.hasMenu)
menu.open();
}
// TODO custom menu
QsMenuAnchor {
id: menu
menu: item.modelData.menu
anchor.window: QsWindow.window
}
IconImage {
id: icon
visible: !BarConfig.tray.recolourIcons
source: item.modelData.icon
anchors.fill: parent
}
ColorOverlay {
visible: BarConfig.tray.recolourIcons
anchors.fill: icon
source: icon
color: Appearance.colours.lavender
}
}
}
}
}