Tera Desktop. Copyright 1991 - 1995 W. Klaren 2002 - 2011 H. Robbers 2002 - 2017 Dj. Vukovic Version 4.08 19-02-2017 ------------------------ - Fixed a bug accidentally introduced in previous version. If "show parent firectory" was active, the closer widget did not close the window completely anymore; instead, the window switched to the parent directory. - Changed behaviour: options "Show subdirectories" and "Show parent" are completely separated. Earlier behaviour was that, if "Show subfolders" was not active, the parent (..) was not shown either. - Fixing of a bug that froze Teradesk when copying a file from a folder in a path containing a hidden folder did NOT succeed. The bug remains, unfortunately. Version 4.07 26-11-2016 ------------------------- - Added a choice of behaviour when opening links to directories. The default behaviour of TeraDesk has been changed: If a directory window is opened from a link in a directory window, path of the opened window will now be a continuation of the path of the directory where the link is. However, if the left [Shift] key is kept pressed while opening the link, the path of the opened window will be that of the actual opened directory (which is the behaviour of previous versions of TeraDesk. Currently, this feature exists only for directory windows. Links to directories opened from desktop icons retain the previous behaviour, which may or may not make sense, depending on one's point of view. It should be noted that, if "Show parent" option is set, links of root directories will not show the "parent" item (..). - Fixed a problem with deleting twice a menu-item when simplifying the menus in single-tasking version. - Fixed a division by zero when opening an empty folder (strangely, this was a very old bug that was not noticed before by anyone). - Updated the hypertext manual. Version 4.06 29-09-2014 ------------------------ - Added option for case-insensitive directory sorting. - Updated the hypertext manual. Version 4.05 7-12-2013 ----------------------- - Fixed several errors that, together, disabled the use of the drive 'Z' (only A-Y were possible). - Added capability to alter vertical and horizontal icon distance on the desktop, as well as the offset of icons from the upper left corner of the desktop. This is set in the Window Options dialog. The capability is of interest when TeraDesk is run in high screen resolutions, when larger icons can be used. - Removed unnecessary modification of the height of the Set Desk Icons dialog. - Updated text headers related to GPL in all files. - Updated the hypertext manual. Version 4.04 18-01-2013 ------------------------ - A number of changes made by H. Robbers to enable compilation for Coldfire using AHCC. Project file DESK_CF.PRJ should be used to build the program. Unlike the other project files (DESKTOP.PRJ and DESKTOS.PRJ), this project file is for the AHCC compiler only; PureC can not be used. The Coldfire binary is supposed to be compatible with 68020 and higher processors. - Fixed an error that appeared with _MENUDEL option disabled in the project. - Fixed some insignificant errors and warnings which showed when compiling with AHCC source. - Fixed missing buttons in the name-conflict dialog when copying a single folder-type item. - Made several updates in the hypertext manual. Version 4.03 23-01-2011 ------------------------ - Removed what seems to be some unnecessary code related to handling windows and desktop icons. Hopefully nothing was broken. - Added capability to define offsets of desktop icons from the upper and left edge of the desktop area. Offsets can be defined by two new parameters in the configuration file: xoff= and yoff= in the deskicons{} section. These parameters can only be changed by manually modifying the configuration file. Program size increased by 70 bytes only. - Tidying-up of the source code. - Source of the AHCM library linked into TeraDesk is included by permission from Henk Robbers. Users should note that there is a newer version of AHCM at Henk's web site. That version will produce a somewhat larger executable of TeraDesk. Version 4.02 25-12-2009 ------------------------ - Fixed undesired behaviour that occured when right moue button was pressed for a long time insteead of just clicked. - Added several corrections by H.Robbers in order to enable correct compilation with AHCC - Some small optimizations made in the code. Program size reduced by a couple of bytes. - Tidying-up of the source code. A number of comments added. Version 4.01 20-04-2009 ------------------------ - An improvement was (hopefully) made in the shutdown procedure. Probably because of ambiguous documentation, different AESes use different parameters (wiscr vs. wisgr) in shel_write() to activate shutdown! TeraDesk now tries better to account for these differences by setting all of the alternative parameters. Btw. it seems that, in fact, none of the AESes implements whutdown procedure completely and as it looks to have been designed to be (e.g. what about 'shutdown completed' message?) - When copying files to filesystems that know of user/group ids, TeraDesk now sets current user uid/gid instead of keeping the original one. This is tought to be more appropriate. When moving files, the original uid/gid is kept. - (Almost) fixed a problem with copying files to network file systems. The problem was caused by denial of access to change destination file attributes and access rights. An improvement has been made and this mostly works correct now, but a problem remains with some (not all) network file systems if they have user-id-mapping activated. In that case, an attempt to set uid/gid on destination through Fchown() fails. It seemed at first that Dpathconf() could be used to divine whether uid/gid is available for setting, but, unfortunately, no useful information could be detected this way. As a very ugly last measure, TeraDesk now ignores errors from Fchown() if destination path is at u:\nfs\..... - Some mistakes in the hypertext manual have been corrected. Version 4.00 25-12-2008 ------------------------ - Improved formatting when displaying large file or folder sizes. They will be displayed in kilobytes (for values larger than cca 9.9 MB) or in megabytes (for values larger than about 9.9 GB)- appropriate suffix 'K' or 'M' will be added. Numerical string lengths are never supposed to exceed 7 decimal places. - Removed the 2 GB limit for the sum of file sizes in a selection or in a partition. New limit is 2 TB. Provisions made in the code to easily change the limit to 2 EB at compilation time, but then large sums and sizes will have to be displayed in megabytes instead of kilobytes (which may become more appropriate in a year or so). Size limit for a partition is now 1 billion clusters which is at least a couple of TB. Size limit for one individual file is still 2 GB, because of the limitations of the operating system(s). The improvement works only on the multitasking version of TeraDesk. The single-tasking is not fully enabled for the extended size limits, whish are above the single-TOS possible partition sizes anyway. - Enabled the use of links referencing paths relative to the directory of the link, i.e. paths starting with ".\" and "..\". - Permitted overwriting of symbolic links with regular files (and v.v.) in copy operations. In previous versions only items of identical types could be overwritten. - Fixed the problem of file-copying aborting when a long-filename item was copied to a partition with 8+3 names. An option to skip the file has been added, similar to options appearing in case of other errors that should not stop the complete operation. - Added the option to truncate long filenames when copying to a FAT (8+3) partition instead of skipping such items (option is in the Copy & Print dialog). In order to avoid confusing names appearing in the TeraDesk's dialogs (the short name has to be known before an operation is attempted), truncating is done by TeraDesk, not by the underlying filesystem (if it is possible to get a 'preview' of the truncated name from the operating system before attempting the operation, this will be changed). - Fixed a very old bug of Show info... for a partition -sometimes- not showing the volume label. - Fixed an old but hitherto unnoticed bug which caused improper operation of the slider in the icon-selector dialog (paging up did not work well). - Fixed the problem of not being able to save and load the disabled states of some options. - Fixed some bugs that disabled the use of links to network objects. - Fixed some typo errors in certain portions of the code that were only conditionally compiled. - Done a certain amount of cleanup of the source code. Corrected the types of some variables. - Changes made in the resource file. See RESOURCE.TXT. - Updated the hypertext manual Version 3.97 14-08-2008 ------------------------ - Made a modification that diminished the blinking effect that showed when real-time paging a directory window with selected items. The blinking was mostly visible in XaAES. - Changed behaviour regarding "Save windows" option: the default is now -not- to save windows unless the option is selected in "Window options". This option could not be properly deselected in previous versions and became active at each start of TeraDesk. - Rearranged the positions of buttons in some dialogs so that "OK" is next to "Cancel" in the lower right areas of those dialogs, in the same position as in other dialogs. - "Skip" and "All" buttons made invisible in some dialogs when number of selected objects is one. - Fixed the problem of being unable to perform string search in a file displayed in a text window, or in a number of files selected in a directory window. The problem manifested itself only in Mint or Magic. - Fixed the bug that sometimes disabled display of the last byte in the line when displaying a file in a text window. - Fixed the bug that sometimes caused incorrect update of directory windows when closing them up into parent directories. - Started adjustments that should enable correct display of information for folders larger than 2 GB. Hopefully, this will become available in the next release. Version 3.96 31-05-2008 ------------------------ - Cosmetic fix of display of size and free capacity for large disk partitions (corrected left/right justification). - Added "quick format" option for formatting floppy disk (only the first two tracks are formatted, rewriting the boot sector, FATs and directory). Use of this feature should be avoided when the numbers of tracks or sectors per track are set differently than in the previous format. - Enabled CT60 power-off in single-TOS version of TeraDesk. - Improved behaviour of startup and shutdown applications regarding prevention of multiple starting. - Fixed "previous" format option which produced disks that were readable on Atari but reported as unformatted in DOS. - Fixed incorrectly written volume label if no label entered when formatting floppy disks. - Fixed incorrect positioning and sizing of sliders when (re)opening windows in TOS 4.* AESes. - Changes made in the resource file. See RESOURCE.TXT - Hypertext user manual updated. Version 3.95 10-03-2008 ------------------------ - Fixed a bug that sometimes caused incorrect comparision and sorting of dates and times - Fixed a bug (dating several releases back) that disabled entering of dates later than 23rd into search dialog as the high date limit. - Fixed incorrect sorting of parent directory when 'Sort by date' - Fixed incorrect column alignment of attributes displayed for parent directories in directory windows - Powering off CT60 at shutdown (in single-TOS) now works OK. - Changed behaviour related to 'special' applications: it makes sense to assume that, for certain types of these applications, only one instance should be running at a time. Those types are: autostart, shutdown, video-mode changer and floppy-formatter. In earlier releases of TeraDesk, situations could arise when more than one instance of those applications were initiated- e.g. if TeraDesk was restarted while an autostart-marked application was still running, an attempt was made to start the application again (in fact, to send it the VA_START message). Now, if such an application is found to be already running when a 'special use' is required, a request to start it again as 'special' is silently ignored. This change applies only to situations when the application is started as 'special' (e.g. at TeraDesk startup, or shutdown or...). The user can still activate multiple instances of an autostart (or other type) application by double-clicking on it. - A new page added to the hypertext user manual, highlighting some TeraDesk- specific features. Hypertext user manual also updated to reflect other changes. Version 3.94 15-12-2007 ------------------------ - Shutdown options reworked. There are now 'Shutdown', 'Reboot', 'Quit' and 'Cancel', and they appear in a dialog, not in an alert box. With the first two options TeraDesk issues a shel_write() for a full shutdown and, if it does not receive a termination message within a short while (AFAIK this message can come only in MyAES), it performes either a system-halt/power- down shutdown by a call to Shutdown() or a cold-reboot shutdown. If Shutdown() function does not work on the system (e.g. in single-TOS), TeraDesk, waits for 5 seconds and then, depending on the selected option, either enters into an endless loop, or performs a cold reset. TeraDesk is also supposed to be able to switch-off power of CT60 at shutdown, but this capability has not yet been tested. Btw. there was no success in attempts to solve the problem of shutdown in Magic, in which external shutdown programs appear to work correctly only if Magixdesk is set as the shell (e.g. behaviour of the SHUTDOWN program is similar and incorrect both in Thing and TeraDesk). - Appropriate page from the hypertext manual can now be called from any open dialog by pressing the [HELP] key. This feature works only if dialogs are in windowed mode- and not in the systemwide font selector dialog. In order for the feature to work, chapter titles in the hypertext manual must exactly match texts of menu items used to open paricular dialogs- or else the first page of the hypertext manual will be displayed. This should be paid attention to when translating TeraDesk resource and manual. - A new type of 'special use' application added: the 'Right mouse button extension'. If an installed application is marked so, normal behaviour of TeraDesk upon a right-button click is disabled (i.e. a right click is no more recognized as a right-button-pressed-plus-left-click) and the marked application is activated upon each right button single-click. If there are selected desktop or directory objects at the time of the right- click, their names are sent to the application (VA_START is attempted). The installed application can be anything that can do something sensible with (a list of) object names. It should be noted that the marked application is recognized only upon the next startup of TeraDesk (assuming that the configuration has been saved meanwhile). - If 'Show parent' option is active in the Set mask... dialog, i.e. if ".." is shown in directory windows, closer widget now always closes a directory window completely (if 'Show parent' is inactive, the closer switches the window to the parent directory, or, if there is none, closes it completely). The convenience of this change may be somewhat debatable. If it does not prove itself well, it may yet be removed in a future release. - Symbolic links to folders, when shown in directory windows, are now opened more like real folders, i.e. in the same window, except if [Alt] is pressed while opening, when they are opened in a new window. If a symbolic link is opened in this way, it is not possible to go back (by clicking on the Closer) to the folder containing the symbolic link- the parent direcory of the link-referenced folder is opened. Same as with the prevous change (above), the convenience of this one is debatable. - Appropriate changes made in the resource file. See RESOURCE.TXT. - Improved validation of strings for date and time in the Info... and Search... dialogs. - Slightly relaxed validation of filenames in dialog fields for the sake of German TOS which appears to be tolerant of some rather illegal characters. - Improved code for finding strings in files; actual search time (excluding file reading time) reduced by about 50% (depending on file contents). - Fixed a bug that disabled string search from finding its target if it was at the very end of a file. - Fixed a bug that crashed TeraDesk if WM_ARROWED message was received (e.g. from a wheeled mouse) while the system-wide font-selector was open. - Fixed a bug in reverse sorting of directory items which manifested itself when there was an even number of items in a window (two items in the middle of the list were not resorted). - Fixed the problem of not being able to enter characters with ASCII codes above 127 in the autoselector. It seems that such characters are permitted in long filenames (?). - Fixed activation of background TOS programs in Mint or Magic (which seems to have never worked correctly in any TeraDesk V3.* ???) - Fixed the bug that inconveniently caused only the topped directory window to be updated when global file masking options (show parent, system, hidden...) were changed. - Fixed unwanted behaviour upon pressing UNDO when autoselector was active and more than one directory window was open (autoselector text was transferred to the next open window). - Several size optimizations made, mostly by removing certain variables that duplicated the functionality of some others, by disposing of some small routines used only once, and by integrating some routines always used together. Also, a number of references to array members by index were replaced by suitable pointers. - Some tidying-up of the source code; more comments added into code. - Hypertext manual updated to reflect the latest changes in the program. Version 3.93 5-08-2007 ----------------------- - Search... dialog now stays open while a search is in progress. It is now possible to abort the search by pressing ESC even if there are open windows- which did not work in previous releases. - Fixed editing of single-key keyboard shortcuts which was accidentally broken in the previous release. - Fixed shutdown type in the call to shel_write() when Quit/Shutdown menu item is activated; it was unintentionally left as 'partial shutdown' instead of 'full shutdown' while testing one of the earlier releases. (note: shutdown in TeraDesk actually reboots the computer; this may be changed in the next release). Version 3.92 25-07-2007 ------------------------ - A small change (just five lines of code) made to set TeraDesk in agreement with Didier Mequignon's PICDESK utility for displaying desktop background pictures. Recently, an inquiry from a user made me aware of the existence of PICDESK, and it turned out that TeraDesk was already pretty much compatible with it- the picture was displayed, but there were some bad redraws. Only small corrections were needed to fix that. PICDESK and TeraDesk work together in Atari AESes, N.AES, Geneva and MagiC, but hang the system at statup in XaAES. Users should beware that a) TeraDesk has to be properly set for display of background pictures (TeraDesk must start with white desktop colour; therefore, white desktop colour should be set, configuration saved and TeraDesk restarted), and b) redraw of monochrome desktop icons is slowed down dramatically whenever white desktop colour is set. These options are not recommended for users running TeraDesk on slow machines with limited memory. Btw. there seems to be a bug in PICDESK: when set to display monochrome IMG file, at next startup it attempts to load a GEM file instead- and fails, of course. - Global buffer for AV-protocol and drag & drop data is now differently allocated. Instead of a fixed 4KB size, it is now 0.2% of the largest free memory block at the time of allocation (but always at least 1KB and no more than 128KB), i.e. it is 1KB with 1MB or less of free RAM, 4KB with 2MB of free RAM. If size of the largest free memory block is larger than about 8MB, buffer size is doubled (e.g. it is 64KB with 16MB of free RAM). The reason for this change is that the old size of this buffer sometimes limited too much the number of long-name files that could be handled in certain operations. - Two small size- and speed-optimisations made. - Copy operation can now be aborted (by pressing [Esc]) after each copy buffer being read or written, which may be of help when copying very large files (in earlier versions, copying was aborted only after completing the action upon the currently processed file). In case of such abort, current file at destination is deleted, if it already exists. - Fixed a bug that could, under certain circumstances, lead to incorrect contents of the destination window in case of failure of a copy/move operation. - Fixed a bug that caused, if white desktop background was selected and saved, the default green to appear instead of white after restart. - Removed an unused object from the resource file. See RESOURCE.TXT. - Hypertext manual updated. Version 3.91 18-06-2007 ------------------------ - Capability added to read previous format of a floppy disk and format it with identical parameters. It should be noted that this option does not necessarily reproduce the complete boot sector; only the critical parameters, i.e.: the number of sectors per track, number of sides, number of tracks, root directory size and FAT size are read from the disk and used. - When formatting or copying floppy disks, a failed operation can now be retried a selectable number of times before an error is reported. It may be of help when copying or formatting old floppy disks. Also, it seems that other utilities behave in a similar way when formatting or copying floppies. - An obscure noncritical bug related to floppy formatting that could in some very unlikely cases lead to corrupt FATs on the floppy was fixed. - Fixed the problem of incorrectly truncated lines when displaying in the viewer files containing TAB characters. The old algorithm for finding maximum text (and window) width was only approximate and, besides, was implemented with an error. The new procedure is accurate but may be marginally slower on large files; some speed optimizations made to reduce the impact of this. - Fixed the bug that caused the height of any viewer window to increase by one line each time a menu item was activated in that window (and the same happened in some other operations). - Fixed a noncritical bug related to window redraw after cancelling a font selection. - A number of size optimizations made by using convenient pointers instead of referring to array members by indexes; program size is about 230 bytes smaller than in the previous release. - Some changes made in the resource file. See RESOURCE.TXT. - Program is now compiled with slightly newer version of PureC 1.1 (March 1993 vs. January 1993). Version 3.90 30-04-2007 ------------------------ - Some changes made in the resource file. See RESOURCE.TXT. - Capability added to set font effects (bold, light italic, underlined...) in the font selector. This capability is disabled for directory windows because it would interfere with hard-coded use of effects to distinguish certain item types. Unfortunately it seems that the majority of clients using the font selector through the FONT protocol ignore the 'effects' data (in fact, Kandinsky drawing application is the only one I found that -does- use all this data). Also, it looks as if the 'shadowed' and 'inverse' effects can not in fact be displayed by the (N)VDI ? - Full VDI range of colours (up to 256 ?) and fill patterns/hatches is now available for desktop and window backgrounds. In previous versions the colours were limited to the first 16 and patterns to the first 8 among available ones, because of the limited number of bits for that data in AES object specification. - In order to use the background desktop picture feature of MyAES, desktop background colour must now be set to white, the configuration saved, and TeraDesk restarted (if desktop is later set to colour other than white, MyAES background picture will be overdrawn). - Files for which 'execute' access rights are detected on an adequate type of filesystem, and which have names without extensions (i.e. names do not contain periods) are assumed to be executable (of the .TTP type), even if their names do not have matches in the list of program types. This capability is not available in single-TOS. Users should beware that desktop icons representing such files may lose the information that their targets are executable if the partitions on which the target files reside are not available when Set program types... or Set desk icons... dialogs are manipulated. - Added the capability to specify exclusion (i.e. negated) namemasks by prepending '~' to masks. Directory items matching the remainder of the mask (i.e. after the initial '~') will not be displayed. - Permitted the use of enhanced wildcards '!' and [...] in single-TOS, beside the standard '*' and '?', but within the constraint that the mask string must obey the 8+3 name structure of single-TOS. - More rigorous validation of paths that are typed into forms in single-TOS; only characters legal in paths are now allowed. - Improved functionality of the pattern-matching routine so that more complex name masks can be specified, regarding the use !... and [...] wildcards. Fixed the problem of string overrun that could happen in earlier versions if name masks were not properly entered (e.g. a '[' without a ']'). Added some information into the hypertext manual regarding the use and limitations of recognized wildcards. - Fixed the inconvenience of background of sample text in the Font selector not matching the one selected for windows background until the Window options dialog was closed with an OK. - Code for handling the 'arrow' buttons in dialogs largely reworked. The old problem of TeraDesk sometimes freezing in Atari AES4.1 while manipulating arrowed buttons (different handling of evnt_timer() than in other AESes?) seems to have been cured. Among other effects, arrowed buttons in the font size and font colour selectors are now properly drawn when in the selected state. - A couple of insignificant bugs was fixed. - The order of a number of variables in some data structures and routines rearranged for better word alignment and other size optimizations made so that, in spite of the added features, program has shrunk to a size smaller than in the previous three releases. - Corrections and updates were made in the hypertext manual. -Version 3.87 2-01-2007 ----------------------- - Improved the application of Window menu functions to AV-protocol clients (in previous versions some of them worked well only with accessory-type clients). Also fixed a minor problem in window cycling. - Improved the generation and sending of the VA_PATH_UPDATE AV-protocol message. - Fixed a bug in AV-protocol implementation: incorrect answer to AV_WHAT_IZIT was given if an inquiry was made about directory window background. This could stop AV_DRAG_ON_WINDOW from working. - Fixed the incorrect occupation of one accessory slot by TeraDesk when used in Falcon TOS 4.0*. - Fixed the inconsistent summing of directory sizes in info lines of directory windows. - Slightly changed the logic of decisioning when to load colour icons. Hopefully this will help in some cases in which earlier versions wrongly decided that colour icons should not be used. - Changed the display of user/group ids when they are outside the 0:9999 display limits (this happens e.g. when NTFS host filesystem is displayed in Aranym on Windows). - Source code cleaned up a bit, and a number of comments added. - Some corrections and updates made in the hypertext manual. - English text of the hypertext manual reviewed and improved by Derryck Croker. Version 3.86 7-11-2006 ----------------------- - Fixed a bug in AV-protocol implementation that caused a corrupted message to be returned to the client if the client had supplied a null, empty, nonexistent or otherwise invalid path or name mask for AV_DRAG_ON WINDOW, AV_COPYFILE, AV_DELFILE or AV_FILEINFO functions. - Fixed several typing errors in the hypertext manual. - Added version release dates to (this) history file. Version 3.85 26-10-2006 ------------------------ - Added 'Iconified' and 'Full' functions to 'Window' menu, so that more control can be exercised through the menu and, using shortcuts, through the keyboard- which was the main reason for this change. These controls apply to windows of AV-protocol clients as well, same as most other functions in the 'Window' menu. 'Iconified' function is available only in AES V4. Unfortunately, this menu function does not work with some older V4 AESes, e.g. Atari AES4.1 and N.AES 1.1, but is OK with Magic 6, XaAES, MyAES, Geneva 6... - 'TeraDesk Info' dialog can now be closed by clicking on the closer gadget when in windowed dialogs mode (it was the only dialog that could not be closed this way). - Changes were made in the resource file as part of the above changes. Details are in RESOURCE.TXT. - Fixed a bug that caused template strings from the resource file to appear in the Info... dialog if information was asked about a nonresponding disk (e.g. a floppy not inserted). - Fixed some old bug(s) that caused divisions by zero when opening directory windows without any visible items, and could crash TeraDesk (at least they did so in MagicPC). - Fixed some irregularities in 'Window' menu operations that showed when there were AV-client windows open but the desktop was topped. - Fixed several problems related to saving and loading iconified windows. Because of this change, iconified windows saved in earlier versions of TeraDesk will not reopen correctly now (they were corrupted anyway). Users are advised to close them and update configuration file(s). - Fixed a redraw problem that sometimes showed in real-time resizing of windows. However, in some V4 AESes this fix may result in double redraw of resized windows, depending on the 'smart redraw' capability and setting. This behaviour may be improved in future releases, if it poses a problem. - Fixed some inconsistencies when determining window size in relation to window font or icon size. A consequence of this change is slightly changed behaviour when setting windows to minimum or maximum (e.g. fulled) sizes. A fulled window may not completely fill the screen because of certain rounding of window size. - The two above changes were made mostly in order to better cope with dumb 'smart redraw' capabilities of some AESes. Also, they are related to better redraw of patterned window backgrounds (but it seems that an ideal solution is not possible here). - Improved regeneration of the desktop upon exiting from the video options dialog with 'OK' (i.e. capability is improved to restore a screen corrupted by some application). - Replaced some of the header files with new versions prepared by H.Robbers, in order to adjust TeraDesk for compilation with AHCC. Removed some duplicate header inclusions in the C source files. - Some more size optimisations made, particularily regarding the single-TOS version of the program. - Updated the hypertext manual to reflect new features. Version 3.84 22-07-2006 ------------------------ - Fixed handling of AV-protocol clients in the Window menu of TeraDesk. It was unintentionally broken in V3.83. - Fixed unwanted responses that sometimes occured after some Magic-specific keystrokes (e.g. Ctrl-Alt-Clr). - Made several small optimisations. Version 3.83 8-07-2006 ----------------------- - Code for handling compatibility with a bug in earlier versions of the configuration file removed. As a result, if configuration files older than V3.82 are loaded, visibility of directory fields has to be set again. - As the number of translations of TeraDesk grew (so far, beside English original, there are Russian, German, French and Greek) it was felt that certain explanations regarding DESKTOP.RSC were needed. Therefore, a new file named RESOURCE.TXT was created. It contains comments intended to help people translating TeraDesk to other languages. It will be available in the source code package. - Some changes made in the resource file. See RESOURCE.TXT - Changed behaviour of the Info... dialog when displaying data on disk volumes (partitions). In earlier versions, retrieval of these data took unpleasantly long time, especially on large partitions, because all files and folders on the volume were counted. Now, only information on disk size, used and free space is immediately displayed, and folder/file count is displayed only after clicking the 'More' button. - Text "Number of files and links" in the Info... dialog is now, more correctly, "Number of files" in single-TOS. - Removed the possibility of too long filenames appearing in some alerts. - More informative file-selector titles now appear in fileselectors invoked from some editable dialog fields. - Fixed unwanted change of titles in iconified windows when changing visibility of directory fields. - Fixed possible buffer overrun with autolocator active in mint. - Fixed a bad redraw problem that manifested when doing real-time window moving/sizing in Magic-PC. - Fixed a redraw problem that manifesed when left/right scrolling a directory window with selected items. - Optimized the number of GEM calls, exchange of AES messages and some waiting for timer events when resizing or moving windows. Response should be quicker now. - Certain simplifications and optimizations were made. Program size is now less than it was in V3.80. Version 3.82 30-05-2006 ------------------------ - Corrected display of size, free and used space when showing information on large disk partitions. Up to 1024 GB should be correctly displayed. For partitions larger than 1 GB, size data is displayed in kilobytes, not in bytes. It ought to be noted that there is still a 2GB limit on the total size and 32767 on the count of files in an open directory or in a list of selected items for a file operation (copying, deleting, etc.). - Fixed a redraw problem that existed during real-time resizing of directory windows in XaAES. - Fixed a bug that could crash TeraDesk when responding to AV_DRAG_ON_WINDOW AV-protocol message. - Fixed an instance of using a deallocated memory block when launching applications assigned to documenttypes. Application start parameters could get corrupted. - Fixed an old bug (since V3.0!) that disabled assignment of the last icon in the icons resource file (any assignment made was lost after saving and loading the configuration file). - Corrected the somewhat ilogical beaviour of the dialog that appears when more than one application is assigned to a filetype. Now the first application in the displayed list is preselected, so that the user does not have to explicitely click on a list item to select it. - Corrected response to Mint's arrogant tampering with filenames: when reading directories, if Dpathconf(path,DP_CASE) inquiry returns DP_NOSENSITIVE (i.e. value "1", meaning that filenames are not case-sensitive and are converted to uppercase), names are now really converted to uppercase. Names in partitions where case-sensitive names are permitted are, of course, displayed in original case. - Substantial changes in window-iconifying code in order to better adjust it to recent developments in XaAES. Iconified windows are now moved to positions and sizes determined by the AES, instead of remaining at previous locations and hard-coded iconified sizes. Recommended size of iconified window (when it can be set in the AES) is 80 x 64 pixels or 88x72 pixels (divisible by 8 and depending on window border thickness in a particular AES; this is about the minimum window size into which an icon with a 12-characters label can nicely fit). - Enabled 'light' display of icons for hidden files on the desktop. This works nicely only in XaAES and MyAES- other AESes display 'disabled' icons in a very ugly way - the complete object rectangle is shaded, not only the icon mask. 'Light' display of icons for hidden files in directory windows is possible (in any AES), at least for the time being, only if window background is white, to allow for incapabilities of most AESes (the user may decide not to put a hidden file on the desktop if it looks ugly, but such a file may appear in a window out of his control, therefore this safe approach). - Slightly modified calculation of default window sizes and positions. - Certain amount of source code cleanup and several size optimizations. Program size actually reduced a little bit, in spite of added fixes. - Added some currently inactive code that will be used in future development. - Support for CFG2INF convertor of V2 configuration files completely dropped as obsolete. - A number of mistakes in the hypertext help corrected and some items updated. Version 3.81 17-03-2006 ------------------------ - Added "https:" as a recognized name prefix for network objects. - Optimized for size the routines for floppy formatting and error reporting; somewhat improved description of BIOS/XBIOS errors that can be encountered during formatting (and on other occasions). - Fixed a bug in starting background applications (application started twice in the multitasking version of TeraDesk). - Fixed a bug that could corrupt Disk copy dialog if wildly wrong format parameters were read from a floppy. - Fixed a bug that sometimes caused double backslashes to appear in file specifications passed to fileselectors. - Corrected the somewhat ilogical behaviour of 'Save options' not saving to TERADESK.INF but to last configuration file loaded. - Made several improvements in detection of too long paths and names. - Removed some inappropriate checks that, in the previous version, disabled passing of multiple names through some AV-protocol commands. - Improved recognition of quoted names when parsing commands entered in Open... dialog or received through AV-protocol. - Corrected display of file size in File rename dialog. - Corrected handling of links and icons of network objects when printing files and directories. - Provisions added for handling some absurdly long strings that can be received through AV-protocol from applications accessing the internet. - Made some corrections in DESKTOP.RSC (a note to translators): .Corected duplicate hotkey assignments in dialog SPECAPP .Changed texts in alerts AFMTERR and AERRACC .Added strings TBADS, TXBERROR, TSEEKE and TUNKM (in that order) - Rephrased and corrected some paragraphs in the hypertext help, and removed some paragraphs related to obsolete items. Version 3.80 (provisionally named V3.71 during development) 16-02-2006 ----------------------------------------------------------------------- - Improved handling of cases where one filetype is assigned to more than one application. Earlier versions of TeraDesk just ignored multiple assignments; now, a dialog is shown when a multiply-associated file(type) is to be opened, permitting the user to select among the assigned applications (editing of application parameters in the displayed list is not possible). - When a symbolic link is created (by selecting an object and activating New... menu item), name of the referenced object is shown in the dialog and can be edited, as well as the name of the link itself. - Objects on a network, to be accessed via the http, ftp or mail protocols, can be specified as referenced objects in symbolic links. Such a symbolic link can not be directly created (though it could be made so, with a network-access application supplying the necessary information through AV_COPYFILE message); instead, a link to an existing file should be created and then edited (see above) so as to point to the desired object. Referenced objects should have names beginning with one of the following prefixes: http:, ftp: or mailto:; 'Follow links' option is ignored for such symbolic links. - Objects on a network, as above, can be specified in desktop icons. Icon type 'File/Folder' should be selected in the Set desk icons... dialog and then 'Path' field edited to point to the desired object. This option works in single-TOS as well. The feature exists in parallel with the capability to create desktop icons for symbolic links pointing to network objects, as above. - Network objects, as above, can be assigned as 'document types' to applications. Name masks like e.g. http:*, http://*, http://*.htm etc. should be specified in Mint or Magic. Supported prefixes are currently http, ftp and mailto (case insensitive). In single-TOS, because of name limitations, these masks should be specified as e.g. HTTP*.*, etc. - Network objects with names matching 'document types' specified as above can be opened from the 'Open...' dialog; the appropriate application will be started, or, if it is already running, a VA_START command will be sent to it. - When returning from a subfolder in a directory window, window sliders are now set to previous positions in the parent directory. If the window has been resized while in the subfolder, sliders are set so as to show the subfolder item which has just been closed. - Improved detection of filesystem capabilities regarding long filenames. - Changed algorithm for wildcard matching so that some long names are better matched, e.g. those containing multiple periods (dots). - Space characters () can be typed in the autoselector when long filenames are available- this did not work in the previous version. - Fixed a problem of typing certain characters in dialog fields on German keyboard, and also fixed some other related problems in dialogs. - Enabled the use of ^0 to ^9 and as keyboard shortcuts. Also disabled possibly dangerous wrong recognition of some key combinations (e.g. ^- was recognized as ^, ^ as ^S, etc.). - Fixed a bug which disabled manipulation of TeraDesk's nonmodal font selector if any other dialog was opened (however, it is still not possible to open more than one instance of font selector at a time). - [Shift][Tab] can be used to move the cursor up/back in dialogs. - Made some other adjustments to make TeraDesk partially compatible with the new keyboard-navigation feature of XaAES, but only for the menu and the editable fields (at least for the time being; this is more-less limited to correctly setting the focus). Anyway, dialog buttons can be directly activated in TeraDesk from the keyboard by Alt+letter combinations. - A small improvement made in the shutdown procedure (unwanted messages are ignored while a shutdown is in progress). - Fixed the problem of VA_START routine not finding already running applications in Magic, if applications' names were specified in lowercase. - Fixed the problem of editable dialog fields for paths being shorter than maximum permitted path length. - Disabled entering of full paths through the fileselector activated from editable text fields in cases where names only were expected, and v.v. - Fixed the problem of not being able to read extremely long directory window paths that could be previously saved to the configuration file. - Fixed several cases of possible buffer overflows when manipulating extremely long paths. - Plugged a couple of memory leaks in the AV-protocol and application- startup routines. - Fixed a bug which could crash TeraDesk if palette loaded from the file had more colours than the current palette. - Fixed a freeze that could sometimes occur if file operation on a single item failed (dialog could not be closed). - Fixed a bug which caused improper execution of some operations from the 'File' menu upon the file in the top text window. - Fixed boring multiple interrogation attempts on ejected removable drives; a bug related to this problem crashed TeraDesk in Magic. - Corrected setting of default directory when starting a program in Magic (some applications could not find their files). - Corrected a very old (V2.* ?) but hitherto unnoticed bug which could crash TeraDesk when unexpected AES messages (e.g. WM_ARROWED, when using a wheeled mouse in XaAES) were received in windowed dialogs. - Corrected display of object size in the name-conflict dialog when copying folders. - Corected the content in the dialog when name mask, program type or icon type dialog is opened when a file/folder is selected. - Made a number of optimisations and rearrangements in order to keep program size down. - Updated the hypertext manual; also added some previously missing information about older items. - A note to translators of the resource file: in order to make the resource file of V3.70 compatible to the new version, the following changes have to be made in DESKTOP.RSC/DESKTOP.RSD: . 'Cancel' button in NEWDIR tree named NEWDIRC. . 'Name:' string in NEWDIR tree copied to a new string positioned two text lines lower; the text changed from 'Name:' to 'To:'; new text named NEWDIRTO and hidden. . 'Cancel' button in COPYINFO tree named 'COPYCAN'. . Strings METOUCH, MEREADDR and MICNOPEN deleted. . Alerts ANOCOPY, ANODRAGP and ANOPRINT deleted. . New trees (strings) MUNKNOWN, MNETOB, MNOCOPY, MNOPRINT, MNODRAGP, MNOOPEN and (alert) ACANTDO added. . Wording of several texts slightly changed, which probably doesn't matter much in a translation. . ob_flags for some scrolled-text FTEXT objects changed (bits 14 and 15). Version 3.70 3-12-2005 ----------------------- - In order to reduce program size, removed some code which handled compatibility with earlier versions of configuration files. Oldest entirely acceptable version of configuration file is now 3.60; some portions of older configuration files may not be interpreted correctly by TeraDesk (see also remarks for previous releases in the history file). - Autoselector feature is available- a way was found to add it with little cost in program size: directory items can be automatically selected as their names are typed on the keyboard. As this may collide with single-key keyboard shortcuts, the conflict is resolved in the following way: .If there are no single-key keyboard shortcuts defined, autoselector is always active. It is reset by the [Insert] key and the last character typed is deleted by the [Backspace] key. .If single-key keyboard shortcuts (other than [Tab] or [Delete]) are defined, autoselector must be toggled on/off by the [Insert] key, which also temporarily deactivates/activates keyboard menu shortcuts. .Autoselector is reset upon each change of the topped window, and also upon any directory refresh. .Items selected in the autoselector can be opened by pressing the [Return] key (because the keyboard shortcut assigned to 'Open' may be temporarily disabled by the autoselector; this is also a concession to compatibility with other desktops). This feature, being new in TeraDesk, probably still needs some refinement. - Selected items can be deselected by the [Undo] key. - File sizes and creation dates/times are shown in the name-conflict dialog. - Improved manipulation with TeraDesk's configuration files: .If TeraDesk itself is installed in TeraDesk as the application for TERADESK.INF or similar files (e.g. T*.INF), then it can load a configuration file being double-clicked upon in a directory window or on the desktop. If DESKTOS.PRG is used, DESKTOP.PRG has still to be installed as the application (not DESKTOS.PRG). .If a TeraDesk's configuration file is selected in a directory window or on the desktop, then, upon activating 'Load settings...' menu item, TeraDesk immediately loads that file without opening the file selector. .Improved restoring of correct state in case of attempting to load a corrupted configuration file. If a good configuration file has been previously loaded after TeraDesk has been started, settings are restored from that file. - Strings written to a configuration file (command lines for applications, icon labels, etc.) can now contain the "@" character. - External application can be specified for file comparing through 'Set special use'. - A new option added to Window options dialog, enabling the user to select whether open windows will be saved in the configuration file (some users, including myself, prefer to always start with a clean desktop). - Open and saved directory windows for which filename masks have not been explicitely set now reload with the filemasks default for the current operating system type (i.e. "*.*" in single-TOS or Geneva, "*" in Mint/Magic). This makes it easier to use the same configuration files both in single-TOS and multitasking environment. A mask for an open directory window is reset to default as above if the editable field 'File type:' is cleared in the Set Name Mask dialog and then 'OK' is clicked. This is now more similar to the behaviour of the original TOS desktop. Note: explicitely set "*.*" or "*" mask is not treated as a default one. - Single-TOS version of TeraDesk now always registers with AES as "DESKTOP"; there is no need anymore to rename DESKTOS.PRG to DESKTOP.PRG in order for the AV-protocol to work with single-TOS version of TeraDesk (assuming the environment variable AVSERVER=DESKTOP is defined). This may simplify making multiple boot configurations. - Rearranged and updated the Help dialog. - 'Follow links' checkbox button moved from Copy and Print options to more logical places in the Copy confirmation dialog and Set desktop icon dialog, where the state of this option can be more easily monitored. 'Follow links' option can be made active only for a single (batch) operation. - 'Tab size' editable field moved from 'Desk preferences' dialog to a more logical place in Window options dialog. - Improved handling of filenames and other parameters containing spaces and quote characters: . Names containing quotes can be handled now in the AV- and ARGV-protocols, and command lines for installed applications. . IUtems can be quoted by either single or double quotes. . Improved parsing of mixed single- and double-quotes in command lines. . Improved working of the ARGV protocol in Magic. . Corrected unwanted truncation of command line parameters after unused filename placeholders (%f, %n, %p) in command lines. - Improved detection of filesystem capabilities (long names, symbolic links, attributes). - Changed display of window title for iconified windows; item name/path is now shown in icon label (longer string available than in window title). - Corrected display of partition size and free space for partitions larger than 2GB (32-bit long integer limit) in Show info... However, TeraDesk will still incorrectly display total size of files in folders or during file operations if size exceeds 2GB, and also other unpredictable behaviour may occur in such cases. This is probably relevant only in a multitasking environment and non-TOS/FAT filesystems. - Corrected counting of files and folders regarding global mask setttings (i.e. hidden and system items) for Show info... and file operations. Now such items are always counted even if they are not visible, because file operations (copy, delete...) are executed upon them anyway. It should be noted that the info line in a directory window displays the count of visible items only, which is affected by the name mask as well. - Corrected inconsistent following of symbolic links when doing file copy/delete/touch operations. Now, only links directly selected in a directory window or on the desktop are followed when 'Follow links' option is selected. Any links in the subdirectories of a selected item are always worked upon as links. - Fixed inconsistent deselection in directory windows after copy operations; items were sometimes deselected and sometimes were not. As the erroneous behaviour (keeping items selected) in fact turned out to be quite useful, a new option was added to 'Copy and Print....' dialog: 'Keep selection'. If it is ON, selected items will remain selected after all copy/move or drag-to-desktop operations. This is handy for multiple actions upon same items. - Fixed a bug which corrupted drag&drop and some VA messages if more than one name was passed. - Fixed several errors which, together, sometimes disabled 'touching' files in subdirectories and prevented resetting of 'archived' attribute on files in FAT partitions. - Fixed a bug which sometimes disabled unprotecting of readonly files and generally caused inappropriate 'Access denied' alerts, e.g. when renaming directories, etc. - Fixed needless interrogation of drive A: in some file operations (was manifested in Mint and Magic only). - Reenabled the use of DEL character as a keyboad shortcut; this has been accidenatlly lost since V3.50 so that only ^DEL could be recognized. - Corrected an instance of 'This application is already running' alert appearing when an object is dragged onto an icon of an already running application (the alert should not have appeared in that case). In order to increase flexibility, this behaviour is modifiable by pressing the [Alternate] key. - Better handling of failures to open dialogs (when there is insufficent memory or too many windows, etc.). - Corrected a mistake in a validation string for 8+3 filenames in DESKTOP.RSC - Several optimizations and simplifications made in the code. - Some corrections, updates and additional links made in the hypertext manual. Version 3.62 27-08-2005 ------------------------ - Added one hex digit to display of line offset in text windows in hexadecimal mode. Offset could not be displayed properly for files larger than 16MB. Now this limit has been increased to 256MB which should probably be enough for any practical purpose. - Some small code optimizations related to display in text windows. - Fixed a bug which disabled display of differing file contents in Compare... - Corrected default file specification in fileselector invoked from scrolled text fields for the sake of some pedantic fileselectors. - Corrected and somewhat optimized enabling/disabling of some menu items. - Corrections made and some paragraphs rephrased in the hypertext manual. Version 3.61 17-08-2005 ------------------------ - Some noncritical configuration-file-compatibility code removed; if configuration files OLDER than V3.60 are loaded, warnings may appear (to be ignored). - When programtype name masks are added or removed, any matching window icons now change group (Programs vs. Files) automatically, in style with behaviour of desktop icons which automatically change their item types. - Moved alternate validation and template strings for some editable dialog fields (for filenames, when switching from LFN to 8+3) from the code to the resource file, so they would be easier to manipulate. This may be needed if the user wishes to relax validation of filenames in single-TOS; with the validation string currently being set to FFFFFFFFFFF, some filenames which are not exactly legal, like "ST-GUIDE", can not be entered in the dialogs; to relax validation, TFNVALID string in DESKTOP.RSC should be changed to e.g. XXXXXXXXXXX or XXXXXXXXFFF - Fixed a bug which caused font colour to change when font size was increased in the font-selector dialog. - Fixed a bug which corrupted the screen because of improperly closed icon selector dialog when locating (re)moved objects associated with desktop icons. - Fixed some bugs related to Info... and Search... functions: . Corrected behaviour of Search... and Info... after searching in a file displayed in a topped text window. . Fixed a bug which could crash the Single-TOS version of TeraDesk in the Info... dialog. . Corrected behaviour when attempting to read header flags from an invalid program file. - Fixed a bug which disabled setting of "solid colour" (other than white) window background. - Fixed a case of using a deallocated memory block when dragging objects from a directory window to the desktop; this error caused object path+name to be lost sometimes, and could crash TeraDesk. Users should beware that ANY ICONS CREATED IN V3.60 by dragging objects from directory windows to the desktop can have corrupt object path information. - Fixed incorrect behaviour and possible crash after attempting to read files (to display, search or compare) too big for available memory. - Partially corrected behaviour when attempting to open a dialog with insufficient memory available (more to do for the next release). - Corrected unnecessary reset of 'fulled' state after some updates of directory windows. - Corrected some mistakes in the hypertext manual. Version 3.60 2-08-2005 ----------------------- - In order to accomodate other changes in this release, there are some modifications in the structure of the configuration file. As a consequence: . Some compatibility-handling code exists in this release, enlarging program size slightly; this code will be removed in the next release. . If configuration files created with TeraDesk OLDER than V3.50 are used, window fonts colours should be manually set in Window options... otherwise, nothing will be seen in windows if background is white. . Users should load and then save each configuration file. - Better handling of user access rights and file attributes: . Access rights and user/group IDs can be set in the 'Info...' dialog. . When copying executable files from FAT to non-FAT partitions, execute rights are set now. . Better decision making on when to show access rights and when to show TOS/DOS attributes in a directory window. . User and group IDs can be shown in directory windows (selectable menu option, visible only in Mint or Magic). . Note: manipulations of access rights or FAT file attributes are mutually exclusive, depending on the filesystem in which the object resides (AFAIK no Atari-relevant file system uses both simultaneously?). - Hypertext help file will be opened (upon [Shift][Help]) by any application installed for the *.HYP filetype. entry for the help ogram in the earlier version(s) of configuration files will be ignored. - More than one selected item at a time can be opened by 'Open...' menu item. Files and folders are each opened in a new window. In single-TOS operation, opening of multiple items terminates if a program is started (because all windows are closed and reopened). In a multitasking environment, there is a delay of 2 seconds between starting of selected programs (so that each program is given some time to configure, shrink its memory, etc.). - New menu item 'Close all' added in 'Window' menu. It closes all TeraDesk's windows, including those of signed-on AV-protocol clients. - Improved functionality of the 'Search...' function: . It also works on a list of selected files or folders as well now, not only a single folder or a drive. . It works in a file showed in the topped text window. - Improved functionality of the 'Set desk icons' dialog: . More than one desk icon at a time can be installed by dragging objects from a directory window to desktop. . Names of (file or folder) items to which the icons are assigned are displayed and editable. . Fourth desktop icon type ('File/Folder') radiobutton added; direct specification of object name in the dialog is possible. . Objects selected in a directory window can be set to the desktop through 'Set desk icons' menu action. . Desktop icons can be removed through the dialog; 'Remove icons' menu item item deleted as unnecessary. . Desktop icons can be removed by dragging them to the trashcan. An alert appears asking whether to remove the icons or to delete selected objects. . If label for a disk icon is not specified by the user when installing the icon, TeraDesk reads and uses the disk volume label. - New window icons group added; beside 'Files' and 'Folders' there is now 'Programs'. This should speed-up opening of directory windows in icon mode in configurations with many window icons assigned, because smaller lists will have to be searched for each directory item. Compatibility code exists which moves appropriate icons from the 'Files' group into the new group when old configuration files are loaded. - Third default-directory option added to 'Program type' dialog: beside the top window and the program directory, the path of the first parameter of the command line can be set as the default directory. Some intelligence is used trying to detect a path in a command line which may contain other strings as well. Program type dialog somewhat rearranged. - Appropriate dialog titles are shown when showing 'Info...' about some items (from the directories on the U:\ volume) which are not standard files or folders. Maybe should be further enhanced to display e.g. device number, etc? - Program header flags are displayed in the 'Info...' dialog for executable files. Name of the associated application is displayed for other files, if such an application is defined. - When copying large files (larger than copy buffer size), number of remaining bytes is updated in the copy-info dialog after each buffer copied. Loss in speed is negligible. - Items with names beginning with a '.' are treated as invisible in Mint, as per Unix convention. - Directory window icons of invisible files are displayed faded. Currently this`works only if window background colour is white- the 'disabled' flag is used to display them, and for a disabled object the complete object rectangle is disabled by all AESes, which looks very ugly with a window background pattern. The inconvenience is similar to one appearing for disabled checkboxes and radiobuttons: AESes shade the complete object rectangle, instead of applying some inteligence to shade only what is needed. There is a chance that this will be improved at least in XaAES and MyAES. - Icons of links are marked with a "check" mark. This is experimental and may yet be removed if it does not prove practical (or nice). - Executable files are detected by their names/types upon opening of directories. However, this does slow down opening of directory windows somewhat. May yet be marked for optional compilation only. Introduction of this feature caused a small change in the structure of the configuration file. - With directory windows in text mode, executable files are shown with '-' character preceding the name. This feature depends on the above change. - Reworked wildcard matching to increase speed, so that slowdown caused by the previous changes is almost completely compensated for, especially so in single-TOS. - When deleting, touching, moving or overwriting files, protection is checked (when possible) before attempting the operation, instead of relying on the return statuses of the GEMDOS/Mint functions (they seem to be of little relevance when working as a superuser). - Added a capability to influence the implementation of the ARGV protocol; if environment variable TERAENV contains flag 'A', it will force TeraDesk to: . Always use ARGV on all program files which are declared to support it, regardless of the length of the command line; . Always build a local environment with ARGV appended and pass it to the program being started, bypassing the environment concatenation mechanism in shel_write(). This may help solve some problems originating in differences (bugs?) of ARGV implementation in various AESes. - A number of program size optimizations, in order to compensate for the increase in size caused by the new features. Still, the new version is about 3 KB larger than the previous one :( Hopefully, the improvements are worth it. - Some cleanup of the source code; a lot of comments added to the soruce. - Disk volume labels are read using the more general (?) Dreadlabel() when possible, instead of using Fsfirst(). - Capability to edit disk volume labels in the Info... dialog was created, but only for Magic or Mint. Unfortunately, it seems that Dreadlabel() and Dwritelabel() behave too differently in Mint vs. Magic regarding dots and blanks in the label, so volume labels in the 8+3 form (e.g. as possible on floppies) may unwantedly get changed in Mint. Therefore, complete feature was disabled, at least for the time being. - File copy routine simplified a bit. - Some simplifications in DESKTOP.RSC. - Files SPRINFT.C and STRDUP.C with substitutes of some library functions concatenated into a single file STRINGF.C to be used from now on; SPRINTF.H renamed to STRINGF.H - Limited length (cramped) filenames displayed on icon labels in directory windows in icon mode, so that icon labels of long filenames do not overlap anymore. - Better column alignment of texts beside the 'checkbox' buttons (when drawn by TeraDesk, not by an AES). - When printing raw data, CR LF no more appended at the end of the file. - Corrected positioning of the icon in the icon-selector in low resolutions (it overflowed the lower edge of the box). - Corrected display of program name in dialogs related to installing applications, in case when name is entered manually. - Corrected the routine for creating cramped names; it produced strings which were one character too short. - Icon in the icon-selector dialog is displayed on a background of appropriate (desktop or window) colour and pattern. Icons can also be previewed in the selector in the selected state (when clicked upon). - Sample text in the font selector can be previewed in the selected state t too, when clicked upon. - Improved (hopefully) reaction to an AP_TERM message received after TeraDesk initiates a shutdown. - Fixed a bug (probably introduced in V3.40) which caused creation of symbolic links through 'New...' menu item to fail with 'Not enough memory' error. - Fixed inappropriate sending of 'close window' messages. A routine which sends WM_CLOSED was overlooked in a routine which was used for other purposes. Hopefully this fixes a problem when starting an editor in aMail. - Fixed unwanted topping of TeraDesk windows after closing the systemwide fileselector dialog, or the Info... dialog when requested through the AV protocol. Not ideal, but better than it was... - Fixed some errors which affected manipulation of folders in Info... (errors were visible only in Mint). - Fixed some errors in file-deleting: TeraDesk attempted to follow a link after it had been deleted. Routines simplified for single-TOS version. - Fixed several instances of using memory blocks after they had been deallocated. - Optimized selection of default icons; fixed a possible reference to a NULL pointer to icon name. - Fixed (hopefully) a possible instance of buffer overflow when starting programs in single-TOS. - Fixed a bug which could cause TeraDesk to crash while reopening windows after running a program in Single-TOS (window pointer for deselecting items existed but sometimes was no longer valid, as windows were reopened). It is not clear when was this bug created, possibly long ago... - Windows of AV-protocol clients are no more closed when saving or loading desktop configuration. It seems that there is in fact no need to do it. - Corrections and updates in the hypertext help/manual file, in order to reflect the latest changes. Version 3.50 20-02-2005 ------------------------ - New basic sets of monochrome and colour icons. Hopefully these contain more useful icons than earlier did. Btw. some of the icon names from the old sets do not exist in the new ones. - Removed the constraint (introduced in V3.0) of having to use a monochrome icon file whenever in monochrome video mode, even when colour icon file would do. Why not have animated monochrome icons when possible? - Some tidying-up of the configuration file structure. Certain bitflag items moved from "copy options" data to other, more logical, places. As a result of this, certain options set in configuration files prior to V3.50 will be ignored: . State of "Save colours" (OFF will be assumed) . State of "Dialog options" ("centered" will be assumed) . State of "Wait for key after TOS programs" (OFF will be assumed) . State of "Use handle 2 for stderr" (OFF will be assumed) These options should be set as desired and the configuration file(s) saved anew. It is assumed that these differences are not significant enough to justify additional compatibility-handling code. - Font colour can now be set in TeraDesk's font selector. - If no selection is made, 'Search' is active in the top directory window. - Added settable option to skip subfolders when searching for files. - If a desktop disk icon is set without a drive letter, then icons for any missing disk volumes are set on the desktop, which eliminates the tedious one-by-one setting of disk icons. - Added setting of basic Falcon video modes in Video options. For the time being it works only with some AES 4 versions, but not :( with Falcon TOS 4.04. It works Atari AES 4.1 (with or without Mint), Geneva and probably Magic (not tested yet), but not with current versions of XaAES or MyAES. (Generally, it should work in all AESes which can handle shel_write(5,...) ) - Added "background" option in the application-type dialog. If selected, a TOS (non-GEM) application will be started as "background" in Mint- it will be basically just Pexec()-ed (same as starting it while [Control] is pressed). Works in single-TOS too, where found to be convenient for some simple utilities which do not write anything on the screen and there is no need to close the windows, clear the screen and display the program title bar (e.g. a sound-playing utility such as WAVEST). - Improved handling of the "BORDERED" object flag for self-drawn in-dialog objects; actual border size is determined, as used by any particular AES, resulting in better looking dialogs in any AES which does not (yet?) support borders and/or particular object types in the standard way (i.e. MyAES). Visible mostly in the appearance of the dragbox "ear" on a dialog. - Improved sizing of buttons with underlined keyboard-shortcut characters so that underlines are now seen in MyAES/monochrome. - Keyboard shortcuts (underlined) in dialogs, when TeraDesk draws them (i.e. always except in Magic, XaAES or N.AES), are shown in different colour (red) when possible. - Dialog titles, when TeraDesk draws them (i.e. always except in Magic, XaAES or N.AES) are drawn in colour (dark blue) when possible. Sizing of the title object slightly modified for better alignment. - Some small optimizations in event-handling routines. - Newest version of AHCM memory-allocation routines used. - Somewhat relaxed validation for window icon name mask in single-TOS, so that an icon can be assigned to ".." (parent folder). - Links pointing to items with paths containing slashes ("/") are now interpreted as if they contain backslashes ("\"). This hopefully fixes the problem of not finding link targets on minix or ext2 partitions. - Some more work started on better handling of access rights; nothing visible to the user, yet. - Corrected action taken upon WM_ONTOP message (i.e. there should be no window action taken, just the change of top window noted). - Corrected dialog and window redraws when showing copy-info and name-conflict dialogs. - Fixed a bug which restricted the use of FONT protocol only to signed-on AV-protocol clients. - Fixed a possible instance of attempting to free a non-allocated memory block while doing VA_DRAGACCWIND. - Fixed several instances of using data from memory blocks after they had been deallocated. - Fixed a bug in implementation of AV-protocol which could lead to corrupted replies being sent to AV-clients (data for two replies overlapped). - Fixed a bug which disabled 'Skip' action in a response to Skip/Abort alert during file operations such as copying or deleting. - Fixed a bug in string conversion to uppercase which could have affected wildcard-matching with patterns containing digits. - Fixed a bug which disabled recognition of other-than-ST video hardware. - Fixed a bug, unfortunately introduced in V3.42, in rubberbox redraw when directory window was scrolled. - Fixed a bug in the video-setting code; on a Falcon some ST-specific code was executed. - Fixed a bug which disabled loading of colour palette. Also improved tolerance to loading palette sizes other than the current palette- palette file will not be rejected anymore but only colours in valid range will load. - Fixed a bug in dialog-handling routines which could cause object index in a dialog to exceed tree extents. This was visible in 'Set mask' dialog when cursor keys were used. - Fixed a bug in fulling a text window for large files (i.e. with more than about 2000 lines) - Fixed some noncritical errors in the resource file. - Some corrections made in the hyopertext manual. Version 3.43 (never published, except for testing) -------------------------------------------------- - Some small changes which soon evolved enough to be considered as V3.50; Version 3.42 27-11-2004 ------------------------ - Simplified calculation of default window sizes and positions. - Improved speed (and code size) of wildcard-matching. - Some other code size optimizations where speed is not critical. Program size reduced even more. - Enabled opening of the fileselector upon a double click on a scrolled editable text field, as intended a long time ago. (previous use of [INSERT] key for this purpose is kept as well). - Plugged a memory leak which could sometimes happen when starting installed applications. - Improved checking of dates entered in file-info dialog. - Improved redraw in the 'Help' dialog Version 3.41 7-11-2004 ----------------------- - Simplification of routines for loading and saving configuration files. Also, eliminated saving of empty data structures, which will sometimes result in somewhat smaller configuration files. Slightly better tolerance to faulty configuration files. - Simplification of routines for floppy formatting. An insignificant bug corrected. - Some more code optimization and cleanup. Program size reduced by almost a kilobyte, now actually smaller than V3.32! - Some corrections and additions in the hypertext manual. - An alternative help application can be manually specified in the configuration file (defaults to ST-Guide). Any application used must know of VA_START and understand its syntax as used by ST-Guide (this was actaully added in V3.40 but was not properly documented). - Fixed incorrect handling (cramping) of the names of selected files when using 'Compare...' more than once. - Improved a somewhat ilogical behaviour of the 'Search...' function when size range or search text are specified. In such cases only files will be name-matched now, not folders. - 'Select all' in directory windows does not needlessly select the parent directories anymore. - Better handling of missing icons, including the required ones. Missing icons turned out to be a realistic situation if icon resource file(s) were changed. Previous version of TeraDesk created ugly empty rectangles in windows then. Now TeraDesk attempts to use one of the default icons, according to item type, and if that does not succeed either, uses the first icon in the icons resource file. Also, an alert is displayed. Version 3.40 10-10-2004 ------------------------ - Some size and speed optimizations. - Option to automatically save desktop on exit (in Desk preferences). - Reduction of sizes of confirmation dialogs for file deletion and printing (some empty space removed). - Improvement of the 'Show/Edit/Cancel' dialog: . It is a dialog now (again), not an alert; . Added "Run" option (treat the file as executable); . Added "With" option (select an application to open the file with); - Improvement of the 'Print...' function; printing can be redirected to a file. Also, three printing modes now exist, selectable from the confirm-print dialog: . Text mode (lines wrapped; cr/lf inserted when appropriate); . Hex dump (hex-codes + ascii, 16 bytes shown per printer line); . Raw data (file sent to printer as it is); - Improvement of 'Compare...': there is a dialog now to enter parameters; width of resync window can be specified. - 'Reverse sort' option for directory windows added. - Removed 'Show as text' menu item as redundant, in order to reduce size (if added back to desktop.rsc, TeraDesk can still be compiled to use it); 'Show as icons' can be checked/unchecked. If a keyboard shortcut was defined for 'Show as text', an alert regarding 'shtx' record will be generated. Should be ignored and desktop saved anew (didn't want to bother with keeping compatibility for a single item). - Switchable auto-arrangement of objects in directory windows (i.e. fit current window width as well as possible). - Multicolumn display in directory windows in text mode if auto-arrange is set, whenever a window is wide enough. - Improved action of 'Fuller' in directory windows: . Vertical size adjustment as well as horizontal. Works for text windows too. Any action which changes the dimensions of window contents now resets the 'fulled' state (without changing window size). . Two 'fulled' modes: 1) window is expanded only as much as needed to display contents; 2) if any [Shift] key is pressed while clicking on the fuller gadget, the window is expanded to all of desktop. - Improved calculation of slider positions in icon display mode. - Names of hiden files displayed in light (gray) type. - Update of text window content with [Escape] (re-read file). - Dragging a single file to a text window reads the file into the window. (turned out to be quite convenient and faster than opening new windows). - Search can be aborted by pressing [Escape]. - 'Search finished' information issued. - Improved detection of '3D' AESes. - Introduced environment variable TERAENV (not obligatory) for setting some configuration details which were not convenient to be set through the configuration file (e.g. had to be set -before- reading that file). Currently only "TERAENV=D" is understood: force TeraDesk to always draw all extended-type objects by itself, even if an AES supports them. - Some improvements in handling of the 'Info...' dialog. - Small improvement in handling of video mode(s). - A redesign of desktop/window pattern and colour selector. - Warning issued before change of video resolution (reset). - An alert is displayed if an application fails to start (multitasking). Does not work in all AESes. - Additional objects added to video-options dialog, as an anticipation for some changes planned for a future release. Currently set to invisible. - Optimization of redraws in some dialogs (and after closing them). - An alert is displayed when appropriate, asking whether to start another instance of a running application. - 'Window bottomed' message is now understood and acted upon. - Checks are made whether registered AV-protocol clients are still alive. This is done before each program start. - Multiple registration of some AV-protocol clients avoided now. - Links to folders are correctly sorted among folders now. - Fixed a bug of using a noninitialized variable in setting program types (i.e. an uncontrolled value could appear). - Fixed a bug in casting a windows-related structure. - Fixed some minor bugs in applying background patterns. - Fixed a bug related to AV-protocol and text windows. - Fixed a bug which could cause the AV-protocol to crash TeraDesk in the unlikely case of Mint being run with memory protection over a TOS version lower than 2.06. - Fixed some wrongly set object flags in DESKTOP.RSC - Fixed a bug which could freeze TeraDesk in a windowed dialog when texts were translated to other languages (e.g. Russian). - Fixed a bug in cancelling the loading of configuration files (i.e. it could not be cancelled). - Fixed a bug which caused the entire configuration file to be rejected upon loading if a path to a saved window did not exist anymore. - Fixed a bug in searching when file size range was specified. - Fixed a bug which could cause a crash when dialogs were closed by UNDO button or 'Closer' gadget. - Fixed an old bug (from V3.0) which could cause memory corruption upon an empty line in a configuration file. - Updated the hypertext documentation, correcting a number of errors in it. Version 3.32 11-06-2004 ------------------------ - Fixed a bug in memory allocation when composing the ARGV string; it could cause errors or even a crash at launching a program or exiting from a program. - Fixed a bug which could lead to confusing environmental variables with identical trailing ends (e.g. PATH and ATH). - Fixed a bug in checking string length when creating links. - Fixed a bug which disabled entry of certain characters in the form for application path. - Fixed a variable-initialization bug related to scrolled editable text fields in some dialogs. Version 3.31 4-06-2004 ----------------------- - Corrected position of an object in desktop.rsc (Info... dialog). - Fixed a bug in handling symbolic links without a path to the target. (path of the link is assumed now). - Fixed a bug in passing parameters after the program name in VA_PROGSTART and in Open... dialog. - Fixed a bug of not being able to display items with names starting with a character code > 127. - Fixed a bug in redrawing dialog and windows after font changes. - Fixed a bug in passing parameters via drag & drop. - Fixed a bug which crashed the desktop if an attempt was made to open more than one item through Open... - More relaxed application of VA_START and AV_EXIT to those AV-protocol clients which do not correctly sign-on / off with the AV-server. - Improved the initial implementation of VA_PATH_UPDATE which interfered with the handshake for some other AV-protocol messages; a client could freeze during some operations. - Improved cycling of AV-protocol-client windows. - Improved display of item names during copying/moving/deleting. - Positions and sizes of iconified windows are correctly saved in the configuration file. - Redesigned routines for enabling/disabline menu items depending on the context; this resulted in reduction of code size, welcome to counter the increase caused by other changes. - More logical calculation of total items size in info lines of directory windows- only items matching the current mask (i.e. visible ones) are summed up. - Better handling of a TOS 2.06 bug that manifested itself as a need for an additional mouseclick after (and sometimes before) a program was started, and there were no windows open. Version 3.30 did not work well in this respect with unpatched TOS 2.06 (possibly relevant in TOS 3.06 as well ?) - Clicking on desktop area now properly tops TeraDesk (may not work with all AESes). - Some left-over strings moved from the code to the resource file. - More relaxed treatment of character codes in order to enable dialog and menu hotkeys with characters particular to other languages (the upper half of the 256-character set). Version 3.30 23-04-2004 ------------------------ - Added special use flag for external viewer. - Fixed a bug which sometimes caused copying from one disk to another when icons were moved on the desktop. - Path of the symbolic link is appended if the link contains only the name of the referenced object, without a path to it. - Fixed some bugs related to AV-protocol. - Fixed a bug in finding next or previous windows. - Some code optimisation. Version 3.22 (never published, except for testing) -------------------------------------------------- - Improved memory allocation system used (new version of AHCM), for better handling of large blocks. - Fixed some bugs mostly related to local environment, AV-protocol and handling of symbolic links. - Better handling of iconified windows. Version 3.21 (never published, except for testing) -------------------------------------------------- - Drag & drop protocol repaired (TeraDesk acts as a sender only). - Restore-mode copying enabled by [RShift] (overwrite newer files only). - Updated and rearranged dialogs with help on keyboard commands. Version 3.20 (or 3.2; never published, except for testing) ---------------------------------------------------------- - Even more (almost all) AV-protocol messages supported. - Update-mode copying enabled by [LShift] (overwrite older files only). - Somewhat better handling of symbolic links. Version 3.10 (or 3.1; never published, except for testing) ---------------------------------------------------------- - More general flagging of installed application for speciual use(s); new (sub)dialog created; can mark several roles for special apps; a mechanism created to mark them for some other functions as well, if need appears. - As a result of the above, editor-specific functions are not needed anymore; edit.c and edit.h files removed from the project. - Added window duplicate function. - Moved window-related menu items under a new menu title "Window". - Much larger subset of AV-protocol messages handled; TeraDesk is now a passable AV-server! - Repaired the system-wide font selector callable via FONT protocol (e.g. from ST-Guide, Multistrip, etc.) (this was inherited from previous version but in fact did not work well). - Repaired handling of ARGV protocol in Mint and Magic. - Repaired Info... of the topped directory window; info on a file in the topped text window can be shown as well. - Local per-installed-application environment. - Symbolic links can be created, edited, deleted, copied... - More logical interpretation of links when "opening" items: real item names are checked for, and real file names passed as parameters. - When dialogs are in window mode, added a closer widget which acts the same as Cancel button. - Removed "normal" dialog mode. - Removed startup batch file capability from the project; batch.c and batch.h files removed from the project. - Some small improvements in shutdown procedure. Also, if mint is detected, "Shutdown(2)" is activated at the very end, causing system restart. - Some small improvements in video options dialog. - New command line variable: beside %f and %n, added %p (path). Version 3.02 (never published) ------------------------------ - Source code cleanup; removed remains of support for the binary configuration file; removed disabled old code for directory handling. - Fixed a bug in left/right scrolling of text windows - Fixed some errors in desktop.rsc - More consistent application of string sizes for long names and commands (still not quite systematically applied). Version 3.01 7-01-2004 ----------------------- - Restored full functionality of the name-conflict dialog. - Repaired a bug in cookie finding routine (inherited from V2.*) which could sometimes make TeraDesk practically unusable if the cookie jar did not exist. - Better fix for a TOS 2.06 bug related to ignoring the first mouse click after execution of a GEM program if no windows were open. - Fixed a bug which disabled seting of configuration file name in the startup .BAT file (btw. should startup file feature be considered obsolete- does not seem to be of much use anymore?) - Fixed bad window redraw in icon mode with XaAES. - Fixed bad redraw in font-selector listbox with XaAES. (these two were probably faults of XaAES (V0.963), not TeraDesk) - Correctly rebuilt the binary (previous version was linked wih a wrong binary module; could cause a crash under memory protection). - Set exit with "OK" from "Video options..." to always redraw complete desktop, as a help to recover after screen corruption. - Some code size optimizations. - Some improvements and additions in TERADESK.HYP Version 3.0 14-12-2003 ----------------------- H. Robbers: - Configuration data now in text mode. Easy to keep compatability. Name of textmode confguration file is TERADESK.INF. - Program cfg2inf.prg for converting the binary cfg to the textmode inf. - Colour palette is saved in a separate file TERADESK.PAL. - Replaced use of Malloc (Gemdos) to standard malloc. (replace all x_alloc by malloc and x_free by free, except 2 that were used for interrogation) This reduces memory fragmentation on the Gemdos level considerably, especially important in multitasking environments. - Replaced Wout's mememory allocator by mine (AHCM). AHCM allows memory leak detection and reduces fragmentation even more by always allocating Gemdos blocks in whole multiples of chunk size. - As a result of the above it wasn't possible anymore to shrink the start amount of 2000 directory entry structures (68 Kb). So I implemented a pointer array instead. It starts with 256 entries (1 Kb) and is mildly exponentially expanded when needed. The amount of memory used by the pointer array is so low that shrinking isn't vital anymore. The amount of entry structures never exceeds the actual amount present in the directory. (A slight but nice advantage is that sorting now takes place on the pointer array which only needs swapping around of 4 instead of 34 bytes. :-) - Removed more of older cfg version - cfg2inf.prg: The editor string in the old config is converted to a flag for the (installed) editor in the new config. So it is preserved if the editor was installed. Dj. Vukovic: - Fixed a bug of not immediately refreshing a changed background pattern/colour in text windows; - Fixed a bug of not correctly setting and so corrupting type of desktop icon in desktop icons dialog. - Fixed some bugs which disabled printing of more than one file at a time; - Fixed some bugs in scrolling text fields (cursor placement, padding...) - Fixed a bug which swallowed the first char of command lines for .TTPs - Corrected enabling/disabling of some menu items depending on context; - Fixed two cases of not releasing allocated memory after use; - Fixed bad redraw of animated colour icons; - Fixed a bug of cv_fntoform() overrunning available dialog buffer; - Removed some overlooked fixed keyboard shortcuts from previous version; - Adjusted length of "filetype" dialog fields vs. allocated string length (dialog field was longer than permitted string length); - Some fixes which (hopefully) will correct improper window and dialog redrawing with XaAES only (V0.963). - A lot of source code cleaned up; also removed some commented-out code from previous versions; - Some optimization of desktop.rsc and use of it; removed unnecessary alerts, reused some strings, etc. - Significant reduction of code size by reorganizing routines and data structures related to text and directory windows, so that same code is used for both window types; - Integrated dialogs, routines and data structures regarding filetype-selectors, so that there is only one filetype-selector dialog in desktop.rsc; significant reduction in executable code size because a lot of routines are made to work on all file/filetype lists. New files: lists.c and lists.h - Reorganization of "Install Application" function, so that a dialog is shown displaying a list of installed applications. Reduction in code size because of modifications in several routines. - Same concept is used for entering/editing all lists: filetype masks, program types, window icon filetypes and applications. It is possible to select an item from the list and manually edit it (i.e. two dialog levels), or to select an item in a window and then immediately open a second-level dialog to edit the entry. - ALL dialogs now fit ST-low resolution. Some are reduced in size even more for faster redraws on low-end machines - Several small fixes and improvements in floppy formatting routines; - Target floppy drive is locked during formatting/copying in Mint & MagiC; - Somewhat improved handling of overscan hack (tested with Lacescan); - Improved operation of the "fuller" gadget- fulled window is moved left until it is completely on the screen; - Improved operation of the "fuller" gadget for text window in "hex" mode- window is made only as wide as needed; - Created "pressed" 3d effects when arrows pressed in Window Optons and Desk Preferences; - Added window iconify/deiconify capability in AESes that support it (AES4.1, Geneva, Magic, XaAES...) - Cosmetic change: added left margin to text windows; - Added checking for duplicate entries in filemasks, program types, window icons and applications lists; - Added possibility to properly cancel changes in filemasks list; - Added posibility to start an application or program type in "no-multitasking" mode in Magic (not working very well yet); - Added possibility to limit memory available to a program type or application. - Added capability to mark an installed application as "autostart"; - Added capability of "Search" to find text in files as well; - Added "touch" ((re)set date and/or attributes) functionality; user interface implemented through additional button in the "Object info" dialog. Considerable reorganisation of that dialog(s). TeraDesk is now able to display DOS/Windows folder attributes though not able to change them. - While copying files it is possible to change date/time and attributes. - Added "Compare files" functionality; a nice knack is that it resynchronizes search positions after a found difference. - Improved "Open..." function; it now tries to figure out what type of item should be opened: a program, a folder/drive, a file assigned as a document to application, or an unassigned file. In case of a program/application, it is possible to enter a comand tail after path+name; - Command line dialog for TTP programs remembers last command if program name has not changed. - Filename/filetype entry forms in dialogs appear in 8+3 length if there is no long-filename-capable OS present (i.e. without Mint or Magic); - Much improved appearance of dialog elements, especially in 3D AESes; 3D effects are properly drawn when needed. Significant reorganization and simplification of routines for progdefined objects in xddraw.c; - [Shift[[Help] calls ST-Guide (if available) to display TERADESK.HYP; - Cramped_name() used for nicer display of long window titles; - Improved recognition of TOS and AES versions and their capabilities and limitations. - Added capability to call a file selector in scrolled text fields; upon pressing the [Insert] key - As "Print" option now exists in the menu, that option has been removed from the Show/Edit/Cancel dialog and an alertbox is used instead of the dialog - Updated the .HYP documentation.