File Archive

 
Output of file : README.TXT contained in archive : EXDESK.ZIP

(c) Copyright IBM Corporation 1993.
All Rights Reserved.


Extended Desktop

by

Dan Campbell



REQUIREMENTS
------------

1) OS/2 2.0
2) Service Pack -- This is the absolute minimum!

Make sure that "Always maintain sort order" is not checked on the
Sort Page of the Desktop Settings notebook, before you install.


INSTALLATION
------------

1) If you have a previous level of Extended Desktop installed, See
"UPGRADE" below or follow REMOVAL instructions below.
2) Copy EXTDESK.DLL to a directory that is listed in your LIBPATH
in CONFIG.SYS
3) Run EXTINST.EXE
4) Shutdown and reboot.


REMOVAL
-------

1) Run EXTREMOV.EXE
2) Shutdown and reboot.
3) Erase EXTDESK.DLL if you wish.



UPGRADE
-------

It is possible to update the DLL without going through the full
process of REMOVAL followed by another INSTALLATION. A simple addition
to CONFIG.SYS will cause EXTDESK.DLL to be updated automatically the
next time you boot.
To replace EXTDESK.DLL with a new version on the next boot, add
the following line anywhere in CONFIG.SYS ( I put it at the top ):

CALL=x:\OS2\XCOPY.EXE srcpath\EXTDESK.DLL destpath

where "x" is the boot drive on your system, "srcpath" is the full
path of the directory where you download new versions of EXTDESK,
and "destpath" is the full path where you put the working copy of
EXTDESK.DLL. "srcpath" should be a directory that does NOT appear
in your LIBPATH. "destpath" must be a directory that DOES appear
in your LIBPATH.
For example, I put new copies of EXTDESK.DLL in the EXTDESK
directory on my E: drive, and put the working copy in the C:\OS2\DLL
directory. The line in my CONFIG.SYS is:

CALL=C:\OS2\XCOPY.EXE E:\EXTDESK\EXTDESK.DLL C:\OS2\DLL\




WHAT DOES IT DO?
----------------

EXTINST registers the ExtendedDesktop Class, then uses a
public API in OS/2 to "replace" the WPDesktop class with the
ExtendedDesktop class. Any objects of the WPDesktop class will
exhibit the behavior of the ExtendedDesktop class. A reboot is
required for it to take effect.
I do NOT modify CONFIG.SYS. Everything about your current setup
( settings, icon positions, etc ) remains untouched. The only changes
you will see are: 1) Sort and Arrange will be absent from the Desktop
context menu, 2) an Align item and a Snap-to-Grid item will be added to
the Desktop context menu, 3) 2 Arrange settings pages will be in the
Desktop Settings notebook, 4) an Icons settings page will be added
to the Desktop Settings notebook, and 5) The Sort settings page will
be absent from the Desktop Settings notebook.




THE ARRANGE SETTINGS PAGE 1 OF 2
--------------------------------

The Arrange settings page allows you to choose how you wish to
be protected from accidental arrange. You have two choices:
1) Arrange and Sort will be removed from the Desktop context menu (and
the Sort Page will be removed from the Desktop Settings notebook), or
2) Selecting Arrange or Sort from the Desktop context menu will cause
a confirmation dialog to popup.
The "Arrange Minimized Windows" check box allows you to choose
whether to allow Arrange for Windows that are minimized to the Desktop.
The default is No. If this box is checked, an "Arrange Minimized" context
menu item will be added to the Desktop context menu.
The "Snap to Grid" check box allows you to choose whether the menu
item labeled "Snap to Grid" will appear on the Desktop context menu.




THE ARRANGE SETTINGS PAGE 2 OF 2
--------------------------------

The "Deselect after Align" checkbox allows you to choose whether
the selected items will remain selected after an Align operation. If
it is checked, all selected items will be deselected after the Align
operation. The default is for them to remain selected.
The "Even Spacing on Align" check box allows you to choose whether
Icons will be spaced evenly when aligned. If this box is checked,
selected icons will be evenly spaced between the two icons on the ends
of the selected group. Note that this may move icons such that they no
longer conform to the grid.
Page 2 of the Arrange Settings also has two spin buttons for setting
the Grid Spacing for the "Snap to Grid" function.



THE "Snap to Grid" MENU ITEM ON THE DESKTOP CONTEXT MENU
--------------------------------------------------------

