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.
WHAT IS NEW IN 3.0
EACH MENU TYPE HAS ITS OWN SETTINGS
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.
A MUI PREFERENCES EDITOR
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.
ADJUSTABLE DROP SHADOWS
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 2, 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 BUG FROM 1999 FIXED
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. :)
ONE CYCLE FOR THE MENU BACKGROUND
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.
AN OPENING DELAY YOU CAN SET
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.
STABILITY
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 PUBSCREEN tooltype 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.
- MMPORT read 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.
REQUIREMENTS
- 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
BUILDING
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.
THANKS
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.
|