1
0
mirror of https://github.com/weechat/weechat.git synced 2026-06-13 14:44:46 +02:00

Compare commits

...

141 Commits

Author SHA1 Message Date
Sébastien Helleu 0e6497612c Version 3.5 2022-03-27 15:13:48 +02:00
Sébastien Helleu a794bf39bb debian: update changelog 2022-03-27 09:49:50 +02:00
Sébastien Helleu 5f543f26cc core: update .mailmap 2022-03-24 21:04:21 +01:00
Sébastien Helleu 0d8ced6c32 doc: use unicode symbol for greater-than or equal to 2022-03-23 21:12:02 +01:00
Sébastien Helleu db28e2133d doc: update Serbian auto-generated files 2022-03-22 21:18:32 +01:00
Ivan Pešić bab175f5b4 core: update Serbian translation 2022-03-22 21:18:03 +01:00
Ivan Pešić d3b42fae83 doc: update Serbian translations 2022-03-22 21:18:03 +01:00
Sébastien Helleu ef41998179 core: use unicode symbol for greater-than or equal to in ChangeLog 2022-03-21 23:02:35 +01:00
Sébastien Helleu 05e65cdd31 Version 3.5-rc1 2022-03-20 18:11:25 +01:00
Sébastien Helleu 872ff1cc6d irc: fix memory leak in command /autojoin addraw when channels are missing 2022-03-19 10:17:32 +01:00
Sébastien Helleu 8123cb3e0b irc: ensure old_autojoin and ptr_autojoin are not NULL before comparing them 2022-03-19 10:15:16 +01:00
Sébastien Helleu 15e11ecc0c core: fix line too long 2022-03-17 21:17:34 +01:00
Trygve Aaberge 827db6dc31 core: Fix regex for constants in the Python stub generator
In Python raw strings, newlines can't be escaped with a backslash. If
you do that, both the backslash and the newline become part of the
string. This meant that the regex for constants both started and ended
with a newline which caused every other constant to be skipped.
2022-03-17 21:16:45 +01:00
Sébastien Helleu 44e0414970 core: add version 3.4.1 2022-03-14 08:39:24 +01:00
Sébastien Helleu 9a19cc5d59 core: update latest stable version to 3.4.1 2022-03-14 08:35:24 +01:00
Nils Görs 3289bd2882 doc: update German documentation 2022-03-13 22:41:26 +01:00
Sébastien Helleu 6e75f93e1f doc/user: translate FreeBSD installation instructions (issue #1760) 2022-03-13 20:40:32 +01:00
Mateusz Piotrowski 13482b38d0 Add FreeBSD installation instructions 2022-03-13 20:38:57 +01:00
Sébastien Helleu 6004139098 core: set again TLS verification functions after GnuTLS options are changed (closes #1763)
When changing the options weechat.network.gnutls_ca_system or
weechat.network.gnutls_ca_user, the GnuTLS credentials are freed then allocated
again, but the verification function used to check the certificate on
connection is not set again.

As a consequence, any TLS connection is made without checking the certificate.

This regression was introduced in version 3.2, when the options were changed to
automatically load system certificates without having to give the path, and to
let user give an extra custom path with certificates.
2022-03-13 18:04:07 +01:00
Sébastien Helleu 116f533e0d doc: update German auto-generated files 2022-03-13 14:07:56 +01:00
Sébastien Helleu c943d3507f python: add function buffer_new_props in Python stub file 2022-03-13 14:07:22 +01:00
Sébastien Helleu 869279e9b6 tests: add tests on function gui_buffer_match_list 2022-03-13 14:03:23 +01:00
Sébastien Helleu 947ca33c14 tests: add tests on function gui_buffer_valid 2022-03-13 14:03:14 +01:00
Sébastien Helleu 44ec7e8cfa tests: add tests on functions gui_buffer_search_type and gui_buffer_search_notify 2022-03-13 13:49:18 +01:00
Sébastien Helleu 4629b17173 tests: add tests on functions gui_buffer_new and gui_buffer_new_props 2022-03-13 13:29:50 +01:00
Sébastien Helleu e5e3a9d2da api: add function buffer_new_props (closes #1759) 2022-03-13 10:35:29 +01:00
Sébastien Helleu fbbed9fbf7 core: add function gui_buffer_new_props (issue #1759)
This function allows to create a buffer and set properties via a hashtable,
before the signal "buffer_opened" is sent.
2022-03-13 10:35:29 +01:00
Sébastien Helleu 310b4dd2a0 tests: close xfer buffer after receiving some files 2022-03-13 10:34:56 +01:00
Sébastien Helleu 55f1655064 dev/scripting: fix typo 2022-03-12 20:50:25 +01:00
Sébastien Helleu 55aa40e087 doc/dev: add file test-irc-tag.cpp 2022-03-12 16:47:14 +01:00
Sébastien Helleu 68f395d433 doc/dev: add file irc-typing.c 2022-03-12 16:41:52 +01:00
Sébastien Helleu 22a36665e3 doc/dev: add file test-logger-backlog.cpp 2022-03-12 16:38:58 +01:00
Sébastien Helleu 65e08ffe07 core: update ChangeLog (issue #1761) 2022-03-12 16:11:08 +01:00
Sébastien Helleu 8781187771 doc/scripting: translate note about Tcl constant $::weechat::WEECHAT_NULL 2022-03-12 16:08:19 +01:00
Trygve Aaberge 197a7a01e4 scripts: allow null values in config_new_option
The plugin API function config_new_option accepts null as the
default_value and/or value however the scripting APIs (except for lua)
didn't allow sending null as a parameter value, so it was impossible to
use it this way. This allows sending a null value for these parameters.

Lua already supported sending in nil for these parameters and it works
as expected, so nothing is changed for this plugin.

For Guile you can now send in #nil, for JavaScript null or undefined,
for Perl undef, for PHP NULL, for Python None, for Ruby nil and for Tcl
$::weechat::WEECHAT_NULL.

In all of these languages except Tcl this is the special value
indicating a missing value. However Tcl only has one type, string, so it
doesn't have a null value. Therefore I created a constant with the value
`\uFFFF\uFFFF\uFFFFWEECHAT_NULL\uFFFF\uFFFF\uFFFF` which is used
instead. This is very unlikely to appear unintentionally. Using the
unicode code point \uFFFF was suggested on
https://wiki.tcl-lang.org/page/null.

I tested this with these scripts:
https://gist.github.com/trygveaa/f91977dde5d2876d502bf55fbf9b50cc
2022-03-12 16:00:38 +01:00
Sébastien Helleu 47e71a1bbd tests: close buffers of channels created for tests on irc_join_save_channels_to_autojoin 2022-03-12 15:20:45 +01:00
Emir SARI 3a4a9459e7 Update Turkish translations 2022-03-12 10:36:12 +01:00
Nils Görs cd6b83470e core: update German translations 2022-03-11 20:39:51 +01:00
Sébastien Helleu 3f9c46468c irc: add option "sort" in command /autojoin 2022-03-11 19:31:56 +01:00
Sébastien Helleu 9a286c65c6 tests: add missing include of string.h 2022-03-10 21:37:13 +01:00
Sébastien Helleu aadd0772fe irc: update translations 2022-03-10 21:26:26 +01:00
Sébastien Helleu bb03e18425 irc: display only one message in /autojoin command output 2022-03-10 21:12:46 +01:00
Sébastien Helleu 5d809df6ed tests: move include of tests/tests.h outside of extern "C" 2022-03-10 21:12:46 +01:00
Sébastien Helleu 74ba21a8c4 tests: add tests on verbose argument of irc join functions 2022-03-10 21:12:46 +01:00
Sébastien Helleu 02bdf854bc irc: fix add of same channel with and without key in the array list 2022-03-10 21:12:46 +01:00
Sébastien Helleu 8c66070136 irc: rename server option "autojoin_record" to "autojoin_dynamic" 2022-03-10 21:12:46 +01:00
Sébastien Helleu 9cfdb4a324 irc: add command /autojoin 2022-03-10 21:12:46 +01:00
Sébastien Helleu c1e65e8edd irc: add server option "autojoin_record" 2022-03-10 21:12:46 +01:00
Sébastien Helleu f81a0dc4d9 doc: fix syntax highlighting in Serbian docs 2022-03-07 21:46:33 +01:00
Sébastien Helleu d06f1e8486 guile: remove disabling of guile gmp allocator with Guile ≥ 3.0.8
This fixes the compilation warning:

weechat-guile.c: In function ‘weechat_plugin_init’:
weechat-guile.c:1270:5: warning: ‘scm_install_gmp_memory_functions’ is deprecated [-Wdeprecated-declarations]
2022-03-06 16:42:54 +01:00
Sébastien Helleu ffb6cc3208 tests: add tests on function irc_server_valid 2022-03-05 20:53:01 +01:00
Sébastien Helleu dc779b5179 tests: add tests on functions irc_server_search and irc_server_casesearch 2022-03-04 21:44:46 +01:00
Sébastien Helleu 7228262591 irc: fix display of message 901 (you are now logged out) (closes #1758) 2022-02-28 22:12:22 +01:00
Ivan Pešić e4f93a7f30 doc: Update Serbian documentation 2022-02-22 19:03:51 +01:00
Sébastien Helleu fd27faf899 tests: add tests on function logger_backlog_display_line 2022-02-21 20:17:01 +01:00
Sébastien Helleu 7486ea6dc1 logger: split function logger_backlog into two functions 2022-02-21 20:16:43 +01:00
Sébastien Helleu 9e9e252ff3 doc/relay: fix columns sizes in tables 2022-02-21 18:27:22 +01:00
Sébastien Helleu db368b5824 doc/scripting: fix column size in tables 2022-02-21 18:26:39 +01:00
Sébastien Helleu 214e3cb1c2 doc/user: fix style in tables 2022-02-21 18:26:11 +01:00
Nils Görs b4a14ef1dd doc: update German documentation 2022-02-21 08:58:00 +01:00
Sébastien Helleu 40ff9beb10 doc/dev: add table with list of components for git commit message 2022-02-20 17:31:25 +01:00
Trygve Aaberge d359e8135e doc/api: Add missing parameter to python prototype for config_new_section 2022-02-20 16:49:04 +01:00
Sébastien Helleu 8700e0bb36 scripts: auto-load scripts with supported extensions only (closes #1698) 2022-02-20 16:29:31 +01:00
Sébastien Helleu 601bd7e0b8 doc/user: update dependencies using versions from Debian Bullseye 2022-02-20 16:12:21 +01:00
Sébastien Helleu d3a9ce29fc doc/user: add missing dependency on ruby-pygments.rb to build doc 2022-02-20 09:09:54 +01:00
Sébastien Helleu f39c6a58d0 irc: replace calls to strndup by weechat_strndup 2022-02-19 16:34:36 +01:00
Sébastien Helleu 4068dc8da5 core: replace calls to strndup by string_strndup 2022-02-19 16:34:19 +01:00
Sébastien Helleu 7051c0fc2b tests: add tests on function string_strndup 2022-02-19 16:33:49 +01:00
Sébastien Helleu 7f8e5b892d core: call strdup in string_strndup if bytes equals strlen of string 2022-02-19 16:32:59 +01:00
Sébastien Helleu e0db08c782 debian: change dependency libargon2-0-dev to libargon2-dev (debian bug #1005703) 2022-02-19 10:18:38 +01:00
Sébastien Helleu 6fbfb2f476 core: update sentence about XDG directories in release notes 2022-02-15 07:12:38 +01:00
Sébastien Helleu a2bb57bf82 doc/api: add missing type for argument "count" in Python prototype of function ngettext 2022-02-14 07:25:22 +01:00
Sébastien Helleu ba7ff87d19 irc: fix parsing of message 223 (m_filter) sent by InspIRCd server (closes #1751) 2022-02-10 20:50:16 +01:00
Ivan Pešić d7c8b16c4f doc: Update Serbian documentation 2022-02-08 13:22:24 +01:00
Sébastien Helleu d0c857934b ruby: add detection of Ruby 3.1 2022-02-08 12:41:32 +01:00
Sébastien Helleu e8c59e1f5b core: fix style in ChangeLog 2022-02-05 10:04:25 +01:00
Sébastien Helleu ec86c33789 doc/user: add supported C++ compilers in dependencies 2022-02-01 20:33:17 +01:00
Sébastien Helleu 608f56020d core: search in message tags when tags are displayed with /debug tags 2022-01-30 13:33:21 +01:00
Sébastien Helleu 9259442dbf core: add support of date and tags in messages displayed in buffers with free content, add function printf_y_date_tags (closes #1746) 2022-01-30 11:41:06 +01:00
Sébastien Helleu bf3241208b doc/api: fix type of parameter "date" in script prototype of function prnt_date_tags 2022-01-30 11:01:17 +01:00
Sébastien Helleu 28d6b71d9e tests: add tests on gui_chat_printf_date_tags with past date and tags 2022-01-30 10:01:32 +01:00
Sébastien Helleu 083662cb34 tests: add tests on GUI chat functions
Functions tested:

- gui_chat_utf_char_valid
- gui_chat_char_size_screen
- gui_chat_strlen
- gui_chat_strlen_screen
- gui_chat_string_add_offset
- gui_chat_string_add_offset_screen
- gui_chat_string_real_pos
- gui_chat_string_pos
- gui_chat_get_word_info
- gui_chat_printf_date_tags_internal
- gui_chat_printf_date_tags
- gui_chat_printf_y
2022-01-29 10:24:21 +01:00
Sébastien Helleu bf9cf3875f doc/dev: update format of commit messages for docs 2022-01-29 10:12:32 +01:00
Sébastien Helleu fc2f564950 doc: update auto-generated files with options 2022-01-28 09:36:03 +01:00
Sébastien Helleu efaf88d857 tests: add tests on functions gui_line_build_string_prefix_message and gui_line_build_string_message_tags 2022-01-28 07:45:35 +01:00
Sébastien Helleu 05a9457504 core: move functions from gui-chat.c to gui-line.c
Functions moved and renamed:

- gui_chat_build_string_prefix_message -> gui_line_build_string_prefix_message
- gui_chat_build_string_message_tags -> gui_line_build_string_message_tags
2022-01-28 07:26:11 +01:00
Sébastien Helleu 3110740777 core: use dynamic string in function gui_chat_build_string_message_tags 2022-01-28 07:12:01 +01:00
Sébastien Helleu a62f8f6f75 core: use dynamic string in function gui_chat_build_string_prefix_message 2022-01-28 07:03:44 +01:00
Sébastien Helleu 05eb897771 doc/api: merge examples and results in same column (function string_eval_expression) 2022-01-27 21:15:34 +01:00
Sébastien Helleu 113f93e5db doc/api: add column "Min WeeChat" in string_eval_expression tables 2022-01-27 20:01:46 +01:00
Sébastien Helleu f2aef8c13c core: check that utf_char is not NULL in gui chat functions 2022-01-26 20:24:31 +01:00
Sébastien Helleu 3983f01ee7 core: set prefix to NULL when clearing a line on a buffer with free content 2022-01-26 20:23:16 +01:00
Sébastien Helleu 0ebf3dbede core: fix memory leak when removing a line on a buffer with free content 2022-01-26 20:22:56 +01:00
Sébastien Helleu 13fb3649dd core: update ChangeLog 2022-01-23 15:42:16 +01:00
Trygve Aaberge 6a88bbb4cc Remove old and unused config option weechat.plugin.debug
As far as I can see, this option is not used anywhere and should have
been removed in commit 6e69f7f3c.
2022-01-23 15:41:10 +01:00
Emir SARI b018f8d5c8 core: update Turkish translations 2022-01-23 10:18:59 +01:00
Sébastien Helleu 574f1837f9 python: fix crash in hook callbacks after script loading failure (closes #1740) 2022-01-22 21:34:04 +01:00
Sébastien Helleu 5172f20217 doc: update Serbian auto-generated file 2022-01-21 22:33:35 +01:00
Ivan Pešić ab7c4c0147 doc: Update Serbian translation 2022-01-21 14:49:50 +01:00
Nils Görs 28fc2e7cbf doc: update German documentation 2022-01-18 08:51:55 +01:00
Sébastien Helleu 2d6ab2ec0a core: fix install of PHP 8.0 in CI 2022-01-17 21:27:04 +01:00
Sébastien Helleu c44b79dce7 core: update copyright dates 2022-01-17 18:41:06 +01:00
Sébastien Helleu ab12d384ea doc: add example of hook_process with a script function (scripting guide) 2022-01-16 10:16:27 +01:00
Sébastien Helleu c775242a4c doc: remove useless comparison with empty string in Python examples (plugin API reference) 2022-01-16 10:15:55 +01:00
Sébastien Helleu 619f09f2d6 xfer: fix auto-accept of server/nick when the server name contains UTF-8 chars (issue #1739) 2022-01-15 10:04:43 +01:00
Sébastien Helleu e6f65122a9 spell: fix comparison of URL prefix with UTF-8 chars (issue #1739)
There is no problem in practice because the possible URL prefixes are hardcoded
in the spell plugin and don't contain any UTF-8 char on more than one byte.
2022-01-15 10:04:12 +01:00
Sébastien Helleu 50167ca96f relay: fix comparison of server nonce with UTF-8 chars (issue #1739)
There is no problem in practice because this server nonce is generated by
WeeChat itself and encoded to base64, so it never contains any UTF-8 char on
more than one byte.
2022-01-15 10:03:54 +01:00
Sébastien Helleu b54d06630d irc: fix completion of channel topic with UTF-8 chars (issue #1739) 2022-01-15 09:52:23 +01:00
Sébastien Helleu c13aa86c79 api: fix add of infolist items in hashtable when prefix contains UTF-8 chars in function hashtable_add_from_infolist (issue #1739) 2022-01-15 09:48:50 +01:00
Sébastien Helleu bda7bb64d2 core: fix search of commands with UTF-8 chars in name when option weechat.look.command_incomplete is on (issue #1739) 2022-01-15 09:48:50 +01:00
Sébastien Helleu dee7313fcc trigger: fix search of triggers with UTF-8 chars in name (issue #1739) 2022-01-15 09:36:02 +01:00
Sébastien Helleu 305608ce89 tests: split tests on functions string_tolower and string_toupper 2022-01-14 21:43:06 +01:00
Sébastien Helleu f8915129bf core: rename argument "length" to "bytes" in function string_strndup 2022-01-14 21:41:25 +01:00
Nils Görs 0e57d01076 doc: update German documentation 2022-01-12 12:37:00 +01:00
Sébastien Helleu 286338f627 doc: add missing macro WEECHAT_PLUGIN_AUTHOR (plugin API reference) 2022-01-08 17:05:51 +01:00
Sébastien Helleu 9bbab7ff02 irc: use default callback in case of missing parameters in messages 311/312/327 (whois) and 314 (whowas) 2022-01-06 08:14:11 +01:00
Sébastien Helleu 6670fd2a87 irc: add macro to run another protocol callback 2022-01-06 08:10:44 +01:00
Sébastien Helleu 0d6b18bc54 irc: fix parsing of message 338 (whois, host) sent by Rizon server (closes #1737) 2022-01-05 08:24:04 +01:00
Sébastien Helleu 8c49475f75 irc: fix display of message 344 received as whois geo info (closes #1736) 2022-01-04 19:53:48 +01:00
Sébastien Helleu 08e0d3912a doc: add note about chars replaced in IRC tag key/value (user's guide) 2021-12-30 21:49:51 +01:00
Sébastien Helleu 532d46bb93 trigger: add variables ${tg_tag_irc_xxx} containing IRC message tags (issue #1680) 2021-12-30 21:22:37 +01:00
Sébastien Helleu b66298d369 irc: add IRC message tags in messages displayed (closes #1680) 2021-12-30 21:11:22 +01:00
Sébastien Helleu 5c6fc8c4bd doc: update OS examples in contributing guide 2021-12-30 07:25:23 +01:00
Sébastien Helleu ee96b9b867 doc: change pygments pre-processor color from red to green/cyan 2021-12-28 23:34:38 +01:00
Sébastien Helleu 1c022d3bda doc: move section "Fset" in "Configuration" (user's guide) 2021-12-28 22:22:14 +01:00
Sébastien Helleu dd2b19ec42 core: fix display of hotlist in buflist after changing value of option weechat.look.hotlist_sort (closes #1733)
The "hotlist" pointer in buffers was lost, it is now set again after switching
to the newly sorted hotlist.
2021-12-28 13:52:58 +01:00
Sébastien Helleu df0506dbdf doc: update German auto-generated file 2021-12-28 13:34:15 +01:00
Nils Görs 93eafae2fe core: update German translations 2021-12-27 10:42:54 +01:00
Sébastien Helleu 7fb1dd94cc core: add build of Debian packages in CI 2021-12-25 16:26:43 +01:00
Sébastien Helleu c8a8680d60 relay: improve help on option relay.network.compression 2021-12-25 10:44:00 +01:00
Sébastien Helleu af067f18e2 doc: update auto-generated files with options 2021-12-25 10:31:44 +01:00
Sébastien Helleu 454c0acbcf doc: fix color of preformatted text in docs 2021-12-25 10:30:18 +01:00
Sébastien Helleu 498194f6fc relay: add zstd compression in weechat protocol
Option relay.network.compression_level is renamed to relay.network.compression
and is now a percentage between 0 (no compression) to 100 (best compression,
slowest).

Compression is now disabled by default in weechat protocol and must be enabled
via the `handshake` command (option `compression` has been removed from `init`
command).
2021-12-24 16:45:57 +01:00
Sébastien Helleu d5c391b1ee irc: fix display of IRC numeric messages with no parameters
For example this MOTD message is properly displayed (empty line):

  :server.example.com 372 nick :
2021-12-23 18:43:12 +01:00
Nils Görs 20e219a2c9 doc: update German documentation 2021-12-20 10:23:22 +01:00
Sébastien Helleu abb7d3642a core: use shortcuts for URLs pointing to documentation 2021-12-19 12:31:45 +01:00
Sébastien Helleu 7f2cce2970 core: fix link to doc on IRC plugin in README 2021-12-19 12:31:09 +01:00
Sébastien Helleu 7a0fdd1966 core: remove tests on Travis CI
Travis CI has been replaced by GitHub Actions since May 2020.
2021-12-19 12:22:50 +01:00
Sébastien Helleu fae6bbb40e core: fix styles in ChangeLog and release notes 2021-12-19 10:51:29 +01:00
Sébastien Helleu 5bb56e0f57 doc: mention IRC server buffer in default key binding ctrl-x (user's guide) 2021-12-18 13:41:09 +01:00
Sébastien Helleu 5de21ddfc0 Version 3.5-dev 2021-12-18 09:22:12 +01:00
709 changed files with 24867 additions and 15943 deletions
+49 -12
View File
@@ -4,12 +4,14 @@ on:
- push
- pull_request
env:
WEECHAT_DEPENDENCIES: devscripts equivs python3-pip libenchant-dev autopoint cmake ninja-build lcov pkg-config libncursesw5-dev gem2deb libperl-dev python2-dev python3-dev libaspell-dev liblua5.3-dev tcl8.6-dev guile-2.2-dev libv8-dev libcurl4-gnutls-dev libgcrypt20-dev libgnutls28-dev libzstd-dev zlib1g-dev curl libcpputest-dev php8.0-dev libphp8.0-embed libargon2-dev libsodium-dev pylint python3-bandit asciidoctor
jobs:
build_linux:
tests_linux:
strategy:
fail-fast: false
matrix:
os:
- ubuntu-20.04
@@ -23,7 +25,7 @@ jobs:
- { name: "autotools_gcc", cc: "gcc", cxx: "g++", tool: "autotools", args: "" }
- { name: "autotools_clang", cc: "clang", cxx: "clang++", tool: "autotools", args: "" }
name: ${{ matrix.config.name }} on ${{ matrix.os }}
name: "Tests: ${{ matrix.config.name }} on ${{ matrix.os }}"
runs-on: ${{ matrix.os }}
steps:
@@ -35,12 +37,9 @@ jobs:
sudo apt-add-repository --yes ppa:ondrej/php
sudo apt-get update -qq
sudo apt-get --yes purge php8.1-dev
sudo apt-get --yes --no-install-recommends install devscripts equivs python3-pip libenchant-dev autopoint cmake ninja-build lcov pkg-config libncursesw5-dev gem2deb libperl-dev python2-dev python3-dev libaspell-dev liblua5.3-dev tcl8.6-dev guile-2.0-dev libv8-dev libcurl4-gnutls-dev libgcrypt20-dev libgnutls28-dev zlib1g-dev curl libcpputest-dev php8.0-dev libphp8.0-embed libargon2-0-dev libsodium-dev pylint python3-bandit asciidoctor
sudo apt-get --yes --no-install-recommends install ${{ env.WEECHAT_DEPENDENCIES }}
sudo -H pip3 install --ignore-installed msgcheck
- name: Test patches
run: ./tools/build-debian.sh test-patches
- name: Check gettext files
run: msgcheck po/*.po
@@ -72,7 +71,7 @@ jobs:
weechat --colors
weechat --license
weechat --version
weechat --temp-dir --run-command "/debug dirs;/debug libs" --run-command "/quit"
weechat --run-command "/debug dirs;/debug libs" --run-command "/quit"
- name: Code coverage
if: ${{ matrix.config.name == 'cmake_gcc_coverage' }}
@@ -85,10 +84,9 @@ jobs:
lcov --list coverage.info
bash <(curl -s https://codecov.io/bash) -f coverage.info || echo 'Codecov error'
build_macos:
tests_macos:
strategy:
fail-fast: false
matrix:
os:
- macos-11
@@ -97,7 +95,7 @@ jobs:
- { name: "cmake_gcc", cc: "gcc", cxx: "g++" }
- { name: "cmake_clang", cc: "clang", cxx: "clang++" }
name: ${{ matrix.config.name }} on ${{ matrix.os }}
name: "Tests: ${{ matrix.config.name }} on ${{ matrix.os }}"
runs-on: ${{ matrix.os }}
steps:
@@ -128,4 +126,43 @@ jobs:
weechat --colors
weechat --license
weechat --version
weechat --temp-dir --run-command "/debug dirs;/debug libs" --run-command "/quit"
weechat --run-command "/debug dirs;/debug libs" --run-command "/quit"
build_debian:
strategy:
matrix:
os:
- ubuntu-20.04
name: "Build Debian on ${{ matrix.os }}"
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v2
- name: Install dependencies
run: |
sudo apt-add-repository --yes ppa:ondrej/php
sudo apt-get update -qq
sudo apt-get --yes purge php8.1-dev
sudo apt-get --yes --no-install-recommends install ${{ env.WEECHAT_DEPENDENCIES }} php-dev
- name: Test Debian patches
run: ./tools/build-debian.sh test-patches
- name: Build Debian packages
run: ./tools/build-debian.sh devel ubuntu/focal
- name: Install Debian packages
run: sudo dpkg -i ../weechat-devel*.deb
- name: Run WeeChat
env:
TERM: xterm-256color
run: |
weechat --help
weechat-curses --help
weechat --version
weechat --run-command "/debug dirs;/debug libs" --run-command "/quit"
+3 -1
View File
@@ -11,7 +11,9 @@ Sébastien Helleu <flashcode@flashtux.org> <flashcode>
Sébastien Helleu <flashcode@flashtux.org> <uid67137>
Nils Görs <weechatter@arcor.de>
Ryuunosuke Ayanokouzi <i38w7i3@yahoo.co.jp>
Krzysztof Korościk <soltys1@gmail.com> <soltys@szluug.org> <soltys@soltys.info>
Krzysztof Korościk <soltys@soltys.info>
Krzysztof Korościk <soltys@soltys.info> <soltys1@gmail.com>
Krzysztof Korościk <soltys@soltys.info> <soltys@szluug.org>
Marco Paolone <marcopaolone@gmail.com>
<marcopaolone@gmail.com> <marco@DrB4tch.sitecomwl601>
<mikaela.suomalainen@outlook.com> <mkaysi@outlook.com>
-46
View File
@@ -1,46 +0,0 @@
dist: bionic
sudo: required
language: c
env:
- CC="gcc" CXX="g++" BUILDTOOL="cmake" BUILDARGS=""
- CC="gcc" CXX="g++" BUILDTOOL="cmake" BUILDARGS="-DENABLE_PYTHON2=ON"
# - CC="gcc" CXX="g++" BUILDTOOL="cmake" BUILDARGS="-DENABLE_CODE_COVERAGE=ON" CODECOVERAGE="1"
- CC="gcc" CXX="g++" BUILDTOOL="autotools" BUILDARGS=""
- CC="gcc" CXX="g++" BUILDTOOL="autotools" BUILDARGS="--enable-python2"
- CC="clang" CXX="clang++" BUILDTOOL="cmake" BUILDARGS=""
- CC="clang" CXX="clang++" BUILDTOOL="cmake" BUILDARGS="-DENABLE_PYTHON2=ON"
- CC="clang" CXX="clang++" BUILDTOOL="autotools" BUILDARGS=""
- CC="clang" CXX="clang++" BUILDTOOL="autotools" BUILDARGS="--enable-python2"
matrix:
fast_finish: true
before_script:
- echo 'APT::Install-Recommends "false";' | sudo tee -a /etc/apt/apt.conf
- travis_retry sudo apt-get update -qq
- travis_retry sudo apt-get -y install devscripts equivs python-pip libenchant-dev autopoint cmake lcov pkg-config libncursesw5-dev gem2deb libperl-dev python-dev python3-dev libaspell-dev liblua5.3-dev tcl8.6-dev guile-2.0-dev libv8-dev libcurl4-gnutls-dev libgcrypt20-dev libgnutls28-dev zlib1g-dev curl libcpputest-dev php7.2-dev libphp7.2-embed libargon2-0-dev libsodium-dev pylint3
- travis_retry sudo gem install asciidoctor
- travis_retry sudo -H pip install --ignore-installed msgcheck
- phpenv local system
# work around broken travis environment variables, see https://github.com/travis-ci/travis-ci/issues/5301
- unset PYTHON_CFLAGS
script:
- ./tools/build-test.sh
- msgcheck po/*.po
- pylint3 --version
- pylint3 --additional-builtins=_ doc/docgen.py
- pylint3 tests/scripts/python/testapigen.py
- pylint3 tests/scripts/python/testapi.py
- pylint3 tests/scripts/python/unparse.py
- ./tools/build-debian.sh test-patches
after_success:
- weechat --help
- weechat-curses --help
- weechat --colors
- weechat --license
- weechat --version
- weechat --temp-dir --run-command "/debug dirs;/debug libs" --run-command "/quit"
# - if [ "$CODECOVERAGE" = "1" ]; then bash <(curl -s https://codecov.io/bash) -f coverage.info || echo "Codecov error"; fi
+1 -2
View File
@@ -155,5 +155,4 @@ Alphabetically:
== Contact
See https://weechat.org/files/doc/devel/weechat_user.en.html#support[user's guide]
or https://weechat.org/about/support
See the https://weechat.org/about/support/[support page].
+5 -2
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2021 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2007-2008 Julien Louis <ptitlouis@sysif.net>
# Copyright (C) 2008-2009 Emmanuel Bouthenot <kolter@openics.org>
#
@@ -196,7 +196,10 @@ list(APPEND EXTRA_LIBS gnutls)
# Check for zlib
find_package(ZLIB REQUIRED)
add_definitions(-DHAVE_ZLIB)
# Check for zstd
include(FindPkgConfig)
pkg_check_modules(LIBZSTD REQUIRED libzstd)
# Check for iconv
find_package(Iconv)
+509 -457
View File
File diff suppressed because it is too large Load Diff
+5 -6
View File
@@ -29,8 +29,8 @@ please include:
_WeeChat 1.7-dev (git: v1.6-6-g997f47f)_. +
If WeeChat does not start at all, please include the version displayed by
`weechat --help` (or the version installed with your package manager).
* Your *operating system*: its name and version (examples: Linux Debian Wheezy,
FreeBSD 10.0, Windows/Cygwin 64-bit, Windows/Ubuntu 64-bit...).
* Your *operating system*: its name and version (examples: Linux Debian Bullseye,
FreeBSD 13.0, Windows/Cygwin 64-bit, Windows/Ubuntu 64-bit...).
* The *steps to reproduce*: if possible, please include a reproducible example:
explain the steps which led you to the problem. +
It's even better if you can reproduce the problem with a new config (and no
@@ -38,8 +38,7 @@ please include:
problem here.
* The *gdb's backtrace* (only for a crash): if you can reproduce the crash
(or if you have a core file), please include the backtrace from gdb (look at
https://weechat.org/files/doc/devel/weechat_user.en.html#report_crashes[User's guide]
for more info).
https://weechat.org/doc/user#report_crashes[User's guide] for more info).
* The *actual result*.
* The *expected result*: the correct result you are expecting.
@@ -69,7 +68,7 @@ time, for https://github.com/weechat/weechat[WeeChat] and the website
https://github.com/weechat/weechat.org[weechat.org].
To start a translation in a new language (not yet supported), please look at
https://weechat.org/files/doc/devel/weechat_dev.en.html#translations[translations]
https://weechat.org/doc/dev#translations[translations]
in Developer's guide.
== Feature requests
@@ -85,6 +84,6 @@ For major new features, it's better to discuss about it in IRC
(server: _irc.libera.chat_, channel _#weechat_).
Before submitting any pull request, be sure you have read the
https://weechat.org/files/doc/devel/weechat_dev.en.html#coding_rules[coding rules]
https://weechat.org/doc/dev#coding_rules[coding rules]
in Developer's guide, which contains info about styles used, naming convention
and other useful info.
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2021 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2005 Julien Louis <ptitlouis@sysif.net>
# Copyright (C) 2006-2009 Emmanuel Bouthenot <kolter@openics.org>
#
+5 -7
View File
@@ -23,13 +23,13 @@ Homepage: https://weechat.org/
== Features
* *Modular chat client*: WeeChat has a lightweight core and optional https://weechat.org/files/doc/stable/weechat_user.en.html#plugins[plugins]. All plugins (including https://weechat.org/files/doc/stable/weechat_user.en.html#irc_plugin[IRC]) are independent and can be unloaded.
* *Modular chat client*: WeeChat has a lightweight core and optional https://weechat.org/doc/user#plugins[plugins]. All plugins (including https://weechat.org/doc/user#irc[IRC]) are independent and can be unloaded.
* *Multi-platform*: WeeChat runs on GNU/Linux, *BSD, GNU/Hurd, Haiku, macOS and Windows (Bash/Ubuntu and Cygwin).
* *Multi-protocols*: WeeChat is designed to support multiple protocols by plugins, like IRC.
* *Standards-compliant*: the IRC plugin is compliant with RFCs https://tools.ietf.org/html/rfc1459[1459], https://tools.ietf.org/html/rfc2810[2810], https://tools.ietf.org/html/rfc2811[2811], https://tools.ietf.org/html/rfc2812[2812], and https://tools.ietf.org/html/rfc2813[2813].
* *Small, fast, and very light*: the core is and should stay as light and fast as possible.
* *Customizable and extensible*: there are a lot of options to customize WeeChat, and it is extensible with C plugins and https://weechat.org/scripts/[scripts] (https://weechat.org/scripts/language/perl/[Perl], https://weechat.org/scripts/language/python/[Python], https://weechat.org/scripts/language/ruby[Ruby], https://weechat.org/scripts/language/lua/[Lua], https://weechat.org/scripts/language/tcl/[Tcl], https://weechat.org/scripts/language/guile/[Scheme], https://weechat.org/scripts/language/javascript/[JavaScript] and https://weechat.org/scripts/language/php/[PHP]).
* *Fully documented*: there is comprehensive https://weechat.org/doc/[documentation], which is https://weechat.org/files/doc/stable/weechat_dev.en.html#translations[translated] into several languages.
* *Fully documented*: there is comprehensive https://weechat.org/doc/[documentation], which is https://weechat.org/doc/dev#translations[translated] into several languages.
* *Developed from scratch*: WeeChat was built from scratch and is not based on any other client.
* *Free software*: WeeChat is released under https://www.gnu.org/licenses/gpl-3.0.html[GPLv3].
@@ -39,15 +39,13 @@ On WeeChat's website you can find https://weechat.org/about/screenshots/[more sc
== Installation
WeeChat can be installed using your favorite package manager (recommended)
or by compiling it yourself.
WeeChat can be installed using your favorite package manager (recommended) or by compiling it yourself.
For detailed instructions, please check the
https://weechat.org/files/doc/stable/weechat_user.en.html#install[WeeChat user's guide].
For detailed instructions, please check the https://weechat.org/doc/user#install[WeeChat user's guide].
== Copyright
Copyright (C) 2003-2021 Sébastien Helleu <flashcode@flashtux.org>
Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
This file is part of WeeChat, the extensible chat client.
+272 -257
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -1,6 +1,6 @@
#!/bin/sh
#
# Copyright (C) 2003-2021 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2005 Julien Louis <ptitlouis@sysif.net>
# Copyright (C) 2005-2006 Emmanuel Bouthenot <kolter@openics.org>
#
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2021 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
#
# This file is part of WeeChat, the extensible chat client.
#
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2021 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
#
# This file is part of WeeChat, the extensible chat client.
#
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2014-2021 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2014-2022 Sébastien Helleu <flashcode@flashtux.org>
#
# This file is part of WeeChat, the extensible chat client.
#
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2021 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
#
# This file is part of WeeChat, the extensible chat client.
#
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2021 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2007 Julien Louis <ptitlouis@sysif.net>
# Copyright (C) 2009 Emmanuel Bouthenot <kolter@openics.org>
#
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2021 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2009 Emmanuel Bouthenot <kolter@openics.org>
#
# This file is part of WeeChat, the extensible chat client.
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2011-2021 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2011-2022 Sébastien Helleu <flashcode@flashtux.org>
#
# This file is part of WeeChat, the extensible chat client.
#
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2021 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
#
# This file is part of WeeChat, the extensible chat client.
#
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2021 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
#
# This file is part of WeeChat, the extensible chat client.
#
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2021 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
#
# This file is part of WeeChat, the extensible chat client.
#
+1 -1
View File
@@ -1,6 +1,6 @@
#
# Copyright (C) 2017 Adam Saponara <as@php.net>
# Copyright (C) 2017-2021 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2017-2022 Sébastien Helleu <flashcode@flashtux.org>
#
# This file is part of WeeChat, the extensible chat client.
#
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2021 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
#
# This file is part of WeeChat, the extensible chat client.
#
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2021 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2009 Julien Louis <ptitlouis@sysif.net>
#
# This file is part of WeeChat, the extensible chat client.
+2 -2
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2021 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
#
# This file is part of WeeChat, the extensible chat client.
#
@@ -37,7 +37,7 @@ if(PKG_CONFIG_FOUND)
# set specific search path for macOS
set(ENV{PKG_CONFIG_PATH} "$ENV{PKG_CONFIG_PATH}:/usr/local/opt/ruby/lib/pkgconfig")
endif()
pkg_search_module(RUBY ruby-3.0 ruby-2.7 ruby-2.6 ruby-2.5 ruby-2.4 ruby-2.3 ruby-2.2 ruby-2.1 ruby-2.0 ruby-1.9 ruby)
pkg_search_module(RUBY ruby-3.1 ruby-3.0 ruby-2.7 ruby-2.6 ruby-2.5 ruby-2.4 ruby-2.3 ruby-2.2 ruby-2.1 ruby-2.0 ruby-1.9 ruby)
if(RUBY_FOUND AND ${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
# FIXME: weird hack: hardcoding the Ruby lib location on macOS
set(RUBY_LDFLAGS "${RUBY_LDFLAGS} -L/usr/local/opt/ruby/lib")
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2015-2021 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2015-2022 Sébastien Helleu <flashcode@flashtux.org>
#
# This file is part of WeeChat, the extensible chat client.
#
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2021 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
#
# This file is part of WeeChat, the extensible chat client.
#
+23 -2
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2021 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2005 Benoit Papillault <benoit.papillault@free.fr>
# Copyright (C) 2005-2006 Julien Louis <ptitlouis@sysif.net>
# Copyright (C) 2005-2009 Emmanuel Bouthenot <kolter@openics.org>
@@ -501,7 +501,7 @@ RUBY_VERSION=
if test "x$enable_ruby" = "xyes" ; then
RUBY_CFLAGS=""
RUBY_LFLAGS=""
for v in "3.0" "2.7" "2.6" "2.5" "2.4" "2.3" "2.2" "2.1" "2.0" "1.9" "1.8" ; do
for v in "3.1" "3.0" "2.7" "2.6" "2.5" "2.4" "2.3" "2.2" "2.1" "2.0" "1.9" "1.8" ; do
pkgconfig_ruby_found=`$PKGCONFIG --exists ruby-$v 2>/dev/null`
if test "x$?" = "x0" ; then
RUBY_VERSION=`$PKGCONFIG --modversion ruby-$v`
@@ -1175,6 +1175,27 @@ else
AC_SUBST(ZLIB_LFLAGS)
fi
# ------------------------------------------------------------------------------
# zstd
# ------------------------------------------------------------------------------
AC_CHECK_HEADER(zstd.h,ac_found_zstd_header="yes",ac_found_zstd_header="no")
AC_CHECK_LIB(zstd,ZSTD_compress,ac_found_zstd_lib="yes",ac_found_zstd_lib="no")
AC_MSG_CHECKING(for zstd headers and libraries)
if test "x$ac_found_zstd_header" = "xno" -o "x$ac_found_zstd_lib" = "xno" ; then
AC_MSG_RESULT(no)
AC_MSG_ERROR([
*** zstd was not found. You may want to get it from https://github.com/facebook/zstd
*** or try to install it with your software package manager.])
else
AC_MSG_RESULT(yes)
ZSTD_CFLAGS=`pkg-config libzstd --cflags`
ZSTD_LFLAGS=`pkg-config libzstd --libs`
AC_SUBST(ZSTD_CFLAGS)
AC_SUBST(ZSTD_LFLAGS)
fi
# ------------------------------------------------------------------------------
# curl
# ------------------------------------------------------------------------------
+2 -1
View File
@@ -14,11 +14,12 @@ Build-Depends:
liblua5.3-dev,
tcl8.6-dev,
guile-2.2-dev,
php-dev, libphp-embed, libargon2-0-dev, libsodium-dev,
php-dev, libphp-embed, libargon2-dev, libsodium-dev,
libxml2-dev,
libcurl4-gnutls-dev,
libgcrypt20-dev,
libgnutls28-dev,
libzstd-dev,
zlib1g-dev
Standards-Version: 4.6.0.1
Homepage: https://weechat.org/
+6
View File
@@ -1,3 +1,9 @@
weechat (3.4-2) unstable; urgency=medium
* Remove build dependency on ruby-pygments.rb (no longer required)
-- Emmanuel Bouthenot <kolter@debian.org> Sat, 08 Jan 2022 06:00:17 +0000
weechat (3.3-1) unstable; urgency=medium
* New upstream release
+2 -1
View File
@@ -14,11 +14,12 @@ Build-Depends:
liblua5.3-dev,
tcl8.6-dev,
guile-2.2-dev,
php-dev, libphp-embed, libargon2-0-dev, libsodium-dev,
php-dev, libphp-embed, libargon2-dev, libsodium-dev,
libxml2-dev,
libcurl4-gnutls-dev,
libgcrypt20-dev,
libgnutls28-dev,
libzstd-dev,
zlib1g-dev
Standards-Version: 4.6.0.1
Homepage: https://weechat.org/
+1 -1
View File
@@ -4,7 +4,7 @@ Upstream-Contact: Sébastien Helleu <flashcode@flashtux.org>
Source: https://weechat.org/
Files: *
Copyright: 2003-2021, Sébastien Helleu <flashcode@flashtux.org>
Copyright: 2003-2022, Sébastien Helleu <flashcode@flashtux.org>
License: GPL-3+
Files: src/core/wee-command.c
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2021 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2009 Emmanuel Bouthenot <kolter@openics.org>
#
# This file is part of WeeChat, the extensible chat client.
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2021 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2006 Julien Louis <ptitlouis@sysif.net>
#
# This file is part of WeeChat, the extensible chat client.
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2021 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
#
# This file is part of WeeChat, the extensible chat client.
#
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2021 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
#
# This file is part of WeeChat, the extensible chat client.
#
+1 -1
View File
@@ -99,7 +99,7 @@ $HOME/.local/share/weechat/weechat.log::
WeeChat je napsán Sébastienem Helleu a přispěvovateli (kompletní seznam je v
souboru AUTHORS.adoc).
Copyright (C) 2003-2021 {author}
Copyright (C) 2003-2022 {author}
WeeChat is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2021 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
#
# This file is part of WeeChat, the extensible chat client.
#
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2021 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2006 Julien Louis <ptitlouis@sysif.net>
#
# This file is part of WeeChat, the extensible chat client.
@@ -26,6 +26,8 @@
| irc | irc_channels | Kanäle auf allen IRC Servern
| irc | irc_channels_autojoin | Kanäle, die automatisch auf dem aktuellen Server betreten werden (Option "autojoin")
| irc | irc_ignores_numbers | Anzahl für festgelegte Ignorierungen
| irc | irc_modelist_masks | Modelist Maske für aktuellen IRC Kanal; benötigtes Argument: modelist mode
@@ -123,6 +123,35 @@ Beispiele:
/auth user2 ${weechat_config_dir}/ecdsa2.pem
----
[[command_irc_autojoin]]
* `+autojoin+`: Konfigurieren der Serveroption "autojoin"
----
/autojoin add [<channel1> [<channel2>...]]
addraw <channel1>[,<channel2>...] [<key1>[,<key2>...]]
del [<channel1> [<channel2>...]]
save
sort
add: Hinzufügen des aktuellen Kanals oder einer Liste von Kanälen (mit optionalen Schlüsseln) zur autojoin-Option; Wenn Sie sich in dem Kanal befinden und der Schlüssel nicht übergeben wird, wird der Schlüssel im Kanal gelesen
addraw: das IRC Roh-Format wird genutzt (wie beim /join Befehl): alle Kanäle werden durch Kommata voneinander getrennt und optional werden die Schlüssel durch Kommata separiert
del: Löschen des aktuellen Kanals oder eine Liste von Kanälen aus der autoJoin-Option
channel: Kanalname
key: Schlüssel für den Kanal
save: Speichert die aktuell besuchten Kanäle in der autojoin-Option
sort: sortiert die Kanäle alphabetisch in der autojoin Option
Beispiele:
/autojoin add
/autojoin add #test
/autojoin add #chan1 #chan2
/autojoin addraw #chan1,#chan2,#chan3 key1,key2
/autojoin del
/autojoin del #chan1
/autojoin save
/autojoin sort
----
[[command_irc_ban]]
* `+ban+`: Nicknamen oder Hosts sperren/verbannen
+10 -10
View File
@@ -1290,12 +1290,6 @@
** Werte: beliebige Zeichenkette
** Standardwert: `+"*"+`
* [[option_weechat.plugin.debug]] *weechat.plugin.debug*
** Beschreibung: pass:none[aktiviert Debug-Nachrichten für alle Erweiterungen (diese Einstellung ist standardmäßig deaktiviert und das ist auch gut so)]
** Typ: boolesch
** Werte: on, off
** Standardwert: `+off+`
* [[option_weechat.plugin.extension]] *weechat.plugin.extension*
** Beschreibung: pass:none[durch Kommata getrennte Liste von Dateinamenserweiterungen, welche für die Erweiterungen genutzt werden sollen]
** Typ: Zeichenkette
@@ -2696,6 +2690,12 @@
** Werte: beliebige Zeichenkette
** Standardwert: `+""+`
* [[option_irc.server_default.autojoin_dynamic]] *irc.server_default.autojoin_dynamic*
** Beschreibung: pass:none[Setze automatisch die "autojoin"-Option entsprechend den Kanälen, die du manuell beitrittst bzw. verlässt, mit den Befehlen /join und /part]
** Typ: boolesch
** Werte: on, off
** Standardwert: `+off+`
* [[option_irc.server_default.autoreconnect]] *irc.server_default.autoreconnect*
** Beschreibung: pass:none[Nach einer Trennung vom Server die Verbindung automatisch wiederherstellen]
** Typ: boolesch
@@ -3064,11 +3064,11 @@
** Werte: -1 .. 43200
** Standardwert: `+0+`
* [[option_relay.network.compression_level]] *relay.network.compression_level*
** Beschreibung: pass:none[Kompressionsstärke der Pakete die durch das WeeChat Protokoll an den Client gesendet werden sollen (0 = Kompression deaktiviert, 1 = niedrige Kompression ... 9 = stärkste Kompression)]
* [[option_relay.network.compression]] *relay.network.compression*
** Beschreibung: pass:none[Komprimierung von Nachrichten, die mittels "weechat" Protokoll an Clients gesendet werden: 0 = Komprimierung deaktivieren, 1 = geringe Komprimierung / schnell ... 100 = beste Komprimierung / langsam; dieser Wert ist eine Prozentangabe, welcher für zlib nach 1-9 und für zstd nach 1-19 umgewandelt wird; der Standardwert wird empfohlen, denn er bietet einen guten Kompromiss zwischen Kompression und Geschwindigkeit]
** Typ: integer
** Werte: 0 .. 9
** Standardwert: `+6+`
** Werte: 0 .. 100
** Standardwert: `+20+`
* [[option_relay.network.ipv6]] *relay.network.ipv6*
** Beschreibung: pass:none[lauscht standardmäßig am IPv6 Socket (zusätzlich zu IPv4, welches als Standardprotokoll genutzt wird); mittels des Protokollnamens kann das IPv4 und IPv6 Protokoll, einzeln oder gemeinsam, erzwungen werden (siehe /help relay)]
+1 -1
View File
@@ -100,7 +100,7 @@ $HOME/.local/share/weechat/weechat.log::
WeeChat wird programmiert von Sébastien Helleu und weiteren Beteiligten (eine vollständige Auflistung
findet man in der AUTHORS.adoc Datei).
Copyright (C) 2003-2021 {author}
Copyright (C) 2003-2022 {author}
WeeChat is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
+15
View File
@@ -887,6 +887,21 @@ um sich vor dem Betreten von Channels bei "nickserv" zu identifizieren:
[[edit_autojoin]]
=== Wie kann ich Channels zur autojoin Option entfernen/hinzufügen?
Ab WeeChat ≥ 3.5 können Sie die Kanäle, denen Sie manuell betreten und verlassen,
automatisch aufzeichnen und die Serveroption „autojoin“ entsprechend anpassen.
Für alle Server:
----
/set irc.server_default.autojoin_record on
----
Für einen einzelnen Server:
----
/set irc.server.libera.autojoin_record on
----
Um die Liste der autojoin Channels zu editieren,
kann der Befehl `/set` genutzt werden.
In folgendem Beispiel wird der "libera"-Server angepasst:
+59 -24
View File
@@ -205,6 +205,12 @@ Funktionen werden aufgerufen mittels `+weechat.xxx(arg1, arg2, ...)+`.
Funktionen werden aufgerufen mittels `+weechat::xxx arg1 arg2 ...+`.
Da Tcl nur String-Typen hat, gibt es keinen Null-Typ, der als Argument übergeben werden kann
wenn eine Funktion Nullwerte akzeptiert. Um dies zu überwinden, können Sie die Konstante
`$::weechat::WEECHAT_NULL` verwenden, das als Nullwert fungiert. Diese Konstante ist definiert
als `\uFFFF\uFFFF\uFFFFWEECHAT_NULL\uFFFF\uFFFF\uFFFF`, es ist somit sehr unwahrscheinlich
das es ungewollt verwendet wird.
[[language_guile]]
==== Guile (Scheme)
@@ -560,7 +566,7 @@ lesen Sie bitte link:weechat_plugin_api.en.html[WeeChat Plugin API Reference] (E
Liste der Skript API Funktionen:
[width="100%",cols="1,3",options="header"]
[width="100%",cols="1,5",options="header"]
|===
| Kategorie | Funktionen
@@ -660,6 +666,7 @@ Liste der Skript API Funktionen:
print (für Python: prnt) +
print_date_tags (für Python: prnt_date_tags) +
print_y (für Python: prnt_y) +
print_y_date_tags (für Python: prnt_y_date_tags) +
log_print
| Hooks |
@@ -690,6 +697,7 @@ Liste der Skript API Funktionen:
| Buffer |
buffer_new +
buffer_new_props +
current_buffer +
buffer_search +
buffer_search_main +
@@ -808,7 +816,7 @@ Liste der Skript API Funktionen:
Liste der Konstanten in Skript API:
[width="100%",cols="1,3",options="header"]
[width="100%",cols="1,5",options="header"]
|===
| Kategorie | Konstanten
@@ -893,7 +901,7 @@ Beispiele:
weechat.prnt("", "Hallo")
# Gibt den Text "Hallo" im Core Buffer aus, schreibt diesen aber nicht in die Protokolldatei
# (nur Version >= 0.3.3)
# (nur Version 0.3.3)
weechat.prnt_date_tags("", 0, "no_log", "hello")
# Gibt den Präfix "==>" gefolgt von dem Text "Hallo" im aktuellen Buffer aus
@@ -1073,26 +1081,53 @@ Mit der Funktion `+hook_process+` kann ein Hintergrundprozess gestartet werden.
Der Callback wird aufgerufen sobald der Hintergrundprozess abgearbeitet wurde.
Dies kann auch mehrfach der Fall sein.
Für den letzten Aufruf des Callback wird _rc_ auf 0 oder einen positiven Wert
gesetzt. Dies ist der Return Code des Befehls.
Für den letzten Aufruf des Callback wird _return_code_ auf 0 oder einen positiven
Wert gesetzt. Dies ist der Return Code des Befehls.
Beispiele:
[source,python]
----
process_output = ""
def my_process_cb(data, command, rc, out, err):
global process_output
if out != "":
process_output += out
if int(rc) >= 0:
weechat.prnt("", process_output)
def my_process_cb(data, command, return_code, out, err):
if return_code == weechat.WEECHAT_HOOK_PROCESS_ERROR:
weechat.prnt("", "Error with command '%s'" % command)
return weechat.WEECHAT_RC_OK
if return_code >= 0:
weechat.prnt("", "return_code = %d" % return_code)
if out:
weechat.prnt("", "stdout: %s" % out)
if err:
weechat.prnt("", "stderr: %s" % err)
return weechat.WEECHAT_RC_OK
weechat.hook_process("/bin/ls -l /etc", 10 * 1000, "my_process_cb", "")
----
Sie können statt eines externen Befehls auch direkt eine
Skriptfunktion aufrufen, die Weechat blockieren würde:
[source,python]
----
def get_status(data):
# do something blocking...
# ...
return "this is the result"
def my_process_cb(data, command, return_code, out, err):
if return_code == weechat.WEECHAT_HOOK_PROCESS_ERROR:
weechat.prnt("", "Error with command '%s'" % command)
return weechat.WEECHAT_RC_OK
if return_code >= 0:
weechat.prnt("", "return_code = %d" % return_code)
if out:
weechat.prnt("", "stdout: %s" % out)
if err:
weechat.prnt("", "stderr: %s" % err)
return weechat.WEECHAT_RC_OK
hook = weechat.hook_process("func:get_status", 5000, "my_process_cb", "")
----
[[url_transfer]]
==== URL Übertragung
@@ -1107,15 +1142,15 @@ dabei in der Callback-Variable "out" gesichert (Standardausgabe des Prozesses):
[source,python]
----
# Zeigt die aktuelle stabile Version von WeeChat an.
weechat_version = ""
# Display latest stable version of WeeChat.
weechat_latest_version = ""
def weechat_process_cb(data, command, rc, out, err):
global weechat_version
if out != "":
weechat_version += out
if int(rc) >= 0:
weechat.prnt("", "aktuelle stabile WeeChat-Version: %s" % weechat_version)
def weechat_process_cb(data, command, return_code, out, err):
global weechat_latest_version
if out:
weechat_latest_version += out
if return_code >= 0:
weechat.prnt("", "Latest WeeChat version: %s" % weechat_latest_version)
return weechat.WEECHAT_RC_OK
weechat.hook_process("url:https://weechat.org/dev/info/stable/",
@@ -1130,9 +1165,9 @@ WeeChat Entwicklerpaket in die Datei _/tmp/weechat-devel.tar.gz_ gesichert:
[source,python]
----
def my_process_cb(data, command, rc, out, err):
if int(rc) >= 0:
weechat.prnt("", "End of transfer (rc=%s)" % rc)
def my_process_cb(data, command, return_code, out, err):
if return_code >= 0:
weechat.prnt("", "End of transfer (return code = %d)" % return_code)
return weechat.WEECHAT_RC_OK
weechat.hook_process_hashtable("url:https://weechat.org/files/src/weechat-devel.tar.gz",
+127 -105
View File
@@ -12,7 +12,7 @@
Übersetzer:
* Nils Görs <weechatter@arcor.de>, 2010-2018
* Nils Görs <weechatter@arcor.de>, 2010-2022
Diese Anleitung beschreibt den WeeChat Chat Client und ist Teil von WeeChat.
@@ -35,7 +35,7 @@ wesentliche Merkmale:
* Unterstützung verschiedener Protokolle (in der Hauptsache das IRC-Protokoll)
* mehrere Server Verbindungen sind möglich (mittels SSL, IPv6, proxy)
* klein, schnell und schlank
* den eigenen persönlichen Bedürfnissen anpassbar und durch Erweiterungen und Skripten in der Funktionalität erweiterbar
* den eigenen, persönlichen, Bedürfnissen anpassbar und durch Erweiterungen und Skripten in der Funktionalität erweiterbar
* IRC RFCs konform
https://tools.ietf.org/html/rfc1459[1459],
https://tools.ietf.org/html/rfc2810[2810],
@@ -72,6 +72,7 @@ Binärpakete sind für folgende Distributionen erhältlich:
`apt-get install weechat-curses weechat-plugins` +
Für neueste Versionen und nächtliche Builds: https://weechat.org/download/debian
* Fedora Core: `dnf install weechat`
* FreeBSD: `pkg install weechat`
* Gentoo: `emerge weechat`
* Mandriva/RedHat (oder eine RPM kompatible Distribution):
`rpm -i /path/to/weechat-x.y.z-1.i386.rpm`
@@ -80,7 +81,7 @@ Binärpakete sind für folgende Distributionen erhältlich:
zusätzliche Pakete können bzw. sollten installiert werden. Zum Beispiel: weechat-plugins.
Für nicht aufgeführte Distributionen schauen Sie bitte dort in die jeweilige Anleitung,
Für nicht aufgeführte Distributionen schauen Sie bitte in die jeweiligen Anleitung,
wie man Pakete installiert.
[[source_package]]
@@ -100,21 +101,21 @@ WeeChat *erforderlich* sind:
[width="100%",cols="5,^3,.^15",options="header"]
|===
| Paket ^(1)^ | Version | Funktion
| C compiler
(gcc, clang, ...) | | zum Erstellen der Binärdatei.
| cmake | ≥ 3.0 | zum kompilieren (autotools ist möglich. CMake wird aber empfohlen).
| pkg-config | | entdeckt installierte Bibliotheken.
| libncursesw5-dev ^(2)^ | | Ncurses Oberfläche.
| libcurl4-gnutls-dev | | URL Transfer.
| zlib1g-dev | | Kompression für Pakete, die mittels Relay- (WeeChat Protokoll), Script-Erweiterung übertragen werden.
| libgcrypt20-dev | | Geschützte Daten, IRC SASL Authentifikation.
| libgnutls28-dev | ≥ 2.2.0 ^(3)^ | SSL Verbindung zu einem IRC Server, Unterstützung von SSL in der Relay-Erweiterung, IRC SASL Authentifikation (ECDSA-NIST256P-CHALLENGE).
| Paket ^(1)^ | Version | Funktion
| C compiler (gcc / clang) | | zum Erstellen der Binärdatei.
| cmake | ≥ 3.0 | zum kompilieren (autotools ist möglich. CMake wird aber empfohlen).
| pkg-config | | entdeckt installierte Bibliotheken.
| libncursesw5-dev ^(2)^ | | Ncurses Oberfläche.
| libcurl4-gnutls-dev | | URL Transfer.
| libgcrypt20-dev | | Geschützte Daten, IRC SASL Authentifikation.
| libgnutls28-dev | ≥ 2.2.0 ^(3)^ | SSL Verbindung zu einem IRC Server, Unterstützung von SSL in der Relay-Erweiterung, IRC SASL Authentifikation (ECDSA-NIST256P-CHALLENGE).
| zlib1g-dev | | Kompression von Nachrichten (WeeChat -> client) mit https://zlib.net/[zlib] in relay Erweitertungen (weechat Protokoll), Skript-Erweiterung übertragen werden.
| libzstd-dev | | Kompression von Nachrichten (WeeChat -> client) mit https://facebook.github.io/zstd/[Zstandard] in relay Erweiterung (weechat Protokoll).
|===
[NOTE]
^(1)^ Paketnamen wurden von der Debian GNU/Linux Distribution übernommen.
Versionen und Paketnamen können für andere Distributionen abweichend sein. +
^(1)^ Der Name stammt von der Debian GNU/Linux Bullseye-Distribution,
Version und Name können in anderen Distributionen anders lauten. +
^(2)^ Es wird empfohlen WeeChat mit libncurses**w**5-dev (das *w* ist
entscheidend) zu kompilieren. Eine Kompilierung kann auch mit libncurses5-dev erfolgen,
aber dies wird *NICHT* empfohlen:
@@ -127,29 +128,32 @@ WeeChat optional sind:
[width="100%",cols="5,^3,.^15",options="header"]
|===
| Paket | Version | Funktion
| C++ compiler | | zum Erstellen der Binärdatei und um Test auszuführen, JavaScript Erweiterung.
| gettext | | Internationalisierung (Übersetzung der Mitteilungen; Hauptsprache ist englisch).
| ca-certificates | | Zertifikate für SSL Verbindungen.
| libaspell-dev
∥ libenchant-dev | | Spell Erweiterung.
| python3-dev ^(1)^ | | Python Erweiterung.
| libperl-dev | | Perl Erweiterung.
| ruby2.5, ruby2.5-dev | ≥ 1.9.1 | Ruby Erweiterung.
| liblua5.3-dev | | Lua Erweiterung.
| tcl-dev | ≥ 8.5 | Tcl Erweiterung.
| guile-2.0-dev | ≥ 2.0 | Guile (scheme) Erweiterung.
| libv8-dev | ≤ 3.24.3 | JavaScript Erweiterung.
| php-dev, libphp-embed | ≥ 7.0 | PHP Erweiterung.
| libxml2-dev | | PHP Erweiterung.
| libargon2-0-dev | | PHP Erweiterung (wenn PHP ≥ 7.2).
| libsodium-dev | | PHP Erweiterung (wenn PHP ≥ 7.2).
| asciidoctor | ≥ 1.5.4 | zum Erstellen der man page und der Dokumentation.
| libcpputest-dev | ≥ 3.4 | zum Erstellen und um Test auszuführen.
| Paket ^(1)^ | Version | Funktion
| {cpp} compiler (pass:[g++ / clang++]) | | zum Erstellen der Binärdatei und um Test auszuführen, JavaScript Erweiterung.
| gettext | | Internationalisierung (Übersetzung der Mitteilungen; Hauptsprache ist englisch).
| ca-certificates | | Zertifikate für SSL Verbindungen.
| libaspell-dev / libenchant-dev | | Spell Erweiterung.
| python3-dev ^(2)^ | | Python Erweiterung.
| libperl-dev | | Perl Erweiterung.
| ruby2.7, ruby2.7-dev | ≥ 1.9.1 | Ruby Erweiterung.
| liblua5.4-dev | | Lua Erweiterung.
| tcl-dev | ≥ 8.5 | Tcl Erweiterung.
| guile-2.2-dev | ≥ 2.0 | Guile (scheme) Erweiterung.
| libv8-dev | ≤ 3.24.3 | JavaScript Erweiterung.
| php-dev | ≥ 7.0 | PHP Erweiterung.
| libphp-embed | ≥ 7.0 | PHP Erweiterung.
| libxml2-dev | | PHP Erweiterung.
| libargon2-dev | | PHP Erweiterung (wenn PHP ≥ 7.2).
| libsodium-dev | | PHP Erweiterung (wenn PHP ≥ 7.2).
| asciidoctor | ≥ 1.5.4 | zum Erstellen der man page und der Dokumentation.
| ruby-pygments.rb | | Build Dokumentation.
| libcpputest-dev | ≥ 3.4 | zum Erstellen und um Test auszuführen.
|===
[NOTE]
^(1)^ standardmäßig wird Python 3.x verwendet. Wird die Option `+ENABLE_PYTHON2+` aktiviert
^(1)^ Der Name stammt von der Debian GNU/Linux Bullseye-Distribution,
Version und Name können in anderen Distributionen anders lauten. +
^(2)^ standardmäßig wird Python 3.x verwendet. Wird die Option `+ENABLE_PYTHON2+` aktiviert
(siehe unten), sollte die Version 2.7 von Python genutzt werden.
Falls eine Debian/Ubuntu basierte Distribution genutzt wird und man einen
@@ -322,7 +326,7 @@ $ ccmake ..
[WARNING]
Ausschließlich das Kompilieren mittels CMake wird offiziell unterstützt. Autotools
sollte nur verwendet werden falls man keine Möglichkeit hat CMake zu nutzen. +
sollte nur verwendet werden, falls man keine Möglichkeit hat CMake zu nutzen. +
Für die Erstellung mittels autotools werden zusätzliche Pakete benötigt und es ist
zeitintensiver als CMake.
@@ -421,7 +425,7 @@ $ cmake .. -DCMAKE_BUILD_TYPE=Debug -DCMAKE_C_FLAGS=-fsanitize=address -DCMAKE_C
[WARNING]
Sie sollten die Adressbereinigung nur aktivieren, wenn Sie versuchen, einen
Absturz zu provozieren. Diese Funktion wird im produktivem Einsatz nicht empfohlen.
Absturz zu provozieren. Diese Funktion wird im produktiven Einsatz nicht empfohlen.
Nach dem Kompilieren und Installieren müssen Sie WeeChat folgendermaßen ausführen:
@@ -516,9 +520,9 @@ Diese Fehlermeldung senden Sie bitte an den Entwickler mit einer Beschreibung wa
Danke für Ihre Mithilfe!
[[debug_running_weechat]]
==== Eine laufende Session von WeeChat debuggen
==== Eine laufende Sitzung von WeeChat debuggen
Um eine laufende Session von WeeChat zu debuggen (zum Beispiel wenn WeeChat nicht
Um eine laufende Sitzung von WeeChat zu debuggen (zum Beispiel wenn WeeChat nicht
mehr reagieren sollte) sollte man gdb mit der Prozess-ID starten (_12345_ muss durch
die PID des laufenden weechat Prozesses ersetzt werden):
@@ -575,7 +579,7 @@ $ weechat --upgrade
==== Versionshinweise
Nach einem Upgrade wird *dringend empfohlen* die,
https://weechat.org/files/releasenotes/ReleaseNotes-devel.html[release notes]
https://weechat.org/files/releasenotes/ReleaseNotes-devel.html[Versionshinweise]
zu lesen, denn dort sind wichtige Informationen zu Änderungen enthalten und ob
eventuell ein manuelles Eingreifen erforderlich sein könnte.
@@ -1331,7 +1335,7 @@ So entfernen Sie die lokale Variable "completion_default_template":
Standardmäßig interpretieren WeeChat und seine Standard-Erweitertungen diese Variablen:
[width="100%",cols="^2m,2,5",options="header"]
[width="100%",cols="2m,2,5",options="header"]
|===
| Name | Wert | Beschreibung
@@ -1460,65 +1464,6 @@ Optionen:
include::includes/autogen_user_options.de.adoc[tag=buflist_options]
[[fset]]
=== Fset
Die fset Erweiterung stellt eine Liste aller Optionen in einem Buffer dar und erleichtert
die Konfiguration von WeeChat und Erweiterungen.
Beispiel des fset-Buffer, der Optionen anzeigt, die mit `weechat.look` beginnen:
[subs="quotes"]
....
┌──────────────────────────────────────────────────────────────────────────────────────┐
│1.weechat│1/121 | Filter: weechat.look.* | Sort: ~name | Key(input): alt+space=toggle │
│2.fset │weechat.look.bare_display_exit_on_input: exit the bare display mode on any c│
│ │hanges in input [default: on] │
│ │----------------------------------------------------------------------------│
│ │ weechat.look.align_end_of_lines integer message │
│ │ weechat.look.align_multiline_words boolean on │
│ │ weechat.look.bar_more_down string "++" │
│ │ weechat.look.bar_more_left string "<<" │
│ │ weechat.look.bar_more_right string ">>" │
│ │ weechat.look.bar_more_up string "--" │
│ │## weechat.look.bare_display_exit_on_input boolean on ##│
│ │ weechat.look.bare_display_time_format string "%H:%M" │
│ │ weechat.look.buffer_auto_renumber boolean on │
│ │ weechat.look.buffer_notify_default integer all │
│ │ weechat.look.buffer_position integer end │
│ │ weechat.look.buffer_search_case_sensitive boolean off │
│ │ weechat.look.buffer_search_force_default boolean off │
│ │ weechat.look.buffer_search_regex boolean off │
│ │ weechat.look.buffer_search_where integer prefix_message │
│ │ weechat.look.buffer_time_format string "%H:%M:%S" │
│ │ weechat.look.buffer_time_same string "" │
│ │[12:55] [2] [fset] 2:fset │
│ │█ │
└──────────────────────────────────────────────────────────────────────────────────────┘
....
[[fset_commands]]
==== Befehle
include::includes/autogen_user_commands.de.adoc[tag=fset_commands]
[[fset_options]]
==== Optionen
Sektionen in Datei _fset.conf_:
[width="100%",cols="3m,6m,16",options="header"]
|===
| Sektion | Steuerbefehl | Beschreibung
| color | /set fset.color.* | Farben.
| format | /set fset.format.* | Format um die Liste der Optionen darzustellen.
| look | /set fset.look.* | Erscheinungsbild.
|===
Optionen:
include::includes/autogen_user_options.de.adoc[tag=fset_options]
[[key_bindings]]
== Tastenbelegungen
@@ -1610,7 +1555,7 @@ Sie können mit dem Befehl <<command_weechat_key,/key>> geändert und neue hinzu
| Taste | Beschreibung | Befehl
| kbd:[Ctrl+r] | Textsuche im Verlaufsspeicher des Buffers (siehe <<key_bindings_search_context,Tasten für Such-Kontext>>). | `+/input search_text_here+`
| kbd:[Ctrl+s], kbd:[Ctrl+u] | setzt für alle Buffer die Markierung für ungelesene Nachrichten. | `+/input set_unread+`
| kbd:[Ctrl+x] | sind mehrere Buffer zu einem Buffer zusammen gefügt wechselt man diese durch. | `+/input switch_active_buffer+`
| kbd:[Ctrl+x] | Wechseln Sie den aktuellen Buffer, wenn diese zusammengefügt worden sind, z.B. zwischen IRC-Serverbuffer wechseln. | `+/input switch_active_buffer+`
| kbd:[Alt+x] | Zoom eines zusammengefügten Buffers (kbd:[Alt+x] ein zweites mal: alle zusammengefügten Buffer werden angezeigt). | `+/input zoom_merged_buffer+`
| kbd:[PgUp] | eine Seite im Verlaufsspeicher des Buffers nach oben blättern. | `+/window page_up+`
| kbd:[PgDn] | eine Seite im Verlaufsspeicher des Buffer nach unten blättern. | `+/window page_down+`
@@ -1883,6 +1828,65 @@ Diese Tasten und Aktionen werden im fset-Buffer verwendet (siehe <<script_manage
[[configuration]]
== Konfiguration
[[fset]]
=== Fset
Die fset Erweiterung stellt eine Liste aller Optionen in einem Buffer dar und erleichtert
die Konfiguration von WeeChat und Erweiterungen.
Beispiel des fset-Buffer, der Optionen anzeigt, die mit `weechat.look` beginnen:
[subs="quotes"]
....
┌──────────────────────────────────────────────────────────────────────────────────────┐
│1.weechat│1/121 | Filter: weechat.look.* | Sort: ~name | Key(input): alt+space=toggle │
│2.fset │weechat.look.bare_display_exit_on_input: exit the bare display mode on any c│
│ │hanges in input [default: on] │
│ │----------------------------------------------------------------------------│
│ │ weechat.look.align_end_of_lines integer message │
│ │ weechat.look.align_multiline_words boolean on │
│ │ weechat.look.bar_more_down string "++" │
│ │ weechat.look.bar_more_left string "<<" │
│ │ weechat.look.bar_more_right string ">>" │
│ │ weechat.look.bar_more_up string "--" │
│ │## weechat.look.bare_display_exit_on_input boolean on ##│
│ │ weechat.look.bare_display_time_format string "%H:%M" │
│ │ weechat.look.buffer_auto_renumber boolean on │
│ │ weechat.look.buffer_notify_default integer all │
│ │ weechat.look.buffer_position integer end │
│ │ weechat.look.buffer_search_case_sensitive boolean off │
│ │ weechat.look.buffer_search_force_default boolean off │
│ │ weechat.look.buffer_search_regex boolean off │
│ │ weechat.look.buffer_search_where integer prefix_message │
│ │ weechat.look.buffer_time_format string "%H:%M:%S" │
│ │ weechat.look.buffer_time_same string "" │
│ │[12:55] [2] [fset] 2:fset │
│ │█ │
└──────────────────────────────────────────────────────────────────────────────────────┘
....
[[fset_commands]]
==== Befehle
include::includes/autogen_user_commands.de.adoc[tag=fset_commands]
[[fset_options]]
==== Optionen
Sektionen in Datei _fset.conf_:
[width="100%",cols="3m,6m,16",options="header"]
|===
| Sektion | Steuerbefehl | Beschreibung
| color | /set fset.color.* | Farben.
| format | /set fset.format.* | Format um die Liste der Optionen darzustellen.
| look | /set fset.look.* | Erscheinungsbild.
|===
Optionen:
include::includes/autogen_user_options.de.adoc[tag=fset_options]
[[colors]]
=== Farben
@@ -2134,9 +2138,9 @@ Der Standardwert ist _all_.
|===
| Benachrichtigungsstufe | Welche Nachrichten Berücksichtigung in der Hotlist finden
| none | (keine)
| highlight | _highlight_ + _private Nachrichten_
| message | _highlight_ + _private Nachrichten_ + _normale Nachrichten_
| all | _highlight_ + _private Nachrichten_ + _normal Nachrichten_ + _Nachrichten mit einer niedrigen Priorität_
| highlight | highlight + private Nachrichten
| message | highlight + private Nachrichten + normale Nachrichten
| all | highlight + private Nachrichten + normal Nachrichten + Nachrichten mit einer niedrigen Priorität
|===
Benachrichtigungsstufen können für mehrere Buffer definiert werden. Zum Beispiel
@@ -4725,10 +4729,19 @@ Variablen die mittels Tags in der Nachricht gesetzt werden:
| tg_tag_prefix_nick | string | Nickfarbe für Präfix (extrahier aus Tag "prefix_nick_ccc").
| tg_tag_host | string | Username und Host, Format: username@host (extrahiert aus Tag "host_xxx").
| tg_tag_notify | string | Benachrichtigungsstufe (_none_, _message_, _private_, _highlight_).
| tg_tag_irc_xxx | string | Tag einer IRC Nachricht (Schlüssel "xxx"). ^(1)^
| tg_notify | string | Benachrichtigungsstufe, falls von _none_ abweichend.
| tg_msg_pv | string | "1" für eine private Nachricht, andernfalls "0".
|===
[NOTE]
====
^(1)^ Sonderzeichen werden im IRC Tag ersetzt:
* key: `_` -> `-` and `,` -> `;`
* value: `,` -> `;`
====
[[trigger_data_print]]
==== Print
@@ -4758,10 +4771,19 @@ Variablen die mittels Tags in der Nachricht gesetzt werden:
| tg_tag_prefix_nick | string | Nickfarbe für Präfix (extrahier aus Tag "prefix_nick_ccc").
| tg_tag_host | string | Username und Host, Format: username@host (extrahiert aus Tag "host_xxx").
| tg_tag_notify | string | Benachrichtigungsstufe (_none_, _message_, _private_, _highlight_).
| tg_tag_irc_xxx | string | Tag einer IRC Nachricht (Schlüssel "xxx"). ^(1)^
| tg_notify | string | Benachrichtigungsstufe, falls von _none_ abweichend.
| tg_msg_pv | string | "1" für eine private Nachricht, andernfalls "0".
|===
[NOTE]
====
^(1)^ Sonderzeichen werden im IRC Tag ersetzt:
* key: `_` -> `-` and `,` -> `;`
* value: `,` -> `;`
====
[[trigger_data_command]]
==== Command
@@ -4963,7 +4985,7 @@ und kompiliert ist. Unter GNU/Linux besitzt eine Erweiterung als Dateiendung ".s
Windows ".dll".
Erweiterungen die gefunden werden, werden beim Start von WeeChat automatisch geladen.
Natürlich ist es möglich während einer laufenden Session von WeeChat Erweiterungen
Natürlich ist es möglich während einer laufenden Sitzung von WeeChat Erweiterungen
nachträglich zu laden oder zu entfernen.
Mit dem Befehl `/plugin` kann eine Erweiterung geladen bzw. entfernt werden. Auch können
+1 -1
View File
@@ -1,6 +1,6 @@
#!/usr/bin/env python3
#
# Copyright (C) 2008-2021 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2008-2022 Sébastien Helleu <flashcode@flashtux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
+8 -2
View File
@@ -1,6 +1,6 @@
<!--
Custom styles for Asciidoctor
Copyright (C) 2016-2021 Sébastien Helleu <flashcode@flashtux.org>
Copyright (C) 2016-2022 Sébastien Helleu <flashcode@flashtux.org>
-->
<style>
@@ -21,6 +21,7 @@
--header-details-color: #aaa;
--border: 1px solid #444;
--code-bg-color: #252525;
--pre-color: #ddd;
--pre-bg-color: #202020;
--pre-code-bg-color: #202020;
--keyseq-color: #777;
@@ -52,6 +53,7 @@
--border: 1px solid #dddddf;
--code-bg-color: #f7f7f8;
--keyseq-color: #333c;
--pre-color: #353535;
--pre-bg-color: #f7f7f8;
--pre-code-bg-color: #202020;
--kbd-bg-color: #f7f7f7;
@@ -134,6 +136,10 @@ code, .prettyprint {
color: var(--body-color);
}
pre {
color: var(--pre-color) !important;
}
pre > code {
background-color: var(--pre-code-bg-color) !important;
}
@@ -190,7 +196,7 @@ mark {
/* syntax highlighting tuning */
pre.pygments .tok-cp {
color: #ed4848;
color: #44cfaf;
}
pre.pygments .tok-nc, pre.pygments .tok-nf {
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2021 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
#
# This file is part of WeeChat, the extensible chat client.
#
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2021 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2006 Julien Louis <ptitlouis@sysif.net>
#
# This file is part of WeeChat, the extensible chat client.
@@ -26,6 +26,8 @@
| irc | irc_channels | channels on all IRC servers
| irc | irc_channels_autojoin | channels automatically joined on the current server (option "autojoin")
| irc | irc_ignores_numbers | numbers for defined ignores
| irc | irc_modelist_masks | modelist masks of current IRC channel; required argument: modelist mode
@@ -123,6 +123,35 @@ Examples:
/auth user2 ${weechat_config_dir}/ecdsa2.pem
----
[[command_irc_autojoin]]
* `+autojoin+`: configure the "autojoin" server option
----
/autojoin add [<channel1> [<channel2>...]]
addraw <channel1>[,<channel2>...] [<key1>[,<key2>...]]
del [<channel1> [<channel2>...]]
save
sort
add: add current channel or a list of channels (with optional keys) to the autojoin option; if you are on the channel and the key is not provided, the key is read in the channel
addraw: use the IRC raw format (same as /join command): all channels separated by commas, optional keys separated by commas
del: delete current channel or a list of channels from the autojoin option
channel: channel name
key: key for the channel
save: save currently joined channels in the autojoin option
sort: sort alphabetically channels in the autojoin option
Examples:
/autojoin add
/autojoin add #test
/autojoin add #chan1 #chan2
/autojoin addraw #chan1,#chan2,#chan3 key1,key2
/autojoin del
/autojoin del #chan1
/autojoin save
/autojoin sort
----
[[command_irc_ban]]
* `+ban+`: ban nicks or hosts
+10 -10
View File
@@ -1290,12 +1290,6 @@
** values: any string
** default value: `+"*"+`
* [[option_weechat.plugin.debug]] *weechat.plugin.debug*
** description: pass:none[enable debug messages by default in all plugins (option disabled by default, which is highly recommended)]
** type: boolean
** values: on, off
** default value: `+off+`
* [[option_weechat.plugin.extension]] *weechat.plugin.extension*
** description: pass:none[comma separated list of file name extensions for plugins]
** type: string
@@ -2696,6 +2690,12 @@
** values: any string
** default value: `+""+`
* [[option_irc.server_default.autojoin_dynamic]] *irc.server_default.autojoin_dynamic*
** description: pass:none[set automatically the "autojoin" option according to the channels you manually join and part with commands /join and /part]
** type: boolean
** values: on, off
** default value: `+off+`
* [[option_irc.server_default.autoreconnect]] *irc.server_default.autoreconnect*
** description: pass:none[automatically reconnect to server when disconnected]
** type: boolean
@@ -3064,11 +3064,11 @@
** values: -1 .. 43200
** default value: `+0+`
* [[option_relay.network.compression_level]] *relay.network.compression_level*
** description: pass:none[compression level for packets sent to client with WeeChat protocol (0 = disable compression, 1 = low compression ... 9 = best compression)]
* [[option_relay.network.compression]] *relay.network.compression*
** description: pass:none[compression of messages sent to clients with "weechat" protocol: 0 = disable compression, 1 = low compression / fast ... 100 = best compression / slow; the value is a percentage converted to 1-9 for zlib and 1-19 for zstd; the default value is recommended, it offers a good compromise between compression and speed]
** type: integer
** values: 0 .. 9
** default value: `+6+`
** values: 0 .. 100
** default value: `+20+`
* [[option_relay.network.ipv6]] *relay.network.ipv6*
** description: pass:none[listen on IPv6 socket by default (in addition to IPv4 which is default); protocols IPv4 and IPv6 can be forced (individually or together) in the protocol name (see /help relay)]
+1 -1
View File
@@ -100,7 +100,7 @@ $HOME/.local/share/weechat/weechat.log::
WeeChat is written by Sébastien Helleu and contributors (complete list is in
the AUTHORS.adoc file).
Copyright (C) 2003-2021 {author}
Copyright (C) 2003-2022 {author}
WeeChat is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
+99 -6
View File
@@ -284,6 +284,7 @@ WeeChat "core" is located in following directories:
|       irc-ignore.c | IRC Ignore.
|       irc-info.c | IRC info/infolists/hdata.
|       irc-input.c | Input of commands/text.
|       irc-join.c | Functions for list of channels to join.
|       irc-message.c | Functions to manipulate IRC messages.
|       irc-mode.c | Functions about channel/nick modes.
|       irc-modelist.c | IRC channel mode lists (+b, +e, +I, ...).
@@ -296,6 +297,7 @@ WeeChat "core" is located in following directories:
|       irc-sasl.c | SASL authentication with IRC server.
|       irc-server.c | I/O communication with IRC server.
|       irc-tag.c | Functions to manipulate IRC message tags.
|       irc-typing.c | Typing status.
|       irc-upgrade.c | Save/restore of IRC data when upgrading WeeChat.
|    javascript/ | JavaScript plugin.
|       weechat-js.cpp | Main JavaScript functions (load/unload scripts, execute JavaScript code).
@@ -420,6 +422,8 @@ WeeChat "core" is located in following directories:
|          test-core-utf8.cpp | Tests: UTF-8.
|          test-core-util.cpp | Tests: utility functions.
|       gui/ | Root of unit tests for interfaces.
|          test-gui-buffer.cpp | Tests: buffer functions.
|          test-gui-chat.cpp | Tests: chat functions.
|          test-gui-color.cpp | Tests: colors.
|          test-gui-line.cpp | Tests: lines.
|          test-gui-nick.cpp | Tests: nicks.
@@ -430,12 +434,16 @@ WeeChat "core" is located in following directories:
|             test-irc-color.cpp | Tests: IRC colors.
|             test-irc-config.cpp | Tests: IRC configuration.
|             test-irc-ignore.cpp | Tests: IRC ignores.
|             test-irc-join.cpp | Tests: IRC join functions.
|             test-irc-message.cpp | Tests: IRC messages.
|             test-irc-mode.cpp | Tests: IRC modes.
|             test-irc-nick.cpp | Tests: IRC nicks.
|             test-irc-protocol.cpp | Tests: IRC protocol.
|             test-irc-sasl.cpp | Tests: SASL authentication with IRC protocol.
|             test-irc-server.cpp | Tests: IRC server.
|             test-irc-tag.cpp | Tests: IRC message tags.
|          logger/ | Root of unit tests for logger plugin.
|             test-logger-backlog.cpp | Tests: logger backlog.
|          trigger/ | Root of unit tests for trigger plugin.
|             test-trigger.cpp | Tests: triggers.
|             test-trigger-config.cpp | Tests: trigger configuration.
@@ -515,7 +523,7 @@ Example in C:
/*
* weechat.c - core functions for WeeChat
*
* Copyright (C) 2021 Your Name <your@email.com>
* Copyright (C) 2022 Your Name <your@email.com>
*
* This file is part of WeeChat, the extensible chat client.
*
@@ -1120,11 +1128,95 @@ component: fix a problem (closes #123)
Where _component_ is one of following:
* WeeChat core: _core_ (files in root directory, _po/_ and _src/_,
except _src/plugins/_)
* documentation files: _doc_ (files in directory _doc/_)
* name of a plugin: _irc_, _python_, _relay_, ... (files in directory
_src/plugins/_)
[width="100%",cols="1m,4m,5",options="header"]
|===
| Component | Files | Description
| core |
AUTHORS.adoc +
ChangeLog.adoc +
Contributing.adoc +
.github/FUNDING.yml +
.github/ISSUE_TEMPLATE/* +
icons/* +
po/* +
README.adoc +
ReleaseNotes.adoc +
src/core/* +
src/gui/* +
version.sh +
weechat.desktop |
WeeChat core
| build |
autogen.sh +
CMakeLists.txt +
cmake/* +
configure.ac +
Makefile.am +
tools/* +
weechat.cygport.in +
weechat.spec |
Build
| ci |
.github/workflows/* |
Continuous integration
| debian |
debian-devel/* +
debian-stable/* |
Debian packaging
| tests |
tests/* |
Tests
| doc |
doc/* |
General doc updates, for example build
| doc/man |
doc/xx/weechat.1.xx.adoc +
doc/xx/weechat-headless.1.xx.adoc |
Man pages
| doc/faq |
doc/xx/weechat_faq.xx.adoc |
Frequently asked questions (FAQ)
| doc/quickstart |
doc/xx/weechat_quickstart.xx.adoc |
Quickstart guide
| doc/user |
doc/xx/weechat_user.xx.adoc |
User's guide
| doc/scripting |
doc/xx/weechat_scripting.xx.adoc |
Scripting guide
| doc/api |
doc/xx/weechat_plugin_api.xx.adoc |
Plugin API reference
| doc/relay |
doc/xx/weechat_relay_protocol.xx.adoc |
Relay protocol
| doc/dev |
doc/xx/weechat_dev.en.adoc |
Developer's guide
| irc +
python +
relay +
… |
src/plugins/<name>/* |
Plugin
|===
Some rules to follow:
@@ -1138,6 +1230,7 @@ Examples of commit messages:
----
core: add callback "nickcmp" for nick comparison in buffers
core: update Japanese translations
doc/user: add chapter on typing extension
irc: add command /unquiet (closes #36)
python: fix crash when unloading a script without pointer to interpreter
ruby: add detection of ruby version 1.9.3 in CMake
+15
View File
@@ -829,6 +829,21 @@ join of channels):
[[edit_autojoin]]
=== How can I add/remove channels from autojoin option?
With WeeChat ≥ 3.5, you can automatically record the channels you manually
join and part in the "autojoin" server option.
For all servers:
----
/set irc.server_default.autojoin_record on
----
For a single server:
----
/set irc.server.libera.autojoin_record on
----
You can use the `/set` command to edit the list of autojoin channels,
for example for the "libera" server:
File diff suppressed because it is too large Load Diff
+44 -41
View File
@@ -84,7 +84,7 @@ Fields are:
List of available commands (detail in next chapters):
[width="100%",cols="^3m,14",options="header"]
[width="100%",cols="1m,8",options="header"]
|===
| Command | Description
| handshake | Handshake: prepare client authentication and set options, before _init_ command.
@@ -103,7 +103,7 @@ List of available commands (detail in next chapters):
[[command_handshake]]
=== handshake
_WeeChat ≥ 2.9._
_WeeChat ≥ 2.9, updated in version 3.5._
Perform an handshake between the client and WeeChat: this is required in most
cases to know the session settings and prepare the authentication with the
@@ -127,10 +127,15 @@ Arguments:
*** _sha512_: password salted and hashed with SHA512 algorithm
*** _pbkdf2+sha256_: password salted and hashed with PBKDF2 algorithm (using SHA256 hash)
*** _pbkdf2+sha512_: password salted and hashed with PBKDF2 algorithm (using SHA512 hash)
** _compression_: compression type:
*** _zlib_: enable _zlib_ compression for messages sent by _relay_
(enabled by default if _relay_ supports _zlib_ compression)
*** _off_: disable compression
** _compression_: list of supported compression types supported by the client
(separated by colons and sorted from most important to the fallback value);
if compression is enabled, messages from _relay_ to client are compressed
to save bandwidth; allowed values are:
*** _off_: no compression (default if option is not given)
*** _zlib_: compress with https://zlib.net/[zlib] _(WeeChat ≥ 0.3.7)_
*** _zstd_: compress with https://facebook.github.io/zstd/[Zstandard]: better
compression and much faster than _zlib_ for both compression and decompression
_(WeeChat ≥ 3.5)_
Notes about option _password_hash_algo_:
@@ -169,8 +174,9 @@ WeeChat replies with a hashtable containing the following keys and values:
and the user password (the _relay_ nonce + the client nonce is the salt used
in the password hash algorithm)
* _compression_: compression type:
** _zlib_: messages are compressed with _zlib_
** _off_: messages are not compressed
** _zlib_: messages are compressed with https://zlib.net/[zlib]
** _zstd_: messages are compressed with https://facebook.github.io/zstd/[Zstandard]
[TIP]
With WeeChat ≤ 2.8, the command _handshake_ is not implemented, WeeChat silently
@@ -196,7 +202,7 @@ htb: {
'password_hash_iterations': '100000',
'totp': 'on',
'nonce': '85B1EE00695A5B254E14F4885538DF0D',
'compression': 'zlib',
'compression': 'off',
}
----
@@ -216,7 +222,7 @@ htb: {
'password_hash_iterations': '100000',
'totp': 'on',
'nonce': '85B1EE00695A5B254E14F4885538DF0D',
'compression': 'zlib',
'compression': 'off',
}
----
@@ -236,7 +242,7 @@ htb: {
'password_hash_iterations': '100000',
'totp': 'on',
'nonce': '85B1EE00695A5B254E14F4885538DF0D',
'compression': 'zlib',
'compression': 'off',
}
----
@@ -248,10 +254,11 @@ the password is "test" in this example:
init password_hash=pbkdf2+sha256:85b1ee00695a5b254e14f4885538df0da4b73207f5aae4:100000:ba7facc3edb89cd06ae810e29ced85980ff36de2bb596fcf513aaab626876440
----
* Only "sha256" and "sha512" are supported by the client, disable compression:
* Only "sha256" and "sha512" are supported by the client, enable zstd (preferred)
or zlib compression:
----
(handshake) handshake password_hash_algo=sha256:sha512,compression=off
(handshake) handshake password_hash_algo=sha256:sha512,compression=zstd:zlib
----
Response:
@@ -264,7 +271,7 @@ htb: {
'password_hash_iterations': '100000',
'totp': 'on',
'nonce': '85B1EE00695A5B254E14F4885538DF0D',
'compression': 'off',
'compression': 'zstd',
}
----
@@ -298,12 +305,6 @@ Arguments:
factor, in addition to the password
(option _relay.network.totp_secret_ in WeeChat)
_(WeeChat ≥ 2.4)_
** _compression_: compression type (*deprecated* since version 2.9, it is kept
for compatibility reasons but should be sent in the
<<command_handshake,handshake command>>):
*** _zlib_: enable _zlib_ compression for messages sent by _relay_
(enabled by default if _relay_ supports _zlib_ compression)
*** _off_: disable compression
[NOTE]
With WeeChat ≥ 1.6, commas can be escaped in the value, for example
@@ -992,7 +993,7 @@ Arguments:
WeeChat replies with a hdata:
[width="100%",cols="3m,2,10",options="header"]
[width="100%",cols="2m,3,14",options="header"]
|===
| Name | Type | Description
| context | string | Completion context: "null" (no completion), "command", "command_arg", "auto".
@@ -1260,24 +1261,24 @@ Syntax:
Returned objects (in this order):
[width="100%",cols="^3,3m,5m",options="header"]
[width="80%",cols="1m,2,6m",options="header"]
|===
| Type | Type (in message) | Value
| char | chr | 65 ("A")
| integer | int | 123456
| integer | int | -123456
| long | lon | 1234567890
| long | lon | -1234567890
| string | str | "a string"
| string | str | ""
| string | str | NULL
| buffer | buf | "buffer"
| buffer | buf | NULL
| pointer | ptr | 0x1234abcd
| pointer | ptr | NULL
| time | tim | 1321993456
| array of strings | arr str | [ "abc", "de" ]
| array of integers | arr int | [ 123, 456, 789 ]
| Type | Description | Value
| chr | char | 65 ("A")
| int | integer | 123456
| int | integer | -123456
| lon | long | 1234567890
| lon | long | -1234567890
| str | string | "a string"
| str | string | ""
| str | string | NULL
| buf | buffer | "buffer"
| buf | buffer | NULL
| ptr | pointer | 0x1234abcd
| ptr | pointer | NULL
| tim | time | 1321993456
| arr str | array of strings | [ "abc", "de" ]
| arr int | array of integers | [ 123, 456, 789 ]
|===
[IMPORTANT]
@@ -1379,7 +1380,8 @@ Messages are sent as binary data, using following format (with size in bytes):
(including this field)
* _compression_ (byte): flag:
** _0x00_: following data is not compressed
** _0x01_: following data is compressed with _zlib_
** _0x01_: following data is compressed with https://zlib.net/[zlib]
** _0x02_: following data is compressed with https://facebook.github.io/zstd/[Zstandard]
* _id_ (string, 4 bytes + content): identifier sent by client (before command name); it can be
empty (string with zero length and no content) if no identifier was given in
command
@@ -1389,8 +1391,9 @@ Messages are sent as binary data, using following format (with size in bytes):
[[message_compression]]
=== Compression
If flag _compression_ is equal to 0x01, then *all* data after is compressed
with _zlib_, and therefore must be uncompressed before being processed.
If flag _compression_ is equal to 0x01 or 0x02, then *all* data after is compressed
with https://zlib.net/[zlib] or https://facebook.github.io/zstd/[Zstandard],
and therefore must be uncompressed before being processed.
[[message_identifier]]
=== Identifier
@@ -2331,7 +2334,7 @@ commands sent on startup after the _init_.
Objects are identified by 3 letters, called _type_. Following types are used:
[width="100%",cols="^2m,5,10",options="header"]
[width="100%",cols="1m,2,8",options="header"]
|===
| Type | Value | Length
| chr | Signed char | 1 byte
+59 -24
View File
@@ -195,6 +195,12 @@ Functions are called with `+weechat.xxx(arg1, arg2, ...)+`.
Functions are called with `+weechat::xxx arg1 arg2 ...+`.
Since Tcl only has string types, there's no null type to pass as an argument
when a function accepts null values. To overcome this you can use the constant
`$::weechat::WEECHAT_NULL` which acts as a null value. This constant is defined
as `\uFFFF\uFFFF\uFFFFWEECHAT_NULL\uFFFF\uFFFF\uFFFF`, so it's very unlikely to
appear unintentionally.
[[language_guile]]
==== Guile (Scheme)
@@ -544,7 +550,7 @@ link:weechat_plugin_api.en.html[WeeChat plugin API reference].
List of functions in script API:
[width="100%",cols="1,3",options="header"]
[width="100%",cols="1,5",options="header"]
|===
| Category | Functions
@@ -644,6 +650,7 @@ List of functions in script API:
print (for python: prnt) +
print_date_tags (for python: prnt_date_tags) +
print_y (for python: prnt_y) +
print_y_date_tags (for python: prnt_y_date_tags) +
log_print
| hooks |
@@ -674,6 +681,7 @@ List of functions in script API:
| buffers |
buffer_new +
buffer_new_props +
current_buffer +
buffer_search +
buffer_search_main +
@@ -792,7 +800,7 @@ List of functions in script API:
List of constants in script API:
[width="100%",cols="1,3",options="header"]
[width="100%",cols="1,5",options="header"]
|===
| Category | Constants
@@ -875,7 +883,7 @@ Examples:
weechat.prnt("", "hello")
# display "hello" on core buffer, but do not write it to log file
# (version >= 0.3.3 only)
# (version 0.3.3 only)
weechat.prnt_date_tags("", 0, "no_log", "hello")
# display prefix "==>" and message "hello" on current buffer
@@ -1049,26 +1057,53 @@ weechat.hook_timer(60 * 1000, 60, 0, "timer_cb", "")
You can run a background process with `+hook_process+`. Your callback will be
called when data is ready. It may be called many times.
For the last call to your callback, _rc_ is set to 0 or positive value, it's
return code of command.
For the last call to your callback, _return_code_ is set to 0 or positive value,
it is the return code of command.
Example:
[source,python]
----
process_output = ""
def my_process_cb(data, command, rc, out, err):
global process_output
if out != "":
process_output += out
if int(rc) >= 0:
weechat.prnt("", process_output)
def my_process_cb(data, command, return_code, out, err):
if return_code == weechat.WEECHAT_HOOK_PROCESS_ERROR:
weechat.prnt("", "Error with command '%s'" % command)
return weechat.WEECHAT_RC_OK
if return_code >= 0:
weechat.prnt("", "return_code = %d" % return_code)
if out:
weechat.prnt("", "stdout: %s" % out)
if err:
weechat.prnt("", "stderr: %s" % err)
return weechat.WEECHAT_RC_OK
weechat.hook_process("/bin/ls -l /etc", 10 * 1000, "my_process_cb", "")
----
You can also call directly a script function that does something blocking,
instead of an external command:
[source,python]
----
def get_status(data):
# do something blocking...
# ...
return "this is the result"
def my_process_cb(data, command, return_code, out, err):
if return_code == weechat.WEECHAT_HOOK_PROCESS_ERROR:
weechat.prnt("", "Error with command '%s'" % command)
return weechat.WEECHAT_RC_OK
if return_code >= 0:
weechat.prnt("", "return_code = %d" % return_code)
if out:
weechat.prnt("", "stdout: %s" % out)
if err:
weechat.prnt("", "stderr: %s" % err)
return weechat.WEECHAT_RC_OK
hook = weechat.hook_process("func:get_status", 5000, "my_process_cb", "")
----
[[url_transfer]]
==== URL transfer
@@ -1082,15 +1117,15 @@ in callback (standard output of process):
[source,python]
----
# Display current stable version of WeeChat.
weechat_version = ""
# Display latest stable version of WeeChat.
weechat_latest_version = ""
def weechat_process_cb(data, command, rc, out, err):
global weechat_version
if out != "":
weechat_version += out
if int(rc) >= 0:
weechat.prnt("", "Current WeeChat stable is: %s" % weechat_version)
def weechat_process_cb(data, command, return_code, out, err):
global weechat_latest_version
if out:
weechat_latest_version += out
if return_code >= 0:
weechat.prnt("", "Latest WeeChat version: %s" % weechat_latest_version)
return weechat.WEECHAT_RC_OK
weechat.hook_process("url:https://weechat.org/dev/info/stable/",
@@ -1105,9 +1140,9 @@ package in file _/tmp/weechat-devel.tar.gz_:
[source,python]
----
def my_process_cb(data, command, rc, out, err):
if int(rc) >= 0:
weechat.prnt("", "End of transfer (rc=%s)" % rc)
def my_process_cb(data, command, return_code, out, err):
if return_code >= 0:
weechat.prnt("", "End of transfer (return code = %d)" % return_code)
return weechat.WEECHAT_RC_OK
weechat.hook_process_hashtable("url:https://weechat.org/files/src/weechat-devel.tar.gz",
+118 -96
View File
@@ -66,6 +66,7 @@ Binary packages are available for many distributions, including:
`apt-get install weechat-curses weechat-plugins` +
For latest versions and nightly builds: https://weechat.org/download/debian
* Fedora Core: `dnf install weechat`
* FreeBSD: `pkg install weechat`
* Gentoo: `emerge weechat`
* Mandriva/RedHat (or any RPM compatible distribution):
`rpm -i /path/to/weechat-x.y.z-1.i386.rpm`
@@ -94,21 +95,21 @@ WeeChat:
[width="100%",cols="5,^3,.^15",options="header"]
|===
| Package ^(1)^ | Version | Feature
| C compiler
(gcc, clang, ...) | | Build.
| cmake | ≥ 3.0 | Build (autotools still possible, but CMake is recommended).
| pkg-config | | Detect installed libraries.
| libncursesw5-dev ^(2)^ | | Ncurses interface.
| libcurl4-gnutls-dev | | URL transfer.
| zlib1g-dev | | Compression of packets in relay plugin (weechat protocol), script plugin.
| libgcrypt20-dev | | Secured data, IRC SASL authentication.
| libgnutls28-dev | ≥ 2.2.0 ^(3)^ | SSL connection to IRC server, support of SSL in relay plugin, IRC SASL authentication (ECDSA-NIST256P-CHALLENGE).
| Package ^(1)^ | Version | Feature
| C compiler (gcc / clang) | | Build.
| cmake | ≥ 3.0 | Build (autotools still possible, but CMake is recommended).
| pkg-config | | Detect installed libraries.
| libncursesw5-dev ^(2)^ | | Ncurses interface.
| libcurl4-gnutls-dev | | URL transfer.
| libgcrypt20-dev | | Secured data, IRC SASL authentication.
| libgnutls28-dev | ≥ 2.2.0 ^(3)^ | SSL connection to IRC server, support of SSL in relay plugin, IRC SASL authentication (ECDSA-NIST256P-CHALLENGE).
| zlib1g-dev | | Compression of messages (WeeChat -> client) with https://zlib.net/[zlib] in relay plugin (weechat protocol), script plugin.
| libzstd-dev | | Compression of messages (WeeChat -> client) with https://facebook.github.io/zstd/[Zstandard] in relay plugin (weechat protocol).
|===
[NOTE]
^(1)^ Name comes from the Debian GNU/Linux distribution, versions and package
names may be different in different distributions and versions. +
^(1)^ Name comes from the Debian GNU/Linux Bullseye distribution, version and
name can be different in other distributions. +
^(2)^ It is recommended to compile with libncurses**w**5-dev (the *w* is
important). WeeChat can compile with libncurses5-dev, but it is *NOT* recommended:
you may experience display bugs with wide chars. +
@@ -120,29 +121,32 @@ WeeChat:
[width="100%",cols="5,^3,.^15",options="header"]
|===
| Package | Version | Feature
| C++ compiler | | Build and run tests, JavaScript plugin.
| gettext | | Internationalization (translation of messages; base language is English).
| ca-certificates | | Certificates for SSL connections.
| libaspell-dev
∥ libenchant-dev | | Spell plugin.
| python3-dev ^(1)^ | | Python plugin.
| libperl-dev | | Perl plugin.
| ruby2.5, ruby2.5-dev | ≥ 1.9.1 | Ruby plugin.
| liblua5.3-dev | | Lua plugin.
| tcl-dev | ≥ 8.5 | Tcl plugin.
| guile-2.0-dev | ≥ 2.0 | Guile (scheme) plugin.
| libv8-dev | ≤ 3.24.3 | JavaScript plugin.
| php-dev, libphp-embed | ≥ 7.0 | PHP plugin.
| libxml2-dev | | PHP plugin.
| libargon2-0-dev | | PHP plugin (if PHP ≥ 7.2).
| libsodium-dev | | PHP plugin (if PHP ≥ 7.2).
| asciidoctor | ≥ 1.5.4 | Build man page and documentation.
| libcpputest-dev | ≥ 3.4 | Build and run tests.
| Package ^(1)^ | Version | Feature
| {cpp} compiler (pass:[g++ / clang++]) | | Build and run tests, JavaScript plugin.
| gettext | | Internationalization (translation of messages; base language is English).
| ca-certificates | | Certificates for SSL connections.
| libaspell-dev / libenchant-dev | | Spell plugin.
| python3-dev ^(2)^ | | Python plugin.
| libperl-dev | | Perl plugin.
| ruby2.7, ruby2.7-dev | ≥ 1.9.1 | Ruby plugin.
| liblua5.4-dev | | Lua plugin.
| tcl-dev | ≥ 8.5 | Tcl plugin.
| guile-2.2-dev | ≥ 2.0 | Guile (scheme) plugin.
| libv8-dev | ≤ 3.24.3 | JavaScript plugin.
| php-dev | ≥ 7.0 | PHP plugin.
| libphp-embed | ≥ 7.0 | PHP plugin.
| libxml2-dev | | PHP plugin.
| libargon2-dev | | PHP plugin (if PHP ≥ 7.2).
| libsodium-dev | | PHP plugin (if PHP ≥ 7.2).
| asciidoctor | ≥ 1.5.4 | Build man page and documentation.
| ruby-pygments.rb | | Build documentation.
| libcpputest-dev | ≥ 3.4 | Build and run tests.
|===
[NOTE]
^(1)^ By default Python 3.x is used. If you enable option `+ENABLE_PYTHON2+`
^(1)^ Name comes from the Debian GNU/Linux Bullseye distribution, version and
name can be different in other distributions. +
^(2)^ By default Python 3.x is used. If you enable option `+ENABLE_PYTHON2+`
(see below), only the version 2.7 of Python is recommended.
If you are using a Debian/Ubuntu based distribution, and if you have some
@@ -1313,7 +1317,7 @@ To remove the local variable "completion_default_template":
By default WeeChat and its default plugins interpret these variables:
[width="100%",cols="^2m,2,5",options="header"]
[width="100%",cols="2m,2,5",options="header"]
|===
| Name | Value | Description
@@ -1443,65 +1447,6 @@ Options:
include::includes/autogen_user_options.en.adoc[tag=buflist_options]
[[fset]]
=== Fset
Fast Set plugin displays a list of options in a buffer, and helps to set WeeChat
and plugin options.
Example of fset buffer displaying options starting with `weechat.look` :
[subs="quotes"]
....
┌──────────────────────────────────────────────────────────────────────────────────────┐
│1.weechat│1/121 | Filter: weechat.look.* | Sort: ~name | Key(input): alt+space=toggle │
│2.fset │weechat.look.bare_display_exit_on_input: exit the bare display mode on any c│
│ │hanges in input [default: on] │
│ │----------------------------------------------------------------------------│
│ │ weechat.look.align_end_of_lines integer message │
│ │ weechat.look.align_multiline_words boolean on │
│ │ weechat.look.bar_more_down string "++" │
│ │ weechat.look.bar_more_left string "<<" │
│ │ weechat.look.bar_more_right string ">>" │
│ │ weechat.look.bar_more_up string "--" │
│ │## weechat.look.bare_display_exit_on_input boolean on ##│
│ │ weechat.look.bare_display_time_format string "%H:%M" │
│ │ weechat.look.buffer_auto_renumber boolean on │
│ │ weechat.look.buffer_notify_default integer all │
│ │ weechat.look.buffer_position integer end │
│ │ weechat.look.buffer_search_case_sensitive boolean off │
│ │ weechat.look.buffer_search_force_default boolean off │
│ │ weechat.look.buffer_search_regex boolean off │
│ │ weechat.look.buffer_search_where integer prefix_message │
│ │ weechat.look.buffer_time_format string "%H:%M:%S" │
│ │ weechat.look.buffer_time_same string "" │
│ │[12:55] [2] [fset] 2:fset │
│ │█ │
└──────────────────────────────────────────────────────────────────────────────────────┘
....
[[fset_commands]]
==== Commands
include::includes/autogen_user_commands.en.adoc[tag=fset_commands]
[[fset_options]]
==== Options
Sections in file _fset.conf_:
[width="100%",cols="3m,6m,16",options="header"]
|===
| Section | Control command | Description
| color | /set fset.color.* | Colors.
| format | /set fset.format.* | Formats used to display list of options.
| look | /set fset.look.* | Look and feel.
|===
Options:
include::includes/autogen_user_options.en.adoc[tag=fset_options]
[[key_bindings]]
== Key bindings
@@ -1593,7 +1538,7 @@ They can be changed and new ones can be added with the <<command_weechat_key,/ke
| Key | Description | Command
| kbd:[Ctrl+r] | Search for text in buffer history (see <<key_bindings_search_context,keys for search context>>). | `+/input search_text_here+`
| kbd:[Ctrl+s], kbd:[Ctrl+u] | Set unread marker on all buffers. | `+/input set_unread+`
| kbd:[Ctrl+x] | Switch current buffer if buffers are attached with same number. | `+/input switch_active_buffer+`
| kbd:[Ctrl+x] | Switch current buffer if buffers are merged with same number, for example switch to another IRC server buffer. | `+/input switch_active_buffer+`
| kbd:[Alt+x] | Zoom on merged buffer (kbd:[Alt+x] again: display all merged buffers). | `+/input zoom_merged_buffer+`
| kbd:[PgUp] | Scroll up one page in buffer history. | `+/window page_up+`
| kbd:[PgDn] | Scroll down one page in buffer history. | `+/window page_down+`
@@ -1866,6 +1811,65 @@ These keys and actions are used on the script buffer (see <<script_manager,scrip
[[configuration]]
== Configuration
[[fset]]
=== Fset
Fast Set plugin displays a list of options in a buffer, and helps to set WeeChat
and plugin options.
Example of fset buffer displaying options starting with `weechat.look` :
[subs="quotes"]
....
┌──────────────────────────────────────────────────────────────────────────────────────┐
│1.weechat│1/121 | Filter: weechat.look.* | Sort: ~name | Key(input): alt+space=toggle │
│2.fset │weechat.look.bare_display_exit_on_input: exit the bare display mode on any c│
│ │hanges in input [default: on] │
│ │----------------------------------------------------------------------------│
│ │ weechat.look.align_end_of_lines integer message │
│ │ weechat.look.align_multiline_words boolean on │
│ │ weechat.look.bar_more_down string "++" │
│ │ weechat.look.bar_more_left string "<<" │
│ │ weechat.look.bar_more_right string ">>" │
│ │ weechat.look.bar_more_up string "--" │
│ │## weechat.look.bare_display_exit_on_input boolean on ##│
│ │ weechat.look.bare_display_time_format string "%H:%M" │
│ │ weechat.look.buffer_auto_renumber boolean on │
│ │ weechat.look.buffer_notify_default integer all │
│ │ weechat.look.buffer_position integer end │
│ │ weechat.look.buffer_search_case_sensitive boolean off │
│ │ weechat.look.buffer_search_force_default boolean off │
│ │ weechat.look.buffer_search_regex boolean off │
│ │ weechat.look.buffer_search_where integer prefix_message │
│ │ weechat.look.buffer_time_format string "%H:%M:%S" │
│ │ weechat.look.buffer_time_same string "" │
│ │[12:55] [2] [fset] 2:fset │
│ │█ │
└──────────────────────────────────────────────────────────────────────────────────────┘
....
[[fset_commands]]
==== Commands
include::includes/autogen_user_commands.en.adoc[tag=fset_commands]
[[fset_options]]
==== Options
Sections in file _fset.conf_:
[width="100%",cols="3m,6m,16",options="header"]
|===
| Section | Control command | Description
| color | /set fset.color.* | Colors.
| format | /set fset.format.* | Formats used to display list of options.
| look | /set fset.look.* | Look and feel.
|===
Options:
include::includes/autogen_user_options.en.adoc[tag=fset_options]
[[colors]]
=== Colors
@@ -2107,9 +2111,9 @@ default is _all_.
|===
| Notify level | Level of messages added to hotlist
| none | (none)
| highlight | _highlight_ + _private_
| message | _highlight_ + _private_ + _message_
| all | _highlight_ + _private_ + _message_ + _low_
| highlight | highlight + private
| message | highlight + private + message
| all | highlight + private + message + low
|===
Notify level can be defined for a set of buffers, for example all buffers of
@@ -4618,10 +4622,19 @@ Variables set using tags in message:
| tg_tag_prefix_nick | string | Color of nick in prefix (from tag "prefix_nick_ccc").
| tg_tag_host | string | User name and host, format: username@host (from tag "host_xxx").
| tg_tag_notify | string | Notify level (_none_, _message_, _private_, _highlight_).
| tg_tag_irc_xxx | string | IRC message tag (key "xxx"). ^(1)^
| tg_notify | string | Notify level, if different from _none_.
| tg_msg_pv | string | "1" for a private message, otherwise "0".
|===
[NOTE]
====
^(1)^ Special chars are replaced in IRC tag:
* key: `_` -> `-` and `,` -> `;`
* value: `,` -> `;`
====
[[trigger_data_print]]
==== Print
@@ -4651,10 +4664,19 @@ Variables set using tags in message:
| tg_tag_prefix_nick | string | Color of nick in prefix (from tag "prefix_nick_ccc").
| tg_tag_host | string | User name and host, format: username@host (from tag "host_xxx").
| tg_tag_notify | string | Notify level (_none_, _message_, _private_, _highlight_).
| tg_tag_irc_xxx | string | IRC message tag (key "xxx"). ^(1)^
| tg_notify | string | Notify level, if different from _none_.
| tg_msg_pv | string | "1" for a private message, otherwise "0".
|===
[NOTE]
====
^(1)^ Special chars are replaced in IRC tag:
* key: `_` -> `-` and `,` -> `;`
* value: `,` -> `;`
====
[[trigger_data_command]]
==== Command
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2012-2021 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2012-2022 Sébastien Helleu <flashcode@flashtux.org>
#
# This file is part of WeeChat, the extensible chat client.
#
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2012-2021 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2012-2022 Sébastien Helleu <flashcode@flashtux.org>
#
# This file is part of WeeChat, the extensible chat client.
#
+18
View File
@@ -832,6 +832,24 @@ unirse a los canales):
[[edit_autojoin]]
=== ¿Cómo puedo añadir/eliminar canales de la opción autojoin?
// TRANSLATION MISSING
With WeeChat ≥ 3.5, you can automatically record the channels you manually
join and part in the "autojoin" server option.
// TRANSLATION MISSING
For all servers:
----
/set irc.server_default.autojoin_record on
----
// TRANSLATION MISSING
For a single server:
----
/set irc.server.libera.autojoin_record on
----
Puede utilizar el comando `/set` para editar la lista de canales con autojoin,
por ejemplo, para el servidor "libera":
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2021 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
#
# This file is part of WeeChat, the extensible chat client.
#
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2021 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2006 Julien Louis <ptitlouis@sysif.net>
#
# This file is part of WeeChat, the extensible chat client.
@@ -26,6 +26,8 @@
| irc | irc_channels | canaux sur tous les serveurs IRC
| irc | irc_channels_autojoin | canaux automatiquement rejoints sur le serveur courant (option "autojoin")
| irc | irc_ignores_numbers | numéros pour les ignores définis
| irc | irc_modelist_masks | masques de la liste de modes du canal IRC courant ; argument obligatoire : mode de la liste de modes
@@ -123,6 +123,35 @@ Exemples :
/auth utilisateur2 ${weechat_config_dir}/ecdsa2.pem
----
[[command_irc_autojoin]]
* `+autojoin+`: configurer l'option serveur "autojoin"
----
/autojoin add [<canal1> [<canal2>...]]
addraw <canal1>[,<canal2>...] [<clé1>[,<clé2>...]]
del [<canal1> [<canal2>...]]
save
sort
add : ajouter le canal courant ou une liste de canaux (avec clés facultatives) dans l'option autojoin ; si vous êtes sur le canal et que la clé n'est pas fournie, la clé est lue sur ce canal
addraw : utiliser le format brut IRC (identique à la commande /join) : tous les canaux séparés par des virgules, clés facultatives séparées par des virgules
del : supprimer le canal courant ou une liste de canaux de l'option autojoin
channel : nom du canal
key : clé pour le canal
save : sauver les canaux actuellement joints dans l'option autojoin
sort : trier les canaux de l'option autojoin par ordre alphabétique
Exemples :
/autojoin add
/autojoin add #test
/autojoin add #chan1 #chan2
/autojoin addraw #chan1,#chan2,#chan3 key1,key2
/autojoin del
/autojoin del #chan1
/autojoin save
/autojoin sort
----
[[command_irc_ban]]
* `+ban+`: bannir des pseudos ou hôtes
+10 -10
View File
@@ -1290,12 +1290,6 @@
** valeurs: toute chaîne
** valeur par défaut: `+"*"+`
* [[option_weechat.plugin.debug]] *weechat.plugin.debug*
** description: pass:none[active les messages de debug par défaut pour toutes les extensions (option désactivée par défaut, ce qui est hautement recommandé)]
** type: booléen
** valeurs: on, off
** valeur par défaut: `+off+`
* [[option_weechat.plugin.extension]] *weechat.plugin.extension*
** description: pass:none[liste d'extensions de noms de fichiers pour les extensions (séparées par des virgules)]
** type: chaîne
@@ -2696,6 +2690,12 @@
** valeurs: toute chaîne
** valeur par défaut: `+""+`
* [[option_irc.server_default.autojoin_dynamic]] *irc.server_default.autojoin_dynamic*
** description: pass:none[définir automatiquement l'option "autojoin" selon les canaux que vous rejoignez ou quittez manuellement avec les commandes /join et /part]
** type: booléen
** valeurs: on, off
** valeur par défaut: `+off+`
* [[option_irc.server_default.autoreconnect]] *irc.server_default.autoreconnect*
** description: pass:none[reconnexion automatique au serveur après une déconnexion]
** type: booléen
@@ -3064,11 +3064,11 @@
** valeurs: -1 .. 43200
** valeur par défaut: `+0+`
* [[option_relay.network.compression_level]] *relay.network.compression_level*
** description: pass:none[niveau de compression pour les paquets envoyés au client avec le protocole WeeChat (0 = désactiver la compression, 1 = peu de compression ... 9 = meilleure compression)]
* [[option_relay.network.compression]] *relay.network.compression*
** description: pass:none[compression des messages envoyés aux clients avec le protocole "weechat" : 0 = désactiver la compression, 1 = faible compression / rapide ... 100 = meilleure compression / lent ; la valeur est un pourcentage converti de 1 à 9 pour zlib et de 1 à 19 pour zstd ; la valeur par défaut est recommandée, elle offre un bon compromis compression/vitesse]
** type: entier
** valeurs: 0 .. 9
** valeur par défaut: `+6+`
** valeurs: 0 .. 100
** valeur par défaut: `+20+`
* [[option_relay.network.ipv6]] *relay.network.ipv6*
** description: pass:none[écouter en IPv6 sur le socket par défaut (en plus de l'IPv4 qui est par défaut) ; les protocoles IPv4 et IPv6 peuvent être forcés (individuellement ou ensemble) dans le nom du protocole (voir /help relay)]
+1 -1
View File
@@ -102,7 +102,7 @@ $HOME/.local/share/weechat/weechat.log::
WeeChat est écrit par Sébastien Helleu et des contributeurs (la liste complète
est dans le fichier AUTHORS.adoc).
Copyright (C) 2003-2021 {author}
Copyright (C) 2003-2022 {author}
WeeChat est un logiciel libre ; vous pouvez le redistribuer et/ou le modifier
sous les termes de la GNU General Public License telle que publiée par la
+100 -8
View File
@@ -286,6 +286,7 @@ Le cœur de WeeChat est situé dans les répertoires suivants :
|       irc-ignore.c | Ignore IRC.
|       irc-info.c | Info/infolists/hdata pour IRC.
|       irc-input.c | Entrée de commandes/texte.
|       irc-join.c | Fonctions pour les listes de canaux à rejoindre.
|       irc-message.c | Fonctions pour manipuler les messages IRC.
|       irc-mode.c | Fonctions pour les modes de canal/pseudo.
|       irc-modelist.c | Listes de modes de canaux IRC (+b, +e, +I, ...).
@@ -298,6 +299,7 @@ Le cœur de WeeChat est situé dans les répertoires suivants :
|       irc-sasl.c | Authentification SASL avec le serveur IRC.
|       irc-server.c | Communication avec le serveur IRC.
|       irc-tag.c | Fonctions pour manipuler les étiquettes de message IRC.
|       irc-typing.c | Statut d'écriture.
|       irc-upgrade.c | Sauvegarde/restauration des données IRC lors de la mise à jour de WeeChat.
|    javascript/ | Extension JavaScript.
|       weechat-js.cpp | Fonctions principales pour JavaScript (chargement/déchargement des scripts, exécution de code JavaScript).
@@ -422,6 +424,8 @@ Le cœur de WeeChat est situé dans les répertoires suivants :
|          test-core-utf8.cpp | Tests : UTF-8.
|          test-core-util.cpp | Tests : fonctions utiles.
|       gui/ | Racine des tests unitaires pour les interfaces.
|          test-gui-buffer.cpp | Tests : tampons.
|          test-gui-chat.cpp | Tests : fonctions de discussion.
|          test-gui-color.cpp | Tests : couleurs.
|          test-gui-line.cpp | Tests : lignes.
|          test-gui-nick.cpp | Tests : pseudos.
@@ -432,12 +436,16 @@ Le cœur de WeeChat est situé dans les répertoires suivants :
|             test-irc-color.cpp | Tests : couleurs IRC.
|             test-irc-config.cpp | Tests : configuration IRC.
|             test-irc-ignore.cpp | Tests : ignores IRC.
|             test-irc-join.cpp | Tests : fonctions de join IRC.
|             test-irc-message.cpp | Tests : messages IRC.
|             test-irc-mode.cpp | Tests : modes IRC.
|             test-irc-nick.cpp | Tests : pseudos IRC.
|             test-irc-protocol.cpp | Tests : protocole IRC.
|             test-irc-sasl.cpp | Tests : authentification SASL avec le protocole IRC.
|             test-irc-server.cpp | Tests : serveur IRC.
|             test-irc-tag.cpp | Tests : étiquettes des messages IRC.
|          logger/ | Racine des tests unitaires pour l'extension logger.
|             test-logger-backlog.cpp | Tests : backlog logger.
|          trigger/ | Racine des tests unitaires pour l'extension trigger.
|             test-trigger.cpp | Tests : triggers.
|             test-trigger-config.cpp | Tests : configuration trigger.
@@ -517,7 +525,7 @@ Exemple en C :
/*
* weechat.c - core functions for WeeChat
*
* Copyright (C) 2021 Your Name <your@email.com>
* Copyright (C) 2022 Your Name <your@email.com>
*
* This file is part of WeeChat, the extensible chat client.
*
@@ -1135,16 +1143,100 @@ Le format du message de commit est le suivant (avec fermeture automatique
du bug GitHub) :
----
component: fix a problem (closes #123)
composant: fix a problem (closes #123)
----
Où _component_ est :
Où _composant_ est :
* pour le cœur WeeChat : _core_ (les fichiers dans le répertoire racine, _po/_
et _src/_, sauf _src/plugins/_)
* fichiers de documentation : _doc_ (fichiers dans le répertoire _doc/_)
* nom d'une extension : _irc_, _python_, _relay_, ... (fichiers dans le
répertoire _src/plugins/_)
[width="100%",cols="1m,4m,5",options="header"]
|===
| Composant | Fichiers | Description
| core |
AUTHORS.adoc +
ChangeLog.adoc +
Contributing.adoc +
.github/FUNDING.yml +
.github/ISSUE_TEMPLATE/* +
icons/* +
po/* +
README.adoc +
ReleaseNotes.adoc +
src/core/* +
src/gui/* +
version.sh +
weechat.desktop |
cœur de WeeChat
| build |
autogen.sh +
CMakeLists.txt +
cmake/* +
configure.ac +
Makefile.am +
tools/* +
weechat.cygport.in +
weechat.spec |
Construction
| ci |
.github/workflows/* |
Intégration continue
| debian |
debian-devel/* +
debian-stable/* |
Empaquetage Debian
| tests |
tests/* |
Tests
| doc |
doc/* |
Mises à jour générales sur la documentation, par exemple la construction
| doc/man |
doc/xx/weechat.1.xx.adoc +
doc/xx/weechat-headless.1.xx.adoc |
Pages de manuel
| doc/faq |
doc/xx/weechat_faq.xx.adoc |
Questions fréquemment posées (FAQ)
| doc/quickstart |
doc/xx/weechat_quickstart.xx.adoc |
Guide de démarrage rapide
| doc/user |
doc/xx/weechat_user.xx.adoc |
Guide utilisateur
| doc/scripting |
doc/xx/weechat_scripting.xx.adoc |
Guide pour scripts
| doc/api |
doc/xx/weechat_plugin_api.xx.adoc |
Référence extension API
| doc/relay |
doc/xx/weechat_relay_protocol.xx.adoc |
Protocole relay
| doc/dev |
doc/xx/weechat_dev.en.adoc |
Guide du développeur
| irc +
python +
relay +
… |
src/plugins/<name>/* |
Extension
|===
Quelques règles à suivre :
+15
View File
@@ -855,6 +855,21 @@ commande et le join des canaux) :
[[edit_autojoin]]
=== Comment puis-je ajouter/supprimer des canaux de l'option autojoin ?
Avec WeeChat ≥ 3.5, vous pouvez automatiquement enregistrer les canaux que
vous rejoignez et quittez manuellement dans l'option "autojoin" du serveur.
Pour tous les serveurs :
----
/set irc.server_default.autojoin_record on
----
Pour un seul serveur :
----
/set irc.server.libera.autojoin_record on
----
Vous pouvez utiliser la commande `/set` pour éditer la liste des canaux de
l'autojoin, par exemple pour le serveur libera :
File diff suppressed because it is too large Load Diff
+55 -52
View File
@@ -24,7 +24,7 @@ Les termes suivants sont utilisés dans ce document :
* _relay_ : il s'agit de l'extension "relay" de WeeChat, qui agit comme un
"serveur" et autorise les _clients_ à se connecter
* _client_ : il s'agit d'un autre logiciel, connecté au _relay_ via une
connexion réseau; dans la plupart des cas, ce _client_ est une interface
connexion réseau ; dans la plupart des cas, ce _client_ est une interface
distante.
[[network_diagram]]
@@ -79,7 +79,7 @@ Les commandes ont le format :
Les champs sont :
* _id_ : identifiant du message (facultatif) qui sera envoyée dans la réponse de
_relay_; elle doit être entre parenthèses, et ne doit pas commencer par un
_relay_ ; elle doit être entre parenthèses, et ne doit pas commencer par un
underscore (les identifiants commençant par un underscore sont réservés
pour les messages _évènements_ de WeeChat)
* _commande_ : une commande (voir le tableau ci-dessous)
@@ -88,7 +88,7 @@ Les champs sont :
Liste des commandes disponibles (détail dans les chapitres suivants) :
[width="100%",cols="^3m,14",options="header"]
[width="100%",cols="1m,8",options="header"]
|===
| Commande | Description
| handshake | Poignée de main : préparer l'authentification du client et définir des options, avant la commande _init_.
@@ -107,7 +107,7 @@ Liste des commandes disponibles (détail dans les chapitres suivants) :
[[command_handshake]]
=== handshake
_WeeChat ≥ 2.9._
_WeeChat ≥ 2.9, mis à jour dans la version 3.5._
Effectuer une poignée de main entre le client et WeeChat : cela est obligatoire
dans la plupart des cas pour connaître les paramètres de la session et préparer
@@ -133,10 +133,16 @@ Paramètres :
(avec un hachage SHA256)
*** _pbkdf2+sha512_ : mot de passe salé et haché avec l'algorithme PBKDF2
(avec un hachage SHA512)
** _compression_ : type de compression :
*** _zlib_ : activer la compression _zlib_ pour les messages envoyés par _relay_
(activée par défaut si _relay_ supporte la compression _zlib_)
*** _off_ : désactiver la compression
** _compression_ : liste des types de compression supportées par le client
(séparées par des deux-points et triées de la plus importante à la valeur
par défaut) ; si la compression est activée, les messages de _relay_ vers
le client sont compressés pour économiser de la bande passante ;
les valeurs autorisées sont :
*** _off_ : pas de compression (par défaut si l'option n'est pas donnée)
*** _zlib_ : compresser avec https://zlib.net/[zlib] _(WeeChat ≥ 0.3.7)_
*** _zstd_ : compresser avec https://facebook.github.io/zstd/[Zstandard] :
meilleure compression et bien plus rapide que _zlib_ pour la compression et
la décompression _(WeeChat ≥ 3.5)_
Notes à propos de l'option _password_hash_algo_ :
@@ -178,8 +184,9 @@ suivantes :
_relay_ + le nonce client constituent le sel utilisé dans l'algorithme de
hachage du mot de passe)
* _compression_ : type de compression :
** _zlib_ : les messages sont compressés avec _zlib_
** _off_ : les messages ne sont pas compressés
** _zlib_ : les messages sont compressés avec https://zlib.net/[zlib]
** _zstd_ : les messages sont compressés avec https://facebook.github.io/zstd/[Zstandard]
[TIP]
Avec WeeChat ≤ 2.8, la commande _handshake_ n'est pas implémentée, WeeChat ignore
@@ -204,7 +211,7 @@ htb: {
'password_hash_iterations': '100000',
'totp': 'on',
'nonce': '85B1EE00695A5B254E14F4885538DF0D',
'compression': 'zlib',
'compression': 'off',
}
----
@@ -224,7 +231,7 @@ htb: {
'password_hash_iterations': '100000',
'totp': 'on',
'nonce': '85B1EE00695A5B254E14F4885538DF0D',
'compression': 'zlib',
'compression': 'off',
}
----
@@ -244,7 +251,7 @@ htb: {
'password_hash_iterations': '100000',
'totp': 'on',
'nonce': '85B1EE00695A5B254E14F4885538DF0D',
'compression': 'zlib',
'compression': 'off',
}
----
@@ -256,10 +263,11 @@ le mot de passe est "test" dans cet exemple :
init password_hash=pbkdf2+sha256:85b1ee00695a5b254e14f4885538df0da4b73207f5aae4:100000:ba7facc3edb89cd06ae810e29ced85980ff36de2bb596fcf513aaab626876440
----
* Seulement "sha256" et "sha512" sont supportés par le client, désactiver la compression :
* Seulement "sha256" et "sha512" sont supportés par le client, activer la
compression zstd (préférée) ou zlib :
----
(handshake) handshake password_hash_algo=sha256:sha512,compression=off
(handshake) handshake password_hash_algo=sha256:sha512,compression=zstd:zlib
----
Réponse :
@@ -272,7 +280,7 @@ htb: {
'password_hash_iterations': '100000',
'totp': 'on',
'nonce': '85B1EE00695A5B254E14F4885538DF0D',
'compression': 'off',
'compression': 'zstd',
}
----
@@ -306,12 +314,6 @@ Paramètres :
One-Time Password) utilisé comme second facteur d'authentification, en plus
du mot de passe (option _relay.network.totp_secret_ dans WeeChat)
_(WeeChat ≥ 2.4)_
** _compression_ : type de compression (*obsolète* depuis la version 2.9, gardé
pour des raisons de compatibilité mais devrait être envoyé dans la
<<command_handshake,commande handshake>>) :
*** _zlib_ : activer la compression _zlib_ pour les messages envoyés par _relay_
(activée par défaut si _relay_ supporte la compression _zlib_)
*** _off_ : désactiver la compression
[NOTE]
Avec WeeChat ≥ 1.6, les virgules peuvent être échappées dans la valeur,
@@ -1005,7 +1007,7 @@ Paramètres :
WeeChat répond avec un hdata :
[width="100%",cols="3m,2,10",options="header"]
[width="100%",cols="2m,3,14",options="header"]
|===
| Nom | Type | Description
| context | chaîne | Contexte de complétion : "null" (pas de complétion), "command", "command_arg", "auto".
@@ -1157,16 +1159,16 @@ Syntaxe :
Paramètres :
* _tampon_ : pointeur (par exemple : "0x1234abcd") ou nom complet du tampon (par exemple :
_core.weechat_ ou _irc.libera.#weechat_); le nom "*" peut être utilisé pour
_core.weechat_ ou _irc.libera.#weechat_) ; le nom "*" peut être utilisé pour
spécifier tous les tampons
* _options_ : un ou plusieurs mots-clés, séparés par des virgules (par défaut
_buffers,upgrade,buffer,nicklist_ pour "*" et _buffer,nicklist_ pour un
tampon) :
** _buffers_ : recevoir les signaux à propos des tampons (ouverts/fermés,
déplacés, renommés, mélangés, masqués/démasqués); peut être utilisé seulement
déplacés, renommés, mélangés, masqués/démasqués) ; peut être utilisé seulement
avec "*" _(WeeChat ≥ 0.4.1)_
** _upgrade_ : recevoir les signaux à propos de la mise à jour de WeeChat
(mise à jour, fin de mise à jour); peut être utilisé seulement avec "*"
(mise à jour, fin de mise à jour) ; peut être utilisé seulement avec "*"
_(WeeChat ≥ 0.4.1)_
** _buffer_ : recevoir les signaux à propos du tampon (nouvelles lignes, type
changé, titre changé, variable locale ajoutée/supprimée, et les même signaux
@@ -1225,11 +1227,11 @@ Syntaxe :
Paramètres :
* _tampon_ : pointeur (par exemple : "0x1234abcd") ou nom complet du tampon (par exemple :
_core.weechat_ ou _irc.libera.#weechat_); le nom "*" peut être utilisé pour
_core.weechat_ ou _irc.libera.#weechat_) ; le nom "*" peut être utilisé pour
spécifier tous les tampons
* _options_ : un ou plusieurs mots-clés, séparés par des virgules (le défaut est
_buffers,upgrade,buffer,nicklist_ pour "*" et _buffer,nicklist_ pour un
tampon); voir <<command_sync,la commande sync>> pour les valeurs
tampon) ; voir <<command_sync,la commande sync>> pour les valeurs
[NOTE]
En utilisant le tampon "*", les autres tampons synchronisés (en utilisant un
@@ -1278,24 +1280,24 @@ Syntaxe :
Objets retournés (dans cet ordre) :
[width="100%",cols="^3,3m,5m",options="header"]
[width="100%",cols="1m,2,6m",options="header"]
|===
| Type | Type (dans le message) | Valeur
| caractère | chr | 65 ("A")
| entier | int | 123456
| entier | int | -123456
| long | lon | 1234567890
| long | lon | -1234567890
| chaîne | str | "a string"
| chaîne | str | ""
| chaîne | str | NULL
| tampon de données | buf | "buffer"
| tampon de données | buf | NULL
| pointeur | ptr | 0x1234abcd
| pointeur | ptr | NULL
| date/heure | tim | 1321993456
| tableau de chaînes | arr str | [ "abc", "de" ]
| tableau d'entiers | arr int | [ 123, 456, 789 ]
| Type | Description | Valeur
| chr | caractère | 65 ("A")
| int | entier | 123456
| int | entier | -123456
| lon | long | 1234567890
| lon | long | -1234567890
| str | chaîne | "a string"
| str | chaîne | ""
| str | chaîne | NULL
| buf | tampon de données | "buffer"
| buf | tampon de données | NULL
| ptr | pointeur | 0x1234abcd
| ptr | pointeur | NULL
| tim | date/heure | 1321993456
| arr str | tableau de chaînes | [ "abc", "de" ]
| arr int | tableau d'entiers | [ 123, 456, 789 ]
|===
[IMPORTANT]
@@ -1399,9 +1401,10 @@ suivant (avec la taille en octets) :
(en incluant ce champ)
* _compression_ (octet) : drapeau :
** _0x00_ : les données qui suivent ne sont pas compressées
** _0x01_ : les données qui suivent sont compressées avec _zlib_
** _0x01_ : les données qui suivent sont compressées avec https://zlib.net/[zlib]
** _0x02_ : les données qui suivent sont compressées avec https://facebook.github.io/zstd/[Zstandard]
* _id_ (chaîne, 4 octets + contenu) : l'identifiant envoyé par le client
(avant le nom de la commande); il peut être vide (chaîne avec une longueur
(avant le nom de la commande) ; il peut être vide (chaîne avec une longueur
de zéro sans contenu) si l'identifiant n'était pas donné dans la commande
* _type_ (3 caractères) : un type : 3 lettres (voir le tableau ci-dessous)
* _objet_ : un objet (voir tableau ci-dessous)
@@ -1409,9 +1412,9 @@ suivant (avec la taille en octets) :
[[message_compression]]
=== Compression
Si le drapeau de _compression_ est égal à 0x01, alors *toutes* les données après
sont compressées avec _zlib_, et par conséquent doivent être décompressées avant
d'être utilisées.
Si le drapeau de _compression_ est égal à 0x01 ou 0x02, alors *toutes* les données
après sont compressées avec https://zlib.net/[zlib] ou https://facebook.github.io/zstd/[Zstandard],
et par conséquent doivent être décompressées avant d'être utilisées.
[[message_identifier]]
=== Identifiant
@@ -2360,7 +2363,7 @@ envoyer à nouveau les commandes envoyées au démarrage après _init_.
Les objets sont identifiés par 3 lettres, appelées _type_. Les types suivants
sont utilisés :
[width="100%",cols="^2m,5,10",options="header"]
[width="100%",cols="1m,2,8",options="header"]
|===
| Type | Valeur | Longueur
| chr | Caractère signé | 1 octet
@@ -2473,7 +2476,7 @@ Une chaîne _NULL_ (pointeur NULL en C) a une longueur de -1 :
[[object_buffer]]
==== Tampon de données
Même format que l'objet <<object_string,chaîne>>; le contenu est simplement un
Même format que l'objet <<object_string,chaîne>> ; le contenu est simplement un
tableau d'octets.
[[object_pointer]]
@@ -2556,7 +2559,7 @@ objets).
....
* _h-path_ (chaîne) : chemin utilise pour atteindre le hdata (exemple :
_buffer/lines/line/line_data_); le dernier élément du chemin est le hdata
_buffer/lines/line/line_data_) ; le dernier élément du chemin est le hdata
retourné
* _keys_ (chaînes) : chaîne avec une liste de _clé:type_ (séparés par des
virgules), exemple : _number:int,name:str_
+60 -24
View File
@@ -205,6 +205,13 @@ Les fonctions sont appelées par `+weechat.xxx(arg1, arg2, ...)+`.
Les fonctions sont appelées par `+weechat::xxx arg1 arg2 ...+`.
Étant donné que Tcl n'a que des types "string", il n'y a pas de type null à
donner comme paramètre quand une fonctionne accepte des valeurs nulles.
Pour surmonter cela vous pouvez utiliser la constante `$::weechat::WEECHAT_NULL`
qui agit comme la valeur nulle. Cette constante est définie avec la valeur
`\uFFFF\uFFFF\uFFFFWEECHAT_NULL\uFFFF\uFFFF\uFFFF`, il est donc très peu probable
qu'elle apparaisse de manière non intentionnelle.
[[language_guile]]
==== Guile (Scheme)
@@ -563,7 +570,7 @@ link:weechat_plugin_api.fr.html[Référence API extension WeeChat].
Liste des fonctions de l'API script :
[width="100%",cols="1,3",options="header"]
[width="100%",cols="1,5",options="header"]
|===
| Catégorie | Fonctions
@@ -663,6 +670,7 @@ Liste des fonctions de l'API script :
print (pour python : prnt) +
print_date_tags (pour python : prnt_date_tags) +
print_y (pour python : prnt_y) +
print_y_date_tags (pour python : prnt_y_date_tags) +
log_print
| hooks |
@@ -693,6 +701,7 @@ Liste des fonctions de l'API script :
| tampons |
buffer_new +
buffer_new_props +
current_buffer +
buffer_search +
buffer_search_main +
@@ -811,7 +820,7 @@ Liste des fonctions de l'API script :
Liste des constantes de l'API script :
[width="100%",cols="1,3",options="header"]
[width="100%",cols="1,5",options="header"]
|===
| Catégorie | Constantes
@@ -896,7 +905,7 @@ Exemples :
weechat.prnt("", "bonjour")
# afficher "bonjour" sur le tampon core, mais ne pas l'écrire dans le fichier de log
# (version >= 0.3.3 seulement)
# (version 0.3.3 seulement)
weechat.prnt_date_tags("", 0, "no_log", "bonjour")
# afficher le préfixe "==>" et le message "bonjour" sur le tampon courant
@@ -1077,26 +1086,53 @@ Vous pouvez lancer un processus en tâche de fond avec `+hook_process+`. Votre
fonction de rappel sera appelée quand des données seront prêtes. Elle peut être
appelée plusieurs fois.
Pour le dernier appel à votre fonction de rappel, _rc_ est positionné à 0 ou
une valeur positive, c'est le code retour de la commande.
Pour le dernier appel à votre fonction de rappel, _return_code_ est positionné
à 0 ou une valeur positive, il s'agit du code retour de la commande.
Exemple :
[source,python]
----
process_output = ""
def my_process_cb(data, command, rc, out, err):
global process_output
if out != "":
process_output += out
if int(rc) >= 0:
weechat.prnt("", process_output)
def my_process_cb(data, command, return_code, out, err):
if return_code == weechat.WEECHAT_HOOK_PROCESS_ERROR:
weechat.prnt("", "Erreur avec la commande '%s'" % command)
return weechat.WEECHAT_RC_OK
if return_code >= 0:
weechat.prnt("", "return_code = %d" % return_code)
if out:
weechat.prnt("", "stdout: %s" % out)
if err:
weechat.prnt("", "stderr: %s" % err)
return weechat.WEECHAT_RC_OK
weechat.hook_process("/bin/ls -l /etc", 10 * 1000, "my_process_cb", "")
----
Vous pouvez aussi appeler directement une fonction du script qui fait un appel
bloquant, au lieu d'une commande externe :
[source,python]
----
def get_status(data):
# faire quelque chose de bloquant...
# ...
return "ceci est le résultat"
def my_process_cb(data, command, return_code, out, err):
if return_code == weechat.WEECHAT_HOOK_PROCESS_ERROR:
weechat.prnt("", "Error with command '%s'" % command)
return weechat.WEECHAT_RC_OK
if return_code >= 0:
weechat.prnt("", "return_code = %d" % return_code)
if out:
weechat.prnt("", "stdout: %s" % out)
if err:
weechat.prnt("", "stderr: %s" % err)
return weechat.WEECHAT_RC_OK
hook = weechat.hook_process("func:get_status", 5000, "my_process_cb", "")
----
[[url_transfer]]
==== Transfert d'URL
@@ -1111,15 +1147,15 @@ dans la fonction de rappel (sortie standard du processus) :
[source,python]
----
# Afficher la version stable courante de WeeChat.
weechat_version = ""
# Afficher la dernière version stable de WeeChat.
weechat_latest_version = ""
def weechat_process_cb(data, command, rc, out, err):
global weechat_version
if out != "":
weechat_version += out
if int(rc) >= 0:
weechat.prnt("", "La version stable courante de WeeChat est : %s" % weechat_version)
def weechat_process_cb(data, command, return_code, out, err):
global weechat_latest_version
if out:
weechat_latest_version += out
if return_code >= 0:
weechat.prnt("", "Dernière version de WeeChat : %s" % weechat_latest_version)
return weechat.WEECHAT_RC_OK
weechat.hook_process("url:https://weechat.org/dev/info/stable/",
@@ -1135,9 +1171,9 @@ développement WeeChat dans le fichier _/tmp/weechat-devel.tar.gz_ :
[source,python]
----
def my_process_cb(data, command, rc, out, err):
if int(rc) >= 0:
weechat.prnt("", "Fin du transfert (rc=%s)" % rc)
def my_process_cb(data, command, return_code, out, err):
if return_code >= 0:
weechat.prnt("", "Fin du transfert (code retour = %d)" % return_code)
return weechat.WEECHAT_RC_OK
weechat.hook_process_hashtable("url:https://weechat.org/files/src/weechat-devel.tar.gz",
+118 -96
View File
@@ -69,6 +69,7 @@ Les paquets binaires sont disponibles pour beaucoup de distributions, dont :
Pour les dernières versions et les constructions nocturnes :
https://weechat.org/download/debian
* Fedora Core : `dnf install weechat`
* FreeBSD : `pkg install weechat`
* Gentoo : `emerge weechat`
* Mandriva/RedHat (ou toute distribution compatible avec les RPM) :
`rpm -i /path/to/weechat-x.y.z-1.i386.rpm`
@@ -97,21 +98,21 @@ Le tableau suivant liste les paquets *requis* pour compiler WeeChat :
[width="100%",cols="5,^3,.^15",options="header"]
|===
| Paquet ^(1)^ | Version | Fonctionnalité
| compilateur C
(gcc, clang, ...) | | Construction.
| cmake | ≥ 3.0 | Construction (autotools toujours possible, mais CMake est recommandé).
| pkg-config | | Détection des bibliothèques installées.
| libncursesw5-dev ^(2)^ | | Interface ncurses.
| libcurl4-gnutls-dev | | Transfert d'URL.
| zlib1g-dev | | Compression des paquets dans l'extension relay (protocole weechat), extension script.
| libgcrypt20-dev | | Données sécurisées, authentification IRC SASL.
| libgnutls28-dev | ≥ 2.2.0 ^(3)^ | Connexion SSL au serveur IRC, support SSL dans l'extension relay, authentification IRC SASL (ECDSA-NIST256P-CHALLENGE).
| Paquet ^(1)^ | Version | Fonctionnalité
| compilateur C (gcc / clang) | | Construction.
| cmake | ≥ 3.0 | Construction (autotools toujours possible, mais CMake est recommandé).
| pkg-config | | Détection des bibliothèques installées.
| libncursesw5-dev ^(2)^ | | Interface ncurses.
| libcurl4-gnutls-dev | | Transfert d'URL.
| libgcrypt20-dev | | Données sécurisées, authentification IRC SASL.
| libgnutls28-dev | ≥ 2.2.0 ^(3)^ | Connexion SSL au serveur IRC, support SSL dans l'extension relay, authentification IRC SASL (ECDSA-NIST256P-CHALLENGE).
| zlib1g-dev | | Compression des messages (WeeChat -> client) avec https://zlib.net/[zlib] dans l'extension relay (protocole weechat), extension script.
| libzstd-dev | | Compression des messages (WeeChat -> client) avec https://facebook.github.io/zstd/[Zstandard] dans l'extension relay (protocole weechat).
|===
[NOTE]
^(1)^ Le nom provient de la distribution GNU/Linux Debian, la version dans le
nom du paquet peut être différente. +
^(1)^ Le nom provient de la distribution GNU/Linux Debian Bullseye, la version
et le nom peuvent être différents dans les autres distributions.
^(2)^ Il est recommandé de compiler avec libncurses**w**5-dev (le *w* est
important). WeeChat peut compiler avec libncurses5-dev, mais ce n'est *PAS*
recommandé : vous pourriez avoir des problèmes d'affichage avec les caractères
@@ -123,29 +124,32 @@ Le tableau suivant liste les paquets optionnels pour compiler WeeChat :
[width="100%",cols="5,^3,.^15",options="header"]
|===
| Paquet | Version | Fonctionnalité
| compilateur C++ | | Construction et lancement des tests, extension JavaScript.
| gettext | | Internationalisation (traduction des messages ; la langue de base est l'anglais).
| ca-certificates | | Certificats pour les connexions SSL.
| libaspell-dev
∥ libenchant-dev | | Extension spell.
| python3-dev ^(1)^ | | Extension python.
| libperl-dev | | Extension perl.
| ruby2.5, ruby2.5-dev | ≥ 1.9.1 | Extension ruby.
| liblua5.3-dev | | Extension lua.
| tcl-dev | ≥ 8.5 | Extension tcl.
| guile-2.0-dev | ≥ 2.0 | Extension guile (scheme).
| libv8-dev | ≤ 3.24.3 | Extension javascript.
| php-dev, libphp-embed | ≥ 7.0 | Extension PHP.
| libxml2-dev | | Extension PHP.
| libargon2-0-dev | | Extension PHP (si PHP ≥ 7.2).
| libsodium-dev | | Extension PHP (si PHP ≥ 7.2).
| asciidoctor | ≥ 1.5.4 | Construction de la page man et de la documentation.
| libcpputest-dev | ≥ 3.4 | Construction et lancement des tests.
| Paquet ^(1)^ | Version | Fonctionnalité
| compilateur {cpp} (pass:[g++ / clang++]) | | Construction et lancement des tests, extension JavaScript.
| gettext | | Internationalisation (traduction des messages ; la langue de base est l'anglais).
| ca-certificates | | Certificats pour les connexions SSL.
| libaspell-dev / libenchant-dev | | Extension spell.
| python3-dev ^(2)^ | | Extension python.
| libperl-dev | | Extension perl.
| ruby2.7, ruby2.7-dev | ≥ 1.9.1 | Extension ruby.
| liblua5.4-dev | | Extension lua.
| tcl-dev | ≥ 8.5 | Extension tcl.
| guile-2.2-dev | ≥ 2.0 | Extension guile (scheme).
| libv8-dev | ≤ 3.24.3 | Extension javascript.
| php-dev | ≥ 7.0 | Extension PHP.
| libphp-embed | ≥ 7.0 | Extension PHP.
| libxml2-dev | | Extension PHP.
| libargon2-dev | | Extension PHP (si PHP ≥ 7.2).
| libsodium-dev | | Extension PHP (si PHP ≥ 7.2).
| asciidoctor | ≥ 1.5.4 | Construction de la page man et de la documentation.
| ruby-pygments.rb | | Construction de la documentation.
| libcpputest-dev | ≥ 3.4 | Construction et lancement des tests.
|===
[NOTE]
^(1)^ Par défaut Python 3.x est utilisé. Si vous activez l'option
^(1)^ Le nom provient de la distribution GNU/Linux Debian Bullseye, la version
et le nom peuvent être différents dans les autres distributions.
^(2)^ Par défaut Python 3.x est utilisé. Si vous activez l'option
`+ENABLE_PYTHON2+` (voir ci-dessous), seule la version 2.7 de Python est
recommandée.
@@ -1345,7 +1349,7 @@ Pour supprimer la variable locale "completion_default_template" :
Par défaut WeeChat et ses extensions par défaut interprètent ces variables :
[width="100%",cols="^2m,2,5",options="header"]
[width="100%",cols="2m,2,5",options="header"]
|===
| Nom | Valeur | Description
@@ -1484,65 +1488,6 @@ Options :
include::includes/autogen_user_options.fr.adoc[tag=buflist_options]
[[fset]]
=== Fset
L'extension Fset affiche une liste des options dans un tampon et aide à définir
les options de WeeChat et des extensions.
Exemple de tampon fset affichant les options commençant par `weechat.look` :
[subs="quotes"]
....
┌──────────────────────────────────────────────────────────────────────────────────────┐
│1.weechat│1/121 | Filter: weechat.look.* | Sort: ~name | Key(input): alt+space=toggle │
│2.fset │weechat.look.bare_display_exit_on_input: exit the bare display mode on any c│
│ │hanges in input [default: on] │
│ │----------------------------------------------------------------------------│
│ │ weechat.look.align_end_of_lines integer message │
│ │ weechat.look.align_multiline_words boolean on │
│ │ weechat.look.bar_more_down string "++" │
│ │ weechat.look.bar_more_left string "<<" │
│ │ weechat.look.bar_more_right string ">>" │
│ │ weechat.look.bar_more_up string "--" │
│ │## weechat.look.bare_display_exit_on_input boolean on ##│
│ │ weechat.look.bare_display_time_format string "%H:%M" │
│ │ weechat.look.buffer_auto_renumber boolean on │
│ │ weechat.look.buffer_notify_default integer all │
│ │ weechat.look.buffer_position integer end │
│ │ weechat.look.buffer_search_case_sensitive boolean off │
│ │ weechat.look.buffer_search_force_default boolean off │
│ │ weechat.look.buffer_search_regex boolean off │
│ │ weechat.look.buffer_search_where integer prefix_message │
│ │ weechat.look.buffer_time_format string "%H:%M:%S" │
│ │ weechat.look.buffer_time_same string "" │
│ │[12:55] [2] [fset] 2:fset │
│ │█ │
└──────────────────────────────────────────────────────────────────────────────────────┘
....
[[fset_commands]]
==== Commandes
include::includes/autogen_user_commands.fr.adoc[tag=fset_commands]
[[fset_options]]
==== Options
Sections dans le fichier _fset.conf_ :
[width="100%",cols="3m,6m,16",options="header"]
|===
| Section | Commande de contrôle | Description
| color | /set fset.color.* | Couleurs.
| format | /set fset.format.* | Formats utilisés pour afficher la liste des options.
| look | /set fset.look.* | Aspect/présentation.
|===
Options :
include::includes/autogen_user_options.fr.adoc[tag=fset_options]
[[key_bindings]]
== Raccourcis clavier
@@ -1636,7 +1581,7 @@ Ils peuvent être modifiés et de nouveaux peuvent être ajoutés avec la comman
| Touche | Description | Commande
| kbd:[Ctrl+r] | Chercher du texte dans l'historique du tampon (voir <<key_bindings_search_context,les touches pour le contexte de recherche>>). | `+/input search_text_here+`
| kbd:[Ctrl+s], kbd:[Ctrl+u] | Positionner le marqueur de données non lues sur tous les tampons. | `+/input set_unread+`
| kbd:[Ctrl+x] | Changer de tampon courant si plusieurs tampons sont attachés avec le même numéro. | `+/input switch_active_buffer+`
| kbd:[Ctrl+x] | Changer de tampon courant si plusieurs tampons sont mélangés avec le même numéro, par exemple basculer vers un autre tampon serveur IRC. | `+/input switch_active_buffer+`
| kbd:[Alt+x] | Zoomer sur le tampon mélangé (kbd:[Alt+x] de nouveau : afficher tous les tampons mélangés). | `+/input zoom_merged_buffer+`
| kbd:[PgUp] | Monter d'une page dans l'historique du tampon. | `+/window page_up+`
| kbd:[PgDn] | Descendre d'une page dans l'historique du tampon. | `+/window page_down+`
@@ -1912,6 +1857,65 @@ Ces touches et actions sont utilisées sur le tampon script
[[configuration]]
== Configuration
[[fset]]
=== Fset
L'extension Fset affiche une liste des options dans un tampon et aide à définir
les options de WeeChat et des extensions.
Exemple de tampon fset affichant les options commençant par `weechat.look` :
[subs="quotes"]
....
┌──────────────────────────────────────────────────────────────────────────────────────┐
│1.weechat│1/121 | Filter: weechat.look.* | Sort: ~name | Key(input): alt+space=toggle │
│2.fset │weechat.look.bare_display_exit_on_input: exit the bare display mode on any c│
│ │hanges in input [default: on] │
│ │----------------------------------------------------------------------------│
│ │ weechat.look.align_end_of_lines integer message │
│ │ weechat.look.align_multiline_words boolean on │
│ │ weechat.look.bar_more_down string "++" │
│ │ weechat.look.bar_more_left string "<<" │
│ │ weechat.look.bar_more_right string ">>" │
│ │ weechat.look.bar_more_up string "--" │
│ │## weechat.look.bare_display_exit_on_input boolean on ##│
│ │ weechat.look.bare_display_time_format string "%H:%M" │
│ │ weechat.look.buffer_auto_renumber boolean on │
│ │ weechat.look.buffer_notify_default integer all │
│ │ weechat.look.buffer_position integer end │
│ │ weechat.look.buffer_search_case_sensitive boolean off │
│ │ weechat.look.buffer_search_force_default boolean off │
│ │ weechat.look.buffer_search_regex boolean off │
│ │ weechat.look.buffer_search_where integer prefix_message │
│ │ weechat.look.buffer_time_format string "%H:%M:%S" │
│ │ weechat.look.buffer_time_same string "" │
│ │[12:55] [2] [fset] 2:fset │
│ │█ │
└──────────────────────────────────────────────────────────────────────────────────────┘
....
[[fset_commands]]
==== Commandes
include::includes/autogen_user_commands.fr.adoc[tag=fset_commands]
[[fset_options]]
==== Options
Sections dans le fichier _fset.conf_ :
[width="100%",cols="3m,6m,16",options="header"]
|===
| Section | Commande de contrôle | Description
| color | /set fset.color.* | Couleurs.
| format | /set fset.format.* | Formats utilisés pour afficher la liste des options.
| look | /set fset.look.* | Aspect/présentation.
|===
Options :
include::includes/autogen_user_options.fr.adoc[tag=fset_options]
[[colors]]
=== Couleurs
@@ -2165,9 +2169,9 @@ la valeur par défaut est _all_.
|===
| Niveau de notification | Niveau des messages ajoutés à la hotlist
| none | (aucun)
| highlight | _highlight_ + _private_
| message | _highlight_ + _private_ + _message_
| all | _highlight_ + _private_ + _message_ + _low_
| highlight | highlight + private
| message | highlight + private + message
| all | highlight + private + message + low
|===
Le niveau de notification peut être défini pour un ensemble de tampons, par
@@ -4779,10 +4783,19 @@ Variables définies avec les étiquettes du message :
| tg_tag_prefix_nick | chaîne | Couleur du pseudo dans le préfixe (depuis l'étiquette "prefix_nick_ccc").
| tg_tag_host | chaîne | Nom d'utilisateur et hôte, format : utilisateur@hôte (depuis l'étiquette "host_xxx").
| tg_tag_notify | chaîne | Niveau de notification (_none_, _message_, _private_, _highlight_).
| tg_tag_irc_xxx | chaîne | Étiquette de message IRC (clé "xxx"). ^(1)^
| tg_notify | chaîne | Niveau de notification, si différent de _none_.
| tg_msg_pv | chaîne | "1" pour un message privé, sinon "0".
|===
[NOTE]
====
^(1)^ Des caractères spéciaux sont remplacés dans l'étiquette IRC :
* clé : `_` -> `-` et `,` -> `;`
* valeur : `,` -> `;`
====
[[trigger_data_print]]
==== Print
@@ -4813,10 +4826,19 @@ Variables définies avec les étiquettes du message :
| tg_tag_prefix_nick | chaîne | Couleur du pseudo dans le préfixe (depuis l'étiquette "prefix_nick_ccc").
| tg_tag_host | chaîne | Nom d'utilisateur et hôte, format : utilisateur@hôte (depuis l'étiquette "host_xxx").
| tg_tag_notify | chaîne | Niveau de notification (_none_, _message_, _private_, _highlight_).
| tg_tag_irc_xxx | chaîne | Étiquette de message IRC (clé "xxx"). ^(1)^
| tg_notify | chaîne | Niveau de notification, si différent de _none_.
| tg_msg_pv | chaîne | "1" pour un message privé, sinon "0".
|===
[NOTE]
====
^(1)^ Des caractères spéciaux sont remplacés dans l'étiquette IRC :
* clé : `_` -> `-` et `,` -> `;`
* valeur : `,` -> `;`
====
[[trigger_data_command]]
==== Command
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2021 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
#
# This file is part of WeeChat, the extensible chat client.
#
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2021 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
#
# This file is part of WeeChat, the extensible chat client.
#
@@ -26,6 +26,8 @@
| irc | irc_channels | canali su tutti i server IRC
| irc | irc_channels_autojoin | channels automatically joined on the current server (option "autojoin")
| irc | irc_ignores_numbers | numero di ignore definiti
| irc | irc_modelist_masks | modelist masks of current IRC channel; required argument: modelist mode
@@ -123,6 +123,35 @@ Examples:
/auth user2 ${weechat_config_dir}/ecdsa2.pem
----
[[command_irc_autojoin]]
* `+autojoin+`: configure the "autojoin" server option
----
/autojoin add [<channel1> [<channel2>...]]
addraw <channel1>[,<channel2>...] [<key1>[,<key2>...]]
del [<channel1> [<channel2>...]]
save
sort
add: add current channel or a list of channels (with optional keys) to the autojoin option; if you are on the channel and the key is not provided, the key is read in the channel
addraw: use the IRC raw format (same as /join command): all channels separated by commas, optional keys separated by commas
del: delete current channel or a list of channels from the autojoin option
channel: channel name
key: key for the channel
save: save currently joined channels in the autojoin option
sort: sort alphabetically channels in the autojoin option
Examples:
/autojoin add
/autojoin add #test
/autojoin add #chan1 #chan2
/autojoin addraw #chan1,#chan2,#chan3 key1,key2
/autojoin del
/autojoin del #chan1
/autojoin save
/autojoin sort
----
[[command_irc_ban]]
* `+ban+`: banna nick oppure host
+10 -10
View File
@@ -1290,12 +1290,6 @@
** valori: qualsiasi stringa
** valore predefinito: `+"*"+`
* [[option_weechat.plugin.debug]] *weechat.plugin.debug*
** descrizione: pass:none[abilita come predefinito il debug per tutti i plugin (opzione disabilita di default, caldamente raccomandato)]
** tipo: bool
** valori: on, off
** valore predefinito: `+off+`
* [[option_weechat.plugin.extension]] *weechat.plugin.extension*
** descrizione: pass:none[elenco separato da virgole di estensioni dei nomi file per i plugin]
** tipo: stringa
@@ -2696,6 +2690,12 @@
** valori: qualsiasi stringa
** valore predefinito: `+""+`
* [[option_irc.server_default.autojoin_dynamic]] *irc.server_default.autojoin_dynamic*
** descrizione: pass:none[set automatically the "autojoin" option according to the channels you manually join and part with commands /join and /part]
** tipo: bool
** valori: on, off
** valore predefinito: `+off+`
* [[option_irc.server_default.autoreconnect]] *irc.server_default.autoreconnect*
** descrizione: pass:none[riconnette automaticamente al server alla disconnessione]
** tipo: bool
@@ -3064,11 +3064,11 @@
** valori: -1 .. 43200
** valore predefinito: `+0+`
* [[option_relay.network.compression_level]] *relay.network.compression_level*
** descrizione: pass:none[livello di compressione per i pacchetti inviati al client con il protocollo WeeChat (0 = disabilita compressione, 1 = compressione bassa ... 9 = compressione migliore)]
* [[option_relay.network.compression]] *relay.network.compression*
** descrizione: pass:none[compression of messages sent to clients with "weechat" protocol: 0 = disable compression, 1 = low compression / fast ... 100 = best compression / slow; the value is a percentage converted to 1-9 for zlib and 1-19 for zstd; the default value is recommended, it offers a good compromise between compression and speed]
** tipo: intero
** valori: 0 .. 9
** valore predefinito: `+6+`
** valori: 0 .. 100
** valore predefinito: `+20+`
* [[option_relay.network.ipv6]] *relay.network.ipv6*
** descrizione: pass:none[listen on IPv6 socket by default (in addition to IPv4 which is default); protocols IPv4 and IPv6 can be forced (individually or together) in the protocol name (see /help relay)]
+1 -1
View File
@@ -103,7 +103,7 @@ $HOME/.local/share/weechat/weechat.log::
WeeChat is written by Sébastien Helleu and contributors (complete list is in
the AUTHORS.adoc file).
Copyright (C) 2003-2021 {author}
Copyright (C) 2003-2022 {author}
WeeChat is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
+18
View File
@@ -899,6 +899,24 @@ comando e l'ingresso nei canali):
[[edit_autojoin]]
=== How can I add/remove channels from autojoin option?
// TRANSLATION MISSING
With WeeChat ≥ 3.5, you can automatically record the channels you manually
join and part in the "autojoin" server option.
// TRANSLATION MISSING
For all servers:
----
/set irc.server_default.autojoin_record on
----
// TRANSLATION MISSING
For a single server:
----
/set irc.server.libera.autojoin_record on
----
// TRANSLATION MISSING
You can use the `/set` command to edit the list of autojoin channels,
for example for the "libera" server:
File diff suppressed because it is too large Load Diff
+61 -23
View File
@@ -213,6 +213,12 @@ Functions are called with `+weechat.xxx(arg1, arg2, ...)+`.
Functions are called with `+weechat::xxx arg1 arg2 ...+`.
Since Tcl only has string types, there's no null type to pass as an argument
when a function accepts null values. To overcome this you can use the constant
`$::weechat::WEECHAT_NULL` which acts as a null value. This constant is defined
as `\uFFFF\uFFFF\uFFFFWEECHAT_NULL\uFFFF\uFFFF\uFFFF`, so it's very unlikely to
appear unintentionally.
[[language_guile]]
==== Guile (Scheme)
@@ -573,7 +579,7 @@ link:weechat_plugin_api.it.html[WeeChat plugin API reference].
Elenco di funzioni nelle API per gli script:
[width="100%",cols="1,3",options="header"]
[width="100%",cols="1,5",options="header"]
|===
| Categoria | Funzioni
@@ -676,6 +682,8 @@ Elenco di funzioni nelle API per gli script:
print_date_tags (for python: prnt_date_tags) +
// TRANSLATION MISSING
print_y (for python: prnt_y) +
// TRANSLATION MISSING
print_y_date_tags (for python: prnt_y_date_tags) +
log_print
| hook |
@@ -706,6 +714,7 @@ Elenco di funzioni nelle API per gli script:
| buffer |
buffer_new +
buffer_new_props +
current_buffer +
buffer_search +
buffer_search_main +
@@ -825,7 +834,7 @@ Elenco di funzioni nelle API per gli script:
Elenco di costanti nelle API per gli script:
[width="100%",cols="1,3",options="header"]
[width="100%",cols="1,5",options="header"]
|===
| Categoria | Costanti
@@ -917,7 +926,7 @@ Esempi:
weechat.prnt("", "hello")
# visualizza "hello" sul buffer core, ma non salva sul file di log
# (solo versioni >= 0.3.3)
# (solo versioni 0.3.3)
weechat.prnt_date_tags("", 0, "no_log", "hello")
# visualizza il prefisso "==>" ed il messaggio "hello" sul buffer corrente
@@ -1097,26 +1106,54 @@ weechat.hook_timer(60 * 1000, 60, 0, "timer_cb", "")
callback verrà chiamata quando i dati sono pronti. Può essere chiamata
più volte.
Per l'ultima chiamata alla callback, _rc_ è impostato a zero o su un
Per l'ultima chiamata alla callback, _return_code_ è impostato a zero o su un
valore positivo, è il codice restituito dal comando.
Esempio:
[source,python]
----
process_output = ""
def my_process_cb(data, command, rc, out, err):
global process_output
if out != "":
process_output += out
if int(rc) >= 0:
weechat.prnt("", process_output)
def my_process_cb(data, command, return_code, out, err):
if return_code == weechat.WEECHAT_HOOK_PROCESS_ERROR:
weechat.prnt("", "Error with command '%s'" % command)
return weechat.WEECHAT_RC_OK
if return_code >= 0:
weechat.prnt("", "return_code = %d" % return_code)
if out:
weechat.prnt("", "stdout: %s" % out)
if err:
weechat.prnt("", "stderr: %s" % err)
return weechat.WEECHAT_RC_OK
weechat.hook_process("/bin/ls -l /etc", 10 * 1000, "my_process_cb", "")
----
// TRANSLATION MISSING
You can also call directly a script function that does something blocking,
instead of an external command:
[source,python]
----
def get_status(data):
# do something blocking...
# ...
return "this is the result"
def my_process_cb(data, command, return_code, out, err):
if return_code == weechat.WEECHAT_HOOK_PROCESS_ERROR:
weechat.prnt("", "Error with command '%s'" % command)
return weechat.WEECHAT_RC_OK
if return_code >= 0:
weechat.prnt("", "return_code = %d" % return_code)
if out:
weechat.prnt("", "stdout: %s" % out)
if err:
weechat.prnt("", "stderr: %s" % err)
return weechat.WEECHAT_RC_OK
hook = weechat.hook_process("func:get_status", 5000, "my_process_cb", "")
----
[[url_transfer]]
==== Trasferimento URL
@@ -1129,17 +1166,18 @@ delle opzioni per il trasferimento dell'URL.
Esempio di trasferimento di un URL senza opzioni: la pagina HTML verrà
ricevuta come "out" nella callback (output standard di un processo):
// TRANSLATION MISSING
[source,python]
----
# Mostra la versione stabile corrente di WeeChat.
weechat_version = ""
# Display latest stable version of WeeChat.
weechat_latest_version = ""
def weechat_process_cb(data, command, rc, out, err):
global weechat_version
if out != "":
weechat_version += out
if int(rc) >= 0:
weechat.prnt("", "Current WeeChat stable is: %s" % weechat_version)
def weechat_process_cb(data, command, return_code, out, err):
global weechat_latest_version
if out:
weechat_latest_version += out
if return_code >= 0:
weechat.prnt("", "Latest WeeChat version: %s" % weechat_latest_version)
return weechat.WEECHAT_RC_OK
weechat.hook_process("url:https://weechat.org/dev/info/stable/",
@@ -1155,9 +1193,9 @@ di sviluppo di WeeChat nel file _/tmp/weechat-devel.tar.gz_:
[source,python]
----
def my_process_cb(data, command, rc, out, err):
if int(rc) >= 0:
weechat.prnt("", "End of transfer (rc=%s)" % rc)
def my_process_cb(data, command, return_code, out, err):
if return_code >= 0:
weechat.prnt("", "End of transfer (return code = %d)" % return_code)
return weechat.WEECHAT_RC_OK
weechat.hook_process_hashtable("url:https://weechat.org/files/src/weechat-devel.tar.gz",
+128 -107
View File
@@ -80,6 +80,7 @@ I pacchetti binari sono disponibili per molte distribuzioni, incluse:
`apt-get install weechat-curses weechat-plugins` +
For latest versions and nightly builds: https://weechat.org/download/debian
* Fedora Core: `dnf install weechat`
* FreeBSD: `pkg install weechat`
* Gentoo: `emerge weechat`
* Mandriva/RedHat (o qualunque distribuzione compatibile con RPM):
`rpm -i /path/per/weechat-x.y.z-1.i386.rpm`
@@ -112,26 +113,28 @@ WeeChat:
[width="100%",cols="5,^3,.^15",options="header"]
|===
| Pacchetto ^(1)^ | Versione | Caratteristica
| Pacchetto ^(1)^ | Versione | Caratteristica
// TRANSLATION MISSING
| C compiler
(gcc, clang, ...) | | Build.
| cmake | ≥ 3.0 | Compilazione (ancora possibile con autotools, ma si raccomanda CMake).
| C compiler (gcc / clang) | | Build.
| cmake | ≥ 3.0 | Compilazione (ancora possibile con autotools, ma si raccomanda CMake).
// TRANSLATION MISSING
| pkg-config | | Detect installed libraries.
| libncursesw5-dev ^(2)^ | | Interfaccia ncurses.
| libcurl4-gnutls-dev | | Trasferimento URL.
| pkg-config | | Detect installed libraries.
| libncursesw5-dev ^(2)^ | | Interfaccia ncurses.
| libcurl4-gnutls-dev | | Trasferimento URL.
// TRANSLATION MISSING
| zlib1g-dev | | Compression of packets in relay plugin (weechat protocol), script plugin.
| libgcrypt20-dev | | Secured data, IRC SASL authentication.
// TRANSLATION MISSING
| libgcrypt20-dev | | Secured data, IRC SASL authentication.
| libgnutls28-dev | ≥ 2.2.0 ^(3)^ | Connessione SSL al server IRC, support of SSL in relay plugin, IRC SASL authentication (ECDSA-NIST256P-CHALLENGE).
// TRANSLATION MISSING
| libgnutls28-dev | ≥ 2.2.0 ^(3)^ | Connessione SSL al server IRC, support of SSL in relay plugin, IRC SASL authentication (ECDSA-NIST256P-CHALLENGE).
| zlib1g-dev | | Compression of messages (WeeChat -> client) with https://zlib.net/[zlib] in relay plugin (weechat protocol), script plugin.
// TRANSLATION MISSING
| libzstd-dev | | Compression of messages (WeeChat -> client) with https://facebook.github.io/zstd/[Zstandard] in relay plugin (weechat protocol).
|===
[NOTE]
^(1)^ Il nome viene dalla distribuzione Debian GNU/Linux, nomi e versioni dei pacchetti
potrebbero essere differenti in versioni e distribuzioni differenti. +
// TRANSLATION MISSING
^(1)^ Name comes from the Debian GNU/Linux Bullseye distribution, version and
name can be different in other distributions. +
// TRANSLATION MISSING
^(2)^ It is recommended to compile with libncurses**w**5-dev (the *w* is
important). WeeChat can compile with libncurses5-dev, but it is *NOT* recommended:
@@ -146,35 +149,40 @@ WeeChat:
[width="100%",cols="5,^3,.^15",options="header"]
|===
| Pacchetto | Versione | Caratteristica
| Pacchetto ^(1)^ | Versione | Caratteristica
// TRANSLATION MISSING
| C++ compiler | | Build and run tests, plugin JavaScript.
| gettext | | Internazionalizzazione (traduzione dei messaggi; la lingua base è l'inglese).
| ca-certificates | | Certificati per le connessioni SSL.
| libaspell-dev
∥ libenchant-dev | | Plugin spell.
| python3-dev ^(1)^ | | Plugin python.
| libperl-dev | | Plugin perl.
| ruby2.5, ruby2.5-dev | ≥ 1.9.1 | Plugin ruby.
| liblua5.3-dev | | Plugin lua.
| tcl-dev | ≥ 8.5 | Plugin tcl.
| guile-2.0-dev | ≥ 2.0 | Plugin guile (scheme).
| libv8-dev | ≤ 3.24.3 | Plugin javascript.
| php-dev, libphp-embed | ≥ 7.0 | Plugin php.
| libxml2-dev | | Plugin php.
| {cpp} compiler (pass:[g++ / clang++]) | | Build and run tests, plugin JavaScript.
| gettext | | Internazionalizzazione (traduzione dei messaggi; la lingua base è l'inglese).
| ca-certificates | | Certificati per le connessioni SSL.
| libaspell-dev / libenchant-dev | | Plugin spell.
| python3-dev ^(2)^ | | Plugin python.
| libperl-dev | | Plugin perl.
| ruby2.7, ruby2.7-dev | ≥ 1.9.1 | Plugin ruby.
| liblua5.4-dev | | Plugin lua.
| tcl-dev | ≥ 8.5 | Plugin tcl.
| guile-2.2-dev | ≥ 2.0 | Plugin guile (scheme).
| libv8-dev | ≤ 3.24.3 | Plugin javascript.
| php-dev | ≥ 7.0 | Plugin php.
| libphp-embed | ≥ 7.0 | Plugin php.
| libxml2-dev | | Plugin php.
// TRANSLATION MISSING
| libargon2-0-dev | | Plugin php (if PHP ≥ 7.2).
| libargon2-dev | | Plugin php (if PHP ≥ 7.2).
// TRANSLATION MISSING
| libsodium-dev | | Plugin php (if PHP ≥ 7.2).
| libsodium-dev | | Plugin php (if PHP ≥ 7.2).
// TRANSLATION MISSING
| asciidoctor | ≥ 1.5.4 | Build man page and documentation.
| asciidoctor | ≥ 1.5.4 | Build man page and documentation.
// TRANSLATION MISSING
| libcpputest-dev | ≥ 3.4 | Build and run tests.
| ruby-pygments.rb | | Build documentation.
// TRANSLATION MISSING
| libcpputest-dev | ≥ 3.4 | Build and run tests.
|===
[NOTE]
// TRANSLATION MISSING
^(1)^ By default Python 3.x is used. If you enable option `+ENABLE_PYTHON2+` (see
^(1)^ Name comes from the Debian GNU/Linux Bullseye distribution, version and
name can be different in other distributions. +
// TRANSLATION MISSING
^(2)^ By default Python 3.x is used. If you enable option `+ENABLE_PYTHON2+` (see
below), only the version 2.7 of Python is recommended.
// TRANSLATION MISSING
@@ -1423,7 +1431,7 @@ To remove the local variable "completion_default_template":
By default WeeChat and its default plugins interpret these variables:
[width="100%",cols="^2m,2,5",options="header"]
[width="100%",cols="2m,2,5",options="header"]
|===
| Name | Value | Description
@@ -1558,70 +1566,6 @@ Options:
include::includes/autogen_user_options.it.adoc[tag=buflist_options]
[[fset]]
=== Fset
// TRANSLATION MISSING
Fast Set plugin displays a list of options in a buffer, and helps to set WeeChat
and plugin options.
// TRANSLATION MISSING
Example of fset buffer displaying options starting with `weechat.look` :
[subs="quotes"]
....
┌──────────────────────────────────────────────────────────────────────────────────────┐
│1.weechat│1/121 | Filter: weechat.look.* | Sort: ~name | Key(input): alt+space=toggle │
│2.fset │weechat.look.bare_display_exit_on_input: exit the bare display mode on any c│
│ │hanges in input [default: on] │
│ │----------------------------------------------------------------------------│
│ │ weechat.look.align_end_of_lines integer message │
│ │ weechat.look.align_multiline_words boolean on │
│ │ weechat.look.bar_more_down string "++" │
│ │ weechat.look.bar_more_left string "<<" │
│ │ weechat.look.bar_more_right string ">>" │
│ │ weechat.look.bar_more_up string "--" │
│ │## weechat.look.bare_display_exit_on_input boolean on ##│
│ │ weechat.look.bare_display_time_format string "%H:%M" │
│ │ weechat.look.buffer_auto_renumber boolean on │
│ │ weechat.look.buffer_notify_default integer all │
│ │ weechat.look.buffer_position integer end │
│ │ weechat.look.buffer_search_case_sensitive boolean off │
│ │ weechat.look.buffer_search_force_default boolean off │
│ │ weechat.look.buffer_search_regex boolean off │
│ │ weechat.look.buffer_search_where integer prefix_message │
│ │ weechat.look.buffer_time_format string "%H:%M:%S" │
│ │ weechat.look.buffer_time_same string "" │
│ │[12:55] [2] [fset] 2:fset │
│ │█ │
└──────────────────────────────────────────────────────────────────────────────────────┘
....
[[fset_commands]]
==== Comandi
include::includes/autogen_user_commands.it.adoc[tag=fset_commands]
[[fset_options]]
==== Opzioni
// TRANSLATION MISSING
Sections in file _fset.conf_:
// TRANSLATION MISSING
[width="100%",cols="3m,6m,16",options="header"]
|===
| Section | Control command | Description
| color | /set fset.color.* | Colors.
| format | /set fset.format.* | Formats used to display list of options.
| look | /set fset.look.* | Look and feel.
|===
// TRANSLATION MISSING
Options:
include::includes/autogen_user_options.it.adoc[tag=fset_options]
// TRANSLATION MISSING
[[key_bindings]]
== Key bindings
@@ -1726,7 +1670,8 @@ They can be changed and new ones can be added with the <<command_weechat_key,/ke
| Tasti | Descrizione | Comando
| kbd:[Ctrl+r] | Cerca del testo nella cronologia del buffer (consultare <<key_bindings_search_context,tasti per il contesto search>>). | `+/input search_text_here+`
| kbd:[Ctrl+s], kbd:[Ctrl+u] | Imposta l'evidenziatore dei messaggi non letti su tutti i buffer. | `+/input set_unread+`
| kbd:[Ctrl+x] | Passa al buffer attivo se i buffer sono collegati con lo stesso numero. | `+/input switch_active_buffer+`
// TRANSLATION MISSING
| kbd:[Ctrl+x] | Switch current buffer if buffers are merged with same number, for example switch to another IRC server buffer. | `+/input switch_active_buffer+`
// TRANSLATION MISSING
| kbd:[Alt+x] | Zoom on merged buffer (kbd:[Alt+x] again: display all merged buffers). | `+/input zoom_merged_buffer+`
| kbd:[PgUp] | Scorre in alto di una pagina nella cronologia del buffer. | `+/window page_up+`
@@ -2054,6 +1999,70 @@ These keys and actions are used on the script buffer (see <<script_manager,scrip
[[configuration]]
== Configuration
[[fset]]
=== Fset
// TRANSLATION MISSING
Fast Set plugin displays a list of options in a buffer, and helps to set WeeChat
and plugin options.
// TRANSLATION MISSING
Example of fset buffer displaying options starting with `weechat.look` :
[subs="quotes"]
....
┌──────────────────────────────────────────────────────────────────────────────────────┐
│1.weechat│1/121 | Filter: weechat.look.* | Sort: ~name | Key(input): alt+space=toggle │
│2.fset │weechat.look.bare_display_exit_on_input: exit the bare display mode on any c│
│ │hanges in input [default: on] │
│ │----------------------------------------------------------------------------│
│ │ weechat.look.align_end_of_lines integer message │
│ │ weechat.look.align_multiline_words boolean on │
│ │ weechat.look.bar_more_down string "++" │
│ │ weechat.look.bar_more_left string "<<" │
│ │ weechat.look.bar_more_right string ">>" │
│ │ weechat.look.bar_more_up string "--" │
│ │## weechat.look.bare_display_exit_on_input boolean on ##│
│ │ weechat.look.bare_display_time_format string "%H:%M" │
│ │ weechat.look.buffer_auto_renumber boolean on │
│ │ weechat.look.buffer_notify_default integer all │
│ │ weechat.look.buffer_position integer end │
│ │ weechat.look.buffer_search_case_sensitive boolean off │
│ │ weechat.look.buffer_search_force_default boolean off │
│ │ weechat.look.buffer_search_regex boolean off │
│ │ weechat.look.buffer_search_where integer prefix_message │
│ │ weechat.look.buffer_time_format string "%H:%M:%S" │
│ │ weechat.look.buffer_time_same string "" │
│ │[12:55] [2] [fset] 2:fset │
│ │█ │
└──────────────────────────────────────────────────────────────────────────────────────┘
....
[[fset_commands]]
==== Comandi
include::includes/autogen_user_commands.it.adoc[tag=fset_commands]
[[fset_options]]
==== Opzioni
// TRANSLATION MISSING
Sections in file _fset.conf_:
// TRANSLATION MISSING
[width="100%",cols="3m,6m,16",options="header"]
|===
| Section | Control command | Description
| color | /set fset.color.* | Colors.
| format | /set fset.format.* | Formats used to display list of options.
| look | /set fset.look.* | Look and feel.
|===
// TRANSLATION MISSING
Options:
include::includes/autogen_user_options.it.adoc[tag=fset_options]
// TRANSLATION MISSING
[[colors]]
=== Colors
@@ -2310,9 +2319,9 @@ il valore predefinito è _all_.
|===
| Livello di notifica | Livello del messaggio aggiunto alla hotlist
| none | (nessuno)
| highlight | _highlight_ + _private_
| message | _highlight_ + _private_ + _message_
| all | _highlight_ + _private_ + _message_ + _low_
| highlight | highlight + private
| message | highlight + private + message
| all | highlight + private + message + low
|===
Il livello di notifica può essere definito per un set di buffer, ad esempio
@@ -4718,7 +4727,6 @@ The regular expression is used to change variables in callback hashtable.
The format is: "/regex/replace" or "/regex/replace/var" (where _var_ is a
variable of the hashtable).
// TRANSLATION MISSING
If _var_ does not exist in the hashtable, it is created automatically with an
empty value. This allows to create custom temporary variables.
@@ -4812,10 +4820,8 @@ using the command:
/trigger monitor
----
// TRANSLATION MISSING
All callbacks set following variables in hashtable:
// TRANSLATION MISSING
[width="100%",cols="3m,2,14",options="header"]
|===
| Variable | Type | Description
@@ -4927,7 +4933,6 @@ The "line" callback sets following variables in hashtable:
| str_time | string | Date for display. It may contain color codes.
| tags | string | Tags of message (with comma added at beginning/end of string).
| displayed | string | "1" if displayed, "0" if line filtered.
// TRANSLATION MISSING
| notify_level | string | "-1" = no notify, "0" = low level, "1" = message, "2" = private message, "3" = highlight
| highlight | string | "1" if highlight, otherwise "0".
| prefix | string | Prefix.
@@ -4946,10 +4951,19 @@ Variables set using tags in message:
| tg_tag_prefix_nick | string | Color of nick in prefix (from tag "prefix_nick_ccc").
| tg_tag_host | string | User name and host, format: username@host (from tag "host_xxx").
| tg_tag_notify | string | Notify level (_none_, _message_, _private_, _highlight_).
| tg_tag_irc_xxx | string | IRC message tag (key "xxx"). ^(1)^
| tg_notify | string | Notify level, if different from _none_.
| tg_msg_pv | string | "1" for a private message, otherwise "0".
|===
[NOTE]
====
^(1)^ Special chars are replaced in IRC tag:
* key: `_` -> `-` and `,` -> `;`
* value: `,` -> `;`
====
[[trigger_data_print]]
==== Print
@@ -4979,10 +4993,19 @@ Variables set using tags in message:
| tg_tag_prefix_nick | string | Color of nick in prefix (from tag "prefix_nick_ccc").
| tg_tag_host | string | User name and host, format: username@host (from tag "host_xxx").
| tg_tag_notify | string | Notify level (_none_, _message_, _private_, _highlight_).
| tg_tag_irc_xxx | string | IRC message tag (key "xxx"). ^(1)^
| tg_notify | string | Notify level, if different from _none_.
| tg_msg_pv | string | "1" for a private message, otherwise "0".
|===
[NOTE]
====
^(1)^ Special chars are replaced in IRC tag:
* key: `_` -> `-` and `,` -> `;`
* value: `,` -> `;`
====
[[trigger_data_command]]
==== Command
@@ -4995,9 +5018,7 @@ The "command" callback sets following variables in hashtable:
| tg_argc | string | The number of arguments (the command itself counts for one).
| tg_argvN | string | Argument #N (`+tg_argv0+` is the command itself, the others are command arguments).
| tg_argv_eolN | string | From argument #N until end of arguments (`+tg_argv_eol0+` includes the command itself).
// TRANSLATION MISSING
| tg_shell_argc | string | The number of arguments with a split like the shell does (the command itself counts for one).
// TRANSLATION MISSING
| tg_shell_argvN | string | Argument #N with a split like the shell does (`+tg_shell_argv0+` is the command itself, the others are command arguments).
|===
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2021 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
#
# This file is part of WeeChat, the extensible chat client.
#
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2021 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
#
# This file is part of WeeChat, the extensible chat client.
#
@@ -26,6 +26,8 @@
| irc | irc_channels | 全ての IRC サーバのチャンネル
| irc | irc_channels_autojoin | channels automatically joined on the current server (option "autojoin")
| irc | irc_ignores_numbers | 無視エントリの数
| irc | irc_modelist_masks | 現在の IRC チャンネルのモードリストマスク; 必須の引数: modelist mode
@@ -123,6 +123,35 @@ Examples:
/auth user2 ${weechat_config_dir}/ecdsa2.pem
----
[[command_irc_autojoin]]
* `+autojoin+`: configure the "autojoin" server option
----
/autojoin add [<channel1> [<channel2>...]]
addraw <channel1>[,<channel2>...] [<key1>[,<key2>...]]
del [<channel1> [<channel2>...]]
save
sort
add: add current channel or a list of channels (with optional keys) to the autojoin option; if you are on the channel and the key is not provided, the key is read in the channel
addraw: use the IRC raw format (same as /join command): all channels separated by commas, optional keys separated by commas
del: delete current channel or a list of channels from the autojoin option
channel: channel name
key: key for the channel
save: save currently joined channels in the autojoin option
sort: sort alphabetically channels in the autojoin option
Examples:
/autojoin add
/autojoin add #test
/autojoin add #chan1 #chan2
/autojoin addraw #chan1,#chan2,#chan3 key1,key2
/autojoin del
/autojoin del #chan1
/autojoin save
/autojoin sort
----
[[command_irc_ban]]
* `+ban+`: ニックネームかホスト名を指定してバン
+10 -10
View File
@@ -1290,12 +1290,6 @@
** 値: 未制約文字列
** デフォルト値: `+"*"+`
* [[option_weechat.plugin.debug]] *weechat.plugin.debug*
** 説明: pass:none[全てのプラグインに対してデバッグメッセージを有効化 (デフォルトでは無効、無効を推奨)]
** タイプ: ブール
** 値: on, off
** デフォルト値: `+off+`
* [[option_weechat.plugin.extension]] *weechat.plugin.extension*
** 説明: pass:none[プラグインのファイル拡張子のコンマ区切りリスト]
** タイプ: 文字列
@@ -2696,6 +2690,12 @@
** 値: 未制約文字列
** デフォルト値: `+""+`
* [[option_irc.server_default.autojoin_dynamic]] *irc.server_default.autojoin_dynamic*
** 説明: pass:none[set automatically the "autojoin" option according to the channels you manually join and part with commands /join and /part]
** タイプ: ブール
** 値: on, off
** デフォルト値: `+off+`
* [[option_irc.server_default.autoreconnect]] *irc.server_default.autoreconnect*
** 説明: pass:none[接続が切れたときに自動的に再接続]
** タイプ: ブール
@@ -3064,11 +3064,11 @@
** 値: -1 .. 43200
** デフォルト値: `+0+`
* [[option_relay.network.compression_level]] *relay.network.compression_level*
** 説明: pass:none[WeeChat プロトコルでクライアントに送信するパケットの圧縮レベル (0 = 圧縮しない、1 = 低圧縮 ... 9 = 高圧縮)]
* [[option_relay.network.compression]] *relay.network.compression*
** 説明: pass:none[compression of messages sent to clients with "weechat" protocol: 0 = disable compression, 1 = low compression / fast ... 100 = best compression / slow; the value is a percentage converted to 1-9 for zlib and 1-19 for zstd; the default value is recommended, it offers a good compromise between compression and speed]
** タイプ: 整数
** 値: 0 .. 9
** デフォルト値: `+6+`
** 値: 0 .. 100
** デフォルト値: `+20+`
* [[option_relay.network.ipv6]] *relay.network.ipv6*
** 説明: pass:none[デフォルトで IPv6 ソケットをリッスン (デフォルトの IPv4 に加えて); 特定のプロトコルでプロトコルに IPv4 と IPv6 (個別または両方) を強制 (/help relay を参照してください)]
+1 -1
View File
@@ -100,7 +100,7 @@ $HOME/.local/share/weechat/weechat.log::
WeeChat は Sébastien Helleu さんと貢献者によって作成されています
(完全なリストは AUTHORS.adoc ファイルを参照してください)。
著作権 (C) 2003-2021 {author}
著作権 (C) 2003-2022 {author}
WeeChat はフリーソフトウェアです。あなたはこれを、フリーソフトウェア財団によって発行された
GNU 一般公衆利用許諾契約書 (バージョン 2 か、希望によってはそれ以降のバージョンのうちどれか)
+122 -5
View File
@@ -295,6 +295,8 @@ WeeChat "core" は以下のディレクトリに配置されています:
|       irc-ignore.c | IRC 無視
|       irc-info.c | IRC の情報/インフォリスト/hdata
|       irc-input.c | コマンドおよびテキストの入力
// TRANSLATION MISSING
|       irc-join.c | Functions for list of channels to join.
|       irc-message.c | IRC メッセージを操作する関数
|       irc-mode.c | チャンネルおよびニックネームのモードを操作する関数
|       irc-modelist.c | IRC チャンネルモードリスト (+b、+e、+I、...).
@@ -308,6 +310,8 @@ WeeChat "core" は以下のディレクトリに配置されています:
|       irc-server.c | IRC サーバとの入出力通信
// TRANSLATION MISSING
|       irc-tag.c | Functions to manipulate IRC message tags.
// TRANSLATION MISSING
|       irc-typing.c | Typing status.
|       irc-upgrade.c | WeeChat をアップグレードする際の IRC データの保存およびロード
|    javascript/ | JavaScript プラグイン
|       weechat-js.cpp | JavaScript の主要関数 (スクリプトのロード/アンロード、JavaScript コードの実行)
@@ -446,6 +450,10 @@ WeeChat "core" は以下のディレクトリに配置されています:
|          test-core-util.cpp | テスト: ユーティリティ関数
|       gui/ | インターフェースの単体テストを収める最上位ディレクトリ
// TRANSLATION MISSING
|          test-gui-buffer.cpp | Tests: buffer functions.
// TRANSLATION MISSING
|          test-gui-chat.cpp | Tests: chat functions.
// TRANSLATION MISSING
|          test-gui-color.cpp | Tests: colors.
|          test-gui-line.cpp | テスト: 行
// TRANSLATION MISSING
@@ -461,6 +469,8 @@ WeeChat "core" は以下のディレクトリに配置されています:
// TRANSLATION MISSING
|             test-irc-ignore.cpp | Tests: IRC ignores.
// TRANSLATION MISSING
|             test-irc-join.cpp | Tests: IRC join functions.
// TRANSLATION MISSING
|             test-irc-message.cpp | Tests: IRC messages.
// TRANSLATION MISSING
|             test-irc-mode.cpp | Tests: IRC modes.
@@ -472,6 +482,12 @@ WeeChat "core" は以下のディレクトリに配置されています:
// TRANSLATION MISSING
|             test-irc-server.cpp | Tests: IRC server.
// TRANSLATION MISSING
|             test-irc-tag.cpp | Tests: IRC message tags.
// TRANSLATION MISSING
|          logger/ | Root of unit tests for logger plugin.
// TRANSLATION MISSING
|             test-logger-backlog.cpp | Tests: logger backlog.
// TRANSLATION MISSING
|          trigger/ | Root of unit tests for trigger plugin.
// TRANSLATION MISSING
|             test-trigger.cpp | Tests: triggers.
@@ -559,7 +575,7 @@ WeeChat とプラグインの翻訳は gettext で行います、ファイルは
/*
* weechat.c - core functions for WeeChat
*
* Copyright (C) 2021 Your Name <your@email.com>
* Copyright (C) 2022 Your Name <your@email.com>
*
* This file is part of WeeChat, the extensible chat client.
*
@@ -1172,10 +1188,111 @@ component: fix a problem (closes #123)
_component_ には以下から 1 つ選んで記入してください:
* WeeChat コア: _core_ (ルートディレクトリ、_po/_ ディレクトリ、_src/_
ディレクトリに含まれるファイル、ただし _src/plugins/_ 内のファイルを除く)
* 文書ファイル: _doc_ (_doc/_ ディレクトリに含まれるファイル)
* プラグインの名前: _irc_、_python_、_relay_、... (_src/plugins/_ ディレクトリに含まれるファイル)
[width="100%",cols="1m,4m,5",options="header"]
|===
// TRANSLATION MISSING
| Component | Files | Description
| core |
AUTHORS.adoc +
ChangeLog.adoc +
Contributing.adoc +
.github/FUNDING.yml +
.github/ISSUE_TEMPLATE/* +
icons/* +
po/* +
README.adoc +
ReleaseNotes.adoc +
src/core/* +
src/gui/* +
version.sh +
weechat.desktop |
// TRANSLATION MISSING
WeeChat core
| build |
autogen.sh +
CMakeLists.txt +
cmake/* +
configure.ac +
Makefile.am +
tools/* +
weechat.cygport.in +
weechat.spec |
// TRANSLATION MISSING
Build
| ci |
.github/workflows/* |
// TRANSLATION MISSING
Continuous integration
| debian |
debian-devel/* +
debian-stable/* |
// TRANSLATION MISSING
Debian packaging
| tests |
tests/* |
// TRANSLATION MISSING
Tests
| doc |
doc/* |
// TRANSLATION MISSING
General doc updates, for example build
| doc/man |
doc/xx/weechat.1.xx.adoc +
doc/xx/weechat-headless.1.xx.adoc |
// TRANSLATION MISSING
Man pages
| doc/faq |
doc/xx/weechat_faq.xx.adoc |
// TRANSLATION MISSING
Frequently asked questions (FAQ)
| doc/quickstart |
doc/xx/weechat_quickstart.xx.adoc |
// TRANSLATION MISSING
Quickstart guide
| doc/user |
doc/xx/weechat_user.xx.adoc |
// TRANSLATION MISSING
User's guide
| doc/scripting |
doc/xx/weechat_scripting.xx.adoc |
// TRANSLATION MISSING
Scripting guide
| doc/api |
doc/xx/weechat_plugin_api.xx.adoc |
// TRANSLATION MISSING
Plugin API reference
| doc/relay |
doc/xx/weechat_relay_protocol.xx.adoc |
// TRANSLATION MISSING
Relay protocol
| doc/dev |
doc/xx/weechat_dev.en.adoc |
// TRANSLATION MISSING
Developer's guide
| irc +
python +
relay +
… |
src/plugins/<name>/* |
// TRANSLATION MISSING
Plugin
|===
以下のルールに従ってください:
+18
View File
@@ -834,6 +834,24 @@ SASL を利用する方が良いです。例えば:
[[edit_autojoin]]
=== どうすれば自動参加オプションにチャンネルを追加/削除できますか。
// TRANSLATION MISSING
With WeeChat ≥ 3.5, you can automatically record the channels you manually
join and part in the "autojoin" server option.
// TRANSLATION MISSING
For all servers:
----
/set irc.server_default.autojoin_record on
----
// TRANSLATION MISSING
For a single server:
----
/set irc.server.libera.autojoin_record on
----
`/set` コマンドを使って、自動参加チャンネルのリストを編集してください。"libera"
サーバに対してこれを実行するには以下のようにします:
File diff suppressed because it is too large Load Diff
+47 -42
View File
@@ -90,7 +90,7 @@ _リレー_ プラグインは _IRC プロキシ_ のように振舞います (
利用可能なコマンドのリスト (詳しくは次の章を参照):
[width="100%",cols="^3m,14",options="header"]
[width="100%",cols="1m,8",options="header"]
|===
| コマンド | 説明
// TRANSLATION MISSING
@@ -112,7 +112,7 @@ _リレー_ プラグインは _IRC プロキシ_ のように振舞います (
[[command_handshake]]
=== handshake
_WeeChat ≥ 2.9._
_WeeChat ≥ 2.9, updated in version 3.5._
Perform an handshake between the client and WeeChat: this is required in most
cases to know the session settings and prepare the authentication with the
@@ -136,10 +136,16 @@ Arguments:
*** _sha512_: password salted and hashed with SHA512 algorithm
*** _pbkdf2+sha256_: password salted and hashed with PBKDF2 algorithm (using SHA256 hash)
*** _pbkdf2+sha512_: password salted and hashed with PBKDF2 algorithm (using SHA512 hash)
** _compression_: compression type:
*** _zlib_: enable _zlib_ compression for messages sent by _relay_
(enabled by default if _relay_ supports _zlib_ compression)
*** _off_: disable compression
// TRANSLATION MISSING
** _compression_: list of supported compression types supported by the client
(separated by colons and sorted from most important to the fallback value);
if compression is enabled, messages from _relay_ to client are compressed
to save bandwidth; allowed values are:
*** _off_: no compression (default if option is not given)
*** _zlib_: compress with https://zlib.net/[zlib] _(WeeChat ≥ 0.3.7)_
*** _zstd_: compress with https://facebook.github.io/zstd/[Zstandard]: better
compression and much faster than _zlib_ for both compression and decompression
_(WeeChat ≥ 3.5)_
Notes about option _password_hash_algo_:
@@ -178,8 +184,9 @@ WeeChat replies with a hashtable containing the following keys and values:
and the user password (the _relay_ nonce + the client nonce is the salt used
in the password hash algorithm)
* _compression_: compression type:
** _zlib_: messages are compressed with _zlib_
** _off_: messages are not compressed
** _zlib_: messages are compressed with https://zlib.net/[zlib]
** _zstd_: messages are compressed with https://facebook.github.io/zstd/[Zstandard]
[TIP]
With WeeChat ≤ 2.8, the command _handshake_ is not implemented, WeeChat silently
@@ -205,7 +212,7 @@ htb: {
'password_hash_iterations': '100000',
'totp': 'on',
'nonce': '85B1EE00695A5B254E14F4885538DF0D',
'compression': 'zlib',
'compression': 'off',
}
----
@@ -225,7 +232,7 @@ htb: {
'password_hash_iterations': '100000',
'totp': 'on',
'nonce': '85B1EE00695A5B254E14F4885538DF0D',
'compression': 'zlib',
'compression': 'off',
}
----
@@ -245,7 +252,7 @@ htb: {
'password_hash_iterations': '100000',
'totp': 'on',
'nonce': '85B1EE00695A5B254E14F4885538DF0D',
'compression': 'zlib',
'compression': 'off',
}
----
@@ -257,10 +264,11 @@ the password is "test" in this example:
init password_hash=pbkdf2+sha256:85b1ee00695a5b254e14f4885538df0da4b73207f5aae4:100000:ba7facc3edb89cd06ae810e29ced85980ff36de2bb596fcf513aaab626876440
----
* Only "sha256" and "sha512" are supported by the client, disable compression:
* Only "sha256" and "sha512" are supported by the client, enable zstd (preferred)
or zlib compression:
----
(handshake) handshake password_hash_algo=sha256:sha512,compression=off
(handshake) handshake password_hash_algo=sha256:sha512,compression=zstd:zlib
----
Response:
@@ -273,7 +281,7 @@ htb: {
'password_hash_iterations': '100000',
'totp': 'on',
'nonce': '85B1EE00695A5B254E14F4885538DF0D',
'compression': 'off',
'compression': 'zstd',
}
----
@@ -310,13 +318,6 @@ _handshake_), without warning.
** _totp_: パスワードに加えた二要素認証で利用する時間ベースのワンタイムパスワード (TOTP)
(WeeChat の _relay.network.totp_secret_ オプション)
_(WeeChat バージョン 2.4 で利用可能)_
// TRANSLATION MISSING
** _compression_: 圧縮タイプ (*deprecated* since version 2.9, it is kept
for compatibility reasons but should be sent in the
<<command_handshake,handshake command>>):
*** _zlib_: _リレー_ から受信するメッセージに対して _zlib_ 圧縮を使う
(_リレー_ が _zlib_ 圧縮をサポートしている場合、デフォルトで有効化されます)
*** _off_: 圧縮を使わない
[NOTE]
WeeChat バージョン 1.6 以上の場合、コンマをエスケープすることで value にコンマを設定可能です。例えば
@@ -1016,7 +1017,7 @@ a string for a given buffer.
WeeChat replies with a hdata:
[width="100%",cols="3m,2,10",options="header"]
[width="100%",cols="2m,3,14",options="header"]
|===
| Name | Type | Description
| context | string | Completion context: "null" (no completion), "command", "command_arg", "auto".
@@ -1288,24 +1289,25 @@ desync irc.libera.#weechat
返されるオブジェクト (以下の順番):
[width="100%",cols="^3,3m,5m",options="header"]
// TRANSLATION MISSING
[width="100%",cols="1m,2,6m",options="header"]
|===
| 型 | 型 (メッセージ中) | 値
| char | chr | 65 ("A")
| integer | int | 123456
| integer | int | -123456
| long | lon | 1234567890
| long | lon | -1234567890
| string | str | "a string"
| string | str | ""
| string | str | NULL
| buffer | buf | "buffer"
| buffer | buf | NULL
| pointer | ptr | 0x1234abcd
| pointer | ptr | NULL
| time | tim | 1321993456
| string の配列 | arr str | [ "abc", "de" ]
| integer の配列 | arr int | [ 123, 456, 789 ]
| 型 | Description | 値
| chr | char | 65 ("A")
| int | integer | 123456
| int | integer | -123456
| lon | long | 1234567890
| lon | long | -1234567890
| str | string | "a string"
| str | string | ""
| str | string | NULL
| buf | buffer | "buffer"
| buf | buffer | NULL
| ptr | pointer | 0x1234abcd
| ptr | pointer | NULL
| tim | time | 1321993456
| arr str | string の配列 | [ "abc", "de" ]
| arr int | integer の配列 | [ 123, 456, 789 ]
|===
[IMPORTANT]
@@ -1409,7 +1411,8 @@ quit
(このフィールドを含む)
* _compression_ (バイト型): フラグ:
** _0x00_: これ以降のデータは圧縮されていません
** _0x01_: これ以降のデータは _zlib_ で圧縮されています
** _0x01_: これ以降のデータは https://zlib.net/[zlib] で圧縮されています
** _0x02_: これ以降のデータは https://facebook.github.io/zstd/[Zstandard] で圧縮されています
* _id_ (文字列型、4 バイト + 内容): クライアントが送信した識別子 (コマンド名の前につけられる);
コマンドに識別子が含まれない場合は空文字列でも可
(内容を含まない長さゼロの文字列)
@@ -1419,8 +1422,10 @@ quit
[[message_compression]]
=== 圧縮
_compression_ フラグが 0x01 の場合、これ以降の *全ての* データは _zlib_
で圧縮されているため、処理前に必ず展開してください。
// TRANSLATION MISSING
If flag _compression_ is equal to 0x01 or 0x02, then *all* data after is compressed
with https://zlib.net/[zlib] or https://facebook.github.io/zstd/[Zstandard],
and therefore must be uncompressed before being processed.
[[message_identifier]]
=== 識別子
@@ -2361,7 +2366,7 @@ _WeeChat バージョン 0.3.8 以上で利用可。_
オブジェクトは _type_ と呼ばれる 3 文字で特定されます。以下の種類が使われます:
[width="100%",cols="^2m,5,10",options="header"]
[width="100%",cols="1m,2,8",options="header"]
|===
| 型 | 値 | 長さ
| chr | 符号付文字 | 1 バイト
+60 -22
View File
@@ -210,6 +210,13 @@ Functions are called with `+weechat.xxx(arg1, arg2, ...)+`.
Functions are called with `+weechat::xxx arg1 arg2 ...+`.
// TRANSLATION MISSING
Since Tcl only has string types, there's no null type to pass as an argument
when a function accepts null values. To overcome this you can use the constant
`$::weechat::WEECHAT_NULL` which acts as a null value. This constant is defined
as `\uFFFF\uFFFF\uFFFFWEECHAT_NULL\uFFFF\uFFFF\uFFFF`, so it's very unlikely to
appear unintentionally.
[[language_guile]]
==== Guile (Scheme)
@@ -565,7 +572,7 @@ link:weechat_plugin_api.ja.html[WeeChat プラグイン API リファレンス]
スクリプト API に含まれる関数のリスト:
[width="100%",cols="1,3",options="header"]
[width="100%",cols="1,5",options="header"]
|===
| カテゴリ | 関数
@@ -665,6 +672,7 @@ link:weechat_plugin_api.ja.html[WeeChat プラグイン API リファレンス]
print (python では prnt) +
print_date_tags (python では prnt_date_tags) +
print_y (python では prnt_y) +
print_y_date_tags (python では prnt_y_date_tags) +
log_print
| フック |
@@ -695,6 +703,7 @@ link:weechat_plugin_api.ja.html[WeeChat プラグイン API リファレンス]
| バッファ |
buffer_new +
buffer_new_props +
current_buffer +
buffer_search +
buffer_search_main +
@@ -814,7 +823,7 @@ link:weechat_plugin_api.ja.html[WeeChat プラグイン API リファレンス]
スクリプト API に含まれる定数のリスト:
[width="100%",cols="1,3",options="header"]
[width="100%",cols="1,5",options="header"]
|===
| カテゴリ | 定数
@@ -1078,26 +1087,54 @@ weechat.hook_timer(60 * 1000, 60, 0, "timer_cb", "")
バックグラウンドプロセスを実行するには `+hook_process+`
を使います。コールバックはデータの準備が整った時点で呼び出されます。複数回呼び出されることもあります。
コールバックの最後の呼び出しでは _rc_ が 0
コールバックの最後の呼び出しでは _return_code_ が 0
か正の値に設定されています。これはコマンドのリターンコードになります。
例:
[source,python]
----
process_output = ""
def my_process_cb(data, command, rc, out, err):
global process_output
if out != "":
process_output += out
if int(rc) >= 0:
weechat.prnt("", process_output)
def my_process_cb(data, command, return_code, out, err):
if return_code == weechat.WEECHAT_HOOK_PROCESS_ERROR:
weechat.prnt("", "Error with command '%s'" % command)
return weechat.WEECHAT_RC_OK
if return_code >= 0:
weechat.prnt("", "return_code = %d" % return_code)
if out:
weechat.prnt("", "stdout: %s" % out)
if err:
weechat.prnt("", "stderr: %s" % err)
return weechat.WEECHAT_RC_OK
weechat.hook_process("/bin/ls -l /etc", 10 * 1000, "my_process_cb", "")
----
// TRANSLATION MISSING
You can also call directly a script function that does something blocking,
instead of an external command:
[source,python]
----
def get_status(data):
# do something blocking...
# ...
return "this is the result"
def my_process_cb(data, command, return_code, out, err):
if return_code == weechat.WEECHAT_HOOK_PROCESS_ERROR:
weechat.prnt("", "Error with command '%s'" % command)
return weechat.WEECHAT_RC_OK
if return_code >= 0:
weechat.prnt("", "return_code = %d" % return_code)
if out:
weechat.prnt("", "stdout: %s" % out)
if err:
weechat.prnt("", "stderr: %s" % err)
return weechat.WEECHAT_RC_OK
hook = weechat.hook_process("func:get_status", 5000, "my_process_cb", "")
----
[[url_transfer]]
==== URL 転送
@@ -1109,17 +1146,18 @@ URL をダウンロードする (または URL にポストする) には、関
オプション無しの URL 転送の例: HTML ページの内容はコールバックの
"out" 引数 (プロセスの標準出力) を通して渡されます。
// TRANSLATION MISSING
[source,python]
----
# 現在の WeeChat 安定版のバージョンを表示。
weechat_version = ""
# Display latest stable version of WeeChat.
weechat_latest_version = ""
def weechat_process_cb(data, command, rc, out, err):
global weechat_version
if out != "":
weechat_version += out
if int(rc) >= 0:
weechat.prnt("", "Current WeeChat stable is: %s" % weechat_version)
def weechat_process_cb(data, command, return_code, out, err):
global weechat_latest_version
if out:
weechat_latest_version += out
if return_code >= 0:
weechat.prnt("", "Latest WeeChat version: %s" % weechat_latest_version)
return weechat.WEECHAT_RC_OK
weechat.hook_process("url:https://weechat.org/dev/info/stable/",
@@ -1134,9 +1172,9 @@ _/tmp/weechat-devel.tar.gz_ にダウンロード:
[source,python]
----
def my_process_cb(data, command, rc, out, err):
if int(rc) >= 0:
weechat.prnt("", "End of transfer (rc=%s)" % rc)
def my_process_cb(data, command, return_code, out, err):
if return_code >= 0:
weechat.prnt("", "End of transfer (return code = %d)" % return_code)
return weechat.WEECHAT_RC_OK
weechat.hook_process_hashtable("url:https://weechat.org/files/src/weechat-devel.tar.gz",
+129 -97
View File
@@ -73,6 +73,7 @@ WeeChat をインストールするには、以下のものが必要です:
`apt-get install weechat-curses weechat-plugins` +
For latest versions and nightly builds: https://weechat.org/download/debian
* Fedora Core: `dnf install weechat`
* FreeBSD: `pkg install weechat`
* Gentoo: `emerge weechat`
* Mandriva/RedHat (または RPM 互換ディストリビューション):
`rpm -i /path/to/weechat-x.y.z-1.i386.rpm`
@@ -101,21 +102,24 @@ WeeChat:
[width="100%",cols="5,^3,.^15",options="header"]
|===
| パッケージ ^(1)^ | バージョン | 機能
| C コンパイラ
(gcc, clang, ...) | | ビルド
| cmake | ≥ 3.0 | ビルド (autotools でも可能ですが、CMake を推奨します)
| pkg-config | | インストール済みライブラリを検出
| libncursesw5-dev ^(2)^ | | ncurses インターフェース
| libcurl4-gnutls-dev | | URL 転送
| zlib1g-dev | | relay プラグインでパケットを圧縮 (weechat プロトコル)、スクリプトプラグイン
| libgcrypt20-dev | | 保護データ、IRC SASL 認証
| libgnutls28-dev | 2.2.0 以上 ^(3)^ | IRC サーバへの SSL 接続、IRC SASL 認証 (ECDSA-NIST256P-CHALLENGE)
| パッケージ ^(1)^ | バージョン | 機能
| C コンパイラ (gcc / clang) | | ビルド
| cmake | ≥ 3.0 | ビルド (autotools でも可能ですが、CMake を推奨します)
| pkg-config | | インストール済みライブラリを検出
| libncursesw5-dev ^(2)^ | | ncurses インターフェース
| libcurl4-gnutls-dev | | URL 転送
| libgcrypt20-dev | | 保護データ、IRC SASL 認証
| libgnutls28-dev | 2.2.0 以上 ^(3)^ | IRC サーバへの SSL 接続、IRC SASL 認証 (ECDSA-NIST256P-CHALLENGE)
// TRANSLATION MISSING
| zlib1g-dev | | Compression of messages (WeeChat -> client) with https://zlib.net/[zlib] in relay plugin (weechat protocol), script plugin.
// TRANSLATION MISSING
| libzstd-dev | | Compression of messages (WeeChat -> client) with https://facebook.github.io/zstd/[Zstandard] in relay plugin (weechat protocol).
|===
[NOTE]
^(1)^ Debian GNU/Linux
ディストリビューションにおけるパッケージ名です。他のディストリビューションではバージョンとパッケージ名が異なるかもしれません。 +
// TRANSLATION MISSING
^(1)^ Name comes from the Debian GNU/Linux Bullseye distribution, version and
name can be different in other distributions. +
^(2)^ WeeChat は libncurses**w**5-dev でコンパイルすることを推奨します
(*w* が重要です)。libncurses5-dev でもコンパイル可能ですが、これは推奨
*されません* (ワイドキャラクタの表示にバグを生じるでしょう)。 +
@@ -128,30 +132,35 @@ WeeChat:
[width="100%",cols="5,^3,.^15",options="header"]
|===
| パッケージ | バージョン | 機能
| C++ コンパイラ | | ビルドとテストの実行、JavaScript プラグイン
| gettext | | 国際化 (メッセージの翻訳; ベース言語は英語です)
| ca-certificates | | SSL 接続に必要な証明書、relay プラグインで SSL サポート
| libaspell-dev
∥ libenchant-dev | | spell プラグイン
| python3-dev ^(1)^ | | python プラグイン
| libperl-dev | | perl プラグイン
| ruby2.5, ruby2.5-dev | 1.9.1 以上 | ruby プラグイン
| liblua5.3-dev | | lua プラグイン
| tcl-dev | 8.5 以上 | tcl プラグイン
| guile-2.0-dev | 2.0 以上 | guile (scheme) プラグイン
| libv8-dev | 3.24.3 以下 | javascript プラグイン
| php-dev, libphp-embed | 7.0 以上 | PHP プラグイン
| libxml2-dev | | PHP プラグイン
| libargon2-0-dev | | PHP プラグイン (PHP 7.2 以上の場合)
| libsodium-dev | | PHP プラグイン (PHP 7.2 以上の場合)
| asciidoctor | 1.5.4 以上 | man ページと文書のビルド
| libcpputest-dev | 3.4 以上 | ビルドとテストの実行
| パッケージ ^(1)^ | バージョン | 機能
| {cpp} コンパイラ (pass:[g++ / clang++]) | | ビルドとテストの実行、JavaScript プラグイン
| gettext | | 国際化 (メッセージの翻訳; ベース言語は英語です)
| ca-certificates | | SSL 接続に必要な証明書、relay プラグインで SSL サポート
| libaspell-dev / libenchant-dev | | spell プラグイン
| python3-dev ^(2)^ | | python プラグイン
| libperl-dev | | perl プラグイン
| ruby2.7, ruby2.7-dev | 1.9.1 以上 | ruby プラグイン
| liblua5.4-dev | | lua プラグイン
| tcl-dev | 8.5 以上 | tcl プラグイン
| guile-2.2-dev | 2.0 以上 | guile (scheme) プラグイン
| libv8-dev | 3.24.3 以下 | javascript プラグイン
| php-dev | 7.0 以上 | PHP プラグイン
| libphp-embed | 7.0 以上 | PHP プラグイン
| libxml2-dev | | PHP プラグイン
| libargon2-dev | | PHP プラグイン (PHP 7.2 以上の場合)
| libsodium-dev | | PHP プラグイン (PHP 7.2 以上の場合)
| asciidoctor | 1.5.4 以上 | man ページと文書のビルド
// TRANSLATION MISSING
| ruby-pygments.rb | | Build documentation.
| libcpputest-dev | 3.4 以上 | ビルドとテストの実行
|===
[NOTE]
// TRANSLATION MISSING
^(1)^ By default Python 3.x is used. If you enable option `+ENABLE_PYTHON2+` (see
^(1)^ Name comes from the Debian GNU/Linux Bullseye distribution, version and
name can be different in other distributions. +
// TRANSLATION MISSING
^(2)^ By default Python 3.x is used. If you enable option `+ENABLE_PYTHON2+` (see
below), only the version 2.7 of Python is recommended.
Debian および Ubuntu
@@ -1378,7 +1387,7 @@ To remove the local variable "completion_default_template":
By default WeeChat and its default plugins interpret these variables:
[width="100%",cols="^2m,2,5",options="header"]
[width="100%",cols="2m,2,5",options="header"]
|===
| Name | Value | Description
@@ -1509,66 +1518,6 @@ _buflist.conf_ ファイル内のセクション:
include::includes/autogen_user_options.ja.adoc[tag=buflist_options]
[[fset]]
=== Fset
fset (高速設定) プラグインはバッファ内にオプションのリストを表示し、WeeChat
とプラグインのオプション設定を支援します。
// TRANSLATION MISSING
Example of fset buffer displaying options starting with `weechat.look` :
[subs="quotes"]
....
┌──────────────────────────────────────────────────────────────────────────────────────┐
│1.weechat│1/121 | Filter: weechat.look.* | Sort: ~name | Key(input): alt+space=toggle │
│2.fset │weechat.look.bare_display_exit_on_input: exit the bare display mode on any c│
│ │hanges in input [default: on] │
│ │----------------------------------------------------------------------------│
│ │ weechat.look.align_end_of_lines integer message │
│ │ weechat.look.align_multiline_words boolean on │
│ │ weechat.look.bar_more_down string "++" │
│ │ weechat.look.bar_more_left string "<<" │
│ │ weechat.look.bar_more_right string ">>" │
│ │ weechat.look.bar_more_up string "--" │
│ │## weechat.look.bare_display_exit_on_input boolean on ##│
│ │ weechat.look.bare_display_time_format string "%H:%M" │
│ │ weechat.look.buffer_auto_renumber boolean on │
│ │ weechat.look.buffer_notify_default integer all │
│ │ weechat.look.buffer_position integer end │
│ │ weechat.look.buffer_search_case_sensitive boolean off │
│ │ weechat.look.buffer_search_force_default boolean off │
│ │ weechat.look.buffer_search_regex boolean off │
│ │ weechat.look.buffer_search_where integer prefix_message │
│ │ weechat.look.buffer_time_format string "%H:%M:%S" │
│ │ weechat.look.buffer_time_same string "" │
│ │[12:55] [2] [fset] 2:fset │
│ │█ │
└──────────────────────────────────────────────────────────────────────────────────────┘
....
[[fset_commands]]
==== コマンド
include::includes/autogen_user_commands.ja.adoc[tag=fset_commands]
[[fset_options]]
==== オプション
_fset.conf_ ファイル内のセクション:
[width="100%",cols="3m,6m,16",options="header"]
|===
| セクション | 操作コマンド | 説明
| color | /set fset.color.* | 色
| format | /set fset.format.* | オプションリストの表示書式
| look | /set fset.look.* | 外観
|===
オプション:
include::includes/autogen_user_options.ja.adoc[tag=fset_options]
// TRANSLATION MISSING
[[key_bindings]]
== Key bindings
@@ -1668,7 +1617,8 @@ They can be changed and new ones can be added with the <<command_weechat_key,/ke
| キー | 説明 | コマンド
| kbd:[Ctrl+r] | バッファ中の履歴からテキスト検索 (<<key_bindings_search_context,検索モード用のキー>>を参照) | `+/input search_text_here+`
| kbd:[Ctrl+s], kbd:[Ctrl+u] | すべてのバッファに未読マークをセット | `+/input set_unread+`
| kbd:[Ctrl+x] | 同じ番号を持つバッファにアタッチされていた場合、現在のバッファに移動 | `+/input switch_active_buffer+`
// TRANSLATION MISSING
| kbd:[Ctrl+x] | Switch current buffer if buffers are merged with same number, for example switch to another IRC server buffer. | `+/input switch_active_buffer+`
| kbd:[Alt+x] | マージされたバッファに再ズーム (kbd:[Alt+x]: 全てのマージされたバッファを表示) | `+/input zoom_merged_buffer+`
| kbd:[PgUp] | バッファ履歴を 1 ページ分上方向にスクロール | `+/window page_up+`
| kbd:[PgDn] | バッファ履歴を 1 ページ分下方向にスクロール | `+/window page_down+`
@@ -1971,6 +1921,66 @@ These keys and actions are used on the script buffer (see <<script_manager,scrip
[[configuration]]
== Configuration
[[fset]]
=== Fset
fset (高速設定) プラグインはバッファ内にオプションのリストを表示し、WeeChat
とプラグインのオプション設定を支援します。
// TRANSLATION MISSING
Example of fset buffer displaying options starting with `weechat.look` :
[subs="quotes"]
....
┌──────────────────────────────────────────────────────────────────────────────────────┐
│1.weechat│1/121 | Filter: weechat.look.* | Sort: ~name | Key(input): alt+space=toggle │
│2.fset │weechat.look.bare_display_exit_on_input: exit the bare display mode on any c│
│ │hanges in input [default: on] │
│ │----------------------------------------------------------------------------│
│ │ weechat.look.align_end_of_lines integer message │
│ │ weechat.look.align_multiline_words boolean on │
│ │ weechat.look.bar_more_down string "++" │
│ │ weechat.look.bar_more_left string "<<" │
│ │ weechat.look.bar_more_right string ">>" │
│ │ weechat.look.bar_more_up string "--" │
│ │## weechat.look.bare_display_exit_on_input boolean on ##│
│ │ weechat.look.bare_display_time_format string "%H:%M" │
│ │ weechat.look.buffer_auto_renumber boolean on │
│ │ weechat.look.buffer_notify_default integer all │
│ │ weechat.look.buffer_position integer end │
│ │ weechat.look.buffer_search_case_sensitive boolean off │
│ │ weechat.look.buffer_search_force_default boolean off │
│ │ weechat.look.buffer_search_regex boolean off │
│ │ weechat.look.buffer_search_where integer prefix_message │
│ │ weechat.look.buffer_time_format string "%H:%M:%S" │
│ │ weechat.look.buffer_time_same string "" │
│ │[12:55] [2] [fset] 2:fset │
│ │█ │
└──────────────────────────────────────────────────────────────────────────────────────┘
....
[[fset_commands]]
==== コマンド
include::includes/autogen_user_commands.ja.adoc[tag=fset_commands]
[[fset_options]]
==== オプション
_fset.conf_ ファイル内のセクション:
[width="100%",cols="3m,6m,16",options="header"]
|===
| セクション | 操作コマンド | 説明
| color | /set fset.color.* | 色
| format | /set fset.format.* | オプションリストの表示書式
| look | /set fset.look.* | 外観
|===
オプション:
include::includes/autogen_user_options.ja.adoc[tag=fset_options]
// TRANSLATION MISSING
[[colors]]
=== Colors
@@ -2211,9 +2221,9 @@ include::includes/autogen_user_options.ja.adoc[tag=charset_options]
|===
| 通知レベル | ホットリストに追加されるメッセージのレベル
| none | (無効)
| highlight | _highlight_ + _private_
| message | _highlight_ + _private_ + _message_
| all | _highlight_ + _private_ + _message_ + _low_
| highlight | highlight + private
| message | highlight + private + message
| all | highlight + private + message + low
|===
通知レベルはバッファグループに対して設定することも可能で、例えば
@@ -4755,10 +4765,21 @@ _weechat_print_ 修飾子では、メッセージタグを使う変数 (下の
| tg_tag_prefix_nick | string | プレフィックスで使うニックネームの色 ("prefix_nick_ccc" タグから)
| tg_tag_host | string | ユーザ名とホスト名、書式: username@host ("host_xxx" タグから)
| tg_tag_notify | string | 通知レベル (_none_、_message_、_private_、_highlight_)
// TRANSLATION MISSING
| tg_tag_irc_xxx | string | IRC message tag (key "xxx"). ^(1)^
| tg_notify | string | 通知レベルが _none_ 以外の場合、その通知レベル
| tg_msg_pv | string | プライベートメッセージの場合 "1"、それ以外は "0"
|===
// TRANSLATION MISSING
[NOTE]
====
^(1)^ Special chars are replaced in IRC tag:
* key: `_` -> `-` and `,` -> `;`
* value: `,` -> `;`
====
[[trigger_data_print]]
==== Print
@@ -4788,10 +4809,21 @@ _weechat_print_ 修飾子では、メッセージタグを使う変数 (下の
| tg_tag_prefix_nick | string | プレフィックスで使うニックネームの色 ("prefix_nick_ccc" タグから)
| tg_tag_host | string | ユーザ名とホスト名、書式: username@host ("host_xxx" タグから)
| tg_tag_notify | string | 通知レベル (_none_、_message_、_private_、_highlight_)
// TRANSLATION MISSING
| tg_tag_irc_xxx | string | IRC message tag (key "xxx"). ^(1)^
| tg_notify | string | 通知レベルが _none_ 以外の場合、その通知レベル
| tg_msg_pv | string | プライベートメッセージの場合 "1"、それ以外は "0"
|===
// TRANSLATION MISSING
[NOTE]
====
^(1)^ Special chars are replaced in IRC tag:
* key: `_` -> `-` and `,` -> `;`
* value: `,` -> `;`
====
[[trigger_data_command]]
==== Command
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2021 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
#
# This file is part of WeeChat, the extensible chat client.
#
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2021 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2006 Julien Louis <ptitlouis@sysif.net>
#
# This file is part of WeeChat, the extensible chat client.
@@ -26,6 +26,8 @@
| irc | irc_channels | kanały na wszystkich serwerach IRC
| irc | irc_channels_autojoin | channels automatically joined on the current server (option "autojoin")
| irc | irc_ignores_numbers | numery zdefiniowanych ignorów
| irc | irc_modelist_masks | maski modlisty obecnego kanału IRC; wymagany argument: modelist mode

Some files were not shown because too many files have changed in this diff Show More