dripfetch 0.2.2__tar.gz → 0.4.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (578) hide show
  1. dripfetch-0.4.0/PKG-INFO +214 -0
  2. dripfetch-0.4.0/README.md +183 -0
  3. {dripfetch-0.2.2 → dripfetch-0.4.0}/pyproject.toml +17 -7
  4. dripfetch-0.4.0/src/dripfetch/app/app.py +173 -0
  5. dripfetch-0.4.0/src/dripfetch/app/cli.py +278 -0
  6. dripfetch-0.4.0/src/dripfetch/app/config.py +210 -0
  7. dripfetch-0.4.0/src/dripfetch/app/terminal.py +212 -0
  8. dripfetch-0.4.0/src/dripfetch/assets/configs/01_neon_matrix.yaml +62 -0
  9. dripfetch-0.4.0/src/dripfetch/assets/configs/02_moonlight_observatory.yaml +66 -0
  10. dripfetch-0.4.0/src/dripfetch/assets/configs/03_ops_console.yaml +78 -0
  11. dripfetch-0.4.0/src/dripfetch/assets/configs/04_citrus_pop.yaml +65 -0
  12. dripfetch-0.4.0/src/dripfetch/assets/configs/05_arcade_white.yaml +75 -0
  13. dripfetch-0.4.0/src/dripfetch/assets/configs/06_ink_and_amber.yaml +66 -0
  14. dripfetch-0.4.0/src/dripfetch/assets/configs/07_arcade_cabinet.yaml +72 -0
  15. dripfetch-0.4.0/src/dripfetch/assets/configs/0_default.yaml +237 -0
  16. dripfetch-0.4.0/src/dripfetch/box/__init__.py +18 -0
  17. dripfetch-0.4.0/src/dripfetch/box/base.py +107 -0
  18. dripfetch-0.4.0/src/dripfetch/box/border.py +103 -0
  19. dripfetch-0.4.0/src/dripfetch/box/colors.py +22 -0
  20. dripfetch-0.4.0/src/dripfetch/box/layout.py +135 -0
  21. dripfetch-0.4.0/src/dripfetch/box/manager.py +120 -0
  22. dripfetch-0.4.0/src/dripfetch/box/placement.py +98 -0
  23. dripfetch-0.4.0/src/dripfetch/box/registry.py +54 -0
  24. dripfetch-0.4.0/src/dripfetch/box/types/calendar.py +113 -0
  25. dripfetch-0.4.0/src/dripfetch/box/types/clock.py +70 -0
  26. dripfetch-0.4.0/src/dripfetch/box/types/helper/__init__.py +1 -0
  27. dripfetch-0.4.0/src/dripfetch/box/types/helper/braille.py +73 -0
  28. dripfetch-0.4.0/src/dripfetch/box/types/helper/calendar_grid.py +57 -0
  29. dripfetch-0.2.2/src/dripfetch/box/types/clock.py → dripfetch-0.4.0/src/dripfetch/box/types/helper/clock_digits.py +39 -177
  30. dripfetch-0.4.0/src/dripfetch/box/types/helper/clock_layout.py +83 -0
  31. dripfetch-0.4.0/src/dripfetch/box/types/helper/commands.py +20 -0
  32. dripfetch-0.4.0/src/dripfetch/box/types/helper/forecast.py +77 -0
  33. dripfetch-0.4.0/src/dripfetch/box/types/helper/geolocation.py +125 -0
  34. dripfetch-0.4.0/src/dripfetch/box/types/helper/logo_assets.py +42 -0
  35. dripfetch-0.4.0/src/dripfetch/box/types/helper/logo_markup.py +38 -0
  36. dripfetch-0.4.0/src/dripfetch/box/types/helper/net_sampler.py +102 -0
  37. dripfetch-0.4.0/src/dripfetch/box/types/helper/os_release.py +14 -0
  38. dripfetch-0.4.0/src/dripfetch/box/types/helper/parsing.py +32 -0
  39. dripfetch-0.4.0/src/dripfetch/box/types/helper/sysinfo_colors.py +54 -0
  40. dripfetch-0.4.0/src/dripfetch/box/types/helper/sysinfo_display.py +110 -0
  41. dripfetch-0.4.0/src/dripfetch/box/types/helper/sysinfo_hardware.py +102 -0
  42. dripfetch-0.4.0/src/dripfetch/box/types/helper/sysinfo_lines.py +106 -0
  43. dripfetch-0.4.0/src/dripfetch/box/types/helper/sysinfo_network.py +55 -0
  44. dripfetch-0.4.0/src/dripfetch/box/types/helper/sysinfo_system.py +152 -0
  45. dripfetch-0.4.0/src/dripfetch/box/types/helper/units.py +26 -0
  46. dripfetch-0.4.0/src/dripfetch/box/types/helper/validation.py +44 -0
  47. dripfetch-0.4.0/src/dripfetch/box/types/helper/web.py +15 -0
  48. dripfetch-0.4.0/src/dripfetch/box/types/logo.py +41 -0
  49. dripfetch-0.4.0/src/dripfetch/box/types/net.py +142 -0
  50. dripfetch-0.4.0/src/dripfetch/box/types/sysinfo.py +166 -0
  51. dripfetch-0.4.0/src/dripfetch/box/types/text.py +33 -0
  52. dripfetch-0.4.0/src/dripfetch/box/types/weather.py +156 -0
  53. dripfetch-0.4.0/src/dripfetch/box/validation.py +54 -0
  54. dripfetch-0.4.0/src/dripfetch/rain/colors.py +32 -0
  55. dripfetch-0.4.0/src/dripfetch/rain/constants.py +8 -0
  56. dripfetch-0.4.0/src/dripfetch/rain/manager.py +245 -0
  57. dripfetch-0.4.0/src/dripfetch/rain/models.py +31 -0
  58. dripfetch-0.4.0/src/dripfetch/rain/physics.py +214 -0
  59. dripfetch-0.4.0/src/dripfetch/rain/rendering.py +85 -0
  60. dripfetch-0.4.0/src/dripfetch/rain/spawning.py +135 -0
  61. dripfetch-0.4.0/src/dripfetch.egg-info/PKG-INFO +214 -0
  62. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch.egg-info/SOURCES.txt +45 -6
  63. dripfetch-0.2.2/PKG-INFO +0 -292
  64. dripfetch-0.2.2/README.md +0 -247
  65. dripfetch-0.2.2/src/dripfetch/app/__init__.py +0 -0
  66. dripfetch-0.2.2/src/dripfetch/app/app.py +0 -86
  67. dripfetch-0.2.2/src/dripfetch/app/cli.py +0 -145
  68. dripfetch-0.2.2/src/dripfetch/app/config.py +0 -545
  69. dripfetch-0.2.2/src/dripfetch/app/terminal.py +0 -127
  70. dripfetch-0.2.2/src/dripfetch/box/__init__.py +0 -11
  71. dripfetch-0.2.2/src/dripfetch/box/manager.py +0 -545
  72. dripfetch-0.2.2/src/dripfetch/box/types/logo.py +0 -138
  73. dripfetch-0.2.2/src/dripfetch/box/types/sysinfo.py +0 -1009
  74. dripfetch-0.2.2/src/dripfetch/box/types/text.py +0 -10
  75. dripfetch-0.2.2/src/dripfetch/box/types/weather.py +0 -348
  76. dripfetch-0.2.2/src/dripfetch/default_config.yaml +0 -215
  77. dripfetch-0.2.2/src/dripfetch/rain/manager.py +0 -585
  78. dripfetch-0.2.2/src/dripfetch.egg-info/PKG-INFO +0 -292
  79. dripfetch-0.2.2/tests/test_box_colors.py +0 -102
  80. dripfetch-0.2.2/tests/test_box_manager.py +0 -167
  81. dripfetch-0.2.2/tests/test_config.py +0 -510
  82. dripfetch-0.2.2/tests/test_rain_manager.py +0 -601
  83. {dripfetch-0.2.2 → dripfetch-0.4.0}/LICENSE +0 -0
  84. {dripfetch-0.2.2 → dripfetch-0.4.0}/setup.cfg +0 -0
  85. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/__init__.py +0 -0
  86. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/__main__.py +0 -0
  87. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/adelie.txt +0 -0
  88. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/aeon.txt +0 -0
  89. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/aeros.txt +0 -0
  90. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/aerynos.txt +0 -0
  91. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/afterglow.txt +0 -0
  92. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/aix.txt +0 -0
  93. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/almalinux.txt +0 -0
  94. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/alpine.txt +0 -0
  95. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/alpine2.txt +0 -0
  96. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/alpine2_small.txt +0 -0
  97. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/alpine3_small.txt +0 -0
  98. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/alpine_small.txt +0 -0
  99. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/alter.txt +0 -0
  100. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/altlinux.txt +0 -0
  101. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/amazon.txt +0 -0
  102. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/amazon_linux.txt +0 -0
  103. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/amogos.txt +0 -0
  104. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/anarchy.txt +0 -0
  105. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/android.txt +0 -0
  106. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/android_small.txt +0 -0
  107. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/anduinos.txt +0 -0
  108. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/antergos.txt +0 -0
  109. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/antix.txt +0 -0
  110. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/anushos.txt +0 -0
  111. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/aoscos.txt +0 -0
  112. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/aoscos_old.txt +0 -0
  113. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/aoscosretro.txt +0 -0
  114. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/aoscosretro_small.txt +0 -0
  115. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/aperture.txt +0 -0
  116. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/apricity.txt +0 -0
  117. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/arch.txt +0 -0
  118. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/arch2.txt +0 -0
  119. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/arch3.txt +0 -0
  120. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/arch_old.txt +0 -0
  121. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/arch_small.txt +0 -0
  122. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/archbox.txt +0 -0
  123. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/archcraft.txt +0 -0
  124. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/archcraft2.txt +0 -0
  125. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/archlabs.txt +0 -0
  126. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/archstrike.txt +0 -0
  127. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/arco.txt +0 -0
  128. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/arco_small.txt +0 -0
  129. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/arkane.txt +0 -0
  130. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/armbian.txt +0 -0
  131. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/armbian2.txt +0 -0
  132. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/arselinux.txt +0 -0
  133. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/artix.txt +0 -0
  134. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/artix2_small.txt +0 -0
  135. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/artix_small.txt +0 -0
  136. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/arya.txt +0 -0
  137. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/asahi.txt +0 -0
  138. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/asahi2.txt +0 -0
  139. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/aster.txt +0 -0
  140. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/asteroidos.txt +0 -0
  141. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/astos.txt +0 -0
  142. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/astra_linux.txt +0 -0
  143. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/athenaos.txt +0 -0
  144. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/athenaos_old.txt +0 -0
  145. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/aurora.txt +0 -0
  146. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/axos.txt +0 -0
  147. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/azos.txt +0 -0
  148. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/bedrock.txt +0 -0
  149. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/bedrock_small.txt +0 -0
  150. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/biglinux.txt +0 -0
  151. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/bitrig.txt +0 -0
  152. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/blackarch.txt +0 -0
  153. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/blackmesa.txt +0 -0
  154. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/blackpanther.txt +0 -0
  155. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/blag.txt +0 -0
  156. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/blankon.txt +0 -0
  157. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/bluelight.txt +0 -0
  158. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/bodhi.txt +0 -0
  159. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/bonsai.txt +0 -0
  160. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/bredos.txt +0 -0
  161. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/bsd.txt +0 -0
  162. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/bunsenlabs.txt +0 -0
  163. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/cachyos.txt +0 -0
  164. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/cachyos_small.txt +0 -0
  165. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/calculate.txt +0 -0
  166. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/calinixos.txt +0 -0
  167. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/calinixos_small.txt +0 -0
  168. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/carbs.txt +0 -0
  169. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/cbl_mariner.txt +0 -0
  170. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/celos.txt +0 -0
  171. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/center.txt +0 -0
  172. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/centos.txt +0 -0
  173. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/centos_small.txt +0 -0
  174. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/cereus.txt +0 -0
  175. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/chakra.txt +0 -0
  176. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/chaletos.txt +0 -0
  177. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/chapeau.txt +0 -0
  178. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/chimera_linux.txt +0 -0
  179. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/chonkysealos.txt +0 -0
  180. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/chrom.txt +0 -0
  181. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/cleanjaro.txt +0 -0
  182. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/cleanjaro_small.txt +0 -0
  183. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/clear_linux.txt +0 -0
  184. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/clearos.txt +0 -0
  185. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/clover.txt +0 -0
  186. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/cobalt.txt +0 -0
  187. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/codex.txt +0 -0
  188. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/condres.txt +0 -0
  189. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/cosmic.txt +0 -0
  190. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/crux.txt +0 -0
  191. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/crux_small.txt +0 -0
  192. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/crystal.txt +0 -0
  193. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/cucumber.txt +0 -0
  194. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/cuerdos.txt +0 -0
  195. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/cutefishos.txt +0 -0
  196. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/cuteos.txt +0 -0
  197. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/cyberos.txt +0 -0
  198. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/cycledream.txt +0 -0
  199. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/dahlia.txt +0 -0
  200. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/darkos.txt +0 -0
  201. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/debian.txt +0 -0
  202. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/debian_small.txt +0 -0
  203. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/deepin.txt +0 -0
  204. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/desaos.txt +0 -0
  205. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/devuan.txt +0 -0
  206. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/devuan_small.txt +0 -0
  207. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/dietpi.txt +0 -0
  208. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/dracos.txt +0 -0
  209. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/dragonfly.txt +0 -0
  210. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/dragonfly_old.txt +0 -0
  211. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/dragonfly_small.txt +0 -0
  212. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/drauger.txt +0 -0
  213. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/droidian.txt +0 -0
  214. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/elbrus.txt +0 -0
  215. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/elementary.txt +0 -0
  216. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/elementary_small.txt +0 -0
  217. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/elive.txt +0 -0
  218. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/encryptos.txt +0 -0
  219. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/endeavouros.txt +0 -0
  220. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/endeavouros_small.txt +0 -0
  221. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/endless.txt +0 -0
  222. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/enso.txt +0 -0
  223. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/eshanizedos.txt +0 -0
  224. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/eurolinux.txt +0 -0
  225. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/evolutionos.txt +0 -0
  226. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/evolutionos_old.txt +0 -0
  227. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/evolutionos_small.txt +0 -0
  228. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/eweos.txt +0 -0
  229. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/exherbo.txt +0 -0
  230. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/exodia_predator.txt +0 -0
  231. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/fastfetch.txt +0 -0
  232. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/fedora.txt +0 -0
  233. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/fedora2_small.txt +0 -0
  234. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/fedora_coreos.txt +0 -0
  235. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/fedora_kinoite.txt +0 -0
  236. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/fedora_old.txt +0 -0
  237. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/fedora_sericea.txt +0 -0
  238. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/fedora_silverblue.txt +0 -0
  239. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/fedora_small.txt +0 -0
  240. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/femboyos.txt +0 -0
  241. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/feren.txt +0 -0
  242. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/filotimo.txt +0 -0
  243. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/finnix.txt +0 -0
  244. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/floflis.txt +0 -0
  245. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/freebsd.txt +0 -0
  246. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/freebsd_small.txt +0 -0
  247. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/freemint.txt +0 -0
  248. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/frugalware.txt +0 -0
  249. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/funtoo.txt +0 -0
  250. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/furreto.txt +0 -0
  251. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/galliumos.txt +0 -0
  252. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/garuda.txt +0 -0
  253. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/garuda_dragon.txt +0 -0
  254. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/garuda_small.txt +0 -0
  255. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/gentoo.txt +0 -0
  256. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/gentoo_small.txt +0 -0
  257. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/ghostbsd.txt +0 -0
  258. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/ghostfreak.txt +0 -0
  259. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/glaucus.txt +0 -0
  260. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/gnewsense.txt +0 -0
  261. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/gnome.txt +0 -0
  262. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/gnu.txt +0 -0
  263. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/gobolinux.txt +0 -0
  264. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/goldendoglinux.txt +0 -0
  265. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/grapheneos.txt +0 -0
  266. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/grombyang.txt +0 -0
  267. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/guix.txt +0 -0
  268. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/guix_small.txt +0 -0
  269. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/haiku.txt +0 -0
  270. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/haiku2.txt +0 -0
  271. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/haiku_small.txt +0 -0
  272. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/hamonikr.txt +0 -0
  273. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/hardclanz.txt +0 -0
  274. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/harmonyos.txt +0 -0
  275. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/hash.txt +0 -0
  276. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/hce.txt +0 -0
  277. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/heliumos.txt +0 -0
  278. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/huayra.txt +0 -0
  279. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/hybrid.txt +0 -0
  280. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/hydrapwk.txt +0 -0
  281. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/hydroos.txt +0 -0
  282. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/hyperbola.txt +0 -0
  283. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/hyperbola_small.txt +0 -0
  284. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/hypros.txt +0 -0
  285. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/iglunix.txt +0 -0
  286. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/instantos.txt +0 -0
  287. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/interix.txt +0 -0
  288. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/irix.txt +0 -0
  289. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/ironclad.txt +0 -0
  290. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/itc.txt +0 -0
  291. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/januslinux.txt +0 -0
  292. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/kaisen.txt +0 -0
  293. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/kali.txt +0 -0
  294. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/kali_small.txt +0 -0
  295. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/kalpa_desktop.txt +0 -0
  296. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/kaos.txt +0 -0
  297. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/kdelinux.txt +0 -0
  298. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/kdeneon.txt +0 -0
  299. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/kernelos.txt +0 -0
  300. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/kibojoe.txt +0 -0
  301. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/kiss.txt +0 -0
  302. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/kogaion.txt +0 -0
  303. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/korora.txt +0 -0
  304. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/krassos.txt +0 -0
  305. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/kslinux.txt +0 -0
  306. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/kubuntu.txt +0 -0
  307. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/kylin.txt +0 -0
  308. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/lainos.txt +0 -0
  309. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/langitketujuh.txt +0 -0
  310. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/laxeros.txt +0 -0
  311. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/lede.txt +0 -0
  312. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/lfs.txt +0 -0
  313. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/libreelec.txt +0 -0
  314. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/lilidog.txt +0 -0
  315. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/lingmo.txt +0 -0
  316. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/linspire.txt +0 -0
  317. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/linux.txt +0 -0
  318. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/linux_small.txt +0 -0
  319. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/linuxlite.txt +0 -0
  320. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/linuxlite_small.txt +0 -0
  321. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/linuxmint.txt +0 -0
  322. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/linuxmint_old.txt +0 -0
  323. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/linuxmint_small.txt +0 -0
  324. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/live_raizo.txt +0 -0
  325. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/lliurex.txt +0 -0
  326. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/lmde.txt +0 -0
  327. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/locos.txt +0 -0
  328. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/lubuntu.txt +0 -0
  329. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/lunar.txt +0 -0
  330. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/macos.txt +0 -0
  331. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/macos2.txt +0 -0
  332. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/macos2_small.txt +0 -0
  333. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/macos3.txt +0 -0
  334. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/macos_small.txt +0 -0
  335. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/mageia.txt +0 -0
  336. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/mageia_small.txt +0 -0
  337. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/magix.txt +0 -0
  338. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/magpieos.txt +0 -0
  339. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/mainsailos.txt +0 -0
  340. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/mainsailos_small.txt +0 -0
  341. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/mandriva.txt +0 -0
  342. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/manjaro.txt +0 -0
  343. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/manjaro_small.txt +0 -0
  344. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/massos.txt +0 -0
  345. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/matuusos.txt +0 -0
  346. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/maui.txt +0 -0
  347. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/mauna.txt +0 -0
  348. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/meowix.txt +0 -0
  349. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/mer.txt +0 -0
  350. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/midnightbsd.txt +0 -0
  351. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/midos.txt +0 -0
  352. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/midos_old.txt +0 -0
  353. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/minimal.txt +0 -0
  354. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/minix.txt +0 -0
  355. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/miracle_linux.txt +0 -0
  356. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/mos.txt +0 -0
  357. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/msys2.txt +0 -0
  358. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/mx.txt +0 -0
  359. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/mx2.txt +0 -0
  360. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/mx_small.txt +0 -0
  361. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/namib.txt +0 -0
  362. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/nekos.txt +0 -0
  363. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/neptune.txt +0 -0
  364. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/netbsd.txt +0 -0
  365. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/netbsd2.txt +0 -0
  366. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/netbsd_small.txt +0 -0
  367. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/netrunner.txt +0 -0
  368. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/nexalinux.txt +0 -0
  369. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/nitrux.txt +0 -0
  370. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/nixos.txt +0 -0
  371. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/nixos_old.txt +0 -0
  372. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/nixos_old_small.txt +0 -0
  373. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/nixos_small.txt +0 -0
  374. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/nobara.txt +0 -0
  375. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/nomadbsd.txt +0 -0
  376. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/nuros.txt +0 -0
  377. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/nurunner.txt +0 -0
  378. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/nutyx.txt +0 -0
  379. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/obarun.txt +0 -0
  380. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/obrevenge.txt +0 -0
  381. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/obsidianos.txt +0 -0
  382. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/omnios.txt +0 -0
  383. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/opak.txt +0 -0
  384. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/openbsd.txt +0 -0
  385. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/openbsd_small.txt +0 -0
  386. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/openeuler.txt +0 -0
  387. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/openindiana.txt +0 -0
  388. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/openkylin.txt +0 -0
  389. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/openmamba.txt +0 -0
  390. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/openmandriva.txt +0 -0
  391. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/openstage.txt +0 -0
  392. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/opensuse.txt +0 -0
  393. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/opensuse_leap.txt +0 -0
  394. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/opensuse_leap_old.txt +0 -0
  395. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/opensuse_microos.txt +0 -0
  396. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/opensuse_slowroll.txt +0 -0
  397. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/opensuse_small.txt +0 -0
  398. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/opensuse_tumbleweed.txt +0 -0
  399. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/opensuse_tumbleweed_old.txt +0 -0
  400. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/opensuse_tumbleweed_small.txt +0 -0
  401. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/openwrt.txt +0 -0
  402. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/opnsense.txt +0 -0
  403. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/oracle.txt +0 -0
  404. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/orchid.txt +0 -0
  405. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/orchid_small.txt +0 -0
  406. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/oreon.txt +0 -0
  407. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/os_elbrus.txt +0 -0
  408. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/osmc.txt +0 -0
  409. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/pacbsd.txt +0 -0
  410. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/panwah.txt +0 -0
  411. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/parabola.txt +0 -0
  412. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/parabola_small.txt +0 -0
  413. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/parch.txt +0 -0
  414. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/pardus.txt +0 -0
  415. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/parrot.txt +0 -0
  416. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/parsix.txt +0 -0
  417. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/pcbsd.txt +0 -0
  418. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/pclinuxos.txt +0 -0
  419. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/pearos.txt +0 -0
  420. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/pengwin.txt +0 -0
  421. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/pentoo.txt +0 -0
  422. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/peppermint.txt +0 -0
  423. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/peropesis.txt +0 -0
  424. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/phyos.txt +0 -0
  425. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/pikaos.txt +0 -0
  426. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/pisi.txt +0 -0
  427. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/pnm_linux.txt +0 -0
  428. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/pop.txt +0 -0
  429. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/pop_small.txt +0 -0
  430. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/porteus.txt +0 -0
  431. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/postmarketos.txt +0 -0
  432. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/postmarketos_small.txt +0 -0
  433. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/proxmox.txt +0 -0
  434. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/puffos.txt +0 -0
  435. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/puppy.txt +0 -0
  436. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/pureos.txt +0 -0
  437. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/pureos_small.txt +0 -0
  438. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/q4os.txt +0 -0
  439. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/qts.txt +0 -0
  440. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/qubes.txt +0 -0
  441. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/qubyt.txt +0 -0
  442. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/quibian.txt +0 -0
  443. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/quirinux.txt +0 -0
  444. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/radix.txt +0 -0
  445. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/raspbian.txt +0 -0
  446. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/raspbian_small.txt +0 -0
  447. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/ravynos.txt +0 -0
  448. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/rebornos.txt +0 -0
  449. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/rebornos_small.txt +0 -0
  450. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/redcore.txt +0 -0
  451. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/redos.txt +0 -0
  452. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/redos_small.txt +0 -0
  453. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/redstar.txt +0 -0
  454. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/refracted_devuan.txt +0 -0
  455. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/regata.txt +0 -0
  456. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/regolith.txt +0 -0
  457. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/rhaymos.txt +0 -0
  458. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/rhel.txt +0 -0
  459. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/rhel_old.txt +0 -0
  460. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/rhel_small.txt +0 -0
  461. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/rhino.txt +0 -0
  462. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/rocky.txt +0 -0
  463. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/rocky_small.txt +0 -0
  464. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/rosa.txt +0 -0
  465. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/sabayon.txt +0 -0
  466. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/sabotage.txt +0 -0
  467. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/sailfish.txt +0 -0
  468. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/salentos.txt +0 -0
  469. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/salientos.txt +0 -0
  470. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/salix.txt +0 -0
  471. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/sambabox.txt +0 -0
  472. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/sasanqua.txt +0 -0
  473. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/scientific.txt +0 -0
  474. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/semc.txt +0 -0
  475. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/septor.txt +0 -0
  476. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/serene.txt +0 -0
  477. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/serpent_os.txt +0 -0
  478. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/sharklinux.txt +0 -0
  479. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/shastraos.txt +0 -0
  480. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/shebang.txt +0 -0
  481. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/siduction.txt +0 -0
  482. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/skiffos.txt +0 -0
  483. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/slackel.txt +0 -0
  484. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/slackware.txt +0 -0
  485. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/slackware_small.txt +0 -0
  486. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/sleeperos.txt +0 -0
  487. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/sleeperos_small.txt +0 -0
  488. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/slitaz.txt +0 -0
  489. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/smartos.txt +0 -0
  490. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/snigdhaos.txt +0 -0
  491. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/soda.txt +0 -0
  492. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/solaris.txt +0 -0
  493. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/solaris_small.txt +0 -0
  494. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/solus.txt +0 -0
  495. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/source_mage.txt +0 -0
  496. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/sparky.txt +0 -0
  497. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/spoinkos.txt +0 -0
  498. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/star.txt +0 -0
  499. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/steamdeck.txt +0 -0
  500. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/steamdeck_small.txt +0 -0
  501. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/steamos.txt +0 -0
  502. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/stock_linux.txt +0 -0
  503. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/sulin.txt +0 -0
  504. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/summitos.txt +0 -0
  505. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/suse.txt +0 -0
  506. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/swagarch.txt +0 -0
  507. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/t2.txt +0 -0
  508. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/t2_small.txt +0 -0
  509. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/tails.txt +0 -0
  510. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/tatra.txt +0 -0
  511. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/tearch.txt +0 -0
  512. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/templeos.txt +0 -0
  513. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/tileos.txt +0 -0
  514. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/torizoncore.txt +0 -0
  515. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/trisquel.txt +0 -0
  516. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/truenas_scale.txt +0 -0
  517. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/tuxedo_os.txt +0 -0
  518. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/twister.txt +0 -0
  519. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/ublinux.txt +0 -0
  520. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/ublinux_small.txt +0 -0
  521. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/ubuntu.txt +0 -0
  522. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/ubuntu_budgie.txt +0 -0
  523. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/ubuntu_cinnamon.txt +0 -0
  524. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/ubuntu_gnome.txt +0 -0
  525. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/ubuntu_kylin.txt +0 -0
  526. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/ubuntu_mate.txt +0 -0
  527. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/ubuntu_old.txt +0 -0
  528. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/ubuntu_old2.txt +0 -0
  529. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/ubuntu_old2_small.txt +0 -0
  530. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/ubuntu_small.txt +0 -0
  531. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/ubuntu_studio.txt +0 -0
  532. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/ubuntu_sway.txt +0 -0
  533. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/ubuntu_touch.txt +0 -0
  534. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/ubuntu_unity.txt +0 -0
  535. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/ultramarine.txt +0 -0
  536. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/ultramarine_small.txt +0 -0
  537. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/unifi.txt +0 -0
  538. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/univalent.txt +0 -0
  539. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/univention.txt +0 -0
  540. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/unknown.txt +0 -0
  541. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/uos.txt +0 -0
  542. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/urukos.txt +0 -0
  543. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/uwuntu.txt +0 -0
  544. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/valhalla.txt +0 -0
  545. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/vanilla.txt +0 -0
  546. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/vanilla2.txt +0 -0
  547. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/vanilla_small.txt +0 -0
  548. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/venom.txt +0 -0
  549. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/venom_small.txt +0 -0
  550. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/vnux.txt +0 -0
  551. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/void.txt +0 -0
  552. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/void2.txt +0 -0
  553. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/void2_small.txt +0 -0
  554. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/void_small.txt +0 -0
  555. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/vzlinux.txt +0 -0
  556. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/wii_linux.txt +0 -0
  557. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/windows.txt +0 -0
  558. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/windows_11.txt +0 -0
  559. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/windows_11_small.txt +0 -0
  560. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/windows_2025.txt +0 -0
  561. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/windows_8.txt +0 -0
  562. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/windows_95.txt +0 -0
  563. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/wolfos.txt +0 -0
  564. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/xcp_ng.txt +0 -0
  565. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/xenia.txt +0 -0
  566. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/xenia_old.txt +0 -0
  567. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/xeroarch.txt +0 -0
  568. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/xferience.txt +0 -0
  569. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/xray_os.txt +0 -0
  570. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/xubuntu.txt +0 -0
  571. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/yiffos.txt +0 -0
  572. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/zorin.txt +0 -0
  573. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/assets/logos/zos.txt +0 -0
  574. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch/rain/__init__.py +0 -0
  575. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch.egg-info/dependency_links.txt +0 -0
  576. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch.egg-info/entry_points.txt +0 -0
  577. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch.egg-info/requires.txt +0 -0
  578. {dripfetch-0.2.2 → dripfetch-0.4.0}/src/dripfetch.egg-info/top_level.txt +0 -0
