I've been using cmd.exe more and more lately, and it's driving me crazy! I was spoiled for years with Apple's Terminal.app without even knowning it. It just seemed like the way a command line environment should work on a modern operating system. It's not the things like "dir" instead of "ls" that drive me crazy. It's not even the difference in how wildcards are handled. It's the UI of the environment hosting the shell. [On Windows, are there different terms for the UI part (like Terminal.app) vs. the shell part (like tcsh, bash, etc)?] One problem is a bit unavoidable. Windows uses the Control key for shortcuts while the Mac has the Command key for shortcuts. So, the Mac can continue to use Command-C for copy without interfering with Control-C in the shell. But, this isn't so easy on Windows since Control-C is used for copy, but also needs to be used in the shell.

Here are some of things that annoy me:

  • Why isn't there a menu bar? Why is everything hidden in the single menu and the tabbed settings dialog?
  • Why is the window title bar in the "classic" style instead of the Windows XP style? This doesn't really affect functionality, but really bugs me for some reason.
  • Why is copy/paste such a pain? It's actually not as bad as I first thought. Once you go into "QuickEdit Mode", a right-click does a copy if there's a selection, and a paste if there isn't. That means that you can select something and double-right click to copy and paste into the current window. However, once you are working between multiple apps, you'll find yourself starting to right-click in the other apps to copy or paste. Arg!
  • Why isn't there any drag/drop support?
  • Why such a limited list of fonts?
  • Why don't page up and page down scroll through history?
  • And, the thing that drives me the most crazy - what's with the rectangular selection? One thing I find myself doing all the time is taking a path that was output from some other command and pasting it into a new command. Usually, that path wraps between lines, and you have to do multiple copy/paste operations because of the rectangular selection. Why doesn't selection work like it does in every other application?

I was hoping to find lots of alternatives, like the great alternatives for notepad. However, I didn't find much. 4NT keeps the horrible UI, but replaces the underlying shell. eConsole and Console wrap cmd.exe, but focus on things like transparency and background images than selection behavior. eConsole seems to not support selection at all and Console retains the rectangular selection behavior.

Why don't these things bother more people? Is wrapping cmd.exe with a nice GUI harder than it seems? Maybe this would make a good side project... There are so many simple things that could be done to greatly improve productivity when working with the shell.