Zune is an object-oriented graphical user interface in the AROS operating system . In the process of developing the operating system, the developers faced the problem of providing the ability to compile Open Source applications using the MUI graphical interface, since MUI itself was a shareware product. Long negotiations on the opening of source codes with the author of MUI (Stefan Stuntz) did not lead to a positive result, so it was decided to create an interface that is fully compatible with MUI from scratch. The project began as a GPLed MUI clone for X11 (in order to speed up the writing process, the basic functions were replaced by X-Window calls) and gradually transferred to completely native code. The goal was achieved in full by 2002 and from that moment Zune has been developing independently. The author of Zune is Italian Flavio Stanchina ( Flavio Stanchina (English) ).
Zune has become an almost complete analogue of MUI (both at the API level and at the Look & Feel level), the most popular shareware interface on Amiga, Stefan Stuntz. This made it possible to recompile for the AROS interface parts of the AmigaOS and MorphOS MUI applications, without changing the source code. In addition, developers who know MUI feel at home in it, and new users and developers for AROS have the opportunity to study the concepts and features common to both interfaces. Zune's philosophy (like MUI) is based on two postulates:
- A programmer can spend much less time designing an interface: Zune does not bind interface elements to absolute values, the environment is sensitive to font pins and adapts the size and layout of any windows depending on the user's fonts. Zune provides semantic access to the elements of the designed interface, and its properties (such as the indent of the element from the edge of the window in pixels) are automatically adjusted.
- The user can much better control the Look & Feel of the interface designed by the programmer, and gets the opportunity to specifically configure the Zune environment parameters.
Zune is based on the BOOPSI system inherited from AmigaOS and used for object-oriented programming in C. Zune classes are not children of the existing BOOPSI classes for interface elements (that is, they are not a simple extension of their capabilities). The base class (in the Zune hierarchy) is Notify - a child of the BOOPSI root class ( rootclass ).
See also
- AROS
- AmigaOS