summaryrefslogtreecommitdiff
path: root/doc/ucmm.html
diff options
context:
space:
mode:
Diffstat (limited to 'doc/ucmm.html')
-rw-r--r--doc/ucmm.html122
1 files changed, 122 insertions, 0 deletions
diff --git a/doc/ucmm.html b/doc/ucmm.html
new file mode 100644
index 0000000..31d95cb
--- /dev/null
+++ b/doc/ucmm.html
@@ -0,0 +1,122 @@
+<!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>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $XDG_CONFIG_DIRS/color.jcnf<br>
+or&nbsp;&nbsp; /etc/xdg/color.jcnf<br>
+<br>
+and display profiles are stored in<br>
+<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $XDG_DATA_DIRS/color/icc/devices/display/<br>
+or&nbsp;&nbsp; /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>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $XDG_CONFIG_HOME/color.jcnf<br>
+or&nbsp;&nbsp; $HOME/.config/color.jcnf<br>
+<br>
+and display profiles are stored in<br>
+<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $XDG_DATA_HOME/color/icc/devices/display/<br>
+or&nbsp;&nbsp; $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>
+&nbsp; <span style="font-weight: bold;">key</span>&nbsp;&nbsp;
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+<span style="font-weight: bold;">value</span><br>
+<br>
+&nbsp; devices/display/<span style="font-weight: bold;">N</span>/EDID&nbsp;&nbsp;
+&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
+&nbsp;&nbsp;&nbsp;&nbsp; Monitor EDID&nbsp; in upper case Hexadecimal <br>
+&nbsp; devices/display/<span style="font-weight: bold;">N</span>/ICC_PROFILE&nbsp;&nbsp;
+&nbsp;&nbsp; Full path to the associated ICC profile<br>
+<br>
+or<br>
+<br>
+&nbsp; devices/display/<span style="font-weight: bold;">N</span>/NAME
+&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
+&nbsp;&nbsp;&nbsp; X11 display name <br>
+&nbsp; devices/display/<span style="font-weight: bold;">N</span>/ICC_PROFILE&nbsp;&nbsp;
+&nbsp;&nbsp; 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>
+&nbsp; "devices": {<br>
+&nbsp;&nbsp;&nbsp; "display": {<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "1": {<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "EDID":
+"0x00FFFFFFFFFFFF0034A1731751720000150901010C1F17CDE8A11E9E554A982712474FA4CE0045598180315961590101010101010101000000FE004D6F6E69746F720A2020202020000000FE004D6F6E69746F720A2020202020000000FE004D6F6E69746F720A2020202020000000FE004D6F6E69746F720A2020202020003D",<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "ICC_PROFILE":
+"/home/graeme/.local/share/color/devices/display/mon1.icc"<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; },<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "2": {<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "NAME": ":0.1",<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "ICC_PROFILE":
+"/home/graeme/.local/share/color/devices/display/mon2.icc"<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>
+&nbsp;&nbsp;&nbsp; }<br>
+&nbsp; }<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>