elisp: Resources

 
 28.23 X Resources
 =================
 
 This section describes some of the functions and variables for querying
 and using X resources, or their equivalent on your operating system.
 SeeX Resources (emacs)X Resources, for more information about X
 resources.
 
  -- Function: x-get-resource attribute class &optional component
           subclass
      The function ‘x-get-resource’ retrieves a resource value from the X
      Window defaults database.
 
      Resources are indexed by a combination of a “key” and a “class”.
      This function searches using a key of the form ‘INSTANCE.ATTRIBUTE’
      (where INSTANCE is the name under which Emacs was invoked), and
      using ‘Emacs.CLASS’ as the class.
 
      The optional arguments COMPONENT and SUBCLASS add to the key and
      the class, respectively.  You must specify both of them or neither.
      If you specify them, the key is ‘INSTANCE.COMPONENT.ATTRIBUTE’, and
      the class is ‘Emacs.CLASS.SUBCLASS’.
 
  -- Variable: x-resource-class
      This variable specifies the application name that ‘x-get-resource’
      should look up.  The default value is ‘"Emacs"’.  You can examine X
      resources for other application names by binding this variable to
      some other string, around a call to ‘x-get-resource’.
 
  -- Variable: x-resource-name
      This variable specifies the instance name that ‘x-get-resource’
      should look up.  The default value is the name Emacs was invoked
      with, or the value specified with the ‘-name’ or ‘-rn’ switches.
 
    To illustrate some of the above, suppose that you have the line:
 
      xterm.vt100.background: yellow
 
 in your X resources file (whose name is usually ‘~/.Xdefaults’ or
 ‘~/.Xresources’).  Then:
 
      (let ((x-resource-class "XTerm") (x-resource-name "xterm"))
        (x-get-resource "vt100.background" "VT100.Background"))
           ⇒ "yellow"
      (let ((x-resource-class "XTerm") (x-resource-name "xterm"))
        (x-get-resource "background" "VT100" "vt100" "Background"))
           ⇒ "yellow"
 
  -- Variable: inhibit-x-resources
      If this variable is non-‘nil’, Emacs does not look up X resources,
      and X resources do not have any effect when creating new frames.