Showing changes from revision #4 to #5:
Added | Removed | Changed
Warning: The current and/or previous revision contained markup errors which prevented proper diff analysis. A guess at markup correction has been made but the diff may not be a truly accurate reflection of the real changes.
The Window Manager provides what 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.
As in most modern Operating Systems with window environments, windows are used to contain information and display it to the user. The display and updating of windows is shared between the application and the Window Manager.
The Window Manager and the application communicate 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 that 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.
Icons constitute another important feature of the Window Manager. 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>
Menus are an integral part of the whole RISC OS Window environment. Unlike many other Operating Systems, Menus under RISC OS are pop-up rather than pull-down. Menus are opened by pressing the dedicated menu-button on the mouse.
Menus are context-sensitive: they depend upon the position of the mouse when the menu is opened.
Menus may be nested. That is, a menu entry can lead to another menu, recursively to any desired depth. A useful feature is that each menu (or leaf as it is also known) is a window in its own right and thus can be moved while it is open.
RISC OS uses co-operative multi-tasking. By calling the Wimp’s polling routine a task hands over control to the Wimp, which may pass on control to other tasks. Each application regains control on return from the call to the Wimp’s polling routine.
To ensure a smooth running Window environment, 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-emptive2 multi-tasking for non-Wimp applications by running them within a task window.
Each application, when it has control, is given the illusion 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 it starts up.
As described above, each application must be able to respond to the messages from the Window Manager to ensure it can update its windows and their contents correctly (if it has any).
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 native RISC OS pixel graphics file. It can be thought of as the RISC OS equivalent of a BitMap File(BMP) on Windows.
1 A Sprite is the name given to the native 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 takes control from applications. An application will in general not know in advance when this will happen.