27.3.6 User Customization
Another difference between the three methods of specifying resources is the freedom that they give a user to
customize or override a resource setting. Any settings that you place in an X resource file can be overridden by the
user. Settings made in UIL or in source code are fixed and cannot be changed by the user. This fact is generally true
about UIL. A user could conceivably replace a compiled UID module with a new version that contains different
settings, but it is rather unlikely. Neither behavior is any better or worse than the other. Allowing or disallowing user
customization is just something for you to consider when deciding where to set a resource, rather than a limitation of
the method.
27.3.7 Dynamic Updating
Many resource settings are not just set at widget creation time and left alone, but are continually updated to indicate
the state of the application in response to user actions. You can make dynamic resource changes in source code using
XtSetValues() or XtVaSetValues() and application−created values. The MrmFetchSetValues()
function is the counterpart for UIL. Instead of using application−defined values, the routine automatically loads the
data from exported values in a UIL module. (For more information on MrmFetchSetValues() see Section
#suilfetch.) With X resource files, the resource settings are loaded and applied only when a widget is created. Once
again, it is possible to write code to dynamically fetch and convert a value from a resource file, ...