Files
fastfetch/src/modules/theme.c
T

54 lines
1.5 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 ffPrintTheme(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", "Name=%[^\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-theme-name=\"%[^\"]+", gtk2);
2021-02-19 16:23:41 +01:00
if(gtk2[0] == '\0')
strcpy(gtk2, "Raleigh");
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-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-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(&gtkPretty);
ffFormatGtkPretty(&gtkPretty, gtk2, gtk3, gtk4);
2021-02-27 18:30:05 +01:00
ffPrintLogoAndKey(instance, "Theme");
2021-02-18 22:25:36 +01:00
2021-03-19 20:57:07 +01:00
if(ffStrbufIsEmpty(&instance->config.themeFormat))
{
if(plasma[0] != '\0')
printf("%s [Plasma], ", plasma);
ffStrbufWriteTo(&gtkPretty, stdout);
}
2021-02-19 16:23:41 +01:00
else
2021-03-19 20:57:07 +01:00
{
FFstrbuf theme;
ffStrbufInit(&theme);
ffParseFormatString(&theme, &instance->config.themeFormat, 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, &gtkPretty}
);
2021-02-18 22:25:36 +01:00
2021-03-19 20:57:07 +01:00
ffStrbufWriteTo(&theme, stdout);
}
2021-02-18 22:25:36 +01:00
putchar('\n');
}