From 863812a0979646fbc1a51b6593fa25fbad77a7be Mon Sep 17 00:00:00 2001 From: vaxerski <43317083+vaxerski@users.noreply.github.com> Date: Mon, 6 Feb 2023 13:16:54 +0000 Subject: [PATCH] added activewindowv2 --- src/Compositor.cpp | 3 +++ src/events/Windows.cpp | 4 +++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/Compositor.cpp b/src/Compositor.cpp index 68b45df9..68070c2e 100644 --- a/src/Compositor.cpp +++ b/src/Compositor.cpp @@ -794,6 +794,7 @@ void CCompositor::focusWindow(CWindow* pWindow, wlr_surface* pSurface) { wlr_seat_keyboard_notify_clear_focus(m_sSeat.seat); g_pEventManager->postEvent(SHyprIPCEvent{"activewindow", ","}); + g_pEventManager->postEvent(SHyprIPCEvent{"activewindowv2", ","}); g_pLayoutManager->getCurrentLayout()->onWindowFocusChange(nullptr); @@ -864,6 +865,7 @@ void CCompositor::focusWindow(CWindow* pWindow, wlr_surface* pSurface) { // Send an event g_pEventManager->postEvent(SHyprIPCEvent{"activewindow", g_pXWaylandManager->getAppIDClass(pWindow) + "," + pWindow->m_szTitle}); + g_pEventManager->postEvent(SHyprIPCEvent{"activewindowv2", getFormat("%x", pWindow)}); g_pLayoutManager->getCurrentLayout()->onWindowFocusChange(pWindow); @@ -901,6 +903,7 @@ void CCompositor::focusSurface(wlr_surface* pSurface, CWindow* pWindowOwner) { if (!pSurface) { wlr_seat_keyboard_clear_focus(m_sSeat.seat); g_pEventManager->postEvent(SHyprIPCEvent{"activewindow", ","}); // unfocused + g_pEventManager->postEvent(SHyprIPCEvent{"activewindowv2", ","}); g_pInputManager->m_sIMERelay.onKeyboardFocus(nullptr); g_pCompositor->m_pLastFocus = nullptr; return; diff --git a/src/events/Windows.cpp b/src/events/Windows.cpp index 3f57deda..6a7efc88 100644 --- a/src/events/Windows.cpp +++ b/src/events/Windows.cpp @@ -741,8 +741,10 @@ void Events::listener_setTitleWindow(void* owner, void* data) { PWINDOW->m_szTitle = g_pXWaylandManager->getTitle(PWINDOW); - if (PWINDOW == g_pCompositor->m_pLastWindow) // if it's the active, let's post an event to update others + if (PWINDOW == g_pCompositor->m_pLastWindow) { // if it's the active, let's post an event to update others g_pEventManager->postEvent(SHyprIPCEvent{"activewindow", g_pXWaylandManager->getAppIDClass(PWINDOW) + "," + PWINDOW->m_szTitle}); + g_pEventManager->postEvent(SHyprIPCEvent{"activewindowv2", getFormat("%x", PWINDOW)}); + } PWINDOW->updateDynamicRules(); g_pCompositor->updateWindowAnimatedDecorationValues(PWINDOW);