&xwp; 0.9.16 (February 4, 2002)
New features:
- Common: Instead of adding the "Object" page, &xwp; now completely
replaces the "Icon" page in every settings notebook.
- Common: Added "Replace file dialog" feature. This only replaces file
dialogs within the WPS, not globally on the system. If enabled, XWorkplace
code will use a replacement file dialog with full WPS support instead of
the dull default OS/2 file dialog.
Try the "Browse" button on the new "Icon" page.
- Folders: Added new "turbo folders" feature.
- Folders: Finally documented that setup string objects can be put
into the &xwp; Configuration Folder as well to have the setup string invoked
on the folder whose context menu was selected. This feature has been active
for a while, but I forgot to document it.
- Folder content menus: The folder's "Include" criteria are finally
fully respected so that objects which do not match those criteria do not
appear in the folder content menus either.
- File types: Added icon display to "File types" page in "Workplace Shell".
Also added "Properties" and "Open folder" items to association context menu.
- Programs: If extended associations are enabled, all program files will
now be started by &xwp;, circumventing any WPS code around WinStartApp. As a
side effect, this will give you more detailed error messages if the program
could not be started.
- Trash can: Added EMPTYTRASH=IMMEDIATE setup string.
- &xcenter;: "Add widget" menu is now sorted alphabetically. This was
confusing.
- &xcenter;: Pulse widget now supports more than one CPU on SMP systems,
thanks to Bart van Leeuwen. As a result the display is painting lines instead
of filled areas now.
- &xcenter;: Added "Properties" dialog to "Pulse" widget to allow color
configuration, finally.
- &xcenter;: Pulse widget now opens "OS/2 Kernel" object on double-click.
- &xcenter;: When &xcenter; is newly created, it comes up with a standard
widget setup now. The empty bar confused many people initially.
- &xcenter;: Added setting for whether object button widgets should show
in-use emphasis (hatching).
- &xshutdown;: Screen is now dimmed as with Win95 while confirmation dialog
is displayed.
- &xshutdown;: Pressing Alt+F4 while the Desktop has the focus can now
start shutdown.
- Netscape DDE: Added more command line options for specifying the
DDE server name and the startup directory, which can make NetscDDE work with
Mozilla too. Also removed the dull dialog explaining the command line options
and added a proper help panel (shows up if you double-click on NETSCDDE.EXE only).
- xfix: Added object IDs display and deletion.
Miscellaneous changes:
- Common: Moved more pages from the INF to the HLP file, such as
setup strings.
In addition, WPProgram setup strings are now documented also.
- Common: Reworked many dialogs and settings pages to use my dialog formatter
now. This makes changes much easier and saves everyone from using the stupid DLGEDIT
any more (for those dialogs at least).
- Common: Rework of the query-setup-string interfaces to be less CPU-intensive.
Also got rid of the danger of synchronization problems between the two calls
to xwpQuerySetup that were always required.
- Common: Rewrote TMF loader to be much faster now. XWorkplace now keeps its TMF
file open all the time and thus doesn't have to rebuild the strings buffer
for every message that is needed.
- Common: Rewrote Henk Kelder's WPS handles engine to be much faster now.
- Common: Did lots of page tuning, both for frequently used code and for
the &xwp; private heap. This might result in speedups for certain time-critical
places such as folder populate and extended associations.
- Common: Rewrote &xwp; log file routines to use DosWrite directly since the
buffered fprintf() calls sometimes didn't end up in the log at all (especially
on crashes).
- Common: Per popular request, finally gave the status dialogs the usual
thick dialog borders.
- Common: Per popular request, reworked folder content menu painting to always
use at least the height of the system mini icon size to avoid overlapping icons.
- Folders: A private PMSHELL send-msg hook was registered on WPS startup but
never released even though it was only used for the first folder that was ever
opened. Fixed; now removing the hook after the first folder open.
- Archiving: Changed the settings format for the WPS extended archiving. Please
reconfigure.
- Font folder: Per popular request, the font sample display now displays fonts with
the smallest sizes on top.
- Status bars: are now respecting the default font setting on the "Paranoia" page
and using WarpSans by default.
- &xcenter;: Stopped monitor widgets from shrinking all the time.
- &xcenter;: Window list widget now always ignores the Desktop and all open XCenters
regardless of the filters that were set.
- &xcenter;: Tray icon is now displayed vertically to use up less space.
- &xcenter;: Added error logging around DosFreeModule for widget DLLs; this might
result in log entries for some older widget DLLs which fail to unload themselves.
The most probable cause for this is that the DLL registered an exit list entry which
causes DosFreeModule to fail always.
Bugfixes:
- Install: "Mouse" shadow was never created in install folder since IBM changed
the object ID for the thing for some reason. Fixed.
- Install: Finally fixed the stupid error that CHECKINI always reported on the
<XWP_SEP42> object. Thanks to John Small for the fix.
- Common: Run dialog would diplay the full path of directories too,
e.g. if "install" was entered. Fixed; directories are now properly ignored.
- Common: Fixed several small memory leaks in various places.
- Common: Fixed major/minor settings pages subtitles (for notebook context menus)
in various places.
- Common: Removed all remaining must-complete sections in the code which
sometimes prevented PMSHELL from exiting on kill or crashes.
- Common: Fixed a build problem which caused XWP to fail on some Warp 3 systems
since some of the Warp 4 SOM imports cannot be resolved there.
- Common: Paul Ratcliffe fixed a couple of cosmetic things with the
exception trap logs.
- Common: Fixed a bunch of wrong default template settings for the XWP
classes.
- Common: Fixed wrong owner windows for dialogs created by the new dialog
formatter, which, among other things, affected the &xwp; message boxes.
Fixed many misaligments and other cosmetic issues too.
- Common: Paul Ratcliffe fixed bad AM/PM display for 12:00 noon in a library
routine which, among other things, affected the "Time" widget.
- Common: Added additional checks to an internal populate routine which should
now handle removeable drives correctly. This should fix the problems with folder
content menus that removeable media changes weren't picked up.
- Startup: Fixed endlessly looping startup folders.
- Icon replacemements: While working on the program icons replacement, I
pretty much had to rewrite most of the icon handling code in the WPS altogether.
As a side effect, I believe the problems with disappearing icons and icons changing
during refresh are now fixed for good.
- Object Details dialog: Fixed crash if "No" was selected in the confirmation
dialog after changing the object ID.
- Programs: Added more error checking to progOpenProgram.
Fixed more problems with programs not being started from WPS thread 1,
which can cause system hangs. Also fixed problem that executable would not start
if it was not fully qualified in the program settings object, but on the PATH only.
- Disks: Added more "drive ready" checks to context menus and settings view
to avoid some more "drive not ready" popups. Note that context menus still show
"drive not ready" since that problem is in a WPS routine I can't easily replace.
- Folders: MENUBAR setup string had a wrong default value on Warp 4 and above.
- Folders: If the default folder view was set to something other than "inherit"
in "Workplace Shell", changes in a folder's default view via the "Menu" page (or
the context menu item) were never picked up until a Desktop restart. Fixed.
- Folders: Replacement refresh code never picked up RCNF_CHANGED notifications
(which are quite rare though). Fixed, as well as some other missing notifications.
- Folders: Added exception handling to an internal populate helper which tended
to crash on certain WPS networking classes at times.
- Extended associations: If a data file had a type set (either explicitly or
automatically) but no associations existed for that type, the "Open" submenu
was empty. Fixed; this now adds the associations for "Plain text" to those
objects too.
- Status bars: For remote disk objects (WPSharedDir), the status bars kept
querying drive A: for the free space, which was kind of annoying. The reason was
that WPShared::wpQueryLogicalDrive returns 1 always for some reason only IBM can
explain. Added a special case check in a couple of places.
- Status bars: Fixed bad check for tree views which sometimes failed to
update themselves.
- Status bars: Fixed a bad exception handler cleanup.
- &xcenter;: Removed all the special window actication handling for now.
Besides, the XCenter frame is no longer a PM WC_FRAME instance. Hopefully
this doesn't break anything else but fixes the stupid Mozilla problems many
people were having.
- &xcenter;: Fixed the 100% CPU load problem when mouse was over &xcenter; while
a settings dialog was showing.
- &xcenter;: Battery widget didn't repaint its background properly when
the power icon was changed. Fixed.
- &xcenter;: Fixed some bad clipping with object buttons.
- &xcenter;: Source emphasis for menus wasn't always removed from client. Fixed.
- &xcenter;: Fixed crashes with objects from other processes being dragged over
&xcenter;.
- File operations: Mostly rewrote the "Replace File Exists" dialog to finally handle
the "Create another" and "Create from template" conditions correctly. Besides,
all the special case checks for FAT drives were removed because the WPS handles
all this correctly already.
- File operations: Replacement delete never respected the "Confirm folder deletion"
setting from the "Confirmations" page. Fixed; if this is enabled, you now get an
extra prompt before &xwp; kills a folder.
- Trash can: Fixed wrong error message if "delete to trash" was still enabled
internally but the trash can had disappeared for some reason. XWP is now offering
to recreate the trash can instead.
- Trash can: Fixed problems with UNC files.
- Trash can: Dropping objects on the shredder would move them into the trash
can instead. Fixed; they are now properly nuked.
- Trash can / true delete: Paul Ratcliffe fixed a bunch of potential traps
with NULL object titles.
- Trash can: Disabled the stupid "File exists" dialog that popped up if some
other object with the same title already existed in the same hidden trash directory.
Note that this will only work if you have "Replace file exists" enabled, unfortunately.
- Object hotkeys: It was impossible to set a hotkey into the "Hotkey" entry field
that was already occupied. Even worse, if the object had been lost, this kept the
entry field from working at all. Fixed; note that this implies that you can now use
the same hotkey for several objects at once.
- &pgr;: &xcenter;s are now sticky always and do not have to be added manually
to the "Stickies" list any more.
- &pgr;: System window list would sometimes be moved off to another screen and
then be hard to see. Made window list sticky always now.
- &pgr;: Repaint broke after &pgr; was disabled and then re-opened. Fixed
by Paul Ratcliffe.
- Hook: Object hotkeys stopped working after screen lockup, unless &pgr;
was enabled. Fixed. Also fixed the problem that it was possible to use hotkeys before
the Desktop was ready and during shutdown.
- Hook: Now disabling sliding focus while "move ptr to default button" is in
progress.
- &xshutdown;: Paul Ratcliffe fixed bug trying to close the first switch list
item twice.
- &xshutdown;: I believe I have traced down and fixed the problems with XShutdown
and the "Desktop not found" problem if XWorkplace is installed on multiple OS/2
partitions. The problem was quite deep in the WPS internals and actually a WPS bug
that was exposed by the &xwp; "save objects" function. For some reason, the WPS kept
deleting the <WP_DESKTOP> object ID (and other object IDs) if they didn't match
the data in the current INI file, which of course they don't if the object ID is from
another WPS. Fixed that; the object's instance data is now hacked to keep the old
object ID.
- &xshutdown;: Fixed hang on "Releasing filesystems" on some systems, hopefully.
I can't really assure this since the bug never occurred on my system, but &xwp;
attempted to load one string resource after DosShutdown, which really isn't a good
idea... fixed that.
- Treesize: Fixed a couple of long-standing cosmetic problems. Added a decent
help panel.