"A designer knows he has arrived at
perfection not when there is no longer anything to add, but when there
is no longer anything to take away."
Antoine de Saint-Exupery
Version 0.85 (March 15, 1998)
Well, V0.84 proved to have a few more bugs.
New features:
- Added lots more WPS class descriptions sent in by various people.
- Replaceable shape window WPS boot logos.
Bugfixes:
- Status bar information for program objects failed if WPProgram class
was replaced (e.g. DTProgram of DragText). Fixed.
- Status bars crashed when translating $T key for WPFileSystem objects,
but only in 12-hour time display ("Country" object). Fixed
(strhFileDate, /helpers/stringh.c).
- Error message when changing object ID on "Internals" page had funny title.
Fixed.
- The "lastpid" file was always written to the root dir of the boot drive
instead of XFolder's own "bin" dir. Fixed.
Version 0.84 (February 4, 1999)
First non-beta. Hope this works better.
New features:
- Implemented new drive checking when Disk objects ("root folders")
are opened to avoid the annoying system error messages of OS/2. You'll
get a slightly more comfortable message box now with the default OS/2
SYSxxx error message. That's a bit better, I think.
- Finally, a number of WPS
default icons can be freely replaced.
- Status bar support for WPUrl objects; they display the URL in the
status bar per default.
- Double-click on status bar opens folder settings notebook.
- XSHUTDWN.EXE can finally do a WPS restart too.
Miscellaneous changes:
- Reworked thread and exception handling once more. Added exception handling to
status bars (fnwpSupplObject, xfldr.c).
- Reworked the folder subclassing to speed up processing and
added more checks for error conditions (fnwpSubclassedFolderFrame,
xfldr.c).
Bugfixes:
- V0.83 reported a wrong version number of itself. Fixed.
Well, we're at V0.84 now anyways.
- Removal of context menu items broke for abstract objects in
V0.81. Fixed.
- "File attributes" menu didn't work when several data files were selected. Fixed.
- Fixed a few keyboard focus problems with status bars.
- Also changed the way status bars save whether the size of a folder window
has been increased already. This is now stored together with the other folder pos data
in OS2.INI, "PM_Workplace:FolderPos". The status bar keys end in "@XFSB". This should
fix the problem that folder windows were frequently too small when folder positions were
not properly saved.
- When users tried to move the XFolder Configuration Folder, they
got the "Config folder does not exist" message all the time. Fixed.
- Also, that message is only opened once now.
- Fixed a few problems with the "File exists" dialog: 1)
XFolder's "does file exist" algorithm behaved differently from the default WPS
behavior when files were copied from HPFS to FAT or from FAT to FAT and the
long name was different from the real name;
2) on FAT drives,
the proposed name were in 8+3 format, which is not very useful;
3) the proposed names used to be based on the existing real names, not file titles.
4) Also, "rename" behaved funny on FAT drives sometimes.
Ooouuuargh. Fixed.
- Folder views behaved really strange with some CD-ROM directories,
especially with the new Joliet support of CDFS.IFS. I suspect this was
due to some of my DosDevIOCtl's, which I have removed now.
- On some systems, opening folder content menus for removeable drives
hung the system when those drives were empty (e.g. because no floppy disk
was in the drive). Added drive checking for folder content menus.
- In rare occasions, previous versions would mess up the CONFIG.SYS file
by not setting the correct file size after writing, which led to
garbage characters at the end of the file. Fixed, thanks to ARAKAWA, Atshushi.
- The Worker thread was frequently given "regular" priority, which slowed
down the other WPS threads. Fixed; Worker thread priority is now properly
set to "idle".
- SOUND.DLL was missing in the V0.83 distribution. Sorry, fixed.
- Playing of system sounds was always interrupted when a new sound was
to be started, even if the new sound file did not exist. Fixed
(fntQuickThread, xthreads.c).
- XFolder would sometimes fail to process its startup folders even though
it should have processed it. Fixed (fnwpWorkerObject, xfdesk.c).
- In rare occasions, e.g. with ObjectREXX's WPS support, saving the WPS
objects during shutdown would crash. I've now added even more "quiet" exception
handling, maybe this helps.
Version 0.83 beta (December 14, 1998)
Well, the major rework of V0.82 broke a number of things, so there
are more bugfixes here. There are still a couple of known bugs which I
haven't had time to fix yet, but I wanted to get these bugfixes out before
Christmas. See "bugs.txt" on my homepage for up-to-date info.
New features:
- XSHUTDWN.EXE now has an option for
turning on the shutdown log.
- BOOTMGR.CMD to automatically add user-reboot options. See
Related Files for more.
Miscellaneous changes:
- Replacement "File conflict" dialog now automatically selects the filestem
in the rename proposals.
- A few cosmetic changes to the XFolder dialogs.
Bugfixes:
- Removal of default menu items broke for data-file objects in V0.81. Fixed
(new wpFilterPopupMenu in xfdataf.*).
- Changing file attributes from shadow context menus led to crashes when
several shadows were selected. Fixed (mnuFileSystemSelectingMenuItem, menus.c).
- Copying file names didn't work right either if this was selected from
a context menu of several shadows. Fixed (same place).
- Replacement "File conflict" dialog sometimes displayed outdated file
size/date/time information. Fixed (wpConfirmObjectTitle, xfobj.c).
- With V0.82, XFolder forgot how to write CONFIG.SYS to disk. That rendered the whole
"OS/2 Kernel" object pretty useless. Fixed, sorry (fncbConfigItemChanged, xfsys.c).
- SUPPRESSPOPUPS wasn't properly read from CONFIG.SYS ("Errors" page). Fixed.
- The second "Screen" page which is inserted into the "System" object for some
video drivers did not appear in "OS/2 Kernel", but somewhere in "Workplace Shell".
Fixed (wpAddDMQSDisplayTypePage, xfsys.*).
- XShutdown sometimes reported a data size of 0 when saving INI keys. This is
now silently ignored, so that those error messages shouldn't appear any longer.
- XShutdown got confused with programs which appeared with a PROG_DEFAULT
type in the tasklist. Fixed (xsdBuildShutList, xfdesk.c).
- APM power-off entered a critical section after calling the APM interface, which
kept power-off from functioning. Fixed (apm.c).
- Dialogs were resized very badly when video resolution was changed. Fixed;
I am now using my own routines for storing/restoring window positions in winh.*.
- Treesize reportedly had trouble on very large hard drives. I suspect this was
due to my use of unsigned int variables, which can only hold values up to some 4 billion
(= 4 GB). Fixed, I'm now always using double variables.
Version 0.82 beta (November 19, 1998)
This is a major rework. It might not look too different from
the previous version, but I've cleaned up a lot of things.
New features:
- More Treesize settings: size display format, low-priority search.
- XFolder finally has Warp 4 notebook buttons. There's a new function
winhAssertWarp4Notebook in /helpers/winh.c which can do this with any notebook
page without having to change the dialog resources. Thanks, Martin Lafaix, for
the neccessary information.
- Thanks to ARAKAWA Atsushi, APM power-off now works. (I hope. Again, I cannot
test this.)
- Added a few more WPS class descriptions.
Miscellaneous changes:
- Removed the XFldFileSystem class because it wasn't doing much anyway and
caused installation failures on Warp 3 without fixpaks. Its functionality is now
handled by the XFolder and XFldDataFile classes directly.
- Removed the XFolder exit list because this seemed to have caused some problems
during WPS restarts (xfdesk.c). Also changed the algorithm which determines whether
the startup folder should be processed (fnwpWorkerObject, xfdesk.c).
- Completely reworked all the settings notebook page logic. Almost all pages are
now using much more lucid callbacks from the new notebook.* files. This also ensures
proper updating of pages when other pages are currently open too.
- Completely reworked the SOM logic for the "WPS Classes" page in "Workplace Shell".
Maybe this helps with the problems previous versions had on some systems. Also, this
now even displays classes which do not appear in the "official" WPS class list, because
some internal classes are loaded independently of that. Finally, multiple class
replacements are now properly displayed.
Found an interesting undocumented
SOM method (see clsWpsClasses2Cnr in classlist.c for details).
- Also added source emphasis to the "WPS Classes" container when context menus
are opened. Previous versions had trouble keeping the selected classes apart.
- XFolder is now smart enough to write changes to CONFIG.SYS in lower case if the
keyword which is replaced contains lower-case characters too (fnwpConfigCommon, xfsys.c,
and str* helper functions in /helpers/dosh.*).
- Fixed a coupla things with NLS DLL loading to make V0.82 work with V0.81 NLS DLLs
(cmnQueryNLSModuleHandle, common.c).
- XFolder can now write SUPPRESSPOPUPS=0 on "Errors" page in "OS/2 Kernel". This
is a new setting since FP29 (fnwpConfigCommon, xfsys.c).
- Sped up confirmation dialog display (XFldObject::wpConfirmObjectTitle, xfobj.c).
- Treesize is now much faster collecting extended attributes (up to 300%). Also
fixed some strange hangs/crashes on some directories.
Bugfixes:
- "Templates" checkbox had disappeared from several object notebooks in V0.80
(removed various wpclsQueryStyle method overrides). Fixed.
- Previous versions tended to crash if folders were not running on thread 1
of the WPS. This was especially the case with folders created by various install
programs (StarOffice, IBM feature install).
Sorry, XFolder status bars apparently weren't thread-safe.
XFolder now creates a new object window for each folder which is
opened (fnwpSupplObject, xfldr.c),
so that status bar manipulation always occurs on the thread in which the folder
is running.
- First "Context menus" settings page had German buttons. This was just an
educational measure. ;-) Fixed.
- "Status bars" page 2 had "XFldDataFile" as the default class selection,
even though that class doesn't support status bar codes. Fixed.
- Added more error checking to the "QuickOpen" and "Favorite Folder" functions.
Maybe this helps with those strange exceptions on the first settings page for folders.
- XFolder now enforces minimum settings notebook sizes when these are initially
opened, because large pages were truncated previously (new wpclsQuerySettingsPageSize
method overrides in xfdesk.* / xfsys.*).
- Reworked the "folder content" menu display so that it only uses regular icons
now. Maybe this solves the mysterious crashes with some video drivers.
- Reworked several parts in menu handling because items were inserted in the wrong
places (menus.c). I also forgot to add the "folder view" items to Warp 4's menu bar too.
And "Create another" was always disabled, no matter if this was desired in the
"Workplace Shell" object. Finally, "Select by name" wouldn't show up on Warp 3. All fixed.
- Also added more error checking when evaluating the config folder. This should
lead to less warning messages if objects are deleted from there (menus.c).
- Startup/QuickOpen status windows were not destroyed, but only hidden when that
action was finished. Fixed.
- INI file maintenance broke somewhere in V0.8x; this is now done by the
Worker thread (xfdesk.c). Fixed.
- Saving INIs: "Ignore" button should now work when errors occur (/helpers/prfh.c).
- Fixed a few repaint problems with progress bars (/helpers/progbars.c).
- Fixed a lot of bugs with the new system sounds. For one, XFolder failed to install
on systems where MMPM/2 was not installed, because XFLDR.DLL was linked against the
MMPM/2 libraries, which then could not be imported. So we have a new, second SOUND.DLL,
which does all the sound playing. If loading that DLL fails, XFolder simply won't play
sounds. See the sound.* files for details. -- Second, XFolder got really confused
playing sounds when other applications needed the audio device too. This is now
solved; XFolder checks for whether the device is available, and if another application
wants the device while XFolder is playing, playing is stopped also. --
Third, System sounds in V0.81 worked only if they had been disabled and enabled again
in the "Sound" object (cmnQuerySystemSound, common.c). Fixed.
- Couple of broken links in the German HLP file. Fixed.
- Install script crashed when invalid language code was entered. Fixed.
Version 0.81 beta (October 18, 1998)
Starting with this version, the file and function of the error
in the source files is specified here too. For details about the
source code changes, refer to the "CHANGELOG.TXT" file in the source
distribution.
New features:
- Treesize external program. Part of the default context menu now.
- Due to popular request, "Snap to grid"
can now snap the selected icons only.
- The position of the startup folder status window is finally saved and
restored the next time. Sorry this has taken so long.
Miscellaneous changes:
- Gave up using SOM multiple inheritance, which seems to have caused too much
trouble. In detail, the xfSelectingMenu and xf* methods for status bars have been
removed from XFldObject and subclasses. Status bar single-object info is now
handled in statbars.c (new file) with _somIsA() calls instead. Not as elegant,
but might be a bit faster than SOM method resolution too.
- XFldProgram class removed. Its only purpose was for status bars using
SOM multiple inheritance. Functionality is now handled by menus.c.
- Removed extended Settings submenus. Caused too much trouble. Instead,
you may now set additional "Attributes" and "Folder view" menu items in "Workplace Shell".
- Improved animation code to avoid flickering. All the common code for this
is now in the new animate.* files.
- Added exception handling to "XFolder" notebook page in folders. This seems
to have broken on some systems.
- Made the file-system class replacements return the CLSSTYLE_NEVERTEMPLATE
from wpclsQueryStyle so that no additional templates are produced in the Templates
folder.
- Reworked status bar code completely. Should be quite a bit faster now; however,
each code is only translated _once_ now.
- Rearranged the pages in the "OS/2 Kernel" and "Workplace Shell" objects. Also
changed the replaced SOM methods (xfsys.*). "OS/2 Kernel" should now contain all the
settings which require a reboot to take effect. I guess this is a more logical
rule.
- Removed those darn xfclsQueryModule methods which were used to query the
module handle of xfldr.dll.
This might have caused installation failures
on some systems.
There is a new DLL init function in module.c now which
is a lot faster and causes less problems.
- As a nice side-effect to this, XFolder does not need any INI entries any more
to run properly. If you delete the whole "XFolder" INI thing, XFolder will re-initialize
itself.
- Install script set up config folder to open in Tree view per default.
Unfortunately this caused .LONGNAME EAs not to be rewritten when the main config folder
was altered. Fixed, this now uses non-flowed icon view.
Bugfixes:
- "HPFS" page wrote "LAZY:1" instead of "/LAZY:1" to CONFIG.SYS. Fixed (xfsys.c,
fnwpConfigCommon).
- "HPFS" page could read a few IFS parameters in upper case only. Fixed.
- "Memory" page wrote "HPFS" settings too. Forgot a "break" in fnwpConfigCommon,
xfsys.c.
- "Errors" page wrote "REIPL=YES" instead of "REIPL=ON". Fixed.
- "Object Internals" page displayed object handles only 25% of the time, depending
on how large your object repository was. Fixed.
- Install script failed to create "Workplace Shell" and "OS/2 Kernel" objects
if the XFolder Configuration folder already existed. Fixed.
- Creating objects from context menus caused non-reproduceable system hangs
from time to time (really bad ones where even C-A-D faild).
Added more error checking (cmnCreateFromTemplate, common.c; this
used to be XFldObject::xfCreateFromTemplate) and rewrote large parts of that routine
to use container messaging now instead of WPS methods. Seems to always work now.
- Reworked "Snap to grid" also so that it now properly uses container
messages (xfSnapToGrid, xfldr.c).
- Status bars now check for removeable drives before querying disk information.
Those ugly "drive not ready" popups should now be gone.
- Status bars reported garbage if a filename to be displayed contained a '$'
character also. Fixed.
- "Folder hotkeys" page listed an "Insert" item, which should have been called
"Paste". Fixed.
- Opening large folder content menus (which were repositioned on the screen)
would sometimes cause all menus not to react to mouse clicks any more. Fixed.
- Fixed a memory leak in bitmap handling. I was using IBM sample code again...
- XFolder would sometimes attempt to play system sounds even though no system
sounds were enabled. Fixed.
- XFolder sometimes conflicted with the WPS container manipulation when extended
sorting was on. Icons could still be moved within a folder even though "Always sort"
was on. Fixed.
- Install script failed to create the new "Workplace Shell" and "OS/2 Kernel"
objects when the config folder already existed. Fixed. There are now two additional
scripts in \INSTALL.
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:
- XFolder can now replace some WPS confirmation dialogs.
- Under OS/2 Warp 4, XFolder finally manages to modify folder menu bars also
according to the context menu settings.
- The XFolder Startup folder now has a new
menu item in its context menu: "Start folder content" allows you to start all
the objects in it even after the WPS is up.
- "QuickOpen" feature for folders.
- The "System" object is now split into two new
"OS/2 Kernel" and "Workplace Shell" objects. Refer to
this page for more.
- New settings pages therein to change
those risky and obscure CONFIG.SYS settings.
Included plenty of information for this.
- New "WPS classes"
page for manipulating the WPS class list.
- Every object now has an "Internals" page in its settings notebook. Here you can
look at lots of information which you can't see otherwise and even change the object's
ID.
- "Copy filename"
finally works properly with multiple selections in a folder.
Multiple filenames are then separated by spaces. Also introduced new
folder hotkeys
for copying the filename (without path: Ctrl+Insert per default).
- Status bars now support different information in single-object mode depending
on the class to which the selected object belongs.
To implement this, I had to introduce even more WPS class replacements. 8-)
Moreover, the "$x" key for status bars now supports formatting text from the right
or as a percentage of the status bar width.
Also introduced a few more keys.
See "Configuring status bars" for details.
- Status bars now also work for tree views, if you enable this in the
Global Settings.
- Status bars now display the folder's context menu when you right-click on
them.
- Added a new status bar display style ("Warp 3 sunken").
- XShutdown can now display a little animation.
- "Restart WPS" now has a setting for whether the startup folder should
be processed after the restart.
- I have provided a source-code plug-in interface for people who are willing
and able to teach XShutdown how to do an APM V1.2 power-off. My BIOS does not support
this, so I cannot do this myself. Hopefully somebody will succeed.
- XShutdown command-line interface.
Miscellaneous changes:
- Rearranged the "Context menu" settings pages more logically (I hope).
- Finally included proper (and updated) NetscDDE documentation in a
separate INF file. NETSCDDE.TXT is gone.
- Beautified XFolder message boxes a little. These now accept fonts from the
font palettes, and these are stored. So at least the XFolder message boxes don't use
that ugly "System Proportional" font any more.
- When "Always maintain sort order" is enabled globally, XFolder
now wants a confirmation for whether
the Desktop should also be sorted. This will prevent you from accidentally sorting the
Desktop.
- "Show icons" for the "Folder content" functions is now disabled per default.
Some video drivers apparently had serious trouble with this (I was told this for the
Matrox Millenium; my ELSA card works fine though).
- "Folder content" menus are now repositioned on the screen when they're very large
to avoid having them displayed outside the visible screen area.
- Completely reworked the config folder menu item handling. Previous versions
had problems when the .LONGNAME EAs contained different information than the actual
folder content in the INI files. These two sources are now compared and balanced.
As a side effect, processing these menu items also now consumes less memory and is
faster.
- Also reworked the folder content menu item handling. Previous versions sent
far too many PM messages to the menu window, which cost a lot of time, especially
for folders on FAT drives, which are not sorted by default. Sorting is now done in
memory before inserting the menu items using a QuickSort algorithm. Even on huge
directories, this never takes longer than half a second.
I can't do much about the slow icon retrieval though, that's WPS-internal.
- Since I was given a VisualAge C++ compiler by Mark Mellin (thanks again), this
version is now using a better compiler. Since VisualAge C++ does contain pretty good
programming information, I've spent a couple of days on compiler options
and code optimizing, and I hope that this has resulted in speedier code.
- Better memory handling altogher. XFolder now returns unused memory to the
operating system from time to time.
- Replaced my own string handling routines with those from
an old programmers CD-ROM which are way faster.
- Converted a few SOM instance methods into regular C functions. This
should speed up XFolder a little bit.
- XShutdown now always closes the Desktop and WarpCenter windows last. This
will prevent the situation that you'll be unable to use your system after Shutdown
has been cancelled because the Desktop has already been closed.
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.
- 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.