summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--doc/de/autogen/user/weechat_commands.txt70
-rw-r--r--doc/en/autogen/user/weechat_commands.txt40
-rw-r--r--doc/fr/autogen/user/weechat_commands.txt40
-rw-r--r--doc/it/autogen/user/weechat_commands.txt86
-rw-r--r--po/cs.po58
-rw-r--r--po/de.po68
-rw-r--r--po/es.po59
-rw-r--r--po/fr.po121
-rw-r--r--po/hu.po62
-rw-r--r--po/it.po64
-rw-r--r--po/pl.po59
-rw-r--r--po/pt_BR.po57
-rw-r--r--po/ru.po62
-rw-r--r--po/weechat.pot62
-rw-r--r--src/core/wee-command.c51
-rw-r--r--src/core/wee-config.c4
-rw-r--r--src/gui/gui-filter.c105
-rw-r--r--src/gui/gui-filter.h12
-rw-r--r--src/gui/gui-line.c17
20 files changed, 607 insertions, 494 deletions
diff --git a/ChangeLog b/ChangeLog
index 3d4416caa..6ee17875c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,12 +1,14 @@
WeeChat ChangeLog
=================
Sébastien Helleu <flashcode@flashtux.org>
-v0.3.5-dev, 2011-03-07
+v0.3.5-dev, 2011-03-09
Version 0.3.5 (under dev!)
--------------------------
+* core: allow list of buffers in command /filter (exclusion with prefix "!")
+ (task #10880)
* core: reload file with certificate authorities when option
weechat.network.gnutls_ca_file is changed
* core: rebuild bar content when items are changed in an hidden bar
diff --git a/doc/de/autogen/user/weechat_commands.txt b/doc/de/autogen/user/weechat_commands.txt
index fe3323a0f..925a16f96 100644
--- a/doc/de/autogen/user/weechat_commands.txt
+++ b/doc/de/autogen/user/weechat_commands.txt
@@ -163,47 +163,53 @@ windows: zeigt die Fensterstruktur an
........................................
/filter list
enable|disable|toggle [<name>]
- add <name> <plugin.buffer> <tags> <regex>
+ add <name> <buffer>[,<buffer>...] <tags> <regex>
del <name>|-all
- list: alle Filter auflisten
- enable: Filter aktivieren (Filter werden standardmässig aktiviert)
- disable: Filter deaktivieren
- toggle: Filter de-/aktivieren
- name: Name des Filters
- add: Filter hinzufügen
- del: Filter entfernen
- -all: entfernt alle Filter
-plugin.buffer: Erweiterungen und Buffer in denen die Filterfunktion aktiviert ist ("*" für alle Buffer)
- tags: durch Kommata getrennte Liste mit Tags. Zum Beispiel: "irc_join,irc_part,irc_quit"
- regex: regulärer Ausdruck um in einer Zeile zu suchen
- - das Präfix wird mittels '\t' von der Nachricht getrennt. Sonderzeichen wie '|' müssen mit einer Escapesequenz : '\|' eingebunden werden)
- - wird ein regulärer Ausdruck mit '!' eingeleitet dann wird das übereinstimmende Ergebnis umgekehrt (nutze '\!' um mit '!' zu beginnen)
- Hinweis: Es werden zwei reguläre Ausdrücke erstellt. Der erste für den Präfix und der zweite für die Nachricht
-
-Die Tastenvoreinstellung alt+'=' schaltet die Filterfunktion an/aus.
-
-Die am häufigsten gebrauchten Tags lauten:
- no_filter, no_highlight, no_log, log0..log9 (log Level),
+ list: list all filters
+ enable: enable filters (filters are enabled by default)
+disable: disable filters
+ toggle: toggle filters
+ name: filter name
+ add: add a filter
+ del: delete a filter
+ -all: delete all filters
+ buffer: comma separated list of buffers where filter is active:
+ - this is full name including plugin (example: "irc.freenode.#weechat")
+ - "*" means all buffers
+ - a name starting with '!' is excluded
+ - name can start or end with '*' to match many buffers
+ tags: comma separated list of tags, for example: "irc_join,irc_part,irc_quit"
+ regex: regular expression to search in line
+ - use '\t' to separate prefix from message, special chars like '|' must be escaped: '\|'
+ - if regex starts with '!', then matching result is reversed (use '\!' to start with '!')
+ - two regular expressions are created: one for prefix and one for message
+
+The default key alt+'=' toggles filtering on/off.
+
+Tags most commonly used:
+ no_filter, no_highlight, no_log, log0..log9 (log level),
notify_message, notify_private, notify_highlight,
- nick_xxx (xxx ist durch den Nicknamen zu ersetzen),
- irc_xxx (xxx ist durch einen IRC Befehl oder die IRC Nummer zu ersetzen, siehe /server raw)
+ nick_xxx (xxx is nick in message),
+ irc_xxx (xxx is command name or number, see /server raw),
irc_numeric, irc_error, irc_action, irc_ctcp, irc_ctcp_reply, irc_smart_filter, away_info.
-Beispiele:
- aktiviert einen einfachen IRC Filter für join/part/quit Nachrichten:
+Examples:
+ use IRC smart filter on all buffers:
/filter add irc_smart * irc_smart_filter *
- filtert alle IRC join/part/quit Nachrichten:
+ use IRC smart filter on all buffers except those with "#weechat" in name:
+ /filter add irc_smart *,!*#weechat* irc_smart_filter *
+ filter all IRC join/part/quit messages:
/filter add joinquit * irc_join,irc_part,irc_quit *
- filtert Nicks wenn diese den Channel betreten oder durch den Befehl "/names:" angezeigt werden:
+ filter nicks displayed when joining channels or with /names:
/filter add nicks * irc_366 *
- filtert Nick "toto" im IRC Channel #weechat:
+ filter nick "toto" on IRC channel #weechat:
/filter add toto irc.freenode.#weechat * toto\t
- nur der Nick "tutu" wird im IRC Channel #test angezeigt:
- /filter add tutu irc.freenode.#test * !tutu\t
- filtert Zeilen die das Wort "spam" enthalten:
+ keep only nick "titi" on IRC channel #test:
+ /filter add titi irc.freenode.#test * !titi\t
+ filter lines containing word "spam":
/filter add filterspam * * spam
- filtert Zeilen die "weechat sucks" im IRC Channel #weechat enthalten:
+ filter lines containing "weechat sucks" on IRC channel #weechat:
/filter add sucks irc.freenode.#weechat * weechat sucks
........................................
@@ -421,7 +427,7 @@ Wird keine Datei angegeben dann werden alle Konfigurationen (WeeChat und Erweite
........................................
/set [<option> [<value>]]
-option: Name der zu ändernden Option (darf mit einem Joker "*" beginnen oder enden um mehrere Optionen anzuzeigen)
+option: Name der zu ändernden Option (darf mit einem Joker '*' beginnen oder enden um mehrere Optionen anzuzeigen)
value: neuer Wert, den die Option erhalten soll
Abhängig von der ausgewählten Option, kann die Variable folgenden Inhalt haben:
diff --git a/doc/en/autogen/user/weechat_commands.txt b/doc/en/autogen/user/weechat_commands.txt
index 3baa49ef3..d329ec8b5 100644
--- a/doc/en/autogen/user/weechat_commands.txt
+++ b/doc/en/autogen/user/weechat_commands.txt
@@ -163,23 +163,27 @@ windows: display windows tree
........................................
/filter list
enable|disable|toggle [<name>]
- add <name> <plugin.buffer> <tags> <regex>
+ add <name> <buffer>[,<buffer>...] <tags> <regex>
del <name>|-all
- list: list all filters
- enable: enable filters (filters are enabled by default)
- disable: disable filters
- toggle: toggle filters
- name: filter name
- add: add a filter
- del: delete a filter
- -all: delete all filters
-plugin.buffer: plugin and buffer where filter is active ("*" for all buffers)
- tags: comma separated list of tags, for example: "irc_join,irc_part,irc_quit"
- regex: regular expression to search in line
- - use '\t' to separate prefix from message, special chars like '|' must be escaped: '\|'
- - if regex starts with '!', then matching result is reversed (use '\!' to start with '!')
- note: two regex are created: one for prefix and one for message
+ list: list all filters
+ enable: enable filters (filters are enabled by default)
+disable: disable filters
+ toggle: toggle filters
+ name: filter name
+ add: add a filter
+ del: delete a filter
+ -all: delete all filters
+ buffer: comma separated list of buffers where filter is active:
+ - this is full name including plugin (example: "irc.freenode.#weechat")
+ - "*" means all buffers
+ - a name starting with '!' is excluded
+ - name can start or end with '*' to match many buffers
+ tags: comma separated list of tags, for example: "irc_join,irc_part,irc_quit"
+ regex: regular expression to search in line
+ - use '\t' to separate prefix from message, special chars like '|' must be escaped: '\|'
+ - if regex starts with '!', then matching result is reversed (use '\!' to start with '!')
+ - two regular expressions are created: one for prefix and one for message
The default key alt+'=' toggles filtering on/off.
@@ -191,8 +195,10 @@ Tags most commonly used:
irc_numeric, irc_error, irc_action, irc_ctcp, irc_ctcp_reply, irc_smart_filter, away_info.
Examples:
- use IRC smart filter for join/part/quit messages:
+ use IRC smart filter on all buffers:
/filter add irc_smart * irc_smart_filter *
+ use IRC smart filter on all buffers except those with "#weechat" in name:
+ /filter add irc_smart *,!*#weechat* irc_smart_filter *
filter all IRC join/part/quit messages:
/filter add joinquit * irc_join,irc_part,irc_quit *
filter nicks displayed when joining channels or with /names:
@@ -421,7 +427,7 @@ Without argument, all files (WeeChat and plugins) are saved.
........................................
/set [<option> [<value>]]
-option: name of an option (can start or end with "*" to list many options)
+option: name of an option (can start or end with '*' to list many options)
value: new value for option
New value can be, according to variable type:
diff --git a/doc/fr/autogen/user/weechat_commands.txt b/doc/fr/autogen/user/weechat_commands.txt
index d382fab64..e2896ac10 100644
--- a/doc/fr/autogen/user/weechat_commands.txt
+++ b/doc/fr/autogen/user/weechat_commands.txt
@@ -163,23 +163,27 @@ extension: nom de l'extension ("core" pour le coeur de WeeChat)
........................................
/filter list
enable|disable|toggle [<nom>]
- add <nom> <extension.tampon> <tags> <regex>
+ add <nom> <tampon>[,<tampon>...] <tags> <regex>
del <nom>|-all
- list: lister tous les filtres
- enable: activer les filtres (par défaut les filtres sont activés)
- disable: désactiver les filtres
- toggle: activer/désactiver les filtres
- nom: nom de filtre
- add: ajouter un filtre
- del: supprimer un filtre
- -all: supprimer tous les filtres
-extension.tampon: extension et tampon où le filtre est actif ("*" pour tous les tampons)
- tags: liste de tags, séparés par des virgules, par exemple: "irc_join,irc_part,irc_quit"
- regex: expression régulière à rechercher dans la ligne
- - utiliser '\t' pour séparer le préfixe du message, les caractères spéciaux comme '|' doivent être échappés: '\|'
- - si l'expression régulière commence par '!' alors le résultat est inversé (utiliser '\!' pour démarrer par '!')
- note: deux regex sont créées: une pour le préfixe et une pour le message
+ list: lister tous les filtres
+ enable: activer les filtres (par défaut les filtres sont activés)
+disable: désactiver les filtres
+ toggle: activer/désactiver les filtres
+ nom: nom de filtre
+ add: ajouter un filtre
+ del: supprimer un filtre
+ -all: supprimer tous les filtres
+ tampon: liste des tampons, séparés par des virgules, où le filtre est actif :
+ - il s'agit du nom complet incluant l'extension (exemple: "irc.freenode.#weechat")
+ - "*" signifie tous les tampons
+ - un nom commençant par '!' est exclu
+ - le nom peut commencer ou se terminer par '*' pour plusieurs tampons
+ tags: liste de tags, séparés par des virgules, par exemple: "irc_join,irc_part,irc_quit"
+ regex: expression régulière à rechercher dans la ligne
+ - utiliser '\t' pour séparer le préfixe du message, les caractères spéciaux comme '|' doivent être échappés: '\|'
+ - si l'expression régulière commence par '!' alors le résultat est inversé (utiliser '\!' pour démarrer par '!')
+ - deux expressions régulières sont créées: une pour le préfixe et une pour le message
La touche par défaut alt+'=' active/désactive le filtrage.
@@ -191,8 +195,10 @@ Les tags les plus couramment utilisés:
irc_numeric, irc_error, irc_action, irc_ctcp, irc_ctcp_reply, irc_smart_filter, away_info.
Exemples:
- utiliser le filtre intelligent IRC pour les messages join/part/quit:
+ utiliser le filtre intelligent IRC sur tous les tampons:
/filter add irc_smart * irc_smart_filter *
+ utiliser le filtre intelligent IRC sur tous les tampons sauf ceux avec "#weechat" dans le nom:
+ /filter add irc_smart *,!*#weechat* irc_smart_filter *
filtrer tous les messages IRC join/part/quit:
/filter add joinquit * irc_join,irc_part,irc_quit *
filtrer les pseudos afficher en rejoignant les canaux ou avec /names:
@@ -421,7 +427,7 @@ Sans paramètre, tous les fichiers (WeeChat et extensions) sont sauvegardés.
........................................
/set [<option> [<valeur>]]
-option: nom d'une option (peut démarrer ou se terminer par "*" pour lister plusieurs options)
+option: nom d'une option (peut démarrer ou se terminer par '*' pour lister plusieurs options)
valeur: nouvelle valeur pour l'option
La nouvelle valeur peut être, selon le type de l'option:
diff --git a/doc/it/autogen/user/weechat_commands.txt b/doc/it/autogen/user/weechat_commands.txt
index 5fca63682..a10e7ab27 100644
--- a/doc/it/autogen/user/weechat_commands.txt
+++ b/doc/it/autogen/user/weechat_commands.txt
@@ -162,49 +162,55 @@ windows: mostra l'albero delle finestre
[command]*`filter`* filtra messaggi nei buffer, per nascondere/mostrare in base a tag o regexp::
........................................
/filter list
- enable|disable|toggle [<nome>]
- add <nome> <plugin.buffer> <tag> <regex>]
- del <nome>|-all
-
- list: elenca tutti i filtri
- enable: abilita filtri (i filtri sono abilitati di default)
- disable: disabilita filtri
- toggle: abilita/disabilita filtri
- nome: nome del filtro
- add: aggiunge un filtro
- del: elimina un filtro
- -all: elimina tutti i filtri
-plugin.buffer: plugin e buffer in cui il filtro è attivo ("*" per tutti i buffer)
- tag: elenco di tag separati da virgole, per esempio: "irc_join,irc_part,irc_quit"
- regex: espressione regolare da cercare nella riga
- - utilizzare ' ' per separare il prefisso dal messaggio, caratteri speciali come "|" devono essere preceduti dal carattere escape: '\|')
- - se l'espressione regolare inizia con '!', il risultato corrispondente viene invertito (usare '\!' per iniziare con '!')
-
- nota: vengono create due espressioni regolari: una per il prefisso e l'altra per il messaggio
-
-Il tasto predefinito alt+'=' abilita/disabilita il filtro.
-
-Tag utilizzati di frequente:
- no_filter, no_highlight, no_log, log0..log9 (livello di log),
+ enable|disable|toggle [<name>]
+ add <name> <buffer>[,<buffer>...] <tags> <regex>
+ del <name>|-all
+
+ list: list all filters
+ enable: enable filters (filters are enabled by default)
+disable: disable filters
+ toggle: toggle filters
+ name: filter name
+ add: add a filter
+ del: delete a filter
+ -all: delete all filters
+ buffer: comma separated list of buffers where filter is active:
+ - this is full name including plugin (example: "irc.freenode.#weechat")
+ - "*" means all buffers
+ - a name starting with '!' is excluded
+ - name can start or end with '*' to match many buffers
+ tags: comma separated list of tags, for example: "irc_join,irc_part,irc_quit"
+ regex: regular expression to search in line
+ - use '\t' to separate prefix from message, special chars like '|' must be escaped: '\|'
+ - if regex starts with '!', then matching result is reversed (use '\!' to start with '!')
+ - two regular expressions are created: one for prefix and one for message
+
+The default key alt+'=' toggles filtering on/off.
+
+Tags most commonly used:
+ no_filter, no_highlight, no_log, log0..log9 (log level),
notify_message, notify_private, notify_highlight,
- nick_xxx (xxx è il nick nel messaggio),
- irc_xxx (xxx è il nome comando o il numero, consultare /server raw), irc_numeric, irc_error, irc_action, irc_ctcp, irc_ctcp_reply, irc_smart_filter, away_info.
+ nick_xxx (xxx is nick in message),
+ irc_xxx (xxx is command name or number, see /server raw),
+ irc_numeric, irc_error, irc_action, irc_ctcp, irc_ctcp_reply, irc_smart_filter, away_info.
-Esempi:
- usa il filtro intelligente IRC per i messaggi di entrata/uscita/abbandono:
- /filter add irc_smart * irc_smart_filter *
- filtra tutti i messaggi entrata/uscita/abbandono di IRC:
- /filter add joinquit * irc_join,irc_part,irc_quit *
- filtra i nick visualizzati all'ingresso in un canale o con /names:
+Examples:
+ use IRC smart filter on all buffers:
+ /filter add irc_smart * irc_smart_filter *
+ use IRC smart filter on all buffers except those with "#weechat" in name:
+ /filter add irc_smart *,!*#weechat* irc_smart_filter *
+ filter all IRC join/part/quit messages:
+ /filter add joinquit * irc_join,irc_part,irc_quit *
+ filter nicks displayed when joining channels or with /names:
/filter add nicks * irc_366 *
- filtra il nick "tizio" sul canale IRC #weechat
- /filter add tizio irc.freenode.#esempio * tizio\t
- filtra solo il nick "caio" sul canale IRC #test:
- /filter add caio irc.freenode.#test * !caio\t
- filtra le righe contententi la parola "spam":
+ filter nick "toto" on IRC channel #weechat:
+ /filter add toto irc.freenode.#weechat * toto\t
+ keep only nick "titi" on IRC channel #test:
+ /filter add titi irc.freenode.#test * !titi\t
+ filter lines containing word "spam":
/filter add filterspam * * spam
- filtra le righe contententi "weechat fa schifo" sul canale IRC #weechat:
- /filter add schifo irc.freenode.#weechat * weechat fa schifo
+ filter lines containing "weechat sucks" on IRC channel #weechat:
+ /filter add sucks irc.freenode.#weechat * weechat sucks
........................................
[command]*`help`* visualizza l'aiuto su comandi e opzioni::
@@ -421,7 +427,7 @@ Senza argomento, vengono salvati tutti i file (WeeChat e plugin).
........................................
/set [<opzione> [<valore>]]
-opzione: nome di un'opzione (può iniziare o terminare con "*" per visualizzare più opzioni)
+opzione: nome di un'opzione (può iniziare o terminare con '*' per visualizzare più opzioni)
valore: nuovo valore per l'opzione
Il nuovo valore può essere, a seconda del tipo di variabile:
diff --git a/po/cs.po b/po/cs.po
index 40a46bb9e..dcaa6eeb9 100644
--- a/po/cs.po
+++ b/po/cs.po
@@ -20,7 +20,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat 0.3.5-dev\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
-"POT-Creation-Date: 2011-03-07 12:20+0100\n"
+"POT-Creation-Date: 2011-03-09 10:06+0100\n"
"PO-Revision-Date: 2011-02-07 17:29+0100\n"
"Last-Translator: Jiri Golembiovsky <golemj@gmail.com>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -237,8 +237,8 @@ msgstr "Hrubý obsah bufferů byl zapsán do logovacího souboru"
msgid "Debug disabled for \"%s\""
msgstr "Ladění vypnuto pro \"%s\""
-#, c-format
-msgid " %s[%s%s%s]%s buffer: %s%s%s%s%s / tags: %s / regex: %s %s"
+#, fuzzy, c-format
+msgid " %s[%s%s%s]%s buffer: %s%s%s / tags: %s / regex: %s %s"
msgstr ""
" %s[%s%s%s]%s buffer: %s%s%s%s%s / značky: %s / regulární výraz: %s %s"
@@ -1083,32 +1083,36 @@ msgstr ""
#, fuzzy
msgid ""
-"list || enable|disable|toggle [<name>] || add <name> <plugin.buffer> <tags> "
-"<regex> || del <name>|-all"
+"list || enable|disable|toggle [<name>] || add <name> <buffer>[,<buffer>...] "
+"<tags> <regex> || del <name>|-all"
msgstr ""
"[list] | [enable|disable|toggle [name]] | [add jméno plugin.buffer tags "
"regex] | [del name|-all]"
#, fuzzy
msgid ""
-" list: list all filters\n"
-" enable: enable filters (filters are enabled by default)\n"
-" disable: disable filters\n"
-" toggle: toggle filters\n"
-" name: filter name\n"
-" add: add a filter\n"
-" del: delete a filter\n"
-" -all: delete all filters\n"
-"plugin.buffer: plugin and buffer where filter is active (\"*\" for all "
-"buffers)\n"
-" tags: comma separated list of tags, for example: \"irc_join,"
-"irc_part,irc_quit\"\n"
-" regex: regular expression to search in line\n"
-" - use '\\t' to separate prefix from message, special chars "
-"like '|' must be escaped: '\\|'\n"
-" - if regex starts with '!', then matching result is reversed "
-"(use '\\!' to start with '!')\n"
-" note: two regex are created: one for prefix and one for "
+" list: list all filters\n"
+" enable: enable filters (filters are enabled by default)\n"
+"disable: disable filters\n"
+" toggle: toggle filters\n"
+" name: filter name\n"
+" add: add a filter\n"
+" del: delete a filter\n"
+" -all: delete all filters\n"
+" buffer: comma separated list of buffers where filter is active:\n"
+" - this is full name including plugin (example: \"irc.freenode."
+"#weechat\")\n"
+" - \"*\" means all buffers\n"
+" - a name starting with '!' is excluded\n"
+" - name can start or end with '*' to match many buffers\n"
+" tags: comma separated list of tags, for example: \"irc_join,irc_part,"
+"irc_quit\"\n"
+" regex: regular expression to search in line\n"
+" - use '\\t' to separate prefix from message, special chars like '|' "
+"must be escaped: '\\|'\n"
+" - if regex starts with '!', then matching result is reversed (use "
+"'\\!' to start with '!')\n"
+" - two regular expressions are created: one for prefix and one for "
"message\n"
"\n"
"The default key alt+'=' toggles filtering on/off.\n"
@@ -1122,8 +1126,11 @@ msgid ""
"irc_smart_filter, away_info.\n"
"\n"
"Examples:\n"
-" use IRC smart filter for join/part/quit messages:\n"
+" use IRC smart filter on all buffers:\n"
" /filter add irc_smart * irc_smart_filter *\n"
+" use IRC smart filter on all buffers except those with \"#weechat\" in "
+"name:\n"
+" /filter add irc_smart *,!*#weechat* irc_smart_filter *\n"
" filter all IRC join/part/quit messages:\n"
" /filter add joinquit * irc_join,irc_part,irc_quit *\n"
" filter nicks displayed when joining channels or with /names:\n"
@@ -1547,8 +1554,7 @@ msgstr "[možnost [hodnota]]"
#, fuzzy
msgid ""
-"option: name of an option (can start or end with \"*\" to list many "
-"options)\n"
+"option: name of an option (can start or end with '*' to list many options)\n"
" value: new value for option\n"
"\n"
"New value can be, according to variable type:\n"
diff --git a/po/de.po b/po/de.po
index 8086c77da..853b3c243 100644
--- a/po/de.po
+++ b/po/de.po
@@ -22,8 +22,8 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat 0.3.5-dev\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
-"POT-Creation-Date: 2011-03-07 14:41+0100\n"
-"PO-Revision-Date: 2011-03-07 18:54+0100\n"
+"POT-Creation-Date: 2011-03-09 10:06+0100\n"
+"PO-Revision-Date: 2011-03-09 09:29+0100\n"
"Last-Translator: Nils G.\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
"Language: \n"
@@ -248,8 +248,8 @@ msgstr ""
msgid "Debug disabled for \"%s\""
msgstr "Debug deaktiviert für \"%s\""
-#, c-format
-msgid " %s[%s%s%s]%s buffer: %s%s%s%s%s / tags: %s / regex: %s %s"
+#, fuzzy, c-format
+msgid " %s[%s%s%s]%s buffer: %s%s%s / tags: %s / regex: %s %s"
msgstr " %s[%s%s%s]%s Buffer: %s%s%s%s%s / tags: %s / Reg-ex: %s %s"
msgid "(disabled)"
@@ -1119,32 +1119,38 @@ msgstr ""
"Filterfunktion um Nachrichten in Buffern zu aus- oder einzublenden, dazu "
"können Tags oder regulären Ausdrücken verwendet werden"
+#, fuzzy
msgid ""
-"list || enable|disable|toggle [<name>] || add <name> <plugin.buffer> <tags> "
-"<regex> || del <name>|-all"
+"list || enable|disable|toggle [<name>] || add <name> <buffer>[,<buffer>...] "
+"<tags> <regex> || del <name>|-all"
msgstr ""
"list || enable|disable|toggle [<name>] || add <name> <plugin.buffer> <tags> "
"<regex> || del <name>|-all"
-msgid ""
-" list: list all filters\n"
-" enable: enable filters (filters are enabled by default)\n"
-" disable: disable filters\n"
-" toggle: toggle filters\n"
-" name: filter name\n"
-" add: add a filter\n"
-" del: delete a filter\n"
-" -all: delete all filters\n"
-"plugin.buffer: plugin and buffer where filter is active (\"*\" for all "
-"buffers)\n"
-" tags: comma separated list of tags, for example: \"irc_join,"
-"irc_part,irc_quit\"\n"
-" regex: regular expression to search in line\n"
-" - use '\\t' to separate prefix from message, special chars "
-"like '|' must be escaped: '\\|'\n"
-" - if regex starts with '!', then matching result is reversed "
-"(use '\\!' to start with '!')\n"
-" note: two regex are created: one for prefix and one for "
+#, fuzzy
+msgid ""
+" list: list all filters\n"
+" enable: enable filters (filters are enabled by default)\n"
+"disable: disable filters\n"
+" toggle: toggle filters\n"
+" name: filter name\n"
+" add: add a filter\n"
+" del: delete a filter\n"
+" -all: delete all filters\n"
+" buffer: comma separated list of buffers where filter is active:\n"
+" - this is full name including plugin (example: \"irc.freenode."
+"#weechat\")\n"
+" - \"*\" means all buffers\n"
+" - a name starting with '!' is excluded\n"
+" - name can start or end with '*' to match many buffers\n"
+" tags: comma separated list of tags, for example: \"irc_join,irc_part,"
+"irc_quit\"\n"
+" regex: regular expression to search in line\n"
+" - use '\\t' to separate prefix from message, special chars like '|' "
+"must be escaped: '\\|'\n"
+" - if regex starts with '!', then matching result is reversed (use "
+"'\\!' to start with '!')\n"
+" - two regular expressions are created: one for prefix and one for "
"message\n"
"\n"
"The default key alt+'=' toggles filtering on/off.\n"
@@ -1158,8 +1164,11 @@ msgid ""
"irc_smart_filter, away_info.\n"
"\n"
"Examples:\n"
-" use IRC smart filter for join/part/quit messages:\n"
+" use IRC smart filter on all buffers:\n"
" /filter add irc_smart * irc_smart_filter *\n"
+" use IRC smart filter on all buffers except those with \"#weechat\" in "
+"name:\n"
+" /filter add irc_smart *,!*#weechat* irc_smart_filter *\n"
" filter all IRC join/part/quit messages:\n"
" /filter add joinquit * irc_join,irc_part,irc_quit *\n"
" filter nicks displayed when joining channels or with /names:\n"
@@ -1653,8 +1662,7 @@ msgid "[<option> [<value>]]"
msgstr "[<option> [<value>]]"
msgid ""
-"option: name of an option (can start or end with \"*\" to list many "
-"options)\n"
+"option: name of an option (can start or end with '*' to list many options)\n"
" value: new value for option\n"
"\n"
"New value can be, according to variable type:\n"
@@ -1672,8 +1680,8 @@ msgid ""
" add a word to highlight:\n"
" /set weechat.look.highlight \"word\""
msgstr ""
-"option: Name der zu ändernden Option (darf mit einem Joker \"*\" beginnen "
-"oder enden um mehrere Optionen anzuzeigen)\n"
+"option: Name der zu ändernden Option (darf mit einem Joker '*' beginnen oder "
+"enden um mehrere Optionen anzuzeigen)\n"
" value: neuer Wert, den die Option erhalten soll\n"
"\n"
"Abhängig von der ausgewählten Option, kann die Variable folgenden Inhalt "
diff --git a/po/es.po b/po/es.po
index 551c8e741..bd859aa60 100644
--- a/po/es.po
+++ b/po/es.po
@@ -21,7 +21,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat 0.3.5-dev\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
-"POT-Creation-Date: 2011-03-07 12:20+0100\n"
+"POT-Creation-Date: 2011-03-09 10:06+0100\n"
"PO-Revision-Date: 2011-02-07 17:29+0100\n"
"Last-Translator: Elián Hanisch <lambdae2@gmail.com>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -239,8 +239,8 @@ msgstr ""
msgid "Debug disabled for \"%s\""
msgstr "Depurado de \"%s\" desactivado"
-#, c-format
-msgid " %s[%s%s%s]%s buffer: %s%s%s%s%s / tags: %s / regex: %s %s"
+#, fuzzy, c-format
+msgid " %s[%s%s%s]%s buffer: %s%s%s / tags: %s / regex: %s %s"
msgstr " %s[%s%s%s]%s buffer: %s%s%s%s%s / etiquetas: %s / expresión: %s %s"
msgid "(disabled)"
@@ -1106,31 +1106,36 @@ msgstr ""
#, fuzzy
msgid ""
-"list || enable|disable|toggle [<name>] || add <name> <plugin.buffer> <tags> "
-"<regex> || del <name>|-all"
+"list || enable|disable|toggle [<name>] || add <name> <buffer>[,<buffer>...] "
+"<tags> <regex> || del <name>|-all"
msgstr ""
"[list] | [enable|disable|toggle [nombre]] | [add nombre plugin.buffer "
"etiquetas regex] | [del nombre|-all]"
+#, fuzzy
msgid ""
-" list: list all filters\n"
-" enable: enable filters (filters are enabled by default)\n"
-" disable: disable filters\n"
-" toggle: toggle filters\n"
-" name: filter name\n"
-" add: add a filter\n"
-" del: delete a filter\n"
-" -all: delete all filters\n"
-"plugin.buffer: plugin and buffer where filter is active (\"*\" for all "
-"buffers)\n"
-" tags: comma separated list of tags, for example: \"irc_join,"
-"irc_part,irc_quit\"\n"
-" regex: regular expression to search in line\n"
-" - use '\\t' to separate prefix from message, special chars "
-"like '|' must be escaped: '\\|'\n"
-" - if regex starts with '!', then matching result is reversed "
-"(use '\\!' to start with '!')\n"
-" note: two regex are created: one for prefix and one for "
+" list: list all filters\n"
+" enable: enable filters (filters are enabled by default)\n"
+"disable: disable filters\n"
+" toggle: toggle filters\n"
+" name: filter name\n"
+" add: add a filter\n"
+" del: delete a filter\n"
+" -all: delete all filters\n"
+" buffer: comma separated list of buffers where filter is active:\n"
+" - this is full name including plugin (example: \"irc.freenode."
+"#weechat\")\n"
+" - \"*\" means all buffers\n"
+" - a name starting with '!' is excluded\n"
+" - name can start or end with '*' to match many buffers\n"
+" tags: comma separated list of tags, for example: \"irc_join,irc_part,"
+"irc_quit\"\n"
+" regex: regular expression to search in line\n"
+" - use '\\t' to separate prefix from message, special chars like '|' "
+"must be escaped: '\\|'\n"
+" - if regex starts with '!', then matching result is reversed (use "
+"'\\!' to start with '!')\n"
+" - two regular expressions are created: one for prefix and one for "
"message\n"
"\n"
"The default key alt+'=' toggles filtering on/off.\n"
@@ -1144,8 +1149,11 @@ msgid ""
"irc_smart_filter, away_info.\n"
"\n"
"Examples:\n"
-" use IRC smart filter for join/part/quit messages:\n"
+" use IRC smart filter on all buffers:\n"
" /filter add irc_smart * irc_smart_filter *\n"
+" use IRC smart filter on all buffers except those with \"#weechat\" in "
+"name:\n"
+" /filter add irc_smart *,!*#weechat* irc_smart_filter *\n"
" filter all IRC join/part/quit messages:\n"
" /filter add joinquit * irc_join,irc_part,irc_quit *\n"
" filter nicks displayed when joining channels or with /names:\n"
@@ -1576,8 +1584,7 @@ msgstr "[opción [valor]]"
#, fuzzy
msgid ""
-"option: name of an option (can start or end with \"*\" to list many "
-"options)\n"
+"option: name of an option (can start or end with '*' to list many options)\n"
" value: new value for option\n"
"\n"
"New value can be, according to variable type:\n"
diff --git a/po/fr.po b/po/fr.po
index 8d201340d..cb31de492 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -21,8 +21,8 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat 0.3.5-dev\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
-"POT-Creation-Date: 2011-03-07 12:20+0100\n"
-"PO-Revision-Date: 2011-03-07 11:40+0100\n"
+"POT-Creation-Date: 2011-03-09 10:06+0100\n"
+"PO-Revision-Date: 2011-03-09 10:07+0100\n"
"Last-Translator: Sebastien Helleu <flashcode@flashtux.org>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
"Language: French\n"
@@ -240,8 +240,8 @@ msgid "Debug disabled for \"%s\""
msgstr "Debug désactivé pour \"%s\""
#, c-format
-msgid " %s[%s%s%s]%s buffer: %s%s%s%s%s / tags: %s / regex: %s %s"
-msgstr " %s[%s%s%s]%s tampon: %s%s%s%s%s / tags: %s / regex: %s %s"
+msgid " %s[%s%s%s]%s buffer: %s%s%s / tags: %s / regex: %s %s"
+msgstr " %s[%s%s%s]%s tampon: %s%s%s / tags: %s / regex: %s %s"
msgid "(disabled)"
msgstr "(désactivé)"
@@ -1106,31 +1106,35 @@ msgstr ""
"tags ou expressions régulières"
msgid ""
-"list || enable|disable|toggle [<name>] || add <name> <plugin.buffer> <tags> "
-"<regex> || del <name>|-all"
-msgstr ""
-"list || enable|disable|toggle [<nom>] || add <nom> <extension.tampon> <tags> "
-"<regex> || del <nom>|-all"
-
-msgid ""
-" list: list all filters\n"
-" enable: enable filters (filters are enabled by default)\n"
-" disable: disable filters\n"
-" toggle: toggle filters\n"
-" name: filter name\n"
-" add: add a filter\n"
-" del: delete a filter\n"
-" -all: delete all filters\n"
-"plugin.buffer: plugin and buffer where filter is active (\"*\" for all "
-"buffers)\n"
-" tags: comma separated list of tags, for example: \"irc_join,"
-"irc_part,irc_quit\"\n"
-" regex: regular expression to search in line\n"
-" - use '\\t' to separate prefix from message, special chars "
-"like '|' must be escaped: '\\|'\n"
-" - if regex starts with '!', then matching result is reversed "
-"(use '\\!' to start with '!')\n"
-" note: two regex are created: one for prefix and one for "
+"list || enable|disable|toggle [<name>] || add <name> <buffer>[,<buffer>...] "
+"<tags> <regex> || del <name>|-all"
+msgstr ""
+"list || enable|disable|toggle [<nom>] || add <nom> <tampon>[,<tampon>...] "
+"<tags> <regex> || del <nom>|-all"
+
+msgid ""
+" list: list all filters\n"
+" enable: enable filters (filters are enabled by default)\n"
+"disable: disable filters\n"
+" toggle: toggle filters\n"
+" name: filter name\n"
+" add: add a filter\n"
+" del: delete a filter\n"
+" -all: delete all filters\n"
+" buffer: comma separated list of buffers where filter is active:\n"
+" - this is full name including plugin (example: \"irc.freenode."
+"#weechat\")\n"
+" - \"*\" means all buffers\n"
+" - a name starting with '!' is excluded\n"
+" - name can start or end with '*' to match many buffers\n"
+" tags: comma separated list of tags, for example: \"irc_join,irc_part,"
+"irc_quit\"\n"
+" regex: regular expression to search in line\n"
+" - use '\\t' to separate prefix from message, special chars like '|' "
+"must be escaped: '\\|'\n"
+" - if regex starts with '!', then matching result is reversed (use "
+"'\\!' to start with '!')\n"
+" - two regular expressions are created: one for prefix and one for "
"message\n"
"\n"
"The default key alt+'=' toggles filtering on/off.\n"
@@ -1144,8 +1148,11 @@ msgid ""
"irc_smart_filter, away_info.\n"
"\n"
"Examples:\n"
-" use IRC smart filter for join/part/quit messages:\n"
+" use IRC smart filter on all buffers:\n"
" /filter add irc_smart * irc_smart_filter *\n"
+" use IRC smart filter on all buffers except those with \"#weechat\" in "
+"name:\n"
+" /filter add irc_smart *,!*#weechat* irc_smart_filter *\n"
" filter all IRC join/part/quit messages:\n"
" /filter add joinquit * irc_join,irc_part,irc_quit *\n"
" filter nicks displayed when joining channels or with /names:\n"
@@ -1159,25 +1166,31 @@ msgid ""
" filter lines containing \"weechat sucks\" on IRC channel #weechat:\n"
" /filter add sucks irc.freenode.#weechat * weechat sucks"
msgstr ""
-" list: lister tous les filtres\n"
-" enable: activer les filtres (par défaut les filtres sont activés)\n"
-" disable: désactiver les filtres\n"
-" toggle: activer/désactiver les filtres\n"
-" nom: nom de filtre\n"
-" add: ajouter un filtre\n"
-" del: supprimer un filtre\n"
-" -all: supprimer tous les filtres\n"
-"extension.tampon: extension et tampon où le filtre est actif (\"*\" pour "
-"tous les tampons)\n"
-" tags: liste de tags, séparés par des virgules, par exemple: "
-"\"irc_join,irc_part,irc_quit\"\n"
-" regex: expression régulière à rechercher dans la ligne\n"
-" - utiliser '\\t' pour séparer le préfixe du message, les "
-"caractères spéciaux comme '|' doivent être échappés: '\\|'\n"
-" - si l'expression régulière commence par '!' alors le "
-"résultat est inversé (utiliser '\\!' pour démarrer par '!')\n"
-" note: deux regex sont créées: une pour le préfixe et une "
-"pour le message\n"
+" list: lister tous les filtres\n"
+" enable: activer les filtres (par défaut les filtres sont activés)\n"
+"disable: désactiver les filtres\n"
+" toggle: activer/désactiver les filtres\n"
+" nom: nom de filtre\n"
+" add: ajouter un filtre\n"
+" del: supprimer un filtre\n"
+" -all: supprimer tous les filtres\n"
+" tampon: liste des tampons, séparés par des virgules, où le filtre est "
+"actif :\n"
+" - il s'agit du nom complet incluant l'extension (exemple: \"irc."
+"freenode.#weechat\")\n"
+" - \"*\" signifie tous les tampons\n"
+" - un nom commençant par '!' est exclu\n"
+" - le nom peut commencer ou se terminer par '*' pour plusieurs "
+"tampons\n"
+" tags: liste de tags, séparés par des virgules, par exemple: \"irc_join,"
+"irc_part,irc_quit\"\n"
+" regex: expression régulière à rechercher dans la ligne\n"
+" - utiliser '\\t' pour séparer le préfixe du message, les caractères "
+"spéciaux comme '|' doivent être échappés: '\\|'\n"
+" - si l'expression régulière commence par '!' alors le résultat est "
+"inversé (utiliser '\\!' pour démarrer par '!')\n"
+" - deux expressions régulières sont créées: une pour le préfixe et "
+"une pour le message\n"
"\n"
"La touche par défaut alt+'=' active/désactive le filtrage.\n"
"\n"
@@ -1190,8 +1203,11 @@ msgstr ""
"irc_smart_filter, away_info.\n"
"\n"
"Exemples:\n"
-" utiliser le filtre intelligent IRC pour les messages join/part/quit:\n"
+" utiliser le filtre intelligent IRC sur tous les tampons:\n"
" /filter add irc_smart * irc_smart_filter *\n"
+" utiliser le filtre intelligent IRC sur tous les tampons sauf ceux avec "
+"\"#weechat\" dans le nom:\n"
+" /filter add irc_smart *,!*#weechat* irc_smart_filter *\n"
" filtrer tous les messages IRC join/part/quit:\n"
" /filter add joinquit * irc_join,irc_part,irc_quit *\n"
" filtrer les pseudos afficher en rejoignant les canaux ou avec /names:\n"
@@ -1614,8 +1630,7 @@ msgid "[<option> [<value>]]"
msgstr "[<option> [<valeur>]]"
msgid ""
-"option: name of an option (can start or end with \"*\" to list many "
-"options)\n"
+"option: name of an option (can start or end with '*' to list many options)\n"
" value: new value for option\n"
"\n"
"New value can be, according to variable type:\n"
@@ -1633,7 +1648,7 @@ msgid ""
" add a word to highlight:\n"
" /set weechat.look.highlight \"word\""
msgstr ""
-"option: nom d'une option (peut démarrer ou se terminer par \"*\" pour lister "
+"option: nom d'une option (peut démarrer ou se terminer par '*' pour lister "
"plusieurs options)\n"
"valeur: nouvelle valeur pour l'option\n"
"\n"
diff --git a/po/hu.po b/po/hu.po
index 90f33eced..3f967d8ab 100644
--- a/po/hu.po
+++ b/po/hu.po
@@ -20,7 +20,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat 0.3.5-dev\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
-"POT-Creation-Date: 2011-03-07 12:20+0100\n"
+"POT-Creation-Date: 2011-03-09 10:06+0100\n"
"PO-Revision-Date: 2011-02-07 17:29+0100\n"
"Last-Translator: Andras Voroskoi <voroskoi@frugalware.org>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -242,7 +242,7 @@ msgid "Debug disabled for \"%s\""
msgstr ""
#, fuzzy, c-format
-msgid " %s[%s%s%s]%s buffer: %s%s%s%s%s / tags: %s / regex: %s %s"
+msgid " %s[%s%s%s]%s buffer: %s%s%s / tags: %s / regex: %s %s"
msgstr " (nincs üzenetkezelő)\n"
#, fuzzy
@@ -1049,29 +1049,33 @@ msgid ""
msgstr ""
msgid ""
-"list || enable|disable|toggle [<name>] || add <name> <plugin.buffer> <tags> "
-"<regex> || del <name>|-all"
-msgstr ""
-
-msgid ""
-" list: list all filters\n"
-" enable: enable filters (filters are enabled by default)\n"
-" disable: disable filters\n"
-" toggle: toggle filters\n"
-" name: filter name\n"
-" add: add a filter\n"
-" del: delete a filter\n"
-" -all: delete all filters\n"
-"plugin.buffer: plugin and buffer where filter is active (\"*\" for all "
-"buffers)\n"
-" tags: comma separated list of tags, for example: \"irc_join,"
-"irc_part,irc_quit\"\n"
-" regex: regular expression to search in line\n"
-" - use '\\t' to separate prefix from message, special chars "
-"like '|' must be escaped: '\\|'\n"
-" - if regex starts with '!', then matching result is reversed "
-"(use '\\!' to start with '!')\n"
-" note: two regex are created: one for prefix and one for "
+"list || enable|disable|toggle [<name>] || add <name> <buffer>[,<buffer>...] "
+"<tags> <regex> || del <name>|-all"
+msgstr ""
+
+msgid ""
+" list: list all filters\n"
+" enable: enable filters (filters are enabled by default)\n"
+"disable: disable filters\n"
+" toggle: toggle filters\n"
+" name: filter name\n"
+" add: add a filter\n"
+" del: delete a filter\n"
+" -all: delete all filters\n"
+" buffer: comma separated list of buffers where filter is active:\n"
+" - this is full name including plugin (example: \"irc.freenode."
+"#weechat\")\n"
+" - \"*\" means all buffers\n"
+" - a name starting with '!' is excluded\n"
+" - name can start or end with '*' to match many buffers\n"
+" tags: comma separated list of tags, for example: \"irc_join,irc_part,"
+"irc_quit\"\n"
+" regex: regular expression to search in line\n"
+" - use '\\t' to separate prefix from message, special chars like '|' "
+"must be escaped: '\\|'\n"
+" - if regex starts with '!', then matching result is reversed (use "
+"'\\!' to start with '!')\n"
+" - two regular expressions are created: one for prefix and one for "
"message\n"
"\n"
"The default key alt+'=' toggles filtering on/off.\n"
@@ -1085,8 +1089,11 @@ msgid ""
"irc_smart_filter, away_info.\n"
"\n"
"Examples:\n"
-" use IRC smart filter for join/part/quit messages:\n"
+" use IRC smart filter on all buffers:\n"
" /filter add irc_smart * irc_smart_filter *\n"
+" use IRC smart filter on all buffers except those with \"#weechat\" in "
+"name:\n"
+" /filter add irc_smart *,!*#weechat* irc_smart_filter *\n"
" filter all IRC join/part/quit messages:\n"
" /filter add joinquit * irc_join,irc_part,irc_quit *\n"
" filter nicks displayed when joining channels or with /names:\n"
@@ -1388,8 +1395,7 @@ msgid "[<option> [<value>]]"
msgstr "[opció [ = érték]]"
msgid ""
-"option: name of an option (can start or end with \"*\" to list many "
-"options)\n"
+"option: name of an option (can start or end with '*' to list many options)\n"
" value: new value for option\n"
"\n"
"New value can be, according to variable type:\n"
diff --git a/po/it.po b/po/it.po
index d36a9f736..3b3c28968 100644
--- a/po/it.po
+++ b/po/it.po
@@ -20,8 +20,8 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat 0.3.5-dev\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
-"POT-Creation-Date: 2011-03-07 12:20+0100\n"
-"PO-Revision-Date: 2011-02-22 19:26+0100\n"
+"POT-Creation-Date: 2011-03-09 10:06+0100\n"
+"PO-Revision-Date: 2011-03-09 09:29+0100\n"
"Last-Translator: Marco Paolone <marcopaolone@gmail.com>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
"Language: Italian\n"
@@ -237,8 +237,8 @@ msgstr "Il contenuto raw dei buffer è stato salvato sul file di log"
msgid "Debug disabled for \"%s\""
msgstr "Debug disabilitato per \"%s\""
-#, c-format
-msgid " %s[%s%s%s]%s buffer: %s%s%s%s%s / tags: %s / regex: %s %s"
+#, fuzzy, c-format
+msgid " %s[%s%s%s]%s buffer: %s%s%s / tags: %s / regex: %s %s"
msgstr " %s[%s%s%s]%s buffer: %s%s%s%s%s / tag: %s /regex: %s %s"
msgid "(disabled)"
@@ -1090,32 +1090,38 @@ msgid ""
msgstr ""
"filtra messaggi nei buffer, per nascondere/mostrare in base a tag o regexp"
+#, fuzzy
msgid ""
-"list || enable|disable|toggle [<name>] || add <name> <plugin.buffer> <tags> "
-"<regex> || del <name>|-all"
+"list || enable|disable|toggle [<name>] || add <name> <buffer>[,<buffer>...] "
+"<tags> <regex> || del <name>|-all"
msgstr ""
"list || enable|disable|toggle [<nome>] || add <nome> <plugin.buffer> <tag> "
"<regex>] || del <nome>|-all"
+#, fuzzy
msgid ""
-" list: list all filters\n"
-" enable: enable filters (filters are enabled by default)\n"
-" disable: disable filters\n"
-" toggle: toggle filters\n"
-" name: filter name\n"
-" add: add a filter\n"
-" del: delete a filter\n"
-" -all: delete all filters\n"
-"plugin.buffer: plugin and buffer where filter is active (\"*\" for all "
-"buffers)\n"
-" tags: comma separated list of tags, for example: \"irc_join,"
-"irc_part,irc_quit\"\n"
-" regex: regular expression to search in line\n"
-" - use '\\t' to separate prefix from message, special chars "
-"like '|' must be escaped: '\\|'\n"
-" - if regex starts with '!', then matching result is reversed "
-"(use '\\!' to start with '!')\n"
-" note: two regex are created: one for prefix and one for "
+" list: list all filters\n"
+" enable: enable filters (filters are enabled by default)\n"
+"disable: disable filters\n"
+" toggle: toggle filters\n"
+" name: filter name\n"
+" add: add a filter\n"
+" del: delete a filter\n"
+" -all: delete all filters\n"
+" buffer: comma separated list of buffers where filter is active:\n"
+" - this is full name including plugin (example: \"irc.freenode."
+"#weechat\")\n"
+" - \"*\" means all buffers\n"
+" - a name starting with '!' is excluded\n"
+" - name can start or end with '*' to match many buffers\n"
+" tags: comma separated list of tags, for example: \"irc_join,irc_part,"
+"irc_quit\"\n"
+" regex: regular expression to search in line\n"
+" - use '\\t' to separate prefix from message, special chars like '|' "
+"must be escaped: '\\|'\n"
+" - if regex starts with '!', then matching result is reversed (use "
+"'\\!' to start with '!')\n"
+" - two regular expressions are created: one for prefix and one for "
"message\n"
"\n"
"The default key alt+'=' toggles filtering on/off.\n"
@@ -1129,8 +1135,11 @@ msgid ""
"irc_smart_filter, away_info.\n"
"\n"
"Examples:\n"
-" use IRC smart filter for join/part/quit messages:\n"
+" use IRC smart filter on all buffers:\n"
" /filter add irc_smart * irc_smart_filter *\n"
+" use IRC smart filter on all buffers except those with \"#weechat\" in "
+"name:\n"
+" /filter add irc_smart *,!*#weechat* irc_smart_filter *\n"
" filter all IRC join/part/quit messages:\n"
" /filter add joinquit * irc_join,irc_part,irc_quit *\n"
" filter nicks displayed when joining channels or with /names:\n"
@@ -1557,8 +1566,7 @@ msgid "[<option> [<value>]]"
msgstr "[<opzione> [<valore>]]"
msgid ""
-"option: name of an option (can start or end with \"*\" to list many "
-"options)\n"
+"option: name of an option (can start or end with '*' to list many options)\n"
" value: new value for option\n"
"\n"
"New value can be, according to variable type:\n"
@@ -1576,7 +1584,7 @@ msgid ""
" add a word to highlight:\n"
" /set weechat.look.highlight \"word\""
msgstr ""
-"opzione: nome di un'opzione (può iniziare o terminare con \"*\" per "
+"opzione: nome di un'opzione (può iniziare o terminare con '*' per "
"visualizzare più opzioni)\n"
" valore: nuovo valore per l'opzione\n"
"\n"
diff --git a/po/pl.po b/po/pl.po
index 089d00dd2..89c03ba54 100644
--- a/po/pl.po
+++ b/po/pl.po
@@ -21,7 +21,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat 0.3.5-dev\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
-"POT-Creation-Date: 2011-03-07 12:20+0100\n"
+"POT-Creation-Date: 2011-03-09 10:06+0100\n"
"PO-Revision-Date: 2011-02-07 17:29+0100\n"
"Last-Translator: Krzysztof Koroscik <soltys@szluug.org>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -240,8 +240,8 @@ msgstr "Surowa zawartość bufora została zapisana do pliku z logiem"
msgid "Debug disabled for \"%s\""
msgstr "Debugowanie wyłączone dla\"%s\""
-#, c-format
-msgid " %s[%s%s%s]%s buffer: %s%s%s%s%s / tags: %s / regex: %s %s"
+#, fuzzy, c-format
+msgid " %s[%s%s%s]%s buffer: %s%s%s / tags: %s / regex: %s %s"
msgstr " %s[%s%s%s]%s bufor: %s%s%s%s%s / tagi: %s / wyrażenie: %s %s"
msgid "(disabled)"
@@ -1112,31 +1112,36 @@ msgstr ""
#, fuzzy
msgid ""
-"list || enable|disable|toggle [<name>] || add <name> <plugin.buffer> <tags> "
-"<regex> || del <name>|-all"
+"list || enable|disable|toggle [<name>] || add <name> <buffer>[,<buffer>...] "
+"<tags> <regex> || del <name>|-all"
msgstr ""
"[list] | [enable|disable|toggle [nazwa]] | [add nazwa wtyczka.bufor tagi "
"regex] | [del nazwa|-all]"
+#, fuzzy
msgid ""
-" list: list all filters\n"
-" enable: enable filters (filters are enabled by default)\n"
-" disable: disable filters\n"
-" toggle: toggle filters\n"
-" name: filter name\n"
-" add: add a filter\n"
-" del: delete a filter\n"
-" -all: delete all filters\n"
-"plugin.buffer: plugin and buffer where filter is active (\"*\" for all "
-"buffers)\n"
-" tags: comma separated list of tags, for example: \"irc_join,"
-"irc_part,irc_quit\"\n"
-" regex: regular expression to search in line\n"
-" - use '\\t' to separate prefix from message, special chars "
-"like '|' must be escaped: '\\|'\n"
-" - if regex starts with '!', then matching result is reversed "
-"(use '\\!' to start with '!')\n"
-" note: two regex are created: one for prefix and one for "
+" list: list all filters\n"
+" enable: enable filters (filters are enabled by default)\n"
+"disable: disable filters\n"
+" toggle: toggle filters\n"
+" name: filter name\n"
+" add: add a filter\n"
+" del: delete a filter\n"
+" -all: delete all filters\n"
+" buffer: comma separated list of buffers where filter is active:\n"
+" - this is full name including plugin (example: \"irc.freenode."
+"#weechat\")\n"
+" - \"*\" means all buffers\n"
+" - a name starting with '!' is excluded\n"
+" - name can start or end with '*' to match many buffers\n"
+" tags: comma separated list of tags, for example: \"irc_join,irc_part,"
+"irc_quit\"\n"
+" regex: regular expression to search in line\n"
+" - use '\\t' to separate prefix from message, special chars like '|' "
+"must be escaped: '\\|'\n"
+" - if regex starts with '!', then matching result is reversed (use "
+"'\\!' to start with '!')\n"
+" - two regular expressions are created: one for prefix and one for "
"message\n"
"\n"
"The default key alt+'=' toggles filtering on/off.\n"
@@ -1150,8 +1155,11 @@ msgid ""
"irc_smart_filter, away_info.\n"
"\n"
"Examples:\n"
-" use IRC smart filter for join/part/quit messages:\n"
+" use IRC smart filter on all buffers:\n"
" /filter add irc_smart * irc_smart_filter *\n"
+" use IRC smart filter on all buffers except those with \"#weechat\" in "
+"name:\n"
+" /filter add irc_smart *,!*#weechat* irc_smart_filter *\n"
" filter all IRC join/part/quit messages:\n"
" /filter add joinquit * irc_join,irc_part,irc_quit *\n"
" filter nicks displayed when joining channels or with /names:\n"
@@ -1582,8 +1590,7 @@ msgstr "[opcja [wartość]]"
#, fuzzy
msgid ""
-"option: name of an option (can start or end with \"*\" to list many "
-"options)\n"
+"option: name of an option (can start or end with '*' to list many options)\n"
" value: new value for option\n"
"\n"
"New value can be, according to variable type:\n"
diff --git a/po/pt_BR.po b/po/pt_BR.po
index 5d46d0ea0..cec0f224b 100644
--- a/po/pt_BR.po
+++ b/po/pt_BR.po
@@ -20,7 +20,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat 0.3.5-dev\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
-"POT-Creation-Date: 2011-03-07 12:20+0100\n"
+"POT-Creation-Date: 2011-03-09 10:06+0100\n"
"PO-Revision-Date: 2011-02-07 17:30+0100\n"
"Last-Translator: Ivan Sichmann Freitas <ivansichfreitas@gmail.com>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -240,7 +240,7 @@ msgid "Debug disabled for \"%s\""
msgstr "Debug desabilitado para \"%s\""
#, fuzzy, c-format
-msgid " %s[%s%s%s]%s buffer: %s%s%s%s%s / tags: %s / regex: %s %s"
+msgid " %s[%s%s%s]%s buffer: %s%s%s / tags: %s / regex: %s %s"
msgstr " %s[%s%s%s]%s buffer: %s%s%s%s%s / tags: %s / regex: %s %s"
msgid "(disabled)"
@@ -1096,31 +1096,36 @@ msgstr ""
#, fuzzy
msgid ""
-"list || enable|disable|toggle [<name>] || add <name> <plugin.buffer> <tags> "
-"<regex> || del <name>|-all"
+"list || enable|disable|toggle [<name>] || add <name> <buffer>[,<buffer>...] "
+"<tags> <regex> || del <name>|-all"
msgstr ""
"[list] | [enable|disable|toggle [name]] | [add name plugin.buffer marcadores "
"regex] | [del name|-all]"
+#, fuzzy
msgid ""
-" list: list all filters\n"
-" enable: enable filters (filters are enabled by default)\n"
-" disable: disable filters\n"
-" toggle: toggle filters\n"
-" name: filter name\n"
-" add: add a filter\n"
-" del: delete a filter\n"
-" -all: delete all filters\n"
-"plugin.buffer: plugin and buffer where filter is active (\"*\" for all "
-"buffers)\n"
-" tags: comma separated list of tags, for example: \"irc_join,"
-"irc_part,irc_quit\"\n"
-" regex: regular expression to search in line\n"
-" - use '\\t' to separate prefix from message, special chars "
-"like '|' must be escaped: '\\|'\n"
-" - if regex starts with '!', then matching result is reversed "
-"(use '\\!' to start with '!')\n"
-" note: two regex are created: one for prefix and one for "
+" list: list all filters\n"
+" enable: enable filters (filters are enabled by default)\n"
+"disable: disable filters\n"
+" toggle: toggle filters\n"
+" name: filter name\n"
+" add: add a filter\n"
+" del: delete a filter\n"
+" -all: delete all filters\n"
+" buffer: comma separated list of buffers where filter is active:\n"
+" - this is full name including plugin (example: \"irc.freenode."
+"#weechat\")\n"
+" - \"*\" means all buffers\n"
+" - a name starting with '!' is excluded\n"
+" - name can start or end with '*' to match many buffers\n"
+" tags: comma separated list of tags, for example: \"irc_join,irc_part,"
+"irc_quit\"\n"
+" regex: regular expression to search in line\n"
+" - use '\\t' to separate prefix from message, special chars like '|' "
+"must be escaped: '\\|'\n"
+" - if regex starts with '!', then matching result is reversed (use "
+"'\\!' to start with '!')\n"
+" - two regular expressions are created: one for prefix and one for "
"message\n"
"\n"
"The default key alt+'=' toggles filtering on/off.\n"
@@ -1134,8 +1139,11 @@ msgid ""
"irc_smart_filter, away_info.\n"
"\n"
"Examples:\n"
-" use IRC smart filter for join/part/quit messages:\n"
+" use IRC smart filter on all buffers:\n"
" /filter add irc_smart * irc_smart_filter *\n"
+" use IRC smart filter on all buffers except those with \"#weechat\" in "
+"name:\n"
+" /filter add irc_smart *,!*#weechat* irc_smart_filter *\n"
" filter all IRC join/part/quit messages:\n"
" /filter add joinquit * irc_join,irc_part,irc_quit *\n"
" filter nicks displayed when joining channels or with /names:\n"
@@ -1565,8 +1573,7 @@ msgstr "[opção [valor]]"
#, fuzzy
msgid ""
-"option: name of an option (can start or end with \"*\" to list many "
-"options)\n"
+"option: name of an option (can start or end with '*' to list many options)\n"
" value: new value for option\n"
"\n"
"New value can be, according to variable type:\n"
diff --git a/po/ru.po b/po/ru.po
index 9333582e6..b57f9f33e 100644
--- a/po/ru.po
+++ b/po/ru.po
@@ -20,7 +20,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat 0.3.5-dev\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
-"POT-Creation-Date: 2011-03-07 12:20+0100\n"
+"POT-Creation-Date: 2011-03-09 10:06+0100\n"
"PO-Revision-Date: 2011-02-07 17:30+0100\n"
"Last-Translator: Pavel Shevchuk <stlwrt@gmail.com>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -245,7 +245,7 @@ msgid "Debug disabled for \"%s\""
msgstr ""
#, fuzzy, c-format
-msgid " %s[%s%s%s]%s buffer: %s%s%s%s%s / tags: %s / regex: %s %s"
+msgid " %s[%s%s%s]%s buffer: %s%s%s / tags: %s / regex: %s %s"
msgstr " (нет обработчика сообщений)\n"
#, fuzzy
@@ -1057,29 +1057,33 @@ msgid ""
msgstr ""
msgid ""
-"list || enable|disable|toggle [<name>] || add <name> <plugin.buffer> <tags> "
-"<regex> || del <name>|-all"
-msgstr ""
-
-msgid ""
-" list: list all filters\n"
-" enable: enable filters (filters are enabled by default)\n"
-" disable: disable filters\n"
-" toggle: toggle filters\n"
-" name: filter name\n"
-" add: add a filter\n"
-" del: delete a filter\n"
-" -all: delete all filters\n"
-"plugin.buffer: plugin and buffer where filter is active (\"*\" for all "
-"buffers)\n"
-" tags: comma separated list of tags, for example: \"irc_join,"
-"irc_part,irc_quit\"\n"
-" regex: regular expression to search in line\n"
-" - use '\\t' to separate prefix from message, special chars "
-"like '|' must be escaped: '\\|'\n"
-" - if regex starts with '!', then matching result is reversed "
-"(use '\\!' to start with '!')\n"
-" note: two regex are created: one for prefix and one for "
+"list || enable|disable|toggle [<name>] || add <name> <buffer>[,<buffer>...] "
+"<tags> <regex> || del <name>|-all"
+msgstr ""
+
+msgid ""
+" list: list all filters\n"
+" enable: enable filters (filters are enabled by default)\n"
+"disable: disable filters\n"
+" toggle: toggle filters\n"
+" name: filter name\n"
+" add: add a filter\n"
+" del: delete a filter\n"
+" -all: delete all filters\n"
+" buffer: comma separated list of buffers where filter is active:\n"
+" - this is full name including plugin (example: \"irc.freenode."
+"#weechat\")\n"
+" - \"*\" means all buffers\n"
+" - a name starting with '!' is excluded\n"
+" - name can start or end with '*' to match many buffers\n"
+" tags: comma separated list of tags, for example: \"irc_join,irc_part,"
+"irc_quit\"\n"
+" regex: regular expression to search in line\n"
+" - use '\\t' to separate prefix from message, special chars like '|' "
+"must be escaped: '\\|'\n"
+" - if regex starts with '!', then matching result is reversed (use "
+"'\\!' to start with '!')\n"
+" - two regular expressions are created: one for prefix and one for "
"message\n"
"\n"
"The default key alt+'=' toggles filtering on/off.\n"
@@ -1093,8 +1097,11 @@ msgid ""
"irc_smart_filter, away_info.\n"
"\n"
"Examples:\n"
-" use IRC smart filter for join/part/quit messages:\n"
+" use IRC smart filter on all buffers:\n"
" /filter add irc_smart * irc_smart_filter *\n"
+" use IRC smart filter on all buffers except those with \"#weechat\" in "
+"name:\n"
+" /filter add irc_smart *,!*#weechat* irc_smart_filter *\n"
" filter all IRC join/part/quit messages:\n"
" /filter add joinquit * irc_join,irc_part,irc_quit *\n"
" filter nicks displayed when joining channels or with /names:\n"
@@ -1397,8 +1404,7 @@ msgid "[<option> [<value>]]"
msgstr "[параметр [ = значение]]"
msgid ""
-"option: name of an option (can start or end with \"*\" to list many "
-"options)\n"
+"option: name of an option (can start or end with '*' to list many options)\n"
" value: new value for option\n"
"\n"
"New value can be, according to variable type:\n"
diff --git a/po/weechat.pot b/po/weechat.pot
index 3b13f9995..492cce17a 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: 2011-03-07 12:20+0100\n"
+"POT-Creation-Date: 2011-03-09 10:06+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -204,7 +204,7 @@ msgid "Debug disabled for \"%s\""
msgstr ""
#, c-format
-msgid " %s[%s%s%s]%s buffer: %s%s%s%s%s / tags: %s / regex: %s %s"
+msgid " %s[%s%s%s]%s buffer: %s%s%s / tags: %s / regex: %s %s"
msgstr ""
msgid "(disabled)"
@@ -907,29 +907,33 @@ msgid ""
msgstr ""
msgid ""
-"list || enable|disable|toggle [<name>] || add <name> <plugin.buffer> <tags> "
-"<regex> || del <name>|-all"
-msgstr ""
-
-msgid ""
-" list: list all filters\n"
-" enable: enable filters (filters are enabled by default)\n"
-" disable: disable filters\n"
-" toggle: toggle filters\n"
-" name: filter name\n"
-" add: add a filter\n"
-" del: delete a filter\n"
-" -all: delete all filters\n"
-"plugin.buffer: plugin and buffer where filter is active (\"*\" for all "
-"buffers)\n"
-" tags: comma separated list of tags, for example: \"irc_join,"
-"irc_part,irc_quit\"\n"
-" regex: regular expression to search in line\n"
-" - use '\\t' to separate prefix from message, special chars "
-"like '|' must be escaped: '\\|'\n"
-" - if regex starts with '!', then matching result is reversed "
-"(use '\\!' to start with '!')\n"
-" note: two regex are created: one for prefix and one for "
+"list || enable|disable|toggle [<name>] || add <name> <buffer>[,<buffer>...] "
+"<tags> <regex> || del <name>|-all"
+msgstr ""
+
+msgid ""
+" list: list all filters\n"
+" enable: enable filters (filters are enabled by default)\n"
+"disable: disable filters\n"
+" toggle: toggle filters\n"
+" name: filter name\n"
+" add: add a filter\n"
+" del: delete a filter\n"
+" -all: delete all filters\n"
+" buffer: comma separated list of buffers where filter is active:\n"
+" - this is full name including plugin (example: \"irc.freenode."
+"#weechat\")\n"
+" - \"*\" means all buffers\n"
+" - a name starting with '!' is excluded\n"
+" - name can start or end with '*' to match many buffers\n"
+" tags: comma separated list of tags, for example: \"irc_join,irc_part,"
+"irc_quit\"\n"
+" regex: regular expression to search in line\n"
+" - use '\\t' to separate prefix from message, special chars like '|' "
+"must be escaped: '\\|'\n"
+" - if regex starts with '!', then matching result is reversed (use "
+"'\\!' to start with '!')\n"
+" - two regular expressions are created: one for prefix and one for "
"message\n"
"\n"
"The default key alt+'=' toggles filtering on/off.\n"
@@ -943,8 +947,11 @@ msgid ""
"irc_smart_filter, away_info.\n"
"\n"
"Examples:\n"
-" use IRC smart filter for join/part/quit messages:\n"
+" use IRC smart filter on all buffers:\n"
" /filter add irc_smart * irc_smart_filter *\n"
+" use IRC smart filter on all buffers except those with \"#weechat\" in "
+"name:\n"
+" /filter add irc_smart *,!*#weechat* irc_smart_filter *\n"
" filter all IRC join/part/quit messages:\n"
" /filter add joinquit * irc_join,irc_part,irc_quit *\n"
" filter nicks displayed when joining channels or with /names:\n"
@@ -1210,8 +1217,7 @@ msgid "[<option> [<value>]]"
msgstr ""
msgid ""
-"option: name of an option (can start or end with \"*\" to list many "
-"options)\n"
+"option: name of an option (can start or end with '*' to list many options)\n"
" value: new value for option\n"
"\n"
"New value can be, according to variable type:\n"
diff --git a/src/core/wee-command.c b/src/core/wee-command.c
index 16aae65ea..a8121a3b3 100644
--- a/src/core/wee-command.c
+++ b/src/core/wee-command.c
@@ -1183,7 +1183,7 @@ void
command_filter_display (struct t_gui_filter *filter)
{
gui_chat_printf_date_tags (NULL, 0, GUI_FILTER_TAG_NO_FILTER,
- _(" %s[%s%s%s]%s buffer: %s%s%s%s%s "
+ _(" %s[%s%s%s]%s buffer: %s%s%s "
"/ tags: %s / regex: %s %s"),
GUI_COLOR(GUI_COLOR_CHAT_DELIMITERS),
GUI_COLOR(GUI_COLOR_CHAT),
@@ -1191,8 +1191,6 @@ command_filter_display (struct t_gui_filter *filter)
GUI_COLOR(GUI_COLOR_CHAT_DELIMITERS),
GUI_COLOR(GUI_COLOR_CHAT),
GUI_COLOR(GUI_COLOR_CHAT_BUFFER),
- (filter->plugin_name) ? filter->plugin_name : "",
- (filter->plugin_name) ? "." : "",
filter->buffer_name,
GUI_COLOR(GUI_COLOR_CHAT),
filter->tags,
@@ -4773,28 +4771,34 @@ command_init ()
"to tags or regex"),
N_("list"
" || enable|disable|toggle [<name>]"
- " || add <name> <plugin.buffer> <tags> <regex>"
+ " || add <name> <buffer>[,<buffer>...] <tags> <regex>"
" || del <name>|-all"),
- N_(" list: list all filters\n"
- " enable: enable filters (filters are enabled by "
+ N_(" list: list all filters\n"
+ " enable: enable filters (filters are enabled by "
"default)\n"
- " disable: disable filters\n"
- " toggle: toggle filters\n"
- " name: filter name\n"
- " add: add a filter\n"
- " del: delete a filter\n"
- " -all: delete all filters\n"
- "plugin.buffer: plugin and buffer where filter is active "
- "(\"*\" for all buffers)\n"
- " tags: comma separated list of tags, for "
+ "disable: disable filters\n"
+ " toggle: toggle filters\n"
+ " name: filter name\n"
+ " add: add a filter\n"
+ " del: delete a filter\n"
+ " -all: delete all filters\n"
+ " buffer: comma separated list of buffers where filter "
+ "is active:\n"
+ " - this is full name including plugin (example: "
+ "\"irc.freenode.#weechat\")\n"
+ " - \"*\" means all buffers\n"
+ " - a name starting with '!' is excluded\n"
+ " - name can start or end with '*' to "
+ "match many buffers\n"
+ " tags: comma separated list of tags, for "
"example: \"irc_join,irc_part,irc_quit\"\n"
- " regex: regular expression to search in line\n"
- " - use '\\t' to separate prefix from message, special "
+ " regex: regular expression to search in line\n"
+ " - use '\\t' to separate prefix from message, special "
"chars like '|' must be escaped: '\\|'\n"
- " - if regex starts with '!', then matching "
+ " - if regex starts with '!', then matching "
"result is reversed (use '\\!' to start with '!')\n"
- " note: two regex are created: one for prefix "
- "and one for message\n\n"
+ " - two regular expressions are created: one for "
+ "prefix and one for message\n\n"
"The default key alt+'=' toggles filtering on/off.\n\n"
"Tags most commonly used:\n"
" no_filter, no_highlight, no_log, log0..log9 (log level),\n"
@@ -4804,8 +4808,11 @@ command_init ()
" irc_numeric, irc_error, irc_action, irc_ctcp, "
"irc_ctcp_reply, irc_smart_filter, away_info.\n\n"
"Examples:\n"
- " use IRC smart filter for join/part/quit messages:\n"
+ " use IRC smart filter on all buffers:\n"
" /filter add irc_smart * irc_smart_filter *\n"
+ " use IRC smart filter on all buffers except those with "
+ "\"#weechat\" in name:\n"
+ " /filter add irc_smart *,!*#weechat* irc_smart_filter *\n"
" filter all IRC join/part/quit messages:\n"
" /filter add joinquit * irc_join,irc_part,irc_quit *\n"
" filter nicks displayed when joining channels or with /names:\n"
@@ -5082,7 +5089,7 @@ command_init ()
hook_command (NULL, "set",
N_("set config options"),
N_("[<option> [<value>]]"),
- N_("option: name of an option (can start or end with \"*\" "
+ N_("option: name of an option (can start or end with '*' "
"to list many options)\n"
" value: new value for option\n\n"
"New value can be, according to variable type:\n"
diff --git a/src/core/wee-config.c b/src/core/wee-config.c
index 3cc9f3731..46a42d20f 100644
--- a/src/core/wee-config.c
+++ b/src/core/wee-config.c
@@ -1305,10 +1305,8 @@ config_weechat_filter_write_cb (void *data, struct t_config_file *config_file,
{
if (!config_file_write_line (config_file,
ptr_filter->name,
- "%s;%s%s%s;%s;%s",
+ "%s;%s;%s;%s",
(ptr_filter->enabled) ? "on" : "off",
- (ptr_filter->plugin_name) ? ptr_filter->plugin_name : "",
- (ptr_filter->plugin_name) ? "." : "",
ptr_filter->buffer_name,
ptr_filter->tags,
ptr_filter->regex))
diff --git a/src/gui/gui-filter.c b/src/gui/gui-filter.c
index 9510afe45..6fee8c640 100644
--- a/src/gui/gui-filter.c
+++ b/src/gui/gui-filter.c
@@ -68,15 +68,42 @@ gui_filter_line_has_tag_no_filter (struct t_gui_line *line)
}
/*
+ * gui_filter_match_buffer: return 1 if filters matches full name of buffer
+ */
+
+int
+gui_filter_match_buffer (struct t_gui_filter *filter, const char *full_name)
+{
+ int i, match;
+ char *ptr_name;
+
+ match = 0;
+ for (i = 0; i < filter->num_buffers; i++)
+ {
+ ptr_name = filter->buffers[i];
+ if (ptr_name[0] == '!')
+ ptr_name++;
+ if (string_match (full_name, ptr_name, 0))
+ {
+ if (filter->buffers[i][0] == '!')
+ return 0;
+ else
+ match = 1;
+ }
+ }
+
+ return match;
+}
+
+/*
* gui_filter_check_line: return 1 if a line should be displayed, or
* 0 if line is hidden (tag or regex found)
*/
int
-gui_filter_check_line (struct t_gui_buffer *buffer, struct t_gui_line *line)
+gui_filter_check_line (struct t_gui_line *line, const char *buffer_full_name)
{
struct t_gui_filter *ptr_filter;
- const char *buffer_plugin_name;
int rc;
/* line is always displayed if filters are disabled */
@@ -85,19 +112,14 @@ gui_filter_check_line (struct t_gui_buffer *buffer, struct t_gui_line *line)
if (gui_filter_line_has_tag_no_filter (line))
return 1;
-
- buffer_plugin_name = (!buffer->plugin && buffer->plugin_name_for_upgrade) ?
- buffer->plugin_name_for_upgrade : plugin_get_name (buffer->plugin);
for (ptr_filter = gui_filters; ptr_filter;
ptr_filter = ptr_filter->next_filter)
{
if (ptr_filter->enabled)
{
- /* check plugin and buffer names */
- if ((!ptr_filter->plugin_name
- || (string_strcasecmp (buffer_plugin_name, ptr_filter->plugin_name) == 0))
- && string_match (buffer->name, ptr_filter->buffer_name, 0))
+ /* check buffer */
+ if (gui_filter_match_buffer (ptr_filter, buffer_full_name))
{
if ((strcmp (ptr_filter->tags, "*") == 0)
|| (gui_line_match_tags (line,
@@ -136,15 +158,21 @@ gui_filter_buffer (struct t_gui_buffer *buffer)
{
struct t_gui_line *ptr_line;
int line_displayed, lines_hidden;
+ char buffer_full_name[512];
lines_hidden = 0;
buffer->lines->prefix_max_length = CONFIG_INTEGER(config_look_prefix_align_min);
+ snprintf (buffer_full_name, sizeof (buffer_full_name), "%s.%s",
+ (!buffer->plugin && buffer->plugin_name_for_upgrade) ?
+ buffer->plugin_name_for_upgrade : plugin_get_name (buffer->plugin),
+ buffer->name);
+
for (ptr_line = buffer->lines->first_line; ptr_line;
ptr_line = ptr_line->next_line)
{
- line_displayed = gui_filter_check_line (buffer, ptr_line);
+ line_displayed = gui_filter_check_line (ptr_line, buffer_full_name);
if (line_displayed
&& (ptr_line->data->prefix_length > buffer->lines->prefix_max_length))
@@ -247,28 +275,6 @@ gui_filter_disable (struct t_gui_filter *filter)
}
/*
- * gui_filter_search: search a filter
- */
-
-struct t_gui_filter *
-gui_filter_search (const char *buffer_name, const char *tags, const char *regex)
-{
- struct t_gui_filter *ptr_filter;
-
- for (ptr_filter = gui_filters; ptr_filter;
- ptr_filter = ptr_filter->next_filter)
- {
- if ((strcmp (ptr_filter->buffer_name, buffer_name) == 0)
- && (strcmp (ptr_filter->tags, tags) == 0)
- && (strcmp (ptr_filter->regex, regex) == 0))
- return ptr_filter;
- }
-
- /* filter not found */
- return NULL;
-}
-
-/*
* gui_filter_search_by_name: search a filter by name
*/
@@ -298,7 +304,7 @@ gui_filter_new (int enabled, const char *name, const char *buffer_name,
{
struct t_gui_filter *new_filter;
regex_t *regex1, *regex2;
- char *pos_tab, *pos_point, *regex_prefix;
+ char *pos_tab, *regex_prefix;
const char *ptr_start_regex, *pos_regex_message;
if (!name || !buffer_name || !tags || !regex)
@@ -372,22 +378,10 @@ gui_filter_new (int enabled, const char *name, const char *buffer_name,
/* init filter */
new_filter->enabled = enabled;
new_filter->name = strdup (name);
- new_filter->plugin_name = NULL;
- if (buffer_name)
- {
- pos_point = strchr (buffer_name, '.');
- if (pos_point)
- {
- new_filter->plugin_name = string_strndup (buffer_name, pos_point - buffer_name);
- new_filter->buffer_name = strdup (pos_point + 1);
- }
- else
- new_filter->buffer_name = strdup (buffer_name);
- }
- else
- {
- new_filter->buffer_name = strdup ("*");
- }
+ new_filter->buffer_name = strdup ((buffer_name) ? buffer_name : "*");
+ new_filter->buffers = string_split (new_filter->buffer_name,
+ ",", 0, 0,
+ &new_filter->num_buffers);
if (tags)
{
new_filter->tags = (tags) ? strdup (tags) : NULL;
@@ -454,10 +448,10 @@ gui_filter_free (struct t_gui_filter *filter)
/* free data */
if (filter->name)
free (filter->name);
- if (filter->plugin_name)
- free (filter->plugin_name);
if (filter->buffer_name)
free (filter->buffer_name);
+ if (filter->buffers)
+ string_free_split (filter->buffers);
if (filter->tags)
free (filter->tags);
if (filter->tags_array)
@@ -529,8 +523,6 @@ gui_filter_add_to_infolist (struct t_infolist *infolist,
return 0;
if (!infolist_new_var_string (ptr_item, "name", filter->name))
return 0;
- if (!infolist_new_var_string (ptr_item, "plugin_name", filter->plugin_name))
- return 0;
if (!infolist_new_var_string (ptr_item, "buffer_name", filter->buffer_name))
return 0;
if (!infolist_new_var_string (ptr_item, "tags", filter->tags))
@@ -558,6 +550,7 @@ void
gui_filter_print_log ()
{
struct t_gui_filter *ptr_filter;
+ int i;
log_printf ("");
log_printf ("gui_filters_enabled = %d", gui_filters_enabled);
@@ -569,8 +562,12 @@ gui_filter_print_log ()
log_printf ("[filter (addr:0x%lx)]", ptr_filter);
log_printf (" enabled. . . . . . . . : %d", ptr_filter->enabled);
log_printf (" name . . . . . . . . . : '%s'", ptr_filter->name);
- log_printf (" plugin_name. . . . . . : '%s'", ptr_filter->plugin_name);
log_printf (" buffer_name. . . . . . : '%s'", ptr_filter->buffer_name);
+ log_printf (" num_buffers. . . . . . : %d", ptr_filter->num_buffers);
+ for (i = 0; i < ptr_filter->num_buffers; i++)
+ {
+ log_printf (" buffers[%03d] . . . . . : '%s'", i, ptr_filter->buffers[i]);
+ }
log_printf (" tags . . . . . . . . . : '%s'", ptr_filter->tags);
log_printf (" regex. . . . . . . . . : '%s'", ptr_filter->regex);
log_printf (" regex_prefix . . . . . : 0x%lx", ptr_filter->regex_prefix);
diff --git a/src/gui/gui-filter.h b/src/gui/gui-filter.h
index fed7c288a..668b8a506 100644
--- a/src/gui/gui-filter.h
+++ b/src/gui/gui-filter.h
@@ -32,8 +32,9 @@ struct t_gui_filter
{
int enabled; /* 1 if filter enabled, otherwise 0 */
char *name; /* filter name */
- char *plugin_name; /* plugin name */
- char *buffer_name; /* name of buffer */
+ char *buffer_name; /* name of buffer(s) */
+ int num_buffers; /* number of buffers in list */
+ char **buffers; /* list of buffer names */
char *tags; /* tags */
int tags_count; /* number of tags */
char **tags_array; /* array of tags */
@@ -52,15 +53,12 @@ extern int gui_filters_enabled;
/* filter functions */
-extern int gui_filter_check_line (struct t_gui_buffer *buffer,
- struct t_gui_line *line);
+extern int gui_filter_check_line (struct t_gui_line *line,
+ const char *buffer_full_name);
extern void gui_filter_global_enable ();
extern void gui_filter_global_disable ();
extern void gui_filter_enable (struct t_gui_filter *filter);
extern void gui_filter_disable (struct t_gui_filter *filter);
-extern struct t_gui_filter *gui_filter_search (const char *buffer_name,
- const char *tags,
- const char *regex);
extern struct t_gui_filter *gui_filter_search_by_name (const char *name);
extern struct t_gui_filter *gui_filter_new (int enabled,
const char *name,
diff --git a/src/gui/gui-line.c b/src/gui/gui-line.c
index cbdd7ef0a..747f39e92 100644
--- a/src/gui/gui-line.c
+++ b/src/gui/gui-line.c
@@ -754,7 +754,7 @@ gui_line_add (struct t_gui_buffer *buffer, time_t date,
struct t_gui_line *new_line;
struct t_gui_line_data *new_line_data;
struct t_gui_window *ptr_win;
- char *message_for_signal;
+ char *message_for_signal, buffer_full_name[512];
const char *nick;
int notify_level, *max_notify_level;
@@ -819,7 +819,12 @@ gui_line_add (struct t_gui_buffer *buffer, time_t date,
gui_line_add_to_list (buffer->own_lines, new_line);
/* check if line is filtered or not */
- new_line->data->displayed = gui_filter_check_line (buffer, new_line);
+ snprintf (buffer_full_name, sizeof (buffer_full_name), "%s.%s",
+ (!buffer->plugin && buffer->plugin_name_for_upgrade) ?
+ buffer->plugin_name_for_upgrade : plugin_get_name (buffer->plugin),
+ buffer->name);
+ new_line->data->displayed = gui_filter_check_line (new_line,
+ buffer_full_name);
if (new_line->data->displayed)
{
if (new_line->data->highlight)
@@ -900,6 +905,7 @@ gui_line_add_y (struct t_gui_buffer *buffer, int y, const char *message)
{
struct t_gui_line *ptr_line, *new_line;
struct t_gui_line_data *new_line_data;
+ char buffer_full_name[512];
/* search if line exists for "y" */
for (ptr_line = buffer->own_lines->first_line; ptr_line;
@@ -975,7 +981,12 @@ gui_line_add_y (struct t_gui_buffer *buffer, int y, const char *message)
ptr_line->data->message = (message) ? strdup (message) : strdup ("");
/* check if line is filtered or not */
- ptr_line->data->displayed = gui_filter_check_line (buffer, ptr_line);
+ snprintf (buffer_full_name, sizeof (buffer_full_name), "%s.%s",
+ (!buffer->plugin && buffer->plugin_name_for_upgrade) ?
+ buffer->plugin_name_for_upgrade : plugin_get_name (buffer->plugin),
+ buffer->name);
+ ptr_line->data->displayed = gui_filter_check_line (ptr_line,
+ buffer_full_name);
if (!ptr_line->data->displayed)
{
if (!buffer->own_lines->lines_hidden)