Hi Johan,
Hi! I've made a few small changes to Dillos interface which I think improves the browsing experience. The attached tar file contains the changes separated into three diffs (against todays cvs version) and a README which I also append to this mail. I hope you'll find them useful and add them to a future release of dillo. I'd be happy to answer any questions, comments or suggestions.
Although I'm with little time now, I managed to review the patches; they look clean, that's good. Here go my comments. (I'll contact you in the future when I have more time).
dillo-search.diff: - * Added search feature to location entry/open url. ("s key words...") (BUG#473)
Very interesting, and certainly easy to use. Unfortunately it comes with a kind of interface that's out of the cognitive model behind Dillo's UI. In simple terms it means that users will have to learn how to use it from the help file and that it's not quite oobvious from the GUI and that it is different from what you come to expect when using dillo. The search problem had been in my mind for some time, so I know it is necesary to do something about it. I think that a small icon (like "clear URL box"), shaped as a magnifier, can pop up a dialog (like "Open URL"), but for search. If we add a short-cut for it (Ctrl-s), and the option to hide the icon (as with the rest of the interface icons), it integrates better with the user interface model.
* Added 'search_url' to dillorc.
Perfect. The rest of the patch is quite OK!
dillo-accel.diff: - * Added keyboard shortcuts to - reload (Ctrl+R). - full screen (F11). - select all text in location entry (F8). - focus location entry (Ctrl+Shift+L) (BUG#474)
Files affected: interface.c
This patch adds a few useful keyboard shortcuts which eases mouse less browsing. Most browsers have a focus-and-select the location entry shortcut (Ctrl-L in mozilla, F8 in opera). I tried to get some feedback on if this was the desired behaviour for dillo by posting the mailing list, but no one seemed very interested. I therefore settled on a two shortcut solution; F8 selects all text and Ctrl-Shift-L just focuses the location entry. In this way you can easily modify an existing url or just enter a new one without the use of the open url dialog.
As I wanted the F8 key to work also within the location entry I had to add a key press handler to the main window (the existing one just handles key presses within the view port (docwin)). I decided on this solution since adding a handler to the location entry didn't seem right and moving the docwin key press handler to the main window didn't work as this handler gets called before a text widgets default handler (and thus a backspace in a html form would trigger back).
Perhaps a better solution would be two plain accelerators; one for the clear-location button and one to just focus the location entry. This way there'd be no need for an extra key press handler. But I figure that a "global" key press handler may be needed in the future. Am I wrong?
Maybe Ctrl+L would be a better shortcut to select all text in the location entry and Ctrl+Shift+L the shortcut to open an open url dialog (as in Mozilla), but I didn't dare changing the default behaviour without getting some feedback first.
I think: - reload (Ctrl+R). - full screen (F11). could be easily agreed into a short-cut key. The problem is that everybody comes with his favorite set of shortcuts (you'd be amazed to look in my Mailbox!). OTOH this is not rare; evreyone uses some different apps. and get accustomed to different key combinations. I prefer to take Havoc's approach on this: http://www.dillo.org/ui-prefs-tips.html
dillo-focus.diff: - * Made main document window grab focus on startup and after open url. (BUG#330)
Files affected: interface.c
This is just a two line patch which implements the behaviour found in other browsers as mozilla and opera. Makes mouse less browsing easier.
Well, this is a long time unsolved problem for us :(. Please give a read to my last post about it: http://lists.auriga.wearlab.de/pipermail/dillo-dev/2003-June/000770.html If you can make a temporary subscription and send it to the GTK+ list, it'd be a great favor to us. In the meanwhile (or if the post gets no answer), I think your approach will make it into the source as a workaround. Note that if we solve this, it becomes easy to focus the location box (or viewport) in tyhe standard GTK+ way: TAB/ShiftTAb Cheers Jorge.-