mirror of
https://github.com/fastfetch-cli/fastfetch.git
synced 2026-10-29 16:26:39 +01:00
96 lines
3.3 KiB
C
96 lines
3.3 KiB
C
#include "fastfetch.h"
|
|
|
|
#define FF_FONT_MODULE_NAME "Font"
|
|
#define FF_FONT_NUM_FORMAT_ARGS 17
|
|
|
|
void ffPrintFont(FFinstance* instance)
|
|
{
|
|
const FFstrbuf* plasma = &ffDetectPlasma(instance)->font;
|
|
const FFstrbuf* gtk2 = &ffDetectGTK2(instance)->font;
|
|
const FFstrbuf* gtk3 = &ffDetectGTK3(instance)->font;
|
|
const FFstrbuf* gtk4 = &ffDetectGTK4(instance)->font;
|
|
|
|
if(plasma->length == 0 && gtk2->length == 0 && gtk3->length == 0 && gtk4->length == 0)
|
|
{
|
|
ffPrintError(instance, FF_FONT_MODULE_NAME, 0, &instance->config.fontKey, &instance->config.fontFormat, FF_FONT_NUM_FORMAT_ARGS, "No fonts found");
|
|
return;
|
|
}
|
|
|
|
FF_STRBUF_CREATE(plasmaName);
|
|
double plasmaSize;
|
|
ffGetFont(plasma->chars, &plasmaName, &plasmaSize);
|
|
FF_STRBUF_CREATE(plasmaPretty);
|
|
ffGetFontPretty(&plasmaPretty, &plasmaName, plasmaSize);
|
|
|
|
FF_STRBUF_CREATE(gtk2Name);
|
|
double gtk2Size;
|
|
ffGetFont(gtk2->chars, >k2Name, >k2Size);
|
|
FF_STRBUF_CREATE(gtk2Pretty);
|
|
ffGetFontPretty(>k2Pretty, >k2Name, gtk2Size);
|
|
|
|
FF_STRBUF_CREATE(gtk3Name);
|
|
double gtk3Size;
|
|
ffGetFont(gtk3->chars, >k3Name, >k3Size);
|
|
FF_STRBUF_CREATE(gtk3Pretty);
|
|
ffGetFontPretty(>k3Pretty, >k3Name, gtk3Size);
|
|
|
|
FF_STRBUF_CREATE(gtk4Name);
|
|
double gtk4Size;
|
|
ffGetFont(gtk4->chars, >k4Name, >k4Size);
|
|
FF_STRBUF_CREATE(gtk4Pretty);
|
|
ffGetFontPretty(>k4Pretty, >k4Name, gtk4Size);
|
|
|
|
FF_STRBUF_CREATE(gtkPretty);
|
|
ffGetGtkPretty(>kPretty, >k2Pretty, >k3Pretty, >k4Pretty);
|
|
|
|
if(instance->config.fontFormat.length == 0)
|
|
{
|
|
ffPrintLogoAndKey(instance, FF_FONT_MODULE_NAME, 0, &instance->config.fontKey);
|
|
if(plasma->length > 0)
|
|
{
|
|
ffStrbufWriteTo(&plasmaPretty, stdout);
|
|
fputs(" [Plasma]", stdout);
|
|
|
|
if(gtkPretty.length > 0)
|
|
fputs(", ", stdout);
|
|
}
|
|
ffStrbufPutTo(>kPretty, stdout);
|
|
}
|
|
else
|
|
{
|
|
ffPrintFormatString(instance, FF_FONT_MODULE_NAME, 0, &instance->config.fontKey, &instance->config.fontFormat, NULL, FF_FONT_NUM_FORMAT_ARGS, (FFformatarg[]){
|
|
{FF_FORMAT_ARG_TYPE_STRBUF, plasma},
|
|
{FF_FORMAT_ARG_TYPE_STRBUF, &plasmaName},
|
|
{FF_FORMAT_ARG_TYPE_DOUBLE, &plasmaSize},
|
|
{FF_FORMAT_ARG_TYPE_STRBUF, &plasmaPretty},
|
|
{FF_FORMAT_ARG_TYPE_STRBUF, gtk2},
|
|
{FF_FORMAT_ARG_TYPE_STRBUF, >k2Name},
|
|
{FF_FORMAT_ARG_TYPE_DOUBLE, >k2Size},
|
|
{FF_FORMAT_ARG_TYPE_STRBUF, >k2Pretty},
|
|
{FF_FORMAT_ARG_TYPE_STRBUF, gtk3},
|
|
{FF_FORMAT_ARG_TYPE_STRBUF, >k3Name},
|
|
{FF_FORMAT_ARG_TYPE_DOUBLE, >k3Size},
|
|
{FF_FORMAT_ARG_TYPE_STRBUF, >k3Pretty},
|
|
{FF_FORMAT_ARG_TYPE_STRBUF, gtk4},
|
|
{FF_FORMAT_ARG_TYPE_STRBUF, >k4Name},
|
|
{FF_FORMAT_ARG_TYPE_DOUBLE, >k4Size},
|
|
{FF_FORMAT_ARG_TYPE_STRBUF, >k4Pretty},
|
|
{FF_FORMAT_ARG_TYPE_STRBUF, >kPretty}
|
|
});
|
|
}
|
|
|
|
ffStrbufDestroy(&plasmaName);
|
|
ffStrbufDestroy(&plasmaPretty);
|
|
|
|
ffStrbufDestroy(>k2Name);
|
|
ffStrbufDestroy(>k2Pretty);
|
|
|
|
ffStrbufDestroy(>k3Name);
|
|
ffStrbufDestroy(>k3Pretty);
|
|
|
|
ffStrbufDestroy(>k4Name);
|
|
ffStrbufDestroy(>k4Pretty);
|
|
|
|
ffStrbufDestroy(>kPretty);
|
|
}
|