No cons in this console emulatior! ConEmu for you
Today's project isn't a Modern UI Monday project. It isn't a Mobile Monday project. Some might consider it an anti-Modern/Mobile project. But that's not going to stop me from highlighting it today...
This project first came to my attention via Scott Hanselman's, ConEmu - The Windows Terminal/Console/Prompt we've been waiting for? post. In his post Scott highlights a number of cool features available in this project [i.e. check out his post and then come back... I'll wait...].
What he doesn't note is the the source is available for this very cool alternate console emulator/terminal.
ConEmu-Maximus5 is a Windows console emulator with tabs, which presents multiple consoles and simple GUI applications as one customizable GUI window with various features.
Today, ConEmu can be used with any other console application or simple GUI tools (like PuTTY for example). ConEmu is an active project, open to suggestions.
ConEmu is not a shell, so it does not provide "shell features" like tab-completion, command history and others. ConEmu is advanced console window where you can run any shell of your choice. However, some of these features placed in RoadMap. Also you may try Clink for bash-style completion.
If you notice lags while executing batches or commands (from cmd/git/bash/etc.) just uncheck option "Inject ConEmuHk".
ConEmu starts a console program in a hidden console window, and provides an alternative customizable GUI window with various features:
- smooth and friendly window resizing;
- tabs for editors, viewers, panels and consoles;
- run simple GUI apps in tabs;
- Windows 7 Jump Lists and Progress on Taskbar buttons;
- easily run old DOS applications (games) in Windows 7 or 64-bit OS;
- thumbnails and tiles in Far Manager;
- normal, maximized and full screen graphical window modes;
- window font anti-aliasing: standard, ClearType, disabled;
- window fonts: family, height, width, bold, italic, etc.;
- Chinese verions of Windows supported;
- using normal/bold/italic fonts for different parts of the console simultaneously;
- using 24-bit colors in Far Manager 3.x;
- ANSI X3.64 and Xterm 256 colors;
- cursor: standard console (horizontal) or GUI (vertical);
- optional per-application settings (e.g. palette);
- vertical console buffer scrolling using the keyboard (BufferHeight mode);
- show full output (1K+ lines) of last command in Far Manager's editor/viewer;
- customizable Far Manager right click behaviour (long click opens context menu);
- drag and drop (explorer style) of files and folders in Far Manager;
- limited support of BDF fonts;
- user friendly text and block selection;
- transparency and desktop mode;
- customizable starting tabs;
- configurable and clickable status bar;
- and more, and more... take a look at the Settings dialog, What's New page and Settings.reg
Sounds pretty cool doesn't it? But what's cooler is that the source for all this is available too!
Grabbing the latest drop (or which the latest was checked in 23 hours ago from my writing of this on Saturday, October 13th) I dropped into the ConEmu folder (no stinking "stable" for me! and was pleased to see VS11, VS10 and VS9 solutions.
Since it's the shiniest I fired up the VS11.sln.
And of course the first thing I do is try to compile it... And nothing would compile. No errors, it just wouldn't compile. hum... But if I right clicked on a Project and forced it to compile it would compile fine.
I know, I hear you already, "Greg, check the Configuration Manager!" Well you're much smarter than me because I jacked around with this for a while before I thought to check there... sigh
Here's what was presented to me (and remember, I'm using the latest, unstable check-in, so these kind of things are expected).
Gee, in looking at the Build column, no wonder nothing was building... lol
As soon as I changed the Active solution platform to x64 (I'm doing all this on Win8, x64 BTW).
Hey! checks! Gee, checks! There's a good number of configurations, so playing with those might also be something you'd like to do.
Final notes: When doing a debug build, the default output path is currently, \VCProject\FarPlugin\ConEmu\Maximus5\Debug\Far2x86\ConEmu\
Some of the projects wouldn't compile, whining about external references. Since they were not critical to this exercise, I ignored them...
And here's the app, running in debug mode on my system (i.e. proof it compiles and runs);
If you've never been happy with cmd.exe and wished there were a better experience, when wasn't a whole new shell, just a prettier, easier, more feature rich experience, and one where you could spelunk the C++ source, ConEmu is a quick svn checkout away!