The Unofficial Guide to the Workplace Shell

by Jeff Cohen (last revised April 5, 1992)

You just installed OS/2 2.0 6.307, the General Availability release. You noticed there was something a little different about the title bars during the graphical portion of the installation, but as the system comes up for the first time it hits you: Toto, I have a feeling we're not in Kansas anymore. Everything looks different, and you can't get anything to work anymore. You desperately want to click your ruby slippers three times and wish to go back home to the old OS/2. Or, you're a long time Windows user and you can't make any sense of what you see. In any case, you become convinced IBM has lost its mind.

You are the victim of a paradigm shift. It is not your imagination; the new Workplace Shell (WPS) really does operate on completely different principles.

This guide is for you, the new, bewildered owner of OS/2 2.0. When you've finished reading this, you should be able to find your way in the new world of WPS. If you're not one of these people, don't stop reading. You went through the effort of acquiring and reading this to find out what all the fuss was about, and I hope you won't be disappointed.

But first, the obligatory disclaimer: the information within is correct to the best of my knowledge (and I do use the WPS on a daily basis), but do not depend on it being 100% correct. It is not in any way "official" nor does it represent any commitment on the part of IBM.

Quickie info for first time WPS user
The first time, just after system installation, WPS takes a LONG LONG time to come up. It's normal for this to take as long as 15 minutes, or even much longer if you're installing onto an HPFS partition. Fortunately, the OS/2 Tutorial will come up almost immediately, giving you something to do in the meantime. After this first-time initialization is complete, startups will go significantly faster (but could still be considered a bit on the slow side).

Try to forget what you learned from Windows or previous versions of OS/2. Old habits more likely than not will have to change. If you're too impatient to read the rest of this document, here's a quick rundown on Things You Should Know: If you should crash the shell, all is not necessarily lost. There's a "dead-man switch" in the system that restarts the WPS process if it dies. More info on this later on.
 * Left mouse button for selection, right button for manipulation.
 * Click on icons and empty spaces with right mouse button to bring up pop-up menus.
 * Do not move objects to the Startup folder. The prefered way is to create shadows (which see) and put them in Startup instead.
 * ALWAYS DO A SHUTDOWN. Click on empty spot of desktop with right mouse button, and select Shutdown from pop-up menu.
 * Do not be too proud to take the tutorial. It will come up automatically after the installation completes.
 * Immediately shutdown right after taking the tutorial. This will avoid problems with running DOS and Windows applications.
 * Minimized windows will vanish - no icon will appear. The icon used to open the window in the first place will bring it back. This is a result of the new paradigm (which see).
 * Make sure the swap file resides on a partition with sufficient space, especially if you plan on running Extended Services or many applications simultaneously.
 * Although WPS is far faster and stabler than in the beta systems, it still has a few minor glitches.
 * For a surprise, click on the desktop on an empty space with the left mouse button and then type CTRL+ALT+SHIFT+O (but something will happen only if you installed the optional bitmaps).

The new paradigm
The paradigm has shifted from application- to object-orientation. The old Desktop Manager was application-oriented. First you selected and launched an application, then from within the application selected the file you wanted to work on. All the Desktop Manager knows about are applications. The Windows Program Manager worked likewise.

With WPS, everything is an object. Each file, each folder, even the desktop itself is an object. To do something with an object, you select it and ask WPS what you can do with it, and then select one of the options presented. Naturally, there are different types of objects, each with its own set of properties and available actions.

For example, to edit a file under the old paradigm, you found the editor application, launched it, then asked the editor to open the desired file. With WPS, you find the file you want to edit, bring up its pop-menu listing the available operations, and select the edit operation. The file will be an icon in a folder; there is great flexibility in organizing your desktop so that the relevant files will be "at your fingertips."

For another example, consider the "exit" entry normally found in the File menu. CUA '91 applications do not have it. It makes sense to exit an application, but not an object. What you can do is close a view of an object. If opening the view launched an application in the first place, then closing it will exit the associated application - but this takes place "under the covers." The user need not be concerned with it. Indeed, depending on the object type, opening a view might NOT launch an application (for example, folder objects).

The WPS replaces not only the Desktop Manager, but also the Control Panel, the Print Manager, and the File Manager.

The Control Panel functions are replaced by a collection of objects, one for each aspect of the system that can be customized (mouse, keyboard, colors, etc.). You'll find that the new shell offers far more flexibility in customizing the system.

The Print Manager functions are replaced by printer objects, which serve the function previously provided by print queues. A printer object is a type of container object, and contains objects to be printed.

The File Manager's functions are now provided directly by the WPS itself. Each directory is a WPS folder, and every folder is a file system directory. There is great flexibility in how a folder is displayed. Each file is an icon in the folder. File Manager type operations may be performed on a file via it's settings notebook (which see).

The WPS is the implementation of the Common User Access (CUA) '91 standard. The older OS/2 shell, the Desktop Manger (and the Windows 3.0 shell too), followed the older CUA '89 standard. The goal of the new CUA standard is to make computers even easier for the average person to use. IBM recently announced CUA '91 and its manuals can now be ordered:
 * SC34-4289 SAA CUA Guide to User Interface Design
 * SC34-4290 SAA CUA Advanced Interface Design Reference

I recommend reading them, especially if you intend to develop applications for OS/2 2.0. A warning is in order: while reading the CUA '91 manuals will provide useful insight into how WPS works from the user's perspective, there are still significant areas of deviation. By release, WPS should conform more closely to the CUA standard, but it will still have significant deviations. I'll try to point these out.

What can you do with mice?
The selection button (SB) is normally the left mouse button, or button

1. To select an object, click on its icon with the SB. To select a folder that's open, you may also click within it on an empty part. To select the desktop, click on an empty part of that.

An object's icon will show it's selected by being surrounded by a dark gray backdrop; this is known as selection emphasis.

Mutiple objects can be selected simultaneously. Clicking the SB while holding down the control key, or CTRL-SB, toggles the selection state of an icon.

A marquee selection also selects a group of objectss. While pressing the SB, drag out an area of a folder. An rectangular outline highlights the area while the SB is pressed. As icons fall in or out of the highlighted area, their selection status changes (visibly).

