OS2 World Community Forum
OS/2, eCS & ArcaOS - Technical => Utilities => Topic started by: Martin Vieregg on March 25, 2020, 11:12:03 am
-
The last 3 month, I have posted a lot of very OS/2 specific programming questions in the programmers section. Meanwhile, the project of a new OS/2 commandline frontend made a lot of progress. At the moment, I am fixing only minor bugs (false cursorposition in editor...) and the main job is done. A lot of things work better than I originally expected.
What is already done:
- Adaption of the ME editor for the new purpose
- Base cmd.exe functionality (especially cursor up/down command history)
- Base stdin/out functionality
- handling VIO input/output
- User settings notebook, load and save settings
- (soon) saving and restoring output
What I do not implement in the first version 0.5, but for the 1.0 version:
- Command completion with flyover dropdown field (as an user option)
- WPS integration (e.g. doubleclick to a filename from "dir" output opens the file via WPS default connection)
- navigation/history window with a tree, sorted by: Level 1 current directory, Level 2 entered command to jump back into the editor and to restore old commands
But this stuff is much more easier to implement than the stuff which is already done.
I need some help from you for specific jobs:
- I am not an english native speaker (I am german). I need a real native speaker which reads and corrects my english docu. The english docu draft for version 0.5 will be finished in perhaps 1 week and will be extended later.
- If the program should be localized besides english and german, I need help from native speakers. A few text parts (from the WDsibyl environment) are already in nederlands, italian and russian. But first, I have to divide all language specific data from the normal code. Localization makes only sense when the 1.0 version will be nearly finished (in perhaps 2-3 month).
After receiving the corrected english docu, I will publish the first version 0.5. I do not want to publish a version with bugs which are already known and at the moment, I myself find continously minor bugs in daily use and can fix them without problems.
-
Hi Martin,
I should have asked this earlier if I had been thinking. Have you had a look at Jonathan de Boyne Pollard's command line utilities? They might have given you some help.
If you need help editing the 'English' English version of your documents I can put on my editors hat and help.
-
Hi Martin,
I should have asked this earlier if I had been thinking. Have you had a look at Jonathan de Boyne Pollard's command line utilities? They might have given you some help.
If you need help editing the 'English' English version of your documents I can put on my editors hat and help.
It is a shame that Jonathan would never release his source code.
-
Hi Martin
Thanks for keep coding for the OS/2 platform. I hope to see your MeShell tool in your website (http://www.hypermake.com/english/home.html)soon. Please let us know.
I also hope that some of your OS/2 software gets eventually open sourced, so the knowledge can be shared and preserved.
Regards
-
Ivan,
thank you for your kind offer can you send me an E-Mail directly? See www.hypermake.com thank you.
Martin,
yes, I plan to send the code to other persons as a backup if it has got a final state. At the moment, I do a lot of bugfixing and I am not satisfied with the state of my programs.
-
I have finished now MeShell 0.5 commandline frontend for cmd.exe and 4os2.exe.
Please read carefully the readme.txt and the help chapters 1 and 3. You have to understand the concept first before using the program.
Here you can download MeShell.zip (http://www.hypermake.de/archive/meshell.zip) (500 kB)
This is the first pupblished version. Please collect bugs and comments and E-Mail them to me.
Ivan and others: If you want to edit the help docu, please send me an E-Mail. But I will only send the docu source to one person simultaneously and I will note this here. The docu source is in Hypermake format. You can edit it with an arbitrary editor (without syntax highlightning), with Hypermake or with WSedit.
Please do not upload to hobbes or to other locations at the moment.
-
Hi Martin,
I sent you an e-mail several days ago, I hope it got to you. If not use ivan10atfreedotfr (remove at dot).
-
I've sent the docu source to Ivan now.
-
Got them thanks, will start tomorrow.
-
Please turn off the setting on the Save page of the settings notebook: "remove similar commands from list". This is buggy. Entering a command can crash MeShell. I will fix this in the next update.
-
Now I have published version 0.51. A lot of critical bugs are solved. Now the program should be ready for "daily use". I have not implmenend new functionality. English docu is revised (thanks to Ivan!) and a german docu is also availabe. Locatiion is still the same.
Please read carefully the readme.txt and the help chapters 1 and 3. You have to understand the concept first before using the program.
Here you can download MeShell.zip (http://www.hypermake.de/archive/meshell.zip) (500 kB)
Please collect bugs and comments and E-Mail them to me.
Please still do not upload to hobbes or to other locations at the moment.
I am sorry, but there's a big problem left: Do not execute a cmd file with PAUSE command. I start a new thread in the programmers section for solving the problem.
-
Please repeat the download. I have updated to MeShell to version 0.52 MeShell.zip (http://www.hypermake.de/archive/meshell.zip) (650 kB). Now PAUSE works again. The bug also refers to a malfunction, when a program wants user input.
But user input of a program is still not perfect, because cmd.exe does not send a text in the same line before entering input. PAUSE is not envolved.
PAUSE requires pressing ENTER, even the text is "press any key".
-
Yes, it works!
Would you like to add some mouse actions, for example, "Select, Copy and Unselect" when "Shift" is pressed?
-
"Select, Copy and Unselect" when "Shift" is pressed?
Please take a look at the "Feeling" page of the settings notebook. The editor should be comparible with other editors. Or do you want specific commands? Please be more concretely.
-
Let's call it "Click and Select".
Then, if "Shift" is pressed, — Copy (into Clipboard) and Unselect.
-
thank you for the description. A good idea. I have implemented it in the new version 0.53, a minor bugfix:
MeShell.zip (http://www.hypermake.de/archive/meshell.zip) (650 kB)
If you press SHIFT, Column block gets temporary activated, and when pressing CTRL while releasing the mouse button, the selected text gets copied to the clipboard and gets deselected. I will implment this feature on all my editors.
There are still casually bugs and crashes. If you find out how to reproduce such a bug, then send me a detailed step-by-step explanation. Thank you. A step-by-step description how to reproduce the bug is more useful than log files (-log parameter).
-
Hi
It is looking very nice. I like it.
Regards
-
I have again updated to a new version MeShell 0.55 (http://www.hypermake.de/archive/meshell.zip)
There is no functionaltiy added. A handful bugs (also crashes) are fixed. Some specific stuff has not been programmed yet, e.g. copying several commands from the clipboard into MeShell.
-
Pasting from clipboard fails in 0.55 if not a complete line with RETURN is copied. This is in 0.56 fixed: MeShell 0.56 (http://www.hypermake.de/archive/meshell.zip)
-
And again, a new version of MeShell:
MeShell 0.60 (http://www.hypermake.de/archive/meshell.zip)
- WPS integration (see docu main chapter)
- System Menu entries like in original command line window
- When saving output and command history (Settings notebook, Page Save), the current directies are stored and restored when restarting MeShell.
- Unix Output now shown correct.
- Again bugfixes.
The new chapter about WPS integration is short:
In the Top Panel, you find a folder icon. Clicking or pressing F5 opens the WPS folder which is current in the current prompt.
Reverse, you can drop a folder icon into the MeShell editor. There are two different behaviours: Dropping into the read-only area (old output) generates a "cd Foldername" and the folder directory gets the current directory in the commandline interpreter. Dropping into the area where you type a new command copies the full folder name as text into the edit area.
Double clicking to a filename executes the WPS default association, e.g. clicking to a text file name opens the associated editor. MeShell completes a file name by adding the full directory name from the last prompt in the old ouput, if the filename contains no backslash characters. This works for example with a "dir" command.
The normal drag and drop functionality of the editor is supported, nevertheless. But it is restricted to the area where you can edit behind the current prompt. Default is copying file content, Ctrl copies the file name without directory name and Ctrl-Shift the full file name.
-
Hi Martin
Just as a general suggestion, it would be good to have an alternative set of keys combinations to the Functions keys (F1, F2...etc) since it seem that the PC market is little by little discontinuing those keys from the keyboards. So, even if we like F keys it is also good to set some alternative shortcuts on the software.
Regards
-
I have uploaded a new version 0.61 of MeShell (http://www.hypermake.de/archive/meshell.zip)
- ANSI-ESC Colors partially rewritten
- Changing the text and background color of stderr (also via popup menu right mouse button, options)
- Pressing Ctrl when double clicking to file names copies the file name to the cursor position behind the prompt
- minor bugfixes.
GCC users please run with -fdiagnostics-color=always and compare the color output with the original VIO window. Thank you.
-
Again I have uploaded a new version 0.62 of MeShell (http://www.hypermake.de/archive/meshell.zip)
I could fix several bugs, all concerning colors and the order of stdout and stderr. If you use MeShell for colored compiler output and similar things, please update.
4os2 (meshell commandline parameter /4os2) shows colored prompts, but not colored output for e.g. "dir". I assume it is the same mechanism described here (https://www.os2world.com/forum/index.php/topic,2438.0.html). In GCC, you have to enter a specific parameter to turn on colored redirected output. By default, redirected output is shown without colors. I hoped to find a setting for 4os2, but did not find it. Two questions:
1. Does anyone know how to turn on colored output in 4os2 when output is redirected?
2. If no, who is responsible for the 4os2 code ? Implementing such a setting would be quite easy, because only a feature has to be turned off.
-
4OS2 lives at http://trac.netlabs.org/4os2 (http://trac.netlabs.org/4os2) where you can file an issue as well as download the source to find out how it does colours and maybe come up with a patch.
Edit, A perforce client should be on Hobbes, perhaps https://hobbes.nmsu.edu/download/pub/os2/dev/util/perforce20022.zip (https://hobbes.nmsu.edu/download/pub/os2/dev/util/perforce20022.zip) for source checkout.
-
Thank you Dave. But I have no idea how to register to send a ticket.
-
Create a general netlabs.org account: http://www.netlabs.org/en/site/member/member.xml (http://www.netlabs.org/en/site/member/member.xml)
-
Again I have uploaded a new version 0.63: MeShell archive (http://www.hypermake.de/archive/meshell.zip)
0.63 is a only a bugfix, but an important one. When starting MeShell and when copying several command lines from the clipboard into the editor, MeShell could freeze. Other minor things are also fixed.
At the moment, it is not possible to register at netlabs, I contacted Adrian already. Can someone tell me a current developer of 4os2? Then I try to get contact with E-Mail. Or another person could send a ticket after I have sent him my informations.
-
Again I have uploaded a new version 0.63: MeShell archive (http://www.hypermake.de/archive/meshell.zip)
0.63 is a only a bugfix, but an important one. When starting MeShell and when copying several command lines from the clipboard into the editor, MeShell could freeze. Other minor things are also fixed.
At the moment, it is not possible to register at netlabs, I contacted Adrian already. Can someone tell me a current developer of 4os2? Then I try to get contact with E-Mail. Or another person could send a ticket after I have sent him my informations.
Steven Levine at one time was updating 4OS2 and his home page is here
http://www.warpcave.com/
His email is listed at the bottom left of the page.
-
.....At the moment, it is not possible to register at netlabs, I contacted Adrian already. Can someone tell me a current developer of 4os2? Then I try to get contact with E-Mail. Or another person could send a ticket after I have sent him my informations.
Adrian regularly reads the newsgroup - gmane.org.netlabs.community
I would say there is no current developer for 4os2. As you can see here - http://perforce.openwatcom.org:4000/@md=d&cd=//depot/public/4os2/&c=MoC@//depot/public/4os2/?ac=43&mx=50 - over the last years Steven fixed some tickets and packed the latest packages together. The last major improvements were made by me about 10 years ago. Including making the netlabs project pages and writing down all infos about here - http://4os2.netlabs.org/en/site/index.xml And no, sorry, there is no list of special 4os2 commands in the sources which would help you. At least I didn't find such when I looked at it a few days ago triggered by your discussions here and at os2.org.
If you found a bug in 4os2 and urgently want to create a ticket for it you can post it here. If it is that urgent that you can't wait on Adrians response for your own netlabs user data I can copy it over. But as said above, when you want to look at the sources you have to use p4 to check out from http://perforce.openwatcom.org:4000 or use the web interface there.
A few days ago I started again the discussion about transferring 4os2 sources to a more modern version control system and place it at f.i. bitbucket.org. Or at svn.netlabs.org. But given the (no) response it seems no one cares about.
-
Hi Andi
Re: "Adrian regularly reads the newsgroup - gmane.org.netlabs.community "
Is there a special trick to reading this newsgroup?
I ask because news gmane has not been working for a long time and pointing a browser at http://gmane.org.netlabs.community/ results in a "address not found" error.
Regards
Pete
-
I read netlabs groups via Seamonkey newsreader since ages. Guess every news reader will handle it. NNTP, server name - news.gmane.org, port 119
-
Gmane stopped working here some time back, just tried with SM and it timed out. I'm subscribed to the mailing list, which is low volume. Start here, http://www.netlabs.org/site/community.xml (http://www.netlabs.org/site/community.xml)
-
Gmane stopped working here some time back, just tried with SM and it timed out. I'm subscribed to the mailing list, which is low volume. Start here, http://www.netlabs.org/site/community.xml (http://www.netlabs.org/site/community.xml)
I use ProNews/2 and recall Gmane didn't work for few days some time back. Latest post I see in gmane.org.netlabs.community:
Path: news.gmane.io!.POSTED.ciao.gmane.io!not-for-mail
From: Andreas Schnellbacher <---@------.------.>
Newsgroups: gmane.org.netlabs.community
Subject: Re: svn dead - Trac works
Date: Mon, 27 Apr 2020 17:50:54 +0200
-
Still timing out here, though I admit I seldom try. Last message is 3 years and 3 days old that I see.
-
Heikki, could you remove my email address from above?
Edit on 18:20 GMT: I've just written an email to the admin.
-
Hi All
Yes, Andi, those are the settings in use for news.gmane and, like Dave, all I ever see is a response that tells me connection timed out.
Why would news.gmane work for some people but give a "connection timed out" to others?
Regards
Pete
-
(subject: contact to 4os2 authors)
Silvan Scherrer told me the e-mail address of Andreas Buchinger, but I did not receive an answer. Does anyone has contact to Steven Levine?
-
I have found a suspect behaviour of MeShell and Info-Zip
[C:\] zip<RETURN>
adding: -
zip error: Interrupted (aborting)
(wild binary characters)
In the log file, it is seen that "ZIP^M^J" is sent correctly to cmd.exe, without added spaces. I have no idea at all what happens here.
-
Hi All
Yes, Andi, those are the settings in use for news.gmane and, like Dave, all I ever see is a response that tells me connection timed out.
Why would news.gmane work for some people but give a "connection timed out" to others?
Regards
Pete
Sorry you're right. gmane newsgroups don't work here anymore too. Just tested and it timed out. Previously I though it works cause usually all my newsgroups are read at startup and I did not get any error message.
-
Forget about gmane. They won't come back. It's dead since a long time. They managed to restore a part, but not the netlabs.org tree.
Mailing lists exist on netlabs.org, but according to Martin V., registration isn't possible ATM. I am subscribed to many netlabs.org mailing lists, hence my posting.
-
[C:\] zip<RETURN>
adding: -
zip error: Interrupted (aborting)
(wild binary characters)
When I try to compress stdin in version 0.63 of MeShell the EOF doesn't seem to reach the zip process, so I have to use ctrl-c to interrupt the process. Is that the behaviour you are seeing?
AFAIR you are using a named pipe to communicate between the parent process and the cmdhelper process. So, if you write an EOF to the named pipe from the parent, reading the EOF in the cmdhelper process is interpreted as there's no data in the pipe, so it doesn't write anything to the standard input of the zip process.
[C:\]cat <RETURN>
Shows the same behaviour, Typing the EOF character (ctrl-z) doesn't end the CAT process, it's ignored. The simplest work around is probably to use a semaphore to indicate to the cmdheloer process that it should write an EOF to the standard input of the command running in the shell when the user types ctrl-z in the parent application.
-
I have contact now with the second 4os2 author Andreas Buchinger. I think now I will manage the changes I need for MeShell. Thank you.
-
I have found a suspect behaviour of MeShell and Info-Zip
[C:\] zip<RETURN>
adding: -
zip error: Interrupted (aborting)
(wild binary characters)
In the log file, it is seen that "ZIP^M^J" is sent correctly to cmd.exe, without added spaces. I have no idea at all what happens here.
Are you opening your pipe in binary mode?
-
The zip.exe pipe problem is not related to MeShell. This results in a normal commandline window:
[C:\]zip >out.txt
adding: - (now pressing Ctrl-C)
zip error: Interrupted (aborting)
[C:\]do which zip
H:\SOFTWARE\SHARE\PATH\zip.exe (219 kB;14.08.2010 03:11)
C:\USR\BIN\zip.exe (107 kB;20.02.2018 15:56)
[C:\]C:\USR\BIN\zip.exe >out.txt
adding: - (now pressing Ctrl-C)
zip error: Interrupted (aborting)
[C:\]type out.txt
(binary nonsens characters)
[C:\]
It seems to be an Info-Zip bug. Unzip works. Windows zip.exe has the same buggy behaviour.
-
No, it's not a bug. From zip --help:
If zipfile and list are omitted, zip compresses stdin to stdout.
-
Heikki, could you remove my email address from above?
Sorry, my bad.
-
No, it's not a bug. From zip --help:
If zipfile and list are omitted, zip compresses stdin to stdout.
Lots of *nix utilities default to inputting from stdin, and some use a single dash as a parameter for using stdin. Likewise for outputting to stdout if no file name.
-
I implemented now a simple workaround for the next MeShell version:
If the user enters ZIP<ENTER>, then the command gets transformed to "zip -help". This works fine.
-
Lots of *nix utilities default to inputting from stdin, and some use a single dash as a parameter for using stdin. Likewise for outputting to stdout if no file name.
Sure, I remember that behavior for all TeX compilers.
-
I updated to MeShell 0.64 (http://www.hypermake.de/archive/meshell.zip), still without syntax completion. There were still minor problems.
With 4os2 the behavior is a bit more different than I thought. If 4os2 directs the stdout into a file or a pipe like with MeShell, it does a series of manipulations of the output. I have noticed so far
- ESC ANSI color sequences are filtered
- Lines that start with Return without Carriage (^ M = # 13) and should actually overprint the previous line (e.g. in the case of a progress bar) are completely filtered out, which causes quite a bit of chaos, since only the lines that are otherwise displayed disappear.
I wrote Andreas Buchinger, who is responsible for the 4os2 project at Netlabs, that we need a setting that eliminates any manipulation of redirected output. If such a setting should already exist, please report here, thank you.
-
I updated to MeShell 0.65 (http://www.hypermake.de/archive/meshell.zip), still without syntax completion. Minor things are fixed again:
- semicolon not shown in output fixed
- VIO settings page improved, setting "observe changing VIO window size" added
- Shift-Doubleklick to a directory name executes "cd Dirname" and "dir".
- fast typing of the next command while the last command is still executed did swallow keyboard input
-
I updated to MeShell 0.65 (http://www.hypermake.de/archive/meshell.zip), still without syntax completion. Minor things are fixed again:
- semicolon not shown in output fixed
- VIO settings page improved, setting "observe changing VIO window size" added
- Shift-Doubleklick to a directory name executes "cd Dirname" and "dir".
- fast typing of the next command while the last command is still executed did swallow keyboard input
Martin, I noticed that 4os/2 has been updated and is dated 6/12/2020.
ftp://ftp.netlabs.org/pub/4os2/4os2_3.09_AB_wpi.exe
Fixes and changes since last release
------------------------------------
3.08.4-shl (3.09 beta)
- Correct memory DirHistory size display
3.08.3-shl (3.09 beta)
- Ensure that 4os2 understands that given command lines like @ foo.exe
@ is not an INI file indicator
- Double max input line length to 2048, needed for compiling some QT4 stuff
(by Andreas for Elbert)
- Ensure command lines like @foo.exe do not treat foo.exe as an INI file
- Ensure max length quoted pathnames handled correctly.
- Correct ESET logic for BEGINLIBPATH etc.
- Resolve list I command exception (ticket #20, changset 37507)
- Support #! as EXTPROC equivalent if UnixPaths enabled
- Default History and DirHistory to page multiples
- Show DirHistory memory usage in memory command output
- Update @makeage to be Y2K compliant
-
David, this is a version build from the current sources from perforce. It includes the fixes which were done over the last years mostly by Steven. I think the version included with ArcaOS was build from the same sources. When I set up a git repository for 4os2 at bitbucket.org I also uploaded this packages (zip and wpi) at netlabs. None of the changes Martin desires for MeShell are included there.
-
I am in contact with Andreas Buchinger and I think that he will implement the needed things the next weeks. He already sent me a version where he changed already something to test it. According to current knowledge, it is only two minor things:
- when pressing Ctrl-C, "^C" has to be sent to stdout, not to VIO
- when redirecting 4os2 output to a file (or a pipe), some things (colors, line endings) are changed and filtered. We simply need a setting (commandline parameter or 4os2.ini file) where the changes are omitted in this case.
Then I have reported a bug that when redirecting output to a file and the output contains lines ending with ^M without ^J (Return without carriage) to overwrite the old line (like in a progress text 5% done, 10% done...) the wrong lines are filtered: The lines which are overprinted are shown in the text file and the final ines which should stay are omitted.
If anyone has found other problems with 4os2 and MeShell, please report here. I myself do not use it regulary.
Meanwhile, I began to program syntax completion. It is not very difficult to program. I will also implement program name completion based on the cmd.exe internal commands and the PATH list. The dropdown flyover list is already programmed in my german accounting program "Textbuch". I will implmenent several user settings (flyover no/when pressing TAB, automatically after ...quarterseconds), so anyone should get happy.
-
MeShell 0.70 with syntax completion (command completion and file name parameter completion) is finished.
Here you can download MeShell 0.70 (http://www.hypermake.de/archive/meshell.zip) (700 kB)
You will find a new chapter "Syntax completion" in the docu.
The functionality is more extensive than in 4os2 or in Windows. There are also useful hint windows with different colors. You can turn on and off every feature on the "Complete" page of the settings notebook. The settings are also explained in the docu, page Settings Notebook - Complete.
There are also again other bugs fixed.
-
I have now completed MeShell version 0.72 (http://http: //www.hypermake.de/archive/meshell.zip). A whole series of inconsistencies have been corrected again.
MeShell changes the input lines. If a PM program is called, "start" is automatically set in front of it. If you accidentally call a Win32 or Win64 program, then my computer did crash. A Win32 / 64 program is now recognized and "pe" or "pec" is set in front of it. A Win64 program is acknowledged with an "echo (error message)".
The completion syntax was sometimes incomplete or incorrect. Commands with included directory names have not yet been completed, you can do that now. Please report constellations where completion still doesn't work properly.
I am considering whether to switch the display of the hint window, where directory structures are searched while typing, to a separate thread. I have a fairly fast computer, there is only a noticeable delay when navigating through a CD drive. You can write if you are annoyed.
-
MeShell Version 0.80 (http://www.hypermake.de/archive/meshell.zip) with navigation tree window is available.
The development of the MeShell commandline frontend is now functionally complete.
In the navigation window there is a "normal mode", in which the current directories are shown in the first level and the entered commands in the second. Then there is an "Error Mode", in which only the lines are displayed where the previous stderr output has taken place. This is useful for long batch files to find the error lines.
The OS/2 project MeShell is now basically finished. On my side, all functionality I have considered are implemented now. However, bugs are certainly still included, although in decreased number. Please send me remaining bug collections with instructions on how to reproduce them.
Not much will happen on the OS / 2 platform until 1.0. I want to finish the Windows version in 0.90, 0.9X will continue bug fixing on both platforms.
I hope that MeShell helps the guys running text mode compilers for porting programs to OS/2.
-
MeShell Version 0.81 (http://www.hypermake.de/archive/meshell.zip) fixes a handful of bugs (including a crash with command history cursor up / down) and n the settings book the "Save" page it has a setting where you can limit the length of the output history. So far it has grown endlessly. The oldest entries are no longer saved.
-
Hi Martin
I also posted your new release on the OS2World news. Thanks for your efforts of developing more OS/2 software.
Regards
-
MeShell 0.81 could crash when browsing the command history with Cursor Up/Down. In the new navigation window, the button names in english language were complete false. MeShell Version 0.82 (http://www.hypermake.de/archive/meshell.zip) fixes this and other minor stuff.
-
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
-
Can anyone else reproduce the problem Anchieri has? I cannot.
If you delete or rename the file meshell.ini, you will get the first query again. It could be possible that the problem occurs when starting MeShell in a specific way. I tried OS/2 commandline and program object, both seems to work.
-
Hello anio I have the same problem
Arca0s 5.0.3
-
I have really no idea, I cannot reproduce the problem at all.
Perhaps the problem has vanished.
I have updated to MeShell Version 0.83 (http://www.hypermake.de/archive/meshell.zip).
- Filename completion now works with spaces in the filename
- New button "CD" in navigation window makes the selected directory current
- When starting MeShell and restoring the current directories from the last session via history...cmd file, the current directories are veryfied because it can happen that meanwhile a directory is no more existant
- Size of history file length (settings notebook page "Save") now in 1,000 lines an no more in 10,000 lines.
-
I have an old program called ztreebold. When I try to execute it from mshell, it does nothing. This with the previous and newest version.
The third pic is from the an OS/2 command prompt window.
-
The second window shows that the VIO window has not opened (VIO invis. button) but it should be shown. Press this button and it should appear. In the VIO tab of the settings notebook, it should appear automatically if you have chosen the default values:
first and second checkbox checked, last radiobutton checked
I have downloaded the program from Hobbes and it worked fine with MeShell.
-
Yes it works when the invisible button is picked. Thanks.
-
Hi Martin
I tried dragging text from a properties windows and other programs to the Meshell. It is not allowed. However, if I open a command prompt, I have no problem dragging text into it. This is made possible by the drag text program now included with ArcaOS. Is this normal for Meshell?
-
The normal behaviour is copying the content of the file into the editor. This is inherited from the editor project (ME, WSedit and others), but it is nearly nonsense in MeShell. Changing the default behaviour should be the file name and not the content. I have this point on my to-do-list. The filename with directory (if the current directory differs) should be the default behaviour.
Dropping with Ctrl copies the file without directory
Dropping with Ctrl+Shift copies the full file name
Dropping in the non-prompt area is only allowed for folders and performs a "CD dirname" operation.
-
I have finished MeShell Version 0.84 (http://www.hypermake.de/archive/meshell.zip) (740 kB).
There are two useful additions:
- In the Top Panel, there are buttons for navigation to error messages (stderr output)
- A dropdown field in the navigation window let you change the order of the shown commands (by time, alphabetically)
And of course, again several minor bug fixes.
From my point of view, functionality is complete now. If you find bugs you can reproduce regulary, please send me a report.
Sometimes, the order of stderr output and stdout output can disarrange. But I still cannot reproduce the problem.
-
Hi Martin,
Thankz for the update
When i use it on a clean install, and pushing on F5
I get a popup with a error:
File not found "C"
It seems it does that only in the root of a drive
-
Yes, simply a backslash is missing. I could already fix it, it will be part of the next version.
-
When running YUM INSTALL in MeShell, the following query (Y/N), or in german (J/N) is not shown when running YUM in MeShell. I have already told that this is not a MeShell bug. A handful commandline tools have this bug. The solution is simple: It is ISO standard that before a query (a stdin input) the last stdout output has been flushed by using the C function "fflush (stdout)". This line of code is missing in YUM. In Info-Zip UNZIP queries are sent via STDERR - stderr is never buffered in any OS -, but the fflush solution is better.
Can anyone write a RPM ticket? Thank you.
-
More likely it is a Python bug. Yum is a Python script and I remember all kinds of problems with early ports of Python trying to handle stdout, stdin and stderr.
-
When running YUM INSTALL in MeShell, the following query (Y/N), or in german (J/N) is not shown when running YUM in MeShell. I have already told that this is not a MeShell bug. A handful commandline tools have this bug. The solution is simple: It is ISO standard that before a query (a stdin input) the last stdout output has been flushed by using the C function "fflush (stdout)". This line of code is missing in YUM. In Info-Zip UNZIP queries are sent via STDERR - stderr is never buffered in any OS -, but the fflush solution is better.
Can anyone write a RPM ticket? Thank you.
Unfortunately, there is no standard that requires to do a flush after either a stdin or a stdout operation.
In fact, I have written a lot of applications and I have also seen a lot of applications by others that do not ever flush anything. It is not something you can rely on and you cannot expect every application out in the field to do it the way you envisage.
-
It's the sort of thing I've been looking for. It gives this.
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.
-
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.
-
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.
-
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!
-
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.
-
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.
-
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!
-
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?
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?
-
Hi Martin!
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.
...
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?
-
>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.
-
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'???
-
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?
-
But I really wonder why CLS does not work.
It works only for a VIO screen, not for a PM window.
-
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.
-
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.
-
Hi Martin,
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...
Hmm, I am sorry but I have to disagree with you on that.
My expectation is that the commands I issue within MeShell apply to the user (front-facing) interface (MeShell). As such, given that this interface is the MeShell window, I am expecting that MeShell is creating a comparable VIO background processing window.
In other words: if my MeShell window is defined as 80x60, and I issue a "dir /p" command, your code should make sure that the background VIO window executes with the matching criteria. Therefore, perhaps an enhancement to create a VIO window that physically matches the definition of MeShell would suffice?
What I am literally suggesting is:
1) let the user define MeShell window
2) MeShell itself should understand that definition (sizing is really what we are talking about here)
3) MeShell should then create the background VIO window with the matching sizing (yup, could be as simple as issuing that MODE command)
- after all, the benefit of using MeShell should be that I am not required to perform additional adjustments to the background VIO windows, otherwise if I do, then why not use a regular VIO window instead?
Is it worth to compile the conflicts between MeShell and Xit?
What do you mean by that?
Are you interested in troubleshooting the conflict? I do not think there is much value in doing that...I was able to put MeShell on Xit's Exception List, and that fixed it.
-
Dariusz,
do you have realized that
DIR | MORE
works? MeShell interpretates the "| MORE" string by itself and simulates the MORE functionality.
Are there other commands like "DIR /P" where the MORE command is integrated as a parameter?
-
I have uploaded MeShell 0.90 to Hobbes and here:
http://www.hypermake.de/archive/meshell-os2.wpi
Development is finished now. I am still working on a Windows version. (I don't know when I will find the time to finish.)
-
The file meshell-os2.txt has 0 bytes. The .wpi file is OK. See the files in incoming here (https://hobbes.nmsu.edu/download/pub/incoming/).
Rename the .txt file to .txt.delete and upload it again with a suitable FTP client (https://www.os2world.com/forum/index.php/topic,3105.msg35287.html#msg35287). See the Hobbes upload policy (https://hobbes.nmsu.edu/uploadpolicy.html). Rename works only for a short time after the upload. Otherwise address Curtis.