Files
fastfetch/src/modules/font.c
T

71 lines
2.0 KiB
C
Raw Normal View History

2021-02-18 22:25:36 +01:00
#include "fastfetch.h"
2021-02-27 18:30:05 +01:00
void ffPrintFont(FFinstance* instance)
2021-02-18 22:25:36 +01:00
{
char plasma[256];
2021-02-27 18:30:05 +01:00
ffParsePropFileHome(instance, ".config/kdeglobals", "font=%[^\n]", plasma);
2021-03-19 20:57:07 +01:00
char plasmaPretty[256];
if(plasma[0] == '\0')
strcpy(plasmaPretty, "Noto Sans (10pt)");
else
ffParseFont(plasma, plasmaPretty);
2021-02-19 16:23:41 +01:00
2021-02-18 22:25:36 +01:00
char gtk2[256];
2021-02-27 18:30:05 +01:00
ffParsePropFileHome(instance, ".gtkrc-2.0", "gtk-font-name=\"%[^\"]+", gtk2);
2021-02-19 16:23:41 +01:00
2021-02-18 22:25:36 +01:00
char gtk2Pretty[256];
2021-02-19 16:23:41 +01:00
if(gtk2[0] == '\0')
gtk2Pretty[0] = '\0';
else
2021-03-11 17:21:18 +01:00
ffParseFont(gtk2, gtk2Pretty);
2021-02-18 22:25:36 +01:00
char gtk3[256];
2021-02-27 18:30:05 +01:00
ffParsePropFileHome(instance, ".config/gtk-3.0/settings.ini", "gtk-font-name=%[^\n]", gtk3);
2021-02-19 16:23:41 +01:00
2021-02-18 22:25:36 +01:00
char gtk3Pretty[256];
2021-02-19 16:23:41 +01:00
if(gtk3[0] == '\0')
2021-02-22 17:14:46 +01:00
gtk3Pretty[0] = '\0';
2021-02-19 16:23:41 +01:00
else
2021-03-11 17:21:18 +01:00
ffParseFont(gtk3, gtk3Pretty);
2021-02-18 22:25:36 +01:00
char gtk4[256];
2021-02-27 18:30:05 +01:00
ffParsePropFileHome(instance, ".config/gtk-4.0/settings.ini", "gtk-font-name=%[^\n]", gtk4);
2021-02-19 16:23:41 +01:00
2021-02-18 22:25:36 +01:00
char gtk4Pretty[256];
2021-02-19 16:23:41 +01:00
if(gtk4Pretty[0] == '\0')
gtk4Pretty[0] = '\0';
else
2021-03-11 17:21:18 +01:00
ffParseFont(gtk4, gtk4Pretty);
2021-02-18 22:25:36 +01:00
2021-03-19 20:57:07 +01:00
FFstrbuf gtkPretty;
ffStrbufInit(&gtkPretty);
ffFormatGtkPretty(&gtkPretty, gtk2Pretty, gtk3Pretty, gtk4Pretty);
2021-02-27 18:30:05 +01:00
ffPrintLogoAndKey(instance, "Font");
2021-02-18 22:25:36 +01:00
2021-03-19 20:57:07 +01:00
if(ffStrbufIsEmpty(&instance->config.fontFormat))
2021-02-18 22:25:36 +01:00
{
2021-03-19 20:57:07 +01:00
printf("%s [Plasma], ", plasmaPretty);
ffStrbufWriteTo(&gtkPretty, stdout);
2021-02-18 22:25:36 +01:00
}
else
{
2021-03-19 20:57:07 +01:00
FFstrbuf font;
ffStrbufInit(&font);
ffParseFormatString(&font, &instance->config.fontFormat, 5,
(FFformatarg){FF_FORMAT_ARG_TYPE_STRING, plasmaPretty},
(FFformatarg){FF_FORMAT_ARG_TYPE_STRING, gtk2Pretty},
(FFformatarg){FF_FORMAT_ARG_TYPE_STRING, gtk3Pretty},
(FFformatarg){FF_FORMAT_ARG_TYPE_STRING, gtk4Pretty},
(FFformatarg){FF_FORMAT_ARG_TYPE_STRBUF, &gtkPretty}
);
ffStrbufWriteTo(&font, stdout);
ffStrbufDestroy(&font);
2021-02-18 22:25:36 +01:00
}
putchar('\n');
2021-03-19 20:57:07 +01:00
ffStrbufDestroy(&gtkPretty);
2021-02-18 22:25:36 +01:00
}