This menu item only appears if the "Snap to Grid" checkbox is checked
on Arrange Settings Page 1.
Selecting this menu item causes objects on the Desktop to be moved
so that their x- and y-coordinates are multiples of the values set on
Arrange Settings Page 2. Objects will not be moved if they already
conform to the grid spacing. If moving an object would place it at the
same (x,y) location as another object, the second object will be moved
one grid spacing to the right.



THE "Arrange Minimized" MENU ITEM ON THE DESKTOP CONTEXT MENU
-------------------------------------------------------------

This menu item only appears if the "Arrange Minimized Windows" box
is checked on Arrange Settings Page 1.
Selecting this menu item causes Windows that are minimized to the
Desktop to be rearranged just as they would be without ExtendedDesktop
installed.



THE ALIGN CASCADE MENU ON THE DESKTOP CONTEXT MENU
--------------------------------------------------

This item on the Desktop context menu allows you to align a group
of objects on the Desktop either vertically or horizontally.
To use this, first select a group of objects on the Desktop in one
of the following three ways:

1) a. Move the mouse pointer to the first object you want to select.
b. Press and hold mouse button 1; then move the pointer over the
objects to be selected.
c. Release the mouse button.
NOTE: Objects will be aligned with object that was selected last.

Or:

2) a. Move the mouse pointer to the first object you want to select.
b. Press and hold the Ctrl key.
c. While holding the Ctrl key, click mouse button 1 on each object
to be selected.
NOTE: Objects will be aligned with object that was selected last.

Or:

3) a. Click mouse button 1 on the object with which you want other
objects to be aligned.
b. Move the mouse pointer to just outside the objects you want to
select.
c. Press and hold mouse button 1; then move the pointer to draw a
box arround the objects to be selected ( including the object
selected in step a).
d. Release the mouse button.
NOTE: Objects will be aligned with object that was selected in step a.

If you wish to align the icons vertically, select "Vertically" from the
Align cascade on the Desktop context menu. If you wish to align the icons
horizontally, select "Horizontally" from the Align cascade on the
Desktop context menu.
Aligning vertically changes the x-coordinate of all selected objects
to be the same. The y-coordinates will not change. Aligning horizontally
changes the y-coordinate of all selected objects to be the same. The
x-coordinates will not change. Therefore, it is possible to position
objects on top of each other, if you're not careful.




THE ICONS SETTINGS PAGE
-----------------------

The Icons settings page allows you to precisely position any icon
on the Desktop. On this page, the title text of each object on the
Desktop appears in a listbox. When you select an item in the listbox,
the corresponding object on the Desktop will be hilighted. Also, its
x- and y-coordinates will appear in the two spin buttons below the
listbox. You can then position the object on the Desktop by changing
the values in the spin buttons.
Selecting an Icon on the Desktop will cause the corresponding item
in the listbox to be selected.




POSITIONING AN ICON FROM REXX OR C
----------------------------------

It is possible to position an individual icon from a REXX or C program.
This is done using SysSetObjectData from REXX, or WinSetObjectData from C.
The data is a character string of the following form:

"MOVEICON=title;X=n;Y=m;"

where "title" is the Icon's title text, "n" is the desired x-coordinate,
and "m" is the desired y-coordinate. The title only needs to be long
enough to uniquely identify the object ( e.g., specifying "Shred" would
move the Shredder, as long as there wasn't anothere object title beginning
with "Shred" ). The title may contain spaces, however, the case must be
exact. If the title contains line breaks, place a caret in the title at
the point of the line break ( e.g. if the Master Index title text contains
line break, the string would be "MOVEICON=Master^Index;X=100;Y=100;" ).

From REXX, an Object on the Desktop may be positioned using the
SysSetObjectData REXX Utility Function. A sample REXX program that
moves the Shredder to x=200, y=300 would look like this:

/* move the Shredder */
call RxFuncAdd 'SysLoadFuncs','RexxUtil','SysLoadFuncs'
call SysLoadFuncs

call SysSetObjectData "","MOVEICON=Shredder;X=200;Y=300;"


From C, an Object on the Desktop may be positioned using WinSetObjectData.
A sample C code fragment that moves the Shredder to x=200, y=300 would look
like this:

/* move the Shredder */
WinSetObjectData(WinQueryObject(""),"MOVEICON=Shredder;X=200;Y=300;");