diff options
| author | outfoxxed <outfoxxed@outfoxxed.me> | 2025-07-08 09:56:40 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-07-08 18:56:40 +0200 |
| commit | 78e9eddfb6bfbc6b103fc60c9831b23ef252886b (patch) | |
| tree | 4daf06580d89dec717a282c4ec8729285241c8e8 /src/Compositor.cpp | |
| parent | 2f34ef141b0728857d2a6f777c608dfe4c207733 (diff) | |
core: use new typed signals from hu (#10853)
Diffstat (limited to 'src/Compositor.cpp')
| -rw-r--r-- | src/Compositor.cpp | 137 |
1 files changed, 57 insertions, 80 deletions
diff --git a/src/Compositor.cpp b/src/Compositor.cpp index 3c0a4ec3..8873d7f2 100644 --- a/src/Compositor.cpp +++ b/src/Compositor.cpp @@ -405,90 +405,67 @@ void CCompositor::initServer(std::string socketName, int socketFd) { } void CCompositor::initAllSignals() { - m_aqBackend->events.newOutput.registerStaticListener( - [this](void* p, std::any data) { - auto output = std::any_cast<SP<Aquamarine::IOutput>>(data); - Debug::log(LOG, "New aquamarine output with name {}", output->name); - if (m_initialized) - onNewMonitor(output); - else - pendingOutputs.emplace_back(output); - }, - nullptr); - - m_aqBackend->events.newPointer.registerStaticListener( - [](void* data, std::any d) { - auto dev = std::any_cast<SP<Aquamarine::IPointer>>(d); - Debug::log(LOG, "New aquamarine pointer with name {}", dev->getName()); - g_pInputManager->newMouse(dev); - g_pInputManager->updateCapabilities(); - }, - nullptr); - - m_aqBackend->events.newKeyboard.registerStaticListener( - [](void* data, std::any d) { - auto dev = std::any_cast<SP<Aquamarine::IKeyboard>>(d); - Debug::log(LOG, "New aquamarine keyboard with name {}", dev->getName()); - g_pInputManager->newKeyboard(dev); - g_pInputManager->updateCapabilities(); - }, - nullptr); - - m_aqBackend->events.newTouch.registerStaticListener( - [](void* data, std::any d) { - auto dev = std::any_cast<SP<Aquamarine::ITouch>>(d); - Debug::log(LOG, "New aquamarine touch with name {}", dev->getName()); - g_pInputManager->newTouchDevice(dev); - g_pInputManager->updateCapabilities(); - }, - nullptr); + m_aqBackend->events.newOutput.listenStatic([this](const SP<Aquamarine::IOutput>& output) { + Debug::log(LOG, "New aquamarine output with name {}", output->name); + if (m_initialized) + onNewMonitor(output); + else + pendingOutputs.emplace_back(output); + }); - m_aqBackend->events.newSwitch.registerStaticListener( - [](void* data, std::any d) { - auto dev = std::any_cast<SP<Aquamarine::ISwitch>>(d); - Debug::log(LOG, "New aquamarine switch with name {}", dev->getName()); - g_pInputManager->newSwitch(dev); - }, - nullptr); + m_aqBackend->events.newPointer.listenStatic([](const SP<Aquamarine::IPointer>& dev) { + Debug::log(LOG, "New aquamarine pointer with name {}", dev->getName()); + g_pInputManager->newMouse(dev); + g_pInputManager->updateCapabilities(); + }); - m_aqBackend->events.newTablet.registerStaticListener( - [](void* data, std::any d) { - auto dev = std::any_cast<SP<Aquamarine::ITablet>>(d); - Debug::log(LOG, "New aquamarine tablet with name {}", dev->getName()); - g_pInputManager->newTablet(dev); - }, - nullptr); + m_aqBackend->events.newKeyboard.listenStatic([](const SP<Aquamarine::IKeyboard>& dev) { + Debug::log(LOG, "New aquamarine keyboard with name {}", dev->getName()); + g_pInputManager->newKeyboard(dev); + g_pInputManager->updateCapabilities(); + }); - m_aqBackend->events.newTabletPad.registerStaticListener( - [](void* data, std::any d) { - auto dev = std::any_cast<SP<Aquamarine::ITabletPad>>(d); - Debug::log(LOG, "New aquamarine tablet pad with name {}", dev->getName()); - g_pInputManager->newTabletPad(dev); - }, - nullptr); + m_aqBackend->events.newTouch.listenStatic([](const SP<Aquamarine::ITouch>& dev) { + Debug::log(LOG, "New aquamarine touch with name {}", dev->getName()); + g_pInputManager->newTouchDevice(dev); + g_pInputManager->updateCapabilities(); + }); - if (m_aqBackend->hasSession()) { - m_aqBackend->session->events.changeActive.registerStaticListener( - [this](void*, std::any) { - if (m_aqBackend->session->active) { - Debug::log(LOG, "Session got activated!"); + m_aqBackend->events.newSwitch.listenStatic([](const SP<Aquamarine::ISwitch>& dev) { + Debug::log(LOG, "New aquamarine switch with name {}", dev->getName()); + g_pInputManager->newSwitch(dev); + }); + + m_aqBackend->events.newTablet.listenStatic([](const SP<Aquamarine::ITablet>& dev) { + Debug::log(LOG, "New aquamarine tablet with name {}", dev->getName()); + g_pInputManager->newTablet(dev); + }); - m_sessionActive = true; + m_aqBackend->events.newTabletPad.listenStatic([](const SP<Aquamarine::ITabletPad>& dev) { + Debug::log(LOG, "New aquamarine tablet pad with name {}", dev->getName()); + g_pInputManager->newTabletPad(dev); + }); - for (auto const& m : m_monitors) { - scheduleFrameForMonitor(m); - m->applyMonitorRule(&m->m_activeMonitorRule, true); - } + if (m_aqBackend->hasSession()) { + m_aqBackend->session->events.changeActive.listenStatic([this] { + if (m_aqBackend->session->active) { + Debug::log(LOG, "Session got activated!"); - g_pConfigManager->m_wantsMonitorReload = true; - g_pCursorManager->syncGsettings(); - } else { - Debug::log(LOG, "Session got deactivated!"); + m_sessionActive = true; - m_sessionActive = false; + for (auto const& m : m_monitors) { + scheduleFrameForMonitor(m); + m->applyMonitorRule(&m->m_activeMonitorRule, true); } - }, - nullptr); + + g_pConfigManager->m_wantsMonitorReload = true; + g_pCursorManager->syncGsettings(); + } else { + Debug::log(LOG, "Session got deactivated!"); + + m_sessionActive = false; + } + }); } } @@ -1973,7 +1950,7 @@ void CCompositor::swapActiveWorkspaces(PHLMONITOR pMonitorA, PHLMONITOR pMonitor const auto PWORKSPACEB = pMonitorB->m_activeWorkspace; PWORKSPACEA->m_monitor = pMonitorB; - PWORKSPACEA->m_events.monitorChange.emit(); + PWORKSPACEA->m_events.monitorChanged.emit(); for (auto const& w : m_windows) { if (w->m_workspace == PWORKSPACEA) { @@ -1998,7 +1975,7 @@ void CCompositor::swapActiveWorkspaces(PHLMONITOR pMonitorA, PHLMONITOR pMonitor } PWORKSPACEB->m_monitor = pMonitorA; - PWORKSPACEB->m_events.monitorChange.emit(); + PWORKSPACEB->m_events.monitorChanged.emit(); for (auto const& w : m_windows) { if (w->m_workspace == PWORKSPACEB) { @@ -2178,7 +2155,7 @@ void CCompositor::moveWorkspaceToMonitor(PHLWORKSPACE pWorkspace, PHLMONITOR pMo // move the workspace pWorkspace->m_monitor = pMonitor; - pWorkspace->m_events.monitorChange.emit(); + pWorkspace->m_events.monitorChanged.emit(); for (auto const& w : m_windows) { if (w->m_workspace == pWorkspace) { @@ -2227,9 +2204,9 @@ void CCompositor::moveWorkspaceToMonitor(PHLWORKSPACE pWorkspace, PHLMONITOR pMo pMonitor->m_activeWorkspace = pWorkspace; if (oldWorkspace) - oldWorkspace->m_events.activeChange.emit(); + oldWorkspace->m_events.activeChanged.emit(); - pWorkspace->m_events.activeChange.emit(); + pWorkspace->m_events.activeChanged.emit(); g_pLayoutManager->getCurrentLayout()->recalculateMonitor(pMonitor->m_id); |
