Skip to content

Commit b2f3bf3

Browse files
committed
Packages (Linux): support flatpak-user
Fixes #436
1 parent 44c389d commit b2f3bf3

File tree

5 files changed

+15
-12
lines changed

5 files changed

+15
-12
lines changed

presets/verbose

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
--kernel-format Sysname: {}; Release: {}; Version: {}
44
--uptime-format Days: {}; Hours: {}; Minutes: {}; Seconds: {}
55
--processes-format Count: {}
6-
--packages-format All: {}; pacman: {}; pacman branch: {}; dpkg: {}; rpm: {}; emerge: {}; eopkg: {}; xbps: {}; apk: {}; flatpak: {}; snap: {}; brew: {}; brew-cask: {}; port: {}; scoop: {}; choco: {}
6+
--packages-format All: {}; pacman: {}; pacman branch: {}; dpkg: {}; rpm: {}; emerge: {}; eopkg: {}; xbps: {}; apk: {}; flatpak-system: {}; flatpak-user: {}; snap: {}; brew: {}; brew-cask: {}; port: {}; scoop: {}; choco: {}
77
--shell-format Process name: {}; Process path: {}; Process exe: {}; Process version: {}; User path: {}; User exe: {}; User version: {}
88
--display-format Width: {}; Height: {}; Refresh rate: {}; ScaledWith: {}; ScaledHeight: {}
99
--de-format Process name: {}; Pretty name: {}; Version: {}

src/detection/packages/packages.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,8 @@ typedef struct FFPackagesResult
1414
uint32_t dpkg;
1515
uint32_t emerge;
1616
uint32_t eopkg;
17-
uint32_t flatpak;
17+
uint32_t flatpakSystem;
18+
uint32_t flatpakUser;
1819
uint32_t nixDefault;
1920
uint32_t nixSystem;
2021
uint32_t nixUser;

