summaryrefslogtreecommitdiff
path: root/src/layout/algorithm
diff options
context:
space:
mode:
authorChris Naporlee <55722668+chrisn731@users.noreply.github.com>2026-03-28 11:30:25 -0400
committerGitHub <noreply@github.com>2026-03-28 15:30:25 +0000
commit3103119b7cdda67e1d43588ad07a80465626b3c2 (patch)
treef4e93492a8baa7f2ab840297a59559b74ed52815 /src/layout/algorithm
parent98036faba08c2654ceff4d9895ba1e13745f4710 (diff)
input: allow focus to switch to most recently used window on closed (#13769)
Diffstat (limited to 'src/layout/algorithm')
-rw-r--r--src/layout/algorithm/Algorithm.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/layout/algorithm/Algorithm.cpp b/src/layout/algorithm/Algorithm.cpp
index b83a03a3..b9e94524 100644
--- a/src/layout/algorithm/Algorithm.cpp
+++ b/src/layout/algorithm/Algorithm.cpp
@@ -237,7 +237,9 @@ const UP<IFloatingAlgorithm>& CAlgorithm::floatingAlgo() const {
}
SP<ITarget> CAlgorithm::getNextCandidate(SP<ITarget> old) {
- if (old->floating()) {
+ static auto FOCUSONCLOSE = CConfigValue<Hyprlang::INT>("input:focus_on_close");
+
+ if (old->floating() || *FOCUSONCLOSE == 2) {
// use window history to determine best target
for (const auto& w : Desktop::History::windowTracker()->fullHistory() | std::views::reverse) {
if (!w->m_workspace || w->m_workspace->m_space != m_space || !w->layoutTarget() || !w->layoutTarget()->space())