diff --git a/ChangeLog b/ChangeLog index c53c1347f..cdd9efe65 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,12 +1,13 @@ WeeChat ChangeLog ================= Sébastien Helleu -v0.3.8-dev, 2012-03-03 +v0.3.8-dev, 2012-03-04 Version 0.3.8 (under dev!) -------------------------- +* core: add support of terminal "bracketed paste mode" (task #11316) * core: fix display of wide chars on last column of chat area (patch #7733) * irc: add support of "external" SASL mechanism (task #11864) * irc: close server buffer when server is deleted diff --git a/NEWS b/NEWS index e70ae17ea..d9533e278 100644 --- a/NEWS +++ b/NEWS @@ -1,12 +1,17 @@ WeeChat News ============ Sébastien Helleu -v0.3.8-dev, 2012-03-03 +v0.3.8-dev, 2012-03-04 Version 0.3.8 (under dev!) -------------------------- +* option weechat.look.paste_max_lines can now be used with value 0 to detect + paste with one line (only if terminal "bracketed paste mode" is enabled when + option 'weechat.look.bracketed_paste_mode' is on); so now the value -1 is used + to disable paste detection: if your value was 0, you should set it to -1: +** `weechat.look.paste_max_lines -1` * rmodifier "nickserv" has a new default regex which includes option "release" for command "/msg nickserv". If you never added/changed rmodifiers, you can just reset all rmodifiers (command: `/rmodifier default -yes`). diff --git a/doc/de/autogen/user/weechat_commands.txt b/doc/de/autogen/user/weechat_commands.txt index 8d5f39b3c..0ab481cdf 100644 --- a/doc/de/autogen/user/weechat_commands.txt +++ b/doc/de/autogen/user/weechat_commands.txt @@ -275,53 +275,55 @@ 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 +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 + 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/autogen/user/weechat_options.txt b/doc/de/autogen/user/weechat_options.txt index 0775fe76e..f3f4ba866 100644 --- a/doc/de/autogen/user/weechat_options.txt +++ b/doc/de/autogen/user/weechat_options.txt @@ -368,6 +368,11 @@ ** Typ: Zeichenkette ** Werte: beliebige Zeichenkette (Standardwert: `"--"`) +* [[option_weechat.look.bracketed_paste_mode]] *weechat.look.bracketed_paste_mode* +** Beschreibung: `enable terminal "bracketed paste mode" (not supported in all terminals/multiplexers): in this mode, pasted text is bracketed with control sequences so that WeeChat can differentiate pasted text from typed-in text "(ESC[200~", followed by the pasted text, followed by "ESC[201~")` +** Typ: boolesch +** Werte: on, off (Standardwert: `off`) + * [[option_weechat.look.buffer_notify_default]] *weechat.look.buffer_notify_default* ** Beschreibung: `Standardeinstellung der Benachrichtigungsstufe für Buffer (dies wird genutzt um WeeChat mitzuteilen ob der Buffer in der Hotlist angezeigt werden soll oder nicht, entsprechend der Wichtigkeit der Nachricht): all=alle Nachrichten (Standard), message=Nachrichten+Highlights, highlights=nur Highlights, none=Hotlist wird niemals angezeigt.` ** Typ: integer @@ -579,9 +584,9 @@ ** Werte: on, off (Standardwert: `off`) * [[option_weechat.look.paste_max_lines]] *weechat.look.paste_max_lines* -** Beschreibung: `maximale Anzahl der Zeilen die eingefügt werden dürfen ohne dass der Anwender gefragt wird (0 = schaltet diese Funktion ab)` +** Beschreibung: `max number of lines for paste without asking user (-1 = disable this feature)` ** Typ: integer -** Werte: 0 .. 2147483647 (Standardwert: `3`) +** Werte: -1 .. 2147483647 (Standardwert: `3`) * [[option_weechat.look.prefix_action]] *weechat.look.prefix_action* ** Beschreibung: `Präfix für Action-Nachrichten` diff --git a/doc/en/autogen/user/weechat_commands.txt b/doc/en/autogen/user/weechat_commands.txt index a264ba8e6..a09a26ca3 100644 --- a/doc/en/autogen/user/weechat_commands.txt +++ b/doc/en/autogen/user/weechat_commands.txt @@ -320,6 +320,8 @@ list of actions: switch_active_buffer: switch to next merged buffer switch_active_buffer_previous: switch to previous 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. ........................................ diff --git a/doc/en/autogen/user/weechat_options.txt b/doc/en/autogen/user/weechat_options.txt index 128f5a2ac..c27ee6e19 100644 --- a/doc/en/autogen/user/weechat_options.txt +++ b/doc/en/autogen/user/weechat_options.txt @@ -368,6 +368,11 @@ ** type: string ** values: any string (default value: `"--"`) +* [[option_weechat.look.bracketed_paste_mode]] *weechat.look.bracketed_paste_mode* +** description: `enable terminal "bracketed paste mode" (not supported in all terminals/multiplexers): in this mode, pasted text is bracketed with control sequences so that WeeChat can differentiate pasted text from typed-in text "(ESC[200~", followed by the pasted text, followed by "ESC[201~")` +** type: boolean +** values: on, off (default value: `off`) + * [[option_weechat.look.buffer_notify_default]] *weechat.look.buffer_notify_default* ** description: `default notify level for buffers (used to tell WeeChat if buffer must be displayed in hotlist or not, according to importance of message): all=all messages (default), message=messages+highlights, highlight=highlights only, none=never display in hotlist` ** type: integer @@ -579,9 +584,9 @@ ** values: on, off (default value: `off`) * [[option_weechat.look.paste_max_lines]] *weechat.look.paste_max_lines* -** description: `max number of lines for paste without asking user (0 = disable this feature)` +** description: `max number of lines for paste without asking user (-1 = disable this feature)` ** type: integer -** values: 0 .. 2147483647 (default value: `3`) +** values: -1 .. 2147483647 (default value: `3`) * [[option_weechat.look.prefix_action]] *weechat.look.prefix_action* ** description: `prefix for action messages` diff --git a/doc/fr/autogen/user/weechat_commands.txt b/doc/fr/autogen/user/weechat_commands.txt index 1ac5781a4..f17c48f3c 100644 --- a/doc/fr/autogen/user/weechat_commands.txt +++ b/doc/fr/autogen/user/weechat_commands.txt @@ -320,6 +320,8 @@ list des actions: switch_active_buffer: basculer vers le tampon mélangé suivant switch_active_buffer_previous: basculer vers le tampon mélangé précédent 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") Cette commande est utilisé par les associations de touches ou les extensions. ........................................ diff --git a/doc/fr/autogen/user/weechat_options.txt b/doc/fr/autogen/user/weechat_options.txt index 35b636a25..22fcd024a 100644 --- a/doc/fr/autogen/user/weechat_options.txt +++ b/doc/fr/autogen/user/weechat_options.txt @@ -368,6 +368,11 @@ ** type: chaîne ** valeurs: toute chaîne (valeur par défaut: `"--"`) +* [[option_weechat.look.bracketed_paste_mode]] *weechat.look.bracketed_paste_mode* +** description: `activer le mode du terminal "bracketed paste" (pas supporté par tous les terminaux/multiplexeurs): dans ce mode, le texte collé est entouré avec des séquences de contrôle de sorte que WeeChat puisse différencier le texte collé du texté tapé ("ESC[200~", suivi par le texte collé, suivi par "ESC[201~")` +** type: booléen +** valeurs: on, off (valeur par défaut: `off`) + * [[option_weechat.look.buffer_notify_default]] *weechat.look.buffer_notify_default* ** description: `niveau de notification par défaut pour les tampons (utilisé pour dire à WeeChat si le tampon doit être affiché dans la hotlist ou non, selon l'importance du message): all=tous les messages (par défaut), message=messages+highlights, highlight=highlights seulement, none=ne jemais afficher dans la hotlist` ** type: entier @@ -579,9 +584,9 @@ ** valeurs: on, off (valeur par défaut: `off`) * [[option_weechat.look.paste_max_lines]] *weechat.look.paste_max_lines* -** description: `nombre maximum de lignes pour la détection de collage sans demander à l'utilisateur (0 = désactiver cette fonctionnalité)` +** description: `nombre maximum de lignes pour la détection de collage sans demander à l'utilisateur (-1 = désactiver cette fonctionnalité)` ** type: entier -** valeurs: 0 .. 2147483647 (valeur par défaut: `3`) +** valeurs: -1 .. 2147483647 (valeur par défaut: `3`) * [[option_weechat.look.prefix_action]] *weechat.look.prefix_action* ** description: `préfixe pour les messages d'action` diff --git a/doc/it/autogen/user/weechat_commands.txt b/doc/it/autogen/user/weechat_commands.txt index 6a5062e7b..41a355d59 100644 --- a/doc/it/autogen/user/weechat_commands.txt +++ b/doc/it/autogen/user/weechat_commands.txt @@ -275,53 +275,55 @@ 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: ferma 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 +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 + 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/autogen/user/weechat_options.txt b/doc/it/autogen/user/weechat_options.txt index 88d5abb47..952924f5e 100644 --- a/doc/it/autogen/user/weechat_options.txt +++ b/doc/it/autogen/user/weechat_options.txt @@ -368,6 +368,11 @@ ** tipo: stringa ** valori: qualsiasi stringa (valore predefinito: `"--"`) +* [[option_weechat.look.bracketed_paste_mode]] *weechat.look.bracketed_paste_mode* +** descrizione: `enable terminal "bracketed paste mode" (not supported in all terminals/multiplexers): in this mode, pasted text is bracketed with control sequences so that WeeChat can differentiate pasted text from typed-in text "(ESC[200~", followed by the pasted text, followed by "ESC[201~")` +** tipo: bool +** valori: on, off (valore predefinito: `off`) + * [[option_weechat.look.buffer_notify_default]] *weechat.look.buffer_notify_default* ** descrizione: `livello predefinito di notifica per i buffer (usato per comunicare a WeeChat se il buffer deve essere visualizzato nella hotlist oppure no, a seconda dell'importanza del messaggio): all: tutti i messaggi (predefinito), message=messaggi+eventi, highlight=solo eventi, none=non viene mai visualizzato nella hotlist` ** tipo: intero @@ -579,9 +584,9 @@ ** valori: on, off (valore predefinito: `off`) * [[option_weechat.look.paste_max_lines]] *weechat.look.paste_max_lines* -** descrizione: `numero massimo di righe da incollare senza conferma dell'utente (0 = disabilita questa caratteristica)` +** descrizione: `max number of lines for paste without asking user (-1 = disable this feature)` ** tipo: intero -** valori: 0 .. 2147483647 (valore predefinito: `3`) +** valori: -1 .. 2147483647 (valore predefinito: `3`) * [[option_weechat.look.prefix_action]] *weechat.look.prefix_action* ** descrizione: `prefisso per i messaggi di azione` diff --git a/po/cs.po b/po/cs.po index ccb43fb73..ac3c60f5b 100644 --- a/po/cs.po +++ b/po/cs.po @@ -20,7 +20,7 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat 0.3.8-dev\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2012-02-29 14:32+0100\n" +"POT-Creation-Date: 2012-03-04 10:18+0100\n" "PO-Revision-Date: 2012-02-26 09:16+0100\n" "Last-Translator: Jiri Golembiovsky \n" "Language-Team: weechat-dev \n" @@ -1383,6 +1383,8 @@ msgid "" " switch_active_buffer: switch to next merged buffer\n" " switch_active_buffer_previous: switch to previous 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" "This command is used by key bindings or plugins." msgstr "" @@ -2236,6 +2238,13 @@ msgid "" "different from \"horizontal\")" msgstr "" +msgid "" +"enable terminal \"bracketed paste mode\" (not supported in all terminals/" +"multiplexers): in this mode, pasted text is bracketed with control sequences " +"so that WeeChat can differentiate pasted text from typed-in text \"(ESC[200~" +"\", followed by the pasted text, followed by \"ESC[201~\")" +msgstr "" + msgid "" "default notify level for buffers (used to tell WeeChat if buffer must be " "displayed in hotlist or not, according to importance of message): all=all " @@ -2511,8 +2520,9 @@ msgstr "zobrazit mód přezdívky ((částečný)op/voice) před každou přezd msgid "display space if nick mode is not (half)op/voice" msgstr "zobrazit mezeru pokud mód přezdívkz není (částečný)op/voice" +#, fuzzy msgid "" -"max number of lines for paste without asking user (0 = disable this feature)" +"max number of lines for paste without asking user (-1 = disable this feature)" msgstr "" "maximální počet řádků pro vložení bez dotazování uživatele (0 = vypnout tuto " "vlastnost)" @@ -3311,9 +3321,12 @@ msgstr "" msgid "Bar \"%s\" updated" msgstr "Pole \"%s\" zaktualizováno" -#, c-format -msgid "%sPaste %d lines ? [ctrl-Y] Yes [ctrl-N] No" -msgstr "%sVložit %d řádků ? [ctrl-Y] Ano [ctrl-N] Ne" +#, fuzzy, c-format +msgid "%sPaste %d line ? [ctrl-Y] Yes [ctrl-N] No" +msgid_plural "%sPaste %d lines ? [ctrl-Y] Yes [ctrl-N] No" +msgstr[0] "%sVložit %d řádků ? [ctrl-Y] Ano [ctrl-N] Ne" +msgstr[1] "%sVložit %d řádků ? [ctrl-Y] Ano [ctrl-N] Ne" +msgstr[2] "%sVložit %d řádků ? [ctrl-Y] Ano [ctrl-N] Ne" msgid "Text search" msgstr "Vyhledávání textu" diff --git a/po/de.po b/po/de.po index aaa31927a..e121e8a78 100644 --- a/po/de.po +++ b/po/de.po @@ -23,7 +23,7 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat 0.3.8-dev\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2012-02-29 14:32+0100\n" +"POT-Creation-Date: 2012-03-04 10:18+0100\n" "PO-Revision-Date: 2012-02-26 09:16+0100\n" "Last-Translator: Nils Görs \n" "Language-Team: German \n" @@ -1386,6 +1386,7 @@ msgstr "Funktionen für die Befehlszeile" msgid " []" msgstr " []" +#, fuzzy msgid "" "list of actions:\n" " return: simulate key \"enter\"\n" @@ -1435,6 +1436,8 @@ msgid "" " switch_active_buffer: switch to next merged buffer\n" " switch_active_buffer_previous: switch to previous 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" "This command is used by key bindings or plugins." msgstr "" @@ -2436,6 +2439,13 @@ msgstr "" "trifft nur auf Bars zu bei denen die Option \"/set *.filling_*\" nicht auf " "\"horizontal\" eingestellt ist)." +msgid "" +"enable terminal \"bracketed paste mode\" (not supported in all terminals/" +"multiplexers): in this mode, pasted text is bracketed with control sequences " +"so that WeeChat can differentiate pasted text from typed-in text \"(ESC[200~" +"\", followed by the pasted text, followed by \"ESC[201~\")" +msgstr "" + msgid "" "default notify level for buffers (used to tell WeeChat if buffer must be " "displayed in hotlist or not, according to importance of message): all=all " @@ -2750,8 +2760,9 @@ msgstr "Nickmode ((half)op/voice [@%+]) vor dem Nicknamen anzeigen" msgid "display space if nick mode is not (half)op/voice" msgstr "Leerzeichen anzeigen wenn Nickmode nicht (half)op/voice (@%+) ist" +#, fuzzy msgid "" -"max number of lines for paste without asking user (0 = disable this feature)" +"max number of lines for paste without asking user (-1 = disable this feature)" msgstr "" "maximale Anzahl der Zeilen die eingefügt werden dürfen ohne dass der " "Anwender gefragt wird (0 = schaltet diese Funktion ab)" @@ -3606,9 +3617,11 @@ msgstr "" msgid "Bar \"%s\" updated" msgstr "Infobar \"%s\" aktualisiert" -#, c-format -msgid "%sPaste %d lines ? [ctrl-Y] Yes [ctrl-N] No" -msgstr "%sEinfügen von %d Zeilen? [ctrl-Y] Ja [ctrl-N] Nein" +#, fuzzy, c-format +msgid "%sPaste %d line ? [ctrl-Y] Yes [ctrl-N] No" +msgid_plural "%sPaste %d lines ? [ctrl-Y] Yes [ctrl-N] No" +msgstr[0] "%sEinfügen von %d Zeilen? [ctrl-Y] Ja [ctrl-N] Nein" +msgstr[1] "%sEinfügen von %d Zeilen? [ctrl-Y] Ja [ctrl-N] Nein" msgid "Text search" msgstr "Textsuche" diff --git a/po/es.po b/po/es.po index 4e3a59980..ca7ddb4bb 100644 --- a/po/es.po +++ b/po/es.po @@ -21,7 +21,7 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat 0.3.8-dev\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2012-02-29 14:32+0100\n" +"POT-Creation-Date: 2012-03-04 10:18+0100\n" "PO-Revision-Date: 2012-02-26 09:16+0100\n" "Last-Translator: Elián Hanisch \n" "Language-Team: weechat-dev \n" @@ -1356,6 +1356,7 @@ msgstr "funciones para la línea de comandos" msgid " []" msgstr " []" +#, fuzzy msgid "" "list of actions:\n" " return: simulate key \"enter\"\n" @@ -1405,6 +1406,8 @@ msgid "" " switch_active_buffer: switch to next merged buffer\n" " switch_active_buffer_previous: switch to previous 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" "This command is used by key bindings or plugins." msgstr "" @@ -2351,6 +2354,13 @@ msgstr "" "cadena mostrada cuando la barra puede ser desplazada hacia abajo (para " "barras con un llenado distinto al \"horizontal\")" +msgid "" +"enable terminal \"bracketed paste mode\" (not supported in all terminals/" +"multiplexers): in this mode, pasted text is bracketed with control sequences " +"so that WeeChat can differentiate pasted text from typed-in text \"(ESC[200~" +"\", followed by the pasted text, followed by \"ESC[201~\")" +msgstr "" + msgid "" "default notify level for buffers (used to tell WeeChat if buffer must be " "displayed in hotlist or not, according to importance of message): all=all " @@ -2650,8 +2660,9 @@ msgstr "mostrar modo del usuario ((semi-)op/voz) antes de cada usuario" msgid "display space if nick mode is not (half)op/voice" msgstr "mostrar un espacio si el modo de usuario no es (semi-)op/voz" +#, fuzzy msgid "" -"max number of lines for paste without asking user (0 = disable this feature)" +"max number of lines for paste without asking user (-1 = disable this feature)" msgstr "" "número máximo de líneas que el usuario puede pegar sin pedir confirmación (0 " "= deshabilitar esta funcionalidad)" @@ -3480,9 +3491,11 @@ msgstr "" msgid "Bar \"%s\" updated" msgstr "Barra \"%s\" actualizada" -#, c-format -msgid "%sPaste %d lines ? [ctrl-Y] Yes [ctrl-N] No" -msgstr "%sPegar %d líneas ? [ctrl-Y] Sí [ctrl-N] No" +#, fuzzy, c-format +msgid "%sPaste %d line ? [ctrl-Y] Yes [ctrl-N] No" +msgid_plural "%sPaste %d lines ? [ctrl-Y] Yes [ctrl-N] No" +msgstr[0] "%sPegar %d líneas ? [ctrl-Y] Sí [ctrl-N] No" +msgstr[1] "%sPegar %d líneas ? [ctrl-Y] Sí [ctrl-N] No" msgid "Text search" msgstr "Búsqueda de texto" diff --git a/po/fr.po b/po/fr.po index 2bc80e6f5..462953014 100644 --- a/po/fr.po +++ b/po/fr.po @@ -21,8 +21,8 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat 0.3.8-dev\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2012-02-29 14:32+0100\n" -"PO-Revision-Date: 2012-02-29 14:35+0100\n" +"POT-Creation-Date: 2012-03-04 10:18+0100\n" +"PO-Revision-Date: 2012-03-04 10:19+0100\n" "Last-Translator: Sebastien Helleu \n" "Language-Team: weechat-dev \n" "Language: French\n" @@ -1407,6 +1407,8 @@ msgid "" " switch_active_buffer: switch to next merged buffer\n" " switch_active_buffer_previous: switch to previous 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" "This command is used by key bindings or plugins." msgstr "" @@ -1463,6 +1465,8 @@ msgstr "" " 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" " 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" "\n" "Cette commande est utilisé par les associations de touches ou les extensions." @@ -2356,6 +2360,18 @@ msgstr "" "chaîne affichée quand la barre peut être défilée vers le bas (pour les " "barres avec un remplissage différent de \"horizontal\")" +msgid "" +"enable terminal \"bracketed paste mode\" (not supported in all terminals/" +"multiplexers): in this mode, pasted text is bracketed with control sequences " +"so that WeeChat can differentiate pasted text from typed-in text \"(ESC[200~" +"\", followed by the pasted text, followed by \"ESC[201~\")" +msgstr "" +"activer le mode du terminal \"bracketed paste\" (pas supporté par tous les " +"terminaux/multiplexeurs): dans ce mode, le texte collé est entouré avec des " +"séquences de contrôle de sorte que WeeChat puisse différencier le texte " +"collé du texté tapé (\"ESC[200~\", suivi par le texte collé, suivi par \"ESC" +"[201~\")" + msgid "" "default notify level for buffers (used to tell WeeChat if buffer must be " "displayed in hotlist or not, according to importance of message): all=all " @@ -2661,10 +2677,10 @@ msgid "display space if nick mode is not (half)op/voice" msgstr "afficher un espace si le mode du pseudo n'est pas (half)op/voice" msgid "" -"max number of lines for paste without asking user (0 = disable this feature)" +"max number of lines for paste without asking user (-1 = disable this feature)" msgstr "" "nombre maximum de lignes pour la détection de collage sans demander à " -"l'utilisateur (0 = désactiver cette fonctionnalité)" +"l'utilisateur (-1 = désactiver cette fonctionnalité)" msgid "prefix for error messages" msgstr "préfixe pour les messages d'erreur" @@ -3514,8 +3530,10 @@ msgid "Bar \"%s\" updated" msgstr "Barre \"%s\" mise à jour" #, c-format -msgid "%sPaste %d lines ? [ctrl-Y] Yes [ctrl-N] No" -msgstr "%sColler %d lignes ? [ctrl-Y] Oui [ctrl-N] Non" +msgid "%sPaste %d line ? [ctrl-Y] Yes [ctrl-N] No" +msgid_plural "%sPaste %d lines ? [ctrl-Y] Yes [ctrl-N] No" +msgstr[0] "%sColler %d ligne ? [ctrl-Y] Oui [ctrl-N] Non" +msgstr[1] "%sColler %d lignes ? [ctrl-Y] Oui [ctrl-N] Non" msgid "Text search" msgstr "Recherche texte" @@ -8601,5 +8619,11 @@ msgstr "Type" msgid "Constants" msgstr "Constantes" +#~ msgid "" +#~ "enable bracketed paste mode (if available, only some terminals support it)" +#~ msgstr "" +#~ "activer le mode \"bracketed paste\" (si disponible, seulement quelques " +#~ "terminaux le supportent)" + #~ msgid "mechanism for SASL authentication" #~ msgstr "mécanisme pour l'authentification SASL" diff --git a/po/hu.po b/po/hu.po index 73d2d216d..5cfe4c326 100644 --- a/po/hu.po +++ b/po/hu.po @@ -20,7 +20,7 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat 0.3.8-dev\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2012-02-29 14:32+0100\n" +"POT-Creation-Date: 2012-03-04 10:18+0100\n" "PO-Revision-Date: 2012-02-26 09:16+0100\n" "Last-Translator: Andras Voroskoi \n" "Language-Team: weechat-dev \n" @@ -1261,6 +1261,8 @@ msgid "" " switch_active_buffer: switch to next merged buffer\n" " switch_active_buffer_previous: switch to previous 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" "This command is used by key bindings or plugins." msgstr "" @@ -1932,6 +1934,13 @@ msgid "" "different from \"horizontal\")" msgstr "" +msgid "" +"enable terminal \"bracketed paste mode\" (not supported in all terminals/" +"multiplexers): in this mode, pasted text is bracketed with control sequences " +"so that WeeChat can differentiate pasted text from typed-in text \"(ESC[200~" +"\", followed by the pasted text, followed by \"ESC[201~\")" +msgstr "" + msgid "" "default notify level for buffers (used to tell WeeChat if buffer must be " "displayed in hotlist or not, according to importance of message): all=all " @@ -2151,8 +2160,9 @@ msgstr "a felhasználó módjának ((fél)operátor/voice) mutatása a név elő msgid "display space if nick mode is not (half)op/voice" msgstr "szóköz megjelenítése, ha a mód nem (fél)operátor/voice" +#, fuzzy msgid "" -"max number of lines for paste without asking user (0 = disable this feature)" +"max number of lines for paste without asking user (-1 = disable this feature)" msgstr "" "maximálisan beilleszthető sorok száma a felhasználó megkérdezése nélkül (0 = " "szolgáltatás kikapcsolása)" @@ -2980,8 +2990,10 @@ msgid "Bar \"%s\" updated" msgstr "A \"%s\" => \"%s\" aliasz elkészült\n" #, fuzzy, c-format -msgid "%sPaste %d lines ? [ctrl-Y] Yes [ctrl-N] No" -msgstr " Beszúrható %d sor? [ctrl-Y] Igen [ctrl-N] Nem" +msgid "%sPaste %d line ? [ctrl-Y] Yes [ctrl-N] No" +msgid_plural "%sPaste %d lines ? [ctrl-Y] Yes [ctrl-N] No" +msgstr[0] " Beszúrható %d sor? [ctrl-Y] Igen [ctrl-N] Nem" +msgstr[1] " Beszúrható %d sor? [ctrl-Y] Igen [ctrl-N] Nem" #, fuzzy msgid "Text search" diff --git a/po/it.po b/po/it.po index cc28f5463..d7face208 100644 --- a/po/it.po +++ b/po/it.po @@ -20,7 +20,7 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat 0.3.8-dev\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2012-02-29 14:32+0100\n" +"POT-Creation-Date: 2012-03-04 10:18+0100\n" "PO-Revision-Date: 2012-02-26 09:16+0100\n" "Last-Translator: Marco Paolone \n" "Language-Team: weechat-dev \n" @@ -1347,6 +1347,7 @@ msgstr "funzioni per la riga di comando" msgid " []" msgstr " []" +#, fuzzy msgid "" "list of actions:\n" " return: simulate key \"enter\"\n" @@ -1396,6 +1397,8 @@ msgid "" " switch_active_buffer: switch to next merged buffer\n" " switch_active_buffer_previous: switch to previous 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" "This command is used by key bindings or plugins." msgstr "" @@ -2343,6 +2346,13 @@ msgstr "" "stringa visualizzata quando si può effettuare lo scroll della barra il basso " "(per le barre che hanno il riempimento \"horizontal\")" +msgid "" +"enable terminal \"bracketed paste mode\" (not supported in all terminals/" +"multiplexers): in this mode, pasted text is bracketed with control sequences " +"so that WeeChat can differentiate pasted text from typed-in text \"(ESC[200~" +"\", followed by the pasted text, followed by \"ESC[201~\")" +msgstr "" + msgid "" "default notify level for buffers (used to tell WeeChat if buffer must be " "displayed in hotlist or not, according to importance of message): all=all " @@ -2641,8 +2651,9 @@ msgstr "mostra modalità nick ((half)op/voice) prima di ogni nick" msgid "display space if nick mode is not (half)op/voice" msgstr "mostra spazio se il nick non è in modalità (half)op/voice" +#, fuzzy msgid "" -"max number of lines for paste without asking user (0 = disable this feature)" +"max number of lines for paste without asking user (-1 = disable this feature)" msgstr "" "numero massimo di righe da incollare senza conferma dell'utente (0 = " "disabilita questa caratteristica)" @@ -3474,9 +3485,11 @@ msgstr "" msgid "Bar \"%s\" updated" msgstr "Barra \"%s\" aggiornata" -#, c-format -msgid "%sPaste %d lines ? [ctrl-Y] Yes [ctrl-N] No" -msgstr "%sIncollare %d righe? [ctrl-y] Sì [ctrl-n] No" +#, fuzzy, c-format +msgid "%sPaste %d line ? [ctrl-Y] Yes [ctrl-N] No" +msgid_plural "%sPaste %d lines ? [ctrl-Y] Yes [ctrl-N] No" +msgstr[0] "%sIncollare %d righe? [ctrl-y] Sì [ctrl-n] No" +msgstr[1] "%sIncollare %d righe? [ctrl-y] Sì [ctrl-n] No" msgid "Text search" msgstr "Ricerca testo" diff --git a/po/ja.po b/po/ja.po index f414410f5..dd737558c 100644 --- a/po/ja.po +++ b/po/ja.po @@ -20,7 +20,7 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat 0.3.8-dev\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2012-02-29 14:32+0100\n" +"POT-Creation-Date: 2012-03-04 10:18+0100\n" "PO-Revision-Date: 2012-02-26 09:16+0100\n" "Last-Translator: \"AYANOKOUZI, Ryuunosuke\" \n" "Language-Team: Japanese\n" @@ -1330,6 +1330,7 @@ msgstr "コマンドライン関数" msgid " []" msgstr " []" +#, fuzzy msgid "" "list of actions:\n" " return: simulate key \"enter\"\n" @@ -1379,6 +1380,8 @@ msgid "" " switch_active_buffer: switch to next merged buffer\n" " switch_active_buffer_previous: switch to previous 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" "This command is used by key bindings or plugins." msgstr "" @@ -2309,6 +2312,13 @@ msgstr "" "バーを下方向にスクロール出来る場合に表示される文字列 (水平方向詰め以外の属性" "を持つバー)" +msgid "" +"enable terminal \"bracketed paste mode\" (not supported in all terminals/" +"multiplexers): in this mode, pasted text is bracketed with control sequences " +"so that WeeChat can differentiate pasted text from typed-in text \"(ESC[200~" +"\", followed by the pasted text, followed by \"ESC[201~\")" +msgstr "" + msgid "" "default notify level for buffers (used to tell WeeChat if buffer must be " "displayed in hotlist or not, according to importance of message): all=all " @@ -2591,8 +2601,9 @@ msgstr "それぞれのニックネームの前にニックモード ((half)op/v msgid "display space if nick mode is not (half)op/voice" msgstr "ニックモードが (half)op/voice でなければ空白を表示" +#, fuzzy msgid "" -"max number of lines for paste without asking user (0 = disable this feature)" +"max number of lines for paste without asking user (-1 = disable this feature)" msgstr "ユーザへの確認無しにペーストできる行数の最大値 (0 = この機能を無効化)" msgid "prefix for error messages" @@ -3387,9 +3398,10 @@ msgstr "" msgid "Bar \"%s\" updated" msgstr "バー \"%s\" がアップデートされました" -#, c-format -msgid "%sPaste %d lines ? [ctrl-Y] Yes [ctrl-N] No" -msgstr "%s %d 行を貼り付けますか? [ctrl-Y] はい [ctrl-N] いいえ" +#, fuzzy, c-format +msgid "%sPaste %d line ? [ctrl-Y] Yes [ctrl-N] No" +msgid_plural "%sPaste %d lines ? [ctrl-Y] Yes [ctrl-N] No" +msgstr[0] "%s %d 行を貼り付けますか? [ctrl-Y] はい [ctrl-N] いいえ" msgid "Text search" msgstr "テキスト検索" diff --git a/po/pl.po b/po/pl.po index 2954661d2..35236fa0a 100644 --- a/po/pl.po +++ b/po/pl.po @@ -21,7 +21,7 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat 0.3.8-dev\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2012-02-29 14:32+0100\n" +"POT-Creation-Date: 2012-03-04 10:18+0100\n" "PO-Revision-Date: 2012-02-26 09:16+0100\n" "Last-Translator: Krzysztof Korościk \n" "Language-Team: weechat-dev \n" @@ -1361,6 +1361,7 @@ msgstr "funkcje linii komend" msgid " []" msgstr " []" +#, fuzzy msgid "" "list of actions:\n" " return: simulate key \"enter\"\n" @@ -1410,6 +1411,8 @@ msgid "" " switch_active_buffer: switch to next merged buffer\n" " switch_active_buffer_previous: switch to previous 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" "This command is used by key bindings or plugins." msgstr "" @@ -2355,6 +2358,13 @@ msgstr "" "ciąg wyświetlany jeśli pasek może zostać przewinięty w dół (dla pasków z " "wypełnieniem innym niż \"horizontal\")" +msgid "" +"enable terminal \"bracketed paste mode\" (not supported in all terminals/" +"multiplexers): in this mode, pasted text is bracketed with control sequences " +"so that WeeChat can differentiate pasted text from typed-in text \"(ESC[200~" +"\", followed by the pasted text, followed by \"ESC[201~\")" +msgstr "" + msgid "" "default notify level for buffers (used to tell WeeChat if buffer must be " "displayed in hotlist or not, according to importance of message): all=all " @@ -2649,8 +2659,9 @@ msgstr "wyświetl atrybut nicku ((half)op/voice) przed każdym nickiem" msgid "display space if nick mode is not (half)op/voice" msgstr "wyświetl spację jeśli atrybut nick nie ma atrybutu" +#, fuzzy msgid "" -"max number of lines for paste without asking user (0 = disable this feature)" +"max number of lines for paste without asking user (-1 = disable this feature)" msgstr "" "maksymalna ilość linii do wklejenia bez pytania użytkownika (0 = wyłącza tę " "opcję)" @@ -3466,9 +3477,12 @@ msgstr "" msgid "Bar \"%s\" updated" msgstr "Uaktualniono pasek \"%s\"" -#, c-format -msgid "%sPaste %d lines ? [ctrl-Y] Yes [ctrl-N] No" -msgstr "%sWkleić %d linii ? [ctrl-Y] Tak [ctrl-N] Nie" +#, fuzzy, c-format +msgid "%sPaste %d line ? [ctrl-Y] Yes [ctrl-N] No" +msgid_plural "%sPaste %d lines ? [ctrl-Y] Yes [ctrl-N] No" +msgstr[0] "%sWkleić %d linii ? [ctrl-Y] Tak [ctrl-N] Nie" +msgstr[1] "%sWkleić %d linii ? [ctrl-Y] Tak [ctrl-N] Nie" +msgstr[2] "%sWkleić %d linii ? [ctrl-Y] Tak [ctrl-N] Nie" msgid "Text search" msgstr "Wyszukiwanie teksu" diff --git a/po/pt_BR.po b/po/pt_BR.po index 8d0a31e50..ec51e7c72 100644 --- a/po/pt_BR.po +++ b/po/pt_BR.po @@ -21,7 +21,7 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat 0.3.8-dev\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2012-02-29 14:32+0100\n" +"POT-Creation-Date: 2012-03-04 10:18+0100\n" "PO-Revision-Date: 2012-02-26 09:16+0100\n" "Last-Translator: Sergio Durigan Junior \n" "Language-Team: weechat-dev \n" @@ -1445,6 +1445,8 @@ msgid "" " switch_active_buffer: switch to next merged buffer\n" " switch_active_buffer_previous: switch to previous 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" "This command is used by key bindings or plugins." msgstr "" @@ -2311,6 +2313,13 @@ msgid "" "different from \"horizontal\")" msgstr "" +msgid "" +"enable terminal \"bracketed paste mode\" (not supported in all terminals/" +"multiplexers): in this mode, pasted text is bracketed with control sequences " +"so that WeeChat can differentiate pasted text from typed-in text \"(ESC[200~" +"\", followed by the pasted text, followed by \"ESC[201~\")" +msgstr "" + # Find a better translations to hotlist msgid "" "default notify level for buffers (used to tell WeeChat if buffer must be " @@ -2589,8 +2598,9 @@ msgstr "mostra o modo do apelido ((half)op/voice) antes de cada nick" msgid "display space if nick mode is not (half)op/voice" msgstr "mostra espaço se o modo do apelido não é (half)op/voice" +#, fuzzy msgid "" -"max number of lines for paste without asking user (0 = disable this feature)" +"max number of lines for paste without asking user (-1 = disable this feature)" msgstr "" "número máximo de linhas para serem coladas sem perguntar ao usuário (0 = " "desabilita essa característica)" @@ -3404,9 +3414,11 @@ msgstr "" msgid "Bar \"%s\" updated" msgstr "Barra \"%s\" atualizada" -#, c-format -msgid "%sPaste %d lines ? [ctrl-Y] Yes [ctrl-N] No" -msgstr "%sColar %d linhas ? [ctrl-Y] Sim [ctrl-N] Não" +#, fuzzy, c-format +msgid "%sPaste %d line ? [ctrl-Y] Yes [ctrl-N] No" +msgid_plural "%sPaste %d lines ? [ctrl-Y] Yes [ctrl-N] No" +msgstr[0] "%sColar %d linhas ? [ctrl-Y] Sim [ctrl-N] Não" +msgstr[1] "%sColar %d linhas ? [ctrl-Y] Sim [ctrl-N] Não" msgid "Text search" msgstr "Busca de texto" diff --git a/po/ru.po b/po/ru.po index 9017d05b6..3a051bcc0 100644 --- a/po/ru.po +++ b/po/ru.po @@ -21,7 +21,7 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat 0.3.8-dev\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2012-02-29 14:32+0100\n" +"POT-Creation-Date: 2012-03-04 10:18+0100\n" "PO-Revision-Date: 2012-02-26 09:16+0100\n" "Last-Translator: Aleksey V Zapparov AKA ixti \n" "Language-Team: weechat-dev \n" @@ -1279,6 +1279,8 @@ msgid "" " switch_active_buffer: switch to next merged buffer\n" " switch_active_buffer_previous: switch to previous 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" "This command is used by key bindings or plugins." msgstr "" @@ -1951,6 +1953,13 @@ msgid "" "different from \"horizontal\")" msgstr "" +msgid "" +"enable terminal \"bracketed paste mode\" (not supported in all terminals/" +"multiplexers): in this mode, pasted text is bracketed with control sequences " +"so that WeeChat can differentiate pasted text from typed-in text \"(ESC[200~" +"\", followed by the pasted text, followed by \"ESC[201~\")" +msgstr "" + msgid "" "default notify level for buffers (used to tell WeeChat if buffer must be " "displayed in hotlist or not, according to importance of message): all=all " @@ -2178,8 +2187,9 @@ msgstr "отображать режим ника (op/voice) перед кажд msgid "display space if nick mode is not (half)op/voice" msgstr "оставлять пробел, если ник не op/voice" +#, fuzzy msgid "" -"max number of lines for paste without asking user (0 = disable this feature)" +"max number of lines for paste without asking user (-1 = disable this feature)" msgstr "" "максимальное количество строк, вставляемых без подтверждения (0 = отключить " "подтверждение)" @@ -3008,8 +3018,11 @@ msgid "Bar \"%s\" updated" msgstr "Сокращение \"%s\" => \"%s\" создано\n" #, fuzzy, c-format -msgid "%sPaste %d lines ? [ctrl-Y] Yes [ctrl-N] No" -msgstr " Вставить %d строк ? [ctrl-Y] Да [ctrl-N] Нет" +msgid "%sPaste %d line ? [ctrl-Y] Yes [ctrl-N] No" +msgid_plural "%sPaste %d lines ? [ctrl-Y] Yes [ctrl-N] No" +msgstr[0] " Вставить %d строк ? [ctrl-Y] Да [ctrl-N] Нет" +msgstr[1] " Вставить %d строк ? [ctrl-Y] Да [ctrl-N] Нет" +msgstr[2] " Вставить %d строк ? [ctrl-Y] Да [ctrl-N] Нет" #, fuzzy msgid "Text search" diff --git a/po/weechat.pot b/po/weechat.pot index bc6c4a906..cadf91f51 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-02-29 14:32+0100\n" +"POT-Creation-Date: 2012-03-04 10:18+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -1115,6 +1115,8 @@ msgid "" " switch_active_buffer: switch to next merged buffer\n" " switch_active_buffer_previous: switch to previous 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" "This command is used by key bindings or plugins." msgstr "" @@ -1695,6 +1697,13 @@ msgid "" "different from \"horizontal\")" msgstr "" +msgid "" +"enable terminal \"bracketed paste mode\" (not supported in all terminals/" +"multiplexers): in this mode, pasted text is bracketed with control sequences " +"so that WeeChat can differentiate pasted text from typed-in text \"(ESC[200~" +"\", followed by the pasted text, followed by \"ESC[201~\")" +msgstr "" + msgid "" "default notify level for buffers (used to tell WeeChat if buffer must be " "displayed in hotlist or not, according to importance of message): all=all " @@ -1900,7 +1909,7 @@ msgid "display space if nick mode is not (half)op/voice" msgstr "" msgid "" -"max number of lines for paste without asking user (0 = disable this feature)" +"max number of lines for paste without asking user (-1 = disable this feature)" msgstr "" msgid "prefix for error messages" @@ -2616,8 +2625,10 @@ msgid "Bar \"%s\" updated" msgstr "" #, c-format -msgid "%sPaste %d lines ? [ctrl-Y] Yes [ctrl-N] No" -msgstr "" +msgid "%sPaste %d line ? [ctrl-Y] Yes [ctrl-N] No" +msgid_plural "%sPaste %d lines ? [ctrl-Y] Yes [ctrl-N] No" +msgstr[0] "" +msgstr[1] "" msgid "Text search" msgstr "" diff --git a/src/core/wee-command.c b/src/core/wee-command.c index 61256dfc9..6445918f2 100644 --- a/src/core/wee-command.c +++ b/src/core/wee-command.c @@ -2393,6 +2393,12 @@ COMMAND_CALLBACK(input) gui_input_undo (buffer); else if (string_strcasecmp (argv[1], "redo") == 0) gui_input_redo (buffer); + else if (string_strcasecmp (argv[1], "paste_start") == 0) + gui_key_paste_bracketed_start (); + else if (string_strcasecmp (argv[1], "paste_stop") == 0) + { + /* do nothing here */ + } } return WEECHAT_RC_OK; @@ -5762,7 +5768,9 @@ command_init () " switch_active_buffer: switch to next merged buffer\n" " switch_active_buffer_previous: switch to previous " "merged buffer\n" - " insert: insert text in command line\n\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" "This command is used by key bindings or plugins."), "return|complete_next|complete_previous|search_text|" "search_switch_case|search_previous|search_next|search_stop|" @@ -5778,7 +5786,7 @@ 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", + "switch_active_buffer_previous|insert|paste_start|paste_stop", &command_input, NULL); hook_command (NULL, "key", N_("bind/unbind keys"), diff --git a/src/core/wee-config.c b/src/core/wee-config.c index 678483697..5099c6bda 100644 --- a/src/core/wee-config.c +++ b/src/core/wee-config.c @@ -83,6 +83,7 @@ struct t_config_option *config_look_bar_more_left; struct t_config_option *config_look_bar_more_right; struct t_config_option *config_look_bar_more_up; struct t_config_option *config_look_bar_more_down; +struct t_config_option *config_look_bracketed_paste_mode; struct t_config_option *config_look_buffer_notify_default; struct t_config_option *config_look_buffer_time_format; struct t_config_option *config_look_color_basic_force_bold; @@ -311,6 +312,22 @@ config_change_buffer_content (void *data, struct t_config_option *option) gui_current_window->refresh_needed = 1; } +/* + * config_change_bracketed_paste_mode: called when bracketed paste mode is + * changed + */ + +void +config_change_bracketed_paste_mode (void *data, struct t_config_option *option) +{ + /* make C compiler happy */ + (void) data; + (void) option; + + if (gui_ok) + gui_window_set_bracketed_paste_mode (CONFIG_BOOLEAN(config_look_bracketed_paste_mode)); +} + /* * config_change_mouse: called when mouse state is changed */ @@ -1682,6 +1699,15 @@ config_weechat_init_options () N_("string displayed when bar can be scrolled down " "(for bars with filling different from \"horizontal\")"), NULL, 0, 0, "++", NULL, 0, NULL, NULL, &config_change_buffer_content, NULL, NULL, NULL); + config_look_bracketed_paste_mode = config_file_new_option ( + weechat_config_file, ptr_section, + "bracketed_paste_mode", "boolean", + N_("enable terminal \"bracketed paste mode\" (not supported in all " + "terminals/multiplexers): in this mode, pasted text is bracketed " + "with control sequences so that WeeChat can differentiate pasted " + "text from typed-in text \"(ESC[200~\", followed by the pasted text, " + "followed by \"ESC[201~\")"), + NULL, 0, 0, "off", NULL, 0, NULL, NULL, &config_change_bracketed_paste_mode, NULL, NULL, NULL); config_look_buffer_notify_default = config_file_new_option ( weechat_config_file, ptr_section, "buffer_notify_default", "integer", @@ -1960,8 +1986,8 @@ config_weechat_init_options () weechat_config_file, ptr_section, "paste_max_lines", "integer", N_("max number of lines for paste without asking user " - "(0 = disable this feature)"), - NULL, 0, INT_MAX, "3", NULL, 0, NULL, NULL, NULL, NULL, NULL, NULL); + "(-1 = disable this feature)"), + NULL, -1, INT_MAX, "3", NULL, 0, NULL, NULL, NULL, NULL, NULL, NULL); config_look_prefix[GUI_CHAT_PREFIX_ERROR] = config_file_new_option ( weechat_config_file, ptr_section, "prefix_error", "string", diff --git a/src/core/wee-config.h b/src/core/wee-config.h index 2a48a55ba..507f571a8 100644 --- a/src/core/wee-config.h +++ b/src/core/wee-config.h @@ -108,6 +108,7 @@ extern struct t_config_option *config_look_bar_more_left; extern struct t_config_option *config_look_bar_more_right; extern struct t_config_option *config_look_bar_more_up; extern struct t_config_option *config_look_bar_more_down; +extern struct t_config_option *config_look_bracketed_paste_mode; extern struct t_config_option *config_look_buffer_notify_default; extern struct t_config_option *config_look_buffer_time_format; extern struct t_config_option *config_look_command_chars; diff --git a/src/gui/curses/gui-curses-key.c b/src/gui/curses/gui-curses-key.c index 2efde9084..35aa178bd 100644 --- a/src/gui/curses/gui-curses-key.c +++ b/src/gui/curses/gui-curses-key.c @@ -208,6 +208,8 @@ gui_key_default_bindings (int context) BIND(/* m-> */ "meta->", "/input jump_next_visited_buffer"); BIND(/* m-/ */ "meta-/", "/input jump_last_buffer_displayed"); BIND(/* m-m */ "meta-m", "/mute mouse toggle"); + BIND(/* start paste */ "meta2-200~", "/input paste_start"); + BIND(/* end paste */ "meta2-201~", "/input paste_stop"); /* bind meta-j + {01..99} to switch to buffers # > 10 */ for (i = 1; i < 100; i++) @@ -288,9 +290,9 @@ gui_key_default_bindings (int context) */ void -gui_key_flush () +gui_key_flush (int ignore_bracketed) { - int i, key, insert_ok; + int i, j, key, insert_ok; static char key_str[64] = { '\0' }; static int length_key_str = 0; char key_temp[2], *key_utf, *input_old, *ptr_char, *next_char, *ptr_error; @@ -450,6 +452,36 @@ gui_key_flush () else key_str[0] = '\0'; length_key_str = strlen (key_str); + + /* + * bracketed paste detected (ESC[200~ + text + ESC[201~): + * the ESC[200~ has been found and will be removed immediately, + * the ESC[201~ should be found/removed later) + */ + if (gui_key_paste_bracketed) + { + gui_key_paste_bracketed = 0; + + if (!ignore_bracketed) + { + /* check for large paste */ + if (gui_key_paste_check (1)) + { + /* + * paste mode has been enabled (ask to user what do to), + * then remove the ESC[200~ from beginning of buffer, + * stop reading buffer immediately and return + */ + i++; + for (j = 0; j < gui_key_buffer_size - i; j++) + { + gui_key_buffer[j] = gui_key_buffer[j + i]; + } + gui_key_buffer_size -= i; + return; + } + } + } } gui_key_buffer_reset (); @@ -463,7 +495,8 @@ gui_key_flush () int gui_key_read_cb (void *data, int fd) { - int ret, i, accept_paste, cancel_paste, text_added_to_buffer, paste_lines; + int ret, i, accept_paste, cancel_paste, text_added_to_buffer; + int ignore_bracketed_paste; unsigned char buffer[4096]; /* make C compiler happy */ @@ -473,6 +506,7 @@ gui_key_read_cb (void *data, int fd) accept_paste = 0; cancel_paste = 0; text_added_to_buffer = 0; + ignore_bracketed_paste = 0; if (gui_key_paste_pending) { @@ -512,10 +546,13 @@ gui_key_read_cb (void *data, int fd) for (i = 0; i < ret; i++) { - /* add all chars (ignore a '\n' after a '\r') */ + /* + * add all chars, but ignore a newline ('\r' or '\n') after + * another one) + */ if ((i == 0) - || (buffer[i] != '\n') - || (buffer[i - 1] != '\r')) + || ((buffer[i] != '\r') && (buffer[i] != '\n')) + || ((buffer[i - 1] != '\r') && (buffer[i - 1] != '\n'))) { gui_key_buffer_add (buffer[i]); } @@ -528,7 +565,10 @@ gui_key_read_cb (void *data, int fd) { /* user is ok for pasting text, let's paste! */ if (accept_paste) + { gui_key_paste_accept (); + ignore_bracketed_paste = 1; + } /* user doesn't want to paste text: clear whole buffer! */ else if (cancel_paste) gui_key_paste_cancel (); @@ -536,23 +576,9 @@ gui_key_read_cb (void *data, int fd) gui_input_text_changed_modifier_and_signal (gui_current_window->buffer, 0); } else - { - /* - * detect user paste or large amount of text - * if so, ask user what to do - */ - if (CONFIG_INTEGER(config_look_paste_max_lines) > 0) - { - paste_lines = gui_key_get_paste_lines (); - if (paste_lines > CONFIG_INTEGER(config_look_paste_max_lines)) - { - gui_key_paste_pending = 1; - gui_input_paste_pending_signal (); - } - } - } + gui_key_paste_check (0); - gui_key_flush (); + gui_key_flush (ignore_bracketed_paste); return WEECHAT_RC_OK; } diff --git a/src/gui/curses/gui-curses-main.c b/src/gui/curses/gui-curses-main.c index 73158c1bc..b0c70ec59 100644 --- a/src/gui/curses/gui-curses-main.c +++ b/src/gui/curses/gui-curses-main.c @@ -177,6 +177,8 @@ gui_main_init () gui_mouse_enable (); else gui_mouse_disable (); + + gui_window_set_bracketed_paste_mode (CONFIG_BOOLEAN(config_look_bracketed_paste_mode)); } /* @@ -401,6 +403,9 @@ gui_main_end (int clean_exit) gui_main_refreshs (); } + /* disable bracketed paste mode */ + gui_window_set_bracketed_paste_mode (0); + /* disable mouse */ gui_mouse_disable (); diff --git a/src/gui/curses/gui-curses-window.c b/src/gui/curses/gui-curses-window.c index b708dc4dd..6266261f6 100644 --- a/src/gui/curses/gui-curses-window.c +++ b/src/gui/curses/gui-curses-window.c @@ -2273,6 +2273,28 @@ gui_window_send_clipboard (const char *storage_unit, const char *text) } } +/* + * gui_window_set_bracketed_paste_mode: enable/disable bracketed paste mode + */ + +void +gui_window_set_bracketed_paste_mode (int enable) +{ + char *envterm, *envtmux; + int tmux, screen; + + envtmux = getenv ("TMUX"); + tmux = (envtmux && envtmux[0]); + + envterm = getenv ("TERM"); + screen = (envterm && (strncmp (envterm, "screen", 6) == 0) && !tmux); + + fprintf (stderr, "%s\033[?2004%s%s", + (screen) ? "\033P" : "", + (enable) ? "h" : "l", + (screen) ? "\033\\" : ""); +} + /* * gui_window_move_cursor: move cursor on screen (for cursor mode) */ diff --git a/src/gui/gtk/gui-gtk-window.c b/src/gui/gtk/gui-gtk-window.c index 48eaa7695..5aea4a65a 100644 --- a/src/gui/gtk/gui-gtk-window.c +++ b/src/gui/gtk/gui-gtk-window.c @@ -866,6 +866,18 @@ gui_window_send_clipboard (const char *storage_unit, const char *text) /* TODO: write this function for Gtk */ } +/* + * gui_window_set_bracketed_paste_mode: enable/disable bracketed paste mode + */ + +void +gui_window_set_bracketed_paste_mode (int enable) +{ + (void) enable; + + /* TODO: write this function for Gtk */ +} + /* * gui_window_move_cursor: move cursor on screen (for cursor mode) */ diff --git a/src/gui/gui-bar-item.c b/src/gui/gui-bar-item.c index 6b6c96a89..04ba15cf6 100644 --- a/src/gui/gui-bar-item.c +++ b/src/gui/gui-bar-item.c @@ -586,9 +586,8 @@ char * gui_bar_item_default_input_paste (void *data, struct t_gui_bar_item *item, struct t_gui_window *window) { - char *text_paste_pending = N_("%sPaste %d lines ? [ctrl-Y] Yes [ctrl-N] No"); - char *ptr_message, *buf; - int length; + char buf[1024]; + int lines; /* make C compiler happy */ (void) data; @@ -600,15 +599,14 @@ gui_bar_item_default_input_paste (void *data, struct t_gui_bar_item *item, if (!gui_key_paste_pending) return NULL; - ptr_message = _(text_paste_pending); - length = strlen (ptr_message) + 16 + 1; - buf = malloc (length); - if (buf) - snprintf (buf, length, ptr_message, - gui_color_get_custom (gui_color_get_name (CONFIG_COLOR(config_color_input_actions))), - gui_key_get_paste_lines ()); - - return buf; + lines = gui_key_get_paste_lines (); + snprintf (buf, sizeof (buf), + NG_("%sPaste %d line ? [ctrl-Y] Yes [ctrl-N] No", + "%sPaste %d lines ? [ctrl-Y] Yes [ctrl-N] No", + lines), + gui_color_get_custom (gui_color_get_name (CONFIG_COLOR(config_color_input_actions))), + lines); + return strdup (buf); } /* diff --git a/src/gui/gui-key.c b/src/gui/gui-key.c index 7e19fa9b9..4882860b4 100644 --- a/src/gui/gui-key.c +++ b/src/gui/gui-key.c @@ -32,6 +32,7 @@ #include #include "../core/weechat.h" +#include "../core/wee-config.h" #include "../core/wee-hashtable.h" #include "../core/wee-hdata.h" #include "../core/wee-hook.h" @@ -83,6 +84,7 @@ int gui_key_buffer_size = 0; /* input buffer size in bytes */ int gui_key_paste_pending = 0; /* 1 is big paste was detected and */ /* WeeChat is asking user what to do */ +int gui_key_paste_bracketed = 0; /* bracketed paste mode detected */ int gui_key_paste_lines = 0; /* number of lines for pending paste */ time_t gui_key_last_activity_time = 0; /* last activity time (key) */ @@ -1396,6 +1398,50 @@ gui_key_buffer_add (unsigned char key) } } +/* + * gui_key_paste_start: start paste of text + */ + +void +gui_key_paste_start () +{ + /* remove the "ESC[201~" at the end of buffer (end of bracketed paste) */ + if ((gui_key_buffer_size >= 6) + && (gui_key_buffer[gui_key_buffer_size - 6] == '\x1B') + && (gui_key_buffer[gui_key_buffer_size- 5] == '[') + && (gui_key_buffer[gui_key_buffer_size - 4] == '2') + && (gui_key_buffer[gui_key_buffer_size - 3] == '0') + && (gui_key_buffer[gui_key_buffer_size - 2] == '1') + && (gui_key_buffer[gui_key_buffer_size - 1] == '~')) + { + gui_key_buffer_size -= 6; + } + + /* remove final newline if there is only one line to paste */ + if ((gui_key_paste_lines <= 1) + && (gui_key_buffer_size > 0) + && ((gui_key_buffer[gui_key_buffer_size - 1] == '\r') + || (gui_key_buffer[gui_key_buffer_size - 1] == '\n'))) + { + gui_key_buffer_size--; + gui_key_paste_lines = 0; + } + + gui_key_paste_pending = 1; + gui_input_paste_pending_signal (); +} + +/* + * gui_key_paste_bracket_start: start bracketed paste of text + * (ESC[200~ detected) + */ + +void +gui_key_paste_bracketed_start () +{ + gui_key_paste_bracketed = 1; +} + /* * gui_key_get_paste_lines: return real number of lines in buffer * if last key is not Return, then this is lines + 1 @@ -1405,14 +1451,58 @@ gui_key_buffer_add (unsigned char key) int gui_key_get_paste_lines () { - if ((gui_key_buffer_size > 0) - && (gui_key_buffer[gui_key_buffer_size - 1] != '\r') - && (gui_key_buffer[gui_key_buffer_size - 1] != '\n')) + int length; + + length = gui_key_buffer_size; + + if ((length >= 6) + && (gui_key_buffer[length - 6] == '\x1B') + && (gui_key_buffer[length- 5] == '[') + && (gui_key_buffer[length - 4] == '2') + && (gui_key_buffer[length - 3] == '0') + && (gui_key_buffer[length - 2] == '1') + && (gui_key_buffer[length - 1] == '~')) + { + length -= 6; + } + + if ((length > 0) + && (gui_key_buffer[length - 1] != '\r') + && (gui_key_buffer[length - 1] != '\n')) { return gui_key_paste_lines + 1; } - return gui_key_paste_lines; + return (gui_key_paste_lines > 0) ? gui_key_paste_lines : 1; +} + +/* + * gui_key_paste_check: check pasted lines: if more than N lines, then enable + * paste mode and ask confirmation to user + * (ctrl-Y=paste, ctrl-N=cancel) + * (N is option weechat.look.paste_max_lines) + * return 1 if paste mode has been enabled, 0 otherwise + */ + +int +gui_key_paste_check (int bracketed_paste) +{ + int max_lines; + + max_lines = CONFIG_INTEGER(config_look_paste_max_lines); + if (max_lines >= 0) + { + if (!bracketed_paste && (max_lines == 0)) + max_lines = 1; + if (gui_key_get_paste_lines () > max_lines) + { + /* ask user what to do */ + gui_key_paste_start (); + return 1; + } + } + + return 0; } /* @@ -1422,8 +1512,12 @@ gui_key_get_paste_lines () void gui_key_paste_accept () { - /* add final '\n' if there is not in pasted text */ - if ((gui_key_buffer_size > 0) + /* + * add final newline if there is not in pasted text + * (for at least 2 lines pasted) + */ + if ((gui_key_get_paste_lines () > 1) + && (gui_key_buffer_size > 0) && (gui_key_buffer[gui_key_buffer_size - 1] != '\r') && (gui_key_buffer[gui_key_buffer_size - 1] != '\n')) { diff --git a/src/gui/gui-key.h b/src/gui/gui-key.h index e9958a043..c418e8499 100644 --- a/src/gui/gui-key.h +++ b/src/gui/gui-key.h @@ -75,6 +75,7 @@ extern int gui_key_grab_count; extern int *gui_key_buffer; extern int gui_key_buffer_size; extern int gui_key_paste_pending; +extern int gui_key_paste_bracketed; extern time_t gui_key_last_activity_time; /* key functions */ @@ -109,7 +110,10 @@ extern void gui_key_free_all (struct t_gui_key **keys, int *keys_count); extern void gui_key_buffer_reset (); extern void gui_key_buffer_add (unsigned char key); +extern void gui_key_paste_start (); +extern void gui_key_paste_bracketed_start (); extern int gui_key_get_paste_lines (); +extern int gui_key_paste_check (int bracketed_paste); extern void gui_key_paste_accept (); extern void gui_key_paste_cancel (); extern void gui_key_end (); diff --git a/src/gui/gui-window.h b/src/gui/gui-window.h index 3df5dd97a..67df5cbef 100644 --- a/src/gui/gui-window.h +++ b/src/gui/gui-window.h @@ -240,6 +240,7 @@ extern void gui_window_refresh_screen (int full_refresh); extern void gui_window_set_title (const char *title); extern void gui_window_send_clipboard (const char *storage_unit, const char *text); +extern void gui_window_set_bracketed_paste_mode (int enable); extern void gui_window_move_cursor (); extern void gui_window_term_display_infos (); extern void gui_window_objects_print_log (struct t_gui_window *window);