home *** CD-ROM | disk | FTP | other *** search
- (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 "<WP_DESKTOP>","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("<WP_DESKTOP>"),"MOVEICON=Shredder;X=200;Y=300;");
-
-
-
-