On 09/03/2006 15:41, Keith MARSHALL wrote:
> Chris Sutcliffe wrote, quoting Greg Chicares:
> [concerning design goals for Julien Lecomte's mShell project]
>>> An mdi interface would be very handy.
> Sure would. If you can sidestep all the rxvt pty issues, Julien,
> and make it work like KDE's Konsole, this will be a real winner!
The current problem with msys ptys is that they haven't the maturity of
cygwin's ptys; more info towards the bottom of this email.
>>> It would be nice if this program could wrap different shells.
>>> I use MSYS bash for './configure && make', zsh for everyday
>>> work, and ash to make sure scripts are reasonably portable.
> Yeah. Just like in any terminal session on *nix, it should be
> capable of running any shell -- even cmd.exe, for masochists :)
Yes, I plan to support many shells, but until you mentionned it, I
wasn't sick minded enough to think about supporting cmd.exe !
> But, even if it did initially spawn MSYS' bash, and provided it
> does offer a complete term infrastructure, an
> exec /path/to/my/favourite/shell
> should surely get you what you want;
Once I get the terminal done, I don't see why we should use bash to
spawn another shell if we can directly spawn the right shell.
> the choice of shell should
> always be independent of the terminal in which it runs.
In theory yes, but some terminals don't support some shells.
> In a
> real KDE Konsole, on GNU/Linux, I get bash by default, (because
> I configured it that way), but I can always switch to pdksh, ash,
> csh, tcsh, zsh, etc. at any time, just by exec'ing whichever one
> I choose. (And, in a moment of sheer insanity, I've just done an
> `exec cmd.exe' in an MSYS rxvt -- works exactly as I expected).
Well `exec cmd.exe' also works exactly how a current port of PuTTYcyg
works with mSys. Arrow keys don't work, etc...
>> It would also be cool if you could specify the term (be it rxvt
>> or cmd).
> Isn't the whole point of this that it is independent of both rxvt
> and Win32 console? AIUI, Julien's app will provide the terminal
> infrastructure in which you run the shell, and applications, of
> your choice. You wouldn't choose between rxvt and cmd, (I think
> you really mean Win32 console, Chris), because *neither* has any
> relevance -- mShell *is* the term. Please remember that, whether
> you choose to run it in rxvt, on in Win32 console, you still run
> the same MSYS shell, and *neither* rxvt nor Win32 console is that
The goal is in three steps.
First step, to just create the terminal process (bash in console, or
rxvt), with possible options to avoid having so many batch files like I
had before. (One to spawn MSYS, one for MINGW, one each depending on
which HOME I wanted, etc...)
Second step, create it as an independent terminal, preferably porting
PuTTYcyg. In this case, as Keith says: mShell *is* the term, and a
'xterm' terminal (since ported from PuTTY). The terminal uses bash, ash,
zsh, whatever... This needs changes in the mSys DLL (need of better pty
This means, that cmd and rxvt will be irrelevant here.
Third step, add mdi support.
At the end, they'll be probably two programs depending on your needs:
lightweight mShell just to spawn your terminal (step 1). And a complete
mdi terminal mShell (step 2/3).