From e0656e902cd4e9feb8654b238f466f916fc3292e Mon Sep 17 00:00:00 2001 From: pingzi Date: Mon, 1 Dec 2025 06:10:41 +0800 Subject: [PATCH] modified renameworkspace event listener to reapply ignore workspace logic --- src/modules/hyprland/workspaces.cpp | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/modules/hyprland/workspaces.cpp b/src/modules/hyprland/workspaces.cpp index 8360137f4..137d9c963 100644 --- a/src/modules/hyprland/workspaces.cpp +++ b/src/modules/hyprland/workspaces.cpp @@ -451,12 +451,30 @@ void Workspaces::onWorkspaceRenamed(std::string const &payload) { return; } + bool workspaceExists = false; for (auto &workspace : m_workspaces) { if (workspace->id() == *workspaceId) { + workspaceExists = true; workspace->setName(newName); + if (isWorkspaceIgnored(newName)) { + spdlog::debug("Workspace renamed to ignored name: {}", newName); + m_workspacesToRemove.push_back(workspaceIdStr); + } break; } } + + if (!workspaceExists && !isWorkspaceIgnored(newName)) { + spdlog::debug("Previously ignored workspace renamed to non-ignored: {}", newName); + auto workspacesJson = m_ipc.getSocket1JsonReply("workspaces"); + for (Json::Value workspaceJson : workspacesJson) { + if (workspaceJson["id"].asInt() == *workspaceId) { + m_workspacesToCreate.emplace_back(workspaceJson, Json::Value()); + break; + } + } + } + sortWorkspaces(); }