From 46ed8aa87cdc47623e8da7b273d1ff39ed9b6c54 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E9=80=9A=E6=B4=B2?= Date: Thu, 12 Jan 2023 00:18:02 +0800 Subject: [PATCH] TerminalFont: don't try to detecting kitty and tty fonts on Windows --- src/detection/terminalfont/terminalfont.c | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/detection/terminalfont/terminalfont.c b/src/detection/terminalfont/terminalfont.c index 9e9996304..41ff5428b 100644 --- a/src/detection/terminalfont/terminalfont.c +++ b/src/detection/terminalfont/terminalfont.c @@ -37,7 +37,7 @@ static void detectAlacritty(const FFinstance* instance, FFTerminalFontResult* te ffStrbufDestroy(&fontSize); } -static void detectTTY(FFTerminalFontResult* terminalFont) +FF_MAYBE_UNUSED static void detectTTY(FFTerminalFontResult* terminalFont) { FFstrbuf fontName; ffStrbufInit(&fontName); @@ -291,7 +291,7 @@ static void detectFromWindowsTeriminal(const FFinstance* instance, const FFstrbu #endif #endif //defined(_WIN32) || defined(__linux__) -static bool detectKitty(const FFinstance* instance, FFTerminalFontResult* result) +FF_MAYBE_UNUSED static bool detectKitty(const FFinstance* instance, FFTerminalFontResult* result) { FFstrbuf fontName; ffStrbufInit(&fontName); @@ -354,17 +354,20 @@ static bool detectTerminalFontCommon(const FFinstance* instance, const FFTermina { if(ffStrbufStartsWithIgnCaseS(&terminalShell->terminalProcessName, "alacritty")) detectAlacritty(instance, terminalFont); - else if(ffStrbufIgnCaseCompS(&terminalShell->terminalProcessName, "kitty") == 0) - detectKitty(instance, terminalFont); else if(ffStrbufStartsWithIgnCaseS(&terminalShell->terminalProcessName, "wezterm-gui")) detectWezterm(instance, terminalFont); + + #ifndef _WIN32 + else if(ffStrbufIgnCaseEqualS(&terminalShell->terminalProcessName, "kitty")) + detectKitty(instance, terminalFont); else if(ffStrbufStartsWithIgnCaseS(&terminalShell->terminalExe, "/dev/tty")) detectTTY(terminalFont); + #endif #if defined(_WIN32) || defined(__linux__) //Used by both Linux (WSL) and Windows - else if(ffStrbufIgnCaseCompS(&terminalShell->terminalProcessName, "Windows Terminal") == 0 || - ffStrbufIgnCaseCompS(&terminalShell->terminalProcessName, "WindowsTerminal.exe") == 0) + else if(ffStrbufIgnCaseEqualS(&terminalShell->terminalProcessName, "Windows Terminal") || + ffStrbufIgnCaseEqualS(&terminalShell->terminalProcessName, "WindowsTerminal.exe")) detectFromWindowsTeriminal(instance, &terminalShell->terminalExe, terminalFont); #endif