Mailtext 3.0 (4.3.97) by Olaf Peters A MUI customclass package especially for displaying mail messages. *NOTE*: Mailtext is GiftWare, if you use it regularly you should send a gift of your choice to the *Note author: Author. Overview ******** What is Mailtext? Mailtext is a Custom Class for the Magic User Interface (MUI) by Stefan Stuntz. It should be used whenever a MUI program has to display electronic messages, i.e. eMail or News. In "e-messages", you will often find words enclosed i.e. by '*' oder '_' like this: *bold*, _underlined_. By using Mailtext instead of MUI's Floattext-Class the text enclosed by these attributecharacters will be printed with the appropriated textstyle, so * *text* will be printed boldface * /text/ will be printed italics * _text_ will be underlined * #text# will be printed in another color, which can be freely configured in MUI-Prefs/Mailtext. The processing of attributecharacters will be disabled if Mailtext recognises uuencoded files, signatures, PGP-Signatures, -Keys and -Messages. But that's not the only thing Mailtext can do: It may also highlight quoted textpassages -- with different colors for up to five levels of quote. Uniform Resource Locators (URL) are recognized by Mailtext and you can configure an action that will be triggered whenever the user doubleclicks an URL, i.e. start an AmigaDOS-Command or an ARexx-Script to forward the URL to your favorite Webbrowser. Signature marks, i.e. '-- ', can be replaced by a horizontal line, so the signature appears more separated from the messagetext. Most features of Mailtext may be *Note configured: Configuration to fit your needs. Copyright ********* Mailtext is copyright (C) 1996-1997 by Olaf Peters. Permission is granted to make and distribute verbatim copies of this package provided the copyright notice and this permission notice are preserved on all copies. Mailtext is distributed as GiftWare, so if you use it regularly i.e. for reading your email and newsmessages in a newsreader that uses Mailtext, you should consider to send a small donation to the *Note author: Author in order to honor the work that has been put into this package. None of the programs nor the source code (or parts of it) may be included or used in commercial programs (including Shareware) unless by written agreement with the author, Olaf Peters. *No Warranty* No Warranty of any kind is given that the programs described in this document is 100% reliable. You are using this material at your own risk. The author *cannot* be made responsible for any damage which is caused by using these programs. *Distribution:* This package is freely distributable. It may be transfered to one of any medium used for distributing free software. This includes public domain series, CD-ROMs, FTP servers and mailboxes. There is no limit to the fee taken for these media like disks, streamer tapes, CDROMs or for copying. It must only be clear that this fee is taken to cover the costs for media and copying - not for the software. Limitations to the fee have proved to be senseless in past because the fee was not lowered but the files were removed from the original medias. If you want to distribute this program you *must* use the original distribution archive. Don't blame me for any inconveniences caused by modified distribution archives. Although the author does not restrict the costs of distribution he wants to tell his opinion about this topic: * This software package should be available for everybody free of any fee where possible. * If you purchased this software the normal way from a Public domain distributor on a disk and you have payed more than 5,-DM or US $5,- for it you have definitely overpayed. You should look for a cheaper source of Public-Domain software as soon as possible. *Limitations of Usage:* *None* of the programs *nor* the source code (or parts of it) may be used on any machine which is used on research, development, construction, testing or production of weapons or other military applications. This also includes any machine which is used for training persons for *any* of the above mentioned purposes. Author ****** Send gifts, bugreports, featurerequest etc. pp. here: * SnailMail: Olaf Peters Kulmer Str. 7 28237 Bremen Germany * E-Mail: op@hb2.maus.de (no mail larger than 16 KB, please!) olf@informatik.uni-bremen.de (send large mail to this address!) * Voice: +49 421 6918020 * World Wide Web: http://www.biba.uni-bremen.de/users/olf/ * The Mailtext homepage: http://home.pages.de/~Mailtext/ Installation ************ What you need to use the Mailtext package: * a minimum of Kickstart and Workbench 2.04, Workbench 2.1 for localization. * a minimum of MUI 3.6 * NList.mcc, NListview.mcc and NListviews.mcp by Gilles Masson. * Crawling.mcc by Klaus Melchior for Mailtext.mcp (optional, Mailtext.mcp will also work without). For installation you should use the supplied installer script which will setup all you need to use the Mailtext package. Configuration ************* Most features of Mailtext may be configured to fit your needs in the Mailtext section of MUI-Prefs. All elements make use of MUI's Bubblehelp system, so just some essential notes can be found here. Chars page ========== An important thing to know when configuring Mailtext is what is meant with "introducing char" and "terminating char", so please have a look at the following example (let + be one of the attribute characters '*', '/', '_' or '#'): +Text+ ^ ^ | | | +- the terminating char | +- the introducing char With this is mind, it should be pretty easy to configure Mailtext to your needs. Distances page ============== The quote distance configures Mailtext's recognition of quoted textpassages. However, with multiple quotelevels it's a little more tricky, so let's have a look at the following example: XYZ> ABC> Quoted text ^ ^ 123412345 With a quote distance <= 3 the text will not be highlighted at all, as the first quote character is the fourth character of the line. With a quote distance of 4 the whole text will be highlighted with the level 1 color, level 2 is not recognized. With a quote distance >= 5, also the second quotelevel would be recognized, as the second quotechar is the fifth charater behind the first quote character. Too complicated? I don't hope so ... ;-) URLs page ========= The URL action is a normal AmigaDOS command as i.e. entered in a Shell window. So you have to use 'rx' to start ARexx scripts. The first `%s' in the URL action command will be replaced by the URL you have double clicked. Mailtext recognizes the following URLs (described in RFC 1738): `file://' - Host-specific file names `ftp://' - File Transfer protocol `gopher://' - The Gopher protocol `http://' - Hypertext Transfer Protocol (World Wide Web) `mailto:' - Electronic mail address `news:' - USENET news `nntp://' - USENET news using NNTP access `prospero://' - Prospero Directory Service `telnet://' - Reference to interactive sessions `wais://' - Wide Area Information Servers However you cannot configure an action string for each URL type as this can be done by a "wrapper" ARexx script. Frequently Asked Questions ************************** `Question': In MUI-Prefs/Mailtext I have selected "Separate Signatures" on the `Misc.' page but it doesn't seem to work. Why? `Answer': Most likely the signature separators '-- ', '--' or '---' are part of your disable pattern (see `Patterns' page). Remove them from the pattern and everything will work fine. In pre 3.0 versions of Mailtext the signature separators '-- ' and '---' were part of the disable pattern by default. `* * *' `Question': Multiple attributes, i.e. _*/This/*_, don't seem to work. Why? `Answer': I guess you have (again) been using a pre 3.0 Mailtext version? You should add the characters *_#/ to the whitespace- and terminating-chars and remove them from the nonintroducing-chars (see `Chars' page in MUI-Prefs/Mailtext). `* * *' `Question': When the mousepointer is above the Mailtext, I cannot access the application's menus via keyboard shortcuts. I have to move the mouse outside the Mailtext's area. What's that? `Answer': This is a MUI problem/feature. If an object has a context menu and the mousepointer is above that object, the application's menus cannot be accessed via shortcuts. Perhaps a future MUI will change this, MUI 3.8 -- the current version while writing this -- still has this behaviour. That's the reason, why Mailtext's contextmenu can be switched off in MUI-Prefs/Mailtext on the `Misc.' page. Developers ********** If you consider using Mailtext in one of your own programs, please have a look at the *Note copyright: Copyright first. You are really welcome to use Mailtext in your own projects, but the needed headerfiles for C, Oberon and Modula-2 are *only* available on request, as I would like to know which applications are using the class. For requesting the developer package, have a look at *Note Author:: to find out about ways to contact me. Applications ************ The following public applications are currently using Mailtext: `IntuiNews v1.4a' by Matthias Scheler and Markus Stipp (Freeware). A newsreader for the Universal Message System (UMS). Available from Aminet in comm/ums. `GoodNews v1.5' by Jean-Marc Xiume' and Jerome Fleury (Freeware). Another newsreader for the Universal Message System (UMS). GoodNews is based upon the IntuiNews v1.4 sources. Available from Aminet in comm/ums. `MUIReaderX v0.45' by Robin Vermaat (Freeware). An offline message reader/writer for Xenolink BBS Systems. MUIReaderX is a GUI to Xenolink's message base and can be compared with programs like Spot and Foozle. Available from Aminet in comm/xeno. An up-to-date list can be found on the Mailtext homepage http://home.pages.de/~Mailtext/. If you would like to see your application in this list, please mail the *Note author: Author, Olaf Peters, and tell him about your application. Thanks ****** The author would like to thank the following people: `Stefan Stuntz' for that wonderful environment called "Magic User Interface" (*Note MUI::). `Gilles Masson' for NList.mcc, NListview.mcc and NListviews.mcp, as these classes made so many new Mailtext features in v3.0 possible. `Kai Hofmann' for the great MCC-Install installer script and MCCLib.c. `Matthias Scheler' for the bugreports and for immediately using Mailtext in IntuiNews, a great newsreader for the Universal Message System (UMS) `Klaus 'kmel' Melchior' for Crawling.mcc and the help with MUI customclasses. `Andreas Baum' for inspirations and bughunting! `Frank Duerring' for the Oberon interfaces. `Ole Friis' for the danish catalog translation for Mailtext v1.0 and the bugreports. `Everyone involved in the Mailtext translation:' *Mailtext v1.0 translators* Peter Eriksson (swedish), Paolo Menichetti (italian), Petter E. Stokke (norwegian). *ATO translators* Daniel Widerström (swedish), Francis Labrie (french), Frederico Borges (portuguese), Lars Svoldgaard (danish), Ljubomir Jankovic (serbian), Marcin Orlowski (polish), Marko Honkanen (finnish), Pascal Eeftinck (dutch), Simone Polacci (italian) and Vit Sindlar (czech). *ATO proofreaders* Alexandre Gabriel (portuguese), Carsten Stach (german), Ciro Scognamiglio (italian), Fredrik Rambris (swedish), Jérôme Fleury (french), Leon Woestenberg (dutch), Martin Clausen (danish), Mika Lundell (finnish) and Radim Demel (czech). *ATO project coordinator* Mika Lundell `All currently registered Mailtext-Developers' Bodo Schulz, David Rydh, Jason Weber, Jerome Fleury, Johnny Tevessen, Klaus Melchior, Magnus Heino, Marcel Beck, Mathias Mischler, Michael Leun, Petter E. Stokke, Robin Vermaat, Thorsten Stocksmeier, Timo Jakob, Troels Walsted Hansen for their interest in this package. `All the Mailtext betatesters' History ******* Mailtext v1.0 (5.6.96) ====================== Mailtext.mcc v10.196, Mailtext.mcp v14.2 * first public release. Mailtext v2.0 (2.11.96) ======================= Mailtext.mcc v17.41, Mailtext.mcp v17.28 * ported Mailtext from Modula-2 to C: - Mailtext now completely complies with the guidelines for MUI Custom Classes - now needs MUI 3.6, support for older MUI versions has been dropped. - the classes are app. 50% smaller. - compiled with SAS/C 6.56. * API did *not* change. No need to request a new developer package. Mailtext v2.1 (10.11.96) ======================== Mailtext.mcc v17.58, Mailtext.mcp v17.40 * when attribute parsing has been disabled (by matching the disable pattern), no text was copied at all, resulting in i.e. lost signatures. * now using MCC-Install 43.4 * compiled with SAS/C 6.57 * polish catalog, thanks to Marcin Orlowski Mailtext v2.2 (19.11.96) ======================== Mailtext.mcc v17.71, Mailtext.mcp v17.55 * should handle i.e. Unix paths (i.e. /home/users/olf/) in messages a little smarter now. With previous versions, that example would have been printed in italics, now no attribute will be set. * switched from mccheader.c to MCCLib.c (thanks to Kai Hofmann, great work!) * version for MC68020 (and above) included. * fixed some bugs in Mailtext.mcp that could occur in low-memory situations. Mailtext v3.0 (4.3.97) ====================== Mailtext.mcc v18.12, Mailtext.mcp v18.4 * Mailtext is now derived from NList.mcc, so it takes advantage of some neat features of NList, making the new features below possible. Thanks to Gilles Masson for the NList package! * It is now possible to mark text with the mouse and copy it to the clipboard (NList feature). * Each mailtext object can now have a contextmenu with the following entries: - copy selected text to clipboard. - display the raw text instead of the processed. - switch wordwrapping * Colors can now be configured for up to 5 different levels of quoted text and also for the '#' attribute. * Multiple attributes (like i.e. _*/Text/*_) are supported correctly now. Therefore, you have to add the characters *_#/ to the whitespace- and terminating-chars and remove them from the nonintroducing-chars. * URLs may be highlighted. It is also possible to configure an action -- i.e. start a webbrowser -- that will be triggered when an URL in the text is doubleclicked. Mailtext recognizes all URL types specified in RFC 1738 "Uniform Resource Locators", Section 3. * signature marks ('--', '-- ' and '---') will now optionally be replaced by a horizontal line. * Wordwrapping for long lines can optionally be switched off: if the Mailtext object is contained in an NListview, a horizontal scrollbar will be display instead. With MUI's Listview this is of course not possible. * Removed '-- ' and '--- ' from the default disable pattern, so you will see i.e. URLs in signatures and enable the signature separation feature. * The state of the checkmarks in the .mcp was not saved correctly. Fixed. * some bugfixes. * API changes (refer to Autodoc): - the behaviour of MUIA_Mailtext_IncPercent changed slightly. - new: MUIA_Mailtext_ActionURL [..G] - new: MUIA_Mailtext_DisplayRaw [.SG] - new: MUIA_Mailtext_ForbidContextMenu [I..] - new: MUIA_Mailtext_Wordwrap [.SG] Future ****** The following features are still on my ToDo list for Mailtext, although there's no guarantee that they'll ever be implemented. But there's a way to influence me *Note Giftware: Copyright :-) * Replace text containing uuencoded data by a configurable picture and make decoding possible. * Search for text. * Recognize doubleclicks on e-mail addresses (without mailto:) and trigger an action just like with URLs. If you would see some more features in Mailtext don't hesitate to contact the author. MUI *** This application uses MUI - MagicUserInterface (c) Copyright 1993-97 by Stefan Stuntz MUI is a system to generate and maintain graphical user interfaces. With the aid of a preferences program, the user of an application has the ability to customize the outfit according to his personal taste. MUI is distributed as shareware. To obtain a complete package containing lots of examples and more information about registration please look for a file called "muiXXusr.lha" (XX means the latest version number) on your local bulletin boards or on public domain disks. If you want to register directly, feel free to send DM 30.- or US$ 20.- to Stefan Stuntz Eduard-Spranger-Straße 7 80935 München GERMANY Concept index ************* * Menu: * Address: Author. * AmigaDOS command: URLs page. * ARexx: URLs page. * Author: Author. * Bugreports: Author. * C: Developers. * Char, Introducing: Chars page. * Char, Terminating: Chars page. * Chars page: Configuration. * Command, AmigaDOS: URLs page. * Command, URL action: URLs page. * Context menu: FAQ. * Developers: Developers. * Distance, Quote: Distances page. * Distances page: Configuration. * eMail: Author. * FAQ: FAQ. * Features: Overview. * Future: Future. * GoodNews: Applications. * History: History. * Introducing Char: Chars page. * IntuiNews: Applications. * MagicUserInterface: MUI. * Mail: Author. * Modula-2: Developers. * Mousepointer: FAQ. * MUI: MUI. * MUIReaderX: Applications. * Multiple attributes: FAQ. * Oberon: Developers. * Quote distance: Distances page. * Quotelevels: Distances page. * Requirements: Installation. * Revision history: History. * Signatures: FAQ. * Terminating Char: Chars page. * Thanks: Thanks. * URL action command: URLs page. * URLs page: Configuration. * v1.0: Mailtext v1.0. * v2.0: Mailtext v2.0. * v2.1: Mailtext v2.1. * v2.2: Mailtext v2.2. * v3.0: Mailtext v3.0. * World Wide Web: URLs page. * WorldWideWeb: Author. * WWW: Author. * WWW: URLs page.