diff --git a/hyprbars/barDeco.cpp b/hyprbars/barDeco.cpp index f95fef1..eb007f1 100644 --- a/hyprbars/barDeco.cpp +++ b/hyprbars/barDeco.cpp @@ -388,10 +388,16 @@ void CHyprBar::renderBarButtonsText(CBox* barBox, const float scale, const float noScaleOffset += BARBUTTONPADDING + button.size; if ((!button.iconTex || button.iconTex->m_texID == 0) && !button.icon.empty()) { - // render icon - auto fgcol = button.userfg ? button.fgcol : (button.bgcol.r + button.bgcol.g + button.bgcol.b < 1) ? CHyprColor(0xFFFFFFFF) : CHyprColor(0xFF000000); + if (button.icon.starts_with("file://")) { + + button.iconTex = g_pHyprOpenGL->loadAsset(button.icon.substr(6)); + } else { + // render icon + auto fgcol = button.userfg ? button.fgcol : (button.bgcol.r + button.bgcol.g + button.bgcol.b < 1) ? CHyprColor(0xFFFFFFFF) : CHyprColor(0xFF000000); + + button.iconTex = g_pHyprRenderer->renderText(button.icon, fgcol, std::round(button.size * 0.62 * scale), false, "sans", scaledButtonSize); + } - button.iconTex = g_pHyprRenderer->renderText(button.icon, fgcol, std::round(button.size * 0.62 * scale), false, "sans", scaledButtonSize); } if (!button.iconTex || button.iconTex->m_texID == 0)