A shadow is a stand-in for any other object on the desktop, such as a document, an application, a folder, a hard disk, a network share or removable medium, or a printer. A target object can have an arbitrary number of shadows. When double-clicked, the desktop acts the same way as if the original object had been double-clicked. The shadow's context menu is the same as the target object's context menu, with the addition of an "Original" sub-menu, that allows the location of, and explicit operation upon, the original object.
A shadow is a dynamic reference to an object. The original may be moved to another place in the file system, without breaking the link. The WPS updates shadows of objects whenever the original target objects are renamed or moved. To do this, it requests notification from the operating system of all file rename operations. (Thus if a target filesystem object is renamed when the WPS is not running, the link between the shadow and the target object is broken.)
Similarities to and differences from other mechanisms
- Shadows in the WPS are not filesystem objects, as aliases are. They are derived from the WPAbstract class, and thus their backing storage is the user INI file, not a file in the file system. Thus shadows are invisible to applications that do not use the WPS API.
- The WPS has no mechanism for re-connecting shadows when the link between them and the target object has been broken. (Although where the link has been broken because target objects are temporarily inaccessible, restarting the WPS after the target becomes accessible once more often restores the link.)
On (and within nested folders on) the WPS desktop, shadows' "icon titles" can be set to one's preferred font color, independently of the preferred font-color assigned to other non-shadow WPS objects, although they share the font actually selected for that text.
Like the icons for all other 'open' objects on the WPS Desktop, whether for folders or applications, Shadows' icons become diagonally hatched on 'opening' and remain in that state until closed/exited respectively.
There are several ways to create a shadow. One way is to select the target object and choose "Create Shadow" from its context menu. The desktop then prompts with a dialogue box allowing the user to specify where the shadow should be created**. Another way is to employ drag-and-drop to create shadows, holding down the shift and control modifier keys whilst dragging.
The dialog box opens initially with a view of currently opened folders on the "Opened" Tab (page) of the dialog, first of which is the current Desktop folder, allowing direct selection of the destination. There are a further 4 Tabs for "Related", "Desktop", "Drives" and "Path", this latter allowing textual path specification including drive(volume), whereas the other three options display an expandable hierarchical tree of folders to select from.
- Mindy Pollack (1995). Marc A. Stock (ed.). OS/2 Workplace Shell API. New York: Wiley. ISBN 9780471038726.