Author Topic: MeShell commandline frontend timetable  (Read 91257 times)

Wendy Krieger

  • Newbie
  • *
  • Posts: 45
  • Karma: +6/-0
    • View Profile
Re: MeShell commandline frontend timetable
« Reply #75 on: October 08, 2021, 01:17:59 pm »
It's the sort of thing I've been looking for.  It gives this. 

Code: [Select]
Access violation exception (EGPFault occured
at CS:EIP=$0000005B:$1E1D05D6 at $1E1D05D6!
Terminate Program?

At the moment, I start 4OS2 through a CMD2EXE program.  This allows me to move it off the path.  It would be interesting to see what this things of that, except so far, I've only implemented that setup on eCS 2.2, nand not the Acra506  machine.

Both machines are on VPC under Vista 6.1 (Windows 7).  There's been a bit of Accelerated Installs done on both of these, since this is the current project.

Dariusz Piatkowski

  • Hero Member
  • *****
  • Posts: 1355
  • Karma: +26/-0
    • View Profile
Re: MeShell commandline frontend timetable
« Reply #76 on: October 08, 2021, 10:09:04 pm »
I have installed for testing meshell 0,82 but it block immediately  with window msg:   
German language (Deutsche Sprache?)
and two button:  yes   |   no       
but I was unable to push any of two.
my system is: ARCAOS505 and language in config.sys is: SET LANG=it_IT_EURO

Any chance you are also using X-it?

I am, and had precisely the same problem you reported. Including 'MESHELL.EXE' in X-it's Exception list allows MeShell to run.

Wendy Krieger

  • Newbie
  • *
  • Posts: 45
  • Karma: +6/-0
    • View Profile
Re: MeShell commandline frontend timetable
« Reply #77 on: October 09, 2021, 11:38:59 am »
It looks from the screen layout of MeShell that it's going to be a permanent thing, so it's best to include this sort of stuff in the help file (see eg searchplus for an example).  See picture from searchplus.hlp refering to dragtext39. 

The same bug exists with MeEditor.

[BUG?]

If you run console applications (like fc/2 or q edit), they hide in the invisible console.  This has a button up the top, so that maybe it could show the name of the running program.  A reference to this in the install.txt might help too.
« Last Edit: October 09, 2021, 03:05:39 pm by Wendy Krieger »

Dariusz Piatkowski

  • Hero Member
  • *****
  • Posts: 1355
  • Karma: +26/-0
    • View Profile
Re: MeShell commandline frontend timetable
« Reply #78 on: October 19, 2021, 10:20:04 pm »
Wendy,

I just recently looked into this shell overlay you developed, very promising!

There are a couple of issues I'm running into, but before I report on those I am trying to troubleshoot further (this is the START of the application, and how the VIO window is auto-recognized thus causing the started task to pop to the foreground - I have numerous utils for which this simply does not happen at all, and attempting to manipulate the various config options simply leave the background VIO window in a hung state).

Anyways, in the meantime, question re: Copy/Paste functionality. It would appear that your MeShell disables this in the normal CMD windows, is that correct?

Specifically, I use the simplified Copy/Paste implmented by Xit utility (which is bound to the LEFT and RIGHT mouse buttons). MeShell has Xit disabled (as that was causing problems with your app - it would not start), however for reasons I cannot tell, my regular CLI sessions no longer have the Xit provided Copy/Paste functionality.

That's kind of a "deal-breaker" here...is that what you really intended to do?

Thanks!

Wendy Krieger

  • Newbie
  • *
  • Posts: 45
  • Karma: +6/-0
    • View Profile
Re: MeShell commandline frontend timetable
« Reply #79 on: October 24, 2021, 10:28:37 am »
The shell overlay is by Martin Vieregg.  The cmd2exe is something i found in a DuckDuckGo search for cmd2exe os2.  The second program allows you to move things off-path, and act as if they were on path.  It's in japanese, but the cmdline is "cmd2exe myfile.cmd" gives "myfile.exe"

  https://www.vector.co.jp/soft/os2/util/se055356.html

It leaves a copy running while you execute your batch, so i don't know what sort of resources it is running.  I ran `top` in a session of "meshell /4os2" started in \programs\4os2, and from a standard cmd.exe shell.  It started the \sys\bin\4os2.exe program [cmd2exe prog to run 4os2 from \programs\4os2] in both cases, so i imagine it's walking the path somewhere.

I am not really a programmer, but rather one who knows how to do fancy tricks with standard user interfaces.  So my programming is limited, i suppose to REXX and CMD scripts, with some utilities turned out for the occasion in various read and write once languages.


Martin Vieregg

  • Sr. Member
  • ****
  • Posts: 278
  • Karma: +2/-0
    • View Profile
Re: MeShell commandline frontend timetable
« Reply #80 on: January 24, 2022, 10:07:02 pm »
I paused following this thread for a couple of month. What is Xit?

Does anyone has found bugs?
Meanwhile, I only found two bugs:
- restoring the current directories after restarting MeShell sometimes fails
- sometimes dropping a folder into MeShell let crash the program and freezes the whole System (kill Watchcat still works). Normally and in most cases, the folder you are dropping gets current

Meanwhile, I have ported the program to Windows but I have still problems with proper translating some API calls.

Dariusz Piatkowski

  • Hero Member
  • *****
  • Posts: 1355
  • Karma: +26/-0
    • View Profile
Re: MeShell commandline frontend timetable
« Reply #81 on: January 24, 2022, 10:31:15 pm »
Hi Martin,

I paused following this thread for a couple of month. What is Xit?

Xit is a VERY old utility that basically enhances the WPS and beyond it, such as CLI, etc. I have had it installed on my machine for many years now, but occasionally it'll run into a problem with some apps. It does have the option to be disabled for such apps, which is what I had to do with your MeShell utility.

Does anyone has found bugs?

Three things:

1) Bug maybe not, but I find that programs initiated from within MeShell once closed cause the background VIO window ("top (VIO 1)") to be placed into FOREGROUND...so now they become visible, which is not what I think should happen. I would prefer that this window remains in the background and continues to server it's purpose.

