import QtQuick import Quickshell import Quickshell.Wayland import "." as M PanelWindow { id: root required property var screen visible: M.FlyoutState.visible && M.FlyoutState.screen === root.screen color: "transparent" WlrLayershell.layer: WlrLayer.Overlay WlrLayershell.exclusiveZone: 0 WlrLayershell.namespace: "nova-flyout" anchors.top: true anchors.left: true // Flush below bar, centered on hovered item margins.top: 0 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 — square top corners so it looks // flush / attached to the bar above, rounded bottom corners only Rectangle { anchors.fill: parent color: M.Theme.base00 opacity: Math.max(M.Theme.barOpacity, 0.85) topLeftRadius: 0 topRightRadius: 0 bottomLeftRadius: M.Theme.radius bottomRightRadius: M.Theme.radius } Text { id: label anchors.centerIn: parent text: M.FlyoutState.text.replace(/\n/g, "
") textFormat: Text.RichText color: M.Theme.base05 font.pixelSize: M.Theme.fontSize font.family: M.Theme.fontFamily } }