account for geom in initial XDG window popups

This commit is contained in:
vaxerski 2022-07-31 14:05:47 +02:00
parent 2230f0ccaa
commit 76f7c2510e

View file

@ -104,9 +104,12 @@ void Events::listener_newPopupXDG(void* owner, void* data) {
const auto PMONITOR = g_pCompositor->getMonitorFromID(PWINDOW->m_iMonitorID); const auto PMONITOR = g_pCompositor->getMonitorFromID(PWINDOW->m_iMonitorID);
wlr_box geom;
wlr_xdg_surface_get_geometry(PWINDOW->m_uSurface.xdg, &geom);
PNEWPOPUP->popup = WLRPOPUP; PNEWPOPUP->popup = WLRPOPUP;
PNEWPOPUP->lx = PWINDOW->m_vRealPosition.goalv().x; PNEWPOPUP->lx = PWINDOW->m_vRealPosition.goalv().x - geom.x;
PNEWPOPUP->ly = PWINDOW->m_vRealPosition.goalv().y; PNEWPOPUP->ly = PWINDOW->m_vRealPosition.goalv().y - geom.y;
PNEWPOPUP->parentWindow = PWINDOW; PNEWPOPUP->parentWindow = PWINDOW;
PNEWPOPUP->monitor = PMONITOR; PNEWPOPUP->monitor = PMONITOR;
createNewPopup(WLRPOPUP, PNEWPOPUP); createNewPopup(WLRPOPUP, PNEWPOPUP);