home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 8 Other / 08-Other.zip / tshell.zip / README < prev    next >
Text File  |  1995-10-09  |  9KB  |  316 lines

  1. TShell -- Text Shell for OS/2
  2.  
  3. (c) Copyright International Business Machines Corporation 1993, 1995.
  4. All Rights Reserved.
  5.  
  6. Monte Copeland, IBM Boca Raton, monte@vnet.ibm.com
  7.  
  8.  
  9.  
  10.  
  11.  
  12. REVISION HISTORY
  13. --------------------------------------------------------------------
  14.  
  15. 09OCT95: delete, LEDs, pgmshell fix
  16. 06JUN95: color; update readme
  17. 16FEB94: better listboxes
  18. 19JAN94: first release for IBM EWS
  19. 05JAN94: home,end keys for listboxes; tweak readme
  20. 13DEC93: CSHELL->TShell name change; less RAM used if no REXX
  21. 16NOV93: start group is programmable with REXX
  22. 18AUG93: first release on OS2TOOLS.
  23.  
  24.  
  25.  
  26.  
  27.  
  28.  
  29. INTRODUCTION
  30. --------------------------------------------------------------------
  31.  
  32. TShell is a reduced-function shell for OS/2. Reduced function
  33. means that more system resources are available to applications.
  34. TShell is small and does well in 4MB RAM.
  35.  
  36. TShell is a text-only shell for OS/2. There is no Presentation
  37. Manager under TShell. TShell runs DOS and OS/2 programs, but not
  38. PM programs. There are other restrictions; see below.
  39.  
  40. TShell has applications in low-resource systems, servers, embedded
  41. systems, floppy boots, and test beds.
  42.  
  43. TShell is IBM Employee Written Software. Please read the "as-is"
  44. license agreement from IBM. Essentially, you use this program "as
  45. is," and IBM makes no warranty about the correctness of this program
  46. or its suitability to any purpose.
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57. INSTALLATION
  58. --------------------------------------------------------------------
  59.  
  60. 1. Install a plain-text editor such as TEDIT.EXE from OS/2 Warp.
  61.  
  62. 2. Make a backup copy of CONFIG.SYS.
  63.  
  64. 3. Copy TSHELL.EXE into the root directory of the bootup drive.
  65.  
  66. 4. Edit CONFIG.SYS and change the PROTSHELL setting to
  67.  
  68.             PROTSHELL=\TSHELL.EXE
  69.  
  70. 5. (OPTIONAL) Copy PGMSHELL.EXE into your PATH.
  71.  
  72.  
  73.  
  74.  
  75.  
  76.  
  77.  
  78.  
  79.  
  80.  
  81. USING TSHELL
  82. --------------------------------------------------------------------
  83.  
  84. A session under OS/2 is a "virtual console" consisting of a virtual
  85. keyboard and a virtual display. TShell and OS/2 support multiple
  86. virtual sessions. Only one session at a time may occupy the real
  87. computer console; this is called the foreground session.
  88.  
  89. Use TShell hot keys CTRL-ESC and ALT-ESC to switch sessions.
  90. Ctrl-Esc switches to TShell, and Alt-Esc switches to the next
  91. session in queue.
  92.  
  93. The basic functions of TShell are to
  94.  
  95.   . start a new session
  96.   . switch to a session
  97.   . kill a session
  98.   . shutdown the system
  99.  
  100. On the left of the TShell screen is the "Start Group," a list of
  101. startable sessions. To start a session, highlight an item with the
  102. cursor keys and press Enter. Customize this list with PGMSHELL.EXE.
  103.  
  104. On the right of the TShell screen is the "Running Group," a list of
  105. active sessions. To switch to a session, highlight the item and press
  106. Enter.
  107.  
  108. Tab, left arrow, or right arrow keys navigate the two lists. Double
  109. border indicates the active list.
  110.  
  111. To kill a session, highlight the program in the Running Group and
  112. press Delete. TShell deletes the session immediately.
  113.  
  114. To shutdown, end all running sessions, then select "Shutdown System."
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127. RESTRICTIONS AND KNOWN BUGS
  128. --------------------------------------------------------------------
  129.  
  130. TShell works on OS/2 2.0 and later.
  131.  
  132. TShell will not run programs that require Presentation Manager. TShell
  133. does not initialize PM. Some TShell/Warp systems hang when running a PM
  134. application by mistake.
  135.  
  136. TShell does not spool. If you have no printer attached, and you
  137. accidentally press Print-Screen, wait for the parallel port to timeout:
  138. up to two minutes. See SetParallelTimeout() function below for a
  139. workaround.
  140.  
  141. Some DOS programs query/drive the printer with INT 17h. INT 17h in OS/2
  142. DOS does work correctly because it always reports that the printer is
  143. on line, even when off line. Since there is no spooler under TShell, this
  144. can be a problem for some DOS applications. NEW17.COM is a DOS TSR which
  145. might work around this error.
  146.  
  147. TShell does not start the file system cache program for HPFS. Start
  148. CACHE.EXE somewhere in STARTUP.CMD.
  149.  
  150. REXX works (if present) but REXX utilities DLL (REXXUTIL.DLL) does not.
  151.  
  152. The START /DOS command does not work right.  CMD.EXE should start a DOS
  153. session, but it incorrectly starts an OS/2 session.  Get my STARTDOS
  154. package (STARTD.ZIP) for a workaround.
  155.  
  156. Programmers using DosStartSession() API must use appropriate lengths for the
  157. STARTDATA structure. Valid lengths are 24, 30, and 32 (decimal).
  158.  
  159. IBM LAN Server version 3.01 or higher works with TShell.
  160.  
  161. If TShell has a shutdown option on the menu, end all running programs
  162. first, then it works. If not, press Ctrl-Alt-Del, wait a second for the
  163. disk activity light to go out, and power off. This is a clean shutdown.
  164.  
  165. Starting more than 12 sessions can cause a system hang. For best results,
  166. limit your sessions to 12.
  167.  
  168. TShell works best with swapping turned on, MEMMAN=SWAP in CONFIG.SYS.
  169. If running NOSWAP, compute your RAM requirements carefully.
  170.  
  171. TShell on Warp has problems running WinOS2 in a DOS session. WinOS2
  172. works much better on OS/2 2.1 and 2.11. PMDD.SYS, if left installed, may
  173. cause a hang in DOS-less configurations on Warp.
  174.  
  175.  
  176.  
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184. PGMSHELL.EXE: PROGRAMMING THE TSHELL START LIST
  185. --------------------------------------------------------------------
  186.  
  187. Usage: PGMSHELL <REXX cmd file>
  188.  
  189. You can modify TShell's list of startable programs by writing a
  190. script in REXX and invoking it via the utility PGMSHELL.EXE.
  191. PGMSHELL collects data from REXX and passes it to TShell.
  192.  
  193. PGMSHELL is optional. If you never use PGMSHELL, TShell will
  194. provide a default list of items to start. PGMSHELL requires REXX.
  195.  
  196.  
  197.  
  198.  
  199. /* Sample REXX program to modify the TShell start list  */
  200.  
  201. if 'PGMSHELL' <> address() then do
  202.   say 'Expected PGMSHELL environment.'
  203.   say 'Usage:  PGMSHELL <cmd filename>'
  204.   return 2
  205. end
  206.  
  207. /* TShell does not spool, so reduce parallel port timeout
  208. from 120 to 5 seconds in case you accidentally hit print-screen
  209. and there is no printer hooked up. */
  210. rc = SetParallelTimeout( "LPT1", 5 )
  211.  
  212. /* title text for the start list  */
  213. rc = SetStartTitle( "Start Group" )
  214.  
  215. /* title text for the running list  */
  216. rc = SetRunningTitle( "Running Group" )
  217.  
  218. /* Add OS2 program; arguments: title, startup dir, parameters, exe */
  219. /* I omit the title of CMD.EXE session, then CMD.EXE will dynamically */
  220. /* update the title based on the currently-running program. */
  221. rc = AddOS2Program( "",,,"CMD.EXE" )
  222.  
  223. /* Add OS2 program; arguments: title, startup dir, parameters, exe */
  224. rc = AddOS2Program( "Format Floppy",,"A:","FORMAT.COM" )
  225.  
  226. /* is configured for DOS? */
  227. if QueryDOSCapable() then do
  228.   /* Add DOS program;
  229.   arguments: title, startup dir, parameters, settings stem */
  230.   drop settings
  231.   settings.0 = "DPMI_DOS_API=ENABLED"
  232.   settings.1 = "DPMI_MEMORY_LIMIT=8"
  233.   rc = AddDOSProgram( "DPMI DOS Session",,, "settings" )
  234. end
  235.  
  236. /* add shutdown option. arguments: title, completion msg */
  237. rc = AddShutdown( "Shutdown", "Shutdown Complete" )
  238.  
  239. /* make text white on blue; 0=black; 1=blue; 2=green; 3=cyan; 4=red;
  240. 5=pink; 6=orange; 7=white */
  241. rc = SetForegroundColor( 7 )
  242. rc = SetBackgroundColor( 1 )
  243. return 0
  244.  
  245. /************* end of code *************/
  246.  
  247.  
  248.  
  249.  
  250.  
  251. These special functions are available to REXX programs under the PGMSHELL
  252. environment:
  253.  
  254.  
  255. SetParallelTimeout( portname, timeout in decimal seconds )
  256.    Sets the parallel port timeout. Set the port timeout to zero if there
  257.    is no printer attached.
  258.  
  259. SetStartTitle( start group title )
  260.    Sets the title text above the list of startable programs.
  261.  
  262. SetRunningTitle( running group title )
  263.    Sets the title text above the list of running programs.
  264.  
  265. SetBackgroundColor( n ), SetForegroundColor( n )
  266.    Sets the text colors of the TShell screen. N is a number from zero
  267.    to seven.
  268.  
  269.    0 black
  270.    1 blue
  271.    2 green
  272.    3 cyan
  273.    4 red
  274.    5 pink
  275.    6 orange
  276.    7 white
  277.  
  278.    Default background color is 0; default foreground color is 7.
  279.  
  280. QueryDOSCapable()
  281.    Returns a Boolean indicating if the system is configured to emulate DOS.
  282.  
  283. AddOS2Program( title, startup dir, parameters, EXE )
  284.    Adds an OS/2, protected-mode program to the start list.
  285.  
  286. AddDOSProgram( title, startup dir, command.com arguments, settings stem )
  287.    Adds a DOS mode program to the start list. ALL elements of the stem
  288.    variable are considered DOS settings. Therefore, drop the stem variable
  289.    before assigning DOS settings to it.  For help with DOS settings,
  290.    1) see the settings dialog in Workplace Shell or 2) obtain my
  291.    STARTDOS package and run settings.exe, a PM application.
  292.  
  293. AddShutdown( shutdown title, shutdown complete message )
  294.    Adds the shutdown option to the start group.
  295.  
  296.  
  297.  
  298. --------------------------------------------------------------------------
  299.  
  300.  
  301.  
  302.  
  303. LICENSE INFORMATION:
  304. ----------------------------------------------------------------------------
  305. Please read LICENSE.TXT, the IBM license agreement.  If you redistribute
  306. TShell, be sure the ZIP contains these files:
  307.  
  308.     TSHELL.EXE
  309.     PGMSHELL.EXE
  310.     NEW17.COM
  311.     README
  312.     LICENSE.TXT
  313.     TSHELL.ABS
  314.  
  315.  
  316.