Showing changes from revision #0 to #1:
Added | Removed | Changed
The Window Manager is commonly known as the WIMP environment. Programs that run under the control of the Wimp can also be referred to as Applications or Tasks. Within the Window Manager section, the words Program, Application and Task should be treated as synonyms.
Like most modern Operating System window environments, the use of windows are used to contain and display information to the user. The display and updating of windows is shared between the application and the Window Manager.
The Window Manager and the application communicates by way of a message-passing scheme. The Window Manager sends messages when something needs updating. Applications must be able to respond to these messages so they can update the necessary windows.
Depending on the complexity of the application, much of the work required to keep windows contents up to date can be delegated to the Wimp.
Another important feature of the Window Manager are Icons. An Icon is a rectangular area within a window whose contents can be one of the following: text, a sprite1, text & a sprite or User-drawn graphic.
The table below details which type of icon can be updated automatically.
Icon Type | Responsible for Update |
---|---|
Text | Wimp (Automatic) |
Sprite | Wimp (Automatic) |
Text & Sprite | Wimp (Automatic) |
User-Drawn Graphic | Application |
</ br>
It will come as no surprise that Menus are an integral part of whole RISC OS Window Manager experience. Unlike many other Operating Systems, Menus under RISC OS are pop-up rather than pull-down. Menus are also opened by pressing the dedicated menu button on the mouse.
In addition to this, menus can be context-sensitive. i.e. the menu that appears is appropriate to the position of the mouse when the menu was opened.
Nested Windows are also available, that is, where one menu entry can lead to another menu, to any desired ‘depth’. A ‘cute’ feature is that each menu (or leaf as it’s also known) is a window in its own right and thus can be moved while it is open.
RISC OS uses the co-operative method of Multi-tasking. Each application gains control on return from the Wimp’s polling routine.
To ensure a smooth running Window Environment experience, each application must not consume too much time between Polling, otherwise other tasks will be prevented from running.
However, it is possible to enforce pre-emption2 multi-tasking for non-Wimp applications by running them within a task window.
Each application when it has control has the perception that it alone has access to the application workspace. For this to occur, some memory management must be accomplished in advance of switching between Applications.
Application workspace starts at &8000.
The amount of workspace that an application has, is set before its starts up.
As described above, each application must be able to respond to the messages from the Window Manager to ensure it can update windows and contents correctly (if applicable).
In addition to this, applications can communicate with each other. Again, this is provided by a powerful message-passing scheme.
fn1. A Sprite is the name given to the default RISC OS pixel graphics file. It can be thought of as the RISC OS equivalent of a BitMap File(BMP) on Windows.
2 Pre-emption is a method of multi-tasking whereby the the OS switches control to each application at arbitrary times, without its prior knowledge.