Windows Console Replacements, Part 1 - Take Command and Mintty
Windows runs command line applications (such as CMD, PowerShell, and TCC) in a character-mode window called the Windows Console. Unfortunately, the Windows console has always been seriously lacking in even the most basic features compared to what is available in GUI apps. And the Windows console UI hasn’t changed significantly since its first appearance in Windows NT 3.1 (way back in 1993).
This is the first in a series of posts that will compare and contrast JP Software’s Take Command with Windows (and Linux) console replacements. Hopefully we’ll also find some inspiration for new features in the next version of Take Command!
Over the next few weeks, we’ll take a look at:
- Mintty
- Console
- PromptPal
- PowerCMD
- Gnome Terminal
- KDE Konsole
and any others that we can find (or that you suggest!).
Today we’ll take a look at Mintty, a console replacement and terminal emulator for Cygwin and MSYS. Mintty takes a minimalist approach to replacing the Windows console — the first impression is that nothing has changed:
Despite appearances, Mintty is actually a GUI app, based on the PuTTY 0.60 code. Mintty is not a replacement for the Windows command prompt; it is only a wrapper for command line programs (like CMD, TCC, Bash, etc.). Mintty uses pipes to handle the console application’s input and output, which results in fast output and scrolling. The disadvantage is that console programs that have interactive input, colorized output, or use screen positioning (i.e., anything other than vanilla tty output) will not work with Mintty.
Mintty adds some features beyond what is available in the standard Windows console:
- An easier copy & paste (which is also line oriented rather than column oriented as in the Windows console)
- Drag & drop
- Xterm-compatible terminal emulation
- Transparent window option
- Faster output
- Open files and URLs with Ctrl+left click
Let’s take a look at the Take Command window. (The Take Command Explorer-style Folder and List View windows, and the common Command Input window are set to Autohide in order to show a more straightforward comparison with the Mintty window.)
Take Command includes all of the Mintty features listed above (with the partial exception of the Xterm terminal output — see below).
Now let’s look at a few of the Take Command features that aren’t available in Mintty. (The full Take Command feature list runs into the tens of thousands; far too many to try to list here).
Features
|
Take Command
|
Mintty
|
Price (single new copy)
|
$99.95
|
Free (GPL)
|
Tabbed Windows UI | ||
Multiple tabbed windows for console applications
|
||
Run simple GUI apps in tabs
|
||
Customize menu accelerator keys
|
||
Customize tabs location (top/bottom/left/right)
|
||
Multiple display themes
|
||
Horizontal / vertical tab groups
|
||
Attach and detach console windows
|
||
Optional command input window
|
||
Cut and paste block and/or line selection
|
||
Continuously variable transparency option
|
||
Integrated GUI file explorer
|
||
User-defined startup tabs
|
||
Programmable tabbed toolbar
|
||
Configurable status bar
|
||
Full text search in tabbed console windows
|
||
Context-sensitive help for all commands and variables
|
||
32-bit and 64-bit versions
|
||
Display Speed
|
Take Command
|
Mintty
|
dir /s c:\windows (in seconds) – Windows console: 38.5 |
19.5
|
17.8
|
Command Prompt
|
Take Command
|
Mintty
|
GUI IDE w/ batch file debugger
|
||
Aliases (command and directory)
|
||
Regular Expressions in filenames
|
||
Wildcards in pathnames and/or filenames
|
||
Enhanced command line editor
|
||
Enhanced filename completion
|
||
GDirectory Navigation
|
||
ANSI X3.64 text output
|
||
Built in batch file editor
|
||
Direct FTP / HTTP file access (including SSL & SSH)
|
||
Network file system access (OpenAFS)
|
||
Active Scripting (Perl, Python, VBSscript, Javascript)
|
||
Scripting Language
|
Take Command
|
Mintty
|
Internal Commands |
182
|
0 *
|
Internal Variables |
177
|
0 *
|
Internal Functions |
291
|
0 *
|
*Mintty doesn’t include a command interpreter.
Take Command is slightly slower than Mintty in displaying text output (though it is still twice as fast as the standard Windows console). But unlike Mintty, Take Command supports all console applications, including those that write directly to the screen, use colors, or which have interactive input.
The only area where Take Command doesn’t match or exceed Mintty’s features is in the Xterm terminal emulation. Take Command does have internal ANSI (VT100) support, but Mintty adds Xterm and vt220 support. (This wouldn’t be too difficult to add to Take Command, though thus far nobody has ever asked for anything beyond the existing ANSI output.)
Next time: Comparing Take Command and Console.