dripfetch 0.1.0__py3-none-any.whl

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 (519) hide show
  1. dripfetch/__init__.py +1 -0
  2. dripfetch/__main__.py +4 -0
  3. dripfetch/app.py +111 -0
  4. dripfetch/assets/logos/adelie.txt +16 -0
  5. dripfetch/assets/logos/aeon.txt +14 -0
  6. dripfetch/assets/logos/aeros.txt +21 -0
  7. dripfetch/assets/logos/aerynos.txt +16 -0
  8. dripfetch/assets/logos/afterglow.txt +15 -0
  9. dripfetch/assets/logos/aix.txt +20 -0
  10. dripfetch/assets/logos/almalinux.txt +20 -0
  11. dripfetch/assets/logos/alpine.txt +20 -0
  12. dripfetch/assets/logos/alpine2.txt +16 -0
  13. dripfetch/assets/logos/alpine2_small.txt +6 -0
  14. dripfetch/assets/logos/alpine3_small.txt +6 -0
  15. dripfetch/assets/logos/alpine_small.txt +6 -0
  16. dripfetch/assets/logos/alter.txt +20 -0
  17. dripfetch/assets/logos/altlinux.txt +22 -0
  18. dripfetch/assets/logos/amazon.txt +19 -0
  19. dripfetch/assets/logos/amazon_linux.txt +10 -0
  20. dripfetch/assets/logos/amogos.txt +19 -0
  21. dripfetch/assets/logos/anarchy.txt +28 -0
  22. dripfetch/assets/logos/android.txt +18 -0
  23. dripfetch/assets/logos/android_small.txt +6 -0
  24. dripfetch/assets/logos/anduinos.txt +19 -0
  25. dripfetch/assets/logos/antergos.txt +19 -0
  26. dripfetch/assets/logos/antix.txt +12 -0
  27. dripfetch/assets/logos/anushos.txt +20 -0
  28. dripfetch/assets/logos/aoscos.txt +17 -0
  29. dripfetch/assets/logos/aoscos_old.txt +20 -0
  30. dripfetch/assets/logos/aoscosretro.txt +18 -0
  31. dripfetch/assets/logos/aoscosretro_small.txt +9 -0
  32. dripfetch/assets/logos/aperture.txt +20 -0
  33. dripfetch/assets/logos/apricity.txt +18 -0
  34. dripfetch/assets/logos/arch.txt +19 -0
  35. dripfetch/assets/logos/arch2.txt +19 -0
  36. dripfetch/assets/logos/arch3.txt +19 -0
  37. dripfetch/assets/logos/arch_old.txt +16 -0
  38. dripfetch/assets/logos/arch_small.txt +7 -0
  39. dripfetch/assets/logos/archbox.txt +19 -0
  40. dripfetch/assets/logos/archcraft.txt +20 -0
  41. dripfetch/assets/logos/archcraft2.txt +20 -0
  42. dripfetch/assets/logos/archlabs.txt +21 -0
  43. dripfetch/assets/logos/archstrike.txt +17 -0
  44. dripfetch/assets/logos/arco.txt +20 -0
  45. dripfetch/assets/logos/arco_small.txt +11 -0
  46. dripfetch/assets/logos/arkane.txt +23 -0
  47. dripfetch/assets/logos/armbian.txt +22 -0
  48. dripfetch/assets/logos/armbian2.txt +14 -0
  49. dripfetch/assets/logos/arselinux.txt +15 -0
  50. dripfetch/assets/logos/artix.txt +20 -0
  51. dripfetch/assets/logos/artix2_small.txt +13 -0
  52. dripfetch/assets/logos/artix_small.txt +7 -0
  53. dripfetch/assets/logos/arya.txt +15 -0
  54. dripfetch/assets/logos/asahi.txt +18 -0
  55. dripfetch/assets/logos/asahi2.txt +18 -0
  56. dripfetch/assets/logos/aster.txt +18 -0
  57. dripfetch/assets/logos/asteroidos.txt +17 -0
  58. dripfetch/assets/logos/astos.txt +23 -0
  59. dripfetch/assets/logos/astra_linux.txt +22 -0
  60. dripfetch/assets/logos/athenaos.txt +29 -0
  61. dripfetch/assets/logos/athenaos_old.txt +24 -0
  62. dripfetch/assets/logos/aurora.txt +28 -0
  63. dripfetch/assets/logos/axos.txt +16 -0
  64. dripfetch/assets/logos/azos.txt +17 -0
  65. dripfetch/assets/logos/bedrock.txt +17 -0
  66. dripfetch/assets/logos/bedrock_small.txt +6 -0
  67. dripfetch/assets/logos/biglinux.txt +19 -0
  68. dripfetch/assets/logos/bitrig.txt +17 -0
  69. dripfetch/assets/logos/blackarch.txt +21 -0
  70. dripfetch/assets/logos/blackmesa.txt +20 -0
  71. dripfetch/assets/logos/blackpanther.txt +23 -0
  72. dripfetch/assets/logos/blag.txt +17 -0
  73. dripfetch/assets/logos/blankon.txt +17 -0
  74. dripfetch/assets/logos/bluelight.txt +19 -0
  75. dripfetch/assets/logos/bodhi.txt +18 -0
  76. dripfetch/assets/logos/bonsai.txt +16 -0
  77. dripfetch/assets/logos/bredos.txt +9 -0
  78. dripfetch/assets/logos/bsd.txt +19 -0
  79. dripfetch/assets/logos/bunsenlabs.txt +20 -0
  80. dripfetch/assets/logos/cachyos.txt +22 -0
  81. dripfetch/assets/logos/cachyos_small.txt +8 -0
  82. dripfetch/assets/logos/calculate.txt +20 -0
  83. dripfetch/assets/logos/calinixos.txt +25 -0
  84. dripfetch/assets/logos/calinixos_small.txt +15 -0
  85. dripfetch/assets/logos/carbs.txt +18 -0
  86. dripfetch/assets/logos/cbl_mariner.txt +18 -0
  87. dripfetch/assets/logos/celos.txt +15 -0
  88. dripfetch/assets/logos/center.txt +13 -0
  89. dripfetch/assets/logos/centos.txt +19 -0
  90. dripfetch/assets/logos/centos_small.txt +7 -0
  91. dripfetch/assets/logos/cereus.txt +27 -0
  92. dripfetch/assets/logos/chakra.txt +18 -0
  93. dripfetch/assets/logos/chaletos.txt +20 -0
  94. dripfetch/assets/logos/chapeau.txt +18 -0
  95. dripfetch/assets/logos/chimera_linux.txt +18 -0
  96. dripfetch/assets/logos/chonkysealos.txt +21 -0
  97. dripfetch/assets/logos/chrom.txt +18 -0
  98. dripfetch/assets/logos/cleanjaro.txt +12 -0
  99. dripfetch/assets/logos/cleanjaro_small.txt +7 -0
  100. dripfetch/assets/logos/clear_linux.txt +20 -0
  101. dripfetch/assets/logos/clearos.txt +20 -0
  102. dripfetch/assets/logos/clover.txt +20 -0
  103. dripfetch/assets/logos/cobalt.txt +16 -0
  104. dripfetch/assets/logos/codex.txt +12 -0
  105. dripfetch/assets/logos/condres.txt +17 -0
  106. dripfetch/assets/logos/cosmic.txt +11 -0
  107. dripfetch/assets/logos/crux.txt +18 -0
  108. dripfetch/assets/logos/crux_small.txt +7 -0
  109. dripfetch/assets/logos/crystal.txt +20 -0
  110. dripfetch/assets/logos/cucumber.txt +20 -0
  111. dripfetch/assets/logos/cuerdos.txt +13 -0
  112. dripfetch/assets/logos/cutefishos.txt +9 -0
  113. dripfetch/assets/logos/cuteos.txt +14 -0
  114. dripfetch/assets/logos/cyberos.txt +15 -0
  115. dripfetch/assets/logos/cycledream.txt +21 -0
  116. dripfetch/assets/logos/dahlia.txt +17 -0
  117. dripfetch/assets/logos/darkos.txt +20 -0
  118. dripfetch/assets/logos/debian.txt +17 -0
  119. dripfetch/assets/logos/debian_small.txt +6 -0
  120. dripfetch/assets/logos/deepin.txt +18 -0
  121. dripfetch/assets/logos/desaos.txt +16 -0
  122. dripfetch/assets/logos/devuan.txt +15 -0
  123. dripfetch/assets/logos/devuan_small.txt +7 -0
  124. dripfetch/assets/logos/dietpi.txt +19 -0
  125. dripfetch/assets/logos/dracos.txt +13 -0
  126. dripfetch/assets/logos/dragonfly.txt +15 -0
  127. dripfetch/assets/logos/dragonfly_old.txt +17 -0
  128. dripfetch/assets/logos/dragonfly_small.txt +7 -0
  129. dripfetch/assets/logos/drauger.txt +16 -0
  130. dripfetch/assets/logos/droidian.txt +15 -0
  131. dripfetch/assets/logos/elbrus.txt +14 -0
  132. dripfetch/assets/logos/elementary.txt +17 -0
  133. dripfetch/assets/logos/elementary_small.txt +6 -0
  134. dripfetch/assets/logos/elive.txt +17 -0
  135. dripfetch/assets/logos/encryptos.txt +13 -0
  136. dripfetch/assets/logos/endeavouros.txt +15 -0
  137. dripfetch/assets/logos/endeavouros_small.txt +7 -0
  138. dripfetch/assets/logos/endless.txt +20 -0
  139. dripfetch/assets/logos/enso.txt +19 -0
  140. dripfetch/assets/logos/eshanizedos.txt +27 -0
  141. dripfetch/assets/logos/eurolinux.txt +18 -0
  142. dripfetch/assets/logos/evolutionos.txt +21 -0
  143. dripfetch/assets/logos/evolutionos_old.txt +18 -0
  144. dripfetch/assets/logos/evolutionos_small.txt +9 -0
  145. dripfetch/assets/logos/eweos.txt +15 -0
  146. dripfetch/assets/logos/exherbo.txt +22 -0
  147. dripfetch/assets/logos/exodia_predator.txt +24 -0
  148. dripfetch/assets/logos/fastfetch.txt +11 -0
  149. dripfetch/assets/logos/fedora.txt +19 -0
  150. dripfetch/assets/logos/fedora2_small.txt +5 -0
  151. dripfetch/assets/logos/fedora_coreos.txt +20 -0
  152. dripfetch/assets/logos/fedora_kinoite.txt +18 -0
  153. dripfetch/assets/logos/fedora_old.txt +17 -0
  154. dripfetch/assets/logos/fedora_sericea.txt +17 -0
  155. dripfetch/assets/logos/fedora_silverblue.txt +17 -0
  156. dripfetch/assets/logos/fedora_small.txt +9 -0
  157. dripfetch/assets/logos/femboyos.txt +20 -0
  158. dripfetch/assets/logos/feren.txt +16 -0
  159. dripfetch/assets/logos/filotimo.txt +20 -0
  160. dripfetch/assets/logos/finnix.txt +17 -0
  161. dripfetch/assets/logos/floflis.txt +19 -0
  162. dripfetch/assets/logos/freebsd.txt +15 -0
  163. dripfetch/assets/logos/freebsd_small.txt +6 -0
  164. dripfetch/assets/logos/freemint.txt +15 -0
  165. dripfetch/assets/logos/frugalware.txt +23 -0
  166. dripfetch/assets/logos/funtoo.txt +10 -0
  167. dripfetch/assets/logos/furreto.txt +22 -0
  168. dripfetch/assets/logos/galliumos.txt +19 -0
  169. dripfetch/assets/logos/garuda.txt +18 -0
  170. dripfetch/assets/logos/garuda_dragon.txt +24 -0
  171. dripfetch/assets/logos/garuda_small.txt +5 -0
  172. dripfetch/assets/logos/gentoo.txt +18 -0
  173. dripfetch/assets/logos/gentoo_small.txt +7 -0
  174. dripfetch/assets/logos/ghostbsd.txt +13 -0
  175. dripfetch/assets/logos/ghostfreak.txt +19 -0
  176. dripfetch/assets/logos/glaucus.txt +12 -0
  177. dripfetch/assets/logos/gnewsense.txt +12 -0
  178. dripfetch/assets/logos/gnome.txt +21 -0
  179. dripfetch/assets/logos/gnu.txt +18 -0
  180. dripfetch/assets/logos/gobolinux.txt +6 -0
  181. dripfetch/assets/logos/goldendoglinux.txt +19 -0
  182. dripfetch/assets/logos/grapheneos.txt +23 -0
  183. dripfetch/assets/logos/grombyang.txt +18 -0
  184. dripfetch/assets/logos/guix.txt +10 -0
  185. dripfetch/assets/logos/guix_small.txt +7 -0
  186. dripfetch/assets/logos/haiku.txt +12 -0
  187. dripfetch/assets/logos/haiku2.txt +17 -0
  188. dripfetch/assets/logos/haiku_small.txt +8 -0
  189. dripfetch/assets/logos/hamonikr.txt +23 -0
  190. dripfetch/assets/logos/hardclanz.txt +19 -0
  191. dripfetch/assets/logos/harmonyos.txt +19 -0
  192. dripfetch/assets/logos/hash.txt +13 -0
  193. dripfetch/assets/logos/hce.txt +24 -0
  194. dripfetch/assets/logos/heliumos.txt +20 -0
  195. dripfetch/assets/logos/huayra.txt +17 -0
  196. dripfetch/assets/logos/hybrid.txt +16 -0
  197. dripfetch/assets/logos/hydrapwk.txt +11 -0
  198. dripfetch/assets/logos/hydroos.txt +8 -0
  199. dripfetch/assets/logos/hyperbola.txt +16 -0
  200. dripfetch/assets/logos/hyperbola_small.txt +7 -0
  201. dripfetch/assets/logos/hypros.txt +17 -0
  202. dripfetch/assets/logos/iglunix.txt +12 -0
  203. dripfetch/assets/logos/instantos.txt +20 -0
  204. dripfetch/assets/logos/interix.txt +17 -0
  205. dripfetch/assets/logos/irix.txt +19 -0
  206. dripfetch/assets/logos/ironclad.txt +11 -0
  207. dripfetch/assets/logos/itc.txt +10 -0
  208. dripfetch/assets/logos/januslinux.txt +24 -0
  209. dripfetch/assets/logos/kaisen.txt +17 -0
  210. dripfetch/assets/logos/kali.txt +21 -0
  211. dripfetch/assets/logos/kali_small.txt +16 -0
  212. dripfetch/assets/logos/kalpa_desktop.txt +22 -0
  213. dripfetch/assets/logos/kaos.txt +16 -0
  214. dripfetch/assets/logos/kdelinux.txt +14 -0
  215. dripfetch/assets/logos/kdeneon.txt +19 -0
  216. dripfetch/assets/logos/kernelos.txt +19 -0
  217. dripfetch/assets/logos/kibojoe.txt +13 -0
  218. dripfetch/assets/logos/kiss.txt +7 -0
  219. dripfetch/assets/logos/kogaion.txt +20 -0
  220. dripfetch/assets/logos/korora.txt +16 -0
  221. dripfetch/assets/logos/krassos.txt +19 -0
  222. dripfetch/assets/logos/kslinux.txt +11 -0
  223. dripfetch/assets/logos/kubuntu.txt +20 -0
  224. dripfetch/assets/logos/kylin.txt +22 -0
  225. dripfetch/assets/logos/lainos.txt +20 -0
  226. dripfetch/assets/logos/langitketujuh.txt +11 -0
  227. dripfetch/assets/logos/laxeros.txt +20 -0
  228. dripfetch/assets/logos/lede.txt +9 -0
  229. dripfetch/assets/logos/lfs.txt +18 -0
  230. dripfetch/assets/logos/libreelec.txt +20 -0
  231. dripfetch/assets/logos/lilidog.txt +16 -0
  232. dripfetch/assets/logos/lingmo.txt +20 -0
  233. dripfetch/assets/logos/linspire.txt +12 -0
  234. dripfetch/assets/logos/linux.txt +12 -0
  235. dripfetch/assets/logos/linux_small.txt +7 -0
  236. dripfetch/assets/logos/linuxlite.txt +20 -0
  237. dripfetch/assets/logos/linuxlite_small.txt +7 -0
  238. dripfetch/assets/logos/linuxmint.txt +19 -0
  239. dripfetch/assets/logos/linuxmint_old.txt +16 -0
  240. dripfetch/assets/logos/linuxmint_small.txt +7 -0
  241. dripfetch/assets/logos/live_raizo.txt +20 -0
  242. dripfetch/assets/logos/lliurex.txt +16 -0
  243. dripfetch/assets/logos/lmde.txt +17 -0
  244. dripfetch/assets/logos/locos.txt +18 -0
  245. dripfetch/assets/logos/lubuntu.txt +20 -0
  246. dripfetch/assets/logos/lunar.txt +13 -0
  247. dripfetch/assets/logos/macos.txt +17 -0
  248. dripfetch/assets/logos/macos2.txt +17 -0
  249. dripfetch/assets/logos/macos2_small.txt +7 -0
  250. dripfetch/assets/logos/macos3.txt +16 -0
  251. dripfetch/assets/logos/macos_small.txt +7 -0
  252. dripfetch/assets/logos/mageia.txt +19 -0
  253. dripfetch/assets/logos/mageia_small.txt +7 -0
  254. dripfetch/assets/logos/magix.txt +19 -0
  255. dripfetch/assets/logos/magpieos.txt +20 -0
  256. dripfetch/assets/logos/mainsailos.txt +18 -0
  257. dripfetch/assets/logos/mainsailos_small.txt +7 -0
  258. dripfetch/assets/logos/mandriva.txt +15 -0
  259. dripfetch/assets/logos/manjaro.txt +14 -0
  260. dripfetch/assets/logos/manjaro_small.txt +7 -0
  261. dripfetch/assets/logos/massos.txt +18 -0
  262. dripfetch/assets/logos/matuusos.txt +20 -0
  263. dripfetch/assets/logos/maui.txt +20 -0
  264. dripfetch/assets/logos/mauna.txt +15 -0
  265. dripfetch/assets/logos/meowix.txt +10 -0
  266. dripfetch/assets/logos/mer.txt +27 -0
  267. dripfetch/assets/logos/midnightbsd.txt +16 -0
  268. dripfetch/assets/logos/midos.txt +20 -0
  269. dripfetch/assets/logos/midos_old.txt +20 -0
  270. dripfetch/assets/logos/minimal.txt +18 -0
  271. dripfetch/assets/logos/minix.txt +17 -0
  272. dripfetch/assets/logos/miracle_linux.txt +16 -0
  273. dripfetch/assets/logos/mos.txt +18 -0
  274. dripfetch/assets/logos/msys2.txt +25 -0
  275. dripfetch/assets/logos/mx.txt +17 -0
  276. dripfetch/assets/logos/mx2.txt +18 -0
  277. dripfetch/assets/logos/mx_small.txt +7 -0
  278. dripfetch/assets/logos/namib.txt +20 -0
  279. dripfetch/assets/logos/nekos.txt +23 -0
  280. dripfetch/assets/logos/neptune.txt +17 -0
  281. dripfetch/assets/logos/netbsd.txt +17 -0
  282. dripfetch/assets/logos/netbsd2.txt +20 -0
  283. dripfetch/assets/logos/netbsd_small.txt +8 -0
  284. dripfetch/assets/logos/netrunner.txt +20 -0
  285. dripfetch/assets/logos/nexalinux.txt +19 -0
  286. dripfetch/assets/logos/nitrux.txt +18 -0
  287. dripfetch/assets/logos/nixos.txt +20 -0
  288. dripfetch/assets/logos/nixos_old.txt +28 -0
  289. dripfetch/assets/logos/nixos_old_small.txt +7 -0
  290. dripfetch/assets/logos/nixos_small.txt +7 -0
  291. dripfetch/assets/logos/nobara.txt +17 -0
  292. dripfetch/assets/logos/nomadbsd.txt +13 -0
  293. dripfetch/assets/logos/nuros.txt +12 -0
  294. dripfetch/assets/logos/nurunner.txt +19 -0
  295. dripfetch/assets/logos/nutyx.txt +23 -0
  296. dripfetch/assets/logos/obarun.txt +19 -0
  297. dripfetch/assets/logos/obrevenge.txt +18 -0
  298. dripfetch/assets/logos/obsidianos.txt +16 -0
  299. dripfetch/assets/logos/omnios.txt +8 -0
  300. dripfetch/assets/logos/opak.txt +13 -0
  301. dripfetch/assets/logos/openbsd.txt +23 -0
  302. dripfetch/assets/logos/openbsd_small.txt +7 -0
  303. dripfetch/assets/logos/openeuler.txt +23 -0
  304. dripfetch/assets/logos/openindiana.txt +16 -0
  305. dripfetch/assets/logos/openkylin.txt +18 -0
  306. dripfetch/assets/logos/openmamba.txt +21 -0
  307. dripfetch/assets/logos/openmandriva.txt +22 -0
  308. dripfetch/assets/logos/openstage.txt +17 -0
  309. dripfetch/assets/logos/opensuse.txt +18 -0
  310. dripfetch/assets/logos/opensuse_leap.txt +18 -0
  311. dripfetch/assets/logos/opensuse_leap_old.txt +16 -0
  312. dripfetch/assets/logos/opensuse_microos.txt +10 -0
  313. dripfetch/assets/logos/opensuse_slowroll.txt +20 -0
  314. dripfetch/assets/logos/opensuse_small.txt +7 -0
  315. dripfetch/assets/logos/opensuse_tumbleweed.txt +22 -0
  316. dripfetch/assets/logos/opensuse_tumbleweed_old.txt +13 -0
  317. dripfetch/assets/logos/opensuse_tumbleweed_small.txt +9 -0
  318. dripfetch/assets/logos/openwrt.txt +9 -0
  319. dripfetch/assets/logos/opnsense.txt +20 -0
  320. dripfetch/assets/logos/oracle.txt +11 -0
  321. dripfetch/assets/logos/orchid.txt +20 -0
  322. dripfetch/assets/logos/orchid_small.txt +13 -0
  323. dripfetch/assets/logos/oreon.txt +22 -0
  324. dripfetch/assets/logos/os_elbrus.txt +14 -0
  325. dripfetch/assets/logos/osmc.txt +20 -0
  326. dripfetch/assets/logos/pacbsd.txt +24 -0
  327. dripfetch/assets/logos/panwah.txt +21 -0
  328. dripfetch/assets/logos/parabola.txt +16 -0
  329. dripfetch/assets/logos/parabola_small.txt +6 -0
  330. dripfetch/assets/logos/parch.txt +25 -0
  331. dripfetch/assets/logos/pardus.txt +18 -0
  332. dripfetch/assets/logos/parrot.txt +24 -0
  333. dripfetch/assets/logos/parsix.txt +21 -0
  334. dripfetch/assets/logos/pcbsd.txt +27 -0
  335. dripfetch/assets/logos/pclinuxos.txt +19 -0
  336. dripfetch/assets/logos/pearos.txt +21 -0
  337. dripfetch/assets/logos/pengwin.txt +15 -0
  338. dripfetch/assets/logos/pentoo.txt +20 -0
  339. dripfetch/assets/logos/peppermint.txt +21 -0
  340. dripfetch/assets/logos/peropesis.txt +5 -0
  341. dripfetch/assets/logos/phyos.txt +17 -0
  342. dripfetch/assets/logos/pikaos.txt +18 -0
  343. dripfetch/assets/logos/pisi.txt +19 -0
  344. dripfetch/assets/logos/pnm_linux.txt +19 -0
  345. dripfetch/assets/logos/pop.txt +20 -0
  346. dripfetch/assets/logos/pop_small.txt +8 -0
  347. dripfetch/assets/logos/porteus.txt +23 -0
  348. dripfetch/assets/logos/postmarketos.txt +18 -0
  349. dripfetch/assets/logos/postmarketos_small.txt +9 -0
  350. dripfetch/assets/logos/proxmox.txt +20 -0
  351. dripfetch/assets/logos/puffos.txt +12 -0
  352. dripfetch/assets/logos/puppy.txt +18 -0
  353. dripfetch/assets/logos/pureos.txt +12 -0
  354. dripfetch/assets/logos/pureos_small.txt +6 -0
  355. dripfetch/assets/logos/q4os.txt +19 -0
  356. dripfetch/assets/logos/qts.txt +14 -0
  357. dripfetch/assets/logos/qubes.txt +21 -0
  358. dripfetch/assets/logos/qubyt.txt +15 -0
  359. dripfetch/assets/logos/quibian.txt +18 -0
  360. dripfetch/assets/logos/quirinux.txt +17 -0
  361. dripfetch/assets/logos/radix.txt +18 -0
  362. dripfetch/assets/logos/raspbian.txt +23 -0
  363. dripfetch/assets/logos/raspbian_small.txt +10 -0
  364. dripfetch/assets/logos/ravynos.txt +20 -0
  365. dripfetch/assets/logos/rebornos.txt +20 -0
  366. dripfetch/assets/logos/rebornos_small.txt +7 -0
  367. dripfetch/assets/logos/redcore.txt +16 -0
  368. dripfetch/assets/logos/redos.txt +18 -0
  369. dripfetch/assets/logos/redos_small.txt +8 -0
  370. dripfetch/assets/logos/redstar.txt +18 -0
  371. dripfetch/assets/logos/refracted_devuan.txt +18 -0
  372. dripfetch/assets/logos/regata.txt +20 -0
  373. dripfetch/assets/logos/regolith.txt +18 -0
  374. dripfetch/assets/logos/rhaymos.txt +14 -0
  375. dripfetch/assets/logos/rhel.txt +18 -0
  376. dripfetch/assets/logos/rhel_old.txt +16 -0
  377. dripfetch/assets/logos/rhel_small.txt +9 -0
  378. dripfetch/assets/logos/rhino.txt +12 -0
  379. dripfetch/assets/logos/rocky.txt +19 -0
  380. dripfetch/assets/logos/rocky_small.txt +12 -0
  381. dripfetch/assets/logos/rosa.txt +18 -0
  382. dripfetch/assets/logos/sabayon.txt +18 -0
  383. dripfetch/assets/logos/sabotage.txt +11 -0
  384. dripfetch/assets/logos/sailfish.txt +13 -0
  385. dripfetch/assets/logos/salentos.txt +20 -0
  386. dripfetch/assets/logos/salientos.txt +20 -0
  387. dripfetch/assets/logos/salix.txt +18 -0
  388. dripfetch/assets/logos/sambabox.txt +19 -0
  389. dripfetch/assets/logos/sasanqua.txt +18 -0
  390. dripfetch/assets/logos/scientific.txt +20 -0
  391. dripfetch/assets/logos/semc.txt +9 -0
  392. dripfetch/assets/logos/septor.txt +20 -0
  393. dripfetch/assets/logos/serene.txt +20 -0
  394. dripfetch/assets/logos/serpent_os.txt +18 -0
  395. dripfetch/assets/logos/sharklinux.txt +15 -0
  396. dripfetch/assets/logos/shastraos.txt +19 -0
  397. dripfetch/assets/logos/shebang.txt +20 -0
  398. dripfetch/assets/logos/siduction.txt +20 -0
  399. dripfetch/assets/logos/skiffos.txt +9 -0
  400. dripfetch/assets/logos/slackel.txt +22 -0
  401. dripfetch/assets/logos/slackware.txt +21 -0
  402. dripfetch/assets/logos/slackware_small.txt +7 -0
  403. dripfetch/assets/logos/sleeperos.txt +16 -0
  404. dripfetch/assets/logos/sleeperos_small.txt +7 -0
  405. dripfetch/assets/logos/slitaz.txt +17 -0
  406. dripfetch/assets/logos/smartos.txt +17 -0
  407. dripfetch/assets/logos/snigdhaos.txt +20 -0
  408. dripfetch/assets/logos/soda.txt +15 -0
  409. dripfetch/assets/logos/solaris.txt +8 -0
  410. dripfetch/assets/logos/solaris_small.txt +5 -0
  411. dripfetch/assets/logos/solus.txt +20 -0
  412. dripfetch/assets/logos/source_mage.txt +21 -0
  413. dripfetch/assets/logos/sparky.txt +20 -0
  414. dripfetch/assets/logos/spoinkos.txt +5 -0
  415. dripfetch/assets/logos/star.txt +19 -0
  416. dripfetch/assets/logos/steamdeck.txt +24 -0
  417. dripfetch/assets/logos/steamdeck_small.txt +5 -0
  418. dripfetch/assets/logos/steamos.txt +18 -0
  419. dripfetch/assets/logos/stock_linux.txt +19 -0
  420. dripfetch/assets/logos/sulin.txt +20 -0
  421. dripfetch/assets/logos/summitos.txt +22 -0
  422. dripfetch/assets/logos/suse.txt +11 -0
  423. dripfetch/assets/logos/swagarch.txt +15 -0
  424. dripfetch/assets/logos/t2.txt +14 -0
  425. dripfetch/assets/logos/t2_small.txt +6 -0
  426. dripfetch/assets/logos/tails.txt +19 -0
  427. dripfetch/assets/logos/tatra.txt +15 -0
  428. dripfetch/assets/logos/tearch.txt +21 -0
  429. dripfetch/assets/logos/templeos.txt +20 -0
  430. dripfetch/assets/logos/tileos.txt +20 -0
  431. dripfetch/assets/logos/torizoncore.txt +29 -0
  432. dripfetch/assets/logos/trisquel.txt +17 -0
  433. dripfetch/assets/logos/truenas_scale.txt +18 -0
  434. dripfetch/assets/logos/tuxedo_os.txt +16 -0
  435. dripfetch/assets/logos/twister.txt +23 -0
  436. dripfetch/assets/logos/ublinux.txt +19 -0
  437. dripfetch/assets/logos/ublinux_small.txt +11 -0
  438. dripfetch/assets/logos/ubuntu.txt +20 -0
  439. dripfetch/assets/logos/ubuntu_budgie.txt +20 -0
  440. dripfetch/assets/logos/ubuntu_cinnamon.txt +20 -0
  441. dripfetch/assets/logos/ubuntu_gnome.txt +16 -0
  442. dripfetch/assets/logos/ubuntu_kylin.txt +20 -0
  443. dripfetch/assets/logos/ubuntu_mate.txt +20 -0
  444. dripfetch/assets/logos/ubuntu_old.txt +20 -0
  445. dripfetch/assets/logos/ubuntu_old2.txt +18 -0
  446. dripfetch/assets/logos/ubuntu_old2_small.txt +6 -0
  447. dripfetch/assets/logos/ubuntu_small.txt +11 -0
  448. dripfetch/assets/logos/ubuntu_studio.txt +20 -0
  449. dripfetch/assets/logos/ubuntu_sway.txt +20 -0
  450. dripfetch/assets/logos/ubuntu_touch.txt +7 -0
  451. dripfetch/assets/logos/ubuntu_unity.txt +25 -0
  452. dripfetch/assets/logos/ultramarine.txt +20 -0
  453. dripfetch/assets/logos/ultramarine_small.txt +14 -0
  454. dripfetch/assets/logos/unifi.txt +6 -0
  455. dripfetch/assets/logos/univalent.txt +18 -0
  456. dripfetch/assets/logos/univention.txt +20 -0
  457. dripfetch/assets/logos/unknown.txt +18 -0
  458. dripfetch/assets/logos/uos.txt +20 -0
  459. dripfetch/assets/logos/urukos.txt +20 -0
  460. dripfetch/assets/logos/uwuntu.txt +20 -0
  461. dripfetch/assets/logos/valhalla.txt +10 -0
  462. dripfetch/assets/logos/vanilla.txt +18 -0
  463. dripfetch/assets/logos/vanilla2.txt +16 -0
  464. dripfetch/assets/logos/vanilla_small.txt +7 -0
  465. dripfetch/assets/logos/venom.txt +19 -0
  466. dripfetch/assets/logos/venom_small.txt +11 -0
  467. dripfetch/assets/logos/vnux.txt +20 -0
  468. dripfetch/assets/logos/void.txt +18 -0
  469. dripfetch/assets/logos/void2.txt +25 -0
  470. dripfetch/assets/logos/void2_small.txt +7 -0
  471. dripfetch/assets/logos/void_small.txt +7 -0
  472. dripfetch/assets/logos/vzlinux.txt +20 -0
  473. dripfetch/assets/logos/wii_linux.txt +16 -0
  474. dripfetch/assets/logos/windows.txt +16 -0
  475. dripfetch/assets/logos/windows_11.txt +17 -0
  476. dripfetch/assets/logos/windows_11_small.txt +7 -0
  477. dripfetch/assets/logos/windows_2025.txt +17 -0
  478. dripfetch/assets/logos/windows_8.txt +19 -0
  479. dripfetch/assets/logos/windows_95.txt +18 -0
  480. dripfetch/assets/logos/wolfos.txt +5 -0
  481. dripfetch/assets/logos/xcp_ng.txt +15 -0
  482. dripfetch/assets/logos/xenia.txt +15 -0
  483. dripfetch/assets/logos/xenia_old.txt +21 -0
  484. dripfetch/assets/logos/xeroarch.txt +19 -0
  485. dripfetch/assets/logos/xferience.txt +19 -0
  486. dripfetch/assets/logos/xray_os.txt +21 -0
  487. dripfetch/assets/logos/xubuntu.txt +19 -0
  488. dripfetch/assets/logos/yiffos.txt +19 -0
  489. dripfetch/assets/logos/zorin.txt +17 -0
  490. dripfetch/assets/logos/zos.txt +7 -0
  491. dripfetch/box/__init__.py +5 -0
  492. dripfetch/box/base.py +24 -0
  493. dripfetch/box/borders.py +41 -0
  494. dripfetch/box/colors.py +110 -0
  495. dripfetch/box/manager.py +181 -0
  496. dripfetch/box/placement.py +40 -0
  497. dripfetch/box/types/__init__.py +5 -0
  498. dripfetch/box/types/clock.py +487 -0
  499. dripfetch/box/types/logo.py +62 -0
  500. dripfetch/box/types/sysinfo.py +570 -0
  501. dripfetch/box/types/text.py +16 -0
  502. dripfetch/box/types/weather.py +181 -0
  503. dripfetch/cli.py +58 -0
  504. dripfetch/config.py +405 -0
  505. dripfetch/default_config.yaml +80 -0
  506. dripfetch/rain/__init__.py +3 -0
  507. dripfetch/rain/collision.py +23 -0
  508. dripfetch/rain/colors.py +51 -0
  509. dripfetch/rain/drop.py +16 -0
  510. dripfetch/rain/engine.py +190 -0
  511. dripfetch/rain/movement.py +46 -0
  512. dripfetch/rain/spawning.py +59 -0
  513. dripfetch/terminal.py +193 -0
  514. dripfetch-0.1.0.dist-info/METADATA +47 -0
  515. dripfetch-0.1.0.dist-info/RECORD +519 -0
  516. dripfetch-0.1.0.dist-info/WHEEL +5 -0
  517. dripfetch-0.1.0.dist-info/entry_points.txt +2 -0
  518. dripfetch-0.1.0.dist-info/licenses/LICENSE +21 -0
  519. dripfetch-0.1.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,487 @@
