mirror of
https://github.com/fastfetch-cli/fastfetch.git
synced 2026-10-29 16:26:39 +01:00
Terminal (Linux): support screen version detection
This commit is contained in:
@@ -400,6 +400,15 @@ static bool getTerminalVersionContour(FFstrbuf* exe, FFstrbuf* version)
|
||||
return version->length > 0;
|
||||
}
|
||||
|
||||
static bool getTerminalVersionScreen(FFstrbuf* exe, FFstrbuf* version)
|
||||
{
|
||||
if(!getExeVersionRaw(exe, version)) return false;
|
||||
// Screen version 4.09.01 (GNU) 20-Aug-23
|
||||
ffStrbufSubstrAfter(version, strlen("Screen version ") - 1);
|
||||
ffStrbufSubstrBeforeFirstC(version, ' ');
|
||||
return version->length > 0;
|
||||
}
|
||||
|
||||
#ifdef _WIN32
|
||||
|
||||
static bool getTerminalVersionWindowsTerminal(FFstrbuf* exe, FFstrbuf* version)
|
||||
@@ -511,6 +520,9 @@ bool fftsGetTerminalVersion(FFstrbuf* processName, FF_MAYBE_UNUSED FFstrbuf* exe
|
||||
if(ffStrbufStartsWithIgnCaseS(processName, "contour"))
|
||||
return getTerminalVersionContour(exe, version);
|
||||
|
||||
if(ffStrbufStartsWithIgnCaseS(processName, "screen"))
|
||||
return getTerminalVersionScreen(exe, version);
|
||||
|
||||
const char* termProgramVersion = getenv("TERM_PROGRAM_VERSION");
|
||||
if(termProgramVersion)
|
||||
{
|
||||
|
||||
@@ -466,6 +466,8 @@ static void setTerminalInfoDetails(FFTerminalResult* result)
|
||||
ffStrbufInitStatic(&result->prettyName, "WezTerm");
|
||||
else if(ffStrbufStartsWithS(&result->processName, "tmux:"))
|
||||
ffStrbufInitStatic(&result->prettyName, "tmux");
|
||||
else if(ffStrbufStartsWithS(&result->processName, "screen-"))
|
||||
ffStrbufInitStatic(&result->prettyName, "screen");
|
||||
|
||||
#if defined(__ANDROID__)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user