A swipe is another way to select a group of objects. After selecting a single object by clicking its icon, *without* releasing the mouse button drag the mouse and touch the other objects you wish to select. If you accidentally select an object, you can deselect it later via CTRL-SB.

Each folder has its own set of currently selected objects, independent of any other folder.

The above actually applies to all container objects, of which a folder is a sub-type. Another example of a container object is a printer object. Workplace applications will typically define their own types of container objects.

The manipulation button (MB) is normally the right mouse button, or button 2. There are various flavors of manipulations: move, copy, pop-up menu, and shadow creation. Move, copy, and shadow creation are collectively known as direct manipulation. Using the pop-menu is considered to be an indirect form of manipulation.

An object will show manipulation emphasis during direct manipulation, or when its pop-menu is visible. This emphasis takes the form of a dashed rectangular outline (with rounded corners) surrounding the icon. If the object is an open view, the outline will be draw just inside the window borders.

A move is the simplest manipulation of them all. Just point the mouse at a currently selected object, press the MB, drag it to where you want to drop it, and finally release the MB. If other objects were also selected within the same folder, they too will participate in the move. While the drag is taking place, the mouse pointer will show the icons of the object(s) being moved.

The mouse pointer also indicates where it's legal to end the drag. Where it's illegal, the pointer includes the international "do not enter" sign. Nothing will happen when terminating a drag to an illegal spot. Where it is legal, the receiving object (and there must be one for it to be legal) is highlighted by having a box drawn around it. When the receiver's an open view, the box is drawn just inside its window's borders.

What happens when the drag completes depends on where you drop the objects. If you move them to a different spot within the same folder, their new location is remembered. You may also move them to some spot in a different folder, or you may drop them on another object.

When you drop objects on another object, the resulting action depends on the objects involved. If you drop an object on the Shredder, for example, the object will be destroyed. Drop it on a printer object, and the object will somehow generate output to be printed. Drop it on a folder object (its icon, not an open window), and the objects will be moved to the folder. Application-defined objects can naturally display rich semantics when dropped on one another.

A copy differs from a move in that the selected objects remain in their original location. To select the copy operation, hold down the control key when you complete the drag. While control is pressed, the icons displayed as part of the mouse pointer take on a faded appearance.

A shadow differs from a copy in that a link to the original object, rather than a duplicate object, is made. Shadows are explained in more detail later on. Press shift in addition to control when completing the drag. The mouse pointer reflects this by drawing a line connecting itself to the original object(s).

The default operation performed when an object is dragged and dropped depends on the objects involved. When a file object is dragged from a hard disk partition to a floppy disk, the default operation is "copy" and not "move". To force a move operation, hold down the shift key.

The operation is not determined until the drag is complete. Only then will the state of the shift and control keys determine what is done. However, the appearance of the mouse pointer will always reflect the current state of these keys. This type of immediate visual feedback is major feature of both the WPS and CUA '91. If you wish to cancel the operation, hit ESC before releasing the mouse button.

Again, in the above, everywhere you see "folder" you can substitute any type of container object. Folders are used because they are the most common type of container object, and so make a good example.

A minor idiosyncrasy: if an object is moved only slightly or back onto itself, an error may be flagged or the "do not enter" sign will be displayed; the WPS thinks you're trying to drag an object onto itself.

Every object has a pop-up menu, with which you can indirectly manipulate it. The contents of this menu obviously depend on the type of object. The menu will only contain actions that are currently applicable; you'll never see "disabled" entries. Click on a selected object with the MB to pop up a menu.

The pop-up menu for one selected object applies to ALL currently selected objects within the folder. All selected objects will perform the chosen action. Not surprisingly, the menu will contain only those actions common to all the selected objects.

A container object's pop-up menu can be accessed from an open view (window) on the object. Click on an "empty" spot with the MB within the window or on the mini-icon in the left part of the title bar. Container objects include, of course, folders and the desktop (although the desktop does not have a visible title bar).

In case you're wondering, the desktop really is an object and does have an icon that can be "manipulated." As a homework assignment, try to find where this icon makes its home. The answer will be provided in the section on the desktop object.

There are other things you can do with mouse buttons. Double-clicking an object's icon with the SB will open a view of the object. For a program object, this means executing the program. A folder object opens a window revealing a view of its contents.

An object's name may be changed by clicking on either the text associated with its icon or in the title bar of one of its views. Click with button 1 while pressing the ALT key. The text will turn into an entry field which you can edit in the usual fashion. You may insert newlines if you wish. To terminate the editing operation, click on the icon (if you were editing the icon's descriptive name) or somewhere else in the window (if you were editing a title bar). What you're really editing is the object's name, and when you're finished all occurances of that name on the display will be updated. If you decide you don't want to change the name after all, hit the ESC key to cancel the operation.

To an extent, mouse button mappings are configurable. Go to the System Setup folder (within the OS/2 System folder), open the Mouse object, select the Mappings page in the notebook, and make the desired changes. They'll take effect immediately. There is a shorthand for the above sort of directions: OS/2 System -> System Setup -> Mouse -> Mappings.

Objects and views
An object is represented by its icon. Manipulating the icon manipulates the object. The icon reflects the status of the object, whether it's selected (gray backdrop), has an open view (cross-hatched backdrop), is pointed at by the keyboard cursor (box outline), is the object of manipulation (dashed outline), or some combination of these.

An object's icon may be visible in several places on the display simultaneously. The folder containing the object may have several views open simultaneously; each view will show the icon. Or the object may have shadows, some of which may reside in different folders. All instances of an object's icon, be they shadow or not, will show the same open emphasis. They all represent the same object, and any of them may be used to manipulate it.

Objects contain data, state, or other types of information. Objects provide views on this information. A view takes the form of a window on the display. An object may provided several types of views. For example, a folder provides three different types of views of its contents plus another view on its settings. An object's icon shows in-use or open emphasis while a view is open.

There are two ways of opening a view. The simplest is to double-click the icon with the SB. When more than one type of view is available, the default type is opened. The other way is to bring up the pop-up menu and click on the arrow button for "Open". This reveals up a cascading menu showing the types of views you may open.

A given view may not be open multiple times simultaneously. (Note: this is not CUA compliant.) If you try to open a view which already has an open instance, the currently open instance will instead be surfaced to the top of the desktop. This is important to remember, as minimized application icons are no more (at least by default).

