TerminalFont (Haiku): support Haiku Terminal

This commit is contained in:
Carter Li
2025-02-12 22:48:24 +00:00
parent d1a98fe69f
commit f2a41b82bc
@@ -418,6 +418,21 @@ static void detectWestonTerminal(FFTerminalFontResult* terminalFont)
ffFontInitValues(&terminalFont->font, font.chars, size.chars);
}
#ifdef __HAIKU__
static void detectHaikuTerminal(FFTerminalFontResult* terminalFont)
{
FF_STRBUF_AUTO_DESTROY font = ffStrbufCreate();
FF_STRBUF_AUTO_DESTROY size = ffStrbufCreate();
ffParsePropFileConfigValues("Terminal/Default", 2, (FFpropquery[]) {
{"\"Half Font Family\" , ", &font},
{"\"Half Font Size\" , ", &size},
});
if (!font.length) ffStrbufSetStatic(&font, "Noto Sans Mono");
if (!size.length) ffStrbufSetStatic(&size, "12");
ffFontInitValues(&terminalFont->font, font.chars, size.chars);
}
#endif
void ffDetectTerminalFontPlatform(const FFTerminalResult* terminal, FFTerminalFontResult* terminalFont)
{
if(ffStrbufIgnCaseEqualS(&terminal->processName, "konsole"))
@@ -455,5 +470,9 @@ void ffDetectTerminalFontPlatform(const FFTerminalResult* terminal, FFTerminalFo
else if(ffStrbufStartsWithIgnCaseS(&terminal->processName, "terminator"))
detectTerminator(terminalFont);
else if(ffStrbufStartsWithIgnCaseS(&terminal->processName, "sakura"))
detectFromConfigFile("sakura/sakura.conf", "font=", terminalFont);;
detectFromConfigFile("sakura/sakura.conf", "font=", terminalFont);
#ifdef __HAIKU__
else if(ffStrbufStartsWithIgnCaseS(&terminal->processName, "Terminal"))
detectHaikuTerminal(terminalFont);
#endif
}