here's another summary of what's happening in the HEAD branch, what do
watch out for if you want to join development and where help is
Mitch has almost finished the port of the menus to GtkUIManager. The
new code is in use now and seems to work fine. The only remaining
regression is integration with the help system (pressing F1 on a menu
item should call the relevant help pages). This is being worked on and
will soon be reenabled.
What's not yet working is global accelerators. The toolbox and the
image window share accelerators already but it's not working from the
dock windows yet. Mitch says we will need some ugly hacks to get it
In order to avoid duplications in the menu XML files, I've added some
Makefile rules that call xsltproc to generate some of the XML files.
So if you want to edit the menu hierarchy, keep an eye on the first
lines of the XML file you are about to edit. If it's a generated file,
there's a comment telling you so. You need to edit the respective
foo.xml.in file then. This also means that xsltproc is now needed to
build GIMP from CVS. The tarball will contain the generated files so
this is solely a requirement for people who want or need to build from
CVS. xsltproc is quite commonly installed nowadays and is available
for Win32 as well, so I don't expect this to be a problem.
Whenever you edit anything in the "menus" directory, please run 'make
validate' to get your changes checked against the DTD. This ensures
validity of the files which is important since GtkUIManager crashes
badly on broken menu files. You need xmllint for this to work, so I
strongly suggest you install that as well.
I started to change our dialogs to be more compliant with the GNOME
HIG. To ease this effort, I've added a new widget called GimpFrame.
This is a variant of GtkFrame that doesn't draw a frame but instead
sets a bold title and indents the content of the "frame" as suggested
by the HIG. I've changed some core dialogs already and I think the
results look very pleasant.
Of course it's not sufficient to simply replace gtk_frame_new() with
gimp_frame_new(), the dialog spacings needs some adjustments as well.
The dialogs may become slightly larger by this change but I think
that's OK for temporary dialogs. It's a problem for permanent dialogs
like the tool options though. We will probably have to come up with a
more compact style for these. Jimmac and Tigert promised to do some
mockups for tool options that go well with HIG compliant dialogs but
are more compact than strictly following the HIG-suggested layout.
We will see how this turns out...
What remains to be done here is changing all plug-in dialogs. I don't
plan to do this myself so it would be nice to get some volunteers for
this task. Basically each plug-in dialog needs to be reviewed.
Unneeded frames such as those saying "Parameter Settings" or "Preview"
should probably simply be removed. Frames that do actually group
controls should be changed to use the new GimpFrame widget. Separators
should be replaced by empty space. The spacing of the main vbox needs
to be changed to 12 pixels to clearly separate groups of controls. The
dialog border width should also be 12 pixels (although I personally
prefer 6 pixels, but see
It's important that we try to create a consistent dialog layout so
this job should be well coordinated or done by a single person. Any
volunteers for this?
What I didn't address yet is the fact that the HIG suggests to
left-align labels of UI controls while we currently consistenly
right-align labels so that they are close to the control they are
describing. I am not sure if I can follow the HIG argumentation for
this. I guess we should create some screenshots or mockups of standard
GIMP dialogs and discuss this change here before we start to work on
Gimp-developer mailing list