From 5f8448ef6b85a9ff72c5af4cec99183c8bb60dc6 Mon Sep 17 00:00:00 2001 From: marha Date: Tue, 10 Apr 2012 14:58:33 +0200 Subject: Updated following packages: bigreqsproto-1.1.2 fontsproto-2.1.2 recordproto-1.14.2 scrnsaverproto-1.2.2 xcmiscproto-1.2.2 libXt-1.1.3 xhost-1.0.5 kbproto-1.0.6 libXrender-0.9.7 libxkbfile-1.0.8 freetype-2.4.9 libXaw-1.0.10 libXpm-3.5.10 xproto-7.0.23 --- libXt/specs/appF.xml | 103 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 103 insertions(+) create mode 100644 libXt/specs/appF.xml (limited to 'libXt/specs/appF.xml') diff --git a/libXt/specs/appF.xml b/libXt/specs/appF.xml new file mode 100644 index 000000000..49f054bb7 --- /dev/null +++ b/libXt/specs/appF.xml @@ -0,0 +1,103 @@ + +Resource Configuration Management + +Setting and changing resources in X applications can be difficult for +both the application programmer and the end user. Resource +Configuration Management (RCM) addresses this problem by changing +the X Intrinsics 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. + + + +The main difference between RCM and the Editres +protocol is that the RCM +customizing hooks reside in the Intrinsics and thus are linked with +other toolkits such as Motif and the Athena widgets. However, the +EditRes protocol requires the application to link with the +EditRes +routines in the Xmu library and Xmu is not used by all applications that +use Motif. Also, the EditRes protocol uses ClientMessage, +whereas the +RCM Intrinsics hooks use PropertyNotify events. + + + +X Properties and the PropertyNotify events are used +to implement RCM and +allow on-the-fly resource customization. When the X Toolkit is +initialized, two atoms are interned with the strings +Custom Init and +Custom Data. Both +_XtCreatePopupShell +and +_XtAppCreateShell +register a PropertyNotify event handler to handle these properties. + + + +A customization tool uses the Custom Init property to ping 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. + + + +A customization tool uses the Custom Data 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 XA_STRING and +the format of the string is: + + + + +The length of the resource name (the number of bytes in +the resource name) + + + + +One space character + + + + +The resource name + + + + +One space character + + + + +The resource value + + + + +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 +. +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. + + + +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. + + -- cgit v1.2.3