diff --git a/hyfetch/main.py b/hyfetch/main.py index cfa6b07a..b3e04fcf 100755 --- a/hyfetch/main.py +++ b/hyfetch/main.py @@ -346,6 +346,7 @@ def run(): # Ensure git bash for windows ensure_git_bash() + check_windows_cmd() # Test distro ascii art if args.test_distro: diff --git a/hyfetch/neofetch_util.py b/hyfetch/neofetch_util.py index 4974399b..6a6269c0 100644 --- a/hyfetch/neofetch_util.py +++ b/hyfetch/neofetch_util.py @@ -179,6 +179,19 @@ def ensure_git_bash() -> Path: print('Done!') return path / r'bin\bash.exe' + +def check_windows_cmd(): + """ + Check if this script is running under cmd.exe. If so, launch an external window with git bash + since cmd doesn't support RGB colors. + """ + if psutil.Process(os.getppid()).name().lower().strip() == 'cmd.exe': + print("cmd.exe doesn't support RGB colors, restarting in MinTTY...") + cmd = f'"{ensure_git_bash().parent.parent / "usr/bin/mintty.exe"}" -s 110,40 -e python -m hyfetch --ask-exit' + os.system(cmd) + exit() + + def run_command(args: str, pipe: bool = False) -> str | None: """ Run neofetch command