Enhanced Intuition menus - pop-up, sticky, transparent - for AmigaOS 2.04 and newer.
MagicMenu 3.0 is a new and improved version of the utility that has been
replacing Intuition's menus since 1993. Every setting that decides how a menu
looks can now be different for pull-down and pop-up menus. The preferences
editor has been rewritten in MUI. It is far easier to read than the old one,
and it greys out whatever cannot apply. Drop shadows are adjustable at last.
Most importantly, this release fixes the transparency bug that has been
leaving holes in transparent menus since 1999, along with many others. The
transparency and backdrop rendering also got measurably faster. Some thirty
more crashes, hangs and leaks were found and fixed. The full changelog is in
ChangeLog.
Pull-down and pop-up menus each get their own column, so the two can be styled completely independently: menu style, recessed look, menu control, opening delay, selection frame, separator bars, submenu marker, centering, and drop shadows down to their distance and intensity. The old three-way Type cycle became two enable checkmarks heading those columns; with both ticked the pointer position picks the menu, exactly as before. Existing configurations map over unchanged.
The preferences editor has been rewritten from the ground up in MUI, with the emphasis on clarity. Each setting is a row, with the pull-down and pop-up columns side by side, so you can see at a glance where the two menu types differ. Every gadget carries bubble help that explains what it does.
Just as important, anything that cannot take effect is greyed out while you work. Switch a menu type off and its whole column goes with it. Pick a look that does not use the configurable pens and the colour settings grey out. Turn drop shadows off and the distance and intensity sliders follow. You are never left wondering whether the setting you just changed is doing anything.
MUI 3.8 is enough: on real hardware it is much lighter than MUI 5, so that is what most people run there, and MagicMenu respects it.
The 256-color banner is built into the editor. It only shows on screens with 256 colors or more.
If you want to use your own banner, put a magicmenuprefs.pic next to
MagicMenuPrefs. The image file can be any format your datatypes support, and
MagicMenuPrefs will always display it - regardless of screen depth. If the
format is not recognized, the built-in banner comes back.
Three things left the configuration tabs altogether. Non-blocking mode and
the Verify and Fix patches switches moved into the editor's own Settings
menu, where they belong - none of them is a setting for how a menu looks.
Create icons is gone as a gadget and is controlled purely by the
CREATEICONS tooltype now, the way every other preferences editor on the
system does it.
The shadow is no longer take it or leave it. How far it extends is a slider, from 1 to 10 pixels. How dark it is, is a second one, from 1 to 100 per cent - that one works on truecolor screens, where the shadow darkens the real pixels underneath; on a palette screen a dedicated Shadow pen does the job instead. Both sliders are per menu type, like everything else on that tab.
The old "floats higher" effect is gone with them. MagicMenu used to deepen the shadow as the menus nested, so a menu bar strip, its menu and its submenu cast 3, 5 and 7 pixels whatever you had asked for. Every box now casts the shadow you chose, and how far it reaches and how dark it is are both yours to set.
Transparency arrived in MagicMenu 2.26 in 1999, and it carried a bug from the very start: open a transparent menu, move along to another title, and the new menu came up with blank patches in its background - exactly where the previous one had been. MagicMenu took its picture of the screen before the applications underneath had a chance to paint back over the hole the closed menu left behind.
After more than a quarter of a century of happy and undisturbed service, that bug has been sent into retirement. :)
Solid Color, Transparent, Image or Transparent Image, per menu type. Those four are the only things the renderer has ever been able to do, but three separate switches expressed them between them, and could also express combinations that did nothing - which is why "Allow transparency" could not be switched off while a backdrop was loaded.
From Off through 100 to 1000 milliseconds, separately for each menu type, instead of a single on/off switch. The two are worth setting apart because they are swept differently: a pull-down bar is crossed horizontally and every direction of travel counts, while a pop-up strip is a vertical list where only vertical travel reads as being on the way somewhere.
These are the fixes that matter:
- A
Forbid()was left permanently in force, so multitasking never resumed. - The menu item renderer could enter an endless loop.
- Memory was taken from one allocator and handed back to another, and static images were freed into the memory pool.
- Teardown ordering could park foreign tasks on semaphores that were being destroyed underneath them.
- The colour remap tables were read out of bounds.
- A catalog id shift would have mistranslated 67 strings for every non-English user who still had a 2.x catalog installed.
- The preferences window ignored the screen it was told to open on, which also
made the
PUBSCREENtooltype inert. - The opening delay applied only to the first box of a quiet stretch.
- Drop shadows were drawn at half the configured intensity at distance 1.
- The blocking-mode renderer ignored the Shadow pen entirely.
MMPORTread past the end of a 2.x peer's structure.- A green colour component was clamped against blue's bound.
- The whole multicolour look was lost when the shadow pen alone could not be allocated.
- A dozen controls were greyed out while still in use, or editable while having no effect.
- AmigaOS 2.04 or newer. The multicolor 3D look and the editor's color controls need 3.0.
- MUI 3.8 or newer for the preferences editor (muimaster.library 19+; MUI 5 is a free download from https://muidev.de).
- 64 colours on the editor's screen, or its colour half is simply absent.
Tested on AmiKit: AmigaOS 3.x, 68020, 32-bit truecolor RTG, no crashes.
AGA, OCS/ECS, plain 68000 and AmigaOS 2.x are untested - reports welcome: https://github.com/AmiKit/MagicMenu/issues
Cross-build on Linux or WSL: make (vbcc, NDK 3.9, MUI 5 SDK; see the header
of the Makefile for the expected toolchain layout). The commodity alone -
make MagicMenu - needs no MUI SDK.
The rest of the release is built on the host, and each step wants a tool of
its own: make catalogs needs awk and a host C compiler, make readme needs
python3, and make archive needs jlha from jlha-utils. The lha in most
distributions today is Lhasa, which only extracts, and which drops non-ASCII
file names when it does. make checkcatalogs verifies the built catalogs
against the generated header and needs python3.
make gccwarn runs a
-Wall -Wextra pass with Bebbo's amiga-gcc as a second opinion - it compiles,
never links, and writes no object. GCC is deliberately not the build compiler:
a GCC/libnix build of the commodity crashed at boot every time, inside the
libnix startup before main(), while the identical source built with vbcc
runs.
MagicMenu is Martin Korndörfer's program. He wrote it between 1993 and 1997, and Olaf 'Olsen' Barthel, Stephan Rupprecht and Jens 'Damato' Langner carried it from there to 2.35. Version 3.0 exists only because they put the sources under the GPL and left them in a state anyone could pick up. The artwork is Mario 'padrino' Cattaneo's, and it is still what gives the multicolour look its character.
MagicMenu up to 2.35 (1993-2010) by Martin Korndörfer, Olaf Barthel, Stephan Rupprecht and Jens Langner. Their work, its full history and the original release archives are at https://github.com/jens-maus/magicmenu - this repository begins at 3.0.
MagicMenu 3.0 (2026) by Jan Zahurancik / AmiKit, https://www.amikit.amiga.sk
The DualPNG icons are by Ken E. Lester, Jr. (the original icons are kept beside them for anyone who prefers the older look).
Released under the GNU General Public License, version 2 or later. See
LICENSE. The complete source for this release is at
https://github.com/AmiKit/MagicMenu - you are entitled to the source of any
binary you receive.


