Hacking:TODO

From GIMP Developer Wiki
Jump to: navigation, search

2.10

This list is all 2.10 bugs with 2.10 milestone sorted into:

  • 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

# 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
Exporting animation barely works after the GEGL port work in progress
MyPaint brushes on its own package work in progress https://github.com/mypaint/mypaint/pull/538
Replace HSV selector with LCH, allow using floats in color selectors Yes L, C, and H now available as selection criterion in Git master
#316479 The Perspective Tool creates an empy image instead of transforming it Yes #768d066
#723213 colors/levels/auto is broken for high bitdepth images Yes fcecafa
#728607 Patch to make divide blend mode work at 32-bit floating point Yes 60847cc
#736701 LCMS2 rounding errors cause problems with certain GIMP blend modes Yes 0ce364e
#753412 New Canvas rotation feature rotates brush No
#762443 Levels tool Output Level sliders works incorrectly No

Would be nice to have

# Description Status Comment
#51112 Support layer masks on layer groups No it's originally among 2.10 goals, so maybe it's a blocker?
#122862 Some settings in Tool Options are too long work in progress Mostly done, still need to set the "ellipsize" property of the combos
#158192 add thumbnail loader for TIFF images No new tiff plugin needs checking
#320447 Fast switching between "color managed display" and "softproof" work in progress Elle is unhappy, there seems to be a compromise reached
#344684 Greyscale (no alpha) clipboard brushes are of the wrong type Yes bcc3437
#357818 TWAIN plug-in should skip scanner selection if there is just one scanner available work in progress patches are in the bug-357818 branch
#358141 Add session management for plug-in windows work in progress patch with a workaround available
#363738 pick better size and position of the initial image window No patch prototyped only
#382688 Export layers as pages to PDF file work in progress available patch doesn't apply to master anymore
#553855 Bucket fill colour is always blended with filled pixel colour when threshold > 0 Yes 572d556
#556608 Monitor color profile is not applied to filter preview Yes 9c99d61
#575744 exif tags and embedded color space profile not synchronized No
#589371 Improve default set of resources work in progress Patches available
#599573 Remember dialog defaults between Gimp sessions work in progress
#601821 Retrieve multiple images from TWAIN data source work in progress patches are in the bug-357818 branch
#637313 Should be possible to copy/paste whole layers in a single step Yes 67863da
#640613 support for exporting CMYK TIFF format work in progress the code needs to be integrated into the existing TIFF plug-in
#642938 scripts that require brushes that GIMP no longer installs work in progress initial patch available
#648776 Mirror painting work in progress
#661953 Modernize autotools configuration No initial patch provided, didn't pass sanity check
#664748 Move Tool doesn't move No
#667862 Allow mouse to optionally configure tablet devices Yes 439a3ff
#676768 Filters not working on layer groups No
#690265 libgimp/gimptilebackendplugin.c provides no pyramid No probably is a blocker
#706309 GIMP does not display “Save As” button In “Quit GIMP” pop up Yes 0089a01
#727270 Proposal to add gimp_metadata_set_from_iptc Yes fixed in numerous commits as part of adding metadata editor
#728633 Improvements to the file-raw plugin Yes branch bug-728633 merged to Git master
#731279 Tool Preset Editor not working correctly Yes d1e3d7c
#735895 Precision Conversion "Dithering" dialog Yes 0631f1c
#735992 Add more resolutions/templates to the New file dialog of GIMP work in progress Patch available in the icons-wip branch
#743034 file-tiff-load crashes if I try to open a BigTIFF file No needs to be checked against the new tiff loader
#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
#748060 Force parameter on Tool Options is ignored when there is dynamics force Yes Cannot be reproduced anymore
#750180 Fix different ways of writing Plug-in Plug-In Plugin Yes bc344a9
#750940 Make the histogram (dialog, Levels, Curves, etc) default to show RGB instead of Value work in progress patch available
#751548 Support for Cineon and DPX file formats No Outdated initial plugin available, needs much work
#757057 The installation of .dll's into the plug-ins-subdirectory by additional plug-ins can cause malfunction of others No
#759904 Some icons can't be set from the icon theme Yes 15d9f4a
#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
#766988 Colors applied to images are not color managed Yes Fixed in multiple commits
#767650 Uncommitted scissors selection is discarded in cases where some other selections get committed Yes b4120e3
#768772 Apply dynamics to MyPaint brush No
#769550 Test GTK+ patch for keyboard shortcuts for non-English locales work in progress We only need to test the patched GTK+, then bump deps
#769820 Cannot enter Iptc information when no metadata is available and fails to write it to file when it is Yes fixed in numerous commits as part of adding metadata editor
#769960 animated WebP loader is not properly handling blending and transparency Yes 252da1b
#769976 [PATCH] Save as JPEG ignore quality setting Yes 07eb13c
#770171 Mypaint eraser won't work unless there is an alpha channel Yes
#770241 GeglBuffer leaks when using GIMP to cut a selection No
#770424 Themes: insensitive menu item are not readable No
#772126 Toolbox left panel resizes itself and can't be reset to the original narrower width No
#772785 Quit dialog should exit when all the images in the list have been saved. Yes 5e7d9d8
#774622 Transform Tools handles on canvas No
#774890 "Keyboard shortcuts" dialog does not show all actions No
#774971 Display errors outputted by GEGL Yes 6c2658e
#775002 Vertical black lines appear to the left and right of the eye and chain icon on mouse hover in the Layers dock No
#775134 mypaint-brush: Saved color in a brush isn't taken into account No
complete the Unified Transform tool No
complete the Warp Transform tool Yes
complete the Handle Transform tool Yes
complete the Seamless Clone tool No
public API for handling text layers data, so that the PSD plugin could make use of text layers No
merge and complete the new unit entry widget No probably should be rewritten from scratch

3.0

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

Roadmap