Hi'all, The next version (8) of my tab patch is ready (see bottom of this message for download instructions). Frameset support has been upgraded to an 'almost usable' level. The major missing feature is manual frame resize support, which will come in a later version. Frameset (and iframe) support is enabled by default, it can be disabled using the configure option --enable-xhtml-dtd=strict. You can also use --enable-xhtml-dtd=transitional, which will give you iframe but no frameset support. The default option, --enable-xhtml-dtd=frameset, gives both iframe and frameset support. As usual, tab support can be disabled using --disable-tabs. Other new features (since the last version): - CTRL-R will reload a page (or frameset) Of course, the patch also fixes some bugs (and possibly introduces new ones). Please, test this patch and tell me what breaks. Or what works. Or whatever. More on frame/iframe support ============================ Frameset support is based on a new widget (GtkFrameset) which implements <frameset> as specified in xhtml-dtd-frameset. This widget is not Dillo-specific, so it can in theory be used in any GTK program. It is a pure GTK widget, not rooted in Dw. It does not provide any special support for Dw-specific features (eg. the full-screen-off-button is not displayed in the widget). I might make a special version for Dillo, which does implement these features. What works: - loading (nested) framesets, displaying frames at their appropriate location and appropriate size, including margin width/height. - loading (nested) iframes, displaying iframes at their appropriate location and with (mostly) appropriate size and alignment. - all frame-related menu options (in the popup menu). Frame menus can be accessed using the 'This Frame...' button in the popup menu, nested framesets have their own 'This Frameset...' menu. This way, Dillo allows you to limit actions to a subset of a framed document, eg. you can search for text in just one frame/iframe/frameset. Top-level menu options usually refer to the whole document (the frameset). An exception to this is the 'Jump To' option, which refers to the frame in which the menu was opened (question: should this contain the anchors for all frames?). Use the 'Show only this Frame' option in the Frame Options menu to get a full-page view of a frame. Same for 'Show only this Frameset'. What does not work yet: - the full_screen_off_button is not shown in frame documents. Use double-click instead to toggle the full screen setting... - manual frame resize is not supported yet. - the noresize and scrolling attributes are not supported yet Tabs, Frames and browser bloat ============================== 0.7.3 unpatched: 285152 bytes Patched, no tabs, no frames: 289356 bytes Patched, no tabs, with frames: 303052 bytes Patched, with tabs, no frames: 297100 bytes Patched, with tabs and frames: 310828 bytes The frameset implementation has grown about 10 Kb since the last patch. This is mainly due to the implementation of frame size support and the shift to a new widget (which has to be included in the binary, as it is not part of GTK (yet?)). Anyway, tabs alone cost about 12 Kb, frameset alone approximately 18 Kb, both together about 25 Kb. Bear in mind that the code has not been optimized for size yet. Download instructions ===================== There are now two versions of the patch, one for Dillo 0.7.3 (release) and one for Dillo 0.8.0-pre (CVS). Make sure to download the correct version for the Dillo source you want to patch! If you patch the CVS source, do not forget to run ./autogen.sh after applying the patch. The CVS patch is made against 20030813 CVS, while the 0.7.3 patch is made against Dillo-0.7.3.tar.bz2 (the source tarball on the main Dillo website). Both versions of the patch can be downloaded from the usual (ad-happy, but...) Geocities site: http://www.geocities.com/ikbenfrank/ More specifically, the CVS version can be found here: http://www.geocities.com/ikbenfrank/dillo-20030813-tabs.patch.gz size: 64875 bytes (gzipped, as downloaded) 272722 bytes (uncompressed) md5sum: a1315001bff22326b33a96b3828341b3 (gzipped, as downloaded) eed9681876272e81f161e254b684fd85 (uncompressed) The 0.7.3 version is here: http://www.geocities.com/ikbenfrank/dillo-0.7.3-tabs.patch.gz size: 117970 bytes (gzipped, as downloaded) 544402 bytes (uncompressed) md5sum: 93b55564ad4b18367f9632c4616e5890 (gzipped, as downloaded) c84a87687950d0e6670e01ea377d3ee7 (uncompressed) As always, check the site for the most recent version: That's all for now, Cheers//Frank -- WWWWW ________________________ ## o o\ / Frank de Lange \ }# \| / +46-734352015 \ \ `--| _/ <Hacker for Hire> \ `---' \ +31-640037120 / \ frank@unternet.org / `------------------------' [ "Omnis enim res, quae dando non deficit, dum habetur et non datur, nondum habetur, quomodo habenda est." ] -- WWWWW ________________________ ## o o\ / Frank de Lange \ }# \| / +46-734352015 \ \ `--| _/ <Hacker for Hire> \ `---' \ +31-640037120 / \ frank@unternet.org / `------------------------' [ "Omnis enim res, quae dando non deficit, dum habetur et non datur, nondum habetur, quomodo habenda est." ]