summaryrefslogtreecommitdiff
path: root/src/managers/KeybindManager.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/managers/KeybindManager.cpp')
-rw-r--r--src/managers/KeybindManager.cpp19
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) {