mirror of
https://github.com/fastfetch-cli/fastfetch.git
synced 2026-09-13 02:42:09 +02:00
130 lines
3.1 KiB
C
130 lines
3.1 KiB
C
#include "fastfetch.h"
|
|
|
|
#include "common/init.h"
|
|
#include "logo/logo.h"
|
|
#include "modules/modules.h"
|
|
|
|
#define MODULE_OPTION(name) \
|
|
FF_A_CLEANUP(ffDestroy##name##Options) FF##name##Options options; \
|
|
ffInit##name##Options(&options);
|
|
|
|
// A dirty replicate of neofetch; demonstration only.
|
|
int main(void) {
|
|
ffInitInstance(); // Init everything
|
|
|
|
// Modify global config here if needed
|
|
instance.config.display.sizeMaxPrefix = 2; // MB
|
|
instance.config.display.sizeNdigits = 0;
|
|
instance.config.display.freqNdigits = 3;
|
|
instance.config.display.freqSpaceBeforeUnit = FF_SPACE_BEFORE_UNIT_NEVER;
|
|
instance.config.display.sizeSpaceBeforeUnit = FF_SPACE_BEFORE_UNIT_NEVER;
|
|
|
|
// Some preparation stuff
|
|
ffStart();
|
|
|
|
// Print logo
|
|
ffLogoPrintDetected(FF_LOGO_SIZE_NORMAL);
|
|
|
|
// Print all modules
|
|
{
|
|
MODULE_OPTION(Title)
|
|
ffPrintTitle(&options);
|
|
}
|
|
{
|
|
MODULE_OPTION(Separator)
|
|
ffPrintSeparator(&options);
|
|
}
|
|
{
|
|
MODULE_OPTION(OS)
|
|
ffPrintOS(&options);
|
|
}
|
|
{
|
|
MODULE_OPTION(Host)
|
|
ffPrintHost(&options);
|
|
}
|
|
{
|
|
MODULE_OPTION(Kernel)
|
|
ffStrbufSetStatic(&options.moduleArgs.outputFormat, "{release}");
|
|
ffPrintKernel(&options);
|
|
}
|
|
{
|
|
MODULE_OPTION(Uptime)
|
|
ffPrintUptime(&options);
|
|
}
|
|
{
|
|
MODULE_OPTION(Packages)
|
|
options.combined = true;
|
|
ffPrintPackages(&options);
|
|
}
|
|
{
|
|
MODULE_OPTION(Shell)
|
|
ffPrintShell(&options);
|
|
}
|
|
{
|
|
MODULE_OPTION(Display)
|
|
options.compactType = FF_DISPLAY_COMPACT_TYPE_ORIGINAL_BIT;
|
|
ffStrbufSetStatic(&options.moduleArgs.key, "Resolution");
|
|
ffPrintDisplay(&options);
|
|
}
|
|
{
|
|
MODULE_OPTION(DE)
|
|
ffPrintDE(&options);
|
|
}
|
|
{
|
|
instance.config.general.detectVersion = false;
|
|
MODULE_OPTION(WM)
|
|
options.detectPlugin = true;
|
|
ffPrintWM(&options);
|
|
instance.config.general.detectVersion = true;
|
|
}
|
|
{
|
|
MODULE_OPTION(WMTheme)
|
|
ffPrintWMTheme(&options);
|
|
}
|
|
{
|
|
MODULE_OPTION(Theme)
|
|
ffPrintTheme(&options);
|
|
}
|
|
{
|
|
MODULE_OPTION(Icons)
|
|
ffPrintIcons(&options);
|
|
}
|
|
{
|
|
MODULE_OPTION(Terminal)
|
|
ffPrintTerminal(&options);
|
|
}
|
|
{
|
|
MODULE_OPTION(TerminalFont)
|
|
ffStrbufSetStatic(&options.moduleArgs.outputFormat, "{/name}{-}{/}{name}{?size} {size}{?}");
|
|
ffPrintTerminalFont(&options);
|
|
}
|
|
{
|
|
MODULE_OPTION(CPU)
|
|
ffPrintCPU(&options);
|
|
}
|
|
{
|
|
MODULE_OPTION(GPU)
|
|
ffStrbufSetStatic(&options.moduleArgs.key, "GPU");
|
|
ffStrbufSetStatic(&options.moduleArgs.outputFormat, "{name}");
|
|
ffPrintGPU(&options);
|
|
}
|
|
{
|
|
MODULE_OPTION(Memory)
|
|
ffStrbufSetStatic(&options.moduleArgs.outputFormat, "{} / {}");
|
|
ffPrintMemory(&options);
|
|
}
|
|
{
|
|
MODULE_OPTION(Break)
|
|
ffPrintBreak(&options);
|
|
}
|
|
{
|
|
MODULE_OPTION(Colors)
|
|
ffPrintColors(&options);
|
|
}
|
|
|
|
ffLogoPrintRemaining();
|
|
ffFinish();
|
|
ffDestroyInstance();
|
|
return 0;
|
|
}
|