Upload Information Template for Hobbes ====================================== Archive Name: yaos101.zip Program Description: Yet Another OS/2 Shell Operating System/Version: Only tested on Warp 3.0 Program Source: cplee@iti.gov.sg Replaces: yaos100.zip Your name: LEE Cjin Pheow Your email address: cplee@iti.gov.sg Proposed directory for placement: /os2/textutil/ Requires: emx.dll ------------------------------------------------------------------------------- YAOS (Yet Another OS/2 Shell) version 1.01, Copyright 1996 ========================================================== (FREEWARE) This is a shell that runs on top of cmd.exe. The following is a list of its features: * Unix-like file name completion using the key. A name is completed with a space appended to the name if it is not a directory entry. * A vcd-like quick directory changer. The command "ycd " performs a quick change to the directory specified anywhere on the same drive. When the command is first issued on any drive, a directory scan is carried out and the results stored in a file named "YCD_DAT" in the root directory of that drive. Subsequently, YCD_DAT will be used whenever a ycd is called. If you make changes to the directory structure, you can cause yaos to rescan by deleting the YCD_DAT file. Currently, ycd do not support cross directory searches. [Note: If you are on a networked drive and do not have write permissions, using ycd will result in a directory scan every time. (I have not personally tested ycd on a networked drive.)] * A history of previously used commands with ability to access them using commands like: !!, !4, !v test.c (those familiar with unix would know what I this is about). Of course, the up & down cursor keys will scroll through previous commands too. Also, by typing the initial characters of recently used commands and using F1 or Up/Down arrow keys, a search will be performed. * Ability to change directory to any [drive:\directory] in a single command using the normal 'cd' command. * Full support for prompt setting in OS/2. * Full implementation of command line editing. * A popup window that displays the possible file names for completion. You can scroll through the entries in this popup window using the up and down arrow-keys, Home, End, PageUp and PageDown keys. You can also search for a particular file name by typing its name directly onto the popup window. ['-w' option when starting YAOS] * Alt-H keystroke will bring up a popup window containing commands that are stored in history. Again, you can scroll through this list using the cursor keys, Home, End, PageUp & PageDown keys. (The window will only appear if there are two or more commands in history). * [-o] argument: Defaulting to overwrite mode on startup. * Directory name that is completed using will have the back slash appended to the end of the name. * Implementation of aliases. You can define aliases in YAOS, save them into a file and later retrieve them. You can also specify an alias file when starting YAOS with the option [-s ]. You have to specify the full path name for the unless it is located in the current directory. A total of up to 9 argument replacements (from %1 to %9) is allowed in aliases. Chaining aliases is no longer allowed. This is to prevent endless alias recursion. To read or write an alias file inside YAOS, refer to online help on alias: (Type: '? alias' without the quotes at prompt.) You can also unset an alias by using the unalias command. * In the file name completion popup window, the maximum string that is common to all possible names is matched. (Previously, matching is done only up to what the user keys in before bringing up the popup window. * Emacs like editing keys are implemented. Ctl-v : PageDown Alt-v : PageUp Ctl-p : Previous Line Ctl-n : Next Line Ctl-a : Beginning of line Ctl-e : End of Line Ctl-f : Forward a character Ctl-b : Back a character Alt-f : Forward a word Alt-b : Back a word Ctl-d : Delete current character Ctl-k : Delete till end of line * Instead of keying in the startup options from the command line, you can define an environment setting in the config.sys file to hold the options. For example, you can do the following: set YAOS=-wqs c:\yaos\alias.fil Moreover, you can overwrite the 'set' options from the command line. * In the filename completion popup window, after typing in one or more characters, hitting the key will cause YAOS to match again as much as possible the likely completing file name. * Thanks to a sugguestion by David Begley from Australia, I have managed to reduce the size of the file YAOS.EXE considerably. Compare it with the YAOS.EXE file prior to v0.9. Also, note that YAOS now uses EMX.DLL. This will benefit those who run many applications compiled using emx/gcc. * Recognizes different keyboard layouts. * Built-in "which " command to locate pathed executable files. * Changing to a directory is as simple as typing its name. If a pathed executable of the same name exist, it will be executed instead. * Ability to execute any program upon YAOS startup with the "-x" option. * Ability to read in a file containing environment settings and aliases with the "-s " option during startup or the "source " command while in YAOS. * Hitting the key clears the command line. * Use of the '&' character to detach a process like in Unix. * Built-in "kill " command to kill a process with id . can be specified in hexadecimal (e.g., 0x261) or decimal (e.g., 609). Make use of the OS/2 program "pstat /c" to find out the pids of active processes. Read the file "new.txt" for what's new in this release Obselete: --------- The following commandline options are no longer supported: -m, -f, -i, -a, -r Wish list: ---------- * Use of ';' separator for multiple commands [User suggestion] * Changing the window title when a command is executed. Currently, I have no idea how to do this. Maybe someone can enlighten me. * Any reasonable feature requests from YOU! This release is by no means a bug free version. However, I hope you will use and like YAOS. Suggestions and comments (including bug reports) are greatly welcomed. Installation: ------------- 1) Copy YAOS.EXE to a PATHed directory (e.g., C:\OS2) 2) Copy EMX.DLL to a LIBRARY directory (e.g., C:\OS2\DLL) (Note: The EMX.DLL file included with YAOS should be used. You may not use any earlier versions of the DLL files. If earlier versions of the DLL files exist, you have to delete them. If not, YAOS will not function properly.) 3) Now you can safely run YAOS NOTE: Failure to perform the above steps will result in improper execution of YAOS. PS: You can also use the yaosinst.cmd REXX script to create an object on your desktop. However, I would still recommend that you copy the DLL file into a LIBRARY directory. Credits: -------- This release of YAOS would not have been possible without the patience and helpful comments from users like you. Special thank goes to Marko Teittinen for his invaluable sugguestions during the early stages of YAOS. Author: ------- LEE, Cjin Pheow July 1, 1996 +----------------------------------------------------------------------+ | LEE Cjin Pheow Associate Member of Technical Staff | | Information Technology Institute, National Computer Board, SINGAPORE | | 11 Science Park Road S(117685) Voice:(65)770-5595 Fax:(65)779-1827 | | Email: cplee@iti.gov.sg WWW: http://www.iti.gov.sg/staff/cplee/ | +----------------------------------------------------------------------+