import Quickshell
import Quickshell.Io
import Quickshell.Wayland
import QtQuick
import Niri 0.1

ShellRoot {
    id: root

    property bool zenMode: false

    IpcHandler {
        target: "zen"
        function toggle() { root.zenMode = !root.zenMode }
    }

    Niri {
        id: niri
        Component.onCompleted: connect()
        onErrorOccurred: error => console.error("[Niri]", error)
    }

    Bar {}

    // Fullscreen overlay to help closing open windows
    PanelWindow {
        anchors { top: true; bottom: true; left: true; right: true }
        exclusiveZone: 0
        visible: NotificationsState.panelOpen && !root.zenMode
        color:   "transparent"

        MouseArea {
            anchors.fill: parent
            onClicked:    NotificationsState.togglePanel()
        }
    }

    NotificationPanel {}
    NotificationToast {}
}
