summaryrefslogtreecommitdiff
path: root/src/gui
diff options
context:
space:
mode:
authorSebastien Helleu <flashcode@flashtux.org>2009-05-12 18:16:32 +0200
committerSebastien Helleu <flashcode@flashtux.org>2009-05-12 18:16:32 +0200
commit2ab1626fa9b1844a8864134a1bc4c12574a201ea (patch)
treee8ffc3cd6b56c39a09874747c63181495eea271f /src/gui
parentb860043646755773a2d6173d411f80e2c3b89182 (diff)
downloadweechat-2ab1626fa9b1844a8864134a1bc4c12574a201ea.zip
Add syntax "*N" for /buffer (where N is a buffer number): jump to buffer number or previous buffer
This will switch to buffer #N or previously displayed buffer if current buffer is #N (it uses option weechat.look.jump_current_to_previous_buffer). Default keys alt-1 to alt-0 are now /buffer *N
Diffstat (limited to 'src/gui')
-rw-r--r--src/gui/curses/gui-curses-keyboard.c20
-rw-r--r--src/gui/gui-buffer.c14
2 files changed, 11 insertions, 23 deletions
diff --git a/src/gui/curses/gui-curses-keyboard.c b/src/gui/curses/gui-curses-keyboard.c
index e0d187502..cd61c6992 100644
--- a/src/gui/curses/gui-curses-keyboard.c
+++ b/src/gui/curses/gui-curses-keyboard.c
@@ -164,16 +164,16 @@ gui_keyboard_default_bindings ()
gui_keyboard_default_bind (/* m-w,m-right */ "meta-wmeta-meta2-C", "/window right");
gui_keyboard_default_bind (/* m-z */ "meta-z", "/window zoom");
gui_keyboard_default_bind (/* m-= */ "meta-=", "/filter toggle");
- gui_keyboard_default_bind (/* m-0 */ "meta-0", "/buffer 10");
- gui_keyboard_default_bind (/* m-1 */ "meta-1", "/buffer 1");
- gui_keyboard_default_bind (/* m-2 */ "meta-2", "/buffer 2");
- gui_keyboard_default_bind (/* m-3 */ "meta-3", "/buffer 3");
- gui_keyboard_default_bind (/* m-4 */ "meta-4", "/buffer 4");
- gui_keyboard_default_bind (/* m-5 */ "meta-5", "/buffer 5");
- gui_keyboard_default_bind (/* m-6 */ "meta-6", "/buffer 6");
- gui_keyboard_default_bind (/* m-7 */ "meta-7", "/buffer 7");
- gui_keyboard_default_bind (/* m-8 */ "meta-8", "/buffer 8");
- gui_keyboard_default_bind (/* m-9 */ "meta-9", "/buffer 9");
+ gui_keyboard_default_bind (/* m-0 */ "meta-0", "/buffer *10");
+ gui_keyboard_default_bind (/* m-1 */ "meta-1", "/buffer *1");
+ gui_keyboard_default_bind (/* m-2 */ "meta-2", "/buffer *2");
+ gui_keyboard_default_bind (/* m-3 */ "meta-3", "/buffer *3");
+ gui_keyboard_default_bind (/* m-4 */ "meta-4", "/buffer *4");
+ gui_keyboard_default_bind (/* m-5 */ "meta-5", "/buffer *5");
+ gui_keyboard_default_bind (/* m-6 */ "meta-6", "/buffer *6");
+ gui_keyboard_default_bind (/* m-7 */ "meta-7", "/buffer *7");
+ gui_keyboard_default_bind (/* m-8 */ "meta-8", "/buffer *8");
+ gui_keyboard_default_bind (/* m-9 */ "meta-9", "/buffer *9");
/* bind meta-j + {01..99} to switch to buffers # > 10 */
for (i = 1; i < 100; i++)
diff --git a/src/gui/gui-buffer.c b/src/gui/gui-buffer.c
index f7ebce87d..3bbae7a91 100644
--- a/src/gui/gui-buffer.c
+++ b/src/gui/gui-buffer.c
@@ -1489,21 +1489,9 @@ gui_buffer_switch_by_number (struct t_gui_window *window, int number)
struct t_gui_buffer *ptr_buffer;
/* invalid buffer */
- if (number < 0)
+ if ((number < 0) || (number == window->buffer->number))
return;
- /* buffer is currently displayed ? then jump to previous buffer */
- if (number == window->buffer->number)
- {
- if (CONFIG_BOOLEAN(config_look_jump_current_to_previous_buffer)
- && gui_previous_buffer)
- {
- number = gui_previous_buffer->number;
- }
- else
- return;
- }
-
/* search for buffer in the list */
for (ptr_buffer = gui_buffers; ptr_buffer; ptr_buffer = ptr_buffer->next_buffer)
{