2021-02-18 22:25:36 +01:00
#include "fastfetch.h"
2021-04-15 18:59:26 +02:00
#define FF_ICONS_MODULE_NAME "Icons"
#define FF_ICONS_NUM_FORMAT_ARGS 5
2021-02-27 18:30:05 +01:00
void ffPrintIcons ( FFinstance * instance )
2021-02-18 22:25:36 +01:00
{
2021-04-16 20:22:38 +02:00
ffCalculatePlasmaAndGtk ( instance );
2021-03-27 18:14:19 +01:00
2021-04-16 20:22:38 +02:00
if ( instance -> state . plasma . icons . length == 0 && instance -> state . gtk2 . icons . length == 0 && instance -> state . gtk3 . icons . length == 0 && instance -> state . gtk4 . icons . length == 0 )
2021-04-05 19:25:34 +02:00
{
2021-04-15 18:59:26 +02:00
ffPrintError ( instance , FF_ICONS_MODULE_NAME , 0 , & instance -> config . iconsKey , & instance -> config . iconsFormat , FF_ICONS_NUM_FORMAT_ARGS , "No icons could be found" );
2021-04-05 19:25:34 +02:00
return ;
}
2021-03-19 20:57:07 +01:00
2021-03-21 16:52:17 +01:00
FF_STRBUF_CREATE ( gtkPretty );
2021-04-16 20:22:38 +02:00
ffGetGtkPretty ( & gtkPretty , & instance -> state . gtk2 . icons , & instance -> state . gtk3 . icons , & instance -> state . gtk4 . icons );
2021-03-19 20:57:07 +01:00
2021-03-23 19:48:52 +01:00
if ( instance -> config . iconsFormat . length == 0 )
2021-03-19 20:57:07 +01:00
{
2021-04-15 18:59:26 +02:00
ffPrintLogoAndKey ( instance , FF_ICONS_MODULE_NAME , 0 , & instance -> config . iconsKey );
2021-03-27 18:14:19 +01:00
2021-04-16 20:22:38 +02:00
if ( instance -> state . plasma . icons . length > 0 )
2021-04-07 12:55:11 +02:00
{
2021-04-16 20:22:38 +02:00
ffStrbufWriteTo ( & instance -> state . plasma . icons , stdout );
2021-04-07 12:55:11 +02:00
fputs ( " [Plasma]" , stdout );
if ( gtkPretty . length > 0 )
fputs ( ", " , stdout );
}
2021-03-19 20:57:07 +01:00
2021-03-22 20:02:32 +01:00
ffStrbufPutTo ( & gtkPretty , stdout );
2021-03-19 20:57:07 +01:00
}
2021-02-19 16:23:41 +01:00
else
2021-03-19 20:57:07 +01:00
{
2021-04-15 18:59:26 +02:00
ffPrintFormatString ( instance , FF_ICONS_MODULE_NAME , 0 , & instance -> config . iconsKey , & instance -> config . iconsFormat , NULL , FF_ICONS_NUM_FORMAT_ARGS , ( FFformatarg []){
2021-04-16 20:22:38 +02:00
{ FF_FORMAT_ARG_TYPE_STRBUF , & instance -> state . plasma . icons },
{ FF_FORMAT_ARG_TYPE_STRBUF , & instance -> state . gtk2 . icons },
{ FF_FORMAT_ARG_TYPE_STRBUF , & instance -> state . gtk3 . icons },
{ FF_FORMAT_ARG_TYPE_STRBUF , & instance -> state . gtk4 . icons },
2021-04-15 18:59:26 +02:00
{ FF_FORMAT_ARG_TYPE_STRBUF , & gtkPretty }
});
2021-03-19 20:57:07 +01:00
}
2021-02-18 22:25:36 +01:00
2021-03-19 20:57:07 +01:00
ffStrbufDestroy ( & gtkPretty );
2021-03-27 18:14:19 +01:00
}