diff options
Diffstat (limited to 'modules/bar/Panel.qml')
| -rw-r--r-- | modules/bar/Panel.qml | 118 |
1 files changed, 118 insertions, 0 deletions
diff --git a/modules/bar/Panel.qml b/modules/bar/Panel.qml new file mode 100644 index 0000000..ee0c0ea --- /dev/null +++ b/modules/bar/Panel.qml @@ -0,0 +1,118 @@ +import "root:/widgets" +import "root:/config" +import "components" +import "components/workspaces" +import QtQuick +import QtQuick.Layouts + +StyledRect { + id: root + + function get(horiz, vert) { + return BarConfig.vertical ? vert : horiz; + } + + color: Appearance.alpha(Appearance.colours.m3surface, false) + anchors.fill: parent + + BoxLayout { + spacing: 0 //Appearance.padding.large + + anchors.fill: parent + + BoxLayout { + spacing: 0 + + Module { + color: Appearance.colours.mauve + + OsIcon { + color: Appearance.on(Appearance.colours.mauve) + + anchors.horizontalCenter: root.get(undefined, parent.horizontalCenter) + anchors.verticalCenter: root.get(parent.verticalCenter, undefined) + } + } + + Module { + color: Appearance.colours.pink + + ActiveWindow { + colour: Appearance.on(Appearance.colours.pink) + + anchors.horizontalCenter: root.get(undefined, parent.horizontalCenter) + anchors.verticalCenter: root.get(parent.verticalCenter, undefined) + } + } + } + + Item { + Layout.fillWidth: true + Layout.fillHeight: true + } + + Workspaces { + vertical: BarConfig.vertical + } + + Item { + Layout.fillWidth: true + Layout.fillHeight: true + } + + Module { + color: Appearance.colours.green + + Tray { + colour: Appearance.on(Appearance.colours.green) + + anchors.horizontalCenter: root.get(undefined, parent.horizontalCenter) + anchors.verticalCenter: root.get(parent.verticalCenter, undefined) + } + } + + Module { + color: Appearance.colours.yellow + + Clock { + colour: Appearance.on(Appearance.colours.yellow) + + anchors.horizontalCenter: root.get(undefined, parent.horizontalCenter) + anchors.verticalCenter: root.get(parent.verticalCenter, undefined) + } + } + + Module { + color: Appearance.colours.peach + + StatusIcons { + colour: Appearance.on(Appearance.colours.peach) + + anchors.horizontalCenter: root.get(undefined, parent.horizontalCenter) + anchors.verticalCenter: root.get(parent.verticalCenter, undefined) + } + } + + Module { + color: Appearance.colours.m3error + + Layout.maximumWidth: BarConfig.sizes.height + Layout.maximumHeight: BarConfig.sizes.height + + Power { + x: (BarConfig.sizes.height - width) / 2 + color: Appearance.colours.m3onError + + anchors.horizontalCenter: root.get(undefined, parent.horizontalCenter) + anchors.verticalCenter: root.get(parent.verticalCenter, undefined) + } + } + } + + component Module: PaddedRect { + padding: BarConfig.vertical ? [Appearance.padding.large, 0] : [0, Appearance.padding.large] + + Layout.minimumWidth: BarConfig.sizes.height + Layout.minimumHeight: BarConfig.sizes.height + } +} |