@@ -287,10 +287,10 @@ static void detectFromWindowsTeriminal(const FFinstance* instance, const FFstrbu
287287
288288FF_MAYBE_UNUSED static bool detectKitty (const FFinstance * instance , FFTerminalFontResult * result )
289289{
290- FFstrbuf fontName ;
290+ FF_STRBUF_AUTO_DESTROY fontName ;
291291 ffStrbufInit (& fontName );
292292
293- FFstrbuf fontSize ;
293+ FF_STRBUF_AUTO_DESTROY fontSize ;
294294 ffStrbufInit (& fontSize );
295295
296296 FFpropquery fontQuery [] = {
@@ -308,9 +308,6 @@ FF_MAYBE_UNUSED static bool detectKitty(const FFinstance* instance, FFTerminalFo
308308
309309 ffFontInitValues (& result -> font , fontName .chars , fontSize .chars );
310310
311- ffStrbufDestroy (& fontName );
312- ffStrbufDestroy (& fontSize );
313-
314311 return true;
315312}
316313
@@ -373,6 +370,32 @@ static bool detectWezterm(FF_MAYBE_UNUSED const FFinstance* instance, FFTerminal
373370 return true;
374371}
375372
373+ static bool detectTabby (FF_MAYBE_UNUSED const FFinstance * instance , FFTerminalFontResult * result )
374+ {
375+ FF_STRBUF_AUTO_DESTROY fontName ;
376+ ffStrbufInit (& fontName );
377+
378+ FF_STRBUF_AUTO_DESTROY fontSize ;
379+ ffStrbufInit (& fontSize );
380+
381+ FFpropquery fontQuery [] = {
382+ {"font: " , & fontName },
383+ {"fontSize: " , & fontSize },
384+ };
385+
386+ if (!ffParsePropFileConfigValues (instance , "tabby/config.yaml" , 2 , fontQuery ))
387+ return false;
388+
389+ if (fontName .length == 0 )
390+ ffStrbufSetS (& fontName , "monospace" );
391+ if (fontSize .length == 0 )
392+ ffStrbufSetS (& fontSize , "14" );
393+
394+ ffFontInitValues (& result -> font , fontName .chars , fontSize .chars );
395+
396+ return true;
397+ }
398+
376399void ffDetectTerminalFontPlatform (const FFinstance * instance , const FFTerminalShellResult * terminalShell , FFTerminalFontResult * terminalFont );
377400
378401static bool detectTerminalFontCommon (const FFinstance * instance , const FFTerminalShellResult * terminalShell , FFTerminalFontResult * terminalFont )
@@ -383,6 +406,8 @@ static bool detectTerminalFontCommon(const FFinstance* instance, const FFTermina
383406 detectTerminator (instance , terminalFont );
384407 else if (ffStrbufStartsWithIgnCaseS (& terminalShell -> terminalProcessName , "wezterm-gui" ))
385408 detectWezterm (instance , terminalFont );
409+ else if (ffStrbufStartsWithIgnCaseS (& terminalShell -> terminalProcessName , "tabby" ))
410+ detectTabby (instance , terminalFont );
386411
387412 #ifndef _WIN32
388413 else if (ffStrbufIgnCaseEqualS (& terminalShell -> terminalProcessName , "kitty "))
0 commit comments