DeskFiler Documentation Author: Gavin Stark
Status: Documentation for Relese 0.01 of DeskFiler
History:

        12-Oct-89   0.01 Documentation for release 0.01
              

This document describes the facilities supplied by the Desk Filer application.

Outline

The DeskFiler is the successor to TinyDirs. It allows file objects (files, directories or applications) to be placed as icons on the icon bar. Once there they can be selected, double-clicked, dragged, etc. in ways very similar to the standard Filer windows.

The DeskFiler contains two * commands:
*AddDeskApp <full pathname> , to add an icon to the bar *RemoveDeskApp <full pathname> , to remove all icons matching the name

                                  from the bar

The DeskFiler responds to Save Desktop messages, creating *AddDeskApp commands for the icons currently on the bar. The DeskFiler also understands the Help Request message, and so is usable with !Help.

Facilities provided by Desk Filer

The Desk Filer always puts an Apps icon on the icon bar. This icon is not removeable. It represents the 'Deskfs:$.Apps' directory - i.e. the ROM applications directory.

File objects, or selections of file objects, can be dragged from Filer windows to any Desk Filer icon. This will result in the objects being given icons, and these will be placed on the icon bar to the right of the icon at which the drag finished. They will be placed in the same order in which they appeared in the Filer window (i.e. in order of type/size/date).

Desk Filer icons on the icon bar can be selected using 'SELECT'. More icons can be added to the selection using the 'ADJUST' button, which toggles the state of the icon underneath it.

Pressing 'MENU' produces the DeskFiler menu. If 'MENU' was pressed when there was no DeskFiler selection then the icon under the pointer when 'MENU' was pressed will be temporarily selected, as in the Filer.

The menu allows the selection to be cleared, or all the icons to be selected, or the current selection to be removed from the icon bar (this does not delete them from the disc). Also, if the menu was created with no current selection (i.e. an icon was temporarily selected) then the user can open the parent directory of the temporarily selected icon, but only if the object for this icon has a parent (i.e. is not $ % & etc.).

Dragging of selections of Desk Filer icons can be performed. At the end of the drag the Desk Filer can take one of five actions, depending on the destination of the drag:

  1. Onto a Filer window. This causes a Copy operation to be set up for each icon selected. Desk Filer will call Filer Action if there is enough RAM, otherwise it will call *COPY.
  2. Onto a non-Filer window. This causes a DataLoad message to be sent to the application owning the destination window, and hence the selection will be inserted at the current insertion point for the window
  3. Onto a non-DeskFiler icon on the icon bar. This causes a DataLoad message to be sent to the application owning the destination icon, so the application will try to load the selection.
  4. Onto a DeskFiler icon on the icon bar. This will cause the selection of icons to be moved from their current positions, to the right of the destination icon. The operation preserves the order of the unselected icons, and of the selected icons. (i.e. the leftmost icon of the selection will appear at the left of the reinserted icons.)
  5. Onto a blank portion of the icon bar. This will cause any applications in the selection to be run. Non-applications will be ignored. Double-clicking with 'SELECT' on an icon causes the icon to be run. This means applications starting up, files being sent to the relevant application, and directories being opened.

    Double-clicking with 'ADJUST' on an icon causes the icon to be run, and then removed from the Desk Filer list on the bar.

    Desk Filer * commands

    The Desk Filer includes two * commands, for adding and removing icons from the bar:
    *AddDeskApp <full pathname>
    This causes the file or directory specified by the pathname to be found,
    and if it exists then it will be appended to the queue of items
    to be added to the icon bar after the next Wimp_Poll call. This
    means that icons will appear almost immediately if *AddDeskApp
    is called from a WIMP task, but only when the WIMP is entered if
    from a Boot sequence.
    *RemoveDeskApp <full pathname>
    This causes any icons currently on the bar which have the same full
    pathname as that given in the command to be removed at the next
                    Wimp_Poll.
                      
    

    Known mis-features and possible enhancements

    The RemoveDeskApp command should not just remove those icons currently on the bar, but also those in the buffered list which will be added to the icon bar at the next Wimp_Poll. At the moment:
    *AddDeskApp adfs:$.fred
    *RemoveDeskApp adfs:$.fred
    will cause all icons on the bar corresponding to adfs:$.fred to be removed, and
    then one added!     
    

    *AddDeskApp adfs:$ produces an icon with an unknown file type (i.e. a white box) It should produce a directory icon.

    Shuffling icons by dragging could shuffle to the left if the shift key is pressed

    Dragging selections onto DeskFiler icons with the control key down could cause the selection to be sent to the application corresponding to the destination icon.

    Dragging with adjust (onto the icon bar or to Filer windows, or even application windows) should remove the DeskFiler icon.