summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorvaxerski <43317083+vaxerski@users.noreply.github.com>2022-03-22 20:04:39 +0100
committervaxerski <43317083+vaxerski@users.noreply.github.com>2022-03-22 20:04:39 +0100
commit90bb8e64412cf6dcf3095e059e6d7a9e92dc5df0 (patch)
tree451d97a236ab94cc0503a3eb3b0fe177c8df2ff8 /src
parentaa64af95fedaadc97dce02d4a37d6bad05961c86 (diff)
minor changes
Diffstat (limited to 'src')
-rw-r--r--src/events/Windows.cpp1
-rw-r--r--src/layout/DwindleLayout.cpp3
-rw-r--r--src/managers/InputManager.cpp2
-rw-r--r--src/render/Renderer.cpp10
4 files changed, 7 insertions, 9 deletions
diff --git a/src/events/Windows.cpp b/src/events/Windows.cpp
index 9b2f7945..732bd2a4 100644
--- a/src/events/Windows.cpp
+++ b/src/events/Windows.cpp
@@ -51,6 +51,7 @@ void Events::listener_unmapWindow(wl_listener* listener, void* data) {
if (g_pXWaylandManager->getWindowSurface(PWINDOW) == g_pCompositor->m_pLastFocus)
g_pCompositor->m_pLastFocus = nullptr;
+ PWINDOW->m_bMappedX11 = false;
// remove the fullscreen window status from workspace if we closed it
const auto PWORKSPACE = g_pCompositor->getWorkspaceByID(PWINDOW->m_iWorkspaceID);
diff --git a/src/layout/DwindleLayout.cpp b/src/layout/DwindleLayout.cpp
index cb96931f..38589a3d 100644
--- a/src/layout/DwindleLayout.cpp
+++ b/src/layout/DwindleLayout.cpp
@@ -345,6 +345,9 @@ void CHyprDwindleLayout::onWindowCreatedFloating(CWindow* pWindow) {
pWindow->m_vRealPosition = Vector2D(desiredGeometry.x, desiredGeometry.y);
}
}
+
+ g_pXWaylandManager->setWindowSize(pWindow, pWindow->m_vRealSize);
+ g_pCompositor->fixXWaylandWindowsOnWorkspace(PMONITOR->activeWorkspace);
}
void CHyprDwindleLayout::fullscreenRequestForWindow(CWindow* pWindow) {
diff --git a/src/managers/InputManager.cpp b/src/managers/InputManager.cpp
index c6bafd4e..f838408a 100644
--- a/src/managers/InputManager.cpp
+++ b/src/managers/InputManager.cpp
@@ -106,7 +106,7 @@ void CInputManager::onMouseButton(wlr_event_pointer_button* e) {
}
// notify app if we didnt handle it
- const auto PWINDOW = g_pCompositor->vectorToWindowIdeal(getMouseCoordsInternal());
+ const auto PWINDOW = g_pCompositor->vectorToWindow(getMouseCoordsInternal());
if (g_pCompositor->windowValidMapped(PWINDOW) && g_pCompositor->doesSeatAcceptInput(g_pXWaylandManager->getWindowSurface(PWINDOW)))
wlr_seat_pointer_notify_button(g_pCompositor->m_sSeat.seat, e->time_msec, e->button, e->state);
}
diff --git a/src/render/Renderer.cpp b/src/render/Renderer.cpp
index 1c0f4ad2..f3b08ff2 100644
--- a/src/render/Renderer.cpp
+++ b/src/render/Renderer.cpp
@@ -43,14 +43,8 @@ bool shouldRenderWindow(CWindow* pWindow, SMonitor* pMonitor) {
return true;
// if not, check if it maybe is active on a different monitor.
- for (auto& m : g_pCompositor->m_lMonitors) {
- if (&m == pMonitor)
- continue;
-
-
- if (m.activeWorkspace == pWindow->m_iWorkspaceID)
- return true;
- }
+ if (g_pCompositor->isWorkspaceVisible(pWindow->m_iWorkspaceID))
+ return true;
return false;
}