Short: VisualPrefs quick fix for AmigaOS 3.2 Author: tanti@intercom.it (Massimo Tantignone) Uploader: tanti intercom it (Massimo Tantignone) Type: util/wb Version: 1.5n Architecture: m68k-amigaos >= 3.0.0 ----------------------------------------------------------------------- VisualPrefs - The Damage Control Edition ----------------------------------------------------------------------- Release 1.5n (30.5.2021) [see below for the latest changes] OVERVIEW This is a maintenance update to VisualPrefs 1.5k, whose main purpose is to make the program compatible with the new AmigaOS 3.2. That's because the 1.5k release doesn't quite get along with all the changes Intuition underwent in V47. Which was to be expected, since VP is a hack :) This release does not contain any new functionality, other than support for certain new OS 3.2 features. It _does_ contain some minor bug-fixes and optimizations. Still, if you don't use OS 3.2 and you're happy with VP 1.5k, there's probably no great benefit for you in switching. Anyway, a change log is included, so you can decide for yourself. Both VisualPrefs and the GUI editor are now working without limitations and therefore don't require a keyfile anymore. IMPORTANT NOTICE Please don't take this emergency release as a sign that the development of VisualPrefs has resumed. It has not, and very likely never will, for a number of reasons that can be summed up by "life goes on". As much as I'd like to, I no longer have the amount of spare time it would take to regularly maintain (let alone support) a project of this extent. (Not to mention that, as an OS developer, I'm really uncomfortable with the hacks the thing performs... I'd much rather keep updating Intuition to make more and more of its features possible in a clean way. AmigaOS 3.2 is actually a first step towards that.) So this is just a special "thank you" to all people who appreciated VP and stuck with it throughout the years, even when other more modern and powerful solutions became available. They were definitely owed a chance to continue using it even under OS 3.2, if they so wished. That said, of course I'll do my best to fix any new bugs in this update as quickly as I can. But please don't send new feature requests; that's simply not an option at this time, sorry. Besides, now the goal should no longer be to improve VisualPrefs... but rather to make it obsolete :-) DISCLAIMER Beware: even in this somewhat "fixed" version, VisualPrefs is still the same hack it's always been. Which means "use it at your own risk" -- or even better, don't use it at all ;) Also, while I will read and attempt to address every bug report sent my way, I may not be able to reply to all of them due to time constraints. I apologize in advance for that; be sure you will NOT be ignored. INSTALLATION Just rename the VisualPrefs and GUI executables best suited for the CPU of your Amiga, and copy them over your existing versions, then reboot. Make sure to back up the older executables before overwriting them with the new ones, in case you experience trouble and need to roll back. As this is only a quick fix package, you'll have to download the latest release archive (util/wb/VisualPrefs.lha) to get the full documentation. THANKS Huge thanks to Mikhail Malyshev, for his invaluable help in discovering VisualPrefs issues and testing my fixes during AmigaOS 3.2 development. This update would not have been possible without his assistance! CHANGES ------------------------ Release 1.5n (30.5.2021) ------------------------ Bug-fixes: - All of the Workbench screen's DrawInfo pens were being set to zero if the program was started with no gui.prefs file already present in ENVARC:Sys. Now fixed. Thanks to George Sokianos for making me aware of this bug! :) - Not exactly a bug-fix, but added the missing "(NOPALETTEPREFS)" tool type to the GUI editor's icon; you can remove the brackets to enable it. Its functionality was already implemented in release 1.5m (see changelog). ------------------------ Release 1.5m (13.5.2021) ------------------------ Bug-fixes: - Fixed a bug due to which a non-GimmeZeroZero window could open with wrong values in its GZZWidth and/or GZZHeight fields if its right or top border was made thinner after calling the original OpenWindowTagList(). - The internal "tbiclass" title bar image class didn't work on ignored (i.e. unpatched) screens. Now fixed. - No longer shifts horizontally the leftmost menu title in the screen title bar when a SBarLogo bitmap is used. It could happen with a few hand-built menu strips such as the one generated by Redit. - Changing the color of the Menu Background pen with the Palette editor can no longer cause menu images (e.g. checkmark, Amiga key symbol...) to have an incorrect background color; now the operation has no effect (just like changing any other pen with the Palette editor while VP is running). - Fixed a bug in the GUI editor's gadget setup which was triggering the new grid layout feature of V47 GadTools accidentally, with random ill effects. - Fixed screen title bar's horizontal offset when a SBarLogo bitmap is used under AmigaOS 3.2 or higher. Enhancements: - Dropped all code dealing with keyfile checking. VisualPrefs is officially freeware since many years, so that isn't needed anymore. - Added flag 0x400 (1024) to "VisualPrefs/Special" environment variable, to have bright edges of XEN frames drawn in SHINEPEN instead of HALFSHINEPEN. - No longer tries to modify a screen title bar's height if it is already of the desired height to begin with. - As a result of empirical observations, "VisualPrefs/SafetyLevel" does now default to "2" (highest protection against stack overflows). - Reworked and simplified the code so that CloseWindow() no longer needs to be patched. - No longer adjusts the aspect ratio of GadTools gadgets on RTG screens; an aspect ratio of 1:1 (aquare pixels) is now always assumed in that case. - BOOPSI scrollers in window borders had their recessed 3D frame needlessly drawn twice upon window refresh; now fixed. - No longer leaves an useless invisible (0 x 0) gadget in a window's gadget list after its opening. - Made some minor cosmetic touch-ups to the GUI editor. Most notably, it is now placing its sizing gadget in the bottom border. To put it back in the right border, use the tool type (or command line argument) SIZEBBOTTOM=NO. - The "Absolute"/"Relative" cycle gadget in the GUI editor is now disabled for the first and last four palette colors when editing the settings for the Workbench screen; Intuition keeps those eight colors in place at all times, so the user never needs to decide how to remap pens that use them. - Added new NOPALETTEPREFS switch to the GUI editor, telling it not to read or write ENV(ARC):Sys/palette.prefs in any circumstance. Try this in case of conflicts when using GUI together with the system Palette editor. Changes for AmigaOS 3.2: - Added support for sysiclass' new ICONIFYIMAGE under AmigaOS 3.2 or higher. - Added support for the new FRAMEF_MINIMAL flag in frameiclass' IM_FRAMEBOX method under AmigaOS 3.2 or higher. - Added support for the new FRAME_PROPBORDER, FRAME_PROPKNOB, FRAME_DISPLAY and FRAME_CONTEXT image types of frameiclass under AmigaOS 3.2 or higher. - MXIMAGE glyphs of sysiclass now support IA_EraseBackground. If FALSE, the pixels around the rounded corners won't be overwritten with BACKGROUNDPEN. - Even non-BOOPSI window scrollbars (like those used by Workbench) can now display a small recessed "hole" when running under AmigaOS 3.2 or higher. - Now uses a system-friendly mechanism, rather than a hack, to increase the height of screen title bars when running under AmigaOS 3.2 or higher. - Now tries to honor IControl's per-program GUI exception settings as much as possible when running under AmigaOS 3.2 or higher. - The formerly custom "Bar Contour" pen is now translated to the new system BARCONTOURPEN when running under AmigaOS 3.2 or higher. - The GUI editor now displays a different description for the "Bar Contour" and "Bar Trim" pens when running under AmigaOS 3.2 or higher. - The GUI editor does no longer specify "(BOOPSI only)" in the "Put hole in window scrollbars" option when running under AmigaOS 3.2 or higher. CONCLUSION Hope this helps. Or at least it doesn't ruin your day too much... ;) Enjoy! Massimo Tantignone