diff options
| author | vaxerski <43317083+vaxerski@users.noreply.github.com> | 2022-04-02 13:41:15 +0200 |
|---|---|---|
| committer | vaxerski <43317083+vaxerski@users.noreply.github.com> | 2022-04-02 13:41:15 +0200 |
| commit | c923b4f0756c3494d408a257c08922621d120ae2 (patch) | |
| tree | c254406a2b6be7eb891f09e601fa905a6685f739 /src/render/Renderer.cpp | |
| parent | 4db773b1e7d51cd008ae24f4c457710e8360fef7 (diff) | |
XDG popup tweaks
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); } } |
