summaryrefslogtreecommitdiff
path: root/modules/bar/Panel.qml
diff options
context:
space:
mode:
Diffstat (limited to 'modules/bar/Panel.qml')
-rw-r--r--modules/bar/Panel.qml118
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
+ }
+}