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 David Thomas 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