From 96bd4255442ea69d961d1aa7ad41b96909bbf460 Mon Sep 17 00:00:00 2001 From: outfoxxed Date: Wed, 21 Jun 2023 21:39:41 -0700 Subject: [PATCH] Fix the last selected node on a workspace always being highlighted If a floating window or other workspace was focused, the highlight would remain. --- src/Hy3Layout.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/Hy3Layout.cpp b/src/Hy3Layout.cpp index 7874994..a37281d 100644 --- a/src/Hy3Layout.cpp +++ b/src/Hy3Layout.cpp @@ -1816,7 +1816,10 @@ bool Hy3Layout::shouldRenderSelected(CWindow* window) { auto* root = this->getWorkspaceRootGroup(window->m_iWorkspaceID); if (root == nullptr || root->data.as_group.focused_child == nullptr) return false; auto* focused = root->getFocusedNode(); - if (focused == nullptr) return false; + if (focused == nullptr + || (focused->data.type == Hy3NodeData::Window + && focused->data.as_window != g_pCompositor->m_pLastWindow)) + return false; switch (focused->data.type) { case Hy3NodeData::Window: return focused->data.as_window == window;