2021-02-18 22:25:36 +01:00
|
|
|
#include "fastfetch.h"
|
|
|
|
|
|
2021-02-19 16:23:41 +01:00
|
|
|
#include <string.h>
|
|
|
|
|
|
2021-02-18 22:25:36 +01:00
|
|
|
static void parseFont(char* font, char* buffer)
|
|
|
|
|
{
|
|
|
|
|
char name[64];
|
|
|
|
|
char size[32];
|
2021-02-19 16:23:41 +01:00
|
|
|
int scanned = sscanf(font, "%[^,], %[^,]", name, size);
|
|
|
|
|
|
|
|
|
|
if(scanned == 0)
|
|
|
|
|
strcpy(buffer, font);
|
|
|
|
|
else if(scanned == 1)
|
|
|
|
|
strcpy(buffer, name);
|
|
|
|
|
else
|
|
|
|
|
sprintf(buffer, "%s (%spt)", name, size);
|
2021-02-18 22:25:36 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void ffPrintFont(FFstate* state)
|
|
|
|
|
{
|
|
|
|
|
char plasma[256];
|
|
|
|
|
ffParsePropFileHome(state, ".config/kdeglobals", "font=%[^\n]", plasma);
|
2021-02-19 16:23:41 +01:00
|
|
|
|
2021-02-18 22:25:36 +01:00
|
|
|
char gtk2[256];
|
|
|
|
|
ffParsePropFileHome(state, ".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
|
|
|
|
|
parseFont(gtk2, gtk2Pretty);
|
2021-02-18 22:25:36 +01:00
|
|
|
|
|
|
|
|
char gtk3[256];
|
|
|
|
|
ffParsePropFileHome(state, ".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')
|
|
|
|
|
gtk3Pretty[0]== '\0';
|
|
|
|
|
else
|
|
|
|
|
parseFont(gtk3, gtk3Pretty);
|
2021-02-18 22:25:36 +01:00
|
|
|
|
|
|
|
|
char gtk4[256];
|
|
|
|
|
ffParsePropFileHome(state, ".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
|
|
|
|
|
parseFont(gtk4, gtk4Pretty);
|
2021-02-18 22:25:36 +01:00
|
|
|
|
|
|
|
|
ffPrintLogoAndKey(state, "Font");
|
|
|
|
|
|
|
|
|
|
if(plasma[0] == '\0')
|
|
|
|
|
{
|
|
|
|
|
printf("Noto Sans (10pt) [Plasma], ");
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
char plasmaPretty[256];
|
|
|
|
|
parseFont(plasma, plasmaPretty);
|
|
|
|
|
printf("%s [Plasma], ", plasmaPretty);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
ffPrintGtkPretty(gtk2Pretty, gtk3Pretty, gtk4Pretty);
|
|
|
|
|
putchar('\n');
|
|
|
|
|
}
|