Mintty
a terminal emulator
for Cygwin,
MSYS,
MSYS2,
and derived projects,
and for WSL.
Features
Terminal display features
- Xterm-compatible terminal emulation, coverage of all DEC terminal series screen control features.
- 256 colours and True-Colour support, optional CMYK colour specification.
- Full character attributes support, including italic, underline styles and colours, overline, strikeout, rapid blinking.
- Extended character attributes support: shadowed, subscript, superscript (terminfo) and overstrike.
- DEC VT420 screen control features, including rectangular areas.
- Full Unicode support, comprehensive character encoding support and wide character handling.
- Bidirectional rendering, flexible bidi controls (bidi marks and control functions).
- Advanced Arabic shaping: LAM/ALEF (optional single-cell), ZWJ/ZWNJ shaping control.
- Alternative fonts: simultaneous display of multiple fonts.
- Secondary fonts: script-specific alternative font usage.
- Dynamic installation of temporary fonts.
- Reflow option on terminal resize (re-breaking of wrapped lines).
- Self-drawn box characters for smooth and consistent box drawing.
- Full emoji support, including all emoji sequences: emoji ZWJ sequences, dynamic support for flags emojis.
- “Emoji width” mode to always render emojis in 2-cell width.
- Image display support.
- Sixel graphics support.
- ReGIS graphics support.
- Tektronix 4014 vector graphics emulation.
- Audio support: sound files and DECPS tone playing.
Terminal input and interaction features
- Character composition with full Unicode support, using dead keys and Compose key.
- Visual feedback of numeric or composed character input.
- Up to 6 key modifiers, including Meta (Win key) and configurable Super and Hyper keys.
- Comprehensive AltGr support, handling all modifier combinations.
- Windows IME support.
- Keyboard workarounds for certain buggy virtual keyboard / remote desktop / hotkey software.
- Support for all relevant mouse modes, including pixel-grained SGR and DEC locator modes.
- Text selection with mouse or keyboard.
- Easy copy & paste.
- Drag & drop of text, files and folders.
- Elastic mouse text selection.
- Ability to open files and URLs with Ctrl+click, explicit hyperlinks.
- Fast rendering and scrolling, fast keyboard feedback.
- Screenshot dump: HTML export to file and clipboard, image export.
Window handling features and desktop integration
- Colour schemes / Theme file support; optional distinct theme for darkmode.
- Thoughtfully designed default colour schme (theme helmholtz, by Andy Koppe).
- Background texture and image support.
- Virtual Tabs / session switcher and launcher.
- Tabbar to switch virtual tabs (with interactive tab arrangement) for a tabbed window experience.
- Dynamic tab reordering with visual feedback.
- Taskbar tasks (“jump list”) configuration. Task grouping configuration.
- Flexible fullscreen, fullsize and border options.
- Horizontal scrolling.
- Screen and scrollback buffer search.
- Window transparency.
- Multiple monitor support, high DPI and DPI change support; enhanced multi-monitor DPI handling.
- Flexible multi-monitor window placement support.
Configuration features and system support
- Native Windows user interface with a lean options dialog.
- User interface language localization support.
- User-defined key shortcuts and menu functions.
- Flexible configuration and resource folder options.
- Options stored in a text file. No registry entries.
- Switchable terminal logging, switchable character information.
- Runs in Cygwin, MSYS(2), midipix. Also hosting WSL.
- Runs on Windows 2000, Windows XP, Windows 7, Windows 10, Windows 11.
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.
System | Build | Last version tested
Windows 2000 Professional | MSYS 1.0.19, gcc 3.4.4 | 3.8.2
Windows XP Professional 64-bit | cygwin 2.5.2, gcc 5.4.0 | 3.8.1
Windows 7 Ultimate 32-bit | cygwin 3.2.0, gcc 11.2.0 | 3.8.2
Windows 7 Professional 64-bit | cygwin 3.4.10, gcc 11.4.0 | 3.8.2
Windows 10 | cygwin32 3.3.6, gcc 11.3.0 | 3.8.2
Windows 10 | MSYS2 3.6.6, gcc 15.2.0 | 3.8.2
Windows 10 | cygwin64 3.6.6, gcc 16.0.0 | 3.8.2
Windows 11 | MSYS2 3.6.6, gcc 15.2.0 | 3.8.2
Windows 11 | cygwin64 3.6.6, gcc 13.4.0 | 3.8.2
|
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.
- Mind! Before reporting an issue about character interaction with an application,
please check the issue also with at least one other terminal (xterm, urxvt),
and maybe the Cygwin Console.
See also the hint in Compatibility above.
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.
- Repository policy: No unsolicited pull requests!
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.
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 displaying Sixel graphics, used with gnuplot:
Mintty with tabbar for session switching:
Click me!
Mintty displaying image file:
This uses the
showimg script.
Localized Options menu:
|
|
Fancy feature: distinct colour attributes for combining characters:
|
|
Fancy feature: alternative fonts as character attributes:
Emojis:
|
|
Background texture or image:
|
|
ReGIS vector graphics support:
|
|
Tektronix 4014 vector graphics emulation:
|
|
|