2) When a new window is created by MeShell, that window becomes "glued" to the location of MeShell. This means that I cannot move the MeShell and the started VIO session independently of each other, or to clarify: I can only move the CHILD window, but I cannot move the PARENT window because as soon as I try that they always follow each other. This may be fine on a single screen, but on my dual monitor display as soon as I scroll off the screen (with my mouse) the CHILD window stops moving while the PARENT MeShell window continues to go off-screen, this messes up the arrangement between the two and creates some funny (completely off-set, overlapped, or disjointed) windows.

3) Attempts to pipe output to something like "less" simply do not work. The whole output scrolls, and yes, I can then afterwards go back up the page, but sometimes that's not the point, instead I'd like to stop at exactly a pagefull, review that info before I proceed further.

Thanks again!

Martin Vieregg

  • Sr. Member
  • ****
  • Posts: 278
  • Karma: +2/-0
    • View Profile
Re: MeShell commandline frontend timetable
« Reply #82 on: January 25, 2022, 03:18:26 pm »
Quote
I can only move the CHILD window, but I cannot move the PARENT window because as soon as I try that they always follow each other.

There are two possibilities: It would be possible to make a checkbox on the "VIO" page of the settings notebook. "Move main window without moving VIO window" or pressing Ctrl while moving the checkbox omits moving the VIO window. What would you prefer?

Quote
The whole output scrolls, and yes, I can then afterwards go back up the page, but sometimes that's not the point, instead I'd like to stop at exactly a pagefull, review that info before I proceed further.

Do you have seen the settings notebook page "Scroll"? Is it really useful to stop the output when you have unlimited acces to the text above after finishing the command?

Dariusz Piatkowski

  • Hero Member
  • *****
  • Posts: 1355
  • Karma: +26/-0
    • View Profile
Re: MeShell commandline frontend timetable
« Reply #83 on: January 25, 2022, 08:48:23 pm »
Hi Martin!

Quote
I can only move the CHILD window, but I cannot move the PARENT window because as soon as I try that they always follow each other.

There are two possibilities: It would be possible to make a checkbox on the "VIO" page of the settings notebook. "Move main window without moving VIO window" or pressing Ctrl while moving the checkbox omits moving the VIO window. What would you prefer?

I think I'd rather have a setting that allows me to either set this behaviour to ON or OFF. So that would be the 1st suggestion you provided.

...
Quote
The whole output scrolls, and yes, I can then afterwards go back up the page, but sometimes that's not the point, instead I'd like to stop at exactly a pagefull, review that info before I proceed further.

Do you have seen the settings notebook page "Scroll"? Is it really useful to stop the output when you have unlimited acces to the text above after finishing the command?

Yes, so I had actually stepped through each one of these options and picked the 'static no jump:...' (the last one) because that most closely resembled the behaviour I was going after. Even then though it does not match what I see in a normal CLI session. So I wasn't sure if that was by design, or a true side-effect?

For example, when reading a man page, one doesn't really want the full man content to just scroll by, instead you do in fact read it 'page at a time' until you get to the marker in the man help file that matches what you are looking for.

I will say this though: the "page size" seems to be hardcoded to be 25 lines??? In my case the MeShell window is about 60 lines high...so even trying "page full" settings always shows just half the page.

Lastly, from a new features perspective, can you implement 'cls' (clear screen)? Sometimes it's awefully nice to just wipe the VIO window clean and start at the very top, especially for commands that sometimes provide special formatting. MeShell today does not appear to support this, nor am I aware of another way one could do this?

Martin Vieregg

  • Sr. Member
  • ****
  • Posts: 278
  • Karma: +2/-0
    • View Profile
