From f4d2b352609512ab5d77c736609d9a18fb991121 Mon Sep 17 00:00:00 2001 From: DarN <82701459+DarNCelsius@users.noreply.github.com> Date: Tue, 27 Apr 2021 21:52:55 +0200 Subject: [PATCH 1/7] Added Package Manager support for Void Linux This adds support for xbps. --- src/modules/packages.c | 32 ++++++++++++++++++++++---------- 1 file changed, 22 insertions(+), 10 deletions(-) diff --git a/src/modules/packages.c b/src/modules/packages.c index 651e45a7a..0e5b82b88 100644 --- a/src/modules/packages.c +++ b/src/modules/packages.c @@ -5,8 +5,14 @@ #define FF_PACKAGES_MODULE_NAME "Packages" #define FF_PACKAGES_NUM_FORMAT_ARGS 3 -static uint32_t get_num_dirs(const char* dirname) { - uint32_t num_dirs = 0; +enum elementType +{ + enumDir = 0, + enumFile +}; + +static uint32_t get_num_elements(const char* dirname, enum elementType type) { + uint32_t num_elements = 0; DIR * dirp; struct dirent *entry; @@ -15,23 +21,27 @@ static uint32_t get_num_dirs(const char* dirname) { return 0; while((entry = readdir(dirp)) != NULL) { - if(entry->d_type == DT_DIR) - ++num_dirs; + if(entry->d_type == DT_DIR && type == enumDir) + ++num_elements; + if(entry->d_type == DT_REG && type == enumFile) + ++num_elements; } - num_dirs -= 2; // accounting for . and .. + if(type == enumDir) + num_elements -= 2; // accounting for . and .. closedir(dirp); - return num_dirs; + return num_elements; } void ffPrintPackages(FFinstance* instance) { - uint32_t pacman = get_num_dirs("/var/lib/pacman/local"); - uint32_t flatpak = get_num_dirs("/var/lib/flatpak/app"); + uint32_t pacman = get_num_elements("/var/lib/pacman/local", enumDir); + uint32_t flatpak = get_num_elements("/var/lib/flatpak/app", enumDir); + uint32_t xbps = get_num_elements("/var/db/xbps", enumFile); - uint32_t all = pacman + flatpak; + uint32_t all = pacman + flatpak + xbps; if(all == 0) { @@ -53,6 +63,7 @@ void ffPrintPackages(FFinstance* instance) FF_PRINT_PACKAGE(pacman) FF_PRINT_PACKAGE(flatpak) + FF_PRINT_PACKAGE(xbps) #undef FF_PRINT_PACKAGE @@ -63,7 +74,8 @@ void ffPrintPackages(FFinstance* instance) ffPrintFormatString(instance, FF_PACKAGES_MODULE_NAME, 0, &instance->config.packagesKey, &instance->config.packagesFormat, NULL, FF_PACKAGES_NUM_FORMAT_ARGS, (FFformatarg[]){ {FF_FORMAT_ARG_TYPE_UINT, &all}, {FF_FORMAT_ARG_TYPE_UINT, &pacman}, - {FF_FORMAT_ARG_TYPE_UINT, &flatpak} + {FF_FORMAT_ARG_TYPE_UINT, &flatpak}, + {FF_FORMAT_ARG_TYPE_UINT, &xbps} }); } } From f93884745961ec8c020195ec4b7d3a9028bd7623 Mon Sep 17 00:00:00 2001 From: DarN <82701459+DarNCelsius@users.noreply.github.com> Date: Wed, 28 Apr 2021 06:46:20 +0200 Subject: [PATCH 2/7] Added missing else No need to compare twice if the first one checks out... --- src/modules/packages.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/modules/packages.c b/src/modules/packages.c index 0e5b82b88..05f9f2362 100644 --- a/src/modules/packages.c +++ b/src/modules/packages.c @@ -20,10 +20,11 @@ static uint32_t get_num_elements(const char* dirname, enum elementType type) { if(dirp == NULL) return 0; - while((entry = readdir(dirp)) != NULL) { + while((entry = readdir(dirp)) != NULL) + { if(entry->d_type == DT_DIR && type == enumDir) ++num_elements; - if(entry->d_type == DT_REG && type == enumFile) + else if(entry->d_type == DT_REG && type == enumFile) ++num_elements; } From 4674d6c2fcfb624e394bbba4990af5e2e3f60b9a Mon Sep 17 00:00:00 2001 From: DarN <82701459+DarNCelsius@users.noreply.github.com> Date: Wed, 28 Apr 2021 06:59:44 +0200 Subject: [PATCH 3/7] Removed useless enum --- src/modules/packages.c | 20 +++++++------------- 1 file changed, 7 insertions(+), 13 deletions(-) diff --git a/src/modules/packages.c b/src/modules/packages.c index 05f9f2362..b0893119a 100644 --- a/src/modules/packages.c +++ b/src/modules/packages.c @@ -5,13 +5,7 @@ #define FF_PACKAGES_MODULE_NAME "Packages" #define FF_PACKAGES_NUM_FORMAT_ARGS 3 -enum elementType -{ - enumDir = 0, - enumFile -}; - -static uint32_t get_num_elements(const char* dirname, enum elementType type) { +static uint32_t get_num_elements(const char* dirname, int type) { uint32_t num_elements = 0; DIR * dirp; struct dirent *entry; @@ -22,13 +16,13 @@ static uint32_t get_num_elements(const char* dirname, enum elementType type) { while((entry = readdir(dirp)) != NULL) { - if(entry->d_type == DT_DIR && type == enumDir) + if(entry->d_type == DT_DIR && type == DT_DIR) ++num_elements; - else if(entry->d_type == DT_REG && type == enumFile) + else if(entry->d_type == DT_REG && type == DT_REG) ++num_elements; } - if(type == enumDir) + if(type == DT_DIR) num_elements -= 2; // accounting for . and .. closedir(dirp); @@ -38,9 +32,9 @@ static uint32_t get_num_elements(const char* dirname, enum elementType type) { void ffPrintPackages(FFinstance* instance) { - uint32_t pacman = get_num_elements("/var/lib/pacman/local", enumDir); - uint32_t flatpak = get_num_elements("/var/lib/flatpak/app", enumDir); - uint32_t xbps = get_num_elements("/var/db/xbps", enumFile); + uint32_t pacman = get_num_elements("/var/lib/pacman/local", DT_DIR); + uint32_t flatpak = get_num_elements("/var/lib/flatpak/app", DT_DIR); + uint32_t xbps = get_num_elements("/var/db/xbps", DT_REG); uint32_t all = pacman + flatpak + xbps; From 99849ccd77874aca358dcfa483ba76b853f347de Mon Sep 17 00:00:00 2001 From: DarN <82701459+DarNCelsius@users.noreply.github.com> Date: Wed, 28 Apr 2021 07:10:55 +0200 Subject: [PATCH 4/7] Debloat ... --- src/modules/packages.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/src/modules/packages.c b/src/modules/packages.c index b0893119a..de844f82e 100644 --- a/src/modules/packages.c +++ b/src/modules/packages.c @@ -14,11 +14,8 @@ static uint32_t get_num_elements(const char* dirname, int type) { if(dirp == NULL) return 0; - while((entry = readdir(dirp)) != NULL) - { - if(entry->d_type == DT_DIR && type == DT_DIR) - ++num_elements; - else if(entry->d_type == DT_REG && type == DT_REG) + while((entry = readdir(dirp)) != NULL){ + if(entry->d_type == type) ++num_elements; } From dd31e05fde4893831da592bf715252c96e38a6ae Mon Sep 17 00:00:00 2001 From: DarN <82701459+DarNCelsius@users.noreply.github.com> Date: Wed, 28 Apr 2021 16:05:06 +0200 Subject: [PATCH 5/7] Update packages.c --- src/modules/packages.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/modules/packages.c b/src/modules/packages.c index de844f82e..c154c831f 100644 --- a/src/modules/packages.c +++ b/src/modules/packages.c @@ -14,7 +14,7 @@ static uint32_t get_num_elements(const char* dirname, int type) { if(dirp == NULL) return 0; - while((entry = readdir(dirp)) != NULL){ + while((entry = readdir(dirp)) != NULL) { if(entry->d_type == type) ++num_elements; } From d403c035d0becb0f1a054c9b4a00783cfaf574ea Mon Sep 17 00:00:00 2001 From: DarN <82701459+DarNCelsius@users.noreply.github.com> Date: Wed, 28 Apr 2021 19:45:43 +0200 Subject: [PATCH 6/7] Updated help documentation Quick grammar corrections as a bonus ;) --- src/fastfetch.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/fastfetch.c b/src/fastfetch.c index 98ace55e3..57a2ee0db 100644 --- a/src/fastfetch.c +++ b/src/fastfetch.c @@ -120,9 +120,9 @@ static inline void printHelp() " --disk-folders : A colon seperated list of folder paths for the disk output. Default is \"/:/home\"\n" " --battery-dir : The directory were the battery folders are in. Standard: /sys/class/power_supply/\n" "\n" - "Parsing is not case sensetive. E.g. \"--lib-PCI\" is equal to \"--Lib-Pci\"\n" - "If an value starts with an ?, it is optional. \"true\" will be used if not set.\n" - "An (+) at the end indicates that more help can be printed with --help