On Wed, Jun 11, 2003 at 05:03:17PM +0200, Moe Wibble wrote: > Actually I still don't understand why it is necessary to split up > event-configuration in sections like "frame" or "global" at all.
Different kinds of objects have some different bindings and some in common. Mod1+Tab on an ionws calls has to call the ionws_goto_right while on floatws:s floatws_circulate is the wanted action. Also, frame and such bindings should not be grabbed when in full screen mode. > I mean, unless otherwise specified in the binding decl, the attached action > is always to be performed on the current frame/window/workspace > (the one having focus/being visible). When a key is pressed, Ion finds the innermost object (when the root window is the outermost) on the path of active objects that wants to handle the key. In addition to the above-mentioned differences in bindings, the bindings have to be separated into section so we know which object the key press should apply to. More complicated configuration is the price you have to pay for flexibility. If one sticked to predefined sets of functions that can operate only on one type of object, then the sections could be figured out automatically. Indeed, one could even write a script that implements such a setup in Lua (and it shouldn't even be difficult) or even a script that reads a simpler (or more complex and uneditable without special tools as seems to be the trend with using XML these days) configuration file created by some configuration tool. Ion just provides the basic tools on top of which all kinds of configuration file (and even window manager!) setups can be implemented. -- Tuomo
