diff options
| author | Aaron <100180619+A7R7@users.noreply.github.com> | 2024-03-09 01:39:53 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-03-08 17:39:53 +0000 |
| commit | 5920c6a6b8d059413377f0cb25f3dfb1dc8c4201 (patch) | |
| tree | 630cb82bcd3c60a12b2604e1cc422f520c1e0a81 /src/desktop/Workspace.cpp | |
| parent | 4c34e4aac25309b1203b5527387c8425f8e84ca8 (diff) | |
socket2: Add 5 IPC event with support for workspace ID (#5022)
- `moveworkspacev2`: returns workspaceID,workspaceName,monitorName
- `movewindowv2`: returns windowAddress,workspaceID,workspaceName
- `createWorkspacev2`: returns workspaceID,workspaceName
- `destroyWorkspacev2`: returns workspaceID,workspaceName
- `workspacev2`: returns workspaceID,workspaceName
- Include workspaceID as a parameter in CWorkspace constructor to support `createWorkspacev2`.
Resolves #4929
Diffstat (limited to 'src/desktop/Workspace.cpp')
| -rw-r--r-- | src/desktop/Workspace.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/desktop/Workspace.cpp b/src/desktop/Workspace.cpp index 470d23e6..23f76309 100644 --- a/src/desktop/Workspace.cpp +++ b/src/desktop/Workspace.cpp @@ -2,7 +2,7 @@ #include "../Compositor.hpp" #include "../config/ConfigValue.hpp" -CWorkspace::CWorkspace(int monitorID, std::string name, bool special) { +CWorkspace::CWorkspace(int id, int monitorID, std::string name, bool special) { const auto PMONITOR = g_pCompositor->getMonitorFromID(monitorID); if (!PMONITOR) { @@ -11,6 +11,7 @@ CWorkspace::CWorkspace(int monitorID, std::string name, bool special) { } m_iMonitorID = monitorID; + m_iID = id; m_szName = name; m_bIsSpecialWorkspace = special; @@ -30,6 +31,7 @@ CWorkspace::CWorkspace(int monitorID, std::string name, bool special) { m_szName = RULEFORTHIS.defaultName.value(); g_pEventManager->postEvent({"createworkspace", m_szName}); + g_pEventManager->postEvent({"createworkspacev2", std::format("{},{}", m_iID, m_szName)}); EMIT_HOOK_EVENT("createWorkspace", this); } @@ -39,6 +41,7 @@ CWorkspace::~CWorkspace() { Debug::log(LOG, "Destroying workspace ID {}", m_iID); g_pEventManager->postEvent({"destroyworkspace", m_szName}); + g_pEventManager->postEvent({"destroyworkspacev2", std::format("{},{}", m_iID, m_szName)}); EMIT_HOOK_EVENT("destroyWorkspace", this); } |
