Files
fastfetch/src/modules/font.c
T

93 lines
3.3 KiB
C
Raw Normal View History

2021-02-18 22:25:36 +01:00
#include "fastfetch.h"
2021-04-15 18:59:26 +02:00
#define FF_FONT_MODULE_NAME "Font"
#define FF_FONT_NUM_FORMAT_ARGS 17
2021-02-27 18:30:05 +01:00
void ffPrintFont(FFinstance* instance)
2021-02-18 22:25:36 +01:00
{
2021-04-16 20:22:38 +02:00
ffCalculatePlasmaAndGtk(instance);
2021-02-19 16:23:41 +01:00
2021-04-16 20:22:38 +02:00
if(instance->state.plasma.font.length == 0 && instance->state.gtk2.font.length == 0 && instance->state.gtk3.font.length == 0 && instance->state.gtk4.font.length == 0)
2021-04-05 19:25:34 +02:00
{
2021-04-15 18:59:26 +02:00
ffPrintError(instance, FF_FONT_MODULE_NAME, 0, &instance->config.fontKey, &instance->config.fontFormat, FF_FONT_NUM_FORMAT_ARGS, "No fonts found");
2021-04-05 19:25:34 +02:00
return;
}
2021-02-18 22:25:36 +01:00
2021-04-05 19:25:34 +02:00
FF_STRBUF_CREATE(plasmaName);
double plasmaSize;
2021-04-16 20:22:38 +02:00
ffGetFont(instance->state.plasma.font.chars, &plasmaName, &plasmaSize);
2021-04-07 12:55:11 +02:00
FF_STRBUF_CREATE(plasmaPretty);
2021-04-09 14:07:05 +02:00
ffGetFontPretty(&plasmaPretty, &plasmaName, plasmaSize);
2021-04-05 19:25:34 +02:00
FF_STRBUF_CREATE(gtk2Name);
double gtk2Size;
2021-04-16 20:22:38 +02:00
ffGetFont(instance->state.gtk2.font.chars, &gtk2Name, &gtk2Size);
2021-04-05 19:25:34 +02:00
FF_STRBUF_CREATE(gtk2Pretty);
2021-04-09 14:07:05 +02:00
ffGetFontPretty(&gtk2Pretty, &gtk2Name, gtk2Size);
2021-04-05 19:25:34 +02:00
FF_STRBUF_CREATE(gtk3Name);
double gtk3Size;
2021-04-16 20:22:38 +02:00
ffGetFont(instance->state.gtk3.font.chars, &gtk3Name, &gtk3Size);
2021-04-05 19:25:34 +02:00
FF_STRBUF_CREATE(gtk3Pretty);
2021-04-09 14:07:05 +02:00
ffGetFontPretty(&gtk3Pretty, &gtk3Name, gtk3Size);
2021-04-05 19:25:34 +02:00
FF_STRBUF_CREATE(gtk4Name);
double gtk4Size;
2021-04-16 20:22:38 +02:00
ffGetFont(instance->state.gtk4.font.chars, &gtk4Name, &gtk4Size);
2021-04-05 19:25:34 +02:00
FF_STRBUF_CREATE(gtk4Pretty);
2021-04-09 14:07:05 +02:00
ffGetFontPretty(&gtk4Pretty, &gtk4Name, gtk4Size);
2021-03-27 18:14:19 +01:00
FF_STRBUF_CREATE(gtkPretty);
2021-04-09 14:07:05 +02:00
ffGetGtkPretty(&gtkPretty, &gtk2Pretty, &gtk3Pretty, &gtk4Pretty);
2021-03-19 20:57:07 +01:00
2021-03-23 19:48:52 +01:00
if(instance->config.fontFormat.length == 0)
2021-02-18 22:25:36 +01:00
{
2021-04-15 18:59:26 +02:00
ffPrintLogoAndKey(instance, FF_FONT_MODULE_NAME, 0, &instance->config.fontKey);
2021-04-16 20:22:38 +02:00
if(instance->state.plasma.font.length > 0)
2021-04-05 19:25:34 +02:00
{
ffStrbufWriteTo(&plasmaPretty, stdout);
fputs(" [Plasma]", stdout);
if(gtkPretty.length > 0)
fputs(", ", stdout);
}
2021-03-22 20:02:32 +01:00
ffStrbufPutTo(&gtkPretty, stdout);
2021-02-18 22:25:36 +01:00
}
else
{
2021-04-15 18:59:26 +02:00
ffPrintFormatString(instance, FF_FONT_MODULE_NAME, 0, &instance->config.fontKey, &instance->config.fontFormat, NULL, FF_FONT_NUM_FORMAT_ARGS, (FFformatarg[]){
2021-04-16 20:22:38 +02:00
{FF_FORMAT_ARG_TYPE_STRBUF, &instance->state.plasma.font},
2021-04-15 18:59:26 +02:00
{FF_FORMAT_ARG_TYPE_STRBUF, &plasmaName},
{FF_FORMAT_ARG_TYPE_DOUBLE, &plasmaSize},
{FF_FORMAT_ARG_TYPE_STRBUF, &plasmaPretty},
2021-04-16 20:22:38 +02:00
{FF_FORMAT_ARG_TYPE_STRBUF, &instance->state.gtk2.font},
2021-04-15 18:59:26 +02:00
{FF_FORMAT_ARG_TYPE_STRBUF, &gtk2Name},
{FF_FORMAT_ARG_TYPE_DOUBLE, &gtk2Size},
{FF_FORMAT_ARG_TYPE_STRBUF, &gtk2Pretty},
2021-04-16 20:22:38 +02:00
{FF_FORMAT_ARG_TYPE_STRBUF, &instance->state.gtk3.font},
2021-04-15 18:59:26 +02:00
{FF_FORMAT_ARG_TYPE_STRBUF, &gtk3Name},
{FF_FORMAT_ARG_TYPE_DOUBLE, &gtk3Size},
{FF_FORMAT_ARG_TYPE_STRBUF, &gtk3Pretty},
2021-04-16 20:22:38 +02:00
{FF_FORMAT_ARG_TYPE_STRBUF, &instance->state.gtk4.font},
2021-04-15 18:59:26 +02:00
{FF_FORMAT_ARG_TYPE_STRBUF, &gtk4Name},
{FF_FORMAT_ARG_TYPE_DOUBLE, &gtk4Size},
{FF_FORMAT_ARG_TYPE_STRBUF, &gtk4Pretty},
{FF_FORMAT_ARG_TYPE_STRBUF, &gtkPretty}
});
2021-02-18 22:25:36 +01:00
}
2021-04-05 19:25:34 +02:00
ffStrbufDestroy(&plasmaName);
ffStrbufDestroy(&plasmaPretty);
ffStrbufDestroy(&gtk2Name);
ffStrbufDestroy(&gtk2Pretty);
ffStrbufDestroy(&gtk3Name);
ffStrbufDestroy(&gtk3Pretty);
2021-04-15 18:59:26 +02:00
ffStrbufDestroy(&gtk4Name);
ffStrbufDestroy(&gtk4Pretty);
2021-04-07 12:55:11 +02:00
ffStrbufDestroy(&gtkPretty);
2021-03-27 18:14:19 +01:00
}