From 26978b7d4802f2cb530d0e91972121f62f18ff7c Mon Sep 17 00:00:00 2001 From: Carter Li Date: Thu, 22 Jun 2023 02:01:33 +0000 Subject: [PATCH] Terminal (Linux): print `gnome-terminal-server` as `gnome-terminal` --- src/detection/terminalshell/terminalshell_linux.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/detection/terminalshell/terminalshell_linux.c b/src/detection/terminalshell/terminalshell_linux.c index 1c6188601..300af0a31 100644 --- a/src/detection/terminalshell/terminalshell_linux.c +++ b/src/detection/terminalshell/terminalshell_linux.c @@ -372,12 +372,22 @@ const FFTerminalShellResult* ffDetectTerminalShell(const FFinstance* instance) ffStrbufInitS(&result.shellPrettyName, result.shellExeName); } - if(ffStrbufEqualS(&result.terminalProcessName, "iTerm.app") || ffStrbufStartsWithS(&result.terminalProcessName, "iTermServer-")) + #if defined(__linux__) || defined(__FreeBSD__) + + if(ffStrbufStartsWithS(&result.terminalProcessName, "gnome-terminal-")) + ffStrbufInitS(&result.terminalPrettyName, "gnome-terminal"); + + #elif defined(__APPLE__) + + else if(ffStrbufEqualS(&result.terminalProcessName, "iTerm.app") || ffStrbufStartsWithS(&result.terminalProcessName, "iTermServer-")) ffStrbufInitS(&result.terminalPrettyName, "iTerm"); else if(ffStrbufEqualS(&result.terminalProcessName, "Apple_Terminal")) ffStrbufInitS(&result.terminalPrettyName, "Apple Terminal"); else if(ffStrbufEqualS(&result.terminalProcessName, "WarpTerminal")) ffStrbufInitS(&result.terminalPrettyName, "Warp"); + + #endif + else if(ffStrbufEqualS(&result.terminalProcessName, "wezterm-gui")) ffStrbufInitS(&result.terminalPrettyName, "WezTerm"); else if(strncmp(result.terminalExeName, result.terminalProcessName.chars, result.terminalProcessName.length) == 0) // if exeName starts with processName, print it. Otherwise print processName