mintty-0.1: README.md
# `mintty`
[][Hackage: mintty]
[](http://packdeps.haskellers.com/reverse/mintty)
[][Haskell.org]
[][tl;dr Legal: BSD3]
[](https://travis-ci.org/RyanGlScott/mintty)
[](https://ci.appveyor.com/project/RyanGlScott/mintty)
[Hackage: mintty]:
http://hackage.haskell.org/package/mintty
"mintty package on Hackage"
[Haskell.org]:
http://www.haskell.org
"The Haskell Programming Language"
[tl;dr Legal: BSD3]:
https://tldrlegal.com/license/bsd-3-clause-license-%28revised%29
"BSD 3-Clause License (Revised)"
MinTTY is a Windows-specific terminal emulator for the widely used Cygwin and MSYS projects, which provide Unix-like environments for Windows. MinTTY consoles behave differently from native Windows consoles (such as `cmd.exe` or PowerShell) in many ways, and in some cases, these differences make it necessary to treat MinTTY consoles differently in code.
The `mintty` library provides a simple way to detect if your code in running in a MinTTY console on Windows. It exports `isMinTTY`, which does the right thing 90% of the time (by checking if standard error is attached to MinTTY), and it also exports `isMinTTYHandle` for the other 10% of the time (when you want to check is some arbitrary handle is attached to MinTTY). As you might expect, both of these functions will simply return `False` on any non-Windows operating system.