Again, objects are what the user sees, not applications. Depending on the object type, opening a view may launch an application (if it isn't already running), but this takes place under the covers. For other types of objects, particularly those that come with WPS, opening a view does not launch an application, nor even (necessarily) create a new process.

That having been said, there is one case where opening a view *does* explicitly launch an application: program objects. These objects *are* applications, and serve the same purpose as the old Desktop Manager group entries or Windows PIFs. However, only one instance of an application can be launched from a particular program object. (At least, that's the default behavior. See section on program objects on how to change this.)

One almost universally available view is "Settings", usually a notebook control. A notebook control, new for 2.0, is like a multiple-page dialog box. The Settings view is also a resizable window.

You'll notice that settings notebooks generally do not have a Save or OK button. Changes take effect *immediately* (whenever it makes sense to do so). Hence, these buttons are unnecessary. This, too, is part of CUA '91. An Undo button is still available. To dismiss a settings notebook, close it as you would any other window via the system menu.

Object pop-up menus
The actions listed in an object's pop-up menu are obviously dependent on its type, but there are some common to most objects.

But first a note on cascading menus. You'll notice that there are two types of arrows marking a cascading menu, a flat arrow and a button arrow. The button arrow is new for 2.0. You must click the button arrow to bring up the cascading menu. If you click elsewhere (on the text), the cascading menu will not come up; instead the default (checkmarked) action in the cascading menu will be performed. Which action is the default can be set in the object's settings notebook via the Menu page.

Always first is "Open ->", which was described in the previous section.

Also universally present is "Help ->". A cascading menu will present the usual help choices, Help index, General help, Using help, and Product information.

"Window ->", usually present (but only) on open views, will cascade to show the standard system menu choices, Restore, Move, Size, Minimize, Maximize, Hide, Close, and Window List.

"Create another" will create a new object of the same type. This object will be "empty", with the precise meaning of "empty" dependent on the object's type. The effect is the same as if you used one of the templates available for the object's type.

"Delete..." will delete the object. It's equivalent to dragging the object to the shredder.

"Move..." and "Copy..." perform the same functions as dragging an object with the mouse (with or without holding down control as appropriate), but do it via a dialog box. The dialog box allows you to specify the destination of the (new) object.

"Create shadow..." performs the same function as CTRL-SHIFT-MB, but with a dialog box (as above). Shadows will be covered later.

"Close" is always last, and will only appear on open views.

The above operations apply to just about any kind of object, though there are exceptions. Some object types allow customization of the menu. To do so, open the Settings view and select the "Menu" page.

The pop-up menu for an open view mixes view-specific and object-specific operations. This can sometimes be confusing, and is a CUA violation.

Object types
There aren't that many predefined object types that come with WPS. New object types can be defined by Workplace Applications, but of course there aren't any (yet). The OS/2 2.0 toolkit enables you to develop such applications.

There are four major object types you'll encounter: programs, data files, printers, and folders. As in other object-oriented systems, specialized types can be defined which inherit and modify the behavior of these major types. For example, the desktop is a special type of folder. This is relevant only to the application developer, however; users cannot define new object types. Every object is an instance of some type.

Programs
A program object is equivalent to an entry in the old Desktop Manager's group window or to a Windows PIF. A program object is not the program itself, but a reference to it. A program object has two views, Settings and Program. Opening the Program view either lauches the application or surfaces it to the top of the desktop, depending on whether it's already running.

The Settings view brings up a notebook that is similar in content to the old Properties dialog box of the Desktop Manager. In it, you can set the program's name, the location of the executable file (COM, EXE, CMD, or BAT), the working directory to use, the starting parameters, whether it's full-screen or windowed, DOS, Windows or OS/2 application, and the icon to use. If the application uses PM, you will not be permitted to select the session type.

It is no longer possible to have an application start out maximized, nor may a PM application be started minimized (a PM application is supposed to remember if it was minimized when it was shutdown). The only way to mark a program object as auto-start at system initialization is to place a shadow of it in the Startup folder (which see) or to have it running when you perform a system shutdown.

For a DOS or Windows application, you can also bring up a dialog box which customizes the DOS box environment. There are about 40 separate parameters you can tweak. They can be grouped into the following categories: keyboard, memory, mouse, printer timeout, video, and "other." The memory settings allow great control over conventional, EMS, XMS, and DPMI memory usage.

When a program object is for a DOS application, and the application is currently running, an extra operation appears on its pop-up menu allowing you to switch between windowed and full-screen modes. The ALT-HOME key also performs a switch. Additional pop-up menu entries allow you to alter the DOS box environment, and to copy the entire DOS box's "screen" to the clipboard.

A program object may also be associated with data objects via the Associations page in the program object's settings notebook. This permits the program object to be listed as an "open" option in the pop-up menus of all qualifying data objects.

An example: the way the system is shipped, the Enhanced Editor is not associated with any data files, unlike the System Editor. Here's how you remedy this oversight: There is one small catch: by default a file has no file type. Until it's assigned one, it cannot be associated via file type. To set the file type, do the following: To repeat, a program object is NOT the program itself. Shredding a program object will *not* delete the program. You can also have as many program objects for a single program as you like, each with different startup parameters, etc...
 * 1) Open Productivity folder.
 * 2) Locate Enhanced Editor object.
 * 3) Open Settings view, using pop-up menu.
 * 4) Go to the Associations page.
 * 5) Select desired file types using upper pair of list boxes.
 * 6) Select desired file name patterns using lower pair.
 * 1) Locate the data file's icon.
 * 2) Open Settings view, using pop-up menu.
 * 3) Go to Type page.
 * 4) Select desired file type.

The action taken when the application is minimized can be customized via the Window page, if the system default is not appropriate (see System object). The possible choices are to hide, to minimize to the desktop, and to minimize to the Minimized Window Viewer (installation default).

The action taken when "opening" an already launched application may also be customized. If the default of surfacing the existing instance is not desired, it can be changed so that a new instance is launched instead. There is also a customizable system default (see System object).

The name of the object and the icon used may be altered via the General page.

Data files
A data file represents a real file in the file system. If you shred its icon, you WILL delete the file.

The pop-up menu for a file contains an additional operation, "Print ->". The cascading menu allows you to specify which printer to use, if the current default printer is not appropriate.

