@database Man.rexx.doc @width 75 @node main "Man.rexx.doc" @Next "INTRODUCTION" Man.rexx.doc @{"INTRODUCTION: " Link "INTRODUCTION"} @{"MOTIVATION: " Link "MOTIVATION"} @{"LEGAL STUFF: " Link "LEGAL STUFF"} @{"CONTACTING ME: " Link "CONTACTING ME"} @{"REQUIREMENTS: " Link "REQUIREMENTS"} @{"INSTALLATION: " Link "INSTALLATION"} @{"USAGE: " Link "USAGE"} @{"CUSTOMIZATION: " Link "CUSTOMIZATION"} @{"LOCALIZATION: " Link "LOCALIZATION"} @{"PROBLEMS: " Link "PROBLEMS"} @{"TO DO: " Link "TO DO"} @{"UPDATES: " Link "UPDATES"} @{"HISTORY: " Link "HISTORY"} @{"THANKS AND GREETINGS:" Link "THANKS AND GREETINGS"} @endnode @node "INTRODUCTION" @next "MOTIVATION" INTRODUCTION: ¯¯¯¯¯¯¯¯¯¯¯¯¯ Man.rexx is a little ARexx programm that helps to display any manual stored in your manual drawer or any other path. All what it does is to identify the format of the manual and load it into your favorite programm to display the text. That's all. @endnode @node "MOTIVATION" @next "LEGAL STUFF" MOTIVATION: ¯¯¯¯¯¯¯¯¯¯¯ Preferably I use the shell and I nearly try out every programm I can find on the aminet. Due to this I often find useful programms and than the manual resides on my harddisk. At this point every 'Man' like programm comes into the game. You store your manuals in a seperate drawer and then you want to use them from your shell. The idea is that you only type something like 'man blablabla' and the programm is looking for the appropriate manual in the supported path and then shows the manual. The reason why I wrote this little thing is that I wanted to figure out the power of ARexx. I found out it has power. And now I know that the advantage of this or any comparable script compared to any other programm for this purpose is the nearly unlimited configurability. The user can expand it as he likes. @endnode @node "LEGAL STUFF" @next "CONTACTING ME" LEGAL STUFF: ¯¯¯¯¯¯¯¯¯¯¯¯ Man.rexx is CARDWARE, that means that you should send me a postcard or letter if you use the programm or just like to do so. Man.rexx may be freely distributed. I give permission to everybody to do what ever he/she/it wants to do with it. But ... 1) EVERYBODY WHO TAKES PART, SUPPORTS OR APPROVES **ANY KIND** OF RACISM IS EXPLICITLY FORBIDDEN TO USE THIS PROGRAMM FOR **ANY** PURPOSE. 2) You may not charge money for the programm except your costs for copying and distribution. You may not charge more than 5.- DM or equivalent for one disk on which the programm can be found. 3) Please do not change the script and distribute it again, you may change the script only for personal use. @{"See UPDATES:" Link "UPDATES"} 4) Please tell me any changes you want to have implied. I will try hard to do so. @{"See UPDATES:" Link "UPDATES"} 5) Please send bug reports or suggestions, help is always welcome. Especialy send translations of the internal strings (easy) or the manual you're reading ;^] in any language. @{"See UPDATES:" Link "UPDATES"} 6) In the meaning of cardware PLEASE send me a postcard to the following address. If you want, you can send money or your programms for betatesting or ... 7) I give permission to include this programm in any PD-Collection. Especialy to Fred Fish. 8) No warranty is given for anything. Use at your own risk. I know that this programm is not really worth this many lines about what is allowed and what not. But ... @endnode @node "CONTACTING ME" @next "REQUIREMENTS" CONTACTING ME: ¯¯¯¯¯¯¯¯¯¯¯¯¯¯ Nothing easier. Use one of the following ways to get in contact with me. For any purpose ;^]. E-Mail: wloske@cip.e-technik.uni-erlangen.de Ordinary mail: Wolfgang Loske Stubenlohstraße 28 91052 Erlangen @endnode @node "REQUIREMENTS" @next "INSTALLATION" REQUIREMENTS: ¯¯¯¯¯¯¯¯¯¯¯¯¯ Nothing easier, again - An Amiga computer with ARexx installed. @endnode @node "INSTALLATION" @next "USAGE" INSTALLATION: ¯¯¯¯¯¯¯¯¯¯¯¯¯ Nothing easier, again again. Simply copy the script of your native language (if available) to your REXX: drawer. You can give it any name you want, with or without extension. But for better transparency you should not change neither name nor extension. Addition since Version 1.1 ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ You have to copy the file "ManPrg" to your env: and envarc: drawer. This file contains the commands called by the programm. @endnode @node "USAGE" @next "CUSTOMIZATION" USAGE: ¯¯¯¯¯¯ Nothing eas... Implied that the REXX: drawer is in your command path you only have to type the chosen name of the programm preceded by 'rx' and followed by the full path of the manual you want to read. Example: 1> rx man(.rexx) Man:Man.rexx.doc ^- extension must not be typed This will read this file in your favourite reader. @{"See CUSTOMIZATION:" Link "CUSTOMIZATION"} You also can make an 'alias' to have easier access and less typing. Just add the following line to your shell-startup. Example: ... alias man 'rx man Man:[]' ... ^--^-^ ... | `- placeholder for commandline argument `- assignment to the drawer where your manuals are. Means even less typing, but gives disadvantages in using any other path. Addition since Version 1.1 ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ You may now give the "Set" keyword as argument which calls the internal configuration routine. @endnode @node "CUSTOMIZATION" @next "LOCALIZATION" CUSTOMIZATION: ¯¯¯¯¯¯¯¯¯¯¯¯¯¯ Addition since Version 1.1 ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ Customization has become a bit different. Read this section carefully if you used a previous version of the programm since there are major changes. * How to change/add a programm: The only thing you have to do is to execute the programm with the "Set" keyword as argument. The programm will ask you for the programms you want to be used by the progamm. The programm prints the currently used programms and then presents you a prompt. Just type in the whole command as you would have typed it in the shell, with all arguments. If you're satisfied the new configuration will be saved to both env: and envarc: drawers. You may also edit the "ManPrg" file with your editor but take great care of the char's used to delimit the subsections of the string. I used a semicolon ";" between the subsections and a doublecross "#" at the end. * How to change/add an extension/texttype - Search for the line 'ADDRESS COMMAND'. a) If you want to replace an extension then change the text between the single quotes to the extension you like. You must use uppercase since the extensions are compared in uppercase to avoid problems occuring when filename extensions are in mixed case - like in 'Man.rexx.DoC'. Example: when ManExt = 'GUIDE' then ^¯¯¯^ `-+-' REPLACE b) If you want additional extensions to one type of file, then you have to add this before the 'THEN' in the way used in the script for text that should be treated as normal ASCII text. You must use uppercase since the extensions are compared in uppercase to avoid problems occuring when filename extensions are in mixed case - like in 'Man.rexx.DoC'. Example: when ManExt = 'GUIDE' | ManExt = 'AG' then ^¯¯¯¯¯¯¯¯¯¯¯¯¯^ `-- ADDED --' c) This has changed with Version 1.1. You may not add a type of texts as easy as before furthermore. This is due to the use of the "ManPrg" variable. I'm working on a solution of this drawback. Perhaps I will use a second variable in env: to make this as easy as it has been. @endnode @node "LOCALIZATION" @next "PROBLEMS" LOCALIZATION: ¯¯¯¯¯¯¯¯¯¯¯¯¯ If you want to translate the internal strings into your native language or any other language you prefer, go on. The only thing to do is to start your editor and search for the string I used to indicate an outputstring and then translate it to your language. The string I used is: /** STRING **/ <==-- (as read) The following line(s) include(s) the string to be translated. Please take care that you always stay inside the quotes. It may sometimes look confusing, but the quotation marks are really needed. If the line gets to long, you may use a comma "," to cut the lines into two or more parts - ARexx will concat these parts together. @endnode @node "PROBLEMS" @next "TO DO" PROBLEMS: ¯¯¯¯¯¯¯¯¯ If you're not able, due to any reason, to change the script then get in contact with me and tell me about your problem. The same applies for any other problem concerning the programm. Please supply sufficient information about the problem. @{"See CONTACTING ME:" Link "CONTACTING ME"} @endnode @node "TO DO" @next "UPDATES" TO DO: ¯¯¯¯¯¯ Now we talk straight. This programm seems to be useless at the moment. But mention, it's only the first release. - Include wildcard support - Ask the user for the programms to use (Included in V1.1) - GUI would be nice. Help is _VERY_ welcome. But this will take a while since I just started with ARexx programming. - Your suggestion here. @endnode @node "UPDATES" @next "HISTORY" UPDATES: ¯¯¯¯¯¯¯¯ Updates may be found on any aminet ftp-server. I will not send any personal updates to anyone. This little thing is not really worth this much effort. @endnode @node "HISTORY" @next "THANKS AND GREETINGS" HISTORY: ¯¯¯¯¯¯¯¯ Version 1.0: ¯¯¯¯¯¯¯¯¯¯¯¯ - First release Version 1.1: ¯¯¯¯¯¯¯¯¯¯¯¯ - Added a routine which asks the user for the programms he likes to use. So you need not to change the script anymore. Version 1.2: ¯¯¯¯¯¯¯¯¯¯¯¯ - I discovered the "parse var" function, so I replaced some really stupid things. - Cleaned the code up a little bit and made it more readable. - Included "RexxOpt" in the package. Author: Ulrich Sibiller Usenet: sibilluh@trick.informatik.uni-stuttgart.de @endnode @node "THANKS AND GREETINGS" THANKS AND GREETINGS: ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ In no particular order my thanks and greetings go out to: Klaus und Ulrike Loske, the best parents in the world, IMHO ;^]. Dirk Eberlein, the guy owning an Amiga 1000 and who aroused my interest for this machine. Fred Fish, the guy everybody should now. Thanks for your work, Fred. Jonathan Potter, the guy who wrote the greatest directory utility that is available, fortunately only for the Amiga ;^]. Janine Urbat, my former girlfriend who gave me the best years in my life so far. ;^] and /¯\ /____ She will know what I mean. \_/ \ Heike Truckenbrodt, for being at the right place at the right time or just the opposite, who knows. Bill Hawes, the guy who is responsible for ARexx ;^] All the guys on amiga.physik.unizh.ch, for founding the great aminet. Ulrich Sibiller, for RexxOpt which is included in this package. Carsten Melberg, Günter Rehm, Ingo Berndt, Christoph Glomsda, Rainer Kesper, Stefan Seip, Roland Julius ... and all the others who think they should be mentioned here. @endnode