From 1742605eb89b17d04d807dfb1a21ac0deb3a945c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bernd=20M=C3=BCller?= <35687881+muellerbernd@users.noreply.github.com> Date: Mon, 26 Feb 2024 15:05:24 +0100 Subject: [PATCH] keybinds: fix movewindoworgroup onto empy workspace on next monitor (#4486) * fix: movewindoworgroup when no window or group is in desired direction, e.g. move window onto empty workspace on next monitor * fix: movewindoworgroup when no window or group is in desired direction, e.g. move window onto empty workspace on next monitor * reset flake.nix * add: changes mentioned in review of #4486 --- .gitignore | 2 ++ src/managers/KeybindManager.cpp | 6 +++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index dfee530e..b8423e8f 100644 --- a/.gitignore +++ b/.gitignore @@ -31,3 +31,5 @@ gmon.out PKGBUILD src/version.h + +.direnv diff --git a/src/managers/KeybindManager.cpp b/src/managers/KeybindManager.cpp index 4bd652be..a74e880d 100644 --- a/src/managers/KeybindManager.cpp +++ b/src/managers/KeybindManager.cpp @@ -2273,8 +2273,12 @@ void CKeybindManager::moveWindowOrGroup(std::string args) { g_pCompositor->warpCursorTo(PWINDOW->middle()); } else moveWindowOutOfGroup(PWINDOW, args); - } else if ((*PIGNOREGROUPLOCK || !ISWINDOWGROUPLOCKED) && ISWINDOWGROUP) // no target window + } else if ((*PIGNOREGROUPLOCK || !ISWINDOWGROUPLOCKED) && ISWINDOWGROUP) { // no target window moveWindowOutOfGroup(PWINDOW, args); + } else if (!PWINDOWINDIR && !ISWINDOWGROUP) { // no target in dir and not in group + g_pLayoutManager->getCurrentLayout()->moveWindowTo(PWINDOW, args); + g_pCompositor->warpCursorTo(PWINDOW->middle()); + } g_pCompositor->updateWindowAnimatedDecorationValues(PWINDOW); }