@@ -0,0 +1,214 @@
1
+ Metadata-Version: 2.4
2
+ Name: dripfetch
3
+ Version: 0.4.0
4
+ Summary: A customizable terminal system information display with animated rain.
5
+ Author: Amir Shygun
6
+ License-Expression: MIT
7
+ Project-URL: Homepage, https://github.com/a-shygun/dripfetch
8
+ Project-URL: Repository, https://github.com/a-shygun/dripfetch
9
+ Project-URL: Issues, https://github.com/a-shygun/dripfetch/issues
10
+ Project-URL: Security, https://github.com/a-shygun/dripfetch/security
11
+ Keywords: terminal,system information,fetch,curses,cli
12
+ Classifier: Development Status :: 3 - Alpha
13
+ Classifier: Environment :: Console
14
+ Classifier: Intended Audience :: End Users/Desktop
15
+ Classifier: Operating System :: MacOS
16
+ Classifier: Operating System :: POSIX
17
+ Classifier: Programming Language :: Python :: 3
18
+ Classifier: Programming Language :: Python :: 3 :: Only
19
+ Classifier: Programming Language :: Python :: 3.10
20
+ Classifier: Programming Language :: Python :: 3.11
21
+ Classifier: Programming Language :: Python :: 3.12
22
+ Classifier: Programming Language :: Python :: 3.13
23
+ Classifier: Topic :: System
24
+ Classifier: Topic :: Terminals
25
+ Requires-Python: >=3.10
26
+ Description-Content-Type: text/markdown
27
+ License-File: LICENSE
28
+ Requires-Dist: psutil
29
+ Requires-Dist: ruamel.yaml
30
+ Dynamic: license-file
31
+
32
+ # Dripfetch
33
+
34
+ A customizable terminal dashboard with animated Matrix-style rain. Place system info, logos, clocks, calendars, weather, text, and network graphs anywhere on screen, and tune everything from one YAML file.
35
+
36
+ <p align="center">
37
+ <img src="docs/dripfetch.gif" alt="Dripfetch demo" width="850">
38
+ </p>
39
+
40
+ ## Features
41
+
42
+ - Rain with adjustable density, symbols, colors, speed, length, and box collisions
43
+ - Seven box types: `logo`, `sysinfo`, `clock`, `calendar`, `weather`, `net`, `text`
44
+ - 487 ASCII logos, auto-detected from your OS or chosen explicitly
45
+ - Five border styles, shared palette and padding
46
+ - Click a box and move it with arrows or WASD; the position is saved to YAML
47
+ - Seven presets plus a default (`0`), validated configs with clear error paths
48
+
49
+ ## Install
50
+
51
+ Requires Python 3.10+ and a POSIX terminal with curses (macOS, Linux).
52
+
53
+ ```bash
54
+ pipx install dripfetch # recommended
55
+ python -m pip install dripfetch # inside a virtual environment
56
+ pipx install . # from a source checkout
57
+
58
+ brew tap a-shygun/dripfetch https://github.com/a-shygun/dripfetch.git
59
+ brew install a-shygun/dripfetch/dripfetch # Homebrew
60
+
61
+ yay -S dripfetch # Arch (AUR)
62
+ ```
63
+
64
+ `bash install.sh` sets up a local virtual environment in `~/dripfetch` and links `dripfetch` into `~/.local/bin`; `bash uninstall.sh` removes it and keeps your config.
65
+
66
+ **Uninstall:** `pipx uninstall dripfetch` · `python -m pip uninstall dripfetch` · `brew uninstall dripfetch` · `yay -R dripfetch`
67
+
68
+ ### Nix
69
+
70
+ `psutil` and `ruamel.yaml` are **runtime** dependencies, not native build inputs. Put them in `dependencies` (or `propagatedBuildInputs`), not `nativeBuildInputs`, or the installed command fails with `ModuleNotFoundError`:
71
+
72
+ ```nix
73
+ python3Packages.buildPythonApplication {
74
+ pname = "dripfetch";
75
+ version = "0.4.0";
76
+ pyproject = true;
77
+ src = ./.;
78
+ build-system = [ python3Packages.setuptools ];
79
+ dependencies = with python3Packages; [ psutil ruamel-yaml ];
80
+ }
81
+ ```
82
+
83
+ ## Usage
84
+
85
+ ```bash
86
+ dripfetch
87
+ ```
88
+
89
+ | Key | Action |
90
+ | --- | --- |
91
+ | `q` | Quit |
92
+ | `Space` | Pause / resume rain |
93
+ | Click | Select a box |
94
+ | Arrows / `WASD` | Move the selected box (saved automatically) |
95
+ | `Esc` | Deselect |
96
+
97
+ ### Commands
98
+
99
+ | Command | Action |
100
+ | --- | --- |
101
+ | `dripfetch -c, --use-config NUMBER\|NAME\|PATH` | Run with a preset or YAML file for this session only |
102
+ | `dripfetch --set-config NUMBER\|NAME\|PATH` | Save a preset or file as the active config |
103
+ | `dripfetch --set-logo NAME` | Save a logo in the active config |
104
+ | `dripfetch --list-configs` / `--list-logos` / `--list-boxes` | List presets, logos, or box types |
105
+ | `dripfetch --print-logo NAME` | Print a logo |
106
+ | `dripfetch --config-path` | Show the config path in use |
107
+ | `dripfetch --init-config` | Create or restore the default config |
108
+ | `dripfetch -v, --version` / `--version-raw` | Show the version |
109
+ | `dripfetch -h, --help` | Show help |
110
+
111
+ ```bash
112
+ dripfetch --use-config 2 # try a preset
113
+ dripfetch -c ./my-layout.yaml # try your own file
114
+ dripfetch --set-config moonlight_observatory
115
+ ```
116
+
117
+ Presets are `01_neon_matrix`, `02_moonlight_observatory`, `03_ops_console`, `04_citrus_pop`, `05_arcade_white`, `06_ink_and_amber`, `07_arcade_cabinet`, and `0` for the default. A selector can be the number, full name, or short name.
118
+
119
+ ### Lower CPU usage
120
+
121
+ The rain is the main cost. **Lower `rain.intensity` to use less CPU**; `0` disables rain and leaves the dashboard nearly idle. Around `20`–`60` suits a laptop on battery. Pausing with `Space` and shorter `lengths` also help.
122
+
123
+ ## Configuration
124
+
125
+ The active config is `~/.config/dripfetch/config.yaml`. The packaged [`0_default.yaml`](src/dripfetch/assets/configs/0_default.yaml) documents every option. Moving a box writes its new position back to the file in use.
126
+
127
+ ```yaml
128
+ background: "#080B12"
129
+ keyboard:
130
+ layout: qwerty # qwerty | azerty | qwertz
131
+ rain:
132
+ collision: true
133
+ intensity: 60 # lower = less CPU
134
+ character: ["│", "┃", "╎"]
135
+ colors: [[0.7, "#21F7A8"], [0.3, "#45B8FF"]] # [probability, value], must sum to 1
136
+ speeds: [[0.5, 30], [0.5, 50]] # ms per step, lower = faster
137
+ lengths: [[0.8, 6], [0.2, 14]]
138
+ effects: {acceleration: false, splash: false}
139
+ boxes:
140
+ border: titled_single # single | double | titled_single | titled_double | none
141
+ border_color: "#50FFC1"
142
+ text_color: "#D9E5F4"
143
+ accent_color: "#50FFC1"
144
+ padding: {horizontal: 2, vertical: 0}
145
+ items:
146
+ - type: logo
147
+ logo: arch2
148
+ position: {horizontal: -32, vertical: 0}
149
+ - type: clock
150
+ clock_size: small
151
+ show_date: true
152
+ position: {horizontal: 28, vertical: -7}
153
+ - type: text
154
+ title: NOTE
155
+ text: |
156
+ Dripfetch is running.
157
+ alignment: center
158
+ position: {horizontal: 28, vertical: 7}
159
+ ```
160
+
161
+ Colors are `#RRGGBB` or `#RRGGBBAA`. Positions are cell offsets from the center (positive = right / down).
162
+
163
+ ### Box options
164
+
165
+ | Type | Options |
166
+ | --- | --- |
167
+ | `logo` | `logo` (omit to detect your OS), `colors` for `$1`, `$2`, … markers |
168
+ | `sysinfo` | `sections`: `system`, `display`, `hardware`, `disk`, `connectivity` (true/false) |
169
+ | `clock` | `clock_size` small/medium/big, `clock_style` single/double, `clock_24h`, `show_seconds`, `show_am_pm`, `blink_colon`, `show_date` |
170
+ | `calendar` | `starting_day`: monday, sunday, saturday |
171
+ | `weather` | `location` or `latitude`/`longitude`, `units` celsius/fahrenheit (or metric/imperial), `days` 1–7. Uses Open-Meteo and needs internet. |
172
+ | `net` | `width`, `height`, `interval`, `download_color`, `upload_color` |
173
+ | `text` | `text` (string, block, or list), `alignment` left/center/right |
174
+
175
+ Every box also accepts `title`, `border`, and `position`.
176
+
177
+ ## Gallery
178
+
179
+ <table>
180
+ <tr>
181
+ <td><img src="docs/screenshots/01_neon_matrix.png" alt="Neon Matrix"><br><b>01 · Neon Matrix</b></td>
182
+ <td><img src="docs/screenshots/02_moonlight_observatory.png" alt="Moonlight Observatory"><br><b>02 · Moonlight Observatory</b></td>
183
+ </tr>
184
+ <tr>
185
+ <td><img src="docs/screenshots/03_ops_console.png" alt="Ops Console"><br><b>03 · Ops Console</b></td>
186
+ <td><img src="docs/screenshots/04_citrus_pop.png" alt="Citrus Pop"><br><b>04 · Citrus Pop</b></td>
187
+ </tr>
188
+ <tr>
189
+ <td><img src="docs/screenshots/05_arcade_white.png" alt="Arcade White"><br><b>05 · Arcade White</b></td>
190
+ <td><img src="docs/screenshots/06_ink_and_amber.png" alt="Ink and Amber"><br><b>06 · Ink and Amber</b></td>
191
+ </tr>
192
+ <tr>
193
+ <td><img src="docs/screenshots/07_arcade_cabinet.png" alt="Arcade Cabinet"><br><b>07 · Arcade Cabinet</b></td>
194
+ <td><img src="docs/screenshots/0_default.png" alt="Default layout"><br><b>0 · Default</b></td>
195
+ </tr>
196
+ </table>
197
+
198
+ ## Project layout
199
+
200
+ ```
201
+ src/dripfetch/
202
+ ├── app/ cli.py (arguments), app.py (main loop), config.py (YAML + validation), terminal.py (renderer)
203
+ ├── box/ base, manager, layout, placement, border, colors, registry, validation
204
+ │ └── types/ one module per box type; helper/ holds their support code
205
+ ├── rain/ manager, spawning, physics, rendering, colors, models, constants
206
+ └── assets/ logos/*.txt and configs/*.yaml
207
+ Formula/ Homebrew formula packaging/arch/ AUR PKGBUILD
208
+ ```
209
+
210
+ To add a box type, drop a module with one `BaseBox` subclass into `box/types/`. It is discovered automatically and the module name becomes its `type`. An optional `validate_config(cls, item, path)` classmethod validates its options.
211
+
212
+ ## License
213
+
214
+ [MIT](LICENSE). Report vulnerabilities privately, see [SECURITY.md](SECURITY.md).
@@ -0,0 +1,183 @@
1
+ # Dripfetch
2
+
3
+ A customizable terminal dashboard with animated Matrix-style rain. Place system info, logos, clocks, calendars, weather, text, and network graphs anywhere on screen, and tune everything from one YAML file.
4
+
5
+ <p align="center">
6
+ <img src="docs/dripfetch.gif" alt="Dripfetch demo" width="850">
7
+ </p>
8
+
9
+ ## Features
10
+
11
+ - Rain with adjustable density, symbols, colors, speed, length, and box collisions
12
+ - Seven box types: `logo`, `sysinfo`, `clock`, `calendar`, `weather`, `net`, `text`
13
+ - 487 ASCII logos, auto-detected from your OS or chosen explicitly
14
+ - Five border styles, shared palette and padding
15
+ - Click a box and move it with arrows or WASD; the position is saved to YAML
16
+ - Seven presets plus a default (`0`), validated configs with clear error paths
17
+
18
+ ## Install
19
+
20
+ Requires Python 3.10+ and a POSIX terminal with curses (macOS, Linux).
21
+
22
+ ```bash
23
+ pipx install dripfetch # recommended
24
+ python -m pip install dripfetch # inside a virtual environment
25
+ pipx install . # from a source checkout
26
+
27
+ brew tap a-shygun/dripfetch https://github.com/a-shygun/dripfetch.git
28
+ brew install a-shygun/dripfetch/dripfetch # Homebrew
29
+
30
+ yay -S dripfetch # Arch (AUR)
31
+ ```
32
+
33
+ `bash install.sh` sets up a local virtual environment in `~/dripfetch` and links `dripfetch` into `~/.local/bin`; `bash uninstall.sh` removes it and keeps your config.
34
+
35
+ **Uninstall:** `pipx uninstall dripfetch` · `python -m pip uninstall dripfetch` · `brew uninstall dripfetch` · `yay -R dripfetch`
36
+
37
+ ### Nix
38
+
39
+ `psutil` and `ruamel.yaml` are **runtime** dependencies, not native build inputs. Put them in `dependencies` (or `propagatedBuildInputs`), not `nativeBuildInputs`, or the installed command fails with `ModuleNotFoundError`:
40
+
41
+ ```nix
42
+ python3Packages.buildPythonApplication {
43
+ pname = "dripfetch";
44
+ version = "0.4.0";
45
+ pyproject = true;
46
+ src = ./.;
47
+ build-system = [ python3Packages.setuptools ];
48
+ dependencies = with python3Packages; [ psutil ruamel-yaml ];
49
+ }
50
+ ```
51
+
52
+ ## Usage
53
+
54
+ ```bash
55
+ dripfetch
56
+ ```
57
+
58
+ | Key | Action |
59
+ | --- | --- |
60
+ | `q` | Quit |
61
+ | `Space` | Pause / resume rain |
62
+ | Click | Select a box |
63
+ | Arrows / `WASD` | Move the selected box (saved automatically) |
64
+ | `Esc` | Deselect |
65
+
66
+ ### Commands
67
+
68
+ | Command | Action |
69
+ | --- | --- |
70
+ | `dripfetch -c, --use-config NUMBER\|NAME\|PATH` | Run with a preset or YAML file for this session only |
71
+ | `dripfetch --set-config NUMBER\|NAME\|PATH` | Save a preset or file as the active config |
72
+ | `dripfetch --set-logo NAME` | Save a logo in the active config |
73
+ | `dripfetch --list-configs` / `--list-logos` / `--list-boxes` | List presets, logos, or box types |
74
+ | `dripfetch --print-logo NAME` | Print a logo |
75
+ | `dripfetch --config-path` | Show the config path in use |
76
+ | `dripfetch --init-config` | Create or restore the default config |
77
+ | `dripfetch -v, --version` / `--version-raw` | Show the version |
78
+ | `dripfetch -h, --help` | Show help |
79
+
80
+ ```bash
81
+ dripfetch --use-config 2 # try a preset
82
+ dripfetch -c ./my-layout.yaml # try your own file
83
+ dripfetch --set-config moonlight_observatory
84
+ ```
85
+
86
+ Presets are `01_neon_matrix`, `02_moonlight_observatory`, `03_ops_console`, `04_citrus_pop`, `05_arcade_white`, `06_ink_and_amber`, `07_arcade_cabinet`, and `0` for the default. A selector can be the number, full name, or short name.
87
+
88
+ ### Lower CPU usage
89
+
90
+ The rain is the main cost. **Lower `rain.intensity` to use less CPU**; `0` disables rain and leaves the dashboard nearly idle. Around `20`–`60` suits a laptop on battery. Pausing with `Space` and shorter `lengths` also help.
91
+
92
+ ## Configuration
93
+
94
+ The active config is `~/.config/dripfetch/config.yaml`. The packaged [`0_default.yaml`](src/dripfetch/assets/configs/0_default.yaml) documents every option. Moving a box writes its new position back to the file in use.
95
+
96
+ ```yaml
97
+ background: "#080B12"
98
+ keyboard:
99
+ layout: qwerty # qwerty | azerty | qwertz
100
+ rain:
101
+ collision: true
102
+ intensity: 60 # lower = less CPU
103
+ character: ["│", "┃", "╎"]
104
+ colors: [[0.7, "#21F7A8"], [0.3, "#45B8FF"]] # [probability, value], must sum to 1
105
+ speeds: [[0.5, 30], [0.5, 50]] # ms per step, lower = faster
106
+ lengths: [[0.8, 6], [0.2, 14]]
107
+ effects: {acceleration: false, splash: false}
108
+ boxes:
109
+ border: titled_single # single | double | titled_single | titled_double | none
110
+ border_color: "#50FFC1"
111
+ text_color: "#D9E5F4"
112
+ accent_color: "#50FFC1"
113
+ padding: {horizontal: 2, vertical: 0}
114
+ items:
115
+ - type: logo
116
+ logo: arch2
117
+ position: {horizontal: -32, vertical: 0}
118
+ - type: clock
119
+ clock_size: small
120
+ show_date: true
121
+ position: {horizontal: 28, vertical: -7}
122
+ - type: text
123
+ title: NOTE
124
+ text: |
125
+ Dripfetch is running.
126
+ alignment: center
127
+ position: {horizontal: 28, vertical: 7}
128
+ ```
129
+
130
+ Colors are `#RRGGBB` or `#RRGGBBAA`. Positions are cell offsets from the center (positive = right / down).
131
+
132
+ ### Box options
133
+
134
+ | Type | Options |
135
+ | --- | --- |
136
+ | `logo` | `logo` (omit to detect your OS), `colors` for `$1`, `$2`, … markers |
137
+ | `sysinfo` | `sections`: `system`, `display`, `hardware`, `disk`, `connectivity` (true/false) |
138
+ | `clock` | `clock_size` small/medium/big, `clock_style` single/double, `clock_24h`, `show_seconds`, `show_am_pm`, `blink_colon`, `show_date` |
139
+ | `calendar` | `starting_day`: monday, sunday, saturday |
140
+ | `weather` | `location` or `latitude`/`longitude`, `units` celsius/fahrenheit (or metric/imperial), `days` 1–7. Uses Open-Meteo and needs internet. |
141
+ | `net` | `width`, `height`, `interval`, `download_color`, `upload_color` |
142
+ | `text` | `text` (string, block, or list), `alignment` left/center/right |
143
+
144
+ Every box also accepts `title`, `border`, and `position`.
145
+
146
+ ## Gallery
147
+
148
+ <table>
149
+ <tr>
150
+ <td><img src="docs/screenshots/01_neon_matrix.png" alt="Neon Matrix"><br><b>01 · Neon Matrix</b></td>
151
+ <td><img src="docs/screenshots/02_moonlight_observatory.png" alt="Moonlight Observatory"><br><b>02 · Moonlight Observatory</b></td>
152
+ </tr>
153
+ <tr>
154
+ <td><img src="docs/screenshots/03_ops_console.png" alt="Ops Console"><br><b>03 · Ops Console</b></td>
155
+ <td><img src="docs/screenshots/04_citrus_pop.png" alt="Citrus Pop"><br><b>04 · Citrus Pop</b></td>
156
+ </tr>
157
+ <tr>
158
+ <td><img src="docs/screenshots/05_arcade_white.png" alt="Arcade White"><br><b>05 · Arcade White</b></td>
159
+ <td><img src="docs/screenshots/06_ink_and_amber.png" alt="Ink and Amber"><br><b>06 · Ink and Amber</b></td>
160
+ </tr>
161
+ <tr>
162
+ <td><img src="docs/screenshots/07_arcade_cabinet.png" alt="Arcade Cabinet"><br><b>07 · Arcade Cabinet</b></td>
163
+ <td><img src="docs/screenshots/0_default.png" alt="Default layout"><br><b>0 · Default</b></td>
164
+ </tr>
165
+ </table>
166
+
167
+ ## Project layout
168
+
169
+ ```
170
+ src/dripfetch/
171
+ ├── app/ cli.py (arguments), app.py (main loop), config.py (YAML + validation), terminal.py (renderer)
172
+ ├── box/ base, manager, layout, placement, border, colors, registry, validation
173
+ │ └── types/ one module per box type; helper/ holds their support code
174
+ ├── rain/ manager, spawning, physics, rendering, colors, models, constants
175
+ └── assets/ logos/*.txt and configs/*.yaml
176
+ Formula/ Homebrew formula packaging/arch/ AUR PKGBUILD
177
+ ```
178
+
179
+ To add a box type, drop a module with one `BaseBox` subclass into `box/types/`. It is discovered automatically and the module name becomes its `type`. An optional `validate_config(cls, item, path)` classmethod validates its options.
180
+
181
+ ## License
182
+
183
+ [MIT](LICENSE). Report vulnerabilities privately, see [SECURITY.md](SECURITY.md).
@@ -1,14 +1,15 @@
1
1
  [build-system]
