bugMyPaint - Bugs: bug #20131, [color-management] Support XICC...

 
 
Show feedback again

You are not allowed to post comments on this tracker with your current authentification level.

bug #20131: [color-management] Support XICC (display color profiles)

Submitted by:  Andrew Chadwick <achadwick>
Submitted on:  Mon 03 Sep 2012 01:20:38 PM UTC  
 
Severity: 3 - NormalPriority: 5 - Normal
Status: PostponedPrivacy: Public
Assigned to: NoneOpen/Closed: Closed
Release: Planned Release: None
Operating System: 

Mon 23 Jun 2014 05:54:59 PM UTC, comment #3:

Migrated to github up front (as a post-1.2 issue), since it's a fairly important one: https://github.com/mypaint/mypaint/issues/6

Andrew Chadwick <achadwick>
Project Administrator
Sat 05 Jan 2013 01:43:44 PM UTC, comment #2:

Related: bug #19537

Jon Nordby <jonnor>
Project Administrator
Sat 05 Jan 2013 01:41:16 PM UTC, comment #1:

Should we really attempt to handle XICC, manual selection of .icc profiles ourselves? Why not use colord instead?
http://www.freedesktop.org/software/colord/

In recent GTK+3 versions it is already a dependency.

Jon Nordby <jonnor>
Project Administrator
Mon 03 Sep 2012 01:20:38 PM UTC, original submission:

MyPaint should support the ICC Profiles In X Specification when running under X11, and also permit a display profile to be set explicitly in the preferences under non-X11 environments. It would be nice to offer three options:

  • No display colour management
  • Manual display colour management using an on-disk .icc profile
  • Automatic display colour management using XICC

It's relatively easy to get an ICC profile from X for the single-screen case:

The GDK monitor number which corresponds with XICC's concept of a "screen" number. Inkscape builds an "_ICC_PROFILE_%d" from gdk_screen_get_n_monitors() indices, and reads the property via the root window of the screen: https://bazaar.launchpad.net/~inkscape.dev/inkscape/trunk/view/head:/src/ege-color-prof-tracker.cpp

Possibly connect to the main window's configure-event to figure out the display profile to use at configure time. What we'll lack under PyGTK is any tracking or monitoring of ICC profile changes if the user doesn't also reconfigure the window. For that, Inkscape uses a GDK event filter on the root window and decodes the changes via the X11 APIs, however PyGTK doesn't have that available, and all a PyGTK event filter sees is a stream of "<enum GDK_NOTHING of type GdkEventType>"s.

If necessary, we can write the event filter in C and have it call a Python callback like the one above.

Certainly, the display code will need to be updated to actually use the gleaned ICC information: I'm envisaging a pipeline like

Andrew Chadwick <achadwick>
Project Administrator

 

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -unavailable- added by jonnor (Posted a comment)
  • -unavailable- added by achadwick (Submitted the item)
  •  

    Do you think this task is very important?
    If so, you can click here to add your encouragement to it.
    This task has 0 encouragements so far.

    Only logged-in users can vote.

     

    Please enter the title of George Orwell's famous dystopian book (it's a date):

     

     

    Follow 3 latest changes.

    Date Changed By Updated Field Previous Value => Replaced By
    Mon 23 Jun 2014 05:54:59 PM UTCachadwickStatusWish=>Postponed
      Open/ClosedOpen=>Closed
    Sat 05 Jan 2013 01:43:44 PM UTCjonnorSummarySupport XICC (display color profiles)=>[color-management] Support XICC (display color profiles)
    Show feedback again

    Back to the top


    Powered by Savane 3.1-cleanup