summaryrefslogtreecommitdiff
path: root/src/desktop/Workspace.cpp
diff options
context:
space:
mode:
authorBrenno Lemos <dev@brenno.codes>2024-05-11 20:03:32 -0300
committerGitHub <noreply@github.com>2024-05-12 00:03:32 +0100
commit33a7b7bb6b307d6e4a093f75ffdda0419cd7ffaf (patch)
tree8bd1bc79f5a16fb56aa9b81db28f88925b010b89 /src/desktop/Workspace.cpp
parent15072831cfd9efccebd1ad27b21c5604f224aa1b (diff)
core: fix on-empty workspace being called too often (#6026)
Diffstat (limited to 'src/desktop/Workspace.cpp')
-rw-r--r--src/desktop/Workspace.cpp12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/desktop/Workspace.cpp b/src/desktop/Workspace.cpp
index b730c9ab..7a836b3b 100644
--- a/src/desktop/Workspace.cpp
+++ b/src/desktop/Workspace.cpp
@@ -2,17 +2,18 @@
#include "../Compositor.hpp"
#include "../config/ConfigValue.hpp"
-PHLWORKSPACE CWorkspace::create(int id, int monitorID, std::string name, bool special) {
- PHLWORKSPACE workspace = makeShared<CWorkspace>(id, monitorID, name, special);
+PHLWORKSPACE CWorkspace::create(int id, int monitorID, std::string name, bool special, bool isEmtpy) {
+ PHLWORKSPACE workspace = makeShared<CWorkspace>(id, monitorID, name, special, isEmtpy);
workspace->init(workspace);
return workspace;
}
-CWorkspace::CWorkspace(int id, int monitorID, std::string name, bool special) {
+CWorkspace::CWorkspace(int id, int monitorID, std::string name, bool special, bool isEmtpy) {
m_iMonitorID = monitorID;
m_iID = id;
m_szName = name;
m_bIsSpecialWorkspace = special;
+ m_bWasCreatedEmtpy = isEmtpy;
}
void CWorkspace::init(PHLWORKSPACE self) {
@@ -44,8 +45,9 @@ void CWorkspace::init(PHLWORKSPACE self) {
const auto WORKSPACERULE = g_pConfigManager->getWorkspaceRuleFor(self);
m_bPersistent = WORKSPACERULE.isPersistent;
- if (auto cmd = WORKSPACERULE.onCreatedEmptyRunCmd)
- g_pKeybindManager->spawn(*cmd);
+ if (self->m_bWasCreatedEmtpy)
+ if (auto cmd = WORKSPACERULE.onCreatedEmptyRunCmd)
+ g_pKeybindManager->spawn(*cmd);
g_pEventManager->postEvent({"createworkspace", m_szName});
g_pEventManager->postEvent({"createworkspacev2", std::format("{},{}", m_iID, m_szName)});