2
- requires = ["setuptools>=61"]
2
+ requires = ["setuptools>=77.0.3"]
3
3
  build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "dripfetch"
7
- version = "0.2.2"
7
+ version = "0.4.0"
8
8
  description = "A customizable terminal system information display with animated rain."
9
9
  readme = "README.md"
10
- requires-python = ">=3.12"
11
- license = { file = "LICENSE" }
10
+ requires-python = ">=3.10"
11
+ license = "MIT"
12
+ license-files = ["LICENSE"]
12
13
  authors = [
13
14
  { name = "Amir Shygun" },
14
15
  ]
@@ -21,7 +22,10 @@ classifiers = [
21
22
  "Operating System :: POSIX",
22
23
  "Programming Language :: Python :: 3",
23
24
  "Programming Language :: Python :: 3 :: Only",
25
+ "Programming Language :: Python :: 3.10",
26
+ "Programming Language :: Python :: 3.11",
24
27
  "Programming Language :: Python :: 3.12",
28
+ "Programming Language :: Python :: 3.13",
25
29
  "Topic :: System",
26
30
  "Topic :: Terminals",
27
31
  ]
@@ -31,6 +35,12 @@ dependencies = [
31
35
  "ruamel.yaml",
32
36
  ]
33
37
 
38
+ [project.urls]
39
+ Homepage = "https://github.com/a-shygun/dripfetch"
40
+ Repository = "https://github.com/a-shygun/dripfetch"
41
+ Issues = "https://github.com/a-shygun/dripfetch/issues"
42
+ Security = "https://github.com/a-shygun/dripfetch/security"
43
+
34
44
  [project.scripts]
