Upon successful completion of a form query, EUDC will display a buffer containing the results of the query.
The fields that are returned for each record
are controlled by
eudc-default-return-attributes (see Return Attributes).
The display of each individual field can be performed by an arbitrary function which allows specific processing for binary values, such as images or audio samples, as well as values with semantics, such as URLs.
An alist specifying methods to display attribute values. Each member of
the list is of the form
(name . func) where
name is a lowercased string naming a directory attribute
(translated according to
eudc-use-raw-directory-names is non-
nil) and func a
function that will be passed the corresponding attribute values for
This variable has protocol-local definitions (see Server/Protocol Locals). For instance, it is defined as follows for LDAP:
(eudc-protocol-set 'eudc-attribute-display-method-alist '(("jpegphoto" . eudc-display-jpeg-inline) ("labeledurl" . eudc-display-url) ("audio" . eudc-display-sound) ("labeledurl" . eudc-display-url) ("url" . eudc-display-url)) 'ldap)
EUDC provides a set of built-in functions to display binary value types:
Display a button for unidentified binary data.
Display URL and make it clickable.
Display a button to play the sound data.
Display the JPEG data inline at point if possible.
Display a button for the JPEG data.
Right-clicking on a binary value button pops up a contextual menu with
options to process the value. Among these are saving the attribute
value to a file or sending it to an external viewer command. External
viewers should expect the value on their standard input and should
display it or perform arbitrary processing on it. Messages sent to
standard output are discarded. External viewers are listed in the
eudc-external-viewers which you can customize.
This is a list of viewer program specifications. Each specification is a list whose first element is a string naming the viewer for unique identification, the second element is the executable program which should be invoked and the following elements are arguments that should be passed to the program.