This is some kind of proof-of-concept and approach to achieve something like a Multiview/Datatypes (AmigaOS3.0/3.1) and Deficons (AmigaOS3.5/3.9) clone for AmigaOS 2.1.
Motivation
Back in the 90’s – still working with my A2000 with AmigaOS 2.1 – I somewhat envied all those who had the brand new AmigaOS3.x (x=0,1) running on their AGA machines. I was fascinated by the datatypes concept and the Multiview application. My addiction to DirOPUS 4 and its rather easy kind of data handling and file type/file action definition and my idea to use the „apig.library“ for programming OS defined GUI elements with ARexx lead to this software package.
Installation
To use all features of MultiShow you need at least the „apig.library“ and the „rexxreqtools.library“ ([Aminet: util/rexx/APIG], [util/rexx/RexxReqTools]) in your LIBS: drawer. If your are running this on AmigaOS < 3.5 you need the command „WBRun“ in your command path ([Aminet: util/cli/WBRun_fix] – it also needs an additional library „parm.library“ to be installed in LIBS:). If you’re using AmigaOS >= 3.5 DO NOT INSTALL the package „util/cli/WBRun_fix“, ‚cos since OS3.5 there is already an „WBRun“ command in your C: drawer. The path to the „WBRun“ command should be set up with the MSP.rexx application (see menu entry).
Copy the „MultiShow“ drawer wherever you like and make an „assign MultiShow:<yourpath>“. That’s it.
How to use
Double click the MS.rexx icon (RexxMast must be running, of course) and you see: nothing.
MultiShow itself is nothing more than a ARexx host that sits in your RAM and awaits commands to its ARexx port „MULTISHOW.1“. It is addressed by sending commands like this:
rx "ADDRESS MULTISHOW.1 'DH1:Pics/Bild4.iff'"
After getting an appropiate command it searches the „filetypes“ to recognize a file type and start a defined program (i.e. a picture viewer) by executing the corresponding user defined „command“. There are already some defined filetypes/commands in the package. There are some more keywords that can be sent to MultiShow – see „Help/MSHelp.text“ or „Help/MSHelp.guide“. For testing purposes you can give
rx "ADDRESS MULTISHOW.1 'REQ'"
a try – it should open a ReqTools requester to select whatever data file you want to be handled by MultiShow.
The MSP.rexx in the „Prefs“ drawer is the GUI driven part for defining file types and actions (i.e. launching a picture viewer) – very similar to DirOPUS 4. It features real file scanning like DOpus (not only file extension analysis). There is no help file for this but the screenshots in „Idee+Konzept“ and the pre-defined „filetypes“ and „commands“ should explain enough.
In the „Tools“ drawer are some utility scripts to bind the MultiShow ARexx host to a Toolmanager AppIcon – which was the main aim of this project. By configurating ToolManager to use this script with an AppIcon you can drop any file to that ToolManager AppIcon and MultiShow does the rest. But of course it can be used from every other software like DirMaster, DirOpus etc. as well. In the „Sources“ drawer are the more prettified scripts of MS.rexx and MSP.rexx with full comments. Sorry, all texts (guide, help files and source code comments) are still in German – but it should be rather straightforward to see what’s going on…
The End
This proof-of-concept lead to something that worked some years, almost every day, totally flawless, invisible and transparent on my AmigaOS2.1 machine. Even after upgrading to AmigaOS3.1 it was still in action (but often using MultiView as the defined viewer application).
I hope this package might be of use for your AmigaOS enviroment or as an extensive example what can be done with ARexx (i.e. using apig.library or making some cool voodoo with the self-interpretation feature of ARexx).
Requirements (from Aminet)
[util/rexx/APIG]
[util/rexx/RexxReqTools]
[util/cli/WBRun_fix] (only for AmigaOS < 3.5)
optional: [util/libs/iff.library-23]