summaryrefslogtreecommitdiff
path: root/src/protocols/ExtWorkspace.cpp
diff options
context:
space:
mode:
authorVaxry <43317083+vaxerski@users.noreply.github.com>2026-02-22 23:30:10 +0000
committerGitHub <noreply@github.com>2026-02-22 23:30:10 +0000
commitb88813c7efa4b7b0c5fe01471c5fa5b67a61dc7e (patch)
tree4454e82bc033d7e28a23ee372d0e3f48341d0aaa /src/protocols/ExtWorkspace.cpp
parentb4ee4674f9a74e3d602c7fb17bc09f79d221583c (diff)
event: refactor HookSystem into a typed event bus (#13333)
Refactors the old HookSystem into a typed event bus with clear separation, discovery and types.
Diffstat (limited to 'src/protocols/ExtWorkspace.cpp')
-rw-r--r--src/protocols/ExtWorkspace.cpp13
1 files changed, 4 insertions, 9 deletions
diff --git a/src/protocols/ExtWorkspace.cpp b/src/protocols/ExtWorkspace.cpp
index 876949ba..4fa3152d 100644
--- a/src/protocols/ExtWorkspace.cpp
+++ b/src/protocols/ExtWorkspace.cpp
@@ -1,9 +1,8 @@
#include "ExtWorkspace.hpp"
#include "../Compositor.hpp"
-#include "../managers/HookSystemManager.hpp"
#include "../managers/eventLoop/EventLoopManager.hpp"
+#include "../event/EventBus.hpp"
#include <algorithm>
-#include <any>
#include <utility>
#include "core/Output.hpp"
@@ -297,17 +296,13 @@ void CExtWorkspaceManagerResource::onWorkspaceCreated(const PHLWORKSPACE& worksp
}
CExtWorkspaceProtocol::CExtWorkspaceProtocol(const wl_interface* iface, const int& ver, const std::string& name) : IWaylandProtocol(iface, ver, name) {
- static auto P1 = g_pHookSystem->hookDynamic("createWorkspace", [this](void* self, SCallbackInfo& info, std::any data) {
- auto workspace = std::any_cast<CWorkspace*>(data)->m_self.lock();
-
+ static auto P1 = Event::bus()->m_events.workspace.created.listen([this](PHLWORKSPACEREF workspace) {
for (auto const& m : m_managers) {
- m->onWorkspaceCreated(workspace);
+ m->onWorkspaceCreated(workspace.lock());
}
});
- static auto P2 = g_pHookSystem->hookDynamic("monitorAdded", [this](void* self, SCallbackInfo& info, std::any data) {
- auto monitor = std::any_cast<PHLMONITOR>(data);
-
+ static auto P2 = Event::bus()->m_events.monitor.added.listen([this](PHLMONITOR monitor) {
for (auto const& m : m_managers) {
m->onMonitorCreated(monitor);
}