flyout position, theme

This commit is contained in:
Damocles 2026-04-12 11:06:07 +02:00
parent b969f0824f
commit d208e264e2

View file

@ -15,36 +15,43 @@ PanelWindow {
WlrLayershell.exclusiveZone: 0 WlrLayershell.exclusiveZone: 0
WlrLayershell.namespace: "nova-flyout" WlrLayershell.namespace: "nova-flyout"
anchors { anchors.top: true
top: true anchors.left: true
left: true
right: true
}
margins.top: M.Theme.barHeight + 4 // Flush below bar, centered on hovered item
implicitHeight: box.implicitHeight + 8 margins.top: M.Theme.barHeight
margins.left: Math.max(0, Math.min(
Math.round(M.FlyoutState.itemX - implicitWidth / 2),
screen.width - implicitWidth
))
implicitWidth: label.implicitWidth + M.Theme.barPadding * 2
implicitHeight: label.implicitHeight + M.Theme.barPadding * 2
// Background matching bar style
Rectangle { Rectangle {
id: box anchors.fill: parent
color: M.Theme.base00
x: Math.max(4, Math.min(M.FlyoutState.itemX - implicitWidth / 2, parent.width - implicitWidth - 4)) opacity: M.Theme.barOpacity
y: 4
implicitWidth: label.implicitWidth + 16
implicitHeight: label.implicitHeight + 12
color: M.Theme.base01
border.color: M.Theme.base03
border.width: 1
radius: M.Theme.radius radius: M.Theme.radius
Text { // Cover the top rounded corners so the flyout
id: label // appears flush / attached to the bar above
anchors.centerIn: parent Rectangle {
text: M.FlyoutState.text anchors.top: parent.top
color: M.Theme.base05 anchors.left: parent.left
font.pixelSize: M.Theme.fontSize anchors.right: parent.right
font.family: M.Theme.fontFamily height: parent.radius
color: M.Theme.base00
} }
} }
Text {
id: label
anchors.centerIn: parent
text: M.FlyoutState.text
color: M.Theme.base05
font.pixelSize: M.Theme.fontSize
font.family: M.Theme.fontFamily
}
} }