views:

1396

answers:

6

I need a serviceable shell for MSYS. This is my current dilemma:

The default rxvt.exe has a scroll bar and copy and paste, but doesn't send control characters or arrow keys to a running program in the shell (like interpreters/debuggers). This is a real thorn when using the Haskell interpreter ghci.

The other shell sh.exe handles control characters (or at least some of them), but has no scroll bar or copy and paste.

rxvt also has (relatively) more issues with output buffering

What are my options? Does the replacement shell need to be msys aware? All I want is a sane environment to work with Haskell (ghc), C++ (gcc), and the basic tool chain (make and what not). I'm willing to compile a shell if it doesn't involve crazy shenanigans.

+1  A: 

You are confusing "shell" and "terminal emulator". sh.exe is the former; rxvt is the latter. (mind you, under Windows you can do without a terminal emulator because Windows creates one (a "console window") for any console program (such as sh.exe) if it's not already running inside one)

Hugh Allen
+3  A: 

If you're after a better terminal emulator, I've had success with http://sourceforge.net/projects/console/

It's a replacement for the standard windows command window. You can set MSYS or Cygwin, or whatever you want as the shell backing it.

madlep
This replacement addressed all the issues, thanks!
dbs
A: 

Ah, so if I got it straight then sh.exe is the msys aware component, and I can fix the problem by finding a new emulator or a windows console replacement and just have it run sh.exe? And the emulator/console doesn't have to be msys aware?

dbs
Yes, you can use MSYS sh.exe from the windows console (or use something like the open source console mentioned above by madlep.) You could even install Cygwin + X and use gnome-terminal from Cygwin to run a windows shell with MSYS commands if you really want.
fijiaaron
A: 

I've not used the msys stuff, but it should be enough to use something other than rxvt and run sh.exe in it. Now, if you're using control characters, you may need to be sure whatever you use supports what you need (i.e. vt100 emulation).

One route might be to use cygwin. I typically run cygwin with a rootless X server, and run xterm on it.. So far it has been very good and I haven't had many issues. I know arrow keys and such work just fine under it.

MattG
+1  A: 

Check http://code.google.com/p/mintty/. How about that? I find it absolutely useful. Or puttycyg (an older attempt)?

A: 

Do yourself a favour and use proper Cygwin instead of the unmaintained fork of an old Cygwin version that is msys.

ak