Version 0.80 (September 29, 1998)
XFolder's licence agreement has changed. I am now releasing the source code and have placed XFolder under the GNU Public Licence. See "Licence" for details.

New features:

Miscellaneous changes: Yet more bugfixes in this version:
  • Moving Object Desktop's TSEnhFolder in the install script didn't work. Fixed.
  • Win95 keys are finally working. This time I'm sure ;-) because Glauco Ippolitoni, Italy, sent me a keyboard with those keys. Thanks again.
  • Previous versions crashed building the context menus if the config folder contained a broken shadow. Fixed.
  • The same applied to folder content menus if broken shadows were found. Fixed.
  • Included much more error checking for those folder content menus. Maybe this solves some of the video driver problems mentioned above.
  • Setting extended sort options from context menus didn't work for open drive (root folder) views. Fixed. But to do this, I had to introduce two new WPS methods. :-(
  • Previous versions kept causing exceptions internally when objects were being deleted. For some reason which I still don't understand, XFolder's wpUnInitData method kept getting called twice by the WPS, which really doesn't make sense. Although this error was handled by the internal WPS exception handler, this slowed down the deleting process immensely. Fixed. (But I'm still amazed.)
  • XFolder failed to release an instance mutex semaphore when a folder was put back to sleep. Ooops. Fixed.
  • Found a memory leak in the code doing the "program object tricks" in the config folder. This must have been in there since XFolder 0.3x. To my excuse, I took exactly the example code from the wpQueryProgDetails Toolkit docs, which also forgets to release the allocated memory. ;-) Fixed.
  • The values for the "Snap to grid" feature were not dynamically updated when changed in the Global Settings. This must have broken in V0.70. Fixed.
  • "Select by name" appeared in the wrong places when the "Display" menu was removed. Fixed.
  • Folder status bars messed up window painting when the window was resized so that the status bar overlapped the title bar, especially when "roll-up" features by, say, X.it were used. A simple WS_CLIPSIBLINGS fixed this.
  • "Refresh now" did not refresh status bar data. Fixed.
  • Included more consistency checking for the Worker thread when it remembers awake objects. Previous versions had a tendency to crash in the Worker thread from time to time when the Worker thread tried to store an awake object which wasn't really awake any more. (This occured mainly when deleting many objects in subfolders. For all programmers: contrary to what IBM says in the SOM documentation, somIsObj obviously is NOT crash-safe.) Fixed.
  • Previous versions opened the objects in the startup / shutdown folders from the (background) Worker thread, which led to sporadic, unpredictable crashes. Besides the WarpCenter strongly disliked not being started from the Workplace thread. These objects are now opened from the main WPS (Workplace) thread.
  • XFolder Startup folder was not processed during first startup after installation. (But only this one time.) Fixed.
  • The "XFolder Internals" settings page crashed when the filenames of the NLS DLLs were in capital letters (esp. on FAT drives). Fixed.
  • XShutdown hung when it tried to close a PM program which was hung also. (Especially with Netscape...) The "Skip" button wouldn't help anymore then, because it just didn't react. Fixed: Messages are now posted, not sent, to PM windows.
  • Contrary to what the "Auto-close non-PM sessions" window said, no Ctrl+C signal was sent to a non-PM session, but Ctrl+Break instead. Fixed.
  • The XShutdown Update thread got lost sometimes when shutdown was initialized. Fixed.
  • Completely reworked the XShutdown routines dealing with saving the INI files. Included a lot more error checking, and the error messages are now more meaningful. I hope that the errors many users have reported have now disappeared, and if not, they won't take the whole system down or even crash your WPS.
  • Fixed a bug which caused saving the INI files to crash when they were specified in lower case in CONFIG.SYS.
  • "Paste" and "View" were still called "Insert" and "Display" in some places. Fixed.
  • A few links in the INF files were messed up. Fixed. Version 0.71 (July 2, 1998)
    Only bugfixes in this version.

    Bugfixes:

    • Status bars were not updated any more when objects were deleted from an open folder. For some reason, the WPS considers a folder "not populated" any more when it deletes an object from it, and XFolder therefore stopped updating status bars. Fixed.
    • V0.70 removed the whole "Sort" menu and re-inserted items with different menu ids even for default WPS sort menus, which caused other WPS enhancers (X.it) to fail when they were trying to sort folders. XFolder now only ADDS items and leaves the other items alone.
    • Use of $S keys in "single-object mode" caused other object information to be always related to last object in folder (e.g. "$C objects, $SK KB (selected: $t [$w] $D $T)"). Fixed.
    • Forgot to document a few status bar mnemonics in the online help.
    • Win95 keys were recognized as hotkeys in the Global Settings, but not saved. Again, I don't have those keys, but I've fixed something. Let's see if it works.
    • XFolder sometimes crashed at bootup when no config folder was present. Fixed.
    • Since the WPS crashes big time when menu IDs > 0x8000 are used, XFolder now checks for this (folder content menus) and aborts processing then.
    • The Warp 4 "Insert" menu item is actually called "Paste". Sorry, I have a German OS/2. Fixed.
    • "Restart WPS" now saves and closes all open WPS windows, including the Desktop, regardless of whether "Close all open windows" was checked. Since all WPS windows will be closed anyway when the WPS terminates, I might just as well do it myself. This has the advantage that icon positions are finally saved for the Desktop too.
    • "Restart WPS" doesn't use WPSRESET.EXE any more. A simple DosExit(EXIT_PROCESS, 0) does it too. If I had figured this out earlier, this could have saved me a couple of days of trial and error. ;-)
    • Moved a lot of code from the subclassed frame window procedure to a new, separate object window, which is also running in the PMSHELL Workplace thread. This might increase compatibility with other WPS software which also does subclassing.
    • Just a cosmetic correction: the "reboot" drop-down list box in the XShutdown confirmation dialog was disabled illogically. Fixed.
    • Not really a bugfix, but XFolder now creates a shutdown log in the root directory of your boot drive ("xshutdwn.log"). Some people still have trouble getting XShutdown to work, and this might help tracking these problems down.
    • Now that I had the shutdown log, I was able to track down the mysterious problems WRT closing VIO sessions, and I found a major bug which caused XShutdown to sometimes close a different session than the one that was intended. Fixed.
    • I also rearranged the order of commands that were executed while saving the INIs during shutdown. Maybe this helps those people who (mysteriously) still can't get those functions to work... otherwise, check the shutdown log.
    • Rearranged the order of classes in the install script. Some systems seemed to have problems with the previous order.
    Version 0.70 (beta) (June 26, 1998)
    Hoo-yah, yet another mega-release.

    New features:

    • "Folder content" functions.
    • "Select by name" function.
    • Sort extensions..
    • Folder status bars.
    • Startup / Shutdown folders.
    • Sounds!!
    • Rearranged Global Settings more orderly.
    • Cleaned up internal menu handling routines big time in order to make the new folder content features work. As a result, the 50-objects limit of previous versions has been removed.
    • Default menu items are now removed if a respective checkbox is unchecked; this seems more consistent to me.
    • "Help" submenu may now also be removed.
    • XFolder setup strings introduced for use with REXX.
    • In Icon views, objects are now created from templates at the mouse position (from where the context menu was opened).
    • Support for Win95 keyboards (folder hotkeys).
    • Beautified dialogs a little. ;-)
    • XShutdown now checks for existing printer queues before shutting down.
    • "Restart WPS" now remembers whether to close windows between restarts (checkbox in confirmation window).
    • User-configurable reboot actions.
    • "Shutdown" and "Restart WPS" items in Desktop context menu now contain "..." only when confirmations are enabled.
    Still more bugfixes:
    • Improved exception handling again.
    • XFolder refused to create objects altogether when "Open settings after creating from templates" in the Global Settings was disabled. Fixed.
    • XFolder crashed when objects were added to the config folder while these were closed. This resulted in folder context menus not appearing at all. Fixed.
    • XFolder got confused on the "XFolder" page in folder settings notebooks enabling the checkboxes properly. Fixed.
    • For mysterious reasons, XFolder would crash on some systems after dropping something on the root folder of the boot drive. Fixed (I hope).
    • Disabling folder hotkeys would disable all folder subclassing, including "Auto-scroll tree views". Fixed.
    • The Warp 4 "View" menu was dubbed "Display" in XFolder dialogs and help files. Sorry, I don't have an English Warp 4. Fixed.
    • XShutdown failed to save INIs when the existing OS2*.INI files had the HRS attributes on ("An error occured saving the INI files: 5"). This should be fixed now.
    • XShutdown would sometimes hang after closing all windows, waiting forever for the Update thread to terminate. Fixed.
    • XShutdown would sometimes fail to begin shutdown, although the status window was already displayed, because it was resetting some event semaphore which was already posted. Fixed.
    Version 0.61 (beta) (May 10, 1998)
    This is mainly a maintenance release to fix the bugs detected in the last version.

    Some new features anyway:

    • XFolder now populates the Config folders in the background after WPS bootup, so you don't have to wait forever on the first right mouse-click.
    • New "Auto-close non-PM sessions" setting for XShutdown. By popular demand. ;-)
    • New NETSCDDE included. See NETSCDDE.TXT for details.
    • Changed the default folder hotkey configuration for more default hotkeys.
    • Documented XShutdown internals.
    Even more bugfixes:
    • XShutdown failed to save data of folders which were awake (i.e. stored somewhere in the WPS process), although they were not visibly open. This applied especially to the XFolder Config Folder. This is now fixed; all awake folders are saved too.
    • XShutdown sometimes failed to save INI files properly. Error checking is now implemented.
    • XShutdown sometimes failed to close non-PM sessions. At least DOS/Win-OS/2 sessions had to be closed manually. This was due to a bug (feature?!?) in WinQueryWindowProcess, which does not return the process and session IDs of DOS machines, but those of the first PMSHELL instance. I don't know what this should be good for... anyway, it's fixed.
    • XShutdown threads had wrong priority settings, so they would wait forever when a session had higher priority settings than them. Fixed.
    • XShutdown also sometimes got confused with its thread management and would start the same thread twice. Fixed.
    • Fixed some minor annoyments in the install script.
    • Somehow languages got messed up after installation; the dialogs were in German, the help files in English. Fixed.
    • "Auto-scroll Tree views" did not always realize when the WPS was done populating a folder. Fixed.
    • Exception management enhanced. Crashes in XFolder will now not always take the whole WPS down. Changed location of trap log file to the OS/2 boot drive; if you hear funny sounds, look for "?:\XFLDTRAP.LOG" with "?" being your boot drive.
    • Individual folder settings were sometimes set to "disabled" per default. This does of course not make sense. Fixed.
    Version 0.60 (beta) (May 4, 1998)
    I know it's been a while since the last release, but to make up for it, this is a mega-version...

    New features / Changes:

    • XFolder is finally able to order context menu items according to the order which is seen in Name or Details views of the corresponding config folder. This was a real hassle...
    • "Auto-scroll tree views" feature.
    • XFolder is now fully multi-threaded ("XFolder Worker thread").
    • Extended Shutdown and "Restart WPS" features and new settings page for Desktop.
    • "Copy filename" feature.
    • Moved the recreation of the default Config folder into the XFolder code; this is not any more done by the install script. This way, if the config folder gets lost, you may recreate your default config folder automatically.
    • XFolder is finally able to process hotkeys for the Desktop and drive (disk) objects also.
    • There is a new setting on page 1 of the XFolder Global Settings which tells XFolder what to do after creating an object from a template.
    • "XFolder" settings page in every folder.
    • XFolder now also replaces the WPObject class in order to be able to suppress menu items for all WPS objects. Moreover, "Check disk" and "Format disk" can be removed from WPDisk objects. Settings page 2 has been redesigned for all this.
    • My "Netscape DDE Interface" is now included in this package. See "Related files" for more.
    • Added "Close window" to the configurable hotkey items list. (Some people seem to prefer "Alt+X" over "Alt+F4" to close windows.)
    • REPCLASS.EXE now explains itself when started without parameters.
    • WPSRESET.EXE rewritten.
    • Rearranged buttons in all messages boxes to conform with the OS/2 look and feel.
    Bugfixes:
    • "Full path in window title" is now ALWAYS properly updated, even when you move parent folders of an open folder. Thanks to multithreading!
    • Several users have reported problems when Object Desktop was installed and "unusual" folders (such as workarea folders and URL folders) were opened. This would completely mess up the WPS, unless folder hotkeys were disabled. This problem should be fixed now, because I've finally implemented a proper way of remembering window procedures for each folder window separately. The old code was just awful, sorry.
    • I know I've claimed before that this one was fixed, but when passing directory names to programs as a parameter, XFolder still forgot to enclose them in quotes when they contain spaces. Fixed.
    • XFolder was previously unable to differentiate between "Alt" and "Ctrl" hotkeys. Fixed.
    • NEWOBJ.CMD can now handle titles with spaces also. Thanks, John Buckley.
    Version 0.52 (March 1, 1998)
    New features:
    • Many more configurable items for folder hotkeys, including sorting, NPS WPS's "Sort by extension" and OS/2 Warp 4 items.
    • XFolder is now prepared for National Language Support. It shouldn't take too long before more than just the English version is available. I am planning to distribute National Language Support files in separate packages. NLS support is now on page 5 of the Global Settings, to where I also moved two settings which were formerly on page 1. Please contact me if you're interested in translating XFolder to your language. You don't have to be a programmer, but knowing HTML would help.
    • A few renovations on the settings pages: most importantly, settings which don't apply are now grayed out.
    Even more bugfixes:
    • Sometimes hotkeys got activated even though the Ctrl or Alt keys were not pressed. Fixed.
    • When the folder name was passed to a started program as a parameter which was started from a WPDisk object, only the drive letter was passed (e.g. "C:" instead of "C:\"). Fixed.
    • Previous versions had problems replacing the default icon for closed icons, but only on Warp 4. Apparently, on Warp 4, IBM has decided to have wpclsQueryIconData call BEFORE wpclsInitData, which is really not the way it should be and, even worse, contradictory to what IBM recommends in the Toolkit Docs. Anyway, this is fixed now.
    • Not really a bugfix, but the hotkey list now uses less space in OS2.INI.
    • No bugfix either, but the annoying "No settings found" message box after opening the settings notebook was removed.
    • I forgot to implement "Remove default menu items" and help for disk objects also. Fixed.
    Version 0.51 (Feb 20, 1998)
    New features:
    • Insert separators into menus: simply set a program object's title to "---".
    • "Refresh now" also updates the window title (if "Full path in window titles" is enabled).
    • At last, XFolder enhances Drive objects also (i.e. the root drive views that can be opened from the "Drives" folder). Hotkeys still DO NOT work in here.
    • Added a few more items to the configurable hotkey list.
    • Two more REXX scripts for folder settings.
    Bugfixes (this is a long list, but I believe nothing of this was really serious):
    • Somehow in the last compile of V0.50 the help panels for the "System" notebook pages got messed up. Fixed.
    • Cleaned up internal menu handling routines. Removed a few weirdos.
    • The hotkey entry field in the Settings now only works when a list box entry has been selected. Anything else didn't make much sense.
    • When the settings were re-read from OS2.INI at startup, not all the keyboard hotkeys were initialized, so some of the definitions got lost at every reboot. Fixed.
    • For some reason, in the last beta, you could add up to 20 hotkeys, but you could not get rid of them any more. I simply forgot to add a "Clear" button, which is available now.
    • The "full path in folder title" was not updated when the folder was moved or renamed. This now works half way; please still see "Known Limitations" also.
    • Removed annoying "XFolder could not query its module handle" message, which was titled a "fatal error", but caused no harm in any way.
    • Changed default "menu ID offset" setting to 300 to avoid conflicts with LAN Server and ObjectDesktop from the start.
    • Install program now backs up the original XFolder Configuration Folder before erasing it and building a new one from scratch. This avoids having duplicate entries in the XFolder menus after several installs.
    • The missing "TREEFONT" setup string has been added to the "WPFolder Setup Strings" page.
    • One more thing: somehow I got the terminology for "conditional cascade" menus messed up. The description on the first settings page has been corrected.
    Version 0.50 beta (Feb 10, 1998)
    New features:
    • "Snap to grid" feature.
    • Folder hotkeys.
    • Moved all the XFolder Global Settings onto four pages in the OS/2 "System" object in the System Setup folder. I thought that since there are a number of settings for folders there, I might just as well add XFolder's settings in that place also.
    Version 0.41 (Feb 8, 1998)
    New features:
    • Templates support! Make shadows of your favorite templates in the configuration folders, and XFolder will create objects from them.
    • Clipboard support via "%**C" in program object parameters.
    • "Keep original title" setting when displaying full path in folder window title.
    • XFolder menu ID's are now configurable in the Global Settings.
    • Added object id's and object setup strings to documentation.
    Version 0.40 beta (Feb 6, 1998)
    Gee, XFolder is finally getting somewhere. New features:
    • XFolder Global Settings dialog with zillions of settings. Take a look at it, it's completely new. In this dialog, you can now configure certain aspects of XFolder that some users found annoying. Most importantly, you can now switch off XFolder's icon replacement.
    • XFolder can now display the full path of the folder in the folder window title (e.g. "C:\OS2\APPS" instead of just "APPS"), which is a bit more informative.
    • XFolder can now also remove OS/2 default menu entries.
    Version 0.31 (Feb 1, 1998)
    New features:
    • "Create another" objects in the default configuration now ask for a name before creating.
    • More robust online help. Meaningful error messages if not found.
    • Added online help for pressing F1 over an XFolder variable menu item.
    Bugfixes -- I told you, 0.30 was a beta only ;-) :
    • "%" in parameter lists of program objects is now also recognized when other parameters need to be passed to the program. Example: "text1.txt %" now works. The previous version only recognized "%" when it was the only character in the parameters list.
    • If the folder name contains spaces, it is now enclosed in quotes ("folder name") before being passed as a parameter. This allows Netscape to display these folders also.
    • Removed faulty information displayed by the install script: the help file was NEVER copied to \OS2\HELP, despite the announcement of the install script.
    • The maximum number of objects in the config folder is still set to 50; however, instead of crashing, XFolder will now give you a message, asking you to remove objects.
    Version 0.30 beta (Jan 31, 1998)
    New features:
    • Now all object classes are recognized in the config folders, not only WPPrograms and WPFolders.
    • Extra functionality for WPPrograms: The folder name is passed to the program as a parameter, unless the parameter list in the program object contains "%" (like WPS behaviour). This shall henceforth be known as "Netscape support". ;-) See "Program objects" for details.
    • Added online help for XFolder's error messages. This cost me two years of my life.
    • Install program improved: replaces previous XFolder versions; creates more objects than previously, supporting the new features; can now also recreate the default configuration folder only.
    Bugfixes:
    • Reworked internal handling of submenus. The previous version displayed a funny behaviour with "almost empty" subfolders, which was not severe though.
    Reworked large parts of this documentation. Window positioning implemented.

    Version 0.21 (Jan 23, 1998)
    New features:
    • Can now freely add submenus by recognizing folders in the config folder.
    • Install program creates an according default config folder.
    • Documentation extended.
    Bugfixes:
    • XHELP.CMD was missing in the first release, making installation impossible.
    Version 0.11 (Jan 17, 1998)
    Initial release with a fixed "XFolder" subfolder, into which single menu items could be inserted.