From GIMP Developer Wiki
Revision as of 21:30, 29 August 2016 by Prokoudine (Talk | contribs)

Jump to: navigation, search


Blocks the release = something that had worked before got broken / only partially works after major changes

Would be nice to have = feature request we have no time for, or a minor bug that doesn't affect too many people

Blocks the release


Column 'Status' :

not done
work in progress
# Description Status Comment
test and fix the merged PSD GSoC branch Yes
port all file plugins to GEGL and GIO work in progress
deprecate all of libgimp/gimpcolor_pdb.h, replacements in libgimp/gimpdrawablecolor_pdb.h No
#762443 Levels tool Output Level sliders works incorrectly No
#519503 Healing Tool - Sample Merged option does not work No
#723213 colors/levels/auto is broken for high bitdepth images No
#728607 Patch to make divide blend mode work at 32-bit floating point work in progress initial patch available
#736701 LCMS2 rounding errors cause problems with certain GIMP blend modes No LCMS dependency has to bump to demand v2.7+
#753412 New Canvas rotation feature rotates brush No
#316479 The Perspective Tool creates an empy image instead of transforming it work in progress initial patch available
MyPaint brushes on its own package work in progress https://github.com/mypaint/mypaint/pull/538

all 2.10 bugs with 2.10 milestone

Would be nice to have

# Description Status Comment
#344684 Greyscale (no alpha) clipboard brushes are of the wrong type
#363738 pick better size and position of the initial image window
#676768 Filters not working on layer groups No
#553855 Bucket fill colour is always blended with filled pixel colour when threshold > 0
#664748 Move Tool doesn't move
#637313 Should be possible to copy/paste whole layers in a single step
#122862 Some settings in Tool Options are too long
#667862 Allow mouse to optionally configure tablet devices
#358141 Add session management for plug-in windows work in progress patch with a workaround available
#640613 support for exporting CMYK TIFF format work in progress outdated patch available
#745360 Feature-Request n-point-deformation tool work in progress probably won't have the time to polish it to enable by default for 2.10
#750940 Make the histogram (dialog, Levels, Curves, etc) default to show RGB instead of Value work in progress patch available
#727270 Proposal to add gimp_metadata_set_from_iptc No
#735895 Precision Conversion "Dithering" dialog No
#743034 file-tiff-load crashes if I try to open a BigTIFF file No needs to be checked against the new tiff loader
#575744 exif tags and embedded color space profile not synchronized
#757057 The installation of .dll's into the plug-ins-subdirectory by additional plug-ins can cause malfunction of others
#751548 Support for Cineon and DPX file formats No Outdated initial plugin available, needs much work
#748060 Force parameter on Tool Options is ignored when there is dynamics force
#51112 Support layer masks on layer groups No it's originally among 2.10 goals, so maybe it's a blocker?
#690265 libgimp/gimptilebackendplugin.c provides no pyramid No probably is a blocker
#765163 Properly support the new-style built-in full screen mode of Mac OS X (version 10.7 and later) No depends on changes in GTK+, needs checking
#556608 Monitor color profile is not applied to filter preview work in progress most likely should be closed as resolved
#750180 Fix different ways of writing Plug-in Plug-In Plugin No available patch didn't pass sanity check
#661953 Modernize autotools configuration No initial patch provided, didn't pass sanity check
  • complete the Unified Transform tool
  • complete the Warp Transform tool
  • complete the N-Point Transform tool
  • complete the Seamless Clone tool
  • public API for handling text layers data, so that the PSD plugin could make use of text layers
  • merge and complete the new unit entry widget


Blocks the release

  • make sure all custom widgets are themed on GTK+3

Would be nice to have

To be decided upon.

Mindstorm: Miscellaneous ideas

This chapter is a very un-organized list of ideas/suggestions that were discussed by GIMP developers. It contains enough ideas for enhancement requests and other small changes, and it should be the perfect place for new GIMP developers to find an idea on what should they do.

I'm rating the ideas by an approximation of how hard do they seem so you'll know what to tackle first. However, remember that this is just an approximation.

More accepted separator characters inside GimpNumberPairEntry

Estimated Hacking level: easy

GimpNumberPairEntry is the widget used in all the rectangle selection tools, for specifying the ratio between the width and height of the selection. This widget is like a regular entry, except for the fact that it can accept two numbers separated by some predefined separator character.

