Today we’re looking at ConEmu (aka ConEmu-Maximus5), the last of the Windows console replacements that I’ve been able to find). ConEmu is an open source (BSD license) Windows console emulator with tabbed windows, which features integration with FAR Manager, a console-based file manager that is a clone of the old Norton Commander.
ConEmu is similar to Console2, albeit with a bit less “eye candy”. It’s apparently still a work in progress — there are a number of options for dumping debug info on ConEmu and/or the Windows console. The ConEmu window is definitely minimalistic — there is no menu or status bar. You select options by clicking on the system menu (icon in the left corner of the title bar).
Note that like the rest of the console replacements we’ve seen so far (Mintty, Console2, PromptPal, PowerCmd, and ColorConsole), ConEmu is not a replacement for the Windows CMD command prompt; it is a wrapper for CMD (or other command line applications) and new tabs default to starting CMD.
ConEmu adds a few features not available in the standard Windows console:
- Tabbed windows
- Configurable colors
- Optional background image and transparency
- Line-based or block-based text selection (instead of the column selection in the windows console)
- Resize the window, both horizontally & vertically by dragging the corner
- Integration with FAR Manager
#6 is the only thing in ConEmu that is not already in Take Command. Since Take Command has its own GUI (Explorer-like) file manager, there doesn’t seem much point (and thus far no demand) to try to integrate FAR Manager as well. (You can run FAR Manager in a Take Command tab window.) I’m not aware of any other significant feature in ConEmu that’s lacking in Take Command, but if anybody knows of something that they would like to see added to Take Command, please let me know.
By way of comparison, let’s take another 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 ConEmu window.)
Let’s plug ConEmu into our comparison table:
Features | Take Command | ConEmu |
Price (single new copy) | $99.95 | Free |
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 | ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() | FAR Manager |
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 | ConEmu |
dir /s c:\windows (in seconds) – Windows console: 38.5 | 19.5 | 21.3 |
Command Prompt | Take Command | ConEmu |
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 | ConEmu |
Internal Commands | 182 | 0 * |
Internal Variables | 177 | 0 * |
Internal Functions | 291 | 0 * |
*ConEmu doesn’t include a command interpreter.
Summary: If you’re a FAR Manager user and are looking for a free Windows console replacement, ConEmu is worth a look. Otherwise, it is comparable to Console2 (also an open source console replacement), and falls considerably short of Take Command.
Next time: We’ll start with the Linux console replacements.
1. I’ve tried to post comment to the blog, but got
> ERROR: please enter a valid email address.
Nor , nor , nor was not accepted. Why?
2. In fact, ConEmu CAN:
* “Run simple GUI apps in tabs”. E.g. type in command line: “notepad -new_console” and press Enter.
* Customize menu accelerator keys
* Attach and detach console windows
* Transparency
* User-defined startup tabs
3. I’m intesting, how did you measure times of “dir /s c:\windows”?
I have run several tests too.
Windows 7 x64, Core2Duo 1.86 GHz.
ConEmu and cmd.exe was set to 128 cols and 40 lines. Height of the buffer is 9999 lines. Tcmd runs in default(?) config.
Directory “c:\windows” contains 103752 files, 68728 folders.
Everage duration (three times run) is (min:sec)
tcmd=2:35
cmd.exe(64bit)=9:27 (strange, but fact), cmd.exe(32bit)=7:25
ConEmu=2:38
Btw, when I decrease buffer height (totally disabled) to 40 lines, duration was slightly decreased:
ConEmu=1:50, cmd.exe(32bit)=6:57
1. The Akismet plugin to block comment spam was apparently malfunctioning & not allowing *anybody* to post comments (including me). I restarted everything and it seems to be working again.
2. Running GUI apps in tabs — I tried “new console…” and telling it to run “notepad.exe”, and got a (dead) console window saying “GUI application (PID=9512) was attached to ConEmu:” (but nothing happened). I then tried attaching an existing notepad GUI window to a ConEmu window, but just got an error popup. The “notepad -new_console” syntax worked — is that documented anywhere? (And what exactly is it doing?)
Customizing menu accelerator keys — not sure what you mean by this, since as far as I can tell ConEmu doesn’t have a menu, and thus nothing to customize.
Attach and detach console windows – I couldn’t initially find a way to detach a window, but eventually discovered I could do it by right-clicking on the tab. I’ve updated the table for ConEmu. (However, ConEmu displays a really, really small console window with a nearly invisibly tiny font, so it’s not going to be particularly useful!)
Transparency — I missed that the first time through; eventually found it on the “colors” page. I’ve updated the table.
User-defined startup tabs — by that I mean the ability to configure the tabbed windows app to start a predefined set of apps. For example, a “CMD” tab window, a “TCC” tab window, a “Bash” tab window, etc. I cannot see any way of doing this with ConEmu — if it is doable, let me know and I’ll update the table.
3. The timing was done using “TCC”, not “CMD”, but I’ve redone it using CMD instead. My first series of tests showed a considerable difference between your ConEmu times and mine, so I uninstalled ConEmu and installed the latest version again, and reran the test. ConEmu ran considerably faster this time (a little slower than Take Command but faster than the Windows console). I’ve updated the table with the new results.
Thanks for response.
Yes, “New console” dialog have a small bug (will be fixed in the next build).
For now, this type of startup requires full path to executable, e.g. “c:\windows\system32\notepad.exe”. Attaching existing GUI apps does not works yet.
“-new_console” is mentioned in “ConEmuC.exe /?” and FAQ
translate.google.ru/translate?hl=ru&sl=ru&tl=en&u=http%3A%2F%2Fcode.google.com%2Fp%2Fconemu-maximus5%2Fwiki%2FConEmuFAQ
Customizing keys… Yes, ConEmu does not have window menu, as usual application, cause of minimalistic interface. So I meant “Keys” page of settings window. E.g. user can change hotkey for “Minimize/restore”, “Create new console” and so on.
Attach and detach. Well, font is small, but user can enlarge it from console properties. However, I’ll try to set large font on detach, when possible.
Btw, conemu has feature to temporarily reveal real console without detaching it: Ctrl-Win-Alt-Space or “Real console” item in “Debug” submenu.
User-defined startup tabs are described here:
code.google.com/p/conemu-maximus5/wiki/Command_Line
User may create shortcut like this: “ConEmu.exe /cmd @startfile.txt”
One line of “startfile.txt” – one tab in ConEmu.
New ConEmu build was released: 120414d
“New console” dialog and “notepad” – bug fixed.
Normal font on Detach – fixed.
User defined tabs may be configured in ‘Settings’ dialog and accessed from command line, new console and so on…