Hi'all, The next version (11) of my tab patch is ready (see bottom of this message for download instructions). The big new features are keyboard navigation and configurable key bindings (currently only for keyboard navigation and scrolling, more will be added later). See below for more information on these features. Keyboard navigation is also available in a separate patch, for those who do not want to apply the tab/frame patch. Watch the mailing list and/or see the patch website (http://www.geocities.com/ikbenfrank/) for more information. New features: - keyboard navigation! - configurable key bindings (for keyboard navigation and scrolling) Fixed bugs - solved the 'missing frames' problem for German (and other?) users. Stephan Goetter pointed me in the right direction (the German locale uses the "," as a decimal separator). Some behavioural changes with regard to stock (CVS) Dillo: - Shift-Ctrl-L (instead of Ctrl-L) for "open URL" dialog - Ctrl-L for "focus location bar" - Ctrl-S for "Save page As..." - Ctrl-U for "view source" while in a document, "clear entry" everywhere else (in stock Dillo this key is bound to "focus location bar" while in a document) - Ctrl-B for "Bookmark this page" - Alt-H for "Home" - "/" starts incremental search instead of normal search. For normal (non-incremental) search use Ctrl-F Support for the 0.7.3 branch has been dropped as of this version of this patch. Sorry, folks, but that is the price you pay for progress... Currently, both tab and frame support can be turned off completely, producing a smaller binary. I might (on request of other Dillo developers) remove the conditional compilation, thereby making tab and frame support a permanent feature of Dillo. If you want to keep the conditional compilation feature, speak out on the mailing list! Keyboard navigation can currently NOT be turned off, let me know if this is needed. 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. 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... - the frameborder attribute works, but dw_gtk_scrolled_frame always draws a (focus) shadow around itself - even with the border size is set to 0. This can be solved in several ways - adding a 'borderless' attribute to dw_gtk_scrolled_frame, using a special borderless GTK theme for the widget, etc. In GTK2 this is all much easier (just set the widget's style's xthickness/ythickness to 0), but we're not there yet... - borderless frames can not be resized, even though Dillo always shows a thin border (see above). Who cares about resizing borderless frames? Mozilla does it, but I don't think this is an issue. Agree? - iframes always have a border (see above) Keyboard Navigation =================== You can use the keyboard to navigate links and controls in Dillo. In the default configuration, the following keys are used: Alt-Up: link UP Alt-Down: link DOWN Alt-Left: link LEFT Alt-Right: link RIGHT Enter: follow link or activate GTK+ widget Escape: unhighlight link In a non-frames version of Dillo the following keys are also used: Tab: NEXT link Shift-Tab: PREVIOUS link these keys are not bound by default in a frames-capable version of Dillo because they are used to navigate between frames. You are free to bind them (or any other key combination) to these functions though (see Keyboard bindings) Sometimes the result of link UP and link DOWN seems a bit unpredictable. This can happen when the next UP or DOWN link is currently not visible (below the bottom or above the top of the window). The screen coordinates for words are only known when they are in the visible area of the viewport, so off-screen links are accessed sequentially instead. Search and keyboard navigation ------------------------------ Keyboard navigation works with the Search feature: if search hits a link, it will be focused. Press <Enter> in the viewport to follow the link, <Esc> to unhighlight it. When using the status bar for search (an optional feature in the tabbed version of Dillo), press <Esc> to close the search entry followed by <Enter> to follow the link. A second <Esc> will unhighlight the focused link. Pressing <Enter> in the search entry (popup or status bar) repeats the search. History ------- The focus location is saved when navigating to another document in the same window or tab. This makes it possible to go back in history and continue to the next link on the page. Form fields ----------- The same keys used for link navigation work for form field navigation. Do note however that form fields, being embedded GTK+ widgets, can have their own bindings for some functions. As an example, the space bar is bound to the activate function in radio buttons. Keyboard bindings ================= It is possible to change the keyboard bindings used for keyboard navigation, either through editing the dillorc or by adding a section to any of the current GTK+ rc-files. The syntax is the same, the only difference is the addition of the preference keyword "key_bindings" in the dillorc and the fact that the bindings have to be enclosed in double quotes. An example of the configuration syntax can be found in the dillorc and on the mailing list. Tabs, Frames, Keyboard navigation and browser bloat =================================================== version: 0.8.0-pre patch: dillo-20031015-tabs.patch.gz unpatched: 294132 bytes patched, no tabs, no frames: 308404 bytes patched, with tabs, no frames: 315220 bytes patched, no tabs, with frames: 324852 bytes patched, with tabs, with frames: 333108 bytes (gcc 3.2.2, binutils 2.13.90.0.18, CFLAGS "-Os") The increase in size is due to the addition of keyboard navigation. If you want to be able to compile Dillo without this feature (it takes about 10 KB) let me know through the mailing list. Download instructions ===================== The patch is made against 20031014 CVS. Do not forget to run ./autogen.sh after applying the patch. You can find the patch on the usual (ad-happy, use an ad-blocking proxy or sane browser) site: http://www.geocities.com/ikbenfrank/ More specifically: Dillo 0.8.0-pre (CVS) ===================== http://www.geocities.com/ikbenfrank/dillo-20031015-tabs.patch.gz size: 85716 bytes (gzipped, as downloaded) 371416 bytes (uncompressed) md5sum: 358041a00feeef1706b81d24a985613a (gzipped, as downloaded) bf61b1bdb212c69c30ee1fa6fa74f729 (uncompressed) As always, check the site for the most recent version 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." ]