diff --git a/Bar.qml b/Bar.qml index 557a746..77c92a9 100644 --- a/Bar.qml +++ b/Bar.qml @@ -26,9 +26,17 @@ Scope { screen: modelData mask: Region { + Region { + item: left + } + Region { item: center } + + Region { + item: right + } } anchors { @@ -46,12 +54,20 @@ Scope { RowLayout { anchors { left: parent.left + leftMargin: 3 right: parent.right + rightMargin: 3 top: parent.top } Row { id: left + + Layout.alignment: Qt.AlignTop + + WorkspaceSelector { + monitor: win.monitor + } } Item { @@ -61,6 +77,8 @@ Scope { Row { id: center + Layout.alignment: Qt.AlignTop + Time { monitor: win.monitor } @@ -72,6 +90,8 @@ Scope { Row { id: right + + Layout.alignment: Qt.AlignTop } } } diff --git a/Bar/WorkspaceSelector.qml b/Bar/WorkspaceSelector.qml new file mode 100644 index 0000000..99e7469 --- /dev/null +++ b/Bar/WorkspaceSelector.qml @@ -0,0 +1,43 @@ +import QtQuick +import QtQuick.Controls +import Quickshell +import Quickshell.Hyprland + +import "../Color.js" as Colors +import "../Components/" +import "../Services/" + +Container { + id: root + + required property HyprlandMonitor monitor + + boxHeight: 25 + exclusiveMonitor: monitor + + Row { + spacing: 3 + + Repeater { + delegate: workspaceButton + model: WorkspaceManager.getWorkspacesForMonitor(root.exclusiveMonitor) + delegateModelAccess: DelegateModel.ReadOnly + } + + Component { + id: workspaceButton + + Item { + required property var modelData + + height: 10 + width: 10 + + Rectangle { + anchors.fill: parent + color: "red" + } + } + } + } +}