OS/2 Warp 4: New Workplace Shell

By: Lewis Boehm, Rick Efruss, Brad Fraley, Peter Magid, Ann Mizell Robinson, Ira Schneider & Les Wilson

'Many new features and enhancements are in OS/2 Warp 4's Workplace Shell. Some of them are obvious, such as the new colors, fonts, icons, and bitmaps used for the desktop, while others are more subtle functional changes. This article discusses the new Workplace Shell's major features in detail.'

The Workplace Shell, the outer layer of OS/2 Warp, provides easy access to programs, utilities, and system operations. The Workplace Shell has evolved from its humble beginnings as a Program Selector in OS/2 Standard Edition 1.0 to a graphical, object-oriented user interface introduced in OS/2 Warp. Now, along with OS/2 Warp 4, OS/2's major new release, the Workplace Shell continues to improve, with many new features and enhancements.

A New Look
In OS/2 Warp 4, the desktop, folders, and windows all look different from previous versions of OS/2.

As Figures 1 and 2 illustrate, the standard Workplace Shell objects are reorganized into a different set of folders to make it easier to find the objects and to make the desktop less cluttered. The redesigned standard controls used to construct dialogs and other windows give OS/2 Warp 4 a more three-dimensional look. And the icons for the standard Workplace Shell objects have been redrawn.



The Properties notebook, formerly called the Settings notebook, is totally redesigned see Figure 3). The most frequently used pages are now at the front of the notebook. The fields within the pages are moved around to fit the new notebook orientation. And the notebook control is redrawn, with a set of colored tabs at the top representing a set of dividers in a filing cabinet.



The open views of a folder also look different ( see Figure 4). From a menu bar below the folder's title, you can select pulldown menus to perform the functions that were formerly hidden in the folder's system menu. These functions are grouped so that each pulldown menu is relatively small, making it easier to find the option you want to invoke. The streamlined popup menu for the folder makes it easier to find the options on the menu. The folder's title bar now contains a close button, enabling you to close the view by just single-clicking on this button instead of double-clicking on the system menu icon.



Fonts used for icon labels, window text, title bar text, and menu text have been replaced to make the text on the desktop easier to read.

New default colors for the desktop background and folder elements produce a more pleasant-looking user interface. Also, OS/2 Warp 4 comes with a new set of background bitmaps, including the new default desktop and lockup backgrounds.

Across the top of the screen in Figure 1 is the WarpCenter, a new feature in OS/2 Warp 4. WarpCenter (discussed later) lets you conveniently access frequently used objects and tasks.

Scheme Palette
OS/2 Warp 4's Scheme Palette looks very similar to the Scheme Palette for OS/2 Warp 3.0; however, looks can be deceiving.

The OS/2 Warp 4 Scheme Palette, shown in Figure 5, has fewer predefined schemes, each containing sets of complementary colors as well as new system fonts. For some schemes, the overall theme is emphasized with a desktop background bitmap and an appropriate sound scheme.



The OS/2 Warp 4 scheme contains the colors, fonts, bitmaps, and sounds that you see when you first install OS/2 Warp 4. If, after customizing the palette, you want to return to the default setup, just hold the Alt key and drag and drop the OS/2 Warp 4 scheme onto the desktop. Other schemes include:


 * OS/2 Warp 3.0--Colors, fonts, and bitmaps that were installed with OS/2 Warp 3.0.
 * Laptop LCD--Colors that look good on a laptop computer.
 * Monochrome--Black, white, and shades of gray (suitable for use on a monochrome display).
 * Custom--For you to customize any way you desire. The Custom schemes are not the same as the OS/2 Warp 4 scheme--the Custom schemes contain a background bitmap for folders.
 * Nature--Desktop background bitmap of a forested hillside near a lake, with coordinating colors for objects and text that show up well against this background. The Garden sound scheme is associated with the Nature scheme.
 * Space--Desktop background bitmap of a planet lit up by a nearby star, with coordinating colors to make objects and text easy to see. It uses the Space sound scheme.
 * Ocean--Desktop background bitmap of a rocky waterfront that blends into the sky in the horizon. Complementary colors and fonts make objects and text easy to read. The associated Ocean sound scheme completes the theme.
 * OS/2 Warp 4--Desktop background bitmap of OS/2 Warp, the OS/2 Warp 4 default colors and fonts for objects and text, and the desktop sound scheme.
 * Warped--Similar to the OS/2 Warp 4 scheme, except that it has a desktop background bitmap of a blue and white swirl.
 * Wall Street--Desktop background bitmap of green marble, with coordinating colors for objects and text.
 * Blueberry, Blush, Lilac, and Mauve--Corresponding colors for the desktop background, with colors for objects and text selected to fit with the color theme of the scheme.

The Scheme Palette contains a new customizable element, a sound scheme. (Refer to Figure 6.) You can now choose a coordinated set of system sounds. Sound schemes are discussed in the "Sound Schemes" section later in this article.



Drag-and-Drop Scheme Editing
So much for cosmetic changes. Remember we said that with the Scheme Palette, looks are deceiving? The Scheme Palette in OS/2 Warp 4 can now accommodate drag-and-drop when editing a scheme. This means you can open the Edit Scheme dialog box for a scheme and drop colors from the Color Palette, fonts from the Font Palette, or even schemes from the Scheme Palette into the sample window.

For example, suppose you like most of the OS/2 Warp 3.0 scheme but want to change a few things and retain the original scheme in case you decide to remove your changes. In OS/2 Warp 4, you can do this. Open the Scheme Palette and double-click on one of the Custom Schemes to open the Edit Scheme dialog box. Using mouse button 2, drag the icon for the OS/2 Warp 3.0 Scheme Palette into the middle of the sample window in the Edit Scheme dialog box. When you release mouse button 2, the Custom Scheme you were editing takes on all of the characteristics of the OS/2 Warp 3.0 scheme.

Suppose you want to change the background color for folders to cyan. Select one of the color palettes (Solid Color Palette or Mixed Color Palette) from the System Setup folder, and drag the color you want over the picture of the folder in the Edit Scheme dialog. When you drop the color, it becomes the background color of the sample folder in the scheme (see Figure 7).



