123 lines
5.3 KiB
HTML
Executable File
123 lines
5.3 KiB
HTML
Executable File
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
|
<html>
|
|
<head>
|
|
<title>ucmm conventions and format.</title>
|
|
<meta http-equiv="content-type"
|
|
content="text/html; charset=ISO-8859-1">
|
|
<meta name="author" content="Graeme Gill">
|
|
</head>
|
|
<body>
|
|
<h2>ucmm organization and conventions.<br>
|
|
</h2>
|
|
ucmm (Unix micro Color Management Module) is a color management module
|
|
designed just to handle the necessary configuration needed to track the
|
|
installation and association of ICC profiles with Unix/Linux X11
|
|
displays. It could be expanded at some point to also hold the
|
|
associations for other devices such as scanner and printers.<br>
|
|
<br>
|
|
It consists primarily of a small configuration database that associates
|
|
a display monitor (identified by its EDID or the X11 display name if an
|
|
EDID is not known) with an ICC Display profile.<br>
|
|
<br>
|
|
There are two configuration contexts, <span style="font-weight: bold;">local
|
|
system</span> and <span style="font-weight: bold;">per user</span>,
|
|
the latter taking
|
|
precedence when both are present.<br>
|
|
<br>
|
|
ucmm follows the <a
|
|
href="http://standards.freedesktop.org/basedir-spec/basedir-spec-0.6.html">XDG
|
|
Base Directory specifications</a> for the location of the configuration
|
|
file and display profiles.<br>
|
|
<br>
|
|
For the <span style="font-weight: bold;">local system</span> context,
|
|
the ucmm configuration file is located at:<br>
|
|
<br>
|
|
$XDG_CONFIG_DIRS/color.jcnf<br>
|
|
or /etc/xdg/color.jcnf<br>
|
|
<br>
|
|
and display profiles are stored in<br>
|
|
<br>
|
|
$XDG_DATA_DIRS/color/icc/devices/display/<br>
|
|
or /usr/local/share/color/icc/devices/display/<br>
|
|
<br>
|
|
For <span style="font-weight: bold;">per user</span> contents, the
|
|
ucmm configuration file is located at:<br>
|
|
<br>
|
|
$XDG_CONFIG_HOME/color.jcnf<br>
|
|
or $HOME/.config/color.jcnf<br>
|
|
<br>
|
|
and display profiles are stored in<br>
|
|
<br>
|
|
$XDG_DATA_HOME/color/icc/devices/display/<br>
|
|
or $HOME/.local/share/color/icc/devices/display/<br>
|
|
<br>
|
|
The configuration format of the <span style="font-weight: bold;">color.jcnf</span>
|
|
files uses the <a href="http://www.json.org/">JSON JavaScript Object
|
|
Notation</a>,
|
|
a lightweight data-interchange format.<br>
|
|
<br>
|
|
A hierarchy of members is used to represent a hierarchical key/value
|
|
pair format.<br>
|
|
<br>
|
|
The monitor to ICC profile association is organized as independent
|
|
records, having the form:<br>
|
|
<br>
|
|
<span style="font-weight: bold;">key</span>
|
|
|
|
<span style="font-weight: bold;">value</span><br>
|
|
<br>
|
|
devices/display/<span style="font-weight: bold;">N</span>/EDID
|
|
|
|
Monitor EDID in upper case Hexadecimal <br>
|
|
devices/display/<span style="font-weight: bold;">N</span>/ICC_PROFILE
|
|
Full path to the associated ICC profile<br>
|
|
<br>
|
|
or<br>
|
|
<br>
|
|
devices/display/<span style="font-weight: bold;">N</span>/NAME
|
|
|
|
X11 display name <br>
|
|
devices/display/<span style="font-weight: bold;">N</span>/ICC_PROFILE
|
|
Full path to the associated ICC profile<br>
|
|
<br>
|
|
where <span style="font-weight: bold;">N</span> is a number starting
|
|
from 1, that distinguishes each record, but otherwise has no special
|
|
meaning.<br>
|
|
<br>
|
|
The first form is the preferred form, since it associates the profile
|
|
with the actual display, and therefore it is possible to have the
|
|
profile track the display, no matter which X11 screen it is plugged
|
|
into. The second form is a fallback, for situations in which a monitor
|
|
does not have an EDID, or where the X11 server is configured in a way
|
|
that does not permit access to the EDID (i.e.., on a second screen when
|
|
Xinerama is running).<br>
|
|
<br>
|
|
The following is an example of a per user color.jcnf:<br>
|
|
<br>
|
|
{<br>
|
|
"devices": {<br>
|
|
"display": {<br>
|
|
"1": {<br>
|
|
"EDID":
|
|
"0x00FFFFFFFFFFFF0034A1731751720000150901010C1F17CDE8A11E9E554A982712474FA4CE0045598180315961590101010101010101000000FE004D6F6E69746F720A2020202020000000FE004D6F6E69746F720A2020202020000000FE004D6F6E69746F720A2020202020000000FE004D6F6E69746F720A2020202020003D",<br>
|
|
"ICC_PROFILE":
|
|
"/home/graeme/.local/share/color/devices/display/mon1.icc"<br>
|
|
},<br>
|
|
"2": {<br>
|
|
"NAME": ":0.1",<br>
|
|
"ICC_PROFILE":
|
|
"/home/graeme/.local/share/color/devices/display/mon2.icc"<br>
|
|
}<br>
|
|
}<br>
|
|
}<br>
|
|
}<br>
|
|
<br>
|
|
<h3>Implementation</h3>
|
|
The configuration file format is in the <span
|
|
style="font-weight: bold;"></span>Argyll
|
|
source in the jcnf sub directories, and the ucmm functionality in the
|
|
ucmm sub directories, and is made available under an MIT like free use
|
|
license.
|
|
</body>
|
|
</html>
|