3a2ec872558c557d0150616985004dee00a3794c

Author
outfoxxed <outfoxxed@outfoxxed.me>
Committer
outfoxxed <outfoxxed@outfoxxed.me>
Date

Message

Fix moving focus to a group not focusing last focused node

Diff

 1diff --git a/src/Hy3Layout.cpp b/src/Hy3Layout.cpp
 2index 8e9b95325bfe203ed09a34964a31d7f5ab558f70..5f98d469eae575089832ac09ee17a1c4645288de 100644
 3--- a/src/Hy3Layout.cpp
 4+++ b/src/Hy3Layout.cpp
 5@@ -1473,7 +1473,9 @@ Hy3Node* Hy3Layout::shiftOrGetFocus(Hy3Node& node, ShiftDirection direction, boo
 6 
 7 				bool shift_after = false;
 8 
 9-				if (shiftMatchesLayout(group_data.layout, direction)) {
10+				if (!shift && group_data.layout == Hy3GroupLayout::Tabbed && group_data.focused_child != nullptr) {
11+					iter = std::find(group_data.children.begin(), group_data.children.end(), group_data.focused_child);
12+				} else if (shiftMatchesLayout(group_data.layout, direction)) {
13 					// if the group has the same orientation as movement pick the last/first child based
14 					// on movement direction
15 					if (shiftIsForward(direction)) iter = group_data.children.begin();