diff options
Diffstat (limited to 'doc/ucmm.html')
-rw-r--r-- | doc/ucmm.html | 122 |
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> + $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> |