Home » Recent acquisitions » Acorn ADFS disks » adfs_AcornUser_199604.adf » Features » StarInfo/Fletcher/WinMgr/!ReadMe

StarInfo/Fletcher/WinMgr/!ReadMe

This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.

Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.

Tape/disk: Home » Recent acquisitions » Acorn ADFS disks » adfs_AcornUser_199604.adf » Features
Filename: StarInfo/Fletcher/WinMgr/!ReadMe
Read OK:
File size: 1BE2 bytes
Load address: 0000
Exec address: 0000
File contents
> !ReadMe file for WinMgr (01 Jul 1995)
=========================

To patch either WM3.22m (a non-existant version), or WM3.16 (standard A5000),
grab the module using !Zap and save it as Module in this directory. Then run
the relevant Patch file to install or remove the patch.

The source code for the patches is provided in JFPatch form and the
intermediate basic code for Patch316 is also provided.

For more information on exactly what is happening refer to file Patch316.

Acron's !Patch
--------------
It would appear that patch is very wierd. Firstly it won't allow multiple
patch files for the same application so that different versions can be
catered for. If you do then only the first is recognised, but the data in the
last is held for comparisson and therefore you can't apply it because the
first any last versions will have different offsets and values, and therefore
will only match by name, not contents.

Secondly it resets the path variable when you run it, rather than appending
the path to it once. This is most definately not right in my opinion.

Thirdly, there would appear to be a final %*0 missing from the last line
which means that you must run all files twice if !Patch isn't loaded.

Fourthly, it won't let you patch files, only files within directories. Or
have I done something wrong ?

Other than these few things it's ok.

Anyway, once Patch is loaded only run the patch you need (from the Patches
directory), and you should have saved the window manager from !Zap into this
directory as Module. Then all you need to do is drag the directory on to
patch and click Apply and menu Patch selected to alter the module.

After altering it you need to install it in the !Boot sequence. I may have
detailed this in Patch316, but if I haven't I don't really want to have to
explain it again having written all this rubbish.


Bugs
----
Hi there again. Don't you just love reading my bugs sections ?

Well, as you can see I've managed to fix the problem with the window manager.
If you don't believe me then use the old one with AllWCD and open a filer
window on an item with the Copy window and see the caret at the start of the
text. Now exit the desktop and load the patch and see it work fine.

Almost.

If you try it with !Draw and open the save window you'll see that the caret
is back at the start. The reason for this is that until the window is opened
there is no text in the icon and so the end of the icon is at position 0.
Then when the window opens !Draw puts the text in the icon and the caret
remains at position 0 (the start of the icon). I know, from much
experimenting with the windowmanager that this is approximately what happens,
and that either !Draw sets the pointer to the end of the icon (unlikely) or,
the window manager must keep somewhere a copy of the current settings saying
that the caret is at the _end_ of an icon when you open a window, and
therefore spots the new text and places the caret at the end.

If the later is true then it is failing to spot that the icon is a type 14
and is leaving the caret where it is. If the former, then SetCaretPosition
has some feature which I am unaware of which works differently between type
14 and type 15 icons. This problem where the task sets the icontext when the
window opens seems to occur with C based programs (probably the library's
fault) and so is a) very difficult to track and b) almost impossible to
bypass as I don't have C to examine the structures.

So that's the end of the story.
 � You now have TextCopy which fills a gap in the OS by allowing drags of
   WI's but can't drag type 15 icons. 
 � You have AllWCD which fixes this problem by causing all WI's to be type 15,
   but causes the caret to not appear in sub-menu windows.
 � You have WinMgr patch which makes the caret appear in sub-menu windows, but
   sometimes leaves it in the wrong place.
   
All this just because Acorn felt a little bit lazy when they wrote Arthur.
Hey-hum, well you can't have everything I suppose. I've tried to give you it
all, but I really can't be bothered any longer. I could keep writing modules
to fix the bugs caused by other modules till the cows come home, but I think
that WinMgr patch is perhaps the last I need to do as it doesn't leave such a
big bug.

If, however, anybody feels like writing a patch for the above problem it will
go something like this :
  � Use filter manager to watch for Open window events
  � When caught the filter will find out if we are in a menu by using
    Wimp_GetMenuState with r0=0 and checking if the first entry is not -1.
    This is not fool-proof as the window may be the top level of the menu so
    that it vanishes when clicked outside of, but will probably work.
  � If in a sub-menu a flag is set.
  � A WimpSWIve routine on SetCaretPosition will check if the flag is set and
    if so will scan the icon specified and place the caret at the index of
    the end of the icon. This is in case the application sets the caret
    position in the open window section. The flag will also be cleared.
  � If the filter is entered with the flag set (ie the task has returned
    after opening the window without touching the caret), then the window
    last opened (stored from last filter) is looked at (Wimp_GetWindowState,
    bit 0 set) and all the icons in it examined for type 14/15. When one is
    found the caret is placed at the end of it. If none is found then no
    action is taken. The flag should then be cleared.
    
That's how I reckon it should work. The two seperate techniques are mainly
because I don't know how the caret is moved in C (see above). But do remember
that that patch will be the /fourth/ to just make TextCopy possible and
therefore things are getting a little silly.

I wonder if the RPC still only checks for type 15 icons ? I would, if I had
any, but money on it.

Acknowledgements
----------------
This is for the whole TextCopy patch (ie everything I've done relating to it
- TextCopy, AllWCD, WinMgr patch and related docs and programs).

