Support for X resource database management in GTK applications. See demo.c.
  The following three (3) routines are provided:
   gtk_initialize
   gtk_get_app_resource
   gtk_get_app_resources


0) int gtk_initialize(int *argc, char **argv,
                         const char *app_class_name,
                         GTK_CMD_OPT * cmd_opt_table,
                         size_t cmd_opt_count);


  argc, argv
       Command line parameters. Returns the values left after parsing.
  app_class_name
       The application class name. Should not contain '.',
       '?', or '*'. If name is inappropriate, a modified copy will be made.
  cmd_opt_table
       A table of application command line arguments to be parsed.
  table_size
      The size of the table.

  gtk_initialize builds the application resource database and parses command
  line options. See XrmParseCommand(3X11). Recognized options are removed from
  argv and new values for argc and argv returned.

  We read and merge resource files in the following order:
  0. /usr/X11/lib/X11/app-defaults/<app_class_name>
  1. $XAPPLRESDIR/<app_class_name>
  2. RESOURCE_MANAGER property or ~/.Xdefaults if RESOURCE_MANAGER is empty
  3. $XENVIRONMENT or ~/.Xdefaults-<hostname> if XENVIRONMENT is empty
  4. command line options

  gtk_initialize should only be called after gtk_init_check in gtk/gtkmain.c,
  since gtk_initialize requires gdk_display and g_get_prgname.
  This means that if gtk_initialize is called from main(), this should only
  happen after after gtk_init. In my copies of GTK, I have simply renamed
  gtk_init to gtk_initialize and call gtk_init_check from within
  gtk_initialize.
  One notes that gtk_init takes &argv while gtk_initialize takes just argv.

  The database that is constructed is attached to the display so the user
  has access to the database (XrmGetDatabase(3X11)).

1) void gtk_get_app_resources(GTK_resource *resource, size_t size);
  resource      A table of application resource
  size          Table size

  Retrieves the values of a list of application resources.
  May only be called after gtk_initialize.

2) char *gtk_get_app_resource(const char *str_name,
                               const char *str_class,
                               GTK_RESOURCE_TYPE  type,
                               const char *defval,
                               void *buf,
                               size_t bufsize);
  str_name
       The name of the resource to be retrieved. The name does not contain
       the leading application [class] name.
       E.g. "foo.debug" instead of myApp.foo.debug
  str_class
       The class name of the value to be retrieved.
  type
       The data type of the value to be retrieved. GTK_BOOL, GTK_INT, ...
  buf
       Buffer where retrieved value should be stored. May be NULL.
  defval
       A default value (in string form) if resource entry is not found.
  bufsize
       Size of buf if type==GTK_STRING

  gtk_get_app_resource retrieves a single resource value.
  gtk_get_app_resource may only be called after gtk_initialize.

  ----
  [email protected]. 15Apr99.