Patch-ID# 108921-08
Keywords: systemModal dual-head Graphics window appear dtsession xinerama
Synopsis: CDE 1.4: dtwm patch
Date: Sep/25/00

Solaris Release: 8

SunOS Release: 5.8

Unbundled Product: CDE

Unbundled Release: 1.4

Relevant Architectures: sparc

Xref: This patch is available for x86 as patch 108922

BugId's fixed with this patch: 4306589 4311842 4301522 4299651 4300013 4261430 4311753 4330496 4335592 4335971 4332153 4293551

Changes incorporated in this version: 4293551

Patches accumulated and obsoleted by this patch:

Patches which conflict with this patch:

Patches required with this patch: 108652-19

Obsoleted by: 

Files included with this patch: 

	/usr/dt/bin/dtwm
        /usr/dt/lib/libSdtWmComm.so.1
        /usr/dt/config/C/sys.dtwmrc
        /usr/dt/appconfig/types/C/dtwm.fp

Problem Description: 

4293551 dtsession in xinerama mode should (optionally) not center the logout d

Incorporated from previous patch revision:

(from 108921-07)
4332153 Graphics window menu does not appear when running at Solaris 8

(from 108921-06)
4335971 dtwm causes inappropriate FocusOut/FocusIn events to be sent to X appl

(from 108921-05)
4335592 Removable Media Manager fails to mount floppy disk

(from 108921-04)
4330496 dtwm core dumps when deleting icon from front panel

(from 108921-03)
4261430 4261430 audio control keys not working on keyboard
4311753 sys.dtwmrc key bindings for SunAudio keys need ifkey context

(from 108921-02)
4301522 RFE for Window Manager Communication API
4299651 CDE 1.4.x integration of the Window communication library to dtwminteg
4300013 Dangling link in /usr/dt/lib/libSdtWmComm.so
4311842 RMM icon isn't in Workspace Menu, as stated in Help documentation.

(from 108921-01)
4306589 Patch 107226-09 has a system modal related bug under dual-head.

Patch Installation Instructions: 
-------------------------------- 
Refer to the man pages for instructions on using 'patchadd' and 'patchrm'
scripts provided with Solaris.  Any other special or non-generic
installation instructions should be described below as special
instructions.  The following example installs a patch to a standalone
machine:

	example# patchadd /var/spool/patch/104945-02

The following example removes a patch from a standalone system:

	example# patchrm 104945-02

For additional examples please see the appropriate man pages.

Special Install Instructions: 
----------------------------- 

NOTE 1:
This patch updates the workspace menu and front panel to incorporate
the new Removable Media support.  In order to get the complete support
for the new Removable Media functionality, you must either upgrade to
Solaris 8 6/00 (or later) or install the following patches in addition
to this patch:
        109165-01 (or newer):   CDE 1.4: dtfile Patch
        109167-01 (or newer):   CDE 1.4: Desktop Help Update Patch
        108970-01 (or newer):   /usr/lib/fs/pcfs/fsck and
                                        /usr/lib/fs/pcfs/mkfs patch
        108974-01 (or newer):   sd and uata driver patch
        108972-01 (or newer):   /sbin/fdisk patch
        108968-01 (or newer):   vol/vold/rmmount patch
        108975-01 (or newer):   /usr/bin/rmformat and /usr/sbin/format patch

If you do not install the other patches, you may no longer be able to open
CD-ROM or floppy disks from the CDE workspace menu or front panel.

NOTE 2:
In order to get complete support for the audio control keys (bug 4261430),
install the following patch in addition to this patch:

	108923-01 (or newer):	CDE 1.4: dtwm audio control patch

NOTE 3:
In order to get full xinerama support (bug 4293551), install the following
patches in addition to this patch:

	109354-05 (or newer):	CDE 1.4: dtsession patch
	108919-05 (or newer):	CDE 1.4: dtlogin patch


Special Notes:
--------------

NOTE 1:
RFE 4293551 dtsession in xinerama mode should (optionally) not center
	    the logout dialog box
=====================================================================				 
Sun(tm) delivers a version of CDE that has been extended to provide
some basic support when run in multi-headed Xinerama mode.

This support is to make the positioning of the following CDE dialogs
resource configurable:
        - Login (a.k.a. dtgreet)
        - Logout Confirmation
        - Unlock Display
        - Restart Workspace Confirmation 
        - Move/Resize Coordinates. 

The reason for making these dialogs configurable in terms of their
window positioning is obvious, they are all non-movable.  That is,
these dialogs are all centered in the logical screen regardless of the
number of physical monitors available.  Without the ability to
configure these dialogs, they will be split across monitors and will
cause many ease-of-use issues.

CDE patches (108921-08,109354-05,108919-05) and the Xsun patch
(108652-19), when installed together, allow the user to configure the
positioning of the previously mentioned dialogs using the following X
resources:
	xineramaDefaultFramebuffer
	xineramaCenterHintX
	xineramaCenterHintY

Resource Description
========================

If the xineramaDefaultFramebuffer resource has a value between 0 and
(n-1), within the Xinerama screen, then dialogs will be centered on
that framebuffer.

If the xineramaDefaultFramebuffer resource has a vaule of -1, then
dialogs will be centered using the values in xineramaCenterHintX and
xineramaCenterHintY.

To set resources system-wide, copy Xresources and sys.resources from
/usr/dt/config/C to /etc/dt/config/C and add the appropriate lines.
Setting resources in the Xresources file affects Login, while setting
them in sys.resources affects Logout Confirmation, Unlock Display,
Restart Workspace Confirmation, and Move/Resize Coordinates.

Note that the resources for dtlogin, and thus the position of the Login
dialog, cannot be set on a per-user basis on a single machine because
dtgreet is run from root before the user is identified.  The position
of the other dialogs can be set on a per-user basis by creating or
modifying the appropriate resource files in the user's HOME directory,
.Xdefaults.

The X resources have no effect if Xinerama is not being used or if
their default values are -1.

Example of using these resources
================================

The following are a few examples assuming a two-headed system.

1) To set Login, Logout Confirmation, Restart Workspace Manager Confirmation, 
Unlock Display and the Resize/Move Coordinate dialogs centered on the first
screen:  

*xineramaDefaultFramebuffer: 0

in both Xresources and sys.resources files. 

Alternatively to have these dialogs centered on the second screen:

*xineramaDefaultFramebuffer: 1

in both Xresources and sys.resources files.

2) If desired, these dialogs do not have to be centered on a particular
screen.  Instead you can position them anywhere within the entire
Xinerama screen by setting their X and Y coordinates.  Taking a
two-headed system, each screen is 1024 pixels high by 1024 pixels wide,
it is possible to place the dialogs in the lower left part of the
second screen.  To position the dialogs 100 pixels to the left of the
second screen and 200 pixels from the bottom, set the following
resources:

*xineramaDefaultFramebuffer: -1
*xineramaCenterHintX: 1124
*xineramaCenterHintY: 824