1
+ import time
2
+
3
+ from ..base import BaseBox
4
+
5
+ DIGITS = {
6
+ "single": {
7
+ "medium": {
8
+ "0": ["┌────┐", "│ │", "│ │", "│ │", "└────┘"],
9
+ "1": [" ┌┐ ", " ││ ", " ││ ", " ││ ", " └┘ "],
10
+ "2": ["┌────┐", " │", "┌────┘", "│ ", "└────┘"],
11
+ "3": ["┌────┐", " │", " ────┤", " │", "└────┘"],
12
+ "4": ["┌ ┐", "│ │", "└────┤", " │", " ┘"],
13
+ "5": ["┌────┐", "│ ", "└────┐", " │", "└────┘"],
14
+ "6": ["┌────┐", "│ ", "├────┐", "│ │", "└────┘"],
15
+ "7": ["┌────┐", " │", " │", " │", " ┘"],
16
+ "8": ["┌────┐", "│ │", "├────┤", "│ │", "└────┘"],
17
+ "9": ["┌────┐", "│ │", "└────┤", " │", "└────┘"],
18
+ ":": [" ┌┐ ", " └┘ ", " ", " ┌┐ ", " └┘ "],
19
+ " ": [" ", " ", " ", " ", " "],
20
+ "M": ["┌┐ ┌┐", "│└┐ ┌┘│", "│ └┬┘ │", "│ │", "└ ┘"],
21
+ "A": ["┌────┐", "│ │", "├────┤", "│ │", "└ ┘"],
22
+ "P": ["┌────┐", "│ │", "├────┘", "│ ", "└ "],
23
+ },
24
+ "big": {
25
+ "0": [
26
+ "┌──────────┐",
27
+ "│ ┌──────┐ │",
28
+ "│ │ │ │",
29
+ "│ │ │ │",
30
+ "│ │ │ │",
31
+ "│ │ │ │",
32
+ "│ │ │ │",
33
+ "│ │ │ │",
34
+ "│ └──────┘ │",
35
+ "└──────────┘",
36
+ ],
37
+ "1": [
38
+ " ┌──┐ ",
39
+ " │ │ ",
40
+ " │ │ ",
41
+ " │ │ ",
42
+ " │ │ ",
43
+ " │ │ ",
44
+ " │ │ ",
45
+ " │ │ ",
46
+ " │ │ ",
47
+ " └──┘ ",
48
+ ],
49
+ "2": [
50
+ "┌──────────┐",
51
+ "│ ┌──────┐ │",
52
+ "└─┘ │ │",
53
+ " │ │",
54
+ "┌────────┘ │",
55
+ "│ ┌────────┘",
56
+ "│ │ ",
57
+ "│ │ ┌─┐",
58
+ "│ └──────┘ │",
59
+ "└──────────┘",
60
+ ],
61
+ "3": [
62
+ "┌──────────┐",
63
+ "│ ┌──────┐ │",
64
+ "└─┘ │ │",
65
+ " │ │",
66
+ " ┌──────┘ │",
67
+ " └──────┐ │",
68
+ " │ │",
69
+ "┌─┐ │ │",
70
+ "│ └──────┘ │",
71
+ "└──────────┘",
72
+ ],
73
+ "4": [
74
+ "┌──┐ ┌──┐",
75
+ "│ ┌┘ └┐ │",
76
+ "│ │ │ │",
77
+ "│ │ │ │",
78
+ "│ └──────┘ │",
79
+ "└────────┐ │",
80
+ " │ │",
81
+ " │ │",
82
+ " ┌─┘ │",
83
+ " └───┘",
84
+ ],
85
+ "5": [
86
+ "┌──────────┐",
87
+ "│ ┌──────┐ │",
88
+ "│ │ └─┘",
89
+ "│ │ ",
90
+ "│ └────────┐",
91
+ "└────────┐ │",
92
+ " │ │",
93
+ "┌─┐ │ │",
94
+ "│ └──────┘ │",
95
+ "└──────────┘",
96
+ ],
97
+ "6": [
98
+ "┌──────────┐",
99
+ "│ ┌──────┐ │",
100
+ "│ │ └─┘",
101
+ "│ │ ",
102
+ "│ └────────┐",
103
+ "│ ┌──────┐ │",
104
+ "│ │ │ │",
105
+ "│ │ │ │",
106
+ "│ └──────┘ │",
107
+ "└──────────┘",
108
+ ],
109
+ "7": [
110
+ "┌──────────┐",
111
+ "│ ┌──────┐ │",
112
+ "└─┘ │ │",
113
+ " │ │",
114
+ " │ │",
115
+ " │ │",
116
+ " │ │",
117
+ " │ │",
118
+ " ┌┘ │",
119
+ " └──┘",
120
+ ],
121
+ "8": [
122
+ "┌──────────┐",
123
+ "│ ┌──────┐ │",
124
+ "│ │ │ │",
125
+ "│ │ │ │",
126
+ "│ └──────┘ │",
127
+ "│ ┌──────┐ │",
128
+ "│ │ │ │",
129
+ "│ │ │ │",
130
+ "│ └──────┘ │",
131
+ "└──────────┘",
132
+ ],
133
+ "9": [
134
+ "┌──────────┐",
135
+ "│ ┌──────┐ │",
136
+ "│ │ │ │",
137
+ "│ │ │ │",
138
+ "│ └──────┘ │",
139
+ "└────────┐ │",
140
+ " │ │",
141
+ "┌─┐ │ │",
142
+ "│ └──────┘ │",
143
+ "└──────────┘",
144
+ ],
145
+ ":": [
146
+ " ",
147
+ " ┌────┐ ",
148
+ " │ ┌┐ │ ",
149
+ " │ └┘ │ ",
150
+ " └────┘ ",
151
+ " ┌────┐ ",
152
+ " │ ┌┐ │ ",
153
+ " │ └┘ │ ",
154
+ " └────┘ ",
155
+ " ",
156
+ ],
157
+ " ": [" ", " ", " ", " ", " ", " ", " ", " ", " ", " "],
158
+ "M": [
159
+ "┌────┐ ┌────┐",
160
+ "│ ┌┐ │ │ ┌┐ │",
161
+ "│ ││ │ │ ││ │",
162
+ "│ ││ └─┘ ││ │",
163
+ "│ │└┐ ┌┘│ │",
164
+ "│ │ └───┘ │ │",
165
+ "│ │ │ │",
166
+ "│ │ │ │",
167
+ "│ │ │ │",
168
+ "└─┘ └─┘",
169
+ ],
170
+ "A": [
171
+ "┌──────────┐",
172
+ "│ ┌──────┐ │",
173
+ "│ │ │ │",
174
+ "│ │ │ │",
175
+ "│ └──────┘ │",
176
+ "│ ┌──────┐ │",
177
+ "│ │ │ │",
178
+ "│ │ │ │",
179
+ "│ │ │ │",
180
+ "└─┘ └─┘",
181
+ ],
182
+ "P": [
183
+ "┌──────────┐",
184
+ "│ ┌──────┐ │",
185
+ "│ │ │ │",
186
+ "│ │ │ │",
187
+ "│ └──────┘ │",
188
+ "│ ┌────────┘",
189
+ "│ │ ",
190
+ "│ │ ",
191
+ "│ │ ",
192
+ "└─┘ ",
193
+ ],
194
+ },
195
+ },
196
+ "double": {
197
+ "medium": {
198
+ "0": ["╔════╗", "║ ║", "║ ║", "║ ║", "╚════╝"],
199
+ "1": [" ╔╗ ", " ║║ ", " ║║ ", " ║║ ", " ╚╝ "],
200
+ "2": ["╔════╗", " ║", "╔════╝", "║ ", "╚════╝"],
201
+ "3": ["╔════╗", " ║", " ════╣", " ║", "╚════╝"],
202
+ "4": ["╔ ╗", "║ ║", "╚════╣", " ║", " ╝"],
203
+ "5": ["╔════╗", "║ ", "╚════╗", " ║", "╚════╝"],
204
+ "6": ["╔════╗", "║ ", "╠════╗", "║ ║", "╚════╝"],
205
+ "7": ["╔════╗", " ║", " ║", " ║", " ╝"],
206
+ "8": ["╔════╗", "║ ║", "╠════╣", "║ ║", "╚════╝"],
207
+ "9": ["╔════╗", "║ ║", "╚════╣", " ║", "╚════╝"],
208
+ ":": [" ╔╗ ", " ╚╝ ", " ", " ╔╗ ", " ╚╝ "],
209
+ " ": [" ", " ", " ", " ", " "],
210
+ "M": ["╔╗ ╔╗", "║╚╗ ╔╝║", "║ ╚╦╝ ║", "║ ║", "╚ ╝"],
211
+ "A": ["╔════╗", "║ ║", "╠════╣", "║ ║", "╚ ╝"],
212
+ "P": ["╔════╗", "║ ║", "╠════╝", "║ ", "╚ "],
213
+ },
214
+ "big": {
215
+ "0": [
216
+ "╔══════════╗",
217
+ "║ ╔══════╗ ║",
218
+ "║ ║ ║ ║",
219
+ "║ ║ ║ ║",
220
+ "║ ║ ║ ║",
221
+ "║ ║ ║ ║",
222
+ "║ ║ ║ ║",
223
+ "║ ║ ║ ║",
224
+ "║ ╚══════╝ ║",
225
+ "╚══════════╝",
226
+ ],
227
+ "1": [
228
+ " ╔══╗ ",
229
+ " ║ ║ ",
230
+ " ║ ║ ",
231
+ " ║ ║ ",
232
+ " ║ ║ ",
233
+ " ║ ║ ",
234
+ " ║ ║ ",
235
+ " ║ ║ ",
236
+ " ║ ║ ",
237
+ " ╚══╝ ",
238
+ ],
239
+ "2": [
240
+ "╔══════════╗",
241
+ "║ ╔══════╗ ║",
242
+ "╚═╝ ║ ║",
243
+ " ║ ║",
244
+ "╔════════╝ ║",
245
+ "║ ╔════════╝",
246
+ "║ ║ ",
247
+ "║ ║ ╔═╗",
248
+ "║ ╚══════╝ ║",
249
+ "╚══════════╝",
250
+ ],
251
+ "3": [
252
+ "╔══════════╗",
253
+ "║ ╔══════╗ ║",
254
+ "╚═╝ ║ ║",
255
+ " ║ ║",
256
+ " ╔══════╝ ║",
257
+ " ╚══════╗ ║",
258
+ " ║ ║",
259
+ "╔═╗ ║ ║",
260
+ "║ ╚══════╝ ║",
261
+ "╚══════════╝",
262
+ ],
263
+ "4": [
264
+ "╔══╗ ╔══╗",
265
+ "║ ╔╝ ╚╗ ║",
266
+ "║ ║ ║ ║",
267
+ "║ ║ ║ ║",
268
+ "║ ╚══════╝ ║",
269
+ "╚════════╗ ║",
270
+ " ║ ║",
271
+ " ║ ║",
272
+ " ╔═╝ ║",
273
+ " ╚═══╝",
274
+ ],
275
+ "5": [
276
+ "╔══════════╗",
277
+ "║ ╔══════╗ ║",
278
+ "║ ║ ╚═╝",
279
+ "║ ║ ",
280
+ "║ ╚════════╗",
281
+ "╚════════╗ ║",
282
+ " ║ ║",
283
+ "╔═╗ ║ ║",
284
+ "║ ╚══════╝ ║",
285
+ "╚══════════╝",
286
+ ],
287
+ "6": [
288
+ "╔══════════╗",
289
+ "║ ╔══════╗ ║",
290
+ "║ ║ ╚═╝",
291
+ "║ ║ ",
292
+ "║ ╚════════╗",
293
+ "║ ╔══════╗ ║",
294
+ "║ ║ ║ ║",
295
+ "║ ║ ║ ║",
296
+ "║ ╚══════╝ ║",
297
+ "╚══════════╝",
298
+ ],
299
+ "7": [
300
+ "╔══════════╗",
301
+ "║ ╔══════╗ ║",
302
+ "╚═╝ ║ ║",
303
+ " ║ ║",
304
+ " ║ ║",
305
+ " ║ ║",
306
+ " ║ ║",
307
+ " ║ ║",
308
+ " ╔╝ ║",
309
+ " ╚══╝",
310
+ ],
311
+ "8": [
312
+ "╔══════════╗",
313
+ "║ ╔══════╗ ║",
314
+ "║ ║ ║ ║",
315
+ "║ ║ ║ ║",
316
+ "║ ╚══════╝ ║",
317
+ "║ ╔══════╗ ║",
318
+ "║ ║ ║ ║",
319
+ "║ ║ ║ ║",
320
+ "║ ╚══════╝ ║",
321
+ "╚══════════╝",
322
+ ],
323
+ "9": [
324
+ "╔══════════╗",
325
+ "║ ╔══════╗ ║",
326
+ "║ ║ ║ ║",
327
+ "║ ║ ║ ║",
328
+ "║ ╚══════╝ ║",
329
+ "╚════════╗ ║",
330
+ " ║ ║",
331
+ "╔═╗ ║ ║",
332
+ "║ ╚══════╝ ║",
333
+ "╚══════════╝",
334
+ ],
335
+ ":": [
336
+ " ",
337
+ " ╔════╗ ",
338
+ " ║ ╔╗ ║ ",
339
+ " ║ ╚╝ ║ ",
340
+ " ╚════╝ ",
341
+ " ╔════╗ ",
342
+ " ║ ╔╗ ║ ",
343
+ " ║ ╚╝ ║ ",
344
+ " ╚════╝ ",
345
+ " ",
346
+ ],
347
+ " ": [" ", " ", " ", " ", " ", " ", " ", " ", " ", " "],
348
+ "M": [
349
+ "╔════╗ ╔════╗",
350
+ "║ ╔╗ ║ ║ ╔╗ ║",
351
+ "║ ║║ ║ ║ ║║ ║",
352
+ "║ ║║ ╚═╝ ║║ ║",
353
+ "║ ║╚╗ ╔╝║ ║",
354
+ "║ ║ ╚═══╝ ║ ║",
355
+ "║ ║ ║ ║",
356
+ "║ ║ ║ ║",
357
+ "║ ║ ║ ║",
358
+ "╚═╝ ╚═╝",
359
+ ],
360
+ "A": [
361
+ "╔══════════╗",
362
+ "║ ╔══════╗ ║",
363
+ "║ ║ ║ ║",
364
+ "║ ║ ║ ║",
365
+ "║ ╚══════╝ ║",
366
+ "║ ╔══════╗ ║",
367
+ "║ ║ ║ ║",
368
+ "║ ║ ║ ║",
369
+ "║ ║ ║ ║",
370
+ "╚═╝ ╚─╝",
371
+ ],
372
+ "P": [
373
+ "╔══════════╗",
374
+ "║ ╔══════╗ ║",
375
+ "║ ║ ║ ║",
376
+ "║ ║ ║ ║",
377
+ "║ ╚══════╝ ║",
378
+ "║ ╔════════╝",
379
+ "║ ║ ",
380
+ "║ ║ ",
381
+ "║ ║ ",
382
+ "╚═╝ ",
383
+ ],
384
+ },
385
+ },
386
+ }
387
+
388
+
389
+ class ClockBox(BaseBox):
390
+ def __init__(self, stdscr, config, boxes_config, colors, renderer):
391
+ super().__init__(stdscr, config, boxes_config, colors, renderer)
392
+ self.style = config.get("clock_style", "single")
393
+ self.size = config.get("clock_size", "medium")
394
+ self.clock_24h = config.get("clock_24h", True)
395
+ self.show_seconds = config.get("show_seconds", True)
396
+ self.show_am_pm = config.get("show_am_pm", True)
397
+ self.blink_colon = config.get("blink_colon", False)
398
+ self.show_date = config.get("show_date", False)
399
+
400
+ @staticmethod
401
+ def _blank(pattern):
402
+ return [" " * len(line) for line in pattern]
403
+
404
+ def _time_text(self, now):
405
+ hour = "%H" if self.clock_24h else "%I"
406
+ seconds = ":%S" if self.show_seconds else ""
407
+
408
+ text = time.strftime(f"{hour}:%M{seconds}", now)
409
+
410
+ if not self.clock_24h and self.show_am_pm:
411
+ text = f"{text[:-2]} {text[-2:]}"
412
+
413
+ return text
414
+
415
+ def _patterns(self, text, now):
416
+ digits = DIGITS[self.style][self.size]
417
+ show_colon = not self.blink_colon or now.tm_sec % 2 == 0
418
+
419
+ return [
420
+ self._blank(digits[":"])
421
+ if char == ":" and not show_colon
422
+ else digits.get(char, self._blank(digits["0"]))
423
+ for char in text
424
+ ]
425
+
426
+ def _geometry(self, now):
427
+ text = self._time_text(now)
428
+ patterns = self._patterns(text, now)
429
+ spacing = 2 if self.size == "big" else 1
430
+ width = sum(len(pattern[0]) for pattern in patterns)
431
+ width += (len(patterns) - 1) * spacing
432
+ height = len(patterns[0])
433
+ date = time.strftime("%A, %b %d %Y", now) if self.show_date else ""
434
+
435
+ return text, patterns, spacing, width, height, date
436
+
437
+ def dimensions(self):
438
+ _, _, _, width, height, date = self._geometry(time.localtime())
439
+ return width, height + bool(date) * 2
440
+
441
+ def draw_content(self, x, y, width, height):
442
+ now = time.localtime()
443
+
444
+ text, patterns, spacing, clock_width, clock_height, date = self._geometry(now)
445
+
446
+ content_height = clock_height + bool(date) * 2
447
+ x_start = x + max(0, (width - clock_width) // 2)
448
+ y_start = y + max(0, (height - content_height) // 2)
449
+
450
+ for char_index, char in enumerate(text):
451
+ pattern = patterns[char_index]
452
+
453
+ for row, line in enumerate(pattern):
454
+ offset = sum(
455
+ len(patterns[index][0]) + spacing for index in range(char_index)
456
+ )
457
+
458
+ if char == ":":
459
+ self.renderer.draw(
460
+ x_start + offset,
461
+ y_start + row,
462
+ line,
463
+ self.colors.accent,
464
+ )
465
+ else:
466
+ self.renderer.draw(
467
+ x_start + offset,
468
+ y_start + row,
469
+ line,
470
+ self.colors.text,
471
+ )
472
+
473
+ if date:
474
+ date_x = x + max(0, (width - len(date)) // 2)
475
+
476
+ self.renderer.draw(
477
+ date_x,
478
+ y_start + clock_height + 1,
479
+ date[:width],
480
+ self.colors.text,
481
+ )
482
+
483
+ def update(self):
484
+ pass
485
+
486
+ def close(self):
487
+ pass
@@ -0,0 +1,62 @@
1
+ import re
2
+ from importlib.resources import files
3
+
4
+ from ...terminal import parse_color
5
+ from ..base import BaseBox
6
+
7
+
8
+ class LogoBox(BaseBox):
9
+ def __init__(self, stdscr, config, boxes, colors, renderer):
10
+ super().__init__(stdscr, config, boxes, colors, renderer)
11
+ self.logo = config.get("logo", "")
12
+ self.logo_colors = [parse_color(color) for color in config.get("colors", [])]
13
+ self.lines = self._load_logo()
14
+ self.parsed_lines = [self._parse_line(line) for line in self.lines]
15
+
16
+ def _load_logo(self):
17
+ path = files("dripfetch").joinpath("assets", "logos", f"{self.logo}.txt")
18
+ print(f"LOGO: {self.logo}")
19
+ print(f"PATH: {path}")
20
+ print(f"EXISTS: {path.is_file()}")
21
+ if not path.is_file():
22
+ return []
23
+ return path.read_text(encoding="utf-8").splitlines()
24
+ def _parse_line(self, line):
25
+ parts = re.split(r"(\$\d+)", line)
26
+ color = None
27
+ result = []
28
+
29
+ for part in parts:
30
+ if not part:
31
+ continue
32
+
33
+ if part.startswith("$"):
34
+ index = int(part[1:]) - 1
35
+ color = self.logo_colors[index] if 0 <= index < len(self.logo_colors) else None
36
+ continue
37
+
38
+ result.append((part, color))
39
+
40
+ return result
41
+
42
+ def draw_content(self, x, y, width, height):
43
+ for row, segments in enumerate(self.parsed_lines):
44
+ if row >= height:
45
+ break
46
+
47
+ offset = 0
48
+
49
+ for text, color in segments:
50
+ if offset >= width:
51
+ break
52
+
53
+ text = text[:width - offset]
54
+ self.renderer.draw(x + offset, y + row, text, color)
55
+ offset += len(text)
56
+
57
+ def dimensions(self):
58
+ width = max(
59
+ (sum(len(text) for text, _ in line) for line in self.parsed_lines),
60
+ default=0,
61
+ )
62
+ return width, len(self.parsed_lines)