From e1a54d49eb244a81858418949320cb23989c5598 Mon Sep 17 00:00:00 2001 From: Sebastien Helleu Date: Thu, 30 Aug 2012 10:46:42 +0200 Subject: [PATCH] core: add default key alt+"x" (zoom on merged buffer) (task #11029) --- ChangeLog | 3 +- doc/de/autogen/user/weechat_commands.txt | 97 ++++++++++++------------ doc/de/weechat_user.de.txt | 2 + doc/en/autogen/user/weechat_commands.txt | 1 + doc/en/weechat_user.en.txt | 1 + doc/fr/autogen/user/weechat_commands.txt | 1 + doc/fr/weechat_user.fr.txt | 3 +- doc/it/autogen/user/weechat_commands.txt | 97 ++++++++++++------------ doc/it/weechat_user.it.txt | 2 + doc/ja/autogen/user/weechat_commands.txt | 97 ++++++++++++------------ doc/ja/weechat_user.ja.txt | 2 + po/cs.po | 3 +- po/de.po | 4 +- po/es.po | 4 +- po/fr.po | 6 +- po/hu.po | 3 +- po/it.po | 4 +- po/ja.po | 4 +- po/pl.po | 4 +- po/pt_BR.po | 3 +- po/ru.po | 3 +- po/weechat.pot | 3 +- src/core/wee-command.c | 6 +- src/gui/curses/gui-curses-chat.c | 2 +- src/gui/curses/gui-curses-key.c | 1 + src/gui/gui-buffer.c | 27 ++++++- src/gui/gui-buffer.h | 6 +- src/gui/gui-input.c | 43 +++++++++++ src/gui/gui-input.h | 1 + src/gui/gui-line.c | 2 +- 30 files changed, 270 insertions(+), 165 deletions(-) diff --git a/ChangeLog b/ChangeLog index 736efb888..126ee9ea0 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,12 +1,13 @@ WeeChat ChangeLog ================= Sébastien Helleu -v0.3.9-dev, 2012-08-27 +v0.3.9-dev, 2012-08-30 Version 0.3.9 (under dev!) -------------------------- +* core: add default key alt+"x" (zoom on merged buffer) (task #11029) * core: fix display bug when end of a line is displayed on top of chat (last line truncated and MORE(0) in status bar) (bug #37203) * core: fix IP address returned by hook_connect (return IP really used, not diff --git a/doc/de/autogen/user/weechat_commands.txt b/doc/de/autogen/user/weechat_commands.txt index 586469c8d..3726e1619 100644 --- a/doc/de/autogen/user/weechat_commands.txt +++ b/doc/de/autogen/user/weechat_commands.txt @@ -281,55 +281,56 @@ value: Anzahl der gewünschten Einträgen im Befehlsverlauf anzeigen ........................................ /input [] -Auflistung der möglichen Funktionen: - return: simuliert die "enter" Taste - complete_next: vervollständigt Wort mit nächster Komplettierung - complete_previous: vervollständigt Word mit vorheriger Komplettierung - search_text: sucht nach Text im Buffer - search_switch_case: schaltet Groß-/Kleinschreibung ein und aus - search_previous: sucht vorheriger Zeile - search_next: sucht nächste Zeile - search_stop: suche stoppen - delete_previous_char: entfernt vorheriges Zeichen - delete_next_char: entfernt nächstes Zeichen - delete_previous_word: entfernt vorheriges Wort - delete_next_word: entfernt nächstes Wort - delete_beginning_of_line: entfernt alle Zeichen ab Zeilenanfang bis zum Cursor - delete_end_of_line: entfernt alle Zeichen ab Cursor bis zum Ende der Zeile - delete_line: löscht die komplette Eingabezeile - clipboard_paste: fügt Zeichenkette aus der Zwischenablage ein - transpose_chars: Zeichen austauschen - undo: letzten Befehl in der Eingabezeile rückgängig machen - redo: letzten Befehl in der Eingabezeile wiederherstellen - move_beginning_of_line: springt an den Anfang der Eingabezeile - move_end_of_line: springt ans Ende der Eingabezeile - move_previous_char: setzt den Cursor eine Position nach links - move_next_char: setzt den Cursor eine Position nach rechts - move_previous_word: springt zum Anfang des vorherigen Wortes, in der Eingabezeile - move_next_word: springt zum Anfang des nächsten Wortes, in der Eingabezeile - history_previous: ruft vorherigen Befehl oder Nachricht aus dem Befehlsspeicher auf (im Such-Modus: rückwärts suchen) - history_next: ruft nächsten Befehl oder Nachricht aus dem Befehlsspeicher auf (im Such-Modus: vorwärts suchen) - history_global_previous: ruft vorherigen Befehl/Nachricht aus dem globalen Befehlsspeicher auf (für alle Buffer) - history_global_next: ruft nächsten Befehl/Nachricht aus dem globalen Befehlsspeicher auf (für alle Buffer) - jump_smart: wechselt zum nächsten Buffer mit Aktivität (nach Priorität: highlight, Nachricht, …) - jump_last_buffer: springt zum letzten Buffer, in der Bufferliste - jump_last_buffer_displayed: wechselt zum jeweils zuletzt angezeigten Buffer - jump_previously_visited_buffer: springt zum letzten besuchten Buffer - jump_next_visited_buffer: springt zum nächsten besuchten Buffer - hotlist_clear: löscht Hotliste (Aktivitätsanzeige für die Buffer) - grab_key: fängt eine Taste (optionales Argument: Verzögerung um eine Taste einzufangen. Standard sind 500 Millisekunden) - grab_key_command: zeigt den Tastencode (inklusive des eingebundenen Befehls) einer Tastenkombination an und fügt ihn in die Befehlszeile ein (optionales Argument: Verzögerung um eine Taste einzufangen. Standard sind 500 Millisekunden) - grab_mouse: fängt den Code einer Maus Aktivität - grab_mouse_area: fängt den Code einer Maus Aktivität mit entsprechendem Bereich - set_unread: setzt für alle Buffer die Markierung der ungelesen Nachrichten - set_unread_current_buffer: setzt nur für den aktuellen Buffer eine Markierung der ungelesen Nachrichten - switch_active_buffer: springt zum nächsten zusammengefügten Buffer - switch_active_buffer_previous: springt zum vorherigen zusammengefügten Buffer - insert: fügt einen Text in die Eingabezeile ein - paste_start: Einfügen wird gestartet (bracketed paste mode) - paste_stop: Einfügen wird beendet (bracketed paste mode) +list of actions: + return: simulate key "enter" + complete_next: complete word with next completion + complete_previous: complete word with previous completion + search_text: search text in buffer + search_switch_case: switch exact case for search + search_previous: search previous line + search_next: search next line + search_stop: stop search + delete_previous_char: delete previous char + delete_next_char: delete next char + delete_previous_word: delete previous word + delete_next_word: delete next word + delete_beginning_of_line: delete from beginning of line until cursor + delete_end_of_line: delete from cursor until end of line + delete_line: delete entire line + clipboard_paste: paste from clipboard + transpose_chars: transpose two chars + undo: undo last command line action + redo: redo last command line action + move_beginning_of_line: move cursor to beginning of line + move_end_of_line: move cursor to end of line + move_previous_char: move cursor to previous char + move_next_char: move cursor to next char + move_previous_word: move cursor to previous word + move_next_word: move cursor to next word + history_previous: recall previous command in current buffer history + history_next: recall next command in current buffer history + history_global_previous: recall previous command in global history + history_global_next: recall next command in global history + jump_smart: jump to next buffer with activity + jump_last_buffer: jump to last buffer + jump_last_buffer_displayed: jump to last buffer displayed (before last jump to a buffer) + jump_previously_visited_buffer: jump to previously visited buffer + jump_next_visited_buffer: jump to next visited buffer + hotlist_clear: clear hotlist + grab_key: grab a key (optional argument: delay for end of grab, default is 500 milliseconds) + grab_key_command: grab a key with its associated command (optional argument: delay for end of grab, default is 500 milliseconds) + grab_mouse: grab mouse event code + grab_mouse_area: grab mouse event code with area + set_unread: set unread marker for all buffers + set_unread_current_buffer: set unread marker for current buffer + switch_active_buffer: switch to next merged buffer + switch_active_buffer_previous: switch to previous merged buffer + zoom_merged_buffer: zoom on merged buffer + insert: insert text in command line + paste_start: start paste (bracketed paste mode) + paste_stop: stop paste (bracketed paste mode) -Dieser Befehl wird sinnvollerweise mittels Tastenbelegungen oder Erweiterungen genutzt. +This command is used by key bindings or plugins. ........................................ [[command_weechat_key]] diff --git a/doc/de/weechat_user.de.txt b/doc/de/weechat_user.de.txt index 64eb8ee5b..fef84aa1d 100644 --- a/doc/de/weechat_user.de.txt +++ b/doc/de/weechat_user.de.txt @@ -677,6 +677,8 @@ Tastenbefehle für Buffer / Fenster | @k(C-)@k(l) | Fenster wird neu gezeichnet | /window refresh | @k(C-)@k(s) , @k(C-)@k(u) | setzt für alle Buffer die Markierung für ungelesene Nachrichten | /input set_unread | @k(C-)@k(x) | sind mehrere Buffer zu einem Buffer zusammen gefügt wechselt man diese durch | /input switch_active_buffer +// TRANSLATION MISSING +| @k(A-)@k(x) | Zoom on merged buffer (@k(A-)@k(x) again: display all merged buffers) | /input zoom_merged_buffer | @k(PgUp) | eine Seite im Verlaufsspeicher des Buffers nach oben blättern | /window page_up | @k(PgDn) | eine Seite im Verlaufsspeicher des Buffer nach unten blättern | /window page_down | @k(A-)@k(PgUp) | einige Zeilen im Verlaufsspeicher des Buffer nach oben blättern | /window scroll_up diff --git a/doc/en/autogen/user/weechat_commands.txt b/doc/en/autogen/user/weechat_commands.txt index d20c4098c..7f224f848 100644 --- a/doc/en/autogen/user/weechat_commands.txt +++ b/doc/en/autogen/user/weechat_commands.txt @@ -325,6 +325,7 @@ list of actions: set_unread_current_buffer: set unread marker for current buffer switch_active_buffer: switch to next merged buffer switch_active_buffer_previous: switch to previous merged buffer + zoom_merged_buffer: zoom on merged buffer insert: insert text in command line paste_start: start paste (bracketed paste mode) paste_stop: stop paste (bracketed paste mode) diff --git a/doc/en/weechat_user.en.txt b/doc/en/weechat_user.en.txt index c916cf7e2..111fa3c3b 100644 --- a/doc/en/weechat_user.en.txt +++ b/doc/en/weechat_user.en.txt @@ -668,6 +668,7 @@ Keys for buffers / windows | @k(C-)@k(l) | Redraw whole window | /window refresh | @k(C-)@k(s) , @k(C-)@k(u) | Set unread marker on all buffers | /input set_unread | @k(C-)@k(x) | Switch current buffer if buffers are attached with same number | /input switch_active_buffer +| @k(A-)@k(x) | Zoom on merged buffer (@k(A-)@k(x) again: display all merged buffers) | /input zoom_merged_buffer | @k(PgUp) | Scroll up one page in buffer history | /window page_up | @k(PgDn) | Scroll down one page in buffer history | /window page_down | @k(A-)@k(PgUp) | Scroll up a few lines in buffer history | /window scroll_up diff --git a/doc/fr/autogen/user/weechat_commands.txt b/doc/fr/autogen/user/weechat_commands.txt index 5377a1883..248a57020 100644 --- a/doc/fr/autogen/user/weechat_commands.txt +++ b/doc/fr/autogen/user/weechat_commands.txt @@ -325,6 +325,7 @@ list des actions: set_unread_current_buffer: définir le marqueur de données non lues pour le tampon courant switch_active_buffer: basculer vers le tampon mélangé suivant switch_active_buffer_previous: basculer vers le tampon mélangé précédent + zoom_merged_buffer: zoom sur le tampon mélangé insert: insérer du texte dans la ligne de commande paste_start: début de collage (mode "bracketed paste") paste_stop: fin de collage (mode "bracketed paste") diff --git a/doc/fr/weechat_user.fr.txt b/doc/fr/weechat_user.fr.txt index 32b0a3671..5bad6096d 100644 --- a/doc/fr/weechat_user.fr.txt +++ b/doc/fr/weechat_user.fr.txt @@ -681,6 +681,7 @@ Touches pour les tampons / fenêtres | @k(C-)@k(l) | Réafficher toute la fenêtre | /window refresh | @k(C-)@k(s) , @k(C-)@k(u) | Positionner le marqueur de données non lues sur tous les tampons | /input set_unread | @k(C-)@k(x) | Changer de tampon courant si plusieurs tampons sont attachés avec le même numéro | /input switch_active_buffer +| @k(A-)@k(x) | Zoomer sur le tampon mélangé (@k(A-)@k(x) de nouveau : afficher tous les tampons mélangés) | /input zoom_merged_buffer | @k(PgUp) | Monter d'une page dans l'historique du tampon | /window page_up | @k(PgDn) | Descendre d'une page dans l'historique du tampon | /window page_down | @k(A-)@k(PgUp) | Monter de quelques lignes dans l'historique du tampon | /window scroll_up @@ -720,7 +721,7 @@ Touches pour les tampons / fenêtres | @k(A-)@k(w) , @k(A-)@k(→) | Sauter à la fenêtre de droite | /window right | @k(A-)@k(w) , @k(A-)@k(b) | Equilibrer la taille de toutes les fenêtres | /window balance | @k(A-)@k(w) , @k(A-)@k(s) | Echanger les tampons de deux fenêtres | /window swap -| @k(A-)@k(z) | Zoom sur la fenêtre courante (@k(A-)@k(z) de nouveau : restaurer l'état initial des fenêtres, avant le zoom) | /window zoom +| @k(A-)@k(z) | Zoomer sur la fenêtre courante (@k(A-)@k(z) de nouveau : restaurer l'état initial des fenêtres, avant le zoom) | /window zoom | @k(A-)@k(<) | Sauter au tampon précédent dans la liste des tampons visités | /input jump_previously_visited_buffer | @k(A-)@k(>) | Sauter au tampon suivant dans la liste des tampons visités | /input jump_next_visited_buffer | @k(A-)@k(/) | Sauter au dernier tampon affiché (avant le dernier saut vers un tampon) | /input jump_last_buffer_displayed diff --git a/doc/it/autogen/user/weechat_commands.txt b/doc/it/autogen/user/weechat_commands.txt index 1702d0027..3b68ff77a 100644 --- a/doc/it/autogen/user/weechat_commands.txt +++ b/doc/it/autogen/user/weechat_commands.txt @@ -281,55 +281,56 @@ valore: numero delle voci nella cronologia da mostrare ........................................ /input [] -elenco di azioni: - return: simula il tasto "invio" - complete_next: completa la parola con il completamento successivo - complete_previous: completa la parola con il completamento precedente - search_text: cerca testo nel buffer - search_switch_case: passa alla ricerca sensibile - search_previous: cerca la riga precedente - search_next: cerca la riga successiva - search_stop: interrompe la ricerca - delete_previous_char: elimina carattere precedente - delete_next_char: elimina carattere successivo - delete_previous_word: elimina parola precedente - delete_next_word: elimina parola successiva - delete_beginning_of_line: elimina da inizio riga fino al cursore - delete_end_of_line: elimina dal cursore fino a fine riga - delete_line: elimina intera riga - clipboard_paste: incolla dagli appunti - transpose_chars: inverti l'ordine di due caratteri - undo: annulla l'ultima azione nella riga di comando - redo: rifai l'ultima azione nella riga di comando - move_beginning_of_line: sposta il cursore ad inizio riga - move_end_of_line: sposta il cursore a fine riga - move_previous_char: sposta cursore al carattere precedente - move_next_char: sposta cursore al carattere successivo - move_previous_word: sposta cursore alla parola precedente - move_next_word: sposta cursore alla parola successiva - history_previous: richiama il comando precedente nella cronologia del buffer corrente - history_next: richiama il comando successivo nella cronologia del buffer corrente - history_global_previous: richiama il comando precedente nella cronologia globale - history_global_next: richiama il comando successivo nella cronologia globale - jump_smart: passa al buffer successivo con attività - jump_last_buffer: passa all'ultimo buffer - jump_last_buffer_displayed: passa all'ultimo buffer mostrato (primadell'ultimo passaggio ad un buffer) - jump_previously_visited_buffer: passa al precedente buffer visualizzato - jump_next_visited_buffer: passa al successivo buffer visualizzato - hotlist_clear: elimina hotlist - grab_key: ottiene un tasto - grab_key_command: ottiene un tasto con il suo comando associato - grab_mouse: cattura il codice dell'evento del mouse - grab_mouse_area: cattura il codice dell'evento del mouse con l'area - set_unread: imposta il segnalibro non letto per tutti i buffer - set_unread_current_buffer: imposta il segnalibro non letto per il buffer corrente - switch_active_buffer: passa al successivo buffer incollato - switch_active_buffer_previous: passa al precedente buffer incollato - insert: inserisci testo nella riga di comando - paste_start: inizio testo da incollare (modalità "bracketed paste") - paste_stop: fine testo da incollare (modalità "bracketed paste") +list of actions: + return: simulate key "enter" + complete_next: complete word with next completion + complete_previous: complete word with previous completion + search_text: search text in buffer + search_switch_case: switch exact case for search + search_previous: search previous line + search_next: search next line + search_stop: stop search + delete_previous_char: delete previous char + delete_next_char: delete next char + delete_previous_word: delete previous word + delete_next_word: delete next word + delete_beginning_of_line: delete from beginning of line until cursor + delete_end_of_line: delete from cursor until end of line + delete_line: delete entire line + clipboard_paste: paste from clipboard + transpose_chars: transpose two chars + undo: undo last command line action + redo: redo last command line action + move_beginning_of_line: move cursor to beginning of line + move_end_of_line: move cursor to end of line + move_previous_char: move cursor to previous char + move_next_char: move cursor to next char + move_previous_word: move cursor to previous word + move_next_word: move cursor to next word + history_previous: recall previous command in current buffer history + history_next: recall next command in current buffer history + history_global_previous: recall previous command in global history + history_global_next: recall next command in global history + jump_smart: jump to next buffer with activity + jump_last_buffer: jump to last buffer + jump_last_buffer_displayed: jump to last buffer displayed (before last jump to a buffer) + jump_previously_visited_buffer: jump to previously visited buffer + jump_next_visited_buffer: jump to next visited buffer + hotlist_clear: clear hotlist + grab_key: grab a key (optional argument: delay for end of grab, default is 500 milliseconds) + grab_key_command: grab a key with its associated command (optional argument: delay for end of grab, default is 500 milliseconds) + grab_mouse: grab mouse event code + grab_mouse_area: grab mouse event code with area + set_unread: set unread marker for all buffers + set_unread_current_buffer: set unread marker for current buffer + switch_active_buffer: switch to next merged buffer + switch_active_buffer_previous: switch to previous merged buffer + zoom_merged_buffer: zoom on merged buffer + insert: insert text in command line + paste_start: start paste (bracketed paste mode) + paste_stop: stop paste (bracketed paste mode) -Questo comando viene usato dalla combinazioni tasti o dai plugin. +This command is used by key bindings or plugins. ........................................ [[command_weechat_key]] diff --git a/doc/it/weechat_user.it.txt b/doc/it/weechat_user.it.txt index 91738e62f..447fd9e58 100644 --- a/doc/it/weechat_user.it.txt +++ b/doc/it/weechat_user.it.txt @@ -684,6 +684,8 @@ Tasti per buffer / finestre | @k(C-)@k(l) | Ridisegna l'intera finestra | /window refresh | @k(C-)@k(s) , @k(C-)@k(u) | Imposta l'evidenziatore dei messaggi non letti su tutti i buffer | /input set_unread | @k(C-)@k(x) | Passa al buffer attivo se i buffer sono collegati con lo stesso numero | /input switch_active_buffer +// TRANSLATION MISSING +| @k(A-)@k(x) | Zoom on merged buffer (@k(A-)@k(x) again: display all merged buffers) | /input zoom_merged_buffer | @k(PgUp) | Scorre in alto di una pagina nella cronologia del buffer | /window page_up | @k(PgDn) | Scorre di una pagina in basso nella cronologia del buffer | /window page_down | @k(A-)@k(PgUp) | Scorre di qualche riga in alto nella cronologia del buffer | /window scroll_up diff --git a/doc/ja/autogen/user/weechat_commands.txt b/doc/ja/autogen/user/weechat_commands.txt index 0ebd6b4d5..3b3994b8d 100644 --- a/doc/ja/autogen/user/weechat_commands.txt +++ b/doc/ja/autogen/user/weechat_commands.txt @@ -281,55 +281,56 @@ value: 表示する履歴エントリの数 ........................................ /input [] -アクションリスト: - return: "enter" キーをシミュレート - complete_next: 次の補完候補で単語を補完 - complete_previous: 一つ前の補完候補で単語を補完 - search_text: バッファ内のテキストを検索 - search_switch_case: 完全一致検索に変更 - search_previous: 一つ前の行を検索 - search_next: 次の行を検索 - search_stop: 検索を終了 - delete_previous_char: 一つ前の文字を削除 - delete_next_char: 次の文字を削除 - delete_previous_word: 一つ前の単語を削除 - delete_next_word: 次の単語を削除 - delete_beginning_of_line: 行の最初からカーソル位置までを削除 - delete_end_of_line: カーソルから行の最後までを削除 - delete_line: 行を削除 - clipboard_paste: クリップボードから貼り付け - transpose_chars: 2 つの文字を入れ替え - undo: 最新のコマンドラインアクションまで元に戻す - redo: 最新のコマンドラインアクションまでやり直す - move_beginning_of_line: カーソルを行頭に移動 - move_end_of_line: カーソルを行末まで移動 - move_previous_char: カーソルを一つ前の文字に移動 - move_next_char: カーソルを次の文字に移動 - move_previous_word: カーソルを一つ前の単語に移動 - move_next_word: カーソルを次の単語に移動 - history_previous: 現在のバッファ履歴のひとつ前のコマンドを再呼び出し - history_next: 現在のバッファ履歴の次のコマンドを再呼び出し - history_global_previous: グローバル履歴の一つ前のコマンドを再呼び出し - history_global_next: グローバル履歴の次のコマンドを再呼び出し - jump_smart: 次のアクティブバッファに飛ぶ - jump_last_buffer: 最後のバッファに移動 - jump_last_buffer_displayed: 表示されている最後のバッファに移動 (最新のバッファ移動の一つ前に表示されていたバッファ) - jump_previously_visited_buffer: 一つ前に訪れたバッファに移動 - jump_next_visited_buffer: 次に訪れたバッファに移動 - hotlist_clear: ホットリストを消去 - grab_key: キーを横取りする (オプション引数: 最後の横取りからの遅延時間、デフォルトは 500 ミリ秒) - grab_key_command: あるコマンドに関連してキーを横取りする (オプション引数: 最後の横取りからの遅延時間、デフォルトは 500 ミリ秒) - grab_mouse: grab マウスイベントコードを横取り - grab_mouse_area: 範囲指定のマウスイベントコードを横取り - set_unread: 全てのバッファに対して未読マーカーを設定 - set_unread_current_buffer: 現在のバッファに対して未読マーカーを設定 - switch_active_buffer: 次のマージされたバッファに移動 - switch_active_buffer_previous: 一つ前のマージされたバッファに移動 - insert: コマンドラインにテキストを挿入 - paste_start: ペーストの開始 (括弧付きペーストモード) - paste_stop: ペーストの終了 (括弧付きペーストモード) +list of actions: + return: simulate key "enter" + complete_next: complete word with next completion + complete_previous: complete word with previous completion + search_text: search text in buffer + search_switch_case: switch exact case for search + search_previous: search previous line + search_next: search next line + search_stop: stop search + delete_previous_char: delete previous char + delete_next_char: delete next char + delete_previous_word: delete previous word + delete_next_word: delete next word + delete_beginning_of_line: delete from beginning of line until cursor + delete_end_of_line: delete from cursor until end of line + delete_line: delete entire line + clipboard_paste: paste from clipboard + transpose_chars: transpose two chars + undo: undo last command line action + redo: redo last command line action + move_beginning_of_line: move cursor to beginning of line + move_end_of_line: move cursor to end of line + move_previous_char: move cursor to previous char + move_next_char: move cursor to next char + move_previous_word: move cursor to previous word + move_next_word: move cursor to next word + history_previous: recall previous command in current buffer history + history_next: recall next command in current buffer history + history_global_previous: recall previous command in global history + history_global_next: recall next command in global history + jump_smart: jump to next buffer with activity + jump_last_buffer: jump to last buffer + jump_last_buffer_displayed: jump to last buffer displayed (before last jump to a buffer) + jump_previously_visited_buffer: jump to previously visited buffer + jump_next_visited_buffer: jump to next visited buffer + hotlist_clear: clear hotlist + grab_key: grab a key (optional argument: delay for end of grab, default is 500 milliseconds) + grab_key_command: grab a key with its associated command (optional argument: delay for end of grab, default is 500 milliseconds) + grab_mouse: grab mouse event code + grab_mouse_area: grab mouse event code with area + set_unread: set unread marker for all buffers + set_unread_current_buffer: set unread marker for current buffer + switch_active_buffer: switch to next merged buffer + switch_active_buffer_previous: switch to previous merged buffer + zoom_merged_buffer: zoom on merged buffer + insert: insert text in command line + paste_start: start paste (bracketed paste mode) + paste_stop: stop paste (bracketed paste mode) -これらのコマンドはキーバインドかプラグインで利用できます。 +This command is used by key bindings or plugins. ........................................ [[command_weechat_key]] diff --git a/doc/ja/weechat_user.ja.txt b/doc/ja/weechat_user.ja.txt index 5d9bc80e6..e766351a3 100644 --- a/doc/ja/weechat_user.ja.txt +++ b/doc/ja/weechat_user.ja.txt @@ -646,6 +646,8 @@ irc サーバ "freenode" に含まれる全てのバッファに対して設定 | @k(C-)@k(l) | 全ウィンドウを再描画 | /window refresh | @k(C-)@k(s) , @k(C-)@k(u) | すべてのバッファに未読マークをセット | /input set_unread | @k(C-)@k(x) | 同じ番号を持つバッファにアタッチされていた場合、現在のバッファに移動 | /input switch_active_buffer +// TRANSLATION MISSING +| @k(A-)@k(x) | Zoom on merged buffer (@k(A-)@k(x) again: display all merged buffers) | /input zoom_merged_buffer | @k(PgUp) | バッファ履歴を 1 ページ分上方向にスクロール | /window page_up | @k(PgDn) | バッファ履歴を 1 ページ分下方向にスクロール | /window page_down | @k(A-)@k(PgUp) | バッファ履歴を数行分上方向にスクロール | /window scroll_up diff --git a/po/cs.po b/po/cs.po index d04241892..8c6913c7a 100644 --- a/po/cs.po +++ b/po/cs.po @@ -20,7 +20,7 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat 0.3.9-dev\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2012-08-30 08:37+0200\n" +"POT-Creation-Date: 2012-08-30 10:40+0200\n" "PO-Revision-Date: 2012-08-20 15:20+0200\n" "Last-Translator: Jiri Golembiovsky \n" "Language-Team: weechat-dev \n" @@ -1393,6 +1393,7 @@ msgid "" " set_unread_current_buffer: set unread marker for current buffer\n" " switch_active_buffer: switch to next merged buffer\n" " switch_active_buffer_previous: switch to previous merged buffer\n" +" zoom_merged_buffer: zoom on merged buffer\n" " insert: insert text in command line\n" " paste_start: start paste (bracketed paste mode)\n" " paste_stop: stop paste (bracketed paste mode)\n" diff --git a/po/de.po b/po/de.po index cc333313d..2e86693c4 100644 --- a/po/de.po +++ b/po/de.po @@ -23,7 +23,7 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat 0.3.7-dev\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2012-08-30 08:37+0200\n" +"POT-Creation-Date: 2012-08-30 10:40+0200\n" "PO-Revision-Date: 2012-08-20 15:20+0200\n" "Last-Translator: Nils Görs \n" "Language-Team: German \n" @@ -1409,6 +1409,7 @@ msgstr "Funktionen für die Befehlszeile" msgid " []" msgstr " []" +#, fuzzy msgid "" "list of actions:\n" " return: simulate key \"enter\"\n" @@ -1457,6 +1458,7 @@ msgid "" " set_unread_current_buffer: set unread marker for current buffer\n" " switch_active_buffer: switch to next merged buffer\n" " switch_active_buffer_previous: switch to previous merged buffer\n" +" zoom_merged_buffer: zoom on merged buffer\n" " insert: insert text in command line\n" " paste_start: start paste (bracketed paste mode)\n" " paste_stop: stop paste (bracketed paste mode)\n" diff --git a/po/es.po b/po/es.po index 2df5018c9..0b6c28128 100644 --- a/po/es.po +++ b/po/es.po @@ -22,7 +22,7 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat 0.3.9-dev\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2012-08-30 08:37+0200\n" +"POT-Creation-Date: 2012-08-30 10:40+0200\n" "PO-Revision-Date: 2012-08-20 15:20+0200\n" "Last-Translator: Elián Hanisch \n" "Language-Team: weechat-dev \n" @@ -1371,6 +1371,7 @@ msgstr "funciones para la línea de comandos" msgid " []" msgstr " []" +#, fuzzy msgid "" "list of actions:\n" " return: simulate key \"enter\"\n" @@ -1419,6 +1420,7 @@ msgid "" " set_unread_current_buffer: set unread marker for current buffer\n" " switch_active_buffer: switch to next merged buffer\n" " switch_active_buffer_previous: switch to previous merged buffer\n" +" zoom_merged_buffer: zoom on merged buffer\n" " insert: insert text in command line\n" " paste_start: start paste (bracketed paste mode)\n" " paste_stop: stop paste (bracketed paste mode)\n" diff --git a/po/fr.po b/po/fr.po index 778f38506..5b30396f3 100644 --- a/po/fr.po +++ b/po/fr.po @@ -21,8 +21,8 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat 0.3.9-dev\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2012-08-30 08:37+0200\n" -"PO-Revision-Date: 2012-08-29 17:56+0200\n" +"POT-Creation-Date: 2012-08-30 10:40+0200\n" +"PO-Revision-Date: 2012-08-30 10:08+0200\n" "Last-Translator: Sebastien Helleu \n" "Language-Team: weechat-dev \n" "Language: French\n" @@ -1427,6 +1427,7 @@ msgid "" " set_unread_current_buffer: set unread marker for current buffer\n" " switch_active_buffer: switch to next merged buffer\n" " switch_active_buffer_previous: switch to previous merged buffer\n" +" zoom_merged_buffer: zoom on merged buffer\n" " insert: insert text in command line\n" " paste_start: start paste (bracketed paste mode)\n" " paste_stop: stop paste (bracketed paste mode)\n" @@ -1485,6 +1486,7 @@ msgstr "" "tampon courant\n" " switch_active_buffer: basculer vers le tampon mélangé suivant\n" " switch_active_buffer_previous: basculer vers le tampon mélangé précédent\n" +" zoom_merged_buffer: zoom sur le tampon mélangé\n" " insert: insérer du texte dans la ligne de commande\n" " paste_start: début de collage (mode \"bracketed paste\")\n" " paste_stop: fin de collage (mode \"bracketed paste\")\n" diff --git a/po/hu.po b/po/hu.po index 7de965299..99cd4d3c1 100644 --- a/po/hu.po +++ b/po/hu.po @@ -20,7 +20,7 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat 0.3.9-dev\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2012-08-30 08:37+0200\n" +"POT-Creation-Date: 2012-08-30 10:40+0200\n" "PO-Revision-Date: 2012-08-20 15:20+0200\n" "Last-Translator: Andras Voroskoi \n" "Language-Team: weechat-dev \n" @@ -1270,6 +1270,7 @@ msgid "" " set_unread_current_buffer: set unread marker for current buffer\n" " switch_active_buffer: switch to next merged buffer\n" " switch_active_buffer_previous: switch to previous merged buffer\n" +" zoom_merged_buffer: zoom on merged buffer\n" " insert: insert text in command line\n" " paste_start: start paste (bracketed paste mode)\n" " paste_stop: stop paste (bracketed paste mode)\n" diff --git a/po/it.po b/po/it.po index 506b6dd0f..44908ac2a 100644 --- a/po/it.po +++ b/po/it.po @@ -20,7 +20,7 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat 0.3.9-dev\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2012-08-30 08:37+0200\n" +"POT-Creation-Date: 2012-08-30 10:40+0200\n" "PO-Revision-Date: 2012-08-20 15:20+0200\n" "Last-Translator: Marco Paolone \n" "Language-Team: weechat-dev \n" @@ -1367,6 +1367,7 @@ msgstr "funzioni per la riga di comando" msgid " []" msgstr " []" +#, fuzzy msgid "" "list of actions:\n" " return: simulate key \"enter\"\n" @@ -1415,6 +1416,7 @@ msgid "" " set_unread_current_buffer: set unread marker for current buffer\n" " switch_active_buffer: switch to next merged buffer\n" " switch_active_buffer_previous: switch to previous merged buffer\n" +" zoom_merged_buffer: zoom on merged buffer\n" " insert: insert text in command line\n" " paste_start: start paste (bracketed paste mode)\n" " paste_stop: stop paste (bracketed paste mode)\n" diff --git a/po/ja.po b/po/ja.po index 3221ebf13..e7ea1e87e 100644 --- a/po/ja.po +++ b/po/ja.po @@ -20,7 +20,7 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat 0.3.9-dev\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2012-08-30 08:37+0200\n" +"POT-Creation-Date: 2012-08-30 10:40+0200\n" "PO-Revision-Date: 2012-08-20 15:20+0200\n" "Last-Translator: AYANOKOUZI, Ryuunosuke \n" "Language-Team: Japanese \n" @@ -1349,6 +1349,7 @@ msgstr "コマンドライン関数" msgid " []" msgstr " []" +#, fuzzy msgid "" "list of actions:\n" " return: simulate key \"enter\"\n" @@ -1397,6 +1398,7 @@ msgid "" " set_unread_current_buffer: set unread marker for current buffer\n" " switch_active_buffer: switch to next merged buffer\n" " switch_active_buffer_previous: switch to previous merged buffer\n" +" zoom_merged_buffer: zoom on merged buffer\n" " insert: insert text in command line\n" " paste_start: start paste (bracketed paste mode)\n" " paste_stop: stop paste (bracketed paste mode)\n" diff --git a/po/pl.po b/po/pl.po index 968988582..d6ad73c90 100644 --- a/po/pl.po +++ b/po/pl.po @@ -21,7 +21,7 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat 0.3.9-dev\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2012-08-30 08:37+0200\n" +"POT-Creation-Date: 2012-08-30 10:40+0200\n" "PO-Revision-Date: 2012-08-20 15:20+0200\n" "Last-Translator: Krzysztof Korościk \n" "Language-Team: weechat-dev \n" @@ -1375,6 +1375,7 @@ msgstr "funkcje linii komend" msgid " []" msgstr " []" +#, fuzzy msgid "" "list of actions:\n" " return: simulate key \"enter\"\n" @@ -1423,6 +1424,7 @@ msgid "" " set_unread_current_buffer: set unread marker for current buffer\n" " switch_active_buffer: switch to next merged buffer\n" " switch_active_buffer_previous: switch to previous merged buffer\n" +" zoom_merged_buffer: zoom on merged buffer\n" " insert: insert text in command line\n" " paste_start: start paste (bracketed paste mode)\n" " paste_stop: stop paste (bracketed paste mode)\n" diff --git a/po/pt_BR.po b/po/pt_BR.po index 163302bcf..7c29a5a49 100644 --- a/po/pt_BR.po +++ b/po/pt_BR.po @@ -21,7 +21,7 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat 0.3.9-dev\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2012-08-30 08:37+0200\n" +"POT-Creation-Date: 2012-08-30 10:40+0200\n" "PO-Revision-Date: 2012-08-20 15:20+0200\n" "Last-Translator: Sergio Durigan Junior \n" "Language-Team: weechat-dev \n" @@ -1456,6 +1456,7 @@ msgid "" " set_unread_current_buffer: set unread marker for current buffer\n" " switch_active_buffer: switch to next merged buffer\n" " switch_active_buffer_previous: switch to previous merged buffer\n" +" zoom_merged_buffer: zoom on merged buffer\n" " insert: insert text in command line\n" " paste_start: start paste (bracketed paste mode)\n" " paste_stop: stop paste (bracketed paste mode)\n" diff --git a/po/ru.po b/po/ru.po index c6bf6a3a6..593cbc0e9 100644 --- a/po/ru.po +++ b/po/ru.po @@ -21,7 +21,7 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat 0.3.9-dev\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2012-08-30 08:37+0200\n" +"POT-Creation-Date: 2012-08-30 10:40+0200\n" "PO-Revision-Date: 2012-08-20 15:20+0200\n" "Last-Translator: Aleksey V Zapparov AKA ixti \n" "Language-Team: weechat-dev \n" @@ -1288,6 +1288,7 @@ msgid "" " set_unread_current_buffer: set unread marker for current buffer\n" " switch_active_buffer: switch to next merged buffer\n" " switch_active_buffer_previous: switch to previous merged buffer\n" +" zoom_merged_buffer: zoom on merged buffer\n" " insert: insert text in command line\n" " paste_start: start paste (bracketed paste mode)\n" " paste_stop: stop paste (bracketed paste mode)\n" diff --git a/po/weechat.pot b/po/weechat.pot index 66a86a463..cdc53d518 100644 --- a/po/weechat.pot +++ b/po/weechat.pot @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2012-08-30 08:37+0200\n" +"POT-Creation-Date: 2012-08-30 10:40+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -1124,6 +1124,7 @@ msgid "" " set_unread_current_buffer: set unread marker for current buffer\n" " switch_active_buffer: switch to next merged buffer\n" " switch_active_buffer_previous: switch to previous merged buffer\n" +" zoom_merged_buffer: zoom on merged buffer\n" " insert: insert text in command line\n" " paste_start: start paste (bracketed paste mode)\n" " paste_stop: stop paste (bracketed paste mode)\n" diff --git a/src/core/wee-command.c b/src/core/wee-command.c index 0b84ab7b9..62d7635a1 100644 --- a/src/core/wee-command.c +++ b/src/core/wee-command.c @@ -2426,6 +2426,8 @@ COMMAND_CALLBACK(input) gui_input_set_unread_current (buffer); else if (string_strcasecmp (argv[1], "switch_active_buffer") == 0) gui_input_switch_active_buffer (buffer); + else if (string_strcasecmp (argv[1], "zoom_merged_buffer") == 0) + gui_input_zoom_merged_buffer (buffer); else if (string_strcasecmp (argv[1], "switch_active_buffer_previous") == 0) gui_input_switch_active_buffer_previous (buffer); else if (string_strcasecmp (argv[1], "insert") == 0) @@ -5816,6 +5818,7 @@ command_init () " switch_active_buffer: switch to next merged buffer\n" " switch_active_buffer_previous: switch to previous " "merged buffer\n" + " zoom_merged_buffer: zoom on merged buffer\n" " insert: insert text in command line\n" " paste_start: start paste (bracketed paste mode)\n" " paste_stop: stop paste (bracketed paste mode)\n\n" @@ -5834,7 +5837,8 @@ command_init () "jump_next_visited_buffer|hotlist_clear|grab_key|" "grab_key_command|grab_mouse|grab_mouse_area|set_unread|" "set_unread_current_buffer|switch_active_buffer|" - "switch_active_buffer_previous|insert|paste_start|paste_stop", + "switch_active_buffer_previous|zoom_merged_buffer|insert|" + "paste_start|paste_stop", &command_input, NULL); hook_command (NULL, "key", N_("bind/unbind keys"), diff --git a/src/gui/curses/gui-curses-chat.c b/src/gui/curses/gui-curses-chat.c index fccefff0a..ddcaa7b65 100644 --- a/src/gui/curses/gui-curses-chat.c +++ b/src/gui/curses/gui-curses-chat.c @@ -646,7 +646,7 @@ gui_chat_display_time_to_prefix (struct t_gui_window *window, /* display buffer name (if many buffers are merged) */ mixed_lines = line->data->buffer->mixed_lines; - if (mixed_lines) + if (mixed_lines && (line->data->buffer->active != 2)) { if ((CONFIG_INTEGER(config_look_prefix_buffer_align_max) > 0) && (CONFIG_INTEGER(config_look_prefix_buffer_align) != CONFIG_LOOK_PREFIX_BUFFER_ALIGN_NONE)) diff --git a/src/gui/curses/gui-curses-key.c b/src/gui/curses/gui-curses-key.c index a9e65e436..420bd65e5 100644 --- a/src/gui/curses/gui-curses-key.c +++ b/src/gui/curses/gui-curses-key.c @@ -96,6 +96,7 @@ gui_key_default_bindings (int context) BIND(/* ^D */ "ctrl-D", "/input delete_next_char"); BIND(/* ^W */ "ctrl-W", "/input delete_previous_word"); BIND(/* ^X */ "ctrl-X", "/input switch_active_buffer"); + BIND(/* m-x */ "meta-x", "/input zoom_merged_buffer"); BIND(/* m-d */ "meta-d", "/input delete_next_word"); BIND(/* ^K */ "ctrl-K", "/input delete_end_of_line"); BIND(/* m-r */ "meta-r", "/input delete_line"); diff --git a/src/gui/gui-buffer.c b/src/gui/gui-buffer.c index 509846628..409e81c6a 100644 --- a/src/gui/gui-buffer.c +++ b/src/gui/gui-buffer.c @@ -2297,12 +2297,37 @@ void gui_buffer_set_active_buffer (struct t_gui_buffer *buffer) { struct t_gui_buffer *ptr_buffer; + int active; + + active = 1; + for (ptr_buffer = gui_buffers; ptr_buffer; + ptr_buffer = ptr_buffer->next_buffer) + { + if (ptr_buffer->active) + { + active = ptr_buffer->active; + break; + } + } for (ptr_buffer = gui_buffers; ptr_buffer; ptr_buffer = ptr_buffer->next_buffer) { if (ptr_buffer->number == buffer->number) - ptr_buffer->active = (ptr_buffer == buffer) ? 1 : 0; + { + if (ptr_buffer == buffer) + { + if (active == 2) + ptr_buffer->lines = ptr_buffer->own_lines; + ptr_buffer->active = active; + } + else + { + if (ptr_buffer->active == 2) + ptr_buffer->lines = ptr_buffer->mixed_lines; + ptr_buffer->active = 0; + } + } } } diff --git a/src/gui/gui-buffer.h b/src/gui/gui-buffer.h index fa6cd810f..fcb6d8201 100644 --- a/src/gui/gui-buffer.h +++ b/src/gui/gui-buffer.h @@ -85,9 +85,9 @@ struct t_gui_buffer /* 2 = highlight + msg */ /* 3 = highlight + msg + join/part */ int num_displayed; /* number of windows displaying buf. */ - int active; /* it is 0 only if buffers are */ - /* merged and that this one is not */ - /* selected buffer */ + int active; /* 0 = buffer merged and not active */ + /* 1 = active (merged or not) */ + /* 2 = the only active (merged) */ int print_hooks_enabled; /* 1 if print hooks are enabled */ /* close callback */ diff --git a/src/gui/gui-input.c b/src/gui/gui-input.c index cd430d55b..a4dc2ef69 100644 --- a/src/gui/gui-input.c +++ b/src/gui/gui-input.c @@ -1497,6 +1497,49 @@ gui_input_switch_active_buffer_previous (struct t_gui_buffer *buffer) } } +/* + * gui_input_zoom_merged_buffer: zoom on current active merged buffer, + * or display all merged buffers if zoom + * was active + * (default key: alt-x) + */ + +void +gui_input_zoom_merged_buffer (struct t_gui_buffer *buffer) +{ + struct t_gui_window *window; + + /* do nothing if current buffer is not merged with another buffer */ + if (gui_buffer_count_merged_buffers (buffer->number) < 2) + return; + + /* first make buffer active if it is not */ + if (!buffer->active) + { + gui_buffer_set_active_buffer (buffer); + window = gui_window_search_with_buffer (buffer); + if (window) + gui_window_switch_to_buffer (window, buffer, 1); + } + + /* + * toggle active flag between 1 and 2 + * (1 = active with other merged buffers displayed, 2 = the only active) + */ + if (buffer->active == 1) + { + buffer->active = 2; + buffer->lines = buffer->own_lines; + } + else if (buffer->active == 2) + { + buffer->active = 1; + buffer->lines = buffer->mixed_lines; + } + + gui_buffer_ask_chat_refresh (buffer, 2); +} + /* * gui_input_insert: insert a string in command line * (many default keys are bound to this function) diff --git a/src/gui/gui-input.h b/src/gui/gui-input.h index 456b39fb1..fbdc55dec 100644 --- a/src/gui/gui-input.h +++ b/src/gui/gui-input.h @@ -78,6 +78,7 @@ extern void gui_input_set_unread (); extern void gui_input_set_unread_current (struct t_gui_buffer *buffer); extern void gui_input_switch_active_buffer (struct t_gui_buffer *buffer); extern void gui_input_switch_active_buffer_previous (struct t_gui_buffer *buffer); +extern void gui_input_zoom_merged_buffer (struct t_gui_buffer *buffer); extern void gui_input_insert (struct t_gui_buffer *buffer, const char *args); extern void gui_input_undo (struct t_gui_buffer *buffer); extern void gui_input_redo (struct t_gui_buffer *buffer); diff --git a/src/gui/gui-line.c b/src/gui/gui-line.c index 81a736728..1b661e4f8 100644 --- a/src/gui/gui-line.c +++ b/src/gui/gui-line.c @@ -227,7 +227,7 @@ gui_line_get_align (struct t_gui_buffer *buffer, struct t_gui_line *line, } /* length of buffer name (when many buffers are merged) */ - if (buffer->mixed_lines) + if (buffer->mixed_lines && (buffer->active != 2)) { if ((CONFIG_INTEGER(config_look_prefix_buffer_align) == CONFIG_LOOK_PREFIX_BUFFER_ALIGN_NONE) && (CONFIG_INTEGER(config_look_prefix_align) == CONFIG_LOOK_PREFIX_ALIGN_NONE))