quickshell-toki-night/modules/ui/Panels.qml

86 lines
1.9 KiB
QML

import qs.config
import qs.services
import qs.modules.bar.popouts as BarPopouts
import qs.modules.osd as Osd
import qs.modules.notifications as Notifications
import qs.modules.dashboard as Dashboard
import qs.modules.launcher as Launcher
import qs.modules.session as Session
import Quickshell
import QtQuick
Item {
id: root
required property PersistentProperties uiState
required property ShellScreen screen
required property Item bar
readonly property alias popouts: popouts
readonly property alias osd: osd
readonly property alias notifications: notifications
readonly property alias dashboard: dashboard
readonly property alias launcher: launcher
readonly property alias session: session
anchors.fill: parent
anchors.margins: Config.border.thickness
anchors.topMargin: Config.bar.height
BarPopouts.Wrapper {
id: popouts
uiState: root.uiState
screen: root.screen
}
Osd.Wrapper {
id: osd
uiState: root.uiState
screen: root.screen
anchors.verticalCenter: parent.verticalCenter
anchors.right: parent.right
}
Notifications.Wrapper {
id: notifications
uiState: root.uiState
panels: root
anchors.right: parent.right
anchors.bottom: parent.bottom
}
Dashboard.Wrapper {
id: dashboard
uiState: root.uiState
popouts: popouts
anchors.left: parent.left
anchors.verticalCenter: parent.verticalCenter
}
Launcher.Wrapper {
id: launcher
uiState: root.uiState
panels: root
anchors.horizontalCenter: parent.horizontalCenter
anchors.bottom: parent.bottom
}
Session.Wrapper {
id: session
uiState: root.uiState
panels: root
anchors.top: parent.top
anchors.right: parent.right
}
}