New filer features.

Operations performed in background when possible.

Display=>Show actions
Display=>Close all
Display=>Save=><Save box>
File=>Info=><Info box>
File=>Copy=><save box>
File=>Find=><object to find> File=>Access=><more options> File=>Stamp
File=>Set type

These apply to background operations only: Options=>Confirm
Options=>Verbose
Options=>Force
Options=>Newer

Find=><object to find>

shift-right-close opens parent leaving child open too

Viewer location handling improved
Viewer update improved

Extended functionality *filer_opendir
new message filer_opendirat
new message fileraction_senddirectory(?) new message fileraction_sendselection(?) new message fileraction_startoperation
new module filer_action
new command *filer_run
new command *filer_action
new command *filer_boot
new swi fileraction_senddirectory

     r0   Task handle to send the message
     r1   Points to nul terminated directory name
new swi fileraction_sendselection
     r0   Task handle to send the message
     r1   Points to nul terminated selection name
new swi fileraction_sendstartoperation
     r0   Task handle to send the message
     r1   Operation ID to start:
          0    Copy
          1    Move (rename)
          2    Delete
          3    Set access
          4    Set type
          5    Count
          6    Move (by copying and deleting afterwards)
          7    Copy local (within directory)
          8    Stamp files
          9    Find file
     r2   Option bits:
          bit  meaning
          0    Verbose
          1    Confirm
          2    Force
          3    Newer (a opposed to just Look)
          4    Recurse (only applies to access)
     r3   Points to operation specific data:
     r4   Length of operation specific data:
          Copy:
          r3   points to nul terminated name of destination directory
          r4   strlen( r3 ) + 1
          Move:
          r3   points to nul terminated name of destination directory
          r4   strlen( r3 ) + 1
          Delete:
          r3   unused
          r4   0
          Set access:
          r3   Points to word containing required new access:
                bottom two bytes indicate the values to set when setting the values
                top two bytes flag which bits are to be left alone
          r4   sizeof( int )
          Set type:
          r3   Points to word containing new type in bits 0-11
          r4   sizeof( int )
          Count:
          r3   unused
          r4   0
          Copy Move:
          r3   points to nul terminated name of destination directory
          r4   strlen( r3 ) + 1
          Copy Local:
          r3   points to nul terminated destination name
          r4   strlen( r3 ) + 1
          Stamp:
          r3   unused
          r4   0
          Find:
          r3   points to null terminated name of object to find
          r4   strlen( rs ) + 1

Large numbers of bugs fixed
drag to empty piece of icon bar

Changed/Updated messages:
Message_FilerCloseDir:
R1+20 filing system number (as PRM specifies) R1+24 Was 'must be zero', now is:

        bit     meaning when set
        0       Full name of directory has already been canonicalised - don't
                canonicalise before use. Normally the name supplied would be
                canonicalised before being checked against the canonical
                name of each viewer, this inhibits this step.
        1-31    reserved for future use - must be zero.

New messages:
Message_FilerSelectionDirectory
ms_data = null terminated name of directory with selection in it.

Message_FilerAddSelection
ms_data = null terminated, space separated list of names of selected files.

Message_FilerAction
ms_data = action:

          0    Copy
          1    Move (rename)
          2    Delete
          3    Set access
          4    Set type
          5    Count
          6    Move (by copying and deleting afterwards)
          7    Copy local (within directory)
          8    Stamp files
          9    Find file
ms_data + 4 = options:
          bit  meaning
          0    Verbose
          1    Confirm
          2    Force
          3    Newer (a opposed to just Look)
          4    Recurse (only applies to access)
ms_data + 8 = operation specific data:
          Copy:
          nul terminated name of destination directory
          Move:
          nul terminated name of destination directory
          Delete:
          unused
          
          Set access:
          word containing required new access:
                bottom two bytes indicate the values to set when setting the values
                top two bytes flag which bits are to be left alone
          Set type:
          Word containing new type in bits 0-11
          Count:
          unused
          Copy Move
          nul terminated name of destination directory
          Copy Local
          nul terminated destination name
          Stamp
          unused
          Find
          null terminated name of object to find