From 3cbd69e7039c7ed020bde7f7a58ed5c8da93155b Mon Sep 17 00:00:00 2001 From: vaxerski <43317083+vaxerski@users.noreply.github.com> Date: Tue, 28 Jun 2022 12:39:56 +0200 Subject: added createworkspace destroyworkspace events --- src/helpers/Workspace.cpp | 8 ++++++-- src/helpers/Workspace.hpp | 2 +- 2 files changed, 7 insertions(+), 3 deletions(-) (limited to 'src/helpers') diff --git a/src/helpers/Workspace.cpp b/src/helpers/Workspace.cpp index 90d234cb..7c0185b4 100644 --- a/src/helpers/Workspace.cpp +++ b/src/helpers/Workspace.cpp @@ -1,7 +1,7 @@ #include "Workspace.hpp" #include "../Compositor.hpp" -CWorkspace::CWorkspace(int monitorID, bool special) { +CWorkspace::CWorkspace(int monitorID, std::string name, bool special) { const auto PMONITOR = g_pCompositor->getMonitorFromID(monitorID); if (!PMONITOR) { @@ -10,7 +10,7 @@ CWorkspace::CWorkspace(int monitorID, bool special) { } m_iMonitorID = monitorID; - + m_szName = name; m_bIsSpecialWorkspace = special; if (!special) { @@ -30,6 +30,8 @@ CWorkspace::CWorkspace(int monitorID, bool special) { m_fAlpha.m_pWorkspace = this; m_fAlpha.create(AVARTYPE_FLOAT, &g_pConfigManager->getConfigValuePtr("animations:workspaces_speed")->floatValue, &g_pConfigManager->getConfigValuePtr("animations:workspaces")->intValue, &g_pConfigManager->getConfigValuePtr("animations:workspaces_curve")->strValue, nullptr, AVARDAMAGE_ENTIRE); m_fAlpha.setValueAndWarp(255.f); + + g_pEventManager->postEvent({"createworkspace", m_szName}); } CWorkspace::~CWorkspace() { @@ -42,6 +44,8 @@ CWorkspace::~CWorkspace() { wlr_ext_workspace_handle_v1_destroy(m_pWlrHandle); m_pWlrHandle = nullptr; } + + g_pEventManager->postEvent({"destroyworkspace", m_szName}); } void CWorkspace::startAnim(bool in, bool left, bool instant) { diff --git a/src/helpers/Workspace.hpp b/src/helpers/Workspace.hpp index 21b36e9f..2d0c5941 100644 --- a/src/helpers/Workspace.hpp +++ b/src/helpers/Workspace.hpp @@ -10,7 +10,7 @@ enum eFullscreenMode : uint8_t { class CWorkspace { public: - CWorkspace(int monitorID, bool special = false); + CWorkspace(int monitorID, std::string name, bool special = false); ~CWorkspace(); // Workspaces ID-based have IDs > 0 -- cgit v1.2.3