# HG changeset patch # User mikael # Date 1115409475 0 # Node ID a05d5c3876ec45b866edc735380350bd3cbb04b7 # Parent 5cbdcccfab2963a37d48aa1f2cb916d4cbc111af [/trunk] Changeset 206 by mikael * Default group for Jabber agents is "Jabber Agents" * Add backward_kill_word() (bound to Ctrl-w) diff -r 5cbdcccfab29 -r a05d5c3876ec mcabber/src/jabglue.c --- a/mcabber/src/jabglue.c Fri May 06 18:06:31 2005 +0000 +++ b/mcabber/src/jabglue.c Fri May 06 19:57:55 2005 +0000 @@ -31,6 +31,8 @@ #define JABBERPORT 5222 #define JABBERSSLPORT 5223 +#define JABBER_AGENT_GROUP "Jabber Agents" + jconn jc; time_t LastPingTime; unsigned int KeepaliveDelay; @@ -601,7 +603,8 @@ if (atype == transport) { char *cleanjid = jidtodisp(alias); - roster_add_user(cleanjid, NULL, NULL, ROSTER_TYPE_AGENT); + roster_add_user(cleanjid, NULL, JABBER_AGENT_GROUP, + ROSTER_TYPE_AGENT); g_free(cleanjid); } if (alias && name && desc) { diff -r 5cbdcccfab29 -r a05d5c3876ec mcabber/src/screen.c --- a/mcabber/src/screen.c Fri May 06 18:06:31 2005 +0000 +++ b/mcabber/src/screen.c Fri May 06 19:57:55 2005 +0000 @@ -1070,6 +1070,33 @@ return cmdhisto_backup; } +// backward_kill_word() +// Kill the word before the cursor, in input line +void backward_kill_word() +{ + char *c, *old = ptr_inputline; + int spaceallowed = 1; + + if (ptr_inputline == inputLine) return; + + for (c = ptr_inputline-1 ; c > inputLine ; c--) + if (!isalnum(*c)) { + if (*c == ' ') + if (!spaceallowed) break; + } else spaceallowed = 0; + + if (c != inputLine || *c != ' ') + if ((c < ptr_inputline-1) && (!isalnum(*c))) + c++; + + // Modify the line + ptr_inputline = c; + for (;;) { + *c = *old++; + if (!*c++) break; + } +} + // which_row() // Tells which row our cursor is in, in the command line. // -1 -> normal text @@ -1329,6 +1356,10 @@ case 14: // Ctrl-n scr_ScrollDown(); break; + case 23: // Ctrl-w + backward_kill_word(); + check_offset(-1); + break; case 27: // ESC currentWindow = NULL; chatmode = FALSE;