diff options
| author | 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> | 2025-05-01 00:56:55 +1000 |
|---|---|---|
| committer | 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> | 2025-05-01 00:56:55 +1000 |
| commit | d54df2792ad8536ea2e4135fba3bb3558e281fe1 (patch) | |
| tree | 22445e7f85a5c4e9e84a337f4676c97e4550905e /modules/bar/Panel.qml | |
| parent | dev: fix run script (diff) | |
| download | caelestia-shell-d54df2792ad8536ea2e4135fba3bb3558e281fe1.tar.gz caelestia-shell-d54df2792ad8536ea2e4135fba3bb3558e281fe1.tar.bz2 caelestia-shell-d54df2792ad8536ea2e4135fba3bb3558e281fe1.zip | |
feat: bar panel preset
Make presets more flexible
Fix workspaces when show windows disabled
Make rounded option for workspaces
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 + } +} |