hyper: True Color not working on Bash on Windows

  • I am on the latest Hyper.app version

  • I have searched the issues of this repo and believe that this is not a duplicate

  • OS version and name: Windows 10

  • Hyper.app version: 1.3.1

  • Link of a Gist with the contents of your .hyper.js: Default

  • Relevant information from devtools (CMD+ALT+I on Mac OS, CTRL+SHIFT+I elsewhere): None

  • The issue is reproducible in vanilla Hyper.app: Yes

Issue

Bash on Windows supports 24bit true colour with Truecolour escape codes. Running test script that I found here, the following are results from

  1. Bash on Windows 1

  2. Hyper. (CMD starts by default, type bash, and run the script)

capture

About this issue

  • Original URL
  • State: closed
  • Created 7 years ago
  • Reactions: 31
  • Comments: 15 (2 by maintainers)

Most upvoted comments

I know I’m necroing this a bit but is there any fix yet? I really want to use fish with the bobthefish theme and it is unusably bad in hyper when using Windows Subsystem for Linux. image

Well, yes – of course it’s an issue with Windows’ conhost. But to be clear, that’s the underlying console subsytem that all console apps run in. In other words, it’s the core difficulty of implementing something like hyper on Windows, and it’s not just a problem with a few particular apps or ways of running them.

Bottom line: although the console subsystem has seen major improvements in the Windows 10 era (to support ANSI escape sequences, among other things), it’s still not based on input/output pipelines the way PTY works on posix subsystems.

That’s why things like mintty (and wslbridge, which just wraps mintty) make a difference – when you run apps through them, if the app supports it, then it behaves as though it were running “remotely” (e.g. over SSH) via a pipe (the Linux way, if you will).

However, that’s not the native way to write or run console apps in Windows, and most interactive Windows console apps --like Python, when used as a REPL-- don’t work when run in mintty or other similar emulators.

Having the same issue, though I notice that both Hyper and ConEmu, when using Git Bash, have to run it via C:\\Program Files\\Git\\git-cmd.exe --command=usr/bin/bash.exe -l -i.

When I run the same color test script linked by the OP, the true color support works in C:\Program Files\Git\git-bash.exe. But when I run it in a bash session started inside of git-cmd.exe instead, the color output is broken. Same if I start CMD, run C:\Program Files\Git\bin\bash.exe, and then run the test script again.

This makes me wonder if it’s more a CMD issue than an issue with Hyper itself…

@blark is this an issue for you when using Hyper on Linux or Mac?

Would really like to see true color support. Been using this on WSL since it came out, and on my other platforms (Linux and Mac) so all my configs are set for it. I’d really like to switch to Hyper but true color is too nice to give up 😃

Bump.

The screenshot shows that although I’ve selected multiple lines of text in NeoVim, it looks as if nothing is selected (not just ugly, but negative impact on perceived functionality):

bad_color