summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSebastien Helleu <flashcode@flashtux.org>2005-07-16 12:37:30 +0000
committerSebastien Helleu <flashcode@flashtux.org>2005-07-16 12:37:30 +0000
commit4c6c3675579aec4da67d337d3dce9c9300e8fc76 (patch)
treef91d3cd52258561633ec85e936b0eb49407e5c39 /src
parent99ad719ab9b770bd4d94a67022f75edfba7d60ba (diff)
downloadweechat-4c6c3675579aec4da67d337d3dce9c9300e8fc76.zip
- added alt-j + alt-l key (switch to last buffer)
- added message for +q mode changing on a nick
Diffstat (limited to 'src')
-rw-r--r--src/common/completion.c2
-rw-r--r--src/gui/curses/gui-input.c1
-rw-r--r--src/gui/gui-common.c11
-rw-r--r--src/gui/gui-keyboard.c2
-rw-r--r--src/gui/gui.h1
-rw-r--r--src/irc/irc-recv.c25
6 files changed, 42 insertions, 0 deletions
diff --git a/src/common/completion.c b/src/common/completion.c
index a27605f6f..fa45cfe45 100644
--- a/src/common/completion.c
+++ b/src/common/completion.c
@@ -322,6 +322,8 @@ completion_build_list (t_completion *completion, void *channel)
pos[0] = ' ';
}
}
+ else
+ completion_stop (completion);
return;
}
if ((strcasecmp (completion->base_command, "unalias") == 0)
diff --git a/src/gui/curses/gui-input.c b/src/gui/curses/gui-input.c
index 7f4d932cd..8aeb5c65a 100644
--- a/src/gui/curses/gui-input.c
+++ b/src/gui/curses/gui-input.c
@@ -92,6 +92,7 @@ gui_input_default_key_bindings ()
gui_key_bind ( /* ^right */ "meta-Oc", "next_word");
gui_key_bind ( /* m-h */ "meta-h", "hotlist_clear");
gui_key_bind ( /* m-j,m-d */ "meta-jmeta-d", "jump_dcc");
+ gui_key_bind ( /* m-j,m-l */ "meta-jmeta-l", "jump_last_buffer");
gui_key_bind ( /* m-j,m-s */ "meta-jmeta-s", "jump_server");
gui_key_bind ( /* m-j,m-x */ "meta-jmeta-x", "jump_next_server");
gui_key_bind ( /* m-k */ "meta-k", "grab_key");
diff --git a/src/gui/gui-common.c b/src/gui/gui-common.c
index 318e9a48e..ec694a5b7 100644
--- a/src/gui/gui-common.c
+++ b/src/gui/gui-common.c
@@ -1434,6 +1434,17 @@ gui_input_jump_dcc ()
}
/*
+ * gui_input_jump_last_buffer: jump to last buffer
+ */
+
+void
+gui_input_jump_last_buffer ()
+{
+ if (last_gui_buffer)
+ gui_switch_to_buffer_by_number (gui_current_window, last_gui_buffer->number);
+}
+
+/*
* gui_input_jump_server: jump to server buffer
*/
diff --git a/src/gui/gui-keyboard.c b/src/gui/gui-keyboard.c
index b6cd3bac7..8d73476cf 100644
--- a/src/gui/gui-keyboard.c
+++ b/src/gui/gui-keyboard.c
@@ -99,6 +99,8 @@ t_gui_key_function gui_key_functions[] =
N_("jump to buffer with activity") },
{ "jump_dcc", gui_input_jump_dcc,
N_("jump to DCC buffer") },
+ { "jump_last_buffer", gui_input_jump_last_buffer,
+ N_("jump to last buffer") },
{ "jump_server", gui_input_jump_server,
N_("jump to server buffer") },
{ "jump_next_server", gui_input_jump_next_server,
diff --git a/src/gui/gui.h b/src/gui/gui.h
index 0d3774a76..94c277e51 100644
--- a/src/gui/gui.h
+++ b/src/gui/gui.h
@@ -337,6 +337,7 @@ extern void gui_input_up ();
extern void gui_input_down ();
extern void gui_input_jump_smart ();
extern void gui_input_jump_dcc ();
+extern void gui_input_jump_last_buffer ();
extern void gui_input_jump_server ();
extern void gui_input_jump_next_server ();
extern void gui_input_hotlist_clear ();
diff --git a/src/irc/irc-recv.c b/src/irc/irc-recv.c
index 64258305d..66edef086 100644
--- a/src/irc/irc-recv.c
+++ b/src/irc/irc-recv.c
@@ -637,6 +637,31 @@ void irc_get_channel_modes (t_irc_channel *ptr_channel, char *channel_name,
SET_CHANNEL_MODE(ptr_channel, (set_flag == '+'),
CHANNEL_MODE_SECRET);
break;
+ case 'q':
+ pos = NULL;
+ if (parm)
+ {
+ pos = strchr (parm, ' ');
+ if (pos)
+ pos[0] = '\0';
+ }
+ if (nick_host)
+ irc_display_mode (ptr_channel->buffer,
+ channel_name, set_flag, "q", nick_host,
+ (set_flag == '+') ?
+ _("sets quiet on") :
+ _("removes quiet on"),
+ (parm) ? parm : NULL);
+
+ /* look for next parameter */
+ if (parm && pos)
+ {
+ pos++;
+ while (pos[0] == ' ')
+ pos++;
+ parm = pos;
+ }
+ break;
case 's':
if (nick_host)
irc_display_mode (ptr_channel->buffer,