@@ -243,6 +243,29 @@ static bool detectContour(const FFstrbuf* exe, FFTerminalFontResult* result)
243
243
return true;
244
244
}
245
245
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
+
246
269
void ffDetectTerminalFontPlatform (const FFTerminalResult * terminal , FFTerminalFontResult * terminalFont );
247
270
248
271
static bool detectTerminalFontCommon (const FFTerminalResult * terminal , FFTerminalFontResult * terminalFont )
@@ -257,6 +280,8 @@ static bool detectTerminalFontCommon(const FFTerminalResult* terminal, FFTermina
257
280
detectContour (& terminal -> exe , terminalFont );
258
281
else if (ffStrbufStartsWithIgnCaseS (& terminal -> processName , "ghostty" ))
259
282
detectGhostty (terminalFont );
283
+ else if (ffStrbufStartsWithIgnCaseS (& terminal -> processName , "rio" ))
284
+ detectRio (terminalFont );
260
285
261
286
#ifndef _WIN32
262
287
else if (ffStrbufStartsWithIgnCaseS (& terminal -> exe , "/dev/pts/" ))
0 commit comments