diff options
Diffstat (limited to 'src/render/Renderer.cpp')
| -rw-r--r-- | src/render/Renderer.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/render/Renderer.cpp b/src/render/Renderer.cpp index 7ca86bca..276b4556 100644 --- a/src/render/Renderer.cpp +++ b/src/render/Renderer.cpp @@ -18,6 +18,11 @@ void renderSurface(struct wlr_surface* surface, int x, int y, void* data) { double outputX = 0, outputY = 0; wlr_output_layout_output_coords(g_pCompositor->m_sWLROutputLayout, RDATA->output, &outputX, &outputY); + if (RDATA->pMonitor) { // BUG THIS TODO: this is just to show the popup on a monitor that isnt at 0,0 + // the popups are broken. + x -= ((SMonitor*)RDATA->pMonitor)->vecPosition.x; + y -= ((SMonitor*)RDATA->pMonitor)->vecPosition.y; + } wlr_box windowBox; if (RDATA->surface && surface == RDATA->surface) { @@ -101,6 +106,7 @@ void CHyprRenderer::renderWindow(CWindow* pWindow, SMonitor* pMonitor, timespec* } } else { + renderdata.pMonitor = pMonitor; wlr_xdg_surface_for_each_popup_surface(pWindow->m_uSurface.xdg, renderSurface, &renderdata); } } |