The only view normally available to a data file is the Settings view. There are four pages in the settings notebook: Type, Menu, File, and General.

The Type page allows you to declare the type of data stored in the file. Possible choices include C Code, Bitmap, and OS/2 Commands. The type, along with the file name's extension, determine what other views may be available.

The Menu page allows customization of the pop-up menu. You may add additional entries to the "open" submenu, create new submenus, or change the default operation for button-style cascading submenus.

The File pages (there are three of them) provide the information that used to be provided by the old File Manager: descriptive and physical names; created, modified, and last accessed time and dates; data and extended attribute sizes; attribute flags; subject, comments, key phrases, and history information. Some of these cannot be provided for files residing on a FAT file system.

The difference between descriptive and physical names is important. The descriptive name is what appears with the icon. The physical name is the actual name known to the file system. The two need not be the same. A big advantage: long, descriptive file names can be used even without HPFS.

Objects within a folder must have unique names. Any operation which results in non-unique names will pop-up a dialog box requesting a course of action. Possible methods of causing this situation include renaming an object, moving an object from one folder to another, or copying an object from one folder to another. The dialog box will give you the option of cancelling the operation; providing a new, unique name; replacing the original object of that name; or appending to the original object of that name. Shadow objects do not appear to work properly in this respect.

You cannot directly change the physical name using WPS. Changing the descriptive name will also change the physical name, but not necessarily to what you expect. WPS will choose a physical name that's as close as possible to the descriptive name, given the limitations of the file system and subject to the restriction that it differ from any other physical file name in the same directory.

The General page provides several functions common to virtually all object types, and can be found in all settings notebooks. It will only be described here in detail. This page empowers you to change the object's descriptive name, to mark the object as a template, and to view and edit the object's current icon. (Non-file-system objects do not have physical names, only descriptive names.)

A data file might really be an executable program. The settings notebook for an executable contains additional pages also present in a program object: Program, Session and Association. See program objects for a description of these pages.

Printers
A printer object is like a queue in the old Print Manager. Each object is associated with a specific physical printer, setup for specific characteristics. A default printer object is created for you during installation. For brevity's sake, "printer objects" will be refered to as just "printers." "Physical printer" will be used when the distinction is necessary.

The pop-up menu for a printer has three unique operations: "Change status", "Delete all jobs" and "Set default". Change status allows you to hold all the jobs in the queue, to prevent them from printing yet. Delete all jobs appears only when there are jobs to be deleted. Set default selects which printer is used when one is not specifically selected.

A printer is a container object, and it contains job objects. A printer has three views: Settings, Icon, and Details.

In the Icon View, each job object is displayed as an icon. A pop-up menu may be brought up for a job object in the usual fashion. Through this menu, you can hold, release, restart, or delete the job. You can also force it to be the next one to be printed. Each job also has two views that may be opened, Settings and Job Content. The latter brings up the system editor. The settings notebook has two pages, Printing options and Submission data. Printing options allows you to view and alter the job's priority and the number of copies to be made. It also shows the job's position in the queue and its current status. The submission data view shows you the job's size and date and time of creation, and also shows you the printer driver object to be used. You may alter the printer driver's settings for just that job by using its pop-up menu.

In the Detail view, each job in the queue is displayed as a line of textual information. A pop-up menu is still available, by clicking on a line.

The Settings view is a notebook with 7 pages: View, Printer driver, Output, Queue options, Print options, Window, and General.

The View page determines the default view that comes up when double-clicking the printer, and the printer's physical name.

The Printer driver page shows the set of installed printer drivers (and the one used by this printer), and allows you to bring up the Job properties dialog box for the driver. All icons you see on this page are true objects. They have a pop-up menu, and they can be dragged onto either printer objects or the shredder.

The Output page selects to which serial or parallel port the printer is attached, or whether output is to be directed to a file. The ports you see, serial and parallel, are true objects. The ports currently assigned to a printer (any printer) show in-use emphasis. They also have pop-up menus and a settings view. The settings view for a parallel port allows you to set the timeout value, and the settings for a serial port allows you to set that and also the baud rate, parity, and other serial port type stuff.

The Queue options page mainly selects the queue driver. All icons you see on this page are true objects. They have a pop-up menu, and they can be dragged onto either printer objects or the shredder.

The Print options page specifies a separator file (used to provide a separator page between print jobs), and when during the day this printer may print (remember: logical, not physical printer).

A file may be printed by dragging and dropping it on a printer.

It's not obvious how to install a new printer, especially one that requires the installation of a new printer driver. Here's the procedure: If you're installing a new printer, you won't find its driver in step 5 above. You must first install it: bring up the pop-up menu for any existing driver, and select "Install..." to get an installation dialog.
 * 1) Open Templates folder.
 * 2) Drag Printer from folder to desktop.
 * A dialog box pops up automatically.
 * 1) Enter printer's name.
 * 2) Select a serial or parallel I/O port.
 * 3) Select desired printer driver.
 * 4) Customize driver and I/O port via their settings view.
 * 5) Push "Create another" button.

If the new printer requires a queue driver as well, you must first finish creating the printer, then open the printer's settings view, go to the Queue options page and select the desired queue driver. If a new queue driver is also needed, bring up the pop-up menu for any of the listed queue drivers, and select "Install..." to get an installation dialog.

Folders
Every folder corresponds to a directory in the file system. The desktop is a special type of folder, and in reality is \OS!2_2.0_D. The top-level folders on the desktop are subdirectories of this directory.

A folder may contain any kind of object. Objects which are data files are real files residing in the file system directory corresponding to the folder. Other types of objects, known as abstract objects, are stored in the OS2.INI file. There are also transient objects, whose storage is the responsibility of the application which defines them.

Some information about a folder is also kept in OS2.INI; other information is stored in the extended attributes of the folder's directory.

The pop-up menu for folders contains three unique operations: Refresh, Find..., Select ->, Arrange, and Sort ->.

Refresh updates any open views to reflect the current contents of the folder. It is generally unnecessary. WPS watches out for any new or deleted files and will refresh the relevant views automatically (although it may take a few seconds for this to happen). Still, WPS can't detect all possible changes, so refresh is provided just in case.

