Mintty is a terminal emulator for Cygwin, MSYS or Msys2, and derived projects, and for WSL.


Features

Terminal display features
Terminal input and interaction features
Window handling features and desktop integration
Configuration features and system support

Compatibility

Mintty works on all Windows versions from Windows XP onwards. Similarly to other Cygwin/MSYS terminals based on pseudo terminal ("pty") devices, Windows console input/output (as used by native Windows command-line programs) has interworking problems with "pty" mode (most notably character set, but also character-wise input and signal processing incompatibilities, see input/output interaction). Cygwin 3.1.0 compensates for this issue via the ConPTY API of Windows 10.
SystemBuildLast version tested
Windows 2000 ProfessionalMSYS 1.0.19, gcc 3.4.43.7.6
Windows XP Professional 64-bitcygwin 2.5.2, gcc 5.4.03.7.6
Windows 7 Ultimate 32-bitcygwin 3.2.0, gcc 11.2.03.7.6
Windows 7 Professional 64-bitcygwin 3.4.10, gcc 11.4.03.7.6
Windows 10cygwin 3.5.4, gcc 13.3.13.7.6
Windows 11cygwin 3.5.4, gcc 12.4.03.7.6


Documentation

The Cygwin package ships with a manual page that can be accessed with man mintty. Invoking mintty with the --help option shows a summary of available command line options. See the Wiki for information on keycodes, control sequences and other hints.

Configuration

Mintty settings can be given with its invocation as command-line options or in a configuration file. Locations for configuration files as well as settings with their default values are described in the mintty manual page.

Installation

In Cygwin, it is installed as the default "Cygwin Terminal".
For MSYS2, mintty is installed by default, or it can be installed later with the command pacman -S mintty.
In Git-for-Windows, mintty is installed by default and invoked as "Git Bash".
For MSYS (old), select the msys-mintty package in the installer. (Or from MinGW, install the package with mingw-get install mintty.)

Build

Building mintty on cygwin needs packages `gcc-core` and `make`. To compile, go into subdirectory `src` and run `make`.
To install just the binary (for testing), copy `mintty.exe` from subdirectory `bin` to an appropriate place. To install the binary and resource files locally, run `make install`. To install into a packaging directory, run `make DESTDIR=pathto/stage install`.


Repository and Download

The source code repository.
Latest Releases for download.
The Release Archive for older packages.
The current snapshot download.


Donation

If you feel like you'd like to donate for appreciation of mintty, the donation form offers an opportunity.


Bugs and Enhancements

Please report bugs or suggest enhancements via the issue tracker. General Cygwin questions should be sent to the Cygwin mailing list, preferably after subscribing the list.
Bugs that were reported to the previous repository at Google code before June, 2015, have been migrated here.

Contribution

If you consider to suggest a patch or contribute to mintty otherwise, discuss your proposal in an issue first, or on the Cygwin mailing list, or with the maintainer.


History

Mintty is based on code from PuTTY 0.60 by Simon Tatham and team. The program icon comes from KDE's Konsole. Mintty ties directly into Cygwin/MSYS and leaves out PuTTY's networking functionality, which is provided by packages such as openssh and inetutils instead. A number of PuTTY issues have been addressed (see Wiki).

Credits

People who have contributed significantly to mintty are mentioned on the Wiki Credits page.


Screenshots

Colour scheme.

Mintty default theme helmholtz
The new mintty default theme (since 3.6.0) helmholtz provides a colour scheme of well-balanced appearance and luminance; see the comments in the theme file about its crafting principles.

Mintty showing help text in terminal. Options menu opened.

Mintty help screen shot

Mintty options screen shot


Mintty displaying Sixel graphics, used with gnuplot:

Mintty Sixel graphics display

Mintty with tabbar for session switching:

Click me! Mintty tabbar

Mintty displaying image file:

This uses the showimg script. Mintty image display

Localized Options menu:

Mintty full user interface localization


Fancy feature: distinct colour attributes for combining characters:

Mintty with distinct colours of combining characters

Fancy feature: alternative fonts as character attributes:

Mintty showing alternative fonts


Emojis:

Mintty displaying emojis Mintty displaying flags emojis

Background texture or image:

Mintty with image background
Mintty with texture background

Tektronix 4014 vector graphics emulation:

Tektronix 4014 vector graphics Tektronix 4014 vector graphics
Tektronix 4014 image Tektronix 4014 vector graphics
Tektronix 4014 vector graphics