1
0
mirror of https://github.com/weechat/weechat.git synced 2026-06-12 22:24:47 +02:00

Compare commits

...

384 Commits

Author SHA1 Message Date
Sébastien Helleu 6a98f747e6 Version 3.7.1 2022-10-21 13:01:44 +02:00
Sébastien Helleu dc034e2685 trigger: execute trigger command on appropriate buffer (issue #1841)
This affects the following hook types:

- command
- command_run
- line
- modifier
- print

This fixes a regression introduced in WeeChat 3.7 by commit
0f67f55098.
2022-10-20 20:39:39 +02:00
Sébastien Helleu a0bba1325a Version 3.7.1-dev 2022-10-20 20:39:09 +02:00
Sébastien Helleu 484f679e60 Version 3.7 2022-10-09 08:06:53 +02:00
Trygve Aaberge fdb1ff3781 tests: Use LONGS_EQUAL for version number tests
util_version_number returns an int, but BYTES_EQUAL only compares the
last byte of the int, so it wouldn't test the rest of the int.

I see other tests for functions returning an int use LONGS_EQUAL, so
that seems correct to use.
2022-10-08 18:13:00 +02:00
Sébastien Helleu 193aa0448f core: fix compilation warning on isdigit function 2022-10-08 12:18:09 +02:00
Sébastien Helleu 3932cf5a00 xfer: add missing include of netinet/in.h
This fixes compilation on FreeBSD 13.0.
2022-10-08 12:11:12 +02:00
Sébastien Helleu 8555cf465e debian: update changelog 2022-10-08 11:52:44 +02:00
Sébastien Helleu 11f0d57dfd debian: bump Standards-Version to 4.6.1.0 2022-10-08 11:52:14 +02:00
Nils Görs 1fd5dd4c34 doc: update German documentation 2022-10-06 15:02:08 +02:00
Sébastien Helleu 1fec7e8856 core: fix page scroll in bare display (closes #1830) 2022-10-05 20:33:35 +02:00
Trygve Aaberge 236d22e364 python: Include constant values in python stub
This is useful for two reasons:

1. When running unit tests for a script weechat needs to be mocked. By
   having the constant values available in the stub file, they can be
   loaded from that, instead of having to define the constants manually
   for the mock.

2. If you log a constant value you have to look up what it means. This
   makes it easier, in the same vein as PR #1824.
2022-10-02 20:25:17 +02:00
Sébastien Helleu 4d3a3c67ac irc: set local variable "filter" when doing /server raw xxx with raw buffer already opened (closes #1448) 2022-10-01 17:06:31 +02:00
Sébastien Helleu ae61137216 trigger: add variable ${tg_hook_type} (closes #1765) 2022-09-30 21:32:27 +02:00
Trygve Aaberge 6bb4bed8bb doc/api: Fix config_new_option types for non English docs
Only English was changed in commit 197a7a01e.
2022-09-30 07:53:37 +02:00
Sébastien Helleu 92cdcee8f6 api: change type of argument object_id in upgrade_new callback from string to integer (in scripts) 2022-09-29 21:38:04 +02:00
Sébastien Helleu b2b110f1a3 api: change type of argument remaining_calls in hook_timer callback from string to integer (in scripts) 2022-09-29 21:21:01 +02:00
Trygve Aaberge 89400cbf7a doc/api: Remove unnecessary cast in Python example
The highlight argument is already an int, so no point in casting it.
2022-09-29 17:13:19 +02:00
Trygve Aaberge e0c117e14f doc/api: Add types for Python callbacks 2022-09-29 17:13:19 +02:00
Sébastien Helleu b978de5f84 debian: remove ubuntu/xenial patch (distro not supported any more)
As zstd is too old in ubuntu/xenial (0.5.1 while min version is 0.8.1), this
distro is not supported any more.
2022-09-29 16:04:58 +02:00
Sébastien Helleu fd43ad6387 core: fix compilation with zstd < 1.4.0
Note: zstd ≥ 0.8.1 is now required to compile WeeChat.
2022-09-29 15:59:01 +02:00
Sébastien Helleu 009a7821b1 doc: update German auto-generated file 2022-09-29 11:07:38 +02:00
Nils Görs 5cfcec7212 doc: update German documentation 2022-09-29 11:06:13 +02:00
Nils Görs c6671fc9db core: update German translations 2022-09-29 11:04:56 +02:00
Sébastien Helleu 8295ea6da8 doc/user: remove tag "translation missing" in French user's guide 2022-09-29 09:47:50 +02:00
Sébastien Helleu 9817372553 doc/user: add chapter on log file rotation/compression 2022-09-29 09:46:43 +02:00
Sébastien Helleu 486df38a8d php: add missing arginfo_weechat_string_parse_size in legacy arginfo 2022-09-29 07:48:55 +02:00
Trygve Aaberge 76d4cc7e3f doc/api: Add values for hook_process constants
When logging this value I just see a number so I have to look up what it
means. Previously you would have to check the code or print the value of
each of these constants to see it. Seeing the value directly in the
documentation makes this much easier.
2022-09-28 21:42:21 +02:00
Sébastien Helleu 135960859d doc/api: add note about C API for constant WEECHAT_HOOK_PROCESS_CHILD (function hook_process) 2022-09-28 21:01:01 +02:00
Sébastien Helleu 9f62c4a842 doc/api: fix typo 2022-09-28 20:58:29 +02:00
Sébastien Helleu 7711ed95c5 logger: add options to rotate and compress log files (closes #314)
New options:

- logger.file.rotation_compression_level
- logger.file.rotation_compression_type
- logger.file.rotation_size_max
2022-09-28 20:52:59 +02:00
Sébastien Helleu 26e6fdc645 api: add function file_compress 2022-09-27 20:49:12 +02:00
Sébastien Helleu e7b6e8c60f api: restrict number to integer in function string_parse_size 2022-09-27 15:50:43 +02:00
Sébastien Helleu 4d74a89cfc api: add function string_parse_size 2022-09-27 15:50:43 +02:00
Nils Görs be6a29a596 doc: update German documentation 2022-09-27 10:56:11 +02:00
Sébastien Helleu 34c043453b irc: fix use of uninitialized variable ptr_nick 2022-09-26 21:21:27 +02:00
Sébastien Helleu 6f8aab186d doc: update German auto-generated file 2022-09-20 19:23:57 +02:00
Nils Görs 201b24a02a core: update German translations 2022-09-20 19:10:13 +02:00
Sébastien Helleu 01cf98e8fb core: add key alt+backspace, change behavior of key ctrl+w (closes #559)
The key ctrl+w now deletes one word until whitespace.

The new key alt+backspace deletes one word (same behavior as ctrl+w in previous
releases).
2022-09-18 23:26:49 +02:00
Sébastien Helleu d7c0e896b2 core: fix style in ChangeLog 2022-09-18 17:44:55 +02:00
Sébastien Helleu 389f9f436b trigger: escape arguments with double quotes in output of /trigger input|output|recreate (closes #190) 2022-09-18 17:44:05 +02:00
Sébastien Helleu fe62d93dd0 build: update version of Debian/Ubuntu distros in examples 2022-09-18 14:39:36 +02:00
Sébastien Helleu d5c285f0a6 build: remove patches for Debian/Raspbian Stretch 2022-09-18 14:39:02 +02:00
Sébastien Helleu a00edcf50e tests: add tests on filter functions 2022-09-17 18:56:35 +02:00
Sébastien Helleu be7380f9b3 core: fix order of filters after renaming a filter (issue #1695) 2022-09-17 16:01:02 +02:00
Sébastien Helleu 5284921701 irc: fix message when disconnecting from server in case of high lag when server option autoreconnect is off (closes #1708) 2022-09-17 12:12:06 +02:00
Sébastien Helleu 36d2e7427e core: fix wrong terminal title on terminal resize (closes #1702) 2022-09-17 11:56:03 +02:00
Sébastien Helleu 0df582c7c1 core: sort filters by name (closes #1695) 2022-09-17 11:07:22 +02:00
Sébastien Helleu a99fc17d40 spell: allow special dict value "-" to disable spell checking on a specific buffer (closes #1699) 2022-09-17 10:44:21 +02:00
Sébastien Helleu 2b2ba62600 doc/api: add version 3.7 for priority in function hook_line 2022-09-17 07:52:39 +02:00
Sébastien Helleu 21683def12 doc: update German auto-generated file 2022-09-16 21:06:33 +02:00
Sébastien Helleu 96c22c41ba api: add support of priority in function hook_line (closes #1821) 2022-09-16 21:05:51 +02:00
Nils Görs ba27ec8d65 core: update German translations 2022-09-16 08:23:27 +02:00
Sébastien Helleu c6d8b54459 irc: add option irc.look.display_pv_nick_change 2022-09-15 20:31:06 +02:00
Sébastien Helleu 82f59d2a98 doc: update auto-generated files 2022-09-11 16:30:55 +02:00
Nils Görs 731f7e4243 core: update German translations 2022-09-11 16:25:17 +02:00
Ivan Pešić 2178440b7c core: Update Serbian translation
Includes documentation update.
2022-09-11 11:50:35 +02:00
Sébastien Helleu 57af62c1c0 doc/api: move function hook_completion in chapter on hook priority 2022-09-11 11:45:02 +02:00
Sébastien Helleu 742773e070 doc/api: update chapter on hook priority 2022-09-11 10:52:25 +02:00
Sébastien Helleu ac646da4fb doc/api: update note about priority in hook functions 2022-09-11 09:50:47 +02:00
Sébastien Helleu 9cb68b13a9 irc: replace chars "\01" by spaces in CTCP replies (closes #1819)
This prevents any attack due to an external security issue in the Linux
netfilter implementation (nf_conntrack_irc).

See: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-2663
2022-09-10 13:43:45 +02:00
Sébastien Helleu 5070a6330c xfer: use larger buffer for IP address
This removes a gcc warning about a too small buffer.
2022-09-09 19:20:41 +02:00
Sébastien Helleu d5cbd6c49a irc: fix display of message 350 (whois, gateway) (closes #1815) 2022-09-05 22:12:17 +02:00
Sébastien Helleu 2a32456f19 tests: add missing include of string.h 2022-09-05 20:49:59 +02:00
Sébastien Helleu b0bf2fbc97 core: remove debug print 2022-09-03 22:38:12 +02:00
Sébastien Helleu e8524ea2c4 xfer: fix DCC file receive on Termux (closes #1811)
This fixes such error displayed on Termux when receiving a DCC file:

xfer: invalid address "96747949": error 8 hostname nor servname provided, or not known
2022-09-03 22:29:46 +02:00
Sébastien Helleu 7cf9399616 core: rename argument "length" to "bytes" in function string_strndup (header files)
Argument was already renamed in commit f8915129bf
but it was incomplete (missing header files).
2022-08-31 22:51:47 +02:00
Sébastien Helleu 68ecfb16a1 irc: fix target buffer of generic errors when they contain a target nick (closes #1814) 2022-08-29 22:45:28 +02:00
Sébastien Helleu f5604510cd script: use API function weechat_crypto_hash_file in script_repo_sha512sum_file 2022-08-16 21:40:02 +02:00
Sébastien Helleu 0090695f7d api: add function crypto_hash_file 2022-08-16 21:33:50 +02:00
Sébastien Helleu e614410815 irc: fix extract of isupport value when it is last in list and without value (closes #1807) 2022-08-15 18:14:03 +02:00
Sébastien Helleu fb14e67364 buflist: improve help on option buflist.look.enabled 2022-08-15 14:43:25 +02:00
Sébastien Helleu a31de83a3c core: move line from "New features" to "Bug fixes" 2022-08-15 13:11:08 +02:00
Sébastien Helleu b26fb7fba6 core: add new option trigger.color.identifier in ChangeLog 2022-08-15 13:10:29 +02:00
Sébastien Helleu 0f67f55098 trigger: add elapsed time for trigger execution on monitor buffer when trigger debug is set (closes #1806) 2022-08-15 12:44:16 +02:00
Sébastien Helleu 1ce2d7f56d trigger: fix error on monitor buffer creation when trigger debug is >= 1 and monitor buffer is closed 2022-08-15 12:42:26 +02:00
Sébastien Helleu 223eefef67 irc: display ACCOUNT command in private buffers 2022-08-13 22:58:37 +02:00
Sébastien Helleu aee3da5452 irc: add options and display SETNAME command in channels and private buffers (closes #1805)
New options:

- irc.color.message_setname
- irc.look.smart_filter_setname
2022-08-13 22:47:22 +02:00
Sébastien Helleu d3b84eaf6c irc: display CHGHOST command in private buffers 2022-08-13 22:16:46 +02:00
Sébastien Helleu ac50a5dda7 doc: update auto-generated files 2022-08-13 19:07:56 +02:00
Sébastien Helleu a36fa2faea logger: improve help on option logger.file.auto_log 2022-08-13 19:02:55 +02:00
Sébastien Helleu 1e0d59a5e6 irc: add missing tag "irc_numeric" in all numeric IRC commands (closes #1804) 2022-08-13 17:34:43 +02:00
Sébastien Helleu 06b6f457d9 tests: add tests on dynamic string functions with NULL string 2022-08-13 14:38:08 +02:00
Sébastien Helleu 57c0a82557 core: fix CMake warning in Python detection 2022-08-13 14:37:00 +02:00
Sébastien Helleu dd65938a85 doc: update German auto-generated file 2022-08-09 23:35:57 +02:00
Nils Görs ff417f88ea core: update German translations 2022-08-08 10:22:56 +02:00
Nils Görs 2857b7b4b7 core: update German translations 2022-08-08 10:08:44 +02:00
Sébastien Helleu a8080505f3 tests: add tests on function xfer_file_search_crc32 2022-08-08 08:06:23 +02:00
Sébastien Helleu bbe8afcbd4 xfer: move and rename function xfer_filename_crc32 to xfer-file.c 2022-08-08 06:57:39 +02:00
Sébastien Helleu 25f25073b9 irc: fix parsing of messages with trailing spaces and no trailing parameter (closes #1803) 2022-08-07 23:28:11 +02:00
Sébastien Helleu d068fe0de5 core: add option -save in command /upgrade (closes #1630) 2022-08-07 16:48:12 +02:00
Sébastien Helleu d91cddc909 xfer: disconnect all active DCC chats and files on /upgrade 2022-08-07 11:15:03 +02:00
Sébastien Helleu 9fd71067e7 xfer: fix refresh of xfer buffer after /upgrade 2022-08-07 11:11:10 +02:00
Sébastien Helleu 441d532f15 relay: fix refresh of relay buffer after /upgrade 2022-08-07 10:04:47 +02:00
Sébastien Helleu 57c9f371bc relay: use enum type for websocket status in client 2022-08-07 09:31:24 +02:00
Sébastien Helleu 4fa278c2c3 doc: update German auto-generated file 2022-08-05 22:34:40 +02:00
Nils Görs 0edae0d93d Merge branch 'master' of https://github.com/weechat/weechat 2022-08-05 09:49:59 +02:00
Nils Görs fbc2e86d0e core: update German translations 2022-08-05 09:49:27 +02:00
Sébastien Helleu 06622b5acb doc: update German auto-generated file 2022-08-04 22:14:28 +02:00
Nils Görs 9bb903cbc8 core: update German translations 2022-08-04 12:46:04 +02:00
Sébastien Helleu e9b8c9b6aa ci: fix Ubuntu code name when applying Debian patch 2022-08-03 22:05:45 +02:00
Sébastien Helleu b0eb3c9347 ci: remove macOS 10.15, add macOS 12 in CI 2022-08-03 21:57:44 +02:00
Sébastien Helleu 2102ef742b core: update ChangeLog 2022-08-03 21:56:55 +02:00
Sébastien Helleu 5d51e7286c ci: remove tests on macOS 10.15 2022-08-03 21:52:47 +02:00
Sébastien Helleu fe892460ba tests: fix pylint errors 2022-08-03 21:51:51 +02:00
Sébastien Helleu 0bb7a34748 doc: fix pylint errors 2022-08-03 21:51:51 +02:00
Sébastien Helleu ee1efedbd7 ci: switch from Ubuntu 20.04 to 22.04 2022-08-03 21:51:51 +02:00
Emir SARI 492a68b3de Update Turkish translations
Fixes plural structure to comply with gettext Turkish specification.
2022-08-03 21:20:31 +02:00
Sébastien Helleu 2bd3d32f0d irc: mention how to remove capability in /help cap 2022-08-03 21:18:17 +02:00
Sébastien Helleu 6b28cc001f tests: fix _ast_num in script generator 2022-08-02 23:52:31 +02:00
Sébastien Helleu 23707a12ea tests: fix scripting API tests with Python 3.8 2022-08-02 21:35:33 +02:00
Sébastien Helleu a7364d055b tests: disable pylint errors in testapi.py 2022-08-02 21:21:07 +02:00
Sébastien Helleu 4d4a6f99f9 tests: add tests on hdata functions (scripting API) 2022-08-02 21:11:45 +02:00
Sébastien Helleu a4c73b9ae7 tests: fix assignment in tcl script generator 2022-08-02 20:55:59 +02:00
Sébastien Helleu 3bc0453cae tests: fix assignment in perl script generator 2022-08-02 20:55:36 +02:00
Sébastien Helleu 2ed281af02 tests: use double quotes instead of simple quotes in ruby script generator
This allows to use escaped chars in strings.
2022-08-02 20:54:35 +02:00
Sébastien Helleu 05abbac297 tests: add subscript in script generator 2022-08-02 20:52:40 +02:00
Sébastien Helleu 237c37e719 tests: fix unary op in script generator 2022-08-02 20:51:40 +02:00
Sébastien Helleu 39f2b2f7b9 ruby: fix function hdata_get_string 2022-08-02 20:50:48 +02:00
Sébastien Helleu 8f6395e889 guile: fix function hdata_get_string 2022-08-02 20:50:24 +02:00
Sébastien Helleu 53df45de48 php: fix function hdata_compare 2022-08-02 20:49:35 +02:00
Sébastien Helleu bcb8647aa4 scripts: fix issue with long interval in function hook_timer
Affected plugins: python, ruby, lua, tcl, guile, javascript, php.
2022-08-01 22:18:38 +02:00
Sébastien Helleu b1404b0277 scripts: fix issue with year ≥ 2038 in functions print_date_tags and print_y_date_tags
Affected plugins: python, lua, tcl, guile, javascript.
2022-08-01 21:03:44 +02:00
Sébastien Helleu 1514570ff0 scripts: fix issue with year ≥ 2038 in function infolist_new_var_time
Affected plugins: python, lua, tcl, guile, javascript.
2022-08-01 20:32:09 +02:00
Sébastien Helleu 2475ba43a3 javascript: fix return of long value in functions infolist_time, hdata_long and hdata_time 2022-08-01 20:13:01 +02:00
Sébastien Helleu d2c2f9e6cd tests: fix run of Guile test script 2022-08-01 20:02:35 +02:00
Sébastien Helleu d8abdc57ee core: fix styles in ChangeLog 2022-07-31 09:59:18 +02:00
Sébastien Helleu e77ea9dc26 buflist: add variable "${hotlist_priority_number}" (integer version of "${hotlist_priority}") 2022-07-31 09:58:29 +02:00
Emir SARI 324f0aaa2d Update Turkish translations 2022-07-30 07:53:40 +02:00
Nils Görs ae273b2714 core: update German translations 2022-07-28 13:45:27 +02:00
Sébastien Helleu 06a05fd674 doc: update German auto-generated files 2022-07-27 22:07:50 +02:00
Sébastien Helleu a50143fdf8 irc: display an error message when using command /dcc without xfer plugin loaded 2022-07-27 22:07:24 +02:00
Sébastien Helleu 56b82fb115 xfer: fix crash when closing DCC chat buffer 2022-07-27 22:06:48 +02:00
Nils Görs 9b4f52ac13 core: update German translations 2022-07-26 13:45:37 +02:00
Sébastien Helleu 906ac1d1e1 relay: exit function relay_irc_recv if params can not be allocated 2022-07-24 23:02:09 +02:00
Sébastien Helleu 2a145d7cc1 core: remove dead assignments 2022-07-24 23:01:38 +02:00
Sébastien Helleu 68ad24f2df core: add option weechat.look.highlight_disable_regex and buffer property "highlight_disable_regex" (closes #1798) 2022-07-24 22:43:48 +02:00
Sébastien Helleu 1796634d83 core: use dynamic string in function gui_bar_item_get_value 2022-07-24 21:18:26 +02:00
Sébastien Helleu a37c46c21e doc: use non-breaking spaces before links to notes 2022-07-22 17:24:44 +02:00
Sébastien Helleu d43b9e99c1 doc/scripting: add missing fields "paramN" and "num_params" in output of "irc_message_parse"
These new fields were added in version 3.4 with major improvements of the IRC
message parser.
2022-07-22 17:06:49 +02:00
Sébastien Helleu d5c4342bce irc: fix display of TOPIC message with an empty trailing parameter 2022-07-21 11:16:50 +02:00
Sébastien Helleu 569c93c6fb irc: fix display of QUIT message with an empty trailing parameter (closes #1797)
The regression was introduced with the new way to parse IRC message parameters,
in version 3.4.
2022-07-21 11:10:29 +02:00
Sébastien Helleu 96ed471261 relay: fix parsing of IRC messages received from clients (closes #1796)
The IRC parser improved in version 3.4 is now used to parse command
parameters (variables "num_params" and "paramN" in output of parser function).
2022-07-21 10:20:10 +02:00
Sébastien Helleu 6b59fc8557 irc: use API function string_rebuild_split_string in irc_protocol_string_params 2022-07-20 13:20:07 +02:00
Sébastien Helleu b7441bd7a3 api: add arguments "index_start" and "index_end" in function string_rebuild_split_string 2022-07-20 13:16:35 +02:00
Sébastien Helleu 62e68f965f api: rename function string_build_with_split_string to string_rebuild_split_string 2022-07-20 12:14:40 +02:00
Sébastien Helleu 0440309cee irc: fix duplicated channels in autojoin option when autojoin_dynamic is enabled (closes #1795) 2022-07-16 14:05:48 +02:00
Sébastien Helleu e057c16b36 api: add info "uptime_current"
This info returns time duration between the start of the current WeeChat
process and now (so upgrades with /upgrade are ignored).
2022-07-10 13:02:35 +02:00
Sébastien Helleu c4cade3550 Version 3.7-dev 2022-07-10 09:41:57 +02:00
Sébastien Helleu e5a159c74f Version 3.6 2022-07-10 09:18:05 +02:00
Sébastien Helleu b74aa71442 debian: update changelog 2022-07-09 09:32:17 +02:00
Nils Görs 8fb7987633 doc: update German documentation 2022-07-09 00:35:09 +02:00
Sébastien Helleu bb76a5d266 Version 3.6-rc1 2022-07-06 23:02:12 +02:00
Sébastien Helleu db21a0da90 doc: update Serbian auto-generated files 2022-07-06 22:54:15 +02:00
Ivan Pešić 7508337240 core: Serbian message translation fixes
Several fixes.
2022-07-06 22:53:59 +02:00
Sébastien Helleu 98375b8ffc doc: update Serbian auto-generated files 2022-07-05 21:19:36 +02:00
Sébastien Helleu d6d83474c7 doc: remove extra space in Serbian translation 2022-07-05 21:19:17 +02:00
Ivan Pešić 43bafa59d8 core/doc: Update Serbian translation 2022-07-05 21:15:06 +02:00
Sébastien Helleu e8c255770f doc: fix display of literal blocks
This fixes:

- height of lines in literal blocks (all browsers)
- literal blocks in Japanese docs (Firefox)
2022-07-04 23:42:36 +02:00
Sébastien Helleu 59a4142b00 doc: remove font "Noto Color Emoji"
This allows the same render for north east arrow on all browsers.
2022-07-03 21:51:01 +02:00
Sébastien Helleu dbc59965ac doc: force color-scheme to dark/light according to the theme
This allows to have dark scroll bars in Chrome-based browsers.
2022-07-03 21:46:02 +02:00
Sébastien Helleu 6ffebec1a6 tests: add tests on IRC messages 524/704/705/706 (issue #1772) 2022-07-02 21:11:32 +02:00
Sébastien Helleu 1c7b431bc8 api: run hook_print callback also on empty messages 2022-07-02 21:10:48 +02:00
Sébastien Helleu 749bc26926 irc: remove unneeded translation marker (issue #1772) 2022-07-02 20:41:39 +02:00
Sébastien Helleu 9ac9dc7023 core: update ChangeLog (issue #1772) 2022-07-02 20:34:39 +02:00
Sébastien Helleu bbf55b734c irc: start at parameter #2 in callback of messages 524/704/705/706 (issue #1772) 2022-07-02 20:34:36 +02:00
Sébastien Helleu 2095887be9 irc: fix comments (issue #1772) 2022-07-02 20:34:34 +02:00
Valentin Lorentz fa05f75b74 irc: add ERR_HELPNOTFOUND (issue #1772) 2022-07-02 20:34:31 +02:00
Valentin Lorentz a96d2c28fb irc: strip topic name when formatting RPL_HELPSTART/RPL_HELPTXT/RPL_ENDOFHELP (issue #1772) 2022-07-02 20:34:27 +02:00
Sébastien Helleu 4a115fdedd core: update ChangeLog 2022-06-30 20:37:11 +02:00
Sébastien Helleu 3a0e54d236 php: fix compilation warning about unused arguments 2022-06-30 20:35:59 +02:00
Adam Saponara 24fe646c4e php: Deprecate forget_* functions in PHP 8+
These functions don't work with PHP 8+ and also don't seem to be
necessary anymore when reloading scripts.
2022-06-30 20:33:45 +02:00
Adam Saponara 8cf5848116 php: Add stubs and generate arginfo for PHP API
This was preventing the PHP plugin from working if PHP was compiled
with `--enable-debug`. With this patch, `--enable-debug` builds of
PHP should work.
2022-06-30 20:33:13 +02:00
Adam Saponara 3e1a5b4447 php: Adjust API for PHP 8.2 2022-06-30 20:32:20 +02:00
Sébastien Helleu 1fb82b4062 doc/quickstart: add command /autojoin and server option autojoin_dynamic 2022-06-28 23:00:43 +02:00
Sébastien Helleu d4dc1467c9 doc/scripting: add arrow and open external links in new tab 2022-06-27 00:07:41 +02:00
Sébastien Helleu c64bdeaed3 doc/relay: add arrow and open external links in new tab 2022-06-26 23:57:50 +02:00
Sébastien Helleu 37ed420108 doc/quickstart: add arrow and open external links in new tab 2022-06-26 23:54:07 +02:00
Sébastien Helleu b825ce49c2 doc/api: add arrow and open external links in new tab 2022-06-26 23:47:05 +02:00
Sébastien Helleu 33bf2dec43 doc/faq: add arrow and open external links in new tab 2022-06-26 23:29:46 +02:00
Sébastien Helleu 0fe3661eab doc/dev: add arrow and open external links in new tab 2022-06-26 22:41:56 +02:00
Sébastien Helleu aee4d283c9 doc/user: add arrow and open external links in new tab 2022-06-26 22:23:54 +02:00
Sébastien Helleu d3cdccc274 doc/user: replace TOR by Tor 2022-06-26 16:38:05 +02:00
Sébastien Helleu 42a0a19828 doc/user: add a chapter on supported IRCv3 extensions 2022-06-25 08:53:18 +02:00
Sébastien Helleu 8788fcedc8 irc: update URLs to IRCv3 specifications 2022-06-25 08:53:03 +02:00
Sébastien Helleu 84e6e84347 doc: remove underline and change color for links 2022-06-24 18:59:42 +02:00
Sébastien Helleu 38efd63012 doc: fix generation of python stub 2022-06-24 07:46:35 +02:00
Sébastien Helleu 031819173b doc: change formatting in asciidoctor tables 2022-06-23 20:43:46 +02:00
Sébastien Helleu de3d670ca7 doc: update German auto-generated file 2022-06-21 21:24:43 +02:00
Nils Görs d2394f6432 core: update German translations 2022-06-20 13:46:19 +02:00
Sébastien Helleu 2c4bad8120 core: add trailing slashes in URLs 2022-06-18 16:18:09 +02:00
Sébastien Helleu 8ac67ff540 doc: add trailing slashes in URLs 2022-06-18 16:05:11 +02:00
Sébastien Helleu b8ef7e2f65 doc/user: add missing server option "autojoin_dynamic" 2022-06-18 12:49:03 +02:00
Sébastien Helleu 21ca625f10 irc: update translations 2022-06-18 10:40:04 +02:00
Sébastien Helleu 9644df21ad irc: add example with /allchan in /help autojoin 2022-06-17 21:05:12 +02:00
Sébastien Helleu 17ae43aa03 irc: rename option save to apply in command /autojoin 2022-06-15 22:11:08 +02:00
Sébastien Helleu 487406cfd9 doc/user: fix column size 2022-06-10 12:41:13 +02:00
Nils Görs cd4db84feb doc: update German documentation 2022-06-10 09:16:39 +02:00
Sébastien Helleu 55a796f30b doc/user: add chapter on custom bar items 2022-06-07 21:04:34 +02:00
Sébastien Helleu d81813cd6a doc/faq: mention command /autojoin to edit the "autojoin" server option 2022-06-06 23:53:25 +02:00
Sébastien Helleu 2006c2c940 doc: update German auto-generated files 2022-05-31 08:19:09 +02:00
Sébastien Helleu f3d2f9bbe1 doc/user: fix links to commands 2022-05-30 22:11:40 +02:00
Nils Görs 2c61a24413 core: update German translations 2022-05-30 10:13:43 +02:00
Sébastien Helleu 10501a34fe core: fix style in ChangeLog 2022-05-28 10:24:41 +02:00
Sébastien Helleu 99dcdae5b0 core: update translations 2022-05-27 22:47:46 +02:00
Sébastien Helleu 86f110db98 core: add completion of conditions and content in commands /item add and /item addreplace (issue #808) 2022-05-27 22:16:58 +02:00
Sébastien Helleu a1a9303b14 trigger: fix completion of command /trigger add when there are spaces in the following arguments 2022-05-27 22:16:58 +02:00
Sébastien Helleu 5ef4731c62 core: add examples in /help item (issue #808) 2022-05-27 22:16:55 +02:00
Sébastien Helleu 007958e82c core: add display conditions in custom bar items (issue #808) 2022-05-27 22:16:50 +02:00
Sébastien Helleu 5876a8335f trigger: fix memory leak in command /trigger addinput 2022-05-27 17:53:56 +02:00
Sébastien Helleu cefed25912 core: add command /item (closes #808)
This allows to create custom bar items with evaluated content (like the script
text_item.py does).
2022-05-27 17:53:50 +02:00
Nils Görs 79438c72e1 core: update German translations 2022-05-12 08:17:19 +02:00
Sébastien Helleu d99fe0bc76 core: allow to remove multiple filters at once with command /filter del 2022-05-11 21:50:53 +02:00
Sébastien Helleu 540ff62c60 doc/relay: add missing version 3.5 in command "init" 2022-05-09 18:11:43 +02:00
Sébastien Helleu 3e8580b5e5 doc/faq: rename option autojoin_record to autojoin_dynamic 2022-04-29 08:21:10 +02:00
Sébastien Helleu 0f1f9bc87f doc: update German auto-generated file 2022-04-25 13:31:35 +02:00
Nils Görs f0572474d4 core: update German translations 2022-04-25 08:28:35 +02:00
Sébastien Helleu d4d8117461 irc: remove channel from autojoin option when manually closing a buffer 2022-04-24 22:09:19 +02:00
Sébastien Helleu 4d8df89bb5 irc: fix add of channel to autojoin option when joining a channel with a buffer still opened 2022-04-24 22:09:19 +02:00
Sébastien Helleu b7f3127bf8 api: allow to catch multiple signals in functions hook_signal and hook_hsignal (closes #1780) 2022-04-24 22:09:15 +02:00
Sébastien Helleu f69ef840e0 doc/api: remove word "and" in text with updated versions 2022-04-24 17:36:39 +02:00
Sébastien Helleu e46d2567ea core: fix style in ChangeLog 2022-04-24 10:31:28 +02:00
Sébastien Helleu 8be5759ef7 core: update ChangeLog 2022-04-24 10:30:47 +02:00
Sébastien Helleu 78317f8b55 core: move detailed list of hooks from command "/plugin listfull" to "/debug hooks <plugin>" 2022-04-24 10:28:09 +02:00
Sébastien Helleu d16640130e core: add functions to get short description of hooks 2022-04-24 10:06:54 +02:00
Sébastien Helleu 95cf2aa956 doc: update auto-generated files with commands 2022-04-23 22:10:12 +02:00
Sébastien Helleu dc367a83f6 core: add missing options "dirs" and "hooks" in description of /debug command arguments 2022-04-23 19:13:16 +02:00
Sébastien Helleu 2a2428902b trigger: check that buffer notify is not "none" to run command of default trigger beep 2022-04-23 14:15:41 +02:00
Sébastien Helleu 51ed9ec93e core: add case conversion in evaluation of expressions (closes #1778) 2022-04-18 13:46:16 +02:00
Nils Görs 46033a7ee9 doc: update German documentation 2022-04-18 10:58:35 +02:00
Sébastien Helleu a2e43a732e core: update ChangeLog (closes #1700) 2022-04-18 09:55:55 +02:00
Sébastien Helleu 674f52bf58 core: add bar item "spacer" 2022-04-18 09:52:01 +02:00
Sébastien Helleu 0af960dbde core: use dynamic string functions to build bar window content 2022-04-17 09:20:46 +02:00
Sébastien Helleu 07b54a9932 buflist: fix memory leak when reading config and changing option buflist.look.sort 2022-04-16 20:24:24 +02:00
Sébastien Helleu 9fceaa465d doc/user: add install of binary package with brew on macOS 2022-04-09 19:36:11 +02:00
Ivan Pešić 94555e043c doc: Update Serbian translation 2022-04-09 10:45:27 +02:00
Sébastien Helleu f02b172716 core: add CVE id in ChangeLog 2022-04-03 21:13:05 +02:00
Sébastien Helleu 9b1184e180 ci: install package ruby-pygments.rb 2022-03-30 21:54:36 +02:00
Sébastien Helleu f39553152f relay: fix save of channels when JOIN/PART are received from an IRC relay client (closes #1771) 2022-03-30 21:41:14 +02:00
Sébastien Helleu 89f49040f3 debian: add dependency on ruby-pygments.rb 2022-03-29 21:02:42 +02:00
Sébastien Helleu 95d0b89d1d doc/user: add chapter on containers 2022-03-28 23:18:44 +02:00
Sébastien Helleu 01f9bcbaba core: fix bad window size on startup with some terminals like kitty (closes #1769) 2022-03-27 17:19:39 +02:00
Sébastien Helleu 6fb6fad7e9 Version 3.6-dev 2022-03-27 16:04:59 +02:00
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
768 changed files with 55646 additions and 26290 deletions
+51 -14
View File
@@ -4,15 +4,17 @@ on:
- push
- pull_request
env:
WEECHAT_DEPENDENCIES: devscripts equivs python3-pip 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 ruby-pygments.rb
jobs:
build_linux:
tests_linux:
strategy:
fail-fast: false
matrix:
os:
- ubuntu-20.04
- ubuntu-22.04
config:
- { name: "cmake_gcc", cc: "gcc", cxx: "g++", tool: "cmake", args: "" }
- { name: "cmake_gcc_ninja", cc: "gcc", cxx: "g++", tool: "cmake", args: "-G Ninja" }
@@ -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,19 +84,18 @@ 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-12
- macos-11
- macos-10.15
config:
- { 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-22.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/jammy
- 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].
+6 -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>
#
@@ -151,6 +151,8 @@ endif()
add_definitions(-DHAVE_CONFIG_H)
include(FindPkgConfig)
include(CheckIncludeFiles)
include(CheckFunctionExists)
include(CheckSymbolExists)
@@ -196,7 +198,9 @@ list(APPEND EXTRA_LIBS gnutls)
# Check for zlib
find_package(ZLIB REQUIRED)
add_definitions(-DHAVE_ZLIB)
# Check for zstd
pkg_check_modules(LIBZSTD REQUIRED libzstd)
# Check for iconv
find_package(Iconv)
+611 -460
View File
File diff suppressed because it is too large Load Diff
+6 -7
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,14 +68,14 @@ 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
WeeChat is under active development, so your idea may already have been
implemented, or scheduled for a future version (you can check in
https://weechat.org/dev[roadmap] or
https://weechat.org/dev/[roadmap] or
https://github.com/weechat/weechat/milestones[milestones] on GitHub.
Pull requests on GitHub are welcome for minor new features.
@@ -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.
+382 -263
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 -3
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.
@@ -28,8 +28,6 @@
# PYTHON_LIBRARIES = path to where libpython.so* can be found
# PYTHON_LDFLAGS = python compiler options for linking
include(FindPkgConfig)
if(ENABLE_PYTHON2)
pkg_check_modules(PYTHON python2 IMPORTED_TARGET GLOBAL)
else()
+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
# ------------------------------------------------------------------------------
+3 -1
View File
@@ -4,6 +4,7 @@ Priority: optional
Maintainer: Sébastien Helleu <flashcode@flashtux.org>
Build-Depends:
asciidoctor (>= 1.5.4),
ruby-pygments.rb,
debhelper (>= 12),
cmake, pkg-config,
libncursesw5-dev,
@@ -14,11 +15,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/
+39
View File
@@ -1,3 +1,42 @@
weechat (3.6-1) unstable; urgency=medium
* New upstream release
* Bump Standards-Version to 4.6.1.0
-- Emmanuel Bouthenot <kolter@debian.org> Sat, 23 Jul 2022 09:56:24 +0000
weechat (3.5-1) unstable; urgency=medium
* New upstream release
* Add build dependency on libzstd-dev
-- Emmanuel Bouthenot <kolter@debian.org> Thu, 31 Mar 2022 11:36:01 +0000
weechat (3.4.1-1) unstable; urgency=medium
* New upstream release
- Fix a possible man-in-the-middle attack in TLS connection to servers
* Update build dependency from libargon2-0-dev to libargon2-dev
(libargon2-0-dev is now virtual package) (Closes: #1005703)
-- Emmanuel Bouthenot <kolter@debian.org> Tue, 22 Mar 2022 05:55:14 +0000
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.4-1) unstable; urgency=medium
* New upstream release (Closes: #1001654, #1001245)
* Remove tester's guide from weechat-doc (according to upstream changes)
* Refresh ASCII Doctor options patch
* Update lintian override on weechat-plugins
* Update copyright (new year)
-- Emmanuel Bouthenot <kolter@debian.org> Fri, 07 Jan 2022 23:03:49 +0000
weechat (3.3-1) unstable; urgency=medium
* New upstream release
+4 -2
View File
@@ -4,6 +4,7 @@ Priority: optional
Maintainer: Emmanuel Bouthenot <kolter@debian.org>
Build-Depends:
asciidoctor (>= 1.5.4),
ruby-pygments.rb,
debhelper (>= 12),
cmake, pkg-config,
libncursesw5-dev,
@@ -14,13 +15,14 @@ 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
Standards-Version: 4.6.1.0
Homepage: https://weechat.org/
Vcs-Git: https://salsa.debian.org/kolter/weechat.git
Vcs-Browser: https://salsa.debian.org/kolter/weechat
+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.
#
+2 -2
View File
@@ -1,6 +1,6 @@
// tag::plugin_options[]
Pro kompletní dokumentaci nastavení pluginů a jejich volby podívejte se na
https://weechat.org/doc[WeeChat user's guide].
https://weechat.org/doc/[WeeChat user's guide].
S irc pluginem se můžete doččasně připojit na server s URL jako:
@@ -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
@@ -67,4 +67,4 @@ include::includes/man.cs.adoc[tag=copyright]
== PODPORA / HLÁŠENÍ CHYB
Pro pomoc nebo hlášení chyb https://weechat.org/about/support
Pro pomoc nebo hlášení chyb https://weechat.org/about/support/
+1 -1
View File
@@ -62,4 +62,4 @@ include::includes/man.cs.adoc[tag=copyright]
== PODPORA / HLÁŠENÍ CHYB
Pro pomoc nebo hlášení chyb https://weechat.org/about/support
Pro pomoc nebo hlášení chyb https://weechat.org/about/support/
+23 -9
View File
@@ -208,10 +208,16 @@ K automatickému připojení některých kanálů při připojování k serveru:
----
// TRANSLATION MISSING
[TIP]
You can complete name and value of options with the kbd:[Tab] key
and kbd:[Shift+Tab] for a partial completion (useful for long words like
the name of option).
The `/autojoin` command lets you configure the _autojoin_ option easily
(see `/help autojoin`).
// TRANSLATION MISSING
You can also configure WeeChat to automatically update the _autojoin_ option
when you join or leave channels:
----
/set irc.server_default.autojoin_dynamic on
----
K smazání hodnoty serverové volby a k použití výchozí hodnoty místo ní,
například k požití výchozích přezdívek (irc.server_default.nicks):
@@ -227,6 +233,12 @@ název volby):
/set irc.server.libera.xxx value
----
// TRANSLATION MISSING
[TIP]
You can complete name and value of options with the kbd:[Tab] key
and kbd:[Shift+Tab] for a partial completion (useful for long words like
the name of option).
[[connect_to_irc_server]]
== Připojení k IRC serveru
@@ -389,14 +401,16 @@ například:
Zkuste `/help script` pro více informací.
A seznam skriptů je dostupný v WeeChatu s příkazem `/script` nebo na této
adrese https://weechat.org/scripts
// TRANSLATION MISSING
A list of scripts is available in WeeChat with `/script` or on
https://weechat.org/scripts/[this page ^↗^,window=_blank].
[[more_doc]]
== Další dokumentace
Nyní jste schopni používat WeeChat a můžete si přečíst FAQ/dokumentaci pro
jakékoliv další otázky: https://weechat.org/doc
// TRANSLATION MISSING
You can now use WeeChat and read
https://weechat.org/doc/[FAQ/documentation ^↗^,window=_blank]
for any other questions.
Ať máte radost z použití WeeChatu!
+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
@@ -92,6 +94,8 @@
| tcl | tcl_script | Liste der Skripten
| trigger | trigger_add_arguments | Argumente für den Befehl, der einen Trigger hinzufügt: Name des Triggers, Hooks, Hook-Argumente, Hook-Bedingungen, Hook-Regex, Hook-Befehl, Hook-Rückgabecode, nachfolgende Aktionen
| trigger | trigger_hook_arguments | Standardargumente für einen Hook
| trigger | trigger_hook_command | Standardbefehl für einen Hook
@@ -146,6 +150,14 @@
| weechat | cursor_areas | Bereiche in denen der Cursor frei bewegt werden kann ("chat" oder Name einer Bar)
| weechat | custom_bar_item_add_arguments | Argumente für den Befehl, der ein benutzerdefiniertes Bar-Item hinzufügt: Elementname, Bedingungen,Inhalt
| weechat | custom_bar_item_conditions | Bedingungen für benutzerdefinierte Bar-Items
| weechat | custom_bar_item_contents | Inhalte für benutzerdefinierte Bar-Items
| weechat | custom_bar_items_names | Namen der benutzerdefinierten Bar-Items
| weechat | env_value | Wert einer Umgebungsvariable
| weechat | env_vars | Umgebungsvariablen
@@ -631,6 +631,8 @@ _text_search_input_   (string) +
_highlight_words_   (string) +
_highlight_regex_   (string) +
_highlight_regex_compiled_   (pointer) +
_highlight_disable_regex_   (string) +
_highlight_disable_regex_compiled_   (pointer) +
_highlight_tags_restrict_   (string) +
_highlight_tags_restrict_count_   (integer) +
_highlight_tags_restrict_array_   (pointer, array_size: "highlight_tags_restrict_count") +
@@ -128,6 +128,8 @@
| weechat | uptime | Laufzeit von WeeChat (Format: "days:hh:mm:ss") | "days" (Anzahl der Tage) oder "seconds" (Anzahl der Sekunden) (optional)
| weechat | uptime_current | WeeChat-Betriebszeit für den aktuellen Prozess (Upgrades mit /upgrade Befehlwerden ignoriert) (Format: "Tage:hh:mm:ss") | "days" (Anzahl der Tage) oder "seconds" (Anzahl der Sekunden) (optional)
| weechat | version | WeeChat-Version | -
| weechat | version_git | WeeChat Git Version (Ausgabe des Befehls "git describe", ausschließlich für eine Entwicklerversion. Eine stabile Version gibt keine Information zurück) | -
@@ -6,7 +6,7 @@
// tag::url_options[]
[width="100%",cols="2,^1,7",options="header"]
|===
| Einstellung | Type ^(1)^ | Konstanten ^(2)^
| Einstellung | Type ^(1)^ | Konstanten ^(2)^
| verbose | long |
+132 -38
View File
@@ -123,6 +123,36 @@ 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>...]]
apply
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
apply: fügt die aktuell besuchten Kanäle in der autojoin-Option hinzu
sort: sortiert die Kanäle alphabetisch in der autojoin Option
Beispiele:
/autojoin add
/autojoin add #test
/autojoin add #chan1 #chan2
/allchan /autojoin add
/autojoin addraw #chan1,#chan2,#chan3 key1,key2
/autojoin del
/autojoin del #chan1
/autojoin apply
/autojoin sort
----
[[command_irc_ban]]
* `+ban+`: Nicknamen oder Hosts sperren/verbannen
@@ -157,8 +187,14 @@ Fähigkeiten die von WeeChat unterstützt werden: account-notify, away-notify, c
Fähigkeiten die standardmäßig genutzt werden sollen, können mit der Option irc.server_default.capabilities gesetzt werden (oder individuell für jeden Server mit der Option irc.server.xxx.capabilities).
Beispiele:
/cap
/cap req multi-prefix away-notify
zeigt unterstützte und aktivierte Funktionen an:
/cap
Fähigkeiten multi-prefix und away-notify anfordern:
/cap req multi-prefix away-notify
Fähigkeit extended-join anfordern, Fähigkeit multi-prefix entfernen:
/cap req extended-join -multi-prefix
Fähigkeit away-notify entfernen
/cap req -away-notify
----
[[command_irc_connect]]
@@ -1302,8 +1338,8 @@ Beispiele:
----
/debug list
set <plugin> <level>
dump [<plugin>]
buffer|color|infolists|libs|certs|memory|tags|term|windows
dump|hooks [<plugin>]
buffer|certs|color|dirs|infolists|libs|memory|tags|term|windows
mouse|cursor [verbose]
hdata [free]
time <command>
@@ -1313,15 +1349,15 @@ Beispiele:
plugin: Name der Erweiterung ("core" für den WeeChat Kern)
level: Debuglevel der Erweiterung (0 = deaktiviert Debug)
dump: Speicherabbild in die WeeChat Protokolldatei schreiben (wie bei einem Programmabsturz)
hooks: zeigt die aktiven Hooks an (bei einer Erweiterung: detaillierte Informationen über Hooks werden angezeigt, die von der Erweiterung erstellt wurden)
buffer: speichert den Bufferinhalt als hexadezimale Ausgabe in die Protokolldatei
certs: gibt die Anzahl geladener vertrauenswürdiger Zertifizierungsstellen aus
color: zeigt Informationen über die aktuellen Farbpaarungen an
cursor: schaltet den debug-Modus für den Cursor-Modus ein/aus
dirs: Verzeichnisse werden angezeigt
hdata: zeigt Informationen zu hdata an (mittels free werden alle hdata Informationen aus dem Speicher entfernt)
hooks: zeigt die aktiven Hooks an
infolists: zeigt Information über die Infolists an
libs: zeigt an welche externen Bibliotheken verwendet werden
certs: gibt die Anzahl geladener vertrauenswürdiger Zertifizierungsstellen aus
memory: gibt Informationen über den genutzten Speicher aus
mouse: schaltet den debug-Modus für den Maus-Modus ein/aus
tags: zeigt für jede einzelne Zeile die dazugehörigen Schlagwörter an
@@ -1379,28 +1415,30 @@ Einige Variablen werden im Ausdruck mittels der Formatierung ${variable} ersetzt
3. eine evaluierte Teilzeichenkette (Format: "eval:xxx")
4. eine evaluierte Bedingung (Format: "eval_cond:xxx")
5. eine Zeichenkette mit Escapesequenzen (Format: "esc:xxx" oder "\xxx")
6. Zeichen, die in einer Zeichenkette nicht dargestellt werden sollen (Format: "hide:Zeichen,Zeichenkette")
7. eine Zeichenkette mit einer maximalen Anzahl an Zeichen (Format: "cut:max,suffix,string" oder "cut:+max,suffix,string")
6. eine Zeichenfolge, die in Kleinbuchstaben umgewandelt wird (Format: "lower:xxx")
7. eine Zeichenfolge, die in Großbuchstaben umgewandelt wird (Format: "upper:xxx")
8. Zeichen, die in einer Zeichenkette nicht dargestellt werden sollen (Format: "hide:Zeichen,Zeichenkette")
9. eine Zeichenkette mit einer maximalen Anzahl an Zeichen (Format: "cut:max,suffix,string" oder "cut:+max,suffix,string")
oder maximale Anzahl an Zeichen die auf dem Bildschirm angezeigt werden sollen (Format: "cutscr:Max,Suffix,Zeichenkette oder "cutscr:+Max,Suffix,Zeichenkette")
8. eine Zeichenkette umkehren (Format: "rev:xxx" oder "revscr:xxx")
9. eine Zeichenkette wiederholen (Format: "repeat:Anzahl,Zeichenkette")
10. Länge einer Zeichenkette (Format: "length:xxx" oder "lengthscr:xxx")
11. Aufteilen einer Zeichenkette (Format: "split:Anzahl,Trennzeichen,Flags,xxx")
12. Aufteilen von Shell-Argumenten (Format: "split_shell:Anzahl,xxx")
13. eine Farbe (Format: "color:xxx", siehe "Anleitung für API Erweiterung", Funktion "color")
14. zum modifizieren (Format: "modifier:name,data,string")
15. eine Info (Format: "Info:Name,Argumente", Argumente sind optional)
16. eine Basis 16/32/64 kodierte / dekodierte Zeichenfolge (Format: "base_encode:base,xxx" oder "base_decode:base,xxx")
17. aktuelles Datum/Uhrzeit (Format: "date" oder "date:format")
18. eine Umgebungsvariable (Format: "env:XXX")
19. ein Dreifachoperand (Format: "if:Bedingung?Wert_falls_wahr:Wert_falls_unwahr")
20. Ergebnis eines Ausdrucks mit Klammern und Operatoren + - * / // % ** (Format: "calc:xxx")
21. eine zufällige ganze Zahl (Format: "random:min,max")
22. eine übersetzte Zeichenkette (Format: "translate:xxx")
23. eine Benutzervariable definieren (Format: "define:Name,Wert")
24. eine Option (Format: "file.section.option")
25. eine lokale Variable eines Buffers
26. ein(e) hdata - Name/Variable (der Wert wird automatisch in eine Zeichenkette konvertiert), standardmäßig wird für "window" und "buffer" das aktuelle Fenster/Buffer verwendet.
10. eine Zeichenkette umkehren (Format: "rev:xxx" oder "revscr:xxx")
11. eine Zeichenkette wiederholen (Format: "repeat:Anzahl,Zeichenkette")
12. Länge einer Zeichenkette (Format: "length:xxx" oder "lengthscr:xxx")
13. Aufteilen einer Zeichenkette (Format: "split:Anzahl,Trennzeichen,Flags,xxx")
14. Aufteilen von Shell-Argumenten (Format: "split_shell:Anzahl,xxx")
15. eine Farbe (Format: "color:xxx", siehe "Anleitung für API Erweiterung", Funktion "color")
16. zum modifizieren (Format: "modifier:name,data,string")
17. eine Info (Format: "Info:Name,Argumente", Argumente sind optional)
18. eine Basis 16/32/64 kodierte / dekodierte Zeichenfolge (Format: "base_encode:base,xxx" oder "base_decode:base,xxx")
19. aktuelles Datum/Uhrzeit (Format: "date" oder "date:format")
20. eine Umgebungsvariable (Format: "env:XXX")
21. ein Dreifachoperand (Format: "if:Bedingung?Wert_falls_wahr:Wert_falls_unwahr")
22. Ergebnis eines Ausdrucks mit Klammern und Operatoren + - * / // % ** (Format: "calc:xxx")
23. eine zufällige ganze Zahl (Format: "random:min,max")
24. eine übersetzte Zeichenkette (Format: "translate:xxx")
25. eine Benutzervariable definieren (Format: "define:Name,Wert")
26. eine Option (Format: "file.section.option")
27. eine lokale Variable eines Buffers
28. ein(e) hdata - Name/Variable (der Wert wird automatisch in eine Zeichenkette konvertiert), standardmäßig wird für "window" und "buffer" das aktuelle Fenster/Buffer verwendet.
Das Format für hdata kann wie folgt aufgebaut sein:
hdata.var1.var2...: startet mit hdata (der Pointer muss bekannt sein) und fragt eine Variable nach der anderen ab (weitere hdata können folgen)
hdata[list].var1.var2...: startet hdata mittels einer Liste, zum Beispiel:
@@ -1423,6 +1461,8 @@ Beispiele (einfache Zeichenketten):
/eval -n ${window.buffer.full_name} ==> core.weechat
/eval -n ${window.buffer.number} ==> 1
/eval -n ${\t} ==> <tab>
/eval -n ${lower:TEST} ==> test
/eval -n ${upper:test} ==> TEST
/eval -n ${hide:-,${relay.network.password}} ==> --------
/eval -n ${cut:3,+,test} ==> tes+
/eval -n ${cut:+3,+,test} ==> te+
@@ -1468,7 +1508,7 @@ Beispiele (Bedingungen):
add|addreplace <name> <buffer>[,<buffer>...] <tags> <regex>
rename <name> <new_name>
recreate <name>
del <name>|-all
del <name>|-all [<name>...]
list: alle Filter auflisten
enable: Filter wird aktiviert (Filter werden standardmäßig aktiviert)
@@ -1574,6 +1614,7 @@ Auflistung der möglichen Aktionen:
delete_previous_char: entfernt vorheriges Zeichen
delete_next_char: entfernt nächstes Zeichen
delete_previous_word: entfernt vorheriges Wort
delete_previous_word_whitespace: vorheriges Wort löschen (bis zum Leerzeichen)
delete_next_word: entfernt nächstes Wort
delete_beginning_of_line: entfernt alle Zeichen ab Zeilenanfang bis zum Cursor
delete_end_of_line: entfernt alle Zeichen ab Cursor bis zum Ende der Zeile
@@ -1617,6 +1658,49 @@ Auflistung der möglichen Aktionen:
Dieser Befehl wird sinnvollerweise mittels Tastenbelegungen oder Erweiterungen genutzt.
----
[[command_weechat_item]]
* `+item+`: Verwalten von benutzerdefinierten Bar-Items
----
/item list
add|addreplace <name> "<conditions>" "<content>"
rename <name> <new_name>
refresh <name> [<name>...]
recreate <name>
del <name>|-all
list: zeigt eine Liste aller benutzerdefinierten Bar-Items
add: fügt ein benutzerdefiniertes Bar-Item hinzu
addreplace: erzeugt neues Bar-Item oder ersetzt ein schon existierendes Bar-Item
name: benutzerdefinierter Name des Bar-Items
conditions: evaluierte Bedingungen um ein Bar-Item anzuzeigen (zum Beispiel um ein Bar-Item nur in einem bestimmten Buffer anzuzeigen)
content: Inhalt (evaluiert, siehe /help eval)
rename: Umbenennen eines benutzerdefinierten Bar-Items
refresh: aktualisiert den Inhalt des Items in allen Bars, in denen das Item angezeigt wird; jedes Item kann aktualisiert werden: standard/Erweiterung/benutzerdefiniertes Bar-Item
recreate: kopiert den Befehl in die Eingabezeile um das benutzerdefinierte Bar-Item zu editieren
del: entfernt ein benutzerdefiniertes Bar-Item
-all: entfernt alle benutzerdefinierten Bar-Items
Beispiele:
Item welches die Terminalgröße anzeigt wird hinzugefügt, aber nur in Buffern mit Nummer angezeigt = 1:
/item add terminfo "${buffer.number} == 1" "term:${info:term_width}x${info:term_height}"
fügt ein Item hinzu, welches Informationen über den Buffer anzeigt:
/item add bufinfo "" "${buffer.number}:${buffer.name}${if:${buffer.zoomed}?(Z)}"
fügt ein Item mit Datum/Uhrzeit hinzu, dabei wird das Format "Dec 25, 12:34 +0100" verwendet, aktualisiert, jede Minute:
/item add datetime "" "${date:%b %d, %H:%M %z}"
/trigger add datetime_refresh timer "60000;60" "" "" "/item refresh datetime"
fügt ein Item mit der Anzahl der Zeilen in dem Buffer hinzu (sichtbar/total), jeweils aktualisiertwenn eine neue Zeile dargestellt wird oder wenn sich der Status der gefilterten Zeilen geändert hat:
/item add lines_count "" "${calc:${buffer.lines.lines_count}-${buffer.lines.lines_hidden}}/${buffer.lines.lines_count} lines"
/trigger add lines_count_refresh_print print "" "" "" "/item refresh lines_count"
/trigger add lines_count_refresh_signal signal "window_switch;buffer_switch;buffer_lines_hidden;filters_*" "" "" "/item refresh lines_count"
erzwingt die Aktualisierung des Items "lines_count":
/item refresh lines_count
erstellt das Item "lines_count", mit anderen Bedingungen oder Inhalten, neu:
/item recreate lines_count
entfernt das Item "lines_count":
/item del lines_count
----
[[command_weechat_key]]
* `+key+`: Einer Taste einen Befehl zuordnen oder entfernen
@@ -2039,20 +2123,23 @@ Beispiele:
----
[[command_weechat_upgrade]]
* `+upgrade+`: WeeChat Binärdatei neu laden, ohne die Verbindung zum Server zu trennen
* `+upgrade+`: Speichern der WeeChat-Sitzung und laden der WeeChat-Binärdatei, ohne die Verbindung zu Servern zu trennen
----
/upgrade [-yes] [<path_to_binary>|-quit]
/upgrade [-yes] [<path_to_binary>|-save|-quit]
-yes: wird benötigt, sobald Option "weechat.look.confirm_upgrade" aktiviert ist
path_to_binary: Pfad zu einer ausführbaren WeeChat Binärdatei (Standardeinstellung ist die aktuell ausführbare Datei)
-dummy: ohne Funktion (dient lediglich dazu, um nicht versehentlich die "-quit" Funktion auszuführen)
-save: speichert nur die aktuelle Sitzung, WeeChat wird nicht beendet oder neu gestartet. DieKonfigurationsdateien werden hierbei nicht gespeichert (falls dies gewünscht wird, nutze vorher /save)
-quit: trennt *ALLE* Verbindungen, speichert die aktuelle Sitzung und beendet WeeChat, um den aktuellen Zustand später wiederherstellen (siehe unten)
Dieser Befehl führt ein Upgrade von WeeChat durch und startet die laufende Sitzung neu. Bevor dieser Befehl ausgeführt wird, sollte eine neue Version von WeeChat entweder vorab kompiliert, oder mit einem Paketmanager installiert worden sein.
Hinweis: SSL Verbindungen werden während eines Upgrades unterbrochen, da diese Verbindungen zur Zeit nicht mit GnuTLS gehalten werden können. Nach einem erfolgten Upgrade findet eine automatische Verbindung zu diesen Servern statt.
Wichtig: Die Verwendung der Option -save kann gefährlich sein. Für ein Standard-Upgrade oder einen Neustart wird empfohlen, nur den /upgrade (oder mit -quit) Befehl zu nutzen.Mit der Option -save kann eine Sitzung regelmäßig gespeichert und dann wiederhergestellt werden,falls Weechat abnormal beendet wird (Stromausfall, Absturz etc.)
Der Upgrade Vorgang besteht aus vier Schritten:
1. Sicherung der Sitzung, in Dateien für Core und Erweiterungen (buffers, history, ..)
2. alle Erweiterungen werden ausgeschaltet (Konfigurationen *.conf werden gesichert)
@@ -2065,9 +2152,13 @@ Nutzt man die "-quit" Funktion ist die Abfolge geringfügig anders:
3. alle Erweiterungen werden ausgeschaltet
4. die WeeChat Konfiguration wird gesichert
5. WeeChat wird beendet
Die Sitzung kann zu einem späteren Zeitpunkt wiederhergestellt werden: weechat --upgrade
WICHTIG: Die Sitzung muss mit exakt den selben Konfigurationsdateien wiederhergestellt werden (*.conf)
Es ist möglich, die WeeChat-Sitzung auf einem anderen Computer wiederherzustellen, wenn Sie den Inhalt der WeeChat Verzeichnisse kopieren (siehe / debug dirs).
Mit der Option "-save" ist der Ablauf:
1. Die Sitzung wird in Dateien (*.upgrade) gesichert, allerdings mit dem Status das IRC und Client Verbindungen unterbrochen sind (es findet aber keine Trennung der Verbindung statt!)
Durch nutzen von -quit oder -save kann eine Sitzung zu einem späteren Zeitpunkt wiederhergestellt werden:weechat --upgrade
WICHTIG: Die Sitzung muss mit exakt den selben Konfigurationsdateien wiederhergestellt werden (*.conf) und wenn möglich mit der selben Version von WeeChat (oder einer neueren Version).
Es ist möglich, die WeeChat-Sitzung auf einem anderen Computer wiederherzustellen, wenn Sie den Inhalt der WeeChat Verzeichnisse kopieren (siehe /debug dirs).
----
[[command_weechat_uptime]]
@@ -2251,6 +2342,7 @@ Die folgenden Variablen können in den obigen Optionen genutzt werden:
- ${format_hotlist}: die formatierte Hotlist (evaluiert aus Option buflist.format.hotlist)
- ${hotlist}: die Hotlist in der Rohform
- ${hotlist_priority}: "none", "low", "message", "private" oder "highlight"
- ${hotlist_priority_number}: -1 = keine, 0 = niedrig, 1 = Nachricht, 2 = private, 3 = Hervorhebungen
- ${format_lag}: die Verzögerung für einen IRC Server-Buffer, ist leer falls es keine Verzögerung gibt (evaluiert aus Option buflist.format.lag)
- ${format_tls_version}: Indikator der TLS Version für den Serverbuffer, Channels bleiben unberührt (evaluiert aus Option buflist.format.tls_version)
----
@@ -2817,7 +2909,7 @@ protocol.name: Protokoll und Name des Relay:
- Protokoll "weechat" (es wird kein Name verwendet)
Das "irc" Protokoll dient dazu eine Verbindung zu einem anderen IRC Client (oder zu einem zweiten WeeChat) herzustellen.
Das "weechat" Protokoll wird von einem Remote-Interface genutzt um eine Verbindung auf dem Port herzustellen. Siehe https://weechat.org/about/interfaces
Das "weechat" Protokoll wird von einem Remote-Interface genutzt um eine Verbindung auf dem Port herzustellen. Siehe https://weechat.org/about/interfaces/
Ohne Angabe von Argumenten werden alle Relay-Clients in einem neuen Buffer dargestellt.
@@ -2972,7 +3064,7 @@ Beispiele:
----
/spell enable|disable|toggle
listdict
setdict <dict>[,<dict>...]
setdict -|<dict>[,<dict>...]
deldict
addword [<dict>] <word>
@@ -2980,7 +3072,7 @@ Beispiele:
disable: Rechtschreibprüfung wird deaktiviert
toggle: Funktionalität der Rechtschreibprüfung umschalten
listdict: die, auf dem System, installierten Wörterbücher werden aufgelistet
setdict: Wörterbuch für den aktuellen Buffer einstellen (mehrere Wörterbücher müssen durch Kommata getrennt werden)
setdict: Wörterbuch für den aktuellen Buffer einstellen (mehrere Wörterbücher müssen durch Kommata getrennt werden (spezieller Wert "-" deaktiviert die Rechtschreibprüfung für den aktuellen Buffer))
deldict: Wörterbuch für den aktuellen Buffer entfernen
addword: fügt ein Wort in das persönliche Wörterbuch hinzu
@@ -3088,7 +3180,7 @@ post_action: Aktion welche nach der Abarbeitung des Triggers ausgeführt werden
restart: startet Trigger neu (Hook(s) werden neu erstellt)
show: zeigt detaillierte Informationen zu einem Trigger (inklusive einer kleinen Statistik)
del: entfernt einen Trigger
-all: führt eine Aktion aus, die alle Trigger beinhaltet
-all: führt eine Aktion aus, die alle Trigger betrifft
restore: stellt Trigger mit Standardwerten wieder her (funktioniert nur bei vorgegebenen Triggern)
default: stellt die standardmäßigen Trigger wieder her
monitor: öffnet den Trigger Monitor-Buffer, mit optionaler Filterfunktion:
@@ -3102,13 +3194,15 @@ Wenn ein Trigger-Callback aufgerufen wird, dann wird folgende Befehlskette ausge
5. Aktion welche nach der Abarbeitung des Triggers ausgeführt werden soll
Beispiele (die standardmäßig verfügbaren Trigger kann man sich mit "/trigger listdefault" anzeigen lassen):
fügt einer Nachricht die Textattribute *fett*, _unterstrichen_ und /kursiv/ hinzu:
fügt einer Nachricht die Textattribute *fett*, _unterstrichen_ und /kursiv/ hinzu (nur in User-Nachrichten):
/trigger add effects modifier weechat_print "${tg_tag_nick}" "==\*([^ ]+)\*==*${color:bold}${re:1}${color:-bold}*== ==_([^ ]+)_==_${color:underline}${re:1}${color:-underline}_== ==/([^ ]+)/==/${color:italic}${re:1}${color:-italic}/"
verbirgt die Nicklist auf kleineren Terminals:
/trigger add resize_small signal signal_sigwinch "${info:term_width} < 100" "" "/bar hide nicklist"
/trigger add resize_big signal signal_sigwinch "${info:term_width} >= 100" "" "/bar show nicklist"
speichert die Konfiguration jede Stunde ab:
/trigger add cfgsave timer 3600000;0;0 "" "" "/mute /save"
speichert, ohne Ausgabe von Text, eine Weechat-Sitzung um Mitternach (siehe /help upgrade):
/trigger add session_save signal day_changed "" "" "/mute /upgrade -save"
öffnet den Trigger Monitor und zeigt ausschließlich modifier und Trigger an, die mit "resize" im Namen beginnen:
/trigger monitor @modifier,resize*
----
+61 -13
View File
@@ -750,6 +750,12 @@
** Werte: beliebige Zeichenkette
** Standardwert: `+""+`
* [[option_weechat.look.highlight_disable_regex]] *weechat.look.highlight_disable_regex*
** Beschreibung: pass:none[Erweiterter regulärer POSIX-Ausdruck, der verwendet wird, um jede Hervorhebung von einer Nachricht zu verhindern: Diese Option hat eine höhere Priorität als andere Hervorhebungsoptionen (sofern die Zeichenkette in der Nachricht gefunden wird, die Hervorhebung deaktiviert ist und die andereOptionen ignoriert werden), bei regulären Ausdrücken wird die Groß-/Kleinschreibung nicht beachtet (verwenden Sie "(?-i)" am Anfang, um Groß- und Kleinschreibung zu beachten), Beispiele: "<flash.*>", "(?-i)<Flash.*>"]
** Typ: Zeichenkette
** Werte: beliebige Zeichenkette
** Standardwert: `+""+`
* [[option_weechat.look.highlight_regex]] *weechat.look.highlight_regex*
** Beschreibung: pass:none[Suchmuster (erweiterter regulärer POSIX Ausdruck) welches genutzt werden soll, um zu überprüfen ob eine Nachricht ein Highlight enthält oder nicht. Mindestens eine Zeichenkette muss dabei auf das Suchmuster passen (alphanumerisch, "-", "_" oder "|"). Das Suchmuster unterscheidet dabei nicht zwischen Groß-und Kleinschreibung (um zwischen Groß-und Kleinschreibung zu unterscheiden muss am Wortanfang "(?-i)" genutzt werden). Beispiele: "flashcode|flashy", "(?-i)FlashCode|flashy"]
** Typ: Zeichenkette
@@ -1290,12 +1296,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
@@ -1403,7 +1403,7 @@
** Standardwert: `+default+`
* [[option_logger.file.auto_log]] *logger.file.auto_log*
** Beschreibung: pass:none[speichert automatisch den Inhalt eines Buffers in eine Datei (sofern das Protokollieren für den Buffer nicht deaktiviert sein sollte)]
** Beschreibung: pass:none[speichert automatisch den Inhalt eines Buffers in eine Datei (sofern das Protokollieren für den Buffer nicht deaktiviert sein sollte); Falls deaktiviert, wird die Protokollierung für alle Buffer deaktiviert]
** Typ: boolesch
** Werte: on, off
** Standardwert: `+on+`
@@ -1468,6 +1468,24 @@
** Werte: beliebige Zeichenkette
** Standardwert: `+"_"+`
* [[option_logger.file.rotation_compression_level]] *logger.file.rotation_compression_level*
** Beschreibung: pass:none[Komprimierungsstufe für rotierende Protokolldateien (mit Dateierweiterung „.1“, „.2“,etc.), falls die Option logger.file.rotation_compression_type aktiviert ist: 1 = niedrigeKomprimierung / schnell ... 100 = beste Komprimierung / langsam; Der Wert des Prozentsatzes wird umgewandelt in 1-9 für gzip und 1-19 für zstd; der Standardwert wird hierbeiempfohlen, denn er bietet einen guten Kompromiss zwischen Komprimierung und Geschwindigkeit]
** Typ: integer
** Werte: 1 .. 100
** Standardwert: `+20+`
* [[option_logger.file.rotation_compression_type]] *logger.file.rotation_compression_type*
** Beschreibung: pass:none[Komprimierungstyp für rotierende Protokolldateien; wenn "none" genutzt wird, findet keine Komprimierung der Protokolldateien statt; WARNUNG: wenn die Rotation mit einer anderen Stufe der Komprimierung (oder gar keiner Komprimierung) aktiviert wurde, muss zuerst die Logger-Erweiterung beendet werden., dann de-komprimieren Sie die Dateien mit dem neuen Typ, danach muss die Option in der Datei logger.conf angepasst werden, bevor die Logger-Erweiterung neu geladen wird]
** Typ: integer
** Werte: none, gzip, zstd
** Standardwert: `+none+`
* [[option_logger.file.rotation_size_max]] *logger.file.rotation_size_max*
** Beschreibung: pass:none[Wenn diese Größe erreicht ist, wird eine Rotation der Protokolldateien durchgeführt: dievorhandene rotierte Protokolldateien werden umbenannt (.1 wird zu .2, .2 wird zu .3 usw.).Die aktuelle Datei erhält wird umbenannt und erhält .1 als Erweiterung; eine ganze Zahl mitSuffix ist erlaubt: b = Bytes (Standard, wenn keine Einheit angegeben ist), k = Kilobytes, m =Megabyte, g = Gigabyte, t = Terabyte; Beispiel: "2g" bewirkt eine Rotationsobald die Dateigröße > 2.000.000.000 Byte ist; wenn auf „0“ gesetzt, erfolgt keine Rotationder Dateien (unbegrenzte Protokollgröße); WARNUNG: Bevor Sie diese Option ändern,sollte sie zuerst den Komprimierungstyp über die Option logger.file festlegen.rotation_compression_type]
** Typ: Zeichenkette
** Werte: beliebige Zeichenkette
** Standardwert: `+"0"+`
* [[option_logger.file.time_format]] *logger.file.time_format*
** Beschreibung: pass:none[Zeitstempel in Protokoll-Datei nutzen (siehe man strftime, welche Platzhalter für das Datum und die Uhrzeit verwendet werden)]
** Typ: Zeichenkette
@@ -1550,6 +1568,12 @@
** Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen
** Standardwert: `+lightmagenta+`
* [[option_trigger.color.identifier]] *trigger.color.identifier*
** Beschreibung: pass:none[Textfarbe für Trigger-Kontextkennung im Monitorbuffer]
** Typ: Farbe
** Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen
** Standardwert: `+cyan+`
* [[option_trigger.color.regex]] *trigger.color.regex*
** Beschreibung: pass:none[Textfarbe für reguläre Ausdrücke]
** Typ: Farbe
@@ -1777,7 +1801,7 @@
** Standardwert: `+"${buffer.hidden}==0"+`
* [[option_buflist.look.enabled]] *buflist.look.enabled*
** Beschreibung: pass:none[buflist aktivieren]
** Beschreibung: pass:none[Buflist aktivieren; Es wird empfohlen, diese Option zu verwenden, anstatt nur die Bar zu verstecken, da hiermit auch interne Hooks entfernt werden, die nicht benötigt werden, falls die Leiste ausgeblendet wird; Sie können auch den Befehl "/buflist toggle" verwenden oder die Standardtastenbelegung alt+shift+b]
** Typ: boolesch
** Werte: on, off
** Standardwert: `+on+`
@@ -2133,7 +2157,7 @@
** Standardwert: `+cyan+`
* [[option_irc.color.message_chghost]] *irc.color.message_chghost*
** Beschreibung: pass:none[Textfarbe in der chghost Nachrichten dargestellt werden]
** Beschreibung: pass:none[Textfarbe in der "chghost" Nachrichten dargestellt werden]
** Typ: Farbe
** Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen
** Standardwert: `+brown+`
@@ -2156,6 +2180,12 @@
** Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen
** Standardwert: `+red+`
* [[option_irc.color.message_setname]] *irc.color.message_setname*
** Beschreibung: pass:none[Textfarbe in der "setname" Nachrichten dargestellt werden]
** Typ: Farbe
** Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen
** Standardwert: `+brown+`
* [[option_irc.color.mirc_remap]] *irc.color.mirc_remap*
** Beschreibung: pass:none[ersetzt mirc Farben in Nachrichten mittels einer Hashtabelle: Schlüssel sind "fg,bg" als Ganzzahl zwischen -1 (nicht näher bezeichnet) und 15. Als Wert ist der Farbname oder die Farbnummer von WeeChat möglich (Format: "1,-1:Farbe1;2,7:Farbe2"), Beispiel: "1,-1:darkgray;1,2:white,blue" ersetzt schwarz durch "darkgray" und schwarz auf blau durch "white,blue"; Tabelle der Standard-IRC-Farben von WeeChat (in Klammern der Farbname, wie er von WeeChat genutzt wird): 0=weiß (white), 1=schwarz (black), 2=blau (blue), 3=grün (green), 4=hellrot (lightred), 5=rot (red), 6=violett (magenta), 7=braun (brown), 8=gelb (yellow), 9= hell-grün (lightgreen), 10=türkis (cyan), 11=hell-türkis (lightcyan), 12=hellblau (lightblue), 13=hell-violett (lightmagenta), 14=dunkel-grau (darkgray), 15=grau (gray)]
** Typ: Zeichenkette
@@ -2336,6 +2366,12 @@
** Werte: on, off
** Standardwert: `+on+`
* [[option_irc.look.display_pv_nick_change]] *irc.look.display_pv_nick_change*
** Beschreibung: pass:none[Nickänderung im privaten Buffer anzeigen]
** Typ: boolesch
** Werte: on, off
** Standardwert: `+on+`
* [[option_irc.look.display_pv_warning_address]] *irc.look.display_pv_warning_address*
** Beschreibung: pass:none[zeigt eine Warnung in einem privaten Buffer an, sobald sich die Adresse eines Remote-Nick geändert hat; diese Option ist standardmäßig ausgeschaltet, da Server wie bitlbee eine solche Warnung unvermittelt auslösen (die Adresse des Remote-Nick ändert sich während eines Login mehrfach)]
** Typ: boolesch
@@ -2552,6 +2588,12 @@
** Werte: on, off
** Standardwert: `+on+`
* [[option_irc.look.smart_filter_setname]] *irc.look.smart_filter_setname*
** Beschreibung: pass:none[aktiviert einen intelligenten Filter für "setname" Nachrichten]
** Typ: boolesch
** Werte: on, off
** Standardwert: `+on+`
* [[option_irc.look.temporary_servers]] *irc.look.temporary_servers*
** Beschreibung: pass:none[aktiviert die Erstellung von temporären Servern mit dem Befehl /connect]
** Typ: boolesch
@@ -2696,6 +2738,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 +3112,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)]
+2 -2
View File
@@ -1,6 +1,6 @@
// tag::plugin_options[]
Um eine vollständige Dokumentation der Optionen zu erhalten, siehe
https://weechat.org/doc[WeeChat user's guide].
https://weechat.org/doc/[WeeChat user's guide].
Mittels der IRC Erweiterung kann man sich zu einen temporären Server verbinden lassen,
indem man eine URL verwendet:
@@ -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
+1 -1
View File
@@ -63,4 +63,4 @@ include::includes/man.de.adoc[tag=copyright]
== SUPPORT / FEHLER MELDEN
für Hilfe oder um einen Fehler zu melden: https://weechat.org/about/support
für Hilfe oder um einen Fehler zu melden: https://weechat.org/about/support/
+1 -1
View File
@@ -59,4 +59,4 @@ include::includes/man.de.adoc[tag=copyright]
== SUPPORT / FEHLER MELDEN
für Hilfe oder um einen Fehler zu melden: https://weechat.org/about/support
für Hilfe oder um einen Fehler zu melden: https://weechat.org/about/support/
+86 -57
View File
@@ -38,7 +38,8 @@ Aber diese Bedeutung trifft nicht auf WeeChat zu!)
WeeChat ist sehr speicherschonend und besticht durch innovative Funktionen.
Weitere Informationen findet man auf der WeeChat Seite: https://weechat.org/about/features
Weitere Infomationen über Weechat
https://weechat.org/about/features/[features page ^↗^,window=_blank].
[[compilation_install]]
== Kompilierung / Installation
@@ -46,17 +47,17 @@ Weitere Informationen findet man auf der WeeChat Seite: https://weechat.org/abou
[[gui]]
=== Ich habe gehört es gibt verschiedene GUIs für WeeChat. Wie kann ich diese kompilieren bzw. nutzen?
Es sind einige Remote-Oberflächen verfügbar. Diese findet man auf der Homepage:
https://weechat.org/about/interfaces
Einige Remote-GUIs sind verfügbar, siehe
https://weechat.org/about/interfaces/[remote interfaces page ^↗^,window=_blank].
[[compile_git]]
=== Ich kann WeeChat nach Cloning des git Repository nicht kompilieren - weshalb?
Es wird empfohlen link:weechat_user.de.html#compile_with_cmake[CMake] zum
Es wird empfohlen link:weechat_user.de.html#compile_with_cmake[CMake ^↗^,window=_blank] zum
kompilieren von WeeChat zu nutzen.
Falls Du WeeChat mit Hilfe der
link:weechat_user.de.html#compile_with_autotools[autotools] kompilieren solltest
link:weechat_user.de.html#compile_with_autotools[autotools ^↗^,window=_blank] kompilieren solltest
(dich also nicht für CMake entscheidest), stelle sicher, dass Du die neueste
Version von autoconf und automake besitzt.
@@ -69,7 +70,7 @@ das Repository klont und daraus Updates installiert.
[[compile_macos]]
=== Wie installiere ich WeeChat auf macOS?
Wir empfehlen, dass zur Installation https://brew.sh/[Homebrew] genutzt wird.
Wir empfehlen, dass zur Installation https://brew.sh/[Homebrew ^↗^,window=_blank] genutzt wird.
Hilfe erhält man mittels:
----
@@ -87,12 +88,12 @@ brew install weechat
Um Hilfe zu erhalten, nutze den `/help` Befehl.
Jeder Befehl besitzt einen Hilfstext, den man sich durch `/help Befehlsname` anzeigen lassen kann.
Die link:weechat_user.de.html#key_bindings[Standard Tastenbelegung] sowie
link:weechat_user.de.html#commands_and_options[Befehle und Optionen] sind im
link:weechat_user.de.html[Benutzerhandbuch] aufgeführt.
Die link:weechat_user.de.html#key_bindings[Standard Tastenbelegung ^↗^,window=_blank] sowie
link:weechat_user.de.html#commands_and_options[Befehle und Optionen ^↗^,window=_blank] sind im
link:weechat_user.de.html[Benutzerhandbuch ^↗^,window=_blank] aufgeführt.
Neuen Anwendern wird empfohlen,
die link:weechat_quickstart.de.html[Quickstart Anleitung] zu lesen.
die link:weechat_quickstart.de.html[Quickstart Anleitung ^↗^,window=_blank] zu lesen.
[[display]]
== Anzeige
@@ -125,7 +126,7 @@ Es ist deshalb wichtig, *ALLE* der folgenden Lösungsmöglichkeiten zu prüfen:
("`defutf8 on`" in der Datei ~/.screenrc oder `screen -U` beim Starten von
screen).
* Überprüfe die Option
link:weechat_user.de.html#option_weechat.look.eat_newline_glitch[_weechat.look.eat_newline_glitch_]
link:weechat_user.de.html#option_weechat.look.eat_newline_glitch[_weechat.look.eat_newline_glitch_ ^↗^,window=_blank]
(diese Option kann schwerwiegenden Darstellungsfehler verursachen, wenn man die Option aktiviert hat).
[NOTE]
@@ -141,10 +142,10 @@ Dieser Fehler sollte durch glibc 2.22 behoben sein (vielleicht ist diese Version
verwendeten Distributionen noch nicht verfügbar).
Es gibt folgende Übergangslösung, um das Problem mit der _wcwidth_ zu umgehen:
https://blog.nytsoi.net/2015/05/04/emoji-support-for-weechat
https://blog.nytsoi.net/2015/05/04/emoji-support-for-weechat[https://blog.nytsoi.net/2015/05/04/emoji-support-for-weechat ^↗^,window=_blank].
Siehe auch diese Fehlermeldung für weitere Informationen:
https://github.com/weechat/weechat/issues/79
Siehe https://github.com/weechat/weechat/issues/79[bug report ^↗^,window=_blank]
für weitere Informationen.
[[bars_background]]
=== Weshalb haben Bars, z.B. Titel und Status, keine Hintergrundfarbe bzw. diese endet direkt nach dem Text?
@@ -199,7 +200,7 @@ von einem oder mehreren Fenstern gleichzeitig angezeigt werden.
[[buffers_list]]
=== Wie kann ich eine Liste mit den Buffern z.B. auf der linken Seite anzeigen lassen?
Ab WeeChat ≥ 1.8 wird standardmäßig die link:weechat_user.de.html#buflist_plugin["buflist"-Erweiterung]
Ab WeeChat ≥ 1.8 wird standardmäßig die link:weechat_user.de.html#buflist[buflist-Erweiterung ^↗^,window=_blank]
automatisch geladen und verwendet.
Bei älteren Versionen kann stattdessen das Skript _buffers.pl_ installiert werden:
@@ -247,7 +248,7 @@ finden folgende WeeChat-Befehle Anwendung:
[NOTE]
Die Tasten "meta-OP" und "meta-OQ" können im Hinblick auf das jeweils genutzte Terminal variieren.
Um die korrekten Tasten zu finden, sollte man mit kbd:[Alt+k] die gewünschte Tastenkombination einfangen.
Siehe auch: link:weechat_user.de.html#key_bindings_command_line[Benutzerhandbuch / Tastenbelegung].
Siehe auch: link:weechat_user.de.html#key_bindings_command_line[Benutzerhandbuch / Tastenbelegung ^↗^,window=_blank].
[[customize_buflist]]
=== Wie kann ich die Darstellung der Bufferliste anpassen, z.B. die Farbe des aktiven Buffers?
@@ -271,8 +272,8 @@ Es kann auch eine beliebige numerische Farbe anstelle von "Rot" verwendet werden
Die Buflist-Erweiterung bietet viele Optionen, zum individualisieren. Bitte lesen Sie dazu die Hilfe von jeder Option.
Es gibt auch eine Wiki-Seite mit Beispielen, wie eine erweiterte Konfiguration aussehen kann:
https://github.com/weechat/weechat/wiki/buflist
Es gibt zusätzlich die https://github.com/weechat/weechat/wiki/buflist[wiki page ^↗^,window=_blank]
mit Beispielen für die erweiterte buflist Konfiguration.
[[customize_prefix]]
=== Wie kann ich die Länge eines Nicknamens begrenzen oder die Ausrichtung des Nicks im Chatbereich entfernen?
@@ -318,8 +319,8 @@ Diese Farben können mit den Optionen __weechat.color.status_data_*__
Weitere hotlist Eigenschaften können mit Hilfe der Optionen __weechat.look.hotlist_*__
verändert werden.
Siehe link:weechat_user.de.html#screen_layout[Benutzerhandbuch / Screen layout] für
weitere Informationen zur Hotlist.
Siehe link:weechat_user.de.html#screen_layout[Benutzerhandbuch / Screen layout ^↗^,window=_blank]
für weitere Informationen zur Hotlist.
[[input_bar_size]]
=== Wie kann man eine mehrzeilige Eingabezeile einstellen?
@@ -494,8 +495,8 @@ Ab Version ≥ 0.3.5 kann in den Optionen für eine zu nutzende Farbe die entspr
Zahl der Farbe eingetragen werden (optional: mit dem Befehl `/color` kann man einen Alias für
eine Farbe definieren).
Bitte lese link:weechat_user.de.html#colors[Benutzerhandbuch / Farben] für weitere
Informationen die das Farbmanagement betreffen.
Bitte lese link:weechat_user.de.html#colors[Benutzerhandbuch / Farben ^↗^,window=_blank]
für weitere Informationen die das Farbmanagement betreffen.
[[search_text]]
=== Wie kann ich in einem Buffer nach einem Text suchen (vergleichbar /lastlog in irssi)?
@@ -505,8 +506,8 @@ Die Standardtastenbelegung lautet kbd:[Ctrl+r]
Um zu Highlight-Nachrichten zu springen:
kbd:[Alt+p] für vorherige, kbd:[Alt+n] für die nächste Nachricht.
siehe link:weechat_user.de.html#key_bindings[Benutzerhandbuch / Standard Tastenbelegung] für weitere
Informationen zu dieser Funktion.
siehe link:weechat_user.de.html#key_bindings[Benutzerhandbuch / Standard Tastenbelegung ^↗^,window=_blank]
für weitere Informationen zu dieser Funktion.
[[terminal_focus]]
=== Wie kann ich Befehle ausführen, wenn der Terminal (keinen) Fokus hat?
@@ -686,7 +687,7 @@ Es kann auch eine neue Taste eingebunden werden um zu einem Buffer zu wechseln:
----
Eine Auflistung der Standardtastenbelegung findet man in
link:weechat_user.de.html#key_bindings[Benutzerhandbuch / Standard Tastenbelegung].
link:weechat_user.de.html#key_bindings[Benutzerhandbuch / Standard Tastenbelegung ^↗^,window=_blank].
Um zu Buffern zu wechseln die an Position ≥ 100 sind kann ein Trigger definiert
werden um dann z.B. mit einem Kurzbefehl `/123` zum Buffer #123 zu springen:
@@ -865,7 +866,7 @@ ersetzt werden:
----
[[irc_sasl]]
=== Wie kann ich mich vor dem Betreten von Channels identifizieren?
=== Wie kann ich mich vor dem Betreten von Kanälen identifizieren?
Sollte der Server SASL unterstützen,
ist es ratsam auf diese Funktion zurückzugreifen
@@ -878,18 +879,46 @@ und sich nicht mittels "nickserv" zu authentifizieren:
Unterstützt der Server keine SASL Authentifizierung,
kann eine Verzögerung aktiviert werden,
um sich vor dem Betreten von Channels bei "nickserv" zu identifizieren:
um sich vor dem Betreten von Kanälen bei "nickserv" zu identifizieren:
----
/set irc.server.libera.command_delay 5
----
[[edit_autojoin]]
=== Wie kann ich Channels zur autojoin Option entfernen/hinzufügen?
=== Wie kann ich Kanäle zur autojoin Option hinzufügen oder entfernen?
Um die Liste der autojoin Channels zu editieren,
kann der Befehl `/set` genutzt werden.
In folgendem Beispiel wird der "libera"-Server angepasst:
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_dynamic on
----
Für einen einzelnen Server:
----
/set irc.server.libera.autojoin_dynamic on
----
Ab WeeChat ≥ 3.5 kann man mit dem `/autojoin` Befehl den
aktuellen Kanal in die Serveroption autojoin hinzufügen:
----
/autojoin add
----
oder einen beliebigen Kanal:
----
/autojoin add #test
----
Bis WeeChat ≤ 3.4, wird der `/set` Befehl verwendet, um die
Liste der autojoin-Kanäle zu editieren. In folgendem Beispiel
wird der "libera"-Server angepasst:
----
/set irc.server.libera.autojoin [TAB]
@@ -899,16 +928,16 @@ In folgendem Beispiel wird der "libera"-Server angepasst:
Man kann den Namen oder den Wert einer Option mit kbd:[Tab] vervollständigen
oder mittels kbd:[Shift+Tab] eine teilweise Vervollständigung durchführen,
was bei Namen sinnvoll ist, denn so braucht nicht die komplette Liste
der Channels neu geschrieben werden.
der Kanäle neu geschrieben werden.
Es kann auch der `/fset` Befehl verwendet werden, um die Liste der Channels
Es kann auch der `/fset` Befehl verwendet werden, um die Liste der Kanäle
zu editieren:
----
/fset autojoin
----
oder man nutzt ein Skript:
Bis WeeChat ≤ 3.4 kann man auch ein Skript nutzen:
----
/script search autojoin
@@ -918,9 +947,9 @@ oder man nutzt ein Skript:
=== Was ist der Unterschied zwischen dem Befehl /ignore und /filter?
Der Befehl `/ignore` ist ein (clientseitiger) IRC-Befehl und beeinflusst direkt,
welche vom Server empfangenen Nachrichten im IRC-Buffer (Server und Channel) landen.
welche vom Server empfangenen Nachrichten im IRC-Buffer (Server und Kanäle) landen.
Durch diesen Befehl können bestimmte Nicks oder Hostnamen von bestimmten Servern
oder Channels ignoriert werden.
oder Kanäle ignoriert werden.
Der Befehl wird nicht auf den Inhalt eines IRC-Buffers angewandt.
Zutreffende Meldungen werden, bevor sie dem Buffer zugeführt werden,
von der "irc"-Erweiterung gelöscht. Es gibt somit keine Möglichkeit,
@@ -941,7 +970,7 @@ Die voreingestellte Tastenkombination zum Aktivieren bzw. Deaktivieren
aller Filter ist kbd:[Alt+-].
[[filter_irc_join_part_quit]]
=== Wie kann ich join/part/quit Meldungen in den IRC Channels filtern/unterdrücken?
=== Wie kann ich join/part/quit Meldungen in den IRC Kanälen filtern/unterdrücken?
Zum einen mit dem Smart-Filter.
Bei dessen Anwendung werden join/part/quit-Meldungen von Usern angezeigt,
@@ -961,19 +990,19 @@ Dabei werden *alle* join/part/quit Nachrichten unterdrückt:
[NOTE]
Für weitere Hilfe: `/help filter`, `+/help irc.look.smart_filter+` und
link:weechat_user.de.html#irc_smart_filter_join_part_quit[Benutzerhandbuch / einfacher Filter für join/part/quit Nachrichten].
link:weechat_user.de.html#irc_smart_filter_join_part_quit[Benutzerhandbuch / einfacher Filter für join/part/quit Nachrichten ^↗^,window=_blank].
[[filter_irc_join_channel_messages]]
=== Wie kann ich Server-Nachrichten filtern, wenn ich einen IRC Channel betrete?
=== Wie kann ich Server-Nachrichten filtern, wenn ich einen IRC Kanal betrete?
Ab WeeChat ≥ 0.4.1 kann man auswählen, welche Server-Nachrichten beim Betreten
eines Channels angezeigt und welche verborgen werden sollen. Dazu nutzt man
eines Kanals angezeigt und welche verborgen werden sollen. Dazu nutzt man
die Option _irc.look.display_join_message_ (für weitere Informationen, siehe
`+/help irc.look.display_join_message+`).
Um Nachrichten visuell zu verbergen, können diese gefiltert werden.
Dazu wird der Befehl `/filter` auf bestimmte Nachrichten-Tags angewandt.
Das Tag _irc_329_ kennzeichnet beispielsweise das Erstellungsdatum des Channels.
Das Tag _irc_329_ kennzeichnet beispielsweise das Erstellungsdatum des Kanals.
Siehe `/help filter`, um weitere Informationen über die Filterfunktion zu
erhalten.
@@ -988,13 +1017,13 @@ da diese dazu genutzt werden um den Abwesenheitsstatus anderer User anzuzeigen
und man nicht von diesen Mitteilungen überflutet werden möchte,
kann man WeeChat anweisen, abwesende Nicks in einer anderen Farbe darzustellen.
Nutzt man Bitlbee ≥ 3, sollte man im _&bitlbee_ Channel folgendes eingeben:
Nutzt man Bitlbee ≥ 3, sollte man im _&bitlbee_ Kanal folgendes eingeben:
----
channel set show_users online,away
----
für ältere Versionen von Bitlbee gibt man im _&bitlbee_ Channel ein:
für ältere Versionen von Bitlbee gibt man im _&bitlbee_ Kanal ein:
----
set away_devoice false
@@ -1020,12 +1049,12 @@ in welchem Zeitintervall die Überprüfungen auf Abwesenheit stattfinden sollen.
Die Angabe des Wertes erfolgt in Minuten.
Mit der Option _irc.server_default.away_check_max_nicks_ kann festgelegt werden,
in welchen Channels eine Überprüfung stattfinden soll.
Hierbei stellt der angegebene Wert die maximale Anzahl an Nicks in einem Channel dar,
die den Channel gleichzeitig besuchen dürfen.
in welchen Kanälen eine Überprüfung stattfinden soll.
Hierbei stellt der angegebene Wert die maximale Anzahl an Nicks in einem Kanal dar,
die den Kanal gleichzeitig besuchen dürfen.
Im folgenden Beispiel wird der Abwesenheitsstatus alle fünf Minuten überprüft.
Dabei werden aber nur solche Channels berücksichtigt, die nicht mehr als 25
Dabei werden aber nur solche Kanäle berücksichtigt, die nicht mehr als 25
Teilnehmer haben:
----
@@ -1038,7 +1067,7 @@ Für WeeChat ≤ 0.3.3, lauten die Optionen _irc.network.away_check_ und
_irc.network.away_check_max_nicks_.
[[highlight_notification]]
=== Wie kann ich mich benachrichtigen lassen, falls mich jemand in einem Channel direkt anspricht (highlight)?
=== Wie kann ich mich benachrichtigen lassen, falls mich jemand in einem Kanal direkt anspricht (highlight)?
Seit WeeChat ≥ 1.0 gibt es standardmäßig den Trigger "beep",
der an das Terminal ein _BEL_ Signal schickt,
@@ -1071,7 +1100,7 @@ Es gibt weitere Skripten, die auch zu diesem Thema passen:
=== Wie kann ich Highlights (Hervorhebungen) von bestimmten Nicks deaktivieren?
Ab WeeChat ≥ 0.3.4 kann die Eigenschaft
link:weechat_user.de.html#max_hotlist_level_nicks[hotlist_max_level_nicks_add]
link:weechat_user.de.html#max_hotlist_level_nicks[hotlist_max_level_nicks_add ^↗^,window=_blank]
für den entsprechenden Buffer gesetzt werden.
Dies kann für einzelne Nicks,
einen Buffer oder eine Gruppe von Buffern (z.B. IRC Server) gelten.
@@ -1091,7 +1120,7 @@ das Skript _buffer_autoset.py_ nutzen:
/script install buffer_autoset.py
----
Um zum Beispiel Highlights (Hervorhebungen) von Nick "mike" im Channel
Um zum Beispiel Highlights (Hervorhebungen) von Nick "mike" im Kanal
#weechat auf dem IRC Server libera zu deaktivieren:
----
@@ -1284,7 +1313,7 @@ Definiere eine Passphrase und nutze ausschließlich geschützte Daten wann immer
es möglich ist, wie z.B. bei Passwörtern: siehe `/help secure` und nutze `/help`
bei der entsprechenden Option (falls man geschützte Daten nutzen kann, wird es
im Hilfstext erwähnt).
Siehe auch link:weechat_user.de.html#secured_data[Benutzerhandbuch / sensible Daten].
Siehe auch link:weechat_user.de.html#secured_data[Benutzerhandbuch / sensible Daten ^↗^,window=_blank].
Beispiel:
@@ -1305,7 +1334,7 @@ Ihrer Passphrase verschlüsselten Kennwörter enthält.
Einige andere Dateien enthalten möglicherweise vertrauliche Informationen wie
Kennwörter (sofern sie nicht mit dem Befehl `/secure` in _sec.conf_ gesichert werden).
Siehe link:weechat_user.de.html#files_and_directories[Benutzerhandbuch / Dateien und Verzeichnisse]
Siehe link:weechat_user.de.html#files_and_directories[Benutzerhandbuch / Dateien und Verzeichnisse ^↗^,window=_blank]
für weitere Informationen über Konfigurationsdateien.
[[development]]
@@ -1314,7 +1343,7 @@ für weitere Informationen über Konfigurationsdateien.
[[bug_task_patch]]
=== Was kann ich machen, falls ich einen Fehler gefunden habe, mich nach neuen Funktionen erkundigen oder Patches einsenden möchte?
siehe: https://weechat.org/about/support
siehe https://weechat.org/about/support/[this page ^↗^,window=_blank].
[[gdb_error_threads]]
=== Wenn man WeeChat in gdb startet, kann ein Thread-Fehler auftreten. Was beudeutet das?
@@ -1352,11 +1381,11 @@ Das Gleiche gilt für Systeme, zu denen wir keinen Zugang haben.
Es gibt einiges zu tun - z.B. testen, programmieren, dokumentieren, ...
Bitte kontaktiere uns via IRC oder E-Mail, wirf einen Blick auf die Support-Seite:
https://weechat.org/about/support
Bitte kontaktieren Sie uns per IRC oder Mail, siehe
https://weechat.org/about/support/[support page ^↗^,window=_blank].
[[donate]]
=== Kann ich Geld oder anderes an die WeeChat Entwickler spenden?
Du kannst uns Geld zur Unterstützung der weiteren Entwicklung spenden.
Details hierzu gibt es auf: https://weechat.org/donate
Sie können uns Geld spenden, um die Entwicklung zu unterstützen.
Details dazu, unter https://weechat.org/donate/[donation page ^↗^,window=_blank].
+20 -10
View File
@@ -223,11 +223,15 @@ in folgender Option erreicht werden:
/set irc.server.libera.autojoin "#channel1,#channel2"
----
[TIP]
Mittels der kbd:[Tab] Taste kann man sehr einfach Namen und Werte von Optionen
vervollständigen und mittels kbd:[Shift+Tab] kann eine teilweise Vervollständigung
durchgeführt werden (was bei langen Wörtern, wie z.B. dem Namen einer Option, nützlich
sein kann).
Mit dem `/autojoin` Befehl können die _autojoin_ Optionen einfach konfiguriert werden.
(siehe `/help autojoin`).
WeeChat kann auch konfigurieren werden, dass die _autojoin_ Optionen automatisch aktualisiert werden
sobald man Kanäle betritt oder verlässt:
----
/set irc.server_default.autojoin_dynamic on
----
Mit dem Befehl `/unset` können Server-Optionen zurückgesetzt werden.
Ist eine Server-Option zurückgesetzt, _wirkt_ der entsprechende Vorgabewert
@@ -246,6 +250,12 @@ Werte anderer Server-Optionen (`xxx`) können festgelegt werden mit:
/set irc.server.libera.xxx Wert
----
[TIP]
Mittels der kbd:[Tab] Taste kann man sehr einfach Namen und Werte von Optionen
vervollständigen und mittels kbd:[Shift+Tab] kann eine teilweise Vervollständigung
durchgeführt werden (was bei langen Wörtern, wie z.B. dem Namen einer Option, nützlich
sein kann).
[[connect_to_irc_server]]
== Verbinden mit dem IRC-Server
@@ -431,14 +441,14 @@ Zeige eine liste aller verfügbaren Skripten:
/script
----
Auf *weechat.org* von Drittanbietern bereitgestellte Scripten: https://weechat.org/scripts
Eine Liste von Skripten ist in WeeChat mittels `/script` oder auf
https://weechat.org/scripts/[this page ^↗^,window=_blank] verfügbar.
[[more_doc]]
== Weitere Dokumentation
Mit dieser Quickstart-Anleitung wurden dir die wesentlichen
Bedienungswerkzeuge von WeeChat nähergebracht.
Für das eingehende Studium aller verfügbaren Funktionalitäten
sei dir unsere ausführliche FAQ/Dokumentation ans Herz gelegt: https://weechat.org/doc
WeeChat kann nun verwendet werden und lesen Sie
https://weechat.org/doc/[FAQ/documentation ^↗^,window=_blank]
falls Sie weitere Fragen haben.
Viel Spass mit WeeChat!
+192 -144
View File
@@ -17,8 +17,8 @@
Diese Anleitung beschreibt den WeeChat Chat Client und ist Teil von WeeChat.
Die aktuelle Version dieser Anleitung finden Sie auf:
https://weechat.org/doc
Die neueste Version dieses Dokuments finden Sie unter
https://weechat.org/doc/[this page ^↗^,window=_blank].
[[introduction]]
@@ -67,7 +67,7 @@ Ein Skript darf *NIEMALS* einen fork nutzen oder einen eigenen Thread erstellen,
dafür gibt es explizit eine API Funktion, andernfalls kann WeeChat abstürzen. +
Wenn etwas in einem Hintergrundprozess ausgeführt werden soll, kann die Funktion
`+hook_process+` genutzt werden. Siehe Beispiele im Kapitel <<hook_process,Hintergrundprozesse>>
und die Dokumentation für die Funktion `+hook_process+` in link:weechat_plugin_api.en.html#_hook_process[WeeChat plugin API reference] (Englisch).
und die Dokumentation für die Funktion `+hook_process+` in link:weechat_plugin_api.en.html#_hook_process[WeeChat plugin API reference ^↗^,window=_blank] (Englisch).
[[languages_specificities]]
=== Besonderheiten der einzelnen Skriptsprachen
@@ -81,7 +81,7 @@ und die Dokumentation für die Funktion `+hook_process+` in link:weechat_plugin_
WeeChat definiert ein `weechat` Module welches mittels `import weechat`
importiert werden muss. +
Ein Python-Stub für die WeeChat-API ist im Repository verfügbar:
https://raw.githubusercontent.com/weechat/weechat/master/src/plugins/python/weechat.pyi[weechat.pyi].
https://raw.githubusercontent.com/weechat/weechat/master/src/plugins/python/weechat.pyi[weechat.pyi ^↗^,window=_blank].
[[python_functions]]
===== Funktionen
@@ -109,38 +109,38 @@ Liste ist nicht vollständig):
|===
| API Funktion | Argumente | Beispiele| Beschreibung
| hook_modifier |
irc_in_yyy |
pass:[irc_in_privmsg] +
pass:[irc_in_notice] |
Eine Nachricht die von der IRC Erweiterung empfangen wurde und bevor sie nach UTF-8 dekodiert wurde (intern
| hook_modifier
| irc_in_yyy
| pass:[irc_in_privmsg] +
pass:[irc_in_notice]
| Eine Nachricht die von der IRC Erweiterung empfangen wurde und bevor sie nach UTF-8 dekodiert wurde (intern
verwendet). +
+
Es wird empfohlen den Modifier `+irc_in2_yyy+` zu nutzen, da die empfangene Zeichenkette
immer UTF-8 gültig ist. +
siehe Funktion `+hook_modifier+` in der
link:weechat_plugin_api.en.html#_hook_modifier[WeeChat Anleitung für API Erweiterung].
link:weechat_plugin_api.en.html#_hook_modifier[WeeChat Anleitung für API Erweiterung ^↗^,window=_blank].
| hook_signal |
xxx,irc_out_yyy +
xxx,irc_outtags_yyy |
pass:[*,irc_out_privmsg] +
| hook_signal
| xxx,irc_out_yyy +
xxx,irc_outtags_yyy
| pass:[*,irc_out_privmsg] +
pass:[*,irc_out_notice] +
pass:[*,irc_outtags_privmsg] +
pass:[*,irc_outtags_notice] |
Eine Nachricht welche von der IRC Erweiterung versendet wurde, nachdem diese entsprechend
pass:[*,irc_outtags_notice]
| Eine Nachricht welche von der IRC Erweiterung versendet wurde, nachdem diese entsprechend
der Benutzereinstellung `encode` Charset kodiert (falls abweichend von der `UTF-8` Standardeinstellung). +
+
Es wird empfohlen das Signal `+xxx,irc_out1_yyy+` zu nutzen, da die empfangene Zeichenkette
immer UTF-8 gültig ist. +
siehe Funktion `+hook_signal+` in der
link:weechat_plugin_api.en.html#_hook_signal[WeeChat Anleitung für API Erweiterung].
link:weechat_plugin_api.en.html#_hook_signal[WeeChat Anleitung für API Erweiterung ^↗^,window=_blank].
| hook_process +
hook_process_hashtable |
- |
- |
Ausgabe des Befehls, dass an den Callback gesendet wurde, kann ungültige UTF-8 Daten enthalten.
hook_process_hashtable
| -
| -
| Ausgabe des Befehls, dass an den Callback gesendet wurde, kann ungültige UTF-8 Daten enthalten.
|===
@@ -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)
@@ -384,7 +390,7 @@ ein Link in das entsprechende _autoload_ Verzeichnis erzeugt.
Die Skripten API ist nahezu identisch mit der API der C Erweiterung.
Um einen Überblick über alle API Funktionen (Prototyp, Argumente,
Rückgabe werte, Beispiele) zu erhalten werfen Sie einen Blick in
die link:weechat_plugin_api.en.html[WeeChat Plugin API Reference] (Englisch).
die link:weechat_plugin_api.en.html[WeeChat Plugin API Reference ^↗^,window=_blank] (Englisch).
Es ist wichtig das man zwischen einer _Erweiterung_ und einem _Skript_
unterscheidet: Eine _Erweiterung_ ist eine Binärdatei die kompiliert wurde
und mittels `/plugin` geladen wird. Ein _Skript_ ist eine Textdatei welche
@@ -553,25 +559,25 @@ weechat_hook_timer(1000, 0, 1, $timer_cb, 'test');
== Skript API
Um weiterführende Informationen zu den API Funktionen zu erhalten
lesen Sie bitte link:weechat_plugin_api.en.html[WeeChat Plugin API Reference] (Englisch).
lesen Sie bitte link:weechat_plugin_api.en.html[WeeChat Plugin API Reference ^↗^,window=_blank] (Englisch).
[[script_api_functions]]
=== Funktionen
Liste der Skript API Funktionen:
[width="100%",cols="1,3",options="header"]
[width="100%",cols="1,5",options="header"]
|===
| Kategorie | Funktionen
| Allgemein |
register
| Allgemein
| register
| Erweiterungen |
plugin_get_name
| Erweiterungen
| plugin_get_name
| Strings |
charset_set +
| Strings
| charset_set +
iconv_to_internal +
iconv_from_internal +
gettext +
@@ -583,6 +589,7 @@ Liste der Skript API Funktionen:
string_has_highlight_regex +
string_mask_to_regex +
string_format_size +
string_parse_size +
string_color_code_size +
string_remove_color +
string_is_command_char +
@@ -590,13 +597,13 @@ Liste der Skript API Funktionen:
string_eval_expression +
string_eval_path_home
| Verzeichnisse |
mkdir_home +
| Verzeichnisse
| mkdir_home +
mkdir +
mkdir_parents
| sortierte Listen |
list_new +
| sortierte Listen
| list_new +
list_add +
list_search +
list_search_pos +
@@ -612,8 +619,8 @@ Liste der Skript API Funktionen:
list_remove_all +
list_free
| Konfigurationsdatei |
config_new +
| Konfigurationsdatei
| config_new +
config_new_section +
config_search_section +
config_new_option +
@@ -650,20 +657,21 @@ Liste der Skript API Funktionen:
config_set_desc_plugin +
config_unset_plugin
| Tastenbelegung |
key_bind +
| Tastenbelegung
| key_bind +
key_unbind
| Ausgabe |
prefix +
| Ausgabe
| prefix +
color +
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 |
hook_command +
| Hooks
| hook_command +
hook_command_run +
hook_timer +
hook_fd +
@@ -688,8 +696,9 @@ Liste der Skript API Funktionen:
unhook +
unhook_all
| Buffer |
buffer_new +
| Buffer
| buffer_new +
buffer_new_props +
current_buffer +
buffer_search +
buffer_search_main +
@@ -704,16 +713,16 @@ Liste der Skript API Funktionen:
buffer_string_replace_local_var +
buffer_match_list
| Fenster |
current_window +
| Fenster
| current_window +
window_search_with_buffer +
window_get_integer +
window_get_string +
window_get_pointer +
window_set_title
| Nickliste |
nicklist_add_group +
| Nickliste
| nicklist_add_group +
nicklist_search_group +
nicklist_add_nick +
nicklist_search_nick +
@@ -729,8 +738,8 @@ Liste der Skript API Funktionen:
nicklist_nick_get_pointer +
nicklist_nick_set
| Bars |
bar_item_search +
| Bars
| bar_item_search +
bar_item_new +
bar_item_update +
bar_item_remove +
@@ -740,23 +749,23 @@ Liste der Skript API Funktionen:
bar_update +
bar_remove
| Befehle |
command +
| Befehle
| command +
command_options
| Vervollständigung |
completion_new +
| Vervollständigung
| completion_new +
completion_search +
completion_get_string +
completion_list_add +
completion_free
| Informationen |
info_get +
| Informationen
| info_get +
info_get_hashtable
| Infolisten |
infolist_new +
| Infolisten
| infolist_new +
infolist_new_item +
infolist_new_var_integer +
infolist_new_var_string +
@@ -774,8 +783,8 @@ Liste der Skript API Funktionen:
infolist_time +
infolist_free
| hdata |
hdata_get +
| hdata
| hdata_get +
hdata_get_var_offset +
hdata_get_var_type_string +
hdata_get_var_array_size +
@@ -796,8 +805,8 @@ Liste der Skript API Funktionen:
hdata_update +
hdata_get_string
| Upgrade |
upgrade_new +
| Upgrade
| upgrade_new +
upgrade_write_object +
upgrade_read +
upgrade_close
@@ -808,17 +817,17 @@ 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
| return codes |
`WEECHAT_RC_OK` (integer) +
| return codes
| `WEECHAT_RC_OK` (integer) +
`WEECHAT_RC_OK_EAT` (integer) +
`WEECHAT_RC_ERROR` (integer)
| Konfigurationsdatei |
`WEECHAT_CONFIG_READ_OK` (integer) +
| Konfigurationsdatei
| `WEECHAT_CONFIG_READ_OK` (integer) +
`WEECHAT_CONFIG_READ_MEMORY_ERROR` (integer) +
`WEECHAT_CONFIG_READ_FILE_NOT_FOUND` (integer) +
`WEECHAT_CONFIG_WRITE_OK` (integer) +
@@ -833,23 +842,23 @@ Liste der Konstanten in Skript API:
`WEECHAT_CONFIG_OPTION_UNSET_OK_REMOVED` (integer) +
`WEECHAT_CONFIG_OPTION_UNSET_ERROR` (integer)
| sortierte Listen |
`WEECHAT_LIST_POS_SORT` (string) +
| sortierte Listen
| `WEECHAT_LIST_POS_SORT` (string) +
`WEECHAT_LIST_POS_BEGINNING` (string) +
`WEECHAT_LIST_POS_END` (string)
| Hotlist |
`WEECHAT_HOTLIST_LOW` (string) +
| Hotlist
| `WEECHAT_HOTLIST_LOW` (string) +
`WEECHAT_HOTLIST_MESSAGE` (string) +
`WEECHAT_HOTLIST_PRIVATE` (string) +
`WEECHAT_HOTLIST_HIGHLIGHT` (string)
| hook Prozesse |
`WEECHAT_HOOK_PROCESS_RUNNING` (integer) +
| hook Prozesse
| `WEECHAT_HOOK_PROCESS_RUNNING` (integer) +
`WEECHAT_HOOK_PROCESS_ERROR` (integer)
| hook Connect |
`WEECHAT_HOOK_CONNECT_OK` (integer) +
| hook Connect
| `WEECHAT_HOOK_CONNECT_OK` (integer) +
`WEECHAT_HOOK_CONNECT_ADDRESS_NOT_FOUND` (integer) +
`WEECHAT_HOOK_CONNECT_IP_ADDRESS_NOT_FOUND` (integer) +
`WEECHAT_HOOK_CONNECT_CONNECTION_REFUSED` (integer) +
@@ -861,8 +870,8 @@ Liste der Konstanten in Skript API:
`WEECHAT_HOOK_CONNECT_TIMEOUT` (integer) +
`WEECHAT_HOOK_CONNECT_SOCKET_ERROR` (integer)
| hook Signal |
`WEECHAT_HOOK_SIGNAL_STRING` (string) +
| hook Signal
| `WEECHAT_HOOK_SIGNAL_STRING` (string) +
`WEECHAT_HOOK_SIGNAL_INT` (string) +
`WEECHAT_HOOK_SIGNAL_POINTER` (string)
|===
@@ -873,7 +882,7 @@ Liste der Konstanten in Skript API:
Dieses Kapitel beinhaltet einige Aufgaben mit Lösungsbeispielen.
Die Skript API wird dabei nur sehr oberflächlich besprochen.Um eine vollständige
Übersicht aller Befehle zu erhalten nutzen Sie bitte die
link:weechat_plugin_api.en.html[WeeChat Plugin API Reference] (Englisch).
link:weechat_plugin_api.en.html[WeeChat Plugin API Reference ^↗^,window=_blank] (Englisch).
[[buffers]]
=== Buffer
@@ -893,7 +902,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 +1082,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 +1143,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/",
@@ -1123,16 +1159,17 @@ weechat.hook_process("url:https://weechat.org/dev/info/stable/",
----
[TIP]
Alle Informationen die WeeChat betreffen findet man auf: https://weechat.org/dev/info
Alle verfügbaren Informationen über WeeChat findet man unter
https://weechat.org/dev/info/[this page ^↗^,window=_blank].
Beispiel eines URL Transfers, mit zusätzliche Optionen: Es wird das neuste
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",
@@ -1142,7 +1179,7 @@ weechat.hook_process_hashtable("url:https://weechat.org/files/src/weechat-devel.
Für weitere Informationen zum URL Transfer und verfügbare Optionen, siehe Funktionen
`+hook_process+` und `+hook_process_hashtable+` in
link:weechat_plugin_api.en.html#_hook_process[WeeChat plugin API reference] (Englisch).
link:weechat_plugin_api.en.html#_hook_process[WeeChat plugin API reference ^↗^,window=_blank] (Englisch).
[[config_options]]
=== Konfiguration / Optionen
@@ -1298,63 +1335,71 @@ Das Ergebnis ist eine Hashtabelle mit folgenden Schlüsseln
[width="100%",cols="3,^2,10,7",options="header"]
|===
| Schlüssel | Seit WeeChat ^(1)^ | Beschreibung | Beispiel
| Schlüssel | Seit WeeChat ^(1)^ | Beschreibung | Beispiel
| Tags | 0.4.0 |
Tags in der Nachricht (kann leer sein). |
`+time=2015-06-27T16:40:35.000Z+`
| Tags | 0.4.0
| Tags in der Nachricht (kann leer sein).
| `+time=2015-06-27T16:40:35.000Z+`
| tag_xxx | 3.3 |
Wert des Tags "xxx" ohne Escapezeichen (ein Schlüssel pro Tag). |
`+2015-06-27T16:40:35.000Z+`
| tag_xxx | 3.3
| Wert des Tags "xxx" ohne Escapezeichen (ein Schlüssel pro Tag).
| `+2015-06-27T16:40:35.000Z+`
| message_without_tags | 0.4.0 |
Die IRC Nachricht ohne Tags (wie eine Nachricht ohne Tags). |
`+:nick!user@host PRIVMSG #weechat :hello!+`
| message_without_tags | 0.4.0
| Die IRC Nachricht ohne Tags (wie eine Nachricht ohne Tags).
| `+:nick!user@host PRIVMSG #weechat :hello!+`
| nick | 0.3.4 |
der ursprüngliche Nick. |
`+nick+`
| nick | 0.3.4
| der ursprüngliche Nick.
| `+nick+`
| user | 2.7 |
der ursprüngliche Benutzer. |
`+user+`
| user | 2.7
| der ursprüngliche Benutzer.
| `+user+`
| host | 0.3.4 |
der ursprüngliche Host (beinhaltet den Nick). |
`+nick!user@host+`
| host | 0.3.4
| der ursprüngliche Host (beinhaltet den Nick).
| `+nick!user@host+`
| command | 0.3.4 |
der Befehl (_PRIVMSG_, _NOTICE_, ...). |
`+PRIVMSG+`
| command | 0.3.4
| der Befehl (_PRIVMSG_, _NOTICE_, ...).
| `+PRIVMSG+`
| channel | 0.3.4 |
der Zielchanne.l|
| channel | 0.3.4
| der Zielchanne.l|
`+#weechat+`
| arguments | 0.3.4 |
das Argument des Befehls (beinhaltet den Channel). |
`+#weechat :hello!+`
| arguments | 0.3.4
| das Argument des Befehls (beinhaltet den Channel).
| `+#weechat :hello!+`
| text | 1.3 |
der Text (zum Beispiel eine Nachricht eines Users). |
`+hello!+`
| text | 1.3
| der Text (zum Beispiel eine Nachricht eines Users).
| `+hello!+`
| pos_command | 1.3 |
Index von _command_ innerhalb einer Nachricht ("-1" falls _command_ nicht gefunden wird). |
`+47+`
| paramN | 3.4
| Befehlsparameter (von 1 bis N).
| `+#weechat+`
| pos_arguments | 1.3 |
Index von_arguments_ innerhalb einer Nachricht ("-1" falls _arguments_ nicht gefunden wird). |
`+55+`
| num_params | 3.4
| Anzahl der Befehlsparameter.
| `+2+`
| pos_channel | 1.3 |
Index von _channel_ innerhalb einer Nachricht ("-1" falls _channel_ nicht gefunden wird). |
`+55+`
| pos_command | 1.3
| Index von _command_ innerhalb einer Nachricht ("-1" falls _command_ nicht gefunden wird).
| `+47+`
| pos_text | 1.3 |
Index von _text_ innerhalb einer Nachricht ("-1" falls _text_ nicht gefunden wird). |
`+65+`
| pos_arguments | 1.3
| Index von_arguments_ innerhalb einer Nachricht ("-1" falls _arguments_ nicht gefunden wird).
| `+55+`
| pos_channel | 1.3
| Index von _channel_ innerhalb einer Nachricht ("-1" falls _channel_ nicht gefunden wird).
| `+55+`
| pos_text | 1.3
| Index von _text_ innerhalb einer Nachricht ("-1" falls _text_ nicht gefunden wird).
| `+65+`
|===
[NOTE]
@@ -1378,6 +1423,9 @@ dict = weechat.info_get_hashtable(
# "channel": "#weechat",
# "arguments": "#weechat :hello!",
# "text": "hello!",
# "param1": "#weechat",
# "param2": "hello!",
# "num_params": "2",
# "pos_command": "65",
# "pos_arguments": "73",
# "pos_channel": "73",
File diff suppressed because it is too large Load Diff
+4 -3
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
@@ -487,7 +487,8 @@ class AutogenDoc():
f'autogen_{name}.{self.locale[:2]}.adoc',
)
self.filename_tmp = f'{self.filename}.tmp'
self._file = open(self.filename_tmp, 'w')
# pylint: disable=consider-using-with
self._file = open(self.filename_tmp, 'w', encoding='utf-8')
def write_autogen_files(self, weechat_doc):
"""Write auto-generated files."""
@@ -782,7 +783,7 @@ class AutogenDoc():
self.write('// tag::url_options[]')
self.write('[width="100%",cols="2,^1,7",options="header"]')
self.write('|===')
self.write('| %s | %s ^(1)^ | %s ^(2)^\n',
self.write('| %s | %s ^(1)^ | %s ^(2)^\n',
_('Option'), _('Type'), _('Constants'))
for option in url_options:
constants = option['constants']
+17 -8
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>
@@ -9,10 +9,11 @@
@media (prefers-color-scheme: dark) {
/* dark theme */
:root {
color-scheme: dark;
--body-bg-color: #1a1a1a;
--body-color: #ddd;
--body-font: system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";
--link-color: #8aceff;
--body-font: system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";
--link-color: #7abeef;
--table-thead-tfoot: #252525;
--th-color: #fff;
--toc-bg-color: #252525;
@@ -21,6 +22,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;
@@ -39,10 +41,11 @@
@media (not (prefers-color-scheme: dark)), (prefers-color-scheme: light) {
/* light theme */
:root {
color-scheme: light;
--body-bg-color: ##fff;
--body-color: #353535;
--body-font: system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";
--link-color: #1d4b8f;
--body-font: system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";
--link-color: #3d6baf;
--table-thead-tfoot: #f7f8f7;
--th-color: #000;
--toc-bg-color: #f8f8f7;
@@ -52,6 +55,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;
@@ -86,6 +90,7 @@ h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 {
a:link, a:visited, #header .details span.email a {
color: var(--link-color);
text-decoration: none;
}
table thead, table tfoot {
@@ -134,6 +139,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 +199,7 @@ mark {
/* syntax highlighting tuning */
pre.pygments .tok-cp {
color: #ed4848;
color: #44cfaf;
}
pre.pygments .tok-nc, pre.pygments .tok-nf {
@@ -218,8 +227,8 @@ h1, h2, h3, h4, h5 {
}
.literalblock pre {
font-family: monospace, 'Courier New', Courier;
line-height: normal;
font-family: "DejaVu Sans Mono", "Liberation Mono", "Lucida Console", monospace, 'Courier New', Courier;
line-height: inherit;
}
kbd {
+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
@@ -92,6 +94,8 @@
| tcl | tcl_script | list of scripts
| trigger | trigger_add_arguments | arguments for command that adds a trigger: trigger name, hooks, hook arguments, hook conditions, hook regex, hook command, hook return code, post actions
| trigger | trigger_hook_arguments | default arguments for a hook
| trigger | trigger_hook_command | default command for a hook
@@ -146,6 +150,14 @@
| weechat | cursor_areas | areas ("chat" or bar name) for free cursor movement
| weechat | custom_bar_item_add_arguments | arguments for command that adds a custom bar item: item name, conditions, content
| weechat | custom_bar_item_conditions | conditions for custom bar item
| weechat | custom_bar_item_contents | contents for custom bar item
| weechat | custom_bar_items_names | names of custom bar items
| weechat | env_value | value of an environment variable
| weechat | env_vars | environment variables
@@ -631,6 +631,8 @@ _text_search_input_   (string) +
_highlight_words_   (string) +
_highlight_regex_   (string) +
_highlight_regex_compiled_   (pointer) +
_highlight_disable_regex_   (string) +
_highlight_disable_regex_compiled_   (pointer) +
_highlight_tags_restrict_   (string) +
_highlight_tags_restrict_count_   (integer) +
_highlight_tags_restrict_array_   (pointer, array_size: "highlight_tags_restrict_count") +
@@ -128,6 +128,8 @@
| weechat | uptime | WeeChat uptime (format: "days:hh:mm:ss") | "days" (number of days) or "seconds" (number of seconds) (optional)
| weechat | uptime_current | WeeChat uptime for the current process only (upgrades with /upgrade command are ignored) (format: "days:hh:mm:ss") | "days" (number of days) or "seconds" (number of seconds) (optional)
| weechat | version | WeeChat version | -
| weechat | version_git | WeeChat git version (output of command "git describe" for a development version only, empty for a stable release) | -
@@ -6,7 +6,7 @@
// tag::url_options[]
[width="100%",cols="2,^1,7",options="header"]
|===
| Option | Type ^(1)^ | Constants ^(2)^
| Option | Type ^(1)^ | Constants ^(2)^
| verbose | long |
+132 -38
View File
@@ -123,6 +123,36 @@ 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>...]]
apply
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
apply: set 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
/allchan /autojoin add
/autojoin addraw #chan1,#chan2,#chan3 key1,key2
/autojoin del
/autojoin del #chan1
/autojoin apply
/autojoin sort
----
[[command_irc_ban]]
* `+ban+`: ban nicks or hosts
@@ -146,7 +176,7 @@ Without argument, this command displays the ban list for current channel.
ls: list the capabilities supported by the server
list: list the capabilities currently enabled
req: request a capability
req: request a new capability or remove a capability (if starting with "-", for example: "-multi-prefix")
ack: acknowledge capabilities which require client-side acknowledgement
end: end the capability negotiation
@@ -157,8 +187,14 @@ Capabilities supported by WeeChat are: account-notify, away-notify, cap-notify,
The capabilities to automatically enable on servers can be set in option irc.server_default.capabilities (or by server in option irc.server.xxx.capabilities).
Examples:
/cap
/cap req multi-prefix away-notify
display supported and enabled capabilities:
/cap
request capabilities multi-prefix and away-notify:
/cap req multi-prefix away-notify
request capability extended-join, remove capability multi-prefix:
/cap req extended-join -multi-prefix
remove capability away-notify:
/cap req -away-notify
----
[[command_irc_connect]]
@@ -1302,8 +1338,8 @@ Examples:
----
/debug list
set <plugin> <level>
dump [<plugin>]
buffer|color|infolists|libs|certs|memory|tags|term|windows
dump|hooks [<plugin>]
buffer|certs|color|dirs|infolists|libs|memory|tags|term|windows
mouse|cursor [verbose]
hdata [free]
time <command>
@@ -1313,15 +1349,15 @@ Examples:
plugin: name of plugin ("core" for WeeChat core)
level: debug level for plugin (0 = disable debug)
dump: save memory dump in WeeChat log file (same dump is written when WeeChat crashes)
hooks: display infos about hooks (with a plugin: display detailed info about hooks created by the plugin)
buffer: dump buffer content with hexadecimal values in log file
certs: display number of loaded trusted certificate authorities
color: display infos about current color pairs
cursor: toggle debug for cursor mode
dirs: display directories
hdata: display infos about hdata (with free: remove all hdata in memory)
hooks: display infos about hooks
infolists: display infos about infolists
libs: display infos about external libraries used
certs: display number of loaded trusted certificate authorities
memory: display infos about memory usage
mouse: toggle debug for mouse
tags: display tags for lines
@@ -1379,28 +1415,30 @@ Some variables are replaced in expression, using the format ${variable}, variabl
3. an evaluated sub-string (format: "eval:xxx")
4. an evaluated condition (format: "eval_cond:xxx")
5. a string with escaped chars (format: "esc:xxx" or "\xxx")
6. a string with chars to hide (format: "hide:char,string")
7. a string with max chars (format: "cut:max,suffix,string" or "cut:+max,suffix,string")
6. a string converted to lower case (format: "lower:xxx")
7. a string converted to upper case (format: "upper:xxx")
8. a string with chars to hide (format: "hide:char,string")
9. a string with max chars (format: "cut:max,suffix,string" or "cut:+max,suffix,string")
or max chars displayed on screen (format: "cutscr:max,suffix,string" or "cutscr:+max,suffix,string")
8. a reversed string (format: "rev:xxx" or "revscr:xxx")
9. a repeated string (format: "repeat:count,string")
10. length of a string (format: "length:xxx" or "lengthscr:xxx")
11. split of a string (format: "split:number,separators,flags,xxx")
12. split of shell argmuents (format: "split_shell:number,xxx")
13. a color (format: "color:xxx", see "Plugin API reference", function "color")
14. a modifier (format: "modifier:name,data,string")
15. an info (format: "info:name,arguments", arguments are optional)
16. a base 16/32/64 encoded/decoded string (format: "base_encode:base,xxx" or "base_decode:base,xxx")
17. current date/time (format: "date" or "date:format")
18. an environment variable (format: "env:XXX")
19. a ternary operator (format: "if:condition?value_if_true:value_if_false")
20. result of an expression with parentheses and operators + - * / // % ** (format: "calc:xxx")
21. a random integer number (format: "random:min,max")
22. a translated string (format: "translate:xxx")
23. define a user variable (format: "define:name,value")
24. an option (format: "file.section.option")
25. a local variable in buffer
26. a hdata name/variable (the value is automatically converted to string), by default "window" and "buffer" point to current window/buffer.
10. a reversed string (format: "rev:xxx" or "revscr:xxx")
11. a repeated string (format: "repeat:count,string")
12. length of a string (format: "length:xxx" or "lengthscr:xxx")
13. split of a string (format: "split:number,separators,flags,xxx")
14. split of shell argmuents (format: "split_shell:number,xxx")
15. a color (format: "color:xxx", see "Plugin API reference", function "color")
16. a modifier (format: "modifier:name,data,string")
17. an info (format: "info:name,arguments", arguments are optional)
18. a base 16/32/64 encoded/decoded string (format: "base_encode:base,xxx" or "base_decode:base,xxx")
19. current date/time (format: "date" or "date:format")
20. an environment variable (format: "env:XXX")
21. a ternary operator (format: "if:condition?value_if_true:value_if_false")
22. result of an expression with parentheses and operators + - * / // % ** (format: "calc:xxx")
23. a random integer number (format: "random:min,max")
24. a translated string (format: "translate:xxx")
25. define a user variable (format: "define:name,value")
26. an option (format: "file.section.option")
27. a local variable in buffer
28. a hdata name/variable (the value is automatically converted to string), by default "window" and "buffer" point to current window/buffer.
Format for hdata can be one of following:
hdata.var1.var2...: start with a hdata (pointer must be known), and ask variables one after one (other hdata can be followed)
hdata[list].var1.var2...: start with a hdata using a list/pointer/pointer name, for example:
@@ -1423,6 +1461,8 @@ Examples (simple strings):
/eval -n ${window.buffer.full_name} ==> core.weechat
/eval -n ${window.buffer.number} ==> 1
/eval -n ${\t} ==> <tab>
/eval -n ${lower:TEST} ==> test
/eval -n ${upper:test} ==> TEST
/eval -n ${hide:-,${relay.network.password}} ==> --------
/eval -n ${cut:3,+,test} ==> tes+
/eval -n ${cut:+3,+,test} ==> te+
@@ -1468,7 +1508,7 @@ Examples (conditions):
add|addreplace <name> <buffer>[,<buffer>...] <tags> <regex>
rename <name> <new_name>
recreate <name>
del <name>|-all
del <name>|-all [<name>...]
list: list all filters
enable: enable filters (filters are enabled by default)
@@ -1574,6 +1614,7 @@ list of actions:
delete_previous_char: delete previous char
delete_next_char: delete next char
delete_previous_word: delete previous word
delete_previous_word_whitespace: delete previous word (until whitespace)
delete_next_word: delete next word
delete_beginning_of_line: delete from beginning of line until cursor
delete_end_of_line: delete from cursor until end of line
@@ -1617,6 +1658,49 @@ list of actions:
This command is used by key bindings or plugins.
----
[[command_weechat_item]]
* `+item+`: manage custom bar items
----
/item list
add|addreplace <name> "<conditions>" "<content>"
rename <name> <new_name>
refresh <name> [<name>...]
recreate <name>
del <name>|-all
list: list all custom bar items
add: add a custom bar item
addreplace: add or replace an existing custom bar item
name: custom bar item name
conditions: evaluated conditions to display the bar item (for example to display the bar item only in specific buffers)
content: content (evaluated, see /help eval)
rename: rename a custom bar item
refresh: update content of item in all bars where the item is displayed; any item can be refreshed: default/plugin/custom bar items
recreate: set input with the command used to edit the custom bar item
del: delete a custom bar item
-all: delete all custom bar items
Examples:
add item with terminal size, displayed only in buffers with number = 1:
/item add terminfo "${buffer.number} == 1" "term:${info:term_width}x${info:term_height}"
add item with buffer info:
/item add bufinfo "" "${buffer.number}:${buffer.name}${if:${buffer.zoomed}?(Z)}"
add item with date/time using format "Dec 25, 12:34 +0100", refreshed every minute:
/item add datetime "" "${date:%b %d, %H:%M %z}"
/trigger add datetime_refresh timer "60000;60" "" "" "/item refresh datetime"
add item with number of lines in buffer (displayed/total), refreshed each time a new line is displayed or if filtered lines have changed:
/item add lines_count "" "${calc:${buffer.lines.lines_count}-${buffer.lines.lines_hidden}}/${buffer.lines.lines_count} lines"
/trigger add lines_count_refresh_print print "" "" "" "/item refresh lines_count"
/trigger add lines_count_refresh_signal signal "window_switch;buffer_switch;buffer_lines_hidden;filters_*" "" "" "/item refresh lines_count"
force refresh of item "lines_count":
/item refresh lines_count
recreate item "lines_count" with different conditions or content:
/item recreate lines_count
delete item "lines_count":
/item del lines_count
----
[[command_weechat_key]]
* `+key+`: bind/unbind keys
@@ -2039,19 +2123,22 @@ Examples:
----
[[command_weechat_upgrade]]
* `+upgrade+`: reload the WeeChat binary without disconnecting from servers
* `+upgrade+`: save WeeChat session and reload the WeeChat binary without disconnecting from servers
----
/upgrade [-yes] [<path_to_binary>|-quit]
/upgrade [-yes] [<path_to_binary>|-save|-quit]
-yes: required if option "weechat.look.confirm_upgrade" is enabled
path_to_binary: path to WeeChat binary (default is current binary)
-dummy: do nothing (option used to prevent accidental completion with "-quit")
-save: only save the session, do not quit nor reload WeeChat; the configuration files are not saved (if needed you can use /save before this command)
-quit: close *ALL* connections, save session and quit WeeChat, which makes possible a delayed restoration (see below)
This command upgrades and reloads a running WeeChat session. The new WeeChat binary must have been compiled or installed with a package manager before running this command.
Note: SSL connections are lost during upgrade, because reload of SSL sessions is currently not possible with GnuTLS. There is automatic reconnection after upgrade.
Note: SSL connections are lost during upgrade (except with -save), because the reload of SSL sessions is currently not possible with GnuTLS. There is automatic reconnection after upgrade.
Important: use of option -save can be dangerous, it is recommended to use only /upgrade (or with -quit) for a standard upgrade and a restart; the option -save can be used to save the session regularly and restore it in case of after abnormal exit (power outage, crash, etc.)
Upgrade process has 4 steps:
1. save session into files for core and plugins (buffers, history, ..)
@@ -2059,14 +2146,18 @@ Upgrade process has 4 steps:
3. save WeeChat configuration (weechat.conf)
4. execute new WeeChat binary and reload session.
With option "-quit", the process is slightly different:
With option "-quit", the process is:
1. close *ALL* connections (irc, xfer, relay, ...)
2. save session into files (*.upgrade)
3. unload all plugins
4. save WeeChat configuration
5. quit WeeChat
Then later you can restore session with command: weechat --upgrade
IMPORTANT: you must restore the session with exactly same configuration (files *.conf).
With option "-save", the process is:
1. save session into files (*.upgrade) with a disconnected state for IRC servers and Relay clients (but no disconnection is made)
With -quit or -save, you can restore the session later with this command: weechat --upgrade
IMPORTANT: you must restore the session with exactly same configuration (files *.conf) and if possible the same WeeChat version (or a more recent one).
It is possible to restore WeeChat session on another machine if you copy the content of WeeChat home directories (see /debug dirs).
----
@@ -2251,6 +2342,7 @@ The following variables can be used in these options:
- ${format_hotlist}: the formatted hotlist (evaluation of option buflist.format.hotlist)
- ${hotlist}: the raw hotlist
- ${hotlist_priority}: "none", "low", "message", "private" or "highlight"
- ${hotlist_priority_number}: -1 = none, 0 = low, 1 = message, 2 = private, 3 = highlight
- ${format_lag}: the lag for an IRC server buffer, empty if there's no lag (evaluation of option buflist.format.lag)
- ${format_tls_version}: indicator of TLS version for a server buffer, empty for channels (evaluation of option buflist.format.tls_version)
----
@@ -2817,7 +2909,7 @@ protocol.name: protocol and name to relay:
- protocol "weechat" (name is not used)
The "irc" protocol allows any IRC client (including WeeChat itself) to connect on the port.
The "weechat" protocol allows a remote interface to connect on the port, see the list here: https://weechat.org/about/interfaces
The "weechat" protocol allows a remote interface to connect on the port, see the list here: https://weechat.org/about/interfaces/
Without argument, this command opens buffer with list of relay clients.
@@ -2972,7 +3064,7 @@ Examples:
----
/spell enable|disable|toggle
listdict
setdict <dict>[,<dict>...]
setdict -|<dict>[,<dict>...]
deldict
addword [<dict>] <word>
@@ -2980,7 +3072,7 @@ Examples:
disable: disable spell checker
toggle: toggle spell checker
listdict: show installed dictionaries
setdict: set dictionary for current buffer (multiple dictionaries can be separated by a comma)
setdict: set dictionary for current buffer (multiple dictionaries can be separated by a comma, the special value "-" disables spell checking on current buffer)
deldict: delete dictionary used on current buffer
addword: add a word in personal dictionary
@@ -3109,6 +3201,8 @@ Examples (you can also look at default triggers with /trigger listdefault):
/trigger add resize_big signal signal_sigwinch "${info:term_width} >= 100" "" "/bar show nicklist"
silently save config each hour:
/trigger add cfgsave timer 3600000;0;0 "" "" "/mute /save"
silently save WeeChat session at midnight (see /help upgrade):
/trigger add session_save signal day_changed "" "" "/mute /upgrade -save"
open trigger monitor and show only modifiers and triggers whose name starts with "resize":
/trigger monitor @modifier,resize*
----
+61 -13
View File
@@ -750,6 +750,12 @@
** values: any string
** default value: `+""+`
* [[option_weechat.look.highlight_disable_regex]] *weechat.look.highlight_disable_regex*
** description: pass:none[POSIX extended regular expression used to prevent any highlight from a message: this option has higher priority over other highlight options (if the string is found in the message, the highlight is disabled and the other options are ignored), regular expression is case insensitive (use "(?-i)" at beginning to make it case sensitive), examples: "<flash.*>", "(?-i)<Flash.*>"]
** type: string
** values: any string
** default value: `+""+`
* [[option_weechat.look.highlight_regex]] *weechat.look.highlight_regex*
** description: pass:none[POSIX extended regular expression used to check if a message has highlight or not, at least one match in string must be surrounded by delimiters (chars different from: alphanumeric, "-", "_" and "|"), regular expression is case insensitive (use "(?-i)" at beginning to make it case sensitive), examples: "flashcode|flashy", "(?-i)FlashCode|flashy"]
** type: string
@@ -1290,12 +1296,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
@@ -1403,7 +1403,7 @@
** default value: `+default+`
* [[option_logger.file.auto_log]] *logger.file.auto_log*
** description: pass:none[automatically save content of buffers to files (unless a buffer disables log)]
** description: pass:none[automatically save content of buffers to files (unless a buffer disables log); if disabled, logging is disabled on all buffers]
** type: boolean
** values: on, off
** default value: `+on+`
@@ -1468,6 +1468,24 @@
** values: any string
** default value: `+"_"+`
* [[option_logger.file.rotation_compression_level]] *logger.file.rotation_compression_level*
** description: pass:none[compression level for rotated log files (with extension ".1", ".2", etc.), if option logger.file.rotation_compression_type is enabled: 1 = low compression / fast ... 100 = best compression / slow; the value is a percentage converted to 1-9 for gzip and 1-19 for zstd; the default value is recommended, it offers a good compromise between compression and speed]
** type: integer
** values: 1 .. 100
** default value: `+20+`
* [[option_logger.file.rotation_compression_type]] *logger.file.rotation_compression_type*
** description: pass:none[compression type for rotated log files; if set to "none", rotated log files are not compressed; WARNING: if rotation was enabled with another type of compression (or no compression), you must first unload the logger plugin, compress files with the new type (or decompress files), then change the option in logger.conf, then load the logger plugin]
** type: integer
** values: none, gzip, zstd
** default value: `+none+`
* [[option_logger.file.rotation_size_max]] *logger.file.rotation_size_max*
** description: pass:none[when this size is reached, a rotation of log files is performed: the existing rotated log files are renamed (.1 becomes .2, .2 becomes .3, etc.) and the current file is renamed with extension .1; an integer number with a suffix is allowed: b = bytes (default if no unit given), k = kilobytes, m = megabytes, g = gigabytes, t = terabytes; example: "2g" causes a rotation if the file size is > 2,000,000,000 bytes; if set to "0", no rotation is performed (unlimited log size); WARNING: before changing this option, you should first set the compression type via option logger.file.rotation_compression_type]
** type: string
** values: any string
** default value: `+"0"+`
* [[option_logger.file.time_format]] *logger.file.time_format*
** description: pass:none[timestamp used in log files (see man strftime for date/time specifiers)]
** type: string
@@ -1550,6 +1568,12 @@
** values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "*" for bold, "!" for reverse, "/" for italic, "_" for underline
** default value: `+lightmagenta+`
* [[option_trigger.color.identifier]] *trigger.color.identifier*
** description: pass:none[text color for trigger context identifier in monitor buffer]
** type: color
** values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "*" for bold, "!" for reverse, "/" for italic, "_" for underline
** default value: `+cyan+`
* [[option_trigger.color.regex]] *trigger.color.regex*
** description: pass:none[text color for regular expressions]
** type: color
@@ -1777,7 +1801,7 @@
** default value: `+"${buffer.hidden}==0"+`
* [[option_buflist.look.enabled]] *buflist.look.enabled*
** description: pass:none[enable buflist]
** description: pass:none[enable buflist; it is recommended to use this option instead of just hiding the bar because it also removes some internal hooks that are not needed any more when the bar is hidden; you can also use the command "/buflist toggle" or use the default key alt+shift+b]
** type: boolean
** values: on, off
** default value: `+on+`
@@ -2133,7 +2157,7 @@
** default value: `+cyan+`
* [[option_irc.color.message_chghost]] *irc.color.message_chghost*
** description: pass:none[color for text in chghost messages]
** description: pass:none[color for text in "chghost" messages]
** type: color
** values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "*" for bold, "!" for reverse, "/" for italic, "_" for underline
** default value: `+brown+`
@@ -2156,6 +2180,12 @@
** values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "*" for bold, "!" for reverse, "/" for italic, "_" for underline
** default value: `+red+`
* [[option_irc.color.message_setname]] *irc.color.message_setname*
** description: pass:none[color for text in "setname" messages]
** type: color
** values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "*" for bold, "!" for reverse, "/" for italic, "_" for underline
** default value: `+brown+`
* [[option_irc.color.mirc_remap]] *irc.color.mirc_remap*
** description: pass:none[remap mirc colors in messages using a hashtable: keys are "fg,bg" as integers between -1 (not specified) and 15, values are WeeChat color names or numbers (format is: "1,-1:color1;2,7:color2"), example: "1,-1:darkgray;1,2:white,blue" to remap black to "darkgray" and black on blue to "white,blue"; default WeeChat colors for IRC codes: 0=white, 1=black, 2=blue, 3=green, 4=lightred, 5=red, 6=magenta, 7=brown, 8=yellow, 9=lightgreen, 10=cyan, 11=lightcyan, 12=lightblue, 13=lightmagenta, 14=darkgray, 15=gray]
** type: string
@@ -2336,6 +2366,12 @@
** values: on, off
** default value: `+on+`
* [[option_irc.look.display_pv_nick_change]] *irc.look.display_pv_nick_change*
** description: pass:none[display nick change in private]
** type: boolean
** values: on, off
** default value: `+on+`
* [[option_irc.look.display_pv_warning_address]] *irc.look.display_pv_warning_address*
** description: pass:none[display a warning in private buffer if the address of remote nick has changed; this option is disabled by default because servers like bitlbee are causing this warning to be displayed when it is not expected (the address of remote nick changes multiple times on login)]
** type: boolean
@@ -2552,6 +2588,12 @@
** values: on, off
** default value: `+on+`
* [[option_irc.look.smart_filter_setname]] *irc.look.smart_filter_setname*
** description: pass:none[enable smart filter for "setname" messages]
** type: boolean
** values: on, off
** default value: `+on+`
* [[option_irc.look.temporary_servers]] *irc.look.temporary_servers*
** description: pass:none[enable automatic addition of temporary servers with command /connect]
** type: boolean
@@ -2696,6 +2738,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 +3112,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)]
+2 -2
View File
@@ -1,6 +1,6 @@
// tag::plugin_options[]
For complete doc on plugin options, please look at plugins documentation in
https://weechat.org/doc[WeeChat user's guide].
https://weechat.org/doc/[WeeChat user's guide].
With irc plugin, you can connect to temporary server with an URL like:
@@ -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
+1 -1
View File
@@ -60,4 +60,4 @@ include::includes/man.en.adoc[tag=copyright]
== SUPPORT / REPORTING BUGS
For help or a bug report: https://weechat.org/about/support
For help or a bug report: https://weechat.org/about/support/
+1 -1
View File
@@ -57,4 +57,4 @@ include::includes/man.en.adoc[tag=copyright]
== SUPPORT / REPORTING BUGS
For help or a bug report: https://weechat.org/about/support
For help or a bug report: https://weechat.org/about/support/
+125 -26
View File
@@ -10,8 +10,8 @@
This manual documents WeeChat chat client, it is part of WeeChat.
Latest version of this document can be found on this page:
https://weechat.org/doc
Latest version of this document can be found on
https://weechat.org/doc/[this page ^↗^,window=_blank].
[[introduction]]
@@ -31,8 +31,8 @@ This manual documents WeeChat internals:
[[repositories]]
== Repositories
WeeChat repositories are on GitHub organization "weechat":
https://github.com/weechat
WeeChat repositories are on GitHub organization
https://github.com/weechat[weechat ^↗^,window=_blank].
List of repositories:
@@ -43,7 +43,7 @@ scripts::
the _official_ scripts submitted on weechat.org
weechat.org::
source of WeeChat website: https://weechat.org/
source of https://weechat.org/[WeeChat website ^↗^,window=_blank]
weercd::
IRC testing server
@@ -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,7 +422,12 @@ 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-bar-window.cpp | Tests: bar window functions.
|          test-gui-buffer.cpp | Tests: buffer functions.
|          test-gui-chat.cpp | Tests: chat functions.
|          test-gui-color.cpp | Tests: colors.
|          test-gui-filter.cpp | Tests: filters.
|          test-gui-input.cpp | Tests: input functions.
|          test-gui-line.cpp | Tests: lines.
|          test-gui-nick.cpp | Tests: nicks.
|       plugins/ | Root of unit tests for plugins.
@@ -430,12 +437,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.
@@ -444,6 +455,9 @@ WeeChat "core" is located in following directories:
|             test-typing-status.cpp | Tests: typing status.
|          relay/ | Root of unit tests for Relay plugin.
|             test-relay-auth.cpp | Tests: clients authentication.
|          xfer/ | Root of unit tests for Xfer plugin.
|             test-xfer-file.cpp | Tests: file functions.
|             test-xfer-network.cpp | Tests: network functions.
|===
[[documentation_translations]]
@@ -459,13 +473,13 @@ Documentation files:
|    docgen.py | Python script to build auto-generated files in _includes/_ directory (see below).
|    XX/ | Documentation for language XX (languages: en, fr, de, it, ...).
|       weechat.1.XX.adoc | Man page (`man weechat`).
|       weechat_dev.XX.adoc | link:weechat_dev.en.html[Developer's guide] (this document).
|       weechat_faq.XX.adoc | link:weechat_faq.en.html[FAQ].
|       weechat_plugin_api.XX.adoc | link:weechat_plugin_api.en.html[Plugin API reference].
|       weechat_quickstart.XX.adoc | link:weechat_quickstart.en.html[Quickstart guide].
|       weechat_relay_protocol.XX.adoc | link:weechat_relay_protocol.en.html[Relay protocol] (for remote interfaces).
|       weechat_scripting.XX.adoc | link:weechat_scripting.en.html[Scripting guide].
|       weechat_user.XX.adoc | link:weechat_user.en.html[User's guide].
|       weechat_dev.XX.adoc | link:weechat_dev.en.html[Developer's guide ^↗^,window=_blank] (this document).
|       weechat_faq.XX.adoc | link:weechat_faq.en.html[FAQ ^↗^,window=_blank].
|       weechat_plugin_api.XX.adoc | link:weechat_plugin_api.en.html[Plugin API reference ^↗^,window=_blank].
|       weechat_quickstart.XX.adoc | link:weechat_quickstart.en.html[Quickstart guide ^↗^,window=_blank].
|       weechat_relay_protocol.XX.adoc | link:weechat_relay_protocol.en.html[Relay protocol ^↗^,window=_blank] (for remote interfaces).
|       weechat_scripting.XX.adoc | link:weechat_scripting.en.html[Scripting guide ^↗^,window=_blank].
|       weechat_user.XX.adoc | link:weechat_user.en.html[User's guide ^↗^,window=_blank].
|       includes/ | Files included in documentation.
|          autogen_api_completions.XX.adoc | Auto-generated file for Plugin API reference: completions (do *NEVER* update manually!).
|          autogen_api_hdata.XX.adoc | Auto-generated file for Plugin API reference: hdata (do *NEVER* update manually!).
@@ -515,7 +529,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.
*
@@ -730,7 +744,7 @@ new_hook_fd = malloc (sizeof (*new_hook_fd));
[[coding_python_style]]
=== Python style
See https://www.python.org/dev/peps/pep-0008/
See https://www.python.org/dev/peps/pep-0008/[PEP 8 ^↗^,window=_blank].
[[core_internals]]
== Core internals
@@ -931,10 +945,10 @@ All combinations are summarized in this table:
| [hex]#19# + `B` + `EXT` | [hex]#19# `+B@00124+` | chat + bars | Set background (extended color).
| [hex]#19# + `*` + `(ATTR)STD` | [hex]#19# `+*05+` | chat + bars | Set foreground (WeeChat color).
| [hex]#19# + `*` + `(ATTR)EXT` | [hex]#19# `+*@00214+` | chat + bars | Set foreground (extended color).
| [hex]#19# + `*` + `(ATTR)STD` + `,` + `STD` ^(1)^ | [hex]#19# `+*08,05+` | chat + bars | Set foreground/background (WeeChat colors).
| [hex]#19# + `*` + `(ATTR)STD` + `,` + `EXT` ^(1)^ | [hex]#19# `+*01,@00214+` | chat + bars | Set foreground (WeeChat color) and background (extended color).
| [hex]#19# + `*` + `(ATTR)EXT` + `,` + `STD` ^(1)^ | [hex]#19# `+*@00214,05+` | chat + bars | Set foreground (extended color) and background (WeeChat color).
| [hex]#19# + `*` + `(ATTR)EXT` + `,` + `EXT` ^(1)^ | [hex]#19# `+*@00214,@00017+` | chat + bars | Set foreground/background (extended colors).
| [hex]#19# + `*` + `(ATTR)STD` + `,` + `STD` ^(1)^ | [hex]#19# `+*08,05+` | chat + bars | Set foreground/background (WeeChat colors).
| [hex]#19# + `*` + `(ATTR)STD` + `,` + `EXT` ^(1)^ | [hex]#19# `+*01,@00214+` | chat + bars | Set foreground (WeeChat color) and background (extended color).
| [hex]#19# + `*` + `(ATTR)EXT` + `,` + `STD` ^(1)^ | [hex]#19# `+*@00214,05+` | chat + bars | Set foreground (extended color) and background (WeeChat color).
| [hex]#19# + `*` + `(ATTR)EXT` + `,` + `EXT` ^(1)^ | [hex]#19# `+*@00214,@00017+` | chat + bars | Set foreground/background (extended colors).
| [hex]#19# + `*` + `(ATTR)STD` + `~` + `STD` | [hex]#19# `+*08~05+` | chat + bars | Set foreground/background (WeeChat colors).
| [hex]#19# + `*` + `(ATTR)STD` + `~` + `EXT` | [hex]#19# `+*01~@00214+` | chat + bars | Set foreground (WeeChat color) and background (extended color).
| [hex]#19# + `*` + `(ATTR)EXT` + `~` + `STD` | [hex]#19# `+*@00214~05+` | chat + bars | Set foreground (extended color) and background (WeeChat color).
@@ -1106,7 +1120,7 @@ server->hook_timer_sasl = weechat_hook_timer (timeout * 1000,
[[git_repository]]
=== Git repository
Git repository is at this URL: https://github.com/weechat/weechat
Git repository is on https://github.com/weechat/weechat[GitHub ^↗^,window=_blank].
Any patch for bug or new feature must be done on master branch, preferred way
is a GitHub pull request. A patch can also be sent by e-mail
@@ -1120,11 +1134,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 +1236,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
@@ -1171,8 +1270,8 @@ $ make translations && make update-po
Then you can edit .po files (if you can translate in a language).
When done, you *have* to check your file with script _msgcheck.py_
(https://github.com/flashcode/msgcheck):
When done, you *have* to check your file with
https://github.com/flashcode/msgcheck[msgcheck ^↗^,window=_blank]:
----
$ msgcheck.py xx.po
+67 -35
View File
@@ -32,7 +32,8 @@ apply to WeeChat!).
Because WeeChat is very light and brings innovating features.
More info on the WeeChat features page: https://weechat.org/about/features
More info on the WeeChat
https://weechat.org/about/features/[features page ^↗^,window=_blank].
[[compilation_install]]
== Compilation / install
@@ -40,16 +41,17 @@ More info on the WeeChat features page: https://weechat.org/about/features
[[gui]]
=== I've heard about many GUIs for WeeChat. How can I compile/use them?
Some remote GUIs are available, see the remote interfaces page:
https://weechat.org/about/interfaces
Some remote GUIs are available, see the
https://weechat.org/about/interfaces/[remote interfaces page ^↗^,window=_blank].
[[compile_git]]
=== I can't compile WeeChat after cloning git repository, why?
The recommended way to compile WeeChat is with
link:weechat_user.en.html#compile_with_cmake[CMake].
link:weechat_user.en.html#compile_with_cmake[CMake ^↗^,window=_blank].
If you're compiling with link:weechat_user.en.html#compile_with_autotools[autotools]
If you're compiling with
link:weechat_user.en.html#compile_with_autotools[autotools ^↗^,window=_blank]
(and not CMake), check that you have latest version of autoconf and automake.
The other way is to install the "devel package", which needs less dependencies.
@@ -60,7 +62,8 @@ than git cloning for installing updates.
[[compile_macos]]
=== How can I install WeeChat on macOS?
It is recommended to use https://brew.sh/[Homebrew], you can get help with:
It is recommended to use https://brew.sh/[Homebrew ^↗^,window=_blank],
you can get help with:
----
brew info weechat
@@ -76,12 +79,12 @@ brew install weechat
=== I've launched WeeChat, but I'm lost, what can I do?
For help you can type `/help`. For help about a command, type `/help command`.
link:weechat_user.en.html#key_bindings[Keys] and
link:weechat_user.en.html#commands_and_options[commands] are listed
in documentation.
link:weechat_user.en.html#key_bindings[Keys ^↗^,window=_blank] and
link:weechat_user.en.html#commands_and_options[commands ^↗^,window=_blank]
are listed in documentation.
It's recommended for new users to read the
link:weechat_quickstart.en.html[Quickstart guide].
link:weechat_quickstart.en.html[Quickstart guide ^↗^,window=_blank].
[[display]]
== Display
@@ -109,7 +112,7 @@ It's a common issue with a variety of causes, please read carefully and check
** If you are using screen, check that it is run with UTF-8 mode
("`defutf8 on`" in ~/.screenrc or `screen -U` to run screen).
* Check that option
link:weechat_user.en.html#option_weechat.look.eat_newline_glitch[_weechat.look.eat_newline_glitch_]
link:weechat_user.en.html#option_weechat.look.eat_newline_glitch[_weechat.look.eat_newline_glitch_ ^↗^,window=_blank]
is off (this option may cause display bugs).
[NOTE]
@@ -124,10 +127,10 @@ This may be caused by a libc bug in function _wcwidth_, which should be fixed
in glibc 2.22 (maybe not yet available in your distribution).
There is a workaround to use the fixed _wcwidth_ function:
https://blog.nytsoi.net/2015/05/04/emoji-support-for-weechat
https://blog.nytsoi.net/2015/05/04/emoji-support-for-weechat[https://blog.nytsoi.net/2015/05/04/emoji-support-for-weechat ^↗^,window=_blank]
See this bug report for more information:
https://github.com/weechat/weechat/issues/79
See this https://github.com/weechat/weechat/issues/79[bug report ^↗^,window=_blank]
for more information.
[[bars_background]]
=== Bars like title and status are not filled, background color stops after text, why?
@@ -184,7 +187,8 @@ windows.
[[buffers_list]]
=== How to display the buffers list on the left side?
With WeeChat ≥ 1.8, the plugin link:weechat_user.en.html#buflist_plugin[buflist]
With WeeChat ≥ 1.8, the plugin
link:weechat_user.en.html#buflist[buflist ^↗^,window=_blank]
is loaded and enabled by default.
With an older version, you can install script _buffers.pl_:
@@ -252,8 +256,8 @@ like `237` for dark gray.
The buflist plugin provides lot of options that you can customize, please read
the help on each option.
There's also a wiki page with examples of advanced buflist configuration:
https://github.com/weechat/weechat/wiki/buflist
There's also a https://github.com/weechat/weechat/wiki/buflist[wiki page ^↗^,window=_blank]
with examples of advanced buflist configuration.
[[customize_prefix]]
=== How can I reduce length of nicks or remove nick alignment in chat area?
@@ -296,8 +300,8 @@ These colors can be changed with the options __weechat.color.status_data_*__
(buffers) and __weechat.color.status_count_*__ (counters). +
Other hotlist options can be changed with the options __weechat.look.hotlist_*__.
See link:weechat_user.en.html#screen_layout[User's guide / Screen layout] for
more info about the hotlist.
See link:weechat_user.en.html#screen_layout[User's guide / Screen layout ^↗^,window=_blank]
for more info about the hotlist.
[[input_bar_size]]
=== How to use command line with more than one line?
@@ -462,8 +466,8 @@ For version 0.3.4, you must use command `/color` to add new colors.
For versions ≥ 0.3.5, you can use any color number in options (optional: you
can add color aliases with command `/color`).
Please read the link:weechat_user.en.html#colors[User's guide / Colors] for more
information about colors management.
Please read the link:weechat_user.en.html#colors[User's guide / Colors ^↗^,window=_blank]
for more information about colors management.
[[search_text]]
=== How can I search text in buffer (like /lastlog in irssi)?
@@ -471,8 +475,8 @@ information about colors management.
The default key is kbd:[Ctrl+r] (command is: `+/input search_text_here+`).
And jump to highlights: kbd:[Alt+p] / kbd:[Alt+n].
See link:weechat_user.en.html#key_bindings[User's guide / Key bindings] for more
info about this feature.
See link:weechat_user.en.html#key_bindings[User's guide / Key bindings ^↗^,window=_blank]
for more info about this feature.
[[terminal_focus]]
=== How can I execute commands when terminal gets/loses focus?
@@ -645,7 +649,7 @@ You can bind a key, for example:
----
List of default keys is in
link:weechat_user.en.html#key_bindings[User's guide / Key bindings].
link:weechat_user.en.html#key_bindings[User's guide / Key bindings ^↗^,window=_blank].
To jump to buffers with number ≥ 100, you could define a trigger and then use
commands like `/123` to jump to buffer #123:
@@ -829,8 +833,36 @@ join of channels):
[[edit_autojoin]]
=== How can I add/remove channels from autojoin option?
You can use the `/set` command to edit the list of autojoin channels,
for example for the "libera" server:
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_dynamic on
----
For a single server:
----
/set irc.server.libera.autojoin_dynamic on
----
With WeeChat ≥ 3.5, you can also add the current channel in the "autojoin"
server option using the `/autojoin` command:
----
/autojoin add
----
Or another channel:
----
/autojoin add #test
----
With WeeChat ≤ 3.4, you can use the `/set` command to edit the list of autojoin
channels, for example for the "libera" server:
----
/set irc.server.libera.autojoin [TAB]
@@ -847,7 +879,7 @@ You can also use the `/fset` command to edit the list of channels:
/fset autojoin
----
Another solution is to use a script:
With WeeChat ≤ 3.4, another solution is to use a script:
----
/script search autojoin
@@ -887,7 +919,7 @@ With a global filter (hide *all* join/part/quit):
[NOTE]
For help: `/help filter`, `+/help irc.look.smart_filter+` and see
link:weechat_user.en.html#irc_smart_filter_join_part_quit[User's guide / Smart filter for join/part/quit messages].
link:weechat_user.en.html#irc_smart_filter_join_part_quit[User's guide / Smart filter for join/part/quit messages ^↗^,window=_blank].
[[filter_irc_join_channel_messages]]
=== How can I filter some messages displayed when I join an IRC channel?
@@ -985,7 +1017,7 @@ Other scripts on this subject:
=== How can I disable highlights for specific nicks?
With WeeChat ≥ 0.3.4 you can use the
link:weechat_user.en.html#max_hotlist_level_nicks[hotlist_max_level_nicks_add]
link:weechat_user.en.html#max_hotlist_level_nicks[hotlist_max_level_nicks_add ^↗^,window=_blank]
buffer property to set the max hotlist level for some nicks, per buffer,
or per group of buffers (like IRC servers).
@@ -1188,7 +1220,7 @@ Unload and disable auto-loading of "xfer" plugin (used for IRC DCC):
Define a passphrase and use secured data wherever you can for sensitive data
like passwords: see `/help secure` and `/help` on options
(if you can use secured data, it is written in the help).
See also link:weechat_user.en.html#secured_data[User's guide / Secured data].
See also link:weechat_user.en.html#secured_data[User's guide / Secured data ^↗^,window=_blank].
For example:
@@ -1209,7 +1241,7 @@ contains your passwords ciphered with your passphrase.
Some other files may contain sensitive info like passwords (if they are not
stored in _sec.conf_ with the `/secure` command).
See the link:weechat_user.en.html#files_and_directories[User's guide / Files and directories]
See the link:weechat_user.en.html#files_and_directories[User's guide / Files and directories ^↗^,window=_blank]
for more information about configuration files.
[[development]]
@@ -1218,7 +1250,7 @@ for more information about configuration files.
[[bug_task_patch]]
=== How should I report bugs, ask for new features or send patches?
See: https://weechat.org/about/support
See https://weechat.org/about/support/[this page ^↗^,window=_blank].
[[gdb_error_threads]]
=== When I run WeeChat under gdb, there is an error about threads, what can I do?
@@ -1254,11 +1286,11 @@ some OS' we don't have, to test WeeChat.
There are many tasks to do (testing, code, documentation, etc.)
Please contact us via IRC or mail, look at support page:
https://weechat.org/about/support
Please contact us via IRC or mail, look at
https://weechat.org/about/support/[support page ^↗^,window=_blank].
[[donate]]
=== Can I give money or other things to WeeChat developers?
You can give us money to help development.
Details on https://weechat.org/donate
Details on https://weechat.org/donate/[donation page ^↗^,window=_blank].
File diff suppressed because it is too large Load Diff
+19 -8
View File
@@ -194,10 +194,15 @@ To auto-join some channels when connecting to server:
/set irc.server.libera.autojoin "#channel1,#channel2"
----
[TIP]
You can complete name and value of options with the kbd:[Tab] key
and kbd:[Shift+Tab] for a partial completion (useful for long words like
the name of option).
The `/autojoin` command lets you configure the _autojoin_ option easily
(see `/help autojoin`).
You can also configure WeeChat to automatically update the _autojoin_ option
when you join or leave channels:
----
/set irc.server_default.autojoin_dynamic on
----
To remove a value of a server option, and use the default value instead,
for example to use default nicks (irc.server_default.nicks):
@@ -213,6 +218,11 @@ option name):
/set irc.server.libera.xxx value
----
[TIP]
You can complete name and value of options with the kbd:[Tab] key
and kbd:[Shift+Tab] for a partial completion (useful for long words like
the name of option).
[[connect_to_irc_server]]
== Connect to IRC server
@@ -370,13 +380,14 @@ for example:
See `/help script` for more info.
A list of scripts is available in WeeChat with `/script` or at this URL:
https://weechat.org/scripts
A list of scripts is available in WeeChat with `/script` or on
https://weechat.org/scripts/[this page ^↗^,window=_blank].
[[more_doc]]
== More documentation
You can now use WeeChat and read FAQ/documentation for any other questions:
https://weechat.org/doc
You can now use WeeChat and read
https://weechat.org/doc/[FAQ/documentation ^↗^,window=_blank]
for any other questions.
Enjoy using WeeChat!
+90 -84
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 ^↗^,window=_blank] _(WeeChat ≥ 0.3.7)_
*** _zstd_: compress with https://facebook.github.io/zstd/[Zstandard ^↗^,window=_blank]:
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 ^↗^,window=_blank]
** _zstd_: messages are compressed with https://facebook.github.io/zstd/[Zstandard ^↗^,window=_blank]
[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,14 +271,14 @@ htb: {
'password_hash_iterations': '100000',
'totp': 'on',
'nonce': '85B1EE00695A5B254E14F4885538DF0D',
'compression': 'off',
'compression': 'zstd',
}
----
[[command_init]]
=== init
_Updated in versions 2.4, 2.8, 2.9._
_Updated in versions 2.4, 2.8, 2.9, 3.5._
Authenticate with _relay_.
@@ -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
@@ -690,6 +691,8 @@ inl:
text_search_found: 0
text_search_input: None
highlight_words: None
highlight_disable_regex: None
highlight_disable_regex_compiled: '0x0'
highlight_regex: None
highlight_regex_compiled: '0x0'
highlight_tags_restrict: None
@@ -992,7 +995,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 +1263,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 +1382,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 ^↗^,window=_blank]
** _0x02_: following data is compressed with https://facebook.github.io/zstd/[Zstandard ^↗^,window=_blank]
* _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 +1393,10 @@ 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 ^↗^,window=_blank] or
https://facebook.github.io/zstd/[Zstandard ^↗^,window=_blank],
and therefore must be uncompressed before being processed.
[[message_identifier]]
=== Identifier
@@ -1405,68 +1411,68 @@ WeeChat reserved identifiers:
[width="100%",cols="5m,5,3,4,7",options="header"]
|===
| Identifier | Received with _sync_ | Data sent |
Description | Recommended action in client
| Identifier | Received with _sync_ | Data sent
| Description | Recommended action in client
| _buffer_opened | buffers / buffer | hdata: buffer |
Buffer opened. | Open buffer.
| _buffer_opened | buffers / buffer | hdata: buffer
| Buffer opened. | Open buffer.
| _buffer_type_changed | buffers / buffer | hdata: buffer |
Type of buffer changed. | Change type of buffer.
| _buffer_type_changed | buffers / buffer | hdata: buffer
| Type of buffer changed. | Change type of buffer.
| _buffer_moved | buffers / buffer | hdata: buffer |
Buffer moved. | Move buffer.
| _buffer_moved | buffers / buffer | hdata: buffer
| Buffer moved. | Move buffer.
| _buffer_merged | buffers / buffer | hdata: buffer |
Buffer merged. | Merge buffer.
| _buffer_merged | buffers / buffer | hdata: buffer
| Buffer merged. | Merge buffer.
| _buffer_unmerged | buffers / buffer | hdata: buffer |
Buffer unmerged. | Unmerge buffer.
| _buffer_unmerged | buffers / buffer | hdata: buffer
| Buffer unmerged. | Unmerge buffer.
| _buffer_hidden | buffers / buffer | hdata: buffer |
Buffer hidden. | Hide buffer.
| _buffer_hidden | buffers / buffer | hdata: buffer
| Buffer hidden. | Hide buffer.
| _buffer_unhidden | buffers / buffer | hdata: buffer |
Buffer unhidden. | Unhide buffer.
| _buffer_unhidden | buffers / buffer | hdata: buffer
| Buffer unhidden. | Unhide buffer.
| _buffer_renamed | buffers / buffer | hdata: buffer |
Buffer renamed. | Rename buffer.
| _buffer_renamed | buffers / buffer | hdata: buffer
| Buffer renamed. | Rename buffer.
| _buffer_title_changed | buffers / buffer | hdata: buffer |
Title of buffer changed. | Change title of buffer.
| _buffer_title_changed | buffers / buffer | hdata: buffer
| Title of buffer changed. | Change title of buffer.
| _buffer_localvar_added | buffers / buffer | hdata: buffer |
Local variable added. | Add local variable in buffer.
| _buffer_localvar_added | buffers / buffer | hdata: buffer
| Local variable added. | Add local variable in buffer.
| _buffer_localvar_changed | buffers / buffer | hdata: buffer |
Local variable changed. | Change local variable in buffer.
| _buffer_localvar_changed | buffers / buffer | hdata: buffer
| Local variable changed. | Change local variable in buffer.
| _buffer_localvar_removed | buffers / buffer | hdata: buffer |
Local variable removed. | Remove local variable from buffer.
| _buffer_localvar_removed | buffers / buffer | hdata: buffer
| Local variable removed. | Remove local variable from buffer.
| _buffer_closing | buffers / buffer | hdata: buffer |
Buffer closing. | Close buffer.
| _buffer_closing | buffers / buffer | hdata: buffer
| Buffer closing. | Close buffer.
| _buffer_cleared | buffer | hdata: buffer |
Buffer cleared. | Clear buffer.
| _buffer_cleared | buffer | hdata: buffer
| Buffer cleared. | Clear buffer.
| _buffer_line_added | buffer | hdata: line |
Line added in buffer. | Display line in buffer.
| _buffer_line_added | buffer | hdata: line
| Line added in buffer. | Display line in buffer.
| _nicklist | nicklist | hdata: nicklist_item |
Nicklist for a buffer. | Replace nicklist.
| _nicklist | nicklist | hdata: nicklist_item
| Nicklist for a buffer. | Replace nicklist.
| _nicklist_diff | nicklist | hdata: nicklist_item |
Nicklist diffs for a buffer . | Update nicklist.
| _nicklist_diff | nicklist | hdata: nicklist_item
| Nicklist diffs for a buffer . | Update nicklist.
| _pong | (always) | string: ping arguments |
Answer to a "ping". | Measure response time.
| _pong | (always) | string: ping arguments
| Answer to a "ping". | Measure response time.
| _upgrade | upgrade | (empty) |
WeeChat is upgrading. | Desync from WeeChat (or disconnect).
| _upgrade | upgrade | (empty)
| WeeChat is upgrading. | Desync from WeeChat (or disconnect).
| _upgrade_ended | upgrade | (empty) |
Upgrade of WeeChat done. | Sync/resync with WeeChat.
| _upgrade_ended | upgrade | (empty)
| Upgrade of WeeChat done. | Sync/resync with WeeChat.
|===
[[message_buffer_opened]]
@@ -2331,7 +2337,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
+193 -145
View File
@@ -11,8 +11,8 @@
This manual documents WeeChat chat client, it is part of WeeChat.
Latest version of this document can be found on this page:
https://weechat.org/doc
Latest version of this document can be found on
https://weechat.org/doc/[this page ^↗^,window=_blank].
[[introduction]]
@@ -61,7 +61,7 @@ function, this can crash WeeChat. +
If something must be run in background, the function `+hook_process+` can be used.
See example in the chapter <<hook_process,Run a background process>>
and the documentation on the function `+hook_process+` in the
link:weechat_plugin_api.en.html#_hook_process[WeeChat plugin API reference].
link:weechat_plugin_api.en.html#_hook_process[WeeChat plugin API reference ^↗^,window=_blank].
[[languages_specificities]]
=== Languages specificities
@@ -74,7 +74,7 @@ link:weechat_plugin_api.en.html#_hook_process[WeeChat plugin API reference].
WeeChat defines a `weechat` module which must be imported with `import weechat`. +
A Python stub for WeeChat API is available in the repository:
https://raw.githubusercontent.com/weechat/weechat/master/src/plugins/python/weechat.pyi[weechat.pyi].
https://raw.githubusercontent.com/weechat/weechat/master/src/plugins/python/weechat.pyi[weechat.pyi ^↗^,window=_blank].
[[python_functions]]
===== Functions
@@ -99,38 +99,38 @@ receive a string of type `str` or `bytes` (this list is not exhaustive):
|===
| API function | Arguments | Examples | Description
| hook_modifier |
irc_in_yyy |
pass:[irc_in_privmsg] +
pass:[irc_in_notice] |
A message received in IRC plugin, before it is decoded to UTF-8 (used
| hook_modifier
| irc_in_yyy
| pass:[irc_in_privmsg] +
pass:[irc_in_notice]
| A message received in IRC plugin, before it is decoded to UTF-8 (used
internally). +
+
It is recommended to use modifier `+irc_in2_yyy+` instead, the string received
is always UTF-8 valid. +
See function `+hook_modifier+` in the
link:weechat_plugin_api.en.html#_hook_modifier[WeeChat plugin API reference].
link:weechat_plugin_api.en.html#_hook_modifier[WeeChat plugin API reference ^↗^,window=_blank].
| hook_signal |
xxx,irc_out_yyy +
xxx,irc_outtags_yyy |
pass:[*,irc_out_privmsg] +
| hook_signal
| xxx,irc_out_yyy +
xxx,irc_outtags_yyy
| pass:[*,irc_out_privmsg] +
pass:[*,irc_out_notice] +
pass:[*,irc_outtags_privmsg] +
pass:[*,irc_outtags_notice] |
A message sent by IRC plugin, after it is encoded to the `encode` charset
pass:[*,irc_outtags_notice]
| A message sent by IRC plugin, after it is encoded to the `encode` charset
defined by the user (if different from the default `UTF-8`). +
+
It is recommended to use signal `+xxx,irc_out1_yyy+` instead, the string received
is always UTF-8 valid. +
See function `+hook_signal+` in the
link:weechat_plugin_api.en.html#_hook_signal[WeeChat plugin API reference].
link:weechat_plugin_api.en.html#_hook_signal[WeeChat plugin API reference ^↗^,window=_blank].
| hook_process +
hook_process_hashtable |
- |
- |
Output of the command, sent to the callback, can contain invalid UTF-8 data.
hook_process_hashtable
| -
| -
| Output of the command, sent to the callback, can contain invalid UTF-8 data.
|===
@@ -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)
@@ -370,7 +376,7 @@ directory is automatically created.
== Differences with C API
Script API is almost the same as C plugin API.
You can look at link:weechat_plugin_api.en.html[WeeChat plugin API reference]
You can look at link:weechat_plugin_api.en.html[WeeChat plugin API reference ^↗^,window=_blank]
for detail about each function in API: prototype, arguments, return values, examples.
It's important to make difference between a _plugin_ and a _script_: a
@@ -537,25 +543,25 @@ weechat_hook_timer(1000, 0, 1, $timer_cb, 'test');
== Script API
For more information about functions in API, please read the
link:weechat_plugin_api.en.html[WeeChat plugin API reference].
link:weechat_plugin_api.en.html[WeeChat plugin API reference ^↗^,window=_blank].
[[script_api_functions]]
=== Functions
List of functions in script API:
[width="100%",cols="1,3",options="header"]
[width="100%",cols="1,5",options="header"]
|===
| Category | Functions
| general |
register
| general
| register
| plugins |
plugin_get_name
| plugins
| plugin_get_name
| strings |
charset_set +
| strings
| charset_set +
iconv_to_internal +
iconv_from_internal +
gettext +
@@ -567,6 +573,7 @@ List of functions in script API:
string_has_highlight_regex +
string_mask_to_regex +
string_format_size +
string_parse_size +
string_color_code_size +
string_remove_color +
string_is_command_char +
@@ -574,13 +581,13 @@ List of functions in script API:
string_eval_expression +
string_eval_path_home
| directories |
mkdir_home +
| directories
| mkdir_home +
mkdir +
mkdir_parents
| sorted lists |
list_new +
| sorted lists
| list_new +
list_add +
list_search +
list_search_pos +
@@ -596,8 +603,8 @@ List of functions in script API:
list_remove_all +
list_free
| configuration files |
config_new +
| configuration files
| config_new +
config_new_section +
config_search_section +
config_new_option +
@@ -634,20 +641,21 @@ List of functions in script API:
config_set_desc_plugin +
config_unset_plugin
| key bindings |
key_bind +
| key bindings
| key_bind +
key_unbind
| display |
prefix +
| display
| prefix +
color +
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 |
hook_command +
| hooks
| hook_command +
hook_command_run +
hook_timer +
hook_fd +
@@ -672,8 +680,9 @@ List of functions in script API:
unhook +
unhook_all
| buffers |
buffer_new +
| buffers
| buffer_new +
buffer_new_props +
current_buffer +
buffer_search +
buffer_search_main +
@@ -688,16 +697,16 @@ List of functions in script API:
buffer_string_replace_local_var +
buffer_match_list
| windows |
current_window +
| windows
| current_window +
window_search_with_buffer +
window_get_integer +
window_get_string +
window_get_pointer +
window_set_title
| nicklist |
nicklist_add_group +
| nicklist
| nicklist_add_group +
nicklist_search_group +
nicklist_add_nick +
nicklist_search_nick +
@@ -713,8 +722,8 @@ List of functions in script API:
nicklist_nick_get_pointer +
nicklist_nick_set
| bars |
bar_item_search +
| bars
| bar_item_search +
bar_item_new +
bar_item_update +
bar_item_remove +
@@ -724,23 +733,23 @@ List of functions in script API:
bar_update +
bar_remove
| commands |
command +
| commands
| command +
command_options
| completion |
completion_new +
| completion
| completion_new +
completion_search +
completion_get_string +
completion_list_add +
completion_free
| infos |
info_get +
| infos
| info_get +
info_get_hashtable
| infolists |
infolist_new +
| infolists
| infolist_new +
infolist_new_item +
infolist_new_var_integer +
infolist_new_var_string +
@@ -758,8 +767,8 @@ List of functions in script API:
infolist_time +
infolist_free
| hdata |
hdata_get +
| hdata
| hdata_get +
hdata_get_var_offset +
hdata_get_var_type_string +
hdata_get_var_array_size +
@@ -780,8 +789,8 @@ List of functions in script API:
hdata_update +
hdata_get_string
| upgrade |
upgrade_new +
| upgrade
| upgrade_new +
upgrade_write_object +
upgrade_read +
upgrade_close
@@ -792,17 +801,17 @@ 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
| return codes |
`WEECHAT_RC_OK` (integer) +
| return codes
| `WEECHAT_RC_OK` (integer) +
`WEECHAT_RC_OK_EAT` (integer) +
`WEECHAT_RC_ERROR` (integer)
| configuration files |
`WEECHAT_CONFIG_READ_OK` (integer) +
| configuration files
| `WEECHAT_CONFIG_READ_OK` (integer) +
`WEECHAT_CONFIG_READ_MEMORY_ERROR` (integer) +
`WEECHAT_CONFIG_READ_FILE_NOT_FOUND` (integer) +
`WEECHAT_CONFIG_WRITE_OK` (integer) +
@@ -817,23 +826,23 @@ List of constants in script API:
`WEECHAT_CONFIG_OPTION_UNSET_OK_REMOVED` (integer) +
`WEECHAT_CONFIG_OPTION_UNSET_ERROR` (integer)
| sorted lists |
`WEECHAT_LIST_POS_SORT` (string) +
| sorted lists
| `WEECHAT_LIST_POS_SORT` (string) +
`WEECHAT_LIST_POS_BEGINNING` (string) +
`WEECHAT_LIST_POS_END` (string)
| hotlist |
`WEECHAT_HOTLIST_LOW` (string) +
| hotlist
| `WEECHAT_HOTLIST_LOW` (string) +
`WEECHAT_HOTLIST_MESSAGE` (string) +
`WEECHAT_HOTLIST_PRIVATE` (string) +
`WEECHAT_HOTLIST_HIGHLIGHT` (string)
| hook process |
`WEECHAT_HOOK_PROCESS_RUNNING` (integer) +
| hook process
| `WEECHAT_HOOK_PROCESS_RUNNING` (integer) +
`WEECHAT_HOOK_PROCESS_ERROR` (integer)
| hook connect |
`WEECHAT_HOOK_CONNECT_OK` (integer) +
| hook connect
| `WEECHAT_HOOK_CONNECT_OK` (integer) +
`WEECHAT_HOOK_CONNECT_ADDRESS_NOT_FOUND` (integer) +
`WEECHAT_HOOK_CONNECT_IP_ADDRESS_NOT_FOUND` (integer) +
`WEECHAT_HOOK_CONNECT_CONNECTION_REFUSED` (integer) +
@@ -845,8 +854,8 @@ List of constants in script API:
`WEECHAT_HOOK_CONNECT_TIMEOUT` (integer) +
`WEECHAT_HOOK_CONNECT_SOCKET_ERROR` (integer)
| hook signal |
`WEECHAT_HOOK_SIGNAL_STRING` (string) +
| hook signal
| `WEECHAT_HOOK_SIGNAL_STRING` (string) +
`WEECHAT_HOOK_SIGNAL_INT` (string) +
`WEECHAT_HOOK_SIGNAL_POINTER` (string)
|===
@@ -856,7 +865,7 @@ List of constants in script API:
This chapter shows some common tasks, with examples.
Only partial things in API are used here, for full reference, see the
link:weechat_plugin_api.en.html[WeeChat plugin API reference].
link:weechat_plugin_api.en.html[WeeChat plugin API reference ^↗^,window=_blank].
[[buffers]]
=== Buffers
@@ -875,7 +884,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 +1058,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 +1118,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/",
@@ -1098,16 +1134,17 @@ weechat.hook_process("url:https://weechat.org/dev/info/stable/",
----
[TIP]
All infos available about WeeChat are on page https://weechat.org/dev/info
All infos available about WeeChat are on
https://weechat.org/dev/info/[this page ^↗^,window=_blank].
Example of URL transfer with an option: download latest WeeChat development
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",
@@ -1117,7 +1154,7 @@ weechat.hook_process_hashtable("url:https://weechat.org/files/src/weechat-devel.
For more information about URL transfer and available options, see functions
`+hook_process+` and `+hook_process_hashtable+` in
link:weechat_plugin_api.en.html#_hook_process[WeeChat plugin API reference].
link:weechat_plugin_api.en.html#_hook_process[WeeChat plugin API reference ^↗^,window=_blank].
[[config_options]]
=== Config / options
@@ -1271,63 +1308,71 @@ The result is a hashtable with following keys
[width="100%",cols="3,^2,10,7",options="header"]
|===
| Key | Since WeeChat ^(1)^ | Description | Example
| Key | Since WeeChat ^(1)^ | Description | Example
| tags | 0.4.0 |
The tags in message (can be empty). |
`+time=2015-06-27T16:40:35.000Z+`
| tags | 0.4.0
| The tags in message (can be empty).
| `+time=2015-06-27T16:40:35.000Z+`
| tag_xxx | 3.3 |
Unescaped value of tag "xxx" (one key per tag). |
`+2015-06-27T16:40:35.000Z+`
| tag_xxx | 3.3
| Unescaped value of tag "xxx" (one key per tag).
| `+2015-06-27T16:40:35.000Z+`
| message_without_tags | 0.4.0 |
The message without the tags (the same as message if there are no tags). |
`+:nick!user@host PRIVMSG #weechat :hello!+`
| message_without_tags | 0.4.0
| The message without the tags (the same as message if there are no tags).
| `+:nick!user@host PRIVMSG #weechat :hello!+`
| nick | 0.3.4 |
The origin nick. |
`+nick+`
| nick | 0.3.4
| The origin nick.
| `+nick+`
| user | 2.7 |
The origin user. |
`+user+`
| user | 2.7
| The origin user.
| `+user+`
| host | 0.3.4 |
The origin host (includes the nick). |
`+nick!user@host+`
| host | 0.3.4
| The origin host (includes the nick).
| `+nick!user@host+`
| command | 0.3.4 |
The command (_PRIVMSG_, _NOTICE_, ...). |
`+PRIVMSG+`
| command | 0.3.4
| The command (_PRIVMSG_, _NOTICE_, ...).
| `+PRIVMSG+`
| channel | 0.3.4 |
The target channel. |
`+#weechat+`
| channel | 0.3.4
| The target channel.
| `+#weechat+`
| arguments | 0.3.4 |
The command arguments (includes the channel). |
`+#weechat :hello!+`
| arguments | 0.3.4
| The command arguments (includes the channel).
| `+#weechat :hello!+`
| text | 1.3 |
The text (for example user message). |
`+hello!+`
| text | 1.3
| The text (for example user message).
| `+hello!+`
| pos_command | 1.3 |
The index of _command_ in message ("-1" if _command_ was not found). |
`+47+`
| paramN | 3.4
| Command parameter (from 1 to N).
| `+#weechat+`
| pos_arguments | 1.3 |
The index of _arguments_ in message ("-1" if _arguments_ was not found). |
`+55+`
| num_params | 3.4
| Number of command parameters.
| `+2+`
| pos_channel | 1.3 |
The index of _channel_ in message ("-1" if _channel_ was not found). |
`+55+`
| pos_command | 1.3
| The index of _command_ in message ("-1" if _command_ was not found).
| `+47+`
| pos_text | 1.3 |
The index of _text_ in message ("-1" if _text_ was not found). |
`+65+`
| pos_arguments | 1.3
| The index of _arguments_ in message ("-1" if _arguments_ was not found).
| `+55+`
| pos_channel | 1.3
| The index of _channel_ in message ("-1" if _channel_ was not found).
| `+55+`
| pos_text | 1.3
| The index of _text_ in message ("-1" if _text_ was not found).
| `+65+`
|===
[NOTE]
@@ -1351,6 +1396,9 @@ dict = weechat.info_get_hashtable(
# "channel": "#weechat",
# "arguments": "#weechat :hello!",
# "text": "hello!",
# "param1": "#weechat",
# "param2": "hello!",
# "num_params": "2",
# "pos_command": "65",
# "pos_arguments": "73",
# "pos_channel": "73",
File diff suppressed because it is too large Load Diff
+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.
#
+77 -33
View File
@@ -36,7 +36,9 @@ no se aplican a WeeChat!).
Porque WeeChat es muy ligero y ofrece funcionalidades innovadoras.
Más información de las funcionalidades de WeeChat en la página: https://weechat.org/about/features
// TRANSLATION MISSING
More info on the WeeChat
https://weechat.org/about/features/[features page ^↗^,window=_blank].
[[compilation_install]]
== Compilación / instalación
@@ -44,16 +46,17 @@ Más información de las funcionalidades de WeeChat en la página: https://weech
[[gui]]
=== ¿He oido que hay muchas interfaces gráficas de susuario (GUI) para WeeChat. ¿Cómo puedo compilarlas o usarlas?
Hay disponibles algunas GUIs, eche un vistazo a la página de interfaces remotas:
https://weechat.org/about/interfaces
// TRANSLATION MISSING
Some remote GUIs are available, see the
https://weechat.org/about/interfaces/[remote interfaces page ^↗^,window=_blank].
[[compile_git]]
=== No puedo compilar WeeChat después de haber clonado el repositorio git, ¿por qué?
La manera recomendada para compilar WeeChat es con
link:weechat_user.en.html#compile_with_cmake[CMake].
link:weechat_user.en.html#compile_with_cmake[CMake ^↗^,window=_blank].
Si lo está compilando con link:weechat_user.en.html#compile_with_autotools[autotools]
Si lo está compilando con link:weechat_user.en.html#compile_with_autotools[autotools ^↗^,window=_blank]
(y no con CMake), compruebe que tiene la versión más reciente de autoconf y automake.
Otra forma es instalar "devel package", que necesita menos dependencias.
@@ -64,7 +67,8 @@ que la opción de clonar el repositorio de git a la hora de instalar actualizaci
[[compile_macos]]
=== ¿Cómo puedo instalar WeeChat en macOS?
Se recomienda utilizar https://brew.sh/[Homebrew], puede obtener ayuda con el comando:
Se recomienda utilizar https://brew.sh/[Homebrew ^↗^,window=_blank],
puede obtener ayuda con el comando:
----
brew info weechat
@@ -80,12 +84,12 @@ brew install weechat
=== He lanzado WeeChat, pero estoy perdido, ¿qué puedo hacer?
Para consultar la ayuda, escriba `/help`. Para buscar ayuda con un comando, escriba `/help comando`.
link:weechat_user.en.html#key_bindings[Las teclas] y
link:weechat_user.en.html#commands_and_options[comandos] aparecen listados
link:weechat_user.en.html#key_bindings[Las teclas ^↗^,window=_blank] y
link:weechat_user.en.html#commands_and_options[comandos ^↗^,window=_blank] aparecen listados
en la documentación.
Se recomienda a las personas recién llegadas leer la
link:weechat_quickstart.es.html[guía rápida].
link:weechat_quickstart.es.html[guía rápida ^↗^,window=_blank].
[[display]]
== Visualización
@@ -113,7 +117,7 @@ Es un problema común con una variedad de causas, por favor lea detenidamente y
** Si está utilizando el multiplexador screen, compruebe que lo está ejecuando con el modo UTF-8
("`defutf8 on`" en ~/.screenrc o `screen -U` al ejecutar screen).
* Compruebe si la opción
link:weechat_user.en.html#option_weechat.look.eat_newline_glitch[_weechat.look.eat_newline_glitch_]
link:weechat_user.en.html#option_weechat.look.eat_newline_glitch[_weechat.look.eat_newline_glitch_ ^↗^,window=_blank]
está en off (esta opción puede causar errores a la hora de mostrar el texto).
[NOTE]
@@ -128,10 +132,11 @@ Esto puede estar causado por un error en libc en la función _wcwidth_, que debe
en glibc 2.22 (quizás todavía no está disponible en su distribución).
Hay una solución temporal que es utilizar una función de _wcwidth_ sin ese error:
https://blog.nytsoi.net/2015/05/04/emoji-support-for-weechat
https://blog.nytsoi.net/2015/05/04/emoji-support-for-weechat[https://blog.nytsoi.net/2015/05/04/emoji-support-for-weechat ^↗^,window=_blank].
Vea este reporte de error para más información:
https://github.com/weechat/weechat/issues/79
// TRANSLATION MISSING
See this https://github.com/weechat/weechat/issues/79[bug report ^↗^,window=_blank]
for more information.
[[bars_background]]
=== Las barras del título y de estado no aparecen rellenadas, el color de fondo desaparece después del texto, ¿por qué?
@@ -188,7 +193,7 @@ ventanas.
[[buffers_list]]
=== ¿Cómo mostrar un listado de los buffers en la parte izquierda?
Con WeeChat ≥ 1.8, el complemento link:weechat_user.en.html#buflist_plugin[buflist]
Con WeeChat ≥ 1.8, el complemento link:weechat_user.en.html#buflist[buflist ^↗^,window=_blank]
está cargado y habilitado de manera predeterminada.
Con versiones anteriores, puede instalar el script _buffers.pl_:
@@ -256,8 +261,9 @@ como `237` para gris oscuro.
El complemento del listado de buffers _buflist_ ofrece múltiples opciones que puede configurar, por favor lea
la ayuda de cada opción.
También hay una página wiki con ejemplos de configuraciones más completas:
https://github.com/weechat/weechat/wiki/buflist
// TRANSLATION MISSING
There's also a https://github.com/weechat/weechat/wiki/buflist[wiki page ^↗^,window=_blank]
with examples of advanced buflist configuration.
[[customize_prefix]]
=== ¿Cómo puedo reducir la longitud de los apodos o eliminar la alineación de los apodos en el área del chat?
@@ -300,7 +306,7 @@ Estos colores pueden ser cambiados con las opciones __weechat.color.status_data_
(buffers) y __weechat.color.status_count_*__ (contadores). +
Otras opciones de la lista rápida o _hotlist_ pueden ser cambiadas con las opciones __weechat.look.hotlist_*__.
Vea la link:weechat_user.en.html#screen_layout[Guía de usuario / diseño de la pantalla] para
Vea la link:weechat_user.en.html#screen_layout[Guía de usuario / diseño de la pantalla ^↗^,window=_blank] para
más información sobre este tema.
[[input_bar_size]]
@@ -465,7 +471,7 @@ Para la versión 0.3.4, deberá utilizar el comando `/color` para añadir nuevos
Para versiones ≥ 0.3.5, puede utilizar cualquier número de color en las opciones (opcional: puede
añadir alias al color con el comando `/color`).
Por favor lea la link:weechat_user.en.html#colors[Guía del usuario / Colores] para más
Por favor lea la link:weechat_user.en.html#colors[Guía del usuario / Colores ^↗^,window=_blank] para más
información sobre la gestión de los colores.
[[search_text]]
@@ -474,8 +480,8 @@ información sobre la gestión de los colores.
La tecla predeterminada es kbd:[Ctrl+r] (el comando es: `+/input texto_a_buscar_aquí+`).
Y para saltar a los textos resaltados: kbd:[Alt+p] / kbd:[Alt+n].
Vea la link:weechat_user.en.html#key_bindings[Guía del usuario / Atajos de teclado] para más
información sobre esta funcionalidad.
Vea la link:weechat_user.en.html#key_bindings[Guía del usuario / Atajos de teclado ^↗^,window=_blank]
para más información sobre esta funcionalidad.
[[terminal_focus]]
=== ¿Cómo puedo ejecutar comandos cuando la terminal tiene o pierde el foco?
@@ -648,7 +654,7 @@ Puede crear un atajo de teclado, por ejemplo:
----
Tiene una lista de las teclas predeterminadas en la
link:weechat_user.en.html#key_bindings[Guía del usuario / Atajos de teclado].
link:weechat_user.en.html#key_bindings[Guía del usuario / Atajos de teclado ^↗^,window=_blank].
Para saltar a un buffer mayor de 100, podría definir un disparador y después utilizar
comandos como `/123` para saltar al buffer #123:
@@ -832,8 +838,42 @@ unirse a los canales):
[[edit_autojoin]]
=== ¿Cómo puedo añadir/eliminar canales de la opción autojoin?
Puede utilizar el comando `/set` para editar la lista de canales con autojoin,
por ejemplo, para el servidor "libera":
// 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_dynamic on
----
// TRANSLATION MISSING
For a single server:
----
/set irc.server.libera.autojoin_dynamic on
----
// TRANSLATION MISSING
With WeeChat ≥ 3.5, you can also add the current channel in the "autojoin"
server option using the `/autojoin` command:
----
/autojoin add
----
// TRANSLATION MISSING
Or another channel:
----
/autojoin add #test
----
// TRANSLATION MISSING
With WeeChat ≤ 3.4, puede utilizar el comando `/set` para editar la lista de
canales con autojoin, por ejemplo, para el servidor "libera":
----
/set irc.server.libera.autojoin [TAB]
@@ -850,7 +890,8 @@ También puede utilizar el comando `/fset` para editar la lista de canales:
/fset autojoin
----
Otra solución es utilizar un script:
// TRANSLATION MISSING
With WeeChat ≤ 3.4, otra solución es utilizar un script:
----
/script search autojoin
@@ -890,7 +931,7 @@ Con un filtro global (oculta *todos* los mensajes join/part/quit):
[NOTE]
Para más ayuda: `/help filter`, `+/help irc.look.smart_filter+` y vea la
link:weechat_user.en.html#irc_smart_filter_join_part_quit[Guía del usuario / Filtros inteligente para mensajes join/part/quit].
link:weechat_user.en.html#irc_smart_filter_join_part_quit[Guía del usuario / Filtros inteligente para mensajes join/part/quit ^↗^,window=_blank].
[[filter_irc_join_channel_messages]]
=== ¿Cómo puedo filtrar algunos mensajes mostrados cuando me uno a un canal IRC?
@@ -988,7 +1029,7 @@ Otros scripts para este tema:
=== ¿Cómo puedo inhabilitar las menciones de unos apodos específicos?
Con WeeChat ≥ 0.3.4 puede utilizar
link:weechat_user.en.html#max_hotlist_level_nicks[hotlist_max_level_nicks_add]
link:weechat_user.en.html#max_hotlist_level_nicks[hotlist_max_level_nicks_add ^↗^,window=_blank]
esta propiedad del buffer para configurar el nivel máximo de la hotlist para algunos apodos, por buffer,
o por grupo de buffers (como servidores IRC).
@@ -1192,7 +1233,7 @@ Elimine de la memoria e inhabilite la carga automática del complemento "xfer" (
Defina una frase de paso y utilice datos seguros cada vez que pueda para datos sensibles
como contraseñas: vea `/help secure` y `/help` en las opciones
(si puede utilice datos seguros, está escrito en la ayuda).
Ver también link:weechat_user.en.html#secured_data[Guía del usuario / Datos seguros].
Ver también link:weechat_user.en.html#secured_data[Guía del usuario / Datos seguros ^↗^,window=_blank].
Por ejemplo:
@@ -1213,7 +1254,7 @@ contiene sus contraseñas cifradas con su frase de paso.
Algunos otros archivos pueden contener información sensible como contraseñas (si no están
almacenadas en _sec.conf_ con el comando `/secure`).
Vea la link:weechat_user.en.html#files_and_directories[Guía del usuario / Archivos y directorios]
Vea la link:weechat_user.en.html#files_and_directories[Guía del usuario / Archivos y directorios ^↗^,window=_blank]
para más información relacionada con los archivos de configuración.
[[development]]
@@ -1222,7 +1263,8 @@ para más información relacionada con los archivos de configuración.
[[bug_task_patch]]
=== ¿Cómo podría informar de errores, pedir nuevas funcionalidades o enviar parches?
Vea: https://weechat.org/about/support
// TRANSLATION MISSING
See https://weechat.org/about/support/[this page ^↗^,window=_blank].
[[gdb_error_threads]]
=== Cuando ejecuto WeeChat bajo gdb, hay un error con la muestra de las conversaciones, ¿qué puedo hacer?
@@ -1258,11 +1300,13 @@ algunos sistemas operativos en los que no podemos probar WeeChat.
Hay muchas tareas que hacer (probar, escribir código, documentación, etc.)
Por favor, contacte con nosotros mediante IRC o correo electrónico, eche un vistazo a la página de soporte:
https://weechat.org/about/support
// TRANSLATION MISSING
Please contact us via IRC or mail, look at
https://weechat.org/about/support/[support page ^↗^,window=_blank].
[[donate]]
=== ¿Puedo donar dinero u otras cosas a las personas que desarrollan WeeChat?
Puede donar dinero para ayudar en el desarrollo.
Más detalles en https://weechat.org/donate
// TRANSLATION MISSING
You can give us money to help development.
Details on https://weechat.org/donate/[donation page ^↗^,window=_blank].
+23 -8
View File
@@ -207,10 +207,17 @@ Para unirse automáticamente a canales cuando el servidor se conecte:
/set irc.server.libera.autojoin "#uncanal,#otrocanal"
----
[TIP]
Puede completar el nombre y el valor de las opciones con la tecla kbd:[Tab]
y kbd:[Shift+Tab] para un autocompletado parcial (útil para palabras largas como
el nombre de la opción).
// TRANSLATION MISSING
The `/autojoin` command lets you configure the _autojoin_ option easily
(see `/help autojoin`).
// TRANSLATION MISSING
You can also configure WeeChat to automatically update the _autojoin_ option
when you join or leave channels:
----
/set irc.server_default.autojoin_dynamic on
----
Para eliminar un valor asignado a una opción de servidor y usar los
valores predeterminados en su lugar, por ejemplo, usar el nick predeterminado
@@ -227,6 +234,11 @@ donde "xxx" es el nombre de la opción.
/set irc.server.libera.xxx valor
----
[TIP]
Puede completar el nombre y el valor de las opciones con la tecla kbd:[Tab]
y kbd:[Shift+Tab] para un autocompletado parcial (útil para palabras largas como
el nombre de la opción).
[[connect_to_irc_server]]
== Conectarse a un servidor IRC
@@ -390,13 +402,16 @@ por ejemplo:
Vea `/help script` para obtener más información.
Hay una lista de scripts disponibles en WeeChat mediante el comando `/script` o en este enlace:
https://weechat.org/scripts
// TRANSLATION MISSING
A list of scripts is available in WeeChat with `/script` or on
https://weechat.org/scripts/[this page ^↗^,window=_blank].
[[more_doc]]
== Más documentación
Ahora puede usar WeeChat y leer las FAQ/documentación para cada pregunta
en: https://weechat.org/doc
// TRANSLATION MISSING
You can now use WeeChat and read
https://weechat.org/doc/[FAQ/documentation ^↗^,window=_blank]
for any other questions.
¡Disfrute de WeeChat!
+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
@@ -92,6 +94,8 @@
| tcl | tcl_script | liste des scripts
| trigger | trigger_add_arguments | paramètres pour la commande qui ajoute un trigger : nom du trigger, hooks, paramètres du hook, conditions du hook, regex du hook, commande du hook, code retour du hook, actions "post"
| trigger | trigger_hook_arguments | paramètres par défaut pour un hook
| trigger | trigger_hook_command | commande par défaut pour un hook
@@ -146,6 +150,14 @@
| weechat | cursor_areas | zones ("chat" ou un nom de barre) pour le mouvement libre du curseur
| weechat | custom_bar_item_add_arguments | paramètres pour la commande qui ajoute un objet de barre personnalisé : nom de l'objet, conditions, contenu
| weechat | custom_bar_item_conditions | conditions pour l'objet de barre personnalisé
| weechat | custom_bar_item_contents | contenus pour l'objet de barre personnalisé
| weechat | custom_bar_items_names | noms des objets de barre personnalisés
| weechat | env_value | valeur d'une variable d'environnement
| weechat | env_vars | variables d'environnement
@@ -631,6 +631,8 @@ _text_search_input_   (string) +
_highlight_words_   (string) +
_highlight_regex_   (string) +
_highlight_regex_compiled_   (pointer) +
_highlight_disable_regex_   (string) +
_highlight_disable_regex_compiled_   (pointer) +
_highlight_tags_restrict_   (string) +
_highlight_tags_restrict_count_   (integer) +
_highlight_tags_restrict_array_   (pointer, array_size: "highlight_tags_restrict_count") +
@@ -128,6 +128,8 @@
| weechat | uptime | Durée de fonctionnement de WeeChat (format : "jours:hh:mm:ss") | "days" (nombre de jours) ou "seconds" (nombre de secondes) (optionnel)
| weechat | uptime_current | Durée de fonctionnement de WeeChat pour le processus actuel seulement (les mises à jour par la commande /upgrade sont ignorées) (format : "jours:hh:mm:ss") | "days" (nombre de jours) ou "seconds" (nombre de secondes) (optionnel)
| weechat | version | version de WeeChat | -
| weechat | version_git | version git de WeeChat (sortie de la commande "git describe" pour une version de développement seulement, vide pour une version stable) | -
@@ -6,7 +6,7 @@
// tag::url_options[]
[width="100%",cols="2,^1,7",options="header"]
|===
| Option | Type ^(1)^ | Constantes ^(2)^
| Option | Type ^(1)^ | Constantes ^(2)^
| verbose | long |
+133 -39
View File
@@ -123,6 +123,36 @@ 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>...]]
apply
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
apply : définir 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
/allchan /autojoin add
/autojoin addraw #chan1,#chan2,#chan3 key1,key2
/autojoin del
/autojoin del #chan1
/autojoin apply
/autojoin sort
----
[[command_irc_ban]]
* `+ban+`: bannir des pseudos ou hôtes
@@ -146,7 +176,7 @@ Sans paramètre, cette commande affiche la liste des bannissements pour le canal
ls : lister les capacités supportées par le serveur
list : lister les capacités actuellement activées
req : demander une capacité
req : demander une nouvelle capacité ou supprimer une capacité (si elle commence par "-", par exemple : "-multi-prefix")
ack : accuser réception de capacités qui nécessitent un accusé de réception du client
end : terminer la négociation de capacité
@@ -157,8 +187,14 @@ Les capacités supportées par WeeChat sont : account-notify, away-notify, cap-
Les capacités à activer automatiquement sur les serveurs peuvent être définies dans l'option irc.server_default.capabilities (ou par serveur dans l'option irc.server.xxx.capabilities).
Exemples :
/cap
/cap req multi-prefix away-notify
afficher les capacités supportées et activées :
/cap
demander les capacités multi-prefix et away-notify :
/cap req multi-prefix away-notify
demander la capacité extended-join, supprimer la capacité multi-prefix :
/cap req extended-join -multi-prefix
supprimer la capacité away-notify :
/cap req -away-notify
----
[[command_irc_connect]]
@@ -1302,8 +1338,8 @@ Exemples :
----
/debug list
set <extension> <niveau>
dump [<extension>]
buffer|color|infolists|libs|certs|memory|tags|term|windows
dump|hooks [<extension>]
buffer|certs|color|dirs|infolists|libs|memory|tags|term|windows
cursor|mouse [verbose]
hdata [free]
time <commande>
@@ -1313,15 +1349,15 @@ Exemples :
extension : nom de l'extension ("core" pour le cœur de WeeChat)
niveau : niveau de debug pour l'extension
dump : afficher les variables mémoire WeeChat dans le fichier log (les mêmes messages sont affichés lorsque WeeChat plante)
hooks : afficher des infos sur les hooks (avec une extension : afficher les infos détaillées sur les hooks créés par l'extension)
buffer : afficher le contenu du tampon en valeurs hexadécimales dans le fichier log
certs : afficher le nombre de certificats des autorités de certification chargés
color : afficher des infos sur les paires de couleur courantes
cursor : activer/désactiver le debug pour le mode curseur
dirs : afficher les répertoires
hdata : afficher des infos sur les hdata (avec free : supprimer tous les hdata en mémoire)
hooks : afficher des infos sur les hooks
infolists : afficher des infos sur les infolists
libs : afficher des infos sur les bibliothèques externes utilisées
certs : afficher le nombre de certificats des autorités de certification chargés
memory : afficher des infos sur l'utilisation de la mémoire
mouse : activer/désactiver le debug pour la souris
tags : afficher les étiquettes pour les lignes
@@ -1379,28 +1415,30 @@ Des variables sont remplacées dans l'expression, en utilisant le format ${varia
3. une sous-chaîne évaluée (format : "eval:xxx")
4. une condition évaluée (format : "eval_cond:xxx")
5. une chaîne avec les caractères échappés (format : "esc:xxx" ou "\xxx")
6. une chaîne avec des caractères à cacher (format : "hide:caractère,chaîne")
7. une chaîne avec un maximum de caractères (format : "cut:max,suffixe,chaîne" ou "cut:+max,suffixe,chaîne")
6. une chaîne convertie en minuscules (format : "lower:xxx")
7. une chaîne convertie en majuscules (format : "upper:xxx")
8. une chaîne avec des caractères à cacher (format : "hide:caractère,chaîne")
9. une chaîne avec un maximum de caractères (format : "cut:max,suffixe,chaîne" ou "cut:+max,suffixe,chaîne")
ou un maximum de caractères affichés à l'écran (format : "cutscr:max,suffixe,chaîne" ou "cutscr:+max,suffixe,chaîne")
8. une chaîne inversée (format : "rev:xxx" ou "revscr:xxx")
9. une chaîne répétée (format : "repeat:nombre,chaîne")
10. longueur d'une chaîne (format : "length:xxx" ou "lengthscr:xxx")
11. découpage d'une chaîne (format : "split:nombre,séparateurs,flags,xxx")
12. découpage de paramètres shell (format : "split_shell:nombre,xxx")
13. une couleur (format : "color:xxx", voir la "Référence API extension", fonction "color")
14. un modificateur (format : "modifier:nom,données,chaîne")
15. une info (format : "info:nom,paramètres", les paramètres sont optionnels)
16. une chaîne encodée/decodée en base 16, 32 ou 64 (format : "base_encode:base,xxx" ou "base_decode:base,xxx")
17. la date/heure courante (format : "date" ou "date:format")
18. une variable d'environnement (format : "env:XXX")
19. un opérateur ternaire (format : "if:condition?valeur_si_vrai:valeur_si_faux")
20. le résultat d'une expression avec parenthèses et les opérateurs + - * / // % ** (format : "calc:xxx")
21. un nombre entier aléatoire (format : "random:min,max")
22. une chaîne traduite (format : "translate:xxx")
23. déclaration d'une variable utilisateur (format : "define:nom,valeur")
24. une option (format : "fichier.section.option")
25. une variable locale du tampon
26. un hdata/variable (la valeur est automatiquement convertie en chaîne), par défaut "window" et "buffer" pointent vers la fenêtre et le tampon courants.
10. une chaîne inversée (format : "rev:xxx" ou "revscr:xxx")
11. une chaîne répétée (format : "repeat:nombre,chaîne")
12. longueur d'une chaîne (format : "length:xxx" ou "lengthscr:xxx")
13. découpage d'une chaîne (format : "split:nombre,séparateurs,flags,xxx")
14. découpage de paramètres shell (format : "split_shell:nombre,xxx")
15. une couleur (format : "color:xxx", voir la "Référence API extension", fonction "color")
16. un modificateur (format : "modifier:nom,données,chaîne")
17. une info (format : "info:nom,paramètres", les paramètres sont optionnels)
18. une chaîne encodée/decodée en base 16, 32 ou 64 (format : "base_encode:base,xxx" ou "base_decode:base,xxx")
19. la date/heure courante (format : "date" ou "date:format")
20. une variable d'environnement (format : "env:XXX")
21. un opérateur ternaire (format : "if:condition?valeur_si_vrai:valeur_si_faux")
22. le résultat d'une expression avec parenthèses et les opérateurs + - * / // % ** (format : "calc:xxx")
23. un nombre entier aléatoire (format : "random:min,max")
24. une chaîne traduite (format : "translate:xxx")
25. déclaration d'une variable utilisateur (format : "define:nom,valeur")
26. une option (format : "fichier.section.option")
27. une variable locale du tampon
28. un hdata/variable (la valeur est automatiquement convertie en chaîne), par défaut "window" et "buffer" pointent vers la fenêtre et le tampon courants.
Le format du hdata peut être le suivant :
hdata.var1.var2... : démarrer avec un hdata (le pointeur doit être connu), et demander les variables l'une après l'autre (d'autres hdata peuvent être suivis)
hdata[liste].var1.var2... : démarrer avec un hdata en utilisant une liste/pointeur/nom de pointeur, par exemple :
@@ -1423,6 +1461,8 @@ Exemples (chaînes simples) :
/eval -n ${window.buffer.full_name} ==> core.weechat
/eval -n ${window.buffer.number} ==> 1
/eval -n ${\t} ==> <tab>
/eval -n ${lower:TEST} ==> test
/eval -n ${upper:test} ==> TEST
/eval -n ${hide:-,${relay.network.password}} ==> --------
/eval -n ${cut:3,+,test} ==> tes+
/eval -n ${cut:+3,+,test} ==> te+
@@ -1468,7 +1508,7 @@ Exemples (conditions) :
add|addreplace <nom> <tampon>[,<tampon>...] <étiquettes> <regex>
rename <nom> <nouveau_nom>
recreate <nom>
del <nom>|-all
del <nom>|-all [<nom>...]
list : lister tous les filtres
enable : activer les filtres (par défaut les filtres sont activés)
@@ -1574,6 +1614,7 @@ liste des actions :
delete_previous_char : effacer le caractère précédent
delete_next_char : effacer le caractère suivant
delete_previous_word : effacer le mot précédent
delete_previous_word_whitespace : effacer le mot précédent (jusqu'à un espace)
delete_next_word : effacer le mot suivant
delete_beginning_of_line : effacer du début de la ligne jusqu'au curseur
delete_end_of_line : effacer du curseur jusqu'à la fin de la ligne
@@ -1617,6 +1658,49 @@ liste des actions :
Cette commande est utilisé par les associations de touches ou les extensions.
----
[[command_weechat_item]]
* `+item+`: gestion des objets de barre personnalisés
----
/item list
add|addreplace <nom> "<conditions>" "<contenu>"
rename <nom> <nouveau_nom>
refresh <nom> [<nom>...]
recreate <nom>
del <nom>|-all
list : lister tous les objets de barre personnalisés
add : ajouter un objet de barre personnalisé
addreplace : ajouter ou remplacer un objet de barre personnalisé existant
nom : nom de l'objet de barre personnalisé
conditions : conditions évaluées pour afficher l'objet de barre (par exemple pour afficher l'objet de barre seulement sur certains tampons)
contenu : contenu (évalué, voir /help eval)
rename : renommer un objet de barre personnalisé
refresh : mettre à jour le contenu d'un objet de barre personnalisé dans toutes les barres où l'objet est affiché ; tout objet peut être rafraîchi : défaut/extension/objets de barre personnalisés
recreate : définir la ligne de commande utilisée pour éditer l'objet de barre personnalisé
del : supprimer un objet de barre personnalisé
-all : supprimer tous les objets de barre personnalisés
Exemples :
ajouter un objet avec la taille du terminal, affiché seulement sur les tampons avec numéro = 1 :
/item add terminfo "${buffer.number} == 1" "term:${info:term_width}x${info:term_height}"
ajouter un objet avec des informations sur le tampon :
/item add bufinfo "" "${buffer.number}:${buffer.name}${if:${buffer.zoomed}?(Z)}"
ajouter un objet avec la date/heure en utilisant le format "Dec 25, 12:34 +0100", rafraîchi chaque minute :
/item add datetime "" "${date:%b %d, %H:%M %z}"
/trigger add datetime_refresh timer "60000;60" "" "" "/item refresh datetime"
ajouter un objet avec le nombre de lignes dans le tampon (affichées/total), rafraîchi à chaque nouvelle ligne affichée ou si les lignes filtrées ont changé :
/item add lines_count "" "${calc:${buffer.lines.lines_count}-${buffer.lines.lines_hidden}}/${buffer.lines.lines_count} lines"
/trigger add lines_count_refresh_print print "" "" "" "/item refresh lines_count"
/trigger add lines_count_refresh_signal signal "window_switch;buffer_switch;buffer_lines_hidden;filters_*" "" "" "/item refresh lines_count"
forcer le rafraîchissement de l'objet "lines_count" :
/item refresh lines_count
recréer l'objet "lines_count" avec différentes conditions ou contenu :
/item recreate lines_count
supprimer l'objet "lines_count" :
/item del lines_count
----
[[command_weechat_key]]
* `+key+`: associer/libérer des touches
@@ -2039,34 +2123,41 @@ Exemples :
----
[[command_weechat_upgrade]]
* `+upgrade+`: relancer le binaire WeeChat sans se déconnecter des serveurs
* `+upgrade+`: sauvegarder la session WeeChat et relancer le binaire WeeChat sans se déconnecter des serveurs
----
/upgrade [-yes] [<chemin_vers_binaire>|-quit]
/upgrade [-yes] [<chemin_vers_binaire>|-save|-quit]
-yes : requis si l'option "weechat.look.confirm_upgrade" est activée
chemin_vers_binaire : chemin vers le binaire WeeChat (par défaut le binaire courant)
-dummy : ne rien faire (option utilisée pour éviter une complétion accidentelle avec "-quit")
-quit : fermer *TOUTES* les connexions, sauver la session et quitter, ce qui rend possible une restauration différée (voir ci-dessous)
-save : sauvegarder seulement la session, ne pas quitter ni relancer WeeChat ; les fichiers de configuration ne sont pas sauvegardés (si besoin vous pouvez utiliser /save avant cette commande)
-quit : fermer *TOUTES* les connexions, sauvegarder la session et quitter, ce qui rend possible une restauration différée (voir ci-dessous)
Cette commande met à jour et recharge une session de WeeChat qui tourne. Le nouveau binaire WeeChat doit avoir été compilé ou installé via un gestionnaire de paquet avant de lancer cette commande.
Note : les connexions SSL sont perdues durant la mise à jour, car le rechargement de session SSL n'est pas possible actuellement avec GnuTLS. Il y a une reconnexion automatique après la mise à jour.
Important : l'utilisation de l'option -save peut être dangereuse, il est recommandé d'utiliser seulement /upgrade (ou avec -quit) pour une mise à jour standard et un redémarrage ; l'option -save peut être utilisée pour sauvegarder régulièrement la session et la restaurer en cas de sortie anormale (panne de courant, crash, etc.).
Le processus de mise à jour comporte 4 étapes :
1. sauvegarder la session pour le cœur et les extensions (tampons, historique, ...)
2. décharger toutes les extensions (les fichiers de configuration (*.conf) sont écrits sur disque)
3. sauvegarder la configuration WeeChat (weechat.conf)
4. exécuter le nouveau binaire WeeChat et recharger la session.
Avec l'option "-quit", le processus est légèrement différent :
Avec l'option "-quit", le processus est le suivant :
1. fermer *TOUTES* les connexions
2. sauvegarder la session (fichiers *.upgrade)
3. décharger les extensions
4. sauvegarder la configuration WeeChat
5. quitter WeeChat
Et plus tard vous pouvez restaurer la session avec la commande : weechat --upgrade
IMPORTANT : vous devez restaurer la session avec exactement la même configuration (fichiers *.conf).
Avec l'option "-save", le processus est le suivant :
1. sauvegarder la session (fichiers *.upgrade) avec un état déconnecté pour les serveurs IRC et les clients Relay (mais aucune déconnexion n'est faite)
Avec "-quit" ou "-save", vous pouvez restaurer la session plus tard avec cette commande : weechat --upgrade
IMPORTANT : vous devez restaurer la session avec exactement la même configuration (fichiers *.conf) et si possible la même version de WeeChat (ou une plus récente).
Il est également possible de restaurer la session WeeChat sur une autre machine si vous y copiez le contenu des répertoires personnels de WeeChat (voir /debug dirs).
----
@@ -2251,6 +2342,7 @@ Les variables suivantes peuvent être utilisées dans ces options :
- ${format_hotlist} : la hotlist formatée (évaluation de l'option buflist.format.hotlist)
- ${hotlist} : la hotlist brute
- ${hotlist_priority} : "none", "low", "message", "private" ou "highlight"
- ${hotlist_priority_number} : -1 = none, 0 = low, 1 = message, 2 = private, 3 = highlight
- ${format_lag} : le lag pour un tampon de serveur IRC, vide s'il n'y a pas de lag (évaluation de l'option buflist.format.lag)
- ${format_tls_version}: indicateur de la version de TLS pour le serveur courant, vide pour les canaux (évaluation de l'option buflist.format.tls_version)
----
@@ -2817,7 +2909,7 @@ protocole.nom : protocole et nom à relayer :
- protocole "weechat" (le nom n'est pas utilisé)
Le protocole "irc" permet à n'importe quel client IRC (incluant WeeChat lui-même) de se connecter sur le port.
Le protocole "weechat" permet à une interface distante de se connecter sur le port, voir la liste ici : https://weechat.org/about/interfaces
Le protocole "weechat" permet à une interface distante de se connecter sur le port, voir la liste ici : https://weechat.org/about/interfaces/
Sans paramètre, cette commande ouvre le tampon avec la liste des clients pour le relai.
@@ -2972,7 +3064,7 @@ Exemples :
----
/spell enable|disable|toggle
listdict
setdict <dict>[,<dict>...]
setdict -|<dict>[,<dict>...]
deldict
addword [<dict>] <mot>
@@ -2980,7 +3072,7 @@ Exemples :
disable : désactiver le vérificateur d'orthographe
toggle : activer/désactiver le vérificateur d'orthographe
listdict : afficher les dictionnaires installés
setdict : définir le dictionnaire pour le tampon courant (plusieurs dictionnaires peuvent être séparés par une virgule)
setdict : définir le dictionnaire pour le tampon courant (plusieurs dictionnaires peuvent être séparés par une virgule, la valeur spéciale "-" désactive la vérification orthographique sur le tampon courant)
deldict : supprimer le dictionnaire utilisé sur le tampon courant
addword : ajouter un mot dans le dictionnaire personnel
@@ -3107,8 +3199,10 @@ Exemples (vous pouvez aussi regarder les triggers par défaut avec /trigger list
cacher la barre de pseudos sur les petits terminaux :
/trigger add resize_small signal signal_sigwinch "${info:term_width} < 100" "" "/bar hide nicklist"
/trigger add resize_big signal signal_sigwinch "${info:term_width} >= 100" "" "/bar show nicklist"
sauver la configuration chaque heure (de manière silencieuse) :
sauver silencieusement la configuration chaque heure :
/trigger add cfgsave timer 3600000;0;0 "" "" "/mute /save"
sauver silencieusement la session WeeChat à minuit (voir /help upgrade) :
/trigger add session_save signal day_changed "" "" "/mute /upgrade -save"
ouvrir le tampon moniteur des triggers et afficher seulement les modificateurs et les triggers dont le nom commence par "resize" :
/trigger monitor @modifier,resize*
----
+61 -13
View File
@@ -750,6 +750,12 @@
** valeurs: toute chaîne
** valeur par défaut: `+""+`
* [[option_weechat.look.highlight_disable_regex]] *weechat.look.highlight_disable_regex*
** description: pass:none[expression régulière POSIX étendue utilisée pour empêcher un highlight sur un message : cette option a une priorité plus élevée sur les autres options de highlight (si la chaîne est trouvée dans le message, le highlight est désactivé et les autres options sont ignorées), l'expression régulière est insensible à la casse (utilisez "(?-i)" au début pour la rendre sensible à la casse), exemples : "<flash.*>", "(?-i)<Flash.*>"]
** type: chaîne
** valeurs: toute chaîne
** valeur par défaut: `+""+`
* [[option_weechat.look.highlight_regex]] *weechat.look.highlight_regex*
** description: pass:none[expression régulière POSIX étendue utilisée pour vérifier si un message a un "highlight" ou non, au moins une correspondance dans la chaîne doit être entourée de délimiteurs (caractères différents de : alphanumérique, "-", "_" et "|"), l'expression régulière est insensible à la casse (utilisez "(?-i)" au début pour la rendre sensible à la casse), exemples : "flashcode|flashy", "(?-i)FlashCode|flashy"]
** type: chaîne
@@ -1290,12 +1296,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
@@ -1403,7 +1403,7 @@
** valeur par défaut: `+default+`
* [[option_logger.file.auto_log]] *logger.file.auto_log*
** description: pass:none[sauve automatiquement le contenu des tampons dans des fichiers (sauf si un tampon désactive le log)]
** description: pass:none[sauve automatiquement le contenu des tampons dans des fichiers (sauf si un tampon désactive le log) ; si désactivé, l'enregistrement est désactivé sur tous les tampons]
** type: booléen
** valeurs: on, off
** valeur par défaut: `+on+`
@@ -1468,6 +1468,24 @@
** valeurs: toute chaîne
** valeur par défaut: `+"_"+`
* [[option_logger.file.rotation_compression_level]] *logger.file.rotation_compression_level*
** description: pass:none[niveau de compression pour les fichiers de log qui tournent (avec extension ".1", ".2", etc.), si l'option logger.file.rotation_compression_type est activée ; 1 = peu de compression / rapide ... 100 = meilleure compression / lent ; la valeur est un pourcentage converti de 1 à 9 pour gzip et de 1 à 19 pour zstd ; la valeur par défaut est recommandée, elle offre un bon compromis compression/vitesse]
** type: entier
** valeurs: 1 .. 100
** valeur par défaut: `+20+`
* [[option_logger.file.rotation_compression_type]] *logger.file.rotation_compression_type*
** description: pass:none[type de compression pour les fichiers de log qui tournent ; si défini à "none", les fichiers de logs qui tournent ne sont pas compressés ; ATTENTION : si la rotation est activée avec un autre type de compression (ou pas de compression), vous devez d'abord décharger l'extension logger, compresser les fichiers avec le nouveau type (ou décompresser les fichiers), puis changer l'option dans logger.conf, puis charger l'extension logger]
** type: entier
** valeurs: none, gzip, zstd
** valeur par défaut: `+none+`
* [[option_logger.file.rotation_size_max]] *logger.file.rotation_size_max*
** description: pass:none[lorsque cette taille est atteinte, une rotation des fichiers est effectuée : les fichiers de log existants sont renommés (.1 devient .2, .2 devient .3, etc.) et le fichier courant est renommé avec l'extension .1 ; un nombre entier avec un suffixe est accepté : b = octets (par défaut si pas d'unité spécifiée), k = kilo-octets, m = méga-octets, g = giga-octets, t = téra-octets ; exemple : "2g" provoque une rotation si la taille du fichier est > 2 000 000 000 octets ; si défini à "0", aucune rotation n'est effectuée (taille de log illimitée) ; ATTENTION : avant de changer cette option, vous devriez d'abord définir le type de compression via l'option logger.file.rotation_compression_type]
** type: chaîne
** valeurs: toute chaîne
** valeur par défaut: `+"0"+`
* [[option_logger.file.time_format]] *logger.file.time_format*
** description: pass:none[format de date/heure utilisé dans les fichiers log (voir man strftime pour le format de date/heure)]
** type: chaîne
@@ -1550,6 +1568,12 @@
** valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l'italique, "_" pour le souligné
** valeur par défaut: `+lightmagenta+`
* [[option_trigger.color.identifier]] *trigger.color.identifier*
** description: pass:none[couleur du texte pour l'identifiant de contexte du trigger dans le tampon moniteur]
** type: couleur
** valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l'italique, "_" pour le souligné
** valeur par défaut: `+cyan+`
* [[option_trigger.color.regex]] *trigger.color.regex*
** description: pass:none[couleur du texte pour les expressions régulières]
** type: couleur
@@ -1777,7 +1801,7 @@
** valeur par défaut: `+"${buffer.hidden}==0"+`
* [[option_buflist.look.enabled]] *buflist.look.enabled*
** description: pass:none[activer buflist]
** description: pass:none[activer buflist ; il est recommandé d'utiliser cette option plutôt que de juste cacher la barre car cela supprime également des hooks internes qui ne sont plus nécessaires lorsque la barre est cachée ; vous pouvez aussi utiliser la commande "/buflist toggle" ou la touche par défaut key alt+shift+b]
** type: booléen
** valeurs: on, off
** valeur par défaut: `+on+`
@@ -2133,7 +2157,7 @@
** valeur par défaut: `+cyan+`
* [[option_irc.color.message_chghost]] *irc.color.message_chghost*
** description: pass:none[couleur pour le texte dans les messages chghost]
** description: pass:none[couleur pour le texte dans les messages "chghost"]
** type: couleur
** valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l'italique, "_" pour le souligné
** valeur par défaut: `+brown+`
@@ -2156,6 +2180,12 @@
** valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l'italique, "_" pour le souligné
** valeur par défaut: `+red+`
* [[option_irc.color.message_setname]] *irc.color.message_setname*
** description: pass:none[couleur pour le texte dans les messages "setname"]
** type: couleur
** valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l'italique, "_" pour le souligné
** valeur par défaut: `+brown+`
* [[option_irc.color.mirc_remap]] *irc.color.mirc_remap*
** description: pass:none[réassigner les couleurs mirc dans les messages en utilisant une table de hachage : les clés sont "fg,bg" sous forme d'entiers entre -1 (non spécifié) et 15, les valeurs sont des noms de couleur WeeChat ou nombres (le format est : "1,-1:couleur1;2,7:couleur2"), exemple : "1,-1:darkgray;1,2:white,blue" pour réassigner le noir en "darkgray" et le noir sur bleu en "white,blue" ; les couleurs WeeChat par défaut pour les codes IRC sont : 0=white, 1=black, 2=blue, 3=green, 4=lightred, 5=red, 6=magenta, 7=brown, 8=yellow, 9=lightgreen, 10=cyan, 11=lightcyan, 12=lightblue, 13=lightmagenta, 14=darkgray, 15=gray]
** type: chaîne
@@ -2336,6 +2366,12 @@
** valeurs: on, off
** valeur par défaut: `+on+`
* [[option_irc.look.display_pv_nick_change]] *irc.look.display_pv_nick_change*
** description: pass:none[afficher le changement de pseudo en privé]
** type: booléen
** valeurs: on, off
** valeur par défaut: `+on+`
* [[option_irc.look.display_pv_warning_address]] *irc.look.display_pv_warning_address*
** description: pass:none[afficher un avertissement dans le tampon privé si l'adresse du pseudo distant a changé ; cette option est désactivée par défaut car les serveurs comme bitlbee causent un affichage de cet avertissement à tort (l'adresse du pseudo distant change plusieurs fois à la connexion)]
** type: booléen
@@ -2552,6 +2588,12 @@
** valeurs: on, off
** valeur par défaut: `+on+`
* [[option_irc.look.smart_filter_setname]] *irc.look.smart_filter_setname*
** description: pass:none[activer le filtre intelligent pour les messages "setname"]
** type: booléen
** valeurs: on, off
** valeur par défaut: `+on+`
* [[option_irc.look.temporary_servers]] *irc.look.temporary_servers*
** description: pass:none[activer l'ajout automatique des serveurs temporaires avec la commande /connect]
** type: booléen
@@ -2696,6 +2738,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 +3112,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)]
+2 -2
View File
@@ -1,7 +1,7 @@
// tag::plugin_options[]
Pour une documentation complète sur les options des extensions, merci de
consulter la documentation des extensions dans le
https://weechat.org/doc[guide utilisateur de WeeChat].
https://weechat.org/doc/[guide utilisateur de WeeChat].
Avec l'extension irc, vous pouvez vous connecter à un serveur de manière
temporaire avec une URL, comme ceci :
@@ -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
+1 -1
View File
@@ -62,4 +62,4 @@ include::includes/man.fr.adoc[tag=copyright]
== SUPPORT / SIGNALER DES BUGS
Pour de l'aide ou signaler un bug : https://weechat.org/about/support
Pour de l'aide ou signaler un bug : https://weechat.org/about/support/
+1 -1
View File
@@ -58,4 +58,4 @@ include::includes/man.fr.adoc[tag=copyright]
== SUPPORT / SIGNALER DES BUGS
Pour de l'aide ou signaler un bug : https://weechat.org/about/support
Pour de l'aide ou signaler un bug : https://weechat.org/about/support/
+126 -28
View File
@@ -12,8 +12,8 @@
Ce manuel documente le client de messagerie instantanée WeeChat, il fait
partie de WeeChat.
La dernière version de ce document peut être téléchargée sur cette page :
https://weechat.org/doc
La dernière version de ce document peut être téléchargée sur
https://weechat.org/doc/[cette page ^↗^,window=_blank].
[[introduction]]
@@ -33,8 +33,8 @@ Ce manuel documente l'intérieur de WeeChat :
[[repositories]]
== Dépôts
Les dépôts de WeeChat sont dans l'organisation "weechat" de GitHub :
https://github.com/weechat
Les dépôts de WeeChat sont dans l'organisation
https://github.com/weechat[weechat ^↗^,window=_blank] de GitHub.
Liste des dépôts :
@@ -45,7 +45,7 @@ scripts::
les scripts _officiels_ soumis sur weechat.org
weechat.org::
le code source du site de WeeChat : https://weechat.org/
le code source du https://weechat.org/[site de WeeChat ^↗^,window=_blank]
weercd::
serveur de test IRC
@@ -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,7 +424,12 @@ 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-bar-window.cpp | Tests : fonctions de fenêtres de barre.
|          test-gui-buffer.cpp | Tests : fonctions de tampons.
|          test-gui-chat.cpp | Tests : fonctions de discussion.
|          test-gui-color.cpp | Tests : couleurs.
|          test-gui-filter.cpp | Tests : filtres.
|          test-gui-input.cpp | Tests : fonctions d'entrée.
|          test-gui-line.cpp | Tests : lignes.
|          test-gui-nick.cpp | Tests : pseudos.
|       plugins/ | Racine des tests unitaires pour les extensions.
@@ -432,12 +439,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.
@@ -446,6 +457,9 @@ Le cœur de WeeChat est situé dans les répertoires suivants :
|             test-typing-status.cpp | Tests : statut d'écriture.
|          relay/ | Racine des tests unitaires pour l'extension Relay.
|             test-relay-auth.cpp | Tests : authentification des clients.
|          xfer/ | Racine des tests unitaires pour l'extension Xfer.
|             test-xfer-file.cpp | Tests : fonctions sur les fichiers.
|             test-xfer-network.cpp | Tests : fonctions réseau.
|===
[[documentation_translations]]
@@ -461,13 +475,13 @@ Fichiers de documentation :
|    docgen.py | Script Python pour construire les fichiers auto-générés dans le répertoire _includes/_ (voir ci-dessous).
|    XX/ | Documentation pour la langue XX (langues : en, fr, de, it, ...).
|       weechat.1.XX.adoc | Page de manuel (`man weechat`).
|       weechat_dev.XX.adoc | link:weechat_dev.fr.html[Guide du développeur] (ce document).
|       weechat_faq.XX.adoc | link:weechat_faq.fr.html[FAQ] (questions fréquemment posées).
|       weechat_plugin_api.XX.adoc | link:weechat_plugin_api.fr.html[Référence API extension].
|       weechat_quickstart.XX.adoc | link:weechat_quickstart.fr.html[Guide de démarrage].
|       weechat_relay_protocol.XX.adoc | link:weechat_relay_protocol.fr.html[Protocole Relay (pour les interfaces distantes)].
|       weechat_scripting.XX.adoc | link:weechat_scripting.fr.html[Guide pour scripts].
|       weechat_user.XX.adoc | link:weechat_user.fr.html[Guide utilisateur].
|       weechat_dev.XX.adoc | link:weechat_dev.fr.html[Guide du développeur ^↗^,window=_blank] (ce document).
|       weechat_faq.XX.adoc | link:weechat_faq.fr.html[FAQ ^↗^,window=_blank] (questions fréquemment posées).
|       weechat_plugin_api.XX.adoc | link:weechat_plugin_api.fr.html[Référence API extension ^↗^,window=_blank].
|       weechat_quickstart.XX.adoc | link:weechat_quickstart.fr.html[Guide de démarrage ^↗^,window=_blank].
|       weechat_relay_protocol.XX.adoc | link:weechat_relay_protocol.fr.html[Protocole Relay ^↗^,window=_blank] (pour les interfaces distantes).
|       weechat_scripting.XX.adoc | link:weechat_scripting.fr.html[Guide pour scripts ^↗^,window=_blank].
|       weechat_user.XX.adoc | link:weechat_user.fr.html[Guide utilisateur ^↗^,window=_blank].
|       includes/ | Fichiers inclus dans la documentation.
|          autogen_api_completions.XX.adoc | Fichier auto-généré pour la Référence API extension : complétions (ne *JAMAIS* mettre à jour manuellement !).
|          autogen_api_hdata.XX.adoc | Fichier auto-généré pour la Référence API extension : hdata (ne *JAMAIS* mettre à jour manuellement !).
@@ -517,7 +531,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.
*
@@ -741,7 +755,7 @@ new_hook_fd = malloc (sizeof (*new_hook_fd));
[[coding_python_style]]
=== Style Python
Voir https://www.python.org/dev/peps/pep-0008/
Voir https://www.python.org/dev/peps/pep-0008/[PEP 8 ^↗^,window=_blank].
[[core_internals]]
== Intérieur du cœur
@@ -947,10 +961,10 @@ Toutes les combinaisons sont résumées dans ce tableau :
| [hex]#19# + `B` + `EXT` | [hex]#19# `+B@00124+` | chat + barres | Définir le couleur de fond (couleur étendue).
| [hex]#19# + `*` + `(ATTR)STD` | [hex]#19# `+*05+` | chat + barres | Définir la couleur de texte (couleur WeeChat).
| [hex]#19# + `*` + `(ATTR)EXT` | [hex]#19# `+*@00214+` | chat + barres | Définir la couleur de texte (couleur étendue).
| [hex]#19# + `*` + `(ATTR)STD` + `,` + `STD` ^(1)^ | [hex]#19# `+*08,05+` | chat + barres | Définir la couleur de texte/fond (couleurs WeeChat).
| [hex]#19# + `*` + `(ATTR)STD` + `,` + `EXT` ^(1)^ | [hex]#19# `+*01,@00214+` | chat + barres | Définir la couleur de texte (couleur WeeChat) et de fond (couleur étendue).
| [hex]#19# + `*` + `(ATTR)EXT` + `,` + `STD` ^(1)^ | [hex]#19# `+*@00214,05+` | chat + barres | Définir la couleur de texte (couleur étendue) et de fond (couleur WeeChat).
| [hex]#19# + `*` + `(ATTR)EXT` + `,` + `EXT` ^(1)^ | [hex]#19# `+*@00214,@00017+` | chat + barres | Définir la couleur de texte/fond (couleurs étendues).
| [hex]#19# + `*` + `(ATTR)STD` + `,` + `STD` ^(1)^ | [hex]#19# `+*08,05+` | chat + barres | Définir la couleur de texte/fond (couleurs WeeChat).
| [hex]#19# + `*` + `(ATTR)STD` + `,` + `EXT` ^(1)^ | [hex]#19# `+*01,@00214+` | chat + barres | Définir la couleur de texte (couleur WeeChat) et de fond (couleur étendue).
| [hex]#19# + `*` + `(ATTR)EXT` + `,` + `STD` ^(1)^ | [hex]#19# `+*@00214,05+` | chat + barres | Définir la couleur de texte (couleur étendue) et de fond (couleur WeeChat).
| [hex]#19# + `*` + `(ATTR)EXT` + `,` + `EXT` ^(1)^ | [hex]#19# `+*@00214,@00017+` | chat + barres | Définir la couleur de texte/fond (couleurs étendues).
| [hex]#19# + `*` + `(ATTR)STD` + `~` + `STD` | [hex]#19# `+*08~05+` | chat + barres | Définir la couleur de texte/fond (couleurs WeeChat).
| [hex]#19# + `*` + `(ATTR)STD` + `~` + `EXT` | [hex]#19# `+*01~@00214+` | chat + barres | Définir la couleur de texte (couleur WeeChat) et de fond (couleur étendue).
| [hex]#19# + `*` + `(ATTR)EXT` + `~` + `STD` | [hex]#19# `+*@00214~05+` | chat + barres | Définir la couleur de texte (couleur étendue) et de fond (couleur WeeChat).
@@ -1125,7 +1139,7 @@ server->hook_timer_sasl = weechat_hook_timer (timeout * 1000,
[[git_repository]]
=== Dépôt Git
Le dépôt Git est à cette URL : https://github.com/weechat/weechat
Le dépôt Git est sur https://github.com/weechat/weechat[GitHub ^↗^,window=_blank].
Tout patch pour un bug ou une nouvelle fonctionnalité doit être effectué sur la
branche master, le format préféré étant une "pull request" sur GitHub. Un patch
@@ -1135,16 +1149,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 :
@@ -1193,8 +1291,8 @@ $ make translations && make update-po
Vous pouvez alors éditer les fichiers .po (si vous pouvez traduire dans une
langue).
Une fois terminé, vous *devez* vérifier votre fichier avec le script
_msgcheck.py_ (https://github.com/flashcode/msgcheck) :
Une fois terminé, vous *devez* vérifier votre fichier avec
https://github.com/flashcode/msgcheck[msgcheck ^↗^,window=_blank] :
----
$ msgcheck.py xx.po
+64 -34
View File
@@ -32,8 +32,10 @@ mais elle ne s'applique pas à WeeChat !).
Parce que WeeChat est très léger et apporte des fonctionnalités innovantes.
Plus d'infos sur la page des fonctionnalités WeeChat :
https://weechat.org/about/features
Plus d'infos sur la
https://weechat.org/about/features/[page des fonctionnalités ^↗^,window=_blank]
WeeChat.
[[compilation_install]]
== Compilation / installation
@@ -41,16 +43,16 @@ https://weechat.org/about/features
[[gui]]
=== J'ai entendu parler de plusieurs interfaces pour WeeChat. Comment puis-je les compiler/utiliser ?
Des interfaces distantes sont disponibles, voir la page avec les interfaces
distantes : https://weechat.org/about/interfaces
Des interfaces distantes sont disponibles, voir la
https://weechat.org/about/interfaces/[page avec les interfaces distantes ^↗^,window=_blank].
[[compile_git]]
=== Je ne peux pas compiler WeeChat après avoir cloné la base git, pourquoi ?
La méthode recommandée pour compiler WeeChat est d'utiliser
link:weechat_user.fr.html#compile_with_cmake[CMake].
link:weechat_user.fr.html#compile_with_cmake[CMake ^↗^,window=_blank].
Si vous compilez avec les link:weechat_user.fr.html#compile_with_autotools[autotools]
Si vous compilez avec les link:weechat_user.fr.html#compile_with_autotools[autotools ^↗^,window=_blank]
(et non CMake), vérifiez que vous avez bien la dernière version d'autoconf et
automake.
@@ -63,8 +65,8 @@ mises à jour.
[[compile_macos]]
=== Comment puis-je installer WeeChat sous macOS ?
Il est recommandé d'utiliser https://brew.sh/[Homebrew], vous pouvez avoir de
l'aide avec :
Il est recommandé d'utiliser https://brew.sh/[Homebrew ^↗^,window=_blank],
vous pouvez avoir de l'aide avec :
----
brew info weechat
@@ -80,12 +82,12 @@ brew install weechat
=== J'ai lancé WeeChat, mais je suis perdu, que puis-je faire ?
Pour obtenir de l'aide tapez `/help`. Pour de l'aide sur une commande, tapez
`/help commande`. Les link:weechat_user.fr.html#key_bindings[touches] et
link:weechat_user.fr.html#commands_and_options[commandes] sont listées dans la
`/help commande`. Les link:weechat_user.fr.html#key_bindings[touches ^↗^,window=_blank] et
link:weechat_user.fr.html#commands_and_options[commandes ^↗^,window=_blank] sont listées dans la
documentation.
Il est recommandé pour les nouveaux utilisateurs de lire le
link:weechat_quickstart.fr.html[Guide de démarrage rapide].
link:weechat_quickstart.fr.html[Guide de démarrage rapide ^↗^,window=_blank].
[[display]]
== Affichage
@@ -117,7 +119,7 @@ attentivement et vérifier *TOUS* les points ci-dessous :
** Si vous utilisez screen, vérifiez qu'il est lancé en mode UTF-8
("`defutf8 on`" dans ~/.screenrc ou `screen -U` pour lancer screen).
* Vérifiez que l'option
link:weechat_user.fr.html#option_weechat.look.eat_newline_glitch[_weechat.look.eat_newline_glitch_]
link:weechat_user.fr.html#option_weechat.look.eat_newline_glitch[_weechat.look.eat_newline_glitch_ ^↗^,window=_blank]
est désactivée (cette option peut causer des problèmes d'affichage).
[NOTE]
@@ -133,10 +135,10 @@ devrait être corrigé dans la glibc 2.22 (peut-être pas encore disponible dans
votre distribution).
Il y a un moyen de contournement pour utiliser la fonction _wcwidth_ corrigée :
https://blog.nytsoi.net/2015/05/04/emoji-support-for-weechat
https://blog.nytsoi.net/2015/05/04/emoji-support-for-weechat[https://blog.nytsoi.net/2015/05/04/emoji-support-for-weechat ^↗^,window=_blank].
Voir ce rapport de bug pour plus d'informations :
https://github.com/weechat/weechat/issues/79
Voir ce https://github.com/weechat/weechat/issues/79[rapport de bug ^↗^,window=_blank]
pour plus d'informations.
[[bars_background]]
=== Des barres telles que le titre et le statut ne sont pas remplies, la couleur de fond s'arrête après le texte, pourquoi ?
@@ -194,7 +196,7 @@ fenêtres.
[[buffers_list]]
=== Comment afficher la liste des tampons sur la gauche ?
Avec WeeChat ≥ 1.8, l'extension link:weechat_user.fr.html#buflist_plugin[buflist]
Avec WeeChat ≥ 1.8, l'extension link:weechat_user.fr.html#buflist[buflist ^↗^,window=_blank]
est chargée et activée par défaut.
Avec une version plus ancienne, vous pouvez installer le script _buffers.pl_ :
@@ -262,8 +264,8 @@ Vous pouvez aussi utiliser une couleur numérique à la place de `red`, comme
L'extension buflist met à disposition beaucoup d'options que vous pouvez changer,
merci de lire l'aide sur chaque option.
Il y a aussi une page wiki avec des examples avancés de configuration buflist :
https://github.com/weechat/weechat/wiki/buflist
Il y a aussi une https://github.com/weechat/weechat/wiki/buflist[page wiki ^↗^,window=_blank]
avec des exemples avancés de configuration buflist.
[[customize_prefix]]
=== Comment puis-je réduire la longueur des pseudos ou supprimer l'alignement des pseudos dans la zone de discussion ?
@@ -307,7 +309,7 @@ Ces couleurs peuvent être changées via les options __weechat.color.status_data
Les autres options pour la "hotlist" peuvent être changées via les options
__weechat.look.hotlist_*__.
Voir le link:weechat_user.fr.html#screen_layout[Guide utilisateur / Organisation de l'écran]
Voir le link:weechat_user.fr.html#screen_layout[Guide utilisateur / Organisation de l'écran ^↗^,window=_blank]
pour plus d'information sur la "hotlist".
[[input_bar_size]]
@@ -481,8 +483,8 @@ Pour les versions ≥ 0.3.5, vous pouvez utiliser un numéro de couleur dans les
options (facultatif : vous pouvez ajouter des alias de couleurs avec la commande
`/color`).
Merci de lire le link:weechat_user.fr.html#colors[Guide utilisateur / Couleurs] pour
plus d'information sur la gestion des couleurs.
Merci de lire le link:weechat_user.fr.html#colors[Guide utilisateur / Couleurs ^↗^,window=_blank]
pour plus d'information sur la gestion des couleurs.
[[search_text]]
=== Comment puis-je chercher du texte dans le tampon (comme /lastlog dans irssi) ?
@@ -490,7 +492,7 @@ plus d'information sur la gestion des couleurs.
La touche par défaut est kbd:[Ctrl+r] (la commande est : `+/input search_text_here+`).
Et sauter aux highlights : kbd:[Alt+p] / kbd:[Alt+n].
Voir le link:weechat_user.fr.html#key_bindings[Guide utilisateur / Raccourcis clavier par défaut]
Voir le link:weechat_user.fr.html#key_bindings[Guide utilisateur / Raccourcis clavier par défaut ^↗^,window=_blank]
pour plus d'information sur cette fonctionnalité.
[[terminal_focus]]
@@ -667,7 +669,7 @@ Vous pouvez définir une touche, par exemple :
----
La liste des touches par défaut est dans le
link:weechat_user.fr.html#key_bindings[Guide utilisateur / Raccourcis clavier par défaut].
link:weechat_user.fr.html#key_bindings[Guide utilisateur / Raccourcis clavier par défaut ^↗^,window=_blank].
Pour sauter vers les tampons ayant un numéro ≥ 100, vous pouvez définir un trigger
et utiliser les commandes comme `/123` pour sauter au tampon n°123 :
@@ -855,8 +857,36 @@ commande et le join des canaux) :
[[edit_autojoin]]
=== Comment puis-je ajouter/supprimer des canaux de l'option autojoin ?
Vous pouvez utiliser la commande `/set` pour éditer la liste des canaux de
l'autojoin, par exemple pour le serveur libera :
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_dynamic on
----
Pour un seul serveur :
----
/set irc.server.libera.autojoin_dynamic on
----
Avec WeeChat ≥ 3.5, vous pouvez aussi ajouter le canal coucant dans l'option
"autojoin" du serveur avec la commande `/autojoin` :
----
/autojoin add
----
Ou un autre canal :
----
/autojoin add #test
----
Avec WeeChat ≤ 3.4, vous pouvez utiliser la commande `/set` pour éditer la liste
des canaux de l'autojoin, par exemple pour le serveur libera :
----
/set irc.server.libera.autojoin [TAB]
@@ -874,7 +904,7 @@ des canaux :
/fset autojoin
----
Une autre solution est d'utiliser un script :
Avec WeeChat ≤ 3.4, une autre solution est d'utiliser un script :
----
/script search autojoin
@@ -918,7 +948,7 @@ Avec un filtre global (pour cacher *tous* les join/part/quit) :
[NOTE]
Pour l'aide : `/help filter`, `+/help irc.look.smart_filter+` et voir
link:weechat_user.fr.html#irc_smart_filter_join_part_quit[Guide utilisateur / Filtre intelligent pour les messages join/part/quit].
link:weechat_user.fr.html#irc_smart_filter_join_part_quit[Guide utilisateur / Filtre intelligent pour les messages join/part/quit ^↗^,window=_blank].
[[filter_irc_join_channel_messages]]
=== Comment puis-je filtrer certains messages affichés quand je rejoins un canal IRC ?
@@ -1020,7 +1050,7 @@ Autres scripts sur ce sujet :
=== Comment puis-je désactiver le highlight pour des pseudos spécifiques ?
Avec WeeChat ≥ 0.3.4 vous pouvez utiliser la propriété de tampon
link:weechat_user.en.html#max_hotlist_level_nicks[hotlist_max_level_nicks_add]
link:weechat_user.en.html#max_hotlist_level_nicks[hotlist_max_level_nicks_add ^↗^,window=_blank]
pour définir le niveau maximum de hotlist pour certains pseudos, par tampon,
ou groupe de tampons (comme des serveurs IRC).
@@ -1235,7 +1265,7 @@ Définissez une phrase de chiffrement et utilisez les données sécurisées part
où vous le pouvez pour les données sensibles comme les mots de passe : voir
`/help secure` et `/help` sur les options (si vous pouvez utiliser les données
sécurisées, cela est mentionné dans l'aide).
Voir aussi link:weechat_user.fr.html#secured_data[Guide utilisateur / Données sécurisées].
Voir aussi link:weechat_user.fr.html#secured_data[Guide utilisateur / Données sécurisées ^↗^,window=_blank].
Par exemple :
@@ -1258,7 +1288,7 @@ Quelques autres fichiers peuvent contenir des informations sensibles comme
des mots de passes (s'ils ne sont pas stockés dans _sec.conf_ avec la commande
`/secure`).
Voir le link:weechat_user.fr.html#files_and_directories[Guide utilisateur / Fichiers et répertoires]
Voir le link:weechat_user.fr.html#files_and_directories[Guide utilisateur / Fichiers et répertoires ^↗^,window=_blank]
pour plus d'informations sur les fichiers de configuration.
[[development]]
@@ -1267,7 +1297,7 @@ pour plus d'informations sur les fichiers de configuration.
[[bug_task_patch]]
=== Comment puis-je reporter un bug, demander une nouvelle fonctionnalité ou envoyer un patch ?
Voir : https://weechat.org/about/support
Voir https://weechat.org/about/support/[cette page ^↗^,window=_blank].
[[gdb_error_threads]]
=== Quand je lance WeeChat sous gdb, il y a une erreur à propos des threads, que puis-je faire ?
@@ -1304,11 +1334,11 @@ tester WeeChat.
Il y a plusieurs choses à faire (test, code, documentation, etc.)
Merci de prendre contact avec nous par IRC ou mail, consultez la page
support : https://weechat.org/about/support
Merci de prendre contact avec nous par IRC ou mail, consultez la
https://weechat.org/about/support/[page support ^↗^,window=_blank].
[[donate]]
=== Puis-je donner de l'argent ou d'autres choses aux développeurs WeeChat ?
Vous pouvez donner de l'argent pour aider le développement.
Plus de détails sur https://weechat.org/donate
Plus de détails sur https://weechat.org/donate/[la page de dons ^↗^,window=_blank].
File diff suppressed because it is too large Load Diff
+19 -8
View File
@@ -202,10 +202,15 @@ Pour rejoindre automatiquement des canaux lors de la connexion au serveur :
/set irc.server.libera.autojoin "#canal1,#canal2"
----
[TIP]
Vous pouvez compléter le nom et la valeur des options avec la touche kbd:[Tab]
et kbd:[Shift+Tab] pour une complétion partielle (utile pour les mots longs
comme le nom de l'option).
La commande `/autojoin` vous permet de configurer l'option _autojoin_ facilement
(voir `/help autojoin`).
Vous pouvez aussi configurer WeeChat pour automatiquement mettre à jour l'option
_autojoin_ lorsque vous rejoignez ou quittez des canaux :
----
/set irc.server_default.autojoin_dynamic on
----
Pour supprimer la valeur d'une option du serveur et utiliser sa valeur par
défaut à la place, par exemple pour utiliser les pseudos par défaut
@@ -222,6 +227,11 @@ suivante ("xxx" est le nom d'une option) :
/set irc.server.libera.xxx valeur
----
[TIP]
Vous pouvez compléter le nom et la valeur des options avec la touche kbd:[Tab]
et kbd:[Shift+Tab] pour une complétion partielle (utile pour les mots longs
comme le nom de l'option).
[[connect_to_irc_server]]
== Se connecter au serveur IRC
@@ -380,13 +390,14 @@ par exemple :
Voir `/help script` pour plus d'infos.
Une liste des scripts est disponible avec `/script` ou à cette URL :
https://weechat.org/scripts
Une liste des scripts est disponible avec `/script` ou sur
https://weechat.org/scripts/[cette page ^↗^,window=_blank].
[[more_doc]]
== Plus de documentation
Vous pouvez maintenant utiliser WeeChat et lire la FAQ/documentation pour
toute autre question : https://weechat.org/doc
Vous pouvez maintenant utiliser WeeChat et lire la
https://weechat.org/doc/[FAQ/documentation ^↗^,window=_blank]
pour toute autre question.
Bon WeeChat !
+101 -95
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 ^↗^,window=_blank] _(WeeChat ≥ 0.3.7)_
*** _zstd_ : compresser avec https://facebook.github.io/zstd/[Zstandard ^↗^,window=_blank] :
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 ^↗^,window=_blank]
** _zstd_ : les messages sont compressés avec https://facebook.github.io/zstd/[Zstandard ^↗^,window=_blank]
[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,14 +280,14 @@ htb: {
'password_hash_iterations': '100000',
'totp': 'on',
'nonce': '85B1EE00695A5B254E14F4885538DF0D',
'compression': 'off',
'compression': 'zstd',
}
----
[[command_init]]
=== init
_Mis à jour dans les versions 2.4, 2.8, 2.9._
_Mis à jour dans les versions 2.4, 2.8, 2.9, 3.5._
S'authentifier avec _relay_.
@@ -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,
@@ -702,6 +704,8 @@ inl:
text_search_found: 0
text_search_input: None
highlight_words: None
highlight_disable_regex: None
highlight_disable_regex_compiled: '0x0'
highlight_regex: None
highlight_regex_compiled: '0x0'
highlight_tags_restrict: None
@@ -1005,7 +1009,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 +1161,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 +1229,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 +1282,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 +1403,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 ^↗^,window=_blank]
** _0x02_ : les données qui suivent sont compressées avec https://facebook.github.io/zstd/[Zstandard ^↗^,window=_blank]
* _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 +1414,10 @@ 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 ^↗^,window=_blank] ou
https://facebook.github.io/zstd/[Zstandard ^↗^,window=_blank],
et par conséquent doivent être décompressées avant d'être utilisées.
[[message_identifier]]
=== Identifiant
@@ -1428,68 +1434,68 @@ Les identifiants réservés par WeeChat :
[width="100%",cols="5m,5,3,4,7",options="header"]
|===
| Identifiant | Reçu avec _sync_ | Données envoyées |
Description | Action recommandée dans le client
| Identifiant | Reçu avec _sync_ | Données envoyées
| Description | Action recommandée dans le client
| _buffer_opened | buffers / buffer | hdata : buffer |
Tampon ouvert. | Ouvrir le tampon.
| _buffer_opened | buffers / buffer | hdata : buffer
| Tampon ouvert. | Ouvrir le tampon.
| _buffer_type_changed | buffers / buffer | hdata : buffer |
Type de tampon changé. | Changer le type de tampon.
| _buffer_type_changed | buffers / buffer | hdata : buffer
| Type de tampon changé. | Changer le type de tampon.
| _buffer_moved | buffers / buffer | hdata : buffer |
Tampon déplacé. | Déplacer le tampon.
| _buffer_moved | buffers / buffer | hdata : buffer
| Tampon déplacé. | Déplacer le tampon.
| _buffer_merged | buffers / buffer | hdata : buffer |
Tampon mélangé. | Mélanger le tampon.
| _buffer_merged | buffers / buffer | hdata : buffer
| Tampon mélangé. | Mélanger le tampon.
| _buffer_unmerged | buffers / buffer | hdata : buffer |
Tampon sorti du mélange. | Sortir le tampon du mélange.
| _buffer_unmerged | buffers / buffer | hdata : buffer
| Tampon sorti du mélange. | Sortir le tampon du mélange.
| _buffer_hidden | buffers / buffer | hdata : buffer |
Tampon masqué. | Masquer le le tampon.
| _buffer_hidden | buffers / buffer | hdata : buffer
| Tampon masqué. | Masquer le le tampon.
| _buffer_unmerged | buffers / buffer | hdata : buffer |
Tampon démasqué. | Démasquer le tampon.
| _buffer_unmerged | buffers / buffer | hdata : buffer
| Tampon démasqué. | Démasquer le tampon.
| _buffer_renamed | buffers / buffer | hdata : buffer |
Tampon renommé. | Renommer le tampon.
| _buffer_renamed | buffers / buffer | hdata : buffer
| Tampon renommé. | Renommer le tampon.
| _buffer_title_changed | buffers / buffer | hdata : buffer |
Titre du tampon changé. | Changer le titre du tampon.
| _buffer_title_changed | buffers / buffer | hdata : buffer
| Titre du tampon changé. | Changer le titre du tampon.
| _buffer_localvar_added | buffers / buffer | hdata : buffer |
Variable locale ajoutée. | Ajouter la variable locale dans le tampon.
| _buffer_localvar_added | buffers / buffer | hdata : buffer
| Variable locale ajoutée. | Ajouter la variable locale dans le tampon.
| _buffer_localvar_changed | buffers / buffer | hdata : buffer |
Variable locale changée. | Changer la variable locale dans le tampon.
| _buffer_localvar_changed | buffers / buffer | hdata : buffer
| Variable locale changée. | Changer la variable locale dans le tampon.
| _buffer_localvar_removed | buffers / buffer | hdata : buffer |
Variable locale supprimée. | Supprimer la variable locale du tampon.
| _buffer_localvar_removed | buffers / buffer | hdata : buffer
| Variable locale supprimée. | Supprimer la variable locale du tampon.
| _buffer_closing | buffers / buffer | hdata : buffer |
Tampon qui se ferme. | Fermer le tampon.
| _buffer_closing | buffers / buffer | hdata : buffer
| Tampon qui se ferme. | Fermer le tampon.
| _buffer_cleared | buffer | hdata : buffer |
Tampon qui est vidé. | Vider le tampon.
| _buffer_cleared | buffer | hdata : buffer
| Tampon qui est vidé. | Vider le tampon.
| _buffer_line_added | buffer | hdata : line |
Ligne ajoutée dans le tampon. | Afficher la ligne dans le tampon.
| _buffer_line_added | buffer | hdata : line
| Ligne ajoutée dans le tampon. | Afficher la ligne dans le tampon.
| _nicklist | nicklist | hdata : nicklist_item |
Liste de pseudos pour un tampon. | Remplacer la liste de pseudos.
| _nicklist | nicklist | hdata : nicklist_item
| Liste de pseudos pour un tampon. | Remplacer la liste de pseudos.
| _nicklist_diff | nicklist | hdata : nicklist_item |
Différence de liste de pseudos pour un tampon . | Mettre à jour la liste de pseudos.
| _nicklist_diff | nicklist | hdata : nicklist_item
| Différence de liste de pseudos pour un tampon . | Mettre à jour la liste de pseudos.
| _pong | (always) | chaîne : paramètres du ping |
Réponse à un "ping". | Mesurer le temps de réponse.
| _pong | (always) | chaîne : paramètres du ping
| Réponse à un "ping". | Mesurer le temps de réponse.
| _upgrade | upgrade | (vide) |
WeeChat se met à jour. | Se désynchroniser de WeeChat (ou quitter).
| _upgrade | upgrade | (vide)
| WeeChat se met à jour. | Se désynchroniser de WeeChat (ou quitter).
| _upgrade_ended | upgrade | (vide) |
WeeChat a été mis à jour. | (Re)synchroniser avec WeeChat.
| _upgrade_ended | upgrade | (vide)
| WeeChat a été mis à jour. | (Re)synchroniser avec WeeChat.
|===
[[message_buffer_opened]]
@@ -2360,7 +2366,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 +2479,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 +2562,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_
+195 -147
View File
@@ -13,8 +13,8 @@
Ce manuel documente le client de messagerie instantanée WeeChat, il fait
partie de WeeChat.
La dernière version de ce document peut être téléchargée sur cette page :
https://weechat.org/doc
La dernière version de ce document peut être téléchargée sur
https://weechat.org/doc/[cette page ^↗^,window=_blank].
[[introduction]]
@@ -67,7 +67,7 @@ Si quelque chose doit être lancé en arrière-plan, la fonction `+hook_process+
peut être utilisée. Voir l'exemple dans le chapitre
<<hook_process,Lancer un processus en tâche de fond>> et la documentation sur
la fonction `+hook_process+` dans la
link:weechat_plugin_api.en.html#_hook_process[Référence API extension WeeChat].
link:weechat_plugin_api.en.html#_hook_process[Référence API extension WeeChat ^↗^,window=_blank].
[[languages_specificities]]
=== Spécificités des langages
@@ -80,7 +80,7 @@ link:weechat_plugin_api.en.html#_hook_process[Référence API extension WeeChat]
WeeChat définit un module `weechat` qui doit être importé avec `import weechat`. +
Un "stub" Python pour l'API WeeChat est disponible dans le dépôt :
https://raw.githubusercontent.com/weechat/weechat/master/src/plugins/python/weechat.pyi[weechat.pyi].
https://raw.githubusercontent.com/weechat/weechat/master/src/plugins/python/weechat.pyi[weechat.pyi ^↗^,window=_blank].
[[python_functions]]
===== Fonctions
@@ -107,38 +107,38 @@ pas exhaustive) :
|===
| Fonction API | Paramètres | Exemples | Description
| hook_modifier |
irc_in_yyy |
pass:[irc_in_privmsg] +
pass:[irc_in_notice] |
Un message reçu dans l'extension IRC, avant qu'il ne soit décodé vers UTF-8. +
| hook_modifier
| irc_in_yyy
| pass:[irc_in_privmsg] +
pass:[irc_in_notice]
| Un message reçu dans l'extension IRC, avant qu'il ne soit décodé vers UTF-8. +
+
Il est recommandé d'utiliser plutôt le modificateur `+irc_in2_yyy+`, la chaîne
reçue sera toujours valide UTF-8. +
Voir la fonction `+hook_modifier+` dans la
link:weechat_plugin_api.fr.html#_hook_modifier[Référence API extension WeeChat].
link:weechat_plugin_api.fr.html#_hook_modifier[Référence API extension WeeChat ^↗^,window=_blank].
| hook_signal |
xxx,irc_out_yyy +
xxx,irc_outtags_yyy |
pass:[*,irc_out_privmsg] +
| hook_signal
| xxx,irc_out_yyy +
xxx,irc_outtags_yyy
| pass:[*,irc_out_privmsg] +
pass:[*,irc_out_notice] +
pass:[*,irc_outtags_privmsg] +
pass:[*,irc_outtags_notice] |
Un message envoyé par l'extension IRC, après encodage vers le jeu de caractères
pass:[*,irc_outtags_notice]
| Un message envoyé par l'extension IRC, après encodage vers le jeu de caractères
`encode` défini par l'utilisateur (si différent de `UTF-8`, qui est la valeur
par défaut). +
+
Il est recommandé d'utiliser plutôt le signal `+xxx,irc_out1_yyy+`, la chaîne
reçue sera toujours valide UTF-8. +
Voir la fonction `+hook_signal+` dans la
link:weechat_plugin_api.fr.html#_hook_signal[Référence API extension WeeChat].
link:weechat_plugin_api.fr.html#_hook_signal[Référence API extension WeeChat ^↗^,window=_blank].
| hook_process +
hook_process_hashtable |
- |
- |
La sortie de la commande, envoyée à la fonction de rappel, peut contenir des
hook_process_hashtable
| -
| -
| La sortie de la commande, envoyée à la fonction de rappel, peut contenir des
données invalides UTF-8.
|===
@@ -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)
@@ -382,7 +389,7 @@ dans le répertoire _autoload_ est automatiquement créé.
== Différences avec l'API C
L'API script est quasiment identique à l'API C.
Vous pouvez consulter la link:weechat_plugin_api.fr.html[Référence API extension WeeChat]
Vous pouvez consulter la link:weechat_plugin_api.fr.html[Référence API extension WeeChat ^↗^,window=_blank]
pour le détail de chaque fonction de l'API : prototype, paramètres, valeurs
de retour, exemples.
@@ -556,25 +563,25 @@ weechat_hook_timer(1000, 0, 1, $timer_cb, 'test');
== API script
Pour plus d'informations sur les fonctions de l'API, merci de consulter la
link:weechat_plugin_api.fr.html[Référence API extension WeeChat].
link:weechat_plugin_api.fr.html[Référence API extension WeeChat ^↗^,window=_blank].
[[script_api_functions]]
=== Fonctions
Liste des fonctions de l'API script :
[width="100%",cols="1,3",options="header"]
[width="100%",cols="1,5",options="header"]
|===
| Catégorie | Fonctions
| général |
register
| général
| register
| extensions |
plugin_get_name
| extensions
| plugin_get_name
| chaînes |
charset_set +
| chaînes
| charset_set +
iconv_to_internal +
iconv_from_internal +
gettext +
@@ -586,6 +593,7 @@ Liste des fonctions de l'API script :
string_has_highlight_regex +
string_mask_to_regex +
string_format_size +
string_parse_size +
string_color_code_size +
string_remove_color +
string_is_command_char +
@@ -593,13 +601,13 @@ Liste des fonctions de l'API script :
string_eval_expression +
string_eval_path_home
| répertoires |
mkdir_home +
| répertoires
| mkdir_home +
mkdir +
mkdir_parents
| listes triées |
list_new +
| listes triées
| list_new +
list_add +
list_search +
list_search_pos +
@@ -615,8 +623,8 @@ Liste des fonctions de l'API script :
list_remove_all +
list_free
| fichiers de configuration |
config_new +
| fichiers de configuration
| config_new +
config_new_section +
config_search_section +
config_new_option +
@@ -653,20 +661,21 @@ Liste des fonctions de l'API script :
config_set_desc_plugin +
config_unset_plugin
| associations de touches |
key_bind +
| associations de touches
| key_bind +
key_unbind
| affichage |
prefix +
| affichage
| prefix +
color +
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 |
hook_command +
| hooks
| hook_command +
hook_command_run +
hook_timer +
hook_fd +
@@ -691,8 +700,9 @@ Liste des fonctions de l'API script :
unhook +
unhook_all
| tampons |
buffer_new +
| tampons
| buffer_new +
buffer_new_props +
current_buffer +
buffer_search +
buffer_search_main +
@@ -707,16 +717,16 @@ Liste des fonctions de l'API script :
buffer_string_replace_local_var +
buffer_match_list
| fenêtres |
current_window +
| fenêtres
| current_window +
window_search_with_buffer +
window_get_integer +
window_get_string +
window_get_pointer +
window_set_title
| liste des pseudos |
nicklist_add_group +
| liste des pseudos
| nicklist_add_group +
nicklist_search_group +
nicklist_add_nick +
nicklist_search_nick +
@@ -732,8 +742,8 @@ Liste des fonctions de l'API script :
nicklist_nick_get_pointer +
nicklist_nick_set
| barres |
bar_item_search +
| barres
| bar_item_search +
bar_item_new +
bar_item_update +
bar_item_remove +
@@ -743,23 +753,23 @@ Liste des fonctions de l'API script :
bar_update +
bar_remove
| commandes |
command +
| commandes
| command +
command_options
| complétion |
completion_new +
| complétion
| completion_new +
completion_search +
completion_get_string +
completion_list_add +
completion_free
| infos |
info_get +
| infos
| info_get +
info_get_hashtable
| infolists |
infolist_new +
| infolists
| infolist_new +
infolist_new_item +
infolist_new_var_integer +
infolist_new_var_string +
@@ -777,8 +787,8 @@ Liste des fonctions de l'API script :
infolist_time +
infolist_free
| hdata |
hdata_get +
| hdata
| hdata_get +
hdata_get_var_offset +
hdata_get_var_type_string +
hdata_get_var_array_size +
@@ -799,8 +809,8 @@ Liste des fonctions de l'API script :
hdata_update +
hdata_get_string
| mise à jour |
upgrade_new +
| mise à jour
| upgrade_new +
upgrade_write_object +
upgrade_read +
upgrade_close
@@ -811,18 +821,18 @@ 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
| codes retour |
`WEECHAT_RC_OK` (entier) +
| codes retour
| `WEECHAT_RC_OK` (entier) +
`WEECHAT_RC_OK_EAT` (entier) +
`WEECHAT_RC_ERROR` (entier)
| fichiers de configuration |
`WEECHAT_CONFIG_READ_OK` (entier) +
| fichiers de configuration
| `WEECHAT_CONFIG_READ_OK` (entier) +
`WEECHAT_CONFIG_READ_MEMORY_ERROR` (entier) +
`WEECHAT_CONFIG_READ_FILE_NOT_FOUND` (entier) +
`WEECHAT_CONFIG_WRITE_OK` (entier) +
@@ -837,23 +847,23 @@ Liste des constantes de l'API script :
`WEECHAT_CONFIG_OPTION_UNSET_OK_REMOVED` (entier) +
`WEECHAT_CONFIG_OPTION_UNSET_ERROR` (entier)
| listes triées |
`WEECHAT_LIST_POS_SORT` (chaîne) +
| listes triées
| `WEECHAT_LIST_POS_SORT` (chaîne) +
`WEECHAT_LIST_POS_BEGINNING` (chaîne) +
`WEECHAT_LIST_POS_END` (chaîne)
| hotlist |
`WEECHAT_HOTLIST_LOW` (chaîne) +
| hotlist
| `WEECHAT_HOTLIST_LOW` (chaîne) +
`WEECHAT_HOTLIST_MESSAGE` (chaîne) +
`WEECHAT_HOTLIST_PRIVATE` (chaîne) +
`WEECHAT_HOTLIST_HIGHLIGHT` (chaîne)
| hook process |
`WEECHAT_HOOK_PROCESS_RUNNING` (entier) +
| hook process
| `WEECHAT_HOOK_PROCESS_RUNNING` (entier) +
`WEECHAT_HOOK_PROCESS_ERROR` (entier)
| hook connect |
`WEECHAT_HOOK_CONNECT_OK` (entier) +
| hook connect
| `WEECHAT_HOOK_CONNECT_OK` (entier) +
`WEECHAT_HOOK_CONNECT_ADDRESS_NOT_FOUND` (entier) +
`WEECHAT_HOOK_CONNECT_IP_ADDRESS_NOT_FOUND` (entier) +
`WEECHAT_HOOK_CONNECT_CONNECTION_REFUSED` (entier) +
@@ -865,8 +875,8 @@ Liste des constantes de l'API script :
`WEECHAT_HOOK_CONNECT_TIMEOUT` (entier) +
`WEECHAT_HOOK_CONNECT_SOCKET_ERROR` (entier)
| hook signal |
`WEECHAT_HOOK_SIGNAL_STRING` (chaîne) +
| hook signal
| `WEECHAT_HOOK_SIGNAL_STRING` (chaîne) +
`WEECHAT_HOOK_SIGNAL_INT` (chaîne) +
`WEECHAT_HOOK_SIGNAL_POINTER` (chaîne)
|===
@@ -876,7 +886,7 @@ Liste des constantes de l'API script :
Ce chapitre montre quelques tâches courantes, avec des exemples.
Seule une partie de l'API est utilisée ici, pour une référence complète, voir la
link:weechat_plugin_api.fr.html[Référence API extension WeeChat].
link:weechat_plugin_api.fr.html[Référence API extension WeeChat ^↗^,window=_blank].
[[buffers]]
=== Tampons
@@ -896,7 +906,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 +1087,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 +1148,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/",
@@ -1127,17 +1164,17 @@ weechat.hook_process("url:https://weechat.org/dev/info/stable/",
----
[TIP]
Toutes les infos disponibles à propos de WeeChat sont sur la page
https://weechat.org/dev/info
Toutes les infos disponibles à propos de WeeChat sont sur
https://weechat.org/dev/info/[cette page ^↗^,window=_blank].
Exemple de transfert d'URL avec une option : télécharger le dernier paquet de
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",
@@ -1147,7 +1184,7 @@ weechat.hook_process_hashtable("url:https://weechat.org/files/src/weechat-devel.
Pour plus d'information sur le transfert d'URL et les options disponibles, voir
les fonctions `+hook_process+` et `+hook_process_hashtable+` dans la
link:weechat_plugin_api.fr.html#_hook_process[Référence API extension WeeChat].
link:weechat_plugin_api.fr.html#_hook_process[Référence API extension WeeChat ^↗^,window=_blank].
[[config_options]]
=== Config / options
@@ -1308,64 +1345,72 @@ Le résultat est une table de hachage avec les clés suivantes
[width="100%",cols="3,^2,10,7",options="header"]
|===
| Clé | Depuis WeeChat ^(1)^ | Description | Exemple
| Clé | Depuis WeeChat ^(1)^ | Description | Exemple
| tags | 0.4.0 |
Les étiquettes dans le message (peut être vide). |
`+time=2015-06-27T16:40:35.000Z+`
| tags | 0.4.0
| Les étiquettes dans le message (peut être vide).
| `+time=2015-06-27T16:40:35.000Z+`
| tag_xxx | 3.3 |
Valeur de l'étiquette "xxx" sans les échappements (une clé par étiquette). |
`+2015-06-27T16:40:35.000Z+`
| tag_xxx | 3.3
| Valeur de l'étiquette "xxx" sans les échappements (une clé par étiquette).
| `+2015-06-27T16:40:35.000Z+`
| message_without_tags | 0.4.0 |
Le message sans les étiquettes (la même chose que le message s'il n'y a pas
d'étiquettes). |
`+:nick!user@host PRIVMSG #weechat :hello!+`
| message_without_tags | 0.4.0
| Le message sans les étiquettes (la même chose que le message s'il n'y a pas
d'étiquettes).
| `+:nick!user@host PRIVMSG #weechat :hello!+`
| nick | 0.3.4 |
Le pseudo d'origine. |
`+nick+`
| nick | 0.3.4
| Le pseudo d'origine.
| `+nick+`
| user | 2.7 |
L'utilisateur d'origine. |
`+user+`
| user | 2.7
| L'utilisateur d'origine.
| `+user+`
| host | 0.3.4 |
L'hôte d'origine (incluant le pseudo). |
`+nick!user@host+`
| host | 0.3.4
| L'hôte d'origine (incluant le pseudo).
| `+nick!user@host+`
| command | 0.3.4 |
La commande (_PRIVMSG_, _NOTICE_, ...). |
`+PRIVMSG+`
| command | 0.3.4
| La commande (_PRIVMSG_, _NOTICE_, ...).
| `+PRIVMSG+`
| channel | 0.3.4 |
Le canal cible. |
`+#weechat+`
| channel | 0.3.4
| Le canal cible.
| `+#weechat+`
| arguments | 0.3.4 |
Les paramètres de la commande (incluant le canal). |
`+#weechat :hello!+`
| arguments | 0.3.4
| Les paramètres de la commande (incluant le canal).
| `+#weechat :hello!+`
| text | 1.3 |
Le texte (par exemple un message utilisateur). |
`+hello!+`
| text | 1.3
| Le texte (par exemple un message utilisateur).
| `+hello!+`
| pos_command | 1.3 |
La position de _command_ dans le message ("-1" si _command_ n'a pas été trouvé). |
`+47+`
| paramN | 3.4
| Paramètre de commande (de 1 à N).
| `+#weechat+`
| pos_arguments | 1.3 |
La position de _arguments_ dans le message ("-1" si _arguments_ n'a pas été trouvé). |
`+55+`
| num_params | 3.4
| Nombre de paramètres de commande.
| `+2+`
| pos_channel | 1.3 |
La position de _channel_ dans le message ("-1" si _channel_ n'a pas été trouvé). |
`+55+`
| pos_command | 1.3
| La position de _command_ dans le message ("-1" si _command_ n'a pas été trouvé).
| `+47+`
| pos_text | 1.3 |
La position de _text_ dans le message ("-1" si _text_ n'a pas été trouvé). |
`+65+`
| pos_arguments | 1.3
| La position de _arguments_ dans le message ("-1" si _arguments_ n'a pas été trouvé).
| `+55+`
| pos_channel | 1.3
| La position de _channel_ dans le message ("-1" si _channel_ n'a pas été trouvé).
| `+55+`
| pos_text | 1.3
| La position de _text_ dans le message ("-1" si _text_ n'a pas été trouvé).
| `+65+`
|===
[NOTE]
@@ -1389,6 +1434,9 @@ dict = weechat.info_get_hashtable(
# "channel": "#weechat",
# "arguments": "#weechat :hello!",
# "text": "hello!",
# "param1": "#weechat",
# "param2": "hello!",
# "num_params": "2",
# "pos_command": "65",
# "pos_arguments": "73",
# "pos_channel": "73",
File diff suppressed because it is too large Load Diff
+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
@@ -92,6 +94,8 @@
| tcl | tcl_script | elenco degli script
| trigger | trigger_add_arguments | arguments for command that adds a trigger: trigger name, hooks, hook arguments, hook conditions, hook regex, hook command, hook return code, post actions
| trigger | trigger_hook_arguments | default arguments for a hook
| trigger | trigger_hook_command | default command for a hook
@@ -146,6 +150,14 @@
| weechat | cursor_areas | aree ("chat" o nome barra) per il movimento libero del cursore
| weechat | custom_bar_item_add_arguments | arguments for command that adds a custom bar item: item name, conditions, content
| weechat | custom_bar_item_conditions | conditions for custom bar item
| weechat | custom_bar_item_contents | contents for custom bar item
| weechat | custom_bar_items_names | names of custom bar items
| weechat | env_value | value of an environment variable
| weechat | env_vars | environment variables

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