updated configuration and launcher, added animations for modules

This commit is contained in:
SomeElse
2026-04-27 07:31:17 +00:00
parent f548be0bfe
commit 7069679ab4
13 changed files with 711 additions and 14 deletions

View File

@@ -26,6 +26,7 @@ Rectangle {
width: 35
height: 40
radius: panelRadius
clip: true
color: hoverHandler.hovered ? t.notifBgHover : t.notifBg
border.color: root.doNotDisturb
@@ -37,7 +38,7 @@ Rectangle {
Behavior on border.color { ColorAnimation { duration: 150 } }
Behavior on width { NumberAnimation { duration: 200; easing.type: Easing.OutCubic } }
HoverHandler { id: hoverHandler; cursorShape: Qt.PointingHandCursor }
HoverHandler { id: hoverHandler; cursorShape: Qt.PointingHandCursor; onHoveredChanged: if (hovered) bellRingAnim.start() }
TapHandler {
onTapped: {
if (historyPopup.popupOpen) {
@@ -63,6 +64,18 @@ Rectangle {
: (root.unreadCount > 0 ? t.notifIconActive : t.notifIcon)
font.pixelSize: Cfg.Config.notifIconSize
Behavior on color { ColorAnimation { duration: 150 } }
rotation: 0
transformOrigin: Item.Top
SequentialAnimation {
id: bellRingAnim
NumberAnimation { target: bellIcon; property: "rotation"; to: -18; duration: 80; easing.type: Easing.OutQuad }
NumberAnimation { target: bellIcon; property: "rotation"; to: 20; duration: 100; easing.type: Easing.OutQuad }
NumberAnimation { target: bellIcon; property: "rotation"; to: -10; duration: 80; easing.type: Easing.OutQuad }
NumberAnimation { target: bellIcon; property: "rotation"; to: 10; duration: 70; easing.type: Easing.OutQuad }
NumberAnimation { target: bellIcon; property: "rotation"; to: 0; duration: 80; easing.type: Easing.OutCubic }
}
}
Rectangle {
@@ -122,6 +135,7 @@ Rectangle {
onNotification: function(notif) {
notif.tracked = true
bellRingAnim.start()
var timeStr = new Date().toLocaleTimeString(Qt.locale(), "HH:mm")
var toastId = notif.id + "_" + Date.now()

View File

@@ -12,7 +12,7 @@ Rectangle {
property real panelRadius: Cfg.Config.radius / 2
property int borderWidth: Cfg.Config.panelBorderWidth
property bool isTop: true
property bool isTop: true
property var targetScreen: null
property int barHeight: Cfg.Config.barHeight
property int barMargin: Cfg.Config.margin
@@ -58,7 +58,7 @@ Rectangle {
function setOutputVol(pct) { if (sink && sink.ready) sink.audio.volume = pct / 100 }
function setInputVol(pct) { if (source && source.ready) source.audio.volume = pct / 100 }
function toggleOutputMute() { if (sink && sink.ready) sink.audio.muted = !sink.audio.muted }
function toggleOutputMute() { if (sink && sink.ready) sink.audio.muted = !sink.audio.muted }
function toggleInputMute() { if (source && source.ready) source.audio.muted = !source.audio.muted }
Process {
@@ -97,13 +97,29 @@ Rectangle {
Behavior on color { ColorAnimation { duration: 150 } }
Behavior on border.color { ColorAnimation { duration: 150 } }
HoverHandler { id: hoverHandler; cursorShape: Qt.PointingHandCursor }
HoverHandler {
id: hoverHandler
cursorShape: Qt.PointingHandCursor
onHoveredChanged: {
if (hovered) shakeAnim.restart()
}
}
TapHandler { onTapped: volumePopup.toggle() }
SequentialAnimation {
id: shakeAnim
NumberAnimation { target: chipLayout; property: "rotation"; to: -15; duration: 40; easing.type: Easing.OutQuad }
NumberAnimation { target: chipLayout; property: "rotation"; to: 15; duration: 80; easing.type: Easing.InOutQuad }
NumberAnimation { target: chipLayout; property: "rotation"; to: -10; duration: 80; easing.type: Easing.InOutQuad }
NumberAnimation { target: chipLayout; property: "rotation"; to: 10; duration: 80; easing.type: Easing.InOutQuad }
NumberAnimation { target: chipLayout; property: "rotation"; to: 0; duration: 40; easing.type: Easing.InQuad }
}
RowLayout {
id: chipLayout
anchors.centerIn: parent
spacing: 5
transformOrigin: Item.Center
Text {
text: root.speakerGlyph(root.outputMuted, root.outputVolume)