src/detection/packages/packages_linux.c

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -258,7 +258,7 @@ static void getPackageCounts(const FFinstance* instance, FFstrbuf* baseDir, FFPa
258258
packageCounts->dpkg += getNumStrings(baseDir, "/var/lib/dpkg/status", "Status: ");
259259
packageCounts->emerge += countFilesRecursive(baseDir, "/var/db/pkg", "SIZE");
260260
packageCounts->eopkg += getNumElements(baseDir, "/var/lib/eopkg/package", DT_DIR);
261-
packageCounts->flatpak += getNumElements(baseDir, "/var/lib/flatpak/app", DT_DIR);
261+
packageCounts->flatpakSystem += getNumElements(baseDir, "/var/lib/flatpak/app", DT_DIR);
262262
packageCounts->nixDefault += getNixPackages(baseDir, "/nix/var/nix/profiles/default");
263263
packageCounts->nixSystem += getNixPackages(baseDir, "/run/current-system");
264264
packageCounts->pacman += getNumElements(baseDir, "/var/lib/pacman/local", DT_DIR);
@@ -316,7 +316,7 @@ static void getPackageCountsBedrock(const FFinstance* instance, FFstrbuf* baseDi
316316

317317
void ffDetectPackagesImpl(const FFinstance* instance, FFPackagesResult* result)
318318
{
319-
FFstrbuf baseDir;
319+
FF_STRBUF_AUTO_DESTROY baseDir;
320320
ffStrbufInitA(&baseDir, 512);
321321
ffStrbufAppendS(&baseDir, FASTFETCH_TARGET_DIR_ROOT);
322322

@@ -335,6 +335,5 @@ void ffDetectPackagesImpl(const FFinstance* instance, FFPackagesResult* result)
335335

336336
ffStrbufSet(&baseDir, &instance->state.platform.homeDir);
337337
result->nixUser = getNixPackages(&baseDir, "/.nix-profile");
338-
339-
ffStrbufDestroy(&baseDir);
338+
result->flatpakUser += getNumElements(&baseDir, "/.var/app", DT_DIR);
340339
}

src/fastfetch.c

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,7 @@ static inline void printCommandHelp(const char* command)
137137
}
138138
else if(strcasecmp(command, "packages-format") == 0)
139139
{
140-
constructAndPrintCommandHelpFormat("packages", "{2} (pacman){?3}[{3}]{?}, {4} (dpkg), {5} (rpm), {6} (emerge), {7} (eopkg), {8} (xbps), {9} (nix-system), {10} (nix-user), {11} (nix-default), {12} (apk), {13} (pkg), {14} (flatpak), {15} (snap), {16} (brew), {17} (brew-cask), {18} (port), {19} (scoop), {20} (choco)", 20,
140+
constructAndPrintCommandHelpFormat("packages", "{2} (pacman){?3}[{3}]{?}, {4} (dpkg), {5} (rpm), {6} (emerge), {7} (eopkg), {8} (xbps), {9} (nix-system), {10} (nix-user), {11} (nix-default), {12} (apk), {13} (pkg), {14} (flatpak-system), {15} (flatpack-user), {16} (snap), {17} (brew), {18} (brew-cask), {19} (port), {20} (scoop), {21} (choco)", 21,
141141
"Number of all packages",
142142
"Number of pacman packages",
143143
"Pacman branch on manjaro",
@@ -151,7 +151,8 @@ static inline void printCommandHelp(const char* command)
151151
"Number of nix-default packages",
152152
"Number of apk packages",
153153
"Number of pkg packages",
154-
"Number of flatpak packages",
154+
"Number of flatpak-system packages",
155+
"Number of flatpak-user packages",
155156
"Number of snap packages",
156157
"Number of brew packages",
157158
"Number of brew-cask packages",

src/modules/packages.c

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
#include "detection/packages/packages.h"
44

55
#define FF_PACKAGES_MODULE_NAME "Packages"
6-
#define FF_PACKAGES_NUM_FORMAT_ARGS 20
6+
#define FF_PACKAGES_NUM_FORMAT_ARGS 21
77

88
void ffPrintPackages(FFinstance* instance)
99
{
@@ -23,7 +23,7 @@ void ffPrintPackages(FFinstance* instance)
2323
#define FF_PRINT_PACKAGE_NAME(var, name) \
2424
if(counts->var > 0) \
2525
{ \
26-
printf("%u ("name")", counts->var); \
26+
printf("%u (%s)", counts->var, (name)); \
2727
if((all -= counts->var) > 0) \
2828
printf(", "); \
2929
};
@@ -49,7 +49,8 @@ void ffPrintPackages(FFinstance* instance)
4949
FF_PRINT_PACKAGE_NAME(nixDefault, "nix-default")
5050
FF_PRINT_PACKAGE(apk)
5151
FF_PRINT_PACKAGE(pkg)
52-
FF_PRINT_PACKAGE(flatpak)
52+
FF_PRINT_PACKAGE_NAME(flatpakSystem, counts->flatpakUser ? "flatpak-system" : "flatpak")
53+
FF_PRINT_PACKAGE_NAME(flatpakUser, "flatpak-user")
5354
FF_PRINT_PACKAGE(snap)
5455
FF_PRINT_PACKAGE(brew)
5556
FF_PRINT_PACKAGE_NAME(brewCask, "brew-cask")
@@ -78,7 +79,8 @@ void ffPrintPackages(FFinstance* instance)
7879
{FF_FORMAT_ARG_TYPE_UINT, &counts->nixDefault},
7980
{FF_FORMAT_ARG_TYPE_UINT, &counts->apk},
8081
{FF_FORMAT_ARG_TYPE_UINT, &counts->pkg},
81-
{FF_FORMAT_ARG_TYPE_UINT, &counts->flatpak},
82+
{FF_FORMAT_ARG_TYPE_UINT, &counts->flatpakSystem},
83+
{FF_FORMAT_ARG_TYPE_UINT, &counts->flatpakUser},
8284
{FF_FORMAT_ARG_TYPE_UINT, &counts->snap},
8385
{FF_FORMAT_ARG_TYPE_UINT, &counts->brew},
8486
{FF_FORMAT_ARG_TYPE_UINT, &counts->brewCask},

0 commit comments

Comments
 (0)