Re: MeShell commandline frontend timetable
« Reply #84 on: January 27, 2022, 07:24:16 pm »
>Yes, so I had actually stepped through each one of these options and picked the 'static no jump:...' (the last one) because that most closely resembled the behaviour I was going after. Even then though it does not match what I see in a normal CLI session. So I wasn't sure if that was by design, or a true side-effect?

The idea of "static no jump" is to have a normal editor functionality while the output gets appended in the background (you can only see the moving scrollbar button). You can navigate in the output like in an editor (PgUp/Pg Dn), and pressing SPACE jumps to the prompt when the LED turns to green. I thaught noone is interested in the old behaviour with "pressing space to continue".

>I will say this though: the "page size" seems to be hardcoded to be 25 lines??? In my case the MeShell window is about 60 lines high...so even trying "page full" settings always shows just half the page.

On my computer, it seems to work. The last line is repeated as the first line on the new page.

>Lastly, from a new features perspective, can you implement 'cls' (clear screen)? Sometimes it's awefully nice to just wipe the VIO window clean and start at the very top, especially for commands that sometimes provide special formatting. MeShell today does not appear to support this, nor am I aware of another way one could do this?

I wonder why CLS does not has an effect to the VIO window. It has no effect to the editor window, of course. You can delete the editor window by clicking to the red cross topright of the MeShell window. I have to think about why it does not delete the VIO window. Perhaps I have to implement this by myself. It would be possible, I think.


Dariusz Piatkowski

  • Hero Member
  • *****
  • Posts: 1355
  • Karma: +26/-0
    • View Profile
Re: MeShell commandline frontend timetable
« Reply #85 on: January 28, 2022, 01:52:53 am »
Hi Martin,

>I will say this though: the "page size" seems to be hardcoded to be 25 lines??? In my case the MeShell window is about 60 lines high...so even trying "page full" settings always shows just half the page.

On my computer, it seems to work. The last line is repeated as the first line on the new page.

Well, take a look at the attached screen capture. The MeShell window is actually about 60 lines tall, while the default "page" setting appears to be about 25 lines...so my point here is: your page setting should respect the size of the MeShell VIO window which I created, instead of some arbitrary (or pre-defined static value).

I suspect the actual CMD.EXE window which you spawn is 25 lines and therefore the output is driven by that definition though?

...
>Lastly, from a new features perspective, can you implement 'cls' (clear screen)? Sometimes it's awefully nice to just wipe the VIO window clean and start at the very top, especially for commands that sometimes provide special formatting. MeShell today does not appear to support this, nor am I aware of another way one could do this?

I wonder why CLS does not has an effect to the VIO window. It has no effect to the editor window, of course. You can delete the editor window by clicking to the red cross topright of the MeShell window. I have to think about why it does not delete the VIO window. Perhaps I have to implement this by myself. It would be possible, I think.

Yes, you are right about the red 'X' doing the same thing...but when you are at the CL in a VIO window who wants to pause typing in order to navigate the mouse pointer to that red 'X'???

Martin Vieregg

  • Sr. Member
  • ****
  • Posts: 278
  • Karma: +2/-0
    • View Profile
Re: MeShell commandline frontend timetable
« Reply #86 on: February 01, 2022, 10:24:40 am »
The behaviour is how I expected. If you type "mode 60,25", then the VIO window gets bigger and you will get the behaviour you want.
But I really wonder why CLS does not work. So I have to program this command by myself. I have access to the VIO screen buffer.

I could program a checkbox where the VIO window does not disappear anymore and a checkbox where the position of the VIO window is no more chained to the position of the MeShell window. Would this be helpful?

Is it worth to compile the conflicts between MeShell and Xit?
« Last Edit: February 01, 2022, 10:34:47 am by Martin Vieregg »

Andreas Schnellbacher

  • Hero Member
  • *****
  • Posts: 827
  • Karma: +14/-0
    • View Profile
Re: MeShell commandline frontend timetable
« Reply #87 on: February 01, 2022, 11:21:12 am »
But I really wonder why CLS does not work.
It works only for a VIO screen, not for a PM window.

Martin Vieregg

  • Sr. Member
  • ****
  • Posts: 278
  • Karma: +2/-0
    • View Profile
Re: MeShell commandline frontend timetable
« Reply #88 on: February 03, 2022, 11:55:54 am »
Quote
It works only for a VIO screen, not for a PM window.

If I open a windowed OS/2 cmd "Window" (not full screen), then CLS works.

Andreas Schnellbacher

  • Hero Member
  • *****
  • Posts: 827
  • Karma: +14/-0
    • View Profile
Re: MeShell commandline frontend timetable
« Reply #89 on: February 03, 2022, 02:00:08 pm »
Quote
It works only for a VIO screen, not for a PM window.

If I open a windowed OS/2 cmd "Window" (not full screen), then CLS works.
That's just a special PM window that uses internally VIO functions for display.