Well, I've done two flavors of the toolbar integration, neither one of
which I am particularly happy about. I'd appreciate any feedback people
have on which way they would prefer it to be implemented.
The first one was modeled after the windows world, where they use a native
toolbar and XEmacs does not get any mouse events, etc, from it. This
worked, but there does not seem to be a way to force the toolbar to the
width of the window. Plus Hrvoje brought up several good points about the
tooltips not being MULE'ized, etc, etc. Plus the buttons just did not look
very pretty. Implementing a 'detachable' toolbar would also be difficult,
as XEmacs tries to be helpful and reserves blank space for where the
menubar should go, and I have to manually position it there instead of
letting a geometry manager handle it. Plus it just did not look very
good (in my opinion).
The other was based on the X way of doing things, where it just draws the
border and pixmaps manually in the blank area reserved by XEmacs. This has
the benefits of working exactly like XEmacs currently does, you can use the
balloon-help mode to get MULE-ified tooltips, popup menus, etc, etc. It
looks almost exactly like the X toolbar, but is also not detachable.
*sigh*
What REALLY needs to happen is to revamp the toolbar specifications so that
you just specify a single image, the tooltip, and the active/callback
slots. This is similar to ben's proposal at
http://www.666.com/xemacs/lisp-interface.html, but I really don't see why
we need a glyph list anymore. Automatically generating a 'disabled'
version of an image is not that difficult (GtkPixmap has an option to do
this for you, and Emacs 21.x does it automatically for you), and with the
mandatory 'caption' slot you get automatic tooltips, so you don't have to
deal with the captioned versions of the glyphs, etc.
Unfortunately the CVS server is down right now and I can't find anyone in
seattle to go find out what is wrong. *sigh* So you'll have to take my
word for it that this works. :)
So... I'm interested in peoples opinions. Which interface would they
prefer?
-Bill P.