quickshell: open the column border over merged panels, fade panel edge stroke with melt
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
parent
2d43e6ed24
commit
ad2cbd0eaa
1 changed files with 15 additions and 4 deletions
|
|
@ -514,12 +514,13 @@ in
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Frame right-column inner border — always full: when a panel
|
// Frame right-column inner border — opens up over a merged
|
||||||
// is merged, its own right-edge stroke sits exactly on this
|
// panel (a border must not slice an open junction) and
|
||||||
// line, so they coincide instead of needing a gap.
|
// resumes exactly at the panel's bottom flare. Driven by the
|
||||||
|
// melt progress so it follows the morph smoothly.
|
||||||
Rectangle {
|
Rectangle {
|
||||||
x: bar.width - Theme.frameWidth - Theme.borderWidth / 2
|
x: bar.width - Theme.frameWidth - Theme.borderWidth / 2
|
||||||
y: 38
|
y: 38 + chrome.height * chrome.mergeP
|
||||||
width: Theme.borderWidth
|
width: Theme.borderWidth
|
||||||
height: Math.max(0, bar.height - Theme.frameWidth - 8 - y)
|
height: Math.max(0, bar.height - Theme.frameWidth - 8 - y)
|
||||||
color: Theme.base03
|
color: Theme.base03
|
||||||
|
|
@ -1267,6 +1268,16 @@ in
|
||||||
control1X: pshape.xr - pshape.ear + 4.42; control1Y: pshape.height
|
control1X: pshape.xr - pshape.ear + 4.42; control1Y: pshape.height
|
||||||
control2X: pshape.xr; control2Y: pshape.bey + pshape.bck
|
control2X: pshape.xr; control2Y: pshape.bey + pshape.bck
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Right edge + ear stroke, fading out with the melt — a
|
||||||
|
// merged junction must not be sliced by its own border.
|
||||||
|
ShapePath {
|
||||||
|
fillColor: "transparent"
|
||||||
|
strokeColor: Qt.alpha(Theme.base03, 1 - pshape.merge)
|
||||||
|
strokeWidth: Theme.borderWidth
|
||||||
|
capStyle: ShapePath.FlatCap
|
||||||
|
startX: pshape.xr; startY: pshape.bey
|
||||||
PathLine { x: pshape.xr; y: Math.min(pshape.re, pshape.height) }
|
PathLine { x: pshape.xr; y: Math.min(pshape.re, pshape.height) }
|
||||||
PathCubic {
|
PathCubic {
|
||||||
x: pshape.xr + pshape.re; y: 0
|
x: pshape.xr + pshape.re; y: 0
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue