How to programmatically fight with WPS:WPVault, x:/NOWHERE, NOTVISIBLE, SHOWALLINTREEVIEW
Don't worry, you couldn't dereg/delete this class if you wanted to. Normally, WPVault is only assigned to the Nowhere folder; it is intended to make it hard for you to mess this folder or its contents. The WPS sets the physical directory's attributes to system and hidden, and the WPS object's attributes to NoMove NoDelete NoPrint NoDrag NotVisible NoRename.
You can also try applying the following setting against x:\NOWHERE:
NOTVISIBLE=NO;SHOWALLINTREEVIEW=YES
(see the recipe in can't choose properties of Desktop). Suddenly all objects in Nowhere appear in the treeview and can be seen...
That's an interesting way around the visibility problem. However, I think there's actually more there than meets the eye.
Under Warp 3, at least, <WP_NOWHERE> contained a lot of transient objects of classes WPFilter, WPFinder, WPFolderCV, etc. On my Warp 4 system, I know these objects exist but I can't locate them. Since each of these classes has a style of "Private" (which means "hidden"), I'd assume they're still in Nowhere but totally inaccessible using conventional means.
In addition, some of the conventional objects in Nowhere have an object style of "NotVisible". Most notable is <WP_VIEWINF> which is the default viewer for *.INF files. Most of the objects that are visible on my system (other than the COM and LPT objects) appear to have been put there either by WarpCenter or Object Desktop.
x:/NOWHERE and NOTVISIBLE
Nowhere contains objects "they" don't want you to mess with, e.g. the program object for view.exe that's associated with *.INF. It also contains WarpCenter & LaunchPad shadows, some Netscape helper apps, plus objects for your COM, LPT, and remote printer ports. It may also contain junk - some people may still have remnants left by the NSv4.61 beta.
In Warp v4 (at least), you can't open Nowhere, display its menu, or show its properties notebook. However, you *can* see its contents by running the script below, then opening your boot drive in tree view and pressing the "plus" button next to Nowhere's icon. (Note: I've played with my system so much that YMMV greatly as to what you can see. For example, mine always shows some objects; running the script below simply increases the number visible.)
If you have more than one Nowhere directory, you should be able to identify the one in use by the presence of the port objects (assuming you can see them at all). Another way is to use the folder's Object ID (<WP_NOWHERE>) rather than its path the first time you run the script. Whichever folder is expandable is the one in use.
Put this in Boilerspace template:
/* this makes visible two objects that are normally hidden */ rc = SysSetObjectData( "<WP_VIEWINF>","NOTVISIBLE=NO") rc = SysSetObjectData( "<WP_RJAPPLETPROGREF>","NOTVISIBLE=NO") /* substitute <WP_NOWHERE> for the path on the first run to help identify which of several Nowhere folders the WPS is actually using */ call ReportRC(SysSetObjectData( "C:\NOWHERE","SHOWALLINTREEVIEW=YES"))
SHOWALLINTREEVIEW
SHOWALLINTREEVIEW=YES ? What does this do, and where is this statement placed ? If this does what I think it does, I'll be wondering why the hell IBM didn't make this default.
This causes folders to display all their contents in Tree view, rather than just subfolders. You can apply this attribute to any folder using this REXX script. Supply the name of a directory when you run it (e.g. SHOWALL C:\DESKTOP), or simply drop a folder on its icon.
Put this in Boilerspace template:
call ReportRC(SysSetObjectData(object,"SHOWALLINTREEVIEW=YES"))
SHOWALLINTREEVIEW and old (Warp 3) folders
The ability to show a folder's entire contents was added in Warp v4, but nothing was added to the folder notebook to turn this on. Instead, you have to use REXX; the script in SHOWALLINTREEVIEW will do the trick.
NODELETE and Templates
| >I have several objects that were created by Devcon. They are extremely | >annoying and I would like to be rid of them. Simple deletion doesn't work, so | Go to the 'general' page of the settings notebook. Uncheck the | template checkbox, close the notebook and delete 'em.
That's not enough for the Warp Toolkit objects: they are created with the object NODELETE attribute, which you can't get at from the WPS (unless you use an object inspection utility).
You *can* zap them with REXX, though:
call RxFuncAdd 'SysLoadFuncs', 'REXXUTIL', 'SYSLOADFUNCS' call SysLoadFuncs call SysSetObjectData 'C:\Desktop\OS!2 System\Templates\Carpp', 'NODELETE=NO;'
Remove the Template attribute as above, then you can delete them.
Ok, that partially worked...it makes the objects "deletable", but they come back after I delete them (i.e. Run script, Delete object, Close folder, Open folder, IT'S BAAAACK). Any other ideas? Mayhap a recommendation as to an "object inspection utility"? Preferably one that will let me kill the objects?
Every time you open the Templates folder, it populates itself with a template for every class that supports "Create Another". If the template for a class is missing, it asks the class to create another. The only way to permanently get rid of them is to deregister the class. If that's what you want to do, add this line to the script above:
Call SysDeregisterObjectClass "[name of class]"
Run the script, delete the object, close the folder, restart the WPS. The template, the class, and any supporting os2.ini entries will be gone for good.