diff options
-rw-r--r-- | doc/de/autogen/user/exec_commands.txt | 92 | ||||
-rw-r--r-- | doc/en/autogen/user/exec_commands.txt | 4 | ||||
-rw-r--r-- | doc/fr/autogen/user/exec_commands.txt | 4 | ||||
-rw-r--r-- | doc/it/autogen/user/exec_commands.txt | 4 | ||||
-rw-r--r-- | doc/ja/autogen/user/exec_commands.txt | 4 | ||||
-rw-r--r-- | doc/pl/autogen/user/exec_commands.txt | 4 | ||||
-rw-r--r-- | po/cs.po | 14 | ||||
-rw-r--r-- | po/de.po | 44 | ||||
-rw-r--r-- | po/es.po | 14 | ||||
-rw-r--r-- | po/fr.po | 28 | ||||
-rw-r--r-- | po/hu.po | 14 | ||||
-rw-r--r-- | po/it.po | 14 | ||||
-rw-r--r-- | po/ja.po | 15 | ||||
-rw-r--r-- | po/pl.po | 14 | ||||
-rw-r--r-- | po/pt_BR.po | 14 | ||||
-rw-r--r-- | po/ru.po | 14 | ||||
-rw-r--r-- | po/tr.po | 14 | ||||
-rw-r--r-- | po/weechat.pot | 14 | ||||
-rw-r--r-- | src/plugins/exec/exec-command.c | 18 | ||||
-rw-r--r-- | src/plugins/exec/exec-command.h | 1 | ||||
-rw-r--r-- | src/plugins/exec/exec.c | 300 | ||||
-rw-r--r-- | src/plugins/exec/exec.h | 10 |
22 files changed, 380 insertions, 274 deletions
diff --git a/doc/de/autogen/user/exec_commands.txt b/doc/de/autogen/user/exec_commands.txt index 228bd4cfc..2530ee198 100644 --- a/doc/de/autogen/user/exec_commands.txt +++ b/doc/de/autogen/user/exec_commands.txt @@ -3,7 +3,7 @@ ---- /exec -list - [-sh|-nosh] [-bg|-nobg] [-stdin|-nostdin] [-buffer <name>] [-l|-o|-n|-nf] [-cl|-nocl] [-sw|-nosw] [-ln|-noln] [-color ansi|auto|irc|weechat|strip] [-rc|-norc] [-timeout <timeout>] [-name <name>] [-pipe <command>] [-hsignal <name>] <command> + [-sh|-nosh] [-bg|-nobg] [-stdin|-nostdin] [-buffer <name>] [-l|-o|-n|-nf] [-cl|-nocl] [-sw|-nosw] [-ln|-noln] [-flush|-noflush] [-color ansi|auto|irc|weechat|strip] [-rc|-norc] [-timeout <timeout>] [-name <name>] [-pipe <command>] [-hsignal <name>] <command> -in <id> <text> -inclose <id> [<text>] -signal <id> <signal> @@ -12,52 +12,54 @@ -set <id> <property> <value> -del <id>|-all [<id>...] - -list: zeigt laufende Befehle an - -sh: es wird die shell um Befehle auszuführen (WARNUNG: Diese Option sollte nur verwendet werden, falls alle Argumente unbedenklich sind, siehe Option -nosh) - -nosh: die shell wird nicht verwendet um Befehle auszuführen (wird benötigt, falls der Befehl mit sensiblen Daten hantiert. Zum Beispiel der Inhalt einer Nachricht eines anderen Users) - -bg: führt Prozess im Hintergrund aus: gibt weder eine Prozessausgabe noch einen Rückgabewert aus (nicht kompatibel mit Optionen -o/-n) - -nobg: gibt Prozessausgabe und Rückgabewert aus (Standardverhalten) - -stdin: erstellt eine PIPE um Daten zu dem Prozess zu senden (mittels /exec -in/-inclose) --nostdin: es wird keine PIPE für stdin erstellt (Standardverhalten) - -buffer: zeigt/sendet Ausgabe des Befehls an diesen Buffer (wird der angegebene Buffer nicht gefunden wird ein neuer Bufger mit dem Namen "exec.exec.xxx" erstellt) - -l: gibt die Ausgabe des Befehls lokal im Buffer aus (Standardverhalten) - -o: gibt die Ausgabe des Befehls im Buffer aus (nicht kompatibel mit Option -bg) - -n: gibt die Ausgabe des Befehls in einem neuen Buffer aus (nicht kompatibel mit Option -bg) - -nf: gibt die Ausgabe des Befehls in einem neuen Buffer, mit einem freien Inhalt (kein Zeilenumbruch, keine Limitierung in der Anzahl der Zeilen), aus (nicht kompatibel mit Option -bg) - -cl: der neue Buffer wird vor einer Ausgabe gelöscht - -nocl: Ausgabe wird an neuen Buffer angehangen, ohne diesen vorher zu löschen (Standardverhalten) - -sw: es wird zum Ausgabebuffer gewechselt (Standardverhalten) - -nosw: es wird nicht zum Ausgabebuffer gewechselt - -ln: legt eine Zeilennummerierung an (Standardverhalten, nur für neue Buffer) - -noln: es wird keine Zeilennummerierung angezeigt - -color: es wird eine der folgenden Aktionen bei ANSI Zeichenkodierungen in der Ausgabe durchgeführt: - ansi: ANSI-Kodierung wird beibehalten - auto: konvertiert ANSI-Farben nach WeeChat/IRC (Standardverhalten) - irc: konvertiert ANSI-Farben nach IRC Farben - weechat: konvertiert ANSI-Farben nach WeeChat-Farben - strip: ANSI-Farben werden entfernt - -rc: der Rückgabewert wird ausgegeben (Standardverhalten) - -norc: der Rückgabewert wird unterdrückt --timeout: gibt eine Zeitbeschränkung für den auszuführenden Befehl an (in Sekunden) - -name: dem Befehl wird ein Name zugewiesen (um den Befehl später mittels /exec zu nutzen) - -pipe: sendet die Ausgabe an einen Befehl von WeeChat/Erweiterung (Zeile für Zeile); sollen Leerzeichen im Befehl/Argument verwendet werden, müssen diese mit Anführungszeichen eingeschlossen werden; Variable $line wird durch die entsprechende Zeile ersetzt (standardmäßig wird die Zeile, getrennt durch ein Leerzeichen, dem Befehl nachgestellt (nicht kompatibel mit den Optionen -bg/-o/-n) - -hsignal: sendet die Ausgabe als hsignal (um es z.B. mittels /trigger zu verwenden) (nicht kompatibel mit den Optionen -bg/-o/-n) - command: Befehl der ausgeführt werden soll; beginnt der Befehl mit "url:", wird die shell deaktiviert und der Inhalt der URL wird heruntergeladen und im Buffer ausgegeben - id: identifiziert eindeutig einen Befehl: entweder durch eine Nummer oder einen Namen (sofern ein Name mittels "-name xxx" zugewiesen wurde) - -in: sendet Text an die Standardeingabe des Prozesses --inclose: wie -in aber stdin wird danach geschlossen (und der Text ist optional: ohne Text wird stdin umgehend geschlossen - -signal: schickt ein Signal an den Prozess; das Signal kann entweder ein Integerwert oder eines der folgenden Schlüsselworte sein: hup, int, quit, kill, term, usr1, usr2 - -kill: Alias für "-signal <id> kill" --killall: beendet alle laufenden Prozesse - -set: nutzt eine Hook-Fähigkeit (siehe Funktion hook_set in Anleitung für API Erweiterung) -property: Hook-Fähigkeit - value: neuer Wert für Hook-Fähigkeit - -del: entfernt einen beendeten Befehl - -all: entfernt alle beendeten Befehle + -list: list commands + -sh: use the shell to execute the command (WARNING: use this option ONLY if all arguments are safe, see option -nosh) + -nosh: do not use the shell to execute the command (required if the command has some unsafe data, for example the content of a message from another user) (default) + -bg: run process in background: do not display process output neither return code (not compatible with options -o/-n) + -nobg: catch process output and display return code (default) + -stdin: create a pipe for sending data to the process (with /exec -in/-inclose) +-nostdin: do not create a pipe for stdin (default) + -buffer: display/send output of command on this buffer (if the buffer is not found, a new buffer with name "exec.exec.xxx" is created) + -l: display locally output of command on buffer (default) + -o: send output of command to the buffer (not compatible with option -bg) + -n: display output of command in a new buffer (not compatible with option -bg) + -nf: display output of command in a new buffer with free content (no word-wrap, no limit on number of lines) (not compatible with option -bg) + -cl: clear the new buffer before displaying output + -nocl: append to the new buffer without clear (default) + -sw: switch to the output buffer (default) + -nosw: don't switch to the output buffer + -ln: display line numbers (default in new buffer only) + -noln: don't display line numbers + -flush: display output of command in real time (default) +-noflush: display output of command after its end + -color: action on ANSI colors in output: + ansi: keep ANSI codes as-is + auto: convert ANSI colors to WeeChat/IRC (default) + irc: convert ANSI colors to IRC colors + weechat: convert ANSI colors to WeeChat colors + strip: remove ANSI colors + -rc: display return code (default) + -norc: don't display return code +-timeout: set a timeout for the command (in seconds) + -name: set a name for the command (to name it later with /exec) + -pipe: send the output to a WeeChat/plugin command (line by line); if there are spaces in command/arguments, enclose them with double quotes; variable $line is replaced by the line (by default the line is added after the command, separated by a space) (not compatible with options -bg/-o/-n) +-hsignal: send the output as a hsignal (to be used for example in a trigger) (not compatible with options -bg/-o/-n) + command: the command to execute; if beginning with "url:", the shell is disabled and the content of URL is downloaded and sent as output + id: command identifier: either its number or name (if set with "-name xxx") + -in: send text on standard input of process +-inclose: same as -in, but stdin is closed after (and text is optional: without text, the stdin is just closed) + -signal: send a signal to the process; the signal can be an integer or one of these names: hup, int, quit, kill, term, usr1, usr2 + -kill: alias of "-signal <id> kill" +-killall: kill all running processes + -set: set a hook property (see function hook_set in plugin API reference) +property: hook property + value: new value for hook property + -del: delete a terminated command + -all: delete all terminated commands -Standardoptionen können in der Option exec.command.default_options bestimmt werden. +Default options can be set in the option exec.command.default_options. -Beispiele: +Examples: /exec -n ls -l /tmp /exec -n ps xu | grep weechat /exec -n -norc url:http://pastebin.com/raw.php?i=xxxxxxxx diff --git a/doc/en/autogen/user/exec_commands.txt b/doc/en/autogen/user/exec_commands.txt index 822806f10..c268fb81f 100644 --- a/doc/en/autogen/user/exec_commands.txt +++ b/doc/en/autogen/user/exec_commands.txt @@ -3,7 +3,7 @@ ---- /exec -list - [-sh|-nosh] [-bg|-nobg] [-stdin|-nostdin] [-buffer <name>] [-l|-o|-n|-nf] [-cl|-nocl] [-sw|-nosw] [-ln|-noln] [-color ansi|auto|irc|weechat|strip] [-rc|-norc] [-timeout <timeout>] [-name <name>] [-pipe <command>] [-hsignal <name>] <command> + [-sh|-nosh] [-bg|-nobg] [-stdin|-nostdin] [-buffer <name>] [-l|-o|-n|-nf] [-cl|-nocl] [-sw|-nosw] [-ln|-noln] [-flush|-noflush] [-color ansi|auto|irc|weechat|strip] [-rc|-norc] [-timeout <timeout>] [-name <name>] [-pipe <command>] [-hsignal <name>] <command> -in <id> <text> -inclose <id> [<text>] -signal <id> <signal> @@ -30,6 +30,8 @@ -nosw: don't switch to the output buffer -ln: display line numbers (default in new buffer only) -noln: don't display line numbers + -flush: display output of command in real time (default) +-noflush: display output of command after its end -color: action on ANSI colors in output: ansi: keep ANSI codes as-is auto: convert ANSI colors to WeeChat/IRC (default) diff --git a/doc/fr/autogen/user/exec_commands.txt b/doc/fr/autogen/user/exec_commands.txt index e666595e6..f534591ba 100644 --- a/doc/fr/autogen/user/exec_commands.txt +++ b/doc/fr/autogen/user/exec_commands.txt @@ -3,7 +3,7 @@ ---- /exec -list - [-sh|-nosh] [-bg|-nobg] [-stdin|-nostdin] [-buffer <nom>] [-l|-o|-n|-nf] [-cl|-nocl] [-sw|-nosw] [-ln|-noln] [-color ansi|auto|irc|weechat|strip] [-rc|-norc] [-timeout <délai>] [-name <nom>] [-pipe <commande>] [-hsignal <nom>] <commande> + [-sh|-nosh] [-bg|-nobg] [-stdin|-nostdin] [-buffer <nom>] [-l|-o|-n|-nf] [-cl|-nocl] [-sw|-nosw] [-ln|-noln] |-flush|-noflush] [-color ansi|auto|irc|weechat|strip] [-rc|-norc] [-timeout <délai>] [-name <nom>] [-pipe <commande>] [-hsignal <nom>] <commande> -in <id> <texte> -inclose <id> [<texte>] -signal <id> <signal> @@ -30,6 +30,8 @@ -nosw: ne pas basculer vers le tampon de sortie -ln: afficher les numéros de ligne (par défaut dans un nouveau tampon seulement) -noln: ne pas afficher les numéros de ligne + -flush: afficher la sortie de la commande en temps réel (par défaut) + -noflush: afficher la sortie de la commande une fois qu'elle est terminée -color: action sur les couleurs ANSI dans la sortie : ansi: garder les codes ANSI tels quels auto: convertir les couleurs ANSI en couleurs WeeChat/IRC (par défaut) diff --git a/doc/it/autogen/user/exec_commands.txt b/doc/it/autogen/user/exec_commands.txt index 822806f10..c268fb81f 100644 --- a/doc/it/autogen/user/exec_commands.txt +++ b/doc/it/autogen/user/exec_commands.txt @@ -3,7 +3,7 @@ ---- /exec -list - [-sh|-nosh] [-bg|-nobg] [-stdin|-nostdin] [-buffer <name>] [-l|-o|-n|-nf] [-cl|-nocl] [-sw|-nosw] [-ln|-noln] [-color ansi|auto|irc|weechat|strip] [-rc|-norc] [-timeout <timeout>] [-name <name>] [-pipe <command>] [-hsignal <name>] <command> + [-sh|-nosh] [-bg|-nobg] [-stdin|-nostdin] [-buffer <name>] [-l|-o|-n|-nf] [-cl|-nocl] [-sw|-nosw] [-ln|-noln] [-flush|-noflush] [-color ansi|auto|irc|weechat|strip] [-rc|-norc] [-timeout <timeout>] [-name <name>] [-pipe <command>] [-hsignal <name>] <command> -in <id> <text> -inclose <id> [<text>] -signal <id> <signal> @@ -30,6 +30,8 @@ -nosw: don't switch to the output buffer -ln: display line numbers (default in new buffer only) -noln: don't display line numbers + -flush: display output of command in real time (default) +-noflush: display output of command after its end -color: action on ANSI colors in output: ansi: keep ANSI codes as-is auto: convert ANSI colors to WeeChat/IRC (default) diff --git a/doc/ja/autogen/user/exec_commands.txt b/doc/ja/autogen/user/exec_commands.txt index 336e7f4d3..49f92b997 100644 --- a/doc/ja/autogen/user/exec_commands.txt +++ b/doc/ja/autogen/user/exec_commands.txt @@ -3,7 +3,7 @@ ---- /exec -list - [-sh|-nosh] [-bg|-nobg] [-stdin|-nostdin] [-buffer <name>] [-l|-o|-n|-nf] [-cl|-nocl] [-sw|-nosw] [-ln|-noln] [-color ansi|auto|irc|weechat|strip] [-rc|-norc] [-timeout <timeout>] [-name <name>] [-pipe <command>] [-hsignal <name>] <command> + [-sh|-nosh] [-bg|-nobg] [-stdin|-nostdin] [-buffer <name>] [-l|-o|-n|-nf] [-cl|-nocl] [-sw|-nosw] [-ln|-noln] [-flush|-noflush] [-color ansi|auto|irc|weechat|strip] [-rc|-norc] [-timeout <timeout>] [-name <name>] [-pipe <command>] [-hsignal <name>] <command> -in <id> <text> -inclose <id> [<text>] -signal <id> <signal> @@ -30,6 +30,8 @@ -nosw: don't switch to the output buffer -ln: display line numbers (default in new buffer only) -noln: don't display line numbers + -flush: display output of command in real time (default) +-noflush: display output of command after its end -color: action on ANSI colors in output: ansi: keep ANSI codes as-is auto: convert ANSI colors to WeeChat/IRC (default) diff --git a/doc/pl/autogen/user/exec_commands.txt b/doc/pl/autogen/user/exec_commands.txt index 822806f10..c268fb81f 100644 --- a/doc/pl/autogen/user/exec_commands.txt +++ b/doc/pl/autogen/user/exec_commands.txt @@ -3,7 +3,7 @@ ---- /exec -list - [-sh|-nosh] [-bg|-nobg] [-stdin|-nostdin] [-buffer <name>] [-l|-o|-n|-nf] [-cl|-nocl] [-sw|-nosw] [-ln|-noln] [-color ansi|auto|irc|weechat|strip] [-rc|-norc] [-timeout <timeout>] [-name <name>] [-pipe <command>] [-hsignal <name>] <command> + [-sh|-nosh] [-bg|-nobg] [-stdin|-nostdin] [-buffer <name>] [-l|-o|-n|-nf] [-cl|-nocl] [-sw|-nosw] [-ln|-noln] [-flush|-noflush] [-color ansi|auto|irc|weechat|strip] [-rc|-norc] [-timeout <timeout>] [-name <name>] [-pipe <command>] [-hsignal <name>] <command> -in <id> <text> -inclose <id> [<text>] -signal <id> <signal> @@ -30,6 +30,8 @@ -nosw: don't switch to the output buffer -ln: display line numbers (default in new buffer only) -noln: don't display line numbers + -flush: display output of command in real time (default) +-noflush: display output of command after its end -color: action on ANSI colors in output: ansi: keep ANSI codes as-is auto: convert ANSI colors to WeeChat/IRC (default) @@ -20,7 +20,7 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2014-04-02 19:54+0200\n" +"POT-Creation-Date: 2014-04-03 11:18+0200\n" "PO-Revision-Date: 2014-03-24 14:23+0100\n" "Last-Translator: Jiri Golembiovsky <golemj@gmail.com>\n" "Language-Team: weechat-dev <weechat-dev@nongnu.org>\n" @@ -4625,11 +4625,11 @@ msgstr "vykonat příkaz v tichosti" msgid "" "-list || [-sh|-nosh] [-bg|-nobg] [-stdin|-nostdin] [-buffer <name>] [-l|-o|-" -"n|-nf] [-cl|-nocl] [-sw|-nosw] [-ln|-noln] [-color ansi|auto|irc|weechat|" -"strip] [-rc|-norc] [-timeout <timeout>] [-name <name>] [-pipe <command>] [-" -"hsignal <name>] <command> || -in <id> <text> || -inclose <id> [<text>] || -" -"signal <id> <signal> || -kill <id> || -killall || -set <id> <property> " -"<value> || -del <id>|-all [<id>...]" +"n|-nf] [-cl|-nocl] [-sw|-nosw] [-ln|-noln] [-flush|-noflush] [-color ansi|" +"auto|irc|weechat|strip] [-rc|-norc] [-timeout <timeout>] [-name <name>] [-" +"pipe <command>] [-hsignal <name>] <command> || -in <id> <text> || -inclose " +"<id> [<text>] || -signal <id> <signal> || -kill <id> || -killall || -set " +"<id> <property> <value> || -del <id>|-all [<id>...]" msgstr "" msgid "" @@ -4660,6 +4660,8 @@ msgid "" " -nosw: don't switch to the output buffer\n" " -ln: display line numbers (default in new buffer only)\n" " -noln: don't display line numbers\n" +" -flush: display output of command in real time (default)\n" +"-noflush: display output of command after its end\n" " -color: action on ANSI colors in output:\n" " ansi: keep ANSI codes as-is\n" " auto: convert ANSI colors to WeeChat/IRC (default)\n" @@ -22,7 +22,7 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2014-04-02 19:54+0200\n" +"POT-Creation-Date: 2014-04-03 11:18+0200\n" "PO-Revision-Date: 2014-04-02 20:17+0100\n" "Last-Translator: Nils Görs <weechatter@arcor.de>\n" "Language-Team: German <weechatter@arcor.de>\n" @@ -45,11 +45,11 @@ msgid "max chars" msgstr "maximale Zeichenanzahl" msgid "" -"a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)" -"green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal " -"color number or an alias; attributes are allowed before color (for text " -"color only, not background): \"*\" for bold, \"!\" for reverse, \"/\" for " -"italic, \"_\" for underline" +"a WeeChat color name (default, black, (dark)gray, white, (light)red, " +"(light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a " +"terminal color number or an alias; attributes are allowed before color (for " +"text color only, not background): \"*\" for bold, \"!\" for reverse, \"/\" " +"for italic, \"_\" for underline" msgstr "" "ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, " "(light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine " @@ -5164,9 +5164,9 @@ msgid "" "suggestions in all languages)" msgstr "" "legt die Anzahl an Vorschlägen, für ein falsch geschriebenes Wort, fest. Die " -"Vorschläge werden mittels der Bar-Item \"aspell_suggest\", für die jeweilige" -"(n) Sprache(n), die für den Buffer augewählt wurden, angezeigt (-1 = " -"deaktiviert die Funktion, 0 = zeigt alle verfügbaren Vorschläge, für alle " +"Vorschläge werden mittels der Bar-Item \"aspell_suggest\", für die " +"jeweilige(n) Sprache(n), die für den Buffer augewählt wurden, angezeigt (-1 " +"= deaktiviert die Funktion, 0 = zeigt alle verfügbaren Vorschläge, für alle " "ausgewählten Sprachen, an)" msgid "" @@ -5336,13 +5336,14 @@ msgstr "Befehl \"%s\" entfernt" msgid "execute external commands" msgstr "führe externe Befehle aus" +#, fuzzy msgid "" "-list || [-sh|-nosh] [-bg|-nobg] [-stdin|-nostdin] [-buffer <name>] [-l|-o|-" -"n|-nf] [-cl|-nocl] [-sw|-nosw] [-ln|-noln] [-color ansi|auto|irc|weechat|" -"strip] [-rc|-norc] [-timeout <timeout>] [-name <name>] [-pipe <command>] [-" -"hsignal <name>] <command> || -in <id> <text> || -inclose <id> [<text>] || -" -"signal <id> <signal> || -kill <id> || -killall || -set <id> <property> " -"<value> || -del <id>|-all [<id>...]" +"n|-nf] [-cl|-nocl] [-sw|-nosw] [-ln|-noln] [-flush|-noflush] [-color ansi|" +"auto|irc|weechat|strip] [-rc|-norc] [-timeout <timeout>] [-name <name>] [-" +"pipe <command>] [-hsignal <name>] <command> || -in <id> <text> || -inclose " +"<id> [<text>] || -signal <id> <signal> || -kill <id> || -killall || -set " +"<id> <property> <value> || -del <id>|-all [<id>...]" msgstr "" "-list || [-sh|-nosh] [-bg|-nobg] [-stdin|-nostdin] [-buffer <name>] [-l|-o|-" "n|-nf] [-cl|-nocl] [-sw|-nosw] [-ln|-noln] [-color ansi|auto|irc|weechat|" @@ -5351,6 +5352,7 @@ msgstr "" "signal <id> <signal> || -kill <id> || -killall || -set <id> <property> " "<value> || -del <id>|-all [<id>...]" +#, fuzzy msgid "" " -list: list commands\n" " -sh: use the shell to execute the command (WARNING: use this option " @@ -5379,6 +5381,8 @@ msgid "" " -nosw: don't switch to the output buffer\n" " -ln: display line numbers (default in new buffer only)\n" " -noln: don't display line numbers\n" +" -flush: display output of command in real time (default)\n" +"-noflush: display output of command after its end\n" " -color: action on ANSI colors in output:\n" " ansi: keep ANSI codes as-is\n" " auto: convert ANSI colors to WeeChat/IRC (default)\n" @@ -6169,8 +6173,8 @@ msgstr "" "werden)\n" " - Hostname/Port oder IP/Port (damit wird lediglich ein " "TEMPORÄRER Server erstellt), Port 6667 wird standardmäßig verwendet\n" -" - URL mit folgendem Format: irc[6][s]://[nickname[:password]@]" -"irc.example.org[:port][/#channel1][,#channel2[...]]\n" +" - URL mit folgendem Format: irc[6][s]://[nickname[:" +"password]@]irc.example.org[:port][/#channel1][,#channel2[...]]\n" " option: legt Option für den Server fest (die Boolean-Optionen können " "weggelassen werden)\n" " nooption: deaktiviert eine Boolean Option (Beispiel: -nossl)\n" @@ -11306,8 +11310,8 @@ msgid "" "Examples (you can also look at default triggers with /trigger listdefault):\n" " add text attributes *bold*, _underline_ and /italic/ (only in user " "messages):\n" -" /trigger add effects modifier weechat_print \"${tg_tag_nick}\" \"==\\*" -"(\\S+)\\*==*${color:bold}$1${color:-bold}*== ==_(\\S+)_==_${color:" +" /trigger add effects modifier weechat_print \"${tg_tag_nick}\" \"==" +"\\*(\\S+)\\*==*${color:bold}$1${color:-bold}*== ==_(\\S+)_==_${color:" "underline}$1${color:-underline}_== ==/(\\S+)/==/${color:italic}$1${color:-" "italic}/\"\n" " hide nicklist bar on small terminals:\n" @@ -11397,8 +11401,8 @@ msgstr "" "trigger listdefault\" anzeigen lassen):\n" " fügt einer Nachricht die Textattribute *fett*, _unterstrichen_ und /" "kursiv/ hinzu:\n" -" /trigger add effects modifier weechat_print \"${tg_tag_nick}\" \"==\\*" -"(\\S+)\\*==*${color:bold}$1${color:-bold}*== ==_(\\S+)_==_${color:" +" /trigger add effects modifier weechat_print \"${tg_tag_nick}\" \"==" +"\\*(\\S+)\\*==*${color:bold}$1${color:-bold}*== ==_(\\S+)_==_${color:" "underline}$1${color:-underline}_== ==/(\\S+)/==/${color:italic}$1${color:-" "italic}/\"\n" " verbirgt die Nicklist auf kleineren Terminals:\n" @@ -22,7 +22,7 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2014-04-02 19:54+0200\n" +"POT-Creation-Date: 2014-04-03 11:18+0200\n" "PO-Revision-Date: 2014-03-24 14:23+0100\n" "Last-Translator: Elián Hanisch <lambdae2@gmail.com>\n" "Language-Team: weechat-dev <weechat-dev@nongnu.org>\n" @@ -4839,11 +4839,11 @@ msgstr "ejecuta un comando silenciosamente" msgid "" "-list || [-sh|-nosh] [-bg|-nobg] [-stdin|-nostdin] [-buffer <name>] [-l|-o|-" -"n|-nf] [-cl|-nocl] [-sw|-nosw] [-ln|-noln] [-color ansi|auto|irc|weechat|" -"strip] [-rc|-norc] [-timeout <timeout>] [-name <name>] [-pipe <command>] [-" -"hsignal <name>] <command> || -in <id> <text> || -inclose <id> [<text>] || -" -"signal <id> <signal> || -kill <id> || -killall || -set <id> <property> " -"<value> || -del <id>|-all [<id>...]" +"n|-nf] [-cl|-nocl] [-sw|-nosw] [-ln|-noln] [-flush|-noflush] [-color ansi|" +"auto|irc|weechat|strip] [-rc|-norc] [-timeout <timeout>] [-name <name>] [-" +"pipe <command>] [-hsignal <name>] <command> || -in <id> <text> || -inclose " +"<id> [<text>] || -signal <id> <signal> || -kill <id> || -killall || -set " +"<id> <property> <value> || -del <id>|-all [<id>...]" msgstr "" msgid "" @@ -4874,6 +4874,8 @@ msgid "" " -nosw: don't switch to the output buffer\n" " -ln: display line numbers (default in new buffer only)\n" " -noln: don't display line numbers\n" +" -flush: display output of command in real time (default)\n" +"-noflush: display output of command after its end\n" " -color: action on ANSI colors in output:\n" " ansi: keep ANSI codes as-is\n" " auto: convert ANSI colors to WeeChat/IRC (default)\n" @@ -21,8 +21,8 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2014-04-02 19:54+0200\n" -"PO-Revision-Date: 2014-04-02 19:54+0200\n" +"POT-Creation-Date: 2014-04-03 11:18+0200\n" +"PO-Revision-Date: 2014-04-03 11:19+0200\n" "Last-Translator: Sébastien Helleu <flashcode@flashtux.org>\n" "Language-Team: weechat-dev <weechat-dev@nongnu.org>\n" "Language: fr\n" @@ -5207,18 +5207,18 @@ msgstr "exécuter des commandes externes" msgid "" "-list || [-sh|-nosh] [-bg|-nobg] [-stdin|-nostdin] [-buffer <name>] [-l|-o|-" -"n|-nf] [-cl|-nocl] [-sw|-nosw] [-ln|-noln] [-color ansi|auto|irc|weechat|" -"strip] [-rc|-norc] [-timeout <timeout>] [-name <name>] [-pipe <command>] [-" -"hsignal <name>] <command> || -in <id> <text> || -inclose <id> [<text>] || -" -"signal <id> <signal> || -kill <id> || -killall || -set <id> <property> " -"<value> || -del <id>|-all [<id>...]" +"n|-nf] [-cl|-nocl] [-sw|-nosw] [-ln|-noln] [-flush|-noflush] [-color ansi|" +"auto|irc|weechat|strip] [-rc|-norc] [-timeout <timeout>] [-name <name>] [-" +"pipe <command>] [-hsignal <name>] <command> || -in <id> <text> || -inclose " +"<id> [<text>] || -signal <id> <signal> || -kill <id> || -killall || -set " +"<id> <property> <value> || -del <id>|-all [<id>...]" msgstr "" "-list || [-sh|-nosh] [-bg|-nobg] [-stdin|-nostdin] [-buffer <nom>] [-l|-o|-" -"n|-nf] [-cl|-nocl] [-sw|-nosw] [-ln|-noln] [-color ansi|auto|irc|weechat|" -"strip] [-rc|-norc] [-timeout <délai>] [-name <nom>] [-pipe <commande>] [-" -"hsignal <nom>] <commande> || -in <id> <texte> || -inclose <id> [<texte>] || -" -"signal <id> <signal> || -kill <id> || -killall || -set <id> <propriété> " -"<valeur> || -del <id>|-all [<id>...]" +"n|-nf] [-cl|-nocl] [-sw|-nosw] [-ln|-noln] |-flush|-noflush] [-color ansi|" +"auto|irc|weechat|strip] [-rc|-norc] [-timeout <délai>] [-name <nom>] [-pipe " +"<commande>] [-hsignal <nom>] <commande> || -in <id> <texte> || -inclose <id> " +"[<texte>] || -signal <id> <signal> || -kill <id> || -killall || -set <id> " +"<propriété> <valeur> || -del <id>|-all [<id>...]" msgid "" " -list: list commands\n" @@ -5248,6 +5248,8 @@ msgid "" " -nosw: don't switch to the output buffer\n" " -ln: display line numbers (default in new buffer only)\n" " -noln: don't display line numbers\n" +" -flush: display output of command in real time (default)\n" +"-noflush: display output of command after its end\n" " -color: action on ANSI colors in output:\n" " ansi: keep ANSI codes as-is\n" " auto: convert ANSI colors to WeeChat/IRC (default)\n" @@ -5326,6 +5328,8 @@ msgstr "" " -ln: afficher les numéros de ligne (par défaut dans un nouveau tampon " "seulement)\n" " -noln: ne pas afficher les numéros de ligne\n" +" -flush: afficher la sortie de la commande en temps réel (par défaut)\n" +" -noflush: afficher la sortie de la commande une fois qu'elle est terminée\n" " -color: action sur les couleurs ANSI dans la sortie :\n" " ansi: garder les codes ANSI tels quels\n" " auto: convertir les couleurs ANSI en couleurs WeeChat/IRC (par " @@ -20,7 +20,7 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2014-04-02 19:54+0200\n" +"POT-Creation-Date: 2014-04-03 11:18+0200\n" "PO-Revision-Date: 2014-03-24 14:23+0100\n" "Last-Translator: Andras Voroskoi <voroskoi@frugalware.org>\n" "Language-Team: weechat-dev <weechat-dev@nongnu.org>\n" @@ -4213,11 +4213,11 @@ msgstr "%s belső parancsok:\n" msgid "" "-list || [-sh|-nosh] [-bg|-nobg] [-stdin|-nostdin] [-buffer <name>] [-l|-o|-" -"n|-nf] [-cl|-nocl] [-sw|-nosw] [-ln|-noln] [-color ansi|auto|irc|weechat|" -"strip] [-rc|-norc] [-timeout <timeout>] [-name <name>] [-pipe <command>] [-" -"hsignal <name>] <command> || -in <id> <text> || -inclose <id> [<text>] || -" -"signal <id> <signal> || -kill <id> || -killall || -set <id> <property> " -"<value> || -del <id>|-all [<id>...]" +"n|-nf] [-cl|-nocl] [-sw|-nosw] [-ln|-noln] [-flush|-noflush] [-color ansi|" +"auto|irc|weechat|strip] [-rc|-norc] [-timeout <timeout>] [-name <name>] [-" +"pipe <command>] [-hsignal <name>] <command> || -in <id> <text> || -inclose " +"<id> [<text>] || -signal <id> <signal> || -kill <id> || -killall || -set " +"<id> <property> <value> || -del <id>|-all [<id>...]" msgstr "" msgid "" @@ -4248,6 +4248,8 @@ msgid "" " -nosw: don't switch to the output buffer\n" " -ln: display line numbers (default in new buffer only)\n" " -noln: don't display line numbers\n" +" -flush: display output of command in real time (default)\n" +"-noflush: display output of command after its end\n" " -color: action on ANSI colors in output:\n" " ansi: keep ANSI codes as-is\n" " auto: convert ANSI colors to WeeChat/IRC (default)\n" @@ -20,7 +20,7 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2014-04-02 19:54+0200\n" +"POT-Creation-Date: 2014-04-03 11:18+0200\n" "PO-Revision-Date: 2014-03-24 14:23+0100\n" "Last-Translator: Esteban I. Ruiz Moreno <exio4.com@gmail.com>\n" "Language-Team: weechat-dev <weechat-dev@nongnu.org>\n" @@ -4978,11 +4978,11 @@ msgstr "esegue un comando in silenzio" msgid "" "-list || [-sh|-nosh] [-bg|-nobg] [-stdin|-nostdin] [-buffer <name>] [-l|-o|-" -"n|-nf] [-cl|-nocl] [-sw|-nosw] [-ln|-noln] [-color ansi|auto|irc|weechat|" -"strip] [-rc|-norc] [-timeout <timeout>] [-name <name>] [-pipe <command>] [-" -"hsignal <name>] <command> || -in <id> <text> || -inclose <id> [<text>] || -" -"signal <id> <signal> || -kill <id> || -killall || -set <id> <property> " -"<value> || -del <id>|-all [<id>...]" +"n|-nf] [-cl|-nocl] [-sw|-nosw] [-ln|-noln] [-flush|-noflush] [-color ansi|" +"auto|irc|weechat|strip] [-rc|-norc] [-timeout <timeout>] [-name <name>] [-" +"pipe <command>] [-hsignal <name>] <command> || -in <id> <text> || -inclose " +"<id> [<text>] || -signal <id> <signal> || -kill <id> || -killall || -set " +"<id> <property> <value> || -del <id>|-all [<id>...]" msgstr "" msgid "" @@ -5013,6 +5013,8 @@ msgid "" " -nosw: don't switch to the output buffer\n" " -ln: display line numbers (default in new buffer only)\n" " -noln: don't display line numbers\n" +" -flush: display output of command in real time (default)\n" +"-noflush: display output of command after its end\n" " -color: action on ANSI colors in output:\n" " ansi: keep ANSI codes as-is\n" " auto: convert ANSI colors to WeeChat/IRC (default)\n" @@ -20,7 +20,7 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2014-04-02 19:54+0200\n" +"POT-Creation-Date: 2014-04-03 11:18+0200\n" "PO-Revision-Date: 2014-03-29 20:07+0900\n" "Last-Translator: AYANOKOUZI, Ryuunosuke <i38w7i3@yahoo.co.jp>\n" "Language-Team: Japanese <https://github.com/l/weechat/tree/translation_ja>\n" @@ -5001,13 +5001,14 @@ msgstr "コマンド \"%s\" を削除" msgid "execute external commands" msgstr "外部コマンドを実行" +#, fuzzy msgid "" "-list || [-sh|-nosh] [-bg|-nobg] [-stdin|-nostdin] [-buffer <name>] [-l|-o|-" -"n|-nf] [-cl|-nocl] [-sw|-nosw] [-ln|-noln] [-color ansi|auto|irc|weechat|" -"strip] [-rc|-norc] [-timeout <timeout>] [-name <name>] [-pipe <command>] [-" -"hsignal <name>] <command> || -in <id> <text> || -inclose <id> [<text>] || -" -"signal <id> <signal> || -kill <id> || -killall || -set <id> <property> " -"<value> || -del <id>|-all [<id>...]" +"n|-nf] [-cl|-nocl] [-sw|-nosw] [-ln|-noln] [-flush|-noflush] [-color ansi|" +"auto|irc|weechat|strip] [-rc|-norc] [-timeout <timeout>] [-name <name>] [-" +"pipe <command>] [-hsignal <name>] <command> || -in <id> <text> || -inclose " +"<id> [<text>] || -signal <id> <signal> || -kill <id> || -killall || -set " +"<id> <property> <value> || -del <id>|-all [<id>...]" msgstr "" "-list || [-sh|-nosh] [-bg|-nobg] [-stdin|-nostdin] [-buffer <name>] [-l|-o|-" "n|-nf] [-cl|-nocl] [-sw|-nosw] [-ln|-noln] [-color ansi|auto|irc|weechat|" @@ -5045,6 +5046,8 @@ msgid "" " -nosw: don't switch to the output buffer\n" " -ln: display line numbers (default in new buffer only)\n" " -noln: don't display line numbers\n" +" -flush: display output of command in real time (default)\n" +"-noflush: display output of command after its end\n" " -color: action on ANSI colors in output:\n" " ansi: keep ANSI codes as-is\n" " auto: convert ANSI colors to WeeChat/IRC (default)\n" @@ -21,7 +21,7 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2014-04-02 19:54+0200\n" +"POT-Creation-Date: 2014-04-03 11:18+0200\n" "PO-Revision-Date: 2014-03-24 14:23+0100\n" "Last-Translator: Krzysztof Korościk <soltys@szluug.org>\n" "Language-Team: weechat-dev <weechat-dev@nongnu.org>\n" @@ -5100,11 +5100,11 @@ msgstr "wykonuje komendę po cichu" msgid "" "-list || [-sh|-nosh] [-bg|-nobg] [-stdin|-nostdin] [-buffer <name>] [-l|-o|-" -"n|-nf] [-cl|-nocl] [-sw|-nosw] [-ln|-noln] [-color ansi|auto|irc|weechat|" -"strip] [-rc|-norc] [-timeout <timeout>] [-name <name>] [-pipe <command>] [-" -"hsignal <name>] <command> || -in <id> <text> || -inclose <id> [<text>] || -" -"signal <id> <signal> || -kill <id> || -killall || -set <id> <property> " -"<value> || -del <id>|-all [<id>...]" +"n|-nf] [-cl|-nocl] [-sw|-nosw] [-ln|-noln] [-flush|-noflush] [-color ansi|" +"auto|irc|weechat|strip] [-rc|-norc] [-timeout <timeout>] [-name <name>] [-" +"pipe <command>] [-hsignal <name>] <command> || -in <id> <text> || -inclose " +"<id> [<text>] || -signal <id> <signal> || -kill <id> || -killall || -set " +"<id> <property> <value> || -del <id>|-all [<id>...]" msgstr "" msgid "" @@ -5135,6 +5135,8 @@ msgid "" " -nosw: don't switch to the output buffer\n" " -ln: display line numbers (default in new buffer only)\n" " -noln: don't display line numbers\n" +" -flush: display output of command in real time (default)\n" +"-noflush: display output of command after its end\n" " -color: action on ANSI colors in output:\n" " ansi: keep ANSI codes as-is\n" " auto: convert ANSI colors to WeeChat/IRC (default)\n" diff --git a/po/pt_BR.po b/po/pt_BR.po index 337a76930..e8b689c1d 100644 --- a/po/pt_BR.po +++ b/po/pt_BR.po @@ -21,7 +21,7 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2014-04-02 19:54+0200\n" +"POT-Creation-Date: 2014-04-03 11:18+0200\n" "PO-Revision-Date: 2014-03-24 14:23+0100\n" "Last-Translator: Sergio Durigan Junior <sergiosdj@gmail.com>\n" "Language-Team: weechat-dev <weechat-dev@nongnu.org>\n" @@ -4681,11 +4681,11 @@ msgstr "executa um comando silenciosamente" msgid "" "-list || [-sh|-nosh] [-bg|-nobg] [-stdin|-nostdin] [-buffer <name>] [-l|-o|-" -"n|-nf] [-cl|-nocl] [-sw|-nosw] [-ln|-noln] [-color ansi|auto|irc|weechat|" -"strip] [-rc|-norc] [-timeout <timeout>] [-name <name>] [-pipe <command>] [-" -"hsignal <name>] <command> || -in <id> <text> || -inclose <id> [<text>] || -" -"signal <id> <signal> || -kill <id> || -killall || -set <id> <property> " -"<value> || -del <id>|-all [<id>...]" +"n|-nf] [-cl|-nocl] [-sw|-nosw] [-ln|-noln] [-flush|-noflush] [-color ansi|" +"auto|irc|weechat|strip] [-rc|-norc] [-timeout <timeout>] [-name <name>] [-" +"pipe <command>] [-hsignal <name>] <command> || -in <id> <text> || -inclose " +"<id> [<text>] || -signal <id> <signal> || -kill <id> || -killall || -set " +"<id> <property> <value> || -del <id>|-all [<id>...]" msgstr "" msgid "" @@ -4716,6 +4716,8 @@ msgid "" " -nosw: don't switch to the output buffer\n" " -ln: display line numbers (default in new buffer only)\n" " -noln: don't display line numbers\n" +" -flush: display output of command in real time (default)\n" +"-noflush: display output of command after its end\n" " -color: action on ANSI colors in output:\n" " ansi: keep ANSI codes as-is\n" " auto: convert ANSI colors to WeeChat/IRC (default)\n" @@ -21,7 +21,7 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2014-04-02 19:54+0200\n" +"POT-Creation-Date: 2014-04-03 11:18+0200\n" "PO-Revision-Date: 2014-03-24 14:23+0100\n" "Last-Translator: Aleksey V Zapparov AKA ixti <ixti@member.fsf.org>\n" "Language-Team: weechat-dev <weechat-dev@nongnu.org>\n" @@ -4246,11 +4246,11 @@ msgstr "Внутренние команды %s:\n" msgid "" "-list || [-sh|-nosh] [-bg|-nobg] [-stdin|-nostdin] [-buffer <name>] [-l|-o|-" -"n|-nf] [-cl|-nocl] [-sw|-nosw] [-ln|-noln] [-color ansi|auto|irc|weechat|" -"strip] [-rc|-norc] [-timeout <timeout>] [-name <name>] [-pipe <command>] [-" -"hsignal <name>] <command> || -in <id> <text> || -inclose <id> [<text>] || -" -"signal <id> <signal> || -kill <id> || -killall || -set <id> <property> " -"<value> || -del <id>|-all [<id>...]" +"n|-nf] [-cl|-nocl] [-sw|-nosw] [-ln|-noln] [-flush|-noflush] [-color ansi|" +"auto|irc|weechat|strip] [-rc|-norc] [-timeout <timeout>] [-name <name>] [-" +"pipe <command>] [-hsignal <name>] <command> || -in <id> <text> || -inclose " +"<id> [<text>] || -signal <id> <signal> || -kill <id> || -killall || -set " +"<id> <property> <value> || -del <id>|-all [<id>...]" msgstr "" msgid "" @@ -4281,6 +4281,8 @@ msgid "" " -nosw: don't switch to the output buffer\n" " -ln: display line numbers (default in new buffer only)\n" " -noln: don't display line numbers\n" +" -flush: display output of command in real time (default)\n" +"-noflush: display output of command after its end\n" " -color: action on ANSI colors in output:\n" " ansi: keep ANSI codes as-is\n" " auto: convert ANSI colors to WeeChat/IRC (default)\n" @@ -20,7 +20,7 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2014-04-02 19:54+0200\n" +"POT-Creation-Date: 2014-04-03 11:18+0200\n" "PO-Revision-Date: 2014-03-24 14:23+0100\n" "Last-Translator: Hasan Kiran <sunder67@hotmail.com>\n" "Language-Team: weechat-dev <weechat-dev@nongnu.org>\n" @@ -3803,11 +3803,11 @@ msgstr "weechat komutları" msgid "" "-list || [-sh|-nosh] [-bg|-nobg] [-stdin|-nostdin] [-buffer <name>] [-l|-o|-" -"n|-nf] [-cl|-nocl] [-sw|-nosw] [-ln|-noln] [-color ansi|auto|irc|weechat|" -"strip] [-rc|-norc] [-timeout <timeout>] [-name <name>] [-pipe <command>] [-" -"hsignal <name>] <command> || -in <id> <text> || -inclose <id> [<text>] || -" -"signal <id> <signal> || -kill <id> || -killall || -set <id> <property> " -"<value> || -del <id>|-all [<id>...]" +"n|-nf] [-cl|-nocl] [-sw|-nosw] [-ln|-noln] [-flush|-noflush] [-color ansi|" +"auto|irc|weechat|strip] [-rc|-norc] [-timeout <timeout>] [-name <name>] [-" +"pipe <command>] [-hsignal <name>] <command> || -in <id> <text> || -inclose " +"<id> [<text>] || -signal <id> <signal> || -kill <id> || -killall || -set " +"<id> <property> <value> || -del <id>|-all [<id>...]" msgstr "" msgid "" @@ -3838,6 +3838,8 @@ msgid "" " -nosw: don't switch to the output buffer\n" " -ln: display line numbers (default in new buffer only)\n" " -noln: don't display line numbers\n" +" -flush: display output of command in real time (default)\n" +"-noflush: display output of command after its end\n" " -color: action on ANSI colors in output:\n" " ansi: keep ANSI codes as-is\n" " auto: convert ANSI colors to WeeChat/IRC (default)\n" diff --git a/po/weechat.pot b/po/weechat.pot index 2345940a0..021317eae 100644 --- a/po/weechat.pot +++ b/po/weechat.pot @@ -21,7 +21,7 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat 0.4.1-dev\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2014-04-02 19:54+0200\n" +"POT-Creation-Date: 2014-04-03 11:18+0200\n" "PO-Revision-Date: 2013-02-14 18:20+0100\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: weechat-dev <weechat-dev@nongnu.org>\n" @@ -3803,11 +3803,11 @@ msgstr "" msgid "" "-list || [-sh|-nosh] [-bg|-nobg] [-stdin|-nostdin] [-buffer <name>] [-l|-o|-" -"n|-nf] [-cl|-nocl] [-sw|-nosw] [-ln|-noln] [-color ansi|auto|irc|weechat|" -"strip] [-rc|-norc] [-timeout <timeout>] [-name <name>] [-pipe <command>] [-" -"hsignal <name>] <command> || -in <id> <text> || -inclose <id> [<text>] || -" -"signal <id> <signal> || -kill <id> || -killall || -set <id> <property> " -"<value> || -del <id>|-all [<id>...]" +"n|-nf] [-cl|-nocl] [-sw|-nosw] [-ln|-noln] [-flush|-noflush] [-color ansi|" +"auto|irc|weechat|strip] [-rc|-norc] [-timeout <timeout>] [-name <name>] [-" +"pipe <command>] [-hsignal <name>] <command> || -in <id> <text> || -inclose " +"<id> [<text>] || -signal <id> <signal> || -kill <id> || -killall || -set " +"<id> <property> <value> || -del <id>|-all [<id>...]" msgstr "" msgid "" @@ -3838,6 +3838,8 @@ msgid "" " -nosw: don't switch to the output buffer\n" " -ln: display line numbers (default in new buffer only)\n" " -noln: don't display line numbers\n" +" -flush: display output of command in real time (default)\n" +"-noflush: display output of command after its end\n" " -color: action on ANSI colors in output:\n" " ansi: keep ANSI codes as-is\n" " auto: convert ANSI colors to WeeChat/IRC (default)\n" diff --git a/src/plugins/exec/exec-command.c b/src/plugins/exec/exec-command.c index c8fe49e9c..f3d7084f8 100644 --- a/src/plugins/exec/exec-command.c +++ b/src/plugins/exec/exec-command.c @@ -268,6 +268,14 @@ exec_command_parse_options (struct t_exec_cmd_options *cmd_options, { cmd_options->line_numbers = 0; } + else if (weechat_strcasecmp (argv[i], "-flush") == 0) + { + cmd_options->flush = 1; + } + else if (weechat_strcasecmp (argv[i], "-noflush") == 0) + { + cmd_options->flush = 0; + } else if (weechat_strcasecmp (argv[i], "-color") == 0) { if (i + 1 >= argc) @@ -405,6 +413,7 @@ exec_command_run (struct t_gui_buffer *buffer, cmd_options.new_buffer_clear = 0; cmd_options.switch_to_buffer = 1; cmd_options.line_numbers = -1; + cmd_options.flush = 1; cmd_options.color = EXEC_COLOR_AUTO; cmd_options.display_rc = 1; cmd_options.ptr_command_name = NULL; @@ -470,6 +479,8 @@ exec_command_run (struct t_gui_buffer *buffer, weechat_hashtable_set (process_options, "stdin", "1"); if (cmd_options.detached) weechat_hashtable_set (process_options, "detached", "1"); + if (cmd_options.flush) + weechat_hashtable_set (process_options, "buffer_flush", "1"); /* set variables in new command (before running the command) */ new_exec_cmd->name = (cmd_options.ptr_command_name) ? @@ -775,7 +786,7 @@ exec_command_init () N_("-list" " || [-sh|-nosh] [-bg|-nobg] [-stdin|-nostdin] [-buffer <name>] " "[-l|-o|-n|-nf] [-cl|-nocl] [-sw|-nosw] [-ln|-noln] " - "[-color ansi|auto|irc|weechat|strip] [-rc|-norc] " + "[-flush|-noflush] [-color ansi|auto|irc|weechat|strip] [-rc|-norc] " "[-timeout <timeout>] [-name <name>] [-pipe <command>] " "[-hsignal <name>] <command>" " || -in <id> <text>" @@ -814,6 +825,8 @@ exec_command_init () " -nosw: don't switch to the output buffer\n" " -ln: display line numbers (default in new buffer only)\n" " -noln: don't display line numbers\n" + " -flush: display output of command in real time (default)\n" + "-noflush: display output of command after its end\n" " -color: action on ANSI colors in output:\n" " ansi: keep ANSI codes as-is\n" " auto: convert ANSI colors to WeeChat/IRC (default)\n" @@ -863,7 +876,8 @@ exec_command_init () " /exec -pipe \"/print Machine uptime:\" uptime"), "-list" " || -sh|-nosh|-bg|-nobg|-stdin|-nostdin|-buffer|-l|-o|-n|-nf|" - "-cl|-nocl|-sw|-nosw|-ln|-noln|-color|-timeout|-name|-pipe|-hsignal|%*" + "-cl|-nocl|-sw|-nosw|-ln|-noln|-flush|-noflush|-color|-timeout|-name|" + "-pipe|-hsignal|%*" " || -in|-inclose|-signal|-kill %(exec_commands_ids)" " || -killall" " || -set %(exec_commands_ids) stdin|stdin_close|signal" diff --git a/src/plugins/exec/exec-command.h b/src/plugins/exec/exec-command.h index 6b9e195d0..fa314318c 100644 --- a/src/plugins/exec/exec-command.h +++ b/src/plugins/exec/exec-command.h @@ -34,6 +34,7 @@ struct t_exec_cmd_options int new_buffer_clear; /* 1 to clear buffer before output */ int switch_to_buffer; /* switch to the output buffer */ int line_numbers; /* 1 to display line numbers */ + int flush; /* 1 to flush lines immediately */ int color; /* what to do with ANSI colors */ int display_rc; /* 1 to display return code */ const char *ptr_command_name; /* name of command */ diff --git a/src/plugins/exec/exec.c b/src/plugins/exec/exec.c index 5d8eccbea..a5521ed39 100644 --- a/src/plugins/exec/exec.c +++ b/src/plugins/exec/exec.c @@ -114,7 +114,7 @@ struct t_exec_cmd * exec_add () { struct t_exec_cmd *new_exec_cmd, *ptr_exec_cmd; - int number; + int i, number; /* find first available number */ number = (last_exec_cmd) ? last_exec_cmd->number + 1 : 0; @@ -153,10 +153,12 @@ exec_add () new_exec_cmd->buffer_full_name = NULL; new_exec_cmd->line_numbers = 0; new_exec_cmd->display_rc = 0; - new_exec_cmd->out_size = 0; - new_exec_cmd->out = NULL; - new_exec_cmd->err_size = 0; - new_exec_cmd->err = NULL; + new_exec_cmd->output_line_nb = 0; + for (i = 0; i < 2; i++) + { + new_exec_cmd->output_size[i] = 0; + new_exec_cmd->output[i] = NULL; + } new_exec_cmd->return_code = -1; new_exec_cmd->pipe_command = NULL; new_exec_cmd->hsignal = NULL; @@ -196,27 +198,6 @@ exec_timer_delete_cb (void *data, int remaining_calls) } /* - * Concatenates some text to stdout/stderr of a command. - */ - -void -exec_concat_output (int *size, char **output, const char *text) -{ - int length, new_size; - char *new_output; - - length = strlen (text); - new_size = *size + length; - new_output = realloc (*output, new_size + 1); - if (!new_output) - return; - - *output = new_output; - memcpy (*output + *size, text, length + 1); - *size = new_size; -} - -/* * Decodes colors in a string (from stdout/stderr). * * Returns string with colors as-is, decoded or removed. @@ -258,19 +239,22 @@ exec_decode_color (struct t_exec_cmd *exec_cmd, const char *string) } /* - * Displays output of a command. + * Displays a line of output. */ void -exec_display_output (struct t_exec_cmd *exec_cmd, - struct t_gui_buffer *buffer, int out) +exec_display_line (struct t_exec_cmd *exec_cmd, struct t_gui_buffer *buffer, + int out, const char *line) { + char *line_color, *line2, str_number[32], str_tags[1024]; + int length; + /* char *ptr_output, *ptr_line, *line, *line2, *pos; char str_number[32], str_tags[1024]; - int line_nb, length; + int length; + */ - ptr_output = (out) ? exec_cmd->out : exec_cmd->err; - if (!ptr_output) + if (!exec_cmd || !line) return; /* @@ -280,99 +264,149 @@ exec_display_output (struct t_exec_cmd *exec_cmd, if (exec_cmd->output_to_buffer && !exec_cmd->pipe_command && !buffer) return; - ptr_line = ptr_output; - line_nb = 1; - while (ptr_line) - { - /* ignore last empty line */ - if (!ptr_line[0]) - break; - - /* search end of line */ - pos = strchr (ptr_line, '\n'); - line = (pos) ? - weechat_strndup (ptr_line, pos - ptr_line) : strdup (ptr_line); - if (!line) - break; + /* decode colors */ + line_color = exec_decode_color (exec_cmd, line); + if (!line_color) + return; - /* decode colors */ - line2 = exec_decode_color (exec_cmd, line); - free (line); - if (!line2) - break; - line = line2; + exec_cmd->output_line_nb++; - if (exec_cmd->pipe_command) + if (exec_cmd->pipe_command) + { + if (strstr (exec_cmd->pipe_command, "$line")) { - if (strstr (exec_cmd->pipe_command, "$line")) + /* replace $line by line content */ + line2 = weechat_string_replace (exec_cmd->pipe_command, + "$line", line_color); + if (line2) { - /* replace $line by line content */ - line2 = weechat_string_replace (exec_cmd->pipe_command, - "$line", line); - if (line2) - { - weechat_command (buffer, line2); - free (line2); - } + weechat_command (buffer, line2); + free (line2); } - else + } + else + { + /* add line at the end of command, after a space */ + length = strlen (exec_cmd->pipe_command) + 1 + strlen (line_color) + 1; + line2 = malloc (length); + if (line2) { - /* add line at the end of command, after a space */ - length = strlen (exec_cmd->pipe_command) + 1 + strlen (line) + 1; - line2 = malloc (length); - if (line2) - { - snprintf (line2, length, "%s %s", exec_cmd->pipe_command, line); - weechat_command (buffer, line2); - free (line2); - } + snprintf (line2, length, + "%s %s", exec_cmd->pipe_command, line_color); + weechat_command (buffer, line2); + free (line2); } } - else if (exec_cmd->output_to_buffer) + } + else if (exec_cmd->output_to_buffer) + { + if (exec_cmd->line_numbers) { - if (exec_cmd->line_numbers) + length = 32 + strlen (line_color) + 1; + line2 = malloc (length); + if (line2) { - length = 32 + strlen (line) + 1; - line2 = malloc (length); - if (line2) - { - snprintf (line2, length, "%d. %s", line_nb, line); - weechat_command (buffer, line2); - free (line2); - } + snprintf (line2, length, + "%d. %s", exec_cmd->output_line_nb, line_color); + weechat_command (buffer, line2); + free (line2); } - else - weechat_command (buffer, (line[0]) ? line : " "); } else + weechat_command (buffer, (line_color[0]) ? line_color : " "); + } + else + { + snprintf (str_number, sizeof (str_number), "%d", exec_cmd->number); + snprintf (str_tags, sizeof (str_tags), + "exec_%s,exec_cmd_%s", + (out) ? "stdout" : "stderr", + (exec_cmd->name) ? exec_cmd->name : str_number); + if (weechat_buffer_get_integer (buffer, "type") == 1) { + snprintf (str_number, sizeof (str_number), + "%d. ", exec_cmd->output_line_nb); + weechat_printf_y (buffer, -1, + "%s%s", + (exec_cmd->line_numbers) ? str_number : " ", + line_color); + } + else + { + snprintf (str_number, sizeof (str_number), + "%d\t", exec_cmd->output_line_nb); + weechat_printf_tags (buffer, str_tags, + "%s%s", + (exec_cmd->line_numbers) ? str_number : " \t", + line_color); + } + } +} - snprintf (str_number, sizeof (str_number), "%d", exec_cmd->number); - snprintf (str_tags, sizeof (str_tags), - "exec_%s,exec_cmd_%s", - (out) ? "stdout" : "stderr", - (exec_cmd->name) ? exec_cmd->name : str_number); - if (weechat_buffer_get_integer (buffer, "type") == 1) +/* + * Concatenates some text to stdout/stderr of a command. + */ + +void +exec_concat_output (struct t_exec_cmd *exec_cmd, struct t_gui_buffer *buffer, + int out, const char *text) +{ + int length, new_size; + const char *ptr_text; + char *new_output, *pos, *line; + + ptr_text = text; + + /* if output is not sent as hsignal, display lines (ending with '\n') */ + if (!exec_cmd->hsignal) + { + ptr_text = text; + while (ptr_text[0]) + { + pos = strchr (ptr_text, '\n'); + if (!pos) + break; + if (exec_cmd->output_size[out] > 0) { - snprintf (str_number, sizeof (str_number), "%d. ", line_nb); - weechat_printf_y (buffer, -1, - "%s%s", - (exec_cmd->line_numbers) ? str_number : " ", - line); + length = exec_cmd->output_size[out] + (pos - ptr_text) + 1; + line = malloc (length); + if (line) + { + memcpy (line, exec_cmd->output[out], + exec_cmd->output_size[out]); + memcpy (line + exec_cmd->output_size[out], + ptr_text, pos - ptr_text); + line[length - 1] = '\0'; + } } else + line = weechat_strndup (ptr_text, pos - ptr_text); + if (!line) + break; + if (exec_cmd->output[out]) { - snprintf (str_number, sizeof (str_number), "%d\t", line_nb); - weechat_printf_tags (buffer, str_tags, - "%s%s", - (exec_cmd->line_numbers) ? str_number : " \t", - line); + free (exec_cmd->output[out]); + exec_cmd->output[out] = NULL; } + exec_cmd->output_size[out] = 0; + exec_display_line (exec_cmd, buffer, out, line); + free (line); + ptr_text = pos + 1; } + } - free (line); - line_nb++; - ptr_line = (pos) ? pos + 1 : NULL; + /* concatenate ptr_text to output buffer */ + length = strlen (ptr_text); + if (length > 0) + { + new_size = exec_cmd->output_size[out] + length; + new_output = realloc (exec_cmd->output[out], new_size + 1); + if (!new_output) + return; + exec_cmd->output[out] = new_output; + memcpy (exec_cmd->output[out] + exec_cmd->output_size[out], + ptr_text, length + 1); + exec_cmd->output_size[out] = new_size; } } @@ -386,7 +420,7 @@ exec_end_command (struct t_exec_cmd *exec_cmd, int return_code) struct t_gui_buffer *ptr_buffer; struct t_hashtable *hashtable; char str_number[32], *output; - int buffer_type; + int i, buffer_type; if (exec_cmd->hsignal) { @@ -401,11 +435,11 @@ exec_end_command (struct t_exec_cmd *exec_cmd, int return_code) snprintf (str_number, sizeof (str_number), "%d", exec_cmd->number); weechat_hashtable_set (hashtable, "number", str_number); weechat_hashtable_set (hashtable, "name", exec_cmd->name); - output = exec_decode_color (exec_cmd, exec_cmd->out); + output = exec_decode_color (exec_cmd, exec_cmd->output[EXEC_STDOUT]); weechat_hashtable_set (hashtable, "out", output); if (output) free (output); - output = exec_decode_color (exec_cmd, exec_cmd->err); + output = exec_decode_color (exec_cmd, exec_cmd->output[EXEC_STDERR]); weechat_hashtable_set (hashtable, "err", output); if (output) free (output); @@ -419,8 +453,11 @@ exec_end_command (struct t_exec_cmd *exec_cmd, int return_code) { ptr_buffer = weechat_buffer_search ("==", exec_cmd->buffer_full_name); - exec_display_output (exec_cmd, ptr_buffer, 1); - exec_display_output (exec_cmd, ptr_buffer, 0); + /* display the last line of output (if not ending with '\n') */ + exec_display_line (exec_cmd, ptr_buffer, EXEC_STDOUT, + exec_cmd->output[EXEC_STDOUT]); + exec_display_line (exec_cmd, ptr_buffer, EXEC_STDERR, + exec_cmd->output[EXEC_STDERR]); /* * display return code (only if command is not detached, if output is @@ -477,6 +514,15 @@ exec_end_command (struct t_exec_cmd *exec_cmd, int return_code) exec_cmd->pid = 0; exec_cmd->end_time = time (NULL); exec_cmd->return_code = return_code; + for (i = 0; i < 2; i++) + { + if (exec_cmd->output[i]) + { + free (exec_cmd->output[i]); + exec_cmd->output[i] = NULL; + } + exec_cmd->output_size[i] = 0; + } /* schedule a timer to remove the executed command */ if (weechat_config_integer (exec_config_command_purge_delay) >= 0) @@ -496,6 +542,7 @@ exec_process_cb (void *data, const char *command, int return_code, const char *out, const char *err) { struct t_exec_cmd *ptr_exec_cmd; + struct t_gui_buffer *ptr_buffer; /* make C compiler happy */ (void) command; @@ -516,17 +563,14 @@ exec_process_cb (void *data, const char *command, int return_code, (err) ? strlen (err) : 0); } - if (out) - { - exec_concat_output (&ptr_exec_cmd->out_size, - &ptr_exec_cmd->out, - out); - } - if (err) + if (out || err) { - exec_concat_output (&ptr_exec_cmd->err_size, - &ptr_exec_cmd->err, - err); + ptr_buffer = weechat_buffer_search ("==", + ptr_exec_cmd->buffer_full_name); + if (out) + exec_concat_output (ptr_exec_cmd, ptr_buffer, EXEC_STDOUT, out); + if (err) + exec_concat_output (ptr_exec_cmd, ptr_buffer, EXEC_STDERR, err); } if (return_code == WEECHAT_HOOK_PROCESS_ERROR) @@ -544,6 +588,8 @@ exec_process_cb (void *data, const char *command, int return_code, void exec_free (struct t_exec_cmd *exec_cmd) { + int i; + if (!exec_cmd) return; @@ -566,10 +612,11 @@ exec_free (struct t_exec_cmd *exec_cmd) free (exec_cmd->command); if (exec_cmd->buffer_full_name) free (exec_cmd->buffer_full_name); - if (exec_cmd->out) - free (exec_cmd->out); - if (exec_cmd->err) - free (exec_cmd->err); + for (i = 0; i < 2; i++) + { + if (exec_cmd->output[i]) + free (exec_cmd->output[i]); + } if (exec_cmd->pipe_command) free (exec_cmd->pipe_command); if (exec_cmd->hsignal) @@ -619,10 +666,11 @@ exec_print_log () weechat_log_printf (" buffer_full_name. . . . : '%s'", ptr_exec_cmd->buffer_full_name); weechat_log_printf (" line_numbers. . . . . . : %d", ptr_exec_cmd->line_numbers); weechat_log_printf (" display_rc. . . . . . . : %d", ptr_exec_cmd->display_rc); - weechat_log_printf (" out_size. . . . . . . . : %d", ptr_exec_cmd->out_size); - weechat_log_printf (" out . . . . . . . . . . : '%s'", ptr_exec_cmd->out); - weechat_log_printf (" err_size. . . . . . . . : %d", ptr_exec_cmd->err_size); - weechat_log_printf (" err . . . . . . . . . . : '%s'", ptr_exec_cmd->err); + weechat_log_printf (" output_line_nb. . . . . : %d", ptr_exec_cmd->output_line_nb); + weechat_log_printf (" output_size[stdout] . . : %d", ptr_exec_cmd->output_size[EXEC_STDOUT]); + weechat_log_printf (" output[stdout]. . . . . : '%s'", ptr_exec_cmd->output[EXEC_STDOUT]); + weechat_log_printf (" output_size[stderr] . . : %d", ptr_exec_cmd->output_size[EXEC_STDERR]); + weechat_log_printf (" output[stderr]. . . . . : '%s'", ptr_exec_cmd->output[EXEC_STDERR]); weechat_log_printf (" return_code . . . . . . : %d", ptr_exec_cmd->return_code); weechat_log_printf (" pipe_command. . . . . . : '%s'", ptr_exec_cmd->pipe_command); weechat_log_printf (" hsignal . . . . . . . . : '%s'", ptr_exec_cmd->hsignal); diff --git a/src/plugins/exec/exec.h b/src/plugins/exec/exec.h index 3cb50d56d..51924fa3a 100644 --- a/src/plugins/exec/exec.h +++ b/src/plugins/exec/exec.h @@ -25,6 +25,9 @@ #define weechat_plugin weechat_exec_plugin #define EXEC_PLUGIN_NAME "exec" +#define EXEC_STDOUT 0 +#define EXEC_STDERR 1 + enum t_exec_color { EXEC_COLOR_ANSI = 0, @@ -56,10 +59,9 @@ struct t_exec_cmd int display_rc; /* 1 if return code is displayed */ /* command output */ - int out_size; /* number of bytes in stdout */ - char *out; /* stdout of command */ - int err_size; /* number of bytes in stderr */ - char *err; /* stderr of command */ + int output_line_nb; /* line number */ + int output_size[2]; /* number of bytes in stdout/stderr */ + char *output[2]; /* stdout/stderr of command */ int return_code; /* command return code */ /* pipe/hsignal */ |