Filer Action window

The Filer Action Window is a module which performs file manipulation operations for the Filer without the desktop hanging whilst they are under way.

The Filer Action Window is not available in RISC OS 2.0.

To drive Filer_Action you must:

1       Wimp_StartTask with a command of *Filer_Action
2       Send a sequence of messages to the new task describing the activity
Filer_Action will sort out its own slot size as appropriate. If no messages are sent, then Filer_Action will kill itself.

Controlling the Filer_Action task

To set the Filer_Action going, the following messages are sent:

Message_FilerSelectionDirectory (&403) Message_FilerAddSelection (&404)
Message_FilerAction (&405)

The selection directory is the name of the directory in which the selection of files being operated upon lies. AddSelection sends a set of files which are to be added to the list of files in the selected directory. You should just send a space separated list of leaf names of the selected objects.

FilerAction starts the operation going.

Once the Filer_Action is going it can be controlled by using the Message_FilerControlAction message.

Message_FilerSelectionDirectory (&403)


The data for this messages should be a null-terminated name of a directory. Sending this message clears out the current selection of files.

This message is not available under RISC OS 2.0

Message_FilerAddSelection (&404)


The data for this message should be a null-terminated string which is a space separated list of leaf names of objects in the selection directory which are to be operated upon. This adds the given names to the list.

This message is not available in RISC OS 2.0.

Message_FilerAction (&405)


The format of the data for this message takes the following form:

Word Meaning
0 Operation to be performed:
0 Copy Copy a number of objects from one directory to another
1 Move (rename) Move a number of objects from one directory to another by trying a rename first then doing a copy/delete if that fails
2 Delete Delete a number of objects in a particular directory 3 Set access Set the access of a number of objects to a given value
4 Set type Set the file type of a number of obhjects to a given value
5 Count Count the file sizes of the selected objects 6 Move (by copying and deleting afterwards) Move a number of objects from one directory by copying them then deleting the source 7 Copy local (within directory)
Copy a single object to a different name in the same directory
8 Stamp files Stamp the selected objects with the time when they get stamped
9 Find file Find an object with a given name 1 Option bits
Bit Meaning when set
0 Verbose
1 Confirm
2 Force
3 Newer (as opposed to copying always) 4 Recurse (only applies to access)
2 onwards
Information specific to the particular operation Operation Meaning
0 Copy null-terminated destination directory 1 Move (rename) null-terminated destination directory 2 Delete unused
3 Set access How to set the access

			  The 1st two bytes are the access values to be set
			  The 2nd two bytes are a mask which, when set,
			  disable the corresponding access but from being set
4 Set type Numeric file type to set
5 Count unused
6 Move (copy/delete)
null-terminated destination directory 7 Copy local null-terminated destination object name 8 Stamp unused
9 Find null-terminated name of object to find

This message is not available in RISC OS 2.0.

Message_FilerControlAction (&406)


The 1st word determines what control is to be performed: 0 Acknowledge the control message (to check FilerAction is still going) 1 Show the action window (turn verbose on) 2 Hide the action window (turn verbose off)

This message is not available in RISC OS 2.0.

Message_FilerOpenDirAt (&402)


This message is not available in RISC OS 2.0.

Message_FilerSelection (&406)


This message is not available in RISC OS 2.0.