Files
z-bar-qt/tray/shell.qml
T
Zacharias-Brohn f6d25c98a6 TRAY
2025-10-07 23:22:46 +02:00

103 lines
3.0 KiB
QML

pragma ComponentBehavior: Bound
import Quickshell
import QtQuick
import Quickshell.Hyprland
import Quickshell.Services.SystemTray
import QtQuick.Layouts
import qs.Data as Dat
import qs.Generics as Gen
PanelWindow {
id: root
anchors {
top: true
right: true
left: true
}
implicitHeight: 35
RowLayout {
id: trayLayout
anchors.fill: parent
Item {
Layout.fillHeight: true
Layout.fillWidth: true
ListView {
id: trayItemRow
anchors.fill: parent
orientation: ListView.Horizontal
snapMode: ListView.SnapToItem
spacing: 10
add: Transition {
SequentialAnimation {
NumberAnimation {
duration: 0
property: "opacity"
to: 0
}
PauseAnimation {
duration: addDisAni.duration / 2
}
NumberAnimation {
duration: Dat.MaterialEasing.emphasizedTime
easing.bezierCurve: Dat.MaterialEasing.emphasized
from: 0
property: "opacity"
to: 1
}
}
}
addDisplaced: Transition {
SequentialAnimation {
NumberAnimation {
id: addDisAni
duration: Dat.MaterialEasing.emphasizedDecelTime
easing.bezierCurve: Dat.MaterialEasing.emphasizedDecel
properties: "x"
}
}
}
delegate: TrayItem {
}
model: ScriptModel {
values: [...SystemTray.items.values]
}
remove: Transition {
NumberAnimation {
id: removeAni
duration: Dat.MaterialEasing.emphasizedTime
easing.bezierCurve: Dat.MaterialEasing.emphasized
from: 1
property: "opacity"
to: 0
}
}
removeDisplaced: Transition {
SequentialAnimation {
PauseAnimation {
duration: removeAni.duration / 2
}
NumberAnimation {
duration: Dat.MaterialEasing.emphasizedDecelTime
easing.bezierCurve: Dat.MaterialEasing.emphasizedDecel
properties: "x"
}
}
}
}
}
}
}