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

Reply via email to