102 lines
2.1 KiB
QML
102 lines
2.1 KiB
QML
import Quickshell
|
|
import QtQuick
|
|
import QtQuick.Shapes
|
|
import qs.Components
|
|
import qs.Config
|
|
import qs.Modules as Modules
|
|
import qs.Modules.Notifications as Notifications
|
|
import qs.Modules.Notifications.Sidebar as Sidebar
|
|
import qs.Modules.Notifications.Sidebar.Utils as Utils
|
|
import qs.Modules.Dashboard as Dashboard
|
|
import qs.Modules.Osd as Osd
|
|
import qs.Modules.Launcher as Launcher
|
|
import qs.Modules.Resources as Resources
|
|
import qs.Modules.Drawing as Drawing
|
|
import qs.Modules.Settings as Settings
|
|
|
|
Shape {
|
|
id: root
|
|
|
|
required property Item bar
|
|
required property Panels panels
|
|
required property PersistentProperties visibilities
|
|
|
|
anchors.fill: parent
|
|
anchors.margins: Config.barConfig.border
|
|
anchors.topMargin: Config.barConfig.autoHide && !visibilities.bar ? 0 : bar.implicitHeight
|
|
preferredRendererType: Shape.CurveRenderer
|
|
|
|
Behavior on anchors.topMargin {
|
|
Anim {
|
|
}
|
|
}
|
|
|
|
Drawing.Background {
|
|
startX: 0
|
|
startY: wrapper.y - rounding
|
|
wrapper: root.panels.drawing
|
|
}
|
|
|
|
Resources.Background {
|
|
startX: 0 - rounding
|
|
startY: 0
|
|
wrapper: root.panels.resources
|
|
}
|
|
|
|
Osd.Background {
|
|
startX: root.width - root.panels.sidebar.width
|
|
startY: (root.height - wrapper.height) / 2 - rounding
|
|
wrapper: root.panels.osd
|
|
}
|
|
|
|
Modules.Background {
|
|
invertBottomRounding: wrapper.x <= 0
|
|
startX: wrapper.x - 8
|
|
startY: wrapper.y
|
|
wrapper: root.panels.popouts
|
|
}
|
|
|
|
Notifications.Background {
|
|
sidebar: sidebar
|
|
startX: root.width
|
|
startY: 0
|
|
wrapper: root.panels.notifications
|
|
}
|
|
|
|
Launcher.Background {
|
|
startX: (root.width - wrapper.width) / 2 - rounding
|
|
startY: root.height
|
|
wrapper: root.panels.launcher
|
|
}
|
|
|
|
Dashboard.Background {
|
|
startX: root.width - root.panels.dashboard.width - rounding
|
|
startY: 0
|
|
wrapper: root.panels.dashboard
|
|
}
|
|
|
|
Utils.Background {
|
|
sidebar: sidebar
|
|
startX: root.width
|
|
startY: root.height
|
|
wrapper: root.panels.utilities
|
|
}
|
|
|
|
Sidebar.Background {
|
|
id: sidebar
|
|
|
|
panels: root.panels
|
|
startX: root.width
|
|
startY: root.panels.notifications.height
|
|
wrapper: root.panels.sidebar
|
|
}
|
|
|
|
Settings.Background {
|
|
id: settings
|
|
|
|
startX: (root.width - wrapper.width) / 2 - rounding
|
|
startY: 0
|
|
wrapper: root.panels.settings
|
|
}
|
|
}
|