@@ -240,7 +240,12 @@ void CHyprGroupBarDecoration::draw(PHLMONITOR pMonitor, float const& a) {
240
240
pMonitor->m_scale ))
241
241
.get ();
242
242
243
- const auto titleTex = m_dwGroupMembers[WINDOWINDEX] == g_pCompositor->m_lastWindow ? pTitleTex->m_texActive : pTitleTex->m_texInactive ;
243
+ SP<CTexture> titleTex;
244
+ if (m_dwGroupMembers[WINDOWINDEX] == g_pCompositor->m_lastWindow )
245
+ titleTex = GROUPLOCKED ? pTitleTex->m_texLockedActive : pTitleTex->m_texActive ;
246
+ else
247
+ titleTex = GROUPLOCKED ? pTitleTex->m_texLockedInactive : pTitleTex->m_texInactive ;
248
+
244
249
rect.y += std::ceil (((rect.height - titleTex->m_size .y ) / 2.0 ) - (*PTEXTOFFSET * pMonitor->m_scale ));
245
250
rect.height = titleTex->m_size .y ;
246
251
rect.width = titleTex->m_size .x ;
@@ -279,22 +284,33 @@ void CHyprGroupBarDecoration::invalidateTextures() {
279
284
}
280
285
281
286
CTitleTex::CTitleTex (PHLWINDOW pWindow, const Vector2D& bufferSize, const float monitorScale) : m_content(pWindow->m_title), m_windowOwner(pWindow) {
282
- static auto FALLBACKFONT = CConfigValue<std::string>(" misc:font_family" );
283
- static auto PTITLEFONTFAMILY = CConfigValue<std::string>(" group:groupbar:font_family" );
284
- static auto PTITLEFONTSIZE = CConfigValue<Hyprlang::INT>(" group:groupbar:font_size" );
285
- static auto PTEXTCOLOR = CConfigValue<Hyprlang::INT>(" group:groupbar:text_color" );
287
+ static auto FALLBACKFONT = CConfigValue<std::string>(" misc:font_family" );
288
+ static auto PTITLEFONTFAMILY = CConfigValue<std::string>(" group:groupbar:font_family" );
289
+ static auto PTITLEFONTSIZE = CConfigValue<Hyprlang::INT>(" group:groupbar:font_size" );
290
+ static auto PTEXTCOLORACTIVE = CConfigValue<Hyprlang::INT>(" group:groupbar:text_color" );
291
+ static auto PTEXTCOLORINACTIVE = CConfigValue<Hyprlang::INT>(" group:groupbar:text_color_inactive" );
292
+ static auto PTEXTCOLORLOCKEDACTIVE = CConfigValue<Hyprlang::INT>(" group:groupbar:text_color_locked_active" );
293
+ static auto PTEXTCOLORLOCKEDINACTIVE = CConfigValue<Hyprlang::INT>(" group:groupbar:text_color_locked_inactive" );
286
294
287
295
static auto PTITLEFONTWEIGHTACTIVE = CConfigValue<Hyprlang::CUSTOMTYPE>(" group:groupbar:font_weight_active" );
288
296
static auto PTITLEFONTWEIGHTINACTIVE = CConfigValue<Hyprlang::CUSTOMTYPE>(" group:groupbar:font_weight_inactive" );
289
297
290
298
const auto FONTWEIGHTACTIVE = (CFontWeightConfigValueData*)(PTITLEFONTWEIGHTACTIVE.ptr ())->getData ();
291
299
const auto FONTWEIGHTINACTIVE = (CFontWeightConfigValueData*)(PTITLEFONTWEIGHTINACTIVE.ptr ())->getData ();
292
300
293
- const CHyprColor COLOR = CHyprColor (*PTEXTCOLOR);
301
+ const CHyprColor COLORACTIVE = CHyprColor (*PTEXTCOLORACTIVE);
302
+ const CHyprColor COLORINACTIVE = *PTEXTCOLORINACTIVE == -1 ? COLORACTIVE : CHyprColor (*PTEXTCOLORINACTIVE);
303
+ const CHyprColor COLORLOCKEDACTIVE = *PTEXTCOLORLOCKEDACTIVE == -1 ? COLORACTIVE : CHyprColor (*PTEXTCOLORLOCKEDACTIVE);
304
+ const CHyprColor COLORLOCKEDINACTIVE = *PTEXTCOLORLOCKEDINACTIVE == -1 ? COLORINACTIVE : CHyprColor (*PTEXTCOLORLOCKEDINACTIVE);
305
+
294
306
const auto FONTFAMILY = *PTITLEFONTFAMILY != STRVAL_EMPTY ? *PTITLEFONTFAMILY : *FALLBACKFONT;
295
307
296
- m_texActive = g_pHyprOpenGL->renderText (pWindow->m_title , COLOR, *PTITLEFONTSIZE * monitorScale, false , FONTFAMILY, bufferSize.x - 2 , FONTWEIGHTACTIVE->m_value );
297
- m_texInactive = g_pHyprOpenGL->renderText (pWindow->m_title , COLOR, *PTITLEFONTSIZE * monitorScale, false , FONTFAMILY, bufferSize.x - 2 , FONTWEIGHTINACTIVE->m_value );
308
+ #define RENDER_TEXT (color, weight ) g_pHyprOpenGL->renderText (pWindow->m_title, (color), *PTITLEFONTSIZE* monitorScale, false, FONTFAMILY, bufferSize.x - 2, (weight));
309
+ m_texActive = RENDER_TEXT (COLORACTIVE, FONTWEIGHTACTIVE->m_value );
310
+ m_texInactive = RENDER_TEXT (COLORINACTIVE, FONTWEIGHTINACTIVE->m_value );
311
+ m_texLockedActive = RENDER_TEXT (COLORLOCKEDACTIVE, FONTWEIGHTACTIVE->m_value );
312
+ m_texLockedInactive = RENDER_TEXT (COLORLOCKEDINACTIVE, FONTWEIGHTINACTIVE->m_value );
313
+ #undef RENDER_TEXT
298
314
}
299
315
300
316
static void renderGradientTo (SP<CTexture> tex, CGradientValueData* grad) {
0 commit comments