94 lines
2.2 KiB
QML
94 lines
2.2 KiB
QML
pragma ComponentBehavior: Bound
|
|
|
|
import QtQuick
|
|
import Quickshell
|
|
import qs.Modules.Bar as Bar
|
|
|
|
Region {
|
|
id: root
|
|
|
|
// required property Bar.BarLoader bar
|
|
readonly property real borderThickness: win.borderThickness
|
|
required property EdgeGeometry geometry
|
|
readonly property alias menuPopoutRegion: menuPopoutRegion
|
|
required property Panels panels
|
|
required property var win
|
|
|
|
height: win.height - geometry.insetTop(borderThickness, true) - geometry.insetBottom(borderThickness, true) - win.dragMaskPadding * 2
|
|
intersection: Intersection.Xor
|
|
width: win.width - geometry.insetLeft(borderThickness, true) * 2 - win.dragMaskPadding * 2
|
|
x: geometry.insetLeft(borderThickness, true) + win.dragMaskPadding
|
|
y: geometry.insetTop(borderThickness, true) + win.dragMaskPadding
|
|
|
|
R {
|
|
panel: root.panels.dashboardWrapper
|
|
}
|
|
|
|
R {
|
|
panel: root.panels.launcher
|
|
}
|
|
|
|
R {
|
|
id: sidebarRegion
|
|
|
|
panel: root.panels.sidebar
|
|
width: panel.width * (1 - root.panels.sidebar.offsetScale) + root.borderThickness
|
|
x: root.win.width - width
|
|
}
|
|
|
|
R {
|
|
panel: root.panels.osdWrapper
|
|
width: panel.width * (1 - root.panels.osd.offsetScale) + root.borderThickness
|
|
}
|
|
|
|
R {
|
|
height: panel.height + root.geometry.insetTop(root.borderThickness)
|
|
panel: root.panels.notifications
|
|
y: 0
|
|
}
|
|
|
|
R {
|
|
height: panel.height * (1 - root.panels.utilities.offsetScale) + root.geometry.insetBottom(root.borderThickness)
|
|
panel: root.panels.utilities
|
|
y: root.win.height - height
|
|
}
|
|
|
|
R {
|
|
height: root.geometry.horizontal ? panel.height * (1 - root.panels.popoutsWrapper.offsetScale) : panel.height
|
|
panel: root.panels.popoutsWrapper
|
|
width: root.geometry.horizontal ? panel.width : panel.width * (1 - root.panels.popoutsWrapper.offsetScale)
|
|
}
|
|
|
|
R {
|
|
panel: root.panels.resourcesWrapper
|
|
}
|
|
|
|
R {
|
|
panel: root.panels.settings
|
|
}
|
|
|
|
R {
|
|
panel: root.panels.dock
|
|
}
|
|
|
|
R {
|
|
panel: root.panels.clipboard
|
|
}
|
|
|
|
Region {
|
|
id: menuPopoutRegion
|
|
|
|
intersection: Intersection.Subtract
|
|
}
|
|
|
|
component R: Region {
|
|
required property Item panel
|
|
|
|
height: panel.height
|
|
intersection: Intersection.Subtract
|
|
width: panel.width
|
|
x: panel.x + root.geometry.insetLeft(root.borderThickness)
|
|
y: panel.y + root.geometry.insetTop(root.borderThickness)
|
|
}
|
|
}
|