some items

This commit is contained in:
2026-06-23 13:45:14 +01:00
parent 175cea641b
commit 2669f7e144
4 changed files with 74 additions and 12 deletions

View File

@@ -8,17 +8,18 @@ import "../Color.js" as Colors
import "../Components/" import "../Components/"
import "../Services/" import "../Services/"
import "./Center" import "./Center"
import "./Left/"
Container { Container {
id: root
required property HyprlandMonitor monitor required property HyprlandMonitor monitor
boxHeight: 25 boxHeight: 25
boxWidth: 40 boxWidth: 40
exclusiveMonitor: monitor exclusiveMonitor: monitor
Item { defaultItem: WorkspaceContainer {
StyledText { monitor: root.monitor
text: WorkspaceManager.getWorkspacesForMonitor(monitor)
}
} }
} }

View File

@@ -0,0 +1,29 @@
import QtQuick
import Quickshell
import Quickshell.Hyprland
import "../../Components/"
import "../../Services/"
Item {
id: root
required property HyprlandMonitor monitor
Row {
anchors.fill: parent
Repeater {
model: WorkspaceManager.getWorkspacesForMonitor(root.monitor)
CenteredText {
text: console.log("some")
}
// WorkspaceSelector {
// required property HyprlandWorkspace modelData
//
// workspace: modelData
// }
}
}
}

View File

@@ -0,0 +1,17 @@
import QtQuick
import Quickshell
import Quickshell.Hyprland
import "../../Components/"
import "../../Services/"
Item {
id: root
required property HyprlandWorkspace workspace
Rectangle {
StyledText {
text: "some"
}
}
}

View File

@@ -6,17 +6,32 @@ import Quickshell.Hyprland
Singleton { Singleton {
id: root id: root
function getWorkspacesForMonitor(monitor) { function getAllNumberedWorkspaces() {
let allWorkspaces = Hyprland.workspaces; let allWorkspaces = Hyprland.workspaces.values;
let monitorWorkspaces = []; let filteredWorkspaces = [];
for (let workspace in allWorkspaces) { for (let workspace in allWorkspaces) {
let currentWorkspace = allWorkspaces[workspace]; let currentWorkspace = allWorkspaces[workspace];
if (!currentWorkspace.name.includes("special")) {
if (currentWorkspace.monitor == monitor) { if (currentWorkspace) {
console.log("correct"); filteredWorkspaces.push(currentWorkspace);
} else { }
console.log("incorrect");
} }
} }
} }
function getWorkspacesForMonitor(monitor) {
let allWorkspaces = getAllNumberedWorkspaces();
let monitorWorkspaces = [];
for (let workspace in allWorkspaces) {
let currentWorkspace = allWorkspaces[workspace];
if (currentWorkspace.monitor == monitor) {
console.log(currentWorkspace.id);
if (currentWorkspace) {
monitorWorkspaces.push(currentWorkspace);
}
}
}
return monitorWorkspaces;
}
} }