From 388026359889f54c0c4ab442fd9630ce5c5e9761 Mon Sep 17 00:00:00 2001 From: Kai-Uwe Behrmann Date: Sat, 10 Dec 2016 10:37:03 +0100 Subject: [PATCH] * [docu]: convert to markdown --- AUTHORS => AUTHORS.md | 2 +- COPYING => COPYING.md | 6 +- ChangeLog | 176 ----- ChangeLog.md | 204 ++++++ README | 126 ---- README.md | 146 ++++ plugin-compicc.svg | 1498 +++++++++++++++++++---------------------- 7 files changed, 1054 insertions(+), 1104 deletions(-) rename AUTHORS => AUTHORS.md (70%) rename COPYING => COPYING.md (67%) delete mode 100644 ChangeLog create mode 100644 ChangeLog.md delete mode 100644 README create mode 100644 README.md diff --git a/AUTHORS b/AUTHORS.md similarity index 70% rename from AUTHORS rename to AUTHORS.md index f2d5160..bbda572 100644 --- a/AUTHORS +++ b/AUTHORS.md @@ -1,4 +1,4 @@ -main author: Kai-Uwe Behrmann +main author: Kai-Uwe Behrmann http://www.behrmann.name original author: Tomas Carnecky color plug-in for compiz, which is in parts based on Gerhard Fürnkranz' GLSL ppm_viewer diff --git a/COPYING b/COPYING.md similarity index 67% rename from COPYING rename to COPYING.md index 339eb26..fda0fc1 100644 --- a/COPYING +++ b/COPYING.md @@ -5,9 +5,9 @@ All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - * Neither the name of Kai-Uwe Behrmann nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. +* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. +* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. +* Neither the name of Kai-Uwe Behrmann nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/ChangeLog b/ChangeLog deleted file mode 100644 index 381e53f..0000000 --- a/ChangeLog +++ /dev/null @@ -1,176 +0,0 @@ -Version 0.8.8 - -Kai-Uwe Behrmann (2): - * [conf]: remove references to unused fltk tests - * [core]: substitute last Net occurence - -Petr Gajdos (4): - * [core]: move up _BSD_SOURCE - * [conf]: xcm is present fix - * [conf]: remove STRIPOPT variable - * [build]: fix build in oS-factory - -Version 0.8.7 - -Kai-Uwe Behrmann (5): - * [core]: add ICM attribute to _ICC_COLOR_DESKTOP - * [core]: remove obsolete client message - * [core]: describe our _ICC_COLOR_DESKTOP attributes - * [core]: observe more XRandR events - * [conf]: bump version - -Version 0.8.6 - -Kai-Uwe Behrmann (9): - * [docu]: update requirements to Oyranos >= 0.9.0 - * [core]: compile with oyranos:gsoc2011 branch - * [docu]: add wiki page - * [build]: use spdx.org format for spec file - * [core]: render outputs as well without profile - * [core]: initialise string once - * [build]: require ccsm in spec file - * [build]: require newer Xcm versions in spec file - * [conf]: bump version - -Version 0.8.5 - -Kai-Uwe Behrmann (34): - * [build]: minor spec fixes - * [core]: fix unused comment - * [core]: fix wrong variable access from #90d2df89 - * [build]: adapt to openSUSE spec file - * [build]: remove non existent file - * [core]: update to Xcm changes - * [core]: use module provided hash - * [core]: support colour correction to multi monitor - * [core]: count window region - * [core]: use GL_EQUAL in pluginDrawWindow - * [core]: update to x_color_region_target - * [core]: store stencil start per window - * [core]: compute stencil ID during drawing - * [core]: clean up to 200 monitors - * [core]: do not use context description hook - * [core]: tell Oyranos we are a display - * [core]: fix string length array - * [core]: move ICC setup inside - * [core]: omit EDID removal - * [docu]: update NET to ICC atoms prefix - * [conf]: prepare C++ builds - * [conf]: bump libXcm requirement to 0.5 - * [conf]: require libXcm during configure - * [core]: rename net-color spec - * [core]: support per region profiles - * [core]: make allocations fit for C++ - * [core]: modularise CLUT creation - * [core]: add PrivColorContext - * [core]: cache profiles in Oyranos - * [core]: fix debug messages - * [core]: clean unused cruft - * [core]: improve debug clut images - * [conf]: bump version - * [docu]: update ChangeLog - -Tomas Carnecky (1): - * [core]: remerge with old profile code - -Version 0.8.4 - -Kai-Uwe Behrmann (36): - * [conf]: update - * [build]: explicite require compiz for packaging - * [build]: link against basic Compiz libs - * [docu]: fix typo - * [docu]: some more introduction - * [docu]: add more details to the introduction - * [docu]: tell about compiz + nouveau - * [core]: fix double correction for first opt-out - * [core]: report only actual capabilities - * [core]: better check before claim colour managed - * [docu]: resize icon - * [core]: adapt to new public oyHash_s APIs - * [core]: fix compiler warnings - * [build]: compress package with bzip2 - * [docu]: add installation instructions - * [conf]: sync test script with Oyranos - * [conf]: use -fPIC only on 64-bit builds - * [docu]: nouveau + compiz package on openSUSE - * [core]: add compatibility macro for oy < 201 - * [core]: cache the transformed pixels in memory - * [docu]: add user installation hint - * [core]: fix new rendering bug from #cfbb3ab3 - * [docu]: label the colour transform in ARB code - * [core]: simplify previous commit - * [core]: de-and multiply alpha - * [core]: reduce shader code - * [core]: remove unused variable - * [conf]: bump version - * [docu]: fix typo - * [core]: reorder setupColourTables() - * [core]: add more error messages - * [docu]: _NET_COLOR_DISPLAY_ADVANCED usage - * [core]: support _NET_COLOR_DISPLAY_ADVANCED - * [core]: use Oyranos CMM settings - * [core]: first steps towards compiz 0.9.x - * [docu]: update ChangeLog - -Nicolas Chauvet (1): - * [conf]: apply Fedora patch for pkg-config - -Version 0.8.3 - -Kai-Uwe Behrmann (11): - * [docu]: update ChangeLog - * [conf]: bump version - * conf]: add --regdir and --plugindir to configure - * [conf]: sync test script with Oyranos - * [conf]: fail for compiz - * [docu]: hint about Fedora package for noveau - * [core]: sync X11 and Oyranos contexts - * [core]: fix drawing of window borders - * [conf]: update date - * [core]: ignore ICC_PROFILE_IN_X - * [core]: check before calling XDestroyRegion() - -Version 0.8.2 - -Kai-Uwe Behrmann (15): - * [docu]: update ChangeLog and README - * [conf]: bump version - * [build]: omit make uninstall during install - * [core]: update to libXcm-0.3.0 - * [build]: update to RPM spec - * [core]: rename ICC profile setup function - * [core]: ignore removed _ICC_PROFILE(_xxx) atoms - * [core]: reduce net-color-desktop messages - * [core]: release oy_profile during init - * [core]: debug message from cleanScreenProfile() - * [core]: fix moving of atoms without size - * [core]: support dynamic monitor hotpluging - * [core]: add more verbosity to debug messages - * [core]: init ignore profiles - * [core]: skip sRGB in _ICC_PROFILE(_xxx) - -Version 0.8.1 - -Kai-Uwe Behrmann (11): - * [build]: clean better - * [conf]: bump version - * [build]: switch test variable - * [build]: rename registration to compicc - * [build]: link with Oyranos libs - * [core]: add debug markers - * [build]: explicite compicc.xml in spec file - * [core]: rename internally to compicc - * [core]: hand over through _NET_COLOR_DESKTOP - * [build]: rename colour_desktop.c to compicc.c - * [core]: set _ICC_PROFILE after _NET_COLOR_DESKTOP - -Version 0.8.0 - -Kai-Uwe Behrmann (2): - * [core]: initial commit - * [core]: support live monitor connect - -The previous ChangeLog can be found in Oyranos git. Search for the -colour_desktop.c plugin and dont forget the original authors work. - diff --git a/ChangeLog.md b/ChangeLog.md new file mode 100644 index 0000000..abd5f41 --- /dev/null +++ b/ChangeLog.md @@ -0,0 +1,204 @@ +# ChangeLlog + +# Version 0.8.10 + +### Kai-Uwe Behrmann (22): +* [core]: update on geomentry changes +* [core]: switch only single monitor for _ICC_PROFILE_xxx event +* [core]: check for the need of a update +* [core]: use Oyranos to move profiles around +* [core]: switch to oyMessageFunc_p with oy_debug>0 +* [core]: add more debug output +* [core]: reset Oyranos DB cache to see new DB values +* [core]: add more debug output to observe caching +* [core]: update context key name +* [core]: add atom name to messages +* [core]: reduce profile fetching +* [docu]: describe compiz --debug switch +* [core]: add getScreenProfile() +* [core]: pass through icc_profile_flags variable +* [core]: include Oyranos error in error message +* [core]: better check for profile equality in setupColourTable() +* [core]: update to Oyranos key name macro changes +* [core]: use better qualified key name +* [conf]: bump to 0.8.10 +* [core]: support 30-bit visual without region profiles +* [build]: update spec requirements +* [conf]: bump version + +# Version 0.8.8 + +### Kai-Uwe Behrmann (2): +* [conf]: remove references to unused fltk tests +* [core]: substitute last Net occurence + +### Petr Gajdos (4): +* [core]: move up _BSD_SOURCE +* [conf]: xcm is present fix +* [conf]: remove STRIPOPT variable +* [build]: fix build in oS-factory + +# Version 0.8.7 + +### Kai-Uwe Behrmann (5): +* [core]: add ICM attribute to _ICC_COLOR_DESKTOP +* [core]: remove obsolete client message +* [core]: describe our _ICC_COLOR_DESKTOP attributes +* [core]: observe more XRandR events +* [conf]: bump version + +# Version 0.8.6 + +### Kai-Uwe Behrmann (9): +* [docu]: update requirements to Oyranos >= 0.9.0 +* [core]: compile with oyranos:gsoc2011 branch +* [docu]: add wiki page +* [build]: use spdx.org format for spec file +* [core]: render outputs as well without profile +* [core]: initialise string once +* [build]: require ccsm in spec file +* [build]: require newer Xcm versions in spec file +* [conf]: bump version + +# Version 0.8.5 + +### Kai-Uwe Behrmann (34): +* [build]: minor spec fixes +* [core]: fix unused comment +* [core]: fix wrong variable access from #90d2df89 +* [build]: adapt to openSUSE spec file +* [build]: remove non existent file +* [core]: update to Xcm changes +* [core]: use module provided hash +* [core]: support colour correction to multi monitor +* [core]: count window region +* [core]: use GL_EQUAL in pluginDrawWindow +* [core]: update to x_color_region_target +* [core]: store stencil start per window +* [core]: compute stencil ID during drawing +* [core]: clean up to 200 monitors +* [core]: do not use context description hook +* [core]: tell Oyranos we are a display +* [core]: fix string length array +* [core]: move ICC setup inside +* [core]: omit EDID removal +* [docu]: update NET to ICC atoms prefix +* [conf]: prepare C++ builds +* [conf]: bump libXcm requirement to 0.5 +* [conf]: require libXcm during configure +* [core]: rename net-color spec +* [core]: support per region profiles +* [core]: make allocations fit for C++ +* [core]: modularise CLUT creation +* [core]: add PrivColorContext +* [core]: cache profiles in Oyranos +* [core]: fix debug messages +* [core]: clean unused cruft +* [core]: improve debug clut images +* [conf]: bump version +* [docu]: update ChangeLog + +### Tomas Carnecky (1): +* [core]: remerge with old profile code + +# Version 0.8.4 + +### Kai-Uwe Behrmann (36): +* [conf]: update +* [build]: explicite require compiz for packaging +* [build]: link against basic Compiz libs +* [docu]: fix typo +* [docu]: some more introduction +* [docu]: add more details to the introduction +* [docu]: tell about compiz + nouveau +* [core]: fix double correction for first opt-out +* [core]: report only actual capabilities +* [core]: better check before claim colour managed +* [docu]: resize icon +* [core]: adapt to new public oyHash_s APIs +* [core]: fix compiler warnings +* [build]: compress package with bzip2 +* [docu]: add installation instructions +* [conf]: sync test script with Oyranos +* [conf]: use -fPIC only on 64-bit builds +* [docu]: nouveau + compiz package on openSUSE +* [core]: add compatibility macro for oy < 201 +* [core]: cache the transformed pixels in memory +* [docu]: add user installation hint +* [core]: fix new rendering bug from #cfbb3ab3 +* [docu]: label the colour transform in ARB code +* [core]: simplify previous commit +* [core]: de-and multiply alpha +* [core]: reduce shader code +* [core]: remove unused variable +* [conf]: bump version +* [docu]: fix typo +* [core]: reorder setupColourTables() +* [core]: add more error messages +* [docu]: _NET_COLOR_DISPLAY_ADVANCED usage +* [core]: support _NET_COLOR_DISPLAY_ADVANCED +* [core]: use Oyranos CMM settings +* [core]: first steps towards compiz 0.9.x +* [docu]: update ChangeLog + +### Nicolas Chauvet (1): +* [conf]: apply Fedora patch for pkg-config + +# Version 0.8.3 + +### Kai-Uwe Behrmann (11): +* [docu]: update ChangeLog +* [conf]: bump version +* conf]: add --regdir and --plugindir to configure +* [conf]: sync test script with Oyranos +* [conf]: fail for compiz +* [docu]: hint about Fedora package for noveau +* [core]: sync X11 and Oyranos contexts +* [core]: fix drawing of window borders +* [conf]: update date +* [core]: ignore ICC_PROFILE_IN_X +* [core]: check before calling XDestroyRegion() + +# Version 0.8.2 + +### Kai-Uwe Behrmann (15): +* [docu]: update ChangeLog and README +* [conf]: bump version +* [build]: omit make uninstall during install +* [core]: update to libXcm-0.3.0 +* [build]: update to RPM spec +* [core]: rename ICC profile setup function +* [core]: ignore removed _ICC_PROFILE(_xxx) atoms +* [core]: reduce net-color-desktop messages +* [core]: release oy_profile during init +* [core]: debug message from cleanScreenProfile() +* [core]: fix moving of atoms without size +* [core]: support dynamic monitor hotpluging +* [core]: add more verbosity to debug messages +* [core]: init ignore profiles +* [core]: skip sRGB in _ICC_PROFILE(_xxx) + +# Version 0.8.1 + +### Kai-Uwe Behrmann (11): +* [build]: clean better +* [conf]: bump version +* [build]: switch test variable +* [build]: rename registration to compicc +* [build]: link with Oyranos libs +* [core]: add debug markers +* [build]: explicite compicc.xml in spec file +* [core]: rename internally to compicc +* [core]: hand over through _NET_COLOR_DESKTOP +* [build]: rename colour_desktop.c to compicc.c +* [core]: set _ICC_PROFILE after _NET_COLOR_DESKTOP + +# Version 0.8.0 + +### Kai-Uwe Behrmann (2): +* [core]: initial commit +* [core]: support live monitor connect + +The previous ChangeLog can be found in Oyranos git. Search for the +colour_desktop.c plugin and dont forget the original authors work. + diff --git a/README b/README deleted file mode 100644 index d65ce3f..0000000 --- a/README +++ /dev/null @@ -1,126 +0,0 @@ -Compicc - - The Compiz ICC colour server, or short compicc, lets you colour manage your - whole desktop at once and in hardware. Play movies, watch images on wide or - narrow gamut displays. Each connected monitor is colour corrected for its - own. - - CompICC is written to help the many colour management unaware applications. - It takes them off any decision, what to do around monitor profiles. To do - so CompICC does its work unquestioned. The result is a more consistent - desktop. - - -== Features == - - CompICC uses Oyranos to configure the ICC profiles for each monitor. - The order of monitor configuration inside Oyranos is, first look in the - Oyranos DB for a explicit configured ICC profile, if no then scan - the installed ICC profiles for one matching the to be setup device, if not - generate on the fly from the monitors EDID data block, if not - try from the Xorg log and as a last means take sRGB, if not - fail miserably ;-) - - CompICC is a opt out colour correction mechanism. This means, CompICC does - its work unquestioned. This implicit style of colour management helps to - render a consistent desktop. Naive applications can continue to assume they - are drawing in sRGB. sRGB is the standard colour space for the internet. - There are some applications, which want to do own colour corrections for - displaying large gamut photos, proofing or monitor calibration. Those need - to tell CompICC not to colour correct a certain region of their window to - do advanced colour management of their own. After updating these colour - management aware applications they will work the same as before. Without - updating to the X Color Management specification they see all monitors as - in sRGB, which is not wrong for most of them. Calibration tools need to - support the X Color Management specification to continue to work as - expected. The only workaround for them is to disable CompICC during - calibration and ICC profiling. - - -Internet: - git: git://compicc.git.sourceforge.net/gitroot/compicc/compicc (read-only) - - -Dependencies: - Compiz 0.8.x - Oyranos colour management system >= 0.9.0 - - Debian: - locales - build-essential - libxml2-dev (if you want xml importing/exporting) - - pkg-config - x11proto-xext-dev - libxxf86vm-dev - libxrandr-dev - libxinerama-dev - oyranos-0.9.0 + - doxygen - libxfixes-dev - - Fedora: - compiz-devel - (nouveau might need mesa-dri-drivers-experimental) - - openSUSE: - (nouveau might need http://software.opensuse.org/search?q=Mesa-nouveau3d) - - Debian/Ubuntu: - (nouveau might need libgl1-mesa-dri-experimental) - -Building: - $ ./configure - $ make - $ make install - - for a local build use: - $ ./configure --plugindir=$HOME/.compiz/plugins --icondir=$HOME/.local/share/icons --regdir=$HOME/.compiz/metadata - While that is nice for testing, For a regular installation compiz needs to - see its plugins at starttime, typical registred with system wide ldconfig. - -Install: - The plugin is a library und should be in your library path during compiz - start. For tests the following might be enough, after substituting the path: - $ LD_LIBRARY_PATH=/path/to/my/libs compiz --replace ccp - For normal start I found placing the used path in the system library path - the most relyable way. After substituting the paths name run as root: - $ echo /path/to/my/libs > /etc/ld.so.conf.d/my_libs.conf - $ ldconfig - The Oyranos and other libraries must be made visible to the library loader - in the same way. - -Usage: - Use ccsm to switch the plugin on. Its named Colour Management, but might be - translated according to your locale settings. - Advanced settiging can be activated by setting a root window - Atom called _ICC_COLOR_DISPLAY_ADVANCED to "1". - Setting to "0" will nethertheless update the colour transformations in - CompICC. - Example: - $ xprop -root -format _ICC_COLOR_DISPLAY_ADVANCED 8s -set _ICC_COLOR_DISPLAY_ADVANCED 1 - - The desktop colour server can apply proofing and out of gamut marking - to the whole desktop, except the early colour bind regions, by activating - the _ICC_COLOR_DISPLAY_ADVANCED atom. This is an very specialised feature. - Applications can be synchronised by the Oyranos settings. - -Trouble: - If the plugin is not visible in ccsm, make shure the icon and - registration file is visible to compiz' configuration manager. - - If its clear that the compicc plugin does not run after switching on or - crashes, look in the $HOME/.xsession-errors or similiar named log file. - - If CompIcc runs, but you are not shure if it works, then - a good idea is to use qcmsevents or xprop to look for the - _ICC_COLOR_DESKTOP atom. It should be present on the root window. - $ xprop -root | grep _ICC_COLOR_DESKTOP - A false colour profile is good for clear diagnostic: - $ wget http://www.oyranos.org/wiki/images/c/c0/FakeBRG.icc - $ mv -v FakeBRG.icc ~/.local/shared/color/icc - $ oyranos-monitor FakeBRG.icc - As a result the monitor should swap colours. - - To report bugs you can run compiz with debug info on and send the log text: - $ compiz --replace --debug ccp diff --git a/README.md b/README.md new file mode 100644 index 0000000..039bc18 --- /dev/null +++ b/README.md @@ -0,0 +1,146 @@ +# Compicc README + +![](http://www.oyranos.org/images/compicc_logo.svg) + +The Compiz ICC colour server, or short compicc, lets you colour manage your +whole desktop at once and in hardware. Play movies, watch images on wide or +narrow gamut displays. Each connected monitor is colour corrected for its +own. + +CompICC is written to help the many colour management unaware applications. +It takes them off any decision, what to do around monitor profiles. To do +so CompICC does its work unquestioned. The result is a more consistent +desktop. + + +### Features + +CompICC uses Oyranos to configure the ICC profiles for each monitor. +The order of monitor configuration inside Oyranos is, first look in the +Oyranos DB for a explicit configured ICC profile, if no then scan +the installed ICC profiles for one matching the to be setup device, if not +generate on the fly from the monitors EDID data block, if not +try from the Xorg log and as a last means take sRGB, if not +fail miserably ;-) + +CompICC is a opt out colour correction mechanism. This means, CompICC does +its work unquestioned. This implicit style of colour management helps to +render a consistent desktop. Naive applications can continue to assume they +are drawing in sRGB. sRGB is the standard colour space for the internet. +There are some applications, which want to do own colour corrections for +displaying large gamut photos, proofing or monitor calibration. Those need +to tell CompICC not to colour correct a certain region of their window to +do advanced colour management of their own. After updating these colour +management aware applications they will work the same as before. Without +updating to the X Color Management specification they see all monitors as +in sRGB, which is not wrong for most of them. Calibration tools need to +support the X Color Management specification to continue to work as +expected. The only workaround for them is to disable CompICC during +calibration and ICC profiling. + + +### Links +* [Development & Sources](https://github.com/compiz-reloaded/compicc) +* [Authors](AUTHORS.md) +* [Copyright](COPYING.md) +* [ChangeLog](ChangeLog.md) + +### Dependencies +* Compiz 0.8.x +* Oyranos colour management system >= 0.9.6 + +#### Debian +* locales +* build-essential +* libxml2-dev (if you want xml importing/exporting) + +* pkg-config +* x11proto-xext-dev +* libxxf86vm-dev +* libxrandr-dev +* libxinerama-dev +* oyranos-0.9.6 + +* doxygen +* libxfixes-dev + +#### Fedora +* compiz-devel +(nouveau might need mesa-dri-drivers-experimental) + +#### openSUSE +(nouveau might need http://software.opensuse.org/search?q=Mesa-nouveau3d) + +* [Binaries](http://www.oyranos.org/compicc/) + +#### Debian/Ubuntu: +(nouveau might need libgl1-mesa-dri-experimental) + +### Building + + $ ./configure + $ make + $ make install + +for a local build use: + + $ ./configure --plugindir=$HOME/.compiz/plugins --icondir=$HOME/.local/share/icons --regdir=$HOME/.compiz/metadata + +While that is nice for testing, For a regular installation compiz needs to +see its plugins at starttime, typical registred with system wide ldconfig. + +### Install +The plugin is a library und should be in your library path during compiz +start. For tests the following might be enough, after substituting the path: + + $ LD_LIBRARY_PATH=/path/to/my/libs compiz --replace ccp + +For normal start I found placing the used path in the system library path +the most relyable way. After substituting the paths name run as root: + + $ echo /path/to/my/libs > /etc/ld.so.conf.d/my_libs.conf + $ ldconfig + +The Oyranos and other libraries must be made visible to the library loader +in the same way. + +### Usage +Use ccsm to switch the plugin on. Its named Colour Management, but might be +translated according to your locale settings. +Advanced settiging can be activated by setting a root window +Atom called \_ICC\_COLOR\_DISPLAY\_ADVANCED to "1". +Setting to "0" will nethertheless update the colour transformations in +CompICC. + +#### Example + + $ xprop -root -format _ICC_COLOR_DISPLAY_ADVANCED 8s -set _ICC_COLOR_DISPLAY_ADVANCED 1 + +The desktop colour server can apply proofing and out of gamut marking +to the whole desktop, except the early colour bind regions, by activating +the \_ICC\_COLOR\_DISPLAY\_ADVANCED atom. This is an very specialised feature. +Applications can be synchronised by the Oyranos settings. + +### Trouble +If the plugin is not visible in ccsm, make shure the icon and +registration file is visible to compiz' configuration manager. + +If its clear that the compicc plugin does not run after switching on or +crashes, look in the $HOME/.xsession-errors or similiar named log file. + +If CompIcc runs, but you are not shure if it works, then +a good idea is to use qcmsevents or xprop to look for the +\_ICC\_COLOR\_DESKTOP atom. It should be present on the root window. + + $ xprop -root | grep _ICC_COLOR_DESKTOP + +A false colour profile is good for clear diagnostic: + + $ wget http://www.oyranos.org/wiki/images/c/c0/FakeBRG.icc + $ mv -v FakeBRG.icc ~/.local/shared/color/icc + $ oyranos-monitor FakeBRG.icc + +As a result the monitor should swap colours. + +To report bugs you can run compiz with debug info on and send the log text: + + $ compiz --replace --debug ccp diff --git a/plugin-compicc.svg b/plugin-compicc.svg index 19be74f..9e6fc95 100644 --- a/plugin-compicc.svg +++ b/plugin-compicc.svg @@ -1,6 +1,4 @@ - - + height="128" + width="128"> - + style="stop-color:#babdb6;stop-opacity:1" /> + style="stop-color:#eeeeec;stop-opacity:1" /> + id="linearGradient3678"> + id="stop3680" /> + id="stop3682" /> + id="linearGradient5502"> + id="stop5504" /> + id="stop5506" /> + id="linearGradient5526"> + id="stop5528" /> + id="stop5530" /> + id="linearGradient5534"> + id="stop5536" /> + id="stop5538" /> + id="stop2855" /> + id="stop2857" /> - + id="linearGradient8286" + xlink:href="#linearGradient5502" /> + id="linearGradient8289" + xlink:href="#linearGradient5534" /> + id="linearGradient8292" + xlink:href="#linearGradient4376" /> + id="linearGradient8295" + xlink:href="#linearGradient5502" /> + id="linearGradient8298" + xlink:href="#linearGradient4376" /> + id="linearGradient8301" + xlink:href="#linearGradient4376" /> + id="linearGradient8307" + xlink:href="#linearGradient5526" /> + id="linearGradient8310" + xlink:href="#linearGradient4376" /> + - + id="linearGradient8319" + xlink:href="#linearGradient2853" /> + gradientTransform="matrix(-2.6934876e-6,0.6906818,-0.7025735,-1.3794102e-7,21.993629,-1.2490346)" + cx="15.252953" + cy="2.8720422" + fx="15.252953" + fy="2.8720422" + r="5.5790009" /> + gradientTransform="matrix(-0.3450886,2.1506619,-1.3857715,-0.229431,-9.121993,-60.756663)" + cx="14.487679" + cy="-22.655226" + fx="14.487679" + fy="-22.655226" + r="12.3125" /> + gradientTransform="matrix(0.4493264,0.1548708,-0.2037122,0.5859064,-14.587751,-0.3600312)" + cx="56.704376" + cy="10.241054" + fx="56.704376" + fy="10.241054" + r="14.75" /> + gradientTransform="matrix(0.9767883,0,0,1.0291075,3.3156277,0.9781569)" + cx="8.1435566" + cy="7.2678967" + fx="8.1435566" + fy="7.2678967" + r="38.158695" /> + - + - + gradientTransform="matrix(-0.0248131,-0.756771,0.756567,-0.02481981,8.221918,36.1682)" + x1="33.396004" + y1="36.921333" + x2="34.170048" + y2="38.070381" /> + gradientTransform="matrix(0.331735,0,0,0.353831,20.10526,9.5823)" + cx="31.863327" + cy="2.3667307" + fx="31.863327" + fy="2.3667307" + r="37.751713" /> + + id="radialGradient7966" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1.744653,0,0,1.283833,-26.58256,-3.478359)" + cx="37.030354" + cy="12.98915" + fx="37.030354" + fy="12.98915" + r="4.2929163" /> + style="stop-color:#edeeec;stop-opacity:1;" /> + style="stop-color:#babdb6;stop-opacity:1;" /> + id="radialGradient4085" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1,0,0,0.07407407,0,0.4629607)" + cx="26.812502" + cy="0.49999759" + fx="26.812502" + fy="0.49999759" + r="25.312502" /> + style="stop-color:#000000;stop-opacity:1;" /> + style="stop-color:#000000;stop-opacity:0;" /> - + x1="25.058096" + y1="47.027729" + x2="25.058096" + y2="39.999443" /> + + id="radialGradient2401" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(2.003784,0,0,1.4,27.98813,-17.4)" + cx="4.9929786" + cy="43.5" + fx="4.9929786" + fy="43.5" + r="2.5" /> + style="stop-color:black;stop-opacity:0;" /> + id="stop3710" /> + style="stop-color:black;stop-opacity:0;" /> + style="stop-color:black;stop-opacity:1;" /> + style="stop-color:black;stop-opacity:0;" /> + style="stop-color:#000000;stop-opacity:1;" /> + style="stop-color:#000000;stop-opacity:0;" /> + style="stop-color:#ffffff;stop-opacity:1;" /> + style="stop-color:#ffffff;stop-opacity:0;" /> + id="stop15664" /> + id="stop15666" /> + id="stop270" /> + id="stop271" /> + id="stop260" /> + id="stop261" /> + style="stop-color:#729fcf;stop-opacity:1" /> + style="stop-color:#3465a4;stop-opacity:1" /> + id="stop8756" /> + id="stop8758" /> + x1="1750.4377" + y1="214.13252" + x2="1881.9615" + y2="214.13252" + id="linearGradient2922" + xlink:href="#linearGradient2919" /> + cx="681.2431" + cy="719.17896" + r="50.992435" + fx="681.56183" + fy="718.94183" + id="radialGradient1861" + xlink:href="#linearGradient2919" /> + x1="2438.1489" + y1="-114.34927" + x2="2611.3352" + y2="-114.34927" + id="linearGradient1858" + xlink:href="#linearGradient2919" /> + x1="199.88042" + y1="741.04291" + x2="-92.162003" + y2="831.52612" + id="linearGradient2106" + xlink:href="#linearGradient2102" /> + x1="487.03067" + y1="605.97003" + x2="95.579498" + y2="661.33209" + id="linearGradient2033" + xlink:href="#linearGradient2029" + spreadMethod="pad" /> + cy="753.06787" + r="345.01355" + fx="252.92682" + fy="750.94794" + id="radialGradient1969" + xlink:href="#linearGradient2025" + gradientUnits="userSpaceOnUse" + spreadMethod="pad" /> + offset="0" /> + offset="0.5" /> + offset="1" /> + offset="0" /> + offset="0.09565717" /> + offset="0.33846897" /> + offset="1" /> + offset="0" /> + offset="1" /> + offset="0" /> + offset="1" /> + offset="0" /> + offset="1" /> + offset="0" /> + offset="1" /> + offset="0" /> + offset="1" /> + offset="0" /> + offset="1" /> + offset="0" /> + offset="0.23303448" /> + offset="0.67575932" /> + offset="1" /> + offset="0" /> + offset="1" /> + offset="0" /> + offset="0.5" /> + offset="0.625" /> + offset="0.75" /> + offset="1" /> + offset="0" /> + offset="1" /> + orient="auto" + id="Arrow1L" + style="overflow:visible"> + id="path1779" + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none" /> + orient="auto" + id="Arrow1M" + style="overflow:visible"> + id="path1777" + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none" /> + orient="auto" + id="Arrow1S" + style="overflow:visible"> + id="path983" + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none" /> + orient="auto" + id="Tail" + style="overflow:visible"> + transform="scale(-1.2,-1.2)" + id="g1087"> + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.80000001;stroke-linecap:round;marker-start:none;marker-end:none" /> + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.80000001;stroke-linecap:round;marker-start:none;marker-end:none" /> + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.80000001;stroke-linecap:round;marker-start:none;marker-end:none" /> + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.80000001;stroke-linecap:round;marker-start:none;marker-end:none" /> + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.80000001;stroke-linecap:round;marker-start:none;marker-end:none" /> + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.80000001;stroke-linecap:round;marker-start:none;marker-end:none" /> + offset="0" /> + offset="1" /> + offset="0" /> + offset="1" /> + offset="0" /> + offset="1" /> + offset="0" /> + offset="1" /> + offset="0" /> + offset="0.64531034" /> + offset="1" /> + offset="0" /> + offset="1" /> + offset="0" /> + offset="1" /> + offset="0" /> + offset="0.42903447" /> + offset="1" /> + offset="0" /> + offset="0.13519125" /> + offset="0.33846897" /> + offset="1" /> + offset="0" /> + offset="1" /> + orient="auto" + id="Arrow2L" + style="overflow:visible"> + id="path1916" + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" /> + orient="auto" + id="TriangleOutL" + style="overflow:visible"> + id="path1870" + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none" /> + orient="auto" + id="DistanceOut" + style="overflow:visible"> + transform="matrix(-0.6,0,0,0.6,-4.8,0)" + id="g990"> + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none" /> + style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#000000;stroke-width:1.2pt;marker-start:none" /> + orient="auto" + id="DistanceIn" + style="overflow:visible"> + transform="matrix(0.6,0,0,0.6,4.8,0)" + id="g987"> + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none" /> + style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#000000;stroke-width:1.2pt;marker-start:none" /> + orient="auto" + id="Legs" + style="overflow:visible"> + transform="scale(-0.7,-0.7)" + id="g1163"> + transform="matrix(0,-1,-1,0,20.70862,21.31391)" + id="g2032"> + style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none" /> + style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none" /> + style="fill:#030300;fill-rule:evenodd;stroke-width:1pt;marker-end:none" /> + style="fill:#030300;fill-rule:evenodd;stroke-width:1pt;marker-end:none" /> + orient="auto" + id="Torso" + style="overflow:visible"> + transform="scale(0.7,0.7)" + id="g2045"> + style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#000000;stroke-width:1.25;marker-start:none;marker-mid:none;marker-end:none" /> + style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-end:none" /> + style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none" /> + x="-10.391706" + y="-1.7408575" + transform="matrix(0.527536,-0.849533,0.887668,0.460484,0,0)" + id="rect2035" + style="fill-rule:evenodd;stroke-width:1pt;marker-end:none" /> + x="4.9587269" + y="-7.9629307" + transform="matrix(0.671205,-0.741272,0.790802,0.612072,0,0)" + id="rect2036" + style="fill-rule:evenodd;stroke-width:1pt;marker-end:none" /> + id="path2037" + style="fill:#ff0000;fill-opacity:0.75;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none" /> + id="path2038" + style="fill:#ff0000;fill-opacity:0.75;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none" /> + orient="auto" + id="Club" + style="overflow:visible"> + id="path1015" + style="fill-rule:evenodd;stroke:#000000;stroke-width:0.74587913pt;marker-start:none" /> + orient="auto" + id="CurveIn" + style="overflow:visible"> + id="path942" + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none" /> + offset="0" /> + offset="1" /> + offset="0" /> + offset="1" /> + offset="0" /> + offset="0.5642069" /> + offset="1" /> + offset="0" /> + offset="1" /> + offset="0" /> + offset="1" /> + offset="0" /> + offset="1" /> + offset="0" /> + offset="1" /> + offset="0" /> + offset="0.32765517" /> + offset="1" /> - - + id="radialGradient2860" + xlink:href="#linearGradient2025" /> + - + - + id="radialGradient2876" + xlink:href="#linearGradient2919" /> + + y1="214.13252" + x1="1750.4377" + gradientTransform="matrix(0.01490749,0,0,0.1253592,44.370042,-12.293312)" + gradientUnits="userSpaceOnUse" + id="linearGradient2882" + xlink:href="#linearGradient2919" /> - - - @@ -1279,7 +1186,7 @@ - Zoom + @@ -1302,137 +1209,132 @@ + transform="translate(0,96)" + id="layer1"> + transform="translate(-42.70823,29.563374)" + id="layer6" /> + style="display:inline" /> + id="g2637" /> + d="m 7.4485811,-66.897636 c -0.8303512,0 -1.4586909,0.658394 -1.4586909,1.528451 l 0,21.398294 c 0,0.870059 0.6283397,1.528455 1.4586909,1.528451 l 1.4586904,-1.528451 0,48.910481 -1.4586904,-1.5284549 c -0.8303512,0 -1.4586909,0.6583917 -1.4586909,1.5284549 l 0,19.86987 c 0,0.87006 0.6283397,1.528455 1.4586909,1.528455 l 20.4216729,0 c 0.83035,0 1.458692,-0.658391 1.458692,-1.528455 l -1.458692,0 75.851926,0 -1.45869,0 c 0,0.87006 0.62834,1.528455 1.45869,1.528455 l 18.96297,0 c 0.83035,0 1.45869,-0.658395 1.4587,-1.528455 l 0,-19.86987 c 0,-0.8700632 -0.62834,-1.5284549 -1.4587,-1.5284549 l 0,1.5284549 0,-48.910481 0,1.528451 c 0.83035,0 1.4587,-0.658392 1.4587,-1.528451 l 0,-21.398294 c 0,-0.870061 -0.62834,-1.528451 -1.4587,-1.528451 l -18.96297,0 c -0.83035,0 -1.45869,0.658386 -1.45869,1.528451 l 1.45869,1.528455 -75.851926,0 1.458692,-1.528455 c 0,-0.870061 -0.628342,-1.528451 -1.458692,-1.528451 l -20.4216729,0 z" /> + y="-65.995483" + x="7.1498137" + height="86.652802" + width="111.43515" /> + transform="matrix(-2.927804,0,0,-3.0035915,130.42158,48.740636)"> + d="M 11.5,10.013768 4.013757,17.500012 C 3.729135,17.500012 3.5,17.270877 3.5,16.986255 l 0,-6.972487 C 3.5,9.7291462 3.729135,9.5000105 4.013757,9.5000105 l 6.972486,0 c 0.284622,0 0.513757,0.2291357 0.513757,0.5137575 z" /> + d="m 41.986242,17.50001 -7.486244,-7.486243 c 0,-0.284622 0.229135,-0.513757 0.513757,-0.513757 l 6.972487,0 c 0.284622,0 0.513758,0.229135 0.513758,0.513757 l 0,6.972486 c 0,0.284622 -0.229136,0.513757 -0.513758,0.513757 z" /> + y="-61.896385" + x="11.269705" + height="78.390083" + width="103.16313" /> + d="M 4.5662691,0.63574535 26.484525,23.206501 c 0,0.858121 -0.670861,1.548956 -1.504181,1.548956 l -20.4140749,0 c -0.833318,0 -1.5041835,-0.690835 -1.5041835,-1.548956 l 0,-21.0217952 c 0,-0.8581287 0.6708655,-1.54896045 1.5041835,-1.54896045 z" /> + d="m 7.2142531,9.5760493 0,10.7593197 L 18.040969,20.59313 7.2142531,9.5760493 Z" /> + transform="matrix(2.927804,0,0,3.0035915,-4.2574243,-95.43176)"> + d="M 11.5,10.013768 4.013757,17.500012 C 3.729135,17.500012 3.5,17.270877 3.5,16.986255 l 0,-6.972487 C 3.5,9.7291462 3.729135,9.5000105 4.013757,9.5000105 l 6.972486,0 c 0.284622,0 0.513757,0.2291357 0.513757,0.5137575 z" /> + d="m 41.986242,17.50001 -7.486244,-7.486243 c 0,-0.284622 0.229135,-0.513757 0.513757,-0.513757 l 6.972487,0 c 0.284622,0 0.513758,0.229135 0.513758,0.513757 l 0,6.972486 c 0,0.284622 -0.229136,0.513757 -0.513758,0.513757 z" /> + d="M 26.484519,-68.584905 4.5662654,-46.09931 c -0.8333172,0 -1.5041798,-0.688225 -1.5041798,-1.543119 l 0,-20.942476 c 0,-0.854887 0.6708626,-1.543116 1.5041798,-1.543116 l 20.4140726,0 c 0.833321,0 1.504181,0.688229 1.504181,1.543116 z" /> + d="M 121.21085,-46.100329 99.63404,-68.585911 c 0,-0.854891 0.66041,-1.543116 1.48075,-1.543116 l 20.09606,0 c 0.82034,0 1.48076,0.688225 1.48076,1.543116 l 0,20.942467 c 0,0.854894 -0.66042,1.543115 -1.48076,1.543115 z" /> + d="m 103.11649,-68.102579 2.25606,2.276234 0.40285,0.421522 3.54525,0 8.70194,0 0,9.104925 0,3.709412 0.40285,0.421528 2.17553,2.360527 0,-3.28788 0,-13.657387 0,-1.348881 -1.28919,0 -13.05291,0 -3.14238,0 z" /> + d="M 99.679612,23.213554 121.20061,0.72793295 c 0.81822,0 1.47692,0.68822935 1.47692,1.54312065 l 0,20.9425004 c 0,0.854887 -0.6587,1.543116 -1.47692,1.543116 l -20.04408,0 c -0.8182,0 -1.476918,-0.688229 -1.476918,-1.543116 z" /> + d="m 107.02766,21.495317 11.39078,-0.966602 0,-10.8882001 -11.39078,11.8548021 z" /> + d="m 22.922047,-68.038869 -2.296499,2.468998 -0.410091,0.457221 -3.608786,0 -8.8579286,0 0,9.875972 0,4.023546 -0.410087,0.457226 -2.2144841,2.560425 0,-3.566315 0,-14.813965 0,-1.463108 1.3122858,0 13.2868949,0 3.198695,0 z" /> + id="g8230" + transform="translate(-43.887758,-37.625313)" /> + transform="translate(-43.887758,-37.625313)" /> + transform="translate(-56.152888,9.874677)" /> + id="layer2" + transform="translate(-59.738344,-125.39101)" /> + d="m 34.906918,-69.431008 c 0,30.28274 0,49.004186 0,79.2869281 29.334506,0 37.473265,0 66.807782,0" /> + id="g1821" + transform="matrix(0.17204611,0,0,0.17204611,-2.6708774,-101.81705)"> + width="402.79886" + y="252.48062" + x="200.38164" + xlink:href="data:image/png;base64,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 tX1ym1BYX2xDqrY/1e+n0T6xhWnoNqfqvP+vufWND4X1veP418LQLUxpfd/P6fFzNtuTxzQ2Abvh JAIAFuL4PicSwG4IEQCwIIIEsAtCBAAsjCABDE2IAIAFEiSAIQkRALBQggQwlL1rZ1qtVqvuRz6w 3nzb39rWW5KqLUxjtScN3S41dItU/3g+7UzDtiS1+7pq8xeGr+timF8I89SqVG5bCg9nvVWp2vJU bHMKbUUH2+vhfsI+xdap1OpTb3kauIWp2f6hnenGYVgf5jcuhfVXw7x33KyFqdoW1dvadM9me3JZ axPQlpMIAFi44wtOJIC2hAgA2AOCBNCSEAEAe0KQAFoRIgAAgBIhAgD2yPGFzdaJBHBee9nOtFqt VqsbB2doSQqm1uY02j7947g+1Ys0a3+qru8fj9YKFdpp2rU8pf375/eH614I+x8OPD+IrUfVedi/ 2M4U25Niy1D/+um1JPWOR2xhSvuEdqbyddM+D/fOVzceD+v7l7dqbcrPG6efHx9stic3tDYBZ7O3 JxHdj73fEycAe+147UQCOJu9DREAgCABnI0QAQB7TpAAqoQIAECQAEqECABgtVoJEsDp7W8702p1 h3aaVu1G6bojtSeV25Ba3c9I7U+jrR+rFSrMY7tLbf97wzy1Mx21amGKrUfF9cV5tR0o3U9c36j9 KbX35H2qbUXhukO3MDVrbao9z+eWp8MwD3+N3ngkXLd/XGlVOtM+hfXHq8325EBrE3BnTiIAgGc5 vuZEArizvQ4R3SvVvAJAH0ECuJO9DhEAQCZIAIkQAQBEggTQR4gAAO5IkAButd/tTKvVatXXxNGq bSn9C3NpcxqtVWlq7U9jtS01amdKLWQ3+r+u54V97im3M/Vf9zC2FdXmh6F1p7pPfd47PkNLUtin UfvTenu9fx73qc4btTwN3MLUbn1qbUotT6nN6cGwvnc8XptT39wrBuAmTiIAgLs6vuw0AviIvQ8R 3U/8oYYmADiF4ycFCeApex8iAIDTEySA1UqIAACKBAlAiAAAygQJ2G+6Flar29trmrUYpevNZf+h 95lL+1N1/7HWt9nn+eHhuVhuYerf6DDsU52ntqLUnhRblarzcgtTq7ai6nWr+xdbqoZuQxq8hSm1 Kg29f/9fu+sbH+qdx5/foducTrn/8WOb7clzOp8thD3kJAIAOLPjx5xIwD4SIlarVfeqP/BbFAA4 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 " /> + transform="translate(7.83199,-17.23038)" + d="m 390.03312,512.73804 c 0,9.08353 -7.36365,16.44718 -16.44718,16.44718 -9.08353,0 -16.44718,-7.36365 -16.44718,-16.44718 0,-9.08353 7.36365,-16.44718 16.44718,-16.44718 9.08353,0 16.44718,7.36365 16.44718,16.44718 z" /> + d="m 77.874556,-4.4503237 c 0.009,0.02299 0.02865,0.073369 0.02951,0.075567" />