feat(overview-backdrop): softer wave, breathing pulse, random glitches
This commit is contained in:
parent
862169aba0
commit
7cd6716eb8
2 changed files with 101 additions and 14 deletions
|
|
@ -32,6 +32,9 @@ PanelWindow {
|
|||
|
||||
property real uSize: 50.0
|
||||
property real uWavePhase: -200
|
||||
property real uBreath: 0
|
||||
property real uGlitch: 0
|
||||
property real uGlitchSeed: 0.0
|
||||
property vector4d uResolution: Qt.vector4d(width, height, 0, 0)
|
||||
property color uC0: M.Theme.base0C
|
||||
property color uC1: M.Theme.base0E
|
||||
|
|
@ -40,8 +43,10 @@ PanelWindow {
|
|||
Connections {
|
||||
target: M.NiriIpc
|
||||
function onOverviewOpenChanged() {
|
||||
if (!M.NiriIpc.overviewOpen)
|
||||
if (!M.NiriIpc.overviewOpen) {
|
||||
fx.uWavePhase = -200;
|
||||
fx.uBreath = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -59,5 +64,66 @@ PanelWindow {
|
|||
duration: 8000
|
||||
}
|
||||
}
|
||||
|
||||
// Breathing pulse while overview is open
|
||||
SequentialAnimation on uBreath {
|
||||
loops: Animation.Infinite
|
||||
running: M.NiriIpc.overviewOpen && !M.Theme.reducedMotion
|
||||
NumberAnimation {
|
||||
from: 0
|
||||
to: 1
|
||||
duration: 2500
|
||||
easing.type: Easing.InOutSine
|
||||
}
|
||||
NumberAnimation {
|
||||
from: 1
|
||||
to: 0
|
||||
duration: 2500
|
||||
easing.type: Easing.InOutSine
|
||||
}
|
||||
}
|
||||
|
||||
// Random subtle glitches — fire every 12–37s, total ~250ms each
|
||||
Timer {
|
||||
interval: 20000
|
||||
repeat: true
|
||||
running: !M.Theme.reducedMotion
|
||||
onTriggered: {
|
||||
interval = 12000 + Math.floor(Math.random() * 25000);
|
||||
fx.uGlitchSeed = Math.random() * 1000.0;
|
||||
_glitchAnim.start();
|
||||
}
|
||||
}
|
||||
|
||||
SequentialAnimation {
|
||||
id: _glitchAnim
|
||||
NumberAnimation {
|
||||
target: fx
|
||||
property: "uGlitch"
|
||||
to: 0.7
|
||||
duration: 50
|
||||
easing.type: Easing.OutQuad
|
||||
}
|
||||
NumberAnimation {
|
||||
target: fx
|
||||
property: "uGlitch"
|
||||
to: 0.15
|
||||
duration: 50
|
||||
}
|
||||
NumberAnimation {
|
||||
target: fx
|
||||
property: "uGlitch"
|
||||
to: 0.85
|
||||
duration: 60
|
||||
easing.type: Easing.OutQuad
|
||||
}
|
||||
NumberAnimation {
|
||||
target: fx
|
||||
property: "uGlitch"
|
||||
to: 0
|
||||
duration: 100
|
||||
easing.type: Easing.InQuad
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue