In the "Workplace Shell" object, XFolder creates a page called "WPS Classes" with which you may influence the WPS class list.
In order to use this page successfully, it might be helpful to have a general understanding of what WPS classes actually do. The following information is supposed to assist you in this.
You have probably heard many times that the OS/2 Workplace Shell is "object-oriented". This term suggests that -- opposed to other user interfaces, such as that of Windows 3.1 -- everything the Workplace Shell deals with is supposed to be an "object": this applies, for example, to files, folders, printers, drives etc. All these objects have certain common characteristics, such as context menus and settings notebooks, but differ in certain others: e.g. what you see in a context menu is different depending on the selected object.
In order to better be able to handle these common and different characteristics, the WPS uses "classes". This term has been taken from object-oriented programming; a class is, so-to-say, an abstract concept for an object. A class is therefore not visible on the Desktop, it thus does not "exist" in the same sense as objects do, but it contains all the information about properties and capabilities of an object.
Now, every object on the Desktop is a so-called "instance" of a class. The names of most of the WPS classes start with "WP": for example, a printer is an instance of the "WPPrinter" class, a folder one of the class "WPFolder", a datafile of "WPDataFile" and so on.
The reason for the power and flexibility of the class concept is that the different classes may descend from each other. A class which is descended from an other class inherits all of its properties and capabilities. It is thus possible to make certain features of the user-interface more abstract, according to the old principle: the best way to handle complexity is abstraction.
One can also apply the concept of classes to things in the "real" world to clarify it: for example, think of several classes named "Animal", "Mammal", "Dog", and "Bird". The classes "Mammal" and "Bird" would then be descendants of the "Animal" class, while "Dog" would descend from "Mammal". Your own dog would then be an instance of the "Dog" class, so-to-say. Its behavior would be determined by the classes "Animal", "Mammal", and "Dog" altogether.
The WPS now contains many classes, which make up a very thoughtful inheritance hierarchy. The following excerpt from the WPS class list may make the general structure more lucid (where the lines signify inheritance):
WPObject ├── WPAbstract │ ├── WPPrinter │ ├── WPProgram │ └── WPShadow ├── WPFileSystem │ ├── WPDataFile │ │ ├── WPIcon │ │ └── WPProgramFile │ └── WPFolder │ ├── WPDesktop │ └── WPStartup └── WPTransient
WPObject has only three descendant classes. All these classes are -- like WPObject -- only meant to be abstract parent classes, of which no objects should exist directly.
All WPS classes reside in dynamic link libraries (file extension .DLL). For example, most of the default WPS classes reside in the large PMWP.DLL file in the \OS2\DLL directory. All XFolder classes reside in XFLDR.DLL in the XFolder installation directory.
Using this feature enables programmers to implement new features for a class without having to know in detail how a certain class works internally. As was said before, this is an outstanding and powerful concept, which still only OS/2 offers.
Please note that if you attempt to deregister certain OS/2 system classes (which you normally shouldn't do anyway), this will probably have no effect if the DLL containing that class contains other WPS classes which are still registered. This applies especially to the OS/2 Warp 4 Multimedia classes: all those are contained in MMPARTS.DLL, and as long as one of these classes is still registered, all the multimedia classes will still be loaded, even if they don't appear in the WPS class list.
Again, this is only a short introduction to the WPS class list. If you open the "WPS classes" page in the "Workplace Shell" object, all of the classes installed on your system will be displayed. Regularily, these will be more than 100 classes, which will appear in a tree structure. Using context menus, you may register and replace classes here and also deregister classes and undo class replacements.
Please note that you should be very careful when manipulating the WPS class list. With the aid of this page you may render your OS/2 system unusable in seconds!
Press the "Help" button on that page to receive more detailed information.