-
-
Notifications
You must be signed in to change notification settings - Fork 89
MUI Theme integration and improvements
AROS theming and MUI theming are similar in concept but diverge in structure and naming conventions. This makes it harder to reuse or port themes between the two systems. Key differences include:
-
Image Storage Paths
-
MUI:
images/<themename>/<optional style>/<size>/#? -
AROS:
THEME:Images/Gadgets/#?
-
MUI:
-
Image Formats
-
MUI:
-
.mf0,.mf1, etc. for images with multiple states -
.mbrfor single images - All stored as IFF ILBM
-
-
AROS:
- Flat filenames, no multi-state support, no standardized extensions
-
MUI:
-
Naming Differences
- Certain identifiers differ (e.g.,
ArrowLeftin MUI vs.Previousin AROS).
- Certain identifiers differ (e.g.,
This mismatch complicates theme development and prevents straightforward theme sharing between MUI and AROS.
The goal is to align AROS theming with MUI conventions while retaining enough flexibility for backward compatibility.
-
Unify directory and naming structure
- Adopt a consistent scheme:
THEME:Images/<size>/<name>.mbr - Reserve space for multi-state image formats (
.mf0,.mf1) even if not immediately supported.
- Adopt a consistent scheme:
-
Standardize names and extensions
- Update current AROS theme asset names to match MUI’s naming (e.g.,
ArrowLeftinstead ofPrevious). - Rename all single images to
.mbr.
- Update current AROS theme asset names to match MUI’s naming (e.g.,
-
Improve theme discovery
- Update Zunes “External” option to scan
Presets/Themes/for usable image sets. - Dynamically generate image specifications for Zune configs.
- Update Zunes “External” option to scan
-
Integrate with system tools
- Update
C:Decorationto use the revised scheme. - Maintain fallback support for legacy paths during transition.
- Update
-
Lay groundwork for advanced features
- Add support for multi-state images (
.mf0/.mf1). - Prepare for optional style directories in the future (like MUI’s
<optional style>).
- Add support for multi-state images (
- Define the new canonical path format:
THEME:Images//.mbr
- Audit and rename existing theme assets to match MUI identifiers.
- Convert all single-image assets to
.mbr. - Create placeholders or stubs for
.mf0/.mf1multi-state images.
- Modify Zunes “External” option to:
- Scan
Presets/Themes/for directories containing.mbror.mf#?. - Ignore directories without suitable image files.
- Generate image specifications automatically for detected themes.
- Update Zune configs to use these generated specs.
- Update
C:Decorationto look for the new path structure. - Keep compatibility with the old
THEME:Images/Gadgets/scheme for transition. - Provide developer guidelines and conversion scripts for theme authors.
- Extend image loading code to recognize
.mf0,.mf1, etc. - Add support in
C:Decorationand Zune configs for switching between states. - Update example themes to demonstrate
.mf#?assets in practice.
- Document the new scheme as the official AROS theming standard.
- Encourage theme authors to build cross-compatible themes.
- Consider adding optional
<style>subdirectories for advanced themes.
Here’s how a Classic theme might look under the new scheme:
Presets/Themes/Classic/
└── Images/
├── 16/
│ ├── ArrowLeft.mbr
│ ├── ArrowRight.mbr
│ └── Button.mf0
├── 32/
│ ├── ArrowLeft.mbr
│ ├── ArrowRight.mbr
│ └── Button.mf0
└── 64/
├── ArrowLeft.mbr
├── ArrowRight.mbr
└── Button.mf0
- Align AROS theming closely with MUI for easier theme sharing.
- Provide consistent naming and directory standards.
- Enable richer theming support (multi-state images, multiple resolutions, styles).
- Keep backward compatibility while migrating smoothly to the new scheme.