From 76424950e373d3b04ac3dd13019151bfba3e8423 Mon Sep 17 00:00:00 2001 From: sumuel Date: Mon, 17 Aug 2026 20:44:55 +0000 Subject: Add the files --- src/flashfetch.c | 129 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 129 insertions(+) create mode 100644 src/flashfetch.c (limited to 'src/flashfetch.c') diff --git a/src/flashfetch.c b/src/flashfetch.c new file mode 100644 index 0000000..e056ca2 --- /dev/null +++ b/src/flashfetch.c @@ -0,0 +1,129 @@ +#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; +} -- cgit v1.2.3