Introduction
For RISC OS 4 the behaviour of the iconbar device icons was updated to allow files dropped on them to be saed to a specified directory for the device. Usually this would be the root of the device, but is configurable. This avoids the user opening a save box but being unable to drop the file anywhere.
Technical details
File drags from save boxes to icon bar Filer icons will cause the file to be saved in a specified directory of the device, most sensibly the root. The Filer will then open the directory viewer. In combination with the autofronting icon bar in the new window manager, the user will now never face the situation of having a save box open, but nowhere to drag the file to.
For consistency, drags from Filer windows to icon bar icons will cause files to be copied/moved to the directory. As with saves, the Filer will open the directory viewer.
The directory which a file is saved/copied to will be specified by a system variable and will default to the root directory. The system variable will be of the form FSNameFiler$DefaultPath. For example ADFSFiler$DefaultPath or NetFiler$DefaultPath.
Icon bar save protocol
In order for files to be saved to icon bar device icons, the FS Filers will now be required to receive the WIMP message Message_DataSave. They will reply with
specifying a pathname for the saved file. They will also receive Message_DataLoad on completion of the save and use this as the trigger for opening the Filer window of the directory the file has been saved in.Icon bar copy protocol
For file copies to work, a different system is necessary. Without modification, when a file is dragged from a Filer viewer to a device icon, the Filer will send a Message_DataLoad to the FS Filer responsible for the device. All the FS filers will be changed to receive this message and then to reply with a new message,
.System variables
The iconbar device filers should use these variables - substituting their own filing system name in the name - to decide where to save files when the user drops a file on their iconbar icon.