#include "fastfetch.h" void ffGetGtkPretty(FFstrbuf* buffer, const FFstrbuf* gtk2, const FFstrbuf* gtk3, const FFstrbuf* gtk4) { if(gtk2->length > 0 && gtk3->length > 0 && gtk4->length > 0) { if((ffStrbufIgnCaseComp(gtk2, gtk3) == 0) && (ffStrbufIgnCaseComp(gtk2, gtk4) == 0)) { ffStrbufAppend(buffer, gtk4); ffStrbufAppendS(buffer, " [GTK2/3/4]"); } else if(ffStrbufIgnCaseComp(gtk2, gtk3) == 0) { ffStrbufAppend(buffer, gtk3); ffStrbufAppendS(buffer, " [GTK2/3], "); ffStrbufAppend(buffer, gtk4); ffStrbufAppendS(buffer, " [GTK4]"); } else if(ffStrbufIgnCaseComp(gtk3, gtk4) == 0) { ffStrbufAppend(buffer, gtk2); ffStrbufAppendS(buffer, " [GTK2], "); ffStrbufAppend(buffer, gtk4); ffStrbufAppendS(buffer, " [GTK3/4]"); } else { ffStrbufAppend(buffer, gtk2); ffStrbufAppendS(buffer, " [GTK2], "); ffStrbufAppend(buffer, gtk3); ffStrbufAppendS(buffer, " [GTK3], "); ffStrbufAppend(buffer, gtk4); ffStrbufAppendS(buffer, " [GTK4]"); } } else if(gtk2->length > 0 && gtk3->length > 0) { if(ffStrbufIgnCaseComp(gtk2, gtk3) == 0) { ffStrbufAppend(buffer, gtk3); ffStrbufAppendS(buffer, " [GTK2/3]"); } else { ffStrbufAppend(buffer, gtk2); ffStrbufAppendS(buffer, " [GTK2], "); ffStrbufAppend(buffer, gtk3); ffStrbufAppendS(buffer, " [GTK3]"); } } else if(gtk3->length > 0 && gtk4->length > 0) { if(ffStrbufIgnCaseComp(gtk3, gtk4) == 0) { ffStrbufAppend(buffer, gtk4); ffStrbufAppendS(buffer, " [GTK3/4]"); } else { ffStrbufAppend(buffer, gtk3); ffStrbufAppendS(buffer, " [GTK3], "); ffStrbufAppend(buffer, gtk4); ffStrbufAppendS(buffer, " [GTK4]"); } } else if(gtk2->length > 0) { ffStrbufAppend(buffer, gtk2); ffStrbufAppendS(buffer, " [GTK2]"); } else if(gtk3->length > 0) { ffStrbufAppend(buffer, gtk3); ffStrbufAppendS(buffer, " [GTK3]"); } else if(gtk4->length > 0) { ffStrbufAppend(buffer, gtk4); ffStrbufAppendS(buffer, " [GTK4]"); } } void ffGetFont(const char* font, FFstrbuf* name, double* size) { ffStrbufEnsureCapacity(name, 32); int scanned = sscanf(font, "%[^,], %lf", name->chars, size); ffStrbufRecalculateLength(name); if(scanned < 2) *size = 0.0; if(scanned == 0) ffStrbufSetS(name, font); } void ffGetFontPretty(FFstrbuf* buffer, const FFstrbuf* name, double size) { ffStrbufAppend(buffer, name); if(size > 0) { ffStrbufAppendS(buffer, " ("); ffStrbufAppendF(buffer, "%g", size); ffStrbufAppendS(buffer, "pt)"); } }