home *** CD-ROM | disk | FTP | other *** search
Text File | 1993-07-18 | 59.0 KB | 1,288 lines |
- MR/2 PM - A QWK Compatible Mail Reader for OS/2 PM. 07/18/93
-
- Copyright (c) 1992, Knight Writer Software Company.
- All rights reserved.
-
- ===================================================================
- N O T I C E
- ===================================================================
- This IS a shareware package, and does require a registration fee if
- you choose to continue using it after 30 days. The registration
- fee is currently $20 US. This will increase to $25 when the final
- release is officialy distributed. Register now and avoid the price
- increase! Register MR/2 PM also registers you for MR/2 character
- mode, and visa versa.
-
- Existing MR/2 registered users are automatically registered users
- of MR/2 PM. The same MR2.ID file can be used by both versions.
- ------------------------------------------------------------------
-
-
- CONTACTING THE AUTHOR
- =====================
-
- You can contact me in a number of ways. Unfortunately, I can't
- provide a phone number at this time.
-
- US Mail: Nick Knight
- 1823 David Ave.
- Parma, Ohio 44134
-
- Fido netmail: 1:157/2 to "Nick Knight"
-
- Internet: User "Nick Knight", (nick.knight@pcohio.com)
-
- Fido Echomail: Echomail messages to me are discouraged, as
- keeping them "on topic" and interesting to
- the masses would be difficult. I do read
- OS2, OS2PROG, C_PLUSPLUS and DR DEBUG daily,
- though. OFFLINE echo also (deals with mail
- readers), this might be THE place to ask public
- questions, eh?
-
- I recently have acquired access to a host of other
- networks with OS/2 conferences. These include RIME,
- SmartNet, Uninet and some others I can't remember.
-
- I also do poll the Fidnet OS2PRODSUPPORT echo.
-
- Direct BBS: Leave a message on the Nerd's Nook BBS
- (1:157/2) at (216) 356-1772, 356-1872 or
- 356-1431. I check in here multiple times a
- day. I will also keep the most recent copy
- of MR/2 posted here. Other boards
- (non-local) will get updates at my convenience.
-
- **************************************************************************
- **************************************************************************
- ** NOTE: Nerd's now supports an MR/2 conference **
- ** and file area. Conference #208 is dedicated to **
- ** MR/2 support and files. File area #45 contains **
- ** MR/2-related files. Any file uploaded into **
- ** conference 208 will be placed in file area 45. **
- **************************************************************************
- **************************************************************************
-
- Nerd's does support file requests (157/2 or 157/3)
-
- Optionally, I call into PC-OHIO regularly.
-
- Compuserve: I check in here only when I have to. Try
- mail to my user ID - 76066,1240, although
- this isn't the best approach.
-
-
-
- MR2.INI - your MR/2 PM parameter file
- -------------------------------------
-
- This is where you tell MR/2 PM all it needs to know about your system
- and the way you'd like it to work. If you don't have an MR2.INI file
- from MR/2 classic (character mode), or you've never modified one for
- MR/2 PM before, MR/2 will attempt to place you into the E editor
- with a starter INI loaded. Make any necessary changes and save the file.
-
- NOTE: Problems ... you'll have to edit MR2.INI, then exit out of MR/2 PM
- and reenter for any changes to take effect. My "reload INI" code needs
- some looking at.
-
- ** If it can't or doesn't load the editor to create the initial MR2.INI
- file, it's best that you do this by hand, from the command line:
-
- copy mr2ini.org mr2.ini
- e mr2.ini
-
- ***************************************************************************
- NOTE: You may use an existing MR2.INI file, if you have one. The only
- change that's really required is that your editor and zipper/unzipper
- file names be fully qualified. Use a complete path and add the appropriate
- file extension (e,g, "d:\os2util\pkunzip.exe"). These changes *will* work
- with MR/2 classic, also.
- ****************************************************************************
-
- Oh yea, I have the thing logging some messages to mr2pm.log. This file
- may aid me in solving problems that occur in testing. It *will not* be
- part of the final distribution reader.
-
-
- KNOWN BUGS AND STUFF
- ====================
-
- THIS IS BETA, PRE-RELEASE SOFTWARE. THE BUG LIST IS QUITE EXTENSIVE
- AND ALL KNOWN PROBLEMS ARE BEING ADDRESSED. USE THIS PRODUCT AT YOUR
- OWN RISK - THE AUTHOR ASSUMES NO LIABILITY FOR LOST OR DAMAGED DATA.
-
- I've got a big hit-list, and I'm anxious to start hitting. I'd like to
- get as much feedback as possible while I'm in this process, though.
-
- Feel free to report bugs or offer suggestions. MR/2 PM is based on my
- seemingly solid QWK routines from MR/2 "classic", but the user
- interface is all new.
-
-
- Changes included in v0.99c
- --------------------------
-
- o The Reply Header edit form, when selecting an alternate conference.
- The listbox could only hold a fixed number of conference (1500?).
- If there were more, you couldn't see them. Instead of *really* trying
- to solve the problem :), I added a "match" field on this form. This
- field accepts wildcard characters, like *os2* or pr*. It does ranges
- too, I'll have to doc these ... something like [A-L]* lists A
- through L ... Unix-style wildcard matching!
-
- Entering just a single character, say "P", works the same as entering
- "P*". I may make all non-wildcard specs "prefix" matches like this.
-
- o Half tones on completely read threads. This should probably be optional.
-
- o Save to file: All sorts of keyboard wierdness. Keys being processed
- by the message window underneath. Fixed.
-
- o Message Dialog. There was still a screen flash - pre-sizing the
- dialog box needed some tweaking, and I had to supress the second
- painting of the screen when initializing.
-
- o ALT-A, ALT-D now functional when a conference name is highlighted. This
- works from the Conferences w/Message selection screen, as well as on
- the Conference selection screen attached to the Reply Header Editing
- screen. Easiest way to ADD conferences is to "Write new", then ALT-C
- for the conference list. Highlight and ALT-A to your hearts content.
-
- o Lots of playing around with parent/owner windows to remove strange
- occurences and to aid in new CenterSubWindow() call.
-
- o I've got code in place to insure that certain message dialogs remain
- centered inside the "main" window.
-
- o INTERNAL: Main dialog proc became too large for ZTC to handle! I
- split out the whole WM_CHAR processing section into a separate
- routine.
-
- o I think I've finally trapped all the strange keystroke processing
- that resulted from having dialog boxes pop up on top of the message
- dialog box. This should end the strangeness with Save, Find, Steal
- Tag, etc.,.
-
- o More mouse pointer to "wait" pointers when needed.
-
- o Deferring a message now updates the message status with a 'D'.
- Previously, message was deferred but the display was not updated.
- Same thing with (P)rinting a message ... dialog now updates with a
- "S" status ("Saved" - MR/2 classic has always reported printed messages
- as being saved ...).
-
- o ALT-F is now available from the conference selection dialog to
- search ALL conferences for text. Just like MR/2 classic.
-
- o There was a problem after closing any packet where MR/2 PM would
- lose track of the correct QWK Packet Path. This occured (I think)
- only if your Packet Path and MR/2 PM home directory where on the
- same disk drive. When you close a packet, you are now correctly
- returned to your previous packet directory.
-
- o I added a tiny button on the message viewer screen. I'm not sure
- where this will end up and/or what it will be labeled, but right now
- it's the "option" button. The only option at this time is to
- toggle between MONO and PS fonts for message viewing. The font
- mode switch is persistant across all future sessions until changed
- again. This button will probable bring up a much more comprehensive
- set of options later :)
-
- o Open Packet reworked. Changes to the way focus is initialized, order
- of the entry fields / listbox to be more natural. Bug where selecting
- certain directory names switched drives.
-
- o Save Message: ditto. Also, save path changes are remembered and
- used across all packets read in that session (reset when you exit out
- and reenter).
-
- o Internal Editor: The state of the font (Mono or PS) and the Word Wrap
- setting are now saved and restored between sessions.
-
- Fixes inherited recently from MR/2 classic:
- -------------------------------------------
-
- o ADD/DROP conference would not work if a DOOR.ID file was not present in
- the packet. I now default to QMAIL format in these cases, and create
- QMAIL-style add/drop messages.
-
- o When you would modify a reply and change the header data, the index
- list would not reflect these changes. The "I"/Insert index list will
- now accurately match reply header data.
-
- o Ooops. "InBasket" Folder was not being packed. In other words,
- messages that were deferred, then later killed/deleted would still
- be physically contained in the InBasket.Dat file. They were marked
- as inactive, so they couldn't be read. Code to pack this file
- has been reinstituted.
-
- o Double oops :) FolderPath was never sufficiently documented as a
- valid MR2.INI parameter. It was metioned in the read.me file, but
- was never entered into the MR2INI.ORG file. It's there now, and ...
-
- o It never really worked, anyway. It "kinda" worked, as it did
- everything correctly except allow you to actually read deferred message
- from anywhere except off of the MR2 home directory.
-
- o Modified the origin line find logic. Original code, for some stupid
- reason, started at the beginning of a message and search forward. I
- now start at the end and work backwards. This will help prevent
- erroneous detection of the origin when user-entered dashed lines are
- entered as section separaters.
-
- In addition, I revamped the whole routine. It seems to do a much
- better job of finding the start of the origin section.
-
- o There was a problem on some systems with the personal conference not
- showing in the selection list. This was when working on an HPFS
- drive, and the personal.ndx file was unpacked with a lower case file
- name. When MR/2 scanned conferences, it always matched on capital
- letters for the personal index. This was never a problem BEFORE
- long name support, as the names always came back capitalized. Now,
- they come back as they are on disk. I've fixed this problem and
- scanned for other possibilities. I think that was it ... time will
- tell! NOTE: The report I received that finally solved this one
- specifically mentioned a 32-bit UNZIP.EXE. He mentioned that all
- worked OK with the -U switch added to the command line. Just FYI.
-
- o Message Header Edit screen now allows you to enter conference numbers
- that are not present within the control.dat master conference list.
- Maximus QWK doors and PC Board's built-in QWK feature do not supply
- complete conference lists. Some QWK doors also make this optional to
- reduce packet size. Previously, you could not post into a conference
- that was not defined in the contorl.dat file. Now, you may manually
- enter ANY number. If MR/2 cannot find it in the master list, it will
- beep and clearly identify the conference number as a possible problem
- with the tag: "** WARNING: Unknown Conference **". It's the user's
- resposibility to make sure a message is posted to the correct
- conference number. Maybe I'll add a user-definable master list later.
-
-
-
- Changes included in v0.99b
- --------------------------
-
- o MR2PM.INI, the file that holds window position data now contains a
- version number embedded within. Any old file found (w/o a version
- level recorded) will be erased. This is necessary due to the
- massive changes made to the way positions are recorded. Otherwise,
- windows end up painting off the screen. You'll have to position
- windows to desired spots once more.
-
- o Internal editor is now available and functional. Set the
- Editor=INTERNAL. The "Set Color" option does nothing yet. Also,
- "Set font" merely toggles between mono and ps fonts. There's no
- provision for changing the file name or importing/exporting text.
- All this will come with time ...
-
- o Sizable windows are started. Size and position of several windows are
- saved and recalled. In particular, the message viewing screen and
- conference selection screen are sizeable. There's some tricky code
- behind these screens to minimize flashing and contorting; let me know
- if you see anything strange.
-
- o No Qwk (entry of message w/o a packet) is now functional.
-
- o I added a command line parameter "/defaultpos" or just "/d" to suppress
- the mr2pm.ini file access. This mode uses default window sizes and
- positions. ... until I get all the kinks out, this is a safeguard.
-
- o Welcome screen now displays in mono font. Looks OK, unless ANSI
- codes are present :(
-
- o Merged most of MR/2 v1.51 features into this EXE. The list of
- pertainent features follows (in latest-first order):
-
- ==============================================================================
- o RIME routed messages are now recognized as having a "header area" at
- the top of the message. If the message is "split" due to length,
- the header area should be automically pasted into the top
- of each part.
-
- o FILE_ID.DIZ files were crossed between classic and PM. Fixed.
-
- o OK, I linked in HPFS longname support and modified some code to
- retrieve and handle long file names. The packet select screen
- now shows TE/2-renamed files like "pc-ohio.qwk;1". This will need
- some testing and polish, but it works. FileSpec in MR2.INI should
- be changed to "*.q*" in order to see these files.
-
- o Ooops. I couldn't find a PKUnzip that would work with long names.
- Even the older OS/2 version puked. This'll definitely be a problem
- with other DOS based archivers. So, I added a little diddy to
- unqwk.cmd that, if a long name is detected, will copy the selected
- file into the tmp$$ directory as MR2$TMP.QWK and unpack this. It
- then deletes the "temporary" QWK packet. Works great with even
- the DOS PKUnzip now!
-
- If you want to use TE/2 on a HPFS system and unpack the "BBS.QWK;1"
- type names with a DOS or PK* product, you *must* set your unzipper
- to unqwk.cmd.
-
- o An MR/2 INI file other than MR2.INI may be specified via command line
- parameter. Use "MR2 /IMR2_ALT.INI" to use a file named MR2_ALT.INI as
- the global MR/2 INI file. I'm hoping that this helps in allowing
- multiple instances of MR/2 to be open on the desktop. Needs more
- testing and experimentation ... Opening two different MR/2 seesion
- still crashes.
-
- o Welcome and Goodbye screen now list on the Bulletins select menu.
- You can view these, unobstructed and at length, any time you choose.
-
- o Minor change to the parsing of the @Fidonet@ variable. Removed any
- @fidonet suffix that exists in the origin line.
-
- o Added code to trim off nulls at end of any message. Was trimming spaces,
- but Internet messages sometimes had nulls. Messes up the reply file
- editing. Also, if any embedded nulls are found, these *aren't* written
- to the reply file OR save file.
-
- o Processing for IDATE improved a little. I saw some DATE: lines that
- started with weekday names like "Sun, ".
-
- o New INI parameter - ReplyStripTagline defaulting to YES. Set it to NO
- if you want to use SmartQuoting (which strips the original messages
- tagline) but still want the tag quoted.
-
- o QuoteStyle now has an optional parameter, which is ON by default.
- If you specify TagStyle=PCBoard,Autosense, you're saying that quote
- style can use hi-end ASCII chars, but if it's a Fidonet reply,
- change to Fidonet mode. I'm not sure if I should include Internet
- messages as Fido-typed tags ... I probably should. I'll research.
- Without the "Autosense" keyword, tag style will adhere strictly to
- what's been specified.
-
- o Added new Template file sections: SaveHeader and PrintHeader. Lets
- you define the header for messages when printed or saved. If these
- sections don't exist, the old default header is used.
-
- o Added more variables to aid in the support of the new header sections:
- MsgRefNbr, MsgNumber, MsgStatus. In addition, added some more variables
- to aid in formatting sections. @COL:45@ sets the next column to 45.
- @RCOL:72@ says to right justify the next variable referenced at col 72.
- @Center:40@ says to center the next variable referenced over column 40.
- The @RCOL@ and @CENTER@ variables can be used w/o column specs to
- right justify at "wrap column" or center the entire line between wrap
- column and 1.
-
- Negative @COL@ specs may be supplied. This will delete the specified
- number of characters before the variable. For example, @ITIME@@COL:-4@
- would change 07:54:30 GMT to just 07:54:30. Messes up, tho, if MSGDATE
- ends up getting substituted for IDATE (no IDATE is found).
-
- See example.tf, at the end. There's a section `unused` with some
- doc/examples.
-
- o The template file now supports comment lines. Simply start the line
- (very first columns) with ";;" and the line is ignored.
-
- o While viewing any message, you can press "~" to rewrap it. This is
- useful only in USENET (Internet) conferences where sometimes a message
- gets posted without linefeeds. MR/2 would display it on a single line,
- but only give you access to the first 160 characters. This rewrapping
- is quite temporary (if you "go back" later to view the same message,
- you'll have to rewrap it again), and totally manual; performed by user
- keypress only. I may INI-ize an automated/detection scheme later.
-
- o Added a bunch of code to better detect message display lines that are
- "quotes" from previous messages. This is not configurable at this time.
- If I did too much, yell and I'll make this optional. With all the
- messages I looked at, quoting highlights were right 99% of the time.
-
- o New QuoteBody option - Paragraph. If you specify something like:
-
- QuoteBody="%i│▌",Paragraph
-
- then you'll get a quotes like:
-
- MN│▌Yes- DOS 6 upgrade is... (lines chopped for brevity)
- │▌number of files that...
-
- MN│▌And then after your DOS...
- │▌the manual of files you...
- │▌release the whole thing...
-
- you can do the same thing with "%i>", and secondary lines
- get just " >". Use the "|" (shifted backslash) and Fidonet
- sysops may not yell at you :) (it's not hi-end ASCII).
-
- Bummer! I just saw someone (a registered MR/2 user using a DOS
- package, hmmmph!) quote with a technique that this doesn't yet
- handle :(. Just a minor nit, maybe I'll add something later to do
- this (YOU CAN'T DO THIS WITH MR/2):
-
- MN┤Yes- DOS 6 upgrade is... (lines chopped for brevity)
- │number of files that...
-
-
- o Modified the logic to pick out the quoting initials to better parse
- Internet "from" fields. Still needs some other strange-character
- detection added (nick.knight@pc-ohio should reduce to nk>).
-
- o Fixed a bug where internet from fields that were filled to 25 characters
- resulted in your own last initial being inserted as the senders second
- initial (Michael.Hagerty@nitelog.com to Nick Knight, reply would
- be quoted MK>) This *was* fixed in v1.45 but not documented.
-
- o I added some things. First SmartWrapping and SmartQuoting have three
- levels: No, Yes and Full. Full is aggressive, rewrapping all
- non-quoted text to the defined wrap column (This is the old "YES").
- If set to Yes (the "new" option), wrapping occurs ONLY after a line
- feed has been inserted by MR/2 (an overlength line was detected).
- The defaults are "YES" ... we'll see if this works any better.
- Limited testing, but you *can* now shut these off w/o crashing!
-
- o Also, add an "~" to the end of any line (before the linefeed) and
- MR/2 will strip out the "~" and keep the return that follows intact.
- This is for stubborn wrapping problems. Just in case :)
-
- o If the quoting initials ended up longer than 9 characters (FROM name
- had no spaces), the string was not properly terminated. This resulted
- in garbage in the initials and in one reported case, a crash. This
- would occur most often in internet conferences.
-
- o New template sections are definable: NewInternet and NewNetmail
- for creating new messages in these private-mail conferences.
-
- o When editing a message header and the conference is the Internet or
- Netmail defined conference, the "private" flag is set to YES.
-
- o New template section: `RIME` can be defined for use when replying
- to a message in private mode. If a reply is private, and the
- source message is determined to be from a RIME source (Postlink
- origin is last line of message), then this section is used in
- generating the reply. This allows for private, routed mail.
- Not sure what to do about "new" private, routed messages.
-
- o New variables: @RimeIDCode@ and @RimeSiteNo@ for use in the RIME
- section for "routing" private messages. Will result in blanks unless
- replying to a message with a Postlink origin line.
-
- o New Variables:
-
- @RimeIDCode@ and @RimeSiteNo@, defined above.
-
- @Version@ for the MR/2 version.
-
- @SerialNumber@ is replaced by the registered serial number
- (empty if not registered).
-
- @UserName@ is replaced by your user names as found in the QWK
- control.dat structure.
-
- @IDate@ is replaced with the Internet "Date:" spec, or the
- the same results as @MDATE@ if a date string is not
- found.
-
- o New template section: `Forward`. If this section is declared, it is
- used as the template "prefix" for forwarded messages. NOTE: $Body is
- not required, this section is inserted as a whole. If not declared,
- the old MR/2 default forward prefix is used.
-
- o See EXAMPLE.TF for examples of all new section capabilities. My name
- and email addresses are plastered all through here. You'll want to,
- of course, change these to your own :)
-
- o When replying into the Internet mail conference, the @INTERNET@
- variable will better represent a true Internet address. If the
- Reply-To: line isn't present, MR/2 then looks for a "From:" line and
- attempts to parse out an address. If no From: line is detected,
- MR/2 now looks to the last line of the message. If the sender has
- included his address inside of parenthesis, then this is used as the
- INTERNET value.
-
- o Modified msg2rep.cmd so that if archiver.id file isn't found, it
- defaults to pkzip (configurable). If using no packet entry, no
- unarchiver was called, so no archiver.id is created. We need to
- be able to specify a packet as a default.
-
- o If a local INI specified a value for Internet and/or Netmail, it
- was not cleared when the packet was exitted. If the next packet
- opened did not reset these values (or did not have a local INI), then
- some erroneous detection of network mail would result. Fixed.
-
- o I modified the "origin" line finding logic to recognize more common
- reader/network tearline styles. For instance, MR/2's own TwoLine
- style tagline is now recognized as the beginning of the origin section
- (and end of the BODY section).
-
- o Started coding of a REXX script to handle detection of the archiver
- used to pack the mail packet. A code is returned that will be used to
- branch to the correct command for unpacking. To me, this is the ideal
- solution, as it is forever extensible. I've got a scheme for a packer
- script (for replies) that will match the unpacker used. I'm new to
- REXX coding (this was the perfect excuse to get my feet wet :), so
- if anyone wants to make improvements and/or enhancements, I'll welcome
- them. (file is named Unqwk.cmd)
-
- o Create msg2rep.cmd - a REXX script for packing replies into a .rep
- file based on the method used to unpack the original packet. The source
- packet *must* have been unpacked with unqwk.cmd (or, at least, the file
- "archiver.id" must exist and identify the correct packer to use). This
- script opens up "archiver.id" and extracts the id number. Based on that
- number, a branch is made to the correct packet command.
-
- NOTE: You may have to modify these files a tad IF your archivers
- are not in your "PATH" environment variable.
-
- NOTE: These command are useful if you use multiple packet sources
- (BBS's) that use different compression techniques. If you can get
- by with a single zipper/unzipper command, the "old" way is OK, and
- in fact, still more efficient. These new files simply provide
- additional flexibility for those that frequent a variety of BBS's and
- need this functionality.
-
- INSTALLATION: Modify your MR2.INI file to declare:
-
- Zipper=..\msg2rep
- Unzipper=..\unqwk
-
- the default .cmd files depend on all archivers being in your "path".
- If not, you may modify the path = '' statement at the top of each
- file to reflect the correct path, or modify each zipper command
- separately to reflect each's valid path.
-
- o The prompt "Work area has an open packet" has been enhanced. You may
- still see this prompt. However, if the work directory is found to
- contain replies, the prompt will read "Open packet with REPLIES found".
-
- o If an error occurs when unpacking the packet, you will now remain
- inside MR/2 to select a new packet, or whatever.
-
- o IF an error occurs while packing replies, the work directory is *not*
- purged. Previously, any error while spawning the packer still let the
- files be deleted. What happens now is, after the command error is
- reported, you're prompted that an open packet with replies exists. The
- correct course of action is to go back in the packet (continue working
- with the open packet) fast exit with ALT-X and correct the zipper
- problem.
-
- o Cleaned up and tested UNQWK.CMD and MSG2REP.CMD. Made sure error codes
- were properly returned to MR/2. Seems to work well with the new error
- handling described above.
-
- o Added new variable @ISUBJECT@ that resolves to the Internet message
- subject line (often different than the QWK "subject" field).
- I hope there's a limit to the size of these things ... I only
- accomodate "realistic" lengths. We'll see.
-
- o Ooops. New template section logic didn't accomodate new messages
- created w/o replying. The template file can now define a section for
- `NewMessage`.
-
- o The INI parameter SplitLongMessages has been enhanced. YES/NO still
- function in the old way; YES will cause messages to be split at 92
- lines (90 lines of message, 2 lines for the <cont..d> footer). You
- can now, however, place a number here as an option. This sets
- splitting to YES, but modifies the line count cutoff to be the specified
- value (instead of 92). This value *must* be greater than or equal
- to 10 (I've been told of a BBS system that requires no more than 16
- lines <really!>, so I figure 10 will be a "safe" minimum). I would
- suggest using a reasonable number if you need to change the default
- at all.
-
- o New INI parameters V0 through V9 allow you to set user-defined text
- strings as template variables. Uses of the strings @V0@ through @V9@
- in the tenplate file will be replced with the corresponding defined
- text string.
-
- These variables can contain any other variables, including other "V"
- variables. This allows for a template to be defined with an
- attribution line of @V0@, for example, and this line can be changed
- for each BBS by defining different values to V0 in the BBSs local
- INI file. The variable replacement is recursive, so any number of
- replacemnet levels is possible. It's also possible to confuse the
- system by circularly defining variables. My rule: keep it where
- it's understandable.
-
- For example, if you add a line to MR2.INI that says "V0=1:157/200"
- and your template file starts "...writing from Fidonet address @V0@",
- the fidonet node address will be placed in the reply.
-
- o New INI parameters "INTERNET" and "NETMAIL". Use these variables to
- declare which conferences, if any, handle Internet mail and Fidonet
- netmail, respectively. For example, PC-Ohio has Internet mail in
- conference 5 and Fidonet netmail in conference 6. My PC-OHIO.INI
- file has:
-
- Internet=5
- Netmail=6
-
- Nerd' Nook has Netmail in conference in 139 and no Internet capabilities.
- My NerdNook.INI file has the lines:
-
- Internet=-1
- Netmail=139
-
- The "-1" tells MR/2 that there is no Internet support, and makes sure
- that the Internet section template is not referenced.
-
- o New variables @INTERNET@ and @FIDONET@. The INTERNET variable will
- be replaced with the "Reply-to:" address found in Internet mail. The
- target address will be stripped of extra verbage and should represent
- a correct and "ready-to-go" internet address. The FIDONET variable
- will be replaced with the full Fidonet address found in the origin
- line of the current message. If either one of these variable can
- not be resolved, then an empty string is substituted.
-
- These variables are meant to be used for personal mail addressing
- using template "sections". See next blurb.
-
- o Sections in the template file `Internet` and `Netmail`. You may now
- allocate "sections" within the template file. Sections are denoted
- and named by a string between "accent" characters (`). The first
- template file section has no name and will be refered to as the
- "default" section. A section ends at the next section name string,
- or at the end of the file.
-
- When replying to messages targetted for a conference declared to
- be the INTERNET or NETMAIL conferences, MR/2 will switch template
- sections to the corresponding section. If ever a section is not found
- (by name matching), the default section is used.
-
- This allows for Fidonet netmail and Internet mail to have templates
- that correctly set up destination addressing. See the file Example.tf
- for examples of sections.
-
- o Mods to reply creation ... removed the beginning CR/LF when creating
- the reply file. Made changes to the way the template file handled
- CR/LF spacing. Template file's allignment matches reply files
- better now (line spacing/blank lines).
-
- o When replying and the FROM user name is an Internet made-up name with
- periods imbedded, MR/2 nulls-out the quoting initials. The quoted text
- is simply marked with whatever symbol is defined in the INI, usually
- a ">" (no initials preceed the ">").
-
- o Oh boy. I modified the Save Reply logic of my QWK class. This is
- dangerous, simply because it changes the way replies are saved. I'll
- test it thoroughly before letting it out. *Please* report any problems
- to me quickly.
-
- The change comes when splitting messages (it may effect more, my hope
- is that it doesn't :). IF you're in sending Internet mail or Netmail,
- the message "header" will be copied to each split section. In most
- cases, this will be the correct function. There may be cases where
- it isn't. Yell at me and I'll make it configurable. In other words,
- netmail or internet mail that's split will be addressed properly for
- all "parts" if addressing is done on the first line(s) of the message.
-
- o When replying into the Fidonet netmail conference, the source message
- is first checked to see if the first line starts "From:". If so, and
- what follows appears to be a Fidonet node designation (it has a ":" and
- a "/"), then this is used as the value of the FIDONET variable.
- If not found, the origin line is found. In netmail messages (the ones
- I receive at least), there is no origin line, just a "From:" identifier
- on the very first line of the message.
-
- o Taglines now are filtered for variables (e.g., @FROM@).
-
- o Took template file checking one step further - if file name is
- empty, processing doesn't even start.
-
- o The initial MR2.INI file now specifies that the INTERNAL editor now
- be used as the default. The initial INI editing is still performed
- inside the E editor.
-
- o New INI parameter: "TemplateFile". This is another one of those
- features that is merely a starting place and has lots of future
- expansion possibilities. Place a file name here that defines a
- template for all message replies. The reply will created using this
- file as a guide BEFORE you edit it. This allows for any necessary
- cleanup. The "template" file I used for testing looked like this
- (note that the variables used will be documented below):
-
- -------------------------------------------------------------------
- Subject: @Subject@
- In a message dated @DATE@, @FROM@ said to @TO@:
-
-
- $BODY
-
-
- Nick Knight
-
- From @from@ reading @CONFNAME@ (@CONFNUM@) on @BBSID@, to @TO@
- Subject: @Subject@
-
- FidoNet: 1:157/2
- Internet: nick.knight@pcohio.com
- Compuserve: 76066,1240
-
- To First: @tofirst@
- To Last: @tolast@
- YYMMDD: @yymmdd@
- Date: @date@
- From First: @fromfirst@
- From Last: @FromLast@
- Msg Date: @msgdate@
- Msg Time: @msgtime@
- Day: @Day@
- Julian: @Julian@
- Time: @Time@
- Time 24: @Time24@
- AM/PM: @AmPm@
-
- Upper: @Upper@@Subject@ @upper@@day@
- Lower: @lOWER@@Subject@ @lower@@day@
- Mixed: @mix@@From@ -> @mix@@to@
- -------------------------------------------------------------------
-
- The quoted version of the original message is inserted at the $BODY
- marker, which is required. NOTE that this is not an appropriate
- template file for use within internationally echoed conferences.
- It's offered here merely as an example.
-
- The section before the $BODY line allows for an "attribution"
- line or section. The area below the $BODY marker works as a
- signoff or signature section.
-
- AGAIN, this feature is under development and may be changed in the
- next couple of versions. My idea is to add more blocks to this file.
- For example, a definition for saved message headers, forwarded
- header definition, etc.,. I've got plenty of ideas.
-
- The reply file generated by my test template file looked like:
- -----------------------------------------------------------------
-
- Subject: NEW ZOO
- In a message dated 03/06/93, DAN HANSON said to ALL:
-
- DH>I saw this in Time Magazine. The New York Bronx Zoo has been
- DH>renamed to the International Wildlife Conservation Park. In
-
- <My reply would be inserted here.>
-
- Nick Knight
-
- From DAN HANSON reading Main Board (0) on PC-OHIO, to ALL
- Subject: NEW ZOO
-
- FidoNet: 1:157/2
- Internet: nick.knight@pcohio.com
- Compuserve: 76066,1240
-
- To First: ALL
- To Last: ALL
- YYMMDD: 930306
- Date: 03/06/93
- From First: DAN
- From Last: HANSON
- Msg Date: 03-06-93
- Msg Time: 14:21
- Day: Saturday
- Julian: 065
- Time: 03:08
- Time 24: 15:08
- AM/PM: PM
-
- Upper: NEW ZOO SATURDAY
- Lower: new zoo saturday
- Mixed: Dan Hanson -> All
- -----------------------------------------------------------------
-
- o Variables are available for use in the template file. They are
- currently only used by the reply file generator. I'll add the
- capability to other areas as I think of them.
-
- The following variables have been provided:
-
- BBSID TIME
- CONFNAME TIME24
- CONFNUM TO
- DATE TOFIRST
- DAY TOLAST
- FROM YYMMDD
- FROMFIRST UPPER
- FROMLAST LOWER
- MSGDATE MIX
- MSGTIME AMPM
- SUBJECT JULIAN
-
-
- The literals UPPER, LOWER and MIX are not actual variables, but
- modifiers. They will convert the case of the NEXT variable
- replacement to either all upper, all lower or mixed case, respectively.
- Mixed case basically lower cases all letters except the first letter
- of each word. See the example above for more detail.
-
- o GREATER CHICAGO Online BBS is now offering a service called the
- "OS/2 Shareware Author Support Program". They are willing to handle
- Visa/Mastercard charges for shareware authors. Starting immediately,
- MR/2 may be registered by "charging" it! You can register online by
- calling Greater Chicago Online BBS at (708) 895-4042. Alternatively,
- you can provide your charge card information to me directly on the
- MR/2 registration form provided (register.doc). There is a $2.00
- handling fee associated with all charged registrations, making the
- total charged registration cost $22.00 US for domestic orders.
-
- Shareware authors may get more information on the OS/2 Shareware
- Author Support Program by calling the GREATER CHICAGO Online BBS at
- the number above (leave a note to the sysop) or by Compuserve mail
- at 70404,3277. Fidonet netmail can be sent to Bill Cook at 1:115/895.
-
- ==============================================================================
-
- Changes included in v0.99a
- --------------------------
-
- o Attempting to show the BBS's Welcome screen in the message listbox
- behind conference select picklist. It isn't pretty (I need a
- monospaced font) and you can't see much of it. Maybe I'll try
- something else.
-
- o After deferring a message, the message status was not updated with a
- "D", even though the message WAS deferred. Fixed.
-
- o New routine "clear_resulttable()" is called if there is no local INI
- and a packet is closed. Previously, hit counters for custom
- conferences would not respresent the correct counts (counts would
- not be cleared for the next packet).
-
- o Index display showed message number with some trailing garbage
- sometimes. This is fixed.
-
- o No QWK Entry code started.
-
- o Open by association started (specifying a packet as a command-line
- parameter).
-
- o The spacebar now really does work as in MR/2 classic ... it works
- like the page-down key until the end of a message is displayed, then
- like the NEXT key.
-
- o When editing the message header, the F10 key now works as it does
- in MR/2 classic. That is, it works as the "accept" key. I'll leave
- the F11 key also as an "accept" key for those that got used to it.
-
- o Write New: The selected conference would be erased on the "after"
- header edit. It would be reset to "000". Fixed.
-
- o The E editor was demonstrating some very unusual behaviour. When
- replying, parts of the message would be hidden and unavailable for
- editing. Yet, they *were* there! There would be no vertical scroll
- bars displayed, and the horizontal was only in one (the wrong)
- direction. This ended up having something to do with the program
- control value I was setting. EPM seemed to work OK, as did text mode
- edit sessions, but E just croaked. This *seems* to be fixed.
-
- o Also, the $ and ! specifiers for DOS and FullScreen sessions added
- earlier can now be combined in the form $! for both packers and
- your editor. IE, you can force a DOS session to full-screen.
-
- o Tagline stealer had a problem with certain characters (while editing
- the tagline-to-save) invoked message functions (Reply, for example).
- This has been fixed ... I need to review all my dialog boxes for the
- same types of problems.
-
- o Sizable message reading screen. It has some painting problems when
- the screen is resized, but once the size is remembered it works
- pretty well. You can also size the Conference selection dialog.
- MR/2 PM now remembers the size of these screens in addition to the
- position.
-
- o The possibility of the message listbox getting the focus has been
- eliminated (I think? :). When this happened, keys would cease to
- function as they would normally (X would not exit, F would not
- find).
-
- Changes included in v0.99
- -------------------------
-
- o For your archivers: if you wish (or have to :) use a DOS version
- of PKUnzip, for example, MR/2 PM will now work correctly.
-
- This bug was causing lockups (blank screen, no keyboard, manual
- boot time) on OS/2 2.0 GA and simply failing on the old 2.1 beta.
- No idea what it did to versions in-between.
-
- Now, when a DOS archiver is called upon, MR/2 PM opens a DOS window
- (in the "background", even) and runs the DOS utility there.
-
- Editors may also be DOS-based.
-
- o I changed the way that the zip/zipper work. Basically, whether
- using DOS or OS/2 executables, a new session (windowed usually)
- is created. I'll have to see if I like this better, and get
- outside opinions (anybody?). Also, the editor is called with
- the same logic. This should help with those cases where the
- reply editor would end up "in the background". That shouldn't
- happen at all now, as MR/2 PM is suspended UNTIL the editor is
- terminated. Uh oh, can't have this!
-
- o Tagline selection list now has buttons for OK and CANCEL.
-
- o Lockups due to missing or unnamed template file (lockup when
- requesting the editor for a reply) are now fixed. Same problems
- as with MR/2 classic.
-
- o Read markers are back on the message index list, and the read
- count is now back on the thread selection list. Sorry!
-
- o Write button is now enabled and can be used to write "new" messages.
- I'm getting some random crashing ... more work is needed.
-
- o New buttons on Conference selection list: News, Files and Bulletins.
- Bulletins is still non-functional. Soon. Buttons call your editor
- accessing the specified file. No checking for non-existent files.
-
- o Mods to keep secondary dialog box positions as "relative" to the
- open/message windows. That means that if you place the conference
- select window somewhere, then move the message reading screen, the
- conference select box will move to stay in the same "relative"
- position.
-
- o Cleaned up some of the "extra" little informative dialogs that would
- end up appearing as independent windows.
-
- o The zipper/unzipper EXE is now queried, and if found to be a DOS app,
- a DOS session is started. No strange "$" specifiers needed :)
- The window is now opened foreground, though.
-
- o The editor call is now handled differently. You editor should now
- end up with the correct focus, even if windowed.
-
- o The conference listbox is now automatically updated if/when the
- background "custom conference" thread completes.
-
- o Edit header now sets the focus to the SUBJECT field.
-
- o Cleaned up some of the button resetting to "default" values
- after some other button is pressed. More to come ...
-
- o Removed the makeshift "paging" buttons I had placed on the message
- reading dialog. Turns out PM already accomodates paging by clicking
- inside the scrollbar track, above or below the slider. I just
- recently learned that!
-
- o The MR/2 PM version is now part of the packet select dialog title.
-
- o The distribution zip now contains a FILE_ID.DIZ description file.
-
- o Bulletin button on the conference select list is now functional. It
- brings up a selection list of available bulletins. Selecting one will
- load your editor with the appropriate bulletin. Only minimal error
- checking is performed.
-
-
- Changes included in v0.98
- -------------------------
-
- NOTE: Version 0.97 never really made it into distribution.
-
- o Relinked with many of MR/2's latest features being added automatically.
- Others needed some minor code adjustments. Deferred messages are
- functional, as is the new "template" feature. I'll include MR2READ.ME
- for anyone that wants to get a feel for what else *might* be new.
- Also, the "TwoLine" TagStyle is now available.
-
- o I played around with saving window positions. It works OK, but isn't
- quite right, particularly with regards to secondary dialog boxes. Work
- will continue. MR/2 PM now creates and maintains an "MR2PM.INI" file
- in the software's base directory.
-
-
- Changes included in v0.97
- -------------------------
-
- o Buttons on the Message Index dialog box are now functional.
-
- o Removed some unnecessary screen repaints that would occur when a
- function (e.g., Pick Thread) was canceled and the same message was
- left on the screen.
-
- o If CTRL-PAGEDN was used to page forward by thread, pressing the NEXT
- button would redisplay the same message immediately afterwards (only
- once).
-
- o Focus for reading messages now starts on the NEXT button.
-
- o The SPACEBAR now functions as it does in MR/2 classic (page down,
- next message if at end of current message). NOT YET !!!! BROKEN
-
- o Origin recognition enhancements inherited from MR/2 classic. Custom
- Conference now recognize the "origin" section of a message better
- whe using the "check = origin" option.
-
- o After "reList"-ing packets, the focus is set on the OPEN button.
-
- o Thread summary listbox - sometimes the last entry would be malformed
- (characters missing from the front of the thread text). Fixed.
-
- o You can now (again) double click on a packet name to open it, save file
- to save to it.
-
- o Pressing the Tagline button while editing a reply header would crash
- MR/2 PM. This now works correctly.
-
- o Color is supported in the message viewer listbox. I wouldn't call
- it pretty, but it's there. A new MR2.INI entry has been added just
- for specifying PM viewer colors. PMColor=1,2,3 ... where 1 is the
- color for quoted text, 2 the color for normal text and 3 is the
- background color. The defaults are half-tone, black and default
- entry field color (half-tone yellow, sorta). You may specify one,
- two or all three and let whatever's left default. See the MR2INI.ORG
- file for colors possible.
-
- o Many improvements inherited from MR/2 classic. The speed of conference
- name sorting has been dramatically improved. Some obscure control.dat
- file problems cleared up. Personal message beeping problem fixed.
- Minor tagline problems fixed (?).
-
- o Packet selection dialog sometimes had the file date/time clipped.
- This has been corrected.
-
-
- Changes included in v0.96
- -------------------------
-
- o Personal messages now beep if configured to do so.
-
- o The "find" text is cleared when a new conference is selected. Old way,
- the text locator would still be in effect when a new conference was
- entered.
-
- o Packet path was previously lost when a packet was exited, resulting in
- an empty packet selection list. This has been fixed.
-
- o If the FROM user is changed when replying, this change is remembered for
- all subsequent replies, until a new packet is selected.
-
- o Message viewer keyboard interface enhanced. Up/Down arrows now scroll
- message by line; Page Up/Down by page. Home jumps to beginning,
- End to end. Insert key calls up INDEX (still trying to stay SLMR
- keystroke compat for some reason :) Paging improved somewhat.
-
- o Added a more direct way to get message lines from the QWK engine. The
- previous method involved querying the message line by number, walking
- through increasing number requests. Each call resulted in the entire
- message being traversed until the line was found. Now, the new call
- oStart = GetNextMessageLine(char *target, int oStart) speeds this up.
- Filling the message list box is now faster.
-
- o Columnized listboxes now display selected item in a more "correct"
- color.
-
- o Bookmark flags were not getting set and/or being read. This has
- been corrected.
-
- o Message window now displays the bookmark flags in a minimal fashion.
- If a message has been read, a "√" is displayed next to the reference
- number. After this, an "R" appears if the message was replied to,
- an "S" if it was saved, and a "K" if it's a reply that's been killed.
-
- o Taglines are now selectable via the "taglines" button. Hot key of
- F2 not yet implemented.
-
- o Save Header button on reply message header now functions.
-
- o If using an existing packet, flags to save replies and bookmark flags
- were not being defaulted to TRUE. This caused problems - now fixed.
-
- o When modifying or killing a reply, the message header and message text
- are now updated on screen when the action is complete.
-
- o When spawning to the editor, the path was *not* inherited from MR/2 PM.
- You would usually end up with a default path of C:\. This cause
- problems with reply files named "reply.msg" (not fully qualified) to
- appear to be missing. You now start editing while pathed into the
- tmp$$ working directory.
-
- o Enabled the "T" key when viewing a message. This now steals the current
- message's tagline. As with MR/2 classic, the arrow keys let you scroll
- through the message lines. Pushbuttons are also provided for this
- purpose.
-
- o Save-to-file has also been enabled. Press "S" while viewing a message.
- A file dialog screen comes up for save-file selection. There are some
- inconsistencies here that I hope to clean up quickly ... but it does
- work.
-
- o Enabled the F2, F3, F9 and F10 keys on the Reply Header Edit screen
- to function as in MR/2 classic; Pick tag, Toggle to, Save Header Only,
- Accept, respectively. F10 won't register for some reason (it's a PM
- special "menu" key - I'll have to read up :), so I've assigned F11 as
- the "Accept" hot key (in addition to F10, which I hope to get working).
-
- o The "Save Header" botton when editing the message header is enabled
- only when editing an existing reply. This allows you to modify
- the destination data w/o editing the message content. This makes no
- sense unless the message already exists.
-
- o The "R" replied mark wasn't showing up immediately after a message was
- replied to. Fixed.
-
- o The Page Up/Down "buttons" on the message viewer no longer obtain the
- focus when clicked on.
-
- o Private/Public buttons now work correctly while editing a reply's header.
- Conference name is now static text - no user editing can be performed.
-
- o Expanded the conferences w/mail listbox width a tad.
-
- o Most pushbuttons now have associated hotkeys that are underlined. I
- may have went a little overboard, but I dunno.
-
- o When modifying a reply, old tagline is extracted and becomes the
- default tagline for the "new", updated reply. This was previously
- broken.
-
- o There was some crazyness happening with WM_CHAR messages (keyboard
- characters) that I've kludged around. For example, with a message
- displayed and a secondary dialog box up (pick thread, reply header,
- etc.,.) and a pushbutton highlighted, pressing the "X" key would
- prompt you to exit. The "S" key would bring up the save dialog.
- Even stranger things would happen. I'm not sure what I'm doing
- wrong when nesting dialogs, but I put a simple filter in that
- disables keystrokes to the message window when another dialog box
- is on top.
-
- o Double clicking on the system menu button, or ALT-F4'ing from either
- of the programs main screens now exits cleanly. It used to trap.
-
- o MR/2 classic uses TAB/BACKSPACE while viewing a message to move
- forward/backwards an entire thread. Since TAB is used by the PM
- dialog routines, this key is logically unavailable. I've attached
- the same functionality to the CTRL-PAGEDN (fwd) and CTRL_PAGEUP (back)
- keys. These work the same way in MR/2 classic - they're a carry-over
- from SLMR-compatibility days.
-
- o Often MR/2 PM would leave a file or conference unselected by default.
- When this occurred and ENTER was pressed, the program would process
- it as if ESCAPE was hit, either closing the packet, or exiting the
- program. I've now taken steps to always have something selected by
- default when the dialog box is initially displayed.
-
- o Thread summary - message count is now columnized.
-
- o Custom conferences now align the line containing matching text on
- the second line of the message listbox. Also, the alignment process,
- which is shared with the "Find" search function, now parses compound
- search strings and matches any one string. (Previously, the PM
- listbox message LM_SEARCHSTRING was used - this was for straight
- word-for-word matches only).
-
- o The "Find" dialog box now displays any currently active search string.
-
- o The "L" key (find LAST search hit) did not function properly. Fixed.
-
- o Played around with WinMessageBox to post the "Replies Exist" message.
- This is what I'll use for most confirmations, since I'm supposed to :)
-
- o Played with changing the color of text/quoted text in the message
- viewer. It worked, but I'm not very happy with it. I'm leaving it
- at this time to do quoted test in "halftone". I'll make this optional,
- or allow a wider selection of color options.
-
- o The "hit" status (Hit nn/nnn) is now displayed on the message viewing
- screen if the message is part of the current search results.
-
- o Logging of messages (my "remote" debugging trail) is now off by default,
- but can be invoked by supplying a command-line parameter (anything).
-
- o The "Config" button now functions to edit the MR2.INI file. I place
- a dialog box up that requires an "OK" when editing is complete. This
- will be removed when I get to reading the editor's exit queue.
-
- o If no MR2.INI file exists, an initial one is made and you're placed in
- the E editor to make any necessary revisions.
-
- o If you answer NO to "use the existing open packet?", the packet is
- actually deleted. Before, this prompt could come up several times.
-
- o While building the message header index (short pause on a fast machine,
- more significant on a slower machine), a "waiting" dialog is displayed.
- I need to find that snippet about setting the hour-glass mouse pointer.
- No, actually, I need to add some secondary threads to this stuff ...
- maybe this weekend.
-
- o Most all of the message viewer letter command found in MR/2 classic
- are now functional in MR/2 PM. The exception seems to be the "B"
- command, read backwards w/in thread. I'll fix this one soon :)
- The "Z" key now works (zip to first non-read in conference).
-
- o The "B" key (read backwards w/in thread, go to thread summary at
- beginning of thread) now functions correctly. Note that selecting a
- thread from the thread summary places you at the FIRST message in a
- thread, not the last.
-
- o There's a new button on the Conference Select dialog box labeled
- "Write". This is for composing new messages w/o a message to
- reply to. I just have to put some code behind it now :)
-
- o The No QWK button is now operational on the packet select screen.
- If you depress this button, the "Pick BBS" dialog pops up and allows
- you to select a BBS. From then on you're in "write new" mode.
-
- o The reply header edit dialog now has a "Conferences" button for
- selecting a different response conference. The MR/2 classic hotkey
- F4 also maps to conference selection. Also, the conference number
- may be plugged in by hand. MR/2 now validates the number supplied and
- displays the conference name, or "Unknown" if a bad conference number
- is specified.
-
- o The Message Index dialog box now has horizontal scrollbar. There's
- nothing to scroll yet, but the scrollbar's there :)
-
- o I changed the way messages are displayed when unpacking a packet and
- checking for existing replies. This still isn't right, but it's better
- than it was. I still need to multithread and pipe the PKZip/unzip stuff.
- That'll be first thing on the list for the next beta.
-
- o The Config button now properly resets the packet path, if it is changed
- in the INI file. Previously, the path would not be changed.
-
- o OK, so my message index listing has a horizontal scrollbar, and I've
- got stuff to scroll. Hmmm, I must have to actually do the scrolling,
- too. I thought all this stuff was magic? I guess not.
-
- o OK, Cancel buttons added to message index dialog.
-
-
-
- Version 0.95 - Original ALPHA release 10/12/92
- Version 0.96 - Second release - BETA 10/25/92
- ----------------------------------------------
-
- No ANSI code support exists.
-
- Message display is relatively slow, particularly on long messages.
-
- No online HELP exists at this time.
-
- Just for fun, here's my "to do" list in its current form. Note that these
- notes aren't intended to make sense to you ... don't worry, they do to me :)
- Listing these may help identify problems I'm already aware of. There seems
- to be alot, but the thing works fairly well.
-
- To Do's (Bugs/Fixes):
- =====================
- o Long conference lists
- o Highlight search hits - define a color.
- o Alt-R & Alt-W inside editor
- o Reorder Message read buttons?
- o Expand message index, horizontal scroll bars.
- o Hit counter for searching (checking ... )
-
- o Online help
- o Manual
- o Returning to last read position
- o Find across ALL conferences
-
- o Keep focus out of message box - reset focus to NEXT?
- o Edit button on Save dialog doesn't work
- o Save files - remember last path / filename - ditto w/packets
- o No-file error checking for bulletins.
- o Config button: editor opens in the background. Wait box is off.
-
- To Do's (Long term enhancements):
- =================================
- o Toolbar(s) instead of pushbuttons.
- o Get rid of listbox for message viewer and write to window myself,
- paging, scroll bars much faster.
- o Make 32 bit and use v2.0 controls (eg, settings in a notebook).
- o Font control - colors? Moveable/sizeable windows?
-
-
-