Browse Source

core: add options to customize commands on system signals, quit by default on SIGHUP when not running headless (closes #1595)

New options to customize behavior on signals received, with the default
behavior:

- weechat.signal.sighup: quit in normal mode, reload config in headless
- weechat.signal.sigquit: quit
- weechat.signal.sigterm: quit
- weechat.signal.sigusr1: no command executed by default
- weechat.signal.sigusr2: no command executed by default

The signals SIGUSR1 and SIGUSR2 are introduced by this commit, so it's now
possible to run commands when they are received.

The SIGHUP signal makes now WeeChat quit, it was the behavior before version
2.9 of WeeChat (see commit de1e61f7cd).
master
Sébastien Helleu 2 years ago
parent
commit
0dc7fbcb0c
  1. 2
      ChangeLog.adoc
  2. 30
      doc/de/includes/autogen_user_options.de.adoc
  3. 2
      doc/de/weechat_user.de.adoc
  4. 30
      doc/en/includes/autogen_user_options.en.adoc
  5. 2
      doc/en/weechat_dev.en.adoc
  6. 1
      doc/en/weechat_user.en.adoc
  7. 30
      doc/fr/includes/autogen_user_options.fr.adoc
  8. 2
      doc/fr/weechat_dev.fr.adoc
  9. 1
      doc/fr/weechat_user.fr.adoc
  10. 30
      doc/it/includes/autogen_user_options.it.adoc
  11. 2
      doc/it/weechat_user.it.adoc
  12. 30
      doc/ja/includes/autogen_user_options.ja.adoc
  13. 4
      doc/ja/weechat_dev.ja.adoc
  14. 2
      doc/ja/weechat_user.ja.adoc
  15. 30
      doc/pl/includes/autogen_user_options.pl.adoc
  16. 2
      doc/pl/weechat_user.pl.adoc
  17. 2
      po/POTFILES.in
  18. 24
      po/cs.po
  19. 27
      po/de.po
  20. 24
      po/es.po
  21. 28
      po/fr.po
  22. 16
      po/hu.po
  23. 26
      po/it.po
  24. 26
      po/ja.po
  25. 26
      po/pl.po
  26. 26
      po/pt.po
  27. 26
      po/pt_BR.po
  28. 16
      po/ru.po
  29. 2
      po/srcfiles.cmake
  30. 15
      po/tr.po
  31. 15
      po/weechat.pot
  32. 1
      src/core/CMakeLists.txt
  33. 2
      src/core/Makefile.am
  34. 1
      src/core/hook/wee-hook-fd.c
  35. 22
      src/core/wee-command.c
  36. 1
      src/core/wee-command.h
  37. 65
      src/core/wee-config.c
  38. 6
      src/core/wee-config.h
  39. 2
      src/core/wee-debug.c
  40. 2
      src/core/wee-debug.h
  41. 4
      src/core/wee-hook.c
  42. 314
      src/core/wee-signal.c
  43. 37
      src/core/wee-signal.h
  44. 72
      src/core/wee-util.c
  45. 13
      src/core/wee-util.h
  46. 42
      src/core/weechat.c
  47. 2
      src/core/weechat.h
  48. 114
      src/gui/curses/gui-curses-main.c
  49. 1
      tests/CMakeLists.txt
  50. 1
      tests/Makefile.am
  51. 1
      tests/tests.cpp
  52. 161
      tests/unit/core/test-core-signal.cpp
  53. 66
      tests/unit/core/test-core-util.cpp

2
ChangeLog.adoc

@ -20,6 +20,8 @@ https://weechat.org/files/releasenotes/ReleaseNotes-devel.html[release notes] @@ -20,6 +20,8 @@ https://weechat.org/files/releasenotes/ReleaseNotes-devel.html[release notes]
New features::
* core: add options to customize commands executed on system signals received (SIGHUP, SIGQUIT, SIGTERM, SIGUSR1, SIGUSR2) (issue #1595)
* core: quit WeeChat by default when signal SIGHUP is received in normal run, reload configuration in weechat-headless (issue #1595)
* api: add info "weechat_daemon"
Bug fixes::

30
doc/de/includes/autogen_user_options.de.adoc

@ -1308,6 +1308,36 @@ @@ -1308,6 +1308,36 @@
** Werte: on, off
** Standardwert: `+on+`
* [[option_weechat.signal.sighup]] *weechat.signal.sighup*
** Beschreibung: pass:none[command to execute when the signal is received, multiple commands can be separated by semicolons (note: content is evaluated, see /help eval)]
** Typ: Zeichenkette
** Werte: beliebige Zeichenkette
** Standardwert: `+"${if:${info:weechat_headless}?/reload:/quit -yes}"+`
* [[option_weechat.signal.sigquit]] *weechat.signal.sigquit*
** Beschreibung: pass:none[command to execute when the signal is received, multiple commands can be separated by semicolons (note: content is evaluated, see /help eval)]
** Typ: Zeichenkette
** Werte: beliebige Zeichenkette
** Standardwert: `+"/quit -yes"+`
* [[option_weechat.signal.sigterm]] *weechat.signal.sigterm*
** Beschreibung: pass:none[command to execute when the signal is received, multiple commands can be separated by semicolons (note: content is evaluated, see /help eval)]
** Typ: Zeichenkette
** Werte: beliebige Zeichenkette
** Standardwert: `+"/quit -yes"+`
* [[option_weechat.signal.sigusr1]] *weechat.signal.sigusr1*
** Beschreibung: pass:none[command to execute when the signal is received, multiple commands can be separated by semicolons (note: content is evaluated, see /help eval)]
** Typ: Zeichenkette
** Werte: beliebige Zeichenkette
** Standardwert: `+""+`
* [[option_weechat.signal.sigusr2]] *weechat.signal.sigusr2*
** Beschreibung: pass:none[command to execute when the signal is received, multiple commands can be separated by semicolons (note: content is evaluated, see /help eval)]
** Typ: Zeichenkette
** Werte: beliebige Zeichenkette
** Standardwert: `+""+`
* [[option_weechat.startup.command_after_plugins]] *weechat.startup.command_after_plugins*
** Beschreibung: pass:none[Nach dem Start von WeeChat wird dieser Befehl aufgerufen. Dies geschieht nachdem die Erweiterungen geladen worden sind (mehrere Befehle sind durch ";" zu trennen) (Hinweis: Inhalt wird evaluiert, siehe /help eval)]
** Typ: Zeichenkette

2
doc/de/weechat_user.de.adoc

@ -2453,6 +2453,8 @@ Sektion in Datei _weechat.conf_: @@ -2453,6 +2453,8 @@ Sektion in Datei _weechat.conf_:
| proxy | <<command_weechat_proxy,/proxy>> +
/set weechat.proxy.* | Proxy Optionen.
| network | /set weechat.network.* | Netzwerk/SSL Optionen.
// TRANSLATION MISSING
| signal | /set weechat.signal.* | Signal options.
| bar | <<command_weechat_bar,/bar>> +
/set weechat.bar.* | Optionen für die Bars.
| layout | <<command_weechat_layout,/layout>> | Layouts.

30
doc/en/includes/autogen_user_options.en.adoc

@ -1308,6 +1308,36 @@ @@ -1308,6 +1308,36 @@
** values: on, off
** default value: `+on+`
* [[option_weechat.signal.sighup]] *weechat.signal.sighup*
** description: pass:none[command to execute when the signal is received, multiple commands can be separated by semicolons (note: content is evaluated, see /help eval)]
** type: string
** values: any string
** default value: `+"${if:${info:weechat_headless}?/reload:/quit -yes}"+`
* [[option_weechat.signal.sigquit]] *weechat.signal.sigquit*
** description: pass:none[command to execute when the signal is received, multiple commands can be separated by semicolons (note: content is evaluated, see /help eval)]
** type: string
** values: any string
** default value: `+"/quit -yes"+`
* [[option_weechat.signal.sigterm]] *weechat.signal.sigterm*
** description: pass:none[command to execute when the signal is received, multiple commands can be separated by semicolons (note: content is evaluated, see /help eval)]
** type: string
** values: any string
** default value: `+"/quit -yes"+`
* [[option_weechat.signal.sigusr1]] *weechat.signal.sigusr1*
** description: pass:none[command to execute when the signal is received, multiple commands can be separated by semicolons (note: content is evaluated, see /help eval)]
** type: string
** values: any string
** default value: `+""+`
* [[option_weechat.signal.sigusr2]] *weechat.signal.sigusr2*
** description: pass:none[command to execute when the signal is received, multiple commands can be separated by semicolons (note: content is evaluated, see /help eval)]
** type: string
** values: any string
** default value: `+""+`
* [[option_weechat.startup.command_after_plugins]] *weechat.startup.command_after_plugins*
** description: pass:none[command executed when WeeChat starts, after loading plugins (note: content is evaluated, see /help eval)]
** type: string

2
doc/en/weechat_dev.en.adoc

@ -140,6 +140,7 @@ WeeChat "core" is located in following directories: @@ -140,6 +140,7 @@ WeeChat "core" is located in following directories:
|    wee-secure.c | Secured data functions.
|    wee-secure-buffer.c | Secured data buffer.
|    wee-secure-config.c | Secured data options (file sec.conf).
|    wee-signal.c | Signal functions.
|    wee-string.c | Functions on strings.
|    wee-upgrade-file.c | Internal upgrade system.
|    wee-upgrade.c | Upgrade for WeeChat core (buffers, lines, history, ...).
@ -401,6 +402,7 @@ WeeChat "core" is located in following directories: @@ -401,6 +402,7 @@ WeeChat "core" is located in following directories:
|          test-core-infolist.cpp | Tests: infolists.
|          test-core-list.cpp | Tests: lists.
|          test-core-secure.cpp | Tests: secured data.
|          test-core-signal.cpp | Tests: signals.
|          test-core-string.cpp | Tests: strings.
|          test-core-url.cpp | Tests: URLs.
|          test-core-utf8.cpp | Tests: UTF-8.

1
doc/en/weechat_user.en.adoc

@ -2410,6 +2410,7 @@ Sections in file _weechat.conf_: @@ -2410,6 +2410,7 @@ Sections in file _weechat.conf_:
| proxy | <<command_weechat_proxy,/proxy>> +
/set weechat.proxy.* | Proxy options.
| network | /set weechat.network.* | Network/SSL options.
| signal | /set weechat.signal.* | Signal options.
| bar | <<command_weechat_bar,/bar>> +
/set weechat.bar.* | Bar options.
| layout | <<command_weechat_layout,/layout>> | Layouts.

30
doc/fr/includes/autogen_user_options.fr.adoc

@ -1308,6 +1308,36 @@ @@ -1308,6 +1308,36 @@
** valeurs: on, off
** valeur par défaut: `+on+`
* [[option_weechat.signal.sighup]] *weechat.signal.sighup*
** description: pass:none[commande à exécuter lorsque le signal est reçu, plusieurs commandes peuvent être séparées par des point-virgules (note : le contenu est évalué, voir /help eval)]
** type: chaîne
** valeurs: toute chaîne
** valeur par défaut: `+"${if:${info:weechat_headless}?/reload:/quit -yes}"+`
* [[option_weechat.signal.sigquit]] *weechat.signal.sigquit*
** description: pass:none[commande à exécuter lorsque le signal est reçu, plusieurs commandes peuvent être séparées par des point-virgules (note : le contenu est évalué, voir /help eval)]
** type: chaîne
** valeurs: toute chaîne
** valeur par défaut: `+"/quit -yes"+`
* [[option_weechat.signal.sigterm]] *weechat.signal.sigterm*
** description: pass:none[commande à exécuter lorsque le signal est reçu, plusieurs commandes peuvent être séparées par des point-virgules (note : le contenu est évalué, voir /help eval)]
** type: chaîne
** valeurs: toute chaîne
** valeur par défaut: `+"/quit -yes"+`
* [[option_weechat.signal.sigusr1]] *weechat.signal.sigusr1*
** description: pass:none[commande à exécuter lorsque le signal est reçu, plusieurs commandes peuvent être séparées par des point-virgules (note : le contenu est évalué, voir /help eval)]
** type: chaîne
** valeurs: toute chaîne
** valeur par défaut: `+""+`
* [[option_weechat.signal.sigusr2]] *weechat.signal.sigusr2*
** description: pass:none[commande à exécuter lorsque le signal est reçu, plusieurs commandes peuvent être séparées par des point-virgules (note : le contenu est évalué, voir /help eval)]
** type: chaîne
** valeurs: toute chaîne
** valeur par défaut: `+""+`
* [[option_weechat.startup.command_after_plugins]] *weechat.startup.command_after_plugins*
** description: pass:none[commande exécutée quand WeeChat démarre, après le chargement des extensions (note : le contenu est évalué, voir /help eval)]
** type: chaîne

2
doc/fr/weechat_dev.fr.adoc

@ -142,6 +142,7 @@ Le cœur de WeeChat est situé dans les répertoires suivants : @@ -142,6 +142,7 @@ Le cœur de WeeChat est situé dans les répertoires suivants :
|    wee-secure.c | Fonctions pour les données sécurisées.
|    wee-secure-buffer.c | Tampon pour les données sécurisées.
|    wee-secure-config.c | Options des données sécurisées (fichier sec.conf).
|    wee-signal.c | Fonctions sur les signaux.
|    wee-string.c | Fonctions sur les chaînes de caractères.
|    wee-upgrade-file.c | Système de mise à jour interne.
|    wee-upgrade.c | Mise à jour du cœur de WeeChat (tampons, lignes, historique, ...).
@ -403,6 +404,7 @@ Le cœur de WeeChat est situé dans les répertoires suivants : @@ -403,6 +404,7 @@ Le cœur de WeeChat est situé dans les répertoires suivants :
|          test-core-infolist.cpp | Tests : infolists.
|          test-core-list.cpp | Tests : listes.
|          test-core-secure.cpp | Tests : données sécurisées.
|          test-core-signal.cpp | Tests : signaux.
|          test-core-string.cpp | Tests : chaînes.
|          test-core-url.cpp | Tests : URLs.
|          test-core-utf8.cpp | Tests : UTF-8.

1
doc/fr/weechat_user.fr.adoc

@ -2493,6 +2493,7 @@ Sections dans le fichier _weechat.conf_ : @@ -2493,6 +2493,7 @@ Sections dans le fichier _weechat.conf_ :
| proxy | <<command_weechat_proxy,/proxy>> +
/set weechat.proxy.* | Options des proxies.
| network | /set weechat.network.* | Options réseau/SSL.
| signal | /set weechat.signal.* | Options sur les signaux.
| bar | <<command_weechat_bar,/bar>> +
/set weechat.bar.* | Options des barres.
| layout | <<command_weechat_layout,/layout>> | Dispositions.

30
doc/it/includes/autogen_user_options.it.adoc

@ -1308,6 +1308,36 @@ @@ -1308,6 +1308,36 @@
** valori: on, off
** valore predefinito: `+on+`
* [[option_weechat.signal.sighup]] *weechat.signal.sighup*
** descrizione: pass:none[command to execute when the signal is received, multiple commands can be separated by semicolons (note: content is evaluated, see /help eval)]
** tipo: stringa
** valori: qualsiasi stringa
** valore predefinito: `+"${if:${info:weechat_headless}?/reload:/quit -yes}"+`
* [[option_weechat.signal.sigquit]] *weechat.signal.sigquit*
** descrizione: pass:none[command to execute when the signal is received, multiple commands can be separated by semicolons (note: content is evaluated, see /help eval)]
** tipo: stringa
** valori: qualsiasi stringa
** valore predefinito: `+"/quit -yes"+`
* [[option_weechat.signal.sigterm]] *weechat.signal.sigterm*
** descrizione: pass:none[command to execute when the signal is received, multiple commands can be separated by semicolons (note: content is evaluated, see /help eval)]
** tipo: stringa
** valori: qualsiasi stringa
** valore predefinito: `+"/quit -yes"+`
* [[option_weechat.signal.sigusr1]] *weechat.signal.sigusr1*
** descrizione: pass:none[command to execute when the signal is received, multiple commands can be separated by semicolons (note: content is evaluated, see /help eval)]
** tipo: stringa
** valori: qualsiasi stringa
** valore predefinito: `+""+`
* [[option_weechat.signal.sigusr2]] *weechat.signal.sigusr2*
** descrizione: pass:none[command to execute when the signal is received, multiple commands can be separated by semicolons (note: content is evaluated, see /help eval)]
** tipo: stringa
** valori: qualsiasi stringa
** valore predefinito: `+""+`
* [[option_weechat.startup.command_after_plugins]] *weechat.startup.command_after_plugins*
** descrizione: pass:none[comando eseguito all'avvio di WeeChat, dopo il caricamento dei plugin (nota: il contenuto viene valutato, consultare /help eval)]
** tipo: stringa

2
doc/it/weechat_user.it.adoc

@ -2585,6 +2585,8 @@ Sections in file _weechat.conf_: @@ -2585,6 +2585,8 @@ Sections in file _weechat.conf_:
| proxy | <<command_weechat_proxy,/proxy>> +
/set weechat.proxy.* | Proxy options.
| network | /set weechat.network.* | Network/SSL options.
// TRANSLATION MISSING
| signal | /set weechat.signal.* | Signal options.
| bar | <<command_weechat_bar,/bar>> +
/set weechat.bar.* | Bar options.
| layout | <<command_weechat_layout,/layout>> | Layouts.

30
doc/ja/includes/autogen_user_options.ja.adoc

@ -1308,6 +1308,36 @@ @@ -1308,6 +1308,36 @@
** 値: on, off
** デフォルト値: `+on+`
* [[option_weechat.signal.sighup]] *weechat.signal.sighup*
** 説明: pass:none[command to execute when the signal is received, multiple commands can be separated by semicolons (note: content is evaluated, see /help eval)]
** タイプ: 文字列
** 値: 未制約文字列
** デフォルト値: `+"${if:${info:weechat_headless}?/reload:/quit -yes}"+`
* [[option_weechat.signal.sigquit]] *weechat.signal.sigquit*
** 説明: pass:none[command to execute when the signal is received, multiple commands can be separated by semicolons (note: content is evaluated, see /help eval)]
** タイプ: 文字列
** 値: 未制約文字列
** デフォルト値: `+"/quit -yes"+`
* [[option_weechat.signal.sigterm]] *weechat.signal.sigterm*
** 説明: pass:none[command to execute when the signal is received, multiple commands can be separated by semicolons (note: content is evaluated, see /help eval)]
** タイプ: 文字列
** 値: 未制約文字列
** デフォルト値: `+"/quit -yes"+`
* [[option_weechat.signal.sigusr1]] *weechat.signal.sigusr1*
** 説明: pass:none[command to execute when the signal is received, multiple commands can be separated by semicolons (note: content is evaluated, see /help eval)]
** タイプ: 文字列
** 値: 未制約文字列
** デフォルト値: `+""+`
* [[option_weechat.signal.sigusr2]] *weechat.signal.sigusr2*
** 説明: pass:none[command to execute when the signal is received, multiple commands can be separated by semicolons (note: content is evaluated, see /help eval)]
** タイプ: 文字列
** 値: 未制約文字列
** デフォルト値: `+""+`
* [[option_weechat.startup.command_after_plugins]] *weechat.startup.command_after_plugins*
** 説明: pass:none[WeeChat が実行され、プラグインのロード後に実行されるコマンド (注意: 値は評価されます、/help eval を参照してください)]
** タイプ: 文字列

4
doc/ja/weechat_dev.ja.adoc

@ -148,6 +148,8 @@ WeeChat "core" は以下のディレクトリに配置されています: @@ -148,6 +148,8 @@ WeeChat "core" は以下のディレクトリに配置されています:
|    wee-secure.c | データ保護用の関数
|    wee-secure-buffer.c | データ保護用のバッファ
|    wee-secure-config.c | 安全なデータオプション (sec.conf ファイル)
// TRANSLATION MISSING
|    wee-signal.c | Signal functions.
|    wee-string.c | 文字列関数
|    wee-upgrade-file.c | 内部アップグレードシステム
|    wee-upgrade.c | WeeChat コアのアップグレード (バッファ、行、履歴、...)
@ -413,6 +415,8 @@ WeeChat "core" は以下のディレクトリに配置されています: @@ -413,6 +415,8 @@ WeeChat "core" は以下のディレクトリに配置されています:
|          test-core-infolist.cpp | テスト: インフォリスト
|          test-core-list.cpp | テスト: リスト
|          test-core-secure.cpp | テスト: データ保護
// TRANSLATION MISSING
|          test-core-signal.cpp | テスト: signals.
|          test-core-string.cpp | テスト: 文字列
|          test-core-url.cpp | テスト: URL
|          test-core-utf8.cpp | テスト: UTF-8

2
doc/ja/weechat_user.ja.adoc

@ -2471,6 +2471,8 @@ _weechat.conf_ ファイル内のセクション: @@ -2471,6 +2471,8 @@ _weechat.conf_ ファイル内のセクション:
| proxy | <<command_weechat_proxy,/proxy>> +
/set weechat.proxy.* | プロキシオプション
| network | /set weechat.network.* | ネットワーク/SSL オプション
// TRANSLATION MISSING
| signal | /set weechat.signal.* | Signal options.
| bar | <<command_weechat_bar,/bar>> +
/set weechat.bar.* | バーオプション
| layout | <<command_weechat_layout,/layout>> | レイアウト

30
doc/pl/includes/autogen_user_options.pl.adoc

@ -1308,6 +1308,36 @@ @@ -1308,6 +1308,36 @@
** wartości: on, off
** domyślna wartość: `+on+`
* [[option_weechat.signal.sighup]] *weechat.signal.sighup*
** opis: pass:none[command to execute when the signal is received, multiple commands can be separated by semicolons (note: content is evaluated, see /help eval)]
** typ: ciąg
** wartości: dowolny ciąg
** domyślna wartość: `+"${if:${info:weechat_headless}?/reload:/quit -yes}"+`
* [[option_weechat.signal.sigquit]] *weechat.signal.sigquit*
** opis: pass:none[command to execute when the signal is received, multiple commands can be separated by semicolons (note: content is evaluated, see /help eval)]
** typ: ciąg
** wartości: dowolny ciąg
** domyślna wartość: `+"/quit -yes"+`
* [[option_weechat.signal.sigterm]] *weechat.signal.sigterm*
** opis: pass:none[command to execute when the signal is received, multiple commands can be separated by semicolons (note: content is evaluated, see /help eval)]
** typ: ciąg
** wartości: dowolny ciąg
** domyślna wartość: `+"/quit -yes"+`
* [[option_weechat.signal.sigusr1]] *weechat.signal.sigusr1*
** opis: pass:none[command to execute when the signal is received, multiple commands can be separated by semicolons (note: content is evaluated, see /help eval)]
** typ: ciąg
** wartości: dowolny ciąg
** domyślna wartość: `+""+`
* [[option_weechat.signal.sigusr2]] *weechat.signal.sigusr2*
** opis: pass:none[command to execute when the signal is received, multiple commands can be separated by semicolons (note: content is evaluated, see /help eval)]
** typ: ciąg
** wartości: dowolny ciąg
** domyślna wartość: `+""+`
* [[option_weechat.startup.command_after_plugins]] *weechat.startup.command_after_plugins*
** opis: pass:none[komenda wykonana kiedy WeeChat jest uruchamiany, po załadowaniu wtyczek (uwaga: zawartość jest przetwarzana, zobacz /help eval)]
** typ: ciąg

2
doc/pl/weechat_user.pl.adoc

@ -2426,6 +2426,8 @@ Sekcje w pliku _weechat.conf_: @@ -2426,6 +2426,8 @@ Sekcje w pliku _weechat.conf_:
| proxy | <<command_weechat_proxy,/proxy>> +
/set weechat.proxy.* | Opcje proxy.
| network | /set weechat.network.* | Opcje sieci/SSL.
// TRANSLATION MISSING
| signal | /set weechat.signal.* | Signal options.
| bar | <<command_weechat_bar,/bar>> +
/set weechat.bar.* | Opcje pasków.
| layout | <<command_weechat_layout,/layout>> | Układy.

2
po/POTFILES.in

@ -77,6 +77,8 @@ @@ -77,6 +77,8 @@
./src/core/wee-secure-buffer.h
./src/core/wee-secure-config.c
./src/core/wee-secure-config.h
./src/core/wee-signal.c
./src/core/wee-signal.h
./src/core/wee-string.c
./src/core/wee-string.h
./src/core/wee-upgrade.c

24
po/cs.po

@ -21,7 +21,7 @@ msgid "" @@ -21,7 +21,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2021-03-14 14:00+0100\n"
"POT-Creation-Date: 2021-03-16 18:31+0100\n"
"PO-Revision-Date: 2021-02-06 15:55+0100\n"
"Last-Translator: Ondřej Súkup <mimi.vx@gmail.com>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@ -4191,6 +4191,12 @@ msgstr "" @@ -4191,6 +4191,12 @@ msgstr ""
msgid "save configuration files when unloading plugins"
msgstr "uložit soubory s nastavením při ukončení pluginů"
#, fuzzy
msgid ""
"command to execute when the signal is received, multiple commands can be "
"separated by semicolons (note: content is evaluated, see /help eval)"
msgstr "příkaz spuštěný při startu WeeChat, po načtení pluginů"
msgid "FATAL: error initializing configuration options"
msgstr "FATÁLNÍ: chyba při inicializaci konfiguračních nastavení"
@ -4612,14 +4618,6 @@ msgstr "Barvy WeeChat (použité: %d, zbývá: %d):" @@ -4612,14 +4618,6 @@ msgstr "Barvy WeeChat (použité: %d, zbývá: %d):"
msgid "Terminal lost, exiting WeeChat..."
msgstr "Terminál ztracen, ukončuji WeeChat..."
#, fuzzy, c-format
msgid "Signal %s received, reloading configuration..."
msgstr "Obdržen signál %s, ukončuji WeeChat..."
#, c-format
msgid "Signal %s received, exiting WeeChat..."
msgstr "Obdržen signál %s, ukončuji WeeChat..."
msgid "Mouse is enabled"
msgstr "Myš je zapnuta"
@ -13241,6 +13239,14 @@ msgstr "%s%s: vypršel časový limit \"%s\" pro %s" @@ -13241,6 +13239,14 @@ msgstr "%s%s: vypršel časový limit \"%s\" pro %s"
msgid "%s%s: unable to connect: unexpected error (%d)"
msgstr "%s%s: nemohu se připojit\" neočekávaná chyba (%d)"
#, fuzzy, c-format
#~ msgid "Signal %s received, reloading configuration..."
#~ msgstr "Obdržen signál %s, ukončuji WeeChat..."
#, c-format
#~ msgid "Signal %s received, exiting WeeChat..."
#~ msgstr "Obdržen signál %s, ukončuji WeeChat..."
#, fuzzy
#~ msgid "secured data: names and values"
#~ msgstr "Chráněná data \"%s\" smazána"

27
po/de.po

@ -24,7 +24,7 @@ msgid "" @@ -24,7 +24,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2021-03-14 14:00+0100\n"
"POT-Creation-Date: 2021-03-16 18:31+0100\n"
"PO-Revision-Date: 2021-03-14 13:36+0100\n"
"Last-Translator: Nils Görs <weechatter@arcor.de>\n"
"Language-Team: German <kde-i18n-de@kde.org>\n"
@ -5110,6 +5110,15 @@ msgstr "" @@ -5110,6 +5110,15 @@ msgstr ""
msgid "save configuration files when unloading plugins"
msgstr "speichert Konfigurationen, falls Erweiterungen beendet werden"
#, fuzzy
msgid ""
"command to execute when the signal is received, multiple commands can be "
"separated by semicolons (note: content is evaluated, see /help eval)"
msgstr ""
"Nach dem Start von WeeChat wird dieser Befehl aufgerufen. Dies geschieht "
"nachdem die Erweiterungen geladen worden sind (mehrere Befehle sind durch \";"
"\" zu trennen) (Hinweis: Inhalt wird evaluiert, siehe /help eval)"
msgid "FATAL: error initializing configuration options"
msgstr "FATAL: Fehler bei der Initialisierung der Konfigurationseinstellungen"
@ -5572,14 +5581,6 @@ msgstr "WeeChat Farben (in Benutzung: %d; noch frei verfügbar: %d):" @@ -5572,14 +5581,6 @@ msgstr "WeeChat Farben (in Benutzung: %d; noch frei verfügbar: %d):"
msgid "Terminal lost, exiting WeeChat..."
msgstr "Terminal verloren, beende WeeChat..."
#, c-format
msgid "Signal %s received, reloading configuration..."
msgstr "Signal %s empfangen, Konfiguration neu laden..."
#, c-format
msgid "Signal %s received, exiting WeeChat..."
msgstr "Signal %s empfangen, beende WeeChat..."
msgid "Mouse is enabled"
msgstr "Maus ist aktiv"
@ -15555,6 +15556,14 @@ msgid "%s%s: unable to connect: unexpected error (%d)" @@ -15555,6 +15556,14 @@ msgid "%s%s: unable to connect: unexpected error (%d)"
msgstr ""
"%s%s: Verbindung konnte nicht hergestellt werden: unerwarteter Fehler (%d)"
#, c-format
#~ msgid "Signal %s received, reloading configuration..."
#~ msgstr "Signal %s empfangen, Konfiguration neu laden..."
#, c-format
#~ msgid "Signal %s received, exiting WeeChat..."
#~ msgstr "Signal %s empfangen, beende WeeChat..."
#, fuzzy
#~ msgid "secured data: names and values"
#~ msgstr "Schutzwürdige Information \"%s\" gelöscht"

24
po/es.po

@ -22,7 +22,7 @@ msgid "" @@ -22,7 +22,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2021-03-14 14:00+0100\n"
"POT-Creation-Date: 2021-03-16 18:31+0100\n"
"PO-Revision-Date: 2021-02-06 15:55+0100\n"
"Last-Translator: Elián Hanisch <lambdae2@gmail.com>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@ -4384,6 +4384,12 @@ msgstr "" @@ -4384,6 +4384,12 @@ msgstr ""
msgid "save configuration files when unloading plugins"
msgstr "guardar archivos de configuración al descargar extensiones"
#, fuzzy
msgid ""
"command to execute when the signal is received, multiple commands can be "
"separated by semicolons (note: content is evaluated, see /help eval)"
msgstr "comando ejecutado cuando WeeChat inicia, después de cargar los plugins"
msgid "FATAL: error initializing configuration options"
msgstr "FATAL: error al inicializar las opciones de configuración"
@ -4802,14 +4808,6 @@ msgstr "Colores de WeeChat (en uso: %d, disponibles: %d):" @@ -4802,14 +4808,6 @@ msgstr "Colores de WeeChat (en uso: %d, disponibles: %d):"
msgid "Terminal lost, exiting WeeChat..."
msgstr "Se perdió la terminal, cerrando WeeChat..."
#, fuzzy, c-format
msgid "Signal %s received, reloading configuration..."
msgstr "Señal %s recibida, cerrando WeeChat..."
#, c-format
msgid "Signal %s received, exiting WeeChat..."
msgstr "Señal %s recibida, cerrando WeeChat..."
msgid "Mouse is enabled"
msgstr "Ratón activado"
@ -13521,6 +13519,14 @@ msgstr "%s%s: tiempo de espera máximo para \"%s\" con %s" @@ -13521,6 +13519,14 @@ msgstr "%s%s: tiempo de espera máximo para \"%s\" con %s"
msgid "%s%s: unable to connect: unexpected error (%d)"
msgstr "%s%s: no es posible conectarse al transmisor"
#, fuzzy, c-format
#~ msgid "Signal %s received, reloading configuration..."
#~ msgstr "Señal %s recibida, cerrando WeeChat..."
#, c-format
#~ msgid "Signal %s received, exiting WeeChat..."
#~ msgstr "Señal %s recibida, cerrando WeeChat..."
#, fuzzy
#~ msgid "secured data: names and values"
#~ msgstr "Barra eliminada"

28
po/fr.po

@ -21,8 +21,8 @@ msgid "" @@ -21,8 +21,8 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2021-03-14 14:00+0100\n"
"PO-Revision-Date: 2021-03-14 14:00+0100\n"
"POT-Creation-Date: 2021-03-16 18:31+0100\n"
"PO-Revision-Date: 2021-03-16 18:32+0100\n"
"Last-Translator: Sébastien Helleu <flashcode@flashtux.org>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
"Language: fr\n"
@ -4980,6 +4980,14 @@ msgid "save configuration files when unloading plugins" @@ -4980,6 +4980,14 @@ msgid "save configuration files when unloading plugins"
msgstr ""
"sauvegarder les fichiers de configuration lors du déchargement des extensions"
msgid ""
"command to execute when the signal is received, multiple commands can be "
"separated by semicolons (note: content is evaluated, see /help eval)"
msgstr ""
"commande à exécuter lorsque le signal est reçu, plusieurs commandes peuvent "
"être séparées par des point-virgules (note : le contenu est évalué, voir /"
"help eval)"
msgid "FATAL: error initializing configuration options"
msgstr "FATAL : erreur d'initialisation des options de configuration"
@ -5440,14 +5448,6 @@ msgstr "Couleurs WeeChat (en utilisation : %d, libres : %d) :" @@ -5440,14 +5448,6 @@ msgstr "Couleurs WeeChat (en utilisation : %d, libres : %d) :"
msgid "Terminal lost, exiting WeeChat..."
msgstr "Terminal perdu, sortie de WeeChat..."
#, c-format
msgid "Signal %s received, reloading configuration..."
msgstr "Signal %s reçu, rechargement de la configuration..."
#, c-format
msgid "Signal %s received, exiting WeeChat..."
msgstr "Signal %s reçu, sortie de WeeChat..."
msgid "Mouse is enabled"
msgstr "La souris est activée"
@ -15241,5 +15241,13 @@ msgstr "%s%s : délai d'attente dépassé pour \"%s\" avec %s" @@ -15241,5 +15241,13 @@ msgstr "%s%s : délai d'attente dépassé pour \"%s\" avec %s"
msgid "%s%s: unable to connect: unexpected error (%d)"
msgstr "%s%s : impossible de se connecter : erreur inattendue (%d)"
#, c-format
#~ msgid "Signal %s received, reloading configuration..."
#~ msgstr "Signal %s reçu, rechargement de la configuration..."
#, c-format
#~ msgid "Signal %s received, exiting WeeChat..."
#~ msgstr "Signal %s reçu, sortie de WeeChat..."
#~ msgid "secured data: names and values"
#~ msgstr "données sécurisées : noms et valeurs"

16
po/hu.po

@ -20,7 +20,7 @@ msgid "" @@ -20,7 +20,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2021-03-14 14:00+0100\n"
"POT-Creation-Date: 2021-03-16 18:31+0100\n"
"PO-Revision-Date: 2021-02-06 15:55+0100\n"
"Last-Translator: Andras Voroskoi <voroskoi@frugalware.org>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@ -3750,6 +3750,12 @@ msgstr "" @@ -3750,6 +3750,12 @@ msgstr ""
msgid "save configuration files when unloading plugins"
msgstr "beállítások mentése kilépéskor"
#, fuzzy
msgid ""
"command to execute when the signal is received, multiple commands can be "
"separated by semicolons (note: content is evaluated, see /help eval)"
msgstr "felhasználónév az IRC szerveren"
#, fuzzy
msgid "FATAL: error initializing configuration options"
msgstr "szerver konfigurációs fájljának újraolvastatása"
@ -4166,14 +4172,6 @@ msgstr "" @@ -4166,14 +4172,6 @@ msgstr ""
msgid "Terminal lost, exiting WeeChat..."
msgstr ""
#, c-format
msgid "Signal %s received, reloading configuration..."
msgstr ""
#, c-format
msgid "Signal %s received, exiting WeeChat..."
msgstr ""
#, fuzzy
msgid "Mouse is enabled"
msgstr "a felhasználók le lettek tiltva"

26
po/it.po

@ -20,7 +20,7 @@ msgid "" @@ -20,7 +20,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2021-03-14 14:00+0100\n"
"POT-Creation-Date: 2021-03-16 18:31+0100\n"
"PO-Revision-Date: 2021-02-06 15:55+0100\n"
"Last-Translator: Esteban I. Ruiz Moreno <exio4.com@gmail.com>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@ -4502,6 +4502,14 @@ msgstr "" @@ -4502,6 +4502,14 @@ msgstr ""
msgid "save configuration files when unloading plugins"
msgstr "salva i file di configurazione allo scaricamento dei plugin"
#, fuzzy
msgid ""
"command to execute when the signal is received, multiple commands can be "
"separated by semicolons (note: content is evaluated, see /help eval)"
msgstr ""
"comando eseguito all'avvio di WeeChat, dopo il caricamento dei plugin (nota: "
"il contenuto viene valutato, consultare /help eval)"
msgid "FATAL: error initializing configuration options"
msgstr "FATALE: errore nell'inizializzazione delle opzioni di configurazione"
@ -4936,14 +4944,6 @@ msgstr "Colori di WeeChat (in uso: %d, rimaste: %d):" @@ -4936,14 +4944,6 @@ msgstr "Colori di WeeChat (in uso: %d, rimaste: %d):"
msgid "Terminal lost, exiting WeeChat..."
msgstr "Terminale perduto, chiusura di WeeChat..."
#, fuzzy, c-format
msgid "Signal %s received, reloading configuration..."
msgstr "Ricevuto segnale %s, chiusura di WeeChat..."
#, c-format
msgid "Signal %s received, exiting WeeChat..."
msgstr "Ricevuto segnale %s, chiusura di WeeChat..."
msgid "Mouse is enabled"
msgstr "Mouse abilitato"
@ -13744,6 +13744,14 @@ msgstr "%s%s: timeout per \"%s\" con %s" @@ -13744,6 +13744,14 @@ msgstr "%s%s: timeout per \"%s\" con %s"
msgid "%s%s: unable to connect: unexpected error (%d)"
msgstr "%s%s: impossibile connettersi al mittente"
#, fuzzy, c-format
#~ msgid "Signal %s received, reloading configuration..."
#~ msgstr "Ricevuto segnale %s, chiusura di WeeChat..."
#, c-format
#~ msgid "Signal %s received, exiting WeeChat..."
#~ msgstr "Ricevuto segnale %s, chiusura di WeeChat..."
#, fuzzy
#~ msgid "secured data: names and values"
#~ msgstr "Dati sicuri \"%s\" eliminati"

26
po/ja.po

@ -20,7 +20,7 @@ msgid "" @@ -20,7 +20,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2021-03-14 14:00+0100\n"
"POT-Creation-Date: 2021-03-16 18:31+0100\n"
"PO-Revision-Date: 2021-02-06 15:55+0100\n"
"Last-Translator: AYANOKOUZI, Ryuunosuke <i38w7i3@yahoo.co.jp>\n"
"Language-Team: Japanese <https://github.com/l/weechat/tree/master/"
@ -4723,6 +4723,14 @@ msgstr "" @@ -4723,6 +4723,14 @@ msgstr ""
msgid "save configuration files when unloading plugins"
msgstr "プラグインをアンロードする際に設定ファイルをセーブ"
#, fuzzy
msgid ""
"command to execute when the signal is received, multiple commands can be "
"separated by semicolons (note: content is evaluated, see /help eval)"
msgstr ""
"WeeChat が実行され、プラグインのロード後に実行されるコマンド (注意: 値は評価"
"されます、/help eval を参照してください)"
msgid "FATAL: error initializing configuration options"
msgstr "致命的: 設定オプションの初期化中にエラー"
@ -5161,14 +5169,6 @@ msgstr "WeeChat 色 (使用中: %d、残り: %d):" @@ -5161,14 +5169,6 @@ msgstr "WeeChat 色 (使用中: %d、残り: %d):"
msgid "Terminal lost, exiting WeeChat..."
msgstr "端末が見つかりません、WeeChat の終了中..."
#, fuzzy, c-format
msgid "Signal %s received, reloading configuration..."
msgstr "シグナル %s を受け取りました、WeeChat の終了中..."
#, c-format
msgid "Signal %s received, exiting WeeChat..."
msgstr "シグナル %s を受け取りました、WeeChat の終了中..."
msgid "Mouse is enabled"
msgstr "マウスを有効化しました"
@ -14541,6 +14541,14 @@ msgstr "%s%s: \"%s\" のタイムアウト %s" @@ -14541,6 +14541,14 @@ msgstr "%s%s: \"%s\" のタイムアウト %s"
msgid "%s%s: unable to connect: unexpected error (%d)"
msgstr "%s%s: 接続できません: 未定義のエラー (%d)"
#, fuzzy, c-format
#~ msgid "Signal %s received, reloading configuration..."
#~ msgstr "シグナル %s を受け取りました、WeeChat の終了中..."
#, c-format
#~ msgid "Signal %s received, exiting WeeChat..."
#~ msgstr "シグナル %s を受け取りました、WeeChat の終了中..."
#, fuzzy
#~ msgid "secured data: names and values"
#~ msgstr "保護データ \"%s\" を削除しました"

26
po/pl.po

@ -22,7 +22,7 @@ msgid "" @@ -22,7 +22,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2021-03-14 14:00+0100\n"
"POT-Creation-Date: 2021-03-16 18:31+0100\n"
"PO-Revision-Date: 2021-03-14 13:37+0100\n"
"Last-Translator: Krzysztof Korościk <soltys@soltys.info>\n"
"Language-Team: Polish <kde-i18n-doc@kde.org>\n"
@ -4870,6 +4870,14 @@ msgstr "" @@ -4870,6 +4870,14 @@ msgstr ""
msgid "save configuration files when unloading plugins"
msgstr "zapisuj pliki konfiguracyjne przy wyładowywaniu wtyczek"
#, fuzzy
msgid ""
"command to execute when the signal is received, multiple commands can be "
"separated by semicolons (note: content is evaluated, see /help eval)"
msgstr ""
"komenda wykonana kiedy WeeChat jest uruchamiany, po załadowaniu wtyczek "
"(uwaga: zawartość jest przetwarzana, zobacz /help eval)"
msgid "FATAL: error initializing configuration options"
msgstr "KRYTYCZNE: błąd podczas inicjacji zmiennych konfiguracyjnych"
@ -5315,14 +5323,6 @@ msgstr "Kolory WeeChat (w użyciu: %d, zostało: %d):" @@ -5315,14 +5323,6 @@ msgstr "Kolory WeeChat (w użyciu: %d, zostało: %d):"
msgid "Terminal lost, exiting WeeChat..."
msgstr "Utracono terminal, wychodzę z WeeChat..."
#, c-format
msgid "Signal %s received, reloading configuration..."
msgstr "Otrzymano sygnał %s, przeładowywuje konfigurację..."
#, c-format
msgid "Signal %s received, exiting WeeChat..."
msgstr "Otrzymano sygnał %s, wychodzę z WeeChat..."
msgid "Mouse is enabled"
msgstr "Obsługa myszy włączona"
@ -14897,6 +14897,14 @@ msgstr "%s%s: przekroczono czas na \"%s\" z %s" @@ -14897,6 +14897,14 @@ msgstr "%s%s: przekroczono czas na \"%s\" z %s"
msgid "%s%s: unable to connect: unexpected error (%d)"
msgstr "%s%s: nie można połączyć: niespodziewany błąd (%d)"
#, c-format
#~ msgid "Signal %s received, reloading configuration..."
#~ msgstr "Otrzymano sygnał %s, przeładowywuje konfigurację..."
#, c-format
#~ msgid "Signal %s received, exiting WeeChat..."
#~ msgstr "Otrzymano sygnał %s, wychodzę z WeeChat..."
#, fuzzy
#~ msgid "secured data: names and values"
#~ msgstr "Usunięto zabezpieczone dane \"%s\""

26
po/pt.po

@ -20,7 +20,7 @@ msgid "" @@ -20,7 +20,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2021-03-14 14:00+0100\n"
"POT-Creation-Date: 2021-03-16 18:31+0100\n"
"PO-Revision-Date: 2021-02-06 15:55+0100\n"
"Last-Translator: Vasco Almeida <vascomalmeida@sapo.pt>\n"
"Language-Team: Portuguese <>\n"
@ -4756,6 +4756,14 @@ msgstr "" @@ -4756,6 +4756,14 @@ msgstr ""
msgid "save configuration files when unloading plugins"
msgstr "guardar os ficheiros de configuração ao descarregar plugins"
#, fuzzy
msgid ""
"command to execute when the signal is received, multiple commands can be "
"separated by semicolons (note: content is evaluated, see /help eval)"
msgstr ""
"comando executado ao iniciar o WeeChat, depois de recarregar os plugins "
"(nota: o conteúdo é avaliado, ver /help eval)"
msgid "FATAL: error initializing configuration options"
msgstr "FATAL: erro ao inicializar as opções de configuração"
@ -5204,14 +5212,6 @@ msgstr "Cores WeeChat (em uso: %d, livres: %d):" @@ -5204,14 +5212,6 @@ msgstr "Cores WeeChat (em uso: %d, livres: %d):"
msgid "Terminal lost, exiting WeeChat..."
msgstr "Terminal perdido, a sair do WeeChat..."
#, fuzzy, c-format
msgid "Signal %s received, reloading configuration..."
msgstr "Sinal %s recebido, a sair do WeeChat..."
#, c-format
msgid "Signal %s received, exiting WeeChat..."
msgstr "Sinal %s recebido, a sair do WeeChat..."
msgid "Mouse is enabled"
msgstr "O rato está ativado"
@ -14398,6 +14398,14 @@ msgstr "%s%s: tempo limite de \"%s\" com %s" @@ -14398,6 +14398,14 @@ msgstr "%s%s: tempo limite de \"%s\" com %s"
msgid "%s%s: unable to connect: unexpected error (%d)"
msgstr "%s%s: não foi possível conectar: erro inesperado (%d)"
#, fuzzy, c-format
#~ msgid "Signal %s received, reloading configuration..."
#~ msgstr "Sinal %s recebido, a sair do WeeChat..."
#, c-format
#~ msgid "Signal %s received, exiting WeeChat..."
#~ msgstr "Sinal %s recebido, a sair do WeeChat..."
#, fuzzy
#~ msgid "secured data: names and values"
#~ msgstr "Dados protegidos \"%s\" eliminados"

26
po/pt_BR.po

@ -21,7 +21,7 @@ msgid "" @@ -21,7 +21,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2021-03-14 14:00+0100\n"
"POT-Creation-Date: 2021-03-16 18:31+0100\n"
"PO-Revision-Date: 2021-03-05 20:43+0100\n"
"Last-Translator: Érico Nogueira <ericonr@disroot.org>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@ -4382,6 +4382,14 @@ msgstr "" @@ -4382,6 +4382,14 @@ msgstr ""
msgid "save configuration files when unloading plugins"
msgstr "salvar arquivos de configurações quando descarregar plugins"
#, fuzzy
msgid ""
"command to execute when the signal is received, multiple commands can be "
"separated by semicolons (note: content is evaluated, see /help eval)"
msgstr ""
"comando executado quando o WeeChat inicia, após o carregamento dos plugins "
"(nota: o conteúdo é avaliado, veja /help eval)"
msgid "FATAL: error initializing configuration options"
msgstr "FATAL: erro inicializando opções de configuração"
@ -4783,14 +4791,6 @@ msgstr "Cores do WeeChat (em uso: %d, sobram: %d):" @@ -4783,14 +4791,6 @@ msgstr "Cores do WeeChat (em uso: %d, sobram: %d):"
msgid "Terminal lost, exiting WeeChat..."
msgstr "Terminal perdido, saindo do WeeChat..."
#, fuzzy, c-format
msgid "Signal %s received, reloading configuration..."
msgstr "Sinal %s recebido, saindo do WeeChat..."
#, c-format
msgid "Signal %s received, exiting WeeChat..."
msgstr "Sinal %s recebido, saindo do WeeChat..."
msgid "Mouse is enabled"
msgstr "Mouse está habilitado"
@ -12963,6 +12963,14 @@ msgstr "%s%s: tempo esgotado para \"%s\" com %s" @@ -12963,6 +12963,14 @@ msgstr "%s%s: tempo esgotado para \"%s\" com %s"
msgid "%s%s: unable to connect: unexpected error (%d)"
msgstr "%s%s: não foi possível conectar ao remetente"
#, fuzzy, c-format
#~ msgid "Signal %s received, reloading configuration..."
#~ msgstr "Sinal %s recebido, saindo do WeeChat..."
#, c-format
#~ msgid "Signal %s received, exiting WeeChat..."
#~ msgstr "Sinal %s recebido, saindo do WeeChat..."
#, fuzzy
#~ msgid "secured data: names and values"
#~ msgstr "Dados seguros \"%s\" deletados"

16
po/ru.po

@ -21,7 +21,7 @@ msgid "" @@ -21,7 +21,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2021-03-14 14:00+0100\n"
"POT-Creation-Date: 2021-03-16 18:31+0100\n"
"PO-Revision-Date: 2021-02-06 15:55+0100\n"
"Last-Translator: Aleksey V Zapparov AKA ixti <ixti@member.fsf.org>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@ -3779,6 +3779,12 @@ msgstr "" @@ -3779,6 +3779,12 @@ msgstr ""
msgid "save configuration files when unloading plugins"
msgstr "сохранять конфигурационный файл при выходе"
#, fuzzy
msgid ""
"command to execute when the signal is received, multiple commands can be "
"separated by semicolons (note: content is evaluated, see /help eval)"
msgstr "ник, используемый на IRC сервере"
#, fuzzy
msgid "FATAL: error initializing configuration options"
msgstr "перезагрузить конфигурационный файл сервера"
@ -4199,14 +4205,6 @@ msgstr "" @@ -4199,14 +4205,6 @@ msgstr ""
msgid "Terminal lost, exiting WeeChat..."
msgstr ""
#, c-format
msgid "Signal %s received, reloading configuration..."
msgstr ""
#, c-format
msgid "Signal %s received, exiting WeeChat..."
msgstr ""
#, fuzzy
msgid "Mouse is enabled"
msgstr "команда users отключена"

2
po/srcfiles.cmake

@ -78,6 +78,8 @@ SET(WEECHAT_SOURCES @@ -78,6 +78,8 @@ SET(WEECHAT_SOURCES
./src/core/wee-secure-buffer.h
./src/core/wee-secure-config.c
./src/core/wee-secure-config.h
./src/core/wee-signal.c
./src/core/wee-signal.h
./src/core/wee-string.c
./src/core/wee-string.h
./src/core/wee-upgrade.c

15
po/tr.po

@ -20,7 +20,7 @@ msgid "" @@ -20,7 +20,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2021-03-14 14:00+0100\n"
"POT-Creation-Date: 2021-03-16 18:31+0100\n"
"PO-Revision-Date: 2021-02-06 15:55+0100\n"
"Last-Translator: Hasan Kiran <sunder67@hotmail.com>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@ -3399,6 +3399,11 @@ msgstr "" @@ -3399,6 +3399,11 @@ msgstr ""
msgid "save configuration files when unloading plugins"
msgstr ""
msgid ""
"command to execute when the signal is received, multiple commands can be "
"separated by semicolons (note: content is evaluated, see /help eval)"
msgstr ""
msgid "FATAL: error initializing configuration options"
msgstr ""
@ -3797,14 +3802,6 @@ msgstr "" @@ -3797,14 +3802,6 @@ msgstr ""
msgid "Terminal lost, exiting WeeChat..."
msgstr ""
#, c-format
msgid "Signal %s received, reloading configuration..."
msgstr ""
#, c-format
msgid "Signal %s received, exiting WeeChat..."
msgstr ""
msgid "Mouse is enabled"
msgstr ""

15
po/weechat.pot

@ -21,7 +21,7 @@ msgid "" @@ -21,7 +21,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2021-03-14 14:00+0100\n"
"POT-Creation-Date: 2021-03-16 18:31+0100\n"
"PO-Revision-Date: 2014-08-16 10:27+0200\n"
"Last-Translator: Sébastien Helleu <flashcode@flashtux.org>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@ -3388,6 +3388,11 @@ msgstr "" @@ -3388,6 +3388,11 @@ msgstr ""
msgid "save configuration files when unloading plugins"
msgstr ""
msgid ""
"command to execute when the signal is received, multiple commands can be "
"separated by semicolons (note: content is evaluated, see /help eval)"
msgstr ""
msgid "FATAL: error initializing configuration options"
msgstr ""
@ -3786,14 +3791,6 @@ msgstr "" @@ -3786,14 +3791,6 @@ msgstr ""
msgid "Terminal lost, exiting WeeChat..."
msgstr ""
#, c-format
msgid "Signal %s received, reloading configuration..."
msgstr ""
#, c-format
msgid "Signal %s received, exiting WeeChat..."
msgstr ""
msgid "Mouse is enabled"
msgstr ""

1
src/core/CMakeLists.txt

@ -43,6 +43,7 @@ set(LIB_CORE_SRC @@ -43,6 +43,7 @@ set(LIB_CORE_SRC
wee-secure.c wee-secure.h
wee-secure-buffer.c wee-secure-buffer.h
wee-secure-config.c wee-secure-config.h
wee-signal.c wee-signal.h
wee-string.c wee-string.h
wee-upgrade.c wee-upgrade.h
wee-upgrade-file.c wee-upgrade-file.h

2
src/core/Makefile.am

@ -67,6 +67,8 @@ lib_weechat_core_a_SOURCES = weechat.c \ @@ -67,6 +67,8 @@ lib_weechat_core_a_SOURCES = weechat.c \
wee-secure-buffer.h \
wee-secure-config.c \
wee-secure-config.h \
wee-signal.c \
wee-signal.h \
wee-string.c \
wee-string.h \
wee-upgrade.c \

1
src/core/hook/wee-hook-fd.c

@ -32,7 +32,6 @@ @@ -32,7 +32,6 @@
#include "../wee-hook.h"
#include "../wee-infolist.h"
#include "../wee-log.h"
#include "../wee-util.h"
#include "../../gui/gui-chat.h"

22
src/core/wee-command.c

@ -5328,22 +5328,6 @@ command_reload_file (struct t_config_file *config_file) @@ -5328,22 +5328,6 @@ command_reload_file (struct t_config_file *config_file)
}
}
/*
* Reloads all configuration files.
*/
void
command_reload_files ()
{
struct t_config_file *ptr_config_file;
for (ptr_config_file = config_files; ptr_config_file;
ptr_config_file = ptr_config_file->next_config)
{
command_reload_file (ptr_config_file);
}
}
/*
* Callback for command "/reload": reloads a configuration file.
*/
@ -5378,7 +5362,11 @@ COMMAND_CALLBACK(reload) @@ -5378,7 +5362,11 @@ COMMAND_CALLBACK(reload)
}
else
{
command_reload_files ();
for (ptr_config_file = config_files; ptr_config_file;
ptr_config_file = ptr_config_file->next_config)
{
command_reload_file (ptr_config_file);
}
}
return WEECHAT_RC_OK;

1
src/core/wee-command.h

@ -89,6 +89,5 @@ extern void command_version_display (struct t_gui_buffer *buffer, @@ -89,6 +89,5 @@ extern void command_version_display (struct t_gui_buffer *buffer,
int send_to_buffer_as_input,
int translated_string,
int display_git_version);
extern void command_reload_files ();
#endif /* WEECHAT_COMMAND_H */

65
src/core/wee-config.c

@ -303,6 +303,14 @@ struct t_config_option *config_plugin_extension; @@ -303,6 +303,14 @@ struct t_config_option *config_plugin_extension;
struct t_config_option *config_plugin_path;
struct t_config_option *config_plugin_save_config_on_unload;
/* config, signal section */
struct t_config_option *config_signal_sighup;
struct t_config_option *config_signal_sigquit;
struct t_config_option *config_signal_sigterm;
struct t_config_option *config_signal_sigusr1;
struct t_config_option *config_signal_sigusr2;
/* other */
int config_length_nick_prefix_suffix = 0;
@ -4566,6 +4574,63 @@ config_weechat_init_options () @@ -4566,6 +4574,63 @@ config_weechat_init_options ()
NULL, 0, 0, "on", NULL, 0,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
/* signal */
ptr_section = config_file_new_section (weechat_config_file, "signal",
0, 0,
NULL, NULL, NULL,
NULL, NULL, NULL,
NULL, NULL, NULL,
NULL, NULL, NULL,
NULL, NULL, NULL);
if (!ptr_section)
{
config_file_free (weechat_config_file);
weechat_config_file = NULL;
return 0;
}
config_signal_sighup = config_file_new_option (
weechat_config_file, ptr_section,
"sighup", "string",
N_("command to execute when the signal is received, "
"multiple commands can be separated by semicolons "
"(note: content is evaluated, see /help eval)"),
NULL, 0, 0,
"${if:${info:weechat_headless}?/reload:/quit -yes}", NULL, 0,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
config_signal_sigquit = config_file_new_option (
weechat_config_file, ptr_section,
"sigquit", "string",
N_("command to execute when the signal is received, "
"multiple commands can be separated by semicolons "
"(note: content is evaluated, see /help eval)"),
NULL, 0, 0, "/quit -yes", NULL, 0,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
config_signal_sigterm = config_file_new_option (
weechat_config_file, ptr_section,
"sigterm", "string",
N_("command to execute when the signal is received, "
"multiple commands can be separated by semicolons "
"(note: content is evaluated, see /help eval)"),
NULL, 0, 0, "/quit -yes", NULL, 0,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
config_signal_sigusr1 = config_file_new_option (
weechat_config_file, ptr_section,
"sigusr1", "string",
N_("command to execute when the signal is received, "
"multiple commands can be separated by semicolons "
"(note: content is evaluated, see /help eval)"),
NULL, 0, 0, "", NULL, 0,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
config_signal_sigusr2 = config_file_new_option (
weechat_config_file, ptr_section,
"sigusr2", "string",
N_("command to execute when the signal is received, "
"multiple commands can be separated by semicolons "
"(note: content is evaluated, see /help eval)"),
NULL, 0, 0, "", NULL, 0,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
/* bars */
ptr_section = config_file_new_section (
weechat_config_file, "bar",

6
src/core/wee-config.h

@ -346,6 +346,12 @@ extern struct t_config_option *config_plugin_extension; @@ -346,6 +346,12 @@ extern struct t_config_option *config_plugin_extension;
extern struct t_config_option *config_plugin_path;
extern struct t_config_option *config_plugin_save_config_on_unload;
extern struct t_config_option *config_signal_sighup;
extern struct t_config_option *config_signal_sigquit;
extern struct t_config_option *config_signal_sigterm;
extern struct t_config_option *config_signal_sigusr1;
extern struct t_config_option *config_signal_sigusr2;
extern int config_length_nick_prefix_suffix;
extern int config_length_prefix_same_nick;
extern int config_length_prefix_same_nick_middle;

2
src/core/wee-debug.c

@ -147,7 +147,7 @@ debug_dump_cb (const void *pointer, void *data, @@ -147,7 +147,7 @@ debug_dump_cb (const void *pointer, void *data,
*/
void
debug_sigsegv ()
debug_sigsegv_cb ()
{
debug_dump (1);
unhook_all ();

2
src/core/wee-debug.h

@ -24,7 +24,7 @@ @@ -24,7 +24,7 @@
struct t_gui_window_tree;
extern void debug_sigsegv ();
extern void debug_sigsegv_cb ();
extern void debug_windows_tree ();
extern void debug_memory ();
extern void debug_hdata ();

4
src/core/wee-hook.c

@ -35,8 +35,8 @@ @@ -35,8 +35,8 @@
#include "wee-hashtable.h"
#include "wee-infolist.h"
#include "wee-log.h"
#include "wee-signal.h"
#include "wee-string.h"
#include "wee-util.h"
#include "../gui/gui-chat.h"
#include "../plugins/plugin.h"
@ -514,7 +514,7 @@ hook_set (struct t_hook *hook, const char *property, const char *value) @@ -514,7 +514,7 @@ hook_set (struct t_hook *hook, const char *property, const char *value)
if (!error || error[0])
{
/* not a number? look for signal by name */
number = util_signal_search (value);
number = signal_search_name (value);
}
if (number >= 0)
{

314
src/core/wee-signal.c

@ -0,0 +1,314 @@ @@ -0,0 +1,314 @@
/*
* wee-signal.c - signal functions
*
* Copyright (C) 2021 Sébastien Helleu <flashcode@flashtux.org>
*
* This file is part of WeeChat, the extensible chat client.
*
* WeeChat is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* WeeChat is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with WeeChat. If not, see <https://www.gnu.org/licenses/>.