diff options
| author | Steve Langasek <steve.langasek@canonical.com> | 2010-03-29 11:51:24 +0100 |
|---|---|---|
| committer | Charlie Brej <cbrej@cs.man.ac.uk> | 2010-03-29 11:51:24 +0100 |
| commit | 02ca382344d46fd8f8654588ddcb8e3d25c68e7a (patch) | |
| tree | 3ebe7f0d0dd501b52264ec15f28de01d2bcc3a7c | |
| parent | 991549626b61a6dc4faee184d7e327c5be07ba37 (diff) | |
[main] Watch-for-keystroke should also be sensitive to enter
Because enter and general keystrokes are handled separately, enter would not
activate the keystroke trigger. Now, you can watch specifically for an enter
press, and enter is accepted as a general any-key trigger.
| -rw-r--r-- | src/main.c | 16 |
1 files changed, 16 insertions, 0 deletions
@@ -1182,6 +1182,22 @@ on_enter (state_t *state, free (entry_trigger); update_display (state); } + else + { + for (node = ply_list_get_first_node (state->keystroke_triggers); node; + node = ply_list_get_next_node (state->keystroke_triggers, node)) + { + ply_keystroke_watch_t* keystroke_trigger = ply_list_node_get_data (node); + if (!keystroke_trigger->keys || strstr(keystroke_trigger->keys, "\n")) /* assume strstr works on utf8 arrays */ + { + ply_trigger_pull (keystroke_trigger->trigger, line); + ply_list_remove_node (state->keystroke_triggers, node); + free(keystroke_trigger); + return; + } + } + return; + } } static void |
