After the quick feedback that I got on IRC, I think that I should
clarify a few things...

If I understood correctly what Peter was suggesting some time ago,
this was about making sure that the XCF files contain all the
information necessary to continue your work in such a way that it
would make no difference if you close GIMP and reload the XCF file(s)
or if you just continue working without closing GIMP in the meantime.

Of course there are some conflicting goals here: XCF was not designed
as a "save workspace" format that would include all open images (not
just one) and the complete state of the user interface including
window positions, tool state, etc.  And personally, I do not think
that we should go in that direction because that would belong to a new
"GIMP workspace" file format that would not be an image file format
like XCF is supposed to be.  I deliberately included the examples
about tools and plug-ins in my previous mail because I wanted to see
how other developers would react.  And it looks like mitch reacted
strongly on IRC. ;-)

However, if you consider only the information that is directly related
to each image, then it would make sense to save as much of it as
possible in the XCF file so that it makes (almost) no difference if
you close GIMP and re-open the XCF file or if you just continue
editing it.

So here is a short list of what I think makes sense to include in XCF
- All image parasites and layer/drawable parasites.  They should all
  be persistent - no reason to have exceptions.
- All settings of file plug-ins, because these settings should be
  associated with each image (e.g., using image parasites) instead of
  using global last vals.  It does not make sense to save the
  settings of other plug-ins (filters) because these are usually
  shared globally and would change if you load/save several images.
- Some other image data that is currently in internal data structures
  and not in parasites.  For the file name, the best solution may be
  to keep the current get/set_filename() functions using the internal
  file name (which would change once the file is reloaded from XCF)
  but add a new gimp-file-name or gimp-original-file-name parasite so
  that it is still possible to associate an image with its original

Gimp-developer mailing list

Reply via email to