quickshell: add 1px base03 border to bar and dropdowns

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
rope 2026-05-27 15:46:38 +01:00
parent 7028abd772
commit 32f3d39610

View file

@ -649,6 +649,20 @@ in
anchors.right: parent.right
height: 30
color: Theme.barBg
border.width: 1
border.color: Theme.base03
}
// Cover bar bottom border where dropdown connects
Rectangle {
visible: activeDropdown && activeDropdown.visible
x: activeDropdown ? (activeDropdown.alignRight
? activeDropdown.x + activeDropdown.width - activeDropdown.fullWidth
: activeDropdown.x + 8) : 0
y: 29
width: activeDropdown ? activeDropdown.fullWidth : 0
height: 2
color: Theme.barBg
}
property var activeDropdown: null
@ -1265,6 +1279,12 @@ in
ctx.moveTo(0, 0); ctx.lineTo(8, 0); ctx.lineTo(8, 8);
ctx.arc(0, 8, 8, 0, -Math.PI / 2, true);
ctx.closePath(); ctx.fill();
// Border stroke along the curve
ctx.strokeStyle = Theme.base03;
ctx.lineWidth = 1;
ctx.beginPath();
ctx.arc(0, 8, 8, 0, -Math.PI / 2, true);
ctx.stroke();
}
}
}
@ -1288,6 +1308,12 @@ in
ctx.moveTo(0, 0); ctx.lineTo(8, 0);
ctx.arc(8, 8, 8, -Math.PI / 2, Math.PI, true);
ctx.closePath(); ctx.fill();
// Border stroke along the curve
ctx.strokeStyle = Theme.base03;
ctx.lineWidth = 1;
ctx.beginPath();
ctx.arc(8, 8, 8, -Math.PI / 2, Math.PI, true);
ctx.stroke();
}
}
}
@ -1304,8 +1330,20 @@ in
topLeftRadius: 0
topRightRadius: 0
bottomRightRadius: dropdown.alignRight ? 0 : 8
border.width: 1
border.color: Theme.base03
clip: true
// Cover the top border + bar bottom border seam
Rectangle {
anchors.top: parent.top
anchors.left: parent.left
anchors.right: parent.right
anchors.leftMargin: dropdown.alignRight ? 0 : 0
height: 2
color: Theme.barBg
}
Behavior on height {
NumberAnimation { duration: 220; easing.type: Easing.OutCubic }
}
@ -1336,6 +1374,12 @@ in
ctx.lineTo(8, 8);
ctx.arc(0, 8, 8, 0, -Math.PI / 2, true);
ctx.fill();
// Border stroke along the curve
ctx.strokeStyle = Theme.base03;
ctx.lineWidth = 1;
ctx.beginPath();
ctx.arc(0, 8, 8, 0, -Math.PI / 2, true);
ctx.stroke();
}
}
}