35
45
  dripfetch = "dripfetch.app.cli:main"
36
46
 
@@ -39,12 +49,12 @@ where = ["src"]
39
49
 
40
50
  [tool.setuptools.package-data]
41
51
  dripfetch = [
42
- "default_config.yaml",
43
52
  "assets/logos/*.txt",
53
+ "assets/configs/*.yaml",
44
54
  ]
45
55
 
46
56
  [tool.ruff]
47
- target-version = "py312"
57
+ target-version = "py310"
48
58
  line-length = 88
49
59
  src = ["src", "tests"]
50
60
 
@@ -53,4 +63,4 @@ select = ["E", "F", "I", "UP", "B", "SIM"]
53
63
 
54
64
  [tool.ruff.format]
55
65
  quote-style = "double"
56
- indent-style = "space"
66
+ indent-style = "space"
@@ -0,0 +1,173 @@
1
+ import curses
2
+ import time
3
+ from pathlib import Path
4
+
5
+ from ..box import Border, Box, BoxColors
6
+ from ..rain import Rain
7
+ from .config import load_config, save_config
8
+ from .terminal import Renderer, cleanup, parse_color, setup
9
+
10
+ # How long to wait, after the last KEY_RESIZE event, before treating a
11
+ # terminal resize as "finished" and doing one full clean redraw. While
12
+ # events keep arriving faster than this, we hold on the placeholder
13
+ # screen instead of trying to render every intermediate size.
14
+ RESIZE_SETTLE = 0.5
15
+
16
+
17
+ class App:
18
+ def __init__(self, config_path):
19
+ self.config_path = Path(config_path)
20
+ self.config = None
21
+ self.renderer = None
22
+ self.box = None
23
+ self.rain = None
24
+ self.paused = False
25
+ self.resizing = False
26
+ self.last_resize = 0.0
27
+ self.placeholder_colors = None
28
+
29
+ def initialize(self, stdscr):
30
+ self.config = load_config(self.config_path)
31
+ setup(stdscr)
32
+ background = parse_color(self.config.get("background", "#000000FF"))
33
+ self.renderer = Renderer(
34
+ stdscr,
35
+ background,
36
+ )
37
+ self.renderer.resize()
38
+ self.box = Box(
39
+ stdscr=stdscr,
40
+ config=self.config,
41
+ config_path=self.config_path,
42
+ renderer=self.renderer,
43
+ save_config=save_config,
44
+ )
45
+ self.rain = Rain(
46
+ stdscr=stdscr,
47
+ config=self.config,
48
+ box=self.box,
49
+ renderer=self.renderer,
50
+ )
51
+ self.placeholder_colors = BoxColors(self.config)
52
+
53
+ def handle_mouse(self):
54
+ try:
55
+ _, x, y, _, state = curses.getmouse()
56
+ except curses.error:
57
+ return
58
+ # See terminal.setup(): some terminals never emit BUTTON1_CLICKED,
59
+ # only PRESSED/RELEASED, so treat either as a selection click.
60
+ if state & (curses.BUTTON1_CLICKED | curses.BUTTON1_PRESSED):
61
+ self.box.handle_mouse(x, y)
62
+
63
+ def handle_key(self, key):
64
+ if key == ord("q"):
65
+ return False
66
+ if key == curses.KEY_RESIZE:
67
+ self._begin_resize()
68
+ return True
69
+ if key == curses.KEY_MOUSE:
70
+ self.handle_mouse()
71
+ return True
72
+ if key == ord(" "):
73
+ self.paused = not self.paused
74
+ if self.paused:
75
+ self.rain.pause()
76
+ else:
77
+ self.rain.resume()
78
+ return True
79
+ self.box.handle_key(key)
80
+ return True
81
+
82
+ def _begin_resize(self):
83
+ if not self.resizing:
84
+ self.resizing = True
85
+ # Don't stomp on a user-initiated pause (spacebar): only
86
+ # freeze the rain ourselves if it wasn't already paused, and
87
+ # only resume it ourselves in _finish_resize if we're the
88
+ # ones who paused it.
89
+ if not self.paused:
90
+ self.rain.pause()
91
+ self.renderer.invalidate()
92
+ self.last_resize = time.monotonic()
93
+
94
+ def _finish_resize(self):
95
+ self.resizing = False
96
+ if not self.paused:
97
+ self.rain.resume()
98
+ self.box.resize()
99
+ self.rain.resize()
100
+ # See Renderer.invalidate(): curses' resizeterm() can flush its
101
+ # own output after ours, silently corrupting whichever cells
102
+ # never get an explicit draw() call. Force one full repaint here
103
+ # so we're not trusting stale assumptions about what the
104
+ # terminal currently shows.
105
+ self.renderer.invalidate()
106
+
107
+ def _draw_resize_placeholder(self):
108
+ self.renderer.begin()
109
+ width, height = self.renderer.width, self.renderer.height
110
+
111
+ label = "(resizing)"
112
+ dimensions = f"{width} x {height}"
113
+ inner_width = max(len(label), len(dimensions))
114
+ box_width = inner_width + 4
115
+ box_height = 4
116
+
117
+ x = max(0, (width - box_width) // 2)
118
+ y = max(0, (height - box_height) // 2)
119
+
120
+ Border("single").draw(
121
+ self.renderer,
122
+ x,
123
+ y,
124
+ box_width,
125
+ box_height,
126
+ self.placeholder_colors.border,
127
+ )
128
+ self.renderer.draw(
129
+ x + (box_width - len(label)) // 2,
130
+ y + 1,
131
+ label,
132
+ self.placeholder_colors.text,
133
+ )
134
+ self.renderer.draw(
135
+ x + (box_width - len(dimensions)) // 2,
136
+ y + 2,
137
+ dimensions,
138
+ self.placeholder_colors.text,
139
+ )
140
+
141
+ self.renderer.end()
142
+
143
+ def update(self):
144
+ if self.resizing:
145
+ if time.monotonic() - self.last_resize < RESIZE_SETTLE:
146
+ self._draw_resize_placeholder()
147
+ return
148
+ self._finish_resize()
149
+
150
+ resized = self.renderer.begin()
151
+ if resized:
152
+ self.box.resize()
153
+ self.rain.resize()
154
+ if not self.paused:
155
+ self.rain.update()
156
+ self.box.update()
157
+ self.rain.draw()
158
+ self.box.draw()
159
+ self.renderer.end()
160
+
161
+ def run(self, stdscr):
162
+ try:
163
+ self.initialize(stdscr)
164
+ stdscr.nodelay(True)
165
+ stdscr.timeout(10)
166
+ while self.handle_key(stdscr.getch()):
167
+ self.update()
168
+ finally:
169
+ if self.box:
170
+ self.box.close()
171
+ if self.rain:
172
+ self.rain.close()
173
+ cleanup()