Thing implementation of the AV and other protocols January 1996 =========================================================================== Copyright (c) Joe Connor 1995 Copyright (c) Arno Welzel 1995 This English documentation was loosely translated by Joe Connor who translates and supports Thing and many German programs in the UK via the InterActive shareware scheme. Some information about Thing is included following the end of the translation, for more details contact: Post: InterActive, 65 Mill Road, Colchester, Essex, CO4 5LJ, England Email: jconnor@cix.compulink.co.uk The text is an edited extract of the Thing documentation and is not a complete (or necessarily accurate) description of the protocols covered. The Thing v1.x distribution contains all the information in this document along with lots of other useful information in ST-Guide hypetext format so grab a copy today! This document may be freely distributed so long as this header remains intact and complete but must under no circumstances be reproduced either electronically or in printed form without the express written permission of the copyright holders. We accept no liability or responsibility for any direct or indirect damage that may arise, either financial, material or any other kind from either the use or misuse of this document. All trademarks used are recognised and acknowledged. --------------------------------------------------------------------------- Protocols covered: - AV protocol - Font protocol - Drag&Drop AV Protocol =========================================================================== The AV protocol was developed for use with the Gemini replacement desktop. Gemini comprises a desktop, Venus, and a command line called Mupfel. In order for Venus to communicate with desktop accessories the AV protocol was developed and is widely supported today: AV ~ Accessory <-> Venus Thing supports most of the AV protocol defined up to 26th June 1995 and as a consequence is an excellent 'AV Server' which improves the functionality of your desktop accessories and operation under a multitasking OS. In the following description Thing acts as the 'Server' and accessories and applications are 'Clients'. In order to use Thing as an AV Server under a multitasking environment you must set an environmental variable for Thing called AVSERVER. This is done as follows: MagiC ----- Entry '#_ENV AVSERVER=THING' in the file MAGX.INF (must be added before '#_CTR'!) MultiTOS -------- Entry 'setenv AVSERVER=THING' in the file MINT.CNF The following AV functions are supported by Thing: AV_PROTOKOLL AV_SENDKEY VA_PATH_UPDATE AV_ASKFILEFONT AV_ASKCONFONT VA_FONTCHANGED AV_OPENWIND AV_STARTPROG AV_ACCWINDOPEN AV_ACCWINDCLOSED AV_STATUS AV_GETSTATUS AV_COPY_DRAGGED AV_PATH_UPDATE AV_WHAT_IZIT AV_DRAG_ON_WINDOW AV_EXIT AV_STARTED AV_XWIND AV_VIEW AV_FILEINFO AV_COPYFILE AV_DELFILE AV_SETWINDPOS Some tips for implementation of the AV protocol in your own programs: --------------------------------------------------------------------------- - Under Single TOS only the (main-)application 0 can act as AV server. In a multitasking environment, like MagiC or MultiTOS, you have to check the presence of an AV server by checking the environmental variable AVSERVER. - Once a program uses the AV_PROTOKOLL, it must use AV_EXIT before terminating! - A program should always wait for the return of VA_PROTOSTATUS before using any other AV_... messages! It may be, that the current server does not provide all messages of the AV protocol! - All memory blocks, which are used to pass file names, parameters etc. MUST be allocated 'global' when running under MultiTOS!!! Tip! Mxalloc(,0x42)). Otherwise memory violations will occur! - All file names and folder names must be with complete path names. (e.g. 'i:\test.txt'). - If the server supports file name 'quoting' they can be enclosed in quotation marks. If a quotation mark is part of the file name, it has to be repeated once: d:\letter to moni becomes 'd:\letter to moni' d:\peter's picture becomes 'd:\peter''s picture' - If there is more than one file/folder name, the names should be separated using a single space (ASCII character 32). - Folder names must be terminated with a backslash ('\' - ASCII 92) e.g. 'i:\letters\' (even Gemini 1.a doens't seem to do this)! - To provide 'global' 'window cycling', AV clients should send [Control]+W to the server via the AV_SENDKEY message. AV Protocol, AV_PROTOKOLL --------------------------------------------------------------------------- AV_PROTOKOLL (0x4700) Server <- Client (26th June 1995) A client asks the server which functions of the AV protocol it supports. The server replies by sending a VA_PROTOSTATUS message. Word 3: Bit 0: VA_SETSTATUS Bit 1: VA_START Bit 2: AV_STARTED Bit 3: VA_FONTCHANGED Bit 4: Provides and uses file name quoting Bit 5: VA_PATH_UPDATE Bit 6-15: Reserved, always 0 Word 4: Reserved, always 0 Word 5: Reserved, always 0 Word 6+7: Pointer to the name, which has to be used for appl_find() to get the AES ID of the client. (8 characters long and null terminated). AV Protocol, VA_PROTOSTATUS --------------------------------------------------------------------------- VA_PROTOSTATUS (0x4701) Server -> Client (26th June 1995) Reply sent in answer to an AV_PROTOKOLL enquiry from the client. The reply, in the form of a status word, reports which functions of the AV protocol Thing supports. Greyed out entries will never be supported by Thing. Word 3: Bit 0: AV_SENDKEY Bit 1: AV_ASKFILEFONT Bit 2: AV_ASKCONFONT, AV_OPENCONSOLE Bit 3: AV_ASKOBJECT Bit 4: AV_OPENWIND Bit 5: AV_STARTPROG Bit 6: AV_ACCWINDOPEN, AV_ACCWINDCLOSED Bit 7: AV_STATUS, AV_GETSTATUS Bit 8: AV_COPY_DRAGGED Bit 9: AV_PATH_UPDATE, AV_WHAT_IZIT, AV_DRAG_ON_WINDOW Bit 10: AV_EXIT Bit 11: AV_XWIND Bit 12: VA_FONTCHANGED Bit 13: AV_STARTED Bit 14: Provides and uses file name quoting Bit 15: AV_FILEINFO, VA_FILECHANGED Word 4: Bit 0: AV_COPYFILE, VA_FILECOPIED Bit 1: AV_DELFILE, VA_FILEDELETED Bit 2: AV_VIEW, VA_VIEWED Bit 3: AV_SETWINDPOS Bit 4-15: Reserved, always 0 Word 5: Reserved, always 0 Word 6+7: Pointer to the program names of the servers, prepared for appl_find() (8 characters long and null terminated). AV Protocol, AV_GETSTATUS --------------------------------------------------------------------------- AV_GETSTATUS (0x4703) Server <- Client (11th November 1994) Requests the status information saved using AV_STATUS. A VA_SETSTATUS message is sent as a reply. No parameters AV Protocol, AV_STATUS --------------------------------------------------------------------------- AV_STATUS (0x4704) Server <- Client (11th November 1994) Using this message a client can tell the server any status information (presets etc) it might need again. Thing saves this information as a component of its setup in THING.INF. This function is primarily useful for desktop accessories because single TOS is (at best) equipped with ustable buffers! Word 3+4: Pointer to a string up to 256 characters long which may not contain any control characters. AV Protocol, AV_SETSTATUS --------------------------------------------------------------------------- VA_SETSTATUS (0x4705) Server -> Client (11th November 1994) Reply to a AV_GETSTATUS message. Thing shares the previously saved status information with the client. Word 3+4: Pointer to the saved string or NULL if no information is available. AV Protocol, AV_SENDKEY --------------------------------------------------------------------------- AV_SENDKEY (0x4710) Server <- Client (11th Nov 1994) Using this message a client can send Thing any keys it doesn't use for itself. Note: Thing and Gemini accept [Control]+W to perform 'global' window cycling, which takes into account the open windows of any AV clients. The key state (ev_mmokstate) is 0x0004, the scan code (ev_mkreturn) is 0x1107. Word 3: Key state (ev_mmokstate) Word 4: Scan code of the pressed key (ev_mkreturn) AV Protocol, VA_START --------------------------------------------------------------------------- VA_START (0x4711) Server -> Client (11th November 1994) Using this message a server pass parameters to desktop accessories or parallel running applications. An exceptional feature: Thing can receive VA_START messages too. In the command line an individual program or file can be passed. Installed applications are also taken into account. Command lines beginning with the ':' character must not be used because they are interpreted as internal commands! Word 3+4: Pointer to the command line. Objects dragged to icons using Drag&Drop require the entire filename, i.e. path, filename and trailing backslash '\' character. AV Protocol, AV_ASKFILEFONT --------------------------------------------------------------------------- AV_ASKFILEFONT (0x4712) Server <- Client (11th November 1994) Using this message the client can request the current font used for filenames in directory windows. The server the ID and size (in points) of the font with a VA_FILEFONT message. Also refer to VA_FONTCHANGED for more details. No parameters AV Protocol, VA_FILEFONT --------------------------------------------------------------------------- VA_FILEFONT (0x4713) Server -> Client (11th November 1994) Reply to AV_ASKFILEFONT. The server returns the ID and size (in points) of the current font used for filenames in directory windows. Also refer to VA_FONTCHANGED for more details. Word 3: ID of font (vst_font) Word 4: Size in points (vst_point) AV Protocol, AV_ASKCONFONT --------------------------------------------------------------------------- AV_ASKCONFONT (0x4714) Server <- Client (11. Nov 1994) A client can request the current font used in the console window. The server replies using a VA_CONFONT message the ID and size (in points) of the font. Also refer to VA_FONTCHANGED for more details. No parameters AV Protocol, VA_CONFONT --------------------------------------------------------------------------- VA_CONFONT (0x4715) Server -> Client (11. Nov 1994) Thing uses this message to answer AV_ASKCONFONT. Thing reports the font ID and size (in points) of the current font used in the Console window. Also refer to VA_FONTCHANGED for more details. Word 3: ID of font (vst_font) Word 4: Size in points (vst_point) AV Protocol, AV_OPENWIND --------------------------------------------------------------------------- AV_OPENWIND (0x4720) Server <- Client (11th November 1994) Thing opens a new directory window. Word 3+4: Pointer to the path of the to open directories Word 5+6: Pointer to the file mask. '*.*' is intrepreted as '*' (all files) by Thing. AV Protocol, VA_WINDOPEN --------------------------------------------------------------------------- VA_WINDOPEN (0x4721) Server -> Client (11th November 1994) Thing answers client to AV_OPENWIND. Word 3: 0 = Error !=0 = Window opened and directory updated AV Protocol, AV_STARTPROG --------------------------------------------------------------------------- AV_STARTPROG (0x4722) Server <- Client (11th November 1994) Thing starts a program at the request of a client. Word 3+4: Program name with complete path - optionally including the filename. If the filename is included Thing searches for the application and the filename then passes the filename, as a parameter, to the application. Word 5+6: Command line or NULL, if no command line is passed. Word 7: Any 16 Bit value, which VA_PROGSTART passes back AV Protocol, VA_PROGSTART --------------------------------------------------------------------------- VA_PROGSTART (0x4723) Server -> Client (11th November 1994) Reply to AV_STARTPROG enquiry. Thing always sends an answer immediately, i.e. after the end of programs started under single TOS which are not handled as accessories. Currently the Return code for started programs is always 0. If Thing ends before starting the program (e.g. Overlay mode under single TOS or starting an application in single mode under MagiC) no answer message is sent. A client will always receive an error message if the program couldn't be started. Word 3: 0 = Error !=0 = Program started Word 4: Return code of the program (where available) Word 7: 16 Bit word from AV_STARTPROG AV Protocol, AV_ACCWINDOPEN --------------------------------------------------------------------------- AV_ACCWINDOPEN (0x4724) Server <- Client (11th November 1994) A client uses this message to share with Thing the information that it has opened a window. Thing can then extend Drag&drop and cycle window support to cover this window. Word 3: AES handle for window AV Protocol, VA_DRAGACCWIND --------------------------------------------------------------------------- VA_DRAGACCWIND (0x4725) Server -> Client (11th November 1994) Thing sends an AV_ACCWINDOPEN message to the client sharing the information that one or more object/s have been dragged to its window. Refer to AV_COPY_DRAGGED for more details. Note: Should the keyboard status for a further answer of the client (e.g. AV_COPY_DRAGGED) become neccessary, it should, on receipt of VA_DRAGACCWIND, check the value returned from evnt_multi(). i.e. the EVENT-structure should be ascertained using EvntMulti() and NOT by sending the answer using graf_mkstate()! Word 3: AES window handle Word 4: X position of mouse Word 5: Y position of mouse Word 6+7: Pointer to the string including the object names AV Protocol, AV_ACCWINDCLOSED --------------------------------------------------------------------------- AV_ACCWINDCLOSED (0x4726) Server <- Client (11th November 1994) A client shares information with Thing that it has closed one of its windows. This only occurs if a client shuts its own window. Under single TOS accessory windows are automatically closed on starting applications and this message is not neccessary. Word 3: AES window handle AV Protocol, AV_COPY_DRAGGED --------------------------------------------------------------------------- AV_COPY_DRAGGED (0x4728) Server <- Client (11th November 1994) A client informs Thing an object, or objects, have been delivered via VA_DRAGACCWIND ready for copying. Thing send the client a VA_COPY_COMPLETE reply. Word 3: Keyboard status on receipt of VA_DRAGACCWIND Word 4+5: Pointer to the destination path AV Protocol, VA_COPY_COMPLETE --------------------------------------------------------------------------- VA_COPY_COMPLETE (0x4729) Server -> Client (11th November 1994) Reply to AV_COPY_DRAGGED from Thing to client. Word 3: 0 = Error or user initiated cancel !=0 = Objects are copied and the directory window is updated if neccessary. AV Protocol, AV_PATH_UPDATE --------------------------------------------------------------------------- AV_PATH_UPDATE (0x4730) Server <- Client (11th November 1994) A client informs Thing the contents of a directory have changed. Thing then re-reads the appropriate directories, and any sub directories, in the given path. Word 3+4: Pointer to the absolute path (e.g. C:\AUTO\). AV Protocol, AV_WHAT_IZIT --------------------------------------------------------------------------- AV_WHAT_IZIT (0x4732) Server <- Client (11th November 1994) A client requests details about what is located at a certain part of the screen. Thing replies with a VA_THAT_IZIT message. Word 3: X coordinate Word 4: Y coordinate AV Protocol, VA_THAT_IZIT --------------------------------------------------------------------------- VA_THAT_IZIT (0x4733) Server -> Client (11th November 1994) Reply to a AV_WHAT_IZIT enquiry. Word 3: AES ID for the appropriate application Word 4: Object type Word 5+6: Pointer to the object names or NULL, if no names are available The types are as follows: VA_OB_UNKNOWN (0) Unknown (Console window, desktop etc) VA_OB_TRASHCAN (1) Gemini 'Trash Can' - not available using Thing VA_OB_SHREDDER (2) Trash Can (Gemini 'Shredder') VA_OB_CLIPBOARD (3) Clipboard VA_OB_FILE (4) File VA_OB_FOLDER (5) Folder or directory window background VA_OB_DRIVE (6) Drive VA_OB_WINDOW (7) Window belonging to another application AV Protocol, AV_DRAG_ON_WINDOW --------------------------------------------------------------------------- AV_DRAG_ON_WINDOW (0x4734) Server <- Client (11th November 1994) A client informs Thing objects have been dropped somewhere. Thing sorts out what's happening at the location supplied, then sends a VA_DRAG_COMPLETE message. Word 3: X mouse position Word 4: Y mouse position Word 5: Keyboard status Word 6+7: Pointer to the string containing the names of the objects AV Protocol, VA_DRAG_COMPLETE --------------------------------------------------------------------------- VA_DRAG_COMPLETE (0x4735) Server -> Client (11th November 1994) Reply to AV_DRAG_ON_WINDOW message. Word 3: 0=Nothing changed after the Drag&drop 1=The given objects were processed (copied, deleted etc.) AV Protocol, AV_EXIT --------------------------------------------------------------------------- AV_EXIT (0x4736) Server <- Client (11. Nov 1994) A client informs Thing it no longer observing the AV protocol. This cancels all AV_ACCWINDOPEN messages too. This message must be used, before terminating a program if the program did use AV_PROTOKOLL! Word 3: AES ID of the client AV Protocol, AV_STARTED --------------------------------------------------------------------------- AV_STARTED (0x4738) Server <- Client (11th November 1994) A client informs Thing it has received and understood the VA_START message and the reserved memory for the command line can be released. At the moment, this message is ignored because Thing does not reserve any extra memory for VA_START messages. Word 3+4: Pointer to the command line, received by VA_START AV Protocol, VA_FONTCHANGED --------------------------------------------------------------------------- VA_FONTCHANGED (0x4739) Server -> Client (11th November 1994) If one of the fonts in Thing is changed all clients, which have already requested the font via the AV_PROTOKOLL, are informed. Note! Unfortunately TreeView 2.4, programmed by Stephan Gerle, does not react to this message so Thing explicitly sends TreeView (Applications named 'TREEVIEW') a VA_FILEFONT message. This is not the ideal solution but is a practical workaround. Word 3: ID of the font used for directories (vst_font) Word 4: Size in points for font used in directories (vst_point) Word 5: ID of the font used in the console window (vst_font) Word 6: Size in points for font used in the console window (vst_point) AV Protocol, AV_XWIND --------------------------------------------------------------------------- AV_XWIND (0x4740) Server <- Client (11th November 1994) Thing opens a directory window, similar to AV_OPENWIND except additional options are available: Word 3+4: Pointer to the path for opening directories Word 5+6: Pointer to the mask (Wildcard) for the available files Word 7: Bit 0: Use current top window, if available Bit 1: Use wildcard for object selection Bit 2-15: Reserved, always 0 AV Protocol, VA_XOPEN --------------------------------------------------------------------------- VA_XOPEN (0x4741) Server -> Client (11th November 1994) Reply to AV_XWIND, similar to VA_WINDOPEN. Word 3: 0 = Error !=0 = Window opened and the directory completely read i.e. a available window could be topped. AV Protocol, AV_VIEW --------------------------------------------------------------------------- AV_VIEW (0x4751) Server <- Client (26th June 1995) The server calls the viewer for a specific file. If no viewer is available an error message is returned to the user/s. Note! In contrast to Gemini 1.a Thing knows which applications are installed for which filetypes. With this message Thing can start the relevant application (e.g. a simple IMG viewer instead of a complete image editing application). Word 3+4: Pointer to the names of the file to be displayed (only a single file is allowed!) Word 5-7: Reserved, always 0 AV Protocol, VA_VIEWED --------------------------------------------------------------------------- VA_VIEWED (0x4752) Server -> Client (26th June 1995) Reply to AV_VIEW. The server informs the client whether the file will be displayed or not. The answer is immediate and always sent out if an error occured. Otherwise, in a multitasking background, the answer is received as soon as the viewer is topped (made active), Under single TOS the answer is received after exiting the viewer, in the case that the server had not already been ended (e.g. by unloading Thing from memory before starting the viewer -overlay mode). Word 3: 0=Error, 1=All OK Word 4-7: Reserved, always 0 AV Protocol, AV_FILEINFO --------------------------------------------------------------------------- AV_FILEINFO (0x4753) Server <- Client (26th June 1995) Display file/folder info. Sent as a reply to VA_FILECHANGED. Word 3+4: Pointer to file or folder name. Several files/folders may be separated using space characters. Folders MUST include a trailing backslash '\' character! Wort 5-7: Reserved, always 0 AV Protocol, VA_FILECHANGED --------------------------------------------------------------------------- VA_FILECHANGED (0x4754) Server -> Client (26th June 1995) Reply to AV_FILEINFO. Word 3+4: Pointer to the name of a file/folder, passed via AV_FILEINFO, which can naturally contain a new file/folder name. Example: 'C:\ANNA.TXT C:\AUTO\' was passed. The user changes 'ANNA.TXT' to 'ANNIE.TXT'. As a result the message string changes to: 'C:\ANNIE.TXT C:\AUTO\' Wort 5-7: Reserved, always 0 AV Protocol, AV_COPYFILE --------------------------------------------------------------------------- AV_COPYFILE (0x4755) Server <- Client (26th June 1995) Copy/move files/folders. Sent as a reply to VA_FILECOPIED. Word 3+4: Pointer to the source file/s and folder/s separated using space characters. Folders must include a trailing backslash '\' character. Word 5+6: Pointer to the destination folder Wort 7: Bit 0: Delete original (move) Bit 1: Rename copy Bit 2: Overwrite destination without comment Bit 3-15: Reserved, always 0 AV Protocol, VA_FILECOPIED --------------------------------------------------------------------------- VA_FILECOPIED (0x4756) Server -> Client (26th June 1995) Reply to AV_COPYFILE. Word 3: 0=Error, 1=All OK Word 4-7: Reserved, always 0 AV Protocol, AV_DELFILE --------------------------------------------------------------------------- AV_DELFILE (0x4757) Server <- Client (26th June 1995) Delete files/folders. Send as reply to VA_FILEDELETED. Word 3+4: Pointer to the files/folders to be deleted separated using space characters. Folders must include a trailing backslash '\' character. Word 5-7: reserved, always 0 AV Protocol, VA_FILEDELETED --------------------------------------------------------------------------- VA_FILEDELETED (0x4758) Server -> Client (26th June 1995) Reply to AV_DELFILE. Word 3: 0=Error, 1=All OK Word 4-7: Reserved, always 0 AV Protocol, AV_SETWINDPOS --------------------------------------------------------------------------- AV_SETWINDPOS (0x4759) Server <- Client (26th June 1995) An extension to AV_XWIND i.e. AV_OPENWIND remembered. With this the client can be informed of the position and size of the next directory window (with AV_XWIND or AV_OPENWIND) to be opened. The coordinates are given in absolute coordinates. Because via AV_XWIND an existing window is topped instead of a new window being opened this message has no affect! Word 3: Position X Word 4: Position Y Word 5: width Word 6: Height Word 7: Reserved, always 0 AV Protocol, VA_PATH_UPDATE --------------------------------------------------------------------------- VA_PATH_UPDATE (0x4760) Server -> Client (26th June 1995) If the client has established via the AV_PROTOKOLL the Server supports this message it informs the server whenever it changes the contents of a directory or sub directory. The client should then re-read all affected directories and sub directories, if necessary closing any sub directories which no longer exist. Word 3+4: Pointer to the directory, which must always include a trailing 'backslash' character. Word 5-7: Reserved, always 0 Font Protocol - Originally defined by Christian Grunenberg =========================================================================== Since v0.4 Thing supports the most important functions of the Font protocols, as defined by Christian Grunenberg. Thing can also be installed as a font selector for other applications although at present only ST-Guide (30/04/95 or later) supports this option. For successful operation the following criteria must be fulfilled: - Thing must be running in parallel to the application - either as a desktop accesory under single TOS or in a multitasking environment - The environmental variable 'FONTSELECT' must be set to 'THING' The following is a description of the messages supported by Thing. For a complete definition of the protocol (in German) contact Christian Grunenberg: Email: Christian_Grunenberg@LB.maus.de Font Protocol, FONT_SELECT --------------------------------------------------------------------------- FONT_SELECT (0x7A19) Application -> Thing An application calls the font selector and successfully receives a selection of fonts and sends the FONT_CHANGED reply. Word 3: Handle of the affected window, or negative value if the font for all windows should be changed. Word 4: Font ID or 0 Word 5: Font size in points Word 6: Font colour Word 7: Effects - Bit 0: Bold Bit 1: Light Bit 2: Italics Bit 3: Underlined Bit 4: Outline Bit 5: Shadowed Bit 6: Inverse Bit 7-15: Reserved, always 0 Font Protocol, FONT_CHANGED --------------------------------------------------------------------------- FONT_CHANGED (0x7A18) Application <- Thing Reply to FONT_SELECT. Thing informs the application of the new values. Word 1 of the message contains the Thing application ID. This message is also sent out by Thing if a font is Drag&Dropped onto the window of another application. Install WINX under single TOS so that Thing can determine the owner of all windows. Thing also accepts this message as a receiver and updates the window display as required. Drag&Drop protocol - Originally introduced by Atari for MultiTOS =========================================================================== This protocol was introduced by Atari for MultiTOS and seems to be supported by MagiC. Thing as sender --------------- Thing automatically operates this protocol if one or more objects in a window are Drag&Dropped onto a window belonging to another application which doesn't belong to an AV client and wasn't opened using AV_ACCWINDOPEN. Thing can even 'convert' AV Drag&Drop messages (AV_DRAG_ON_WINDOW) to Drag&Drop protocol messages! This makes it possible to search for files using ParaFin and send the result to CoNnect via Drag&Drop... If the receiver does not understand the Dra&Drop protocol or the system (e.g. MagiC! v2/single TOS) does not support it then Thing tries sending a VA_START message with the names of the Drag&Dropped objects via the command line which so long as the system knows who owns which desktop windows usually works. Tip! Single TOS users can use WINX. Thing as a receiver ------------------- Due to a lack of supporting applications I haven't been able to test this extensively. So far I have tested CAT (Maus net OLR) which can export '.TXT'. If a '.xxx' block is Drag&Dropped on the desktop Thing requests a path to save the file to. If a drive etc is selected as the destination a path is displayed as a guideline. If the block is Drag&Dropped onto the Clipboard Thing automatically saves the data as 'SCRAP.xxx' in the Clipboard. If a text block is dropped onto an application dialog window and the application supports Drag&Dropped '.TXT' then the text in inserted into the current editable field. This will only work with a few applications. 'ARGS' blocks are handled as VA_START messages, i.e. they are passed via the command line and simply executed. 'PATH' blocks are still currently not supported and rejected with DD_NAK. About the Thing alternative desktop =========================================================================== Programmed and Copyright (c) 1994-95 Arno Welzel Post: Arno Welzel Georgenstrasse 55 86152 Augsburg Germany Email: aw@zaphot.augusta.de Overview of the main features Thing offers over to the standard desktop --------------------------------------------------------------------------- - 'Object groups' to hold several files, folders and programs in common windows, effectively 'mini desktops' in windows. - Full support for alternative file systems: Thing supports long and case-sensitive file names. - Any IMG format file can be used as background pictures on the desktop, either centred or 'tiled'. - 'Modern' dialog boxes in windows, many non-modal with keyboard shortcuts, 'Tabs', 'Drop Down Listboxes' 3D-buttons etc. - Icons at any size in a normal GEM resource file. - Support for colour and 'animated' icons. - Console window using TOS2GEM, programmed by Thomas Binder. All features of TOS2GEM are fully supported. - Support for TOSWIN under MiNT -so you can run TOS/TTP programs parallel to the desktop even under single TOS. - Support for GDOS: Bitmap and proportional fonts including all variants of TrueType and Speedo fonts can be used in directory windows. - Support for Let'em Fly, WINX and Freedom -including eCPX's. - Support for Kobold: Kobold 2 can be used for copying/moving/deleting files and formatting disks. Kobold may be called as an accessory or an external program. The minimum number of files or the amount of data before Kobold is called is user definable. - Context sensitive help using the ST-Guide hypertext system: Help is available at any time by pressing the [Help] key or from within dialogs by selecting the 'Help' button. Help for menu entries is also available by holding down the [Control] key when selecting the desired menu entry. - Support for the Font protocol (as specified by Christian Grunenberg): Thing can be used as a 'font selector' by using the FONT_SELECT message or via Drag&Drop (Thing sends FONT_CHANGED to the owner of the window). - Drag&Drop protocol under MultiTOS or MagiC. - Full support for the AV protocol which offers unrivalled performance from supporting applications. Most of the tools designed for use with Gemini can also be used with Thing (e.g. ParaFin, PacShell, TreeView etc). If you'd like to the real Thing send œ13 Sterling along with the registration form to: Post: InterActive, 65 Mill Road, Colchester, Essex, CO4 5LJ, England Email: jconnor@cix.compulink.co.uk In return you'll receive a Master disk containing the latest version of Thing and associated utilities along with a registration letter and personal key to remove the Shareware reminder. -----------------------------8<--- Cut ---8<------------------------------- Thing Registration for v1.x --------------------------- Name ............... : Address ............ : Country ............ : The following questions are not compulsory but will help us ensure future versions of Thing meet your needs... Email .............. : Hardware ........... : [ ] ST/e/Mega ST/e [ ] TT [ ] Falcon [ ] Other -please specify Operating system ... : [ ] SingleTOS (e.g. TOS 1.04, TOS 2.06) [ ] SingleTOS & MiNT [ ] MultiTOS [ ] MagiC -please specify version [ ] Atari emulation -please specify [ ] Other -please specify Where did you obtain your copy of Thing? Internet ......... : [ ] Please specify BBS/Mailbox etc ... : [ ] Please specify PD/Shareware library: [ ] Please specify Other ............. : [ ] Please specify Thanks in advance! -----------------------------8<--- Cut ---8<------------------------------- EOF