It was recently discussed on the IRC (July 2010) that GimpNumberPairEntry's should have the possibility of accepting any non-digit character as a separator. For example :/ are a valid separators for ratios, xX,are a valid separators for exact sizes and in some cases even more separators would be considered logical.

Instead of trying to guess what should be considered a valid separator, it was suggested that any non-digit character would be accepted as a separator (we don't say that just punctuation characters are valid since then we ignore x and X). Now, in order to not change the api of the widget we can't omit the separator argument on the constructor.

We should either add a new function that enables using any non-digit character as a separator or make this the default behaviour. If anyone wants to do this, consult guiguru before also about what to do with erroneous inputs (such as "100:50:20" - should this be 100 and 50? or maybe 100 and 5020? The current behaviour is that if an erroneous input is given, it's ignored and the previous state is restored).

Export/Save specifications for non-dirty (clean) images

Estimated Hacking level: ?

Should we allow to re-export/re-save an image which was opened and no changes were made to it?

In addition to the fact that there doesn't seem to be any reason to export what you just imported back to the same file, this may even cause loss of quality/information. For example, when using lossy formats such as JPEG you will probably lose quality with each time you import and then export. Also,this is especially critical with images that were imported from one of the non-native formats (i.e. non XCF formats) since we may loose information in every such export (For example, gimp can import PSDs and ignore features it doesn't support, but if we re-export it the original information which is not supported by gimp will be lost). It doesn't seem smart to encourage this loss of quality and information...

Note that this should probably be consistent between saving and exporting; We won't allow saving an image to the original file if it wasn't modified only if we also apply the same restriction on exporting.

One last note: some file plugins import images and make changes to them during the import (for example, the JPEG plugin can rotate an image during import based on it's exif data). Should we allow these plugins to mark the imported image as dirty so that it can be saved again? [Editors note]: As far as I know there is no function to mark an image as dirty, so this will probably require the addition of a new PDB procedure.

Add support for angular guides

Estimated Hacking level: Easy-Medium Medium-Hard

In short: add support for guides with an arbitary angle (and not limited to 0 degrees/90 degrees. You'll need to take a look (at least) at the following files app/display/gimpdisplayshell-draw.c, app/core/gimpimage-guides.c, app/core/gimpguide.c).

Edit: Actually, any api change you'll make to existing function will force you to change these:

  • app/core/gimpimage-guides.c
  • app/core/gimpguideundo.c
  • app/core/gimpimage-flip.c
  • app/core/gimpguideundo.h
  • app/core/gimpguide.c
  • app/core/gimpimage-duplicate.c
  • app/core/gimpimage-crop.c
  • app/core/gimpimage-arrange.c
  • app/core/gimpimage-scale.c
  • app/core/gimpimage-snap.c
  • app/core/gimpimage-rotate.c
  • app/core/gimpimage-resize.c
  • app/display/gimpdisplayshell-expose.c
  • app/display/gimpdisplayshell-draw.c
  • app/tests/test-xcf.c
  • app/tools/gimpaligntool.c
  • app/tools/gimpmovetool.c
  • app/xcf/xcf-save.c

That's many many files - so annoying... It may be easier to introduce angular guides as new types of objects...

Support capturing the cursor inside the Screenshot plugin for Windows

Estimated Hacking level: Easy (If you have some windows programming expirience)

As the title states, unlike the unix version of the screenshot plugin, the windows version can not capture the cursor. Adding a support for this would be great! For thos who want to get a reference, you can see an article about how to get the bitmap of the cursor here: http://msdn.microsoft.com/en-us/magazine/cc301524.aspx. Note that some of the links in the article are broken, but you should be able to find the ones with the code.

Support layer modes/masks in transform previews

Estimated Hacking level: ?

Layer blending modes are currently disabled during transformation previews, due to the fact that they require a bit more processing. A small enhancement would be to add a check-box to enable layer modes during transformation previews. This is sometimes essential for getting the transformation right =) The same goes for enabling layer masks during transformation previews.

Support selecting guides by location with the align tool

Estimated Hacking level: Easy-Medium

Allow to pick a guide by it's x/y location with the align tool instead of fighting the cursor to select it

Create a plugin for laying out text inside the selection

Estimated Hacking level: ? Requires some knowledge of pango and cairo

Create a plugin that will allow taking a text layer and adding spaces/line-breaks so that it will flow into the selection. You may get some basic hints on how to do this from the following mail that was sent to the Pango mailing list - http://www.mail-archive.com/gtk-i18n-list@gnome.org/msg01373.html

See also