diff options
Diffstat (limited to 'modules')
| -rw-r--r-- | modules/bar/ActiveWindow.qml | 29 | ||||
| -rw-r--r-- | modules/bar/Bar.qml | 48 | ||||
| -rw-r--r-- | modules/bar/Clock.qml | 26 | ||||
| -rw-r--r-- | modules/bar/OsIcon.qml | 15 |
4 files changed, 118 insertions, 0 deletions
diff --git a/modules/bar/ActiveWindow.qml b/modules/bar/ActiveWindow.qml new file mode 100644 index 0000000..f65a83f --- /dev/null +++ b/modules/bar/ActiveWindow.qml @@ -0,0 +1,29 @@ +import "root:/widgets" +import "root:/services" +import "root:/utils" +import "root:/config" +import QtQuick +import QtQuick.Layouts + +Box { + id: root + property color colour: Appearance.colours.pink + + MaterialIcon { + Layout.alignment: Qt.AlignCenter + text: Icons.getAppCategoryIcon(Hyprland.activeClient?.wmClass) ?? "desktop_windows" + color: root.colour + } + + Text { + Layout.alignment: Qt.AlignCenter + + text: Hyprland.activeClient?.title ?? "Desktop" + font.pointSize: Appearance.font.size.smaller + font.family: Appearance.font.family.mono + color: root.colour + + rotation: root.vertical ? 90 : 0 + Layout.maximumWidth: root.vertical ? this.implicitHeight : this.implicitWidth + } +} diff --git a/modules/bar/Bar.qml b/modules/bar/Bar.qml new file mode 100644 index 0000000..5aa18f7 --- /dev/null +++ b/modules/bar/Bar.qml @@ -0,0 +1,48 @@ +import "root:/widgets" +import "root:/config" +import Quickshell +import Quickshell.Wayland + +Variants { + model: Quickshell.screens + + WlrLayershell { + id: win + + property var modelData + property bool vertical: false + + screen: modelData + namespace: "caelestia-bar" + color: Appearance.alpha(Appearance.colours.base, false) + + anchors { + top: true + left: true + right: !vertical + bottom: vertical + } + + width: contents.implicitWidth + (vertical ? Appearance.padding.normal * 2 : 0) + height: contents.implicitHeight + (vertical ? 0 : Appearance.padding.smaller * 2) + + Box { + id: contents + + vertical: win.vertical + spacing: Appearance.spacing.larger + x: Appearance.padding.normal + y: vertical ? Appearance.padding.normal : Appearance.padding.smaller + + OsIcon {} + + Clock { + vertical: win.vertical + } + + ActiveWindow { + vertical: win.vertical + } + } + } +} diff --git a/modules/bar/Clock.qml b/modules/bar/Clock.qml new file mode 100644 index 0000000..4c743a6 --- /dev/null +++ b/modules/bar/Clock.qml @@ -0,0 +1,26 @@ +import "root:/widgets" +import "root:/services" +import "root:/config" +import QtQuick +import QtQuick.Layouts + +Box { + id: root + property color colour: Appearance.colours.peach + + MaterialIcon { + Layout.alignment: Qt.AlignCenter + text: "calendar_month" + color: root.colour + } + + Text { + Layout.alignment: Qt.AlignCenter + horizontalAlignment: Text.AlignJustify + + text: root.vertical ? Time.format("hh\nmm") : Time.format("dd/MM/yy hh:mm") + font.pointSize: Appearance.font.size.smaller + font.family: Appearance.font.family.mono + color: root.colour + } +} diff --git a/modules/bar/OsIcon.qml b/modules/bar/OsIcon.qml new file mode 100644 index 0000000..1737814 --- /dev/null +++ b/modules/bar/OsIcon.qml @@ -0,0 +1,15 @@ +import "root:/widgets" +import "root:/services" +import "root:/utils" +import "root:/config" +import QtQuick +import QtQuick.Layouts + +Text { + Layout.alignment: Qt.AlignCenter + + text: Icons.osIcon + font.pointSize: Appearance.font.size.smaller + font.family: Appearance.font.family.mono + color: Appearance.colours.yellow +} |