diff options
| author | 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> | 2025-06-07 18:06:45 +1000 |
|---|---|---|
| committer | 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> | 2025-06-07 18:06:45 +1000 |
| commit | d76587c2db7a9a4a0856add445cf4427765faa28 (patch) | |
| tree | 71f0c6fc9f1ef85ace8b07a392c3fc45cad1414f | |
| parent | popouts: fix anim when fast movement (diff) | |
| download | caelestia-shell-d76587c2db7a9a4a0856add445cf4427765faa28.tar.gz caelestia-shell-d76587c2db7a9a4a0856add445cf4427765faa28.tar.bz2 caelestia-shell-d76587c2db7a9a4a0856add445cf4427765faa28.zip | |
popouts: fix bottom glitch
Fix flicker when popout hits bottom
Also animate bottom rounding change
| -rw-r--r-- | modules/bar/popouts/Background.qml | 15 | ||||
| -rw-r--r-- | modules/drawers/Backgrounds.qml | 2 |
2 files changed, 13 insertions, 4 deletions
diff --git a/modules/bar/popouts/Background.qml b/modules/bar/popouts/Background.qml index 2a6d6d2..a56b0b7 100644 --- a/modules/bar/popouts/Background.qml +++ b/modules/bar/popouts/Background.qml @@ -11,6 +11,7 @@ ShapePath { readonly property real rounding: BorderConfig.rounding readonly property bool flatten: wrapper.width < rounding * 2 readonly property real roundingX: flatten ? wrapper.width / 2 : rounding + property real ibr: invertBottomRounding ? -1 : 1 strokeWidth: -1 fillColor: BorderConfig.colour @@ -37,14 +38,14 @@ ShapePath { relativeY: root.wrapper.height - root.rounding * 2 } PathArc { - relativeX: root.invertBottomRounding ? root.roundingX : -root.roundingX + relativeX: -root.roundingX * root.ibr relativeY: root.rounding radiusX: Math.min(root.rounding, root.wrapper.width) radiusY: root.rounding - direction: root.invertBottomRounding ? PathArc.Counterclockwise : PathArc.Clockwise + direction: root.ibr < 0 ? PathArc.Counterclockwise : PathArc.Clockwise } PathLine { - relativeX: -(root.wrapper.width - root.roundingX * (root.invertBottomRounding ? 0 : 2)) + relativeX: -(root.wrapper.width - root.roundingX - root.roundingX * root.ibr) relativeY: 0 } PathArc { @@ -62,4 +63,12 @@ ShapePath { easing.bezierCurve: Appearance.anim.curves.standard } } + + Behavior on ibr { + NumberAnimation { + duration: Appearance.anim.durations.normal + easing.type: Easing.BezierSpline + easing.bezierCurve: Appearance.anim.curves.standard + } + } } diff --git a/modules/drawers/Backgrounds.qml b/modules/drawers/Backgrounds.qml index 2b08b7b..1840da1 100644 --- a/modules/drawers/Backgrounds.qml +++ b/modules/drawers/Backgrounds.qml @@ -58,7 +58,7 @@ Shape { BarPopouts.Background { wrapper: panels.popouts - invertBottomRounding: wrapper.y + wrapper.height >= root.height + invertBottomRounding: wrapper.y + wrapper.height + 1 >= root.height startX: 0 startY: wrapper.y - rounding |