summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--.config/fastfetch/confgen.py26
1 files changed, 20 insertions, 6 deletions
diff --git a/.config/fastfetch/confgen.py b/.config/fastfetch/confgen.py
index 3925140..aa64f6a 100644
--- a/.config/fastfetch/confgen.py
+++ b/.config/fastfetch/confgen.py
@@ -4,6 +4,7 @@ from typing import Optional, Any, Iterator
4import json 4import json
5from tempfile import NamedTemporaryFile 5from tempfile import NamedTemporaryFile
6import subprocess 6import subprocess
7from pathlib import Path
7 8
8 9
9def flatten(obj) -> Iterator[Any]: 10def flatten(obj) -> Iterator[Any]:
@@ -62,17 +63,28 @@ class Node:
62 return 63 return
63 node.remove_module(module) 64 node.remove_module(module)
64 65
65 def prettify(self, font_effect=None, key_prefix="") -> None: 66 def prettify(self, font_effect="", key_prefix="") -> None:
66 if key_prefix:
67 self.key = key_prefix + f'{graphics["hbar"]} ' + self.key
68 if self.font_effect: 67 if self.font_effect:
69 font_effect = self.font_effect 68 font_effect = self.font_effect
69 self.key = font_effect + self.key
70
71 if len(key_prefix):
72 self.key = key_prefix + f'{graphics["hbar"]} ' + self.key
73
74 if key_prefix[-1] == graphics["end"]:
75 key_prefix = key_prefix[:-1] + ' '
76 else:
77 key_prefix = key_prefix[:-1] + graphics["vbar"] + ' '
78
70 for i, node in enumerate(self.children): 79 for i, node in enumerate(self.children):
71 node.prettify(font_effect, key_prefix) 80 if i == len(self.children) - 1:
81 node.prettify(font_effect, key_prefix + font_effect + graphics["end"])
82 else:
83 node.prettify(font_effect, key_prefix + font_effect + graphics["branch"])
72 84
73 85
74font_effects = { 86font_effects = {
75 "reset": "#0", 87 "reset": "{#0}",
76 "software": "\u001b[38;2;0;255;0m", 88 "software": "\u001b[38;2;0;255;0m",
77 "os": "\u001b[38;2;0;255;60m", 89 "os": "\u001b[38;2;0;255;60m",
78 "terminal": "\u001b[38;2;0;255;120m", 90 "terminal": "\u001b[38;2;0;255;120m",
@@ -229,7 +241,9 @@ def main():
229 for root in filtered_roots: 241 for root in filtered_roots:
230 root.prettify() 242 root.prettify()
231 final_config = build_config(filtered_roots) 243 final_config = build_config(filtered_roots)
232 print(json.dumps(final_config)) 244 fastfetch_config = Path.home() / ".config" / "fastfetch" / "config_generated.jsonc"
245 with open(fastfetch_config, 'w') as config_file:
246 json.dump(final_config, config_file)
233 247
234 248
235if __name__ == '__main__': 249if __name__ == '__main__':