|
From: Keith M. <kei...@to...> - 2006-03-10 11:07:10
|
Julien Lecomte wrote, quoting me: >> Chris Sutcliffe wrote, quoting Greg Chicares: >> [concerning design goals for Julien Lecomte's mShell project] >>>> 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 ! Oh, I wasn't suggesting that you should go out of your way to support it; simply that, if you've got the term infrastructure right, then it should "Just Work"(TM). >> 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. Agreed. But this capability would allow you to change your mind, and replace the login shell later in your session. (BTW, for the "terminally" insane: after you do an `exec cmd.exe', there's no way back -- you're stuck with cmd.exe as the login shell, for the remaining duration of the session). >> 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. Which is a measure of how effective, and complete, the terminal implementation is. If MSW's console could handle resize events properly, then we probably wouldn't be having this discussion, for apart from this failing, it actually isn't too bad. (Of course, as has already been observed, adding an MDI capability would be the real killer feature). >> 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... Is that a function of the term implementation, or because cmd.exe doesn't handle them in any intelligent manner? Arrow keys work fine for me, with MSYS' bash in MSW console. > 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). Would there be any real benefit in maintaining two variants? On my GNU/Linux box, I invoke Konsole and I get a single terminal window, with all the features of rxvt, *and* the reliability and I/O behaviour that I need MSW console for on Win32. Sure, it has more configuration options than I can shake a stick at; apart from tweaking font and colour selections to suit my own preference, and saving those as defaults for future sessions, I generally leave all the rest at factory default settings. This initial "wake up" mode is effectively what your "lightweight" variant would provide. If I want an extra session, I click the "New Pane" button in the tab bar of the Konsole window, (or I could use the keyboard shortcut, if I could remember it), and I get a fresh login shell in a new pane, (but within the same window); I can then switch between them using Shift-LeftArrow or Shift-RightArrow, (or by clicking their tabs in the tab bar). I can add extra panes as I need them, and I can give each tab a descriptive label, of my own choice, which is displayed on the associated tab, to remind me what I am doing in each). This is what I would presume is your goal for the "complete" variant. To put it another way, I see little advantage for a "lightweight" variant over the existing msys.bat, with --norxvt; OTOH, I would definitely use the "complete" variant. Regards, Keith. |