Thanks to Andrew Clover for giving me WimpSWIve to work with in versions 0.02
- 0.04 (from which Backing still has to emerge :-( ) and for his support for
my programs which tend to use it. Thanks a load Andrew, it makes life oh so
much easier.

Thanks to the Fido Archimedes Echo for their suggestion that I write this
patch, and particularly to Robin Abecasis for whom I wrote RecErrors as a
direct spin off and it only worked on my machine (sorry).

Thanks to Nick Craig-Wood for making encouraging enough sounds to make me
write the fabled dragging of WI's instead of just drags to WI's and his
Shift-Drag suggestion.

Thanks to Alex Hayward for telling me about the ExtEdit problems which I seem
to have cured without knowing quite how.


Contact
-------
Any comments, queries, donations or bug reports can be sent to :

Fidonet NetMail :  Justin Fletcher at Arcade (0181 655 4412) [2:254/27]
E-Mail : Gerph@arcade.demon.co.uk

Snail Mail :
    Justin Fletcher
    �Galadriel�
    17b Cromwell Road,
    Weeting,
    Brandon,
    Suffolk.
    IP27 0QT

(Address soon to change due to going to university)
00000000  3e 20 21 52 65 61 64 4d  65 20 66 69 6c 65 20 66  |> !ReadMe file f|
00000010  6f 72 20 57 69 6e 4d 67  72 20 28 30 31 20 4a 75  |or WinMgr (01 Ju|
00000020  6c 20 31 39 39 35 29 0a  3d 3d 3d 3d 3d 3d 3d 3d  |l 1995).========|
00000030  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |================|
00000040  3d 0a 0a 54 6f 20 70 61  74 63 68 20 65 69 74 68  |=..To patch eith|
00000050  65 72 20 57 4d 33 2e 32  32 6d 20 28 61 20 6e 6f  |er WM3.22m (a no|
00000060  6e 2d 65 78 69 73 74 61  6e 74 20 76 65 72 73 69  |n-existant versi|
00000070  6f 6e 29 2c 20 6f 72 20  57 4d 33 2e 31 36 20 28  |on), or WM3.16 (|
00000080  73 74 61 6e 64 61 72 64  20 41 35 30 30 30 29 2c  |standard A5000),|
00000090  0a 67 72 61 62 20 74 68  65 20 6d 6f 64 75 6c 65  |.grab the module|
000000a0  20 75 73 69 6e 67 20 21  5a 61 70 20 61 6e 64 20  | using !Zap and |
000000b0  73 61 76 65 20 69 74 20  61 73 20 4d 6f 64 75 6c  |save it as Modul|
000000c0  65 20 69 6e 20 74 68 69  73 20 64 69 72 65 63 74  |e in this direct|
000000d0  6f 72 79 2e 20 54 68 65  6e 20 72 75 6e 0a 74 68  |ory. Then run.th|
000000e0  65 20 72 65 6c 65 76 61  6e 74 20 50 61 74 63 68  |e relevant Patch|
000000f0  20 66 69 6c 65 20 74 6f  20 69 6e 73 74 61 6c 6c  | file to install|
00000100  20 6f 72 20 72 65 6d 6f  76 65 20 74 68 65 20 70  | or remove the p|
00000110  61 74 63 68 2e 0a 0a 54  68 65 20 73 6f 75 72 63  |atch...The sourc|
00000120  65 20 63 6f 64 65 20 66  6f 72 20 74 68 65 20 70  |e code for the p|
00000130  61 74 63 68 65 73 20 69  73 20 70 72 6f 76 69 64  |atches is provid|
00000140  65 64 20 69 6e 20 4a 46  50 61 74 63 68 20 66 6f  |ed in JFPatch fo|
00000150  72 6d 20 61 6e 64 20 74  68 65 0a 69 6e 74 65 72  |rm and the.inter|
00000160  6d 65 64 69 61 74 65 20  62 61 73 69 63 20 63 6f  |mediate basic co|
00000170  64 65 20 66 6f 72 20 50  61 74 63 68 33 31 36 20  |de for Patch316 |
00000180  69 73 20 61 6c 73 6f 20  70 72 6f 76 69 64 65 64  |is also provided|
00000190  2e 0a 0a 46 6f 72 20 6d  6f 72 65 20 69 6e 66 6f  |...For more info|
000001a0  72 6d 61 74 69 6f 6e 20  6f 6e 20 65 78 61 63 74  |rmation on exact|
000001b0  6c 79 20 77 68 61 74 20  69 73 20 68 61 70 70 65  |ly what is happe|
000001c0  6e 69 6e 67 20 72 65 66  65 72 20 74 6f 20 66 69  |ning refer to fi|
000001d0  6c 65 20 50 61 74 63 68  33 31 36 2e 0a 0a 41 63  |le Patch316...Ac|
000001e0  72 6f 6e 27 73 20 21 50  61 74 63 68 0a 2d 2d 2d  |ron's !Patch.---|
000001f0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 0a 49 74 20 77  |-----------.It w|
00000200  6f 75 6c 64 20 61 70 70  65 61 72 20 74 68 61 74  |ould appear that|
00000210  20 70 61 74 63 68 20 69  73 20 76 65 72 79 20 77  | patch is very w|
00000220  69 65 72 64 2e 20 46 69  72 73 74 6c 79 20 69 74  |ierd. Firstly it|
00000230  20 77 6f 6e 27 74 20 61  6c 6c 6f 77 20 6d 75 6c  | won't allow mul|
00000240  74 69 70 6c 65 0a 70 61  74 63 68 20 66 69 6c 65  |tiple.patch file|
00000250  73 20 66 6f 72 20 74 68  65 20 73 61 6d 65 20 61  |s for the same a|
00000260  70 70 6c 69 63 61 74 69  6f 6e 20 73 6f 20 74 68  |pplication so th|
00000270  61 74 20 64 69 66 66 65  72 65 6e 74 20 76 65 72  |at different ver|
00000280  73 69 6f 6e 73 20 63 61  6e 20 62 65 0a 63 61 74  |sions can be.cat|
00000290  65 72 65 64 20 66 6f 72  2e 20 49 66 20 79 6f 75  |ered for. If you|
000002a0  20 64 6f 20 74 68 65 6e  20 6f 6e 6c 79 20 74 68  | do then only th|
000002b0  65 20 66 69 72 73 74 20  69 73 20 72 65 63 6f 67  |e first is recog|
000002c0  6e 69 73 65 64 2c 20 62  75 74 20 74 68 65 20 64  |nised, but the d|
000002d0  61 74 61 20 69 6e 20 74  68 65 0a 6c 61 73 74 20  |ata in the.last |
000002e0  69 73 20 68 65 6c 64 20  66 6f 72 20 63 6f 6d 70  |is held for comp|
000002f0  61 72 69 73 73 6f 6e 20  61 6e 64 20 74 68 65 72  |arisson and ther|
00000300  65 66 6f 72 65 20 79 6f  75 20 63 61 6e 27 74 20  |efore you can't |
00000310  61 70 70 6c 79 20 69 74  20 62 65 63 61 75 73 65  |apply it because|
00000320  20 74 68 65 0a 66 69 72  73 74 20 61 6e 79 20 6c  | the.first any l|
00000330  61 73 74 20 76 65 72 73  69 6f 6e 73 20 77 69 6c  |ast versions wil|
00000340  6c 20 68 61 76 65 20 64  69 66 66 65 72 65 6e 74  |l have different|
00000350  20 6f 66 66 73 65 74 73  20 61 6e 64 20 76 61 6c  | offsets and val|
00000360  75 65 73 2c 20 61 6e 64  20 74 68 65 72 65 66 6f  |ues, and therefo|
00000370  72 65 0a 77 69 6c 6c 20  6f 6e 6c 79 20 6d 61 74  |re.will only mat|
00000380  63 68 20 62 79 20 6e 61  6d 65 2c 20 6e 6f 74 20  |ch by name, not |
00000390  63 6f 6e 74 65 6e 74 73  2e 0a 0a 53 65 63 6f 6e  |contents...Secon|
000003a0  64 6c 79 20 69 74 20 72  65 73 65 74 73 20 74 68  |dly it resets th|
000003b0  65 20 70 61 74 68 20 76  61 72 69 61 62 6c 65 20  |e path variable |
000003c0  77 68 65 6e 20 79 6f 75  20 72 75 6e 20 69 74 2c  |when you run it,|
000003d0  20 72 61 74 68 65 72 20  74 68 61 6e 20 61 70 70  | rather than app|
000003e0  65 6e 64 69 6e 67 0a 74  68 65 20 70 61 74 68 20  |ending.the path |
000003f0  74 6f 20 69 74 20 6f 6e  63 65 2e 20 54 68 69 73  |to it once. This|
00000400  20 69 73 20 6d 6f 73 74  20 64 65 66 69 6e 61 74  | is most definat|
00000410  65 6c 79 20 6e 6f 74 20  72 69 67 68 74 20 69 6e  |ely not right in|
00000420  20 6d 79 20 6f 70 69 6e  69 6f 6e 2e 0a 0a 54 68  | my opinion...Th|
00000430  69 72 64 6c 79 2c 20 74  68 65 72 65 20 77 6f 75  |irdly, there wou|
00000440  6c 64 20 61 70 70 65 61  72 20 74 6f 20 62 65 20  |ld appear to be |
00000450  61 20 66 69 6e 61 6c 20  25 2a 30 20 6d 69 73 73  |a final %*0 miss|
00000460  69 6e 67 20 66 72 6f 6d  20 74 68 65 20 6c 61 73  |ing from the las|
00000470  74 20 6c 69 6e 65 0a 77  68 69 63 68 20 6d 65 61  |t line.which mea|
00000480  6e 73 20 74 68 61 74 20  79 6f 75 20 6d 75 73 74  |ns that you must|
00000490  20 72 75 6e 20 61 6c 6c  20 66 69 6c 65 73 20 74  | run all files t|
000004a0  77 69 63 65 20 69 66 20  21 50 61 74 63 68 20 69  |wice if !Patch i|
000004b0  73 6e 27 74 20 6c 6f 61  64 65 64 2e 0a 0a 46 6f  |sn't loaded...Fo|
000004c0  75 72 74 68 6c 79 2c 20  69 74 20 77 6f 6e 27 74  |urthly, it won't|
000004d0  20 6c 65 74 20 79 6f 75  20 70 61 74 63 68 20 66  | let you patch f|
000004e0  69 6c 65 73 2c 20 6f 6e  6c 79 20 66 69 6c 65 73  |iles, only files|
000004f0  20 77 69 74 68 69 6e 20  64 69 72 65 63 74 6f 72  | within director|
00000500  69 65 73 2e 20 4f 72 0a  68 61 76 65 20 49 20 64  |ies. Or.have I d|
00000510  6f 6e 65 20 73 6f 6d 65  74 68 69 6e 67 20 77 72  |one something wr|
00000520  6f 6e 67 20 3f 0a 0a 4f  74 68 65 72 20 74 68 61  |ong ?..Other tha|
00000530  6e 20 74 68 65 73 65 20  66 65 77 20 74 68 69 6e  |n these few thin|
00000540  67 73 20 69 74 27 73 20  6f 6b 2e 0a 0a 41 6e 79  |gs it's ok...Any|
00000550  77 61 79 2c 20 6f 6e 63  65 20 50 61 74 63 68 20  |way, once Patch |
00000560  69 73 20 6c 6f 61 64 65  64 20 6f 6e 6c 79 20 72  |is loaded only r|
00000570  75 6e 20 74 68 65 20 70  61 74 63 68 20 79 6f 75  |un the patch you|
00000580  20 6e 65 65 64 20 28 66  72 6f 6d 20 74 68 65 20  | need (from the |
00000590  50 61 74 63 68 65 73 0a  64 69 72 65 63 74 6f 72  |Patches.director|
000005a0  79 29 2c 20 61 6e 64 20  79 6f 75 20 73 68 6f 75  |y), and you shou|
000005b0  6c 64 20 68 61 76 65 20  73 61 76 65 64 20 74 68  |ld have saved th|
000005c0  65 20 77 69 6e 64 6f 77  20 6d 61 6e 61 67 65 72  |e window manager|
000005d0  20 66 72 6f 6d 20 21 5a  61 70 20 69 6e 74 6f 20  | from !Zap into |
000005e0  74 68 69 73 0a 64 69 72  65 63 74 6f 72 79 20 61  |this.directory a|
000005f0  73 20 4d 6f 64 75 6c 65  2e 20 54 68 65 6e 20 61  |s Module. Then a|
00000600  6c 6c 20 79 6f 75 20 6e  65 65 64 20 74 6f 20 64  |ll you need to d|
00000610  6f 20 69 73 20 64 72 61  67 20 74 68 65 20 64 69  |o is drag the di|
00000620  72 65 63 74 6f 72 79 20  6f 6e 20 74 6f 0a 70 61  |rectory on to.pa|
00000630  74 63 68 20 61 6e 64 20  63 6c 69 63 6b 20 41 70  |tch and click Ap|
00000640  70 6c 79 20 61 6e 64 20  6d 65 6e 75 20 50 61 74  |ply and menu Pat|
00000650  63 68 20 73 65 6c 65 63  74 65 64 20 74 6f 20 61  |ch selected to a|
00000660  6c 74 65 72 20 74 68 65  20 6d 6f 64 75 6c 65 2e  |lter the module.|
00000670  0a 0a 41 66 74 65 72 20  61 6c 74 65 72 69 6e 67  |..After altering|
00000680  20 69 74 20 79 6f 75 20  6e 65 65 64 20 74 6f 20  | it you need to |
00000690  69 6e 73 74 61 6c 6c 20  69 74 20 69 6e 20 74 68  |install it in th|
000006a0  65 20 21 42 6f 6f 74 20  73 65 71 75 65 6e 63 65  |e !Boot sequence|
000006b0  2e 20 49 20 6d 61 79 20  68 61 76 65 0a 64 65 74  |. I may have.det|
000006c0  61 69 6c 65 64 20 74 68  69 73 20 69 6e 20 50 61  |ailed this in Pa|
000006d0  74 63 68 33 31 36 2c 20  62 75 74 20 69 66 20 49  |tch316, but if I|
000006e0  20 68 61 76 65 6e 27 74  20 49 20 64 6f 6e 27 74  | haven't I don't|
000006f0  20 72 65 61 6c 6c 79 20  77 61 6e 74 20 74 6f 20  | really want to |
00000700  68 61 76 65 20 74 6f 0a  65 78 70 6c 61 69 6e 20  |have to.explain |
00000710  69 74 20 61 67 61 69 6e  20 68 61 76 69 6e 67 20  |it again having |
00000720  77 72 69 74 74 65 6e 20  61 6c 6c 20 74 68 69 73  |written all this|
00000730  20 72 75 62 62 69 73 68  2e 0a 0a 0a 42 75 67 73  | rubbish....Bugs|
00000740  0a 2d 2d 2d 2d 0a 48 69  20 74 68 65 72 65 20 61  |.----.Hi there a|
00000750  67 61 69 6e 2e 20 44 6f  6e 27 74 20 79 6f 75 20  |gain. Don't you |
00000760  6a 75 73 74 20 6c 6f 76  65 20 72 65 61 64 69 6e  |just love readin|
00000770  67 20 6d 79 20 62 75 67  73 20 73 65 63 74 69 6f  |g my bugs sectio|
00000780  6e 73 20 3f 0a 0a 57 65  6c 6c 2c 20 61 73 20 79  |ns ?..Well, as y|
00000790  6f 75 20 63 61 6e 20 73  65 65 20 49 27 76 65 20  |ou can see I've |
000007a0  6d 61 6e 61 67 65 64 20  74 6f 20 66 69 78 20 74  |managed to fix t|
000007b0  68 65 20 70 72 6f 62 6c  65 6d 20 77 69 74 68 20  |he problem with |
000007c0  74 68 65 20 77 69 6e 64  6f 77 20 6d 61 6e 61 67  |the window manag|
000007d0  65 72 2e 0a 49 66 20 79  6f 75 20 64 6f 6e 27 74  |er..If you don't|
000007e0  20 62 65 6c 69 65 76 65  20 6d 65 20 74 68 65 6e  | believe me then|
000007f0  20 75 73 65 20 74 68 65  20 6f 6c 64 20 6f 6e 65  | use the old one|
00000800  20 77 69 74 68 20 41 6c  6c 57 43 44 20 61 6e 64  | with AllWCD and|
00000810  20 6f 70 65 6e 20 61 20  66 69 6c 65 72 0a 77 69  | open a filer.wi|
00000820  6e 64 6f 77 20 6f 6e 20  61 6e 20 69 74 65 6d 20  |ndow on an item |
00000830  77 69 74 68 20 74 68 65  20 43 6f 70 79 20 77 69  |with the Copy wi|
00000840  6e 64 6f 77 20 61 6e 64  20 73 65 65 20 74 68 65  |ndow and see the|
00000850  20 63 61 72 65 74 20 61  74 20 74 68 65 20 73 74  | caret at the st|
00000860  61 72 74 20 6f 66 20 74  68 65 0a 74 65 78 74 2e  |art of the.text.|
00000870  20 4e 6f 77 20 65 78 69  74 20 74 68 65 20 64 65  | Now exit the de|
00000880  73 6b 74 6f 70 20 61 6e  64 20 6c 6f 61 64 20 74  |sktop and load t|
00000890  68 65 20 70 61 74 63 68  20 61 6e 64 20 73 65 65  |he patch and see|
000008a0  20 69 74 20 77 6f 72 6b  20 66 69 6e 65 2e 0a 0a  | it work fine...|
000008b0  41 6c 6d 6f 73 74 2e 0a  0a 49 66 20 79 6f 75 20  |Almost...If you |
000008c0  74 72 79 20 69 74 20 77  69 74 68 20 21 44 72 61  |try it with !Dra|
000008d0  77 20 61 6e 64 20 6f 70  65 6e 20 74 68 65 20 73  |w and open the s|
000008e0  61 76 65 20 77 69 6e 64  6f 77 20 79 6f 75 27 6c  |ave window you'l|
000008f0  6c 20 73 65 65 20 74 68  61 74 20 74 68 65 20 63  |l see that the c|
00000900  61 72 65 74 0a 69 73 20  62 61 63 6b 20 61 74 20  |aret.is back at |
00000910  74 68 65 20 73 74 61 72  74 2e 20 54 68 65 20 72  |the start. The r|
00000920  65 61 73 6f 6e 20 66 6f  72 20 74 68 69 73 20 69  |eason for this i|
00000930  73 20 74 68 61 74 20 75  6e 74 69 6c 20 74 68 65  |s that until the|
00000940  20 77 69 6e 64 6f 77 20  69 73 20 6f 70 65 6e 65  | window is opene|
00000950  64 0a 74 68 65 72 65 20  69 73 20 6e 6f 20 74 65  |d.there is no te|
00000960  78 74 20 69 6e 20 74 68  65 20 69 63 6f 6e 20 61  |xt in the icon a|
00000970  6e 64 20 73 6f 20 74 68  65 20 65 6e 64 20 6f 66  |nd so the end of|
00000980  20 74 68 65 20 69 63 6f  6e 20 69 73 20 61 74 20  | the icon is at |
00000990  70 6f 73 69 74 69 6f 6e  20 30 2e 0a 54 68 65 6e  |position 0..Then|
000009a0  20 77 68 65 6e 20 74 68  65 20 77 69 6e 64 6f 77  | when the window|
000009b0  20 6f 70 65 6e 73 20 21  44 72 61 77 20 70 75 74  | opens !Draw put|
000009c0  73 20 74 68 65 20 74 65  78 74 20 69 6e 20 74 68  |s the text in th|
000009d0  65 20 69 63 6f 6e 20 61  6e 64 20 74 68 65 20 63  |e icon and the c|
000009e0  61 72 65 74 0a 72 65 6d  61 69 6e 73 20 61 74 20  |aret.remains at |
000009f0  70 6f 73 69 74 69 6f 6e  20 30 20 28 74 68 65 20  |position 0 (the |
00000a00  73 74 61 72 74 20 6f 66  20 74 68 65 20 69 63 6f  |start of the ico|
00000a10  6e 29 2e 20 49 20 6b 6e  6f 77 2c 20 66 72 6f 6d  |n). I know, from|
00000a20  20 6d 75 63 68 0a 65 78  70 65 72 69 6d 65 6e 74  | much.experiment|
00000a30  69 6e 67 20 77 69 74 68  20 74 68 65 20 77 69 6e  |ing with the win|
00000a40  64 6f 77 6d 61 6e 61 67  65 72 20 74 68 61 74 20  |dowmanager that |
00000a50  74 68 69 73 20 69 73 20  61 70 70 72 6f 78 69 6d  |this is approxim|
00000a60  61 74 65 6c 79 20 77 68  61 74 20 68 61 70 70 65  |ately what happe|
00000a70  6e 73 2c 0a 61 6e 64 20  74 68 61 74 20 65 69 74  |ns,.and that eit|
00000a80  68 65 72 20 21 44 72 61  77 20 73 65 74 73 20 74  |her !Draw sets t|
00000a90  68 65 20 70 6f 69 6e 74  65 72 20 74 6f 20 74 68  |he pointer to th|
00000aa0  65 20 65 6e 64 20 6f 66  20 74 68 65 20 69 63 6f  |e end of the ico|
00000ab0  6e 20 28 75 6e 6c 69 6b  65 6c 79 29 20 6f 72 2c  |n (unlikely) or,|
00000ac0  0a 74 68 65 20 77 69 6e  64 6f 77 20 6d 61 6e 61  |.the window mana|
00000ad0  67 65 72 20 6d 75 73 74  20 6b 65 65 70 20 73 6f  |ger must keep so|
00000ae0  6d 65 77 68 65 72 65 20  61 20 63 6f 70 79 20 6f  |mewhere a copy o|
00000af0  66 20 74 68 65 20 63 75  72 72 65 6e 74 20 73 65  |f the current se|
00000b00  74 74 69 6e 67 73 20 73  61 79 69 6e 67 0a 74 68  |ttings saying.th|
00000b10  61 74 20 74 68 65 20 63  61 72 65 74 20 69 73 20  |at the caret is |
00000b20  61 74 20 74 68 65 20 5f  65 6e 64 5f 20 6f 66 20  |at the _end_ of |
00000b30  61 6e 20 69 63 6f 6e 20  77 68 65 6e 20 79 6f 75  |an icon when you|
00000b40  20 6f 70 65 6e 20 61 20  77 69 6e 64 6f 77 2c 20  | open a window, |
00000b50  61 6e 64 0a 74 68 65 72  65 66 6f 72 65 20 73 70  |and.therefore sp|
00000b60  6f 74 73 20 74 68 65 20  6e 65 77 20 74 65 78 74  |ots the new text|
00000b70  20 61 6e 64 20 70 6c 61  63 65 73 20 74 68 65 20  | and places the |
00000b80  63 61 72 65 74 20 61 74  20 74 68 65 20 65 6e 64  |caret at the end|
00000b90  2e 0a 0a 49 66 20 74 68  65 20 6c 61 74 65 72 20  |...If the later |
00000ba0  69 73 20 74 72 75 65 20  74 68 65 6e 20 69 74 20  |is true then it |
00000bb0  69 73 20 66 61 69 6c 69  6e 67 20 74 6f 20 73 70  |is failing to sp|
00000bc0  6f 74 20 74 68 61 74 20  74 68 65 20 69 63 6f 6e  |ot that the icon|
00000bd0  20 69 73 20 61 20 74 79  70 65 20 31 34 0a 61 6e  | is a type 14.an|
00000be0  64 20 69 73 20 6c 65 61  76 69 6e 67 20 74 68 65  |d is leaving the|
00000bf0  20 63 61 72 65 74 20 77  68 65 72 65 20 69 74 20  | caret where it |
00000c00  69 73 2e 20 49 66 20 74  68 65 20 66 6f 72 6d 65  |is. If the forme|
00000c10  72 2c 20 74 68 65 6e 20  53 65 74 43 61 72 65 74  |r, then SetCaret|
00000c20  50 6f 73 69 74 69 6f 6e  0a 68 61 73 20 73 6f 6d  |Position.has som|
00000c30  65 20 66 65 61 74 75 72  65 20 77 68 69 63 68 20  |e feature which |
00000c40  49 20 61 6d 20 75 6e 61  77 61 72 65 20 6f 66 20  |I am unaware of |
00000c50  77 68 69 63 68 20 77 6f  72 6b 73 20 64 69 66 66  |which works diff|
00000c60  65 72 65 6e 74 6c 79 20  62 65 74 77 65 65 6e 20  |erently between |
00000c70  74 79 70 65 0a 31 34 20  61 6e 64 20 74 79 70 65  |type.14 and type|
00000c80  20 31 35 20 69 63 6f 6e  73 2e 20 54 68 69 73 20  | 15 icons. This |
00000c90  70 72 6f 62 6c 65 6d 20  77 68 65 72 65 20 74 68  |problem where th|
00000ca0  65 20 74 61 73 6b 20 73  65 74 73 20 74 68 65 20  |e task sets the |
00000cb0  69 63 6f 6e 74 65 78 74  20 77 68 65 6e 20 74 68  |icontext when th|
00000cc0  65 0a 77 69 6e 64 6f 77  20 6f 70 65 6e 73 20 73  |e.window opens s|
00000cd0  65 65 6d 73 20 74 6f 20  6f 63 63 75 72 20 77 69  |eems to occur wi|
00000ce0  74 68 20 43 20 62 61 73  65 64 20 70 72 6f 67 72  |th C based progr|
00000cf0  61 6d 73 20 28 70 72 6f  62 61 62 6c 79 20 74 68  |ams (probably th|
00000d00  65 20 6c 69 62 72 61 72  79 27 73 0a 66 61 75 6c  |e library's.faul|
00000d10  74 29 20 61 6e 64 20 73  6f 20 69 73 20 61 29 20  |t) and so is a) |
00000d20  76 65 72 79 20 64 69 66  66 69 63 75 6c 74 20 74  |very difficult t|
00000d30  6f 20 74 72 61 63 6b 20  61 6e 64 20 62 29 20 61  |o track and b) a|
00000d40  6c 6d 6f 73 74 20 69 6d  70 6f 73 73 69 62 6c 65  |lmost impossible|
00000d50  20 74 6f 0a 62 79 70 61  73 73 20 61 73 20 49 20  | to.bypass as I |
00000d60  64 6f 6e 27 74 20 68 61  76 65 20 43 20 74 6f 20  |don't have C to |
00000d70  65 78 61 6d 69 6e 65 20  74 68 65 20 73 74 72 75  |examine the stru|
00000d80  63 74 75 72 65 73 2e 0a  0a 53 6f 20 74 68 61 74  |ctures...So that|
00000d90  27 73 20 74 68 65 20 65  6e 64 20 6f 66 20 74 68  |'s the end of th|
00000da0  65 20 73 74 6f 72 79 2e  0a 20 8f 20 59 6f 75 20  |e story.. . You |
00000db0  6e 6f 77 20 68 61 76 65  20 54 65 78 74 43 6f 70  |now have TextCop|
00000dc0  79 20 77 68 69 63 68 20  66 69 6c 6c 73 20 61 20  |y which fills a |
00000dd0  67 61 70 20 69 6e 20 74  68 65 20 4f 53 20 62 79  |gap in the OS by|
00000de0  20 61 6c 6c 6f 77 69 6e  67 20 64 72 61 67 73 20  | allowing drags |
00000df0  6f 66 0a 20 20 20 57 49  27 73 20 62 75 74 20 63  |of.   WI's but c|
00000e00  61 6e 27 74 20 64 72 61  67 20 74 79 70 65 20 31  |an't drag type 1|
00000e10  35 20 69 63 6f 6e 73 2e  20 0a 20 8f 20 59 6f 75  |5 icons. . . You|
00000e20  20 68 61 76 65 20 41 6c  6c 57 43 44 20 77 68 69  | have AllWCD whi|
00000e30  63 68 20 66 69 78 65 73  20 74 68 69 73 20 70 72  |ch fixes this pr|
00000e40  6f 62 6c 65 6d 20 62 79  20 63 61 75 73 69 6e 67  |oblem by causing|
00000e50  20 61 6c 6c 20 57 49 27  73 20 74 6f 20 62 65 20  | all WI's to be |
00000e60  74 79 70 65 20 31 35 2c  0a 20 20 20 62 75 74 20  |type 15,.   but |
00000e70  63 61 75 73 65 73 20 74  68 65 20 63 61 72 65 74  |causes the caret|
00000e80  20 74 6f 20 6e 6f 74 20  61 70 70 65 61 72 20 69  | to not appear i|
00000e90  6e 20 73 75 62 2d 6d 65  6e 75 20 77 69 6e 64 6f  |n sub-menu windo|
00000ea0  77 73 2e 0a 20 8f 20 59  6f 75 20 68 61 76 65 20  |ws.. . You have |
00000eb0  57 69 6e 4d 67 72 20 70  61 74 63 68 20 77 68 69  |WinMgr patch whi|
00000ec0  63 68 20 6d 61 6b 65 73  20 74 68 65 20 63 61 72  |ch makes the car|
00000ed0  65 74 20 61 70 70 65 61  72 20 69 6e 20 73 75 62  |et appear in sub|
00000ee0  2d 6d 65 6e 75 20 77 69  6e 64 6f 77 73 2c 20 62  |-menu windows, b|
00000ef0  75 74 0a 20 20 20 73 6f  6d 65 74 69 6d 65 73 20  |ut.   sometimes |
00000f00  6c 65 61 76 65 73 20 69  74 20 69 6e 20 74 68 65  |leaves it in the|
00000f10  20 77 72 6f 6e 67 20 70  6c 61 63 65 2e 0a 20 20  | wrong place..  |
00000f20  20 0a 41 6c 6c 20 74 68  69 73 20 6a 75 73 74 20  | .All this just |
00000f30  62 65 63 61 75 73 65 20  41 63 6f 72 6e 20 66 65  |because Acorn fe|
00000f40  6c 74 20 61 20 6c 69 74  74 6c 65 20 62 69 74 20  |lt a little bit |
00000f50  6c 61 7a 79 20 77 68 65  6e 20 74 68 65 79 20 77  |lazy when they w|
00000f60  72 6f 74 65 20 41 72 74  68 75 72 2e 0a 48 65 79  |rote Arthur..Hey|
00000f70  2d 68 75 6d 2c 20 77 65  6c 6c 20 79 6f 75 20 63  |-hum, well you c|
00000f80  61 6e 27 74 20 68 61 76  65 20 65 76 65 72 79 74  |an't have everyt|
00000f90  68 69 6e 67 20 49 20 73  75 70 70 6f 73 65 2e 20  |hing I suppose. |
00000fa0  49 27 76 65 20 74 72 69  65 64 20 74 6f 20 67 69  |I've tried to gi|
00000fb0  76 65 20 79 6f 75 20 69  74 0a 61 6c 6c 2c 20 62  |ve you it.all, b|
00000fc0  75 74 20 49 20 72 65 61  6c 6c 79 20 63 61 6e 27  |ut I really can'|
00000fd0  74 20 62 65 20 62 6f 74  68 65 72 65 64 20 61 6e  |t be bothered an|
00000fe0  79 20 6c 6f 6e 67 65 72  2e 20 49 20 63 6f 75 6c  |y longer. I coul|
00000ff0  64 20 6b 65 65 70 20 77  72 69 74 69 6e 67 20 6d  |d keep writing m|
00001000  6f 64 75 6c 65 73 0a 74  6f 20 66 69 78 20 74 68  |odules.to fix th|
00001010  65 20 62 75 67 73 20 63  61 75 73 65 64 20 62 79  |e bugs caused by|
00001020  20 6f 74 68 65 72 20 6d  6f 64 75 6c 65 73 20 74  | other modules t|
00001030  69 6c 6c 20 74 68 65 20  63 6f 77 73 20 63 6f 6d  |ill the cows com|
00001040  65 20 68 6f 6d 65 2c 20  62 75 74 20 49 20 74 68  |e home, but I th|
00001050  69 6e 6b 0a 74 68 61 74  20 57 69 6e 4d 67 72 20  |ink.that WinMgr |
00001060  70 61 74 63 68 20 69 73  20 70 65 72 68 61 70 73  |patch is perhaps|
00001070  20 74 68 65 20 6c 61 73  74 20 49 20 6e 65 65 64  | the last I need|
00001080  20 74 6f 20 64 6f 20 61  73 20 69 74 20 64 6f 65  | to do as it doe|
00001090  73 6e 27 74 20 6c 65 61  76 65 20 73 75 63 68 20  |sn't leave such |
000010a0  61 0a 62 69 67 20 62 75  67 2e 0a 0a 49 66 2c 20  |a.big bug...If, |
000010b0  68 6f 77 65 76 65 72 2c  20 61 6e 79 62 6f 64 79  |however, anybody|
000010c0  20 66 65 65 6c 73 20 6c  69 6b 65 20 77 72 69 74  | feels like writ|
000010d0  69 6e 67 20 61 20 70 61  74 63 68 20 66 6f 72 20  |ing a patch for |
000010e0  74 68 65 20 61 62 6f 76  65 20 70 72 6f 62 6c 65  |the above proble|
000010f0  6d 20 69 74 20 77 69 6c  6c 0a 67 6f 20 73 6f 6d  |m it will.go som|
00001100  65 74 68 69 6e 67 20 6c  69 6b 65 20 74 68 69 73  |ething like this|
00001110  20 3a 0a 20 20 8f 20 55  73 65 20 66 69 6c 74 65  | :.  . Use filte|
00001120  72 20 6d 61 6e 61 67 65  72 20 74 6f 20 77 61 74  |r manager to wat|
00001130  63 68 20 66 6f 72 20 4f  70 65 6e 20 77 69 6e 64  |ch for Open wind|
00001140  6f 77 20 65 76 65 6e 74  73 0a 20 20 8f 20 57 68  |ow events.  . Wh|
00001150  65 6e 20 63 61 75 67 68  74 20 74 68 65 20 66 69  |en caught the fi|
00001160  6c 74 65 72 20 77 69 6c  6c 20 66 69 6e 64 20 6f  |lter will find o|
00001170  75 74 20 69 66 20 77 65  20 61 72 65 20 69 6e 20  |ut if we are in |
00001180  61 20 6d 65 6e 75 20 62  79 20 75 73 69 6e 67 0a  |a menu by using.|
00001190  20 20 20 20 57 69 6d 70  5f 47 65 74 4d 65 6e 75  |    Wimp_GetMenu|
000011a0  53 74 61 74 65 20 77 69  74 68 20 72 30 3d 30 20  |State with r0=0 |
000011b0  61 6e 64 20 63 68 65 63  6b 69 6e 67 20 69 66 20  |and checking if |
000011c0  74 68 65 20 66 69 72 73  74 20 65 6e 74 72 79 20  |the first entry |
000011d0  69 73 20 6e 6f 74 20 2d  31 2e 0a 20 20 20 20 54  |is not -1..    T|
000011e0  68 69 73 20 69 73 20 6e  6f 74 20 66 6f 6f 6c 2d  |his is not fool-|
000011f0  70 72 6f 6f 66 20 61 73  20 74 68 65 20 77 69 6e  |proof as the win|
00001200  64 6f 77 20 6d 61 79 20  62 65 20 74 68 65 20 74  |dow may be the t|
00001210  6f 70 20 6c 65 76 65 6c  20 6f 66 20 74 68 65 20  |op level of the |
00001220  6d 65 6e 75 20 73 6f 0a  20 20 20 20 74 68 61 74  |menu so.    that|
00001230  20 69 74 20 76 61 6e 69  73 68 65 73 20 77 68 65  | it vanishes whe|
00001240  6e 20 63 6c 69 63 6b 65  64 20 6f 75 74 73 69 64  |n clicked outsid|
00001250  65 20 6f 66 2c 20 62 75  74 20 77 69 6c 6c 20 70  |e of, but will p|
00001260  72 6f 62 61 62 6c 79 20  77 6f 72 6b 2e 0a 20 20  |robably work..  |
00001270  8f 20 49 66 20 69 6e 20  61 20 73 75 62 2d 6d 65  |. If in a sub-me|
00001280  6e 75 20 61 20 66 6c 61  67 20 69 73 20 73 65 74  |nu a flag is set|
00001290  2e 0a 20 20 8f 20 41 20  57 69 6d 70 53 57 49 76  |..  . A WimpSWIv|
000012a0  65 20 72 6f 75 74 69 6e  65 20 6f 6e 20 53 65 74  |e routine on Set|
000012b0  43 61 72 65 74 50 6f 73  69 74 69 6f 6e 20 77 69  |CaretPosition wi|
000012c0  6c 6c 20 63 68 65 63 6b  20 69 66 20 74 68 65 20  |ll check if the |
000012d0  66 6c 61 67 20 69 73 20  73 65 74 20 61 6e 64 0a  |flag is set and.|
000012e0  20 20 20 20 69 66 20 73  6f 20 77 69 6c 6c 20 73  |    if so will s|
000012f0  63 61 6e 20 74 68 65 20  69 63 6f 6e 20 73 70 65  |can the icon spe|
00001300  63 69 66 69 65 64 20 61  6e 64 20 70 6c 61 63 65  |cified and place|
00001310  20 74 68 65 20 63 61 72  65 74 20 61 74 20 74 68  | the caret at th|
00001320  65 20 69 6e 64 65 78 20  6f 66 0a 20 20 20 20 74  |e index of.    t|
00001330  68 65 20 65 6e 64 20 6f  66 20 74 68 65 20 69 63  |he end of the ic|
00001340  6f 6e 2e 20 54 68 69 73  20 69 73 20 69 6e 20 63  |on. This is in c|
00001350  61 73 65 20 74 68 65 20  61 70 70 6c 69 63 61 74  |ase the applicat|
00001360  69 6f 6e 20 73 65 74 73  20 74 68 65 20 63 61 72  |ion sets the car|
00001370  65 74 0a 20 20 20 20 70  6f 73 69 74 69 6f 6e 20  |et.    position |
00001380  69 6e 20 74 68 65 20 6f  70 65 6e 20 77 69 6e 64  |in the open wind|
00001390  6f 77 20 73 65 63 74 69  6f 6e 2e 20 54 68 65 20  |ow section. The |
000013a0  66 6c 61 67 20 77 69 6c  6c 20 61 6c 73 6f 20 62  |flag will also b|
000013b0  65 20 63 6c 65 61 72 65  64 2e 0a 20 20 8f 20 49  |e cleared..  . I|
000013c0  66 20 74 68 65 20 66 69  6c 74 65 72 20 69 73 20  |f the filter is |
000013d0  65 6e 74 65 72 65 64 20  77 69 74 68 20 74 68 65  |entered with the|
000013e0  20 66 6c 61 67 20 73 65  74 20 28 69 65 20 74 68  | flag set (ie th|
000013f0  65 20 74 61 73 6b 20 68  61 73 20 72 65 74 75 72  |e task has retur|
00001400  6e 65 64 0a 20 20 20 20  61 66 74 65 72 20 6f 70  |ned.    after op|
00001410  65 6e 69 6e 67 20 74 68  65 20 77 69 6e 64 6f 77  |ening the window|
00001420  20 77 69 74 68 6f 75 74  20 74 6f 75 63 68 69 6e  | without touchin|
00001430  67 20 74 68 65 20 63 61  72 65 74 29 2c 20 74 68  |g the caret), th|
00001440  65 6e 20 74 68 65 20 77  69 6e 64 6f 77 0a 20 20  |en the window.  |
00001450  20 20 6c 61 73 74 20 6f  70 65 6e 65 64 20 28 73  |  last opened (s|
00001460  74 6f 72 65 64 20 66 72  6f 6d 20 6c 61 73 74 20  |tored from last |
00001470  66 69 6c 74 65 72 29 20  69 73 20 6c 6f 6f 6b 65  |filter) is looke|
00001480  64 20 61 74 20 28 57 69  6d 70 5f 47 65 74 57 69  |d at (Wimp_GetWi|
00001490  6e 64 6f 77 53 74 61 74  65 2c 0a 20 20 20 20 62  |ndowState,.    b|
000014a0  69 74 20 30 20 73 65 74  29 20 61 6e 64 20 61 6c  |it 0 set) and al|
000014b0  6c 20 74 68 65 20 69 63  6f 6e 73 20 69 6e 20 69  |l the icons in i|
000014c0  74 20 65 78 61 6d 69 6e  65 64 20 66 6f 72 20 74  |t examined for t|
000014d0  79 70 65 20 31 34 2f 31  35 2e 20 57 68 65 6e 20  |ype 14/15. When |
000014e0  6f 6e 65 20 69 73 0a 20  20 20 20 66 6f 75 6e 64  |one is.    found|
000014f0  20 74 68 65 20 63 61 72  65 74 20 69 73 20 70 6c  | the caret is pl|
00001500  61 63 65 64 20 61 74 20  74 68 65 20 65 6e 64 20  |aced at the end |
00001510  6f 66 20 69 74 2e 20 49  66 20 6e 6f 6e 65 20 69  |of it. If none i|
00001520  73 20 66 6f 75 6e 64 20  74 68 65 6e 20 6e 6f 0a  |s found then no.|
00001530  20 20 20 20 61 63 74 69  6f 6e 20 69 73 20 74 61  |    action is ta|
00001540  6b 65 6e 2e 20 54 68 65  20 66 6c 61 67 20 73 68  |ken. The flag sh|
00001550  6f 75 6c 64 20 74 68 65  6e 20 62 65 20 63 6c 65  |ould then be cle|
00001560  61 72 65 64 2e 0a 20 20  20 20 0a 54 68 61 74 27  |ared..    .That'|
00001570  73 20 68 6f 77 20 49 20  72 65 63 6b 6f 6e 20 69  |s how I reckon i|
00001580  74 20 73 68 6f 75 6c 64  20 77 6f 72 6b 2e 20 54  |t should work. T|
00001590  68 65 20 74 77 6f 20 73  65 70 65 72 61 74 65 20  |he two seperate |
000015a0  74 65 63 68 6e 69 71 75  65 73 20 61 72 65 20 6d  |techniques are m|
000015b0  61 69 6e 6c 79 0a 62 65  63 61 75 73 65 20 49 20  |ainly.because I |
000015c0  64 6f 6e 27 74 20 6b 6e  6f 77 20 68 6f 77 20 74  |don't know how t|
000015d0  68 65 20 63 61 72 65 74  20 69 73 20 6d 6f 76 65  |he caret is move|
000015e0  64 20 69 6e 20 43 20 28  73 65 65 20 61 62 6f 76  |d in C (see abov|
000015f0  65 29 2e 20 42 75 74 20  64 6f 20 72 65 6d 65 6d  |e). But do remem|
00001600  62 65 72 0a 74 68 61 74  20 74 68 61 74 20 70 61  |ber.that that pa|
00001610  74 63 68 20 77 69 6c 6c  20 62 65 20 74 68 65 20  |tch will be the |
00001620  2f 66 6f 75 72 74 68 2f  20 74 6f 20 6a 75 73 74  |/fourth/ to just|
00001630  20 6d 61 6b 65 20 54 65  78 74 43 6f 70 79 20 70  | make TextCopy p|
00001640  6f 73 73 69 62 6c 65 20  61 6e 64 0a 74 68 65 72  |ossible and.ther|
00001650  65 66 6f 72 65 20 74 68  69 6e 67 73 20 61 72 65  |efore things are|
00001660  20 67 65 74 74 69 6e 67  20 61 20 6c 69 74 74 6c  | getting a littl|
00001670  65 20 73 69 6c 6c 79 2e  0a 0a 49 20 77 6f 6e 64  |e silly...I wond|
00001680  65 72 20 69 66 20 74 68  65 20 52 50 43 20 73 74  |er if the RPC st|
00001690  69 6c 6c 20 6f 6e 6c 79  20 63 68 65 63 6b 73 20  |ill only checks |
000016a0  66 6f 72 20 74 79 70 65  20 31 35 20 69 63 6f 6e  |for type 15 icon|
000016b0  73 20 3f 20 49 20 77 6f  75 6c 64 2c 20 69 66 20  |s ? I would, if |
000016c0  49 20 68 61 64 0a 61 6e  79 2c 20 62 75 74 20 6d  |I had.any, but m|
000016d0  6f 6e 65 79 20 6f 6e 20  69 74 2e 0a 0a 41 63 6b  |oney on it...Ack|
000016e0  6e 6f 77 6c 65 64 67 65  6d 65 6e 74 73 0a 2d 2d  |nowledgements.--|
000016f0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 0a 54  |--------------.T|
00001700  68 69 73 20 69 73 20 66  6f 72 20 74 68 65 20 77  |his is for the w|
00001710  68 6f 6c 65 20 54 65 78  74 43 6f 70 79 20 70 61  |hole TextCopy pa|
00001720  74 63 68 20 28 69 65 20  65 76 65 72 79 74 68 69  |tch (ie everythi|
00001730  6e 67 20 49 27 76 65 20  64 6f 6e 65 20 72 65 6c  |ng I've done rel|
00001740  61 74 69 6e 67 20 74 6f  20 69 74 0a 2d 20 54 65  |ating to it.- Te|
00001750  78 74 43 6f 70 79 2c 20  41 6c 6c 57 43 44 2c 20  |xtCopy, AllWCD, |
00001760  57 69 6e 4d 67 72 20 70  61 74 63 68 20 61 6e 64  |WinMgr patch and|
00001770  20 72 65 6c 61 74 65 64  20 64 6f 63 73 20 61 6e  | related docs an|
00001780  64 20 70 72 6f 67 72 61  6d 73 29 2e 0a 0a 54 68  |d programs)...Th|
00001790  61 6e 6b 73 20 74 6f 20  41 6e 64 72 65 77 20 43  |anks to Andrew C|
000017a0  6c 6f 76 65 72 20 66 6f  72 20 67 69 76 69 6e 67  |lover for giving|
000017b0  20 6d 65 20 57 69 6d 70  53 57 49 76 65 20 74 6f  | me WimpSWIve to|
000017c0  20 77 6f 72 6b 20 77 69  74 68 20 69 6e 20 76 65  | work with in ve|
000017d0  72 73 69 6f 6e 73 20 30  2e 30 32 0a 2d 20 30 2e  |rsions 0.02.- 0.|
000017e0  30 34 20 28 66 72 6f 6d  20 77 68 69 63 68 20 42  |04 (from which B|
000017f0  61 63 6b 69 6e 67 20 73  74 69 6c 6c 20 68 61 73  |acking still has|
00001800  20 74 6f 20 65 6d 65 72  67 65 20 3a 2d 28 20 29  | to emerge :-( )|
00001810  20 61 6e 64 20 66 6f 72  20 68 69 73 20 73 75 70  | and for his sup|
00001820  70 6f 72 74 20 66 6f 72  0a 6d 79 20 70 72 6f 67  |port for.my prog|
00001830  72 61 6d 73 20 77 68 69  63 68 20 74 65 6e 64 20  |rams which tend |
00001840  74 6f 20 75 73 65 20 69  74 2e 20 54 68 61 6e 6b  |to use it. Thank|
00001850  73 20 61 20 6c 6f 61 64  20 41 6e 64 72 65 77 2c  |s a load Andrew,|
00001860  20 69 74 20 6d 61 6b 65  73 20 6c 69 66 65 20 6f  | it makes life o|
00001870  68 20 73 6f 0a 6d 75 63  68 20 65 61 73 69 65 72  |h so.much easier|
00001880  2e 0a 0a 54 68 61 6e 6b  73 20 74 6f 20 74 68 65  |...Thanks to the|
00001890  20 46 69 64 6f 20 41 72  63 68 69 6d 65 64 65 73  | Fido Archimedes|
000018a0  20 45 63 68 6f 20 66 6f  72 20 74 68 65 69 72 20  | Echo for their |
000018b0  73 75 67 67 65 73 74 69  6f 6e 20 74 68 61 74 20  |suggestion that |
000018c0  49 20 77 72 69 74 65 20  74 68 69 73 0a 70 61 74  |I write this.pat|
000018d0  63 68 2c 20 61 6e 64 20  70 61 72 74 69 63 75 6c  |ch, and particul|
000018e0  61 72 6c 79 20 74 6f 20  52 6f 62 69 6e 20 41 62  |arly to Robin Ab|
000018f0  65 63 61 73 69 73 20 66  6f 72 20 77 68 6f 6d 20  |ecasis for whom |
00001900  49 20 77 72 6f 74 65 20  52 65 63 45 72 72 6f 72  |I wrote RecError|
00001910  73 20 61 73 20 61 0a 64  69 72 65 63 74 20 73 70  |s as a.direct sp|
00001920  69 6e 20 6f 66 66 20 61  6e 64 20 69 74 20 6f 6e  |in off and it on|
00001930  6c 79 20 77 6f 72 6b 65  64 20 6f 6e 20 6d 79 20  |ly worked on my |
00001940  6d 61 63 68 69 6e 65 20  28 73 6f 72 72 79 29 2e  |machine (sorry).|
00001950  0a 0a 54 68 61 6e 6b 73  20 74 6f 20 4e 69 63 6b  |..Thanks to Nick|
00001960  20 43 72 61 69 67 2d 57  6f 6f 64 20 66 6f 72 20  | Craig-Wood for |
00001970  6d 61 6b 69 6e 67 20 65  6e 63 6f 75 72 61 67 69  |making encouragi|
00001980  6e 67 20 65 6e 6f 75 67  68 20 73 6f 75 6e 64 73  |ng enough sounds|
00001990  20 74 6f 20 6d 61 6b 65  20 6d 65 0a 77 72 69 74  | to make me.writ|
000019a0  65 20 74 68 65 20 66 61  62 6c 65 64 20 64 72 61  |e the fabled dra|
000019b0  67 67 69 6e 67 20 6f 66  20 57 49 27 73 20 69 6e  |gging of WI's in|
000019c0  73 74 65 61 64 20 6f 66  20 6a 75 73 74 20 64 72  |stead of just dr|
000019d0  61 67 73 20 74 6f 20 57  49 27 73 20 61 6e 64 20  |ags to WI's and |
000019e0  68 69 73 0a 53 68 69 66  74 2d 44 72 61 67 20 73  |his.Shift-Drag s|
000019f0  75 67 67 65 73 74 69 6f  6e 2e 0a 0a 54 68 61 6e  |uggestion...Than|
00001a00  6b 73 20 74 6f 20 41 6c  65 78 20 48 61 79 77 61  |ks to Alex Haywa|
00001a10  72 64 20 66 6f 72 20 74  65 6c 6c 69 6e 67 20 6d  |rd for telling m|
00001a20  65 20 61 62 6f 75 74 20  74 68 65 20 45 78 74 45  |e about the ExtE|
00001a30  64 69 74 20 70 72 6f 62  6c 65 6d 73 20 77 68 69  |dit problems whi|
00001a40  63 68 20 49 20 73 65 65  6d 0a 74 6f 20 68 61 76  |ch I seem.to hav|
00001a50  65 20 63 75 72 65 64 20  77 69 74 68 6f 75 74 20  |e cured without |
00001a60  6b 6e 6f 77 69 6e 67 20  71 75 69 74 65 20 68 6f  |knowing quite ho|
00001a70  77 2e 0a 0a 0a 43 6f 6e  74 61 63 74 0a 2d 2d 2d  |w....Contact.---|
00001a80  2d 2d 2d 2d 0a 41 6e 79  20 63 6f 6d 6d 65 6e 74  |----.Any comment|
00001a90  73 2c 20 71 75 65 72 69  65 73 2c 20 64 6f 6e 61  |s, queries, dona|
00001aa0  74 69 6f 6e 73 20 6f 72  20 62 75 67 20 72 65 70  |tions or bug rep|
00001ab0  6f 72 74 73 20 63 61 6e  20 62 65 20 73 65 6e 74  |orts can be sent|
00001ac0  20 74 6f 20 3a 0a 0a 46  69 64 6f 6e 65 74 20 4e  | to :..Fidonet N|
00001ad0  65 74 4d 61 69 6c 20 3a  20 20 4a 75 73 74 69 6e  |etMail :  Justin|
00001ae0  20 46 6c 65 74 63 68 65  72 20 61 74 20 41 72 63  | Fletcher at Arc|
00001af0  61 64 65 20 28 30 31 38  31 20 36 35 35 20 34 34  |ade (0181 655 44|
00001b00  31 32 29 20 5b 32 3a 32  35 34 2f 32 37 5d 0a 45  |12) [2:254/27].E|
00001b10  2d 4d 61 69 6c 20 3a 20  47 65 72 70 68 40 61 72  |-Mail : Gerph@ar|
00001b20  63 61 64 65 2e 64 65 6d  6f 6e 2e 63 6f 2e 75 6b  |cade.demon.co.uk|
00001b30  0a 0a 53 6e 61 69 6c 20  4d 61 69 6c 20 3a 0a 20  |..Snail Mail :. |
00001b40  20 20 20 4a 75 73 74 69  6e 20 46 6c 65 74 63 68  |   Justin Fletch|
00001b50  65 72 0a 20 20 20 20 94  47 61 6c 61 64 72 69 65  |er.    .Galadrie|
00001b60  6c 95 0a 20 20 20 20 31  37 62 20 43 72 6f 6d 77  |l..    17b Cromw|
00001b70  65 6c 6c 20 52 6f 61 64  2c 0a 20 20 20 20 57 65  |ell Road,.    We|
00001b80  65 74 69 6e 67 2c 0a 20  20 20 20 42 72 61 6e 64  |eting,.    Brand|
00001b90  6f 6e 2c 0a 20 20 20 20  53 75 66 66 6f 6c 6b 2e  |on,.    Suffolk.|
00001ba0  0a 20 20 20 20 49 50 32  37 20 30 51 54 0a 0a 28  |.    IP27 0QT..(|
00001bb0  41 64 64 72 65 73 73 20  73 6f 6f 6e 20 74 6f 20  |Address soon to |
00001bc0  63 68 61 6e 67 65 20 64  75 65 20 74 6f 20 67 6f  |change due to go|
00001bd0  69 6e 67 20 74 6f 20 75  6e 69 76 65 72 73 69 74  |ing to universit|
00001be0  79 29                                             |y)|
00001be2