Mercurial > ~mikael > mcabber > hg
diff mcabber/src/screen.c @ 1176:547a8ca7c1a8
Move init_bindings() to screen.c, with a few updates
- Move the function init_bindings() to screen.c scr_init_bindings()
- Get rid of the malloc/free
- Add two key bindings: Meta-a, Meta-b
- Put the comments on the same line when it is possible, in order to save
some space.
author | Mikael Berthe <mikael@lilotux.net> |
---|---|
date | Wed, 04 Apr 2007 22:03:49 +0200 |
parents | 960f34ec22a2 |
children | 10733d7de004 |
line wrap: on
line diff
--- a/mcabber/src/screen.c Tue Apr 03 20:33:28 2007 +0200 +++ b/mcabber/src/screen.c Wed Apr 04 22:03:49 2007 +0200 @@ -307,6 +307,67 @@ add_keyseq("[4~", MKEY_EQUIV, KEY_END); // End } +// scr_init_bindings() +// Create default key bindings +// Return 0 if error and 1 if none +void scr_init_bindings(void) +{ + GString *sbuf = g_string_new(""); + + // Common backspace key codes: 8, 127 + settings_set(SETTINGS_TYPE_BINDING, "8", "iline char_bdel"); // Ctrl-h + settings_set(SETTINGS_TYPE_BINDING, "127", "iline char_bdel"); + g_string_printf(sbuf, "%d", KEY_BACKSPACE); + settings_set(SETTINGS_TYPE_BINDING, sbuf->str, "iline char_bdel"); + g_string_printf(sbuf, "%d", KEY_DC); + settings_set(SETTINGS_TYPE_BINDING, sbuf->str, "iline char_fdel"); + g_string_printf(sbuf, "%d", KEY_LEFT); + settings_set(SETTINGS_TYPE_BINDING, sbuf->str, "iline bchar"); + g_string_printf(sbuf, "%d", KEY_RIGHT); + settings_set(SETTINGS_TYPE_BINDING, sbuf->str, "iline fchar"); + settings_set(SETTINGS_TYPE_BINDING, "7", "iline compl_cancel"); // Ctrl-g + g_string_printf(sbuf, "%d", KEY_UP); + settings_set(SETTINGS_TYPE_BINDING, sbuf->str, "iline hist_prev"); + g_string_printf(sbuf, "%d", KEY_DOWN); + settings_set(SETTINGS_TYPE_BINDING, sbuf->str, "iline hist_next"); + g_string_printf(sbuf, "%d", KEY_PPAGE); + settings_set(SETTINGS_TYPE_BINDING, sbuf->str, "roster up"); + g_string_printf(sbuf, "%d", KEY_NPAGE); + settings_set(SETTINGS_TYPE_BINDING, sbuf->str, "roster down"); + g_string_printf(sbuf, "%d", KEY_HOME); + settings_set(SETTINGS_TYPE_BINDING, sbuf->str, "iline iline_start"); + settings_set(SETTINGS_TYPE_BINDING, "1", "iline iline_start"); // Ctrl-a + g_string_printf(sbuf, "%d", KEY_END); + settings_set(SETTINGS_TYPE_BINDING, sbuf->str, "iline iline_end"); + settings_set(SETTINGS_TYPE_BINDING, "5", "iline iline_end"); // Ctrl-e + // Ctrl-o (accept-line-and-down-history): + settings_set(SETTINGS_TYPE_BINDING, "15", "iline iline_accept_down_hist"); + settings_set(SETTINGS_TYPE_BINDING, "21", "iline iline_bdel"); // Ctrl-u + g_string_printf(sbuf, "%d", KEY_EOL); + settings_set(SETTINGS_TYPE_BINDING, sbuf->str, "iline iline_fdel"); + settings_set(SETTINGS_TYPE_BINDING, "11", "iline iline_fdel"); // Ctrl-k + settings_set(SETTINGS_TYPE_BINDING, "16", "buffer up"); // Ctrl-p + settings_set(SETTINGS_TYPE_BINDING, "14", "buffer down"); // Ctrl-n + settings_set(SETTINGS_TYPE_BINDING, "20", "iline char_swap"); // Ctrl-t + settings_set(SETTINGS_TYPE_BINDING, "23", "iline word_bdel"); // Ctrl-w + settings_set(SETTINGS_TYPE_BINDING, "M98", "iline bword"); // Meta-b + settings_set(SETTINGS_TYPE_BINDING, "M102", "iline fword"); // Meta-f + // Ctrl-Left (2 codes): + settings_set(SETTINGS_TYPE_BINDING, "515", "iline bword"); + settings_set(SETTINGS_TYPE_BINDING, "516", "iline bword"); + // Ctrl-Right (2 codes): + settings_set(SETTINGS_TYPE_BINDING, "517", "iline fword"); + settings_set(SETTINGS_TYPE_BINDING, "518", "iline fword"); + settings_set(SETTINGS_TYPE_BINDING, "12", "screen_refresh"); // Ctrl-l + settings_set(SETTINGS_TYPE_BINDING, "27", "chat_disable"); // Esc + settings_set(SETTINGS_TYPE_BINDING, "4", "iline send_multiline"); // Ctrl-d + settings_set(SETTINGS_TYPE_BINDING, "M117", "iline word_upcase"); // Meta-u + settings_set(SETTINGS_TYPE_BINDING, "M108", "iline word_downcase"); // Meta-l + settings_set(SETTINGS_TYPE_BINDING, "M99", "iline word_capit"); // Meta-c + + g_string_free(sbuf, TRUE); +} + void scr_InitLocaleCharSet(void) { setlocale(LC_CTYPE, "");