2021-02-18 22:25:36 +01:00
|
|
|
#include "fastfetch.h"
|
|
|
|
|
|
2021-02-27 18:30:05 +01:00
|
|
|
void ffPrintIcons(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", "Theme=%[^\n]", plasma);
|
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-icon-theme-name=\"%[^\"]+", gtk2);
|
2021-02-19 16:23:41 +01:00
|
|
|
if(gtk2[0] == '\0')
|
|
|
|
|
strcpy(gtk2, "Adwaita");
|
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-icon-theme-name=%[^\n]", gtk3);
|
2021-02-19 16:23:41 +01:00
|
|
|
if(gtk3[0] == '\0')
|
|
|
|
|
strcpy(gtk3, "Adwaita");
|
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-icon-theme-name=%[^\n]", gtk4);
|
2021-02-19 16:23:41 +01:00
|
|
|
if(gtk4[0] == '\0')
|
|
|
|
|
strcpy(gtk4, "Adwaita");
|
2021-03-19 20:57:07 +01:00
|
|
|
|
|
|
|
|
FFstrbuf gtkPretty;
|
|
|
|
|
ffStrbufInit(>kPretty);
|
|
|
|
|
ffFormatGtkPretty(>kPretty, gtk2, gtk3, gtk4);
|
|
|
|
|
|
2021-02-27 18:30:05 +01:00
|
|
|
ffPrintLogoAndKey(instance, "Icons");
|
2021-02-18 22:25:36 +01:00
|
|
|
|
2021-03-19 20:57:07 +01:00
|
|
|
if(ffStrbufIsEmpty(&instance->config.iconsFormat))
|
|
|
|
|
{
|
|
|
|
|
if(plasma[0] == '\0')
|
|
|
|
|
printf("Breeze [Plasma], ");
|
|
|
|
|
else
|
|
|
|
|
printf("%s [Plasma], ", plasma);
|
|
|
|
|
|
|
|
|
|
ffStrbufWriteTo(>kPretty, stdout);
|
|
|
|
|
}
|
2021-02-19 16:23:41 +01:00
|
|
|
else
|
2021-03-19 20:57:07 +01:00
|
|
|
{
|
|
|
|
|
FFstrbuf icons;
|
|
|
|
|
ffStrbufInit(&icons);
|
|
|
|
|
|
|
|
|
|
ffParseFormatString(&icons, &instance->config.iconsFormat, 5,
|
|
|
|
|
(FFformatarg){FF_FORMAT_ARG_TYPE_STRING, plasma},
|
|
|
|
|
(FFformatarg){FF_FORMAT_ARG_TYPE_STRING, gtk2},
|
|
|
|
|
(FFformatarg){FF_FORMAT_ARG_TYPE_STRING, gtk3},
|
|
|
|
|
(FFformatarg){FF_FORMAT_ARG_TYPE_STRING, gtk4},
|
|
|
|
|
(FFformatarg){FF_FORMAT_ARG_TYPE_STRBUF, >kPretty}
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
ffStrbufWriteTo(&icons, stdout);
|
|
|
|
|
ffStrbufDestroy(&icons);
|
|
|
|
|
}
|
2021-02-18 22:25:36 +01:00
|
|
|
|
|
|
|
|
putchar('\n');
|
2021-03-19 20:57:07 +01:00
|
|
|
|
|
|
|
|
ffStrbufDestroy(>kPretty);
|
2021-02-18 22:25:36 +01:00
|
|
|
}
|