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

148 lines
11 KiB
Diff

diff --git a/doc/json_schema.json b/doc/json_schema.json
index e9271b2f..dbe921f3 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. {am-system}: Number of am-system packages\n 2. {am-user}: Number of am-user (aka appman) packages\n 3. {appimage}: Number of appimage packages\n 4. {apk}: Number of apk packages\n 5. {brew}: Number of brew packages\n 6. {brew-cask}: Number of brew-cask packages\n 7. {cards}: Number of cards packages\n 8. {choco}: Number of choco packages\n 9. {dpkg}: Number of dpkg packages\n 10. {emerge}: Number of emerge packages\n 11. {eopkg}: Number of eopkg packages\n 12. {flatpak-system}: Number of flatpak-system app packages\n 13. {flatpak-user}: Number of flatpak-user app packages\n 14. {guix-home}: Number of guix-home packages\n 15. {guix-system}: Number of guix-system packages\n 16. {guix-user}: Number of guix-user packages\n 17. {hpkg-system}: Number of hpkg-system packages\n 18. {hpkg-user}: Number of hpkg-user packages\n 19. {install-release}: Number of install-release packages\n 20. {kiss}: Number of kiss packages\n 21. {linglong}: Number of linglong packages\n 22. {lpkg}: Number of lpkg packages\n 23. {lpkgbuild}: Number of lpkgbuild packages\n 24. {macports}: Number of macports packages\n 25. {mport}: Number of mport packages\n 26. {moss}: Number of moss packages\n 27. {nix-default}: Number of nix-default packages\n 28. {nix-system}: Number of nix-system packages\n 29. {nix-user}: Number of nix-user packages\n 30. {opkg}: Number of opkg packages\n 31. {pacman}: Number of pacman packages\n 32. {pacman-branch}: Pacman branch on manjaro\n 33. {pacstall}: Number of pacstall packages\n 34. {paludis}: Number of paludis packages\n 35. {pisi}: Number of pisi packages\n 36. {pkg}: Number of pkg packages\n 37. {pkgsrc}: Number of pkgsrc packages\n 38. {pkgtool}: Number of pkgtool packages\n 39. {porg}: Number of porg packages\n 40. {rpm}: Number of rpm packages\n 41. {scoop-global}: Number of scoop-global packages\n 42. {scoop-user}: Number of scoop-user packages\n 43. {snap}: Number of snap packages\n 44. {soar}: Number of soar packages\n 45. {sorcery}: Number of sorcery packages\n 46. {winget}: Number of winget packages\n 47. {xbps}: Number of xbps packages\n 48. {brew-all}: Total number of all brew packages\n 49. {flatpak-all}: Total number of all flatpak app packages\n 50. {guix-all}: Total number of all guix packages\n 51. {hpkg-all}: Total number of all hpkg packages\n 52. {nix-all}: Total number of all nix packages\n 53. {all}: Number of all packages",
+ "description": "Output format for the `Packages` module. See Wiki for formatting syntax\n 1. {am-system}: Number of am-system packages\n 2. {am-user}: Number of am-user (aka appman) packages\n 3. {appimage}: Number of appimage packages\n 4. {apk}: Number of apk packages\n 5. {bpm}: Total number of all bpm packages\n 6. {brew}: Number of brew packages\n 7. {brew-cask}: Number of brew-cask packages\n 8. {cards}: Number of cards packages\n 9. {choco}: Number of choco packages\n 10. {dpkg}: Number of dpkg packages\n 11. {emerge}: Number of emerge packages\n 12. {eopkg}: Number of eopkg packages\n 13. {flatpak-system}: Number of flatpak-system app packages\n 14. {flatpak-user}: Number of flatpak-user app packages\n 15. {guix-home}: Number of guix-home packages\n 16. {guix-system}: Number of guix-system packages\n 17. {guix-user}: Number of guix-user packages\n 18. {hpkg-system}: Number of hpkg-system packages\n 19. {hpkg-user}: Number of hpkg-user packages\n 20. {install-release}: Number of install-release packages\n 21. {kiss}: Number of kiss packages\n 22. {linglong}: Number of linglong packages\n 23. {lpkg}: Number of lpkg packages\n 24. {lpkgbuild}: Number of lpkgbuild packages\n 25. {macports}: Number of macports packages\n 26. {mport}: Number of mport packages\n 27. {moss}: Number of moss packages\n 28. {nix-default}: Number of nix-default packages\n 29. {nix-system}: Number of nix-system packages\n 30. {nix-user}: Number of nix-user packages\n 31. {opkg}: Number of opkg packages\n 32. {pacman}: Number of pacman packages\n 33. {pacman-branch}: Pacman branch on manjaro\n 34. {pacstall}: Number of pacstall packages\n 35. {paludis}: Number of paludis packages\n 36. {pisi}: Number of pisi packages\n 37. {pkg}: Number of pkg packages\n 38. {pkgsrc}: Number of pkgsrc packages\n 39. {pkgtool}: Number of pkgtool packages\n 40. {porg}: Number of porg packages\n 41. {rpm}: Number of rpm packages\n 42. {scoop-global}: Number of scoop-global packages\n 43. {scoop-user}: Number of scoop-user packages\n 44. {snap}: Number of snap packages\n 45. {soar}: Number of soar packages\n 46. {sorcery}: Number of sorcery packages\n 47. {winget}: Number of winget packages\n 48. {xbps}: Number of xbps packages\n 49. {brew-all}: Total number of all brew packages\n 50. {flatpak-all}: Total number of all flatpak app packages\n 51. {guix-all}: Total number of all guix packages\n 52. {hpkg-all}: Total number of all hpkg packages\n 53. {nix-all}: Total number of all nix packages\n 54. {all}: Number of all packages",
"type": "string"
},
"physicaldiskFormat": {
diff --git a/src/detection/packages/packages.h b/src/detection/packages/packages.h
index 21193493..7aa0c86a 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 ee4efbe4..63c3de0c 100644
--- a/src/detection/packages/packages_linux.c
+++ b/src/detection/packages/packages_linux.c
@@ -568,6 +568,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 3adf4784..1e61d352 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 c215593c..b7075139 100644
--- a/src/modules/packages/option.h
+++ b/src/modules/packages/option.h
@@ -41,6 +41,7 @@ typedef enum FF_A_PACKED FFPackagesFlags {
FF_PACKAGES_FLAG_CARDS_BIT = UINT64_C(1) << 34U,
FF_PACKAGES_FLAG_PORG_BIT = UINT64_C(1) << 35U,
FF_PACKAGES_FLAG_INSTALLRELEASE_BIT = UINT64_C(1) << 36U,
+ FF_PACKAGES_FLAG_BPM_BIT = UINT64_C(1) << 37U,
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 8cb4027b..05128816 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 {
@@ -150,6 +151,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(counts.brewCask, "brew-cask"),
FF_ARG(counts.cards, "cards"),
@@ -251,6 +253,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)
@@ -387,6 +390,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)
@@ -447,6 +451,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)
@@ -523,6 +528,7 @@ FFModuleBaseInfo ffPackagesModuleInfo = {
{ "Number of am-user (aka appman) packages", "am-user" },
{ "Number of appimage packages", "appimage" },
{ "Number of apk packages", "apk" },
+ { "Number of bpm packages", "bpm" },
{ "Number of brew packages", "brew" },
{ "Number of brew-cask packages", "brew-cask" },
{ "Number of cards packages", "cards" },