Files
fastfetch/src/detection/terminalshell/terminalshell.h
T
2026-05-28 10:31:35 +08:00

36 lines
1016 B
C

#pragma once
#include "fastfetch.h"
#include "modules/terminal/option.h"
#include "modules/shell/option.h"
typedef struct FFShellResult {
FFstrbuf processName;
FFstrbuf exe; // Actually arg0 in *nix
const char* exeName; // pointer to a char in exe
FFstrbuf exePath; // Full real path to executable file
FFstrbuf prettyName;
FFstrbuf version;
uint32_t pid;
uint32_t ppid;
int32_t tty;
} FFShellResult;
typedef struct FFTerminalResult {
FFstrbuf processName;
FFstrbuf exe;
FFstrbuf prettyName;
const char* exeName; // pointer to a char in exe
FFstrbuf exePath; // Full real path to executable file
FFstrbuf version;
FFstrbuf tty;
uint32_t pid;
uint32_t ppid;
} FFTerminalResult;
const FFShellResult* ffDetectShell();
const FFTerminalResult* ffDetectTerminal();
bool fftsGetShellVersion(FFstrbuf* exe, const char* exeName, FFstrbuf* version);
bool fftsGetTerminalVersion(FFstrbuf* processName, FFstrbuf* exe, FFstrbuf* version);