96bd4255442ea69d961d1aa7ad41b96909bbf460
- Author
- outfoxxed <outfoxxed@outfoxxed.me>
- Committer
- outfoxxed <outfoxxed@outfoxxed.me>
- Date
Message
Fix the last selected node on a workspace always being highlighted
If a floating window or other workspace was focused, the highlight
would remain.
Diff
1diff --git a/src/Hy3Layout.cpp b/src/Hy3Layout.cpp
2index 7874994dcaf5bad1c1dc869a9aeb355d5f1fdc1e..a37281d018b85a2cb6476c6fc4daf82d1e2cf8be 100644
3--- a/src/Hy3Layout.cpp
4+++ b/src/Hy3Layout.cpp
5@@ -1816,7 +1816,10 @@ bool Hy3Layout::shouldRenderSelected(CWindow* window) {
6 auto* root = this->getWorkspaceRootGroup(window->m_iWorkspaceID);
7 if (root == nullptr || root->data.as_group.focused_child == nullptr) return false;
8 auto* focused = root->getFocusedNode();
9- if (focused == nullptr) return false;
10+ if (focused == nullptr
11+ || (focused->data.type == Hy3NodeData::Window
12+ && focused->data.as_window != g_pCompositor->m_pLastWindow))
13+ return false;
14
15 switch (focused->data.type) {
16 case Hy3NodeData::Window: return focused->data.as_window == window;