From 84d1ad1f182b146327aacb62214f8220ba830da5 Mon Sep 17 00:00:00 2001 From: Damocles Date: Fri, 17 Apr 2026 23:34:06 +0200 Subject: [PATCH 1/2] fix hex wave not fully exiting screen before loop restart --- shell/applets/HexWaveBackground.qml | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/shell/applets/HexWaveBackground.qml b/shell/applets/HexWaveBackground.qml index 57cb651..91978a4 100644 --- a/shell/applets/HexWaveBackground.qml +++ b/shell/applets/HexWaveBackground.qml @@ -19,7 +19,9 @@ Item { fragmentShader: Quickshell.shellPath("modules/hex_wave.frag.qsb") property real uSize: 50.0 - property real uWavePhase: -200 + // Gaussian tail margin: exp(-m²/40000) < 0.01 at m=500 + readonly property real _waveMargin: 500 + property real uWavePhase: -_waveMargin property real uBreath: 0 property real uGlitch: 0 property real uGlitchSeed: 0.0 @@ -32,7 +34,7 @@ Item { target: root function onRunningChanged() { if (!root.running) { - fx.uWavePhase = -200; + fx.uWavePhase = -fx._waveMargin; fx.uBreath = 0; } } @@ -43,8 +45,8 @@ Item { loops: Animation.Infinite running: root.running && !root.reducedMotion NumberAnimation { - from: -200 - to: fx.width + 200 + from: -fx._waveMargin + to: fx.width + fx._waveMargin duration: 6000 easing.type: Easing.InOutSine } From a43d0c8dcd0e3a015b51c994d942191ac6326c70 Mon Sep 17 00:00:00 2001 From: Damocles Date: Fri, 17 Apr 2026 23:41:21 +0200 Subject: [PATCH 2/2] fix lock screen media player switching --- shell/lock/LockSurface.qml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/shell/lock/LockSurface.qml b/shell/lock/LockSurface.qml index 9001d17..b5c8a0f 100644 --- a/shell/lock/LockSurface.qml +++ b/shell/lock/LockSurface.qml @@ -199,7 +199,8 @@ WlSessionLockSurface { visible: (S.Modules.lock.mpris ?? true) && _mprisPlayer !== null readonly property var _mprisPlayers: (Mpris.players.values ?? []).filter(p => p.trackTitle || p.playbackState === MprisPlaybackState.Playing || p.playbackState === MprisPlaybackState.Paused) - readonly property var _mprisPlayer: _mprisPlayers[0] ?? null + property int _playerIdx: 0 + readonly property var _mprisPlayer: _mprisPlayers[_playerIdx] ?? _mprisPlayers[0] ?? null readonly property bool _playing: _mprisPlayer?.playbackState === MprisPlaybackState.Playing C.MprisApplet { @@ -211,8 +212,12 @@ WlSessionLockSurface { player: _mprisCard._mprisPlayer players: _mprisCard._mprisPlayers playing: _mprisCard._playing + playerIdx: _mprisCard._playerIdx accentColor: S.Theme.base0D cachedArt: _mprisCard._mprisPlayer?.trackArtUrl ?? "" + onPlayerSwitched: idx => { + _mprisCard._playerIdx = idx; + } } }