[comp.windows.x] X resource management

yhsieh@castor.usc.edu (Yeongbin Hsieh) (11/22/89)

I have a question about resource manager of DECStation 3100.  Suppose when I 
initialize the Xtoolkit, the resource manager should read the following files.
    1.  load /usr/lib/X11/app-defaults/<application-class>
    2.  load $XAPPRESDIR/<application-class>
    3.  load $HOME/.Xdefaults
    4.  load load $XENVIRONMENT or $HOME/.Xdefaults-<host>
    5.  load command-line option

The problems I have are :
    1.  The command-line option never override the default value I specified
        in the .Xdefaults file. 
    2.  Every time I change the default value in .Xdefaults file, I must type
        xrdb .Xdefaults then run my program, otherwise the new value never
        override the old value.

The questions :
    1.  Does this happen only on DECStation Xtoolkit ?
    2.  Any solutions for this ?  Because the command-line options never work
        and I don't want to change .Xdefaults and use xrdb .Xdefaults all the
        time.

My test program is in YOUNG's book (Chapter 3).  Could anyone answer my
questions ?  Thanks in advance !!  Please E-mail to yhsieh@cadence.com 

====================================================================
I    Tommy Hsieh              I    Cadence Design System, Inc.     I
I    yhsieh@cadence.com       I    3393 Octavius Drive             I
I    (408) 987-5285           I    Santa Clara, CA 95054-3082      I
====================================================================

erik@srava.sra.JUNET (Erik M. van der Poel) (11/25/89)

Here is a correct version of the procedure followed for resources:

--- Start ---

For clients using the R3 X Toolkit, the resource database is loaded and
merged in the following order.

    1. /usr/lib/X11/app-defaults/<class>

    2. if XAPPLRESDIR set
               $XAPPLRESDIR<class>
       else
               <home>/<class>

    3. if server's RESOURCE_MANAGER property set (by xrdb)
               contents of RESOURCE_MANAGER
       else
               <home>/.Xdefaults

    4. if XENVIRONMENT set
               $XENVIRONMENT
       else
               <home>/.Xdefaults-<host>

    5. command line (e.g. -geometry, -xrm)

--- End ---

>    1.  The command-line option never override the default value I specified
>        in the .Xdefaults file. 

You should provide more information (by e-mail). Specifically:

		* the command line
		* your .Xdefaults
		* the program

>    2.  Every time I change the default value in .Xdefaults file, I must type
>        xrdb .Xdefaults then run my program, otherwise the new value never
>        override the old value.

The .Xdefaults file is ignored if the RESOURCE_MANAGER property has
been set (by xrdb). So if you want your .Xdefaults to take effect, you
must avoid using xrdb. You might be invoking xrdb from your .xsession
or your .xinitrc or whatever you use when you start up X.

-- 
Erik M. van der Poel                  erik@sra.co.jp             (Japan)
SRA, 1-1-1 Hirakawa-cho, Chiyoda-ku   erik%sra.co.jp@uunet.uu.net  (USA)
Tokyo 102 Japan. TEL +81-3-234-2692   erik%sra.co.jp@mcvax.uucp (Europe)