KWQ Mail/2 A 32 Bit Mail Reader For OS/2 Presentation Manager Version 1.2 Copyright 1992-1993, Kurt Westerfeld Registration and Information: Kurt Westerfeld 7935 Tyson Oaks Circle Vienna, Virgina 22182 June 24th, 1993 Introduction Congratulations! You've managed to beg, borrow, steal or download a copy of the new 32 bit QWK mail reader for OS/2 Presentation Manager. With KWQ Mail/2, you will be able to read mail generated by many popular electronic bulletin boards while remaining in the comfort and confines of your own OS/2 2.X system. KWQ Mail/2 is a shareware package. To those of you who don't know or have a vague idea what this means, read on. Otherwise, skip to the next section. Shareware is software you may "share" with your friends and colleagues. You may use KWQ Mail/2 as much as you wish for up to 45 days with absolutely no obligation to buy it. But shareware isn't free. You must pay for KWQ Mail/2 if you decide to use it past 45 days. The initial charge for KWQ Mail/2 is $25, which will not include printed documentation and disks initially, However, registering KWQ Mail/2 will include free upgrades to the software for up to but not including the next major revision (ie, 1.X to 2.0). Some time at a later date printed documentation may be available, depending on demand. Registration is available via the Compuserve software registration forum. The cost for registering electronically through this service is $30. The copy of KWQ Mail/2 you have is not crippled, and hopefully it isn't "annoyware." However, there are a few features that aren't provided by the reader unless you buy it. These features that are left out with the demo version are very minor, and should in no way hinder your ability to evaluate the product. The first feature that is not available in the demo version is the disabling of the "tagline feature." (Taglines are described later on in this document) When using the demo version of the product, the taglines will always be enabled. The second difference between the demo and registered copy is that there is a product information dialog box KWQ Mail/2, Version 1.2. Page 1 that appears when KWQ Mail/2 is initially run; registering KWQ Mail/2 removes this screen. What is a Mail Reader? You may have received this copy of KWQ Mail/2 because you are curious, because someone told you about it, because you are looking into electronic mail, or any of a hundred reasons. However, the term "Mail Reader" is many times confusing, and it bears mentioning what exactly is meant by this term. First of all, KWQ Mail/2 is not a communications program or terminal emulator. In fact, it knows nothing and cares for even less about the communications ports on your computer. KWQ Mail/2 is a program written specifically to decode mail files that you obtain from an electronic service provider, commonly called an electronic bulletin board (BBS). You generally use another program, called a terminal emulator, to interact with this BBS, tell it what kind of mail topics you are interested in, and then initiate a download sequence to obtain the mail. The result is a file which KWQ Mail/2 understands how to decode and assemble into a well-organized set of topics. You can then read the mail after you have disconnected from the BBS, compose reply messages to mail topics you are interested in, and later upload a reply mail file to the BBS. Mail Readers are actually a little more sophisticated than what was outlined above, but this is the basic principle: connect to a BBS, download a mail file, use mail reader to browse mail, compose replies, and upload a mail reply file to the BBS. On this Mail Reader Mail readers are applications that help to allow people to communicate messages and mail around the world. The author of KWQ Mail/2, Kurt Westerfeld, wanted to develop an application that helped to communicate and facilitate the transmission of information about OS/2, but also to help many people making the transition from DOS and/or Windows to IBM's newest operating system offering. To many who use their PCs to communicate, having a native Presentation Manager mail reader will be important, and this application is for them. Restrictions KWQ Mail/2, Version 1.2. Page 2 You have obtained a copy of a shareware package, which means you may let your friends and colleagues have a copy if you wish, as long as you abide by the following restrictions: 1. You do not charge for the transfer of KWQ Mail/2 or any of its components. 2. You supply the exact files and packaging for the shareware version of KWQ Mail/2 that you obtained electronically or other means. 3. You DO NOT share the licensing information provided once you register KWQ Mail/2. The author, Kurt Westerfeld, makes no claim as to the viability or usefulness of the product to suit particular needs. Use the product initially for no charge, and when the test drive is over, decide if you like it and register it if you do. KWQ Mail/2 is copyrighted property developed by Kurt Westerfeld. Forward KWQ Mail/2 (referred to as KWQ, the meaning of which we'll get to later...) will not run under any version of OS/2 earlier than OS/2 2.0. This is because I have decided to use features only provided by the new 32 bit environment, and these features have only been available since OS/2 2.0 has been generally available. In addition, I do not guarantee that KWQ will run with one of the OS/2 2.X betas. I simply don't have the time or desire to load an old copy of beta code to test any problems that crop up. Some of the features KWQ has are: - A fully (who am I kidding?) CUA compliant user interface with menus, scroll bars, etc. - Number of conferences, message base size, and replies are only limited by virtual memory, which under OS/2 is pretty much your hard disk size. - The ability to use any editor, be it OS/2 fullscreen, Presentation Manager, DOS, or Windows as your reply/compose editor. - Save messages to files with long names, if system is configured with High Performance File System. This feature was a prime motivator for writing this offline reader. The save dialog remembers the last 10 messages you have saved, available with a pull down list. KWQ Mail/2, Version 1.2. Page 3 - The ability to save "bookmarks" to your messages, which will get saved with your mail packets as a small extended attribute (typically less than 300 bytes in size). This feature is useful in saving spots of a message base you're really interested in returning to, while you swap to another conference or another part of a conference. - Background (multi-threaded) searches. Search by the 'From', 'To', 'Subject', or 'Message' portion of a message, or search with any combination of these. Search for whole words or simply parts of them, case sensitive or case insensitive. Search across all the conferences in a mail packet. Continue to read mail while your search takes place. Boolean logic will be supported at a later date. - Use an optional tagline file, choose a random tagline, or totally turn off the tagline feature, including the KWQ banner (this option is only available once you register KWQ Mail/2). - Support for all major archive formats, including ZIP, ZOO, LHA, ARC and ARJ. - Display messages in any font you choose, including Adobe Type Manager outline fonts (included with OS/2). You may print with these fonts as well - Relatively familiar keystrokes. KWQ is inspired by a few unnamed mail readers for DOS. Where possible, a consistent user interface is maintained between PM and DOS-style keystrokes. - Session saving. KWQ will remember what messages and conferences you have seen between sessions. KWQ will also remember the bookmarks you've added to return to at a later date, as well as remember cosmetic setup such as the position and size of various windows and dialogs. - Support for the Workplace Shell. KWQ can be setup as an association to the file type *.QWK, so that when a packet file of that type is double clicked on, the packet will be automatically opened and displayed. Additionally, any file "dropped" on the KWQ program icon will cause KWQ to run against that file in a similar manner. In addition to file launching, KWQ Mail/2 accepts all dropped fonts and colors and reacts appropriately by changing the window component dropped on. - KWQ Mail/2 supports "syntax coloring" found in no other GUI mail reader. Just like familiar DOS mail readers, KWQ Mail/2 will show the message text, message quotes, and message taglines in different colors. KWQ Mail/2, Version 1.2. Page 4 - An internal editor, with cut, copy, paste, quote and import functionality. Hopefully by now I have your interest! If not, go on using one of those character mode user interfaces you've been using for years, and let many of us go on to using Presentation Manager and the Workplace Shell. KWQ was mainly written with a few goals in mind: 1. Provide the ability to save messages to long file names. Many times I have saved messages to 8.3 character naming styles and not known what I was thinking of in a matter of days after saving the message. Since I'm involved in BBS- ing for research purposes, I have wanted to have a "message base" on my hard drive of topics I would like to peruse. KWQ enhances this much needed functionality. 2. Save bookmarks. Many times I want to return to a spot in the message pool and go on to look for something else. 3. Provide elaborate searching capabilities. A reader application should take as complicated a search as possible and do the search in the background while a user continues to read. KWQ delivers on this goal, although version 1.X will not provide Boolean logic. This feature is in the future for KWQ, because as a BBS-er I want this feature!. 4. Take advantage of OS/2-specific features whenever possible, including advanced approaches in graphical user interfaces to reduce the time you spend waiting for something to complete (multithreaded architecture). Hopefully, BBS-ers will see the value in providing these features, as well as providing "traditional" offline reader functionality. System Requirements KWQ Mail/2 is a 32 bit application for OS/2 2.X. Therefore to run this application, you must have at least the minimum requirements set by IBM for OS/2, which is 4MB of system RAM and a 386 or 486 Intel or Intel-Compatible processor. Realistically, however, many feel that 6MB of system RAM is needed to run OS/2 2.X properly, and it strongly suggested that this be a working minimum for your system to run KWQ Mail/2 as well. KWQ Mail/2 allocates virtual memory to load each mail packet, so you may experience "swapping" to disk on systems with lesser amounts of memory or with reading extremely large mail packets. A future release of KWQ Mail/2 will allow you to bound the virtual memory needed to run the application within some user-specified limits. KWQ Mail/2, Version 1.2. Page 5 KWQ Mail/2 has been tested and verified to work well with versions 2.0 and 2.1 of OS/2, including the 2.0 + Service Pak upgrade.. Terminology For some people, the terminology used in this document and BBS-ing in general will seem like a foreign language. We will try to clear up some of the potential confusion. A mail reader is an application that looks at mail packets downloaded from an Electronic Bulletin Board, commonly called a BBS. A mail reader allows the user to read his/her mail and compose replies to messages for a later upload. Typically a user will join a conference or forum on a BBS which will contain messages and conversations between people on a certain topic. Once the user has read mail and replied to messages offline, the reply mail is uploaded and it becomes part of the stream of messages in a forum. The term QWK refers to a specification for mail packets that is used for downloading mail from many popular BBSes. Mail packets obtained from BBSes are usually contained in files with the extension .QWK. (eg. OS2SHARE.QWK). KWQ is the name of the software you just obtained. Quick Installation Installing KWQ is easy. Unpack KWQ (usually delivered in .ZIP format) to a subdirectory. You should have the following files: KWQ.EXE Executable KWQMAIL.HLP Help resource KWQMAIL.DOC KWQ Mail/2 Documentation (this file) README.1ST Last minute information TAGLINES.KWQ Sample tagline file TWITFILT.KWQ Sample twit filter file BUGFIXES.DOC Latest fixes WHATS.NEW Version history ORDERKWQ.FRM Registration form KWQ builds an INI file the first time it is run, so there is no manual step to editing initialization parameters. Simply type "KWQ" on the OS/2 command line, or install a "Program Reference" object into the Workplace Shell and run KWQ Mail/2 from its icon. If you do create a program reference for KWQ Mail/2, be sure and supply the current directory where KWQ is installed. Once you have KWQ running, it will initially open a Product Information banner, and then follow with a "Open QWK Mail Packet" dialog. This is the dialog that is used to choose a mail packet to KWQ Mail/2, Version 1.2. Page 6 open. Chances are, you probably want to setup KWQ first, so press "Cancel" and click on the "Setup" menu. Under the Setup menu there are a number of choices for configuring your mail reader. Changing these options causes KWQ to create an INI file with your personalized configuration settings. To configure KWQ Mail/2, choose the menu "Setup->Options..." to view the KWQ Mail/2 setup notebook. This notebook is comprised of several pages which divide up the configuration options available in KWQ Mail/2. To start reading mail immediately, you must change two options. First, under the "General" notebook page, you must change the path for "*.QWK File" to point to the directory (and optionally directory mask) where KWQ Mail/2 will look for QWK Mail initially. Second, you must configure KWQ Mail/2 to point to the proper archival utility for packing and unpacking the mail you receive. The "Archivers" notebook page allows you to specify the paths and parameters to each archiver utility. Follow the next few steps for a quick setup of KWQ: - Enter in the path to the "download" directory your communications program will put downloaded files. This is where KWQ will look when asking for .QWK mail packets. Also enter in the path to the "upload" directory. This will be where KWQ will place reply packets. Both options are found in the "General" notebook page. - If the packets you have downloaded are in ZIP format and you own PKZIP or a zip-clone, enter the appropriate paths for the programs for the "Zip Unpacker" and "Zip Packer" options in the Archiver notebook page. If these programs are in your default path, don't change anything (KWQ should default to having these in your Paths dialog). Other archiver formats are available in the same dialog. Go ahead and look at the other options in the setup notebook. The General page contains yes/no choices to many configuration options you may want, as well as configuration options for your paths on your hard disk. The Replies page contains options for setting up how mail replies are treated. The Arhivers page contains configuration paths for all archival utilities used within KWQ Mail/2. The Header/Footer page contains options for automatically adding message portions to the beginning and end of messages when you create replies. Using the Font and Color pages affect how messages will be displayed, and setting the "Sort" option displays how the messages will be sorted in the "messages" dialog (more on this below). Upgrading from Version 1.0 KWQ Mail/2, Version 1.2. Page 7 Many new options have been added to KWQ Mail/2 version 1.2 over that of version 1.0. Some of the options are not stored in the 1.2 INI file in the same way as the previous version, so upgrading may cause some customization of KWQ Mail/2 to be lost. The font setting for the message display is likely to be needed attention if you choose to view in the non-default font. Please see the section below on how to setup the fonts in version 1.2. It is a good idea to completely reconfigure KWQ Mail/2 when upgrading from version 1.0 or 1.0C by deleting the KWQMAIL.INI file. Upgrading from Version 1.1 For users of version 1.1 of KWQ Mail/2, upgrading to version 1.2 is very simple. Simply save a copy of your KWQMAIl.INI file, and copy the contents of your KWQ Mail/2 distribution file to a directory and restore the INI file. All your customization settings will be saved. Getting Help KWQ Mail/2 contains an extensive help system. Help is simply a single keystroke away by pressing F1 in any context in the application. In addition, there are a few special help screens available by menu choice. These include the "Help Index", "General Help", "Help For Keys", "Using Help", and "Registration Information." The Toolbar The KWQ Mail/2 application contains a fast access button toolbar at the top of the window. There are four groups of buttons visible, grouped according to functionality. The first group, for file management, contains the open packet, save message, and print message buttons. The next group, dialog management, contains two buttons for opening the messages and conferences dialog, respectively. The next set buttons is more "miscellaneous", and provides buttons for search, bookmark, steal tagline, write new message, and reply/edit reply. The last group of buttons are used for message browsing, and contain the buttons for next/previous subject, next/previous message, and page up/page down. The subject buttons are functional only if KWQ Mail/2 is configured for a Subject or Thread sort. If you forget what a toolbar button's function in life is, simply press mouse button 2 on the toolbar button, and you will see a KWQ Mail/2, Version 1.2. Page 8 description of the function provided at the bottom of the KWQ Mail/2 screen. Opening a Packet Once KWQ Mail/2 is configured, it is quite easy to open and unpack a mail packet. Simply choose the "File->Open" menu choice if the application is running, or by default KWQ Mail/2 prompts you with the "Open QWK Mail Packet" dialog when it is first run. The open packet dialog is a modified version of OS/2 2.X's common dialog. It contains a window replacement for the file list display, which includes the file and date stamp of the files listed, as well as the file size in kilobytes (K). In addition to the file open choice, you may choose to delete a packet listed by hilighted the file, and then pressing the "Delete" button. You will be prompted to confirm your request. Following OS/2 conventions, the file details display in the OS/2 dialog can also be used to rename the listed files. Simply press your mouse button 1 down on the file you wish to rename while holding the Alt key down. The file display will turn into an edit field, and you may rename the file to your liking. When a QWK file is chosen using the "Open" button, a subdirectory is created underneath the current directory (called .\KWQMAIL.$$$) where the packet will be unpacked. When the unpacking is complete, KWQ Mail/2 reads the "CONTROL.DAT" file and the "MESSAGES.DAT" file to decode the message data. KWQ does not use the "XXX.NDX" index files that are in the packet, instead, KWQ reads the entire packet into memory and re-indexes it at load time. This method has proven to be much quicker under OS/2 2.X than doing the work to read the individual index files. The name and configuration of the BBS the mail was downloaded from is determined from the CONTROL.DAT file, and the reply path is checked for a file called "BBS.REP". If this file exists, it too is unpacked and the messages in it are displayed under the conference "Replies." Choosing a Conference After opening a packet, a dialog will appear with a list of conferences in the mail packet. The conference dialog contains a number of buttons: "Goto" , "Cancel", "Add" and "Drop". Choosing a conference in the list and pressing the "Goto" button with the mouse will make the chosen conference active. Alternatively, The you may choose to "double-click" an item in the list box with the mouse, which causes a "Goto" action to occur. KWQ Mail/2, Version 1.2. Page 9 Each conference shown will display the number of messages in the conference for the mail packet you are reading. A percentage read field is shown, so that conferences which you have read messages in will appear with a non-zero percentage read field. In addition, the conference ID assigned by the host BBS the mail came from appears on the far left of each list item. The conferences dialog can also be used to add or drop a conference from your BBS mail packet, provided the BBS you dial into supports Add/Drop. The conferences dialog may be called up at any time to browse another conference by choosing the menu "Message->Choose Conference". If you like keyboard hotkeys you can hotkey to this dialog by pressing -C, and use the arrow keys to scroll through the list of conferences. When you have highlighted the conference you wish to look at, simply press Enter. The Messages Dialog After a conference is chosen, KWQ displays the first message available in the chosen conference. The message order is chosen using the "Setup->Sort Order" menu, and the messages dialog displays messages in a conference by this sort order. To bring up the messages dialog, choose the menu "Message->Choose Message", or press the INS hotkey. The dialog displays each message's number assigned by the BBS or conference, the person who wrote each message, the person the message is addressed to, and the subject of each message. Selecting a message and pressing the "Goto" button will jump to that message. Just as in the Conferences Dialog, double clicking on an item in the messages list will cause the "Goto" action to occur. For message browsing purposes (and for people with a high resolution monitor) an optional "Keep Dialog Open" selection can be made. Choosing this option allows a user to jump to a message, but still keep the message dialog open for continuing a browse. This may be useful in hardware configurations that allow for a large screen display, where the messages dialog could reside at the bottom of the screen, and the main window reside at the top. Pressing "Cancel" or will close the dialog, whether the "Keep Dialog Open" choice is marked or not. Mouse Conventions To speed up access to the messages and conferences list dialogs, KWQ Mail/2 responds to specific types of mouse actions as KWQ Mail/2, Version 1.2. Page 10 "accelerator" features. First, pressing Button 2 (usually the right mouse button) anywhere on the KWQ Mail/2 main window will open the messages list dialog. Second, by pressing a mouse "chord", pressing buttons 1 and 2 together, anywhere on the KWQ Mail/2 window, you will bring up the conferences list. This will allow you to rapidly browse a set of messages within KWQ Mail/2. Configuration/Setup Options KWQ has a host of features that may be saved as part of its INI file. Most setup options are saved after opening the "Setup- >Options..." notebook dialog and pressing the "Save" button. If at any time inside the options notebook you are unsure of what a field or switch is for, you may press F1 or the Help button within the dialog to receive context sensitive help. There are 6 different notebook "pages" within the options notebook, each having a separate category of setup information. These pages are: General, Replies, Archiver, Header/Footer, Colors and Fonts. Each of these pages is described in detail in one of the following sections. General Notebook Page The General notebook page is a combination of "Yes/No" type configuration toggles and paths setup. These configuration options include: General Options - Beep on My Mail. This causes KWQ Mail/2 to sound an alarm if a mail message is read and addressed to you. - Use Twit Filter. When this option is on, KWQ Mail/2 will filter out all messages from or to a given user. User names appear in a file specified in the "Paths" dialog, one per line. - Use Internal Editor. When this option is on, KWQ Mail/2 will not use the external editor defined in the Files/Paths subsection on the General setup page. Instead, when creating a new message or replying to a message KWQ Mail/2 will open its internal editor for you to write your new message or response. - Conference Jumping. Configure KWQ Mail/2 to automatically goto the next conference with messages when reading the last message in a conference and a "next page" command is requested. KWQ Mail/2, Version 1.2. Page 11 - Save Bookmark On Mail Packet. This option applies to more than bookmarks (discussed below). It also applies to which messages have been read, what the current conference is and which message you a currently reading. - Save Window Settings On Exit. Turning this option on causes all the windows and dialogs to save their current size and position. You may want to leave this option on until you have a setup you like, and then turn it off. - Always Append On Save. Turning this option on answers the question "Do you want to append or replace?" for you without prompting when you save a message to a file that already exists. - Strip 'Re:' Subject Prefixes. Remove all 'Re:' type prefixes from message subject lines for readability. Note that if this option is turned off, KWQ Mail/2 will still ignore these prefixes when sorting on the subject field. This is for cosmetic purposes only. Files/Paths This subsection contains configuration options for accessing tools and files on your hard drive. - *.QWK Files. This is the path to which KWQ will look when showing the open packet dialog. - Replies. This is the path KWQ will place packed reply mail. - Save Message To. This is the default file name where KWQ will save messages. - Tagline File. This is the full path to a file containing sample taglines, one per line, in plain ASCII. These will be used when composing replies. - Twit Filter File. This file contains twits you'd not like to hear from. - External Editor. The name of the external editor you have installed on your system. Default is E.EXE. Your external editor may be an OS/2 or DOS batch file (.CMD or .BAT). A note on batch files and your external editor. KWQ creates a subdirectory called ".\KWQMAIL.$$$" underneath the subdirectory where the KWQ.EXE executable is placed. This is the subdirectory where KWQ will place the quoted reply file, called "REPLY.MSG," when calling the external editor. If you wish to create a batch file that will call the external editor and perhaps call a spell KWQ Mail/2, Version 1.2. Page 12 checker afterward, use this path and filename as the input to your programs. Take care to ensure that the output of the whole process maintains the "REPLY.MSG" file name. Replies Notebook Page The Replies notebook page contains many setup options that control how messages are handled when creating reply messages. There are three subcategories in this page: Reply Options, Reply Quoting, and Taglines. - Expand Tabs. This option is used to configure KWQ Mail/2 to expand tabs to a certain number of spaces whenever a messages is created and a real tab character is used. - Autoformat Replies. This option is useful when when the editor you use does not automatically line-wrap the text. The OS/2 system editor, E.EXE, falls into this category, as well as the internal editor, since they both depend on the OS/ 2 multiple line editor control. Selecting this option tells KWQ Mail/2 to make each line fit into the number of characters specified in the edit field next to this option. This edit field is labeled "N Characters Per Line" - Reformat Lines That Start With A Blank. Turning this option on will tell KWQ Mail/2 to allow lines it interprets to start with a blank to be line wrapped if Auto-Format Replies (see above) is turned on. If this option is turned off, then you can avoid any formatting by placing a blank at the beginning of each line you do not wish to be reformatted. - Create Case Insensitive Replies (Upper Case). Selecting the upper case option is useful if the BBS you receive your mail packets from requires the use of upper case formatted mail. Reply Quoting - Quoting Type. Four types of quoting are supported. The first type uses the initials of the person quoted with a greater than symbol. For example, 'KW> '. The second simply uses the greater than symbol, and the third turns the quoting feature off. The fourth option allows you to create custom quote masks, using the keyword "%i" to allow you to insert the recipient's initials. For example, you could supply the custom quote mask " [%i] " which might expand out to be " [KW] ". Taglines KWQ Mail/2, Version 1.2. Page 13 - Use Taglines. KWQ will not use taglines if desired. However, the demo/shareware version of KWQ will always place taglines with the "KWQ/2" banner at the bottom of the message. Once you have registered KWQ, you may choose to turn off this feature. - Pick Tagline At Random. If this option is chosen, when a new reply is composed or a message written, the message information dialog will appear with a tagline chosen at random with in the multi-choice list box. The taglines are read from a file that is designated within the "Paths" dialog. Archivers The Archivers notebook page contains configurations options for accessing archival programs for packing and unpacking mail packets. Any of the following programs may be either OS/2, PM, DOS or Windows, and may also be batch files for either OS/2 or DOS (.CMD or .BAT files). These configuration options include: ZIP Unpack/Pack LHA Unpack/Pack ZOO Unpack/Pack ARJ Unpack/Pack ARC Unpack/Pack A note on batch files and the unpack process. KWQ creates a subdirectory called ".\KWQMAIL.$$$" underneath the subdirectory where the KWQ.EXE executable is placed. This is the subdirectory where KWQ will look for files that are unpacked. If you wish to create a batch file that will do the unpacking and other chores, ensure that the output of the unpack process places the files in this subdirectory. Header/Footer Notebook Page You may choose to add text to the beginning and/or the end of messages you create with KWQ Mail/2 by configuration a header or footer in the Header/Footer Notebook page. In this section, you specify substitution keys that tell KWQ Mail/2 to pull portions of the message you are replying to into the message you create. The substitution keys provided are the following: Full Name Of Recipient %r Full Name Of Author %a First Name Of Recipient %o First Name Of Author %i Mail Address Of Author %n Current Date %c KWQ Mail/2, Version 1.2. Page 14 Current Weekday %u Actual Percent Sign %% Message Subject %s Message Date (mm/dd/yy) %f Message Month (mm) %m Message Day (dd) %d Message Year (yy) %y Message Weekday %w Message Conference %e Message Number %b By using one of these substitution keys, you may give the recipient (or anyone else who may read your message) a better idea about the past conversation history. For example, by using the header On %w %f, %a wrote to %r about '%s:', KWQ Mail/2 could expand this string to: "On Wednesday, 4/28/93, Kurt Westerfeld wrote to Melanie Kim about 'Love and War'." Colors Notebook Page Color can be applied to eight different window components within KWQ Mail/2. Four of these are specific to the display of the current message and include: Message Background The background color of the message display window Message Text Normal The color of normal text of a message Message Text Quote The color of a quoted portion of a message Message Text TaglineThe color of a tagline portion of a message The remaining components whose color may be changed are the detail list view portions of the four subdialogs within KWQ Mail/2: Message Dialog Background Bookmark Dialog Background Findlist Dialog Background Conference Dialog Background To change one of the listed colors, simply select its radio button and choose a color from the 16 shown. If you wish to use a custom color for one of the listed colors, open an OS/2 Color Palette and drop one of the colors on the large color example display on lower right of the setup page. Optionally, you may drop the color you wish to change onto the message display or any of the listed dialog subcomponents. This will only change the background color of these components, however. KWQ Mail/2, Version 1.2. Page 15 Fonts Notebook Page A number of facilities for changing fonts within KWQ Mail/2 exist. The Fonts notebook page contains a set of radio buttons and the OS/2 standard font selection dialog which name eleven different components of KWQ Mail/2. Choosing one of the radio buttons at the top of the notebook page will cause the lower half to display the font assigned to that component of KWQ Mail/2. You can change this component's font by using the standard font selection dialog. The components you may change for KWQ Mail/2 you may change from the Fonts notebook page are: Main Window Set the font for the entire main window Message Text Set the font for just the message display text Internal Editor Set the font for the internal editor Foundlist Dialog Set the font for the found list dialog window and dialog components Foundlist Details Set the font for the found list dialog details view list Message Dialog Set the font for the message dialog window and dialog components Message Details Set the font for the message dialog message details view list Bookmarks Dialog Set the font for the bookmark list dialog window and dialog components Bookmarks Details Set the font for the bookmark list dialog details view list Conferences Dialog Set the font for the conferences dialog window and dialog components Conferences Details Set the font for the conferences dialog details view list System default fonts and any outline fonts (Adobe fonts) loaded into the system will appear in this dialog. Generally, outline fonts can be supported for any pitch value. Some KWQ Mail/2, Version 1.2. Page 16 fonts displayed in larger pitch values will cause KWQ to activate the horizontal scroll bar for the messages window. You may also change a font selection in KWQ Mail/2 by opening an OS/2 Font Palette object and dragging and dropping a font onto the window or subwindow you wish to change. Message Sort Options Message sort options (the order in which the messages will be displayed in the messages dialog) are controlled by choosing the "Setup->Sort" menu. There are 6 different sort methods: from, to, subject, date, message, and thread. All of these should be self-explanatory, except for thread which is a variation on message sorting. Thread sort attempts to maintain ordering based on the message number, with a secondary sort based on the reference number (the numbered message that a message may refer to). Packet Component Options KWQ can be configured to automatically display certain mail packet components that may be added to your mail by your host BBS. These configuration options include the automatic display of the mail welcome, mail news, mail files, and mail good-bye components. To set these options, choose the "Packet->Show Automatically" menu choice, and select the components you wish automatically displayed. Changes to these menu choices will be saved between sessions. Print Setup To setup your default settings, choose the menu choice "File- >Print Setup...". A dialog will appear listing each printer object you have defined in your system. To make a printer the default printer for KWQ Mail/2, simply select it in the list. You can change the default job settings by pressing the "Job Properties" button. Another dialog will be displayed, this one specific to your printer. Two other options are provided for different print needs. The first is an option to "Print Raw", which will send the message text to the printer in a line printer mode with carriage returns. To use Adobe or other outline fonts to print, choose "Outline Fonts" and press the "Set Font" button to set the font for printing. Finding Text Support for finding text within the message base is fairly sophisticated, with more support on the way. Text can be searched KWQ Mail/2, Version 1.2. Page 17 over the 'From', 'To', or 'Subject' fields, as well as the actual subject matter. Searching can be done without regard to case (check 'case insensitive search'), and whole words can be matched or simply parts of words. You may also choose to search the current conference or search across all conferences. To search for text, choose the 'Find->Start Find' menu choice, or choose the hotkey 'F'. The find dialog will appear. Specify the text to search for in the "Text" field, and choose the message type you wish to search over. Other options include checking the "Case Insensitive Search" box, which causes text to be searched for without regard to case sensitivity, and checking the "Match Entire Word" box, which causes a search for the string you specify to be delimited by a space or punctuation character. A search is started by pressing the "Find" button or by typing . A status of how many messages found appears in the lower right hand corner of the KWQ main window. Once all the messages are searched, KWQ shows a dialog containing a list of all the messages found by your search criteria. This dialog behaves much in the way the Messages dialog does (described above). To jump to one of the listed messages, simply select and item and press "Goto", or double click one of the listed items. The "Found List" dialog can be shown at any time by choosing "Find- >Found List", or by pressing the hotkey combination "F." If you currently have a found list activated by the find message utility, you may choose to see the next message found in the found list by choosing "Find->Next Message", or likewise see the previous item by choosing "Find->Previous Message." Hotkeys for these two choices are 'N' and 'P', respectively. The found list is cleared when the mail packet is closed. Replying to Messages Replying to a message you are currently reading is simple. To start a reply, choose the "Message->New Reply" menu choice, or press the hotkey "R." If the Paths dialog (described above) is configured properly for you external editor, KWQ will be able to create a quoted reply message and start the editor of your choice. Depending on whether you have KWQ Mail/2 setup to use its internal editor, an external program may or may not be called up to allow you to write your message or reply. The internal editor is faster opening up because it is not a separate program to run, and has some other nice features specific to writing replies (quoting, etc). KWQ Mail/2, Version 1.2. Page 18 After making changes to the message and saving the changes, exit the message editor. KWQ will bring up a message detail dialog box if you are configured to use an external editor. If you are using the internal editor the dialog box for the editor will be integrated with the message detail dialog box. This dialog box contains information about the reply you have composed, including your name ('From'), the person you are replying to ('To'), the subject you are talking about ('Subject'), the conference the message is in ('Conference'), and an optional message tagline ('Tagline'). To change any of the fields (except Conference), simply type over the supplied text. To change the conference the message will appear in, use the selection box down arrow to see the other conferences KWQ knows about. Choosing any other conference within this list changes the conference the reply will appear in. Tagline support is optional, although with the demo version of KWQ taglines are always forced on, if only to display the KWQ Mail/2 banner. To choose a tagline click on the "down arrow" of the selection box. This selection box is filled with taglines that appear one per line within the file specified in the "Paths" dialog. Tagline selection can also be set into a "random" mode via the "Toggles" setup dialog (described above). Tagline selection can always be overridden. Editing A Reply You may make changes to any message you have composed by choosing the "Edit Reply" menu. To do so, open the Conferences dialog, choose the "Replies" conference, and find the message you wish to change. To change the message, you must have the reply "active" (you must be reading it). Choose the menu choice "Message->Edit Reply", or use the hotkey "E" . At this time, your external editor as defined in the "Paths" dialog will be brought up with your message. You may then make changes to the message and save them, at which time KWQ will open the message details dialog as described above. You may make changes to any field within the message details dialog, including changing the conference the message will appear in. Killing A Reply If you decide you do not wish a reply to be integrated into the BBS message stream when you upload a reply packet, you may choose to remove a reply from the list of replies for a packet. To do so, open the Conferences dialog, choose the "Replies" conference, and find the message you wish to remove. To remove a reply, you must have the reply "active" (you must be reading it). Choose the menu KWQ Mail/2, Version 1.2. Page 19 choice "Message->Kill Reply", or use the hotkey "K" to remove the reply. Writing New Messages Writing new messages is very similar to the previous section described for making replies to messages. The only difference is that no message is initially quoted within your editor, and fewer fields are filled out in the message details dialog. Internal Editor For people who wish to simplify the creation of new messages, KWQ Mail/2 provides a simple text editor to create messages, called the "internal editor." To setup and use the internal editor, open the settings notebook General page, and choose the check box marked "Use Internal Editor." The internal editor has three major sections. The first section starting from the top of the window are a set of buttons which give quick access to commonly used functions within the editor. The second section is referred to as the message envelope, which contains entry fields to allow you to enter the addressee, subject and conference for the message you are writing. The last section is the area where you type the body of the text. If you are replying to a message, this area may be divided into two parts: one for the original message and one for your reply. Quick Access Buttons Save Pressing this button closes the editor and saves any changes you have made to your message. Cancel Pressing this button or the escape key will abort editing your message. Any changes you have made to the message envelope or message text will be lost. Quote When replying to a message, try selecting an area of the original message and pressing this button. The text you have selected will be copied to the message you are editing along with the quoting style you have selected in the Replies page of the setup notebook. Note that if you do not have selected text in the original message that all of the text is quoted. This is a change from Version 1.1, which gave you a Quote and Quote All button. KWQ Mail/2, Version 1.2. Page 20 Import This button allows you to open a file for importing into your editing session. Cut Pressing this button causes any text selection you have made in the message you are editing to be removed and placed in the workplace clipboard. Copy Pressing this button causes any text selection you have made in the message you are editing to be placed in the workplace clipboard. Paste Pressing this button causes text in the workplace clipboard to be copied to the message you are editing. Message Envelope The message envelope contains standard entry fields and pull down lists to aid in creating the information needed to address a message to someone. If you have the message sort setup to be Thread or Subject, you can use the pull down added to the 'To:' field to see a list of people listed in the current thread when creating a reply. Message Text The message text display uses the standard Presentation Manager text editing facility, which includes the ability to cut, copy and paste using the keyboard. A list of keyboard strokes that can be used in the message text editor are listed below in the section titled "Key Mappings." If you are replying to a message, the window for editing the text is divided into a portion for the original message and a portion for typing your message. The small border between the two sections can be used to size the two areas. Your pointer should change shape to a sizing pointer when it is placed over this horizontal bar. Clicking and dragging this border with BUTTON 1 will cause the text areas to be resized. Packet Components Many electronic bulletin boards offer the ability to add extra files to a mail packet for you to review offline. KWQ Mail/2 offers the ability to detect the presence of these extra files and display them as requested. In addition, KWQ Mail/2 can be configured to automatically display components of the mail packet when you open your mail. KWQ Mail/2, Version 1.2. Page 21 Each mail packet generator may not generate each packet component that KWQ Mail/2 can show. Also, some mail packet generators allow for different components to be included in the mail packet. Your mileage may vary. Use the choices on the Packet pull-down to display: Information Display information about the mail packet you are viewing. Information shown in this dialog are the size (uncompressed) of the mail packet (the sum of the size of all the messages), the number of messages in the packet, the number of pending replies for this BBS, the number of conferences in the packet, and the date and time the packet was created. In addition, information may be supplied about the BBS the packet was downloaded from, including the name of the BBS, the Address, the "Sysop", and the phone number. Welcome Display the BBS welcome screen. Some BBS-es will supply a "welcome" file which will display a logon screen that a user would see when logging on to the system. News Display the BBS news screen. Some BBS-es will supply a "news" file containing all the latest information about the BBS. Bulletins Display the current BBS bulletins. Bulletins may be provided by the BBS to show detailed information about services the BBS is providing, interesting trivia, statistics, etc. Files Display a list of the newest files provided by the BBS. Many BBS-es contain support files and shareware for downloading. Session Display the host mail session screen. Some mail generation doors will send a view of the mail session results included in the mail packet. This screen may contain summary information about the packet you have downloaded. Goodbye KWQ Mail/2, Version 1.2. Page 22 Display the logoff screen. The "Goodbye" screen may have interesting twists, sayings, statistics about remaining time available, etc. Automatically Show KWQ Mail/2 may be configured to automatically show the Welcome, News, Files or Goodbye screen. Choose any of these menu choices as a "toggle:" if the menu choice is selected, it will automatically display one of the above screens, if it is deselected, the screens will only be shown if manually selected. Changes made to any of the "Automatically Show" settings will be saved between KWQ Mail/2 sessions. NOTE: Many of these mail components are provided in ANSI" screen format, and while KWQ Mail/2 can handle most of these, the ANSI support used by KWQ is what the base operating system provides. Some "garbling" may occur of the more fancy displays. Bookmarks When a message or set of messages is deemed important by you, but you'd like to continue reading elsewhere within the packet or perhaps close the packet and reread it at another time, a "bookmark" can be made to the message base for jumping back to a previous position. To add a bookmark, choose the "Bookmark->Add" menu choice or press A. A message will appear at the bottom of the screen indicating that the message has been marked. A list of bookmarks is kept that is similar to the messages dialog described above. Choosing "Bookmark->List" or pressing B will bring up this dialog, and you may return to the previously saved position in the same manner as the messages dialog. There is no limit on the number of bookmarks in a message packet, and the bookmarks are saved along with the packet if KWQ is configured to do so. You may choose to save all of the messages in the bookmarks list to a single file you specify. To save the marked messages, choose the menu choice "Bookmarks->Save To File...". Packet Configuration Files KWQ Mail/2, Version 1.2. Page 23 There may be times you wish to create messages for a particular BBS and you do not have a packet to open in order to create the BBS. To get around this problem, you may save a particular BBS configuration and later open this configuration file to write messages, create a reply packet, and then upload the packet. BBS configuration files are stored with the name of the BBS and the extension ".BBS". To save a BBS configuration, open a valid QWK packet file, and then choose the "File->Save Packet Configuration" menu choice. You can later open this configuration file by choosing "File->Open Packet Configuration", which will effectively open an empty packet. You can then choose to write a new message and perform all the functions of a regular mail packet. Key Mappings A summary of the key mappings for KWQ follows: Open Mail Packet Ctrl-O Close Mail Packet Ctrl-Q Pack Replies Ctrl-Z Save Message Ctrl-S Quick Exit Alt-X Write New Message W Reply To Message R Edit Reply E Start Find F Next Found Item Ctrl-N Previous Found Item Ctrl-P Found List Ctrl-F Next Message or '+'(plus) Advance Message Previous Message <-> (minus) Next Subject Tab Previous Subject Shift-Tab Read Reply Ctrl-R Drop Bookmark Ctrl-A Bookmark List Ctrl-B Steal Tagline Ctrl-T View Message In ANSI Ctrl-V Message List Conference List Scroll Message Down Scroll Message up Scroll Message Right Scroll Message Left Page Message Down Page Message Up Top of Message End of Message KWQ Mail/2, Version 1.2. Page 24 Many of the key combinations are intended to be similar to those made popular by message readers under the "other" operating system. The following key mappings exist inside the internal editor: Save Message Alt-S Quit Messaage Esc Quote From Message Alt-Q Quote Whole Message Alt-T Cut To Clipboard Alt-C Copy To Clipboard Alt-O Paste From Clipboard Alt-P Delete Line Alt-D Cut To Clipboard Shift-Del Copy To Clipboard Ctrl-Ins Paste From Clipboard Shift-Ins Select Text Right Shift-Right Select Text Left Shift-Left Select To End Of Line Shift-End Select To Beginning Of Line Shift-Home Enhancements For Version 1.2. 1 Revovering from a crash is now bullet-proof with respect to messages you write. Any time you create a message within KWQ, the file BBS.MSG is created in the .\KWQMAIL.$$$ directory. This is basically a QWK compatible file that has all the messages you write. If your system crashes (or God forbid, KWQ does), you will no longer lose any cruicial work. You have two options: 1) open KWQ and let it read this file and it will prompt you if you want to recover it, 2) Zip the file into BBS.REP and upload it to your Bulletin board. 2 Sped up display of message display dramatically through use of different drawing APIs. 3. Configuration option to have KWQ ignore "\n " type of lines during reformatting of reply text. 4. Show message in ANSI viewer. 5. Bulk marking messages to save to a file. Bookmarked messages can now be saved to one file. 5. Zip replies on demand. 6. Better handling of non-standard, sneaky tagline positioning when stealing taglines. 7. Allow first name of author, first name of reciepient, current date, current weekday, current conference, current message number to be put into message header or footer. 8. Place "All" in the "To:" portion of the message envelope. 9. Saved searches. KWQ now remembers the last 10 searches you did in a combo box for quick access. 10. Allow user to expand tabs in internal editor to n characters. 11. Page Down/Page Up buttons added to top of KWQ Mail/2 window. KWQ Mail/2, Version 1.2. Page 25 12. Allow user to insert file to KWQ (text) in the internal editor. 13. Header and Footer are seperate notebook pages in the setup dialog for purely esthetic reasons. 14. Tagline initialization is now on a thread, since really large tagline files can cause KWQ to be sluggish when you first open the application. 15. File Time is now displayed in packet open dialog. 16. Read reply hotkey and menu choice added. 17. "Delete line" key added (Alt-D, for Brief Users) for internal editor. 18. Option to strip 'Re:' crap from all message subjects. 19. Option to automatically jump to next conference. 20. Option for file name expansion for save. This is a late breaker. Use any of the header and footer expansion characters in your save file specification, and KWQ will expand these into a file name when you save the message. For instance, use %e to save messages to the current conference name. 21. I don't know why this is critical, but many people asked for it. KWQ now displays the file name for the packet that is open in the main title. Bugs/Anomolies Fixed in Version 1.2 1. Quoting within the internal editor will now ignore previously quoted text when autowrapping. 2. Page down will now display the right portion of the message (shows last line of previous page at top). 3. Printing now prompts the user to setup the print font when doing a print with outline fonts without ever setting up the outline font to print with. 4. Conference "Ghost" dialog occurs using 9 Lives desktop expander. 5. Can't use TAB character in MLE for internal editor--you now have the option to expand tabs (an enhancement, too). 6. Headers/Footers should be available on write new. 7. 0x1a character occassionally showing up at end of file. 8. Handle quoting with names > 2 parts ("Paul von Keep"). 9. Inserting very large messages crash KWQ using an external editor. 10. Saving messages sometimes caused a floating point exception. 11. Saving large messages (like "Frequently Asked Questions) would sometimes crash KWQ. 12. User bookmarks not saving properly. Saves first item in list over and over. 13. Information dialog does not have enough space for BBS name with long title. 14. "D:\" is not a valid path for QWK files or replies files. 15. If spooler is disabled, printing causes KWQ to shutdown. 16. Install program prompts for directory, and then forces the directory to upper case. 17. Conference rollover not working properly--would not display the right conference sometimes. KWQ Mail/2, Version 1.2. Page 26 18. Fix add/drop conferences. 19. Enable keyboard only setup--you can now setup KWQ without having a rodent to use. To switch from the notebook control tabs to the internal tabs, use Alt-Up and Alt-Down. Pressing enter saves the changes, pressing esc aborts. 20. Close box in internal editor does not prompt user to save changes. 21. Reply packet creation code would fail with paths that contain trailing blanks.(ie-Path = 'c:\up ' ) 22. File open dialog should use file mask that user setup. 23. Fixed crash with paging backwards within a find list very quickly. 24. Private messages now use proper private marker ('*' instead of '~'). 25. Better handling of current message in message list. KWQ now goes to great lengths to keep the message you are currently viewing current within the message display list. What is KWQ, and What Does KWQ Mean? Great, by now you've figured out that KWQ is QWK spelled backwards. The letters KW are the initials of KWQ Mail/2's author, Kurt Westerfeld. Ergo, KWQ means Kurt Westerfeld's QWK Mail. KWQ was developed using WorkSet/2, the 32 bit development environment from IBM (using C Set/2), the Borland C++ Compiler For OS/2, Q Edit, and GNU RCS. Registration and Support At this time there will be no phone support for KWQ Mail/2 offered. If demand requires it, phone support will be added at a later date. Registration and support for KWQ Mail/2 is available by contacting the author directly at one of the following addresses: U.S. Mail: 7935 Tyson Oaks Circle Vienna, Virgina 22182 Compuserve: 71501,3175. Internet: 71501.3175@compuserve.com Fido Netmail: Kurt Westerfeld, 1:109/347 (Pete Norloff's OS/2 Shareware) Fido OS/2 Conference: Kurt monitors the OS/2 conference on an almost-daily schedule, so if you have access KWQ Mail/2, Version 1.2. Page 27 to this conference, you may post here. However, this is not recommended or suggested practice, as the message traffic in this conference is fairly high. If you can, please send "Netmail." Direct BBS: You may post a message to Kurt Westerfeld in the "Local Area" conference on Pete Norloff's OS/2 Shareware bulletin board, at (703) 385 4325. Please see the file "ORDERKWQ.FRM" for information about what to send in to register KWQ Mail/2. When you register KWQ Mail/2 you will be provided with a registration number that enables you to "unlock" the initial Product Information screen, and disable its automatic action when KWQ Mail/2 starts. A similar registration number is provided to each registered user; sharing this number is prohibited and is considered a violation of copyright. KWQ Mail/2, Version 1.2. Page 28