pragma ComponentBehavior: Bound import qs.components import qs.services import qs.config import Quickshell import QtQuick Item { id: root required property ShellScreen screen required property var visibilities visible: width > 0 implicitWidth: 0 implicitHeight: content.implicitHeight states: State { name: "visible" when: root.visibilities.osd && Config.osd.enabled PropertyChanges { root.implicitWidth: content.implicitWidth } } transitions: [ Transition { from: "" to: "visible" Anim { target: root property: "implicitWidth" easing.bezierCurve: Appearance.anim.curves.expressiveDefaultSpatial } }, Transition { from: "visible" to: "" Anim { target: root property: "implicitWidth" easing.bezierCurve: Appearance.anim.curves.emphasized } } ] Loader { id: content anchors.verticalCenter: parent.verticalCenter anchors.left: parent.left Component.onCompleted: active = Qt.binding(() => (root.visibilities.osd && Config.osd.enabled) || root.visible) sourceComponent: Content { monitor: Brightness.getMonitorForScreen(root.screen) visibilities: root.visibilities } } }