Find will search the folder, and optionally any sub-folders, for objects meeting selected criteria. It will create a new folder on the desktop, called "Find Results", which contains shadows of all objects found. Shadows are yet to be covered, but you may safely shred this folder without destroying your objects.

Select will give you the option of selecting or deselecting all objects in the folder.

Arrange will neatly arrange all the icons in the folder's window. There is a minimum icon spacing, but icons will always be spaced far enough apart so that their names don't overlap.

Sort also does an arrange, but only after reordering the objects according to the selected criteria. The default is to sort by name. See the Sort page in the settings notebook for more sorting capabilities.

A variant of the folder is a "work area". A folder becomes a work area by the checking of a settings notebook's File page option. A work area is identical to a folder except: when a work area is minimized, all objects contained within it are also minimized; when a work area is restored, all objects within it also have their open views restored; when a work area is closed, all objects contained within are closed; when the work area is subsequently re-opened, all objects within it which were open at the time the work area was last closed automatically re-open. The usefulness of work areas is self-evident.

A folder has four different views: Icon, Tree, Details, and Settings. Any or all may be open simultaneously. Some of the settings are specific to a view; these are described under the appropriate view. The title bar of an open view is of the form, "object name - view type".

Icon view
This is the default view. Each object is an icon, which may be positioned at any arbitrary position within the window.

The first View page of the settings notebook allows you to customize the icon view's format, icon display, and font.

There are three formats: The icon size and font can be independently customized for each of the three formats. Any font and point size may be selected. Icons may either be normal (default) or small size. In flowed and non-flowed modes, icons can be suppressed altogether.
 * Non-grid (default). Icons can appear at any arbitrary position within the window. Similar to Windows Program Manager groups.
 * Non-flowed. A single column of icons, with the names to the right of their respective icons. Similar to Desktop Manager groups.
 * Flowed. Multiple columns of icons, with names to the right. Similar to the DOS 5 shell, if icons are suppressed.

Tree view
The tree view shows the contents as a directory tree, similar in fashion to what the old File Manager did. The folder is at the root of the tree. Subtrees can be collapsed or expanded. The icon and name for each folder (subdirectory) is displayed. The pop-up menu for these folders may be accessed in the normal fashion, allowing you to open or manipulate them.

The second View page of the settings notebook allows you to customize the tree view's format, icon display, and font. The icon display and font are customized as for the icon view. The format may be either "lines" or "no lines". In lined mode, the tree structure is emphasized with the drawing of lines.

Details view
The details view uses one line for each object. The view is split vertically into two panes. The left pane shows the object's icon and descriptive name. The right pane gives details on the object. The boundary between the panes is adjustable.

The third View page of the settings notebook allows you to customize the details' display. You can select the font and which details get displayed. The details displayed may be based on the object's type, but this doesn't work in any useful way except for file-system objects.

The pop-up menu for an object within the details view may be brought up in the usual fashion, by clicking on the icon or anywhere else on the detail line.

Settings
In addition to the View page, described above, there are six other pages in the settings notebook: Include, Sort, Backround, Menu, File, Window, and General.

The Include pages allows you to select which objects will be displayed in the views. The first page specifies the selected objects' type and name. The second page specifies addition criteria for file system objects. For example, one may select all files created since 4/1/92 AND have the hidden attribute OR are equal to 100 bytes in size. (CUA note: "include" should be an attribute of a view, not of the entire object as WPS has implemented it).

The Sort page determines which attributes appear in the Sort -> submenu in the folder's pop-up menu. It also determines which attribute is the default sort order. You may also specify that the folder is to *always* maintain sorted order.

The Backround page selects the backround for the views. You can either select a color or a bitmap image. By default, bitmaps from \OS2\BITMAP (on the boot partition) are shown in the listbox.

The Menu page allows customization of the pop-up menu. You may add additional entries to the "open" submenu, or create entirely new submenus. The default entry for "button style" submenus may be altered via the Settings... pushbutton.

The File pages (there are three of them), provide the information that used to be provided by the old File Manager: descriptive and physical names; created, modified, and last accessed time and dates; data and extended attribute sizes; attribute flags; subject, comments, key phrases, and history information. Some of these cannot be provided for files residing on a FAT file system.

The Window page determines the appearance of the minimize button and the action taken when it's pressed. By default, it has the "hide" appearance and pressing it hides the view.

Shadows
Shadows are aliases for objects. A shadow is identical to the object it shadows in all respects, except one: deleting a shadow does not affect the object it shadows, while deleting an object causes the deletion of all its shadows.

Shadows are visually distinguished from their objects by using a different color for displaying their name: a shade of gray. A shadow's pop-up menu differs in that it has an additional operation, "Original ->". The submenu has three operations, Locate, Copy..., and Delete....

The Locate operation will cause selection of the original object. If necessary, its containing folder will be opened or resurfaced so that it's visible.

The Copy... operation brings up a copy dialog box for the original object. The effect is as if you selected Copy... for the original object.

The Delete... operation deletes the original object, and all shadows of it. The effect is as if you dragged the original object to the shredder.

