Perhaps it’s a bit premature to already mention it. And I’m not making any promises. Nevertheless is my Sauron eye fixed on trying to replace the GtkHTML editor Bonobo component with GtkMozEmbed.
Some information about the attempt to do this with our poor Evolution can be found here. To be more specific you can make a GtkMozEmbed component editable using this API. That API, however, of course doesn’t mean that this is/will be a flat road without issues and problems.
For example one issue is that the current state of the EMsgComposer code is a little bit tight to the Bonobo way of working. Another issue is that there’s a lot “commands” to support (like, “insert html”, “set bold”, “undo”, “redo”). Most are also supported by the nsICommandManager. Some are not.
So I started with making sure that other parts of the Evolution code don’t try to tamper with private fields and members of the EMsgComposer. Why? Well, if we’re sure no other Evolution developer used something other than the API as agreed in e-msg-composer.h, then a programmer can more securely alter the internals of the implementation (e-msg-composer.c).
You can find the result of that first step (data hiding) here. As usual, if you want to help. Contact me, or you know .. help (give me tips, guidance, whatever). Note that I don’t even know whether or not the Evolution maintainers like this idea. So this blog entry doesn’t mean that in a few weeks you’ll have a slick Gecko HTML editor component for typing your E-mails in Evolution.
not sure if you are aware of it, but someone just recently imported a gtkmozedit module into gnome CVS. Might take a look at it, I wouldn’t want work to be duplicated.
By incident i just yesterday commited gobject wrappers for all the missing nsIDOMHTML* mozilla classes to gtkmozembed. That means only some css stuff is still missing.
I’m not sure if the command manager supports all the required commands listed in the page you linked to. Also there are doubts about its extensibility. If you need some special features from gtkmozedit please get in touch.
I *don’t* want a full fledged browser inside evolution! That is the IE/Outlook way, and that leads to security problems (cross-site scripting attacks, javascript execution, and more nasty things).
Also, XUL-widgets not native GTK+ widgets, they have a different look and definitely feel.
About gtkmozedit: great. I will take a look at this and get in touch.
Just wanted to mention I’m really happy this project has begun. GtkHTML, especially its’ editor, has too many small flaws and it’s silly to keep it in light of a much better and mature (e.g. BiDi support) alternative available — Mozilla’s editor. The switch will ease maintenance and improve security (since only one editor codebase will exist).
Ilya, oh but I can use some help. So if you are interested :p, join.