The following features are not available in RISC_OS 2.0:

The window handle at R1+0 can also be:

-3 to create an icon on the iconbar to the left of icon handle R0, or -4 to create an icon on the iconbar to the right of icon handle R0

where R0 = handle of icon to open next to, if [R1+0] = -3 or -4

This allows icons to be recreated and deleted (in order to change their width, for example) such that they stay in the same relative position on the iconbar. It also allows applications to keep groups of iconbar icons together.

Iconbar icons can also be prioritised, so that, for example, the RAM disc icon can be positioned immediately to the right of the Apps icon. Instead of using window handle values -1, -2, -3 or -4 you are advised to prioritise iconbar icons using the following values:

-5 create icon on left side, scanning from the left -6 create icon on left side, scanning from the right -6 create icon on right side, scanning from the left -8 create icon on right side, scanning from the left where R0 = signed 32-bit priority (higher priority -> towards outside)

The Wimp positions the icons so that they are sorted, with those of higher priority nearer the extreme ends of the iconbar. Where icons are of equal priority, the position of the new icon is determined by the scan direction.

The priorities assumed for the other possible window handle values are:

window handle values               priority
handle=-1                          0
handle=-2                          0
handle=-3, R0=icon handle          same as matched icon
handle=-3, R0=-1                   &78000000
handle=-4, R0=icon handle          same as matched icon
handle=-4, R0=-1                   &78000000

The various Desktop modules create icons with the following priorities:

Module                             priority
Task Manager                       &60000000
!Help                              &40000000
Palette Utility                    &20000000
Applications                       0
ADFS hard discs                    &70000000
ADFS floppy discs                  &60000000
'Apps' icon                        &50000000
RAM disc                           &40000000
Ethernet                           &30000000
Econet                             &20000000
Other filing systems               &10000000
Printer drivers                    &0F000000
TinyDir                            -&40000000

The bounding box coordinates are given relative to the window's work area origin, except that the horizontal offset may be applied to an icon created on the icon bar. Note that if an icon is writeable, the icon bounding box determines how much of the string is displayed at once. Typing into the icon or moving the caret left or right can cause the string to scroll within this box. The buffer length entry in the icon data determines the maximum number of characters that can be entered into a writeable icon. One character is used for the terminator.

Note that icon strings can be terminated by any character from 0 to 31, and are preserved during editing operations by the Wimp. However, in template files, the terminator must be 13 (Return).