IMHO ==== --------------------------- Configuration ---------------------------- When you run IMHO.PRG the file IMHO.CFG needs to be in the same directory that you are running it from (or defined as the current path?). This file defines the configuration, and will be read by IMHO. You also need to have IMHO.RSC either in the same directory or somewhere that resource files can be loaded from - I'm not sure quite where the 'load resource' function will look. IMHO.CFG is a standard ASCII text file and can be amended with an editor such as the one bundled in this archive. Each line of the file must be in the format :- = Where is one of the following keywords, and is one of the allowable values for that keyword. There may be as many spaces either side of the '=' character as you like (or none) - but 's will NOT work. The keywords may be in upper or lower case (or mixed), and may appear in any order in the file. If keywords appear twice in the file, the last value set will apply. Some, but not all, of the keywords have default values. Keyword Value Default ------- ----- ------- Work Path Messages Path Replies Path Save Path Data Path Bookmarks Path Editor Path and File Archiver Path and File Extract String Compress String Copy Utils Yes/No/On/Off No Copy QWK Yes/No/On/Off Yes Edit Reply Header Yes/No/On/Off Yes Max Quote Line Number 80 Taglines Random/Choose/Yes/No/On/Off Random Add To REP Yes/No/On/Off/Ask Ask Save Bookmarks Yes/No/On/Off/Ask Ask Bookmark Comment 1 String Bookmark Comment 2 String Bookmark Comment 3 String Bookmark Chars n n n n 32 45 62 35 Flag Mine Read Yes/No/On/Off Yes File Viewer IMHO/Editor/Path and File IMHO New Files File NEWFILES.DAT Strip Junk Yes/No/On/Off Yes Heap Block Size Number 65536 Stack Size Number 4096 "Path" means the disk pathname for a directory, which must end with a '\' character. "Path and File" means a "Path" immediately followed by a file name. "File" means just the file name, with no path. "String" is a string of characters, without quotes - may contain spaces. Keyword : Work -------------- This directory does not need to exist beforehand - it will be created by IMHO if necessary. Several subdirectories will be created within this work directory, as follows. DECOMP\ - contains the current decompressed message packet QWK\ - contains copies of message packets that have been 'opened' REP\ - contains copies of reply packets that have been generated REPLIES\ - contains outstanding replies to messages TEMP\ - used for loading old reply packets, normally empty UTILS\ - contains editor and archiver if copy flag is on The reason for the QWK\ and REP\ subdirectories is to speed up decompressing and compressing of packets when using a ramdisk. I found that it was quite a lot quicker to copy a message packet into QWK\ and decompress it from there than it was to decompress directly from the original message packet. This also applies for creating reply packets - the packet is created in REP\ then copied to the reply packet folder. If a message packet is closed and reopened later on it will not be recopied into QWK\, the one that is already there will be used. Keyword : Messages ------------------ This needs to contain the compressed message packets that have been downloaded from a BBS. Keyword : Replies ----------------- This will contain compressed reply packets generated by IMHO, which need to be uploaded to a BBS. (Or you can upload from REP\ in the work directory) Keyword : Save -------------- When saving a copy of a single message from within the message displayer this is the default directory that will appear in the file selector. Keyword : Data -------------- This directory must contain the following data files :- IMHO.HED - header lines for replies IMHO.SIG - signature for replies IMHO.TAG - taglines for replies IMHO.USR - list of users and abbreviations You can also put .CNF files in here if you want to define aliases for messages areas (conferences) The format of these files is as follows:- IMHO.HED -------- These define the layout of the top of a reply to a message. Substituition variables can be used. These are defined as follows:- @d -> date (of original message) @t -> time (of original message) @r -> full name of person being replied to @rf -> first name @rl -> last name @mt -> full name of original message receiver (f for from) @mtf -> first name @mtl -> last name @mf -> full name of original message sender (t for to) @mff -> first name @mfl -> last name The first line in the IMHO.HED file is a "hello" line, which will be put at the top of a reply. For example Hi @rf, Will result in Hi Fred, If you're sending your reply to someone called Fred Bloggs. The next 5 lines in IMHO.HED are different versions of an "intro" line which will introduce the reply. One of these will follow the "hello" line in the reply. The line that will be used is determined as follows:- Line 2: if original message was sent to you Line 3: if original message was sent to ALL Line 4: if reply is to sender of original message Line 5: if reply is to receiver of original message Line 6: if reply to neither sender nor receiver of original message See the supplied IMHO.HED file for examples. IMHO.SIG -------- This contains a "signature" which will appear at the end of a reply. You can put a 'big' multiple line signature in here. See the supplied IMHO.SIG file for an example. IMHO.TAG -------- This file contains "taglines". These will be inserted at the bottom of the reply, after the signature. They are put in before the reply is edited, so you can see it and change or delete it within the editor if you so desire. The substitution variables mentioned above also apply to taglines, so you can have "personalised" taglines in which the recipient's name will appear. The length of the tagline, after substitution, must be less than 76 characters or it will be truncated. Comment lines begining with '*' can appear in the tagline file, and will be ignored. See the supplied IMHO.TAG file for examples. IMHO.USR -------- This contains a list of abbreviations for users you often send messages to. The format of each line is [@
] [!] where :- is the short abbreviation for a name (no blanks allowed) is the full name of the person
is the FidoNet address is a comment Addresses and comments are optional; but an address, if present, must come before any comment. The maximum lengths of the fields are 15 characters 25 characters
15 characters 20 characters To use the abbreviations when replying or sending new messages just put a '*' character followed by the abbreviation specified in the file in the "To:" field of the "header" dialog box. See later for more about this dialog box. If you blank out the "To:" field and hit you will be prompted with a list of users which you can select with the mouse. Comment lines begining with '*' can appear in the user file, and will be ignored. See the supplied IMHO.USR file for examples. .CNF --------- QWK area names (or conferences) are only 12 characters, which often makes it difficult to figure out what the area is without going back onto the BBS and looking up the full name. To get round this you can set up a .CNF file, where the file name prefix before the '.' equals the BBS id in the CONTROL.DAT file which is extracted from the message packet - should be the same as the QWK packet name downloaded. You can also use this .CNF file to arrange the areas into whatever order you want them to be displayed - so you can put all the "interesting" areas at the top. The file is arranged as 2 lines for each area you want to define an "alias" for. The first of each group of 2 lines must be the 12 character QWK area name, and the second line in each group must be the alias definition. An alias can be up to 30 characters, and can have optional "flags" to mark it as private and/or netmail. The flags are "*private" and "*netmail". E.g. Wombat stret Wombat stretching - general Wombat bendi Wombat bending for beginners *private Netmail Netmail area *private *netmail This seemed to me a better way of doing it than defining by area number, as the numbers sometimes (on my BBS!) change. The best way of setting this file up is to open a message packet and get hold of the CONTROL.DAT from DECOMP\ in the work directory. This has a list of all the 12 character QWK names in it which you can hack out and put into a .CNF file. You do NOT have to define all the areas. Any that you do define with aliases will appear with the alias names in the order specified in the file. Any not defined will appear after the list of alias names, with their normal 12 character QWK names, in the order they appear on the BBS. The *private flag sets the default for replies and new messages for that area. It can still be changed to public at the time you enter it, if you wish to. The *netmail flag defines the Netmail area for the BBS. This area will be processed slightly differently from the other areas as the "subject" is used for the "address" in QWK reply packets. The format for the address is '@' followed by the Fido address. This causes problems with the Atari as putting '@' into a dialog box text field causes the trailing characters to get blanked out! To get around this, IMHO automatically puts in an '@' for you in the Address/Subject field. So just put the address in without an '@'. If you have defined an abbreviation for a user with an address IMHO will also put that address in for you when it expands the abbrevation to a full name when putting a message in the netmail area. Also if you are replying to a netmail message and the user you are replying to has been defined with an address in the .USR file, IMHO will put the address in for you. Keyword : Bookmarks ------------------- This is where IMHO will store "bookmark" files. You can set one bookmark place holder for each area in a message packet to remember where you have got up to in that area. When coming back to the packet at a later time, you can tell IMHO to jump to a bookmark. The Read/Replied/Marked flags are also stored in the bookmark file. Each packet has its own set of bookmarks. The bookmark file name corresponds to the message packet for which the bookmarks are to be held. There is also a SUMMARY.ALL file stored in this directory. This contains summary information for all packets (that have been opened) in the "Messages" directory. Keyword : Editor ---------------- This tells IMHO where the editor is. IMHO does not have any built in editor - it needs an external one. One has been supplied with this archive, see in the EDITOR\ directory for documentation on how to use it. If you want to use your own favourite editor, just put the path and file name in the .CFG file. If your editor uses resource files or data files you may have some problems as it will probably not be able to find them when the editor is executed from IMHO. In this case probably the best thing to do is put IMHO and the editor into the same directory. Keyword : Archiver ------------------ This tells IMHO where the archiver is. It should be able to run with any archiver, as the command strings are also specified externally in this .CFG file, see below. Keyword : Extract ----------------- This string will be passed as a parameter to the archiver program with the value "@packet" replaced with the packet that is being extracted, and the value "@path" replaced by the path to which it needs to extract it. N.B. The "@path" value will end with '\' and the archiver program must be able to support extracting to a path in this way. For example, the string needed for LHARC is x @packet @path Keyword : Compress ------------------ This string will be passed as a parameter to the archiver program with the value "@packet" replaced with the packet that is to be created, and the value "@file" replaced by the file(s) which will be put into the packet. For example, the string needed for LHARC is a -m @packet @file The "-m" flag is needed to suppress warning messages about the file type not being "LZH". Keyword : Copy Utils -------------------- If this flag is set "On" a subdirectory UTILS\ will be created in the work directory and the editor and archiver will be copied into it when IMHO is first run. If you exit from IMHO and run it again later it will not copy them again, as long as they are still in UTILS\. This can be used to copy the editor an archiver into a ramdisk, when using one for the work directory, in order to speed up execution of these programs. Again, though, if your editor (or archiver) uses resource files or data files this may cause problems, as IMHO won't know about them and they will not be copied. Keyword : Copy QWK ------------------ If this flag is set on then when a message packet is opened it will be first copied into the QWK\ subdirectory in work, and dearchived from there. This makes it quicker when a ramdisk is used for "work". If you have little free memory you can turn this off to save some space in your ramdisk. If you are using a hard drive for "work" then you should switch this copy off, as it just wastes time and space! Keyword : Edit Reply Header --------------------------- If set on you will be prompted with a "header box" GEM dialog each time you reply to a message, in which you can change the recipient of the reply, the subject, the area and the public/private flag. If you don't want to change anything when replying to a message, you can set this off. You will then go straight into edit mode when you reply. Keyword : Max Quote Line ------------------------ This must be a decimal number, 80 or less. When doing a "quoted" reply the original message is reformatted to allow for the inserted "XX>" characters. The length specified by this keyword will restrict lines to be less than or equal to that length. The editor I use has a window which displays 72 characters when first invoked, so I set this value to 72 so that quoted lines do not disappear off the end of the window. This does not of course apply to lines which have already been quoted by other OLR's - these lines are left intact. Keyword : Taglines ------------------ The values "On" or "Yes" are equivalent to "Random", in which case taglines will be picked at random. If you set this to "Choose", a list of taglines will be displayed when you reply to a message, or enter a new one. You can scroll up and down the list and select one by clicking, or hit the key to select one at random. If taglines are switched off, none will be generated, and the IHMO.TAG file will not be loaded - thus saving memory. Keyword : Add To REP -------------------- This determines what happens if you create a reply packet when there is already a .REP packet in the work REP\ directory for the current BBS. The default 'ask' uses a pop-up box to ask if you want to add replies to the .REP in work or make a new .REP packet. Setting this to "Yes" or "On" will cause replies to be added without any prompting. Setting this to "No" or "Off" will cause a new reply packet to be created each time. Keyword : Save Bookmarks ------------------------ This determines what happens when you close a message packet. The default 'ask' uses a pop-up box to ask you if you want to save bookmarks (with comments). Setting this to "Yes" or "On" will cause bookmarks to always be saved, without any prompting. But if you do this, you will not be able to change the comment. Setting this to "No" or "Off" will bypass the bookmark saving at the time of closing the packet. (You can still use the "Save Bookmarks" button on the open packet screen to save them, if needed). Keyword : Bookmark Comment 1,2,3 -------------------------------- These specify 3 preset comments for putting in the bookmarks for a message packet. The strings can be up to 35 characters long and may contain spaces. The strings will appear in the 3 corresponding buttons of the box that pops up when saving bookmarks. You can set these to the 3 most oten used comments to save typing. E.g. "Finished this packet", "Urgent replies needed", etc. Keyword : Bookmark Chars ------------------------ This allows you to change the single character 'marks' displayed at the left of a list of messages which indicate if they have been Read, Replied to, or Marked (or none of these - unread). You must follow the '=' with four decimal numbers which correspond to the ASCII codes of the characters you wish to use. 1st character : used for unread messages 2nd character : used for read messages 3rd character : used for messages replied to 4th character : used for marked messages e.g. Bookmark Chars = 32 45 62 35 Which will use the default ones (blank, -, > and #). You can use 'high' ASCII characters as well, i.e. numbers greater than 127, but don't use zero or you won't see any message list! High ASCII characters may look a bit strange - some of them seem to have the bottom pixel line of the character moved to the top - I'm not sure why! Keyword : Flag Mine Read ------------------------ If you have this set "on", (default), any messages in the packet that have been sent by you will appear flagged as "read" in the message list. This is so the "unread" count in the list of message areas does not include ones that you have sent, and you don't have to go and read all your own messages to get the count to disappear. If you like to make sure you've read all your own messages you can set this option off. Keyword : File Viewer --------------------- This controls the method used to display a file with the "View File" button. The default ("IMHO") uses a very basic built in viewing routine which lets you scroll up and down a page at a time with the left and right arrow keys. If you set this to "Editor" it will use the same editor that is used for replying to messages to "view" the file, i.e. it will edit the file. If you want to use a different file viewer you can put the path and filename of the program in here, e.g. File Viewer = x:\utilities\viewers\goodview.prg Keyword : New Files ------------------- This can be used to set the name of the file contained in the message packet which hold a list of new files on the BBS. There is no standard file name according to the specification for QWK format packets, but NEWFILES.DAT (the default) is often packed along with the messages. If you have a file with a different name contained in the packet archive you can set it here. Keyword : Strip Junk -------------------- This parameter controls the display of messages. The messages produced by some mail doors contain information relating to the routing around networks. These make the messages difficult to read. The default setting is to strip off these extra lines when displaying a message. The "junk" lines are lines at the top and bottom which start with a '^A' character (ASCII 001), and lines at the bottom which start with "SEEN-BY". If you want to see these lines you need to switch this parameter off. Keyword : Heap Block Size ------------------------- This allows you some control over the memory allocation. See the file MEMORY.TXT for more details on the use of this keyword. Keyword : Stack Size -------------------- If you get a stack overflow message you can increase this parameter. Ramdisk ------- The ramdisk supplied in the AUTO\ directory is a reset proof one. I didn't have any documentation with it when I got it, but it's so straightforward to use that you don't need any. Just boot with ENTERNAL.PRG in AUTO\ along with it's RAMDISK.DAT file and it will be installed. (It causes a "double boot" during the installation). (It also needs a disk Icon setting up on the desktop, of course) To change the drive letter and/or size of the ramdisk run the CONFGRAM.TOS program - this will prompt you for a new letter and size (in K) and will update the RAMDISK.DAT file. In order for the change to become effective you need to do a cold boot.