home *** CD-ROM | disk | FTP | other *** search
- TaskShell Version 1.21, Copyright January 1996, Alun Jones, auj@aber.ac.uk.
-
- This software is Freeware. You may distribute it freely with the provisos
- that this file accompanies the distribution and that no changes are made to
- the contents of the files. You may not charge more than a nominal copying
- cost for their distribution and if you place them on a PD library disk I'd
- quite like a copy of the disk... These programs may NOT be distributed as
- part of a magazine disk without my permission (which I'll almost certainly
- give - it's just that I'd like to make sure that such a distribution is the
- most recent version).
-
- !Task installs a module called TaskShell and aliases ShellCli to TaskShell.
- TaskShell is a small module task which acts as a TaskWindow server, handling
- I/O. It's special in that it completely subverts the desktop and takes over
- the screen completely. You therefore get reasonable speed from it, and most
- things will run OK without screen access problems.
-
- If you specify a parameter to TaskShell, then it will pass this as a command
- to TaskWindow. So, for example, to enter mode 0 on starting TaskShell, use
- the command TaskShell "echo <22><0>". (See the !Run file for an example).
-
- Oh yes, if you have !Virtual, you can Set Alias$Taskwindow %virtual %*0 and
- get a shellcli-like environment with 25Mb spare (assuming you have the disk
- space :-)
-
- To start taskshell, just press f12. To exit, press f12 again. Pressing
- TAB-f12 will give you a normal shellcli instead.
-
- A few problems should be noted:
-
- * You're limited to one copy of TaskShell at the moment. I hope to add
- multiple "virtual consoles" like Linux has at some point. Of course, you
- can run something in the background using a normal taskwindow, and still
- run a TaskShell, giving you a measure of backgrounding.
-
- * When you exit, using f12, the taskwindow QUITS. No warning, nothing. So,
- if you're using an editor when you hit f12, you'll lose your work. Again,
- this will be handled in a future version. I intend to make f12 stop the
- current process and return you to the desktop. From there you will be able
- to quit or resume the process.
-
- * To gain exclusive access to the screen, TaskShell opens a big window at
- the front and then disables VDU output. Any WIMP task which decides to
- plot sprites directly to the screen (rather than a window) will subvert
- this. For example, *Screenload doesn't work properly, because the Sprite
- Operation is run by TaskWindow itself, while the mode change has to be
- passed to TaskShell. This means that the plot happens before the mode
- change (!). There is nothing at all that I can do about this class of
- problem.
-
- * Keyboard handling is a bit flakey. Version of TaskShell since 1.20 now
- emulate OS_Byte calls 221-228. This means that many more things work
- properly, notably Olly Betts' version of LineEditor and the BASIC editor.
- Undoubtedly other things will fail. The problem is that TaskShell receives
- all key codes as WIMP events. So, to make the keyboard work properly I
- would have to write a full emulation of the keyboard drivers.
-
- * When TaskShell gets a Lose Caret WIMP event, it reclaims it, otherwise
- you'd be left without a keyboard. For some reason, TaskShell doesn't
- always receive lose caret events! e.g. Filer_Run TextFile starts !Edit and
- generates the event, but TaskWindow Gos starts !Edit and doesn't generate
- the event. Either this is a bizarre RISC OS bug, or I'm doing something
- very strangely wrong.
-
- Cheers,
- Alun, auj@aber.ac.uk
-