home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ARM Club 3
/
TheARMClub_PDCD3.iso
/
hensa
/
misc
/
taskshell_2
/
!task
/
!Help
next >
Wrap
Text File
|
1996-01-14
|
4KB
|
67 lines
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