Peru - A free Web Peruser

Peru is a free web prowser, written in C using the GTK libraries, and the gtk port of the xmhtml widget. It's currently in the pre-alpha stage, so don't expect miracles. Below is a list of gotchas, and some idea of the philosophy behind this, and what there still exists to be done with Peru. Thanks for your time, and I hope you find it useful.

Gotchas

Firstly, please note that the HTML rendering engine leaves a little to be desired. In particular, it doesn't do forms at all. In fact, the badness of the gtk-xmhtml widget (it's desire to segfault, for instance) has left me no choice but to re-write it. I've begun on this, but it'll take some time.

Secondly, a lot of functionality is just not there yet. I've not seen the need to make an irritating "Not implemented yet" dialogue box either. Things that don't work:

Development

Before submitting code (if you feel so inclined to do so), you should udnerstand how I intend things to be done. In particular, I recommend you discuss such things with me, as this will save everyone heartache in the long run. A rough outline of development targets, and how I think they should be done:

New Windows
These should probably be created by fork()ing, so that the new window "remembers" the history of its parent. This means the bookmarks file will need locking, and that the exit option will simply kill that window.
History
This is clearly a tree structure. This bit is pretty central to the project, so discuss it with me if you want to write code.
Configuration
Nearly all configurable options are set as #defines, if at all. This clearly needs improving. Everything gtk-xmhtml allows you to change should be configurable, as should behaviour wrt frames and so on.
Rendering
I'm beginning to get through this. The basic idea is to invoke nsgmls (a very good free SGML parser), capture its stderr and stdout, convert the ESIS into a double-linked list structure in memory, and then render it using Xlib in a GTK drawable (it should be possible to get gtk to do the scrollbars and suchlike).
If someone feels like writing a good https implementation, I'd be very grateful; preferably a cryptographer ;) Thanks in advance for your time and code.
Matthew Vernon
Last modified: Fri Mar 24 14:20:03 GMT 2000