This is a (growing) guide for those who design interaction for GIMP, concentrating on how solutions can be fitted into the overall interaction framework, constraints and how things interconnect.
 global factors
There is a 90% chance for each of the following factors to play a role while you design something for GIMP.
The current selection always masks whatever image manipulation is undertaken at this moment. The selection is global for the file, not specific for the layer that is worked upon.
 copy, paste &tc.
Many things in GIMP can be copied, cut, pasted, duplicated, deleted (&tc.). All of this can can be done with the standard Edit menu (including its keyboard shortcuts). Context is everything.
 right-click menu
A right-click menu is a way to provide a shortcut to often used commands on a discrete object (quick test for a discrete object: can it be highlighted with a left-click?). However, it can only be a shortcut, never the only way to perform a command. First the normal, visible, highly discoverable—and maybe a bit slower—way of invoking all the commands needs to be designed. Examples: menubar items; buttons or a small menu in a dialog. Only when that is complete, can thought be spent on what should go in the right-click menu.
 widget shape unknown
GIMP is cross-platform. Well, there is no such thing as cross-platform, thus the primary platform to design for is gnome (indirectly, the ‘g’ in gnome comes from GIMP) and windows and mac tack along with various degrees of success. Extra complication is caused by the fact that on linux gtk is themed; any colour scheme in the world and a good variety of shapes can be used to draw the widget and panes.