RISCOS Ltd                                                         RISCOS Ltd

                         --------------------------
                         TECHNICAL NOTE: WIMP NOTES
                         --------------------------


   Document: 20000502-001

    Version: 1.00 (08 Feb 2000) JRF: Started after watching WimpMon debug
                                     clipboard applications
             1.01 (29 Feb 2000) JRF: Updated with details of priorities
             1.02 (02 May 2000) DPT: Updated with GCOL colours flag status

  Author(s): Justin Fletcher <justin@riscos.com>
             David Thomas    <dave@riscos.com>


1) WIMP MESSAGE REFERENCES

Applicability:

RISC OS 3.5 and later


Description:

Wimp Message references, given by my_ref and your_ref are unsigned values,
which are defined to be non-zero if you are replying to a message. It has
become apparent that some applications are using -1 in the reference
fields. This may cause problems at some future point at which the message
reference number reaches that value.


Recommendation:

Use 0 for initiated message sequences. Use the my_ref value when replying.
No other values should be used.


2) ICONBAR PRIORITIES

Applicability:

RISC OS 3.5 and later

Description:

Iconbar priorities have been vague at best, with some usages being declared
to be the 'easiest way to do things'. In addition to this, some entities
such as ADFSFiler have used incorrect iconbar priorities by accident. This
particular case means that Floppy discs do not appear where they are
documented to appear in the PRMs. Floppies are documented to appear at
&60000000. They actually appear at &70000000. ShareFS uses a priority of
&68000000. This results in a mismatched iconbar, where the three cases of
documentation, logical appearance and prior use cannot be resolved
simultaneously. Thus, it has been decided to clarify the usage of parts of
the iconbar. This should make for a more logical system, and the possibility
of multi-tier iconbars and other such changes.


Recommendation:

The iconbar should be viewed as:

   <-- Devices and drivers                   Applications and utilities -->
  +------------------------------------------------------------------------+
  | Object sources/ | Source/Sink  |         |     User     |    System    |
  |          sinks  | Controllers  |   Gap   | Applications |  Controllers |
  | RO -> RW -> WO  |              |         |              |              |
  +------------------------------------------------------------------------+
   \_______________/ \____________/           \____________/ \____________/
      Prioritised         Not                       Not        Prioritised
                      prioritised               prioritised
         [1]              [2]                       [3]            [4]

[1] Object sources and sinks

    These are icons for devices which objects can be retrieved, or sent to.
    They are ordered logically from read only devices on the left through
    to read/write devices to write only devices. Alongside write only devices
    are the volatile devices; those devices whose contents are likely to
    not remain permanent from session to session (or even within a session).
    The full ordering is:

      Number    Name          Class
      --------  ----          -----
      76000000  Scanners      (RO device)

      74000000  CD-ROM        (RO device)

      70000000  Hard disc     (RW device)
                  any fixed RW medium falls into this category

      68000000  Floppies      (RW device)
                  any removable RW medium falls into this category

      60000000  Network       (RW/RO device)
                  any network filing system falls into this category

      40000000  Volatiles     (RW device)
                  RAMFS, Transient, Trash cans, Memphis, Scrap, etc

      0F000000  Printers      (WO device)

    In addition, there are "accelerator" applications which need to be
    considered virtual devices.

      04000000  Accelerators
                  ResourceFS, "Pinned" items, Director, Menon, etc.

    All devices in this category should have a name underneath them, ideally
    identifying the medium name to which they are associated. If no medium is
    associated (eg. a removable, or unconfigured device), they should display
    the medium name (eg. Zip disc, Printer, LanMan, etc), or a generalised
    medium identifier (eg. the drive or port number).

    These applications should not provide Quit options.

    Contact RISCOS Ltd for information on how icons should fit with the
    current style of the desktop.


[2] Data source / sink controllers

    This is basically a place for internet servers, connection systems and
    other network utilities to live, as well as local servers. Like [1],
    these should have their name under them. Samba, TelnetD, Newsbase,
    InetSuite, WebServe and Netplex would fall into this category. These will
    grow to the right when the user load a new controller.

    These applications should provide "Quit" options. Most should provide a
    status window, and many will provide configuration windows.


[3] User applications

    This is where user applications appear when they load them. They will
    grow to the left as they are loaded, taking up the free gap space.

    These applications should provide "Quit" options.

    They should not place text under them, unless they are configured into
    a particular state that must be described. Such applications are
    discouraged unless there is a genuine need.


[4] System control applications

    This is where system control applications live. These are things that
    will control the machine, the desktop or the way in which the system
    works. Initially, this comprises the Task Manager, and Display Manager.
    Because of its high priority, Help lives here too. This may be
    rationalised in future.


These categorisations amend and expand on documentation provided in the PRMs.
The intent is to clarify the system for a logically organised iconbar, with
clearly defined positioning for components, and whilst retaining the current
state whereever possible.


3) "GCOL COLOURS" FLAG

Applicability:

RISC OS 4


Description:

The "GCOL colours" flag no longer has an effect in RISC OS 4 versions of the
WindowManager.

This frees up a window flag for future use.


Recommendation:

If you wish to fill your window with a specific colour number, then use a
transparent work area and draw the rectangle yourself.

However, remember that selecting colours by number is not independent of mode
or palette and so will only work in certain circumstances.


-- 
Comment: Wimp technote 1.02
Part: 20000502-001
