From 8fad590f8b645368ce5aa8b143d1a84465dba4c6 Mon Sep 17 00:00:00 2001 From: CSoellinger Date: Thu, 2 Feb 2023 11:40:37 +0100 Subject: [PATCH 1/2] feat: add terminator terminal support --- src/detection/terminalfont/terminalfont.c | 24 +++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/src/detection/terminalfont/terminalfont.c b/src/detection/terminalfont/terminalfont.c index d4c1359adc..5ea2f3876a 100644 --- a/src/detection/terminalfont/terminalfont.c +++ b/src/detection/terminalfont/terminalfont.c @@ -320,6 +320,28 @@ FF_MAYBE_UNUSED static bool detectKitty(const FFinstance* instance, FFTerminalFo return true; } +static bool detectTerminator(const FFinstance* instance, FFTerminalFontResult* result) +{ + FFstrbuf fontName; + ffStrbufInit(&fontName); + + FFpropquery fontQuery[] = { + {"font =", &fontName}, + }; + + if(!ffParsePropFileConfigValues(instance, "terminator/config", 1, fontQuery)) + return false; + + if(fontName.length == 0) + ffStrbufSetS(&fontName, "Mono 8"); + + ffFontInitCopy(&result->font, fontName.chars); + + ffStrbufDestroy(&fontName); + + return true; +} + static bool detectWezterm(FF_MAYBE_UNUSED const FFinstance* instance, FFTerminalFontResult* result) { FF_STRBUF_AUTO_DESTROY fontName; @@ -354,6 +376,8 @@ static bool detectTerminalFontCommon(const FFinstance* instance, const FFTermina { if(ffStrbufStartsWithIgnCaseS(&terminalShell->terminalProcessName, "alacritty")) detectAlacritty(instance, terminalFont); + else if(ffStrbufStartsWithIgnCaseS(&terminalShell->terminalProcessName, "terminator")) + detectTerminator(instance, terminalFont); else if(ffStrbufStartsWithIgnCaseS(&terminalShell->terminalProcessName, "wezterm-gui")) detectWezterm(instance, terminalFont); From 84ccda45b01e0dd1607aa678cb7fd676cc409d56 Mon Sep 17 00:00:00 2001 From: CSoellinger Date: Thu, 2 Feb 2023 16:16:24 +0100 Subject: [PATCH 2/2] feat: simplify parse prop file config --- src/detection/terminalfont/terminalfont.c | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/src/detection/terminalfont/terminalfont.c b/src/detection/terminalfont/terminalfont.c index 5ea2f3876a..daf984dad5 100644 --- a/src/detection/terminalfont/terminalfont.c +++ b/src/detection/terminalfont/terminalfont.c @@ -325,11 +325,7 @@ static bool detectTerminator(const FFinstance* instance, FFTerminalFontResult* r FFstrbuf fontName; ffStrbufInit(&fontName); - FFpropquery fontQuery[] = { - {"font =", &fontName}, - }; - - if(!ffParsePropFileConfigValues(instance, "terminator/config", 1, fontQuery)) + if(!ffParsePropFileConfig(instance, "terminator/config", "font =", &fontName)) return false; if(fontName.length == 0)