It took longer to write this patch than I expected. You will find it in the attachment but I do not recommend using it before somebody else has verified it (I am new to C/C++). I had to re-implement the parsing routine. This is mainly because a new line format was introduced which allows you to configure key bindings in your dillorc. Otherwise we would have needed unnecessarily a second file. This is the only thing that changes for the user. The new format looks like this: "set option value" For backward compatibility you can also use an equal sign before the value: "set option=value" so that you only have to put a ``set'' to the beginning of each line in your old dillorc. But more interesting is the support for configurable keys. The corresponding keyword for bindings is called ``bind''. The second parameter of a binding line represents the key combination and the third one its action. Thus, to allow reloading with a single `r' (instead of Ctrl-r), you can simply write: "bind r reload" But you can also do more complex things like setting modifiers (Ctrl, Alt, Left mouse click, etc.). A line mapping the backward action to Ctrl-p looks like this: "bind <Ctrl>p backward" There are some limitations, though: Unfortunately, FLTK does not enable us to combine modifiers in order to set even more key combinations. Because FLTK is C++-only and we need one of its header files, I had to realize this part of the parser in C++, as well. The line parser is written in C because there are too many functions which access an array in which it puts the parsed preferences. We should port everything to C++ as this would help us keeping the code clean. Note that not only alpha-numeric characters but also ``special characters'' such as "Backspace", "Enter", "Tab" and a few others are supported. To get a full list, please refer to src/keys.cc which also contains all modifiers and the default key bindings. I have not figured out yet how to implement scrolling hooks. Hence, it would be nice if someone could implement the symbols "scroll-top", "scroll-bottom", "scroll-left", "scroll-right", "scroll-up" and "scroll-down" as I want to use VIM-like key bindings (h, j, k, l for movement) in Dillo. The downside of this patch is that currently there is an issue with the line parser, which claims to find syntax errors even though the lines look alright for me. This needs to be fixed before this patch can go into mainline. --Tim