Shadows are not CUA '91 compliant, and are a major area of deviation. CUA '91 has reflections, not shadows. The difference is that there is NO difference between all reflections of an object, while with shadows there is a distinction between an object and a shadow. In UNIX-speak, an object is an i-node, a reflection is a file system link, and a shadow is a symbolic link. (When I think of a good non-UNIX analogy, I'll include it).

Window List
The Window List replaces the old Task List. It has an entry for each object that's in use or PM application that's running. When an object has multiple views, those views are listed indented under the object itself.

A pop-up menu can be brought up on a Window List entry by clicking with the MB. This menu allows you to bring up help information, surface the view or application, to hide or close (terminate) it, or to tile or cascade it.

Note that several entries can be selected simultaneously, and that the pop-up menu will apply to *all* selected entries, and *only* selected entries.

The Window List can be brought up via any window's system menu, by typing CTRL-ESC, or by clicking both MB and SB on an empty spot on the desktop.

Minimized windows
No, your eyes do not deceive you. An icon no longer appears when you minimize a window. Why? Because otherwise you'd have two icons for the same object with completely different properties. Non-gurus have difficulty dealing with this, so CUA '91 discourages minimized icons.

So how do you bring back a minimized window? Method two works because, unlike before, it doesn't start an application if it's already running. You can tell if its running because, if it is, its icon will display in-use emphasis (cross-hatched backround).
 * Use the Window List.
 * Double-click on the object's icon.

However, you can bring back minimized icons using the System object to change the relevant system setting. The icons will go to the bottom of the screen as usual, but will have a box drawn around each icon, thus distinguishing them from objects. You can also customize this behavior on an object-by-object basis.

Actually, CUA prefers use of the term "hide" to "minimized" if no minimized icon is to appear. System menus have both operations in them now, but only the relevant one will be enabled.

WPS restarts
If the WPS process crashes and burns, a new one will be started. In previous versions of OS/2, if the Desktop Manager died you had little choice but to reboot. Now, you may be able to continue from a WPS crash as if nothing happened.

It's a little disconcerting when it happens. All windows belonging to WPS will close. Non-WPS processes and applications are oblivious to what's going on, but you won't be able to interact with them until WPS is running again.

WARNING: you may need to hit RETURN to get WPS restarted.

After all traces of the old WPS process have been cleaned up, the system starts up a new WPS process. The new process will act as if the system just booted, meaning that anything in the Startup folder will be opened again, even if it survived the WPS crash. They will still appear in the Window List.

WARNING: all processes and applications which do survive the WPS crash will find their connection to WPS objects severed. You'll no longer be able to surface them by double-clicking their icon, for example. Indeed the icon won't show open emphasis, and double-clicking it opens a new instance.

Alternative shells
No, you can't go back to the old Desktop Manager. But there *are* alternatives to using the Workplace Shell if you find it unacceptable for whatever reasons.

The simplest alternative is to run without a graphical user interface at all. There's no law that says you must run Presentation Manager. Indeed, when you boot the OS/2 installation disk, you are booting OS/2 sans PM.

To eliminate PM and WPS, replace PMSHELL.EXE with CMD.EXE in the PROTSHELL statement in the CONFIG.SYS file. The system will come up with a single full-screen session. You will not be able to start other sessions, meaning you cannot run DOS and Windows applications. Nor can you start PM or WPS applications. The START command will refuse to work, but DETACH will work. However, you'll be rewarded with snappy response times and a miniscule swap file.

You can bring up PM and WPS at any time by executing PMSHELL from the command line. Once you do this, however, you lose access to the original full-screen session; even though it's still running, you cannot go back to it.

There's no way to do a proper shutdown either. If you're using lazy-writes, on either FAT or HPFS, the best you can do is to CTRL-ALT-DEL. This command to reboot is caught by the kernel, which permits the file systems to flush their buffers before allowing the reboot to take place.

But what if you still want PM, DOS sessions, and all the rest? No problem. Any PM program may be used as a shell instead of WPS. In CONFIG.SYS, there is a line which looks like this: SET RUNWORKPLACE=C:\OS2\PMSHELL.EXE Replace PMSHELL.EXE with the PM program you want to use instead as the shell (but do NOT replace it in the PROTSHELL statement). You can use CMD.EXE here as well. Indeed, let's assume you do so...

When the system comes up, you'll see a single windowed OS/2 command session on the PM desktop and nothing else. The window will have the title, "Workplace Shell", for some strange reason. You can launch PM applications, DOS sessions or applications, Windows applications, and other OS/2 command sessions via the START command. Some other points worth noting:
 * The Window List can only be accessed by either CTRL-ESC or the System Menu of a window.
 * There's no way to do a proper shutdown. CTRL-ALT-DEL is the only option.
 * If you exit the original windowed OS/2 command session, it will be restarted (just like WPS gets restarted when it crashes).
 * Windows will minimize to the desktop.

Supplied objects
OS/2 2.0 comes with many objects. The major objects are described in the following sections. The descriptive path for each object is provided, starting from the desktop.

Desktop
The desktop is a special kind of folder. What you see occupying the entire display is its icon view. You can also open the tree and details view of the desktop if you wish; these will appear as normal windows.

The desktop's pop-up menu has additional operations in it not present for normal folders: Lockup now, and Shutdown. It lacks Window ->.

Shutdown performs a system shutdown.

WARNING: you *must* perform a shutdown to save the state of the WPS, regardless of whether you're using FAT or HPFS file systems. The only way to save the state of a folder is to close it, and the only way to close the desktop is to perform a shutdown. If you do not, you may lose icons and other nasty things might occur.

The desktop is not just a folder, but also a work area. Hence closing the desktop, via Shutdown, closes everything else automatically, and arranges for them to open again when the system reboots.

Lockup now will lock up the system until a password is entered.

The settings notebook for the desktop has 3 additional pages under Lockup. It allows the specification of automatic lockup, and how many minutes of keyboard idleness before it engages, what bitmap to display when locking up the system, and the password required to unlock. If you do not specify a password before locking up manually, WPS will ask for one. You will be prompt for a password immediately upon selecting automatic lockup.

Information
A folder containing the OS/2 Command Reference, REXX information, OS/2 Tutorial, and Glossary. The first two use the familiar VIEW command, and are very similar to their OS/2 1.3 counterparts. The Glossary is the same type of object as the Master Index, described below.

This folder will also contain a shadow of a README file, containing important last-minute information. The file itself resides in the root directory.

Master Index
An index object scans the help files in the directory specified by an environment variable, collects their indexes, merges them together, and displays them. The Glossary object uses the GLOSSARY variable, while Master Index uses HELP. The settings notebook specifies the environment variable used by the object.

The only other view is List. It brings up a notebook, displaying the merged index, with tabs for each letter A through Z. You can also scroll through the list.

Double-clicking on an index entry brings up a new window, which shows the desired topic from the appropriate help file. Embedded hyperlinks within the help text work as usual.

You may use the Search topics button or menu operation to locate a subset of the index entries containing a desired string.

Shredder
Any object dragged to the shredder will be destroyed. If a folder is dragged to the shredder, all subfolders will be destroyed also.

By default, a confirmation will be requested for each folder and object destroyed. There are system options to disable these confirmations (see System object).

OS/2 now has an undelete capability. It is activited by the setting of the DELDIR environment variable, which is not set by default. Files can be retrieved via the UNDELETE command in a command window. See the command reference for more information.

This undelete capability is provided by the file system itself, and not by the Shredder or WPS. Only files can be undeleted, not other kinds of objects.

The shredder will refuse to shred itself via drag and drop. There is no way to destroy any extra shredders you may create. Other types of objects may also refuse to be destroyed. There is no way to destroy them either in this release.

Templates
Templates is a special type of folder. It always contains at least one template for every object type (known to WPS) that has defined a template.

To create a new instance of an object type, drag its template from this folder to where you want the new object to reside. Either a "move" or a "copy" will work; in either case the template remains where it is.

Note: Workplace Applications are expected to provide templates for any object types they define.

If the template is for a program or printer, the new object's settings notebook will open immediately.

Any object can be turned into a template. Bring up the settings notebook, turn to the General page, and check "template". The icon displayed will change: the normal icon will be shown reduced in size against a "tear-off pad" backround. Any object created from a template will inherit the settings of the template (except for the template attribute itself, naturally).

OS/2 System
A folder whose sole purpose is to contain other useful folders.

OS/2 System -> Command Prompts
A folder containing program objects for creating command prompts, of either the DOS or OS/2 variety, windowed or full-screen, or to bring up a full-screen Windows session with the Program Manager active.

If you want multiple sessions of a given type, you have two choices. The DOS settings for the Windows Full-Screen session have not been optimized - they are the default DOS box settings. You want to increase the number of file handles to at least 30, and eliminate XMS and EMS memory (reduces system load and swap file size). By default, you have 2mb of DPMI memory; this is what the Windows session will use. You may wish to increase this number. You may also wish to turn off 8514 I/O trapping and turn on window switch notification. This will *significantly* improve the performance of the Windows full-screen session.
 * Make multiple copies of the object, one for each potential session.
 * Bring up the object's settings view, go to the Window page, and under "Object open behavior" select "Create new window".
 * Use the START command from a command prompt. No object can beassociated with the resulting session.

OS/2 System -> Startup
A special folder, whose contents are opened upon the starting up of the Workplace Shell.

To use, create a shadow of the relevant objects and place them here. Good candidates are the System Clock, Pulse, and an OS/2 windowed session. Always use a shadow, do not move or copy.

If necessary, you can prevent the Startup folder from doing its job by pressing and holding the left Ctrl, left Shift, and F1 keys. Press them when the white screen first appears during system startup and hold them until the icons appear on the desktop.

OS/2 System -> Minimized Window Viewer
The Minimized Window Viewer (MWV) is a specialized folder object, containing only minimized applications. Unless the MWV is open, they are out of sight. There is only one MWV object; you are not allowed to create copies of it.

Minimized applications are objects within the MWV, but with restrictions. You may not move them to another folder. Other types of objects may not be moved to the MWV either, for that matter. But you can select them and they do have pop-up menus. The pop-up menu allows you to restore, maximize, or close the application.

The MWV has a subset of the functionality of a folder. It does not have a tree or details view. The settings notebook only has the View, Sort, Backround, File, and General pages. Only the first page of the View and Sort pages is present.

OS/2 System -> Start Here
A program providing useful information to novice OS/2 users on how to perform common tasks.

OS/2 System -> System Setup
A folder containing objects which perform useful system setup functions.

OS/2 System -> System Setup -> Spooler
The Spooler specifies whether spooling takes place and if so in which directory the queues are kept.

The pop-up menu allows you to enable or disable spooling.

The settings notebook allows you to specify the spool path (default \SPOOL).

OS/2 System -> System Setup -> Color Palette
The Color Palette object permits you to customize the colors of various things via drag and drop.

There are two views, Settings and Palette. The settings view only contains a Window and General page. The palette view is a window with a bunch of circles, each a different solid color. You can edit the color of a circle.

Now, try this: drag a non-white circle and drop it on the backround of a folder. You guessed it: the backround color of the folder will change. To change the icon text color instead, hold down the CTRL key while dropping.

Unfortunately, there aren't too many things which *really* understand having a color dropped on them. Any standard PM control or window can accept a color change, but it takes effort on the part of an application to remember them for the next time it runs.

OS/2 System -> System Setup -> Font Palette
The Font Palette object permits you to customize the fonts of various things via drag and drop, and to install new fonts or delete unwanted fonts.

There are two views, Settings and Palette. The settings view only contains a General page. The palette view is a window with a bunch of boxes, each with the name and size of a font. You can edit the font specification.

Now, try this: first select a font then drag and drop it on some icon text or a window title bar. Menu bars also understand having a font dropped on them, as do the System Clock and context menus.

Unfortunately, there aren't too many things which *really* understand having a font dropped on them. Any standard PM control or window can accept a font change, but it takes effort on the part of an application to remember them for the next time it runs.

To add or delete fonts, you must first bring up the edit font dialog box. Note: any newly installed fonts will not be recognized by the font palette itself, even though they are usable by everyone else (bug).

OS/2 System -> System Setup -> Scheme Palette
The Scheme Palette object allows you to customize various aspects of a window's appearance, including such components as: and more! 40 customizable colors altogether.
 * Border width, both horizontally and vertically.
 * Border color, both active and inactive.
 * Title bar colors, both active and inactive.
 * Static text colors, forground and backround.
 * Menu colors.
 * Window colors.
 * Help colors.
 * Button colors.
 * 3D hilight colors.

There are two views, Settings and Palette. The settings view only contains a General page. The palette view is a window with a collection of schemes.

As with the Font and Color palettes, the Scheme palette already comes with predefined schemes. To apply a scheme to a window, simply drag and drop. To apply a scheme to *all* windows, drag and drop to the desktop while pressing the ALT key; however, any window to which a scheme has been explicitly applied will not adopt the new scheme.

You may edit a scheme. A dialog box will graphically show all the components of a window. You may select a component by either using the drop-down list box and "Edit Color..." button on the right. Or, you may click the MB button directly on a component, popping up a menu of the components in the vicinity of the click. Select a component from the menu to edit it.

OS/2 System -> System Setup -> Country
The Country object allows you to customize the system for international conventions. It only has a settings view, with five pages: Country, Time, Date, Numbers, and General.

OS/2 System -> System Setup -> System
The System object allows you to customize the behavior of certain aspects of the system. It only has a settings view, with six pages: Confirmations, Title, Window, Print screen, Logo and General.

The Confirmations page allows you to enable or disable the confirmation dialogs you get when you attempt to shred folders and objects; rename files with extensions; or copy, move, or create shadow. It also controls the use of the progress indication dialog for copy, move, or create shadow.

The Title page controls what happens when a folder finds itself with non-unique names: either prompt for appropriate action, auto-rename, or replacement.

The Window page allows you to enable or disable the animation that occurs when a window is opened or closed, to specify how minimized windows are to be handled, to specify the appearance of the minimize button, and to specify what happens when opening a view of an object that already exists. The default is to resurface the view, but you have the option of creating a new view instead (which is what OS/2 1.3 would do).

The Print screen page enables the PRINT SCREEN key for printing open windows or even the entire screen. To use, first place the cursor over the window you wish to print (or over an empty spot of the desktop to print the entire screen) before hitting PRINT SCREEN.

The Logo page allows you to specify how long applications should display their product information window when they start up, or prevent them from displaying it at all.

Changes in settings take effect immediately.

OS/2 System -> System Setup -> Sound
The Sound object allows you to enable or disable the warning beep. It only has a settings views.

OS/2 System -> System Setup -> Migrate Applications
The Migrate Applications program object runs the same program you saw during installation which locates and migrates DOS and Windows programs on your hard disk.

OS/2 System -> System Setup -> Device Driver Install
This is a program object for the device driver installation program.

OS/2 System -> System Setup -> Mouse
The Mouse object allows you to customize the behavior of the mouse. It only has a settings view, which has four pages: Timing, Setup, Mappings, and General.

The Timing page allows you to set the double click interval and the tracking speed. Changes take effect immediately. Indeed, the mouse's tracking speed will actually change as you manipulate the slider control for the tracking speed.

The Setup page permits you to configure the mouse for right- or left-handed people.

The Mappings page allows you to define which combination of mouse buttons, single/double clicking, and shift/control/alt keys perform selected functions. Right now, you can configure which button performs drags (default MB), which displays the Window List (default SB and MB), which displays pop-up menus (single-click MB), and which edits icon and title text (ALT-SB).

OS/2 System -> System Setup -> Selective Install
This is a program object for the graphical installation program you used to install OS/2. You can use it to install features you didn't install initially. One small hitch: it will ask for almost all the disks to be inserted, even when there's nothing to be loaded from a particular disk.

OS/2 System -> System Setup -> Keyboard
The Keyboard object allows you to customize the keyboard configuration of the system. It only has a settings view, which has four pages: Timing, Mappings, Special Needs, and General.

The Timing page allows you to customize the repeat rate, repeat delay rate, and cursor blink rate using slider controls. A test box is provided.

The Mappings page provides keyboard equivalents to certain mouse operations. Only two mappings are provided. Displaying pop-menus is by default SHIFT-F10, editing title text is SHIFT-F9.

The Special Needs page allows configuring the system for use by people who have special requirements. For example, if you cannot press several keys simultaneously, such as shift and a letter, you can set things up so that you don't have to. Four different slider controls are provided.

OS/2 System -> System Setup -> System Clock
The System Clock object displays the current time, and can also change it. Its settings notebook has four pages: View, Alarm, Date/Time, Window, and General.

The View pages determine the appearence of the clock. You can select digital or analog, time only/date only/both, and hide/show title bar. For analog mode, you can select hour marks, minute marks, and a second hand. The second page customizes colors and fonts.

The Alarm page allows you to set an alarm. You can specify both a time and date when the alarm will sound, and whether you'll get an audio alarm or message box.

The Date/Time page allows you to change the system date and time. The hours, minutes, seconds, month, day, and year are alterable via spin controls. The current date and time is always displayed (the controls are updated literally every second).

Note: when the title bar is supressed, the clock cannot be moved closed via the menu. Nor can you open the settings view from the clock view; you must go back to the System Clock icon in the System Setup folder.

OS/2 System -> Drives
The Drives object is a type of container object. When you open it, it sort of looks like a folder in that there is a disk object for each logical drive in the system. The first time you open it after each boot of the system, the contents will be updated to reflect the logical drives currently known to OS/2.

Drives has the same views and settings notebook as a normal folder. Its pop-up menu has an additional operation, Create Partition..., which brings up FDISKPM.

The individual disk objects are another variant of container object. Again, there are the four different views, but the settings view lacks the File pages and has a new Details page.

The Details page shows the disk's file system type, volume label, volume serial number, total allocation units, available allocation units, bytes in each allocation unit, totals bytes on disk, and available bytes on disk.

The pop-up menu for a disk object has additional operations not found on a folder: Check disk, Copy disk and Format disk. Check disk will run a PM version of CHKDSK, which draws a pretty pie chart showing how the disk is being used. Note: some of these operations may not be present on all types of disk objects. Copy disk, for example, is only present on floppy drives.

If you wish, you can make copies of the disk objects and put them elsewhere. A disk object for the A: drive is put on the desktop by default during installation.

OS/2 System -> Games
OS/2 comes with games! What is the world coming to!

I'll just briefly describe them here:

OS/2 Chess, which features fancy graphics and the ability to play someone across a LAN.

Jigsaw, which allows you to turn a bitmap into a jigsaw puzzle. Remember, use the MB to grab the pieces and move them.

Cat and Mouse, in which a cat chases the mouse pointer around the screen.

Scramble, get 15 pieces in a 4x4 matrix in the proper order.

Reversi.

Solitaire - Klondike.

OS/2 System -> Productivity
There are about two dozen productivity applets: Picture Viewer, Clipboard Viewer, Database, Data Update, Sticky Pad, Spreadsheet, Tune Editor, To-Do List, To-Do List Archive, Monthly Planner, Activities List, Daily Planner, Planner Archive, Calendar, Alarms, Note Pad, Calculator, PM Chart, Pulse, Icon Editor, Seek and Scan Files, Enhanced Editor, and PM Terminal.

The To-Do List, Planner stuff, and a few others are tied together.

Pulse displays a graph showing the CPU load of the system.

Icon Editor can also edit (and create) cursors and bitmaps.

The Enhanced Editor is far better than the old System Editor. Try it. One caveat: it splits lines longer than 255 characters (important with some CONFIG.SYS).