Short: Logical Device Manager Author: sisk637 cyberonic com (Robert A. Sisk) Uploader: sisk637 cyberonic com Type: util/misc Version: 2.8 Replaces: util/misc/AssignToy.lha Requires: util/libs/mui38usr.lha util/rexx/rxmui.lha util/rexx/royalbridge11.lha Architecture: generic AssignToy is a GUI version of the AmigaDOS Assign command. It is a MUI application written in ARexx, developed on an A4000/040 with AmigaOS 3.9 + BoingBags 1 & 2, MUI 3.8, RxMUI 42.2, and RoyalBridge 1.1. I use the Icon datatype class, util/dtype/IconDT44.lha, so several About windows look a bit prettier. The links in the About requesters use OpenURL, comm/www/openurl.lha. To make the About AssignToy address link work, in OpenURL preferences I edited my mailer command's address argument so the keyword is joined to its value by a space instead of an equals sign. The equals sign apparently exposes a bug in dos.library/Execute() that assumes an angle bracket indicates a stream redirection. AssignToy is a demonstration of the power of ARexx and RoyalBridge to access arbitrary libraries (in this case dos.library). By releasing this script, I hope to encourage more development in ARexx. Startup Options: If AssignToy receives options from the command line or from the Cmd tool type, it processes them with the following argument template. Otherwise, it reads its options as tool types with the same keywords. ListSelectFix/S,NList/S,NoBubbleImages/S,PubScreen/K · ListSelectFix applies a workaround for MUI's List Select bug (see below). This option is ignored when the NList option is in effect. · NList substitutes NListview and NList classes for Listview and List. · NoBubbleImages substitutes a device list help bubble without images, which are mishandled by MUI. · PubScreen names a public screen to open on, overriding the corresponding setting in MUI preferences. Operation: The gadgets have help bubbles that describe their functions. In the device list the volumes and logical devices use MUI's dedicated Volume and Assign images, respectively. For mounted devices I arbitrarily chose the HardDisk image. The actual images displayed are, of course, your preferences. ;-) The defaults are rather unattractive in my opinion; I use these: HardDisk: External Goonie/NewLook/11pt/HardDisk Volume: External Goonie/NewLook/11pt/Disk Assign: External Goonie/NewLook/11pt/Assign Known Problems: Images in help bubbles are vertically misaligned by MUI. See the NoBubbleImages option above. When the mouse is over a listview gadget with a pop-up menu, window menu shortcut keys don't work. According to YAM 2.4's YAM.guide > Known Problems page, this is MUI's fault. You can disable pop-up menus by unchecking the Settings > Enable Pop-Up Menus? menu item. List class's Select method fails to trigger SelectChange notification. To demonstrate the bug, activate a logical device and from the target list's pop-up menu choose the All item. The None item remains disabled. See the ListSelectFix option above. When a device is active, inserting a new entry via the Assign button jumps to the active entry. This is apparently a bug in RxMUI or MUI. Moving the balance bars can prevent the window from resizing correctly. Apparently a MUI bug. History: 2.8 Fixed bug: Last fix was broken. 2.7 Fixed bug: Mishandled 32-bit memory address values. 2.6 Fixed bug: New Device string disallows control characters. 2.5 About ARexx window listview now scrolls from keyboard without needing to be activated first (like About MUI listview). 2.4 About ARexx window library list now shows version and date. Removed About RoyalBridge window. 2.3 Added About RoyalBridge window. Expanded documentation. 2.2 Sets current directory to home drawer earlier so opening libraries always searches there. Ctrl C and halt interrupts no longer write console message before exiting. 2.1 Bug fix: Assigning a new logical device whose name already existed as a volume or a mounted or logical device crashed. 2.0 First Aminet release. I welcome your comments and questions.