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

@@ -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)