When you drop a color onto an element in the sample window, you change the background color for that element. If you hold the Ctrl key while dropping the color onto an element in the sample window, you change the foreground color for that element. For example, if you drop a color onto the picture of the sample folder while holding the Ctrl key, you change the Window Text color. If you drop a color onto the text below the icon in the sample folder (that is, onto the label "Icon Text") while holding the Ctrl key, you change the Folder Icon Text color.

Similarly, you can open the Font Palette and drag a font over one of the sample windows to change the font for that window. However, because the Scheme Palette doesn't have a font corresponding to the text within a dialog box, dropping a font over the Dialog sample window has no effect.

You can even use this drag-and-drop facility to migrate an old, customized scheme from OS/2 Warp 3.0 to OS/2 Warp 4. Open the Scheme Palette in the System Setup folder within your Previous Desktop folder. Then open the Scheme Palette in the System Setup folder within your new OS/2 Warp 4 desktop. Double-click on one of the Custom Scheme icons to open the Edit Scheme dialog box. Drag the icon from your old Scheme Palette into the sample window in the Edit Scheme dialog box. The Custom Scheme now contains a copy of your old scheme. You can change the Scheme title to denote that this is now your customized scheme. You can make any changes you want to it, then drag it to the (current) desktop while holding the Alt key. You have now copied your old customized scheme to your OS/2 Warp 4 system.

Sound Schemes
As mentioned earlier, OS/2 Warp 4 introduces sound schemes. A sound scheme is a collection of sounds sharing a common theme that can be applied to a standard set of system events.

OS/2 Warp 4 provides four sound schemes: Desktop, Garden, Ocean, and Space. Desktop is the default sound scheme; it contains the standard sounds that are active when you install OS/2 Warp 4. The other sound schemes contain sets of sounds that coordinate with the theme of a scheme palette:


 * The Garden sound scheme associates with the Nature scheme palette. Its sounds include frogs, crickets, birds, hedge clippers, and a squeaking gate.
 * The Ocean sound scheme coordinates with the Ocean scheme palette and has sounds such as seagulls, boat horns, and rolling waves.
 * The Space sound scheme is appropriate for the Space scheme palette. Its weird sounds suggest science-fiction special effects.

To see which sound schemes are installed, go to the System Setup folder and open the Sound object. Select the Scheme tab (see Figure 8) to view a list of sound schemes that have been installed in the system. You can apply them by highlighting the desired sound scheme and clicking on the Apply pushbutton.



