import QtQuick import Quickshell import Quickshell.Wayland import "." as M PanelWindow { id: root required property var screen visible: M.FlyoutState.visible 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: 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 { anchors.fill: parent color: M.Theme.base00 opacity: M.Theme.barOpacity radius: M.Theme.radius // Cover the top rounded corners so the flyout // appears flush / attached to the bar above Rectangle { anchors.top: parent.top anchors.left: parent.left anchors.right: parent.right 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 } }