diff options
Diffstat (limited to 'src/managers/KeybindManager.cpp')
| -rw-r--r-- | src/managers/KeybindManager.cpp | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/src/managers/KeybindManager.cpp b/src/managers/KeybindManager.cpp index cca72ca8..63c0c95f 100644 --- a/src/managers/KeybindManager.cpp +++ b/src/managers/KeybindManager.cpp @@ -202,11 +202,17 @@ bool CKeybindManager::ensureMouseBindState() { return false; if (g_pInputManager->currentlyDraggedWindow) { + CWindow* lastDraggedWindow = g_pInputManager->currentlyDraggedWindow; + m_bIsMouseBindActive = false; g_pLayoutManager->getCurrentLayout()->onEndDragWindow(); g_pInputManager->currentlyDraggedWindow = nullptr; g_pInputManager->dragMode = MBIND_INVALID; + g_pCompositor->updateWorkspaceWindows(lastDraggedWindow->workspaceID()); + g_pCompositor->updateWorkspaceSpecialRenderData(lastDraggedWindow->workspaceID()); + g_pCompositor->updateAllWindowsAnimatedDecorationValues(); + return true; } @@ -857,19 +863,16 @@ static void toggleActiveFloatingCore(std::string args, std::optional<bool> float CWindow* curr = PCURRENT->m_sGroupData.pNextWindow; while (curr != PCURRENT) { curr->m_bIsFloating = PCURRENT->m_bIsFloating; - curr->updateDynamicRules(); - curr->updateSpecialRenderData(); - curr = curr->m_sGroupData.pNextWindow; + curr = curr->m_sGroupData.pNextWindow; } - - g_pCompositor->updateWorkspaceWindows(PWINDOW->workspaceID()); } else { PWINDOW->m_bIsFloating = !PWINDOW->m_bIsFloating; - g_pCompositor->updateWorkspaceWindows(PWINDOW->workspaceID()); - g_pLayoutManager->getCurrentLayout()->changeWindowFloatingMode(PWINDOW); } + g_pCompositor->updateWorkspaceWindows(PWINDOW->workspaceID()); + g_pCompositor->updateWorkspaceSpecialRenderData(PWINDOW->workspaceID()); + g_pCompositor->updateAllWindowsAnimatedDecorationValues(); } void CKeybindManager::toggleActiveFloating(std::string args) { @@ -1282,8 +1285,6 @@ void CKeybindManager::toggleGroup(std::string args) { PWINDOW->createGroup(); else PWINDOW->destroyGroup(); - - g_pCompositor->updateAllWindowsAnimatedDecorationValues(); } void CKeybindManager::changeGroupActive(std::string args) { |