To hear a sample of the individual sounds that make up a sound scheme, select the Sound tab. (Refer to Figure 9.) In the System Events list, check that the {Try it} entry is highlighted. Then examine the Sound file list. The Sound file list is initially set to the system sounds directory (for example, C:\MMOS2\SOUNDS) and lists all the files and subdirectories within the system sounds directory. Scroll down the Sound file list until you see entries for the system sound schemes, which are located in subdirectories whose names correspond to the scheme names. (For example, the sounds for the Desktop sound scheme are located in the subdirectory \MMOS2\Sounds\Desktop and the entry in the Sound file list is labeled [Desktop]. Double-click on the subdirectory entry to get a list of files in that subdirectory. Then either double-click on an entry to play the sound, or highlight the entry and select the Play pushbutton.



To add your own sound scheme to the system, first decide which of your sound files to assign to the system events. The system events that can be assigned sounds are listed in Figure 10.

Figure 10 0	Warning		You select a disable item or receive a warning message 1	Information	You receive an information message 2	Error		You receive an error message 3	Open Window	You open an animated window 4	Close Window	You close an animated window 5	Drag		You pick up an object 6	Drop		You drop an object 7	System Startup	You start the system 8	System Shutdown	You shut down the system 9	Shred		You drop an object on the shredder 10	Lockup		You lock the desktop 11	Alarm Clock	The time of an alarm setting is reached 12	Printer Error	You receive a printer error message

After you assign a collection of sounds to the system events, your next step is to install this collection by updating the system initialization file.

One method of updating the system INI file is to use a REXX script such as the sample in Figure 11. To use the REXX script, follow the steps in Figure 12.

Figure 11  /*--	*/ /* SetSound.CMD	*/ /*	 Sets up a sound scheme by writing the appropriate	*/ /*	 entries into the specified system INI file. */ /* Syntax:	*/ /*	 SetSound  {filespec}	*/ /*--	*/ /* Set the sound scheme variables	*/ /*--	*/ Title = "MySoundScheme" KeyName = "PM_SOUNDS_MYSOUNDS"

Event.0 = 13 Event.1 = "?:\mmos2\sounds\mysounds\my_warn.wav" Event.2 = "?:\mmos2\sounds\mysounds\my_info.wav" Event.3 = "?:\mmos2\sounds\mysounds\my_err.wav" Event.4 = "?:\mmos2\sounds\mysounds\my_opnw.wav" Event.5 = "?:\mmos2\sounds\mysounds\my_clsw.wav" Event.6 = "?:\mmos2\sounds\mysounds\my_drag.wav" Event.7 = "?:\mmos2\sounds\mysounds\my_drop.wav" Event.8 = "?:\mmos2\sounds\mysounds\my_sstr.wav" Event.9 = "?:\mmos2\sounds\mysounds\my_ssht.wav" Event.10 = "?:\mmos2\sounds\mysounds\my_shrd.wav" Event.11 = "?:\mmos2\sounds\mysounds\my_lock.wav" Event.12 = "?:\mmos2\sounds\mysounds\my_alck.wav" Event.13 = "?:\mmos2\sounds\mysounds\my_prer.wav"

/*--	*/ /* Get the input arguments	*/ /*--	*/ Parse Upper Arg fSpec

/*--	*/ /*	Check if the REXX external functions are registered. /*	If not, then register them so we can use them	*/ /*--	*/ if RxFuncQuery("SysLoadFuncs") then do Call RxFuncAdd "SysLoadFuncs", "RexxUtil", "SysLoadFuncs" Call SysLoadFuncs end

/*--	*/ /* Set up the filespec for the INI file	*/ /*--	*/ if fSpec = "" then do IniFile = "SYSTEM" end else do /**/	/* Parse the input filespec into its component parts	*/ /**/	tDrive = filespec("drive",fSpec) tPath = filespec("path",fSpec) tName = filespec("name",fSpec)

/**/	/* Get the local drive and current directory	*/ /**/	LocalCurDir = directory LocalDrive = substr( LocalCurDir, 1, 1 ) lDrive = LocalDrive||":"

LocalDir = substr(LocalCurDir, 3) lDir = LocalDir||"\"

/*	*/	/* Set the INI file spec	*/ /**/	if tDrive = "" then tDrive = lDrive

if tPath = "" then tPath = lDir

IniFile = tDrive||tPath||tName end

/*--*/ /* Set the keys for the new sound scheme we"re adding	*/ /*--*/ results = SysIni( IniFile, "PM_SOUND_SCHEMES_LIST", Title, KeyName )

if results = "ERROR:" then do say "SetSound ERROR: Unable to set PM_SOUND_SCHEMES_LIST 					in the INI file" exit end else do say "SetSound: The following keywords have been set in			the INI file:" IniFile say "SetSound: PM_SOUND_SCHEMES_LIST ," Title "," KeyName end

/*--*/ /* For the KeyName, set the sounds for the events	*/ /*--*/ do i=1 to Event.0

Type = i-1 results = SysIni( IniFile, KeyName, Type, Event.i )

if results = "ERROR:" then do say "SetSound ERROR: Unable to set Type" Type "for the file" Event.i "in the INI file" end else do say "SetSound: System Event Type" Type " = " Event.i	end

end exit 0 /*--*/ /* End of REXX script	*/ /*--*/ 

Figure 12  1. Get a copy of the system INI file. For example, you could use the following commands:

C: CD \OS2 ATTRIB -S -R OS2SYS.INI COPY OS2SYS.INI D:\TMP\OS2SYS.INI

2. Edit the sample REXX script and set the keywords for your sound scheme:

Title = "MySoundScheme" Event.1 = "?:\mmos2\sounds\mysounds\my_warn.wav" Event.2 = "?:\mmos2\sounds\mysounds\my_info.wav" Event.3 = "?:\mmos2\sounds\mysounds\my_err.wav" Event.4 = "?:\mmos2\sounds\mysounds\my_opnw.wav" Event.5 = "?:\mmos2\sounds\mysounds\my_clsw.wav" Event.6 = "?:\mmos2\sounds\mysounds\my_drag.wav" Event.7 = "?:\mmos2\sounds\mysounds\my_drop.wav" Event.8 = "?:\mmos2\sounds\mysounds\my_sstr.wav" Event.9 = "?:\mmos2\sounds\mysounds\my_ssht.wav" Event.10 = "?:\mmos2\sounds\mysounds\my_shrd.wav" Event.11 = "?:\mmos2\sounds\mysounds\my_lock.wav" Event.12 = "?:\mmos2\sounds\mysounds\my_alck.wav" Event.13 = "?:\mmos2\sounds\mysounds\my_prer.wav"

3. Run the sample REXX script on the copy of the system INI file:

D: CD \TMP SETSOUND D:\TMP\OS2SYS.INI

4. Shut down OS/2 Warp 4 and reboot.

5. When "OS/2" appears in the upper left hand corner of the screen, press Ctrl+Alt+F1 to start Maintenance Mode.

6. When the Maintenance Mode screen is displayed, press F2 to start a command prompt.

7. Copy your updated system INI file to the system directory:

C: CD \OS2 COPY OS2SYS.INI OS2SYS.BAK COPY D:\TMP\OS2SYS.INI

8. Type PMSHELL at the command prompt to start the Workplace Shell. 

An alternate technique for updating the system INI file is to make a copy of the OS2SYS.RC file, add your changes for your sound scheme, and use MAKEINI.EXE to regenerate the system INI file when you have the system in Maintenance Mode at a command prompt.

WarpGuide
The User Interface Agent For years now, the graphical user interface (GUI) and object-oriented user interface (OUI) have raised the intuitiveness of the human/machine interface. For some users, the abstraction of an electronic desktop, menus, windows, and buttons are clear and easy to deal with; for others, they aren't. The use of this metaphor has been successful but only to a point.

Enter the role of the user interface agent. The computer familiarity gap among the user population is broadening; it now includes users who are not as adept at dealing with interface abstractions. This has made the job of designing user interfaces more difficult.

One expensive trend in user interface design is to create new, simpler, but less functional, interfaces. Another trend is to use an interface agent to narrow the gap between an interface's technology and a user's ability. The new Workplace Shell incorporates both of these techniques in a user interface agent named WarpGuide.

Theory of Design
Designed and developed jointly with an IBM Almaden (California) research team, WarpGuide is based on intelligent agent research at both IBM and Stanford University. It is designed to fill the gap between user and user interface by compensating for a variety of user differences such as experience, cognitive styles, learning modes, and control preferences. WarpGuide is based on four principles:


 * Proaction
 * Adaptation
 * User interface annotation
 * User interface substitution

To be proactive, WarpGuide automatically displays messages in cue cards when it thinks you have fallen below an expected level of performance. It does this so you don't have to ask or search for help. As you become more familiar with an interface, WarpGuide becomes less proactive. Finally, when it thinks you are familiar with an interface, it just puts a button on the title bar to indicate that cue cards are available.

Figure 13 shows a sample cue card and also shows the WarpGuide button in the top left corner of the Find Objects window.



To be adaptive, WarpGuide tracks what you do and keeps a model of your activity with an interface. As you gain experience with that interface, WarpGuide changes its cue cards and becomes less and less proactive. In other words, WarpGuide adapts the level of detail it gives you and the way it presents information to you, according to your skill level. If you are a novice user, WarpGuide helps you learn gradually and simply when you use an interface; if you are a skilled user, WarpGuide gives you more advanced assistance than it gives a novice user doing the same task.

User interface annotation is the technique that enables WarpGuide to communicate its messages by drawing them atop the user interface on the display screen. In this manner, WarpGuide provides guidance at the same time that the user interface is present on the desktop. This keeps your attention on the task at hand.

User interface substitution is another technique that WarpGuide uses to provide an alternate user interface for some tasks in the user interface. These simplified interfaces reduce a task's complexity. To do this, WarpGuide uses a special notebook-like interface that provides step-by-step guidance through a task. This is most useful for tasks where the benefits of simplicity and successful performance are more important than operational power and flexibility. (For an example, see Figure 14.)



How WarpGuide Works
Using these principles, WarpGuide can help users who have different thinking styles, analytical abilities, and computer experience to understand and use the abstractions in the Workplace Shell. And, because WarpGuide can adapt, it changes its behavior and guidance information as you gain proficiency.

Think of WarpGuide as a task mentor. It knows about hundreds of individual things in the Workplace Shell and uses cue cards to explain:


 * What things are
 * How they work
 * What certain options mean
 * Ways to use something that might not be obvious

Then, building on its knowledge, WarpGuide is set up to guide you through a dozen or so tasks such as installing a device driver, configuring WebExplorer servers, customizing a system, and creating a printer.

Over time, WarpGuide automatically changes the way it assists you with tasks. The first time you do something that WarpGuide knows about, it asks for your experience level (see Figure 15). WarpGuide uses your response to determine the technique to use and type of information to give you.



At the novice level, WarpGuide automatically puts up cue cards, highlights the part of the user interface you are using, and shades out unrelated parts that may be distracting. Information in the cue cards at this level is very basic and concrete. As you get better at a certain interface, WarpGuide stops the shading and automatic cue cards; eventually it just shows its "hailing indicator," the Warp-Guide button, in the title bar. At this level, assistance for a particular part of an interface is just a click away.

A WarpGuide folder located within the Assistance Center folder on the OS/2 Warp 4 desktop (shown in Figure 16) contains several Guidance objects that provide access to some of the tasks that WarpGuide knows about. The Printer and System Customization guidance objects employ user interface substitution. The others start the Workplace Shell user interface for a particular task.



In OS/2 Warp 4, WarpGuide is an active participant in the user interface. For learning new or infrequently done tasks, WarpGuide transforms the traditional assistance technologies of "Help System" into an integrated "Guidance" system. In turn, this brings the Workplace Shell another step closer to a system that can dynamically adapt to users and achieve a higher and more powerful form of human/computer interaction.

WarpCenter
Capitalizing on IBM's acquisition of Lotus, OS/2 Warp 4 incorporates an improved version of the Lotus SmartCenter as the OS/2 WarpCenter.

Similar to the Toolbar (originally called LaunchPad in OS/2 Warp 3.0), the WarpCenter provides a convenient place to access frequently used objects and system actions. For instance, there are buttons for Window List, Lockup, Find, and Shutdown. In the WarpCenter, groups of objects are organized in a series of trays through which you can rotate. You can access options in the WarpCenter via its popup menu. WarpCenter objects also have popup menus that allow access to their actions and options.

You can configure the WarpCenter either at the top (the default) or bottom of the screen. The default option prevents Presentation Manager windows and the desktop from overlaying the WarpCenter space on the screen. If you prefer, you can let the WarpCenter float and have it rise to the surface when the mouse enters its logical window area. Figure 1 shows the WarpCenter at the top of the screen.

The WarpCenter provides several new functions that did not exist in the Toolbar:


 * The Window List displays as a menu instead of a separate window. You can still access the Window List using either Ctrl+Esc or the desktop menu.
 * Folder objects display their contents as menus instead of opening the folder window. If you want to open the folder into a view, you have to use the folder's popup menu.
 * An OS/2 Warp button lets you use menus to navigate the contents of the desktop.
 * A monitor area allows you to view your system activity level and to keep an eye on the amount of space available on each of your drives. You cycle through each of the monitors by repeatedly clicking on the monitor area with mouse button 1.
 * A second area allows laptop users to cycle through displays of the current time, current date, a timer, and a battery meter.

The OS/2 Warp 3.0 Toolbar is still available in the OS/2 System folder. If you want to reconfigure the system so that the Toolbar (instead of the WarpCenter) opens when you double-click on the desktop's blank area, change the SET AUTOSTART= entry in the CONFIG.SYS file from WARPCENTER to TOOLBAR. If you specify both, they will both open when you double-click on the blank area. An example of the syntax for specifying both WarpCenter and the OS/2 Warp 3.0 Toolbar is:

SET AUTOSTART=PROGRAMS,TASKLIST,FOLDERS,WARPCENTER,TOOLBAR

Note: In a SET statement, no blank spaces are permitted other than the blank space after the word SET.

Folder Enhancements
OS/2 Warp 4 has many enhancements to the way you interact with folders. These enhancements give you better control over the layout and look of folders, as well as the behavior of objects within folders.

A noticeable new feature in OS/2 Warp 4 folders are the pulldown menus. These menus contain many of the same options that were in the popup menus; however, the pulldown menu options are arranged into logical groups (see Figure 4).

The menus also contain extra functions. The menu labeled Selected contains actions that operate on all objects that are currently selected in the folder.

You will also find the standard Edit pulldown menu. This menu contains another new feature in OS/2 Warp 4 folders: the Paste operation. Paste allows you to copy most types of data from the clipboard into a new object in a folder. When you select Paste, you see a dialog box in which you can title the object and select an available object class for any recognizable render formats. The render format identifies the data type and how it is presented. (The render formats are also listed and selectable.) Once you have made your choices, click on the Paste button in the dialog box to create the object in the folder.

Pasting is a useful way to gather information for later use. Some examples of data you can paste are paragraphs of text or collections of bitmap images.

Note: The pulldown menu feature can be set within the Properties notebook of a folder. Select the Menu tab, go to Page 2 of 2, and select or deselect the checkbox labeled Display Folder Menu Bars.

Another new feature of OS/2 Warp 4 folders lets you switch from one view of a folder to another. Prior versions forced you to open a new view of the folder if the current view was not the one you wanted. This caused the overhead of creating, populating, and eventually cleaning up an additional view. If a folder contained many objects, this overhead became significant. Now, in OS/2 Warp 4, you can switch within a single view among the Icon, Details, and Tree view formats.

In Icon view, you were always able to select three layout options: Non-grid, Flowed, and Non-flowed. In OS/2 Warp 4 (in the OS/2 System folder's Properties notebook, View tab, Icon View, Page 1 of 3), the names of these layouts are changed to As Placed, Multiple Columns, and Single Column, respectively.

There is also a fourth layout called Gridded. This layout lets you view your folder's objects laid out onto a grid. By default, the system gives you a grid spacing that best fits the objects that are in the folder.

You can customize the grid spacing. In the folder's Properties notebook, View tab, Icon View, Page 1 of 3, press the Icon Spacing" button. You see a dialog box (shown in Figure 17) that lets you change both the horizontal and vertical spacing. (The values are in pels, so a change of 1 or 2 makes a very small difference.)



In Figure 17, the Spacing Preview window shows you the relative grid spacing of nine sample objects within a sample folder. When you change the horizontal or vertical spacing, you can immediately see the results, because the grid spacing of the sample objects in the Spacing Preview window is adjusted accordingly.

When you choose OK in the Spacing Preview dialog box, it applies the new spacing immediately to all of the folder's views that have the Gridded layout selected.

The grid spacing has no effect on either the Multiple Column layout or the Single Column layout of the folder's Icon view. The grid spacing does, however, affect the As Placed layout of the folder's Icon view. The grid spacing also affects the Arrange operation, which lets you set the placement of objects in your folder. The Arrange feature also has new options, which are discussed next.

New Arrange Features
Many OS/2 Warp 4 enhancements involve the Arrange feature. There are now eight different Arrange options accessible from either the View pulldown menu or the View submenu within the Context menu for the folder. (See Figure 18.)



If you click on the cascade arrow next to Arrange, you see a menu with the following choices: Standard, From Top, From Left, From Right, From Bottom, Perimeter, Selected Horizontal, and Selected Vertical.

Standard arranges your objects into rows, as Arrange did in previous versions of OS/2. None of the icons or their text will overlap.

The remaining options all cause an arrangement based upon the folder's grid spacing.


 * From Top arranges objects beginning at the upper left, across the visible top of the folder, then proceeding to the next row.
 * From Left begins at the upper left, goes down the visible left side of the folder, then proceeds to the next column to the right.
 * From Right begins at the upper right, goes down the visible right side of the folder, then proceeds to the next column to the left.
 * From Bottom begins at the bottom left, crosses the visible bottom of the folder, then proceeds to the next row above.

If the folder runs out of visible space, all four of the From options proceed to the next non-visible row and go left to right. A vertical scroll bar appears, so you can scroll down to the objects that would not fit in the original window.


 * Perimeter begins at the upper left, crosses the top, and then creates a perimeter, alternating left side with right side, and finally across the bottom of the folder. (That is, it builds a square from the top down.) If you have more objects than can fit, the bottom is beneath the visible window.
 * Selected Horizontal and Selected Vertical are two-step operations. First, select the objects to arrange. Second, choose either Selected Horizontal or Selected Vertical. Your cursor then changes to indicate the arrangement type and, when you click in the folder, the objects are arranged in a row or column from the point where you clicked.

The final folder enhancement is object-based. Each object in the system has a new option, "Lock position," to lock the object in place. (You can set the lock position from either an object's popup menu or the Icon page in the object's Properties notebook.) When you lock an object in position, it remains there during an Arrange operation. Also, you cannot move a locked object to another position within the same folder.

Drag-and-Drop Enhancements
One goal in OS/2 Warp 4 was to improve the flexibility of arranging object icons within folders.

One often-requested enhancement was to be able to reposition objects in folders by a small amount (i.e., a few pixels). Performing this task in previous OS/2 releases required two steps. First, you had to drag the object's icon past its border to an acceptable drop area elsewhere in the folder. Then you had to drag the icon back to the desired position in the folder--only a few pixels away from the icon's original position. This roundabout technique was necessary because the Work-place Shell prevented an object from being dropped on itself. In OS/2 Warp 4, the Workplace Shell now interprets a small move operation as a reposition and permits the drop operation to complete.

A common technique for getting quick access to objects is to drag the object from a folder onto the desktop. This allows you to quickly locate and open an object, rather than search for it through layers of nested folders. Often, however, you don't want to move the object from its original folder to the desktop; you simply want to gain quicker access by creating, on the desktop, a shadow object that points to the original object in the folder.

OS/2 Warp 4 simplifies the process of dragging objects to the desktop by changing the default drop operation from Move to Create Shadow. The default operation for dragging objects to a folder other than the desktop is still Move.

You can still perform a Move to the desktop by pressing the Shift key when dragging an object with the mouse or by selecting Move from the object's context menu. If you want the default drop operation to the desktop to remain Move (as in prior OS/2 releases), you can modify it via the "Default drop operation" field in the Desktop page of the desktop's Properties notebook (accessed by selecting Properties from the desktop context menu).

The Workplace Shell uses the concept of a Program object to point to an executable program file (.EXE). Prior to OS/2 Warp 4, the default drop operation when dragging a program file was Move. But, because many applications require their execu- table program file to stay in the directory where it was installed, moving the program file often had the adverse effect of breaking the application.

To remedy this situation, in OS/2 Warp 4 the default drop operation when dragging program files has changed from Move to Create Program Object. When you drag a program file's icon anywhere (including the desktop), the default drop operation is to create a Program object.

You can still perform a Move operation by pressing the Shift key when dragging the program file with the mouse or by selecting Move from the program file's context menu.

New System Options
You will discover many new features in the Workplace Shell as you look at the options in the Properties notebooks and look through a folder's pulldown menus.

To see an object's Properties notebook, put your mouse cursor on top of that object, click mouse button 2, then select Properties in the menu that appears.

For example, if the object is a folder, you can now set the shadow text color from the View page of the folder's Properties notebook. You can also choose whether or not an open view of a folder has a menu bar. For a single folder, make this choice in that folder's Properties notebook. For all folders in the system, make this choice in the Properties notebook for the System object. The System object is found in the System Setup folder, which is located in the OS/2 System folder on the desktop.

The System object's Properties notebook contains several new options:


 * Confirm closing OS/2 and DOS windows--You can choose whether or not to have the system confirm as it closes each OS/2 and DOS windowed session.
 * Menu options--You have the option to display long or short menus on popup menus. When you select short menus, options that can normally be done via drag-and-drop (e.g., copy, move, delete) are not displayed. There is also an option to control the display of menu bars in folders.
 * User Interface options--Several new options on the User Interface page include:
 * Full window dragging--This lets you see a window's entire contents, instead of just the window's outline, while it is being moved.
 * Alt+Tab switching window--When you choose this option, then press Alt+Tab, you are not only switched to the next program, but you also see a small window telling you which pro- gram is receiving the focus.
 * VIO mouse actions--When you select this option, you need not choose Mark from the system menu in order to mark a selection when you drag the mouse in a VIO window session. You can also display a popup menu listing the actions available within the VIO window.
 * Asynchronous focus change--When you enable this option, the system switches the focus away from an application that does not respond to a focus-change message. This pre- vents you from having to wait indefi- nitely for the currently selected appli- cation window to allow the focus to change to the newly selected window.

OS/2 Warp 4 includes new mouse pointer sets, including left-handed pointers. To find these pointer sets, go to the Pointers page in the Mouse object's Properties notebook and click on the Load set. . . button. The result is shown in Figure 19.



If you installed the Multimedia Software Support feature, you will find that the image files used for folder backgrounds, lockup, and schemes are no longer limited to bitmap (.BMP) files. You can now use any image file supported by Multimedia Software Support, including AVC (._IM), DIB (.DIB), GIF (.GIF), JPEG (.JPG), PCX (.PCX), PCD (.PCD), Targa (.TGA), TIFF (.TIF), and VID (.VID) files.

The system Lockup facility now includes a screen-saver mode. When you choose screen-saver mode from the third Lockup page in the desktop's Properties notebook, the system no longer requires a password to unlock the system; you need only press the Enter key to return to normal system operation. Screen-saver mode works with either automatic (timed) or manual lockup.

Printer objects now have a new Text Form page. From this page, you can control the default font for printed text, as well as options for printing page and line numbers, headings, and text borders.

Hardware Manager
The Hardware Manager is a new object in OS/2 Warp 4. Located in the System Setup folder, it contains graphical representations of all hardware devices on your computer. Each hardware device brings with it valuable information about the system resources it needs and uses.

The information in the Hardware Manager is useful for installing new hardware or diagnosing problems with existing hardware. For example, if you want to add a hardware device that requires you to set hardware jumpers for the interrupt request (IRQ) level, and the new device works only on IRQ 1 or 5, you can open the Hardware Manager to see whether IRQ 1 or 5 is already in use. If you are experiencing problems with an installed device, you can use the Hardware Manager to see which system resources (IRQ, DMA, I/O, and Memory) the device is using.

The Hardware Manager is intended for people who have experience with installing and maintaining hardware on a personal computer. But if you are a novice user, you can use the Hardware Manager when you have to ask a service technician to help you diagnose a hardware problem.

By default, the Hardware Manager opens into a Details View (see Figure 20) that displays a lot of information about the installed devices on your computer. Every installed device is shown in this view, along with the resources used by each device.



You can also open the Hardware Manager using two other views: Tree and Icon. Click mouse button 2 on the Hardware Manager icon, click on the cascade arrow to the right of the "Open as" selection, and click on Icon View or Tree View.

Tree View provides a unique look at the hardware devices on your computer. The Tree View in Figure 21 shows, in hierarchical form, which devices are parents, siblings, and children. The Icon View is the normal icon view seen throughout the Workplace Shell.



Hardware Manager Properties
Each object in an open view of the Hardware Manager represents a hardware device. Double-clicking on an object brings up a Properties notebook that contains more information about that device. Within each of these Properties notebooks, there are five pages for each device:


 * Device--Information about the device driver that "owns" this device. The device driver's name, description, vendor, version number, and date are displayed.
 * IRQ Level--A list of all IRQ levels used by this device.
 * DMA Channel--A list of all direct memory access (DMA) channels used by this device.
 * I/O Ports--A list of all input/output (I/O) ports used by this device. Each I/O port listed contains a beginning and ending address, plus an indication of whether it has 10 or 16 address lines.
 * Memory--A list of all memory addresses used by this device. Each memory address listed contains its beginning and ending address.

A blank listbox on any of the IRQ, DMA, I/O, and Memory pages means the device is not using that function. If the EXC string appears to the right of a listbox, that function is assigned exclusively to that device and can't be used by any other device. The information on these five pages cannot be modified.

Hardware Detection Level
The Hardware Manager gives you a way to set the detection level on your computer. The detection level is the level of hardware snooping that is performed each time you boot your computer.

Hardware snooping is a process that tries to find all hardware devices installed on your computer. In particular, hardware snooping allows plug-and-play hardware to be detected and configured to operate correctly. Hardware snooping also determines which system resources are in use versus which are available. This information helps you to add or change your hardware configuration.

To set the detection level, click mouse button 2 on the Hardware Manager icon to bring up its context menu. Click on "Properties" to open the Properties notebook. The first page displayed is the Detection Level page, shown in Figure 22.



Two settings can be made on this page:


 * Default--The level of detection that will occur after the next system restart. The selection in the Default field tells the system to either recognize or ignore hardware changes when you start your system. The choice that you make here is duplicated in the "Next system restart only" field. Select a different level of detection in the "Next system restart only" field if you want to run the hardware snooping differently from the Default, only the next time you start your system. After that, the hardware snooping will again run according to the selection in the Default field.
 * Next system restart only--The level of detection that will occur only during your next system restart. The snooping level set here applies for only one reboot. After reboot and snooping take place at the "Next system restart only" detection level, that level is immediately reset to the "Default" level of hardware snooping.

Select detection levels from the choices in the listboxes:


 * No hardware detection--Causes no hardware snooping to occur during your next system restart. Use this detection level if you are having bootup problems that you suspect are due to hardware detection. If there are plug-and-play devices on your computer, they are not reconfigured.
 * Use previous detection--Works exactly like the "No hardware detection" level, except that if there are plug-and-play devices on your computer, they are reconfigured.
 * Detect removed hardware--Causes snooping to check only for previously detected hardware to see if that hardware is still present. Use this detection level if you have removed a hardware device from your computer.
 * Detect added hardware--Causes snooping to check only for hardware that you added to your computer since the last system restart. Use this detection level if you have added a hardware device to your computer.
 * Full hardware detection--Causes full snooping of all hardware on your computer.

Note: Hardware detection and snooping are not supported on a Micro Channel-based computer, so setting the detection level on a Micro Channel computer has no effect.

The Hardware Manager retrieves all of its hardware device information from the OS/2 Resource Manager. If you do not see a hardware device listed in the Hardware Manager, it is likely that the device driver for that device has not registered itself with the Resource Manager.

Migrating from Earlier Versions to OS/2 Warp 4
When you install OS/2 Warp 4 over a prior OS/2 version or over a previous OS/2 Warp 4 installation, your old desktop is preserved and a new desktop is created with a shadow object linking to your previous desktop. All objects that you created yourself or that your applications created continue to reside on your previous desktop.

All system objects, such as the OS/2 System folder, are recreated on the new desktop. System object IDs, such as {WP_SYSTEM}, are removed from the old System folder and redirected to the new System folder.

If you retain your old printers and do not install any new ones, then your existing printer objects continue to reside on your previous desktop.

Several objects provided in OS/2 Warp 4 must be specially handled. Their corresponding objects on the previous desktop are not left there; instead, they are moved to newly assigned places on the new OS/2 Warp 4 desktop. Shadows are created on the old desktop, where the objects previously existed, to link to the objects' new locations. The objects handled in this manner are Country, Drives, Hardware Manager, Keyboard, Minimized Window Viewer, Sound, Spooler, Startup, System, System Clock, and Touch. (Note: Hardware Manager is a new object in OS/2 Warp 4; however, if you install OS/2 Warp 4 over itself, the Hardware Manager becomes an old object.)

If you are responsible for rolling out OS/2 Warp 4 across many users' computers, you may prefer to have OS/2 Warp 4 behave the same way as prior versions of OS/2, where the current desktop was updated instead of a new one being created. To accomplish this, you need to build custom os2.ini and os2sys.ini files before each phase of installation. Before phase 2 of installation, modify install.rc and change all occurrences of PRESERVEOLD and RELOCATE to UPDATE. Then use the makeini command to create os2.ini from install.rc. Before phase 3 of installation, modify the ini.rc file and follow the same procedure. New Setup Strings You can use setup strings to modify the properties of Workplace Shell objects. Setup strings can be passed to an object by:


 * Using the SysSetObjectData function in a REXX script
 * Calling the WinSetObjectData function from within a Presentation Manager or non-Presentation Manager program, or
 * Calling the wpSetup method for the object from a Workplace Shell program.

Setup strings have the following form:

keyword=value;keyword=value;...

where keyword= specifies the property to be modified, and value specifies the new value for that property.

Most keywords support a single value, either a number or a string; however, some keywords support a list of values, with each value separated from other values by a comma or blank.

If more than one property is specified, each keyword=value specification is separated from the next by a semicolon. For example, you can specify a setup string as

iconfile=sample.ico;objectid={my_object}

No blank spaces are permitted in this statement.

If you have to embed a semicolon within a value, precede the semicolon with a carat (^). For example, if you specify a setup string as

mykey=value1^;value2;objectid={my_object}

then the value of the mykey= keyword is value1;value2.

As an example, to change the Icon Text color to cyan in the System Setup folder, include the following statement in a REXX script:

call SysSetObjectData "{WP_CONFIG}","icontextcolor=cyan"

To customize your system to automatically lock the keyboard after 15 minutes of inactivity and display the OS2WARP.BMP bitmap, include the following statement in a REXX script:

call SysSetObjectData "{	WP_DESKTOP}", "background=?:/os2/		bitmap/os2warp.bmp,		n,1,i,d;",, "autolockup=yes;		lockuptimeout=15"

Figure 23 summarizes the setup strings, either added or changed in OS/2 Warp 4, that are supported by the object classes defined by the Workplace Shell. For each setup string, Figure 23 shows which object class defines the setup string. Then Figures 24, 25, 26, 27, 28, 29, 30 provide more information about the setup strings, categorized by each relevant object class. Values with underscores indicate the default setting. Note: None of the keywords summarized in Figure 23 is mandatory. A keyword can be omitted if it is not needed.

Figure 23  Keyword		Defined by Class

ADDOBJECT=	WarpCenter ADDTOTRAY=	WarpCenter ADDTRAY=	WarpCenter AUTOLOCKUP=	WPDesktop AUTOSETUP=	WPFontPalette, WPSchemePalette DETAILSSHADOWCOLOR=	WPFolder DETAILSTEXTCOLOR=	WPFolder ICONSHADOWCOLOR=	WPFolder ICONTEXTBACKGROUNDCOLOR=	WPFolder ICONTEXTCOLOR=	WPFolder ICONTEXTVISIBLE=	WPFolder LOCKEDINPLACE=	WPObject LOCKUPAUTODIM=	WPDesktop LOCKUPBACKGROUND=	WPDesktop LOCKUPFULLSCREEN=	WPDesktop LOCKUPONSTARTUP=	WPDesktop LOCKUPSCREENSAVERMODE=	WPDesktop LOCKUPTIMEOUT=	WPDesktop MENUBAR=	WPFolder MENUITEMSELECTED=	WPObject MENUS=	WPObject PROGTYPE=	WPProgram, WPProgramFile SAVENOW=	WarpCenter SHOWALLINTREEVIEW=	WPFolder TREESHADOWCOLOR=	WPFolder TREETEXTCOLOR=	WPFolder TREETEXTVISIBLE=	WPFolder 

Figure 24 

Keyword	Value	Description

LOCKEDINPLACE=	YES|NO	Specifies whether or not this object's icon is 		fixed in position in an open Icon View of 			the folder containing the object

MENUITEMSELECTED=	menu-item-ID	Simulates selecting the specified menu item 		from the object0s popup menu

MENUS=	SHORT|LONG	Specifies the type of popup menu to display 		for this object 

Figure 25 

Keyword	Value	Description

BACKGROUND=	[filename],	Folder background. [N | T | S],	filename = fully qualified image file name [1 | scale],	N = normal image [I | C],	T = tiled image [color | r g b | D]	S = scaled image scale = scaling factor between 1 and 20 I = display image C = color only color = standard color name (BLACK, RED, YELLOW, GREEN, CYAN, 				BLUE, MAGENTA, WHITE, DARKGREY, DARKRED, DARKYELLOW, DARK GREEN,			DARKCYAN, DARKBLUE, DARKMAGENTA, PALEGREY) r g b = three decimal numbers between 0 and 255, separated by blanks, 			indicating the amounts of each primary color (red, green, blue) D = default Note: You can omit the values that don't apply. For example: BACKGROUND=c:\os2\bitmap\os2logo.bmp,S,2,I or BACKGROUND=,,,C,0 128 128 or BACKGROUND=,,,C,YELLOW

DETAILSSHADOWCOLOR=	color	Text color for a shadow object in the Details View. color may be a standard color name or an r g b set of numbers.

DETAILSTEXTCOLOR=	color	Text color for a normal object in the Details View. color may be a standard color name or an r g b set of numbers.

ICONSHADOWCOLOR=	color	Text color associated with shadow icons in the Icon View. color may be a 			standard color name or an r g b set of numbers.

ICONTEXTBACKGROUNDCOLOR=	color	Background color for normal text in the Icon, Tree, and Details Views. color may be a standard color name or an r g b set of numbers.

ICONTEXTCOLOR=	color	Text color associated with normal icons in the Icon View. color may be a 			standard color name or an r g b set of numbers.

ICONTEXTVISIBLE=	YES|NO	Specifies whether or not the names of objects contained in the folder are 			displayed in the Icon View.

ICONVIEW=	NONGRID|	Specifies the arrangement and icon size in the Icon View. GRIDDED| FLOWED| NONFLOWED, NORMAL|MINI| INVISIBLE

MENUBAR=	YES|NO	Specifies whether or not to display the menu bar in an open view.

SHOWALLINTREEVIEW=	YES|NO	Specifies whether or not to show all objects in an open Tree View. YES 				means show all objects; NO means show only folders.

TREESHADOWCOLOR=	color	Text color associated with shadow icons in the Tree View. color may be a 			standard color name or an r g b set of numbers.

TREETEXTCOLOR=	color	Text color associated with normal icons in the Tree View. color may be a 			standard color name or an r g b set of numbers.

TREETEXTVISIBLE=	YES|NO	Specifies whether or not the names of objects contained in the folder are 			displayed in the Tree View.



Figure 26 

Keyword	Value	Description

PROGTYPE=	FULLSCREEN|WINDOWABLEVIO|VDM|	Specifies how to run the program. WINDOWEDVDM|WIN|PROG_30_STD|PROG_31_STD| PROG_31_ENH| PROG_31_STDSEAMLESSCOMMON| PROG_31_ENHSEAMLESSCOMMON| PROG_31_STDSEAMLESSVDM| PROG_31_ENHSEAMLESSVDM|SEPARATEWIN |PM|DOSMODE 

Figure 27 

Keyword	Value	Description

AUTOSETUP=	YES|NO	Specifies whether or not the font palette is to be reinitialized with the 				default set of fonts.

FONTS=	font[,...]	Specifies the fonts to be used in the font palette. font is in the form of 				size.name, where size is the point size and name is the name of the font 			including modifiers. For example, specify 9.Helv for a 9-point Helvetica. font.



Figure 28 

Keyword	Value	Description

AUTOSETUP=	YES | NO	Specifies the schemes to be put into each cell. YES uses the predefined OS/2 			Warp 4 schemes for the first 15 schemes, with the excess initialized to the 			OS/2 Warp 4 scheme. NO uses the OS/2 Warp 4 scheme to initialize all 				schemes.



Figure 29 

Keyword	Value	Description

AUTOLOCKUP=	YES | NO	Specifies whether or not automatic lockup is enabled. YES means the mouse 			and keyboard will lock up after the specified time of inactivity. NO means the 		system will not automatically lock the keyboard and mouse, no matter how 			long they are inactive.

LOCKUPAUTODIM=	YES | NO	Specifies whether automatic dimming is enabled. YES means the screen 				blanks out and a floating lock icon is displayed two minutes after the key-			board and mouse are locked. NO means the system does not blank out the 			screen after the keyboard and mouse are locked.

LOCKUPBACKGROUND=	[filename],	Lockup background. [N | T | S],	filename = fully qualified image file name [scale],	N = normal image [I | C],	T = tiled image [color | r g b | D]	S = scaled image scale = scaling factor between 1 and 20 I = display image C = color only color = standard color name (BLACK, RED, YELLOW, GREEN, CYAN, BLUE, 			MAGENTA, WHITE, DARKGREY, DARKRED, DARKYELLOW, DARKGREEN, DARK-			CYAN, DARKBLUE, DARKMAGENTA, PALEGREY) r g b = three decimal numbers between 0 and 255, separated by blanks, 			indicating the amounts of each primary color (red, green, blue) D = default The system is installed with the lockup background set as 					c:\os2\bitmap\os2warp.bmp,T	Keyword	Value	Description LOCKUPFULLSCREEN=	YES | NO	Specifies whether or not the entire screen is taken up by the lockup back-			ground image.

LOCKUPSCREENSAVERMODE=	YES | NO	Specifies whether or not a password is required to unlock the keyboard and 			mouse. YES means lockup acts like a screen saver and no password is 				required. NO means you must supply the correct password to unlock the key-			board and mouse.

LOCKUPONSTARTUP=	YES | NO	Specifies whether or not the keyboard and mouse are automatically locked 			when the system is started.

LOCKUPTIMEOUT=	number	Specifies the number of minutes of keyboard and mouse inactivity to cause 			lockup. The default is 3 minutes.

</PRE>

Figure 30 

Keyword	Value	Description

ADDOBJECT=	object	Specifies an object to be added to the current tray. object is the persistent 		handle of the object.

ADDTOTRAY=	traynumber, object[,...]	Specifies one or more objects to be added to a tray.

ADDTRAY=	trayname[,object[,...]]	Specifies the name of a new tray to be added. A list of object handles may 			optionally be added to the new tray.

SAVENOW=	YES	Specifies that the WarpCenter should save its configuration (now). Note: There is no NO value for this keyword. </PRE>

Behind the Scenes
If you want to peek at what happens behind the big OS/2 Setup and Installation window, click on the minimize button in the top right corner. If the minimize button is not there, press and hold Alt+Shift and then press F3 to add a minimize button to the OS/2 Setup and Installation window.