Skip to content

Commit ddf5099

Browse files
dpassenCarterLi
andauthored
TerminalFont: support rio terminal emulator (#1789)
* Enable terminal font detection for rio terminal emulator https://rioterm.com https://rioterm.com/docs/config https://rioterm.com/docs/config#fonts * Update src/detection/terminalfont/terminalfont.c Fix default rio font name Co-authored-by: Carter Li <[email protected]> --------- Co-authored-by: Carter Li <[email protected]>
1 parent 781a692 commit ddf5099

File tree

1 file changed

+25
-0
lines changed

1 file changed

+25
-0
lines changed

src/detection/terminalfont/terminalfont.c

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -243,6 +243,29 @@ static bool detectContour(const FFstrbuf* exe, FFTerminalFontResult* result)
243243
return true;
244244
}
245245

246+
static bool detectRio(FFTerminalFontResult* terminalFont)
247+
{
248+
FF_STRBUF_AUTO_DESTROY fontName = ffStrbufCreate();
249+
FF_STRBUF_AUTO_DESTROY fontSize = ffStrbufCreate();
250+
251+
FFpropquery fontQueryToml[] = {
252+
{"family =", &fontName},
253+
{"size =", &fontSize},
254+
};
255+
256+
ffParsePropFileConfigValues("rio/config.toml", 2, fontQueryToml);
257+
258+
if(fontName.length == 0)
259+
ffStrbufAppendS(&fontName, "Cascadia Code");
260+
261+
if(fontSize.length == 0)
262+
ffStrbufAppendS(&fontSize, "18");
263+
264+
ffFontInitValues(&terminalFont->font, fontName.chars, fontSize.chars);
265+
266+
return true;
267+
}
268+
246269
void ffDetectTerminalFontPlatform(const FFTerminalResult* terminal, FFTerminalFontResult* terminalFont);
247270

248271
static bool detectTerminalFontCommon(const FFTerminalResult* terminal, FFTerminalFontResult* terminalFont)
@@ -257,6 +280,8 @@ static bool detectTerminalFontCommon(const FFTerminalResult* terminal, FFTermina
257280
detectContour(&terminal->exe, terminalFont);
258281
else if(ffStrbufStartsWithIgnCaseS(&terminal->processName, "ghostty"))
259282
detectGhostty(terminalFont);
283+
else if(ffStrbufStartsWithIgnCaseS(&terminal->processName, "rio"))
284+
detectRio(terminalFont);
260285

261286
#ifndef _WIN32
262287
else if(ffStrbufStartsWithIgnCaseS(&terminal->exe, "/dev/pts/"))

0 commit comments

Comments
 (0)