workspace taskbars: Display windows in a consistent order

Use a vector instead of a map for for storing the workspace windows.
This orders the windows by the time they were added to the workspace, instead of sorting by address (which is effectively a random order). The new ordering seems to match the wlr/taskbar module
This commit is contained in:
Pol Rivero
2025-01-02 07:41:24 +01:00
parent e1649b001f
commit 53ca5a4883
4 changed files with 26 additions and 15 deletions

View File

@@ -98,7 +98,8 @@ WindowRepr WindowCreationPayload::repr(Workspaces &workspace_manager) {
}
if (std::holds_alternative<ClassAndTitle>(m_window)) {
auto [window_class, window_title] = std::get<ClassAndTitle>(m_window);
return {window_class, window_title, workspace_manager.getRewrite(window_class, window_title)};
return {m_windowAddress, window_class, window_title,
workspace_manager.getRewrite(window_class, window_title)};
}
// Unreachable
spdlog::error("WorkspaceWindow::repr: Unreachable");