mirror of
https://github.com/hyprwm/Hyprland
synced 2024-11-26 15:45:58 +01:00
damage: fix damage on moves / workspace changes
This commit is contained in:
parent
a6d94eafba
commit
d6c4ae71d0
2 changed files with 8 additions and 0 deletions
|
@ -522,6 +522,8 @@ void CMonitor::changeWorkspace(CWorkspace* const pWorkspace, bool internal) {
|
|||
g_pEventManager->postEvent(SHyprIPCEvent{"workspace", pWorkspace->m_szName});
|
||||
EMIT_HOOK_EVENT("workspace", pWorkspace);
|
||||
}
|
||||
|
||||
g_pHyprRenderer->damageMonitor(this);
|
||||
}
|
||||
|
||||
void CMonitor::changeWorkspace(const int& id, bool internal) {
|
||||
|
@ -529,6 +531,8 @@ void CMonitor::changeWorkspace(const int& id, bool internal) {
|
|||
}
|
||||
|
||||
void CMonitor::setSpecialWorkspace(CWorkspace* const pWorkspace) {
|
||||
g_pHyprRenderer->damageMonitor(this);
|
||||
|
||||
if (!pWorkspace) {
|
||||
// remove special if exists
|
||||
if (const auto EXISTINGSPECIAL = g_pCompositor->getWorkspaceByID(specialWorkspaceID); EXISTINGSPECIAL)
|
||||
|
|
|
@ -876,6 +876,8 @@ void CKeybindManager::moveActiveToWorkspace(std::string args) {
|
|||
|
||||
auto pWorkspace = g_pCompositor->getWorkspaceByID(WORKSPACEID);
|
||||
|
||||
g_pHyprRenderer->damageWindow(PWINDOW);
|
||||
|
||||
if (pWorkspace) {
|
||||
g_pCompositor->moveWindowToWorkspaceSafe(PWINDOW, pWorkspace);
|
||||
const auto PMONITOR = g_pCompositor->getMonitorFromID(pWorkspace->m_iMonitorID);
|
||||
|
@ -919,6 +921,8 @@ void CKeybindManager::moveActiveToWorkspaceSilent(std::string args) {
|
|||
if (WORKSPACEID == PWINDOW->m_iWorkspaceID)
|
||||
return;
|
||||
|
||||
g_pHyprRenderer->damageWindow(PWINDOW);
|
||||
|
||||
auto pWorkspace = g_pCompositor->getWorkspaceByID(WORKSPACEID);
|
||||
const auto OLDMIDDLE = PWINDOW->middle();
|
||||
|
||||
|
|
Loading…
Reference in a new issue