renderer: reserve space for error at the bottom if that's set

ref #8040
This commit is contained in:
Vaxry 2024-10-08 21:58:40 +01:00
parent 91299f7039
commit 8cced091f5

View file

@ -1756,7 +1756,9 @@ void CHyprRenderer::arrangeLayerArray(CMonitor* pMonitor, const std::vector<PHLL
} }
void CHyprRenderer::arrangeLayersForMonitor(const MONITORID& monitor) { void CHyprRenderer::arrangeLayersForMonitor(const MONITORID& monitor) {
const auto PMONITOR = g_pCompositor->getMonitorFromID(monitor); const auto PMONITOR = g_pCompositor->getMonitorFromID(monitor);
static auto BAR_POSITION = CConfigValue<Hyprlang::INT>("debug:error_position");
if (!PMONITOR) if (!PMONITOR)
return; return;
@ -1768,10 +1770,15 @@ void CHyprRenderer::arrangeLayersForMonitor(const MONITORID& monitor) {
CBox usableArea = {PMONITOR->vecPosition.x, PMONITOR->vecPosition.y, PMONITOR->vecSize.x, PMONITOR->vecSize.y}; CBox usableArea = {PMONITOR->vecPosition.x, PMONITOR->vecPosition.y, PMONITOR->vecSize.x, PMONITOR->vecSize.y};
if (g_pHyprError->active() && g_pCompositor->m_pLastMonitor == PMONITOR->self) { if (g_pHyprError->active() && g_pCompositor->m_pLastMonitor == PMONITOR->self) {
const auto HEIGHT = g_pHyprError->height(); const auto HEIGHT = g_pHyprError->height();
PMONITOR->vecReservedTopLeft.y = HEIGHT; if (*BAR_POSITION == 0) {
usableArea.y += HEIGHT; PMONITOR->vecReservedTopLeft.y = HEIGHT;
usableArea.h -= HEIGHT; usableArea.y += HEIGHT;
usableArea.h -= HEIGHT;
} else {
PMONITOR->vecReservedBottomRight.y = HEIGHT;
usableArea.h -= HEIGHT;
}
} }
for (auto& la : PMONITOR->m_aLayerSurfaceLayers) { for (auto& la : PMONITOR->m_aLayerSurfaceLayers) {