aboutsummaryrefslogtreecommitdiff
path: root/libXt/specs/appF
diff options
context:
space:
mode:
Diffstat (limited to 'libXt/specs/appF')
-rw-r--r--libXt/specs/appF125
1 files changed, 125 insertions, 0 deletions
diff --git a/libXt/specs/appF b/libXt/specs/appF
new file mode 100644
index 000000000..b74cf4a3e
--- /dev/null
+++ b/libXt/specs/appF
@@ -0,0 +1,125 @@
+.\" $Xorg: appF,v 1.3 2000/08/17 19:42:49 cpqbld Exp $
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1991, 1994
+.\" X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1991, 1994
+.\" Digital Equipment Corporation, Maynard, Massachusetts.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for any
+.\" purpose and without fee is hereby granted, provided that the above copyright
+.\" notice appears in all copies and that both that copyright notice and this
+.\" permission notice appear in supporting documentation, and that the name of
+.\" Digital not be used in in advertising or publicity pertaining
+.\" to distribution of the software without specific, written prior permission.
+.\" Digital makes no representations about the suitability of the
+.\" software described herein for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.bp
+\&
+.sp 1
+.ce 3
+\s+1\fBAppendix F\fP\s-1
+
+\s+1\fBResource Configuration Management\fP\s-1
+.sp 2
+.LP
+.XS
+\fBAppendix F \(em Resource Configuration Management\fP
+.XE
+Setting and changing resources in X applications can be difficult for
+both the application programmer and the end user. \fBResource
+Configuration Management (RCM)\fP addresses this problem by changing
+the \fBX Intrinsics\fP to immediately modify a resource for a
+specified widget and each child widget in the hierarchy.
+In this context, immediate means: no sourcing of a resource
+file is required; the application does not need to be restarted for the
+new resource values to take effect; and the change
+occurs immediately.
+.LP
+The main difference between \fBRCM\fP and the \fBEditres\fP
+protocol is that the \fBRCM\fP
+customizing hooks reside in the \fBIntrinsics\fP and thus are linked with
+other toolkits such as Motif and the Athena widgets. However, the
+\fBEditRes\fP protocol requires the application to link with the
+\fBEditRes\fP
+routines in the Xmu library and Xmu is not used by all applications that
+use Motif. Also, the \fBEditRes\fP protocol uses ClientMessage,
+whereas the
+\fBRCM\fP \fBIntrinsics\fP hooks use \fBPropertyNotify\fP events.
+.LP
+X Properties and the \fBPropertyNotify\fP events are used
+to implement \fBRCM\fP and
+allow on-the-fly resource customization. When the X Toolkit is
+initialized, two atoms are interned with the strings
+\fICustom Init\fP and
+\fICustom Data\fP. Both
+.PN _XtCreatePopupShell
+and
+.PN _XtAppCreateShell
+register a \fBPropertyNotify\fP event handler to handle these properties.
+.LP
+A customization tool uses the \fICustom Init\fP property to \fIping\fP an
+application to get the application's toplevel window. When the
+application's property notify event handler is invoked, the handler
+deletes the property. No data is transferred in this property.
+.LP
+A customization tool uses the \fICustom Data\fP property to tell an
+application that it should change a resource's value. The data in
+the property contains the length of the resource name (the number
+of bytes in the resource name), the resource name and the new
+value for the resource. This property's type is \fBXA_STRING\fP and
+the format of the string is:
+.IP 1. 5
+The length of the resource name (the number of bytes in
+the resource name)
+.IP 2. 5
+One space character
+.IP 3. 5
+The resource name
+.IP 4. 5
+One space character
+.IP 5. 5
+The resource value
+.LP
+When setting the application's resource, the event handler calls
+functions to walk the application's widget tree, determining which
+widgets are affected by the resource string, and then applying the value
+with
+.PN XtSetValues.
+As the widget tree is recursively descended, at
+each level in the widget tree a resource part is tested for a match.
+When the entire resource string has been matched, the value is applied
+to the widget or widgets.
+.LP
+Before a value is set on a widget, it is first determined if the last
+part of the resource is a valid resource for that widget. It must also
+add the resource to the application's resource database and then query
+it using specific resource strings that is builds from the widget
+information.
+
+