Files
fastfetch/source-files/add-tide-bpm-detection.patch
T

161 lines
11 KiB
Diff

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 2323569b..b105c3f3 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -136,7 +136,7 @@ endif()
set(PACKAGE_MANAGERS
AM APK APPIMAGE
- BREW
+ BPM BREW
CARDS CHOCO
DPKG
EMERGE EOPKG
diff --git a/doc/json_schema.json b/doc/json_schema.json
index 2243fb6f..90c0dfe8 100644
--- a/doc/json_schema.json
+++ b/doc/json_schema.json
@@ -446,7 +446,7 @@
"type": "string"
},
"packagesFormat": {
- "description": "Output format for the `Packages` module. See Wiki for formatting syntax\n 1. {all}: Number of all packages\n 2. {am-system}: Number of am-system packages\n 3. {am-user}: Number of am-user (aka appman) packages\n 4. {appimage}: Number of appimage packages\n 5. {apk}: Number of apk packages\n 6. {brew}: Number of brew packages\n 7. {brew-all}: Total number of all brew packages\n 8. {brew-cask}: Number of brew-cask packages\n 9. {cards}: Number of cards packages\n 10. {choco}: Number of choco packages\n 11. {dpkg}: Number of dpkg packages\n 12. {emerge}: Number of emerge packages\n 13. {eopkg}: Number of eopkg packages\n 14. {flatpak-all}: Total number of all flatpak app packages\n 15. {flatpak-system}: Number of flatpak-system app packages\n 16. {flatpak-user}: Number of flatpak-user app packages\n 17. {guix-all}: Total number of all guix packages\n 18. {guix-home}: Number of guix-home packages\n 19. {guix-system}: Number of guix-system packages\n 20. {guix-user}: Number of guix-user packages\n 21. {hpkg-all}: Total number of all hpkg packages\n 22. {hpkg-system}: Number of hpkg-system packages\n 23. {hpkg-user}: Number of hpkg-user packages\n 24. {kiss}: Number of kiss packages\n 25. {linglong}: Number of linglong packages\n 26. {lpkg}: Number of lpkg packages\n 27. {lpkgbuild}: Number of lpkgbuild packages\n 28. {macports}: Number of macports packages\n 29. {mport}: Number of mport packages\n 30. {moss}: Number of moss packages\n 31. {nix-all}: Total number of all nix packages\n 32. {nix-default}: Number of nix-default packages\n 33. {nix-system}: Number of nix-system packages\n 34. {nix-user}: Number of nix-user packages\n 35. {opkg}: Number of opkg packages\n 36. {pacman}: Number of pacman packages\n 37. {pacman-branch}: Pacman branch on manjaro\n 38. {pacstall}: Number of pacstall packages\n 39. {paludis}: Number of paludis packages\n 40. {pisi}: Number of pisi packages\n 41. {pkg}: Number of pkg packages\n 42. {pkgsrc}: Number of pkgsrc packages\n 43. {pkgtool}: Number of pkgtool packages\n 44. {rpm}: Number of rpm packages\n 45. {scoop-global}: Number of scoop-global packages\n 46. {scoop-user}: Number of scoop-user packages\n 47. {snap}: Number of snap packages\n 48. {soar}: Number of soar packages\n 49. {sorcery}: Number of sorcery packages\n 50. {winget}: Number of winget packages\n 51. {xbps}: Number of xbps packages",
+ "description": "Output format for the `Packages` module. See Wiki for formatting syntax\n 1. {all}: Number of all packages\n 2. {am-system}: Number of am-system packages\n 3. {am-user}: Number of am-user (aka appman) packages\n 4. {appimage}: Number of appimage packages\n 5. {apk}: Number of apk packages\n 6. {bpm}: Total number of all bpm packages\n 7. {brew}: Number of brew packages\n 8. {brew-all}: Total number of all brew packages\n 9. {brew-cask}: Number of brew-cask packages\n 10. {cards}: Number of cards packages\n 11. {choco}: Number of choco packages\n 12. {dpkg}: Number of dpkg packages\n 13. {emerge}: Number of emerge packages\n 14. {eopkg}: Number of eopkg packages\n 15. {flatpak-all}: Total number of all flatpak app packages\n 16. {flatpak-system}: Number of flatpak-system app packages\n 17. {flatpak-user}: Number of flatpak-user app packages\n 18. {guix-all}: Total number of all guix packages\n 19. {guix-home}: Number of guix-home packages\n 20. {guix-system}: Number of guix-system packages\n 21. {guix-user}: Number of guix-user packages\n 22. {hpkg-all}: Total number of all hpkg packages\n 23. {hpkg-system}: Number of hpkg-system packages\n 24. {hpkg-user}: Number of hpkg-user packages\n 25. {kiss}: Number of kiss packages\n 26. {linglong}: Number of linglong packages\n 27. {lpkg}: Number of lpkg packages\n 28. {lpkgbuild}: Number of lpkgbuild packages\n 29. {macports}: Number of macports packages\n 30. {mport}: Number of mport packages\n 31. {moss}: Number of moss packages\n 32. {nix-all}: Total number of all nix packages\n 33. {nix-default}: Number of nix-default packages\n 34. {nix-system}: Number of nix-system packages\n 35. {nix-user}: Number of nix-user packages\n 36. {opkg}: Number of opkg packages\n 37. {pacman}: Number of pacman packages\n 38. {pacman-branch}: Pacman branch on manjaro\n 39. {pacstall}: Number of pacstall packages\n 40. {paludis}: Number of paludis packages\n 41. {pisi}: Number of pisi packages\n 42. {pkg}: Number of pkg packages\n 43. {pkgsrc}: Number of pkgsrc packages\n 44. {pkgtool}: Number of pkgtool packages\n 45. {rpm}: Number of rpm packages\n 46. {scoop-global}: Number of scoop-global packages\n 47. {scoop-user}: Number of scoop-user packages\n 48. {snap}: Number of snap packages\n 49. {soar}: Number of soar packages\n 50. {sorcery}: Number of sorcery packages\n 51. {winget}: Number of winget packages\n 52. {xbps}: Number of xbps packages",
"type": "string"
},
"physicaldiskFormat": {
diff --git a/src/detection/packages/packages.h b/src/detection/packages/packages.h
index f0d42004..2e68903e 100644
--- a/src/detection/packages/packages.h
+++ b/src/detection/packages/packages.h
@@ -8,6 +8,7 @@ typedef struct FFPackagesResult {
uint32_t amUser;
uint32_t apk;
uint32_t appimage;
+ uint32_t bpm;
uint32_t brew;
uint32_t brewCask;
uint32_t cards;
diff --git a/src/detection/packages/packages_linux.c b/src/detection/packages/packages_linux.c
index 79de8cb3..dc8cf080 100644
--- a/src/detection/packages/packages_linux.c
+++ b/src/detection/packages/packages_linux.c
@@ -540,6 +540,9 @@ static void getPackageCounts(FFstrbuf* baseDir, FFPackagesResult* packageCounts,
if (FF_PACKAGES_IS_ENABLED(options, CARDS)) {
packageCounts->cards += getNumElements(baseDir, "/var/lib/pkg/DB", true);
}
+ if (!(options->disabled & FF_PACKAGES_FLAG_BPM_BIT)) {
+ packageCounts->bpm += getNumElements(baseDir, "/var/lib/bpm/installed", true);
+ }
}
static void getPackageCountsRegular(FFstrbuf* baseDir, FFPackagesResult* packageCounts, FFPackagesOptions* options) {
diff --git a/src/logo/ascii/t.inc b/src/logo/ascii/t.inc
index 53947eab..bedeac3b 100644
--- a/src/logo/ascii/t.inc
+++ b/src/logo/ascii/t.inc
@@ -85,6 +85,19 @@ static const FFlogo T[] = {
},
},
#endif
+ #ifdef FASTFETCH_DATATEXT_LOGO_TIDELINUX
+ // TideLinux
+ {
+ .names = {"Tide Linux"},
+ .lines = FASTFETCH_DATATEXT_LOGO_TIDELINUX,
+ .colors = {
+ FF_COLOR_FG_256 "27",
+ FF_COLOR_FG_256 "39",
+ },
+ .colorTitle = FF_COLOR_FG_BLUE,
+ .colorKeys = FF_COLOR_FG_MAGENTA,
+ },
+ #endif
#ifdef FASTFETCH_DATATEXT_LOGO_TORIZONCORE
// Torizon OS
{
diff --git a/src/logo/ascii/t/tidelinux.txt b/src/logo/ascii/t/tidelinux.txt
new file mode 100644
index 00000000..2d8b44e3
--- /dev/null
+++ b/src/logo/ascii/t/tidelinux.txt
@@ -0,0 +1,14 @@
+ $1@@@@ $1@@@$2*
+ $1@@$2~~~~$1@@ $1@@$2~~~
+ $1@@$2~~ $2~~$1@ $1@@$2~~
+ $1@@$2~~ $2~$1@ $1@@@$2~~
+ $2*$1@@$2~~ $1@@@@ $2~$1@@@@$2~~~ $1@@@$2*
+ $2~~ $1@@$2~~~~$1@@ $2~~~~ $1@@$2~~~
+ $1@@$2~~ $2~~$1@ $1@@$2~~
+ $1@@$2~~ $2~$1@ $1@@@$2~~
+ $2*$1@@$2~~ $1@@@@ $2~$1@@@@$2~~~ $1@@@$2*
+ $2~~ $1@@$2~~~~$1@@ $2~~~~ $1@@$2~~~
+ $1@@$2~~ $2~~$1@ $1@@$2~~
+ $1@@$2~~ $2~$1@ $1@@@$2~~
+ $2*$1@@$2~~ $2~$1@@@@$2~~~
+ $2~~ $2~~~~
diff --git a/src/modules/packages/option.h b/src/modules/packages/option.h
index 1e895335..931dda08 100644
--- a/src/modules/packages/option.h
+++ b/src/modules/packages/option.h
@@ -39,6 +39,7 @@ typedef enum FF_A_PACKED FFPackagesFlags {
FF_PACKAGES_FLAG_MOSS_BIT = UINT64_C(1) << 32U,
FF_PACKAGES_FLAG_APPIMAGE_BIT = UINT64_C(1) << 33U,
FF_PACKAGES_FLAG_CARDS_BIT = UINT64_C(1) << 34U,
+ FF_PACKAGES_FLAG_BPM_BIT = UINT64_C(1) << 35U,
FF_PACKAGES_FLAG_FORCE_UNSIGNED = UINT64_MAX,
} FFPackagesFlags;
static_assert(sizeof(FFPackagesFlags) == sizeof(uint64_t), "");
diff --git a/src/modules/packages/packages.c b/src/modules/packages/packages.c
index 4ef1d049..e55577bf 100644
--- a/src/modules/packages/packages.c
+++ b/src/modules/packages/packages.c
@@ -55,6 +55,7 @@ bool ffPrintPackages(FFPackagesOptions* options) {
}
FF_PRINT_PACKAGE(appimage)
FF_PRINT_PACKAGE(apk)
+ FF_PRINT_PACKAGE(bpm)
if (options->combined) {
FF_PRINT_PACKAGE_ALL(brew);
} else {
@@ -149,6 +150,7 @@ bool ffPrintPackages(FFPackagesOptions* options) {
FF_ARG(counts.amUser, "am-user"),
FF_ARG(counts.appimage, "appimage"),
FF_ARG(counts.apk, "apk"),
+ FF_ARG(counts.bpm, "bpm"),
FF_ARG(counts.brew, "brew"),
FF_ARG(brewAll, "brew-all"),
FF_ARG(counts.brewCask, "brew-cask"),
@@ -246,6 +248,7 @@ void ffParsePackagesJsonObject(FFPackagesOptions* options, yyjson_val* module) {
if (false)
;
FF_TEST_PACKAGE_NAME(BREW)
+ FF_TEST_PACKAGE_NAME(BPM)
break;
case 'C':
if (false)
@@ -376,6 +379,7 @@ void ffGeneratePackagesJsonConfig(FFPackagesOptions* options, yyjson_mut_doc* do
FF_TEST_PACKAGE_NAME(AM)
FF_TEST_PACKAGE_NAME(APK)
FF_TEST_PACKAGE_NAME(APPIMAGE)
+ FF_TEST_PACKAGE_NAME(BPM)
FF_TEST_PACKAGE_NAME(BREW)
FF_TEST_PACKAGE_NAME(CARDS)
FF_TEST_PACKAGE_NAME(CHOCO)
@@ -435,6 +439,7 @@ bool ffGeneratePackagesJsonResult(FFPackagesOptions* options, yyjson_mut_doc* do
FF_APPEND_PACKAGE_COUNT(amUser)
FF_APPEND_PACKAGE_COUNT(appimage)
FF_APPEND_PACKAGE_COUNT(apk)
+ FF_APPEND_PACKAGE_COUNT(bpm)
FF_APPEND_PACKAGE_COUNT(brew)
FF_APPEND_PACKAGE_COUNT(brewCask)
FF_APPEND_PACKAGE_COUNT(cards)
@@ -535,6 +540,7 @@ FFModuleBaseInfo ffPackagesModuleInfo = {
{ "Number of macports packages", "macports" },
{ "Number of mport packages", "mport" },
{ "Number of moss packages", "moss" },
+ { "Number of bpm packages", "bpm" },
{ "Total number of all nix packages", "nix-all" },
{ "Number of nix-default packages", "nix-default" },
{ "Number of nix-system packages", "nix-system" },