From 4748a2cc87b69229565abdad663967bcd08de66b Mon Sep 17 00:00:00 2001 From: Dieter Plaetinck Date: Sat, 5 Sep 2009 13:57:52 +0200 Subject: correct order of sections --- docs/TODO | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) (limited to 'docs') diff --git a/docs/TODO b/docs/TODO index fd367c6..f4de043 100644 --- a/docs/TODO +++ b/docs/TODO @@ -27,6 +27,18 @@ * `` ends on a different character: you need to type the full string, which will trigger the command immediately, without pressing enter/return. (old `bind ZZ = exit`) -> this should be the default. +== proposed workflow == +in event_handler.py: + * incoming key.length > 1 (this should separate all special cases like F11, Alt_L etc from normal chars) -> put '[' and ']' around it + this allows to separate [F11] from a sequence of literal 'F', '1' '1'. + * to bind literal [, it should be escapable with '\' (which itself is also escapable. eg '\\' for literal '\') + * In most implementations, you'll want to: + if [BackSpace] && keycmd == '' -> go back or whatever. otherwise remove last char from keycmd + * this gives us the ' ' character for free. what to do with it? + ideas: + * use it as token for key_release event: 'z ' would mean: bind something on release of 'z', but we could also use a special marker like [release:] for this (where itself can also contain [] ) + * use it a separator for "combo's" (like xbindkeys does) + = proposed implementations = option1: always assume combo's (simultaneous keypresses) ' ' -> combo separator @@ -50,18 +62,6 @@ option2: combo's are explicit (dieters preference): '[Alt_L][Backspace] ' -> hit alt, then backspace then release backspace 'z' and 'z ' -> bind things on press and release of 'z' -== proposed workflow == -in event_handler.py: - * incoming key.length > 1 (this should separate all special cases like F11, Alt_L etc from normal chars) -> put '[' and ']' around it - this allows to separate [F11] from a sequence of literal 'F', '1' '1'. - * to bind literal [, it should be escapable with '\' (which itself is also escapable. eg '\\' for literal '\') - * In most implementations, you'll want to: - if [BackSpace] && keycmd == '' -> go back or whatever. otherwise remove last char from keycmd - * this gives us the ' ' character for free. what to do with it? - ideas: - * use it as token for key_release event: 'z ' would mean: bind something on release of 'z', but we could also use a special marker like [release:] for this (where itself can also contain [] ) - * use it a separator for "combo's" (like xbindkeys does) - = key handling (example event_handler.py) examples to implement = * on escape: if insert mode: set_insert_mode(uzbl.behave.always_insert_mode); update_title -- cgit v1.2.3