In order to effectively collaborate on this huge porting task, the
first step is to agree on exactly what we want to do.
In an effort to organize this, add gegl-porting-plan.txt to
devel-docs. In this document, we can describe how we want the port to
be done. This is not only for ourselves, but will also be useful for
non-core contributors.
Make writing BITMAPV5HEADER color space information optional since
there are compatibility problems with writing color space
information. Unity 3D and BlitzMax have been reported to not support
such BMP images.
Make gimp_image_get_uri() and gimp_image_get_filename() behave as in
the GIMP 2.6 days. Add new functions gimp_image_get_xcf_uri(),
gimp_image_get_exported_uri() and gimp_image_get_imported_uri().
Refactor GimpImageWindow session management. As far as session
management goes, there are four states and four transitions that are
interesting.
The states are:
State Window mode Images opened
------------------------------------------
s1 swm 0
s2 swm >0
s3 mwm 0
s4 mwm >0
The transitions are:
Transition Description
-------------------------------------------
t1 Enter single-window mode (swm)
t2 Enter multi-window mwm (mwm)
t3 Open an image
t4 Close an image
When thinking of it like this, it is pretty easy to see when to call
gimp_image_window_session_clear() and when to call
gimp_image_window_session_apply(). So kill
gimp_image_window_set_entry_id() and handle all transitions in
gimp_image_window_session_update().
Distribute dock windows better when switching off single-window
mode. First, create one dock window per side of the image window
rather than one dock window per dock. Secondly, move the left docks to
the upper left corner of the screen, and the right docks to the upper
right corner.
Add a "check-for-deprecated-procedures-in-script-fu" make target that
looks for usage of deprecated procedures in *.scm files. We currently
use quite a bit of deprecated procedures. When we don't do that
anymore, we should connect this to make check somehow so our nightly
build fails if someone deprecated a procedures without also porting
all clients.
Run it like this from the source root:
make -C plug-ins/script-fu check-for-deprecated-procedures-in-script-fu