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

Compare commits

..

976 Commits

Author SHA1 Message Date
Sébastien Helleu 9df8044cae irc: fix send of split messages when server option "anti_flood" set to 0 (issue #2172) 2024-08-15 20:23:12 +02:00
Sébastien Helleu 679a87c571 Version 4.3.7-dev 2024-08-15 20:21:01 +02:00
Sébastien Helleu da301b41d3 Version 4.3.6 2024-08-15 15:21:34 +02:00
LuK1337 c12c488933 core: replace manual endianness swap with htobe64() call
This fixes generation of TOTP and tests on FreeBSD.
2024-08-14 12:19:52 +02:00
Sébastien Helleu 345d99a9b5 relay/api: fix timezone of dates sent to clients (issue #2151) 2024-07-16 23:50:24 +02:00
Sébastien Helleu c6ad4bfd20 relay/api: remove unused macro MSG_ADD_HDATA_TIME (issue #2151) 2024-07-16 23:50:16 +02:00
Sébastien Helleu 43697033cf relay: fix crash when sending data to a remote buffer when the remote has been deleted (issue #2157) 2024-07-16 23:48:53 +02:00
Sébastien Helleu eb7fd8ac9e Version 4.3.6-dev 2024-07-16 22:38:57 +02:00
Sébastien Helleu 2325d43447 Version 4.3.5 2024-07-16 22:27:17 +02:00
Sébastien Helleu 7cb991667c ruby: fix crash in plugin initialization (issue #2163)
This regression was introduced by commit
3d041a0364.
2024-07-15 09:39:49 +02:00
Sébastien Helleu 22370481a0 Version 4.3.5-dev 2024-07-03 22:02:03 +02:00
Sébastien Helleu 3d40f96e2d Version 4.3.4 2024-07-03 21:50:54 +02:00
Sébastien Helleu f29dd1585e relay/api: fix "body_type" returned when lines or nicks of a buffer are requested 2024-06-30 00:41:49 +02:00
Sébastien Helleu 3d041a0364 ruby: fix builtin functions not available (issue #2109) 2024-06-29 08:01:38 +02:00
Sébastien Helleu f418b4204e core: add missing command /filter in ChangeLog (issue #1956) 2024-06-29 08:00:16 +02:00
Brad Smith 680426100d tests: fix compilation of tests on OpenBSD 2024-06-28 23:23:45 +02:00
Sébastien Helleu b1a4cd3fab core: fix crash when deleting a bar that has no items (issue #2138) 2024-06-27 18:55:01 +02:00
Sébastien Helleu 486ea8837a python: call empty eval workaround before auto-load of scripts (issue #2046, issue #2126)
This should definitely fix the crash with Python 3.12, even when scripts are
auto-loaded (the previous fix was working only when the scripts are loaded
manually).
2024-06-26 19:07:35 +02:00
Sébastien Helleu e5725a366d scripts: fix reset of "quiet" status in case of nested calls (issue #2046, issue #2126) 2024-06-26 19:07:33 +02:00
Sébastien Helleu 1de31fc6a2 core: update ChangeLog (issue #2046, issue #2126) 2024-06-23 18:45:48 +02:00
Trygve Aaberge 4dd47188f5 python: unload script interpreters before eval interpreter
The workaround in the previous commit didn't work for one user, so try
unloading the eval interpreter last to see if that helps.
2024-06-23 18:43:27 +02:00
Trygve Aaberge 35df848e73 python: add workaround for crash on unload with Python 3.12
Python 3.12 has a bug where it crashes when you unload all the
interpreters unless you make sure to unload the first interpreter you
loaded last. For some reason, loading the eval interpreter before any
scripts also seems to prevent the issue, even if the eval interpreter is
unloaded before the other interpreters.

So this just evals an empty string at the end of initing the Python
plugin if the Python version is 3.12, to make sure the eval interpreter
is loaded first.

Fixes #2046
2024-06-23 18:43:25 +02:00
Sébastien Helleu 1cec7e8126 Version 4.3.4-dev 2024-06-22 11:04:53 +02:00
Sébastien Helleu a70ca92b74 Version 4.3.3 2024-06-22 11:02:31 +02:00
Sébastien Helleu 684f10c442 debian: update changelog 2024-06-22 10:10:23 +02:00
Sébastien Helleu 2d081b0ef3 core: add version 4.3.3 in release notes 2024-06-22 09:28:46 +02:00
Sébastien Helleu 19be144d2f tests: add tests of hdata returning NULL pointer in eval 2024-06-22 09:09:12 +02:00
Sébastien Helleu fb9a69c6ae core, plugins: return "0x0" instead of "(nil)" for pointers formatted in strings
This is a partial revert of the commit
965beb37de.
2024-06-22 08:59:50 +02:00
Sébastien Helleu c82486d437 core: add issue #446 in ChangeLog 2024-06-10 13:45:48 +02:00
Sébastien Helleu 802e462ce5 perl: fix quote of variable PERL_LFLAGS in CMake file 2024-06-10 09:23:03 +02:00
LuK1337 126a42235c tests: relay: fix relay_http_parse_header function prototype 2024-06-07 12:45:12 +02:00
Sébastien Helleu ddb1db9a2c tests: reset option relay.network.websocket_allowed_origins after changing it in tests (issue #2127)
This fixes a test failure when the test changing the option is executed before
this one:

…/tests/unit/plugins/relay/api/test-relay-api-protocol.cpp:799: error: Failure in TEST(RelayApiProtocolWithClient, RecvJson)
        expected <HTTP/1.1 101 Switching Protocols
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Accept: Z5uTZwvwYNDm9w4HFGk26ijp/p0=

>
        but was  <HTTP/1.1 403 Forbidden
Content-Length: 0

>
        difference starts at position 9 at: < HTTP/1.1 403 Forbid>
2024-06-07 12:36:58 +02:00
Sébastien Helleu 26c000c6b0 Version 4.3.3-dev 2024-06-06 21:50:46 +02:00
Sébastien Helleu 59e292a5be Version 4.3.2 2024-06-06 21:45:29 +02:00
Sébastien Helleu 8617bd7d2a core: add version 4.3.2 in release notes 2024-06-06 21:43:37 +02:00
Sébastien Helleu e262cd47b4 xfer: fix display of input prompt in DCC chat buffers (issue #2128) 2024-06-06 13:31:21 +02:00
Sébastien Helleu 5a7db09eb2 irc: fix display of input prompt in private buffers (issue #2128) 2024-06-05 21:05:17 +02:00
Sébastien Helleu 5fc7813643 irc: don't return pointer to irc server if the channel or nick is not found in info "irc_buffer" 2024-06-02 22:50:24 +02:00
Sébastien Helleu dc319af254 core: add link to issue #1549 for ChangeLog entries about permessage-deflate 2024-06-02 09:56:28 +02:00
Sébastien Helleu e920903354 relay: enable websocket extension "permessage-deflate" with "api" relay only 2024-06-02 09:09:16 +02:00
Sébastien Helleu 6457394042 relay: add option relay.look.raw_messages_max_length (issue #2122) 2024-06-01 22:38:55 +02:00
Sébastien Helleu 7516774474 relay: fix websocket permessage-deflate extension when the client doesn't send the max window bits parameters 2024-06-01 22:28:37 +02:00
Sébastien Helleu a9d1b2990f relay: fix allocation and reinit of field "client_context_takeover" in websocket deflate structure 2024-06-01 14:43:31 +02:00
Sébastien Helleu 13198697a9 Version 4.3.2-dev 2024-06-01 14:39:12 +02:00
Sébastien Helleu 2a0e578ae7 Version 4.3.1 2024-05-31 13:34:43 +02:00
Sébastien Helleu 571da9f056 core: add note about old libgcrypt versions in release notes 2024-05-31 13:34:23 +02:00
Sébastien Helleu 88b021f1b7 core: add version 4.2.3 in ChangeLog and release notes 2024-05-31 13:25:45 +02:00
Sébastien Helleu 7eb04b77fe xfer: fix send of data on the DCC chat buffer after /upgrade if the buffer was opened before the upgrade (issue #2092) 2024-05-31 08:25:22 +02:00
Sébastien Helleu b615e6cee7 core: add version 4.3.1 in release notes 2024-05-27 12:14:02 +02:00
Sébastien Helleu d1d7d4573c core: fix detection of libgcrypt ≥ 1.11 (debian #1071960)
Use pkg-config to detect libgcrypt, since command `libgcrypt-config` is not
available any more.

Remove patches for Debian/Raspbian Buster and Ubuntu Bionic: detection of
libgcrypt don't work any more with version 1.8.4 on Debian Buster and 1.8.1 on
Ubuntu Bionic (both versions don't provide the file `libgcrypt.pc`).
2024-05-27 08:24:03 +02:00
Sébastien Helleu 43d9c20e36 irc: close /list buffer when the server buffer is closed (issue #2121) 2024-05-27 07:42:30 +02:00
Sébastien Helleu 8ea0aa5f41 core, relay: fix include directory of libcjson and libzstd 2024-05-26 23:16:41 +02:00
Sébastien Helleu f02ecf3e83 php: fix return value of function hdata_longlong 2024-05-26 16:25:20 +02:00
Sébastien Helleu 490a0b9db0 core: add link to issues in ChangeLog 2024-05-26 16:08:42 +02:00
LuK1337 0ce38e7d58 tcl: fix return value for hdata_longlong
Using API_RETURN_LONG() here breaks tests on i368.
2024-05-26 16:07:44 +02:00
Sébastien Helleu bc380447eb tests: fix compilation of tests on Rocky 9.4 2024-05-26 16:00:53 +02:00
Sébastien Helleu 73c8b5f93c core: add note about lag in buflist in release notes 2024-05-26 14:59:39 +02:00
Sébastien Helleu a6519001c8 core: update ChangeLog 2024-05-26 14:19:31 +02:00
LuK1337 8b106be58e tests: relay: fix HotlistToJson test on s390x
1: error: Failure in TEST(RelayApiMsg, HotlistToJson)
1: 	expected <2024-05-26T10:29:37.716512Z>
1: 	but was  <2024-05-26T10:29:37.000000Z>
1: 	difference starts at position 20 at: <T10:29:37.000000Z   >
2024-05-26 14:19:18 +02:00
LuK1337 66e63bf8cf tests: scripts: fix wrong ifdef check 2024-05-26 14:19:18 +02:00
LuK1337 94ff5e5758 tests: relay: add missing <string.h> include
Fixes build error on Fedora 40.
2024-05-26 14:19:18 +02:00
Sébastien Helleu 73720cf792 Version 4.3.1-dev 2024-05-26 14:19:18 +02:00
Sébastien Helleu b407de4c3b Version 4.3.0 2024-05-26 09:16:17 +02:00
Sébastien Helleu 8444670ef1 relay/api: set API version to 0.1.0 in OpenAPI document 2024-05-26 08:39:28 +02:00
Sébastien Helleu 657805ca25 core: add relay options renamed in release notes 2024-05-26 08:24:08 +02:00
Sébastien Helleu 12378b3a19 relay/api: set API version to 0.1.0 2024-05-26 00:04:28 +02:00
Sébastien Helleu 7684d5a3d1 tests: add test of IRC message split with newline but no server 2024-05-25 19:48:41 +02:00
Sébastien Helleu 2488466b0c irc: fix crash in split of IRC message containing a newline if the server is not given 2024-05-25 19:28:49 +02:00
Sébastien Helleu 647ca0c047 tests: remove dead assignments 2024-05-25 19:22:13 +02:00
Sébastien Helleu 1452497b32 tests: fix tests on hook_infolist_get with an invalid pointer 2024-05-25 19:13:08 +02:00
Sébastien Helleu 2c7057bf22 relay/remote: fix relay API version comparison with a string that can be NULL 2024-05-25 19:11:25 +02:00
Krzysztof Korościk e97dc832e5 doc: updated polish translation 2024-05-25 13:57:13 +02:00
Krzysztof Korościk 7b4d374efd core: updated polish translation 2024-05-25 13:35:09 +02:00
Sébastien Helleu 5294249515 relay: fix compiler warning in call to snprintf
This fixes the following warning emitted by gcc:

…/relay-http.c:1207:32: warning: ‘%s’ directive output may be truncated writing up to 1023 bytes into a region of size 64 [-Wformat-truncation=]
 1207 |                               "%s[%d bytes data]",
      |                                ^~
 1208 |                               str_header,
      |                               ~~~~~~~~~~
…/relay-http.c:1207:31: note: directive argument in the range [1, 2147483647]
 1207 |                               "%s[%d bytes data]",
      |                               ^~~~~~~~~~~~~~~~~~~
…/relay-http.c:1206:21: note: ‘snprintf’ output between 15 and 1047 bytes into a destination of size 64
 1206 |                     snprintf (raw_message, length_raw,
      |                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1207 |                               "%s[%d bytes data]",
      |                               ~~~~~~~~~~~~~~~~~~~~
 1208 |                               str_header,
      |                               ~~~~~~~~~~~
 1209 |                               *ptr_body_size);
      |                               ~~~~~~~~~~~~~~~
2024-05-24 21:08:10 +02:00
Nils Görs 2b81cce9e0 doc: update German documentation 2024-05-24 11:02:16 +02:00
Nils Görs 8814d1d5c4 core: update German translations 2024-05-24 10:45:50 +02:00
Sébastien Helleu 4a4fbce5dd core: update translations 2024-05-23 21:03:43 +02:00
Sébastien Helleu f4a789c327 core: rename Twitter to X in README 2024-05-23 21:01:12 +02:00
Sébastien Helleu 037afc5e92 core: remove release notes for versions where no manual action is required upon upgrade 2024-05-22 00:36:23 +02:00
Sébastien Helleu 17435d5532 core: group changes and sort them by importance in ChangeLog
Changes are now grouped by category:

- `Changed`: changes in existing features
- `Added`: new features
- `Removed`: removed features
- `Fixed`: bug fixed

Changes are also sorted by importance: breaking changes and most important
changes first in each category.

Link to release notes is mentioned in each release for which manual actions are
required upon upgrade.
2024-05-21 23:40:53 +02:00
Sébastien Helleu 6704b1b21c core: add missing list header in v4.0.1 2024-05-21 21:42:55 +02:00
Sébastien Helleu cb08919baf relay/openapi: add note about websocket connection in sync endpoint 2024-05-19 15:49:37 +02:00
Sébastien Helleu c67eb4e656 relay/openapi: remove example from description 2024-05-19 15:48:45 +02:00
Sébastien Helleu 9605501c66 relay/openapi: add complete description for authentication, add header "x-weechat-totp" 2024-05-19 15:31:16 +02:00
Sébastien Helleu e9c14d6548 relay/openapi: replace "summary" by "description" in paths 2024-05-19 14:23:36 +02:00
Sébastien Helleu 54f2c7f2e0 doc/user: add relay "api" (issue #2066) 2024-05-19 13:26:47 +02:00
Sébastien Helleu 44ca4b41f3 relay/remote: check that remote API is exactly the same version as local one upon connection 2024-05-19 11:26:50 +02:00
Sébastien Helleu cc544e3e3a relay/remote: fix error displayed when an error happens in a callback 2024-05-19 10:52:26 +02:00
Krzysztof Korościk a749e3423f core: updated polish translation 2024-05-18 17:52:14 +02:00
Sébastien Helleu 8949a65f52 relay/remote: fix highlight on lines received from remote 2024-05-18 09:51:39 +02:00
Sébastien Helleu 2423fdbf2d core: add option weechat.look.config_permissions (closes #2057) 2024-05-18 09:16:47 +02:00
Sébastien Helleu 839ffc4b0c irc: store lag in channel and private buffers (local variable "lag"), in addition to the server buffer 2024-05-16 08:23:28 +02:00
Sébastien Helleu 5c79933faa core: add bar item "lag"
This bar item is overridden by the irc bar item with the same name, but it used
on relay remote buffers, so that the lag is visible as well.
2024-05-16 07:58:52 +02:00
Sébastien Helleu 47f40f961a relay/remote: add, update and remove buffer local variables received from remote 2024-05-16 07:45:02 +02:00
Sébastien Helleu 1100b0e694 relay/remote: set "input" and "input_pos" only upon buffer creation
This prevents unexpected updates of input on remote buffer whenever something
changes in the buffer, like a local variable, but with the same unchanged
input.
2024-05-16 07:22:24 +02:00
Sébastien Helleu 761d2dec12 core: send signal "buffer_localvar_{added|changed}" only if local variable has been added or changed 2024-05-16 07:16:11 +02:00
Sébastien Helleu 6db01bee34 ci: add tests of OpenAPI document with schemathesis 2024-05-15 21:25:50 +02:00
Sébastien Helleu 4c565413bb relay/api: add OpenAPI document (issue #2066) 2024-05-15 21:20:22 +02:00
Nils Görs b916ed6cf7 core: update German translations 2024-05-15 18:07:34 +02:00
Sébastien Helleu 484abc68fc relay: add option "autoconnect" in remote
This option enables auto-connection to the remote, unless command line option
`-a` (`--no-connect`) is given.
2024-05-14 22:27:11 +02:00
Nils Görs f116061868 core: update German translations 2024-05-14 08:48:20 +02:00
Sébastien Helleu 878c0a5d66 irc: allow range in commands /unban and /unquiet (closes #2113) 2024-05-13 23:05:39 +02:00
Sébastien Helleu 8009b21803 irc: use dynamic string in function irc_command_mode_masks 2024-05-13 22:50:42 +02:00
Sébastien Helleu 05e12c0232 core: update French translations 2024-05-13 22:50:42 +02:00
Sébastien Helleu 8de2a36ac2 relay: add protocol "api" in completion of command "/relay add" 2024-05-12 22:16:14 +02:00
Sébastien Helleu 539a51f9e1 relay/api: add different return codes for callbacks 2024-05-12 22:11:41 +02:00
Sébastien Helleu 3aec35aeec relay/remote: set modes on buffer event 2024-05-12 12:46:32 +02:00
Sébastien Helleu 3bfb7d7f04 relay/api: add field "modes" in GET /api/buffers 2024-05-12 12:46:32 +02:00
Sébastien Helleu dcb8fcb6ed irc: rename option irc.color.item_channel_modes to weechat.color.status_modes 2024-05-12 12:46:32 +02:00
Sébastien Helleu fb4d2d30f4 irc: remove redefinition of bar item "buffer_modes"
The new buffer property "modes" is used instead.
2024-05-12 12:46:32 +02:00
Sébastien Helleu e7b2d98b6e core: add buffer property "modes" 2024-05-12 09:26:10 +02:00
Sébastien Helleu e57777acb1 doc/api: translate buffer property "input_prompt" to French 2024-05-12 08:48:16 +02:00
Sébastien Helleu fa07d98f06 doc/api: add version 4.3.0 for signal "input_prompt_changed" 2024-05-12 08:42:36 +02:00
Sébastien Helleu c1083d022d irc: restore input prompt after upgrade on server and channel buffers 2024-05-12 01:31:54 +02:00
Sébastien Helleu 464b019929 core: restore buffer input prompt on /upgrade 2024-05-12 01:31:54 +02:00
Sébastien Helleu 1a0b9427e0 core: fix conversion of WeeChat bar colors to ANSI colors 2024-05-11 14:05:52 +02:00
Sébastien Helleu 32b01a606c core: fix conversion of WeeChat "default" color to ANSI color 2024-05-11 14:05:52 +02:00
Sébastien Helleu a456c3db86 tests: split strings with colors for readability 2024-05-11 14:05:52 +02:00
Sébastien Helleu 77145d32ad relay/remote: set input prompt on buffer event 2024-05-11 14:05:52 +02:00
Sébastien Helleu cdeac1b693 relay/api: add field "input_prompt" in GET /api/buffers 2024-05-11 14:05:52 +02:00
Sébastien Helleu 827a056790 irc: remove redefinition of bar item "input_prompt"
The new buffer property "input_prompt" is used instead.
2024-05-11 14:05:52 +02:00
Sébastien Helleu 7634774327 core: add buffer property "input_prompt" 2024-05-10 08:54:03 +02:00
Sébastien Helleu e69cffd9bc irc: fix nick comparison in function irc_server_set_nick 2024-05-10 08:27:41 +02:00
Sébastien Helleu 5991278637 irc: rename function irc_server_buffer_set_input_multiline to irc_server_set_buffer_input_multiline 2024-05-09 15:55:31 +02:00
Sébastien Helleu 1a8c40826e core: refresh buffer only if nicklist_display_groups has changed 2024-05-08 13:29:12 +02:00
Sébastien Helleu d14bc12282 core: refresh buffer only if nicklist has changed 2024-05-08 13:28:47 +02:00
Sébastien Helleu 0c9bbb5d4f core: refresh buffer only if time_for_each_line has changed 2024-05-08 13:28:24 +02:00
Sébastien Helleu df52b57c33 core: add function gui_buffer_set_filter 2024-05-08 13:23:50 +02:00
Sébastien Helleu 7addd1bf00 core: add function gui_buffer_set_input 2024-05-08 13:19:40 +02:00
Sébastien Helleu 28f75d17dc tests: add placeholder for tests on function gui_buffer_set_input_get_any_user_data 2024-05-08 13:19:15 +02:00
Sébastien Helleu 1050ba851f core: fix buffer title comparison in function gui_buffer_set_title 2024-05-08 12:50:08 +02:00
Sébastien Helleu 103684b15e core: merge conditions in function gui_buffer_set_type 2024-05-08 12:49:17 +02:00
Sébastien Helleu 7546ee08ca core: fix buffer short name comparison in function gui_buffer_set_short_name 2024-05-08 12:48:21 +02:00
Sébastien Helleu 1aeea38355 core: fix buffer name comparison in function gui_buffer_set_name 2024-05-08 12:09:26 +02:00
Sébastien Helleu 9ce666fc31 core: check that buffer is not NULL in function gui_input_set_pos 2024-05-08 12:08:50 +02:00
Sébastien Helleu b2c7682242 core: add function gui_buffer_set_notify 2024-05-08 12:08:50 +02:00
Sébastien Helleu 2aa1b950cd core: add function gui_buffer_set_day_change 2024-05-08 12:08:50 +02:00
Sébastien Helleu 0df1cde496 tests: fix typo in comment 2024-05-08 09:30:33 +02:00
Sébastien Helleu 9f536d3dc7 api: return -1 or 1 if one input string is NULL and not the other in string comparison functions 2024-05-08 09:30:20 +02:00
Sébastien Helleu 4d0458afdd relay/remote: set input multiline on buffer event 2024-05-07 21:38:43 +02:00
Sébastien Helleu 92dfd2425f relay/remote: set buffer input and cursor position on buffer event 2024-05-07 21:38:24 +02:00
Ivan Pešić be621205e9 doc: update Serbian translation 2024-05-07 18:59:40 +02:00
Ivan Pešić 4ad497ce01 core: update Serbian translation 2024-05-07 18:59:40 +02:00
Sébastien Helleu da8353c54f relay: change default value of option "relay.network.commands" to *,!quit 2024-05-07 13:58:31 +02:00
Sébastien Helleu 44c96f6abf relay/remote: reuse an existing remote buffer 2024-05-05 23:57:46 +02:00
Sébastien Helleu 177b0a4299 relay/remote: synchronize input with remote relay 2024-05-05 23:57:02 +02:00
Sébastien Helleu 75270d7841 relay/api: add optional synchronization of input 2024-05-05 23:56:33 +02:00
Sébastien Helleu 6526cc230a relay/api: add input fields in GET /api/buffers
New fields returned:

- "input" (string): content of input
- "input_position" (integer): position in input (starts at 0)
- "input_multiline" (boolean): true if the buffer allows multiline input
2024-05-05 23:07:42 +02:00
Sébastien Helleu 211cd11c2a relay/api: add parameter "lines_free" in GET /api/buffers
This parameter is the number of lines to return for buffers with free content.

Its default value is `0` if "lines" is set to `0`, otherwise all buffer lines
are returned.
2024-05-05 22:30:04 +02:00
Sébastien Helleu 9ceea3697b relay/api: fix read of buffer lines when lines parameter is LONG_MIN 2024-05-05 17:49:20 +02:00
Sébastien Helleu 0cf504dce7 tests: add test on relay API preflight request (OPTIONS) 2024-05-05 14:13:03 +02:00
Sébastien Helleu 6839974a07 tests: fix relay API protocol tests 2024-05-05 11:37:05 +02:00
Sébastien Helleu 25e3a631b9 relay/api: reply to preflight request OPTIONS received from browsers (CORS)
This adds the support of Cross-Origin Resource Sharing (CORS) in the relay HTTP
API.
2024-05-05 11:08:37 +02:00
Sébastien Helleu 998bb89c98 relay/api: send all nicks when a buffer is opened 2024-05-04 13:58:01 +02:00
Sébastien Helleu ccf23ae51e relay/remote: run callback based on event name instead of body type 2024-05-04 13:43:03 +02:00
Sébastien Helleu 6321669cd5 relay/remote: clear remote buffer when event "buffer_cleared" is received 2024-05-04 12:35:10 +02:00
Sébastien Helleu 586e66d6fa tests: add placeholders for tests on relay api remote event functions 2024-05-04 11:41:23 +02:00
Sébastien Helleu a21fa3359d relay/remote: fix close of remote buffer 2024-05-04 11:40:49 +02:00
Sébastien Helleu 4ac120e435 relay/remote: fix alignment of variable in debug print to log file 2024-05-04 08:55:57 +02:00
Sébastien Helleu b21b64bc44 relay/remote: do not display error if the buffer is not found in a line/nick event 2024-05-04 08:39:56 +02:00
Sébastien Helleu 68ff525d2e relay/api: do not relay any signal received on a relay buffer
This fixes a creation of multiple fset buffers on remote when /fset is used on
the server.
2024-05-03 19:12:43 +02:00
Eli Schwartz 7e79dd92ba core: conditionally declare variable only used in conditional code
Avoids emitting a compiler diagnostic by default for non-NLS builds for
-Wunused-variable.
2024-05-03 18:49:20 +02:00
Eli Schwartz cefc6820c1 core: remove unused header
weechat.h already handles libintl.h and defining suitable macros.
Including it again does nothing other than emit a compile warning when
compiling without NLS:

In file included from /var/tmp/portage/net-irc/weechat-9999/work/weechat-9999/src/core/core-doc.c:35:
/var/tmp/portage/net-irc/weechat-9999/work/weechat-9999/src/core/weechat.h:49: warning: "gettext" redefined
   49 |     #define gettext(string) (string)
      |
In file included from /var/tmp/portage/net-irc/weechat-9999/work/weechat-9999/src/core/core-doc.c:30:
/usr/include/libintl.h:109: note: this is the location of the previous definition
  109 | # define gettext(msgid) dgettext (NULL, msgid)
2024-05-03 18:49:20 +02:00
Sébastien Helleu 9f7b4c497e core: remove unused variable "used" 2024-05-03 07:15:55 +02:00
Sébastien Helleu d85205ca8a irc: remove unneeded parameter in call to irc_list_alloc() 2024-05-03 07:12:34 +02:00
Sébastien Helleu 06d10ad193 core: fix prototype of function "resizeterm" in fake ncurses interface 2024-05-02 21:44:01 +02:00
Sébastien Helleu 8f86f319ca relay: fix use of uninitialized variable "ptr_buffer" 2024-05-02 21:40:14 +02:00
Sébastien Helleu fef2ecec9b relay: remove unused variable "i" 2024-05-02 21:37:03 +02:00
Sébastien Helleu cf42c7da38 alias: remove unused variable "args_count" 2024-05-02 21:34:50 +02:00
Nils Görs 9e6b9ca54d core: update German translations 2024-05-02 07:42:53 +02:00
Krzysztof Korościk d22c3344d4 doc: updated polish translation 2024-05-02 00:13:37 +02:00
Krzysztof Korościk 93064b8401 po: updated polish translation 2024-05-02 00:06:57 +02:00
Sébastien Helleu 573f1046ac core: execute command as user data for local keys in buffer (issue #2066)
If buffer->input_get_any_user_data is set to 1, any command executed via a
buffer local key is considered as user input and then sent to the buffer
callback, instead of being executed directly.

This is used on relay remote buffers, to execute the command on the remote
instead of locally.
2024-05-01 15:07:08 +02:00
Sébastien Helleu 3aeea2d6aa relay/remote: set buffer local keys (issue #2066) 2024-05-01 13:53:58 +02:00
Sébastien Helleu afe037c579 relay/api: add buffer keys in GET /api/buffers (issue #2066) 2024-05-01 13:53:58 +02:00
Sébastien Helleu c5268bc5f9 core: send signal "buffer_line_added" on buffers with free content (issue #2066)
The signal "buffer_line_added" is now sent for every line added or modified on
a buffer with free content.
2024-05-01 13:37:49 +02:00
Sébastien Helleu c47e4fa883 relay/remote: display lines on buffers with free content (issue #2066) 2024-05-01 13:37:45 +02:00
Sébastien Helleu 6c1f21f10c relay: add option relay.api.remote_get_lines (issue #2066) 2024-05-01 10:10:36 +02:00
Sébastien Helleu ee3fb67a0c relay/api: add support of nicklist in remote buffers 2024-04-30 00:08:41 +02:00
Sébastien Helleu b8f6468590 relay/api: add color names for groups and nicks in GET /api/buffers 2024-04-29 22:43:38 +02:00
Sébastien Helleu de24921609 relay/api: add nicklist boolean fields in GET /api/buffers 2024-04-29 22:05:47 +02:00
Sébastien Helleu 1d9cdba58e relay/api: rename field "nicklist" to "nicklist_root" in GET /api/buffers 2024-04-29 21:56:38 +02:00
Sébastien Helleu 9cd7fd38a9 api: allow to set nicklist group/nick id in functions nicklist_group_set and nicklist_nick_set (issue #2081) 2024-04-29 21:07:04 +02:00
Sébastien Helleu ded599b272 api: allow search by group and nick id in functions nicklist_search_group and nicklist_search_nick (issue #2081) 2024-04-29 19:22:57 +02:00
Sébastien Helleu 6c706caa50 tests/gui: add tests on nicklist functions 2024-04-28 22:31:37 +02:00
Sébastien Helleu f87347d44f core: fix /upgrade from previous releases (issue #2106)
When 4 directories are received, the state directory is initialized with the
data directory.

This fixes the following error on `/upgrade`:

Error: wrong number of paths for home directories (expected: 1 or 5, received: 4)
2024-04-28 20:19:45 +02:00
Sébastien Helleu 96ff7248ef core: remove obsolete function gui_nicklist_get_max_length 2024-04-28 19:10:05 +02:00
Sébastien Helleu eac442a855 core: remove unnecessary condition in function gui_nicklist_get_group_start 2024-04-28 19:06:48 +02:00
Sébastien Helleu f1fa143b21 core: check that parameter name is not NULL in function gui_nicklist_get_group_start 2024-04-28 19:06:21 +02:00
Sébastien Helleu dcd872bc45 core: fix recursive search of group in nicklist 2024-04-28 13:07:08 +02:00
Sébastien Helleu 4a058ae0f5 trigger: remove check of NULL pointers before calling trigger_free() (issue #865) 2024-04-26 21:24:14 +02:00
Sébastien Helleu 2b919b0a01 script: remove check of NULL pointers before calling script_repo_free() (issue #865) 2024-04-26 21:23:39 +02:00
Sébastien Helleu 9c3eda660d relay: remove check of NULL pointers before calling relay_websocket_deflate_free() (issue #865) 2024-04-26 21:23:39 +02:00
Sébastien Helleu 17090ade74 relay: remove check of NULL pointers before calling relay_server_free() (issue #865) 2024-04-26 21:22:50 +02:00
Sébastien Helleu ba97a39565 relay: remove check of NULL pointers before calling relay_http_response_free() (issue #865) 2024-04-26 21:22:49 +02:00
Sébastien Helleu 42cba25453 exec: remove check of NULL pointers before calling exec_free() (issue #865) 2024-04-26 21:21:48 +02:00
Sébastien Helleu 7438d2c737 alias: remove check of NULL pointers before calling alias_free() (issue #865) 2024-04-26 21:21:48 +02:00
Sébastien Helleu ed48819b77 core: remove check of NULL pointers before calling gui_focus_free_info() (issue #865) 2024-04-26 21:18:24 +02:00
Sébastien Helleu 2c300424b4 core: remove check of NULL pointers before calling gui_color_palette_free() (issue #865) 2024-04-26 21:18:24 +02:00
Sébastien Helleu 3e520cb1ff core: remove check of NULL pointers before calling gui_completion_free() (issue #865) 2024-04-26 21:18:24 +02:00
Sébastien Helleu 114084a4fc relay: remove check of NULL pointers before calling weechat_completion_free() (issue #865) 2024-04-26 21:18:24 +02:00
Sébastien Helleu 1a31512503 core: remove check of NULL pointers before calling string_free_split_tags() (issue #865) 2024-04-26 21:18:24 +02:00
Sébastien Helleu a7b21fa647 core: remove check of NULL pointers before calling gui_bar_window_free() (issue #865) 2024-04-26 21:18:24 +02:00
Sébastien Helleu 890caf4e8e core: remove check of NULL pointers before calling gui_bar_item_free() (issue #865) 2024-04-26 21:17:13 +02:00
Sébastien Helleu ad33036fea core: remove check of NULL pointers before calling weelist_free() (issue #865) 2024-04-26 21:06:47 +02:00
Sébastien Helleu a59fa70a94 irc: remove check of NULL pointers before calling weechat_list_free() (issue #865) 2024-04-26 21:06:47 +02:00
Sébastien Helleu ac7cc25763 core: remove check of NULL pointers before calling infolist_free() (issue #865) 2024-04-26 21:06:06 +02:00
Sébastien Helleu ee51e6c05f plugins: remove check of NULL pointers before calling weechat_infolist_free() (issue #865) 2024-04-26 21:06:06 +02:00
Sébastien Helleu 61ff0b8587 core: remove check of NULL pointers before calling config_file_option_free() (issue #865) 2024-04-26 20:59:44 +02:00
Sébastien Helleu 561dd92d8e plugins: remove check of NULL pointers before calling weechat_config_option_free() (issue #865) 2024-04-26 20:59:44 +02:00
Sébastien Helleu 619b40b42f core: remove check of NULL pointers before calling string_shared_free() (issue #865) 2024-04-26 08:55:35 +02:00
Sébastien Helleu 409a06982e core: remove check of NULL pointers before calling string_dyn_free() (issue #865) 2024-04-26 08:53:22 +02:00
Sébastien Helleu 7af01a56ca plugins: remove check of NULL pointers before calling weechat_string_dyn_free() (issue #865) 2024-04-26 08:53:22 +02:00
Sébastien Helleu 3057d846d9 core: remove check of NULL pointers before calling string_free_split() (issue #865) 2024-04-26 08:53:22 +02:00
Sébastien Helleu 9a5a1fb300 plugins: remove check of NULL pointers before calling weechat_string_free_split() (issue #865) 2024-04-26 08:53:22 +02:00
Sébastien Helleu f11c7c1bf4 core: remove check of NULL pointers before calling hashtable_free() (issue #865) 2024-04-26 08:53:22 +02:00
Sébastien Helleu 0b2d9bcb9b plugins: remove check of NULL pointers before calling weechat_hashtable_free() (issue #865) 2024-04-26 08:53:22 +02:00
Sébastien Helleu 1ad0b4b669 core: remove check of NULL pointers before calling unhook() (issue #865) 2024-04-26 08:41:44 +02:00
Sébastien Helleu 529a22e342 plugins: remove check of NULL pointers before calling weechat_unhook() (issue #865) 2024-04-26 08:41:44 +02:00
Sébastien Helleu 828ca37225 tests: split hook tests into multiple files (issue #865) 2024-04-26 08:41:44 +02:00
Sébastien Helleu 6cf163f00c tests: move hook modifier tests to a separate file (issue #865) 2024-04-26 07:51:49 +02:00
Sébastien Helleu 2b6fbe26ac core: remove check of NULL pointers before calling arraylist_free() (issue #865) 2024-04-26 07:37:22 +02:00
Sébastien Helleu 3eed74a75c plugins: remove check of NULL pointers before calling weechat_arraylist_free() (issue #865) 2024-04-26 07:37:22 +02:00
Sébastien Helleu e73bff95fa core: remove check of NULL pointers before calling free() (issue #865) 2024-04-25 20:59:25 +02:00
Sébastien Helleu b56b34711d api: remove check of NULL pointers before calling free() (issue #865) 2024-04-25 20:59:25 +02:00
Sébastien Helleu 590d9453a0 xfer: remove check of NULL pointers before calling free() (issue #865) 2024-04-25 20:59:25 +02:00
Sébastien Helleu ea85d180e5 trigger: remove check of NULL pointers before calling free() (issue #865) 2024-04-25 20:59:25 +02:00
Sébastien Helleu 0e3b6a9c77 tcl: remove check of NULL pointers before calling free() (issue #865) 2024-04-25 20:59:25 +02:00
Sébastien Helleu 1f104d06a0 spell: remove check of NULL pointers before calling free() (issue #865) 2024-04-25 20:59:25 +02:00
Sébastien Helleu 3973258628 script: remove check of NULL pointers before calling free() (issue #865) 2024-04-25 20:59:25 +02:00
Sébastien Helleu f79153ace7 ruby: remove check of NULL pointers before calling free() (issue #865) 2024-04-25 20:59:24 +02:00
Sébastien Helleu 7ee57af8e3 relay: remove check of NULL pointers before calling free() (issue #865) 2024-04-25 20:59:24 +02:00
Sébastien Helleu b138510cff python: remove check of NULL pointers before calling free() (issue #865) 2024-04-25 20:59:24 +02:00
Sébastien Helleu c472b9a733 php: remove check of NULL pointers before calling free() (issue #865) 2024-04-25 20:59:24 +02:00
Sébastien Helleu 0ac2e54b46 perl: remove check of NULL pointers before calling free() (issue #865) 2024-04-25 20:59:24 +02:00
Sébastien Helleu 3e994e3c5a lua: remove check of NULL pointers before calling free() (issue #865) 2024-04-25 20:59:24 +02:00
Sébastien Helleu 128d2a4e12 logger: remove check of NULL pointers before calling free() (issue #865) 2024-04-25 20:59:24 +02:00
Sébastien Helleu 846c785531 javascript: remove check of NULL pointers before calling free() (issue #865) 2024-04-25 20:59:24 +02:00
Sébastien Helleu 2bbf289635 irc: remove check of NULL pointers before calling free() (issue #865) 2024-04-25 20:59:24 +02:00
Sébastien Helleu f3a9bfe55e guile: remove check of NULL pointers before calling free() (issue #865) 2024-04-25 20:59:24 +02:00
Sébastien Helleu 852b8a5cdb fset: remove check of NULL pointers before calling free() (issue #865) 2024-04-25 20:59:24 +02:00
Sébastien Helleu 1ae33517e9 fifo: remove check of NULL pointers before calling free() (issue #865) 2024-04-25 20:59:24 +02:00
Sébastien Helleu 5ad977a6ed exec: remove check of NULL pointers before calling free() (issue #865) 2024-04-25 20:59:24 +02:00
Sébastien Helleu f92606a317 charset: remove check of NULL pointers before calling free() (issue #865) 2024-04-25 20:59:24 +02:00
Sébastien Helleu c3750a02e3 buflist: remove check of NULL pointers before calling free() (issue #865) 2024-04-25 20:58:31 +02:00
Sébastien Helleu c242c8e3f9 alias: remove check of NULL pointers before calling free() (issue #865) 2024-04-24 23:12:05 +02:00
Sébastien Helleu 4baf0e8526 relay: add final '\0' in body when parsing HTTP response
This fixes tests on Debian GNU/Hurd.
2024-04-24 21:24:51 +02:00
Sébastien Helleu 1e08b1119a relay: fix default value of remote options 2024-04-23 22:57:57 +02:00
Sébastien Helleu fb9d677020 doc/api: add changes on functions command and command_options introduced in version 4.0.0 2024-04-23 22:54:00 +02:00
Sébastien Helleu d0f0a7834d core: do not color prefix of join/part/quit messages when the nick is offline 2024-04-17 08:32:19 +02:00
Nils Görs eadb7e95ef core: update German translations 2024-04-15 13:02:23 +02:00
Nils Görs 634f467c8d core: update German translations 2024-04-15 11:06:45 +02:00
Sébastien Helleu c1b49f71a5 core: update French translations 2024-04-14 19:15:59 +02:00
Sébastien Helleu 42b073629d relay: ignore unused parameter "gnutls_rc" 2024-04-14 19:14:19 +02:00
Sébastien Helleu 731871dd78 relay: remove commented variable 2024-04-14 19:13:47 +02:00
Sébastien Helleu b7d07840d1 relay: add connection with proxy to remote 2024-04-14 19:12:35 +02:00
Sébastien Helleu 9defa13bbe relay: remove commented code 2024-04-14 19:12:22 +02:00
Sébastien Helleu 984fdb2b58 relay: add TLS connection to remote, add remote option "tls_verify" 2024-04-14 19:00:05 +02:00
Sébastien Helleu a4236be509 relay: add missing proxy in output of /remote listfull <name> 2024-04-14 16:14:51 +02:00
Sébastien Helleu 92d27d8676 relay: fix read of remote name in infolist 2024-04-14 15:51:03 +02:00
Sébastien Helleu e1b1946ee4 relay: add check and change callbacks for remote option "url" 2024-04-14 14:58:26 +02:00
Sébastien Helleu 252787c457 relay: fix memory leak when adding a new remote 2024-04-14 09:14:00 +02:00
Sébastien Helleu 18d32cb613 core: add issue #1747 in ChangeLog 2024-04-13 20:35:24 +02:00
Sébastien Helleu b909522307 core: update ChangeLog (issue #2106) 2024-04-12 23:00:57 +02:00
Sébastien Helleu 5eb47ccf53 core: update French translations 2024-04-12 22:59:21 +02:00
90 8c3f16dbe3 core: add support for $XDG_STATE_HOME 2024-04-12 22:57:57 +02:00
Nils Görs 3bfe4e52ca core: update German translations 2024-04-12 16:41:10 +02:00
Sébastien Helleu c112d0aafa tests: add placeholder for tests on function gui_line_is_action 2024-04-11 23:03:44 +02:00
Sébastien Helleu b0b733a8f0 core: use nick offline color for nick in action message 2024-04-11 22:52:54 +02:00
Sébastien Helleu ae892d2893 core: use nick offline highlight color for prefix of action message when the nick is offline with a highlight 2024-04-11 22:50:39 +02:00
Sébastien Helleu 90998bd296 relay/api: fix reconnection to remote after disconnection 2024-04-10 21:58:11 +02:00
Sébastien Helleu 976e5e8ae4 relay/api: free hook_url_handshake when disconnecting from remote 2024-04-10 21:57:00 +02:00
Sébastien Helleu f40f3cfa40 relay/api: add tags in lines displayed in remote buffers 2024-04-10 20:57:16 +02:00
Sébastien Helleu 5046a9b596 relay/api: fix decoding of large websocket frames in remote client (closes #2107) 2024-04-09 13:32:34 +02:00
Sébastien Helleu dbf9068909 relay/api: read data on socket only if connected 2024-04-09 13:15:15 +02:00
Sébastien Helleu e8081fe4f7 relay/api: free frames after use 2024-04-09 13:13:32 +02:00
Sébastien Helleu ed2becf8fe relay: free frames only if they were allocated by function relay_websocket_decode_frame 2024-04-09 13:08:12 +02:00
Sébastien Helleu f7c27b0801 relay: free all data in remote 2024-04-09 13:02:45 +02:00
Sébastien Helleu fadf9c47c9 relay/api: use function asprintf in JSON send functions 2024-04-08 19:12:33 +02:00
Sébastien Helleu a3c9a5b897 relay: fix build when CJSON is disabled 2024-04-08 07:32:03 +02:00
Sébastien Helleu 2fe215276e core: add version 4.2.2 in ChangeLog and release notes 2024-04-07 19:04:08 +02:00
Sébastien Helleu 419515845d relay: simplify function relay_auth_check_hash_sha 2024-04-07 17:54:28 +02:00
Sébastien Helleu 5eaac71d25 relay/api: use function asprintf to build string with salt and password 2024-04-07 17:53:42 +02:00
Sébastien Helleu fd5f42dc06 relay/api: fix authentication with remote using hash algorithm "sha256" or "sha512" 2024-04-07 17:29:35 +02:00
Sébastien Helleu ec8c4cc042 relay/api: use function asprintf to build key and check websocket reply 2024-04-07 17:22:03 +02:00
Sébastien Helleu 86dea12b71 tests: fix relay/api tests on group and nick colors 2024-04-07 17:22:03 +02:00
Sébastien Helleu ec3b3d47be relay/api: convert group/nick color names to the real color code 2024-04-07 16:59:45 +02:00
Sébastien Helleu 8cb302e600 relay: add example with "api" protocol in /help relay (issue #2066) 2024-04-07 15:33:41 +02:00
Sébastien Helleu eacd0002dd relay: add missing line for "api" protocol in /help relay (issue #2066) 2024-04-07 15:33:36 +02:00
Sébastien Helleu 91a9af72b1 doc: generate doc for all commands except default aliases 2024-04-07 15:28:34 +02:00
Sébastien Helleu cb6c2fd637 core: update French translations (issue #2066) 2024-04-07 14:51:09 +02:00
Sébastien Helleu ef12c93f1b relay: improve messages displayed (issue #2066) 2024-04-07 14:49:12 +02:00
Sébastien Helleu 14beee8a91 relay/api: rename field "nicks" to "nicklist" in GET /api/buffers 2024-04-07 13:18:14 +02:00
Sébastien Helleu 7c2f44e74e relay/api: add nicklist group and nick id in response to GET /api/buffers (issue #2081) 2024-04-07 13:18:14 +02:00
Sébastien Helleu 89fe540b53 core: add unique "id" in nicklist group and nick (issue #2081)
The id is a "long long" variable with the current time (microseconds
precision).

It is guaranteed to be unique for all groups and nicks inside the buffer, and
the same number is never used again in the same buffer, during the lifetime of
the process.

It persists and is unchanged after `/upgrade`.
2024-04-07 13:18:14 +02:00
Sébastien Helleu 40a68549b5 relay: set default value of undefined remote options to empty string instead of NULL (issue #2066)
This fixes the websocket connection to remote that is not initiated after the
successful handshake with the remote relay/api.
2024-04-07 13:18:14 +02:00
Sébastien Helleu a499b50b7b relay: add synchronization with remote and handler for events received (issue #2066) 2024-04-07 13:18:14 +02:00
Sébastien Helleu b6647004a5 relay: do not share content of any relay buffer in api and weechat protocols (issue #2066)
This is to prevent infinite loop when connected to a remote which is the
weechat instance itself.
2024-04-07 13:18:14 +02:00
Sébastien Helleu 2cf66de423 api: add function "asprintf" 2024-04-07 13:18:13 +02:00
Sébastien Helleu 08bc6404eb doc/api: fix typo: "formattée" -> "formatée" 2024-04-07 13:18:13 +02:00
Sébastien Helleu 4adb64284b buffer: add property input_get_any_user_data in buffer (issue #2066)
This allows buffers to get any user input, including commands, that are sent to
the buffer callback instead of being executed on the buffer.
2024-04-07 13:18:13 +02:00
Sébastien Helleu 3cce916035 relay/api: add fields "displayed" and "notify_level" in lines returned (issue #2066) 2024-04-07 13:18:13 +02:00
Sébastien Helleu 64db1b958d relay/api: replace direct access to JSON number value by call to function cJSON_GetNumberValue() (issue #2066) 2024-04-07 13:18:13 +02:00
Sébastien Helleu cb785d5035 relay/api: add "request" and "request_body" in response when connected via websocket (issue #2066) 2024-04-07 13:18:13 +02:00
Sébastien Helleu 9d7e887d8e relay/api: add "body_type" in response when a body is set and connected via websocket (issue #2066) 2024-04-07 13:18:13 +02:00
Sébastien Helleu 643adecff5 relay: add option send in command /remote (issue #2066)
This can be used to send raw JSON data encapsulated in a websocket frame to the
remote.

Example: /remote send test {"request":"GET /api/version"}
2024-04-07 13:18:13 +02:00
Sébastien Helleu 4460f92727 relay: stop URL address before the first question mark if colon is not found (issue #2066) 2024-04-07 13:18:13 +02:00
Sébastien Helleu f507be4128 tests: add tests on relay remote functions (issue #2066) 2024-04-07 13:18:13 +02:00
Sébastien Helleu a3f3c9d09c relay: check that parameter ws_deflate is not NULL in function relay_websocket_deflate_free (issue #2066) 2024-04-07 13:18:13 +02:00
Sébastien Helleu 90b855e1aa relay: add connection to remote (issue #2066)
Connection to remote:

- handshake: offer support for all supported hash algorithms
- network connect with a socket
- upgrade to websocket and authenticate with remote (password/TOTP)
- check websocket response
- get list of buffers (not used yet)

Note: connection to remote with TLS or a proxy is not yet supported.
2024-04-07 13:18:13 +02:00
Sébastien Helleu fd32192464 relay: add option disconnect in command /remote (issue #2066) 2024-04-07 13:18:10 +02:00
Sébastien Helleu c2343ecb74 relay: add functions to parse HTTP response (issue #2066) 2024-04-07 13:16:50 +02:00
Sébastien Helleu c4c220f0a3 relay: add proxy option in remote (issue #2066) 2024-04-07 13:16:50 +02:00
Sébastien Helleu 3f993f9422 relay/api: fix style (issue #2066) 2024-04-07 13:16:50 +02:00
Sébastien Helleu 786f889251 relay: add command /remote, add remote configuration in relay.conf (issue #2066) 2024-04-07 13:16:47 +02:00
Sébastien Helleu a89bc85dc0 core: update ChangeLog 2024-04-06 22:47:38 +02:00
Sébastien Helleu 40bfded594 irc: fix display of reply for CTCP request received on a channel when capability echo-message is enabled 2024-04-06 22:44:04 +02:00
Sébastien Helleu 2c3c9a3ee7 tests: rename variable "i" to "echo_message" 2024-04-06 18:29:42 +02:00
Sébastien Helleu 74729ce677 irc: display CTCP reply to a nick in server buffer instead of channel
When a CTCP request is received on a channel, WeeChat replies to the nick and
it is now displayed in the server buffer instead of the channel, as the target
is a nick and not a channel.
2024-04-06 16:42:15 +02:00
Sébastien Helleu d81170b010 tests: add extra tests on received IRC CTCP messages 2024-04-06 16:37:40 +02:00
Sébastien Helleu f3f9dc388f core: remove whitespace 2024-04-01 22:23:48 +02:00
Sébastien Helleu 7e997f87e8 core: add cast to "const char *" for hashtable value 2024-04-01 21:48:11 +02:00
Sébastien Helleu 965beb37de core: fix print of pointer values 2024-04-01 21:08:52 +02:00
Mario Campos a7c92e2d24 ci: add CodeQL code scanning (closes #2102) 2024-04-01 18:42:05 +02:00
Sébastien Helleu 1fb6fda89b relay: rename function relay_api_search_buffer_id_name to relay_api_protocol_search_buffer_id_name 2024-03-29 13:02:45 +01:00
Nils Görs a23b5b5a37 core: update German translations, fixed typo 2024-03-28 13:12:19 +01:00
Sébastien Helleu acef7dd317 relay: move assignment after comment with important note 2024-03-26 21:22:55 +01:00
Sébastien Helleu 3d8607673e relay: fix typo in comment 2024-03-26 21:22:15 +01:00
Sébastien Helleu 5a3dff1b97 relay: fix typo in comment 2024-03-26 20:23:10 +01:00
Sébastien Helleu 372ffc1690 irc: fix error displayed on connection in case of insufficient memory 2024-03-26 20:22:50 +01:00
Sébastien Helleu fd06c67b58 relay: add size for array relay_auth_password_hash_algo_name 2024-03-26 10:40:38 +01:00
Nils Görs 0778d37924 core: update German translations 2024-03-26 09:27:00 +01:00
Sébastien Helleu 6e5eb5eb25 fset: fix typo in /help fset 2024-03-26 09:21:04 +01:00
Sébastien Helleu 2f5936bc9f relay: set the last IRC client disconnection time only after a successful connection (closes #2103) 2024-03-26 08:04:49 +01:00
Sébastien Helleu 3db4dd2790 fset: display number of commands executed in imported file, improve errors displayed 2024-03-26 07:46:35 +01:00
Sébastien Helleu 26630ada2d fset: add option -import in command /fset 2024-03-25 21:00:42 +01:00
Sébastien Helleu 8482e14630 core: display a specific message when the value of option is unchanged after /set command 2024-03-25 12:06:59 +01:00
Nils Görs a7f8c32797 core: update German translations 2024-03-25 11:44:01 +01:00
Sébastien Helleu 9bc4352089 core: fix tests on function strftimeval on Alpine 2024-03-24 20:56:29 +01:00
Sébastien Helleu 907643bc9c core: add option weechat.completion.case_sensitive 2024-03-24 15:40:06 +01:00
Sébastien Helleu 947155f325 doc/user: fix typo in trigger regex replace ${re:+} 2024-03-21 23:04:18 +01:00
Sébastien Helleu 59d8857646 doc/user: add missing ${re:#} and ${re:repl_index} in trigger regex replace 2024-03-21 22:55:28 +01:00
Sébastien Helleu d6386cd364 doc/api: fix style in example ${re:+} 2024-03-21 22:43:35 +01:00
Nils Görs 7d5503e84b core: update German translations 2024-03-20 09:56:19 +01:00
Sébastien Helleu 762d71012a script: add option enable in command /script, improve error displayed when download of scripts is disabled 2024-03-19 20:45:22 +01:00
Sébastien Helleu 7aa5d718a8 core: send signal "hotlist_changed" only if the order of hotlist has changed after sort (issue #2097) 2024-03-18 21:45:47 +01:00
Sébastien Helleu 77bc38d21d core: reduce number of re-sort of hotlist (issue #2097)
Restore original signals caught: "buffer_moved" and "buffer_closed", and the
signal "buffer_localvar_*" is added so that any local variable
added/changed/removed triggers a re-sort of hotlist.
2024-03-18 21:44:23 +01:00
Sébastien Helleu 34a72ac02e relay/api: add GET /api/hotlist 2024-03-17 20:13:19 +01:00
Sébastien Helleu 0b0ab94aa3 tests/gui: add tests on hotlist functions 2024-03-17 15:00:00 +01:00
Sébastien Helleu c516ff64f2 tests/scripts: make tests fail if a compiled scripting plugin fails to load 2024-03-17 13:45:39 +01:00
Sébastien Helleu 1f47e7c4f8 tests: add missing include of string.h in relay API protocol tests 2024-03-17 10:47:46 +01:00
Nils Görs f7b8e81941 core: update German translations 2024-03-16 22:57:03 +01:00
Sébastien Helleu e29f496a96 core: optimize sort of hotlist
Entries are not duplicated any more.
2024-03-16 22:25:51 +01:00
Sébastien Helleu 55203680ba core: don't resort hotlist when signal "hotlist_changed" is sent 2024-03-16 22:25:45 +01:00
Sébastien Helleu c05b228078 core: sort hotlist and remove buffer even while upgrading 2024-03-16 21:33:08 +01:00
Sébastien Helleu d462667ee6 core: fix crash on /upgrade when hotlist contains buffers that are closed 2024-03-16 17:24:12 +01:00
Sébastien Helleu 8eafc0624c core: resort hotlist on any buffer signal (issue #2097) 2024-03-16 14:43:53 +01:00
Sébastien Helleu 29b502a06a buflist: fix help on option buflist.look.sort (issue #2097) 2024-03-16 14:14:28 +01:00
Sébastien Helleu 25a317280f core: fix typo in option weechat.look.hotlist_sort: time.usec -> time_usec (issue #2097) 2024-03-16 14:08:07 +01:00
Sébastien Helleu f856173e1f core: add option weechat.look.highlight_prefix (closes #2079) 2024-03-16 11:32:51 +01:00
Sébastien Helleu 6f660f2430 core: add variable ${highlight} in option weechat.look.buffer_time_format (issue #2079) 2024-03-16 09:46:55 +01:00
Sébastien Helleu 41fb29bbd0 core: convert option weechat.look.hotlist_sort to a list of fields (closes #2097) 2024-03-15 21:44:14 +01:00
Sébastien Helleu ea86f75319 tests: add hdata tests with struct timeval 2024-03-15 21:32:40 +01:00
Sébastien Helleu c98d12b4af core: rename variables with creation time in hdata "hotlist"
Variables renamed:

- "creation_time.tv_sec" -> "time"
- "creation_time.tv_usec" -> "time_usec"
2024-03-15 21:32:37 +01:00
Sébastien Helleu 305b046370 core: add macro to define hdata variable with different field and name 2024-03-15 21:32:35 +01:00
Sébastien Helleu 080eecef2c core: add missing hdata name "buffer" in hdata "hotlist" 2024-03-15 21:32:32 +01:00
Sébastien Helleu fe01faa9ab core: update ChangeLog (issue #2093) 2024-03-13 13:51:22 +01:00
Trygve Aaberge 811390ebb1 core: make search_stop scroll to search start position
When you run /input search_stop it should scroll to the scroll position
the buffer was at before starting the search, rather than to the bottom
of the buffer.

Fixes a regression introduced in commit b83b428c5c

Fixes #2093
2024-03-13 13:50:04 +01:00
Sébastien Helleu dd128dace8 core: update ChangeLog (closes #1906) 2024-03-13 13:14:40 +01:00
wfrsk 4d83adc7d8 lua: fix code style 2024-03-13 13:10:07 +01:00
wfrsk fd541395f4 lua: do not depend on an init script + rework weechat_lua_output 2024-03-13 13:02:29 +01:00
wfrsk 97f87932fe lua: do not load the debug library 2024-03-13 13:02:29 +01:00
wfrsk b0581ac1f8 lua: do not depend on luaL_openlibs 2024-03-13 13:02:29 +01:00
Sébastien Helleu 3b9e2f480d tests: reorder tests on core directory functions 2024-03-13 13:01:50 +01:00
Mario Campos f76d236015 GUI: fix potential integer overflow bugs by casting to size_t 2024-03-13 09:09:29 +01:00
Mario Campos 1797fe18a3 fset: replace call to chmod() by fchmod() in the export function 2024-03-13 07:19:55 +01:00
Mario Campos 63733d81d8 core: open the file exclusively in compress file functions
This also removes the unnecessary call to access() function before the call to
fopen().
2024-03-13 07:17:02 +01:00
Mario Campos 23e0533ea1 core: remove unnecessary call to stat() in hash file function
The call to fopen() will fail anyway if the file doesn't exist.
2024-03-13 07:15:12 +01:00
Sébastien Helleu 24c4029c96 core: remove "wee-" prefix from source files in src/core and src/core/hook 2024-03-12 21:27:37 +01:00
Sébastien Helleu bb346f8c6c relay/api: replace "context" by "buffer_id" (issue #2081) 2024-03-12 20:37:52 +01:00
Sébastien Helleu 48ca390f79 relay/api: add support of buffer id in POST /api/input (issue #2081) 2024-03-12 20:37:51 +01:00
Sébastien Helleu aa989767a1 relay/api: add support of buffer id in GET /api/buffers (issue #2081) 2024-03-12 20:37:50 +01:00
Sébastien Helleu 7ad3c1979c tests/relay/api: add buffer id in test of buffer to json function (issue #2081) 2024-03-12 20:37:48 +01:00
Sébastien Helleu 99f0a2e002 tests/relay/api: add tests on API protocol 2024-03-12 20:37:48 +01:00
Sébastien Helleu 6325add517 tests/relay/irc: use port 9001 for server relay 2024-03-12 20:37:48 +01:00
Sébastien Helleu e791535773 relay: add a fake send function in client
This will be used in unit tests to get the data that is sent to clients.
2024-03-12 20:37:48 +01:00
Sébastien Helleu 0ac377d306 relay/api: add a global variable to customize the command delay in POST /api/input
The user can not change this, the variable will be set to 0 in unit tests to
execute the command immediately.
2024-03-12 20:37:48 +01:00
Sébastien Helleu 59c977ddc9 relay/api: check that "request" field is a string in JSON received (websocket connection) 2024-03-12 20:37:48 +01:00
Sébastien Helleu 4f9bcc73ca relay/api: allow POST /api/handshake without a body 2024-03-12 20:37:48 +01:00
Sébastien Helleu 8c5db76271 relay/api: fix error displayed when buffer is not found in POST /api/input 2024-03-12 20:37:48 +01:00
Sébastien Helleu 80709292d4 tests/relay/irc: fix comments 2024-03-12 20:37:48 +01:00
Sébastien Helleu f2f6afb59c tests/relay/irc: remove unused calls to record functions 2024-03-12 20:37:48 +01:00
Sébastien Helleu 3045322822 relay/weechat: add buffer id in signals sent to clients (issue #2081) 2024-03-12 20:37:47 +01:00
Sébastien Helleu 29d4bc3102 relay/api: add buffer is in response to GET /api/buffers (issue #2081) 2024-03-12 20:37:45 +01:00
Sébastien Helleu f9e8c7faab api: allow search by buffer id in function buffer_search (issue #2081) 2024-03-12 20:37:44 +01:00
Sébastien Helleu 5af0415508 core: add function gui_buffer_search_by_id (issue #2081) 2024-03-12 20:37:42 +01:00
Sébastien Helleu c71e6a50eb core: rename function gui_buffer_search_by_name to gui_buffer_search (issue #2081) 2024-03-12 20:37:40 +01:00
Sébastien Helleu 4ffd62b206 core: add unique "id" in buffer (issue #2081)
The id is a "long long" variable with the current time (microseconds
precision).

It is guaranteed to be unique for all buffers, and the same number is never
used again, during the lifetime of the process.

It persists and is unchanged after `/upgrade`.
2024-03-12 20:37:36 +01:00
Sébastien Helleu afc4dff71b core: use dynamic string in function infolist_fields 2024-03-12 20:37:36 +01:00
Sébastien Helleu 9e0dd18152 api: add function "hdata_longlong" (issue #2081) 2024-03-12 20:37:11 +01:00
Nils Görs c85b57b8b3 core: update German translations 2024-03-12 17:16:36 +01:00
Sébastien Helleu 34e99987bf doc/user: clarify what is ${nick} in trigger IRC signal data 2024-03-11 07:20:38 +01:00
Sébastien Helleu 1ab62e37cb api: add modifier "color_decode" to decode WeeChat colors with a replacement string 2024-03-10 09:31:32 +01:00
Sébastien Helleu 3f49b1b44a core: use whole replacement string instead of first char in function gui_color_decode 2024-03-10 09:21:28 +01:00
Sébastien Helleu 431cf23a0c exec: remove trailing space on buffers with free content when line numbers are not displayed 2024-03-08 08:19:20 +01:00
Sébastien Helleu a6c509611a exec: add missing exec tags in lines of buffers with free content (closes #2086) 2024-03-07 21:52:21 +01:00
Nils Görs ec56a1103f doc: update German documentation 2024-03-07 12:04:05 +01:00
Nils Görs ccc5c75a03 core: update German translations 2024-03-07 11:52:22 +01:00
Sébastien Helleu 732887cef7 doc/plugin: add missing translation comments 2024-03-07 07:32:20 +01:00
Sébastien Helleu cb6ecb6818 core: check if malloc.h is present, independently of function malloc_trim 2024-03-06 23:09:00 +01:00
Sébastien Helleu 70828a7dd1 irc: add option -all in command /allchan, do not execute command on parted channels by default (closes #2085) 2024-03-06 23:03:02 +01:00
Sébastien Helleu ab2e29fb0f core: include header malloc.h only if function malloc_trim is available 2024-03-06 22:52:43 +01:00
Sébastien Helleu 8c1df496ae core: update translations 2024-03-06 22:41:42 +01:00
Sébastien Helleu 68598de958 core: check that function malloc_trim is available, display an error if not available 2024-03-06 22:36:37 +01:00
Sébastien Helleu a1bee89ecc core: add option malloc_trim in command /sys 2024-03-06 22:00:48 +01:00
Sébastien Helleu 7385f767e3 irc: use API config functions to get inherited value (server options) 2024-03-06 21:32:34 +01:00
Sébastien Helleu 5c88ee9c45 core: add support of SGR mouse events, remove option weechat.look.mouse_timer_delay (closes #2082) 2024-03-06 20:33:17 +01:00
Nils Görs a8a0053211 core: update German translations 2024-03-06 11:17:38 +01:00
Sébastien Helleu 12521898f9 doc/scripting: auto-generate list of scripting functions and constants from Python API 2024-03-05 19:58:21 +01:00
Sébastien Helleu 6c72d6f66d python: add infolists "python_function" and "python_constant" 2024-03-05 19:56:35 +01:00
Sébastien Helleu 81599b88d4 plugins: move scripting API constants to plugin-script.c 2024-03-05 19:52:21 +01:00
Sébastien Helleu 84437ab672 tests: add tests on scripting API constants 2024-03-05 19:52:21 +01:00
Sébastien Helleu 014dc845e8 doc: move script doc/python_stub.py to tools/generate_python_stub.py 2024-03-05 19:52:21 +01:00
Sébastien Helleu 361d55d9d7 api: add functions config_{boolean|integer|string|color|enum}_inherited in scripting API 2024-03-05 19:52:21 +01:00
Sébastien Helleu 8f0b3ab9c7 tests/scripts: fix representation of None Python value in generated scripts 2024-03-05 19:51:15 +01:00
Sébastien Helleu 1451e12c78 core: refactor functions that read values of config options 2024-03-05 19:51:15 +01:00
Sébastien Helleu 6817542f95 tests: add tests on functions that read values of config options 2024-03-05 19:51:15 +01:00
Sébastien Helleu c3eff15a56 api: add functions config_option_get_string and config_option_get_pointer in scripting API 2024-03-05 19:51:15 +01:00
DasBrain 0bf560f9b7 tcl: simplify return macros 2024-03-05 19:15:19 +01:00
DasBrain ff2189f3d9 tcl: refactor creation of constants 2024-03-05 19:15:19 +01:00
Nils Görs 439a2d9c7a core: update German translations 2024-02-26 15:16:42 +01:00
Sébastien Helleu 6d549d0da9 relay/api: rename "salt" to "timestamp" 2024-02-26 12:56:44 +01:00
Sébastien Helleu 22686da40c doc/api: fix string format in calls to weechat.prnt (examples in Python) 2024-02-25 17:23:09 +01:00
Sébastien Helleu f649ccc3b8 python: fix truncation of unsigned long long integer returned by function string_parse_size 2024-02-25 17:07:11 +01:00
Sébastien Helleu c5800178a0 php: remove constants that must not be visible in scripts 2024-02-25 16:32:21 +01:00
Sébastien Helleu c5887354bd tcl: fix truncation of long integer returned by function hdata_long 2024-02-25 16:12:54 +01:00
Sébastien Helleu 3f08785aee core: add missing mouse event "alt-ctrl-button3" 2024-02-24 22:05:14 +01:00
Sébastien Helleu 191701a5f3 doc/user: fix order of mouse event modifiers
Key "alt" is always before "ctrl".
2024-02-24 18:53:46 +01:00
Sébastien Helleu d52fea1d5e core: fix typo in comment 2024-02-24 18:50:26 +01:00
Sébastien Helleu 24f0e95de7 core: add missing mouse event "alt-ctrl-button2" 2024-02-24 18:35:21 +01:00
Ivan Pešić 40deb493d5 doc: Update Serbian translation 2024-02-23 08:22:26 +01:00
Ivan Pešić ef2ef9846d core: Update Serbian translation
Some typos are corrected
2024-02-23 08:22:26 +01:00
Trygve Aaberge e02ee703f0 docs: fix some typos in documentation and comments 2024-02-23 08:21:49 +01:00
Sébastien Helleu 27331dec5e core: add contributor 2024-02-22 19:30:53 +01:00
Johannes Kuhn db6b96f629 tcl: make plugin compatible with Tcl 9.0
Replace calls to Tcl_GetStringFromObj by Tcl_GetString.
2024-02-22 19:30:53 +01:00
Sébastien Helleu ef5ebc19e9 fset: allow filename starting with "~" in command /fset -export 2024-02-21 22:05:16 +01:00
Sébastien Helleu 76998665f4 script: always display list of scripts when searching scripts with /script search (closes #2077) 2024-02-21 21:36:52 +01:00
Sébastien Helleu b5a32c0fa9 script: fix default mouse keys (closes #2076)
Some parameters of command `/script` were renamed in commit
85b5bacfe3 but the default mouse keys were not
changed and still using the old parameters names.
2024-02-21 21:10:25 +01:00
Nils Görs 4c5f98946a core: update German translations 2024-02-19 20:07:29 +01:00
Sébastien Helleu a44ffa147f script: add info "script_loaded" 2024-02-19 18:33:36 +01:00
Sébastien Helleu a167322d8b api: add info "plugin_loaded" 2024-02-19 18:29:21 +01:00
Sébastien Helleu f19808cedd tests: add tests on "api" relay (general functions and messages) 2024-02-18 23:42:22 +01:00
Sébastien Helleu 0f30a4e020 relay: move functions to get URL parameters from api to relay-http.c, add tests 2024-02-18 23:13:20 +01:00
Sébastien Helleu 9b9b36bb02 tests: fix free of HTTP request 2024-02-18 23:12:56 +01:00
Sébastien Helleu c4ac9046b2 relay/api: fix comment of function relay_api_protocol_get_param_boolean 2024-02-18 18:52:57 +01:00
Sébastien Helleu 61a8e4e27e relay/api: add key "visible" with boolean value in nick and group objects 2024-02-18 18:52:52 +01:00
Sébastien Helleu 780be1e1b7 relay/api: rename key "index" to "y" in line object 2024-02-18 18:24:19 +01:00
Nils Görs 4858d88567 core: update German translations 2024-02-17 17:31:57 +01:00
Sébastien Helleu 6659bf1642 core: display the 3 variants for "${split}" and "${split_shell}" in /help eval 2024-02-17 13:23:38 +01:00
Sébastien Helleu b3a214252b core: add "${hl:string}" and "${raw_hl:string}" in /eval completions 2024-02-17 13:22:40 +01:00
Sébastien Helleu 4c6db9711a core: add the different variants for "chars" in /eval completions 2024-02-17 13:22:05 +01:00
Sébastien Helleu 213483e678 core: add the different bases in /eval completions for "base_decode" and "base_encode" 2024-02-17 13:20:17 +01:00
Sébastien Helleu 9b9e0f042c core: replace "xxx" by "string" and "number" by "N" in /eval completions 2024-02-17 13:09:20 +01:00
Sébastien Helleu 831dcac808 core: list operators by order of priority in /help eval (issue #2005) 2024-02-17 10:58:40 +01:00
Sébastien Helleu 4e0f7dfd25 core: reintroduce help on the operators in /help eval (issue #2005) 2024-02-17 10:54:25 +01:00
Sébastien Helleu a35ac5e8d9 core: reintroduce help on the variables in /help eval (issue #2005) 2024-02-17 10:08:12 +01:00
Sébastien Helleu 90c87e7553 irc: add missing tags on self action messages when capability echo-message is enabled (closes #2074) 2024-02-16 20:58:31 +01:00
Sébastien Helleu 162bcb2622 irc: don't strip monospace color code 0x11 from incoming messages (closes #2073) 2024-02-16 19:22:28 +01:00
Nils Görs 8b6452eb91 core: update German translations 2024-02-12 10:56:35 +01:00
Sébastien Helleu e4e6fde80f core: add option -s in command /command to execute multiple commands separated by semicolons 2024-02-11 21:48:31 +01:00
Sébastien Helleu e0ec8da76a core: move lines from 4.1.0 to 4.2.0 in ChangeLog 2024-02-11 14:32:29 +01:00
Sébastien Helleu 635dd818b5 core: add again line about function hook_url in ChangeLog (issue #1723) 2024-02-11 14:22:12 +01:00
Sébastien Helleu 0cfc61a17e irc: add server option "autojoin_delay" (closes #862)
The server option "autojoin_delay" adds a delay before autojoin.

The server option "command_delay" is now used to add a delay before the
execution of the command.

On upgrade from an old version, the option "command_delay" is copied to
"autojoin_delay" (in old versions, "command_delay" was applied after the
execution of command and before the autojoin).
2024-02-11 09:12:57 +01:00
Sébastien Helleu f153b6e6c3 relay: change message displayed when there is not enough memory for websocket frame 2024-02-11 08:53:29 +01:00
Sébastien Helleu 9ce435fa5e relay: add WeeChat version in config update callback 2024-02-11 08:47:56 +01:00
Sébastien Helleu 5a00f1a138 irc: add WeeChat version in config update callback 2024-02-11 08:41:15 +01:00
Sébastien Helleu 9eb3403008 alias: add WeeChat version in config update callback 2024-02-11 08:40:49 +01:00
Sébastien Helleu e191d9225b core: add WeeChat version in config update callback 2024-02-11 08:40:25 +01:00
Sébastien Helleu e08f6aab55 core: add issue #1903 in ChangeLog 2024-02-11 08:39:06 +01:00
Sébastien Helleu 19bf6c9672 tests: fix compiler warning on empty snprintf format
This fixes the following warning:

test-core-dir.cpp:178:36: warning: zero-length gnu_printf format string [-Wformat-zero-length]
2024-02-10 19:02:17 +01:00
Sébastien Helleu e9dbf23a18 trigger: fix memory leak when adding a new trigger with /trigger command 2024-02-10 17:50:24 +01:00
Sébastien Helleu caa51160da core: remove trailing directory separators in home directories (closes #2070) 2024-02-10 10:23:40 +01:00
Sébastien Helleu 5c6e6f43d1 relay: disable "permessage-deflate" websocket extension when option relay.network.compression is set to 0 2024-02-04 18:54:56 +01:00
Sébastien Helleu 0414c139b0 relay: fix decoding of websocket frame when a partial frame is received 2024-02-04 18:52:00 +01:00
Sébastien Helleu b7ecf93a22 relay: fix websocket decompression when output buffer is not large enough 2024-02-04 18:23:40 +01:00
Sébastien Helleu 162dc87796 scripts: fix crash on script unload when a hook is created in a buffer close callback (closes #2067) 2024-02-04 13:57:35 +01:00
Sébastien Helleu 7f2f60dab0 ci: remove tests on macOS 11 2024-02-03 22:50:27 +01:00
Sébastien Helleu 820a3e8767 relay: free ws_deflate when http request is freed 2024-02-03 11:30:35 +01:00
Sébastien Helleu 052db75805 relay/api: add extra check on JSON types in handshake and input resources (issue #2066) 2024-02-03 08:38:57 +01:00
Sébastien Helleu 5c869722c1 core: disable CJSON in Debian/buster, Raspbian/buster and Ubuntu/focal builds (issue #2066)
This is because in these versions the libcjson-dev package doesn't provide
pkg-config file.
2024-02-02 08:33:06 +01:00
Sébastien Helleu bc464679a7 relay: fix build when CJSON is disabled (issue #2066) 2024-02-02 07:44:57 +01:00
Sébastien Helleu 86685f4af4 core: update translations (issue #2066) 2024-02-01 21:39:24 +01:00
Sébastien Helleu 6acf1af828 relay/api: add handshake resource, without authentication required (issue #2066) 2024-02-01 21:39:23 +01:00
Sébastien Helleu 3f902dba28 relay: check that request is not NULL before compressing data (issue #2066) 2024-02-01 21:39:23 +01:00
Sébastien Helleu de72fe1db5 relay/api: fix send of responses 400 and 404 in case of error (issue #2066) 2024-02-01 21:39:23 +01:00
Sébastien Helleu 89aeb03a13 relay: remove request from some function arguments (issue #2066) 2024-02-01 21:39:23 +01:00
Sébastien Helleu 83567fd871 relay: allow password hash authentication in api relay, add option relay.network.time_window (issue #2066) 2024-02-01 21:39:23 +01:00
Sébastien Helleu 70907fc169 relay: rename option relay.weechat.commands to relay.network.commands (issue #2066) 2024-02-01 21:39:23 +01:00
Sébastien Helleu f126255d6a core: add support of base64url in encode/decode functions (issue #2066) 2024-02-01 21:39:21 +01:00
Sébastien Helleu 6cfb31c306 relay: add support of websocket extension "permessage-deflate" (closes #1549)
This extension is used to compress and decompress websocket frames (using
the DEFLATE algorithm, with zlib).
2024-02-01 21:38:53 +01:00
Sébastien Helleu 8971fc069a relay: add "api" protocol (HTTP REST API) (issue #2066) 2024-02-01 21:38:49 +01:00
Krzysztof Korościk 179d53a12e po: updated Polish translations 2024-01-31 21:16:52 +01:00
Sébastien Helleu 2469dc6df9 core: use function util_strftimeval in evaluation of expression date:xxx 2024-01-27 16:53:53 +01:00
Sébastien Helleu e3af6a91d4 api: add support of specifier %! for timestamp in function util_strftimeval 2024-01-27 16:53:53 +01:00
Nils Görs 73a1c9753a core: update German translations 2024-01-27 14:35:34 +01:00
Sébastien Helleu 1ac38a4cf9 core: add support of (?i) for argument "name" in /help buffer 2024-01-24 20:58:44 +01:00
Sébastien Helleu 09e01133d2 core: allow case insensitive search of partial buffer name with (?i)name in command /buffer 2024-01-24 20:54:41 +01:00
Sébastien Helleu b7735632b8 tests: add tests on buffer properties "opening" and "type" 2024-01-24 20:47:51 +01:00
Sébastien Helleu da79574ca7 core: return 0 in gui_buffer_is_main if plugin_name or name is NULL 2024-01-24 19:42:08 +01:00
Sébastien Helleu 971d5b6b64 doc/dev: update rules for indentation in C sources 2024-01-22 20:59:51 +01:00
Sébastien Helleu 88d391bca3 core: add version 4.2.1 in ChangeLog and release notes 2024-01-22 20:45:25 +01:00
Sébastien Helleu fe52f7c78c tests: remove extra empty line 2024-01-22 13:58:33 +01:00
Sébastien Helleu 06b4e46977 irc: fix random date displayed when a received message contains tags but no "time" (closes #2064) 2024-01-22 13:18:25 +01:00
Sébastien Helleu 750e677490 Version 4.3.0-dev 2024-01-21 09:36:44 +01:00
Sébastien Helleu 017d9bd975 Version 4.2.0 2024-01-21 09:33:14 +01:00
Sébastien Helleu 05fdb2929f tests: add missing format string in calls to snprintf 2024-01-21 09:17:11 +01:00
Sébastien Helleu d5b61f565e core: add versions 4.0.8 and 4.1.3 in ChangeLog and release notes 2024-01-20 09:27:35 +01:00
Ivan Pešić ff1c3d37d1 core: Update Serbian messages 2024-01-15 10:25:17 +01:00
Ivan Pešić f5a0a6c507 doc: Update Serbian translation 2024-01-15 10:25:17 +01:00
Nils Görs bee3fb311b core: update German translations 2024-01-15 07:44:28 +01:00
Sébastien Helleu 3efcdbd521 doc/dev: remove conflict marker in Serbian doc 2024-01-14 00:29:47 +01:00
Sébastien Helleu 869fba9f74 irc: add tests on info functions (issue #2059) 2024-01-12 17:58:36 +01:00
Sébastien Helleu becdf76224 irc: check if arguments are not NULL in some infos
Affected infos:

- irc_server_isupport
- irc_server_isupport_value
- irc_server_cap
- irc_server_cap_value
2024-01-12 17:57:50 +01:00
Sébastien Helleu 8e252955da irc: fix info "irc_is_message_ignored" (closes #2059) 2024-01-12 17:53:19 +01:00
Sébastien Helleu 71fee810c9 doc/api: add missing properties in functions buffer_get_integer and buffer_get_string 2024-01-06 20:46:30 +01:00
Sébastien Helleu d8704d5c74 core: add variable "opening" in buffer, do not send buffer signals when the buffer is opening 2024-01-06 19:26:39 +01:00
Krzysztof Korościk 6efa574483 doc: update copyright dates 2024-01-06 16:23:22 +01:00
Krzysztof Korościk 4ffe67eafd po: updated polish translation 2024-01-06 16:21:25 +01:00
Sébastien Helleu b5ea82da48 relay/weechat: unhook hook_timer_nicklist when synchronization is stopped 2024-01-06 10:38:54 +01:00
Sébastien Helleu 5df85c7a53 relay: add global relay hdata variables 2024-01-06 09:56:23 +01:00
Sébastien Helleu 57a206287a irc: fix display of self messages in case of message split failure
When the message sends inconsistent max lengths in message 005, the split of
self message fails and causes a display issue: the channel name is displayed
with the message:

  nick | #channel :this is a test

instead of:

  nick | this is a test
2024-01-05 21:36:58 +01:00
Sébastien Helleu eb8ca14d83 relay: fix display of raw messages (issue #649) 2024-01-05 20:30:02 +01:00
Sébastien Helleu 9d9a47f111 core: add support of microseconds in command /print -date (issue #649) 2024-01-05 19:31:42 +01:00
Sébastien Helleu 4a1e5e7eaa irc: remove function irc_protocol_parse_time, use API function weechat_util_parse_time (issue #649) 2024-01-05 19:28:47 +01:00
Sébastien Helleu f6ba789c3d api: add function util_parse_time (issue #649) 2024-01-05 19:09:19 +01:00
Sébastien Helleu e88882f0ae irc: display microseconds in some user messages (issue #649) 2024-01-04 22:29:30 +01:00
Sébastien Helleu 89517d44a5 relay: add microseconds in relay raw messages (issue #649) 2024-01-04 22:25:13 +01:00
Nils Görs 1875217509 doc: update German documentation 2024-01-04 09:54:04 +01:00
Nils Görs 3dbfa5350d core: update German translations 2024-01-04 09:49:21 +01:00
Sébastien Helleu eecb2a997e core: update copyright dates 2024-01-01 22:29:58 +01:00
Krzysztof Korościk 934ef60151 doc: updated polish translation 2024-01-01 18:59:58 +01:00
Krzysztof Korościk 124c5adf62 po: updated polish translation 2024-01-01 16:07:17 +01:00
Faisal N Jawdat 5c65a73432 ruby: add detection for Ruby 3.3 2023-12-26 21:08:50 +01:00
Sébastien Helleu 9fb3d3f14c core: store microseconds in buffer lines (closes #649) 2023-12-26 19:44:37 +01:00
Nils Görs 57f80a4c1f core: update German translations 2023-12-25 16:45:51 +01:00
Sébastien Helleu 5ccb0c23f9 debian: exclude directories ".git", "build" and "release" from source package 2023-12-24 18:41:38 +01:00
Sébastien Helleu 31881ebacf api: add property "type" in function buffer_get_string 2023-12-24 16:53:16 +01:00
Sébastien Helleu 28fc733aaf core: display when zstd is not available in output of /debug libs 2023-12-24 16:50:45 +01:00
Sébastien Helleu 7700228823 relay: move function to check if buffer belongs to relay 2023-12-24 16:27:51 +01:00
Sébastien Helleu 76a3f85831 core: fix typo in ChangeLog 2023-12-15 22:59:20 +01:00
Sébastien Helleu 75dc8b9d6c core: fix crash on plugin reload when using musl libs (closes #2052) 2023-12-15 22:53:51 +01:00
Sébastien Helleu 07fbd30948 tests: add missing include of string.h in plugin API info tests 2023-12-15 13:51:32 +01:00
Sébastien Helleu 1cc59edfcc core: fix infinite loop in display when the chat area is too small (closes #2053) 2023-12-14 23:12:39 +01:00
Sébastien Helleu fa0b320178 core: fix style 2023-12-14 23:11:35 +01:00
Nils Görs ffa933bcf8 core: update German translations 2023-12-13 21:22:34 +01:00
Sébastien Helleu b3422b96c0 irc: add option irc.look.display_host_wallops 2023-12-10 21:13:00 +01:00
Sébastien Helleu 3db8eb65ff tests: add tests with options irc.look.display_host_{join|join_local|notice|quit} set to off 2023-12-10 21:03:33 +01:00
Ivan Pešić 73e3d0e693 doc: Update Serbian documentation 2023-12-05 22:32:18 +01:00
Ivan Pešić 4bc0fd588d core: Update Serbian translation 2023-12-05 22:32:18 +01:00
Sébastien Helleu a39a1832a1 Revert "core: fix detection of gettext headers on Darwin (closes #2031)"
This reverts commit 80fa597a71.
2023-12-04 21:21:49 +01:00
Sébastien Helleu d6ccfb5862 core: fix Polish translations 2023-12-04 21:07:46 +01:00
Sébastien Helleu 80fa597a71 core: fix detection of gettext headers on Darwin (closes #2031) 2023-12-04 21:02:26 +01:00
Krzysztof Korościk dab17e8d59 po: updated polish translation 2023-12-04 19:46:09 +01:00
Nils Görs d70ef53973 core: update German translations 2023-12-04 09:00:37 +01:00
Krzysztof Korościk 33e320ac95 po: updated part of polish translation 2023-12-04 00:04:31 +01:00
Sébastien Helleu 8c3b7b6c6e core: add versions 4.0.7 and 4.1.2 in ChangeLog and release notes 2023-12-03 19:25:20 +01:00
Sébastien Helleu 6223639b71 core: improve forms for new issues, feature requests and questions on GitHub 2023-12-03 09:49:13 +01:00
NetSysFire a788ca13d8 core: add forms for new issues, feature requests and questions on GitHub 2023-12-03 09:49:13 +01:00
Sébastien Helleu bc08d9a2b3 tests: rename tests 2023-12-02 13:32:15 +01:00
Sébastien Helleu 52f32e5612 tests: add tests on plugin config functions 2023-12-02 13:24:42 +01:00
Sébastien Helleu f4926cbd20 tests: rename file test-plugins-api-info.cpp to test-plugin-api-info.cpp 2023-12-02 13:17:47 +01:00
Sébastien Helleu ba33e1db7d tests: fix tests on function plugin_api_infolist_plugin_cb 2023-12-02 11:47:45 +01:00
Sébastien Helleu d6796edac0 tests: add tests on plugin API info functions 2023-12-02 11:40:28 +01:00
Sébastien Helleu 36b9a58c72 tests: remove unneeded constant TOTP_SECRET 2023-12-02 09:44:07 +01:00
Sébastien Helleu 038eae07bd api: add info "mouse" 2023-12-02 09:43:36 +01:00
Sébastien Helleu 445d1d0ec5 api: return NULL instead of empty infolist "key" when context is not found 2023-12-02 09:40:01 +01:00
Sébastien Helleu 51fec9257e core: check that directory is not NULL in function plugin_api_info_absolute_path 2023-12-02 09:37:22 +01:00
Sébastien Helleu de5b0aae47 core: rename variable "version" to "compilation_date" 2023-12-02 09:36:57 +01:00
Sébastien Helleu 9711d2dc76 tests: add placeholders for new functions in irc server tests 2023-12-01 07:10:36 +01:00
Nils Görs 7974f4f40a core: update German translations 2023-11-30 21:09:58 +01:00
Sébastien Helleu 22fcb91e8b irc: display messages 730/731 even if command /notify was not used (closes #2049) 2023-11-29 18:14:37 +01:00
Sébastien Helleu 0f1b18d415 core: move link to Mastodon before Diaspora* 2023-11-29 14:35:12 +01:00
Sébastien Helleu f13c5b0b51 core: fix typo in release notes 2023-11-29 14:34:55 +01:00
Sébastien Helleu 996d1def22 core: update translations (issue #1039) 2023-11-29 10:00:57 +01:00
Sébastien Helleu de82d50768 irc: remove unneeded error message when an unknown server option is read in config file (issue #1039)
This is not needed because an error is already displayed by WeeChat core and
the IRC error doesn't add anything relevant to the user.
2023-11-29 10:00:54 +01:00
Sébastien Helleu f7b7e3975a irc: add server option "anti_flood", remove server options "anti_flood_prio_{high|low}" (issue #1039)
The new option is set in milliseconds.
2023-11-29 09:49:27 +01:00
Ivan Pešić e51152e6a4 core: Update Serbian translation 2023-11-29 08:39:06 +01:00
Nils Görs 9aa9bf4c9f core: update German translations 2023-11-28 12:03:18 +01:00
Sébastien Helleu e74b5db253 irc: remove trailing "\r\n" in signals "irc_out" and "irc_outtags" when messages are queued 2023-11-26 18:58:48 +01:00
Sébastien Helleu 6d427421de irc: add option irc.look.list_buffer 2023-11-24 19:42:28 +01:00
Sébastien Helleu d4220e8144 tests: add eval tests on "raw" and "raw_hl" with escaped prefix 2023-11-24 08:04:35 +01:00
Sébastien Helleu e01fa0aac9 tests: fix tests on function string_replace_with_callback 2023-11-23 22:01:48 +01:00
Sébastien Helleu 86cf456bb7 core: fix evaluation of ${raw_hl:...} with escaped prefix inside
Now `${raw_hl:\${` returns `\${` instead of `${`.
2023-11-23 20:59:31 +01:00
Sébastien Helleu 479ab5bc58 core: evaluate expressions even when the suffix is missing (issue #2042, issue #1714) 2023-11-23 08:49:54 +01:00
Sébastien Helleu 87f74e9f95 core: add syntax highlighting in evaluation of expressions, add option weechat.color.eval_syntax_colors (issue #2042)
Syntax highlighting (raw string without evaluation): `${raw_hl:xxx}`
Syntax highlighting: `${hl:xxx}`
2023-11-23 08:49:54 +01:00
Sébastien Helleu 2b0c2747ad api: remove script hooks before buffers/bar items/configs
This prevents a crash in some scripts that could use options after they are
freed, with the call to hook config callback that has been enabled by commit
2260214797.
2023-11-21 20:57:49 +01:00
Sébastien Helleu 6b0b3996cd core: add "core" in ChangeLog 2023-11-21 07:48:35 +01:00
Krzysztof Korościk 794dc115e5 po: updated polish translation 2023-11-20 23:52:08 +01:00
Krzysztof Korościk 117efa2716 po: updated part of polish translation 2023-11-19 23:48:00 +01:00
Krzysztof Korościk b9c8f215f3 doc: updated polish translation 2023-11-19 18:09:43 +01:00
Ivan Pešić ca388bdd53 doc: Update Serbian documentation 2023-11-16 13:30:27 +01:00
Ivan Pešić 3cec88506a core: Update Serbian translation 2023-11-16 13:30:27 +01:00
Sébastien Helleu 7b86f31764 buflist: jump to previous/next buffer displayed in buflist item with ctrl+wheel up/down on a buflist item (closes #1473) 2023-11-11 21:04:21 +01:00
Nils Görs 5d38149578 core: update German translations 2023-11-11 14:19:19 +01:00
Sébastien Helleu 75582b9262 core: remove empty lines in release notes 2023-11-11 09:46:08 +01:00
Sébastien Helleu d1aeca9ca9 core: fix section titles in release notes 2023-11-11 09:44:01 +01:00
Sébastien Helleu acd67bf34d core: update translations (issue #2040) 2023-11-11 08:59:43 +01:00
Sébastien Helleu e4720e5d5b core: add search in commands history in release notes (issue #2040) 2023-11-11 08:54:30 +01:00
Sébastien Helleu f00904afaa core: split ChangeLog entry on multiple lines (issue #2040) 2023-11-11 08:54:28 +01:00
Sébastien Helleu 6f90c7ef08 core: move key ctrl+s, ctrl+u to alt+shift+U (issue #2040) 2023-11-11 08:54:26 +01:00
Sébastien Helleu 97a90ac65a core: add key ctrl+o to send command found and insert next one in input (issue #2040) 2023-11-11 08:54:24 +01:00
Sébastien Helleu b83b428c5c core: add incremental search in commands history (issue #2040)
Changes:

- move key ctrl+r to ctrl+s
- add key ctrl+r to search in commands history
- add option `search_history` in command `/input`
- add key context "histsearch"
- add option weechat.look.buffer_search_history
- add buffer variables "text_search_direction", "text_search_history" and "text_search_ptr_history"
2023-11-11 08:54:06 +01:00
Nils Görs b2ce312e82 core: update German translations 2023-11-09 10:28:39 +01:00
Sébastien Helleu ecc900ba3a tests: add tests on IRC message 337 2023-11-07 21:58:04 +01:00
Sébastien Helleu 515d4241ad irc: fix target buffer of IRC message 337 (whois reply: "is hiding their idle time") 2023-11-07 21:50:12 +01:00
Nils Görs 977fd3b6f7 core: update German translations 2023-11-06 13:46:44 +01:00
Sébastien Helleu 252240a1b1 core: fix value of buffer variable "num_history" when the value defined in option weechat.history.max_commands is reached 2023-11-04 17:01:45 +01:00
Sébastien Helleu 11d95fce11 relay: close properly connection with the IRC client in case of server disconnection (closes #2038) 2023-11-04 08:58:19 +01:00
Sébastien Helleu 7d403d41e6 core: remove incorrect warning when binding keys F10 to F20 (closes #2039) 2023-11-04 08:36:04 +01:00
Sébastien Helleu d96a3e6b55 doc/faq: add question about key F11 2023-11-04 08:05:24 +01:00
Sébastien Helleu c90c71ea30 core: fix double call to hook config when an option is unset 2023-11-04 07:37:12 +01:00
Sébastien Helleu 028902b0e3 core: update ChangeLog 2023-11-04 00:02:12 +01:00
Sébastien Helleu 2260214797 core: call hook config when options are freed by unset or when file/section is freed
This fixes a refresh issue on the fset buffer when a plugin is unloaded: now
the options displayed that are freed are properly removed from the fset buffer.
2023-11-03 22:31:05 +01:00
Sébastien Helleu ab2684fd52 relay: change default value of option relay.network.tls_priorities to NORMAL
It is no more needed to remove `VERS-SSL3.0` because it is no longer in the
default priorities since GnuTLS 3.4.0 (released on 2015-04-08).
2023-11-03 22:01:50 +01:00
Sébastien Helleu d4cba7b7a3 irc: change default value of server option "tls_priorities" to NORMAL
It is no more needed to remove `VERS-SSL3.0` because it is no longer in the
default priorities since GnuTLS 3.4.0 (released on 2015-04-08).
2023-11-03 21:58:13 +01:00
Sébastien Helleu d90eebf6ca irc: update help on color remap options, update translations (issue #2025) 2023-11-01 14:29:25 +01:00
Sébastien Helleu f16857fc3d irc: add option irc.color.term_remap (closes #2025) 2023-11-01 13:56:40 +01:00
Sébastien Helleu 082cbe519b irc: add support of RGB colors in messages (issue #2025)
This is made using standard color code '\x04' followed by text color (RGB as
hexadecimal) and optional background (RGB as hexadecimal).
2023-11-01 13:21:06 +01:00
Sébastien Helleu 6d69cde186 core, plugins: set error to NULL before calling strtol()
This is not strictly necessary, just in case the function strtol() doesn't
update the pointer.
2023-11-01 09:53:38 +01:00
Sébastien Helleu f53983bc79 core: display an error with command /history N when N is not a valid integer 2023-11-01 09:44:44 +01:00
Sébastien Helleu 1dd535da5d trigger: rename local variable "trigger_filter" to "filter" on monitor buffer (closes #2037) 2023-10-30 23:41:28 +01:00
Sébastien Helleu 02f26517f3 core: fix memory leak when config version is invalid or not supported 2023-10-30 23:10:54 +01:00
Sébastien Helleu 3c62ae482b core: fix memory leak when infolist variable can not be created 2023-10-30 23:10:54 +01:00
Sébastien Helleu fd78c2f9ac core: check that buffer is not NULL in function gui_chat_printf_date_tags_internal 2023-10-30 23:10:54 +01:00
Sébastien Helleu 23289dcb2c core: fix use NULL pointer when a config file has no options 2023-10-30 23:10:54 +01:00
Sébastien Helleu 81b31d9e6c logger: remove dead assignment 2023-10-30 23:10:54 +01:00
Sébastien Helleu e8a4c1d813 xfer: fix use of uninitialized variable when adding a new xfer 2023-10-30 23:10:54 +01:00
Sébastien Helleu 4d884729f9 xfer: fix use of NULL pointer in strrchr() 2023-10-30 23:10:54 +01:00
Sébastien Helleu f8c459453d core: fix crash when "config_version" is present in a configuration file without a value 2023-10-30 23:10:54 +01:00
Sébastien Helleu bd187cd668 core: display an error on startup if environment variable "HOME" is not set 2023-10-30 23:10:54 +01:00
Sébastien Helleu 24c46cf3e5 tests: check that environment variable "HOME" is set before using it 2023-10-30 08:45:44 +01:00
Sébastien Helleu 1a5ff442cb ruby: fix use of NULL variable when displaying exception 2023-10-30 08:38:44 +01:00
Sébastien Helleu 21759171d2 irc: add tags "nick_xxx" and "host_xxx" in all messages, including self and server messages 2023-10-30 08:23:20 +01:00
Sébastien Helleu 7406c8b94c ci: uninstall php8.1-imagick before build (issue #2009)
When php imagick is installed and when WeeChat is compiled with gcc, there's a
crash when the php plugin is loaded.  Newer versions of gcc should fix the
issue, but as in CI we can't easily use them, uninstalling imagick avoids the
crash.
2023-10-28 09:08:33 +02:00
Sébastien Helleu 5c41d6c4a4 core: add version 4.1.1 2023-10-26 21:26:38 +02:00
Sébastien Helleu 6631d44a8d core: add version 4.0.6 2023-10-26 21:26:31 +02:00
Sébastien Helleu df1f48cc9b core: display only version with command /version, add options -o and -ol in command /upgrade 2023-10-26 20:42:23 +02:00
Nils Görs 57475499bf core: update German translations 2023-10-24 16:56:23 +02:00
Nils Görs 8f4a1a2dea core: update German translations 2023-10-24 09:22:48 +02:00
Sébastien Helleu c156fee0e1 core: fix crash when a custom bar item name is already used by a default bar item (closes #2034) 2023-10-23 13:11:02 +02:00
Nils Görs 0fe7eec90b core: update German translations 2023-10-23 11:28:58 +02:00
Sébastien Helleu 3cc400a9d6 core: add number of processes in command /sys waitpid 2023-10-22 21:02:41 +02:00
Sébastien Helleu d6343020aa core: fix random timeouts when a lot of concurrent processes are launched with hook_process (closes #2033) 2023-10-20 21:00:22 +02:00
Sébastien Helleu 8a389395b9 core: update translations (issue #2005) 2023-10-20 13:16:40 +02:00
Sébastien Helleu 02679e8001 logger: add description for examples in help on command /logger (issue #2005) 2023-10-20 13:16:07 +02:00
Sébastien Helleu fce5386d5c irc: add description for examples in help on some commands (issue #2005)
Help is updated on these commands:

- `/allchan`
- `/allpv`
- `/allserv`
2023-10-20 13:15:52 +02:00
Sébastien Helleu 96b7c60c5a core: add description for examples in help on some commands (issue #2005)
Help is updated on these commands:

- `/allbuf`
- `/bar`
- `/print`
- `/repeat`
- `/secure`
- `/wait`
2023-10-20 13:15:49 +02:00
Sébastien Helleu 6452be4a28 core: update translations (issue #194, issue #2032) 2023-10-19 23:59:15 +02:00
Sébastien Helleu a88b8f7ed2 irc: revert compute of nick colors to case sensitive way, deprecate again IRC nick color infos (issue #194, issue #2032) 2023-10-19 23:38:28 +02:00
Sébastien Helleu 1896c50c11 core: update translations (issue #2005) 2023-10-17 18:14:54 +02:00
Sébastien Helleu fa1e82d500 xfer: format and translate commands line by line (issue #2005) 2023-10-17 18:14:54 +02:00
Sébastien Helleu 7702ed56ea trigger: format and translate command line by line (issue #2005) 2023-10-17 18:14:54 +02:00
Sébastien Helleu f65556f3b2 spell: format and translate command line by line (issue #2005) 2023-10-17 18:14:54 +02:00
Sébastien Helleu ce5de07dbd relay: format and translate command line by line (issue #2005) 2023-10-17 18:14:54 +02:00
Sébastien Helleu efa1f44317 script: format and translate commands line by line (issue #2005) 2023-10-17 18:14:54 +02:00
Sébastien Helleu d60859138f logger: format and translate command line by line (issue #2005) 2023-10-17 18:14:54 +02:00
Sébastien Helleu 55ef9536c5 irc: format and translate commands line by line (issue #2005) 2023-10-17 18:14:54 +02:00
Sébastien Helleu 58bab65fd1 fset: format and translate command line by line (issue #2005) 2023-10-17 18:14:54 +02:00
Sébastien Helleu 79581019aa fifo: format and translate command line by line (issue #2005) 2023-10-17 18:14:54 +02:00
Sébastien Helleu aa32fa6d3e exec: format and translate command line by line (issue #2005) 2023-10-17 18:14:54 +02:00
Sébastien Helleu 2aaa14b616 charset: format and translate command line by line (issue #2005) 2023-10-17 18:14:54 +02:00
Sébastien Helleu cfa5f3324a buflist: format and translate command line by line (issue #2005) 2023-10-17 18:14:54 +02:00
Sébastien Helleu 05b160b5bc alias: format and translate command line by line (issue #2005) 2023-10-17 18:14:54 +02:00
Sébastien Helleu 2a4faf566b core: format and translate commands line by line (issue #2005) 2023-10-17 18:14:54 +02:00
Sébastien Helleu bbf42a5d09 api: add support of format/translation of command arguments description line by line (issue #2005) 2023-10-17 18:14:53 +02:00
Sébastien Helleu e34071131e api: add function string_concat (issue #2005) 2023-10-17 18:14:53 +02:00
Sébastien Helleu 9bc9df47d7 irc: add option irc.look.ignore_tag_messages (closes #989) 2023-10-15 18:45:11 +02:00
Sébastien Helleu 3898449dc2 irc: add structure with context sent as unique parameter to IRC protocol callbacks (issue #989) 2023-10-15 18:40:01 +02:00
Sébastien Helleu aed5c543ec core: update ChangeLog (closes #1956) 2023-10-15 18:00:59 +02:00
Sébastien Helleu ed98425b1b core: update translations (issue #1956) 2023-10-15 16:50:33 +02:00
Sébastien Helleu 0c45083324 alias: allow wildcard in command /alias del (issue #1956) 2023-10-15 16:50:26 +02:00
Sébastien Helleu 13e73d52d3 core: allow wildcard in command /proxy del (issue #1956) 2023-10-15 16:19:31 +02:00
Sébastien Helleu 59d11533dd core: allow wildcard in command /item del (issue #1956) 2023-10-15 16:19:06 +02:00
Sébastien Helleu 99a56b99f2 core: allow wildcard in command /bar del (issue #1956) 2023-10-15 16:18:51 +02:00
Sébastien Helleu aebf6d7ab3 core: allow wildcard in command /filter (issue #1956)
A mask with wildcards is now allowed in the following commands:

- `/filter enable`
- `/filter disable`
- `/filter toggle`
- `/filter del`
2023-10-15 16:18:02 +02:00
Sébastien Helleu 35660f8b1d trigger: allow wildcard in command /trigger (issue #1956)
A mask with wildcards is now allowed in the following commands:

- `/trigger enable`
- `/trigger disable`
- `/trigger toggle`
- `/trigger restart`
- `/trigger del`
- `/trigger restore`
2023-10-15 16:15:50 +02:00
Sébastien Helleu 1a579e03e8 core: update French translations 2023-10-15 15:48:55 +02:00
Sébastien Helleu 1d6e1fd752 core: make libintl.h required if CMake option ENABLE_NLS is enabled (issue #2031) 2023-10-15 14:58:26 +02:00
Sébastien Helleu 18b3c7a30b Version 4.2.0-dev 2023-10-15 09:06:12 +02:00
Sébastien Helleu 775b9c9cdf Version 4.1.0 2023-10-15 09:02:57 +02:00
Sébastien Helleu 6bc7d6fad3 debian: update changelog 2023-10-15 08:46:45 +02:00
Sébastien Helleu 9aefe4ae09 core: call curl init and cleanup functions
This is to prevent issues when these functions are not thread-safe.
2023-10-13 23:03:00 +02:00
Trygve Aaberge 13a057f0b2 core: only print hook_url errors when debug is enabled
Errors from hook_url should be handled by the caller, so don't print
them to the core buffer by default. Only print them when
weechat_debug_core is enabled. This was already the behavior for the
timeout error.
2023-10-13 21:52:15 +02:00
Trygve Aaberge 3735397a0f core: add error codes to output in hook_url
When hook_url fails, add an error_code field in the output in addition
to the error field. This is so the caller can get which error happened
programatically, without having to parse the (possibly translated) error
string.

It uses the same error codes as the return_code in hook_process, and in
addition adds 5 for an error from pthread_create and 6 for a timeout
error. If the error is from pthread_create, an additional field
`error_code_pthread` with the error code from pthread_create is added.
If the error is from curl, an additional field `error_code_curl` with
the error code from curl is added.
2023-10-13 09:26:00 +02:00
Trygve Aaberge 57b2efd82b core: run hook_url callback when pthread_create failed 2023-10-13 09:25:39 +02:00
Sébastien Helleu 6468f7761f core: set "error" field of "output" hashtable in hook_url in case of transfer timeout 2023-10-13 08:14:31 +02:00
Nils Görs a83121b847 core: update German translations 2023-10-11 07:52:02 +02:00
Sébastien Helleu 02a05f63d5 core: fix zombie processes remaining after the end of forked processes (closes #1994)
The clean of processes with waitpid() is now delayed after the kill(), so that
there are no more zombies.

In addition, this can be done manually if needed with `/sys waitpid`.
2023-10-10 19:23:43 +02:00
Sébastien Helleu 408901d772 irc: move value -all at the end of completions for command /ignore del 2023-10-09 20:06:52 +02:00
Sébastien Helleu bea9d5a2bf irc: fix memory leak when joining channels with keys 2023-10-07 20:33:42 +02:00
Sébastien Helleu feb5ee8886 core: fix build error if CMake option ENABLE_NLS is turned to off or if required dependencies are not found (closes #2026) 2023-10-05 19:05:02 +02:00
Sébastien Helleu b46ed5a2a2 core: use larger buffer for errors when creating a filter 2023-10-05 19:02:38 +02:00
Nils Görs 1d104bb940 core: update German translations 2023-10-05 08:44:28 +02:00
Sébastien Helleu 4600aeea53 core: update ChangeLog (issue #2024) 2023-10-01 16:43:48 +02:00
Sébastien Helleu 6bd0c63192 core: make zstd dependency optional (closes #2024) 2023-10-01 16:36:32 +02:00
Sébastien Helleu 879a548bea buflist: rename completions with items
Completions renamed:

- "buflist_all_items" -> "buflist_items"
- "buflist_used_items" -> "buflist_items_used"
2023-10-01 12:14:03 +02:00
Sébastien Helleu e928bce76c buflist: add support of item names in command /buflist refresh 2023-10-01 09:58:19 +02:00
LuK1337 8bd4994ccd core, relay: make inet_pton() return value checks more strict
inet_pton() can return values < 0.
2023-09-26 17:48:20 +02:00
Sébastien Helleu 360e971b01 core: add contributor 2023-09-26 17:14:10 +02:00
LuK1337 0bb5998988 core: replace inet_addr() with inet_pton()
man pages as well as rpminspect suggest that we shouldn't be using
inet_addr().
2023-09-26 17:12:03 +02:00
Sébastien Helleu b58f704542 core: update ChangeLog 2023-09-25 13:50:32 +02:00
LuK1337 bcd23ff585 core: fix TOTP moving factor on big-endian systems 2023-09-25 13:48:30 +02:00
LuK1337 169eecb5cf tests: use correct data type method in hdata tests 2023-09-25 13:48:30 +02:00
LuK1337 b433afbd26 tests: cast infolist time variable value to the correct data type 2023-09-25 13:48:30 +02:00
Sébastien Helleu 082ccb05bb core: add version 4.0.5 2023-09-24 10:24:26 +02:00
Sébastien Helleu f72fb3be4b irc: display "owner" for +q and "admin" for +a in output of /names (closes #2020, issue #97) 2023-09-22 23:21:22 +02:00
Sébastien Helleu 7f0efa3a8f core: update translations 2023-09-22 23:12:32 +02:00
Sébastien Helleu c96971eebb script: only check if return value of plugin_script_search_path is NULL (issue #2019) 2023-09-22 22:58:51 +02:00
Sébastien Helleu d6e4e87faf script: fix removal of script in system directory while trying to install a script (closes #2019) 2023-09-22 22:51:44 +02:00
Sébastien Helleu 12106ae7ba script: fix autoload of multiple scripts at once with /script autoload (closes #2018) 2023-09-20 20:05:49 +02:00
Sébastien Helleu 91bb1ebf5d tests: fix condition on libgcrypt version for algorithms sha512-224 and sha512-256 (issue #2008) 2023-09-20 06:56:56 +02:00
Sébastien Helleu 439410a388 doc/api: use a table for file_in/file_out options in function hook_url 2023-09-16 13:00:03 +02:00
Sébastien Helleu 36ab6c3bc7 doc/api: add link to hook_url in hook_process_hashtable for Curl options 2023-09-16 13:00:03 +02:00
Sébastien Helleu f0e4494205 core: properly terminate thread and release memory in url hook 2023-09-16 13:00:03 +02:00
Sébastien Helleu 83dcb84ea6 doc/api: add function hook_url 2023-09-16 13:00:03 +02:00
Sébastien Helleu fb00bc1f4b scripts: add function hook_url in scripting API 2023-09-16 13:00:03 +02:00
Sébastien Helleu 24d2ba3338 script: replace hook_process_hashtable by hook_url to download scripts and list of scripts (closes #1723) 2023-09-16 12:58:57 +02:00
Sébastien Helleu 63922ca038 api: add function hook_url 2023-09-16 10:19:51 +02:00
Sébastien Helleu a5f4c3770b doc/faq: add question about move of WeeChat config to another device 2023-09-16 09:46:50 +02:00
Sébastien Helleu 23d3ce7ad8 doc/faq: add question about keys like Enter and version 4.0.0 2023-09-15 18:57:00 +02:00
Nils Görs f49810ec0e core: update German translations 2023-09-15 12:48:22 +02:00
Sébastien Helleu 85b5bacfe3 script: rename parameters up/down/go to -up/-down/-go in command /script 2023-09-15 08:43:37 +02:00
Sébastien Helleu e62ff286ff xfer: fix crash on /dcc chat 2023-09-14 20:48:58 +02:00
Sébastien Helleu cb680ef9df irc: add option irc.look.open_pv_buffer_echo_msg (issue #2016) 2023-09-14 20:19:05 +02:00
Sébastien Helleu 63fc9aace8 irc: update title in query buffer when remote nick is myself (issue #2016) 2023-09-14 16:15:09 +02:00
Sébastien Helleu a2c3322df7 irc: fix title of query buffer for own messages received (issue #2016) 2023-09-14 15:22:11 +02:00
Sébastien Helleu 049e9d23c5 irc: open a query buffer on PRIVMSG received from self nick when capability echo-message is NOT enabled (issue #2016) 2023-09-14 14:51:50 +02:00
Sébastien Helleu 4c3ab508c7 irc: don't open a new private buffer on /msg command when capability echo-message is enabled (closes #2016) 2023-09-14 11:10:17 +02:00
Sébastien Helleu 747d6122bc core: move ChangeLog entry to the appropriate version 2023-09-14 11:07:42 +02:00
Nils Görs aad846583d core: update German translations 2023-09-14 08:45:01 +02:00
Sébastien Helleu 4e173c1972 irc: fix title of private buffers wrongly set to own address when capability echo-message is enabled (issue #2016) 2023-09-14 08:04:44 +02:00
Sébastien Helleu ef99d544fa core: add algorithms sha512-224, sha512-256, sha3-*, blake2b-* and blake2s-*` in option sec.crypt.hash_algo (closes #2008) 2023-09-13 15:10:19 +02:00
Sébastien Helleu 684bfd64c6 api: add algorithms sha512-224, sha512-256, blake2b-* and blake2s-*` in hash functions (issue #2008) 2023-09-13 15:09:34 +02:00
Nils Görs 29c4aa4620 core: update German translations 2023-09-13 10:19:54 +02:00
Sébastien Helleu d100d62a72 core: translate error messages (issue #2013) 2023-09-12 15:09:00 +02:00
Sébastien Helleu 3021b2f9c5 core: automatically backup config file read if it has an unsupported version (closes #2013) 2023-09-12 14:59:25 +02:00
Sébastien Helleu 6fcdb50dab xfer: fix memory leak on plugin unload 2023-09-12 13:38:14 +02:00
Sébastien Helleu 54a5815105 doc/api: fix return values for callback_read in config_new_section 2023-09-12 13:35:02 +02:00
Sébastien Helleu c4c58e0914 irc: fix unexpected message sent to server when part of the second line of an IRC command (closes #1992) 2023-09-12 08:14:23 +02:00
Sébastien Helleu 8eb2604704 core: add path in message displayed when a config file is updated to a newer version 2023-09-11 22:49:21 +02:00
Sébastien Helleu ddd859886e irc: fix autojoin of channels when private buffers are opened (closes #2012) 2023-09-11 21:41:47 +02:00
Sébastien Helleu ae50f6688e irc: reset filter and sort when /list buffer is closed (issue #1972) 2023-09-11 16:40:45 +02:00
Nils Görs 6170ebd396 core: update German translations 2023-09-11 11:21:54 +02:00
Sébastien Helleu 82372115ae core: display a message when a configuration file is updated to a newer version 2023-09-11 09:53:17 +02:00
Nils Görs 71dfbdc419 core: update German translations 2023-09-11 08:44:14 +02:00
Sébastien Helleu 79d0a134e3 buflist: add missing items buflist4 and buflist5 in help on command/options and user's guide 2023-09-11 07:55:54 +02:00
Nils Görs 3882b2e881 core: update German translations 2023-09-09 21:03:38 +02:00
Sébastien Helleu 6b356d4208 doc/user: add missing actions on script buffer 2023-09-09 11:26:04 +02:00
Sébastien Helleu a2e9c74b50 doc/user: add missing key alt+L (input L) on script buffer 2023-09-09 11:10:50 +02:00
Sébastien Helleu d9555cc567 scripts: add functions config_enum and config_enum_default in scripting API (issue #1973) 2023-09-09 08:54:33 +02:00
Sébastien Helleu 9fada89f96 doc/user: add missing actions p and v on fset buffer 2023-09-08 20:22:59 +02:00
Sébastien Helleu 46b76af645 xfer: display an error message when opening file for read or write fails (issue #2010) 2023-09-08 13:06:28 +02:00
Sébastien Helleu b30b492e66 core: update translations 2023-09-08 13:02:36 +02:00
Sébastien Helleu 2c251cd285 script: fix up/down keys on /script buffer
Regression was introduced in commit 817d1eaf8e.
2023-09-08 10:47:46 +02:00
Nils Görs 7fd20269e7 core: update German translations 2023-09-08 07:56:48 +02:00
Sébastien Helleu 374262a8d7 core: add completion "eval_variables", used in completion of /eval 2023-09-07 11:38:26 +02:00
Sébastien Helleu 89739421cf core: fix comment on function eval_replace_vars_cb 2023-09-07 11:30:54 +02:00
Sébastien Helleu 1be5209e9f core: update translations (issue #2004) 2023-09-06 19:16:06 +02:00
Sébastien Helleu 65e092ab25 core: add contributor (issue #2004) 2023-09-06 19:16:06 +02:00
Sébastien Helleu 5f5f05805f core: update ChangeLog (issue #2004) 2023-09-06 19:16:06 +02:00
Sébastien Helleu 6eb3f5672f xfer: fix code style (issue #2004) 2023-09-06 19:10:47 +02:00
Sébastien Helleu 1f1416dd50 irc: fix code style (issue #2004) 2023-09-06 19:10:41 +02:00
Mario Campos 1ee3bad88b xfer: update command/config docs with passive DCC support. 2023-09-06 14:11:35 +02:00
Mario Campos 7f0f947667 xfer: add passive DCC support.
This commit also includes support for passive DCC RESUME.

There was also a potential segfault with calling `atoi(pos_token)` when `pos_token` is NULL, so `token` is set to be stored as a string. Although it is an integer, we don't need to store it as such. That's really more of an implementation detail.
2023-09-06 14:11:35 +02:00
Mario Campos 23d70b5101 xfer: add and identify active/passive xfer types.
Before making any significant changes, let's identify the existing xfer types by either active or passive.
2023-09-06 14:11:35 +02:00
Mario Campos 2a40743ed0 xfer: reverse DCC parsing from RtL to LtR.
This makes it easier to handle the optional "token" argument at the (right) end, which will be necessary to support passive DCC.

Incidentally, this is RtL parsing order is the reason why you'd get a cryptic "0" address error when attempting to do passive DCC: the "token" argument gets misinterpreted as the "size" argument. Every argument "shifts" over by one, leaving an address (port) of "0".
2023-09-06 14:11:35 +02:00
Sébastien Helleu ac8418de8e irc: remove default CTCP replies FINGER and USERINFO from user's guide (issue #1974) 2023-09-06 14:10:56 +02:00
Sébastien Helleu e1ecf992f3 irc: fix comments on CTCP evaluated variables (issue #1974) 2023-09-06 14:05:10 +02:00
Ivan Pešić cf6ec7657e doc: Update Serbian documentation 2023-09-06 10:25:41 +02:00
Ivan Pešić 75c5ccecfa core: Update Serbian translation 2023-09-06 10:25:41 +02:00
Sébastien Helleu 722cb27d04 core: add note for translators on command arguments (issue #2005)
Only text between angle brackets (eg: "<name>") must be translated.
2023-09-05 13:28:26 +02:00
Sébastien Helleu 13ce1147fc doc: fix alignment of command arguments in auto-generated file when command name contains wide chars 2023-09-01 08:58:36 +02:00
Nils Görs b7cd446822 core: update German translations 2023-09-01 07:29:20 +02:00
Sébastien Helleu 5691518e91 doc/user: add section "buffer" in chapter on WeeChat options (issue #352) 2023-08-30 17:33:50 +02:00
Sébastien Helleu 2b3fb62065 core: do not evaluate properties "key_bind_xxx" and "key_unbind_xxx" in options weechat.buffer.* (issue #352) 2023-08-30 17:25:21 +02:00
Sébastien Helleu c2b6523d9f core: fix style for keys in ChangeLog 2023-08-29 12:32:23 +02:00
Sébastien Helleu 620fce4bba core: add new key ctrl+z in ChangeLog 2023-08-29 12:28:24 +02:00
Sébastien Helleu 8b3311860b api: add support of path to variable and hashtable comparison in function hdata_compare (closes #1066) 2023-08-29 10:22:17 +02:00
Sébastien Helleu 58d61cb153 core: remove unused variable old_value 2023-08-29 09:53:08 +02:00
Sébastien Helleu 32f52ae236 core: check that property is not NULL before calling free 2023-08-29 09:52:17 +02:00
Nils Görs c5ceacd68f core: update German translations 2023-08-28 20:34:03 +02:00
Sébastien Helleu aa4bc616b9 core: add missing include of unistd.h 2023-08-28 17:57:46 +02:00
Sébastien Helleu b203c4109b core: move sys filename and functions 2023-08-28 17:55:54 +02:00
Sébastien Helleu a16b3d25ce core: update translations 2023-08-28 17:47:21 +02:00
Sébastien Helleu cc2b44a8ec core: add key ctrl+z to suspend WeeChat process (closes #985) 2023-08-28 17:39:33 +02:00
Sébastien Helleu 5ecb1adc34 core: add command /sys to show resource limits and usage 2023-08-28 12:30:32 +02:00
Nils Görs d328d7f2b8 core: update German translations 2023-08-27 19:42:31 +02:00
Sébastien Helleu 711d3afa5c script: fix crash when a /script command triggers another /script command (issue #923) 2023-08-27 17:19:01 +02:00
Sébastien Helleu 99822fc5e7 core: ignore key bindings with empty command
This makes possible to disable a key hiding another (because shorter than the
other, and beginning with the same key).

For example if key "meta-a" is set to an empty command, it would not hide any
more the key "meta-a,1" which has a non-empty command.
2023-08-27 14:16:08 +02:00
Sébastien Helleu 181f4c041d core: add support of quotes in commands /key bind and /key bindctxt 2023-08-27 14:15:30 +02:00
Sébastien Helleu 3ca4f2d3e5 irc: add count and mode filter in command /names (closes #98) 2023-08-27 12:26:10 +02:00
Sébastien Helleu 300adb42fa irc: add note about regex and output on server buffer in /help list 2023-08-27 09:59:54 +02:00
Sébastien Helleu e5e027b9fa core: add countdown example in /help repeat (issue #2007) 2023-08-27 08:25:41 +02:00
Sébastien Helleu 9a268ec7cc core: evaluate command given to /repeat with contextual variables (closes #2007) 2023-08-27 08:03:40 +02:00
Nils Görs b0ed5b99e9 core: update German translations 2023-08-27 00:12:07 +02:00
Sébastien Helleu 4a95d78c45 core: add variable ${property} in evaluation of options weechat.buffer.* (issue #352) 2023-08-26 20:04:58 +02:00
Sébastien Helleu dd0c20f6b6 irc: add count for all nick modes in output of /names (closes #97) 2023-08-26 18:57:21 +02:00
Sébastien Helleu 42c925b672 irc: use str_nicks only if not NULL in callback of message 353 2023-08-26 18:56:37 +02:00
Sébastien Helleu ff4596e45c core: add option callbacks in command /debug 2023-08-25 13:35:50 +02:00
Sébastien Helleu cc2bb4b8cf core: add function util_get_microseconds_string 2023-08-25 11:53:23 +02:00
Sébastien Helleu 015ff084e3 core: add microseconds precision in function util_parse_delay 2023-08-25 11:23:41 +02:00
Sébastien Helleu 11943ebaaf tests: add tests on GUI buffer functions
Functions tested:

- gui_buffer_is_reserved_name
- gui_buffer_get_integer
- gui_buffer_get_string
- gui_buffer_get_pointer
2023-08-25 08:16:36 +02:00
Sébastien Helleu 2092715ac7 core: add buffer local keys in completion "buffer_properties_setauto" 2023-08-24 19:20:05 +02:00
Sébastien Helleu 272bcf3c97 core: update ChangeLog (issue #2006) 2023-08-24 19:10:35 +02:00
Trygve Aaberge d14e74ccf6 Add compatibility with Python < 3.10 in weechat.pyi
The | syntax for unions is only supported in Python 3.10 and later.
Since Python 3.8 and 3.9 are still supported upstream for a while and we
had a user reporting on IRC that they couldn't use the stub file since
they are using 3.8, change to the old syntax for unions to support this.

There aren't really any drawbacks of this. It's just a bit more verbose,
and a typing import is necessary, but neither of those really matters in
a generated stub file.
2023-08-24 19:08:00 +02:00
Sébastien Helleu 3a59f2f65e irc: add local key bindings during the /list buffer creation
This allows the user to bind or unbind keys by setting options
"weechat.buffer.irc.list_xxx.key_bind_*" and
"weechat.buffer.irc.list_xxx.key_unbind_*".
2023-08-24 19:03:44 +02:00
Sébastien Helleu 817d1eaf8e script: add local key bindings during the buffer creation
This allows the user to bind or unbind keys by setting options
"weechat.buffer.script.scripts.key_bind_*" and
"weechat.buffer.script.scripts.key_unbind_*".
2023-08-24 19:01:20 +02:00
Sébastien Helleu 6737859330 fset: add local key bindings during the buffer creation
This allows the user to bind or unbind keys by setting options
"weechat.buffer.fset.fset.key_bind_*" and
"weechat.buffer.fset.fset.key_unbind_*".
2023-08-24 19:00:32 +02:00
Sébastien Helleu fd07b2888f fset: fix wrong value type in hashtable used for fset buffer properties 2023-08-24 18:44:50 +02:00
Sébastien Helleu 5d9af29024 api: add infos "nick_color_ignore_case" and "nick_color_name_ignore_case" (issue #194) 2023-08-24 18:19:32 +02:00
Nils Görs 965c6ac2ea doc: update German documentation 2023-08-24 13:50:16 +02:00
Nils Görs d2d3cd1b46 core: update German translations 2023-08-24 13:36:53 +02:00
Sébastien Helleu 0c6bcf3e78 core: update translations (closes #352) 2023-08-24 11:49:46 +02:00
Sébastien Helleu 303fe6744e core: add option setauto in command /buffer (issue #352) 2023-08-24 11:49:29 +02:00
Sébastien Helleu 3aef8b7292 core: add options weechat.buffer.* to save buffer properties set by user (issue #352) 2023-08-24 10:38:47 +02:00
Sébastien Helleu 6aa66b5363 irc: compute color in case insensitive way (closes #194)
Reintroduce infos "irc_nick_color" and "irc_nick_color_name" (that were
marked deprecated since version 1.5).

A server name is added in the two infos and is optional, for backward
compatibility.
2023-08-24 09:24:51 +02:00
Sébastien Helleu c2426e88c9 irc: add functions to convert strings to lower/upper case (following casemapping) (issue #194) 2023-08-24 09:24:42 +02:00
Sébastien Helleu 09eae3e2af irc: add tests on server functions 2023-08-23 15:33:34 +02:00
Sébastien Helleu 25b3f2eae7 irc: fix string comparison when CASEMAPPING is set to "ascii" 2023-08-23 15:33:34 +02:00
Sébastien Helleu 9462c87ce5 tests: add tests on string comparison functions with range of 29 chars 2023-08-23 12:14:07 +02:00
Sébastien Helleu 03927a3283 irc: check that server is not NULL in function irc_server_eval_fingerprint 2023-08-23 12:08:59 +02:00
Sébastien Helleu 7afc43901d irc: move function irc_server_fingerprint_search_algo_with_size 2023-08-23 12:06:59 +02:00
Sébastien Helleu 49f52cc051 doc/faq: split CTCP options into two blocks
Second block is for CTCP replies made by older versions (< 4.1.0).
2023-08-22 23:55:01 +02:00
Sébastien Helleu c0bd12bdf0 doc/faq: add disabling of buflist in question about CPU usage 2023-08-22 23:44:58 +02:00
Sébastien Helleu 0871024eda core: add version 4.0.4 2023-08-22 12:08:42 +02:00
Nils Görs 4566ed2bf9 core: update German translations 2023-08-22 11:30:35 +02:00
Sébastien Helleu 9591af8be8 core: fix gcc warning on uninitialized variable pos_end
The variable `pos_end` is never used when not initialized anyway, thanks to the
`break` done before.
2023-08-22 10:29:11 +02:00
Sébastien Helleu 28ff9d602a debian: bump Standards-Version to 4.6.2 2023-08-22 10:03:35 +02:00
Sébastien Helleu a3382f5a09 build: update build dependency from libncursesw5-dev to libncurses-dev 2023-08-22 09:55:24 +02:00
Sébastien Helleu 212741af05 debian: remove NEWS file 2023-08-22 09:36:39 +02:00
Sébastien Helleu 00dbb24658 debian: update changelog 2023-08-22 09:35:40 +02:00
Sébastien Helleu fdebcf690b script: add parameters up/down/go in /help script and command completion 2023-08-22 09:34:41 +02:00
Sébastien Helleu 763e8bd3a0 script: allow jump to the last script with command /script go end 2023-08-22 09:24:06 +02:00
Sébastien Helleu 6950c953a1 script: adjust scroll after command /script go N 2023-08-22 09:21:00 +02:00
Ivan Pešić fd6bdd3b59 doc: Update Serbian documentation 2023-08-22 07:51:09 +02:00
Ivan Pešić f098a112a1 core: Update Serbian translation 2023-08-22 07:51:09 +02:00
Sébastien Helleu ce4f4fb3fa logger: remove trailing empty line in display of backlog (closes #2002) 2023-08-21 16:01:59 +02:00
Sébastien Helleu faf9d1600f tests: change date format in test of print_date_tags
With complete date and time format, the tests output was incorrectly parsed by
Emacs.
2023-08-21 15:31:14 +02:00
Sébastien Helleu f4b9cad720 perl: fix display of non-ASCII chars after load of a script with Perl >= 5.38 (closes #1996) 2023-08-21 13:10:26 +02:00
Sébastien Helleu 6def0cf502 buflist: add list buffer in /help buflist and /help buflist.format.indent 2023-08-20 21:00:33 +02:00
Sébastien Helleu 6969b9b2b8 buflist: indent the /list buffer 2023-08-20 20:54:24 +02:00
Sébastien Helleu 5ffce90f23 irc: change local variable "type" from "irc_list" to "list" on /list buffer 2023-08-20 20:53:44 +02:00
Sébastien Helleu 64cb3e6a63 irc: fix wrong time displayed for CTCP messages received from self nick (closes #2000) 2023-08-18 23:57:35 +02:00
Sébastien Helleu 1fe1e1a1e8 scripts: fix tests of functions print_date_tag, print_y_date_tags and hook_timer on 32-bit systems (issue #1999) 2023-08-18 16:42:52 +02:00
Sébastien Helleu ed5467c4a9 scripts: fix function string_parse_size on 32-bit systems (python and ruby) (issue #1999) 2023-08-18 16:40:53 +02:00
Sébastien Helleu fadfffc0b6 xfer: fix conversion of string to IPv4 on 32-bit systems (issue #1999) 2023-08-18 15:34:06 +02:00
Sébastien Helleu 08e110c835 core: use dynamic string in function gui_buffer_set_highlight_words_list 2023-08-18 13:38:05 +02:00
Sébastien Helleu 2c8657826f core: simplify function gui_buffer_notify_get 2023-08-18 13:37:39 +02:00
Sébastien Helleu b756598070 tests: add tests on GUI buffer functions 2023-08-18 13:35:36 +02:00
Sébastien Helleu 14334880d8 tests: fix NULL pointer comparison in test of function irc_message_parse_to_hashtable 2023-08-18 13:30:38 +02:00
Sébastien Helleu 2ad8a0d868 core: update ChangeLog (issue #1997) 2023-08-18 07:54:47 +02:00
Sébastien Helleu f89d4a60cd tests: fix tests on function irc_join_compare_join_channel (closes #1997) 2023-08-18 07:34:52 +02:00
Sébastien Helleu 5bf78f40e5 tests: fix typo in test name 2023-08-18 07:30:20 +02:00
Sébastien Helleu aac4b38432 core: add name of section in warning message for invalid value when reading config 2023-08-18 00:47:11 +02:00
Sébastien Helleu 41d23a448a core: fix increment/decrement of options weechat.notify.* 2023-08-17 17:25:19 +02:00
Sébastien Helleu 274f5f9d53 core: fix integer overflow when setting integer option with ++N or --N 2023-08-17 17:03:34 +02:00
Nils Görs d8bd0b7da8 core: update German translations 2023-08-17 12:10:01 +02:00
Nils Görs 773013cde7 core: update German translations 2023-08-17 11:27:51 +02:00
Sébastien Helleu 921b7fc2d3 tests: add tests on eval ternary operator with extra colon in value 2023-08-16 21:08:55 +02:00
Sébastien Helleu 8b9cdc8329 core: update translations (issue #1282) 2023-08-16 16:12:49 +02:00
Sébastien Helleu 43d341feac core: fix /help cursor (issue #1282) 2023-08-16 16:12:35 +02:00
Sébastien Helleu 81e09bd6e1 doc/user: add chapter on cursor mode (issue #1282) 2023-08-16 15:59:48 +02:00
Sébastien Helleu 48e6a1e387 core: add parameters and key bindings to move to edges of current area with commands /cursor go and /cursor move (closes #1282) 2023-08-16 15:25:52 +02:00
Sébastien Helleu 41dbcb1a81 core: set minimum CMake version to 3.5
This removes the following CMake warning:

CMake Deprecation Warning at CMakeLists.txt:22 (cmake_minimum_required):
  Compatibility with CMake < 3.5 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.
2023-08-15 10:56:28 +02:00
Sébastien Helleu e94a18268e core: convert scripts local variables to lower case 2023-08-15 10:50:35 +02:00
Sébastien Helleu 409bd256a9 doc/user: remove old note in French doc 2023-08-15 08:51:50 +02:00
Sébastien Helleu 17927cc09f doc/user: improve look of clicked buttons in mouse bindings 2023-08-15 08:47:08 +02:00
Sébastien Helleu cfc734b7c5 tests: add empty function to test function irc_list_buffer_set_localvar_filter 2023-08-14 16:08:01 +02:00
Sébastien Helleu 09e0ffe935 doc/user: add mouse, keys and input for /list buffer 2023-08-14 11:53:04 +02:00
Sébastien Helleu 938e9c13cd irc: add local variable "filter" on /list buffer 2023-08-14 11:01:50 +02:00
Sébastien Helleu b75c956c02 fset: fix typos in French translation of /help fset 2023-08-14 10:32:06 +02:00
Sébastien Helleu 9727861d66 irc: fix /help list and French translation 2023-08-14 10:31:22 +02:00
Sébastien Helleu 2829a8ee2b doc/user: fix command bound to left mouse button in fset buffer 2023-08-14 08:57:37 +02:00
Sébastien Helleu 46cea77585 relay: synchronize nick modes with IRC client upon connection (closes #1984) 2023-08-13 16:38:29 +02:00
Sébastien Helleu 4290876e64 script: allow commands /script autoload|noautoload|toggleautoload with scripts not present in the repository (closes #1980) 2023-08-13 10:22:06 +02:00
Sébastien Helleu 510756935c core: remove reference to iset in German translation 2023-08-13 09:10:16 +02:00
Sébastien Helleu beb93ada1e script: replace "iset" example by "go" in comments 2023-08-13 09:10:04 +02:00
Sébastien Helleu 0bfdaa25bf fset: remove redirection to /help fset.look.sort in /help fset 2023-08-12 16:25:25 +02:00
Sébastien Helleu 017f4cca18 core: fix French translation of /help list 2023-08-12 16:22:55 +02:00
Sébastien Helleu 2f1de098bd irc: add buffer for /list reply (closes #1972)
New options:

- irc.color.list_buffer_line_selected
- irc.color.list_buffer_line_selected_bg
- irc.look.list_buffer_sort
- irc.look.list_buffer_scroll_horizontal
- irc.look.new_list_position
- irc.look.list_buffer_topic_strip_colors
2023-08-12 13:05:49 +02:00
Sébastien Helleu d25a4213fe irc: fix redirection of command /list when the reply doesn't start with message 321 (start of /list) 2023-08-10 08:13:54 +02:00
Sébastien Helleu 17674f7b11 irc: add missing tags on multiline messages (closes #1987) 2023-08-09 14:53:03 +02:00
Sébastien Helleu 356712f44d core: add version 4.0.3 2023-08-08 22:10:29 +02:00
Sébastien Helleu c6b18e9654 relay: fix display of IRC CTCP messages received from client (issue #1986) 2023-08-08 09:38:54 +02:00
Sébastien Helleu ff41a79aa9 core: update ChangeLog (issue #1988) 2023-08-08 07:17:08 +02:00
Sébastien Helleu 1826decb0b core: update translations (issue #1988) 2023-08-08 07:14:56 +02:00
Nathaniel Evan 070f0da1c0 fset: fix the colon in help bar being included in description color 2023-08-08 06:59:14 +02:00
Nathaniel Evan e0e839e7cc fset: fix fset.color.help_description not applying 2023-08-08 06:59:14 +02:00
Sébastien Helleu e5948b0d44 tests: add test on IRC notice sent to another nick with channel name at beginning (issue #1991) 2023-08-01 22:48:43 +02:00
Sébastien Helleu 03daae3059 irc: fix display of outgoing notice with channel when capability "echo-message" is enabled (closes #1991) 2023-08-01 22:35:21 +02:00
Sébastien Helleu b0549e4d09 irc: add channel in "autojoin" server option only when the channel is actually joined (closes #1990) 2023-08-01 21:45:28 +02:00
Sébastien Helleu 8e48503253 core: remove CMake option "ENABLE_DOC_WARN_LOCALE" from release notes (issue #1985) 2023-08-01 08:31:44 +02:00
Sébastien Helleu c198e875ce core: remove CMake option "ENABLE_DOC_WARN_LOCALE" (issue #1985) 2023-07-31 22:01:34 +02:00
Sébastien Helleu 73439d5a50 core: fix typo 2023-07-31 21:51:08 +02:00
Sébastien Helleu 36ab9d97e4 core: fix styles in ChangeLog 2023-07-31 21:27:46 +02:00
Sébastien Helleu 8bfd25e2e6 doc: stop build of docs if a locale is missing, add CMake option "ENABLE_DOC_WARN_LOCALE" (closes #1985) 2023-07-31 21:27:16 +02:00
Sébastien Helleu 1ffd0a58b9 core: add missing trailing newline char in doc generation error messages 2023-07-31 08:06:01 +02:00
Sébastien Helleu 4fc90b86bf irc: fix switch to channel manually joined (closes #1982)
This happens when server option autojoin_dynamic is on and option
irc.look.buffer_switch_autojoin is off.

Regression was introduced in version 4.0.0 by commit
1c3b871204.
2023-07-31 08:03:50 +02:00
Sébastien Helleu 63f9289769 core: fix input length and crash after delete of line (closes #1989) 2023-07-28 07:21:22 +02:00
Nils Görs 06fa5923e8 core: update German translations 2023-07-23 11:49:01 +02:00
Sébastien Helleu 13241cdca5 irc: fix memory leak in IRC message parser
Bug was introduced in WeeChat 3.4 by commit
c4b4d80936.
2023-07-20 08:49:23 +02:00
Sébastien Helleu 93dfc8b105 core: fix typo in comment 2023-07-18 18:50:02 +02:00
Sébastien Helleu 874a24956c irc: fix display of self CTCP message containing bold attribute (closes #1981) 2023-07-18 18:48:48 +02:00
Sébastien Helleu a457e22d57 tests: add missing include of string.h 2023-07-15 16:24:16 +02:00
Sébastien Helleu 6b9dd2add3 fset: fix description of function fset_buffer_check_line_outside_window 2023-07-14 12:06:26 +02:00
Sébastien Helleu eb71be4219 doc/api: fix return value in case of error in function hdata_get_var_offset 2023-07-14 09:53:19 +02:00
Sébastien Helleu 8cd13ef580 core: add version 4.0.2 in release notes 2023-07-12 22:09:24 +02:00
Sébastien Helleu 622410a64e core: add version 4.0.2 2023-07-12 20:51:21 +02:00
Sébastien Helleu 7c805aa699 irc: remove default CTCP replies FINGER and USERINFO (issue #1974) 2023-07-12 19:13:40 +02:00
Sébastien Helleu 9237852b26 irc: build dynamically the list of CTCPs supported in reply to "CTCP CLIENTINFO" (issue #1974) 2023-07-12 18:58:51 +02:00
Sébastien Helleu f46f759975 irc: evaluate options irc.ctcp.* (issue #1974) 2023-07-12 18:58:30 +02:00
Sébastien Helleu 5d222c8d5c irc: create default options irc.ctcp.* when file irc.conf is created (issue #1974) 2023-07-11 19:40:04 +02:00
Sébastien Helleu 363d2d5e68 core: clarify messages for unknown options/sections read in config files (closes #1967) 2023-07-11 18:08:14 +02:00
Sébastien Helleu ba6f21d910 irc: add missing "account-tag" in list of supported capabilities 2023-07-10 14:08:19 +02:00
Sébastien Helleu 2a02bb10e5 core: fix renaming of options with command /item rename (closes #1978)
The options `weechat.custom_bar_item.xxx.*` are now properly renamed to the new
item name.

This fixes a save issue (item saved with old name in config) and a crash if a
new item is created with the old name.
2023-07-10 07:31:28 +02:00
Sébastien Helleu 107f83c923 irc: remove Git revision and compilation date from CTCP VERSION/FINGER reply (issue #1974) 2023-07-08 21:40:21 +02:00
Sébastien Helleu 38f3b40894 fset: add missing format in calls to snprintf 2023-07-08 17:14:03 +02:00
Sébastien Helleu 3070c12fa3 build: add C compiler options "-Wformat" and "-Werror=format-security" 2023-07-08 17:12:39 +02:00
Sébastien Helleu 1d5433485c fset: add variable allowed_values in options, add two color options
New options:

- fset.color.allowed_values
- fset.color.allowed_values_selected
2023-07-08 16:50:42 +02:00
Sébastien Helleu 4c0c7d9adc fset: add missing enum in /help fset 2023-07-08 14:45:25 +02:00
Sébastien Helleu 8985607951 fset: fix mouse actions when second format is used
The mouse actions now properly handle the case where options are displayed on
multiple lines to calculate the option index in list.
2023-07-08 13:56:22 +02:00
Sébastien Helleu 89137552a7 core: display focus hashtable for debug even if no key is matching 2023-07-08 13:31:36 +02:00
Sébastien Helleu 5b2cf75f6e fset: allow long type name in type filter 2023-07-08 13:30:37 +02:00
Sébastien Helleu 481e8f197d core: use type "enum" in options 2023-07-08 13:29:45 +02:00
Sébastien Helleu 66cb9f6ea2 core: add option type "enum" (closes #1973)
The type "enum" replaces type "integer" when used with string values.

For compatibility, any option created with type "integer" and string values is
automatically created to "enum" on creation, with no error.
2023-07-08 13:28:40 +02:00
Sébastien Helleu 8f9d88edd0 ci: add workaround for broken brew update 2023-07-06 22:24:15 +02:00
Sébastien Helleu f1e372b5e2 fset: remove extra spaces between min and max values when second format is used 2023-07-06 22:05:11 +02:00
Sébastien Helleu 7b6c9328be core: add quotes around key names in /help key 2023-07-05 21:23:47 +02:00
Nils Görs 4fa9ddc6b9 core: update German translations 2023-07-05 20:32:48 +02:00
Sébastien Helleu d7a6fcba5f buflist: increase max number of buflist items from 3 to 5 (closes #1703) 2023-07-04 22:03:05 +02:00
Sébastien Helleu f811621611 script: fix buffer used by command /script list -i|-il|-o|-ol
The command is now executed on the buffer where it is received instead of the
current buffer (in most cases this is the same buffer, but could be different
sometimes).
2023-07-04 21:57:41 +02:00
Sébastien Helleu 6c8d6eef58 script: fix cursor position after /script list -i or /script list -il 2023-07-04 21:56:52 +02:00
Sébastien Helleu 59cdade5f0 core: fix cursor position after /plugin list -i or /plugin list -il 2023-07-04 21:56:22 +02:00
Sébastien Helleu e5586e14d9 trigger: add options -o, -ol, -i and -il in command /trigger list (closes #1953) 2023-07-04 21:55:21 +02:00
Sébastien Helleu b43883a814 core: check that ptr_value is not NULL 2023-07-04 19:15:20 +02:00
Sébastien Helleu 20560f0a63 core: keep keys ctrl-H and ctrl-? (in lower case) if they were manually bound to custom commands in a previous version 2023-07-04 19:10:04 +02:00
Sébastien Helleu e36b066dc8 core: add key ctrl-backspace in /help key (issue #1975) 2023-07-04 18:45:11 +02:00
Sébastien Helleu b696e3d67f doc: fix anchor links in auto-generated files 2023-07-04 18:31:03 +02:00
Sébastien Helleu 7340fd1637 core: update ChangeLog 2023-07-03 23:02:58 +02:00
Sébastien Helleu f03e2ff95c core: fix styles 2023-07-03 23:02:25 +02:00
Trygve Aaberge 3247974eb4 core: don't send key_pressed signal again for the same key press
If you press an incomplete key sequence, previously WeeChat would send
the key_pressed signal again for the same keys on the next key.

E.g. if you press escape and then 1, previously you would get the
key_pressed signal with signal_data `\x01[` when you pressed escape, and
then key_pressed with `\x01[` again when you pressed 1 (plus key_pressed
with `1` for the 1 key). So two signals for the escape key, even though
it was only pressed once.

With this patch, you only get one signal for each key press. So one with
`\x01[` when you press escape and then one with `1` when you press 1.
2023-07-03 23:02:23 +02:00
Trygve Aaberge 824cfb6427 core: don't send key_combo_* signals for incomplete keys
Version 4.0.0 (specifically commit 1f5c791c3) changed the key handling
so key_combo_* signals were sent for each character in a sequence,
rather than just when the sequence is finished. This broke parts of the
vimode.py script.

E.g. for the up arrow, 3.8 sends key_combo_default signal once with the
signal_data `\x01[[A`, while 4.0.0 sends it three times with the
signal_data `\x01[`, `\x01[[` and `\x01[[A`.

With this patch, the previous behavior is brought back. There is one
small change though. In 3.8 if you press escape one or two times it
doesn't send key_combo_default, but if you press it three or more times
it sends it for each escape press. With this patch, it's never sent for
plain escape presses, only when the sequence is finished with some other
key.

This is intentional, as getting key_combo_default for escape presses
doesn't make sense since it's not a finished combo, and the behavior of
3.8 where you got it after three or more key presses was most likely
unintentional as it just happened because it didn't match any key
bindings anymore (there are key bindings starting with one or two escape
characters, but not more).
2023-07-03 23:02:21 +02:00
Nils Görs 7b5585239f core: update German translations 2023-07-01 12:20:57 +02:00
Sébastien Helleu 92e5696236 core: update stable version to 4.0.1 2023-07-01 11:44:55 +02:00
Sébastien Helleu a80f4c7681 tests: fix hdata tests failure on Alpine 3.18 2023-07-01 09:53:03 +02:00
Sébastien Helleu 930b42aecf tests/relay: fix crash in tests on Alpine 3.18 2023-07-01 09:43:56 +02:00
Sébastien Helleu c84274cd2b build: fix detection of PHP 8.2 on Alpine 3.18 2023-07-01 09:15:00 +02:00
Sébastien Helleu b13ed3b816 core: add version 4.0.1 in ChangeLog and release notes 2023-07-01 09:12:51 +02:00
Sébastien Helleu b52047c69e guile: fix crash on quit with Guile < 3 (issue #1965) 2023-06-27 21:45:15 +02:00
Trygve Aaberge b551d6f247 core: check for newline characters in string_is_whitespace_char
This fixes a bug where if you had multiple lines in the input and
pressed ctrl-w when the cursor was after the first word of any line but
the first, it would delete both the word before the cursor and the last
word on the preceding line.
2023-06-27 21:28:24 +02:00
Sébastien Helleu 4c9fd4a625 doc/faq: mention script go.py for an easy jump to buffers 2023-06-27 19:14:14 +02:00
Sébastien Helleu fc41ad336d api: do not convert option name to lower case in API functions config_set_plugin and config_set_desc_plugin 2023-06-27 12:58:34 +02:00
Sébastien Helleu 1d4509ddd8 irc: fix display of country code in message 344 received as whois geo info (issue #1736) 2023-06-26 22:12:31 +02:00
Sébastien Helleu b4da825f60 irc: sent "QUIT" message to servers connected with TLS on /upgrade 2023-06-26 22:06:46 +02:00
Sébastien Helleu ca35b67307 irc: display commands 716/717 in private buffer (if present) (closes #146)
Commands 716/717 are returned if the target user has mode +g, they look like
this:

:server 716 my_nick bob :is in +g mode and must manually allow you to message them. Your message was discarded.
:server 717 my_nick bob :has been informed that you messaged them.
2023-06-26 21:59:55 +02:00
Sébastien Helleu f62022e812 core: add variables "_chat_focused_line_bol" and "_chat_focused_line_eol" in focus data (closes #1955)
These variables are the same as "_chat_bol" and "_chat_eol" except that they
stop at the beginning of the focused line (not the whole message displayed, in
case message has multiple lines separated by "\n").
2023-06-26 21:55:48 +02:00
Sébastien Helleu 54dd19da92 api: add info "buffer" (closes #1962)
This info returns a pointer buffer with its full name.
2023-06-26 21:35:49 +02:00
Sébastien Helleu bc4294e297 core: fix level of section title in release notes 2023-06-26 21:22:28 +02:00
Sébastien Helleu 5e0ca4740b core: display actual key name and command with key Alt+k
Key Alt+K (upper K) is removed as well as commands `/input grab_raw_key` and
`/input grab_raw_key_command`.
2023-06-26 21:21:12 +02:00
Sébastien Helleu 70c41f614a irc: reply to a CTCP request sent to self nick (closes #1966) 2023-06-25 22:11:34 +02:00
Sébastien Helleu e0c8f2867d core: add missing space in French translation 2023-06-25 22:10:15 +02:00
Sébastien Helleu 763b8ec050 core: force key "return" to command "/input return" when migrating legacy keys 2023-06-25 22:10:04 +02:00
Sébastien Helleu 9d0d8231e8 core: add option weechat.color.status_name_insecure in ChangeLog and release notes 2023-06-25 15:17:16 +02:00
Sébastien Helleu 11177a0967 core: fix format in Czech translation 2023-06-25 00:49:44 +02:00
Krzysztof Korościk c5a3bbc474 doc: updated polish translation 2023-06-24 22:45:35 +02:00
Sébastien Helleu 50bb175e7f Version 4.1.0-dev 2023-06-24 22:41:18 +02:00
730 changed files with 158155 additions and 84090 deletions
-43
View File
@@ -1,43 +0,0 @@
---
name: Bug report
about: Create a bug report (please do not report security issues here)
labels: bug
---
<!-- Please do not report any security issue here, see file Contributing.adoc -->
## Bug summary
## Steps to reproduce
1. 
2. 
3. 
## Current behavior
## Expected behavior
## Suggested solutions
## Additional information
---
<!-- MANDATORY INFO: -->
- WeeChat version: 
- OS, distribution and version: 
- Terminal: 
- Terminal multiplexer (screen/tmux/…/none): 
+110
View File
@@ -0,0 +1,110 @@
name: Bug report
description: Create a bug report
labels: ["bug"]
body:
- type: markdown
attributes:
value: |
Before submitting a bug, please check that it has not already been reported by searching in [open and closed bugs](https://github.com/weechat/weechat/issues?q=is%3Aissue+label%3Abug).
If you don't use the latest version, please try if possible with the latest stable release to be sure the issue is still present and report the issue on this version.
**IMPORTANT**: please do not report any security issue here, see [Contributing.adoc](https://github.com/weechat/weechat/blob/master/Contributing.adoc#security-reports).
- type: textarea
id: bug-description
attributes:
label: Describe the bug
description: A clear and concise description of what the bug is.
validations:
required: true
- type: textarea
id: steps-to-reproduce
attributes:
label: Steps to reproduce
description: |
Steps to reproduce the issue.
If possible, please try to reproduce with a default configuration and no scripts loaded (`weechat -t`). If the issue is related to a script, please mention the list of all scripts loaded.
placeholder: |
1.
2.
3.
validations:
required: true
- type: textarea
id: current-behavior
attributes:
label: Current behavior
description: |
What currently happens.
validations:
required: true
- type: textarea
id: expected-behavior
attributes:
label: Expected behavior
description: What is actually supposed to happen.
validations:
required: true
- type: textarea
id: suggested-solutions
attributes:
label: Suggested solutions
description: How you think this issue can be resolved.
validations:
required: false
- type: textarea
id: additional-information
attributes:
label: Additional information
description: |
For a crash, please include a backtrace from gdb, see the [User's guide](https://weechat.org/doc/weechat/user/#report_crashes).
For a display issue, please add a screenshot if it makes sense.
Please mention if other versions are affected as well and if some versions are not affected (regression?).
And any additional information you deem relevant.
validations:
required: false
- type: input
id: weechat-version
attributes:
label: WeeChat version
description: |
For a stable release: output of `weechat --version`.
For the development version: output of command `/v` in WeeChat.
placeholder: "4.1.1"
validations:
required: true
- type: input
id: os-version
attributes:
label: What OS are you using?
description: Name of the operating system and its version.
placeholder: Debian 12, Ubuntu 23.10, MacOS 14, ...
validations:
required: true
- type: input
id: terminal
attributes:
label: On which terminal are you running WeeChat?
description: The name of terminal if you think it can be related to the issue (mainly for display issues).
placeholder: Terminator, Xterm, GNOME Terminal, Urxvt, ...
validations:
required: false
- type: input
id: terminal-multiplexer
attributes:
label: Which terminal multiplexer are you using?
description: The name of the terminal multiplexer if you think it can be related to the issue (mainly for display issues).
placeholder: none, tmux, screen, ...
validations:
required: false
@@ -1,8 +0,0 @@
---
name: Feature request
about: Request a new feature / enhancement
labels: feature
---
## Feature description
@@ -0,0 +1,17 @@
name: Feature request
description: Request a new feature / enhancement
labels: ["feature"]
body:
- type: markdown
attributes:
value: |
Before submitting a feature request, please check that it has not already been reported by searching in [open and closed feature requests](https://github.com/weechat/weechat/issues?q=is%3Aissue+label%3Afeature).
- type: textarea
id: feature
attributes:
label: Feature description
description: A description of the feature you would like.
validations:
required: true
-19
View File
@@ -1,19 +0,0 @@
---
name: Question
about: >
Ask a question (please read first FAQ and docs and ask on #weechat channel
before opening any question issue)
labels: question
---
<!-- Please read first FAQ/docs and ask on #weechat channel before opening any question issue -->
## Question
---
- WeeChat version: 
- OS, distribution and version: 
+19
View File
@@ -0,0 +1,19 @@
name: Question
description: Ask a question
labels: ["question"]
body:
- type: markdown
attributes:
value: |
Before opening an issue with a question:
- please read the [FAQ](https://weechat.org/doc/weechat/faq) and [documentation](https://weechat.org/doc/weechat/)
- please ask on #weechat channel (on server irc.libera.chat).
- type: textarea
id: question
attributes:
label: Question
description: Your question.
validations:
required: true
+102 -7
View File
@@ -1,11 +1,47 @@
name: CI
on:
- push
- pull_request
push:
pull_request:
schedule:
- cron: '22 9 * * 2'
env:
WEECHAT_DEPENDENCIES: devscripts equivs python3-pip cmake ninja-build lcov pkg-config libncursesw5-dev gem2deb libperl-dev python3-dev libaspell-dev liblua5.3-dev tcl8.6-dev guile-3.0-dev libv8-dev libcurl4-gnutls-dev libgcrypt20-dev libgnutls28-dev libzstd-dev zlib1g-dev curl libcpputest-dev php-dev libphp-embed libargon2-dev libsodium-dev flake8 pylint python3-bandit asciidoctor ruby-pygments.rb shellcheck
WEECHAT_DEPENDENCIES: >-
asciidoctor
cmake
curl
devscripts
equivs
flake8
gem2deb
guile-3.0-dev
lcov
libargon2-dev
libaspell-dev
libcjson-dev
libcpputest-dev
libcurl4-gnutls-dev
libgcrypt20-dev
libgnutls28-dev
liblua5.3-dev
libncurses-dev
libperl-dev
libphp-embed
libsodium-dev
libv8-dev
libzstd-dev
ninja-build
php-dev
pkg-config
pylint
python3-bandit
python3-dev
python3-pip
ruby-pygments.rb
shellcheck
tcl8.6-dev
zlib1g-dev
jobs:
@@ -19,6 +55,8 @@ jobs:
- { name: "gcc", cc: "gcc", cxx: "g++", buildargs: "" }
- { name: "gcc_ninja", cc: "gcc", cxx: "g++", buildargs: "-G Ninja" }
- { name: "gcc_no_nls", cc: "gcc", cxx: "g++", buildargs: "-DENABLE_NLS=OFF -DENABLE_DOC=OFF" }
- { name: "gcc_no_zstd", cc: "gcc", cxx: "g++", buildargs: "-DENABLE_ZSTD=OFF -DENABLE_DOC=OFF" }
- { name: "gcc_no_cjson", cc: "gcc", cxx: "g++", buildargs: "-DENABLE_CJSON=OFF -DENABLE_DOC=OFF" }
- { name: "gcc_coverage", cc: "gcc", cxx: "g++", buildargs: "-DENABLE_CODE_COVERAGE=ON" }
- { name: "clang", cc: "clang", cxx: "clang++", buildargs: "" }
@@ -33,6 +71,8 @@ jobs:
run: |
sudo apt-get update -qq
sudo apt-get --yes --no-install-recommends install ${{ env.WEECHAT_DEPENDENCIES }}
# uninstall php imagick as is causes a crash when loading php plugin (see #2009)
sudo apt-get --yes purge php8.1-imagick
sudo -H pip3 install --ignore-installed msgcheck
- name: Check gettext files
@@ -42,7 +82,7 @@ jobs:
run: ./tools/check_scripts.sh
- name: Check Python stub file
run: ./doc/python_stub.py | diff src/plugins/python/weechat.pyi -
run: ./tools/generate_python_stub.py | diff src/plugins/python/weechat.pyi -
- name: Check Curl symbols
run: curl --silent --show-error --fail --retry 10 https://raw.githubusercontent.com/curl/curl/master/docs/libcurl/symbols-in-versions | ./tools/check_curl_symbols.py
@@ -65,6 +105,22 @@ jobs:
weechat --version
weechat --run-command "/debug dirs;/debug libs" --run-command "/quit"
- name: Test Relay OpenAPI
if: ${{ matrix.config.name == 'gcc' }}
env:
RELAY_PASSWORD: test
run: |
sudo -H pip3 install --ignore-installed schemathesis
weechat-headless \
--dir /tmp/weechat-test-api \
--run-command '/set relay.network.password "${{ env.RELAY_PASSWORD }}"' \
--run-command '/relay add api 9000' \
--daemon \
;
sleep 5
./tools/test_relay_api.sh http://localhost:9000
echo '*/quit' >/tmp/weechat-test-api/weechat_fifo_*
- name: Code coverage
if: ${{ matrix.config.name == 'gcc_coverage' }}
env:
@@ -82,7 +138,6 @@ jobs:
matrix:
os:
- macos-12
- macos-11
config:
- { name: "gcc", cc: "gcc", cxx: "g++" }
- { name: "clang", cc: "clang", cxx: "clang++" }
@@ -92,7 +147,9 @@ jobs:
steps:
- uses: actions/checkout@v2
- name: Setup Homebrew
id: setup-homebrew
uses: Homebrew/actions/setup-homebrew@master
- name: Install dependencies
run: |
@@ -110,7 +167,9 @@ jobs:
/usr/local/bin/python3.11 \
/usr/local/bin/python3.11-config \
;
brew install asciidoctor guile lua pkg-config ruby
brew install asciidoctor cjson guile lua pkg-config ruby
- uses: actions/checkout@v2
- name: Build
env:
@@ -169,3 +228,39 @@ jobs:
weechat-curses --help
weechat --version
weechat --run-command "/debug dirs;/debug libs" --run-command "/quit"
codeql-analysis:
name: CodeQL
runs-on: ubuntu-latest
permissions:
actions: read
contents: read
security-events: write
steps:
- name: Checkout repository
uses: actions/checkout@v3
- name: Install dependencies
run: |
sudo apt-get update -qq
sudo apt-get --yes --no-install-recommends install ${{ env.WEECHAT_DEPENDENCIES }}
# uninstall php imagick as is causes a crash when loading php plugin (see #2009)
sudo apt-get --yes purge php8.1-imagick
sudo -H pip3 install --ignore-installed msgcheck
- name: Initialize CodeQL
uses: github/codeql-action/init@v3
with:
languages: cpp
- name: Autobuild
uses: github/codeql-action/autobuild@v3
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v3
with:
category: "/language:cpp"
+3
View File
@@ -67,6 +67,7 @@ Alphabetically:
* Jiri Golembiovsky (GolemJ)
* Joey Pabalinas (alyptik)
* Johan Rylander
* Johannes Kuhn
* Joram Schrijver
* Jos Ahrens
* Joseph Kichline
@@ -81,10 +82,12 @@ Alphabetically:
* Lázaro A.
* Leonid Evdokimov
* Linus Heckemann
* LuK1337
* Maarten de Vries
* Mantas Mikulėnas (grawity)
* Marco Paolone
* Marco Sirabella
* Mario Campos
* Mateusz Poszwa
* Matt Robinson
* Matthew Horan
+27 -20
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2023 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2024 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2007-2008 Julien Louis <ptitlouis@sysif.net>
# Copyright (C) 2008-2009 Emmanuel Bouthenot <kolter@openics.org>
#
@@ -19,7 +19,7 @@
# along with WeeChat. If not, see <https://www.gnu.org/licenses/>.
#
cmake_minimum_required(VERSION 3.0)
cmake_minimum_required(VERSION 3.5)
project(weechat C)
@@ -29,7 +29,7 @@ set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake" "${CMAKE_MODULE_PATH}")
set(CMAKE_SKIP_RPATH ON)
# compiler options
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsigned-char -fms-extensions -Wall -Wextra -Werror-implicit-function-declaration")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsigned-char -fms-extensions -Wall -Wextra -Werror-implicit-function-declaration -Wformat -Werror=format-security")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsigned-char -fms-extensions -Wall -Wextra")
if (CMAKE_C_COMPILER_ID STREQUAL "GNU")
# extra options specific to gcc/g++
@@ -99,6 +99,8 @@ option(ENABLE_NCURSES "Compile the Ncurses interface" ON)
option(ENABLE_HEADLESS "Compile the headless binary" ON)
option(ENABLE_NLS "Enable Native Language Support" ON)
option(ENABLE_LARGEFILE "Enable Large File Support" ON)
option(ENABLE_ZSTD "Enable Zstandard compression" ON)
option(ENABLE_CJSON "Enable cJSON support" ON)
option(ENABLE_ALIAS "Enable Alias plugin" ON)
option(ENABLE_BUFLIST "Enable Buflist plugin" ON)
option(ENABLE_CHARSET "Enable Charset plugin" ON)
@@ -190,6 +192,9 @@ include(CheckSymbolExists)
check_include_files("langinfo.h" HAVE_LANGINFO_CODESET)
check_include_files("sys/resource.h" HAVE_SYS_RESOURCE_H)
check_include_files("malloc.h" HAVE_MALLOC_H)
check_symbol_exists("malloc_trim" "malloc.h" HAVE_MALLOC_TRIM)
check_function_exists(mallinfo HAVE_MALLINFO)
check_function_exists(mallinfo2 HAVE_MALLINFO2)
@@ -200,24 +205,11 @@ if(ENABLE_LARGEFILE)
add_definitions(-D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -D_LARGE_FILES)
endif()
# Check for Gettext
if(ENABLE_NLS)
find_package(Gettext)
if(GETTEXT_FOUND)
add_definitions(-DENABLE_NLS)
find_package(Intl)
if(Intl_FOUND)
list(APPEND EXTRA_LIBS "${Intl_LIBRARIES}")
endif()
else()
message(SEND_ERROR "Gettext not found")
endif()
endif()
# Check for libgcrypt
find_package(GCRYPT REQUIRED)
pkg_check_modules(LIBGCRYPT REQUIRED libgcrypt)
add_definitions(-DHAVE_GCRYPT)
list(APPEND EXTRA_LIBS ${GCRYPT_LDFLAGS})
include_directories(${LIBGCRYPT_INCLUDE_DIRS})
list(APPEND EXTRA_LIBS ${LIBGCRYPT_LDFLAGS})
# Check for GnuTLS
find_package(GnuTLS REQUIRED)
@@ -230,7 +222,16 @@ list(APPEND EXTRA_LIBS gnutls)
find_package(ZLIB REQUIRED)
# Check for zstd
pkg_check_modules(LIBZSTD REQUIRED libzstd)
if(ENABLE_ZSTD)
pkg_check_modules(LIBZSTD REQUIRED libzstd)
add_definitions(-DHAVE_ZSTD)
endif()
# Check for cJSON
if(ENABLE_CJSON)
pkg_check_modules(LIBCJSON REQUIRED libcjson)
add_definitions(-DHAVE_CJSON)
endif()
# Check for iconv
find_package(Iconv)
@@ -258,7 +259,13 @@ endif()
add_subdirectory(icons)
if(ENABLE_NLS)
find_package(Gettext REQUIRED)
add_definitions(-DENABLE_NLS)
find_package(Intl REQUIRED)
list(APPEND EXTRA_LIBS "${Intl_LIBRARIES}")
add_subdirectory(po)
else()
add_custom_target(translations COMMAND true)
endif()
add_subdirectory(src)
+632 -9
View File
@@ -5,14 +5,542 @@
:toc: left
:docinfo1:
:see-release-notes: If you are upgrading: please see release notes.
:breaking: pass:quotes[*[breaking]*]
This document lists all the changes for each version. +
For a list of important changes that require manual actions, please look at release notes.
[[v4.3.7]]
== Version 4.3.7 (under dev)
[[v4.3.7_fixed]]
=== Fixed
* irc: fix send of split messages when server option "anti_flood" set to 0 (issue #2172)
[[v4.3.6]]
== Version 4.3.6 (2024-08-15)
[[v4.3.6_fixed]]
=== Fixed
* core: fix generation of TOTP on FreeBSD (issue #2171)
* relay/api: fix crash when sending data to a remote buffer when the remote has been deleted (issue #2157)
* relay/api: fix timezone of dates sent to clients (issue #2151)
[[v4.3.5]]
== Version 4.3.5 (2024-07-16)
[[v4.3.5_fixed]]
=== Fixed
* ruby: fix crash in plugin initialization (issue #2163)
[[v4.3.4]]
== Version 4.3.4 (2024-07-03)
[[v4.3.4_fixed]]
=== Fixed
* python: fix crash on quit with Python 3.12 (issue #2046, issue #2126)
* core: fix crash when deleting a bar that has no items (issue #2138)
* ruby: fix builtin functions not available (issue #2109)
* relay/api: fix "body_type" returned when lines or nicks of a buffer are requested
[[v4.3.3]]
== Version 4.3.3 (2024-06-22)
[[v4.3.3_fixed]]
=== Fixed
* core, plugins: return "0x0" instead of "(nil)" for pointers formatted in strings
[[v4.3.2]]
== Version 4.3.2 (2024-06-06)
[[v4.3.2_changed]]
=== Changed
* relay: enable websocket extension "permessage-deflate" with "api" relay only (issue #1549)
[[v4.3.2_added]]
=== Added
* relay: add option relay.look.raw_messages_max_length (issue #2122)
[[v4.3.2_fixed]]
=== Fixed
* irc, xfer: fix display of input prompt in IRC private buffers and DCC chat buffers (issue #2128)
* irc: don't return pointer to irc server if the channel or nick is not found in info "irc_buffer"
* relay: fix websocket permessage-deflate extension when the client doesn't send the max window bits parameters (issue #1549)
* relay: fix allocation and reinit of field "client_context_takeover" in websocket deflate structure (issue #1549)
[[v4.3.1]]
== Version 4.3.1 (2024-05-31)
[[v4.3.1_fixed]]
=== Fixed
* irc: close /list buffer when the server buffer is closed (issue #2121)
* xfer: fix send of data on the DCC chat buffer after `/upgrade` if the buffer was opened before the upgrade (issue #2092)
* php: fix return value of function hdata_longlong
* tcl: fix return value of function hdata_longlong (issue #2119)
* core: fix detection of libgcrypt ≥ 1.11 (debian #1071960)
* core, relay: fix include directory of libcjson and libzstd
* tests: fix relay tests on s390x (issue #2118)
* tests: fix check of php plugin (issue #2117)
* tests: fix compilation of tests on Fedora 40 (issue #2116)
* tests: fix compilation of tests on Rocky 9.4
[[v4.3.0]]
== Version 4.3.0 (2024-05-26)
{see-release-notes}
[[v4.3.0_changed]]
=== Changed
* {breaking} irc: add server option "autojoin_delay" (delay before autojoin), use option "command_delay" before execution of the command (issue #862)
* {breaking} irc: rename option irc.color.item_channel_modes to weechat.color.status_modes
* {breaking} irc: add option `-all` in command `/allchan`, do not execute command on parted channels by default (issue #2085)
* {breaking} relay: rename option relay.weechat.commands to relay.network.commands and change default to `*,!quit` (issue #2066)
* {breaking} relay: change option type relay.look.auto_open_buffer to string (issue #2066)
* {breaking} core: add buffer properties "input_prompt" and "modes", used to display bar items (issue #2066)
* {breaking} core: add bar item "lag" to display lag on relay remote buffers (issue #2066)
* {breaking} core: send signal "buffer_line_added" on buffers with free content
* {breaking} core: convert option weechat.look.hotlist_sort to a list of fields (issue #2097)
* {breaking} core: rename variables with creation time in hdata "hotlist": "creation_time.tv_sec" to "time" and "creation_time.tv_usec" to "time_usec"
* {breaking} api: return `-1` or `1` if one input string is NULL and not the other in string comparison functions
* {breaking} api: use whole replacement string instead of first char in function string_remove_color
* core: use nick offline color for nick in action message (issue #446)
* core: display a specific message when the value of option is unchanged after `/set` command
* core: add variable `${highlight}` in option weechat.look.buffer_time_format (issue #2079)
* core: reintroduce help on the variables and operators in `/help eval` (issue #2005)
* core: allow case insensitive search of partial buffer name with `(?i)name` in command `/buffer`
* core: use function util_strftimeval in evaluation of expression `date:xxx`
* fset: allow filename starting with "~" in command `/fset -export`
* irc: store lag in channel and private buffers (local variable "lag"), in addition to the server buffer
* irc: allow range in commands `/unban` and `/unquiet` (issue #2113)
* tcl: add support of Tcl 9.0 (issue #2075)
[[v4.3.0_added]]
=== Added
* relay: add "api" protocol (HTTP REST API), add options relay.look.display_clients, relay.api.remote_get_lines and relay.network.time_window (issue #2066)
* relay: add command `/remote` to connect to remote WeeChat relay servers (issue #2066)
* relay: add support of websocket extension "permessage-deflate" (issue #1549)
* core, api: add unique identifier "id" in buffer and nicklist (group and nick), add function "hdata_longlong", allow search by buffer id in function buffer_search, allow search by group and nick id in functions nicklist_search_group and nicklist_search_nick (issue #2081)
* core: add support of XDG "state" directory (issue #2106, issue #1747)
* core: add support of SGR mouse events (issue #2082)
* fset: add option `-import` in command `/fset`
* core: add option `-s` in command `/command` to execute multiple commands separated by semicolons
* core: add option `malloc_trim` in command `/sys`
* core: add option weechat.look.config_permissions (issue #2057)
* core: add option weechat.look.highlight_prefix (issue #2079)
* core: add option weechat.completion.case_sensitive
* api: add functions config_option_get_{string|pointer} and config_{boolean|integer|string|color|enum}_inherited in scripting API
* api: add modifier "color_decode" to decode WeeChat colors with a replacement string
* api: add support of base64url in encode/decode functions
* api: add support of specifier `%!` for timestamp in function util_strftimeval
* api: add info "plugin_loaded"
* script: add option `enable` in command `/script`
* script: add info "script_loaded"
[[v4.3.0_fixed]]
=== Fixed
* core: fix conversion of WeeChat colors to ANSI colors: "default", "bar_fg", "bar_bg", "bar_delim"
* core: fix recursive search of group in nicklist
* core: use nick offline highlight color for prefix of action message when the nick is offline with a highlight
* core: add missing hdata name "buffer" in hdata "hotlist"
* core: fix reset to initial scroll position after search of text in buffer (issue #2093)
* core: add missing mouse events "alt-ctrl-button2" and "alt-ctrl-button3"
* core: remove trailing directory separators in home directories (issue #2070)
* exec: remove trailing space on buffers with free content when line numbers are not displayed
* exec: add missing exec tags in lines of buffers with free content (issue #2086)
* irc: fix crash in split of IRC message containing a newline if the server is not given
* irc: fix display of reply for CTCP request received on a channel when capability echo-message is enabled
* irc: display CTCP reply to a nick in server buffer instead of channel
* irc: add missing tags on self action messages when capability echo-message is enabled (issue #2074)
* irc: don't strip monospace color code 0x11 from incoming messages (issue #2073)
* irc: fix random date displayed when a received message contains tags but no "time" (issue #2064)
* lua: fix freeze on call to "debug.debug" (issue #1906, issue #1907)
* python: fix truncation of unsigned long long integer returned by function string_parse_size
* relay: set the last IRC client disconnection time only after a successful connection (issue #2103)
* script: always display list of scripts when searching scripts with `/script search` (issue #2077)
* script: fix default mouse keys (issue #2076)
* scripts: fix crash on script unload when a hook is created in a buffer close callback (issue #2067)
* tcl: fix truncation of long integer returned by function hdata_long
* trigger: fix memory leak when adding a new trigger with `/trigger` command
[[v4.2.3]]
== Version 4.2.3 (2024-05-31)
Bug fixes::
* xfer: fix send of data on the DCC chat buffer after `/upgrade` if the buffer was opened before the upgrade (issue #2092)
* irc: fix crash in split of IRC message containing a newline if the server is not given
* core, relay: fix include directory of libzstd
[[v4.2.2]]
== Version 4.2.2 (2024-04-07)
{see-release-notes}
Bug fixes::
* core: fix reset to initial scroll position after search of text in buffer (issue #2093)
* core: add missing mouse events "alt-ctrl-button2" and "alt-ctrl-button3"
* exec: remove trailing space on buffers with free content when line numbers are not displayed
* exec: add missing exec tags in lines of buffers with free content (issue #2086)
* irc: add missing tags on self action messages when capability echo-message is enabled (issue #2074)
* python: fix truncation of unsigned long long integer returned by function string_parse_size
* relay: set the last IRC client disconnection time only after a successful connection (issue #2103)
* script: always display list of scripts when searching scripts with `/script search` (issue #2077)
* script: fix default mouse keys (issue #2076)
* scripts: fix crash on script unload when a hook is created in a buffer close callback (issue #2067)
* tcl: fix truncation of long integer returned by function hdata_long
* trigger: fix memory leak when adding a new trigger with `/trigger` command
Tests::
* core: fix tests on function strftimeval on Alpine
[[v4.2.1]]
== Version 4.2.1 (2024-01-22)
Bug fixes::
* irc: fix random date displayed when a received message contains tags but no "time" (issue #2064)
[[v4.2.0]]
== Version 4.2.0 (2024-01-21)
{see-release-notes}
New features::
* core: add variable "opening" in buffer, do not send buffer signals when the buffer is opening
* core: store microseconds in buffer lines (issue #649)
* core: evaluate expressions even when the suffix is missing ("}" by default) (issue #2042, issue #1714)
* core: add syntax highlighting in evaluation of expressions with `raw_hl:string` and `hl:string`, add option weechat.color.eval_syntax_colors (issue #2042)
* core: add option `search_history` in command `/input`, add key kbd:[Ctrl+r] to search in commands history, add key context "histsearch" (issue #2040)
* core: add option weechat.look.buffer_search_history (issue #2040)
* core: add key kbd:[Ctrl+o] to send command found and insert next one in input (issue #2040)
* core: add buffer variables "text_search_direction", "text_search_history" and "text_search_ptr_history" (issue #2040)
* core: move key kbd:[Ctrl+r] to kbd:[Ctrl+s] (issue #2040)
* core: move key kbd:[Ctrl+s], kbd:[Ctrl+u] to kbd:[Alt+Shift+U] (issue #2040)
* core: display only version with command `/version`, add options `-o` and `-ol` in command `/upgrade`
* core: add number of processes in command `/sys waitpid`
* core, alias, trigger: allow wildcard in commands `/bar`, `/filter`, `/item`, `/proxy`, `/alias` and `/trigger` (issue #1956)
* api: add support of format/translation of command arguments description line by line (issue #2005)
* api: add function string_concat (issue #2005)
* api: add functions util_strftimeval, util_parse_time, printf_datetime_tags, printf_y_datetime_tags (issue #649)
* api: add argument "date_usec" in hook_print callback (issue #649)
* api: add property "type" in function buffer_get_string
* api: add info "mouse"
* buflist: jump to previous/next buffer displayed in buflist item with ctrl+wheel up/down on a buflist item (issue #1473)
* irc: add option irc.look.display_host_wallops
* irc: add server option "anti_flood" (now in milliseconds), remove server options "anti_flood_prio_{high|low}" (issue #1039)
* irc: add option irc.look.list_buffer
* irc: change default value of server option "tls_priorities" to `NORMAL`
* irc: add support of RGB colors in messages, add option irc.color.term_remap (issue #2025)
* irc: add tags "nick_xxx" and "host_xxx" in all messages, including self and server messages
* irc: add option irc.look.ignore_tag_messages (issue #989)
* relay: change default value of option relay.network.tls_priorities to `NORMAL`
* trigger: change format of variables `${tg_date}` from "%Y-%m-%d %H:%M:%S" to "%FT%T.%f" (issue #649)
* trigger: rename local variable "trigger_filter" to "filter" on monitor buffer (issue #2037)
Bug fixes::
* core: fix crash on plugin reload when using musl libc (issue #2052)
* core: fix infinite loop in display when the chat area is too small (issue #2053)
* core: fix value of buffer variable "num_history" when the value defined in option weechat.history.max_commands is reached
* core: remove incorrect warning when binding keys kbd:[F10] to kbd:[F20] (issue #2039)
* core: call hook config when options are removed
* core: display an error with command `/history N` when N is not a valid integer
* core: fix memory leak when config version is invalid or not supported
* core: fix crash when "config_version" is present in a configuration file without a value
* core: display an error on startup if environment variable "HOME" is not set
* core: fix crash when a custom bar item name is already used by a default bar item (issue #2034)
* core: fix random timeouts when a lot of concurrent processes are launched with hook_process (issue #2033)
* api: return NULL instead of empty infolist "key" when context is not found
* irc: check if arguments are not NULL in some infos
* irc: fix info "irc_is_message_ignored" (issue #2059)
* irc: fix display of self messages when the message split fails due to inconsistent max lengths sent by the server in message 005
* irc: display messages 730/731 (monitored nicks online/offline) even if command `/notify` was not used (issue #2049)
* irc: remove trailing "\r\n" in signals "irc_out" and "irc_outtags" when messages are queued
* irc: fix target buffer of IRC message 337 (whois reply: "is hiding their idle time")
* irc: revert compute of nick colors to case sensitive way, deprecate again infos "irc_nick_color" and "irc_nick_color_name" (issue #194, issue #2032)
* relay: close properly connection with the IRC client in case of server disconnection (issue #2038)
* ruby: fix use of NULL variable when displaying exception
Tests::
* core: add tests on plugin config and plugin API info functions
* irc: add tests on info functions
Build::
* core: make libintl.h required if CMake option ENABLE_NLS is enabled (issue #2031)
* ruby: add detection of Ruby 3.3
[[v4.1.3]]
== Version 4.1.3 (2024-01-20)
Bug fixes::
* core: fix crash on plugin reload when using musl libc (issue #2052)
* core: fix infinite loop in display when the chat area is too small (issue #2053)
* irc: check if arguments are not NULL in some infos
* irc: fix info "irc_is_message_ignored" (issue #2059)
* irc: fix display of self messages when the message split fails due to inconsistent max lengths sent by the server in message 005
[[v4.1.2]]
== Version 4.1.2 (2023-12-03)
Bug fixes::
* core: fix value of buffer variable "num_history" when the value defined in option weechat.history.max_commands is reached
* core: remove incorrect warning when binding keys kbd:[F10] to kbd:[F20] (issue #2039)
* core: fix memory leak when config version is invalid or not supported
* core: fix crash when "config_version" is present in a configuration file without a value
* core: display an error on startup if environment variable "HOME" is not set
* irc: remove trailing "\r\n" in signals "irc_out" and "irc_outtags" when messages are queued
* irc: fix target buffer of IRC message 337 (whois reply: "is hiding their idle time")
* relay: close properly connection with the IRC client in case of server disconnection (issue #2038)
* ruby: fix use of NULL variable when displaying exception
[[v4.1.1]]
== Version 4.1.1 (2023-10-26)
{see-release-notes}
Bug fixes::
* core: fix crash when a custom bar item name is already used by a default bar item (issue #2034)
* core: fix random timeouts when a lot of concurrent processes are launched with hook_process (issue #2033)
* irc: revert compute of nick colors to case sensitive way, deprecate again infos "irc_nick_color" and "irc_nick_color_name" (issue #194, issue #2032)
Build::
* core: make libintl.h required if CMake option ENABLE_NLS is enabled (issue #2031)
[[v4.1.0]]
== Version 4.1.0 (2023-10-15)
{see-release-notes}
New features::
* core: add completion "eval_variables", used in completion of `/eval`
* core: add command `/sys` to show resource limits/usage and suspend WeeChat process, add key kbd:[Ctrl+z] to suspend WeeChat (issue #985)
* core: ignore key bindings with empty command
* core: add support of quotes in commands `/key bind` and `/key bindctxt`
* core: evaluate command given to `/repeat` with contextual variables (issue #2007)
* core: add option `callbacks` in command `/debug`
* core: add option type "enum" (issue #1973)
* core: add options weechat.buffer.* to save buffer properties set by user, add option `setauto` in command `/buffer` (issue #352)
* core: add parameters and key bindings to move to edges of current area with commands `/cursor go` and `/cursor move` (issue #1282)
* core: add variables "_chat_focused_line_bol" and "_chat_focused_line_eol" in focus data (issue #1955)
* api: add function hook_url, add option `url` in command `/debug` (issue #1723)
* api: add support of path to variable and hashtable comparison in function hdata_compare (issue #1066)
* api: add infos "nick_color_ignore_case" and "nick_color_name_ignore_case" (issue #194)
* api: add info "buffer" (issue #1962)
* buflist: add support of item names in command `/buflist refresh`, add completions "buflist_items" and "buflist_items_used"
* buflist: increase max number of buflist items from 3 to 5 (issue #1703)
* fset: add variable `allowed_values` in options, add options fset.color.allowed_values and fset.color.allowed_values_selected
* fset: allow long type name in type filter
* irc: add count for all nick modes in output of `/names` (issue #97, issue #2020)
* irc: add count and mode filter in command `/names` (issue #98)
* irc: compute color in case insensitive way, reintroduce infos "irc_nick_color" and "irc_nick_color_name", add support of server name (issue #194)
* irc: add buffer for /list reply, add options irc.color.list_buffer_line_selected, irc.color.list_buffer_line_selected_bg, irc.look.list_buffer_sort, irc.look.list_buffer_scroll_horizontal, irc.look.new_list_position, irc.look.list_buffer_topic_strip_colors (issue #1972)
* irc: display commands 716/717 in private buffer (if present) (issue #146)
* irc: create default options irc.ctcp.* when file irc.conf is created (issue #1974)
* irc: evaluate options irc.ctcp.* (issue #1974)
* irc: build dynamically the list of CTCPs supported in reply to "CTCP CLIENTINFO" (issue #1974)
* irc: remove Git revision and compilation date from CTCP VERSION reply (issue #1974)
* irc: remove default CTCP replies FINGER and USERINFO (issue #1974)
* irc, xfer: add support of passive DCC (issue #2004, issue #487)
* script: rename parameters up/down/go to -up/-down/-go in command `/script`
* script: allow jump to the last script with command `/script -go end`
* script: allow commands `/script autoload`, `/script noautoload`, `/script toggleautoload` with scripts not present in the repository (issue #1980)
* trigger: add options `-o`, `-ol`, `-i` and `-il` in command `/trigger list` (issue #1953)
Bug fixes::
* core: fix zombie processes after fork (hook process or connect) (issue #1994)
* core: fix generation of TOTP on Big Endian systems (issue #2021)
* core: fix cursor position after `/plugin list -i` or `/plugin list -il`
* core: display focus hashtable for debug even if no key is matching
* fset: add local key bindings during the buffer creation
* fset: remove extra spaces between min and max values when second format is used
* fset: fix mouse actions when second format is used
* fset: apply option fset.color.help_description (issue #1988)
* irc: move value `-all` at the end of completions for command `/ignore del`
* irc: fix memory leak when joining channels with keys
* irc: fix unexpected message sent to server when part of the second line of an IRC command (issue #1992)
* irc: fix display of country code in message 344 received as whois geo info (issue #1736)
* irc: add missing "account-tag" in list of supported capabilities
* irc: add channel in "autojoin" server option only when the channel is actually joined (issue #1990)
* relay: synchronize nick modes with IRC client upon connection (issue #1984)
* script: add local key bindings during the buffer creation
* script: add parameters up/down/go in `/help script` and command completion
* script: fix cursor position after `/script list -i` or `/script list -il`
* script: fix buffer used by command `/script list -i|-il|-o|-ol`
* xfer: display an error message when opening file for read or write fails (issue #2010)
Tests::
* core: add tests on GUI buffer functions
Build::
* core: fix build error if CMake option ENABLE_NLS is turned to off or if required dependencies are not found (issue #2026)
* core, logger, relay: make zstd dependency optional (issue #2024)
[[v4.0.8]]
== Version 4.0.8 (2024-01-20)
Bug fixes::
* core: fix crash on plugin reload when using musl libc (issue #2052)
* core: fix infinite loop in display when the chat area is too small (issue #2053)
* irc: check if arguments are not NULL in some infos
* irc: fix info "irc_is_message_ignored" (issue #2059)
* irc: fix display of self messages when the message split fails due to inconsistent max lengths sent by the server in message 005
[[v4.0.7]]
== Version 4.0.7 (2023-12-03)
Bug fixes::
* core: fix value of buffer variable "num_history" when the value defined in option weechat.history.max_commands is reached
* core: remove incorrect warning when binding keys kbd:[F10] to kbd:[F20] (issue #2039)
* core: fix memory leak when config version is invalid or not supported
* core: fix crash when "config_version" is present in a configuration file without a value
* core: display an error on startup if environment variable "HOME" is not set
* irc: remove trailing "\r\n" in signals "irc_out" and "irc_outtags" when messages are queued
* irc: fix target buffer of IRC message 337 (whois reply: "is hiding their idle time")
* relay: close properly connection with the IRC client in case of server disconnection (issue #2038)
* ruby: fix use of NULL variable when displaying exception
[[v4.0.6]]
== Version 4.0.6 (2023-10-26)
{see-release-notes}
Bug fixes::
* core: fix crash when a custom bar item name is already used by a default bar item (issue #2034)
* core: fix generation of TOTP on Big Endian systems (issue #2021)
* irc: move value `-all` at the end of completions for command `/ignore del`
* irc: fix memory leak when joining channels with keys
Build::
* core: fix build error if CMake option ENABLE_NLS is turned to off or if required dependencies are not found (issue #2026, issue #2031)
[[v4.0.5]]
== Version 4.0.5 (2023-09-24)
New features::
* core: automatically backup config file read if it has an unsupported version (issue #2013)
* core: display a message when a configuration file is updated to a newer version
* python: make stub (weechat.pyi) compatible with Python 3.8 and 3.9 (issue #2006)
Bug fixes::
* irc: add option irc.look.open_pv_buffer_echo_msg to open private buffer on self message when capability echo-message is enabled (issue #2016)
* irc: fix title of private buffers wrongly set to own address when capability echo-message is enabled (issue #2016)
* irc: fix autojoin of channels when private buffers are opened (issue #2012)
* irc: fix string comparison when CASEMAPPING is set to "ascii"
* script: fix removal of script in system directory while trying to install a script (issue #2019)
* script: fix autoload of multiple scripts at once with `/script autoload` (issue #2018)
* script: fix crash when a `/script` command triggers another `/script` command (issue #923)
* xfer: fix memory leak on plugin unload
Tests::
* irc: add tests on server functions
[[v4.0.4]]
== Version 4.0.4 (2023-08-22)
Bug fixes::
* core: fix integer overflow when setting integer option with `++N` or `--N`
* core: fix increment/decrement of options weechat.notify.*
* irc: add missing tags on multiline messages (issue #1987)
* irc: fix redirection of command `/list` when the reply doesn't start with message 321 (start of /list)
* irc: fix wrong time displayed for CTCP messages received from self nick (issue #2000)
* logger: remove trailing empty line in display of backlog (issue #2002)
* perl: fix display of non-ASCII chars after load of a script with Perl >= 5.38 (issue #1996)
* script: adjust scroll after command `/script go N`
* scripts: fix function string_parse_size on 32-bit systems (python and ruby) (issue #1999)
* xfer: fix conversion of string to IPv4 on 32-bit systems (issue #1999)
Tests::
* irc: fix tests on function irc_join_compare_join_channel (issue #1997)
* scripts: fix tests of functions print_date_tag, print_y_date_tags and hook_timer on 32-bit systems (issue #1999)
[[v4.0.3]]
== Version 4.0.3 (2023-08-08)
Bug fixes::
* core: fix input length and crash after delete of line (issue #1989)
* irc: fix display of self CTCP message containing bold attribute (issue #1981)
* irc: fix memory leak in IRC message parser
* irc: fix switch to channel manually joined when server option autojoin_dynamic is on and option irc.look.buffer_switch_autojoin is off (issue #1982)
* irc: fix display of outgoing notice with channel when capability "echo-message" is enabled (issue #1991)
* relay: fix display of IRC CTCP messages received from client (issue #1986)
Build::
* doc: display a warning if a locale is missing with fallback to English for auto-generated content (issue #1985)
[[v4.0.2]]
== Version 4.0.2 (2023-07-12)
Bug fixes::
* core: fix renaming of options with command `/item rename` (issue #1978)
* core: don't send "key_pressed" signal again for the same key press (issue #1976)
* core: don't send "key_combo_*" signals for incomplete keys (issue #1976)
* core: add key kbd:[Ctrl+Backspace] in /help key (issue #1975)
* core: keep keys `ctrl-H` and `ctrl-?` (in lower case) if they were manually bound to custom commands in a previous version
Tests::
* core: fix hdata tests failure on Alpine 3.18
* relay: fix crash in tests on Alpine 3.18
Build::
* php: fix detection of PHP 8.2 on Alpine 3.18
[[v4.0.1]]
== Version 4.0.1 (2023-06-30)
{see-release-notes}
Bug fixes::
* core: force key "return" to command "/input return" when migrating legacy keys
* core: display actual key name and command with key kbd:[Alt+k], remove key kbd:[Alt+K] (grab raw key) and associated commands `/input grab_raw_key` and `/input grab_raw_key_command`
* core: check for newline characters in string_is_whitespace_char (issue #1968)
* api: do not convert option name to lower case in API functions config_set_plugin and config_set_desc_plugin
* guile: fix crash on quit with Guile < 3 (issue #1965)
* irc: reply to a CTCP request sent to self nick (issue #1966)
* irc: sent "QUIT" message to servers connected with TLS on `/upgrade`
[[v4.0.0]]
== Version 4.0.0 (2023-06-24)
{see-release-notes}
New features::
* core: use human readable key bindings, separate keys with comma in combos, remove modifier "meta2-", add option `legacy` in command `/key` (issue #1238, task #10317)
@@ -24,7 +552,7 @@ New features::
* core: insert multiple pasted lines in input instead of sending immediately, add keys to move and delete in a single line and whole input, add option weechat.look.input_multiline_lead_linebreak (issue #1502, issue #1503, issue #1504)
* core: render newline characters in chat line messages (issue #1908)
* core: don't split on newline characters in printf_date_tags when input_multiline is set (issue #1909)
* core: add key @kbd:[l] in cursor mode to quote line, add variable "_chat_focused_line" in function hashtable sent to hook_focus callback (issue #1913, issue #1914)
* core: add key kbd:[l] (lower `L`) in cursor mode to quote line, add variable "_chat_focused_line" in function hashtable sent to hook_focus callback (issue #1913, issue #1914)
* core: add option `split_return` in command `/input` (issue #1916)
* core: send all command line parameters not beginning with a dash to all plugins
* core: add command `/reset` to reset options to their default values
@@ -32,7 +560,8 @@ New features::
* core: add relative move of read marker with `/buffer set unread [+/-]N` (issue #1895)
* core: add access to hashtable properties in evaluation of expressions (issue #1888)
* core: display similar command names when a command is unknown (issue #1877)
* core: rename option weechat.color.status_name_ssl to weechat.color.status_name_tls
* core: rename option weechat.color.status_name_ssl to weechat.color.status_name_tls (issue #1903)
* core: add option weechat.color.status_name_insecure to display buffer name with a specific color when not connected with TLS to the server
* core, plugins: make many identifiers case sensitive (issue #1872, issue #398, bug #32213)
* core: add item "mouse_status" in default status bar, change default color to lightgreen
* core, trigger: add options weechat.color.chat_status_disabled and weechat.color.chat_status_enabled, remove options trigger.color.trigger and trigger.color.trigger_disabled, add enabled/disabled status color in output of `/filter list` (issue #1820)
@@ -46,7 +575,7 @@ New features::
* alias: add options `missing` and `rename` in command `/alias`
* fifo: add support of escaped chars in text or commands sent (issue #1950)
* fset: add options fset.color.color_name and fset.color.color_name_selected (issue #1920)
* irc: rename "ssl" options to "tls", connect with TLS and port 6697 by default
* irc: rename "ssl" options to "tls", connect with TLS and port 6697 by default (issue #1903)
* irc: add support of capabilities "batch" and "draft/multiline" (issue #1292, issue #1923)
* irc: add support of capability "echo-message" (issue #139)
* irc: display CTCP ACTION to channel on the channel buffer (issue #207)
@@ -67,7 +596,7 @@ New features::
* irc: add tag "new_host_xxx" in message displayed for command CHGHOST (issue #1808)
* logger: add option logger.file.log_conditions (issue #1942)
* logger: add info "logger_log_file"
* relay: rename "ssl" options and protocol to "tls"
* relay: rename "ssl" options and protocol to "tls" (issue #1903)
* relay: make TLS certificate/key loading error handling more verbose (issue #1558)
* relay: add modifiers "relay_client_irc_in", "relay_client_irc_out1" and "relay_client_irc_out" in irc protocol
* relay: add support of capability "echo-message" in irc protocol (issue #1949)
@@ -140,11 +669,13 @@ Build::
* core: remove obsolete cpack config
* core: add "stable-number" and "devel-number" in script version.sh
* core: add quotes around paths in CMake files (issue #29)
* doc: convert docgen.py to C, remove autogen files from repository, add parameter `--doc-gen` to `weechat-headless` binary, add CMake option `ENABLE_DOC_INCOMPLETE`
* doc: convert docgen.py to C, remove autogen files from repository, add parameter `--doc-gen` to `weechat-headless` binary, add CMake option "ENABLE_DOC_INCOMPLETE"
[[v3.8]]
== Version 3.8 (2023-01-08)
{see-release-notes}
New features::
* core: add option weechat.look.chat_space_right (issue #1862)
@@ -210,6 +741,8 @@ Bug fixes::
[[v3.7]]
== Version 3.7 (2022-10-09)
{see-release-notes}
New features::
* core: add option `-save` in command `/upgrade` (issue #1630)
@@ -275,6 +808,8 @@ Tests::
[[v3.6]]
== Version 3.6 (2022-07-10)
{see-release-notes}
New features::
* core: add command `/item` to create custom bar items (issue #808)
@@ -302,6 +837,8 @@ Bug fixes::
[[v3.5]]
== Version 3.5 (2022-03-27)
{see-release-notes}
New features::
* core: search in message tags when tags are displayed with `/debug tags`
@@ -354,6 +891,8 @@ Bug fixes::
[[v3.4]]
== Version 3.4 (2021-12-18)
{see-release-notes}
New features::
* core: add support of static arrays in hdata
@@ -397,6 +936,8 @@ Build::
[[v3.3]]
== Version 3.3 (2021-09-19)
{see-release-notes}
New features::
* core: change key kbd:[Alt+h] to kbd:[Alt+h], kbd:[Alt+c] (clear hotlist)
@@ -459,6 +1000,8 @@ Bug fixes::
[[v3.2]]
== Version 3.2 (2021-06-13)
{see-release-notes}
New features::
* core: use XDG directories by default (config, data, cache, runtime) (issue #1285)
@@ -514,6 +1057,8 @@ Build::
[[v3.1]]
== Version 3.1 (2021-03-07)
{see-release-notes}
New features::
* core: add options weechat.look.hotlist_update_on_buffer_switch and weechat.look.read_marker_update_on_buffer_switch (issue #992, issue #993)
@@ -556,6 +1101,8 @@ Bug fixes::
[[v3.0]]
== Version 3.0 (2020-11-11)
{see-release-notes}
New features::
* api: add optional list of colors in infos "nick_color" and "nick_color_name" (issue #1565)
@@ -593,6 +1140,8 @@ Build::
[[v2.9]]
== Version 2.9 (2020-07-18)
{see-release-notes}
New features::
* core: add bar option "color_bg_inactive": color for window bars in inactive window (issue #732)
@@ -679,6 +1228,8 @@ Build::
[[v2.8]]
== Version 2.8 (2020-03-29)
{see-release-notes}
New features::
* core: add variable "old_full_name" in buffer, set during buffer renaming (issue #1428)
@@ -735,6 +1286,8 @@ Bug fixes::
[[v2.7]]
== Version 2.7 (2019-12-08)
{see-release-notes}
New features::
* core: add option weechat.look.nick_color_hash_salt to shuffle nick colors (issue #635)
@@ -792,6 +1345,8 @@ Build::
[[v2.6]]
== Version 2.6 (2019-09-08)
{see-release-notes}
New features::
* core: add support of 32767 color pairs (issue #1343, issue #1345)
@@ -840,6 +1395,8 @@ Build::
[[v2.5]]
== Version 2.5 (2019-06-06)
{see-release-notes}
New features::
* core: use getopt to parse command line arguments
@@ -895,6 +1452,8 @@ Build::
[[v2.4]]
== Version 2.4 (2019-02-17)
{see-release-notes}
New features::
* core: do not automatically add a space when completing "nick:" at the beginning of command line (the space can be added in option weechat.completion.nick_completer)
@@ -972,6 +1531,8 @@ Build::
[[v2.2]]
== Version 2.2 (2018-07-14)
{see-release-notes}
New features::
* core: change default value of option weechat.look.hotlist_add_conditions to check connected relay clients via weechat protocol (issue #1206)
@@ -1040,6 +1601,8 @@ Build::
[[v2.1]]
== Version 2.1 (2018-03-18)
{see-release-notes}
New features::
* core: add binary weechat-headless to run WeeChat without interface, with optional daemon mode (command line option `--daemon`) (issue #1120)
@@ -1079,6 +1642,8 @@ Bug fixes::
[[v2.0]]
== Version 2.0 (2017-12-03)
{see-release-notes}
New features::
* core: add flag "input_get_empty" in buffer
@@ -1166,6 +1731,8 @@ Bug fixes::
[[v1.8]]
== Version 1.8 (2017-05-13)
{see-release-notes}
New features::
* core: add option weechat.completion.nick_case_sensitive (issue #981)
@@ -1216,6 +1783,8 @@ Bug fixes::
[[v1.7]]
== Version 1.7 (2017-01-15)
{see-release-notes}
New features::
* core: add option weechat.look.align_multiline_words (issue #411, issue #802)
@@ -1260,6 +1829,8 @@ Build::
[[v1.6]]
== Version 1.6 (2016-10-02)
{see-release-notes}
New features::
* core: add optional argument `lowest`, `highest` or level mask in command `/input hotlist_clear`
@@ -1296,6 +1867,8 @@ Build::
[[v1.5]]
== Version 1.5 (2016-05-01)
{see-release-notes}
New features::
* core: evaluate content of option "weechat.look.item_time_format" (issue #791)
@@ -1338,6 +1911,8 @@ Build::
[[v1.4]]
== Version 1.4 (2016-01-10)
{see-release-notes}
New features::
* core: add a parent name in options, display inherited values if null in `/set` output, add option weechat.color.chat_value_null (issue #629)
@@ -1395,6 +1970,8 @@ Build::
[[v1.3]]
== Version 1.3 (2015-08-16)
{see-release-notes}
New features::
* core: add completion "colors" (issue #481)
@@ -1450,6 +2027,8 @@ Build::
[[v1.2]]
== Version 1.2 (2015-05-10)
{see-release-notes}
New features::
* core: add signals "signal_sigterm" and "signal_sigquit" (issue #114)
@@ -1524,6 +2103,8 @@ Build::
[[v1.1]]
== Version 1.1 (2015-01-11)
{see-release-notes}
New features::
* core: add option weechat.completion.command_inline (task #12491)
@@ -1621,6 +2202,8 @@ Build::
[[v1.0]]
== Version 1.0 (2014-08-15)
{see-release-notes}
New features::
* core: display a warning on startup if $TERM does not start with "screen" under Screen/Tmux
@@ -1637,7 +2220,7 @@ New features::
* core: add option weechat.look.hotlist_add_conditions, remove option weechat.look.hotlist_add_buffer_if_away
* core: add option weechat.look.hotlist_remove (issue #99)
* core: add options `-beep` and `-current` in command `/print`
* core: add bare display mode for easy text selection and click on URLs, new key: kbd:[Alt+l] (`L`), new option "bare" in command `/window`, new options: weechat.look.bare_display_exit_on_input and weechat.look.bare_display_time_format
* core: add bare display mode for easy text selection and click on URLs, new key: kbd:[Alt+l] (lower `L`), new option "bare" in command `/window`, new options: weechat.look.bare_display_exit_on_input and weechat.look.bare_display_time_format
* core: add signals "key_combo_{default|search|cursor}"
* core: add terabyte unit for size displayed
* core: display a warning in case of inconsistency between the options weechat.look.save_{config|layout}_on_exit
@@ -1782,6 +2365,8 @@ Tests::
[[v0.4.3]]
== Version 0.4.3 (2014-02-09)
{see-release-notes}
New features::
* core: add signals "signal_sighup" and "signal_sigwinch" (terminal resized)
@@ -1885,6 +2470,8 @@ Build::
[[v0.4.2]]
== Version 0.4.2 (2013-10-06)
{see-release-notes}
New features::
* core: display day change message dynamically (do not store it as a line in buffer), split option weechat.look.day_change_time_format into two options weechat.look.day_change_message_{1date|2dates}, new option weechat.color.chat_day_change (task #12775)
@@ -1961,12 +2548,14 @@ Documentation::
Build::
* core: add CA_FILE option in CMake and configure to setup default value of option weechat.network.gnutls_ca_file (default is "/etc/ssl/certs/ca-certificates.crt") (task #12725)
* core: disable build of doc by default, add CMake option ENABLE_MAN to compile man page (off by default)
* core: disable build of doc by default, add CMake option "ENABLE_MAN" to compile man page (off by default)
* xfer: fix compilation on OpenBSD (bug #39071)
[[v0.4.1]]
== Version 0.4.1 (2013-05-20)
{see-release-notes}
New features::
* core: make nick prefix/suffix dynamic (not stored in the line): move options irc.look.nick_{prefix|suffix} to weechat.look.nick_{prefix|suffix} and options irc.color.nick_{prefix|suffix} to weechat.color.chat_nick_{prefix|suffix}, add new options weechat.look.prefix_align_more_after, weechat.look.prefix_buffer_align_more_after, logger.file.nick_{prefix|suffix} (bug #37531)
@@ -2051,6 +2640,8 @@ Build::
[[v0.4.0]]
== Version 0.4.0 (2013-01-20)
{see-release-notes}
New features::
* core: add buffer pointer in arguments for signals "input_search", "input_text_changed" and "input_text_cursor_moved"
@@ -2152,6 +2743,8 @@ Bug fixes::
[[v0.3.9]]
== Version 0.3.9 (2012-09-29)
{see-release-notes}
New features::
* core: add signals for plugins loaded/unloaded
@@ -2240,6 +2833,8 @@ Build::
[[v0.3.8]]
== Version 0.3.8 (2012-06-03)
{see-release-notes}
New features::
* core: add option weechat.look.prefix_same_nick (hide or change prefix on messages whose nick is the same as previous message) (task #11965)
@@ -2307,6 +2902,8 @@ Build::
[[v0.3.7]]
== Version 0.3.7 (2012-02-26)
{see-release-notes}
New features::
* core: add support of flags in regular expressions and highlight options
@@ -2391,6 +2988,8 @@ Build::
[[v0.3.6]]
== Version 0.3.6 (2011-10-22)
{see-release-notes}
New features::
* core: add color attribute "|" (keep attributes) and value "resetcolor" for function color in plugin API (used by irc plugin to keep bold/reverse/underlined in message when changing color) (bug #34550)
@@ -2483,6 +3082,8 @@ Build::
[[v0.3.5]]
== Version 0.3.5 (2011-05-15)
{see-release-notes}
New features::
* core: add buffer to hotlist if away is set on buffer (even if buffer is displayed), new option weechat.look.hotlist_add_buffer_if_away (task #10948)
@@ -2561,6 +3162,8 @@ Build::
[[v0.3.4]]
== Version 0.3.4 (2011-01-16)
{see-release-notes}
New features::
* core: add 256 colors support, new command `/color`, new section "palette" in weechat.conf (task #6834)
@@ -2629,6 +3232,8 @@ Build::
[[v0.3.3]]
== Version 0.3.3 (2010-08-07)
{see-release-notes}
New features::
* core: use "!" to reverse a regex in a filter (to keep lines matching regex and hide other lines) (task #10032)
@@ -2672,6 +3277,8 @@ Bug fixes::
[[v0.3.2]]
== Version 0.3.2 (2010-04-18)
{see-release-notes}
New features::
* core: add new options for command `/key`: `listdefault`, `listdiff` and `reset`
@@ -2752,6 +3359,8 @@ Build::
[[v0.3.1]]
== Version 0.3.1 (2010-01-23)
{see-release-notes}
New features::
* core: add option "grab_key_command" in command `/input` (bound by default to kbd:[Alt+k])
@@ -2808,6 +3417,8 @@ Build::
[[v0.3.0]]
== Version 0.3.0 (2009-09-06)
{see-release-notes}
New features::
* core: add group support in nicklist
@@ -3034,6 +3645,8 @@ Build::
[[v0.2.2]]
== Version 0.2.2 (2007-01-06)
{see-release-notes}
New features::
* add anti-flood option (irc_anti_flood) (task #5442)
@@ -3110,6 +3723,8 @@ Bug fixes::
[[v0.2.0]]
== Version 0.2.0 (2006-08-19)
{see-release-notes}
New features::
* add "C"lear option on IRC raw buffer
@@ -3165,6 +3780,8 @@ Build::
[[v0.1.9]]
== Version 0.1.9 (2006-05-25)
{see-release-notes}
New features::
* add backtrace when WeeChat crashes, log file automatically renamed
@@ -3222,6 +3839,8 @@ Build::
[[v0.1.8]]
== Version 0.1.8 (2006-03-18)
{see-release-notes}
New features::
* improve alias completion (now uses target command for completion)
@@ -3269,6 +3888,8 @@ Bug fixes::
[[v0.1.7]]
== Version 0.1.7 (2006-01-14)
{see-release-notes}
New features::
* remove "irc_default_msg_away" setting, for RFC 2812 conformity (`/away` command without argument only removes away status), new values for "irc_display_away" (off, local, channel)
@@ -3301,6 +3922,8 @@ Build::
[[v0.1.6]]
== Version 0.1.6 (2005-11-11)
{see-release-notes}
New features::
* new color management system, IRC colors are now correctly displayed and can be removed by new options irc_colors_receive and irc_colors_send
+3 -3
View File
@@ -5,9 +5,9 @@
pass:[<p align="center">] image:https://weechat.org/media/images/weechat_logo_large.png[align="center"] pass:[</p>]
image:https://img.shields.io/badge/diaspora*-follow-blue.svg["Diaspora*", link="https://diasp.eu/u/weechat"]
image:https://img.shields.io/badge/mastodon-follow-blue.svg["Mastodon", link="https://hostux.social/@weechat"]
image:https://img.shields.io/badge/twitter-follow-blue.svg["Twitter", link="https://twitter.com/WeeChatClient"]
image:https://img.shields.io/badge/diaspora*-follow-blue.svg["Diaspora*", link="https://diasp.eu/u/weechat"]
image:https://img.shields.io/badge/x-follow-blue.svg["Twitter", link="https://x.com/WeeChatClient"]
image:https://img.shields.io/badge/devel%20blog-follow-blue.svg["Devel blog", link="https://blog.weechat.org/"]
image:https://img.shields.io/badge/slant-recommend-28acad.svg["Slant", link="https://www.slant.co/topics/1323/~best-irc-clients-for-linux"]
image:https://img.shields.io/badge/help-donate%20%E2%9D%A4-ff69b4.svg["Donate", link="https://weechat.org/donate/"]
@@ -49,7 +49,7 @@ WeeChat is following a "practical" semantic versioning, see file link:Contributi
== Copyright
Copyright (C) 2003-2023 Sébastien Helleu <flashcode@flashtux.org>
Copyright (C) 2003-2024 Sébastien Helleu <flashcode@flashtux.org>
This file is part of WeeChat, the extensible chat client.
+446 -40
View File
@@ -11,6 +11,411 @@ It is recommended to read it when upgrading to a new stable version. +
For a complete list of changes, please look at ChangeLog.
[[v4.3.6]]
== Version 4.3.6 (2024-08-15)
No release notes.
[[v4.3.5]]
== Version 4.3.5 (2024-07-16)
No release notes.
[[v4.3.4]]
== Version 4.3.4 (2024-07-03)
No release notes.
[[v4.3.3]]
== Version 4.3.3 (2024-06-22)
No release notes.
[[v4.3.2]]
== Version 4.3.2 (2024-06-06)
No release notes.
[[v4.3.1]]
== Version 4.3.1 (2024-05-31)
[[v4.3.1_libgcrypt]]
=== Detection of libgcrypt
The detection of libgcrypt has been fixed to properly detect libgcrypt >= 1.11. +
As a consequence, the detection of an old version of libgcrypt is failing if the
file `libgcrypt.pc` is not found. +
This affects old distributions like Debian Buster and Ubuntu Bionic.
[[v4.3.0]]
== Version 4.3.0 (2024-05-26)
[[v4.3.0_relay_options]]
=== Relay options
The following relay options have been renamed:
* relay.color.status_waiting_auth -> relay.color.status_authenticating
* relay.weechat.commands -> relay.network.commands (new default value: `*,!quit`)
[[v4.3.0_lag_in_buflist]]
=== Lag in buflist
The lag is now stored in all IRC buffers: server (like it always has been),
channels and private buffers.
Consequently, if you use `${format_lag}` in buflist options, this lag will be
displayed on server and all channels and private buffers.
If you want to display the lag only on server buffer in buflist, you can use
such format:
----
${if:${type}==server?${format_lag}}
----
[[v4.3.0_irc_color_channel_modes]]
=== Color of IRC channel modes
The option `irc.color.item_channel_modes` has been moved to core and renamed to
`weechat.color.status_modes`.
[[v4.3.0_signal_buffer_line_added]]
=== Signal "buffer_line_added"
The signal "buffer_line_added" is now sent for every line added or modified
on a buffer with free content.
[[v4.3.0_script_keys]]
=== Script keys
Some arguments to the `/script` command were renamed in version 4.1.0, but the
keys using these arguments were not changed at same time.
They're now using the new arguments by default, but you must reset manually
the keys with the following commands:
----
/reset weechat.key_mouse.@chat(script.scripts):button1
/reset weechat.key_mouse.@chat(script.scripts):button2
/reset weechat.key_mouse.@chat(script.scripts):wheeldown
/reset weechat.key_mouse.@chat(script.scripts):wheelup
----
[[v4.2.3]]
== Version 4.2.3 (2024-05-31)
No release notes.
[[v4.2.2]]
== Version 4.2.2 (2024-04-07)
[[v4.2.2_script_keys]]
=== Script keys
Some arguments to the `/script` command were renamed in version 4.1.0, but the
keys using these arguments were not changed at same time.
They're now using the new arguments by default, but you must reset manually
the keys with the following commands:
----
/reset weechat.key_mouse.@chat(script.scripts):button1
/reset weechat.key_mouse.@chat(script.scripts):button2
/reset weechat.key_mouse.@chat(script.scripts):wheeldown
/reset weechat.key_mouse.@chat(script.scripts):wheelup
----
[[v4.2.1]]
== Version 4.2.1 (2024-01-22)
No release notes.
[[v4.2.0]]
== Version 4.2.0 (2024-01-21)
[[v4.2.0_lines_microseconds]]
=== Microseconds in buffer lines
Microseconds have been added in buffer lines (for both date and printed date).
Here are the changes that could affect plugins and scripts:
* hook_print: the C callback receives a new argument "date_usec" (microseconds
of date), after the argument "date" (scripting API is unchanged: the
microseconds are not available)
* trigger of types "print" and "timer": the format of variable `${tg_date}` is
changed from `%Y-%m-%d %H:%M:%S` to `%FT%T.%f` (where `%f` is the number of
microseconds on 6 digits)
[[v4.2.0_irc_anti_flood]]
=== IRC anti-flood
The anti-flood mechanism in IRC plugin has been improved and is now configured
in milliseconds instead of seconds. +
It is done with a single option `irc.server_default.anti_flood` (and same option
in servers), which replaces both options `anti_flood_prio_high` and
`anti_flood_prio_low`.
The default value is 2000 (2 seconds), and for example if you want to set
a delay of 0.5 seconds between your messages sent:
----
/set irc.server_default.anti_flood 500
----
When upgrading from an old WeeChat version, you'll see such messages, which are
perfectly normal (they're displayed to warn you about unknown options, and then
you have to set the new option if needed):
----
=!= | Warning: /home/user/.config/weechat/irc.conf, line 131: ignoring unknown option for section "server_default": anti_flood_prio_high = 2
=!= | Warning: /home/user/.config/weechat/irc.conf, line 132: ignoring unknown option for section "server_default": anti_flood_prio_low = 2
=!= | Warning: /home/user/.config/weechat/irc.conf, line 212: ignoring invalid value for option in section "server": libera.anti_flood_prio_high
=!= | Warning: //home/user/.config/weechat/irc.conf, line 213: ignoring invalid value for option in section "server": libera.anti_flood_prio_low
----
[[v4.2.0_search_commands_history]]
=== Search in commands history
Search in commands history has been added with new keys and a new key context
called "histsearch".
Some existing keys have been moved as well.
New keys can be changed and added with the following commands after upgrade
from an old WeeChat version:
----
/key missing
/key unbind ctrl-s,ctrl-u
/key bind meta-U /allbuf /buffer set unread
/key bind ctrl-r /input search_history
/key bindctxt search ctrl-r /input search_previous
----
[[v4.2.0_irc_rgb_colors]]
=== RGB colors in IRC messages
Support for RGB colors in IRC messages has been added and a new key
kbd:[Ctrl+c], kbd:[d] is available to insert this color code in command line.
You can add this key with this command:
----
/key missing
----
[[v4.2.0_custom_bar_items]]
=== Custom bar items
Custom bar items must now have a different name than default bar items
(for example the custom bar item name `time` is now forbidden). +
If you have such names in your config, WeeChat will now fail to load them
(this should not happen anyway, since such bar items can not be properly used
or can cause a crash of WeeChat).
[[v4.2.0_nick_color_infos]]
=== Nick color infos
The infos irc_nick_color and irc_nick_color_name are deprecated again, and the
algorithm to compute IRC nick colors has been reverted to case sensitive. +
The server name has been removed from arguments.
[[v4.1.3]]
== Version 4.1.3 (2024-01-20)
No release notes.
[[v4.1.2]]
== Version 4.1.2 (2023-12-03)
No release notes.
[[v4.1.1]]
== Version 4.1.1 (2023-10-26)
[[v4.1.1_custom_bar_items]]
=== Custom bar items
Custom bar items must now have a different name than default bar items
(for example the custom bar item name `time` is now forbidden). +
If you have such names in your config, WeeChat will now fail to load them
(this should not happen anyway, since such bar items can not be properly used
or can cause a crash of WeeChat).
[[v4.1.0]]
== Version 4.1.0 (2023-10-15)
[[v4.1.0_cursor_mode_keys]]
=== New keys to move in cursor mode
New keys have been added to move in cursor mode, and existing keys to move to
another area have been changed: modifier is now kbd:[Alt+Shift] instead of
kbd:[Alt].
You can change existing keys and add new ones with these commands:
----
/key bindctxt cursor meta-up /cursor move edge_top
/key bindctxt cursor meta-down /cursor move edge_bottom
/key bindctxt cursor meta-left /cursor move edge_left
/key bindctxt cursor meta-right /cursor move edge_right
/key bindctxt cursor meta-end /cursor move bottom_right
/key bindctxt cursor meta-home /cursor move top_left
/key bindctxt cursor meta-shift-up /cursor move area_up
/key bindctxt cursor meta-shift-down /cursor move area_down
/key bindctxt cursor meta-shift-left /cursor move area_left
/key bindctxt cursor meta-shift-right /cursor move area_right
----
[[v4.1.0_irc_ctcp_replies]]
=== IRC CTCP replies
IRC CTCP replies are now evaluated, with the same variables available, so now
the syntax is for example `${version}` instead of `$version`. +
The existing options `irc.ctcp.*` are automatically converted on upgrade.
In addition, for privacy reasons, these default CTCP replies have been removed:
- FINGER
- USERINFO
If ever you want that WeeChat replies to these CTCP requests, you can add them
back with the two following commands:
----
/set irc.ctcp.finger "WeeChat ${version}"
/set irc.ctcp.userinfo "${username} (${realname})"
----
They will then be advertised in reply to "CTCP CLIENTINFO", which is now built
dynamically with these options.
[[v4.1.0_nick_color_infos]]
=== Nick color infos
Two infos to get nick colors have been added: nick_color_ignore_case and
nick_color_name_ignore_case. +
They are similar to nick_color and nick_color_name, except they take as second
argument a range of chars to apply on the nick: the nick is converted to lower
case using this range of chars.
The infos irc_nick_color and irc_nick_color_name, that were deprecated since
version 1.5 are now used again, with a change in parameter: the server is now
optional before the nick: "server,nick". +
The nick is first converted to lower case, following the value of CASEMAPPING
on the server, then hashed to compute the color. +
That means the color for a nick is now case insensitive (in the way IRC servers
are case insensitive, so with a limited range of chars only).
If a script was using this info with a comma in nickname (which should not happen
anyway), this is now interpreted as the server name, and the script must be
modified. +
Anyway, it is recommended to always give the server name to respect the
CASEMAPPING of the server and prevent any issue with a comma in the nickname.
For example nick color of "alice" and "ALICE" is now always guaranteed to be the
same:
----
# with server name (recommended)
weechat.info_get("irc_nick_color", "libera,alice") == weechat.info_get("irc_nick_color", "libera,ALICE")
weechat.info_get("irc_nick_color_name", "libera,alice") == weechat.info_get("irc_nick_color_name", "libera,ALICE")
# without server name (allowed but not recommended, kept for compatibility)
weechat.info_get("irc_nick_color", "alice") == weechat.info_get("irc_nick_color", "ALICE")
weechat.info_get("irc_nick_color_name", "alice") == weechat.info_get("irc_nick_color_name", "ALICE")
----
[[v4.1.0_fset_allowed_values]]
=== Allowed values for options on fset buffer
A new variable `allowed_values` has been added in fset options.
The default value for the second format has changed. +
You can reset it with this command:
----
/reset fset.format.option2
----
[[v4.1.0_fset_mouse]]
=== Mouse actions on fset buffer
Mouse actions on fset buffer has been fixed when option `fset.look.format_number`
is set to 2.
The key for button 1 on fset buffer has been fixed. +
You can reset it with this command:
----
/reset weechat.key_mouse.@chat(fset.fset):button1
----
[[v4.0.8]]
== Version 4.0.8 (2024-01-20)
No release notes.
[[v4.0.7]]
== Version 4.0.7 (2023-12-03)
No release notes.
[[v4.0.6]]
== Version 4.0.6 (2023-10-26)
[[v4.0.6_custom_bar_items]]
=== Custom bar items
Custom bar items must now have a different name than default bar items
(for example the custom bar item name `time` is now forbidden).
If you have such names in your config, WeeChat will now fail to load them
(this should not happen anyway, since such bar items can not be properly used
and can cause a crash of WeeChat).
[[v4.0.5]]
== Version 4.0.5 (2023-09-24)
No release notes.
[[v4.0.4]]
== Version 4.0.4 (2023-08-22)
No release notes.
[[v4.0.3]]
== Version 4.0.3 (2023-08-08)
No release notes.
[[v4.0.2]]
== Version 4.0.2 (2023-07-12)
No release notes.
[[v4.0.1]]
== Version 4.0.1 (2023-06-30)
[[v4.0.1_config_set_plugin]]
=== Functions config_set_plugin and config_set_desc_plugin
The functions link:https://weechat.org/doc/weechat/plugin/#_config_set_plugin[config_set_plugin]
and link:https://weechat.org/doc/weechat/plugin/#_config_set_desc_plugin[config_set_desc_plugin]
are not converting any more the option name to lower case because since version 4.0.0,
the name of options is case sensitive.
[[v4.0.1_grab_raw_key]]
=== Grab raw key and command
Key kbd:[Alt+K] (upper case) has been removed, as well as commands
`/input grab_raw_key` and `/input grab_raw_key_command`.
Now the key kbd:[Alt+k] displays the actual key name and command, possibly
raw key.
[[v4.0.0]]
== Version 4.0.0 (2023-06-24)
@@ -182,6 +587,10 @@ Alias converted to lower case: "CLOSE" => "close"
[[v4.0.0_tls]]
=== TLS options and connections
Option `weechat.color.status_name_insecure` has been added, the buffer name
is now displayed with color `lightmagenta` by default if the connection with
the server is *NOT* made with TLS.
Options, commands and documentation have been updated to "TLS" instead of "SSL":
* core option:
@@ -449,7 +858,7 @@ now any return value is ignored (like it has always been in the C API).
[[v3.7.1]]
== Version 3.7.1 (2022-10-21)
Bug fix and maintenance release.
No release notes.
[[v3.7]]
== Version 3.7 (2022-10-09)
@@ -571,7 +980,7 @@ and is now a percentage between `0` and `100`:
[[v3.4.1]]
== Version 3.4.1 (2022-03-13)
Bug fix and maintenance release.
No release notes.
[[v3.4]]
== Version 3.4 (2021-12-18)
@@ -729,7 +1138,7 @@ For example:
[[v3.2.1]]
== Version 3.2.1 (2021-09-04)
Bug fix and maintenance release.
No release notes.
[[v3.2]]
== Version 3.2 (2021-06-13)
@@ -959,7 +1368,7 @@ must adjust the value of the new option, which defaults to 1:
[[v3.0.1]]
== Version 3.0.1 (2021-01-31)
Bug fix and maintenance release.
No release notes.
[[v3.0]]
== Version 3.0 (2020-11-11)
@@ -1267,7 +1676,7 @@ version:
[[v2.7.1]]
== Version 2.7.1 (2020-02-20)
Bug fix and maintenance release.
No release notes.
[[v2.7]]
== Version 2.7 (2019-12-08)
@@ -1511,7 +1920,7 @@ Functions removed from C API:
[[v2.3]]
== Version 2.3 (2018-10-21)
No release note.
No release notes.
[[v2.2]]
== Version 2.2 (2018-07-14)
@@ -1647,7 +2056,7 @@ List of options moved:
[[v2.0.1]]
== Version 2.0.1 (2017-12-20)
Bug fix and maintenance release.
No release notes.
[[v2.0]]
== Version 2.0 (2017-12-03)
@@ -1742,12 +2151,12 @@ to integer before using it, for example in Python: `int(fd)`.
[[v1.9.1]]
== Version 1.9.1 (2017-09-23)
Bug fix and maintenance release.
No release notes.
[[v1.9]]
== Version 1.9 (2017-06-25)
No release note.
No release notes.
[[v1.8]]
== Version 1.8 (2017-05-13)
@@ -1799,7 +2208,7 @@ Aspell option with color for suggestion on a misspelled word has been renamed:
[[v1.7.1]]
== Version 1.7.1 (2017-04-22)
Bug fix and maintenance release.
No release notes.
[[v1.7]]
== Version 1.7 (2017-01-15)
@@ -2046,7 +2455,7 @@ command:
[[v1.1.1]]
== Version 1.1.1 (2015-01-25)
Bug fix and maintenance release.
No release notes.
[[v1.1]]
== Version 1.1 (2015-01-11)
@@ -2166,7 +2575,7 @@ instead of milliseconds:
[[v1.0.1]]
== Version 1.0.1 (2014-09-28)
Bug fix and maintenance release.
No release notes.
[[v1.0]]
== Version 1.0 (2014-08-15)
@@ -2663,13 +3072,12 @@ disable IPv6 in relay if you don't plan to use it at all:
[[v0.3.9.2]]
== Version 0.3.9.2 (2012-11-18)
This version fixes a security vulnerability when a plugin/script gives
untrusted command to API function link:https://weechat.org/doc/weechat/plugin/#_hook_process[hook_process].
No release notes.
[[v0.3.9.1]]
== Version 0.3.9.1 (2012-11-09)
This version fixes crash when decoding IRC colors in strings.
No release notes.
[[v0.3.9]]
== Version 0.3.9 (2012-09-29)
@@ -2977,39 +3385,37 @@ Major differences:
[[v0.2.6.3]]
== Version 0.2.6.3 (2009-06-13)
This version fixes gnutls detection.
No release notes.
[[v0.2.6.2]]
== Version 0.2.6.2 (2009-04-18)
This version fixes a bug with charset decoding (like "iso2022jp").
No release notes.
[[v0.2.6.1]]
== Version 0.2.6.1 (2009-03-14)
This version fixes a major bug: crash with some special chars in IRC messages.
No release notes.
[[v0.2.6]]
== Version 0.2.6 (2007-09-06)
No release note.
No release notes.
[[v0.2.5]]
== Version 0.2.5 (2007-06-07)
No release note.
No release notes.
[[v0.2.4]]
== Version 0.2.4 (2007-03-29)
No release note.
No release notes.
[[v0.2.3]]
== Version 0.2.3 (2007-01-10)
This version fixes several major bugs of version 0.2.2.
All users of version 0.2.2 should upgrade to this version.
No release notes.
[[v0.2.2]]
== Version 0.2.2 (2007-01-06)
@@ -3061,7 +3467,7 @@ Which gives something like:
[[v0.2.1]]
== Version 0.2.1 (2006-10-01)
No release note.
No release notes.
[[v0.2.0]]
== Version 0.2.0 (2006-08-19)
@@ -3175,74 +3581,74 @@ at startup.
[[v0.1.5]]
== Version 0.1.5 (2005-09-24)
No release note.
No release notes.
[[v0.1.4]]
== Version 0.1.4 (2005-07-30)
No release note.
No release notes.
[[v0.1.3]]
== Version 0.1.3 (2005-07-02)
No release note.
No release notes.
[[v0.1.2]]
== Version 0.1.2 (2005-05-21)
No release note.
No release notes.
[[v0.1.1]]
== Version 0.1.1 (2005-03-20)
No release note.
No release notes.
[[v0.1.0]]
== Version 0.1.0 (2005-02-12)
No release note.
No release notes.
[[v0.0.9]]
== Version 0.0.9 (2005-01-01)
No release note.
No release notes.
[[v0.0.8]]
== Version 0.0.8 (2004-10-30)
No release note.
No release notes.
[[v0.0.7]]
== Version 0.0.7 (2004-08-08)
No release note.
No release notes.
[[v0.0.6]]
== Version 0.0.6 (2004-06-05)
No release note.
No release notes.
[[v0.0.5]]
== Version 0.0.5 (2004-02-07)
No release note.
No release notes.
[[v0.0.4]]
== Version 0.0.4 (2004-01-01)
No release note.
No release notes.
[[v0.0.3]]
== Version 0.0.3 (2003-11-03)
No release note.
No release notes.
[[v0.0.2]]
== Version 0.0.2 (2003-10-05)
No release note.
No release notes.
[[v0.0.1]]
== Version 0.0.1 (2003-09-27)
No release note.
No release notes.
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2023 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2024 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-2023 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2024 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-2023 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2014-2024 Sébastien Helleu <flashcode@flashtux.org>
#
# This file is part of WeeChat, the extensible chat client.
#
-53
View File
@@ -1,53 +0,0 @@
#
# Copyright (C) 2003-2023 Sébastien Helleu <flashcode@flashtux.org>
#
# This file is part of WeeChat, the extensible chat client.
#
# WeeChat is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# WeeChat is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with WeeChat. If not, see <https://www.gnu.org/licenses/>.
#
# - Find Gcrypt
# This module finds if libgcrypt is installed and determines where
# the include files and libraries are.
#
# This code sets the following variables:
#
# GCRYPT_CFLAGS = cflags to use to compile
# GCRYPT_LDFLAGS = ldflags to use to compile
#
find_program(LIBGCRYPT_CONFIG_EXECUTABLE NAMES libgcrypt-config)
set(GCRYPT_LDFLAGS)
set(GCRYPT_CFLAGS)
if(LIBGCRYPT_CONFIG_EXECUTABLE)
execute_process(COMMAND ${LIBGCRYPT_CONFIG_EXECUTABLE} --libs RESULT_VARIABLE _return_VALUE OUTPUT_VARIABLE GCRYPT_LDFLAGS OUTPUT_STRIP_TRAILING_WHITESPACE ERROR_QUIET)
execute_process(COMMAND ${LIBGCRYPT_CONFIG_EXECUTABLE} --cflags RESULT_VARIABLE _return_VALUE OUTPUT_VARIABLE GCRYPT_CFLAGS OUTPUT_STRIP_TRAILING_WHITESPACE ERROR_QUIET)
if(NOT DEFINED ${GCRYPT_CFLAGS})
set(GCRYPT_CFLAGS " ")
endif()
endif()
# handle the QUIETLY and REQUIRED arguments and set GCRYPT_FOUND to TRUE if
# all listed variables are TRUE
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(GCRYPT REQUIRED_VARS GCRYPT_LDFLAGS GCRYPT_CFLAGS)
if(GCRYPT_FOUND)
mark_as_advanced(GCRYPT_CFLAGS GCRYPT_LDFLAGS)
endif()
+23 -21
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2023 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2024 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2007 Julien Louis <ptitlouis@sysif.net>
# Copyright (C) 2009 Emmanuel Bouthenot <kolter@openics.org>
#
@@ -45,26 +45,28 @@ set(CMAKE_REQUIRED_INCLUDES ${LIBINTL_INCLUDE})
check_include_files(libintl.h HAVE_LIBINTL_H)
if(HAVE_LIBINTL_H)
check_function_exists(dgettext LIBC_HAS_DGETTEXT)
if(LIBC_HAS_DGETTEXT)
set(GETTEXT_FOUND TRUE)
else()
find_library(LIBINTL_LIBRARY NAMES intl
PATHS
/usr/local/lib
/usr/lib
)
if(LIBINTL_LIBRARY)
if(${CMAKE_SYSTEM_NAME} STREQUAL "OpenBSD")
set(CMAKE_REQUIRED_LIBRARIES "iconv")
check_library_exists(${LIBINTL_LIBRARY} "libintl_dgettext" "" LIBINTL_HAS_DGETTEXT)
else()
check_library_exists(${LIBINTL_LIBRARY} "dgettext" "" LIBINTL_HAS_DGETTEXT)
endif()
if(LIBINTL_HAS_DGETTEXT)
set(GETTEXT_FOUND TRUE)
endif()
if(NOT HAVE_LIBINTL_H)
message(SEND_ERROR "Header libintl.h not found, required if ENABLE_NLS is enabled")
endif()
check_function_exists(dgettext LIBC_HAS_DGETTEXT)
if(LIBC_HAS_DGETTEXT)
set(GETTEXT_FOUND TRUE)
else()
find_library(LIBINTL_LIBRARY NAMES intl
PATHS
/usr/local/lib
/usr/lib
)
if(LIBINTL_LIBRARY)
if(${CMAKE_SYSTEM_NAME} STREQUAL "OpenBSD")
set(CMAKE_REQUIRED_LIBRARIES "iconv")
check_library_exists(${LIBINTL_LIBRARY} "libintl_dgettext" "" LIBINTL_HAS_DGETTEXT)
else()
check_library_exists(${LIBINTL_LIBRARY} "dgettext" "" LIBINTL_HAS_DGETTEXT)
endif()
if(LIBINTL_HAS_DGETTEXT)
set(GETTEXT_FOUND TRUE)
endif()
endif()
endif()
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2023 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2024 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-2023 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2011-2024 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-2023 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2024 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-2023 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2024 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-2023 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2024 Sébastien Helleu <flashcode@flashtux.org>
#
# This file is part of WeeChat, the extensible chat client.
#
+2 -2
View File
@@ -1,6 +1,6 @@
#
# Copyright (C) 2017 Adam Saponara <as@php.net>
# Copyright (C) 2017-2023 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2017-2024 Sébastien Helleu <flashcode@flashtux.org>
#
# This file is part of WeeChat, the extensible chat client.
#
@@ -48,7 +48,7 @@ if(NOT PHP_FOUND)
execute_process(COMMAND ${PHP_CONFIG_EXECUTABLE} --version OUTPUT_VARIABLE PHP_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE)
if(${PHP_VERSION} MATCHES "^[78]")
find_library(PHP_LIB
NAMES php8.2 php8.1 php8.0 php8 php7.4 php7.3 php7.2 php7.1 php7.0 php7 php
NAMES php8.2 php82 php8.1 php81 php8.0 php80 php8 php7.4 php74 php7.3 php73 php7.2 php72 php7.1 php71 php7.0 php70 php7 php
HINTS ${PHP_LIB_PREFIX} ${PHP_LIB_PREFIX}/lib ${PHP_LIB_PREFIX}/lib64
)
if(PHP_LIB)
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2023 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2024 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-2023 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2024 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2009 Julien Louis <ptitlouis@sysif.net>
#
# This file is part of WeeChat, the extensible chat client.
+2 -2
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2023 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2024 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.2 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)
pkg_search_module(RUBY ruby-3.3 ruby-3.2 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-2023 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2015-2024 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-2023 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2024 Sébastien Helleu <flashcode@flashtux.org>
#
# This file is part of WeeChat, the extensible chat client.
#
+2 -1
View File
@@ -1,4 +1,3 @@
#cmakedefine HAVE_LIBINTL_H
#cmakedefine HAVE_SYS_RESOURCE_H
#cmakedefine HAVE_FLOCK
#cmakedefine HAVE_LANGINFO_CODESET
@@ -6,6 +5,8 @@
#cmakedefine ICONV_2ARG_IS_CONST 1
#cmakedefine HAVE_MALLINFO
#cmakedefine HAVE_MALLINFO2
#cmakedefine HAVE_MALLOC_H
#cmakedefine HAVE_MALLOC_TRIM
#cmakedefine HAVE_EAT_NEWLINE_GLITCH
#cmakedefine HAVE_ASPELL_VERSION_STRING
#cmakedefine HAVE_ENCHANT_GET_VERSION
+4 -3
View File
@@ -7,7 +7,7 @@ Build-Depends:
ruby-pygments.rb,
debhelper (>= 12),
cmake, pkg-config,
libncursesw5-dev,
libncurses-dev,
gem2deb,
libperl-dev,
python3-dev,
@@ -21,8 +21,9 @@ Build-Depends:
libgcrypt20-dev,
libgnutls28-dev,
libzstd-dev,
zlib1g-dev
Standards-Version: 4.6.0.1
zlib1g-dev,
libcjson-dev
Standards-Version: 4.6.2
Homepage: https://weechat.org/
Vcs-Git: https://salsa.debian.org/kolter/weechat.git
Vcs-Browser: https://salsa.debian.org/kolter/weechat
+3
View File
@@ -0,0 +1,3 @@
tar-ignore = ".git"
tar-ignore = "build"
tar-ignore = "release"
-41
View File
@@ -1,41 +0,0 @@
weechat (2.1-1) unstable; urgency=medium
This release introduces a new headless client and a new PHP plugin for
scripting (respectively weechat-headless and weechat-php binary
packages).
To avoid at least unnecessary dependencies, each plugin has its own
separate binary package:
weechat-{perl,python,ruby,lua,guile,javascript,php}
Depending on your needs about scripting with weechat you should consider
to install the missing packages.
-- Emmanuel Bouthenot <kolter@debian.org> Wed, 21 Mar 2018 07:53:40 +0100
weechat (1.1.1-1) unstable; urgency=medium
Since version 1.1, there is a new format for regexp replacement in
triggers. This format is incompatible with version 1.0. The existing
triggers will not be automatically updated.
See https://weechat.org/files/releasenotes/ReleaseNotes-1.1.html
-- Emmanuel Bouthenot <kolter@debian.org> Sun, 25 Jan 2015 20:41:50 +0100
weechat (0.3.1-1) unstable; urgency=low
This release introduces important changes with the usage of SSL. There
are stronger checks while connecting with SSL. By default, if a connection
is not fully trusted it will fail.
You can find more information on how to handle this new behaviour here:
https://blog.weechat.org/post/2009/12/01/SSL-certificates
-- Emmanuel Bouthenot <kolter@debian.org> Mon, 25 Jan 2010 12:35:11 +0100
weechat (0.3.0-1) unstable; urgency=low
This release introduces major changes. Large part of code was
rewritten without keeping compatibility with older versions.
Please refer to the file /usr/share/doc/weechat-core/UPGRADE_0.3
for more information on upgrade from a version 0.2.x to 0.3.x.
-- Emmanuel Bouthenot <kolter@openics.org> Tue, 15 Sep 2009 20:59:42 +0000
+38
View File
@@ -1,3 +1,41 @@
weechat (4.3.1-1) unstable; urgency=medium
* New upstream release (Closes: #1067608)
- fix FTBFS against libgcrypt 1.11 (Closes: #1071960)
* Add build dependency on libcjson-dev
* Replace pkg-config build dependency by pkgconf
* Minor updates in debian/copyright
-- Emmanuel Bouthenot <kolter@debian.org> Sat, 01 Jun 2024 14:21:02 +0000
weechat (4.1.1-1) unstable; urgency=medium
* New upstream release (Closes: #1055278)
-- Emmanuel Bouthenot <kolter@debian.org> Fri, 03 Nov 2023 20:23:37 +0000
weechat (4.0.5-1) unstable; urgency=medium
* New upstream release
-- Emmanuel Bouthenot <kolter@debian.org> Sun, 24 Sep 2023 07:49:41 +0000
weechat (4.0.2-1) unstable; urgency=medium
* New upstream release (Closes: #1040248)
-- Emmanuel Bouthenot <kolter@debian.org> Sat, 22 Jul 2023 05:48:35 +0000
weechat (4.0.1-1) unstable; urgency=medium
* New upstream release
* Remove NEWS file, no longer required
* Update build dependency from libncursesw5-dev to libncurses-dev
* Bump Standards-Version to 4.6.2
* Remove all patches (no longer required)
-- Emmanuel Bouthenot <kolter@debian.org> Tue, 04 Jul 2023 19:02:41 +0000
weechat (3.8-1) unstable; urgency=medium
* New upstream release
+4 -3
View File
@@ -7,7 +7,7 @@ Build-Depends:
ruby-pygments.rb,
debhelper (>= 12),
cmake, pkg-config,
libncursesw5-dev,
libncurses-dev,
gem2deb,
libperl-dev,
python3-dev,
@@ -21,8 +21,9 @@ Build-Depends:
libgcrypt20-dev,
libgnutls28-dev,
libzstd-dev,
zlib1g-dev
Standards-Version: 4.6.1.0
zlib1g-dev,
libcjson-dev
Standards-Version: 4.6.2
Homepage: https://weechat.org/
Vcs-Git: https://salsa.debian.org/kolter/weechat.git
Vcs-Browser: https://salsa.debian.org/kolter/weechat
+13 -13
View File
@@ -4,26 +4,26 @@ Upstream-Contact: Sébastien Helleu <flashcode@flashtux.org>
Source: https://weechat.org/
Files: *
Copyright: 2003-2023, Sébastien Helleu <flashcode@flashtux.org>
Copyright: 2003-2024, Sébastien Helleu <flashcode@flashtux.org>
License: GPL-3+
Files: src/core/wee-command.c
src/core/wee-command.h
Files: src/core/core-command.c
src/core/core-command.h
Copyright: 2005-2006, Emmanuel Bouthenot <kolter@openics.org>
License: GPL-3+
Files: src/core/wee-config-file.c
src/core/wee-config-file.h
src/core/wee-config.c
src/core/wee-config.h
Files: src/core/core-config-file.c
src/core/core-config-file.h
src/core/core-config.c
src/core/core-config.h
Copyright: 2005-2006, Emmanuel Bouthenot <kolter@openics.org>
License: GPL-3+
Files: src/core/hook/wee-hook-connect.c
Files: src/core/hook/hook-connect.c
Copyright: 2012, Simon Arlott
License: GPL-3+
Files: src/core/hook/wee-hook-connect.h
Files: src/core/hook/hook-connect.h
Copyright: 2012, Simon Arlott
License: GPL-3+
@@ -31,9 +31,9 @@ Files: src/gui/gui-history.c
Copyright: 2005, Emmanuel Bouthenot <kolter@openics.org>
License: GPL-3+
Files: src/core/wee-completion.c
src/core/wee-log.c
src/core/wee-utf8.c
Files: src/core/core-completion.c
src/core/core-log.c
src/core/core-utf8.c
src/core/weechat.h
src/plugins/spell/spell-config.c
src/plugins/spell/spell-config.h
@@ -45,7 +45,7 @@ Files: src/core/wee-completion.c
Copyright: 2006, Emmanuel Bouthenot <kolter@openics.org>
License: GPL-3+
Files: src/core/wee-network.c
Files: src/core/core-network.c
Copyright: 2005-2010, Emmanuel Bouthenot <kolter@openics.org>
2010, Gu1ll4um3r0m41n <aeroxteam@gmail.com>
2012, Simon Arlott
+3
View File
@@ -0,0 +1,3 @@
tar-ignore = ".git"
tar-ignore = "build"
tar-ignore = "release"
+7 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2023 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2024 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2009 Emmanuel Bouthenot <kolter@openics.org>
#
# This file is part of WeeChat, the extensible chat client.
@@ -177,6 +177,9 @@ if(ENABLE_MAN OR ENABLE_DOC)
"${CMAKE_CURRENT_BINARY_DIR}/autogen/autogen_user_default_aliases.${lang}.adoc"
"${CMAKE_CURRENT_BINARY_DIR}/autogen/autogen_user_irc_colors.${lang}.adoc"
"${CMAKE_CURRENT_BINARY_DIR}/autogen/autogen_user_options.${lang}.adoc"
# scripting duide
"${CMAKE_CURRENT_BINARY_DIR}/autogen/autogen_scripting_functions.${lang}.adoc"
"${CMAKE_CURRENT_BINARY_DIR}/autogen/autogen_scripting_constants.${lang}.adoc"
)
endforeach()
add_custom_target(doc-autogen ALL
@@ -283,6 +286,9 @@ if(ENABLE_MAN OR ENABLE_DOC)
DEPENDS
"${CMAKE_CURRENT_SOURCE_DIR}/docinfo.html"
"${CMAKE_CURRENT_SOURCE_DIR}/${lang}/weechat_scripting.${lang}.adoc"
doc-autogen
"${CMAKE_CURRENT_BINARY_DIR}/autogen/autogen_scripting_functions.${lang}.adoc"
"${CMAKE_CURRENT_BINARY_DIR}/autogen/autogen_scripting_constants.${lang}.adoc"
WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}"
COMMENT "Building weechat_scripting.${lang}.html"
)
+1 -1
View File
@@ -99,7 +99,7 @@ $HOME/.local/share/weechat/weechat.log::
WeeChat je napsán Sébastienem Helleu a přispěvovateli (kompletní seznam je v
souboru AUTHORS.adoc).
Copyright (C) 2003-2023 {author}
Copyright (C) 2003-2024 {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
@@ -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-2023 {author}
Copyright (C) 2003-2024 {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
+70 -24
View File
@@ -613,6 +613,30 @@ Sollte die macOS Terminal Applikation genutzt werden, empfiehlt es sich,
die Option "Use option as meta key" in den Menü-Einstellungen zu aktivieren.
Dadurch kann man die kbd:[Option] Taste als Meta-Taste verwenden.
[[enter_key]]
=== Einige Tasten, einschließlich Enter, funktionieren nicht. Weshalb?
Wenn eine WeeChat Version < 4.0.0 mit Konfigurationsdateien ausgeführt wird,
die von einer Weechat Version ≥ 4.0.0 erstellt wurde, sind die Tastennamen ungültig und viele Tasten funktionieren überhaupt nicht mehr. +
Um dies zu reparieren, muss WeeChat beendet und alle Einträge aus dem Abschnitt `[key*]` innerhalb der weechat.conf entfernt werden.
Wenn WeeChat erneut gestartet wird, wird die Standardtastenbelegung neu erstellt.
[[key_f11]]
=== Die Taste F11 maximiert das Terminalfenster. Wie kann ich aber in der Nicklist nach oben scrollen?
Die kbd:[F11] Taste wird häufig von Terminals verwendet, um das Fenster zu maximieren. Aber
kbd:[F11]/kbd:[F12] sind ebenso die Standardtasten, in WeeChat, um in der Nickliste zu scrollen.
Man kann andere Tasten nutzen, zum Beispiel kbd:[Shift+F11] und kbd:[Shift+F12],
mit WeeChat ≥ 4.0.0:
----
/key bind shift-f11 /bar scroll nicklist * -100%
/key bind shift-f12 /bar scroll nicklist * +100%
----
Eine andere Möglichkeit besteht darin, die Maus zu aktivieren (Taste: kbd:[Alt+m]) und mit dem Mausrad zu scrollen (siehe auch Fragen zu <<mouse,mouse>>).
[[customize_key_bindings]]
=== Wie kann ich die Tastaturbelegung anpassen?
@@ -643,6 +667,12 @@ werden um dann z.B. mit einem Kurzbefehl `/123` zum Buffer #123 zu springen:
/trigger add numberjump modifier "2000|input_text_for_buffer" "${tg_string} =~ ^/[0-9]+$" "=\/([0-9]+)=/buffer *${re:1}=" "" "" "none"
----
Um einfach von einem Buffer zu einem anderen zu springen, kann man das _go.py_ Skript installieren:
----
/script install go.py
----
[[global_history]]
=== Wie kann ich den globalen Verlaufsspeicher (anstelle des Buffer eigenen) mit den Up-/Down-Tasten nutzen?
@@ -987,35 +1017,19 @@ die Buffer-Eigenschaft genutzt werden, um das maximale Hotlist-Level für einige
oder pro Gruppe von Buffern (wie IRC-Server).
Um nun Highlights (Hervorhebungen) für bestimmte Nicks zu deaktivieren, muss
man die entsprechende Eigenschaft auf 2 setzen:
man die entsprechende Eigenschaft auf 2 setzen.
Für den aktuellen Buffer:
----
/buffer set hotlist_max_level_nicks_add joe:2,mike:2
/buffer setauto hotlist_max_level_nicks_add joe:2,mike:2
----
Diese Buffereigenschaft wird aber nicht permanent in der Konfiguration
gespeichert. Um diese Eigenschaften permanent zu verwenden, muss man
das Skript _buffer_autoset.py_ nutzen:
Für alle Kanäle auf dem Server "libera":
----
/script install buffer_autoset.py
/set weechat.buffer.irc.libera.*.hotlist_max_level_nicks_add joe:2,mike:2
----
Um zum Beispiel Highlights (Hervorhebungen) von Nick "mike" im Kanal
#weechat auf dem IRC Server libera zu deaktivieren:
----
/buffer_autoset add irc.libera.#weechat hotlist_max_level_nicks_add mike:2
----
Um dies auf den kompletten libera Server anzuwenden:
----
/buffer_autoset add irc.libera hotlist_max_level_nicks_add mike:2
----
Für weitere Beispiele, siehe `+/help buffer_autoset+`.
[[irc_target_buffer]]
=== Wie kann ich bei zusammengefügten Buffern den Zielbuffer ändern (z.B. bei einem Server-Buffer)?
@@ -1148,7 +1162,8 @@ Damit WeeChat weniger Speicher benötigt, solltest Du folgende Tipps umsetzen:
Man sollte sich die Tipps zum <<memory_usage,Speicherverbrauch>> ansehen
und zusätzlich diese Tipps beherzigen:
* "nicklist"-Bar sollte versteckt werden: `/bar hide nicklist`
* "nicklist"-Bar sollte versteckt werden: `/bar hide nicklist` (Taste: kbd:[Alt+Shift+N]).
* deaktiviere "buflist": `/buflist disable` (Taste: kbd:[Alt+Shift+B]).
* die Sekundenanzeigen in der Statusbar sollte deaktiviert werden:
`+/set weechat.look.item_time_format "%H:%M"+` (dies ist die Standardeinstellung)
* die Echtzeit Rechtschreibkorrektur sollte deaktiviert werden (falls sie aktiviert wurde):
@@ -1170,14 +1185,19 @@ Deaktiviere die automatische Antwort für alle CTCP Anfragen:
----
/set irc.ctcp.clientinfo ""
/set irc.ctcp.finger ""
/set irc.ctcp.source ""
/set irc.ctcp.time ""
/set irc.ctcp.userinfo ""
/set irc.ctcp.version ""
/set irc.ctcp.ping ""
----
Mit WeeChat < 4.1.0 wurden andere CTCP-Anfragen standardmäßig beantwortet und müssen ebenfalls deaktiviert werden:
----
/set irc.ctcp.finger ""
/set irc.ctcp.userinfo ""
----
Entferne und deaktiviere das automatische Ausführen der "xfer"-Erweiterung, die beispielsweise für "IRC DCC" verantwortlich ist:
----
@@ -1213,6 +1233,32 @@ Kennwörter (sofern sie nicht mit dem Befehl `/secure` in _sec.conf_ gesichert w
Siehe link:weechat_user.de.html#files_and_directories[Benutzerhandbuch / Dateien und Verzeichnisse ^↗^^]
für weitere Informationen über Konfigurationsdateien.
[[move_to_another_device]]
=== Ich möchte mein WeeChat auf ein anderes Gerät verschieben und meine Konfiguration behalten. Was muss ich kopieren?
Überprüfen Sie zunächst die von WeeChat verwendeten Verzeichnisse mit diesem Befehl: `/debug dirs`. +
Die Verzeichnisse home/config und home/data müssen kopiert werden (alle Dateien und Unterverzeichnisse).
Falls beispielsweise XDG-Verzeichnisse verwendet werden (Standard bei WeeChat ≥ 3.2), sollten die
Verzeichnisse `$HOME/.config/weechat` und `$HOME/.local/share/weechat` lauten. +
Sollte ein einzelnes Verzeichnis verwenden werden (Standard bei WeeChat < 3.2), sollte das Verzeichnis
`$HOME/.weechat` lauuten.
[IMPORTANT]
Die WeeChat-Version auf dem Zielgerät muss größer oder gleich der Version sein des Ausganggerätes. +
Ein Downgrade der WeeChat-Konfiguration wird *NICHT UNTERSTÜTZT* und kann zu Schäden führen und ein
unbrauchbares WeeChat verursachen.
Schritte:
. Weechat beenden: `/quit` (oder `/upgrade -quit`, falls eine Sitzung fortgesetzt werden soll,
einschließlich des Inhalts aller Buffer).
. Kopieren Sie alle Verzeichnisse, Unterverzeichnisse und Dateien auf das neue Gerät und behalten Sie die
Namen und Berechtigungen bei.
. Optional: Kopieren Sie alle Dateien außerhalb dieser Verzeichnisse, die auf Ihre Konfiguration verweisen
(es wird nicht empfohlen, Dateien außerhalb von WeeChat-Verzeichnissen zu verwenden).
. WeeChat auf dem neuen Gerät starten: `weechat` (oder `weechat --upgrade`, falls die Sitzung gesichert wurde).
[[development]]
== Entwicklung
+2 -303
View File
@@ -564,315 +564,14 @@ lesen Sie bitte link:weechat_plugin_api.en.html[WeeChat Plugin API Reference ^
Liste der Skript API Funktionen:
[width="100%",cols="1,5",options="header"]
|===
| Kategorie | Funktionen
| Allgemein
| register
| Erweiterungen
| plugin_get_name
| Strings
| charset_set +
iconv_to_internal +
iconv_from_internal +
gettext +
ngettext +
strlen_screen +
string_match +
string_match_list +
string_has_highlight +
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 +
string_input_for_buffer +
string_eval_expression +
string_eval_path_home
| Verzeichnisse
| mkdir_home +
mkdir +
mkdir_parents
| sortierte Listen
| list_new +
list_add +
list_search +
list_search_pos +
list_casesearch +
list_casesearch_pos +
list_get +
list_set +
list_next +
list_prev +
list_string +
list_size +
list_remove +
list_remove_all +
list_free
| Konfigurationsdatei
| config_new +
config_new_section +
config_search_section +
config_new_option +
config_search_option +
config_string_to_boolean +
config_option_reset +
config_option_set +
config_option_set_null +
config_option_unset +
config_option_rename +
config_option_is_null +
config_option_default_is_null +
config_boolean +
config_boolean_default +
config_integer +
config_integer_default +
config_string +
config_string_default +
config_color +
config_color_default +
config_write_option +
config_write_line +
config_write +
config_read +
config_reload +
config_option_free +
config_section_free_options +
config_section_free +
config_free +
config_get +
config_get_plugin +
config_is_set_plugin +
config_set_plugin +
config_set_desc_plugin +
config_unset_plugin
| Tastenbelegung
| key_bind +
key_unbind
| 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 +
hook_command_run +
hook_timer +
hook_fd +
hook_process +
hook_process_hashtable +
hook_connect +
hook_line +
hook_print +
hook_signal +
hook_signal_send +
hook_hsignal +
hook_hsignal_send +
hook_config +
hook_completion +
hook_modifier +
hook_modifier_exec +
hook_info +
hook_info_hashtable +
hook_infolist +
hook_focus +
hook_set +
unhook +
unhook_all
| Buffer
| buffer_new +
buffer_new_props +
current_buffer +
buffer_search +
buffer_search_main +
buffer_clear +
buffer_close +
buffer_merge +
buffer_unmerge +
buffer_get_integer +
buffer_get_string +
buffer_get_pointer +
buffer_set +
buffer_string_replace_local_var +
buffer_match_list
| Fenster
| current_window +
window_search_with_buffer +
window_get_integer +
window_get_string +
window_get_pointer +
window_set_title
| Nickliste
| nicklist_add_group +
nicklist_search_group +
nicklist_add_nick +
nicklist_search_nick +
nicklist_remove_group +
nicklist_remove_nick +
nicklist_remove_all +
nicklist_group_get_integer +
nicklist_group_get_string +
nicklist_group_get_pointer +
nicklist_group_set +
nicklist_nick_get_integer +
nicklist_nick_get_string +
nicklist_nick_get_pointer +
nicklist_nick_set
| Bars
| bar_item_search +
bar_item_new +
bar_item_update +
bar_item_remove +
bar_search +
bar_new +
bar_set +
bar_update +
bar_remove
| Befehle
| command +
command_options
| Vervollständigung
| completion_new +
completion_search +
completion_get_string +
completion_list_add +
completion_free
| Informationen
| info_get +
info_get_hashtable
| Infolisten
| infolist_new +
infolist_new_item +
infolist_new_var_integer +
infolist_new_var_string +
infolist_new_var_pointer +
infolist_new_var_time +
infolist_get +
infolist_next +
infolist_prev +
infolist_reset_item_cursor +
infolist_search_var +
infolist_fields +
infolist_integer +
infolist_string +
infolist_pointer +
infolist_time +
infolist_free
| hdata
| hdata_get +
hdata_get_var_offset +
hdata_get_var_type_string +
hdata_get_var_array_size +
hdata_get_var_array_size_string +
hdata_get_var_hdata +
hdata_get_list +
hdata_check_pointer +
hdata_move +
hdata_search +
hdata_char +
hdata_integer +
hdata_long +
hdata_string +
hdata_pointer +
hdata_time +
hdata_hashtable +
hdata_compare +
hdata_update +
hdata_get_string
| Upgrade
| upgrade_new +
upgrade_write_object +
upgrade_read +
upgrade_close
|===
include::{autogendir}/autogen_scripting_functions.de.adoc[tag=functions]
[[script_api_constants]]
=== Konstanten
Liste der Konstanten in Skript API:
[width="100%",cols="1,5",options="header"]
|===
| Kategorie | Konstanten
| return codes
| `WEECHAT_RC_OK` (integer) +
`WEECHAT_RC_OK_EAT` (integer) +
`WEECHAT_RC_ERROR` (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) +
`WEECHAT_CONFIG_WRITE_ERROR` (integer) +
`WEECHAT_CONFIG_WRITE_MEMORY_ERROR` (integer) +
`WEECHAT_CONFIG_OPTION_SET_OK_CHANGED` (integer) +
`WEECHAT_CONFIG_OPTION_SET_OK_SAME_VALUE` (integer) +
`WEECHAT_CONFIG_OPTION_SET_ERROR` (integer) +
`WEECHAT_CONFIG_OPTION_SET_OPTION_NOT_FOUND` (integer) +
`WEECHAT_CONFIG_OPTION_UNSET_OK_NO_RESET` (integer) +
`WEECHAT_CONFIG_OPTION_UNSET_OK_RESET` (integer) +
`WEECHAT_CONFIG_OPTION_UNSET_OK_REMOVED` (integer) +
`WEECHAT_CONFIG_OPTION_UNSET_ERROR` (integer)
| sortierte Listen
| `WEECHAT_LIST_POS_SORT` (string) +
`WEECHAT_LIST_POS_BEGINNING` (string) +
`WEECHAT_LIST_POS_END` (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) +
`WEECHAT_HOOK_PROCESS_ERROR` (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) +
`WEECHAT_HOOK_CONNECT_PROXY_ERROR` (integer) +
`WEECHAT_HOOK_CONNECT_LOCAL_HOSTNAME_ERROR` (integer) +
`WEECHAT_HOOK_CONNECT_GNUTLS_INIT_ERROR` (integer) +
`WEECHAT_HOOK_CONNECT_GNUTLS_HANDSHAKE_ERROR` (integer) +
`WEECHAT_HOOK_CONNECT_MEMORY_ERROR` (integer) +
`WEECHAT_HOOK_CONNECT_TIMEOUT` (integer) +
`WEECHAT_HOOK_CONNECT_SOCKET_ERROR` (integer)
| hook Signal
| `WEECHAT_HOOK_SIGNAL_STRING` (string) +
`WEECHAT_HOOK_SIGNAL_INT` (string) +
`WEECHAT_HOOK_SIGNAL_POINTER` (string)
|===
include::{autogendir}/autogen_scripting_constants.de.adoc[tag=constants]
[[common_tasks]]
== Gemeinschaftsaufgabe
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -1,6 +1,6 @@
<!--
Custom styles for Asciidoctor
Copyright (C) 2016-2023 Sébastien Helleu <flashcode@flashtux.org>
Copyright (C) 2016-2024 Sébastien Helleu <flashcode@flashtux.org>
-->
<style>
+1 -1
View File
@@ -100,7 +100,7 @@ $HOME/.local/share/weechat/weechat.log::
WeeChat is written by Sébastien Helleu and contributors (complete list is in
the AUTHORS.adoc file).
Copyright (C) 2003-2023 {author}
Copyright (C) 2003-2024 {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
+393 -343
View File
@@ -112,95 +112,97 @@ WeeChat "core" is located in following directories:
[width="100%",cols="2m,3",options="header"]
|===
| Path/file | Description
| core/ | Core functions: entry point, internal structures.
|    wee-arraylist.c | Array lists.
|    wee-backtrace.c | Display a backtrace after a crash.
|    wee-calc.c | Calculate result of expressions.
|    wee-command.c | WeeChat core commands.
|    wee-completion.c | Default completions.
|    wee-config-file.c | Configuration file management.
|    wee-config.c | Configuration options for WeeChat core (file weechat.conf).
|    wee-crypto.c | Cryptographic functions.
|    wee-debug.c | Some debug functions.
|    wee-doc.c | Build of files for documentation.
|    wee-dir.c | Directory/file functions.
|    wee-eval.c | Evaluation of expressions with references to internal vars.
|    wee-hashtable.c | Hashtables.
|    wee-hdata.c | Hdata (direct access to data using hashtables).
|    wee-hook.c | Hooks.
|    wee-infolist.c | Infolists (lists with objects data).
|    wee-input.c | Input of commands/text.
|    wee-list.c | Sorted lists.
|    wee-log.c | Write to WeeChat log file (weechat.log).
|    wee-network.c | Network functions (connection to servers/proxies).
|    wee-proxy.c | Proxy management.
|    wee-secure.c | Secured data functions.
|    wee-secure-buffer.c | Secured data buffer.
|    wee-secure-config.c | Secured data options (file sec.conf).
|    wee-signal.c | Signal functions.
|    wee-string.c | Functions on strings.
|    wee-upgrade-file.c | Internal upgrade system.
|    wee-upgrade.c | Upgrade for WeeChat core (buffers, lines, history, ...).
|    wee-url.c | URL transfer (using libcurl).
|    wee-utf8.c | UTF-8 functions.
|    wee-util.c | Some other functions.
|    wee-version.c | Functions for WeeChat version.
|    weechat.c | Main functions: command line options, startup.
|    hook/ | Hook functions.
|       wee-hook-command-run.c | Hook "command_run".
|       wee-hook-command.c | Hook "command".
|       wee-hook-completion.c | Hook "completion".
|       wee-hook-config.c | Hook "config".
|       wee-hook-connect.c | Hook "connect".
|       wee-hook-fd.c | Hook "fd".
|       wee-hook-focus.c | Hook "focus".
|       wee-hook-hdata.c | Hook "hdata".
|       wee-hook-hsignal.c | Hook "hsignal".
|       wee-hook-info-hashtable.c | Hook "info_hashtable".
|       wee-hook-info.c | Hook "info".
|       wee-hook-infolist.c | Hook "infolist".
|       wee-hook-line.c | Hook "line".
|       wee-hook-modifier.c | Hook "modifier".
|       wee-hook-print.c | Hook "print".
|       wee-hook-process.c | Hook "process".
|       wee-hook-signal.c | Hook "signal".
|       wee-hook-timer.c | Hook "timer".
| gui/ | Functions for buffers, windows, ... (used by all interfaces).
|    gui-bar-item.c | Bar items.
|    gui-bar-window.c | Bar windows.
|    gui-bar.c | Bars.
|    gui-buffer.c | Buffers.
|    gui-chat.c | Chat functions (display message, ...).
|    gui-color.c | Color functions.
|    gui-completion.c | Completion on command line.
|    gui-cursor.c | Cursor mode (free movement of cursor).
|    gui-filter.c | Filters.
|    gui-focus.c | Functions about focus (for cursor mode and mouse).
|    gui-history.c | Commands/text saved in buffers.
|    gui-hotlist.c | Hotlist management (list of buffers with activity).
|    gui-input.c | Input functions (input bar).
|    gui-key.c | Keyboard functions.
|    gui-layout.c | Layout.
|    gui-line.c | Lines in buffers.
|    gui-mouse.c | Mouse.
|    gui-nick.c | Nick functions.
|    gui-nicklist.c | Nicklist in buffers.
|    gui-window.c | Windows.
|    curses/ | Curses interface.
|       gui-curses-bar-window.c | Display in bar windows.
|       gui-curses-chat.c | Display in chat area (messages).
|       gui-curses-color.c | Color functions.
|       gui-curses-key.c | Keyboard functions (default keys, read of input).
|       gui-curses-main.c | WeeChat main loop (waiting for keyboard/network events).
|       gui-curses-mouse.c | Mouse.
|       gui-curses-term.c | Functions about terminal.
|       gui-curses-window.c | Windows.
|       headless/ | Headless mode (no interface).
|          main.c | Entry point for headless mode.
|          ncurses-fake.c | Fake ncurses library.
|       normal/ | Curses interface.
|          main.c | Entry point for Curses interface.
| Path/file | Description
| core/ | Core functions: entry point, internal structures.
|    core-arraylist.c | Array lists.
|    core-backtrace.c | Display a backtrace after a crash.
|    core-calc.c | Calculate result of expressions.
|    core-command.c | WeeChat core commands.
|    core-completion.c | Default completions.
|    core-config-file.c | Configuration file management.
|    core-config.c | Configuration options for WeeChat core (file weechat.conf).
|    core-crypto.c | Cryptographic functions.
|    core-debug.c | Some debug functions.
|    core-doc.c | Build of files for documentation.
|    core-dir.c | Directory/file functions.
|    core-eval.c | Evaluation of expressions with references to internal vars.
|    core-hashtable.c | Hashtables.
|    core-hdata.c | Hdata (direct access to data using hashtables).
|    core-hook.c | Hooks.
|    core-infolist.c | Infolists (lists with objects data).
|    core-input.c | Input of commands/text.
|    core-list.c | Sorted lists.
|    core-log.c | Write to WeeChat log file (weechat.log).
|    core-network.c | Network functions (connection to servers/proxies).
|    core-proxy.c | Proxy management.
|    core-secure.c | Secured data functions.
|    core-secure-buffer.c | Secured data buffer.
|    core-secure-config.c | Secured data options (file sec.conf).
|    core-signal.c | Signal functions.
|    core-string.c | Functions on strings.
|    core-sys.c | System functions.
|    core-upgrade-file.c | Internal upgrade system.
|    core-upgrade.c | Upgrade for WeeChat core (buffers, lines, history, ...).
|    core-url.c | URL transfer (using libcurl).
|    core-utf8.c | UTF-8 functions.
|    core-util.c | Some other functions.
|    core-version.c | Functions for WeeChat version.
|    weechat.c | Main functions: command line options, startup.
|    hook/ | Hook functions.
|       hook-command-run.c | Hook "command_run".
|       hook-command.c | Hook "command".
|       hook-completion.c | Hook "completion".
|       hook-config.c | Hook "config".
|       hook-connect.c | Hook "connect".
|       hook-fd.c | Hook "fd".
|       hook-focus.c | Hook "focus".
|       hook-hdata.c | Hook "hdata".
|       hook-hsignal.c | Hook "hsignal".
|       hook-info-hashtable.c | Hook "info_hashtable".
|       hook-info.c | Hook "info".
|       hook-infolist.c | Hook "infolist".
|       hook-line.c | Hook "line".
|       hook-modifier.c | Hook "modifier".
|       hook-print.c | Hook "print".
|       hook-process.c | Hook "process".
|       hook-signal.c | Hook "signal".
|       hook-timer.c | Hook "timer".
|       hook-url.c | Hook "url".
| gui/ | Functions for buffers, windows, ... (used by all interfaces).
|    gui-bar-item.c | Bar items.
|    gui-bar-window.c | Bar windows.
|    gui-bar.c | Bars.
|    gui-buffer.c | Buffers.
|    gui-chat.c | Chat functions (display message, ...).
|    gui-color.c | Color functions.
|    gui-completion.c | Completion on command line.
|    gui-cursor.c | Cursor mode (free movement of cursor).
|    gui-filter.c | Filters.
|    gui-focus.c | Functions about focus (for cursor mode and mouse).
|    gui-history.c | Commands/text saved in buffers.
|    gui-hotlist.c | Hotlist management (list of buffers with activity).
|    gui-input.c | Input functions (input bar).
|    gui-key.c | Keyboard functions.
|    gui-layout.c | Layout.
|    gui-line.c | Lines in buffers.
|    gui-mouse.c | Mouse.
|    gui-nick.c | Nick functions.
|    gui-nicklist.c | Nicklist in buffers.
|    gui-window.c | Windows.
|    curses/ | Curses interface.
|       gui-curses-bar-window.c | Display in bar windows.
|       gui-curses-chat.c | Display in chat area (messages).
|       gui-curses-color.c | Color functions.
|       gui-curses-key.c | Keyboard functions (default keys, read of input).
|       gui-curses-main.c | WeeChat main loop (waiting for keyboard/network events).
|       gui-curses-mouse.c | Mouse.
|       gui-curses-term.c | Functions about terminal.
|       gui-curses-window.c | Windows.
|       headless/ | Headless mode (no interface).
|          main.c | Entry point for headless mode.
|          ncurses-fake.c | Fake ncurses library.
|       normal/ | Curses interface.
|          main.c | Entry point for Curses interface.
|===
[[sources_plugins]]
@@ -208,178 +210,189 @@ WeeChat "core" is located in following directories:
[width="100%",cols="2m,3",options="header"]
|===
| Path/file | Description
| plugins/ | Root of plugins.
|    plugin.c | Plugins management (load/unload dynamic C libraries).
|    plugin-api.c | Extra functions for plugin API (wrapper around WeeChat core functions).
|    plugin-api-info.c | Extra info/infolist functions for plugin API.
|    plugin-config.c | Plugin configuration options (file plugins.conf).
|    plugin-script.c | Common functions used by script plugins.
|    plugin-script-api.c | Script API functions: wrappers around some plugin API functions.
|    plugin-script-config.c | Script plugin configuration options (files python.conf, perl.conf, ...).
|    weechat-plugin.h | Header designed to be distributed with WeeChat plugins, in order to compile them.
|    alias/ | Alias plugin.
|       alias.c | Main alias functions.
|       alias-command.c | Alias commands.
|       alias-completion.c | Alias completions.
|       alias-config.c | Alias config options (file alias.conf).
|       alias-info.c | Alias info/infolists/hdata.
|    spell/ | Spell checker plugin.
|       spell.c | Main spell checker functions.
|       spell-bar-item.c | Spell checker bar items.
|       spell-command.c | Spell checker commands.
|       spell-completion.c | Spell checker completions.
|       spell-config.c | Spell checker config options (file spell.conf).
|       spell-info.c | Spell checker info/infolists/hdata.
|       spell-speller.c | Spellers management.
|    buflist/ | Buflist plugin.
|       buflist.c | Main buflist functions.
|       buflist-bar-item.c | Buflist bar items.
|       buflist-command.c | Buflist commands.
|       buflist-config.c | Buflist config options (file buflist.conf).
|       buflist-info.c | Buflist info/infolists/hdata.
|       buflist-mouse.c | Buflist mouse actions.
|    charset/ | Charset plugin.
|       charset.c | Charset functions.
|    exec/ | Exec plugin.
|       exec.c | Main exec functions.
|       exec-buffer.c | Exec buffer.
|       exec-command.c | Exec commands.
|       exec-completion.c | Exec completions.
|       exec-config.c | Exec config options (file exec.conf).
|    fifo/ | Fifo plugin.
|       fifo.c | Main fifo functions.
|       fifo-command.c | Fifo commands.
|       fifo-config.c | Fifo config options (file fifo.conf).
|       fifo-info.c | Fifo info/infolists/hdata.
|    fset/ | Fset plugin.
|       fset.c | Main fset functions.
|       fset-bar-item.c | Fset bar items.
|       fset-buffer.c | Fset buffer.
|       fset-command.c | Fset commands.
|       fset-completion.c | Fset completions.
|       fset-config.c | Fset config options (file fset.conf).
|       fset-info.c | Fset info/infolists/hdata.
|       fset-mouse.c | Fset mouse actions.
|       fset-option.c | Fset options management.
|    guile/ | Guile (scheme) plugin.
|       weechat-guile.c | Main guile functions (load/unload scripts, execute guile code).
|       weechat-guile-api.c | Guile scripting API functions.
|    irc/ | IRC (Internet Relay Chat) plugin.
|       irc.c | Main IRC functions.
|       irc-bar-item.c | IRC bar items.
|       irc-batch.c | IRC batched events.
|       irc-buffer.c | IRC buffers.
|       irc-channel.c | IRC channels.
|       irc-color.c | IRC colors.
|       irc-command.c | IRC commands.
|       irc-completion.c | IRC completions.
|       irc-config.c | IRC config options (file irc.conf).
|       irc-ctcp.c | IRC CTCP.
|       irc-debug.c | IRC debug functions.
|       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, ...).
|       irc-msgbuffer.c | Target buffer for IRC messages.
|       irc-nick.c | IRC nicks.
|       irc-notify.c | IRC notify lists.
|       irc-protocol.c | IRC protocol (RFCs 1459/2810/2811/2812/2813/7194).
|       irc-raw.c | IRC raw buffer.
|       irc-redirect.c | Redirection of IRC command output.
|       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).
|       weechat-js-api.cpp | JavaScript scripting API functions.
|       weechat-js-v8.cpp | JavaScript v8 functions.
|    logger/ | Logger plugin.
|       logger.c | Main logger functions.
|       logger-backlog.c | Logger backlog functions.
|       logger-buffer.c | Logger buffer list management.
|       logger-command.c | Logger commands.
|       logger-config.c | Logger config options (file logger.conf).
|       logger-info.c | Logger info/infolists/hdata.
|       logger-tail.c | Functions to get last lines of a file.
|    lua/ | Lua plugin.
|       weechat-lua.c | Main lua functions (load/unload scripts, execute lua code).
|       weechat-lua-api.c | Lua scripting API functions.
|    perl/ | Perl plugin.
|       weechat-perl.c | Main perl functions (load/unload scripts, execute perl code).
|       weechat-perl-api.c | Perl scripting API functions.
|    php/ | PHP plugin.
|       weechat-php.c | Main PHP functions (load/unload scripts, execute PHP code).
|       weechat-php-api.c | PHP scripting API functions.
|    python/ | Python plugin.
|       weechat-python.c | Main python functions (load/unload scripts, execute python code).
|       weechat-python-api.c | Python scripting API functions.
|    relay/ | Relay plugin (IRC proxy and relay for remote interfaces).
|       relay.c | Main relay functions.
|       relay-auth.c | Clients authentication.
|       relay-buffer.c | Relay buffer.
|       relay-client.c | Clients of relay.
|       relay-command.c | Relay commands.
|       relay-completion.c | Relay completions.
|       relay-config.c | Relay config options (file relay.conf).
|       relay-info.c | Relay info/infolists/hdata.
|       relay-network.c | Network functions for relay.
|       relay-raw.c | Relay raw buffer.
|       relay-server.c | Relay server.
|       relay-upgrade.c | Save/restore of relay data when upgrading WeeChat.
|       relay-websocket.c | WebSocket server functions (RFC 6455).
|       irc/ | IRC proxy.
|          relay-irc.c | Main IRC proxy functions.
|       weechat/ | Relay for remote interfaces.
|          relay-weechat.c | Relay for remote interfaces (main functions).
|          relay-weechat-msg.c | Send binary messages to clients.
|          relay-weechat-nicklist.c | Nicklist functions.
|          relay-weechat-protocol.c | Read commands from clients.
|    ruby/ | Ruby plugin.
|       weechat-ruby.c | Main ruby functions (load/unload scripts, execute ruby code).
|       weechat-ruby-api.c | Ruby scripting API functions.
|    script/ | Script manager.
|       script.c | Main functions for script manager.
|       script-action.c | Actions on scripts (load/unload, install/remove, ...).
|       script-buffer.c | Buffer for script manager.
|       script-command.c | Commands for script manager.
|       script-completion.c | Completions for script manager.
|       script-config.c | Config options for script manager (file script.conf).
|       script-info.c | Script manager info/infolists/hdata.
|       script-mouse.c | Script mouse actions.
|       script-repo.c | Download and read repository file.
|    tcl/ | Tcl plugin.
|       weechat-tcl.c | Main tcl functions (load/unload scripts, execute tcl code).
|       weechat-tcl-api.c | Tcl scripting API functions.
|    trigger/ | Trigger plugin.
|       trigger.c | Main trigger functions.
|       trigger-buffer.c | Trigger buffer.
|       trigger-callback.c | Trigger callbacks.
|       trigger-command.c | Trigger commands.
|       trigger-completion.c | Trigger completions.
|       trigger-config.c | Trigger config options (file trigger.conf).
|    typing/ | Typing plugin.
|       typing.c | Main typing functions.
|       typing-bar-item.c | Typing bar items.
|       typing-config.c | Typing config options (file typing.conf).
|       typing-status.c | Messages typing status on buffers.
|    xfer/ | Xfer plugin (IRC DCC file/chat).
|       xfer.c | Main xfer functions.
|       xfer-buffer.c | Xfer buffer.
|       xfer-chat.c | DCC chat.
|       xfer-command.c | Xfer commands.
|       xfer-completion.c | Xfer completions.
|       xfer-config.c | Xfer config options (file xfer.conf).
|       xfer-dcc.c | DCC file transfer.
|       xfer-file.c | File functions for xfer.
|       xfer-info.c | Xfer info/infolists/hdata.
|       xfer-network.c | Network functions for xfer.
|       xfer-upgrade.c | Save/restore of xfer data when upgrading WeeChat.
| Path/file | Description
| plugins/ | Root of plugins.
|    plugin.c | Plugins management (load/unload dynamic C libraries).
|    plugin-api.c | Extra functions for plugin API (wrapper around WeeChat core functions).
|    plugin-api-info.c | Extra info/infolist functions for plugin API.
|    plugin-config.c | Plugin configuration options (file plugins.conf).
|    plugin-script.c | Common functions used by script plugins.
|    plugin-script-api.c | Script API functions: wrappers around some plugin API functions.
|    plugin-script-config.c | Script plugin configuration options (files python.conf, perl.conf, ...).
|    weechat-plugin.h | Header designed to be distributed with WeeChat plugins, in order to compile them.
|    alias/ | Alias plugin.
|       alias.c | Main alias functions.
|       alias-command.c | Alias commands.
|       alias-completion.c | Alias completions.
|       alias-config.c | Alias config options (file alias.conf).
|       alias-info.c | Alias info/infolists/hdata.
|    spell/ | Spell checker plugin.
|       spell.c | Main spell checker functions.
|       spell-bar-item.c | Spell checker bar items.
|       spell-command.c | Spell checker commands.
|       spell-completion.c | Spell checker completions.
|       spell-config.c | Spell checker config options (file spell.conf).
|       spell-info.c | Spell checker info/infolists/hdata.
|       spell-speller.c | Spellers management.
|    buflist/ | Buflist plugin.
|       buflist.c | Main buflist functions.
|       buflist-bar-item.c | Buflist bar items.
|       buflist-command.c | Buflist commands.
|       buflist-completion.c | Buflist completions.
|       buflist-config.c | Buflist config options (file buflist.conf).
|       buflist-info.c | Buflist info/infolists/hdata.
|       buflist-mouse.c | Buflist mouse actions.
|    charset/ | Charset plugin.
|       charset.c | Charset functions.
|    exec/ | Exec plugin.
|       exec.c | Main exec functions.
|       exec-buffer.c | Exec buffer.
|       exec-command.c | Exec commands.
|       exec-completion.c | Exec completions.
|       exec-config.c | Exec config options (file exec.conf).
|    fifo/ | Fifo plugin.
|       fifo.c | Main fifo functions.
|       fifo-command.c | Fifo commands.
|       fifo-config.c | Fifo config options (file fifo.conf).
|       fifo-info.c | Fifo info/infolists/hdata.
|    fset/ | Fset plugin.
|       fset.c | Main fset functions.
|       fset-bar-item.c | Fset bar items.
|       fset-buffer.c | Fset buffer.
|       fset-command.c | Fset commands.
|       fset-completion.c | Fset completions.
|       fset-config.c | Fset config options (file fset.conf).
|       fset-info.c | Fset info/infolists/hdata.
|       fset-mouse.c | Fset mouse actions.
|       fset-option.c | Fset options management.
|    guile/ | Guile (scheme) plugin.
|       weechat-guile.c | Main guile functions (load/unload scripts, execute guile code).
|       weechat-guile-api.c | Guile scripting API functions.
|    irc/ | IRC (Internet Relay Chat) plugin.
|       irc.c | Main IRC functions.
|       irc-bar-item.c | IRC bar items.
|       irc-batch.c | IRC batched events.
|       irc-buffer.c | IRC buffers.
|       irc-channel.c | IRC channels.
|       irc-color.c | IRC colors.
|       irc-command.c | IRC commands.
|       irc-completion.c | IRC completions.
|       irc-config.c | IRC config options (file irc.conf).
|       irc-ctcp.c | IRC CTCP.
|       irc-debug.c | IRC debug functions.
|       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-list.c | Buffer for reply to /list command.
|       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, ...).
|       irc-msgbuffer.c | Target buffer for IRC messages.
|       irc-nick.c | IRC nicks.
|       irc-notify.c | IRC notify lists.
|       irc-protocol.c | IRC protocol (RFCs 1459/2810/2811/2812/2813/7194).
|       irc-raw.c | IRC raw buffer.
|       irc-redirect.c | Redirection of IRC command output.
|       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).
|       weechat-js-api.cpp | JavaScript scripting API functions.
|       weechat-js-v8.cpp | JavaScript v8 functions.
|    logger/ | Logger plugin.
|       logger.c | Main logger functions.
|       logger-backlog.c | Logger backlog functions.
|       logger-buffer.c | Logger buffer list management.
|       logger-command.c | Logger commands.
|       logger-config.c | Logger config options (file logger.conf).
|       logger-info.c | Logger info/infolists/hdata.
|       logger-tail.c | Functions to get last lines of a file.
|    lua/ | Lua plugin.
|       weechat-lua.c | Main lua functions (load/unload scripts, execute lua code).
|       weechat-lua-api.c | Lua scripting API functions.
|    perl/ | Perl plugin.
|       weechat-perl.c | Main perl functions (load/unload scripts, execute perl code).
|       weechat-perl-api.c | Perl scripting API functions.
|    php/ | PHP plugin.
|       weechat-php.c | Main PHP functions (load/unload scripts, execute PHP code).
|       weechat-php-api.c | PHP scripting API functions.
|    python/ | Python plugin.
|       weechat-python.c | Main python functions (load/unload scripts, execute python code).
|       weechat-python-api.c | Python scripting API functions.
|    relay/ | Relay plugin (IRC proxy and relay for remote interfaces).
|       relay.c | Main relay functions.
|       relay-auth.c | Clients authentication.
|       relay-buffer.c | Relay buffer.
|       relay-client.c | Clients of relay.
|       relay-command.c | Relay commands.
|       relay-completion.c | Relay completions.
|       relay-config.c | Relay config options (file relay.conf).
|       relay-http.c | HTTP functions.
|       relay-info.c | Relay info/infolists/hdata.
|       relay-network.c | Network functions for relay.
|       relay-raw.c | Relay raw buffer.
|       relay-remote.c | Relay remote.
|       relay-server.c | Relay server.
|       relay-upgrade.c | Save/restore of relay data when upgrading WeeChat.
|       relay-websocket.c | WebSocket server functions (RFC 6455).
|       api/ | Relay for remote interfaces (using HTTP REST API).
|          relay-api.c | Main API functions for HTTP REST API.
|          relay-api-msg.c | Send JSON messages to clients.
|          relay-api-protocol.c | HTTP REST API protocol.
|          remote/ | Relay remote functions, specific to API.
|             relay-remote-event.c | Process events received from relay remote.
|             relay-remote-network.c | Network functions for relay remote.
|       irc/ | IRC proxy.
|          relay-irc.c | Main IRC proxy functions.
|       weechat/ | Relay for remote interfaces (using "weechat" binary protocol).
|          relay-weechat.c | Relay for remote interfaces (main functions).
|          relay-weechat-msg.c | Send binary messages to clients.
|          relay-weechat-nicklist.c | Nicklist functions.
|          relay-weechat-protocol.c | Read commands from clients.
|    ruby/ | Ruby plugin.
|       weechat-ruby.c | Main ruby functions (load/unload scripts, execute ruby code).
|       weechat-ruby-api.c | Ruby scripting API functions.
|    script/ | Script manager.
|       script.c | Main functions for script manager.
|       script-action.c | Actions on scripts (load/unload, install/remove, ...).
|       script-buffer.c | Buffer for script manager.
|       script-command.c | Commands for script manager.
|       script-completion.c | Completions for script manager.
|       script-config.c | Config options for script manager (file script.conf).
|       script-info.c | Script manager info/infolists/hdata.
|       script-mouse.c | Script mouse actions.
|       script-repo.c | Download and read repository file.
|    tcl/ | Tcl plugin.
|       weechat-tcl.c | Main tcl functions (load/unload scripts, execute tcl code).
|       weechat-tcl-api.c | Tcl scripting API functions.
|    trigger/ | Trigger plugin.
|       trigger.c | Main trigger functions.
|       trigger-buffer.c | Trigger buffer.
|       trigger-callback.c | Trigger callbacks.
|       trigger-command.c | Trigger commands.
|       trigger-completion.c | Trigger completions.
|       trigger-config.c | Trigger config options (file trigger.conf).
|    typing/ | Typing plugin.
|       typing.c | Main typing functions.
|       typing-bar-item.c | Typing bar items.
|       typing-config.c | Typing config options (file typing.conf).
|       typing-status.c | Messages typing status on buffers.
|    xfer/ | Xfer plugin (IRC DCC file/chat).
|       xfer.c | Main xfer functions.
|       xfer-buffer.c | Xfer buffer.
|       xfer-chat.c | DCC chat.
|       xfer-command.c | Xfer commands.
|       xfer-completion.c | Xfer completions.
|       xfer-config.c | Xfer config options (file xfer.conf).
|       xfer-dcc.c | DCC file transfer.
|       xfer-file.c | File functions for xfer.
|       xfer-info.c | Xfer info/infolists/hdata.
|       xfer-network.c | Network functions for xfer.
|       xfer-upgrade.c | Save/restore of xfer data when upgrading WeeChat.
|===
[[sources_tests]]
@@ -387,81 +400,119 @@ WeeChat "core" is located in following directories:
[width="100%",cols="2m,3",options="header"]
|===
| Path/file | Description
| tests/ | Root of tests.
|    tests.cpp | Program used to run all tests.
|    tests-record.cpp | Record and search in messages displayed.
|    scripts/ | Root of scripting API tests.
|       test-scripts.cpp | Program used to run the scripting API tests.
|       python/ | Python scripts to generate and run the scripting API tests.
|          testapigen.py | Python script generating scripts in all languages to test the scripting API.
|          testapi.py | Python script with scripting API tests, used by script testapigen.py.
|          unparse.py | Convert Python code to other languages, used by script testapigen.py.
|    unit/ | Root of unit tests.
|       test-plugins.cpp | Tests: plugins.
|       core/ | Root of unit tests for core.
|          test-core-arraylist.cpp | Tests: arraylists.
|          test-core-calc.cpp | Tests: calculation of expressions.
|          test-core-command.cpp | Tests: commands.
|          test-core-config-file.cpp | Tests: configuration files.
|          test-core-crypto.cpp | Tests: cryptographic functions.
|          test-core-dir.cpp | Tests: directory/file functions.
|          test-core-eval.cpp | Tests: evaluation of expressions.
|          test-core-hashtble.cpp | Tests: hashtables.
|          test-core-hdata.cpp | Tests: hdata.
|          test-core-hook.cpp | Tests: hooks.
|          test-core-infolist.cpp | Tests: infolists.
|          test-core-list.cpp | Tests: lists.
|          test-core-network.cpp | Tests: network functions.
|          test-core-secure.cpp | Tests: secured data.
|          test-core-signal.cpp | Tests: signals.
|          test-core-string.cpp | Tests: strings.
|          test-core-url.cpp | Tests: URLs.
|          test-core-utf8.cpp | Tests: UTF-8.
|          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-key.cpp | Tests: keys.
|          test-gui-line.cpp | Tests: lines.
|          test-gui-nick.cpp | Tests: nicks.
|       plugins/ | Root of unit tests for plugins.
|          irc/ | Root of unit tests for IRC plugin.
|             test-irc-batch.cpp | Tests: IRC batched events.
|             test-irc-buffer.cpp | Tests: IRC buffers.
|             test-irc-channel.cpp | Tests: IRC channels.
|             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.cpp | Tests: logger.
|             test-logger-backlog.cpp | Tests: logger backlog.
|             test-logger-tail.cpp | Tests: logger tail functions.
|          trigger/ | Root of unit tests for trigger plugin.
|             test-trigger.cpp | Tests: triggers.
|             test-trigger-config.cpp | Tests: trigger configuration.
|          typing/ | Root of unit tests for typing plugin.
|             test-typing.cpp | Tests: typing.
|             test-typing-status.cpp | Tests: typing status.
|          relay/ | Root of unit tests for Relay plugin.
|             test-relay-auth.cpp | Tests: clients authentication.
|             irc/ | Root of unit tests for Relay "irc" protocol.
|                test-relay-irc.cpp | Tests: Relay "irc" protocol.
|          xfer/ | Root of unit tests for Xfer plugin.
|             test-xfer-file.cpp | Tests: file functions.
|             test-xfer-network.cpp | Tests: network functions.
| Path/file | Description
| tests/ | Root of tests.
|    tests.cpp | Program used to run all tests.
|    tests-record.cpp | Record and search in messages displayed.
|    scripts/ | Root of scripting API tests.
|       test-scripts.cpp | Program used to run the scripting API tests.
|       python/ | Python scripts to generate and run the scripting API tests.
|          testapigen.py | Python script generating scripts in all languages to test the scripting API.
|          testapi.py | Python script with scripting API tests, used by script testapigen.py.
|          unparse.py | Convert Python code to other languages, used by script testapigen.py.
|    unit/ | Root of unit tests.
|       test-plugins.cpp | Tests: plugins.
|       test-plugin-api-info.cpp | Tests: plugin API info functions.
|       test-plugin-config.cpp | Tests: plugin config functions.
|       core/ | Root of unit tests for core.
|          test-core-arraylist.cpp | Tests: arraylists.
|          test-core-calc.cpp | Tests: calculation of expressions.
|          test-core-command.cpp | Tests: commands.
|          test-core-config-file.cpp | Tests: configuration files.
|          test-core-crypto.cpp | Tests: cryptographic functions.
|          test-core-dir.cpp | Tests: directory/file functions.
|          test-core-eval.cpp | Tests: evaluation of expressions.
|          test-core-hashtble.cpp | Tests: hashtables.
|          test-core-hdata.cpp | Tests: hdata.
|          test-core-hook.cpp | Tests: hooks.
|          test-core-infolist.cpp | Tests: infolists.
|          test-core-list.cpp | Tests: lists.
|          test-core-network.cpp | Tests: network functions.
|          test-core-secure.cpp | Tests: secured data.
|          test-core-signal.cpp | Tests: signals.
|          test-core-string.cpp | Tests: strings.
|          test-core-url.cpp | Tests: URLs.
|          test-core-utf8.cpp | Tests: UTF-8.
|          test-core-util.cpp | Tests: utility functions.
|          test-core-sys.cpp | Tests: system functions.
|          hook/ | Root of unit tests for hooks.
|             test-hook-command.cpp | Tests: hooks "command".
|             test-hook-command-run.cpp | Tests: hooks "command_run".
|             test-hook-completion.cpp | Tests: hooks "completion".
|             test-hook-config.cpp | Tests: hooks "config".
|             test-hook-connect.cpp | Tests: hooks "connect".
|             test-hook-fd.cpp | Tests: hooks "fd".
|             test-hook-focus.cpp | Tests: hooks "focus".
|             test-hook-hdata.cpp | Tests: hooks "hdata".
|             test-hook-hsignal.cpp | Tests: hooks "hsignal".
|             test-hook-info-hashtable.cpp | Tests: hooks "info_hashtable".
|             test-hook-info.cpp | Tests: hooks "info".
|             test-hook-infolist.cpp | Tests: hooks "infolist".
|             test-hook-line.cpp | Tests: hooks "line".
|             test-hook-modifier.cpp | Tests: hooks "modifier".
|             test-hook-print.cpp | Tests: hooks "print".
|             test-hook-process.cpp | Tests: hooks "process".
|             test-hook-signal.cpp | Tests: hooks "signal".
|             test-hook-timer.cpp | Tests: hooks "timer".
|             test-hook-url.cpp | Tests: hooks "url".
|       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-hotlist.cpp | Tests: hotlist functions.
|          test-gui-input.cpp | Tests: input functions.
|          test-gui-key.cpp | Tests: keys.
|          test-gui-line.cpp | Tests: lines.
|          test-gui-nick.cpp | Tests: nicks.
|          test-gui-nicklist.cpp | Tests: nicklist functions.
|          curses/ | Root of unit tests for Curses interface.
|             test-gui-curses-mouse.cpp | Tests: mouse (Curses interface).
|       plugins/ | Root of unit tests for plugins.
|          irc/ | Root of unit tests for IRC plugin.
|             test-irc-batch.cpp | Tests: IRC batched events.
|             test-irc-buffer.cpp | Tests: IRC buffers.
|             test-irc-channel.cpp | Tests: IRC channels.
|             test-irc-color.cpp | Tests: IRC colors.
|             test-irc-command.cpp | Tests: IRC commands.
|             test-irc-config.cpp | Tests: IRC configuration.
|             test-irc-ctcp.cpp | Tests: IRC CTCP.
|             test-irc-ignore.cpp | Tests: IRC ignores.
|             test-irc-info.cpp | Tests: IRC info.
|             test-irc-join.cpp | Tests: IRC join functions.
|             test-irc-list.cpp | Tests: IRC buffer for reply to /list command.
|             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.cpp | Tests: logger.
|             test-logger-backlog.cpp | Tests: logger backlog.
|             test-logger-tail.cpp | Tests: logger tail functions.
|          trigger/ | Root of unit tests for trigger plugin.
|             test-trigger.cpp | Tests: triggers.
|             test-trigger-config.cpp | Tests: trigger configuration.
|          typing/ | Root of unit tests for typing plugin.
|             test-typing.cpp | Tests: typing.
|             test-typing-status.cpp | Tests: typing status.
|          relay/ | Root of unit tests for Relay plugin.
|             test-relay-auth.cpp | Tests: clients authentication.
|             test-relay-http.cpp | Tests: HTTP functions for Relay plugin.
|             test-relay-remote.cpp | Tests: remote functions for Relay plugin.
|             test-relay-websocket.cpp | Tests: websocket functions for Relay plugin.
|             api/ | Root of unit tests for Relay "api" protocol.
|                test-relay-api.cpp | Tests: Relay "api" protocol: general functions.
|                test-relay-api-msg.cpp | Tests: Relay "api" protocol: messages.
|                test-relay-api-protocol.cpp | Tests: Relay "api" protocol: protocol.
|             irc/ | Root of unit tests for Relay "irc" protocol.
|                test-relay-irc.cpp | Tests: Relay "irc" protocol.
|          xfer/ | Root of unit tests for Xfer plugin.
|             test-xfer-file.cpp | Tests: file functions.
|             test-xfer-network.cpp | Tests: network functions.
|===
[[documentation_translations]]
@@ -521,7 +572,7 @@ Example in C:
/*
* weechat.c - core functions for WeeChat
*
* Copyright (C) 2023 Your Name <your@email.com>
* Copyright (C) 2024 Your Name <your@email.com>
*
* This file is part of WeeChat, the extensible chat client.
*
@@ -545,9 +596,8 @@ Example in C:
Some basic rules you *must* follow when you write C code:
* Use 4 spaces for indentation. Don't use tabs, they are evil.
* Try to not exceed 80 chars by line, except if this is needed to increase
readability.
* Use 4 spaces for indentation (no tabs).
* Try to not exceed 80 chars by line, except if this is needed to increase readability.
* Use comments `+/* comment */+` (not C99-style comments like `+// comment+`).
* Add a comment before any function, to explain what it does (always use a
multi-line comment, even if description is very short).
@@ -759,7 +809,7 @@ Examples:
[width="100%",cols="2m,3",options="header"]
|===
| Directory | Files
| src/core/ | weechat.c, wee-backtrace.c, wee-command.c, ...
| src/core/ | weechat.c, core-backtrace.c, core-command.c, ...
| src/gui/ | gui-bar.c, gui-bar-item.c, gui-bar-window.c, ...
| src/gui/curses/ | gui-curses-bar.c, gui-curses-bar-window.c, gui-curses-chat.c, ...
| src/plugins/ | plugin.c, plugin-api.c, plugin-api-info.c, plugin-config.c, plugin-script.c, ...
@@ -767,8 +817,8 @@ Examples:
| src/plugins/python/ | weechat-python.c, weechat-python-api.c, ...
|===
The headers of C files have same name as file, for example _wee-command.h_ for
file _wee-command.c_.
The headers of C files have same name as file, for example _core-command.h_ for
file _core-command.c_.
[[naming_convention_structures]]
==== Structures
+75 -24
View File
@@ -583,6 +583,31 @@ If you are using the macOS Terminal app, enable the option
"Use option as meta key" in menu Settings/Keyboard after which you can use the
kbd:[Option] key as meta key.
[[enter_key]]
=== Some keys including Enter are not working, why?
If you run a WeeChat < 4.0.0 with configuration files created by any
version ≥ 4.0.0, the keys names become invalid and many keys won't work at all. +
To repair them, exit WeeChat, remove all sections `[key*]` from weechat.conf
and start WeeChat again: all default keys will be created.
[[key_f11]]
=== Key F11 maximizes the terminal window, how can I scroll up the nicklist?
The key kbd:[F11] is commonly used by terminals to maximize the window, and
kbd:[F11]/kbd:[F12] are the default keys in WeeChat to scroll the nicklist.
You can bind other keys, for example kbd:[Shift+F11] and kbd:[Shift+F12],
with WeeChat ≥ 4.0.0:
----
/key bind shift-f11 /bar scroll nicklist * -100%
/key bind shift-f12 /bar scroll nicklist * +100%
----
Other solution is to enable mouse (key: kbd:[Alt+m]) and scroll with the mouse
wheel (see also questions about <<mouse,mouse>>).
[[customize_key_bindings]]
=== How can I customize key bindings?
@@ -612,6 +637,12 @@ commands like `/123` to jump to buffer #123:
/trigger add numberjump modifier "2000|input_text_for_buffer" "${tg_string} =~ ^/[0-9]+$" "=\/([0-9]+)=/buffer *${re:1}=" "" "" "none"
----
For an easy jump to buffers, you can also install the _go.py_ script:
----
/script install go.py
----
[[global_history]]
=== How to use global history (instead of buffer history) with up and down keys?
@@ -919,35 +950,20 @@ link:weechat_user.en.html#max_hotlist_level_nicks[hotlist_max_level_nicks_add ^
buffer property to set the max hotlist level for some nicks, per buffer,
or per group of buffers (like IRC servers).
To only disable highlights, you'd have to set it to 2:
To only disable highlights, you'd have to set it to 2.
For the current buffer:
----
/buffer set hotlist_max_level_nicks_add joe:2,mike:2
/buffer setauto hotlist_max_level_nicks_add joe:2,mike:2
----
This buffer property isn't stored in the configuration though.
To automatically reapply these buffer properties, you would need the
_buffer_autoset.py_ script:
For all channels on server "libera":
----
/script install buffer_autoset.py
/set weechat.buffer.irc.libera.*.hotlist_max_level_nicks_add joe:2,mike:2
----
For example, to permanently disable highlights from "mike" on #weechat
on the IRC server libera:
----
/buffer_autoset add irc.libera.#weechat hotlist_max_level_nicks_add mike:2
----
To apply it to the entire libera server instead:
----
/buffer_autoset add irc.libera hotlist_max_level_nicks_add mike:2
----
For more examples, see `+/help buffer_autoset+`.
[[irc_target_buffer]]
=== How can I change target buffer for commands on merged buffers (like buffer with servers)?
@@ -1074,7 +1090,8 @@ You can try following tips to consume less memory:
You can follow same tips as for <<memory_usage,memory>>, and these ones:
* Hide "nicklist" bar: `/bar hide nicklist`.
* Hide "nicklist" bar: `/bar hide nicklist` (key: kbd:[Alt+Shift+N]).
* Disable "buflist": `/buflist disable` (key: kbd:[Alt+Shift+B]).
* Remove display of seconds in status bar time:
`+/set weechat.look.item_time_format "%H:%M"+` (this is the default value).
* Disable real time check of misspelled words in command line (if you enabled it):
@@ -1096,14 +1113,20 @@ Disable answers to all CTCP queries:
----
/set irc.ctcp.clientinfo ""
/set irc.ctcp.finger ""
/set irc.ctcp.source ""
/set irc.ctcp.time ""
/set irc.ctcp.userinfo ""
/set irc.ctcp.version ""
/set irc.ctcp.ping ""
----
With WeeChat < 4.1.0, other CTCP queries were replied by default and must be
disabled as well:
----
/set irc.ctcp.finger ""
/set irc.ctcp.userinfo ""
----
Unload and disable auto-loading of "xfer" plugin (used for IRC DCC):
----
@@ -1138,6 +1161,34 @@ stored in _sec.conf_ with the `/secure` command).
See the link:weechat_user.en.html#files_and_directories[User's guide / Files and directories ^↗^^]
for more information about configuration files.
[[move_to_another_device]]
=== I want to move my WeeChat to another device and keep my config, what should I copy?
First check directories used by WeeChat with this command: `/debug dirs`. +
Directories home/config and home/data must be copied (all files and sub-directories).
For example if you're using XDG directories (default with WeeChat ≥ 3.2),
the directories should be `$HOME/.config/weechat` and `$HOME/.local/share/weechat`. +
If you're using a single directory (default with WeeChat < 3.2), the directory
should be `$HOME/.weechat`.
[IMPORTANT]
The WeeChat version on the new device must be greater than or equal to the version
on the initial device. +
Downgrading WeeChat configuration is *NOT SUPPORTED* and can break it,
leading to unusable WeeChat.
Steps:
. Quit Weechat: `/quit` (or `/upgrade -quit` if you want to resume the session,
which includes content of all buffers).
. Copy all directories, sub-directories and files to the new device, keeping
same names and permissions.
. Optional: copy any file outside these directories that you refer to in your
configuration (it's not recommended to use files outside WeeChat directories).
. Start WeeChat on the new device: `weechat` (or `weechat --upgrade` if you
saved the session).
[[development]]
== Development
File diff suppressed because it is too large Load Diff
+26 -10
View File
@@ -488,7 +488,9 @@ hda:
'buffer': 'ptr',
'y': 'int',
'date': 'tim',
'date_usec': 'int',
'date_printed': 'tim',
'date_usec_printed': 'int',
'str_time': 'str',
'tags_count': 'int',
'tags_array': 'arr',
@@ -506,7 +508,9 @@ hda:
buffer: '0x558d61ea3e60'
y: -1
date: 1588404926
date_usec: 118712
date_printed: 1588404926
date_usec_printed: 118712
str_time: 'F@0025209F@0024535F@0024026'
tags_count: 0
tags_array: []
@@ -522,7 +526,9 @@ hda:
buffer: '0x558d61ea3e60'
y: -1
date: 1588404930
date_usec: 25
date_printed: 1588404930
date_usec_printed: 25
str_time: 'F@0025209F@0024535F@0024030'
tags_count: 0
tags_array: []
@@ -701,6 +707,7 @@ inl:
nicklist_visible_count: 0
title: 'WeeChat 2.9-dev (C) 2003-2020 - https://weechat.org/'
input: 1
input_get_any_user_data: 0
input_get_unknown_commands: 0
input_get_empty: 0
input_multiline: 0
@@ -712,11 +719,14 @@ inl:
input_buffer_1st_display: 0
num_history: 0
text_search: 0
text_search_direction: 0
text_search_exact: 0
text_search_regex: 0
text_search_regex_compiled: '0x0'
text_search_where: 0
text_search_history: 0
text_search_found: 0
text_search_ptr_history: '0x0'
text_search_input: None
highlight_words: None
highlight_disable_regex: None
@@ -2047,16 +2057,18 @@ Data sent as hdata:
[width="100%",cols="3m,2,10",options="header"]
|===
| Name | Type | Description
| buffer | pointer | Buffer pointer.
| date | time | Date of message.
| date_printed | time | Date when WeeChat displayed message.
| displayed | char | 1 if message is displayed, 0 if message is filtered (hidden).
| notify_level | char | Notify level: -1 = notify disabled, 0 = low, 1 = message, 2 = private, 3 = highlight.
| highlight | char | 1 if line has a highlight, otherwise 0.
| tags_array | array of strings | List of tags for line.
| prefix | string | Prefix.
| message | string | Message.
| Name | Type | Description
| buffer | pointer | Buffer pointer.
| date | time | Date of message.
| date_usec | integer | Microseconds of date.
| date_printed | time | Date when WeeChat displayed message.
| date_usec_printed | integer | Microseconds of date when WeeChat displayed message.
| displayed | char | 1 if message is displayed, 0 if message is filtered (hidden).
| notify_level | char | Notify level: -1 = notify disabled, 0 = low, 1 = message, 2 = private, 3 = highlight.
| highlight | char | 1 if line has a highlight, otherwise 0.
| tags_array | array of strings | List of tags for line.
| prefix | string | Prefix.
| message | string | Message.
|===
Example: new message _hello!_ from nick _FlashCode_ on buffer _irc.libera.#weechat_:
@@ -2068,7 +2080,9 @@ hda:
keys: {
'buffer': 'ptr',
'date': 'tim',
'date_usec': 'int',
'date_printed': 'tim',
'date_usec_printed': 'int',
'displayed': 'chr',
'notify_level': 'chr',
'highlight': 'chr',
@@ -2081,7 +2095,9 @@ hda:
__path: ['0x4a49600']
buffer: '0x4a715d0'
date: 1362728993
date_usec: 902765
date_printed: 1362728993
date_usec_printed: 902765
displayed: 1
notify_level: 1
highlight: 0
+2 -303
View File
@@ -549,315 +549,14 @@ link:weechat_plugin_api.en.html[WeeChat plugin API reference ^↗^^].
List of functions in script API:
[width="100%",cols="1,5",options="header"]
|===
| Category | Functions
| general
| register
| plugins
| plugin_get_name
| strings
| charset_set +
iconv_to_internal +
iconv_from_internal +
gettext +
ngettext +
strlen_screen +
string_match +
string_match_list +
string_has_highlight +
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 +
string_input_for_buffer +
string_eval_expression +
string_eval_path_home
| directories
| mkdir_home +
mkdir +
mkdir_parents
| sorted lists
| list_new +
list_add +
list_search +
list_search_pos +
list_casesearch +
list_casesearch_pos +
list_get +
list_set +
list_next +
list_prev +
list_string +
list_size +
list_remove +
list_remove_all +
list_free
| configuration files
| config_new +
config_new_section +
config_search_section +
config_new_option +
config_search_option +
config_string_to_boolean +
config_option_reset +
config_option_set +
config_option_set_null +
config_option_unset +
config_option_rename +
config_option_is_null +
config_option_default_is_null +
config_boolean +
config_boolean_default +
config_integer +
config_integer_default +
config_string +
config_string_default +
config_color +
config_color_default +
config_write_option +
config_write_line +
config_write +
config_read +
config_reload +
config_option_free +
config_section_free_options +
config_section_free +
config_free +
config_get +
config_get_plugin +
config_is_set_plugin +
config_set_plugin +
config_set_desc_plugin +
config_unset_plugin
| key bindings
| key_bind +
key_unbind
| 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 +
hook_command_run +
hook_timer +
hook_fd +
hook_process +
hook_process_hashtable +
hook_connect +
hook_line +
hook_print +
hook_signal +
hook_signal_send +
hook_hsignal +
hook_hsignal_send +
hook_config +
hook_completion +
hook_modifier +
hook_modifier_exec +
hook_info +
hook_info_hashtable +
hook_infolist +
hook_focus +
hook_set +
unhook +
unhook_all
| buffers
| buffer_new +
buffer_new_props +
current_buffer +
buffer_search +
buffer_search_main +
buffer_clear +
buffer_close +
buffer_merge +
buffer_unmerge +
buffer_get_integer +
buffer_get_string +
buffer_get_pointer +
buffer_set +
buffer_string_replace_local_var +
buffer_match_list
| windows
| current_window +
window_search_with_buffer +
window_get_integer +
window_get_string +
window_get_pointer +
window_set_title
| nicklist
| nicklist_add_group +
nicklist_search_group +
nicklist_add_nick +
nicklist_search_nick +
nicklist_remove_group +
nicklist_remove_nick +
nicklist_remove_all +
nicklist_group_get_integer +
nicklist_group_get_string +
nicklist_group_get_pointer +
nicklist_group_set +
nicklist_nick_get_integer +
nicklist_nick_get_string +
nicklist_nick_get_pointer +
nicklist_nick_set
| bars
| bar_item_search +
bar_item_new +
bar_item_update +
bar_item_remove +
bar_search +
bar_new +
bar_set +
bar_update +
bar_remove
| commands
| command +
command_options
| completion
| completion_new +
completion_search +
completion_get_string +
completion_list_add +
completion_free
| infos
| info_get +
info_get_hashtable
| infolists
| infolist_new +
infolist_new_item +
infolist_new_var_integer +
infolist_new_var_string +
infolist_new_var_pointer +
infolist_new_var_time +
infolist_get +
infolist_next +
infolist_prev +
infolist_reset_item_cursor +
infolist_search_var +
infolist_fields +
infolist_integer +
infolist_string +
infolist_pointer +
infolist_time +
infolist_free
| hdata
| hdata_get +
hdata_get_var_offset +
hdata_get_var_type_string +
hdata_get_var_array_size +
hdata_get_var_array_size_string +
hdata_get_var_hdata +
hdata_get_list +
hdata_check_pointer +
hdata_move +
hdata_search +
hdata_char +
hdata_integer +
hdata_long +
hdata_string +
hdata_pointer +
hdata_time +
hdata_hashtable +
hdata_compare +
hdata_update +
hdata_get_string
| upgrade
| upgrade_new +
upgrade_write_object +
upgrade_read +
upgrade_close
|===
include::{autogendir}/autogen_scripting_functions.en.adoc[tag=functions]
[[script_api_constants]]
=== Constants
List of constants in script API:
[width="100%",cols="1,5",options="header"]
|===
| Category | Constants
| return codes
| `WEECHAT_RC_OK` (integer) +
`WEECHAT_RC_OK_EAT` (integer) +
`WEECHAT_RC_ERROR` (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) +
`WEECHAT_CONFIG_WRITE_ERROR` (integer) +
`WEECHAT_CONFIG_WRITE_MEMORY_ERROR` (integer) +
`WEECHAT_CONFIG_OPTION_SET_OK_CHANGED` (integer) +
`WEECHAT_CONFIG_OPTION_SET_OK_SAME_VALUE` (integer) +
`WEECHAT_CONFIG_OPTION_SET_ERROR` (integer) +
`WEECHAT_CONFIG_OPTION_SET_OPTION_NOT_FOUND` (integer) +
`WEECHAT_CONFIG_OPTION_UNSET_OK_NO_RESET` (integer) +
`WEECHAT_CONFIG_OPTION_UNSET_OK_RESET` (integer) +
`WEECHAT_CONFIG_OPTION_UNSET_OK_REMOVED` (integer) +
`WEECHAT_CONFIG_OPTION_UNSET_ERROR` (integer)
| sorted lists
| `WEECHAT_LIST_POS_SORT` (string) +
`WEECHAT_LIST_POS_BEGINNING` (string) +
`WEECHAT_LIST_POS_END` (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) +
`WEECHAT_HOOK_PROCESS_ERROR` (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) +
`WEECHAT_HOOK_CONNECT_PROXY_ERROR` (integer) +
`WEECHAT_HOOK_CONNECT_LOCAL_HOSTNAME_ERROR` (integer) +
`WEECHAT_HOOK_CONNECT_GNUTLS_INIT_ERROR` (integer) +
`WEECHAT_HOOK_CONNECT_GNUTLS_HANDSHAKE_ERROR` (integer) +
`WEECHAT_HOOK_CONNECT_MEMORY_ERROR` (integer) +
`WEECHAT_HOOK_CONNECT_TIMEOUT` (integer) +
`WEECHAT_HOOK_CONNECT_SOCKET_ERROR` (integer)
| hook signal
| `WEECHAT_HOOK_SIGNAL_STRING` (string) +
`WEECHAT_HOOK_SIGNAL_INT` (string) +
`WEECHAT_HOOK_SIGNAL_POINTER` (string)
|===
include::{autogendir}/autogen_scripting_constants.en.adoc[tag=constants]
[[common_tasks]]
== Common tasks
File diff suppressed because it is too large Load Diff
+84 -24
View File
@@ -598,6 +598,33 @@ Si está utilizando aplicación Terminal de macOS, habilite la opción
"Use option as meta key" en el menú Settings/Keyboard después de la cual puede utilizar la tecla
kbd:[Option] como tecla meta.
// TRANSLATION MISSING
[[enter_key]]
=== Some keys including Enter are not working, why?
If you run a WeeChat < 4.0.0 with configuration files created by any
version ≥ 4.0.0, the keys names become invalid and many keys won't work at all. +
To repair them, exit WeeChat, remove all sections `[key*]` from weechat.conf
and start WeeChat again: all default keys will be created.
// TRANSLATION MISSING
[[key_f11]]
=== Key F11 maximizes the terminal window, how can I scroll up the nicklist?
The key kbd:[F11] is commonly used by terminals to maximize the window, and
kbd:[F11]/kbd:[F12] are the default keys in WeeChat to scroll the nicklist.
You can bind other keys, for example kbd:[Shift+F11] and kbd:[Shift+F12],
with WeeChat ≥ 4.0.0:
----
/key bind shift-f11 /bar scroll nicklist * -100%
/key bind shift-f12 /bar scroll nicklist * +100%
----
Other solution is to enable mouse (key: kbd:[Alt+m]) and scroll with the mouse
wheel (see also questions about <<mouse,mouse>>).
[[customize_key_bindings]]
=== ¿Cómo puedo personalizar los atajos de teclado?
@@ -627,6 +654,13 @@ comandos como `/123` para saltar al buffer #123:
/trigger add numberjump modifier "2000|input_text_for_buffer" "${tg_string} =~ ^/[0-9]+$" "=\/([0-9]+)=/buffer *${re:1}=" "" "" "none"
----
// TRANSLATION MISSING
For an easy jump to buffers, you can also install the _go.py_ script:
----
/script install go.py
----
[[global_history]]
=== ¿Cómo utilizar el historial global (en vez del historial del buffer) con las teclas de las flechas arriba y abajo?
@@ -947,35 +981,22 @@ link:weechat_user.en.html#max_hotlist_level_nicks[hotlist_max_level_nicks_add ^
buffer property to set the max hotlist level for some nicks, per buffer,
or per group of buffers (like IRC servers).
Para únicamente inhabilitar las notificaciones, debería establecerlo a 2:
Para únicamente inhabilitar las notificaciones, debería establecerlo a 2.
// TRANSLATION MISSING
For the current buffer:
----
/buffer set hotlist_max_level_nicks_add joe:2,mike:2
/buffer setauto hotlist_max_level_nicks_add joe:2,mike:2
----
Esta propiedad del buffer no es almacenada en la configuración.
Para volver a aplicar automáticamente estas propiedades del buffer, necesitaría el script
_buffer_autoset.py_:
// TRANSLATION MISSING
For all channels on server "libera":
----
/script install buffer_autoset.py
/set weechat.buffer.irc.libera.*.hotlist_max_level_nicks_add joe:2,mike:2
----
Por ejemplo, para inhabilitar automáticamente las menciones de "mike" en #weechat
en el servidor IRC de libera:
----
/buffer_autoset add irc.libera.#weechat hotlist_max_level_nicks_add mike:2
----
Para aplicarlo al servidor completo de libera:
----
/buffer_autoset add irc.libera hotlist_max_level_nicks_add mike:2
----
Para más ejemplos, vea `+/help buffer_autoset+`.
[[irc_target_buffer]]
=== ¿Cómo puedo cambiar el objetivo del buffer para comandos en buffers unidos (como en un buffer con servidores)?
@@ -1105,7 +1126,10 @@ Puede intentar estos trucos para consumir menos memoria:
Puede seguir los mismos consejo que para la <<memory_usage,memoria>> y estos otros:
* Oculte la barra de la lista de apodos: `/bar hide nicklist`.
// TRANSLATION MISSING
* Oculte la barra de la lista de apodos: `/bar hide nicklist` (key: kbd:[Alt+Shift+N]).
// TRANSLATION MISSING
* Disable "buflist": `/buflist disable` (key: kbd:[Alt+Shift+B]).
* Elimine que se muestren los segundos en la hora de la barra de estado:
`+/set weechat.look.item_time_format "%H:%M"+` (este es el valor predeterminado).
* Inhabilite la comprobación en tiempo real de palabras erróneas en la línea de comandos (si lo había habilitado previamente):
@@ -1127,14 +1151,21 @@ Inhabilite las respuestas a todas las peticiones CTCP:
----
/set irc.ctcp.clientinfo ""
/set irc.ctcp.finger ""
/set irc.ctcp.source ""
/set irc.ctcp.time ""
/set irc.ctcp.userinfo ""
/set irc.ctcp.version ""
/set irc.ctcp.ping ""
----
// TRANSLATION MISSING
With WeeChat < 4.1.0, other CTCP queries were replied by default and must be
disabled as well:
----
/set irc.ctcp.finger ""
/set irc.ctcp.userinfo ""
----
Elimine de la memoria e inhabilite la carga automática del complemento "xfer" (utilizdo para IRC DCC):
----
@@ -1169,6 +1200,35 @@ 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 ^↗^^]
para más información relacionada con los archivos de configuración.
// TRANSLATION MISSING
[[move_to_another_device]]
=== I want to move my WeeChat to another device and keep my config, what should I copy?
First check directories used by WeeChat with this command: `/debug dirs`. +
Directories home/config and home/data must be copied (all files and sub-directories).
For example if you're using XDG directories (default with WeeChat ≥ 3.2),
the directories should be `$HOME/.config/weechat` and `$HOME/.local/share/weechat`. +
If you're using a single directory (default with WeeChat < 3.2), the directory
should be `$HOME/.weechat`.
[IMPORTANT]
The WeeChat version on the new device must be greater than or equal to the version
on the initial device. +
Downgrading WeeChat configuration is *NOT SUPPORTED* and can break it,
leading to unusable WeeChat.
Steps:
. Quit Weechat: `/quit` (or `/upgrade -quit` if you want to resume the session,
which includes content of all buffers).
. Copy all directories, sub-directories and files to the new device, keeping
same names and permissions.
. Optional: copy any file outside these directories that you refer to in your
configuration (it's not recommended to use files outside WeeChat directories).
. Start WeeChat on the new device: `weechat` (or `weechat --upgrade` if you
saved the session).
[[development]]
== Desarrollo
+1 -1
View File
@@ -102,7 +102,7 @@ $HOME/.local/share/weechat/weechat.log::
WeeChat est écrit par Sébastien Helleu et des contributeurs (la liste complète
est dans le fichier AUTHORS.adoc).
Copyright (C) 2003-2023 {author}
Copyright (C) 2003-2024 {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
+391 -341
View File
@@ -114,95 +114,97 @@ Le cœur de WeeChat est situé dans les répertoires suivants :
[width="100%",cols="2m,3",options="header"]
|===
| Chemin/fichier | Description
| core/ | Fonctions du cœur : point d'entrée, structures internes.
|    wee-arraylist.c | Listes avec tableau (« arraylists »).
|    wee-backtrace.c | Afficher une trace après un plantage.
|    wee-calc.c | Calcul du résultat d'expressions.
|    wee-command.c | Commandes du cœur de WeeChat.
|    wee-completion.c | Complétions par défaut.
|    wee-config-file.c | Gestion des fichiers de configuration.
|    wee-config.c | Options de configuration du cœur de WeeChat (fichier weechat.conf).
|    wee-crypto.c | Fonctions de cryptographie.
|    wee-debug.c | Quelques fonctions de debug.
|    wee-dir.c | Fonctions sur les répertoires/fichiers.
|    wee-doc.c | Génération de fichiers pour la documentation.
|    wee-eval.c | Évaluation d'expressions avec des références à des variables internes.
|    wee-hashtable.c | Tables de hachage.
|    wee-hdata.c | Hdata (accès direct aux données en utilisant des tables de hachage).
|    wee-hook.c | Crochets ("hooks").
|    wee-infolist.c | Infolists (listes avec les données des objets).
|    wee-input.c | Entrée de commandes/texte.
|    wee-list.c | Listes triées.
|    wee-log.c | Écriture dans le fichier de log WeeChat (weechat.log).
|    wee-network.c | Fonctions réseau (connexion aux serveurs/proxies).
|    wee-proxy.c | Gestion des proxies.
|    wee-secure.c | Fonctions pour les données sécurisées.
|    wee-secure-buffer.c | Tampon pour les données sécurisées.
|    wee-secure-config.c | Options des données sécurisées (fichier sec.conf).
|    wee-signal.c | Fonctions sur les signaux.
|    wee-string.c | Fonctions sur les chaînes de caractères.
|    wee-upgrade-file.c | Système de mise à jour interne.
|    wee-upgrade.c | Mise à jour du cœur de WeeChat (tampons, lignes, historique, ...).
|    wee-url.c | Transfert d'URL (en utilisant libcurl).
|    wee-utf8.c | Fonctions UTF-8.
|    wee-util.c | Quelques autres fonctions utilitaires.
|    wee-version.c | Fonctions pour la version de WeeChat.
|    weechat.c | Fonctions principales : options de ligne de commande, démarrage.
|    hook/ | Hook functions.
|       wee-hook-command-run.c | Hook "command_run".
|       wee-hook-command.c | Hook "command".
|       wee-hook-completion.c | Hook "completion".
|       wee-hook-config.c | Hook "config".
|       wee-hook-connect.c | Hook "connect".
|       wee-hook-fd.c | Hook "fd".
|       wee-hook-focus.c | Hook "focus".
|       wee-hook-hdata.c | Hook "hdata".
|       wee-hook-hsignal.c | Hook "hsignal".
|       wee-hook-info-hashtable.c | Hook "info".
|       wee-hook-info.c | Hook "info".
|       wee-hook-infolist.c | Hook "infolist".
|       wee-hook-line.c | Hook "line".
|       wee-hook-modifier.c | Hook "modifier".
|       wee-hook-print.c | Hook "print".
|       wee-hook-process.c | Hook "process".
|       wee-hook-signal.c | Hook "signal".
|       wee-hook-timer.c | Hook "timer".
| gui/ | Fonctions pour les tampons, fenêtres, ... (utilisées par toutes les interfaces).
|    gui-bar-item.c | Objets de barre.
|    gui-bar-window.c | Fenêtres de barre.
|    gui-bar.c | Barres.
|    gui-buffer.c | Tampons.
|    gui-chat.c | Fonctions pour la discussion (afficher un message, ...).
|    gui-color.c | Fonctions de couleur.
|    gui-completion.c | Complétion sur la ligne de commande.
|    gui-cursor.c | Mode curseur (mouvement libre du curseur).
|    gui-filter.c | Filtres.
|    gui-focus.c | Fonctions concernant le focus (pour les modes curseur et souris).
|    gui-history.c | Commandes/texte sauvés dans les tampons.
|    gui-hotlist.c | Gestion de la "hotlist" (liste des tampons avec activité).
|    gui-input.c | Fonctions d'entrée (barre "input").
|    gui-key.c | Fonctions pour le clavier.
|    gui-layout.c | Dispositions ("layouts").
|    gui-line.c | Lignes dans les tampons.
|    gui-mouse.c | Souris.
|    gui-nick.c | Fonctions pour les pseudos.
|    gui-nicklist.c | Liste de pseudos dans les tampons.
|    gui-window.c | Fenêtres.
|    curses/ | Interface Curses.
|       gui-curses-bar-window.c | Affichage dans les fenêtres de barre.
|       gui-curses-chat.c | Affichage dans la zone de discussion (messages).
|       gui-curses-color.c | Fonctions pour les couleurs.
|       gui-curses-key.c | Fonctions pour le clavier (touches par défaut, lecture du clavier).
|       gui-curses-main.c | Boucle principale de WeeChat (attente des évènements clavier/réseau).
|       gui-curses-mouse.c | Souris.
|       gui-curses-term.c | Fonctions pour le terminal.
|       gui-curses-window.c | Fenêtres.
|       headless/ | Mode sans interface (« headless »).
|          main.c | Point d'entrée pour le mode sans interface.
|          ncurses-fake.c | Fausse bibliothèque ncurses.
|       normal/ | Interface Curses.
|          main.c | Point d'entrée pour l'interface Curses.
| Chemin/fichier | Description
| core/ | Fonctions du cœur : point d'entrée, structures internes.
|    core-arraylist.c | Listes avec tableau (« arraylists »).
|    core-backtrace.c | Afficher une trace après un plantage.
|    core-calc.c | Calcul du résultat d'expressions.
|    core-command.c | Commandes du cœur de WeeChat.
|    core-completion.c | Complétions par défaut.
|    core-config-file.c | Gestion des fichiers de configuration.
|    core-config.c | Options de configuration du cœur de WeeChat (fichier weechat.conf).
|    core-crypto.c | Fonctions de cryptographie.
|    core-debug.c | Quelques fonctions de debug.
|    core-dir.c | Fonctions sur les répertoires/fichiers.
|    core-doc.c | Génération de fichiers pour la documentation.
|    core-eval.c | Évaluation d'expressions avec des références à des variables internes.
|    core-hashtable.c | Tables de hachage.
|    core-hdata.c | Hdata (accès direct aux données en utilisant des tables de hachage).
|    core-hook.c | Crochets ("hooks").
|    core-infolist.c | Infolists (listes avec les données des objets).
|    core-input.c | Entrée de commandes/texte.
|    core-list.c | Listes triées.
|    core-log.c | Écriture dans le fichier de log WeeChat (weechat.log).
|    core-network.c | Fonctions réseau (connexion aux serveurs/proxies).
|    core-proxy.c | Gestion des proxies.
|    core-secure.c | Fonctions pour les données sécurisées.
|    core-secure-buffer.c | Tampon pour les données sécurisées.
|    core-secure-config.c | Options des données sécurisées (fichier sec.conf).
|    core-signal.c | Fonctions sur les signaux.
|    core-string.c | Fonctions sur les chaînes de caractères.
|    core-sys.c | Fonctions système.
|    core-upgrade-file.c | Système de mise à jour interne.
|    core-upgrade.c | Mise à jour du cœur de WeeChat (tampons, lignes, historique, ...).
|    core-url.c | Transfert d'URL (en utilisant libcurl).
|    core-utf8.c | Fonctions UTF-8.
|    core-util.c | Quelques autres fonctions utilitaires.
|    core-version.c | Fonctions pour la version de WeeChat.
|    weechat.c | Fonctions principales : options de ligne de commande, démarrage.
|    hook/ | Fonctions "hook".
|       hook-command-run.c | Hook "command_run".
|       hook-command.c | Hook "command".
|       hook-completion.c | Hook "completion".
|       hook-config.c | Hook "config".
|       hook-connect.c | Hook "connect".
|       hook-fd.c | Hook "fd".
|       hook-focus.c | Hook "focus".
|       hook-hdata.c | Hook "hdata".
|       hook-hsignal.c | Hook "hsignal".
|       hook-info-hashtable.c | Hook "info".
|       hook-info.c | Hook "info".
|       hook-infolist.c | Hook "infolist".
|       hook-line.c | Hook "line".
|       hook-modifier.c | Hook "modifier".
|       hook-print.c | Hook "print".
|       hook-process.c | Hook "process".
|       hook-signal.c | Hook "signal".
|       hook-timer.c | Hook "timer".
|       hook-url.c | Hook "url".
| gui/ | Fonctions pour les tampons, fenêtres, ... (utilisées par toutes les interfaces).
|    gui-bar-item.c | Objets de barre.
|    gui-bar-window.c | Fenêtres de barre.
|    gui-bar.c | Barres.
|    gui-buffer.c | Tampons.
|    gui-chat.c | Fonctions pour la discussion (afficher un message, ...).
|    gui-color.c | Fonctions de couleur.
|    gui-completion.c | Complétion sur la ligne de commande.
|    gui-cursor.c | Mode curseur (mouvement libre du curseur).
|    gui-filter.c | Filtres.
|    gui-focus.c | Fonctions concernant le focus (pour les modes curseur et souris).
|    gui-history.c | Commandes/texte sauvés dans les tampons.
|    gui-hotlist.c | Gestion de la "hotlist" (liste des tampons avec activité).
|    gui-input.c | Fonctions d'entrée (barre "input").
|    gui-key.c | Fonctions pour le clavier.
|    gui-layout.c | Dispositions ("layouts").
|    gui-line.c | Lignes dans les tampons.
|    gui-mouse.c | Souris.
|    gui-nick.c | Fonctions pour les pseudos.
|    gui-nicklist.c | Liste de pseudos dans les tampons.
|    gui-window.c | Fenêtres.
|    curses/ | Interface Curses.
|       gui-curses-bar-window.c | Affichage dans les fenêtres de barre.
|       gui-curses-chat.c | Affichage dans la zone de discussion (messages).
|       gui-curses-color.c | Fonctions pour les couleurs.
|       gui-curses-key.c | Fonctions pour le clavier (touches par défaut, lecture du clavier).
|       gui-curses-main.c | Boucle principale de WeeChat (attente des évènements clavier/réseau).
|       gui-curses-mouse.c | Souris.
|       gui-curses-term.c | Fonctions pour le terminal.
|       gui-curses-window.c | Fenêtres.
|       headless/ | Mode sans interface (« headless »).
|          main.c | Point d'entrée pour le mode sans interface.
|          ncurses-fake.c | Fausse bibliothèque ncurses.
|       normal/ | Interface Curses.
|          main.c | Point d'entrée pour l'interface Curses.
|===
[[sources_plugins]]
@@ -210,178 +212,189 @@ Le cœur de WeeChat est situé dans les répertoires suivants :
[width="100%",cols="2m,3",options="header"]
|===
| Chemin/fichier | Description
| plugins/ | Racine des extensions.
|    plugin.c | Gestion des extensions (chargement/déchargement des bibliothèques C dynamiques).
|    plugin-api.c | Fonctions supplémentaires pour l'API extension (enveloppes autour des fonctions du cœur de WeeChat).
|    plugin-api-info.c | Fonctions supplémentaires info/infolist pour l'API extension.
|    plugin-config.c | Options de configuration des extensions (fichier plugins.conf).
|    plugin-script.c | Fonctions communes utilisés par les extensions pour les scripts.
|    plugin-script-api.c | Fonctions pour l'API script : enveloppes autour de quelques fonctions de l'API extension.
|    plugin-script-config.c | Options de configuration des extensions pour les scripts (fichiers python.conf, perl.conf, ...).
|    weechat-plugin.h | En-tête destiné à être distribué avec les extensions WeeChat, pour les compiler.
|    alias/ | Extension Alias.
|       alias.c | Fonctions principales pour les alias.
|       alias-command.c | Commandes Alias.
|       alias-completion.c | Complétions pour Alias.
|       alias-config.c | Options de configuration des alias (fichier alias.conf).
|       alias-info.c | Info/infolists/hdata pour les alias.
|    spell/ | Extension Spell.
|       spell.c | Fonctions principales pour Spell.
|       spell-bar-item.c | Objets de barre Spell.
|       spell-command.c | Commandes Spell.
|       spell-completion.c | Complétions pour Spell.
|       spell-config.c | Options de configuration pour Spell (fichier spell.conf).
|       spell-info.c | Info/infolists/hdata pour Spell.
|       spell-speller.c | Gestion des correcteurs orthographiques.
|    buflist/ | Extension Buflist.
|       buflist.c | Fonctions principales de Buflist.
|       buflist-bar-item.c | Objets de barre Buflist.
|       buflist-command.c | Commandes pour Buflist.
|       buflist-config.c | Options de configuration pour Buflist (fichier buflist.conf).
|       buflist-info.c | Info/infolists/hdata pour Buflist.
|       buflist-mouse.c | Actions souris pour Buflist.
|    charset/ | Extension Charset.
|       charset.c | Fonctions pour Charset.
|    exec/ | Extension Exec.
|       exec.c | Fonctions principales de Exec.
|       exec-buffer.c | Tampon Exec.
|       exec-command.c | Commandes pour Exec.
|       exec-completion.c | Complétions pour Exec.
|       exec-config.c | Options de configuration pour Exec (fichier exec.conf).
|    fifo/ | Extension Fifo.
|       fifo.c | Fonctions principales de Fifo.
|       fifo-command.c | Commandes pour Fifo.
|       fifo-config.c | Options de configuration pour Fifo (fichier fifo.conf).
|       fifo-info.c | Info/infolists/hdata pour Fifo.
|    fset/ | Extension Fset.
|       fset.c | Fonctions principales de Fset.
|       fset-bar-item.c | Objets de barre Fset.
|       fset-buffer.c | Tampon Fset.
|       fset-command.c | Commandes pour Fset.
|       fset-completion.c | Complétions pour Fset.
|       fset-config.c | Options de configuration pour Fset (fichier fset.conf).
|       fset-info.c | Info/infolists/hdata pour Fset.
|       fset-mouse.c | Actions souris pour Fset.
|       fset-option.c | Gestion des options Fset.
|    guile/ | Extension Guile (scheme).
|       weechat-guile.c | Fonctions principales pour Guile (chargement/déchargement des scripts, exécution de code Guile).
|       weechat-guile-api.c | Fonctions de l'API script Guile.
|    irc/ | Extension IRC (Internet Relay Chat).
|       irc.c | Fonctions principales IRC.
|       irc-bar-item.c | Objets de barre IRC.
|       irc-batch.c | Évènements batch IRC.
|       irc-buffer.c | Tampons IRC.
|       irc-channel.c | Canaux IRC.
|       irc-color.c | Couleurs IRC.
|       irc-command.c | Commandes IRC.
|       irc-completion.c | Complétions IRC.
|       irc-config.c | Options de configuration IRC (fichier irc.conf).
|       irc-ctcp.c | CTCP IRC.
|       irc-debug.c | Fonctions de debug IRC.
|       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, ...).
|       irc-msgbuffer.c | Tampon cible pour les messages IRC.
|       irc-nick.c | Pseudos IRC.
|       irc-notify.c | Listes de notification IRC.
|       irc-protocol.c | Protocole IRC (RFCs 1459/2810/2811/2812/2813/7194).
|       irc-raw.c | Tampon des données brutes IRC.
|       irc-redirect.c | Redirection de la sortie des commandes IRC.
|       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).
|       weechat-js-api.cpp | Fonctions de l'API script JavaScript.
|       weechat-js-v8.cpp | Fonctions JavaScript v8.
|    logger/ | Extension Logger.
|       logger.c | Fonctions principales pour Logger.
|       logger-backlog.c | Fonctions de backlog pour Logger.
|       logger-buffer.c | Gestion des listes de tampons pour Logger.
|       logger-command.c | Commandes de Logger.
|       logger-config.c | Options de configuration pour Logger (fichier logger.conf).
|       logger-info.c | Info/infolists/hdata pour Logger.
|       logger-tail.c | Fonctions pour obtenir les dernières lignes d'un fichier.
|    lua/ | Extension Lua.
|       weechat-lua.c | Fonctions principales pour Lua (chargement/déchargement des scripts, exécution de code Lua).
|       weechat-lua-api.c | Fonctions de l'API script Lua.
|    perl/ | Extension Perl.
|       weechat-perl.c | Fonctions principales pour Perl (chargement/déchargement des scripts, exécution de code Perl).
|       weechat-perl-api.c | Fonctions de l'API script Perl.
|    php/ | Extension PHP.
|       weechat-php.c | Fonctions principales pour PHP (chargement/déchargement des scripts, exécution de code PHP).
|       weechat-php-api.c | Fonctions de l'API script PHP.
|    python/ | Extension Python.
|       weechat-python.c | Fonctions principales pour Python (chargement/déchargement des scripts, exécution de code Python).
|       weechat-python-api.c | Fonctions de l'API script Python.
|    relay/ | Extension Relay (proxy IRC et relai pour des interfaces distantes).
|       relay.c | Fonctions principales de Relay.
|       relay-auth.c | Authentification des clients.
|       relay-buffer.c | Tampon Relay.
|       relay-client.c | Clients du relai.
|       relay-command.c | Commandes de Relay.
|       relay-completion.c | Complétions de Relay.
|       relay-config.c | Options de configuration pour Relay (fichier relay.conf).
|       relay-info.c | Info/infolists/hdata pour Relay.
|       relay-network.c | Fonctions de réseau pour Relay.
|       relay-raw.c | Tampon des données brutes de Relay.
|       relay-server.c | Serveur Relay.
|       relay-upgrade.c | Sauvegarde/restauration des données Relay lors de la mise à jour de WeeChat.
|       relay-websocket.c | Fonctions pour le serveur WebSocket (RFC 6455).
|       irc/ | Proxy IRC.
|          relay-irc.c | Fonctions principales pour le proxy IRC.
|       weechat/ | Relai pour les interfaces distantes.
|          relay-weechat.c | Relai pour les interfaces distantes (fonctions principales).
|          relay-weechat-msg.c | Envoi de messages binaires aux clients.
|          relay-weechat-nicklist.c | Fonctions pour la liste de pseudos.
|          relay-weechat-protocol.c | Lecture des commandes des clients.
|    ruby/ | Extension Ruby.
|       weechat-ruby.c | Fonctions principales pour Ruby (chargement/déchargement des scripts, exécution de code Ruby).
|       weechat-ruby-api.c | Fonctions de l'API script Ruby.
|    script/ | Gestionnaire de scripts.
|       script.c | Fonctions principales du gestionnaire de scripts.
|       script-action.c | Actions sur les scripts (chargement/déchargement, installation/suppression, ...).
|       script-buffer.c | Tampon pour le gestionnaire de scripts.
|       script-command.c | Commandes pour le gestionnaire de scripts.
|       script-completion.c | Complétions pour le gestionnaire de scripts.
|       script-config.c | Options de configuration pour le gestionnaire de scripts (fichier script.conf).
|       script-info.c | Info/infolists/hdata pour le gestionnaire de scripts.
|       script-mouse.c | Actions souris pour le gestionnaire de scripts.
|       script-repo.c | Téléchargement et lecture du dépôt de scripts.
|    tcl/ | Extension Tcl.
|       weechat-tcl.c | Fonctions principales pour Tcl (chargement/déchargement des scripts, exécution de code Tcl).
|       weechat-tcl-api.c | Fonctions de l'API script Tcl.
|    trigger/ | Extension Trigger.
|       trigger.c | Fonctions principales de Trigger.
|       trigger-buffer.c | Tampon Trigger.
|       trigger-callback.c | Fonctions de rappel de Trigger.
|       trigger-command.c | Commandes pour Trigger.
|       trigger-completion.c | Complétions pour Trigger.
|       trigger-config.c | Options de configuration pour Trigger (fichier trigger.conf).
|    typing/ | Extension Typing.
|       typing.c | Fonctions principales de Typing.
|       typing-bar-item.c | Objets de barre Typing.
|       typing-config.c | Options de configuration pour Typing (fichier typing.conf).
|       typing-status.c | Statut d'écriture de messages sur les tampons.
|    xfer/ | Extension Xfer (IRC DCC fichier/discussion).
|       xfer.c | Fonctions principales de Xfer.
|       xfer-buffer.c | Tampon Xfer.
|       xfer-chat.c | Discussion DCC.
|       xfer-command.c | Commandes pour Xfer.
|       xfer-completion.c | Complétions pour Xfer.
|       xfer-config.c | Options de configuration pour Xfer (fichier xfer.conf).
|       xfer-dcc.c | Transfert de fichier par DCC.
|       xfer-file.c | Fonctions pour les fichiers dans Xfer.
|       xfer-info.c | Info/infolists/hdata pour Xfer.
|       xfer-network.c | Fonctions réseau pour Xfer.
|       xfer-upgrade.c | Sauvegarde/restauration des données Xfer lors de la mise à jour de WeeChat.
| Chemin/fichier | Description
| plugins/ | Racine des extensions.
|    plugin.c | Gestion des extensions (chargement/déchargement des bibliothèques C dynamiques).
|    plugin-api.c | Fonctions supplémentaires pour l'API extension (enveloppes autour des fonctions du cœur de WeeChat).
|    plugin-api-info.c | Fonctions supplémentaires info/infolist pour l'API extension.
|    plugin-config.c | Options de configuration des extensions (fichier plugins.conf).
|    plugin-script.c | Fonctions communes utilisés par les extensions pour les scripts.
|    plugin-script-api.c | Fonctions pour l'API script : enveloppes autour de quelques fonctions de l'API extension.
|    plugin-script-config.c | Options de configuration des extensions pour les scripts (fichiers python.conf, perl.conf, ...).
|    weechat-plugin.h | En-tête destiné à être distribué avec les extensions WeeChat, pour les compiler.
|    alias/ | Extension Alias.
|       alias.c | Fonctions principales pour les alias.
|       alias-command.c | Commandes Alias.
|       alias-completion.c | Complétions pour Alias.
|       alias-config.c | Options de configuration des alias (fichier alias.conf).
|       alias-info.c | Info/infolists/hdata pour les alias.
|    spell/ | Extension Spell.
|       spell.c | Fonctions principales pour Spell.
|       spell-bar-item.c | Objets de barre Spell.
|       spell-command.c | Commandes Spell.
|       spell-completion.c | Complétions pour Spell.
|       spell-config.c | Options de configuration pour Spell (fichier spell.conf).
|       spell-info.c | Info/infolists/hdata pour Spell.
|       spell-speller.c | Gestion des correcteurs orthographiques.
|    buflist/ | Extension Buflist.
|       buflist.c | Fonctions principales de Buflist.
|       buflist-bar-item.c | Objets de barre Buflist.
|       buflist-command.c | Commandes pour Buflist.
|       buflist-completion.c | Complétions pour Buflist.
|       buflist-config.c | Options de configuration pour Buflist (fichier buflist.conf).
|       buflist-info.c | Info/infolists/hdata pour Buflist.
|       buflist-mouse.c | Actions souris pour Buflist.
|    charset/ | Extension Charset.
|       charset.c | Fonctions pour Charset.
|    exec/ | Extension Exec.
|       exec.c | Fonctions principales de Exec.
|       exec-buffer.c | Tampon Exec.
|       exec-command.c | Commandes pour Exec.
|       exec-completion.c | Complétions pour Exec.
|       exec-config.c | Options de configuration pour Exec (fichier exec.conf).
|    fifo/ | Extension Fifo.
|       fifo.c | Fonctions principales de Fifo.
|       fifo-command.c | Commandes pour Fifo.
|       fifo-config.c | Options de configuration pour Fifo (fichier fifo.conf).
|       fifo-info.c | Info/infolists/hdata pour Fifo.
|    fset/ | Extension Fset.
|       fset.c | Fonctions principales de Fset.
|       fset-bar-item.c | Objets de barre Fset.
|       fset-buffer.c | Tampon Fset.
|       fset-command.c | Commandes pour Fset.
|       fset-completion.c | Complétions pour Fset.
|       fset-config.c | Options de configuration pour Fset (fichier fset.conf).
|       fset-info.c | Info/infolists/hdata pour Fset.
|       fset-mouse.c | Actions souris pour Fset.
|       fset-option.c | Gestion des options Fset.
|    guile/ | Extension Guile (scheme).
|       weechat-guile.c | Fonctions principales pour Guile (chargement/déchargement des scripts, exécution de code Guile).
|       weechat-guile-api.c | Fonctions de l'API script Guile.
|    irc/ | Extension IRC (Internet Relay Chat).
|       irc.c | Fonctions principales IRC.
|       irc-bar-item.c | Objets de barre IRC.
|       irc-batch.c | Évènements batch IRC.
|       irc-buffer.c | Tampons IRC.
|       irc-channel.c | Canaux IRC.
|       irc-color.c | Couleurs IRC.
|       irc-command.c | Commandes IRC.
|       irc-completion.c | Complétions IRC.
|       irc-config.c | Options de configuration IRC (fichier irc.conf).
|       irc-ctcp.c | CTCP IRC.
|       irc-debug.c | Fonctions de debug IRC.
|       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-list.c | Tampon pour la réponse à la commande /list.
|       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, ...).
|       irc-msgbuffer.c | Tampon cible pour les messages IRC.
|       irc-nick.c | Pseudos IRC.
|       irc-notify.c | Listes de notification IRC.
|       irc-protocol.c | Protocole IRC (RFCs 1459/2810/2811/2812/2813/7194).
|       irc-raw.c | Tampon des données brutes IRC.
|       irc-redirect.c | Redirection de la sortie des commandes IRC.
|       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).
|       weechat-js-api.cpp | Fonctions de l'API script JavaScript.
|       weechat-js-v8.cpp | Fonctions JavaScript v8.
|    logger/ | Extension Logger.
|       logger.c | Fonctions principales pour Logger.
|       logger-backlog.c | Fonctions de backlog pour Logger.
|       logger-buffer.c | Gestion des listes de tampons pour Logger.
|       logger-command.c | Commandes de Logger.
|       logger-config.c | Options de configuration pour Logger (fichier logger.conf).
|       logger-info.c | Info/infolists/hdata pour Logger.
|       logger-tail.c | Fonctions pour obtenir les dernières lignes d'un fichier.
|    lua/ | Extension Lua.
|       weechat-lua.c | Fonctions principales pour Lua (chargement/déchargement des scripts, exécution de code Lua).
|       weechat-lua-api.c | Fonctions de l'API script Lua.
|    perl/ | Extension Perl.
|       weechat-perl.c | Fonctions principales pour Perl (chargement/déchargement des scripts, exécution de code Perl).
|       weechat-perl-api.c | Fonctions de l'API script Perl.
|    php/ | Extension PHP.
|       weechat-php.c | Fonctions principales pour PHP (chargement/déchargement des scripts, exécution de code PHP).
|       weechat-php-api.c | Fonctions de l'API script PHP.
|    python/ | Extension Python.
|       weechat-python.c | Fonctions principales pour Python (chargement/déchargement des scripts, exécution de code Python).
|       weechat-python-api.c | Fonctions de l'API script Python.
|    relay/ | Extension Relay (proxy IRC et relai pour des interfaces distantes).
|       relay.c | Fonctions principales de Relay.
|       relay-auth.c | Authentification des clients.
|       relay-buffer.c | Tampon Relay.
|       relay-client.c | Clients du relai.
|       relay-command.c | Commandes de Relay.
|       relay-completion.c | Complétions de Relay.
|       relay-config.c | Options de configuration pour Relay (fichier relay.conf).
|       relay-http.c | Fonctions HTTP.
|       relay-info.c | Info/infolists/hdata pour Relay.
|       relay-network.c | Fonctions de réseau pour Relay.
|       relay-raw.c | Tampon des données brutes de Relay.
|       relay-remote.c | Relai distant.
|       relay-server.c | Serveur Relay.
|       relay-upgrade.c | Sauvegarde/restauration des données Relay lors de la mise à jour de WeeChat.
|       relay-websocket.c | Fonctions pour le serveur WebSocket (RFC 6455).
|       api/ | Relai pour les interfaces distantes (en utilisant une API REST HTTP).
|          relay-api.c | Fonctions principales pour l'API REST HTTP.
|          relay-api-msg.c | Envoi de messages JSON aux clients.
|          relay-api-protocol.c | Protocole HTTP REST API.
|          remote/ | Relai distant.
|             relay-remote-event.c | Traitement des évènements reçus du relai distant.
|             relay-remote-network.c | Fonctions réseau pour le relai distant.
|       irc/ | Proxy IRC.
|          relay-irc.c | Fonctions principales pour le proxy IRC.
|       weechat/ | Relai pour les interfaces distantes (en utilisant le protocole binaire "weechat").
|          relay-weechat.c | Relai pour les interfaces distantes (fonctions principales).
|          relay-weechat-msg.c | Envoi de messages binaires aux clients.
|          relay-weechat-nicklist.c | Fonctions pour la liste de pseudos.
|          relay-weechat-protocol.c | Lecture des commandes des clients.
|    ruby/ | Extension Ruby.
|       weechat-ruby.c | Fonctions principales pour Ruby (chargement/déchargement des scripts, exécution de code Ruby).
|       weechat-ruby-api.c | Fonctions de l'API script Ruby.
|    script/ | Gestionnaire de scripts.
|       script.c | Fonctions principales du gestionnaire de scripts.
|       script-action.c | Actions sur les scripts (chargement/déchargement, installation/suppression, ...).
|       script-buffer.c | Tampon pour le gestionnaire de scripts.
|       script-command.c | Commandes pour le gestionnaire de scripts.
|       script-completion.c | Complétions pour le gestionnaire de scripts.
|       script-config.c | Options de configuration pour le gestionnaire de scripts (fichier script.conf).
|       script-info.c | Info/infolists/hdata pour le gestionnaire de scripts.
|       script-mouse.c | Actions souris pour le gestionnaire de scripts.
|       script-repo.c | Téléchargement et lecture du dépôt de scripts.
|    tcl/ | Extension Tcl.
|       weechat-tcl.c | Fonctions principales pour Tcl (chargement/déchargement des scripts, exécution de code Tcl).
|       weechat-tcl-api.c | Fonctions de l'API script Tcl.
|    trigger/ | Extension Trigger.
|       trigger.c | Fonctions principales de Trigger.
|       trigger-buffer.c | Tampon Trigger.
|       trigger-callback.c | Fonctions de rappel de Trigger.
|       trigger-command.c | Commandes pour Trigger.
|       trigger-completion.c | Complétions pour Trigger.
|       trigger-config.c | Options de configuration pour Trigger (fichier trigger.conf).
|    typing/ | Extension Typing.
|       typing.c | Fonctions principales de Typing.
|       typing-bar-item.c | Objets de barre Typing.
|       typing-config.c | Options de configuration pour Typing (fichier typing.conf).
|       typing-status.c | Statut d'écriture de messages sur les tampons.
|    xfer/ | Extension Xfer (IRC DCC fichier/discussion).
|       xfer.c | Fonctions principales de Xfer.
|       xfer-buffer.c | Tampon Xfer.
|       xfer-chat.c | Discussion DCC.
|       xfer-command.c | Commandes pour Xfer.
|       xfer-completion.c | Complétions pour Xfer.
|       xfer-config.c | Options de configuration pour Xfer (fichier xfer.conf).
|       xfer-dcc.c | Transfert de fichier par DCC.
|       xfer-file.c | Fonctions pour les fichiers dans Xfer.
|       xfer-info.c | Info/infolists/hdata pour Xfer.
|       xfer-network.c | Fonctions réseau pour Xfer.
|       xfer-upgrade.c | Sauvegarde/restauration des données Xfer lors de la mise à jour de WeeChat.
|===
[[sources_tests]]
@@ -389,81 +402,119 @@ Le cœur de WeeChat est situé dans les répertoires suivants :
[width="100%",cols="2m,3",options="header"]
|===
| Chemin/fichier | Description
| tests/ | Racine des tests.
|    tests.cpp | Programme utilisé pour lancer tous les tests.
|    tests-record.cpp | Enregistrement et recherche dans les messages affichés.
|    scripts/ | Racine des tests de l'API script.
|       test-scripts.cpp | Programme utilisé pour lancer les tests de l'API script.
|       python/ | Scripts Python pour générer et lancer les tests de l'API script.
|          testapigen.py | Script Python générant des scripts dans tous les languages pour tester l'API script.
|          testapi.py | Script Python avec les tests API, utilisé par le script testapigen.py.
|          unparse.py | Conversion de code Python vers d'autres langages, utilisé par le script testapigen.py.
|    unit/ | Racine des tests unitaires.
|       test-plugins.cpp | Tests : extensions.
|       core/ | Racine des tests unitaires pour le cœur.
|          test-core-arraylist.cpp | Tests : listes avec tableau (« arraylists »).
|          test-core-calc.cpp | Tests : calcul d'expressions.
|          test-core-command.cpp | Tests : commandes.
|          test-core-config-file.cpp | Tests : fichiers de configuration.
|          test-core-crypto.cpp | Tests : fonctions cryptographiques.
|          test-core-dir.cpp | Tests : répertoires/fichiers.
|          test-core-eval.cpp | Tests : évaluation d'expressions.
|          test-core-hashtble.cpp | Tests : tables de hachage.
|          test-core-hdata.cpp | Tests : hdata.
|          test-core-hook.cpp | Tests : hooks.
|          test-core-infolist.cpp | Tests : infolists.
|          test-core-list.cpp | Tests : listes.
|          test-core-network.cpp | Tests : fonctions réseau.
|          test-core-secure.cpp | Tests : données sécurisées.
|          test-core-signal.cpp | Tests : signaux.
|          test-core-string.cpp | Tests : chaînes.
|          test-core-url.cpp | Tests : URLs.
|          test-core-utf8.cpp | Tests : UTF-8.
|          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-key.cpp | Tests : touches.
|          test-gui-line.cpp | Tests : lignes.
|          test-gui-nick.cpp | Tests : pseudos.
|       plugins/ | Racine des tests unitaires pour les extensions.
|          irc/ | Racine des tests unitaires pour l'extension IRC.
|             test-irc-batch.cpp | Tests : évènements batch IRC.
|             test-irc-buffer.cpp | Tests : tampons IRC.
|             test-irc-channel.cpp | Tests : canaux IRC.
|             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.cpp | Tests : logger.
|             test-logger-backlog.cpp | Tests : backlog logger.
|             test-logger-tail.cpp | Tests : fonctions "tail".
|          trigger/ | Racine des tests unitaires pour l'extension trigger.
|             test-trigger.cpp | Tests : triggers.
|             test-trigger-config.cpp | Tests : configuration trigger.
|          typing/ | Racine des tests unitaires pour l'extension typing.
|             test-typing.cpp | Tests : typing.
|             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.
|             irc/ | Racine des tests unitaires pour le protocole relay "irc".
|                test-relay-irc.cpp | Tests : Protocole relay "irc".
|          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.
| Chemin/fichier | Description
| tests/ | Racine des tests.
|    tests.cpp | Programme utilisé pour lancer tous les tests.
|    tests-record.cpp | Enregistrement et recherche dans les messages affichés.
|    scripts/ | Racine des tests de l'API script.
|       test-scripts.cpp | Programme utilisé pour lancer les tests de l'API script.
|       python/ | Scripts Python pour générer et lancer les tests de l'API script.
|          testapigen.py | Script Python générant des scripts dans tous les languages pour tester l'API script.
|          testapi.py | Script Python avec les tests API, utilisé par le script testapigen.py.
|          unparse.py | Conversion de code Python vers d'autres langages, utilisé par le script testapigen.py.
|    unit/ | Racine des tests unitaires.
|       test-plugins.cpp | Tests : extensions.
|       test-plugin-api-info.cpp | Tests : fonctions info de l'API extension.
|       test-plugin-config.cpp | Tests : fonctions config de l'extension.
|       core/ | Racine des tests unitaires pour le cœur.
|          test-core-arraylist.cpp | Tests : listes avec tableau (« arraylists »).
|          test-core-calc.cpp | Tests : calcul d'expressions.
|          test-core-command.cpp | Tests : commandes.
|          test-core-config-file.cpp | Tests : fichiers de configuration.
|          test-core-crypto.cpp | Tests : fonctions cryptographiques.
|          test-core-dir.cpp | Tests : répertoires/fichiers.
|          test-core-eval.cpp | Tests : évaluation d'expressions.
|          test-core-hashtble.cpp | Tests : tables de hachage.
|          test-core-hdata.cpp | Tests : hdata.
|          test-core-hook.cpp | Tests : hooks.
|          test-core-infolist.cpp | Tests : infolists.
|          test-core-list.cpp | Tests : listes.
|          test-core-network.cpp | Tests : fonctions réseau.
|          test-core-secure.cpp | Tests : données sécurisées.
|          test-core-signal.cpp | Tests : signaux.
|          test-core-string.cpp | Tests : chaînes.
|          test-core-url.cpp | Tests : URLs.
|          test-core-utf8.cpp | Tests : UTF-8.
|          test-core-util.cpp | Tests : fonctions utiles.
|          test-core-sys.cpp | Tests : fonctions système.
|          hook/ | Racine des tests pour les hooks.
|             test-hook-command.cpp | Tests : hooks "command".
|             test-hook-command-run.cpp | Tests: hooks "command_run".
|             test-hook-completion.cpp | Tests: hooks "completion".
|             test-hook-config.cpp | Tests: hooks "config".
|             test-hook-connect.cpp | Tests: hooks "connect".
|             test-hook-fd.cpp | Tests: hooks "fd".
|             test-hook-focus.cpp | Tests: hooks "focus".
|             test-hook-hdata.cpp | Tests: hooks "hdata".
|             test-hook-hsignal.cpp | Tests: hooks "hsignal".
|             test-hook-info-hashtable.cpp | Tests: hooks "info_hashtable".
|             test-hook-info.cpp | Tests: hooks "info".
|             test-hook-infolist.cpp | Tests: hooks "infolist".
|             test-hook-line.cpp | Tests: hooks "line".
|             test-hook-modifier.cpp | Tests : hooks "modifier".
|             test-hook-print.cpp | Tests: hooks "print".
|             test-hook-process.cpp | Tests: hooks "process".
|             test-hook-signal.cpp | Tests: hooks "signal".
|             test-hook-timer.cpp | Tests: hooks "timer".
|             test-hook-url.cpp | Tests: hooks "url".
|       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-hotlist.cpp | Tests : fonctions hotlist.
|          test-gui-input.cpp | Tests : fonctions d'entrée.
|          test-gui-key.cpp | Tests : touches.
|          test-gui-line.cpp | Tests : lignes.
|          test-gui-nick.cpp | Tests : pseudos.
|          test-gui-nicklist.cpp | Tests : fonctions de liste de pseudos.
|          curses/ | Racine des tests unitaires pour l'interface Curses.
|             test-gui-curses-mouse.cpp | Tests : souris (interface Curses).
|       plugins/ | Racine des tests unitaires pour les extensions.
|          irc/ | Racine des tests unitaires pour l'extension IRC.
|             test-irc-batch.cpp | Tests : évènements batch IRC.
|             test-irc-buffer.cpp | Tests : tampons IRC.
|             test-irc-channel.cpp | Tests : canaux IRC.
|             test-irc-color.cpp | Tests : couleurs IRC.
|             test-irc-command.cpp | Tests : commandes IRC.
|             test-irc-config.cpp | Tests : configuration IRC.
|             test-irc-ctcp.cpp | Tests : CTCP IRC.
|             test-irc-ignore.cpp | Tests : ignores IRC.
|             test-irc-info.cpp | Tests : infos IRC.
|             test-irc-join.cpp | Tests : fonctions de join IRC.
|             test-irc-list.cpp | Tests : tampon IRC pour la réponse à la commande /list.
|             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.cpp | Tests : logger.
|             test-logger-backlog.cpp | Tests : backlog logger.
|             test-logger-tail.cpp | Tests : fonctions "tail".
|          trigger/ | Racine des tests unitaires pour l'extension trigger.
|             test-trigger.cpp | Tests : triggers.
|             test-trigger-config.cpp | Tests : configuration trigger.
|          typing/ | Racine des tests unitaires pour l'extension typing.
|             test-typing.cpp | Tests : typing.
|             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.
|             test-relay-http.cpp | Tests : fonctions HTTP pour l'extension Relay.
|             test-relay-remote.cpp | Tests : fonctions remote pour l'extension Relay.
|             test-relay-websocket.cpp | Tests : fonctions websocket pour l'extension Relay.
|             api/ | Racine des tests unitaires pour le protocole relay "api".
|                test-relay-api.cpp | Tests : protocole relay "api" : fonctions générales.
|                test-relay-api-msg.cpp | Tests : protocole relay "api" : messages.
|                test-relay-api-protocol.cpp | Tests : protocole relay "api" : protocole.
|             irc/ | Racine des tests unitaires pour le protocole relay "irc".
|                test-relay-irc.cpp | Tests : protocole relay "irc".
|          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]]
@@ -523,7 +574,7 @@ Exemple en C :
/*
* weechat.c - core functions for WeeChat
*
* Copyright (C) 2023 Your Name <your@email.com>
* Copyright (C) 2024 Your Name <your@email.com>
*
* This file is part of WeeChat, the extensible chat client.
*
@@ -547,8 +598,7 @@ Exemple en C :
Quelques règles basiques que vous *devez* suivre quand vous écrivez du code C :
* Utilisez 4 espaces pour l'indentation. N'utilisez pas de tabulations, c'est le
mal.
* Utilisez 4 espaces pour l'indentation (pas de tabulations).
* Essayez de ne pas dépasser 80 caractères par ligne, sauf si cela est
nécessaire pour améliorer la lisibilité.
* Utilisez les commentaires `+/* comment */+` (pas de style C99 comme
@@ -770,7 +820,7 @@ Exemples :
[width="100%",cols="2m,3",options="header"]
|===
| Répertoire | Fichiers
| src/core/ | weechat.c, wee-backtrace.c, wee-command.c, ...
| src/core/ | weechat.c, core-backtrace.c, core-command.c, ...
| src/gui/ | gui-bar.c, gui-bar-item.c, gui-bar-window.c, ...
| src/gui/curses/ | gui-curses-bar.c, gui-curses-bar-window.c, gui-curses-chat.c, ...
| src/plugins/ | plugin.c, plugin-api.c, plugin-api-info.c, plugin-config.c, plugin-script.c, ...
@@ -779,7 +829,7 @@ Exemples :
|===
Les en-têtes des fichiers C doivent avoir le même nom que le fichier, par
exemple _wee-command.h_ pour le fichier _wee-command.c_.
exemple _core-command.h_ pour le fichier _core-command.c_.
[[naming_convention_structures]]
==== Structures
+81 -24
View File
@@ -601,6 +601,34 @@ Si vous utilisez l'application Terminal sous macOS, activez l'option
"Use option as meta key" dans le menu Réglages/Clavier. Vous pouvez alors
utiliser la touche kbd:[Option] comme touche meta.
[[enter_key]]
=== Quelques touches comme Entrée ne fonctionnent pas, pourquoi ?
Si vous lancez WeeChat < 4.0.0 avec des fichiers de configuration créés par toute
version ≥ 4.0.0, les noms des touches sont invalides et de nombreuses touches
ne fonctionneront plus. +
Pour les réparer, quittez WeeChat, supprimez toutes les sections `[key*]` de
weechat.conf et démarrez WeeChat à nouveau : toutes les touches par défaut
seront recréées.
[[key_f11]]
=== La touche F11 maximise la fenêtre du terminal, comment puis-je faire défiler la liste de pseudos vers le haut ?
La touche kbd:[F11] est fréquemment utilisée par les terminaux pour maximiser
la fenêtre, et kbd:[F11]/kbd:[F12] sont les touches par défaut dans WeeChat
pour faire défiler la liste des pseudos.
Vous pouvez associer d'autres touches, par exemple kbd:[Shift+F11] et kbd:[Shift+F12],
avec WeeChat ≥ 4.0.0 :
----
/key bind shift-f11 /bar scroll nicklist * -100%
/key bind shift-f12 /bar scroll nicklist * +100%
----
Une autre solution est d'activer la souris (touche : kbd:[Alt+m]) et faire défiler
avec la roulette de la souris (voir aussi les questions sur la <<mouse,souris>>).
[[customize_key_bindings]]
=== Comment puis-je configurer les raccourcis clavier ?
@@ -631,6 +659,12 @@ et utiliser les commandes comme `/123` pour sauter au tampon n°123 :
/trigger add numberjump modifier "2000|input_text_for_buffer" "${tg_string} =~ ^/[0-9]+$" "=\/([0-9]+)=/buffer *${re:1}=" "" "" "none"
----
Pour un saut facile vers les tampons, vous pouvez aussi installer le script _go.py_ :
----
/script install go.py
----
[[global_history]]
=== Comment utiliser l'historique global (au lieu de l'historique du tampon) avec les touches haut et bas ?
@@ -949,35 +983,20 @@ link:weechat_user.fr.html#max_hotlist_level_nicks[hotlist_max_level_nicks_add ^
pour définir le niveau maximum de hotlist pour certains pseudos, par tampon,
ou groupe de tampons (comme des serveurs IRC).
Pour désactiver seulement les highlights, vous pouvez positionner la valeur à 2 :
Pour désactiver seulement les highlights, vous pouvez positionner la valeur à 2.
Pour le tampon courant :
----
/buffer set hotlist_max_level_nicks_add joe:2,mike:2
/buffer setauto hotlist_max_level_nicks_add joe:2,mike:2
----
Cependant, cette propriété de tampon n'est pas sauvegardée dans la configuration.
Pour automatiquement réappliquer ces propriétés de tampons, vous aurez besoin
du script _buffer_autoset.py_ :
Pour tous les canaux sur le serveur "libera":
----
/script install buffer_autoset.py
/set weechat.buffer.irc.libera.*.hotlist_max_level_nicks_add joe:2,mike:2
----
Par exemple, pour désactiver de manière permanente les highlights de "mike" sur
#weechat sur le serveur IRC libera :
----
/buffer_autoset add irc.libera.#weechat hotlist_max_level_nicks_add mike:2
----
Pour l'appliquer à l'ensemble du serveur libera :
----
/buffer_autoset add irc.libera hotlist_max_level_nicks_add mike:2
----
Pour plus d'exemples, voir `+/help buffer_autoset+`.
[[irc_target_buffer]]
=== Comment puis-je changer le serveur cible pour les commandes avec des tampons mélangés (comme le tampon avec les serveurs) ?
@@ -1114,7 +1133,8 @@ Vous pouvez essayer les astuces suivantes pour consommer moins de mémoire :
Vous pouvez suivre les mêmes astuces que pour la <<memory_usage,mémoire>>, et
celles-ci :
* Cacher la barre "nicklist" : `/bar hide nicklist`.
* Cacher la barre "nicklist" : `/bar hide nicklist` (touche : kbd:[Alt+Shift+N]).
* Désactiver "buflist" : `/buflist disable` (touche : kbd:[Alt+Shift+B]).
* Supprimer l'affichage des secondes dans l'heure de la barre de statut :
`+/set weechat.look.item_time_format "%H:%M"+` (ceci est la valeur par défaut).
* Désactiver la vérification en temps réel des mots mal orthographiés dans la
@@ -1136,14 +1156,20 @@ Désactivez les réponses à toutes les demandes CTCP :
----
/set irc.ctcp.clientinfo ""
/set irc.ctcp.finger ""
/set irc.ctcp.source ""
/set irc.ctcp.time ""
/set irc.ctcp.userinfo ""
/set irc.ctcp.version ""
/set irc.ctcp.ping ""
----
Avec WeeChat < 4.1.0, d'autres demandes CTCP étaient répondues par défaut et
doivent être désactivées également :
----
/set irc.ctcp.finger ""
/set irc.ctcp.userinfo ""
----
Déchargez et désactivez le chargement automatique de l'extension "xfer"
(utilisée pour le DCC IRC) :
@@ -1182,6 +1208,37 @@ des mots de passes (s'ils ne sont pas stockés dans _sec.conf_ avec la commande
Voir le link:weechat_user.fr.html#files_and_directories[Guide utilisateur / Fichiers et répertoires ^↗^^]
pour plus d'informations sur les fichiers de configuration.
[[move_to_another_device]]
=== Je souhaite déplacer mon WeeChat vers une autre machine et garder ma configuration, que dois-je copier ?
Premièrement, vérifiez les répertoires utilisés par WeeChat avec cette commande :
`/debug dirs`. +
Les répertoires home/config et home/data doivent être copiés (tous les fichiers
et sous-répertoires).
Par exemple si vous utilisez les répertoires XDG (par défaut avec WeeChat ≥ 3.2),
les répertoires devraient être `$HOME/.config/weechat` et `$HOME/.local/share/weechat`. +
Si vous utilisez un répertoire unique (par défaut avec WeeChat < 3.2), le répertoire
devrait être `$HOME/.weechat`.
[IMPORTANT]
La version de WeeChat sur la nouvelle machine doit être supérieure ou égale
à celle de la machine initiale. +
La rétrogradation de la configuration n'est *PAS SUPPORTÉE* et pourrait la casser,
rendant WeeChat inutilisable.
Étapes :
. Quitter Weechat : `/quit` (ou `/upgrade -quit` si vous souhaitez restaurer
la session, qui inclut le contenu de tous les tampons).
. Copier tous les répertoires, fichiers et sous-répertoires vers la nouvelle machine
au même endroit, en préservant les noms et les permissions.
. Facultatif : copier tout fichier en dehors de ces répertoires que vous référencez
dans votre configuration (il n'est pas recommandé d'utiliser des fichiers en
dehors des répertoires WeeChat).
. Démarrer WeeChat sur la nouvelle machine : `weechat` (ou `weechat --upgrade`
si vous avez sauvé la session).
[[development]]
== Développement
File diff suppressed because it is too large Load Diff
+26 -10
View File
@@ -503,7 +503,9 @@ hda:
'buffer': 'ptr',
'y': 'int',
'date': 'tim',
'date_usec': 'int',
'date_printed': 'tim',
'date_usec_printed': 'int',
'str_time': 'str',
'tags_count': 'int',
'tags_array': 'arr',
@@ -521,7 +523,9 @@ hda:
buffer: '0x558d61ea3e60'
y: -1
date: 1588404926
date_usec: 118712
date_printed: 1588404926
date_usec_printed: 118712
str_time: 'F@0025209F@0024535F@0024026'
tags_count: 0
tags_array: []
@@ -537,7 +541,9 @@ hda:
buffer: '0x558d61ea3e60'
y: -1
date: 1588404930
date_usec: 25
date_printed: 1588404930
date_usec_printed: 25
str_time: 'F@0025209F@0024535F@0024030'
tags_count: 0
tags_array: []
@@ -717,6 +723,7 @@ inl:
nicklist_visible_count: 0
title: 'WeeChat 2.9-dev (C) 2003-2020 - https://weechat.org/'
input: 1
input_get_any_user_data: 0
input_get_unknown_commands: 0
input_get_empty: 0
input_multiline: 0
@@ -728,11 +735,14 @@ inl:
input_buffer_1st_display: 0
num_history: 0
text_search: 0
text_search_direction: 0
text_search_exact: 0
text_search_regex: 0
text_search_regex_compiled: '0x0'
text_search_where: 0
text_search_history: 0
text_search_found: 0
text_search_ptr_history: '0x0'
text_search_input: None
highlight_words: None
highlight_disable_regex: None
@@ -2075,16 +2085,18 @@ Données envoyées dans le hdata :
[width="100%",cols="3m,2,10",options="header"]
|===
| Nom | Type | Description
| buffer | pointeur | Pointeur vers le tampon.
| date | date/heure | Date du message.
| date_printed | date/heure | Date d'affichage du message.
| displayed | caractère | 1 si le message est affiché, 0 si le message est filtré (caché).
| notify_level | caractère | Niveau de notification : -1 = notification désactivée, 0 = bas, 1 = message, 2 = privé, 3 = highlight.
| highlight | caractère | 1 si la ligne a un highlight, sinon 0.
| tags_array | tableau de chaînes | Liste des étiquettes de la ligne.
| prefix | chaîne | Préfixe.
| message | chaîne | Message.
| Nom | Type | Description
| buffer | pointeur | Pointeur vers le tampon.
| date | date/heure | Date du message.
| date_usec | entier | Microsecondes de la date.
| date_printed | date/heure | Date d'affichage du message.
| date_usec_printed | entier | Microsecondes de la date d'affichage du message.
| displayed | caractère | 1 si le message est affiché, 0 si le message est filtré (caché).
| notify_level | caractère | Niveau de notification : -1 = notification désactivée, 0 = bas, 1 = message, 2 = privé, 3 = highlight.
| highlight | caractère | 1 si la ligne a un highlight, sinon 0.
| tags_array | tableau de chaînes | Liste des étiquettes de la ligne.
| prefix | chaîne | Préfixe.
| message | chaîne | Message.
|===
Exemple : nouveau message _hello!_ du pseudo _FlashCode_ sur le tampon
@@ -2097,7 +2109,9 @@ hda:
keys: {
'buffer': 'ptr',
'date': 'tim',
'date_usec': 'int',
'date_printed': 'tim',
'date_usec_printed': 'int',
'displayed': 'chr',
'notify_level': 'chr',
'highlight': 'chr',
@@ -2110,7 +2124,9 @@ hda:
__path: ['0x4a49600']
buffer: '0x4a715d0'
date: 1362728993
date_usec: 902765
date_printed: 1362728993
date_usec_printed: 902765
displayed: 1
notify_level: 1
highlight: 0
+2 -304
View File
@@ -570,316 +570,14 @@ link:weechat_plugin_api.fr.html[Référence API extension WeeChat ^↗^^].
Liste des fonctions de l'API script :
[width="100%",cols="1,5",options="header"]
|===
| Catégorie | Fonctions
| général
| register
| extensions
| plugin_get_name
| chaînes
| charset_set +
iconv_to_internal +
iconv_from_internal +
gettext +
ngettext +
strlen_screen +
string_match +
string_match_list +
string_has_highlight +
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 +
string_input_for_buffer +
string_eval_expression +
string_eval_path_home
| répertoires
| mkdir_home +
mkdir +
mkdir_parents
| listes triées
| list_new +
list_add +
list_search +
list_search_pos +
list_casesearch +
list_casesearch_pos +
list_get +
list_set +
list_next +
list_prev +
list_string +
list_size +
list_remove +
list_remove_all +
list_free
| fichiers de configuration
| config_new +
config_new_section +
config_search_section +
config_new_option +
config_search_option +
config_string_to_boolean +
config_option_reset +
config_option_set +
config_option_set_null +
config_option_unset +
config_option_rename +
config_option_is_null +
config_option_default_is_null +
config_boolean +
config_boolean_default +
config_integer +
config_integer_default +
config_string +
config_string_default +
config_color +
config_color_default +
config_write_option +
config_write_line +
config_write +
config_read +
config_reload +
config_option_free +
config_section_free_options +
config_section_free +
config_free +
config_get +
config_get_plugin +
config_is_set_plugin +
config_set_plugin +
config_set_desc_plugin +
config_unset_plugin
| associations de touches
| key_bind +
key_unbind
| 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 +
hook_command_run +
hook_timer +
hook_fd +
hook_process +
hook_process_hashtable +
hook_connect +
hook_line +
hook_print +
hook_signal +
hook_signal_send +
hook_hsignal +
hook_hsignal_send +
hook_config +
hook_completion +
hook_modifier +
hook_modifier_exec +
hook_info +
hook_info_hashtable +
hook_infolist +
hook_focus +
hook_set +
unhook +
unhook_all
| tampons
| buffer_new +
buffer_new_props +
current_buffer +
buffer_search +
buffer_search_main +
buffer_clear +
buffer_close +
buffer_merge +
buffer_unmerge +
buffer_get_integer +
buffer_get_string +
buffer_get_pointer +
buffer_set +
buffer_string_replace_local_var +
buffer_match_list
| 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 +
nicklist_search_group +
nicklist_add_nick +
nicklist_search_nick +
nicklist_remove_group +
nicklist_remove_nick +
nicklist_remove_all +
nicklist_group_get_integer +
nicklist_group_get_string +
nicklist_group_get_pointer +
nicklist_group_set +
nicklist_nick_get_integer +
nicklist_nick_get_string +
nicklist_nick_get_pointer +
nicklist_nick_set
| barres
| bar_item_search +
bar_item_new +
bar_item_update +
bar_item_remove +
bar_search +
bar_new +
bar_set +
bar_update +
bar_remove
| commandes
| command +
command_options
| complétion
| completion_new +
completion_search +
completion_get_string +
completion_list_add +
completion_free
| infos
| info_get +
info_get_hashtable
| infolists
| infolist_new +
infolist_new_item +
infolist_new_var_integer +
infolist_new_var_string +
infolist_new_var_pointer +
infolist_new_var_time +
infolist_get +
infolist_next +
infolist_prev +
infolist_reset_item_cursor +
infolist_search_var +
infolist_fields +
infolist_integer +
infolist_string +
infolist_pointer +
infolist_time +
infolist_free
| hdata
| hdata_get +
hdata_get_var_offset +
hdata_get_var_type_string +
hdata_get_var_array_size +
hdata_get_var_array_size_string +
hdata_get_var_hdata +
hdata_get_list +
hdata_check_pointer +
hdata_move +
hdata_search +
hdata_char +
hdata_integer +
hdata_long +
hdata_string +
hdata_pointer +
hdata_time +
hdata_hashtable +
hdata_compare +
hdata_update +
hdata_get_string
| mise à jour
| upgrade_new +
upgrade_write_object +
upgrade_read +
upgrade_close
|===
include::{autogendir}/autogen_scripting_functions.fr.adoc[tag=functions]
[[script_api_constants]]
=== Constantes
Liste des constantes de l'API script :
[width="100%",cols="1,5",options="header"]
|===
| Catégorie | Constantes
| codes retour
| `WEECHAT_RC_OK` (entier) +
`WEECHAT_RC_OK_EAT` (entier) +
`WEECHAT_RC_ERROR` (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) +
`WEECHAT_CONFIG_WRITE_ERROR` (entier) +
`WEECHAT_CONFIG_WRITE_MEMORY_ERROR` (entier) +
`WEECHAT_CONFIG_OPTION_SET_OK_CHANGED` (entier) +
`WEECHAT_CONFIG_OPTION_SET_OK_SAME_VALUE` (entier) +
`WEECHAT_CONFIG_OPTION_SET_ERROR` (entier) +
`WEECHAT_CONFIG_OPTION_SET_OPTION_NOT_FOUND` (entier) +
`WEECHAT_CONFIG_OPTION_UNSET_OK_NO_RESET` (entier) +
`WEECHAT_CONFIG_OPTION_UNSET_OK_RESET` (entier) +
`WEECHAT_CONFIG_OPTION_UNSET_OK_REMOVED` (entier) +
`WEECHAT_CONFIG_OPTION_UNSET_ERROR` (entier)
| 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) +
`WEECHAT_HOTLIST_MESSAGE` (chaîne) +
`WEECHAT_HOTLIST_PRIVATE` (chaîne) +
`WEECHAT_HOTLIST_HIGHLIGHT` (chaîne)
| hook process
| `WEECHAT_HOOK_PROCESS_RUNNING` (entier) +
`WEECHAT_HOOK_PROCESS_ERROR` (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) +
`WEECHAT_HOOK_CONNECT_PROXY_ERROR` (entier) +
`WEECHAT_HOOK_CONNECT_LOCAL_HOSTNAME_ERROR` (entier) +
`WEECHAT_HOOK_CONNECT_GNUTLS_INIT_ERROR` (entier) +
`WEECHAT_HOOK_CONNECT_GNUTLS_HANDSHAKE_ERROR` (entier) +
`WEECHAT_HOOK_CONNECT_MEMORY_ERROR` (entier) +
`WEECHAT_HOOK_CONNECT_TIMEOUT` (entier) +
`WEECHAT_HOOK_CONNECT_SOCKET_ERROR` (entier)
| hook signal
| `WEECHAT_HOOK_SIGNAL_STRING` (chaîne) +
`WEECHAT_HOOK_SIGNAL_INT` (chaîne) +
`WEECHAT_HOOK_SIGNAL_POINTER` (chaîne)
|===
include::{autogendir}/autogen_scripting_constants.fr.adoc[tag=constants]
[[common_tasks]]
== Tâches courantes
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -103,7 +103,7 @@ $HOME/.local/share/weechat/weechat.log::
WeeChat is written by Sébastien Helleu and contributors (complete list is in
the AUTHORS.adoc file).
Copyright (C) 2003-2023 {author}
Copyright (C) 2003-2024 {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
+82 -25
View File
@@ -644,6 +644,33 @@ If you are using the macOS Terminal app, enable the option
"Use option as meta key" in menu Settings/Keyboard. And then you can use the
kbd:[Option] key as meta key.
// TRANSLATION MISSING
[[enter_key]]
=== Some keys including Enter are not working, why?
If you run a WeeChat < 4.0.0 with configuration files created by any
version ≥ 4.0.0, the keys names become invalid and many keys won't work at all. +
To repair them, exit WeeChat, remove all sections `[key*]` from weechat.conf
and start WeeChat again: all default keys will be created.
// TRANSLATION MISSING
[[key_f11]]
=== Key F11 maximizes the terminal window, how can I scroll up the nicklist?
The key kbd:[F11] is commonly used by terminals to maximize the window, and
kbd:[F11]/kbd:[F12] are the default keys in WeeChat to scroll the nicklist.
You can bind other keys, for example kbd:[Shift+F11] and kbd:[Shift+F12],
with WeeChat ≥ 4.0.0:
----
/key bind shift-f11 /bar scroll nicklist * -100%
/key bind shift-f12 /bar scroll nicklist * +100%
----
Other solution is to enable mouse (key: kbd:[Alt+m]) and scroll with the mouse
wheel (see also questions about <<mouse,mouse>>).
[[customize_key_bindings]]
=== Come posso personalizzare le associazioni dei tasti?
@@ -676,6 +703,13 @@ commands like `/123` to jump to buffer #123:
/trigger add numberjump modifier "2000|input_text_for_buffer" "${tg_string} =~ ^/[0-9]+$" "=\/([0-9]+)=/buffer *${re:1}=" "" "" "none"
----
// TRANSLATION MISSING
For an easy jump to buffers, you can also install the _go.py_ script:
----
/script install go.py
----
[[global_history]]
=== Come si può usare la cronologia globale (invece di quella del buffer) con i tasti su e giù?
@@ -1005,41 +1039,25 @@ Altri script correlati:
[[disable_highlights_for_specific_nicks]]
=== How can I disable highlights for specific nicks?
// TRANSLATION MISSING
You can use the
link:weechat_user.it.html#max_hotlist_level_nicks[hotlist_max_level_nicks_add ^↗^^]
buffer property to set the max hotlist level for some nicks, per buffer,
or per group of buffers (like IRC servers).
To only disable highlights, you'd have to set it to 2:
To only disable highlights, you'd have to set it to 2.
For the current buffer:
----
/buffer set hotlist_max_level_nicks_add joe:2,mike:2
/buffer setauto hotlist_max_level_nicks_add joe:2,mike:2
----
This buffer property isn't stored in the configuration though.
To automatically reapply these buffer properties, you would need the
_buffer_autoset.py_ script:
For all channels on server "libera":
----
/script install buffer_autoset.py
/set weechat.buffer.irc.libera.*.hotlist_max_level_nicks_add joe:2,mike:2
----
For example, to permanently disable highlights from "mike" on #weechat
on the IRC server libera:
----
/buffer_autoset add irc.libera.#weechat hotlist_max_level_nicks_add mike:2
----
To apply it to the entire libera server instead:
----
/buffer_autoset add irc.libera hotlist_max_level_nicks_add mike:2
----
For more examples, see `+/help buffer_autoset+`.
[[irc_target_buffer]]
=== Come si può modificare il buffer destinazione per i comandi sui buffer uniti (come i buffer con i server)?
@@ -1179,7 +1197,10 @@ Esistono diversi trucchi per ottimizzare l'uso della memoria:
// TRANSLATION MISSING
You can follow same tips as for <<memory_usage,memory>>, and these ones:
* hide "nicklist" bar: `/bar hide nicklist`
// TRANSLATION MISSING
* hide "nicklist" bar: `/bar hide nicklist` (key: kbd:[Alt+Shift+N]).
// TRANSLATION MISSING
* Disable "buflist": `/buflist disable` (key: kbd:[Alt+Shift+B]).
* remove display of seconds in status bar time:
`+/set weechat.look.item_time_format "%H:%M"+` (this is the default value)
// TRANSLATION MISSING
@@ -1205,14 +1226,21 @@ Disable answers to all CTCP queries:
----
/set irc.ctcp.clientinfo ""
/set irc.ctcp.finger ""
/set irc.ctcp.source ""
/set irc.ctcp.time ""
/set irc.ctcp.userinfo ""
/set irc.ctcp.version ""
/set irc.ctcp.ping ""
----
// TRANSLATION MISSING
With WeeChat < 4.1.0, other CTCP queries were replied by default and must be
disabled as well:
----
/set irc.ctcp.finger ""
/set irc.ctcp.userinfo ""
----
// TRANSLATION MISSING
Unload and disable auto-loading of "xfer" plugin (used for IRC DCC):
@@ -1250,6 +1278,35 @@ stored in _sec.conf_ with the `/secure` command).
See the link:weechat_user.it.html#files_and_directories[User's guide / Files and directories ^↗^^]
for more information about configuration files.
// TRANSLATION MISSING
[[move_to_another_device]]
=== I want to move my WeeChat to another device and keep my config, what should I copy?
First check directories used by WeeChat with this command: `/debug dirs`. +
Directories home/config and home/data must be copied (all files and sub-directories).
For example if you're using XDG directories (default with WeeChat ≥ 3.2),
the directories should be `$HOME/.config/weechat` and `$HOME/.local/share/weechat`. +
If you're using a single directory (default with WeeChat < 3.2), the directory
should be `$HOME/.weechat`.
[IMPORTANT]
The WeeChat version on the new device must be greater than or equal to the version
on the initial device. +
Downgrading WeeChat configuration is *NOT SUPPORTED* and can break it,
leading to unusable WeeChat.
Steps:
. Quit Weechat: `/quit` (or `/upgrade -quit` if you want to resume the session,
which includes content of all buffers).
. Copy all directories, sub-directories and files to the new device, keeping
same names and permissions.
. Optional: copy any file outside these directories that you refer to in your
configuration (it's not recommended to use files outside WeeChat directories).
. Start WeeChat on the new device: `weechat` (or `weechat --upgrade` if you
saved the session).
[[development]]
== Sviluppo
File diff suppressed because it is too large Load Diff
+2 -315
View File
@@ -579,327 +579,14 @@ link:weechat_plugin_api.it.html[WeeChat plugin API reference ^↗^^].
Elenco di funzioni nelle API per gli script:
[width="100%",cols="1,5",options="header"]
|===
| Categoria | Funzioni
| generale
| register
| plugin
| plugin_get_name
| stringhe
| charset_set +
iconv_to_internal +
iconv_from_internal +
gettext +
ngettext +
strlen_screen +
string_match +
string_match_list +
string_has_highlight +
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 +
string_input_for_buffer +
string_eval_expression +
string_eval_path_home
| directory
| mkdir_home +
mkdir +
mkdir_parents
| liste ordinate
| list_new +
list_add +
list_search +
list_search_pos +
list_casesearch +
list_casesearch_pos +
list_get +
list_set +
list_next +
list_prev +
list_string +
list_size +
list_remove +
list_remove_all +
list_free
| file di configurazione
| config_new +
config_new_section +
config_search_section +
config_new_option +
config_search_option +
config_string_to_boolean +
config_option_reset +
config_option_set +
config_option_set_null +
config_option_unset +
config_option_rename +
config_option_is_null +
config_option_default_is_null +
config_boolean +
config_boolean_default +
config_integer +
config_integer_default +
config_string +
config_string_default +
config_color +
config_color_default +
config_write_option +
config_write_line +
config_write +
config_read +
config_reload +
config_option_free +
config_section_free_options +
config_section_free +
config_free +
config_get +
config_get_plugin +
config_is_set_plugin +
config_set_plugin +
config_set_desc_plugin +
config_unset_plugin
| combinazione tasti
| key_bind +
key_unbind
| visualizzazione
| prefix +
color +
// TRANSLATION MISSING
print (for python: prnt) +
// TRANSLATION MISSING
print_date_tags (for python: prnt_date_tags) +
// TRANSLATION MISSING
print_y (for python: prnt_y) +
// TRANSLATION MISSING
print_y_date_tags (for python: prnt_y_date_tags) +
log_print
| hook
| hook_command +
hook_command_run +
hook_timer +
hook_fd +
hook_process +
hook_process_hashtable +
hook_connect +
hook_line +
hook_print +
hook_signal +
hook_signal_send +
hook_hsignal +
hook_hsignal_send +
hook_config +
hook_completion +
hook_modifier +
hook_modifier_exec +
hook_info +
hook_info_hashtable +
hook_infolist +
hook_focus +
hook_set +
unhook +
unhook_all
| buffer
| buffer_new +
buffer_new_props +
current_buffer +
buffer_search +
buffer_search_main +
buffer_clear +
buffer_close +
buffer_merge +
buffer_unmerge +
buffer_get_integer +
buffer_get_string +
buffer_get_pointer +
buffer_set +
buffer_string_replace_local_var +
buffer_match_list
| finestre
| current_window +
window_search_with_buffer +
window_get_integer +
window_get_string +
window_get_pointer +
window_set_title
| lista nick
| nicklist_add_group +
nicklist_search_group +
nicklist_add_nick +
nicklist_search_nick +
nicklist_remove_group +
nicklist_remove_nick +
nicklist_remove_all +
nicklist_group_get_integer +
nicklist_group_get_string +
nicklist_group_get_pointer +
nicklist_group_set +
nicklist_nick_get_integer +
nicklist_nick_get_string +
nicklist_nick_get_pointer +
nicklist_nick_set
| barre
| bar_item_search +
bar_item_new +
bar_item_update +
bar_item_remove +
bar_search +
bar_new +
bar_set +
bar_update +
bar_remove
| comandi
| command +
command_options
// TRANSLATION MISSING
| completion
| completion_new +
completion_search +
completion_get_string +
completion_list_add +
completion_free
| info
| info_get +
info_get_hashtable
| liste info
| infolist_new +
infolist_new_item +
infolist_new_var_integer +
infolist_new_var_string +
infolist_new_var_pointer +
infolist_new_var_time +
infolist_get +
infolist_next +
infolist_prev +
infolist_reset_item_cursor +
infolist_search_var +
infolist_fields +
infolist_integer +
infolist_string +
infolist_pointer +
infolist_time +
infolist_free
| hdata
| hdata_get +
hdata_get_var_offset +
hdata_get_var_type_string +
hdata_get_var_array_size +
hdata_get_var_array_size_string +
hdata_get_var_hdata +
hdata_get_list +
hdata_check_pointer +
hdata_move +
hdata_search +
hdata_char +
hdata_integer +
hdata_long +
hdata_string +
hdata_pointer +
hdata_time +
hdata_hashtable +
hdata_compare +
hdata_update +
hdata_get_string
| aggiornamento
| upgrade_new +
upgrade_write_object +
upgrade_read +
upgrade_close
|===
include::{autogendir}/autogen_scripting_functions.it.adoc[tag=functions]
[[script_api_constants]]
=== Costanti
Elenco di costanti nelle API per gli script:
[width="100%",cols="1,5",options="header"]
|===
| Categoria | Costanti
// TRANSLATION MISSING
| codici restituiti
| `WEECHAT_RC_OK` (integer) +
`WEECHAT_RC_OK_EAT` (integer) +
`WEECHAT_RC_ERROR` (integer)
// TRANSLATION MISSING
| file di configurazione
| `WEECHAT_CONFIG_READ_OK` (integer) +
`WEECHAT_CONFIG_READ_MEMORY_ERROR` (integer) +
`WEECHAT_CONFIG_READ_FILE_NOT_FOUND` (integer) +
`WEECHAT_CONFIG_WRITE_OK` (integer) +
`WEECHAT_CONFIG_WRITE_ERROR` (integer) +
`WEECHAT_CONFIG_WRITE_MEMORY_ERROR` (integer) +
`WEECHAT_CONFIG_OPTION_SET_OK_CHANGED` (integer) +
`WEECHAT_CONFIG_OPTION_SET_OK_SAME_VALUE` (integer) +
`WEECHAT_CONFIG_OPTION_SET_ERROR` (integer) +
`WEECHAT_CONFIG_OPTION_SET_OPTION_NOT_FOUND` (integer) +
`WEECHAT_CONFIG_OPTION_UNSET_OK_NO_RESET` (integer) +
`WEECHAT_CONFIG_OPTION_UNSET_OK_RESET` (integer) +
`WEECHAT_CONFIG_OPTION_UNSET_OK_REMOVED` (integer) +
`WEECHAT_CONFIG_OPTION_UNSET_ERROR` (integer)
// TRANSLATION MISSING
| liste ordinate
| `WEECHAT_LIST_POS_SORT` (string) +
`WEECHAT_LIST_POS_BEGINNING` (string) +
`WEECHAT_LIST_POS_END` (string)
// TRANSLATION MISSING
| hotlist
| `WEECHAT_HOTLIST_LOW` (string) +
`WEECHAT_HOTLIST_MESSAGE` (string) +
`WEECHAT_HOTLIST_PRIVATE` (string) +
`WEECHAT_HOTLIST_HIGHLIGHT` (string)
// TRANSLATION MISSING
| hook su processo
| `WEECHAT_HOOK_PROCESS_RUNNING` (integer) +
`WEECHAT_HOOK_PROCESS_ERROR` (integer)
// TRANSLATION MISSING
| hook su connessione
| `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) +
`WEECHAT_HOOK_CONNECT_PROXY_ERROR` (integer) +
`WEECHAT_HOOK_CONNECT_LOCAL_HOSTNAME_ERROR` (integer) +
`WEECHAT_HOOK_CONNECT_GNUTLS_INIT_ERROR` (integer) +
`WEECHAT_HOOK_CONNECT_GNUTLS_HANDSHAKE_ERROR` (integer) +
`WEECHAT_HOOK_CONNECT_MEMORY_ERROR` (integer) +
`WEECHAT_HOOK_CONNECT_TIMEOUT` (integer) +
`WEECHAT_HOOK_CONNECT_SOCKET_ERROR` (integer)
// TRANSLATION MISSING
| hook su segnale
| `WEECHAT_HOOK_SIGNAL_STRING` (string) +
`WEECHAT_HOOK_SIGNAL_INT` (string) +
`WEECHAT_HOOK_SIGNAL_POINTER` (string)
|===
include::{autogendir}/autogen_scripting_constants.it.adoc[tag=constants]
[[common_tasks]]
== Compiti comuni
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -100,7 +100,7 @@ $HOME/.local/share/weechat/weechat.log::
WeeChat は Sébastien Helleu さんと貢献者によって作成されています
(完全なリストは AUTHORS.adoc ファイルを参照してください)。
著作権 (C) 2003-2023 {author}
著作権 (C) 2003-2024 {author}
WeeChat はフリーソフトウェアです。あなたはこれを、フリーソフトウェア財団によって発行された
GNU 一般公衆利用許諾契約書 (バージョン 2 か、希望によってはそれ以降のバージョンのうちどれか)
+445 -340
View File
@@ -119,100 +119,103 @@ WeeChat "core" は以下のディレクトリに配置されています:
[width="100%",cols="2m,3",options="header"]
|===
| パス/ファイル名 | 説明
| core/ | コア関数: エントリポイント、内部構造体
|    wee-arraylist.c | 配列リスト
|    wee-backtrace.c | クラッシュした際にバックトレースを表示
| パス/ファイル名 | 説明
| core/ | コア関数: エントリポイント、内部構造体
|    core-arraylist.c | 配列リスト
|    core-backtrace.c | クラッシュした際にバックトレースを表示
// TRANSLATION MISSING
|    wee-calc.c | Calculate result of expressions.
|    wee-command.c | WeeChat コアコマンド
|    wee-completion.c | デフォルト補完
|    wee-config-file.c | 設定ファイル管理
|    wee-config.c | WeeChat コアの設定オプション (weechat.conf ファイル)
|    core-calc.c | Calculate result of expressions.
|    core-command.c | WeeChat コアコマンド
|    core-completion.c | デフォルト補完
|    core-config-file.c | 設定ファイル管理
|    core-config.c | WeeChat コアの設定オプション (weechat.conf ファイル)
// TRANSLATION MISSING
|    wee-crypto.c | Cryptographic functions.
|    wee-debug.c | デバッグ用関数
|    core-crypto.c | Cryptographic functions.
|    core-debug.c | デバッグ用関数
// TRANSLATION MISSING
|    wee-dir.c | Directory/file functions.
|    core-dir.c | Directory/file functions.
// TRANSLATION MISSING
|    wee-doc.c | Build of files for documentation.
|    wee-eval.c | 内部変数へのリファレンスを含む式を評価
|    wee-hashtable.c | ハッシュテーブル
|    wee-hdata.c | hdata (ハッシュテーブルを用いて直接データを読む)
|    wee-hook.c | フック
|    wee-infolist.c | インフォリスト (オブジェクトに関するデータを含むリスト)
|    wee-input.c | コマンドおよびテキストの入力
|    wee-list.c | ソート済みリスト
|    wee-log.c | WeeChat ログファイル (weechat.log) に書き込む
|    wee-network.c | ネットワーク関数 (サーバやプロキシへの接続)
|    wee-proxy.c | プロキシ管理
|    wee-secure.c | データ保護用の関数
|    wee-secure-buffer.c | データ保護用のバッファ
|    wee-secure-config.c | 安全なデータオプション (sec.conf ファイル)
|    core-doc.c | Build of files for documentation.
|    core-eval.c | 内部変数へのリファレンスを含む式を評価
|    core-hashtable.c | ハッシュテーブル
|    core-hdata.c | hdata (ハッシュテーブルを用いて直接データを読む)
|    core-hook.c | フック
|    core-infolist.c | インフォリスト (オブジェクトに関するデータを含むリスト)
|    core-input.c | コマンドおよびテキストの入力
|    core-list.c | ソート済みリスト
|    core-log.c | WeeChat ログファイル (weechat.log) に書き込む
|    core-network.c | ネットワーク関数 (サーバやプロキシへの接続)
|    core-proxy.c | プロキシ管理
|    core-secure.c | データ保護用の関数
|    core-secure-buffer.c | データ保護用のバッファ
|    core-secure-config.c | 安全なデータオプション (sec.conf ファイル)
// TRANSLATION MISSING
|    wee-signal.c | Signal functions.
|    wee-string.c | 文字列関数
|    wee-upgrade-file.c | 内部アップグレードシステム
|    wee-upgrade.c | WeeChat コアのアップグレード (バッファ、行、履歴、...)
|    wee-url.c | URL 転送 (libcurl を使う)
|    wee-utf8.c | UTF-8 関数
|    wee-util.c | その他の関数
|    wee-version.c | WeeChat バージョンについての関数
|    weechat.c | 主要関数: コマンドラインオプション、起動
|    hook/ | フック関数
|       wee-hook-command-run.c | "command_run" フック
|       wee-hook-command.c | "command" フック
|       wee-hook-completion.c | "completion" フック
|       wee-hook-config.c | "config" フック
|       wee-hook-connect.c | "connect" フック
|       wee-hook-fd.c | "fd" フック
|       wee-hook-focus.c | "focus" フック
|       wee-hook-hdata.c | "hdata" フック
|       wee-hook-hsignal.c | "hsignal" フック
|       wee-hook-info-hashtable.c | "info_hashtable" フック
|       wee-hook-info.c | "info" フック
|       wee-hook-infolist.c | "infolist" フック
|       wee-hook-line.c | "line" フック
|       wee-hook-modifier.c | "modifier" フック
|       wee-hook-print.c | "print" フック
|       wee-hook-process.c | "process" フック
|       wee-hook-signal.c | "signal" フック
|       wee-hook-timer.c | "timer" フック
| gui/ | バッファ、ウィンドウなどの関数 (全てのインターフェースで利用)
|    gui-bar-item.c | バー要素
|    gui-bar-window.c | バーウィンドウ
|    gui-bar.c | バ
|    gui-buffer.c | バッファ
|    gui-chat.c | チャット関数 (メッセージの表示、...)
|    gui-color.c | 色関数
|    gui-completion.c | コマンドラインの補完
|    gui-cursor.c | カーソルモード (カーソルを自由に移動)
|    gui-filter.c | フィルタ
|    gui-focus.c | フォーカスについての関数 (カーソルモードとマウス用)
|    gui-history.c | コマンドおよびバッファに保存されたテキスト
|    gui-hotlist.c | ホットリスト管理 (活発なバッファのリスト)
|    gui-input.c | 入力関数 (入力バー)
|    gui-key.c | キーボード関数
|    gui-layout.c | レイアウト
|    gui-line.c | バッファ中の行
|    gui-mouse.c | マウス
|    gui-nick.c | ニックネーム関数
|    gui-nicklist.c | バッファのニックネームリスト
|    gui-window.c | ウィンドウ
|    curses/ | curses インターフェース
|       gui-curses-bar-window.c | バーウィンドウへの表示
|       gui-curses-chat.c | チャットエリアへの表示 (メッセージ)
|       gui-curses-color.c | 色関数
|       gui-curses-key.c | キーボード関数 (デフォルトキー、入力の読み取り)
|       gui-curses-main.c | WeeChat メインループ (キーボードやネットワークイベントの待ち受け)
|       gui-curses-mouse.c | マウス
|       gui-curses-term.c | 端末についての関数
|       gui-curses-window.c | ウィンドウ
|       headless/ | ヘッドレスモード (インターフェースなし)
|          main.c | ヘッドレスモード用のエントリポイント
|          ncurses-fake.c | ダミーの ncurses ライブラリ
|       normal/ | curses インターフェース
|          main.c | curses インターフェース用のエントリポイント
|    core-signal.c | Signal functions.
|    core-string.c | 文字列関数
// TRANSLATION MISSING
|    core-sys.c | System functions.
|    core-upgrade-file.c | 内部アップグレードシステム
|    core-upgrade.c | WeeChat コアのアップグレード (バッファ、行、履歴、...)
|    core-url.c | URL 転送 (libcurl を使う)
|    core-utf8.c | UTF-8 関数
|    core-util.c | その他の関数
|    core-version.c | WeeChat バージョンについての関数
|    weechat.c | 主要関数: コマンドラインオプション、起動
|    hook/ | フック関数
|       hook-command-run.c | "command_run" フック
|       hook-command.c | "command" フック
|       hook-completion.c | "completion" フック
|       hook-config.c | "config" フック
|       hook-connect.c | "connect" フック
|       hook-fd.c | "fd" フック
|       hook-focus.c | "focus" フック
|       hook-hdata.c | "hdata" フック
|       hook-hsignal.c | "hsignal" フック
|       hook-info-hashtable.c | "info_hashtable" フック
|       hook-info.c | "info" フック
|       hook-infolist.c | "infolist" フック
|       hook-line.c | "line" フック
|       hook-modifier.c | "modifier" フック
|       hook-print.c | "print" フック
|       hook-process.c | "process" フック
|       hook-signal.c | "signal" フック
|       hook-timer.c | "timer" フック
|       hook-url.c | "url" フック
| gui/ | バッファ、ウィンドウなどの関数 (全てのインターフェースで利用)
|    gui-bar-item.c | バー要素
|    gui-bar-window.c | バーウィンドウ
|    gui-bar.c | バー
|    gui-buffer.c | バッファ
|    gui-chat.c | チャット関数 (メッセージの表示、...)
|    gui-color.c | 色関数
|    gui-completion.c | コマンドラインの補完
|    gui-cursor.c | カーソルモード (カーソルを自由に移動)
|    gui-filter.c | フィルタ
|    gui-focus.c | フォーカスについての関数 (カーソルモードとマウス用)
|    gui-history.c | コマンドおよびバッファに保存されたテキスト
|    gui-hotlist.c | ホットリスト管理 (活発なバッファのリスト)
|    gui-input.c | 入力関数 (入力バー)
|    gui-key.c | キーボード関数
|    gui-layout.c | レイアウト
|    gui-line.c | バッファ中の行
|    gui-mouse.c | マウス
|    gui-nick.c | ニックネーム関数
|    gui-nicklist.c | バッファのニックネームリスト
|    gui-window.c | ウィンドウ
|    curses/ | curses インターフェース
|       gui-curses-bar-window.c | バーウィンドウへの表示
|       gui-curses-chat.c | チャットエリアへの表示 (メッセージ)
|       gui-curses-color.c | 色関数
|       gui-curses-key.c | キーボード関数 (デフォルトキー、入力の読み取り)
|       gui-curses-main.c | WeeChat メインループ (キーボードやネットワークイベントの待ち受け)
|       gui-curses-mouse.c | マウス
|       gui-curses-term.c | 端末についての関数
|       gui-curses-window.c | ウィンドウ
|       headless/ | ヘッドレスモード (インターフェースなし)
|          main.c | ヘッドレスモード用のエントリポイント
|          ncurses-fake.c | ダミーの ncurses ライブラリ
|       normal/ | curses インターフェース
|          main.c | curses インターフェース用のエントリポイント
|===
[[sources_plugins]]
@@ -220,189 +223,213 @@ WeeChat "core" は以下のディレクトリに配置されています:
[width="100%",cols="2m,3",options="header"]
|===
| パス/ファイル名 | 説明
| plugins/ | プラグインのルートディレクトリ
|    plugin.c | プラグイン管理 (動的 C 言語ライブラリのロード/アンロード)
|    plugin-api.c | プラグイン API の追加関数 (WeeChat コア関数のラッパー)
|    plugin-api-info.c | プラグイン API 用のインフォ/インフォリストに関する追加関数
|    plugin-config.c | プラグイン設定オプション (plugins.conf ファイル)
|    plugin-script.c | スクリプトプラグインの共用関数
|    plugin-script-api.c | スクリプト API 関数: 一部のプラグイン API 関数のラッパー
|    plugin-script-config.c | スクリプトプラグインの設定オプション (python.conf、perl.conf 等のファイル)
|    weechat-plugin.h | WeeChat プラグインと一緒に配布されるヘッダファイル、プラグインのコンパイルに必要
|    alias/ | alias プラグイン
|       alias.c | alias の主要関数
|       alias-command.c | alias コマンド
|       alias-completion.c | alias 補完
|       alias-config.c | alias 設定オプション (alias.conf ファイル)
|       alias-info.c | alias の情報/インフォリスト/hdata
|    spell/ | spell プラグイン
|       spell.c | spell の主関数
|       spell-bar-item.c | spell バー要素
|       spell-command.c | spell コマンド
|       spell-completion.c | spell 補完
|       spell-config.c | spell 設定オプション (spell.conf ファイル)
|       spell-info.c | spell の情報/インフォリスト/hdata
|       spell-speller.c | spell のスペラー管理
|    buflist/ | buflist プラグイン
|       buflist.c | buflist の主要関数
|       buflist-bar-item.c | buflist バー要素
|       buflist-command.c | buflist コマンド
|       buflist-config.c | buflist 設定オプション (buflist.conf ファイル)
|       buflist-info.c | buflist の情報/インフォリスト/hdata
|       buflist-mouse.c | buflist マウス動作
|    charset/ | charset プラグイン
|       charset.c | charset 関数
|    exec/ | exec プラグイン
|       exec.c | exec の主要関数
|       exec-buffer.c | exec バッファ
|       exec-command.c | exec コマンド
|       exec-completion.c | exec 補完
|       exec-config.c | exec 設定オプション (exec.conf ファイル)
|    fifo/ | fifo プラグイン
|       fifo.c | fifo の主要関数
|       fifo-command.c | fifo コマンド
|       fifo-config.c | fifo 設定オプション (fifo.conf ファイル)
|       fifo-info.c | fifo の情報/インフォリスト/hdata
|    fset/ | fset プラグイン
|       fset.c | fset の主要関数
|       fset-bar-item.c | fset バー要素
|       fset-buffer.c | fset バッファ
|       fset-command.c | fset コマンド
|       fset-completion.c | fset 補完
|       fset-config.c | fset 設定オプション (fset.conf ファイル)
|       fset-info.c | fset の情報/インフォリスト/hdata
|       fset-mouse.c | fset マウス動作
|       fset-option.c | fset オプション管理
|    guile/ | guile (scheme) プラグイン
|       weechat-guile.c | guile の主要関数 (スクリプトのロード/アンロード、guile コードの実行)
|       weechat-guile-api.c | guile スクリプト作成 API 関数
|    irc/ | IRC (Internet Relay Chat) プラグイン
|       irc.c | IRC の主要関数
|       irc-bar-item.c | IRC バー要素
| パス/ファイル名 | 説明
| plugins/ | プラグインのルートディレクトリ
|    plugin.c | プラグイン管理 (動的 C 言語ライブラリのロード/アンロード)
|    plugin-api.c | プラグイン API の追加関数 (WeeChat コア関数のラッパー)
|    plugin-api-info.c | プラグイン API 用のインフォ/インフォリストに関する追加関数
|    plugin-config.c | プラグイン設定オプション (plugins.conf ファイル)
|    plugin-script.c | スクリプトプラグインの共用関数
|    plugin-script-api.c | スクリプト API 関数: 一部のプラグイン API 関数のラッパー
|    plugin-script-config.c | スクリプトプラグインの設定オプション (python.conf、perl.conf 等のファイル)
|    weechat-plugin.h | WeeChat プラグインと一緒に配布されるヘッダファイル、プラグインのコンパイルに必要
|    alias/ | alias プラグイン
|       alias.c | alias の主要関数
|       alias-command.c | alias コマンド
|       alias-completion.c | alias 補完
|       alias-config.c | alias 設定オプション (alias.conf ファイル)
|       alias-info.c | alias の情報/インフォリスト/hdata
|    spell/ | spell プラグイン
|       spell.c | spell の主関数
|       spell-bar-item.c | spell バー要素
|       spell-command.c | spell コマンド
|       spell-completion.c | spell 補完
|       spell-config.c | spell 設定オプション (spell.conf ファイル)
|       spell-info.c | spell の情報/インフォリスト/hdata
|       spell-speller.c | spell のスペラー管理
|    buflist/ | buflist プラグイン
|       buflist.c | buflist の主要関数
|       buflist-bar-item.c | buflist バー要素
|       buflist-command.c | buflist コマンド
// TRANSLATION MISSING
|       irc-batch.c | IRC batched events.
|       irc-buffer.c | IRC バッファ
|       irc-channel.c | IRC チャンネル
|       irc-color.c | IRC 色
|       irc-command.c | IRC コマンド
|       irc-completion.c | IRC 補完
|       irc-config.c | IRC 設定オプション (irc.conf ファイル)
|       irc-ctcp.c | IRC CTCP
|       irc-debug.c | IRC デバッグ関数
|       irc-ignore.c | IRC 無視
|       irc-info.c | IRC の情報/インフォリスト/hdata
|       irc-input.c | コマンドおよびテキストの入力
|       buflist-completion.c | Buflist completions.
|       buflist-config.c | buflist 設定オプション (buflist.conf ファイル)
|       buflist-info.c | buflist の情報/インフォリスト/hdata
|       buflist-mouse.c | buflist マウス動作
|    charset/ | charset プラグイン
|       charset.c | charset 関数
|    exec/ | exec プラグイン
|       exec.c | exec の主要関数
|       exec-buffer.c | exec バッファ
|       exec-command.c | exec コマンド
|       exec-completion.c | exec 補完
|       exec-config.c | exec 設定オプション (exec.conf ファイル)
|    fifo/ | fifo プラグイン
|       fifo.c | fifo の主要関数
|       fifo-command.c | fifo コマンド
|       fifo-config.c | fifo 設定オプション (fifo.conf ファイル)
|       fifo-info.c | fifo の情報/インフォリスト/hdata
|    fset/ | fset プラグイン
|       fset.c | fset の主要関数
|       fset-bar-item.c | fset バー要素
|       fset-buffer.c | fset バッファ
|       fset-command.c | fset コマンド
|       fset-completion.c | fset 補完
|       fset-config.c | fset 設定オプション (fset.conf ファイル)
|       fset-info.c | fset の情報/インフォリスト/hdata
|       fset-mouse.c | fset マウス動作
|       fset-option.c | fset オプション管理
|    guile/ | guile (scheme) プラグイン
|       weechat-guile.c | guile の主要関数 (スクリプトのロード/アンロード、guile コードの実行)
|       weechat-guile-api.c | guile スクリプト作成 API 関数
|    irc/ | IRC (Internet Relay Chat) プラグイン
|       irc.c | IRC の主要関数
|       irc-bar-item.c | IRC バー要素
// TRANSLATION MISSING
|       irc-join.c | Functions for list of channels to join.
|       irc-message.c | IRC メッセージを操作する関数
|       irc-mode.c | チャンネルおよびニックネームのモードを操作する関数
|       irc-modelist.c | IRC チャンネルモードリスト (+b、+e、+I、...).
|       irc-msgbuffer.c | IRC メッセージを送るバッファ
|       irc-nick.c | IRC ニックネーム
|       irc-notify.c | IRC 通知リスト
|       irc-protocol.c | IRC プロトコル (RFC 1459/2810/2811/2812/2813/7194)
|       irc-raw.c | IRC バッファ
|       irc-redirect.c | IRC コマンド出力のリダイレクト
|       irc-sasl.c | IRC サーバに対する SASL 認証
|       irc-server.c | IRC サーバとの入出力通信
|       irc-batch.c | IRC batched events.
|       irc-buffer.c | IRC バッファ
|       irc-channel.c | IRC チャンネル
|       irc-color.c | IRC
|       irc-command.c | IRC コマンド
|       irc-completion.c | IRC 補完
|       irc-config.c | IRC 設定オプション (irc.conf ファイル)
|       irc-ctcp.c | IRC CTCP
|       irc-debug.c | IRC バッグ関数
|       irc-ignore.c | IRC 無視
|       irc-info.c | IRC の情報/インフォリスト/hdata
|       irc-input.c | コマンドおよびテキストの入力
// TRANSLATION MISSING
|       irc-tag.c | Functions to manipulate IRC message tags.
|       irc-join.c | Functions for list of channels to join.
// TRANSLATION MISSING
|       irc-typing.c | Typing status.
|       irc-upgrade.c | WeeChat をアップグレードする際の IRC データの保存およびロード
|    javascript/ | JavaScript プラグイン
|       weechat-js.cpp | JavaScript の主要関数 (スクリプトのロード/アンロード、JavaScript コードの実行)
|       weechat-js-api.cpp | JavaScript スクリプト作成 API 関数
|       weechat-js-v8.cpp | JavaScript v8 関数
|    logger/ | logger プラグイン
|       logger.c | logger の主要関数
|       irc-list.c | Buffer for reply to /list command.
|       irc-message.c | IRC メッセージを操作する関数
|       irc-mode.c | チャンネルおよびニックネームのモードを操作する関数
|       irc-modelist.c | IRC チャンネルモードリスト (+b、+e、+I、...).
|       irc-msgbuffer.c | IRC メッセージを送るバッファ
|       irc-nick.c | IRC ニックネーム
|       irc-notify.c | IRC 通知リスト
|       irc-protocol.c | IRC プロトコル (RFC 1459/2810/2811/2812/2813/7194)
|       irc-raw.c | IRC 生バッファ
|       irc-redirect.c | IRC コマンド出力のリダイレクト
|       irc-sasl.c | IRC サーバに対する SASL 認証
|       irc-server.c | IRC サーバとの入出力通信
// TRANSLATION MISSING
|       logger-backlog.c | Logger backlog functions.
|       logger-buffer.c | logger バッファリスト管理
|       logger-command.c | logger コマンド
|       logger-config.c | logger 設定オプション (logger.conf ファイル)
|       logger-info.c | logger の情報/インフォリスト/hdata
|       logger-tail.c | ファイル末尾の行を返す
|    lua/ | lua プラグイン
|       weechat-lua.c | lua の主要関数 (スクリプトのロード/アンロード、lua コードの実行)
|       weechat-lua-api.c | lua スクリプト作成 API 関数
|    perl/ | perl プラグイン
|       weechat-perl.c | perl の主要関数 (スクリプトのロード/アンロード、perl コードの実行)
|       weechat-perl-api.c | perl スクリプト作成 API 関数
|    php/ | php プラグイン
|       weechat-php.c | php の主要関数 (スクリプトのロード/アンロード、php コードの実行)
|       weechat-php-api.c | php スクリプト作成 API 関数
|    python/ | python プラグイン
|       weechat-python.c | python の主要関数 (スクリプトのロード/アンロード、python コードの実行)
|       weechat-python-api.c | python スクリプト作成 API 関数
|    relay/ | relay プラグイン (IRC プロキシとリモートインターフェースへの中継)
|       relay.c | relay の主要関数
|       irc-tag.c | Functions to manipulate IRC message tags.
// TRANSLATION MISSING
|       relay-auth.c | Clients authentification.
|       relay-buffer.c | relay バッファ
|       relay-client.c | relay クライアント
|       relay-command.c | relay コマンド
|       relay-completion.c | relay 補完
|       relay-config.c | relay 設定オプション (relay.conf ファイル)
|       relay-info.c | relay の情報/インフォリスト/hdata
|       relay-network.c | relay 用のネットワーク関数
|       relay-raw.c | relay 生バッファ
|       relay-server.c | relay サーバ
|       relay-upgrade.c | WeeChat をアップグレードする際にデータを保存/回復
|       relay-websocket.c | リレー用の websocket サーバ関数 (RFC 6455)
|       irc/ | IRC プロキシ
|          relay-irc.c | IRC プロキシの主要関数
|       weechat/ | リモートインターフェースへの中継
|          relay-weechat.c | リモートインターフェースへの中継 (主要関数)
|          relay-weechat-msg.c | クライアントにバイナリメッセージを送信
|          relay-weechat-nicklist.c | ニックネームリスト関数
|          relay-weechat-protocol.c | クライアントからのコマンドを読み取る
|    ruby/ | ruby プラグイン
|       weechat-ruby.c | ruby の主要関数 (スクリプトのロード/アンロード、ruby コードの実行)
|       weechat-ruby-api.c | ruby スクリプト作成 API 関数
|    script/ | スクリプトマネージャ
|       script.c | スクリプトマネージャの主要関数
|       script-action.c | スクリプトに対する操作 (ロード/アンロード、インストール/削除、...)
|       script-buffer.c | スクリプトマネージャ用のバッファ
|       script-command.c | スクリプトマネージャ用のコマンド
|       script-completion.c | スクリプトマネージャ用の補完
|       script-config.c | スクリプトマネージャ用の設定オプション (script.conf ファイル)
|       script-info.c | スクリプトマネージャの情報/インフォリスト/hdata
|       script-mouse.c | スクリプトマネージャのマウス動作
|       script-repo.c | リポジトリファイルのダウンロードとロード
|    tcl/ | tcl プラグイン
|       weechat-tcl.c | tcl の主要関数 (スクリプトのロード/アンロード、tcl コードの実行)
|       weechat-tcl-api.c | tcl スクリプト作成 API 関数
|    trigger/ | trigger プラグイン
|       trigger.c | trigger の主要関数
|       trigger-buffer.c | trigger バッファ
|       trigger-callback.c | trigger コールバック
|       trigger-command.c | trigger コマンド
|       trigger-completion.c | trigger 補完
|       trigger-config.c | trigger 設定オプション (trigger.conf ファイル)
|       irc-typing.c | Typing status.
|       irc-upgrade.c | WeeChat をアップグレードする際の IRC データの保存およびロード
|    javascript/ | JavaScript プラグイン
|       weechat-js.cpp | JavaScript の主要関数 (スクリプトのロード/アンロード、JavaScript コードの実行)
|       weechat-js-api.cpp | JavaScript スクリプト作成 API 関数
|       weechat-js-v8.cpp | JavaScript v8 関数
|    logger/ | logger プラグイン
|       logger.c | logger の主要関数
// TRANSLATION MISSING
|    typing/ | Typing plugin.
|       logger-backlog.c | Logger backlog functions.
|       logger-buffer.c | logger バッファリスト管理
|       logger-command.c | logger コマンド
|       logger-config.c | logger 設定オプション (logger.conf ファイル)
|       logger-info.c | logger の情報/インフォリスト/hdata
|       logger-tail.c | ファイル末尾の行を返す
|    lua/ | lua プラグイン
|       weechat-lua.c | lua の主要関数 (スクリプトのロード/アンロード、lua コードの実行)
|       weechat-lua-api.c | lua スクリプト作成 API 関数
|    perl/ | perl プラグイン
|       weechat-perl.c | perl の主要関数 (スクリプトのロード/アンロード、perl コードの実行)
|       weechat-perl-api.c | perl スクリプト作成 API 関数
|    php/ | php プラグイン
|       weechat-php.c | php の主要関数 (スクリプトのロード/アンロード、php コードの実行)
|       weechat-php-api.c | php スクリプト作成 API 関数
|    python/ | python プラグイン
|       weechat-python.c | python の主要関数 (スクリプトのロード/アンロード、python コードの実行)
|       weechat-python-api.c | python スクリプト作成 API 関数
|    relay/ | relay プラグイン (IRC プロキシとリモートインターフェースへの中継)
|       relay.c | relay の主要関数
// TRANSLATION MISSING
|       typing.c | Main typing functions.
|       relay-auth.c | Clients authentification.
|       relay-buffer.c | relay バッファ
|       relay-client.c | relay クライアント
|       relay-command.c | relay コマンド
|       relay-completion.c | relay 補完
|       relay-config.c | relay 設定オプション (relay.conf ファイル)
// TRANSLATION MISSING
|       typing-bar-item.c | Typing bar items.
|       relay-http.c | HTTP functions.
|       relay-info.c | relay の情報/インフォリスト/hdata
|       relay-network.c | relay 用のネットワーク関数
|       relay-raw.c | relay 生バッファ
// TRANSLATION MISSING
|       typing-config.c | Typing config options (file typing.conf).
|       relay-remote.c | Relay remote.
|       relay-server.c | relay サーバ
|       relay-upgrade.c | WeeChat をアップグレードする際にデータを保存/回復
|       relay-websocket.c | リレー用の websocket サーバ関数 (RFC 6455)
// TRANSLATION MISSING
|       typing-status.c | Messages typing status on buffers.
|    xfer/ | xfer プラグイン (IRC DCC ファイル/チャット)
|       xfer.c | xfer の主要関数
|       xfer-buffer.c | xfer バッファ
|       xfer-chat.c | xfer DCC チャット
|       xfer-command.c | xfer コマンド
|       xfer-completion.c | xfer 補完
|       xfer-config.c | xfer 設定オプション (xfer.conf ファイル)
|       xfer-dcc.c | DCC ファイル転送
|       xfer-file.c | xfer のファイル関数
|       xfer-info.c | xfer の情報/インフォリスト/hdata
|       xfer-network.c | xfer のネットワーク関数
|       xfer-upgrade.c | WeeChat をアップグレードする際の xfer データの保存および回復
|       api/ | Relay for remote interfaces (using HTTP REST API).
// TRANSLATION MISSING
|          relay-api.c | Main API functions for HTTP REST API.
// TRANSLATION MISSING
|          relay-api-msg.c | Send JSON messages to clients.
// TRANSLATION MISSING
|          relay-api-protocol.c | HTTP REST API protocol.
// TRANSLATION MISSING
// TRANSLATION MISSING
|          remote/ | Relay remote functions, specific to API.
// TRANSLATION MISSING
|             relay-remote-event.c | Process events received from relay remote.
// TRANSLATION MISSING
|             relay-remote-network.c | Network functions for relay remote.
|       irc/ | IRC プロキシ
|          relay-irc.c | IRC プロキシの主要関数
// TRANSLATION MISSING
|       weechat/ | Relay for remote interfaces (using "weechat" binary protocol).
|          relay-weechat.c | リモートインターフェースへの中継 (主要関数)
|          relay-weechat-msg.c | クライアントにバイナリメッセージを送信
|          relay-weechat-nicklist.c | ニックネームリスト関数
|          relay-weechat-protocol.c | クライアントからのコマンドを読み取る
|    ruby/ | ruby プラグイン
|       weechat-ruby.c | ruby の主要関数 (スクリプトのロード/アンロード、ruby コードの実行)
|       weechat-ruby-api.c | ruby スクリプト作成 API 関数
|    script/ | スクリプトマネージャ
|       script.c | スクリプトマネージャの主要関数
|       script-action.c | スクリプトに対する操作 (ロード/アンロード、インストール/削除、...)
|       script-buffer.c | スクリプトマネージャ用のバッファ
|       script-command.c | スクリプトマネージャ用のコマンド
|       script-completion.c | スクリプトマネージャ用の補完
|       script-config.c | スクリプトマネージャ用の設定オプション (script.conf ファイル)
|       script-info.c | スクリプトマネージャの情報/インフォリスト/hdata
|       script-mouse.c | スクリプトマネージャのマウス動作
|       script-repo.c | リポジトリファイルのダウンロードとロード
|    tcl/ | tcl プラグイン
|       weechat-tcl.c | tcl の主要関数 (スクリプトのロード/アンロード、tcl コードの実行)
|       weechat-tcl-api.c | tcl スクリプト作成 API 関数
|    trigger/ | trigger プラグイン
|       trigger.c | trigger の主要関数
|       trigger-buffer.c | trigger バッファ
|       trigger-callback.c | trigger コールバック
|       trigger-command.c | trigger コマンド
|       trigger-completion.c | trigger 補完
|       trigger-config.c | trigger 設定オプション (trigger.conf ファイル)
// TRANSLATION MISSING
|    typing/ | Typing plugin.
// TRANSLATION MISSING
|       typing.c | Main typing functions.
// TRANSLATION MISSING
|       typing-bar-item.c | Typing bar items.
// TRANSLATION MISSING
|       typing-config.c | Typing config options (file typing.conf).
// TRANSLATION MISSING
|       typing-status.c | Messages typing status on buffers.
|    xfer/ | xfer プラグイン (IRC DCC ファイル/チャット)
|       xfer.c | xfer の主要関数
|       xfer-buffer.c | xfer バッファ
|       xfer-chat.c | xfer DCC チャット
|       xfer-command.c | xfer コマンド
|       xfer-completion.c | xfer 補完
|       xfer-config.c | xfer 設定オプション (xfer.conf ファイル)
|       xfer-dcc.c | DCC ファイル転送
|       xfer-file.c | xfer のファイル関数
|       xfer-info.c | xfer の情報/インフォリスト/hdata
|       xfer-network.c | xfer のネットワーク関数
|       xfer-upgrade.c | WeeChat をアップグレードする際の xfer データの保存および回復
|===
[[sources_tests]]
@@ -410,125 +437,202 @@ WeeChat "core" は以下のディレクトリに配置されています:
[width="100%",cols="2m,3",options="header"]
|===
| パス/ファイル名 | 説明
| tests/ | テスト用のルートディレクトリ
|    tests.cpp | 全テストの実行時に使われるプログラム
| パス/ファイル名 | 説明
| tests/ | テスト用のルートディレクトリ
|    tests.cpp | 全テストの実行時に使われるプログラム
// TRANSLATION MISSING
|    tests-record.cpp | Record and search in messages displayed.
|    scripts/ | スクリプト API テスト用のルートディレクトリ
|       test-scripts.cpp | スクリプト API テストの実行時に使われるプログラム
|       python/ | スクリプト API テストを生成、実行する Python スクリプト
|          testapigen.py | スクリプト API のテスト時にすべての言語に関するスクリプトを生成する Python スクリプト
|          testapi.py | スクリプト API テスト時に使われる Python スクリプト (スクリプト testapigen.py から使われます)
|          unparse.py | Python コードを別の言語に変換 (スクリプト testapigen.py から使われます)
|    unit/ | 単体テスト用のルートディレクトリ
|       test-plugins.cpp | テスト: プラグイン
|       core/ | core 向け単体テスト用のルートディレクトリ
|          test-core-arraylist.cpp | テスト: 配列リスト
|    tests-record.cpp | Record and search in messages displayed.
|    scripts/ | スクリプト API テスト用のルートディレクトリ
|       test-scripts.cpp | スクリプト API テストの実行時に使われるプログラム
|       python/ | スクリプト API テストを生成、実行する Python スクリプト
|          testapigen.py | スクリプト API のテスト時にすべての言語に関するスクリプトを生成する Python スクリプト
|          testapi.py | スクリプト API テスト時に使われる Python スクリプト (スクリプト testapigen.py から使われます)
|          unparse.py | Python コードを別の言語に変換 (スクリプト testapigen.py から使われます)
|    unit/ | 単体テスト用のルートディレクトリ
|       test-plugins.cpp | テスト: プラグイン
// TRANSLATION MISSING
|          test-core-calc.cpp | Tests: calculation of expressions.
|       test-plugin-api-info.cpp | Tests: plugin API info functions.
// TRANSLATION MISSING
|          test-core-command.cpp | Tests: commands.
|       test-plugin-config.cpp | Tests: plugin config functions.
|       core/ | core 向け単体テスト用のルートディレクトリ
|          test-core-arraylist.cpp | テスト: 配列リスト
// TRANSLATION MISSING
|          test-core-config-file.cpp | Tests: configuration files.
|          test-core-calc.cpp | Tests: calculation of expressions.
// TRANSLATION MISSING
|          test-core-crypto.cpp | Tests: cryptographic functions.
|          test-core-command.cpp | Tests: commands.
// TRANSLATION MISSING
|          test-core-dir.cpp | Tests: directory/file functions.
|          test-core-eval.cpp | テスト: 式の評価
|          test-core-hashtble.cpp | テスト: ハッシュテーブル
|          test-core-hdata.cpp | テスト: hdata
|          test-core-hook.cpp | テスト: フック
|          test-core-infolist.cpp | テスト: インフォリスト
|          test-core-list.cpp | テスト: リスト
|          test-core-config-file.cpp | Tests: configuration files.
// TRANSLATION MISSING
|          test-core-network.cpp | Tests: network functions.
|          test-core-secure.cpp | テスト: データ保護
|          test-core-crypto.cpp | Tests: cryptographic functions.
// TRANSLATION MISSING
|          test-core-signal.cpp | テスト: signals.
|          test-core-string.cpp | テスト: 文字列
|          test-core-url.cpp | テスト: URL
|          test-core-utf8.cpp | テスト: UTF-8
|          test-core-util.cpp | テスト: ユーティリティ関数
|       gui/ | インターフェースの単体テストを収める最上位ディレクトリ
|          test-core-dir.cpp | Tests: directory/file functions.
|          test-core-eval.cpp | テスト: 式の評価
|          test-core-hashtble.cpp | テスト: ハッシュテーブル
|          test-core-hdata.cpp | テスト: hdata
|          test-core-hook.cpp | テスト: フック
|          test-core-infolist.cpp | テスト: インフォリスト
|          test-core-list.cpp | テスト: リスト
// TRANSLATION MISSING
|          test-gui-bar-window.cpp | Tests: bar window functions.
|          test-core-network.cpp | Tests: network functions.
|          test-core-secure.cpp | テスト: データ保護
// TRANSLATION MISSING
|          test-gui-buffer.cpp | Tests: buffer functions.
|          test-core-signal.cpp | テスト: signals.
|          test-core-string.cpp | テスト: 文字列
|          test-core-url.cpp | テスト: URL
|          test-core-utf8.cpp | テスト: UTF-8
|          test-core-util.cpp | テスト: ユーティリティ関数
// TRANSLATION MISSING
|          test-gui-chat.cpp | Tests: chat functions.
|          test-core-sys.cpp | Tests: system functions.
// TRANSLATION MISSING
|          test-gui-color.cpp | Tests: colors.
|          hook/ | Root of unit tests for hooks.
// TRANSLATION MISSING
|          test-gui-filter.cpp | Tests: filters.
|             test-hook-command.cpp | Tests: hooks "command".
// TRANSLATION MISSING
|          test-gui-input.cpp | Tests: input functions.
|             test-hook-command-run.cpp | Tests: hooks "command_run".
// TRANSLATION MISSING
|          test-gui-key.cpp | Tests: keys.
|          test-gui-line.cpp | テスト: 行
|             test-hook-completion.cpp | Tests: hooks "completion".
// TRANSLATION MISSING
|          test-gui-nick.cpp | テスト: nicks
|       plugins/ | プラグインの単体テストを収める最上位ディレクトリ
|          irc/ | IRC プラグインの単体テストを収める最上位ディレクトリ
|             test-hook-config.cpp | Tests: hooks "config".
// TRANSLATION MISSING
|             test-irc-batch.cpp | Tests: IRC batched events.
|             test-hook-connect.cpp | Tests: hooks "connect".
// TRANSLATION MISSING
|             test-irc-buffer.cpp | Tests: IRC buffers.
|             test-hook-fd.cpp | Tests: hooks "fd".
// TRANSLATION MISSING
|             test-irc-channel.cpp | Tests: IRC channels.
|             test-irc-color.cpp | Tests: IRC colors.
|             test-irc-config.cpp | テスト: IRC 設定
|             test-hook-focus.cpp | Tests: hooks "focus".
// TRANSLATION MISSING
|             test-irc-ignore.cpp | Tests: IRC ignores.
|             test-hook-hdata.cpp | Tests: hooks "hdata".
// TRANSLATION MISSING
|             test-irc-join.cpp | Tests: IRC join functions.
|             test-hook-hsignal.cpp | Tests: hooks "hsignal".
// TRANSLATION MISSING
|             test-irc-message.cpp | Tests: IRC messages.
|             test-hook-info-hashtable.cpp | Tests: hooks "info_hashtable".
// TRANSLATION MISSING
|             test-irc-mode.cpp | Tests: IRC modes.
|             test-hook-info.cpp | Tests: hooks "info".
// TRANSLATION MISSING
|             test-irc-nick.cpp | Tests: IRC nicks.
|             test-irc-protocol.cpp | テスト: IRC プロトコル
|             test-hook-infolist.cpp | Tests: hooks "infolist".
// TRANSLATION MISSING
|             test-irc-sasl.cpp | Tests: SASL authentication with IRC protocol.
|             test-hook-line.cpp | Tests: hooks "line".
// TRANSLATION MISSING
|             test-irc-server.cpp | Tests: IRC server.
|             test-hook-modifier.cpp | Tests: hooks "modifier".
// TRANSLATION MISSING
|             test-irc-tag.cpp | Tests: IRC message tags.
|             test-hook-print.cpp | Tests: hooks "print".
// TRANSLATION MISSING
|          logger/ | Root of unit tests for logger plugin.
|             test-hook-process.cpp | Tests: hooks "process".
// TRANSLATION MISSING
|             test-logger.cpp | Tests: logger.
|             test-hook-signal.cpp | Tests: hooks "signal".
// TRANSLATION MISSING
|             test-logger-backlog.cpp | Tests: logger backlog.
|             test-hook-timer.cpp | Tests: hooks "timer".
// TRANSLATION MISSING
|             test-logger-tail.cpp | Tests: logger tail functions.
|             test-hook-url.cpp | Tests: hooks "url".
|       gui/ | インターフェースの単体テストを収める最上位ディレクトリ
// TRANSLATION MISSING
|          trigger/ | Root of unit tests for trigger plugin.
|          test-gui-bar-window.cpp | Tests: bar window functions.
// TRANSLATION MISSING
|             test-trigger.cpp | Tests: triggers.
|          test-gui-buffer.cpp | Tests: buffer functions.
// TRANSLATION MISSING
|             test-trigger-config.cpp | Tests: trigger configuration.
|          test-gui-chat.cpp | Tests: chat functions.
// TRANSLATION MISSING
|          typing/ | Root of unit tests for typing plugin.
|          test-gui-color.cpp | Tests: colors.
// TRANSLATION MISSING
|             test-typing.cpp | Tests: typing.
|          test-gui-filter.cpp | Tests: filters.
// TRANSLATION MISSING
|             test-typing-status.cpp | Tests: typing status.
|          test-gui-hotlist.cpp | Tests: hotlist functions.
// TRANSLATION MISSING
|          relay/ | Root of unit tests for Relay plugin.
|          test-gui-input.cpp | Tests: input functions.
// TRANSLATION MISSING
|             test-relay-auth.cpp | Tests: clients authentication.
|          test-gui-key.cpp | Tests: keys.
|          test-gui-line.cpp | テスト: 行
// TRANSLATION MISSING
|             irc/ | Root of unit tests for Relay "irc" protocol.
|          test-gui-nick.cpp | テスト: nicks
// TRANSLATION MISSING
|                test-relay-irc.cpp | Tests: Relay "irc" protocol.
|          test-gui-nicklist.cpp | Tests: nicklist functions.
// TRANSLATION MISSING
|          xfer/ | Root of unit tests for Xfer plugin.
|          curses/ | Root of unit tests for Curses interface.
// TRANSLATION MISSING
|             test-xfer-file.cpp | Tests: file functions.
|             test-gui-curses-mouse.cpp | Tests: mouse (Curses interface).
|       plugins/ | プラグインの単体テストを収める最上位ディレクトリ
|          irc/ | IRC プラグインの単体テストを収める最上位ディレクトリ
// TRANSLATION MISSING
|             test-xfer-network.cpp | Tests: network functions.
|             test-irc-batch.cpp | Tests: IRC batched events.
// TRANSLATION MISSING
|             test-irc-buffer.cpp | Tests: IRC buffers.
// TRANSLATION MISSING
|             test-irc-channel.cpp | Tests: IRC channels.
|             test-irc-color.cpp | Tests: IRC colors.
// TRANSLATION MISSING
|             test-irc-command.cpp | Tests: IRC commands.
|             test-irc-config.cpp | テスト: IRC 設定
// TRANSLATION MISSING
|             test-irc-ctcp.cpp | Tests: IRC CTCP.
// TRANSLATION MISSING
|             test-irc-ignore.cpp | Tests: IRC ignores.
// TRANSLATION MISSING
|             test-irc-info.cpp | Tests: IRC info.
// TRANSLATION MISSING
|             test-irc-join.cpp | Tests: IRC join functions.
// TRANSLATION MISSING
|             test-irc-list.cpp | Tests: IRC buffer for reply to /list command.
// TRANSLATION MISSING
|             test-irc-message.cpp | Tests: IRC messages.
// TRANSLATION MISSING
|             test-irc-mode.cpp | Tests: IRC modes.
// TRANSLATION MISSING
|             test-irc-nick.cpp | Tests: IRC nicks.
|             test-irc-protocol.cpp | テスト: IRC プロトコル
// TRANSLATION MISSING
|             test-irc-sasl.cpp | Tests: SASL authentication with IRC protocol.
// TRANSLATION MISSING
|             test-irc-server.cpp | Tests: IRC server.
// TRANSLATION MISSING
|             test-irc-tag.cpp | Tests: IRC message tags.
// TRANSLATION MISSING
|          logger/ | Root of unit tests for logger plugin.
// TRANSLATION MISSING
|             test-logger.cpp | Tests: logger.
// TRANSLATION MISSING
|             test-logger-backlog.cpp | Tests: logger backlog.
// TRANSLATION MISSING
|             test-logger-tail.cpp | Tests: logger tail functions.
// TRANSLATION MISSING
|          trigger/ | Root of unit tests for trigger plugin.
// TRANSLATION MISSING
|             test-trigger.cpp | Tests: triggers.
// TRANSLATION MISSING
|             test-trigger-config.cpp | Tests: trigger configuration.
// TRANSLATION MISSING
|          typing/ | Root of unit tests for typing plugin.
// TRANSLATION MISSING
|             test-typing.cpp | Tests: typing.
// TRANSLATION MISSING
|             test-typing-status.cpp | Tests: typing status.
// TRANSLATION MISSING
|          relay/ | Root of unit tests for Relay plugin.
// TRANSLATION MISSING
|             test-relay-auth.cpp | Tests: clients authentication.
// TRANSLATION MISSING
|             test-relay-http.cpp | Tests: HTTP functions for Relay plugin.
// TRANSLATION MISSING
|             test-relay-remote.cpp | Tests: remote functions for Relay plugin.
// TRANSLATION MISSING
|             test-relay-websocket.cpp | Tests: websocket functions for Relay plugin.
// TRANSLATION MISSING
|             api/ | Root of unit tests for Relay "api" protocol.
// TRANSLATION MISSING
|                test-relay-api.cpp | Tests: Relay "api" protocol: general functions.
// TRANSLATION MISSING
|                test-relay-api-msg.cpp | Tests: Relay "api" protocol: messages.
// TRANSLATION MISSING
|                test-relay-api-protocol.cpp | Tests: Relay "api" protocol: protocol.
// TRANSLATION MISSING
|             irc/ | Root of unit tests for Relay "irc" protocol.
// TRANSLATION MISSING
|                test-relay-irc.cpp | Tests: Relay "irc" protocol.
// TRANSLATION MISSING
|          xfer/ | Root of unit tests for Xfer plugin.
// TRANSLATION MISSING
|             test-xfer-file.cpp | Tests: file functions.
// TRANSLATION MISSING
|             test-xfer-network.cpp | Tests: network functions.
|===
[[documentation_translations]]
@@ -588,7 +692,7 @@ WeeChat とプラグインの翻訳は gettext で行います、ファイルは
/*
* weechat.c - core functions for WeeChat
*
* Copyright (C) 2023 Your Name <your@email.com>
* Copyright (C) 2024 Your Name <your@email.com>
*
* This file is part of WeeChat, the extensible chat client.
*
@@ -612,7 +716,8 @@ WeeChat とプラグインの翻訳は gettext で行います、ファイルは
C 言語のコードを書く際には以下の基本的なルールを *必ず* 守ってください。:
* インデントは空白文字を 4 個使ってください。タブ文字を使わないでください、タブ文字は良くありません。
// TRANSLATION MISSING
* Use 4 spaces for indentation (no tabs).
* 読みやすくする必要がある場合を除いて、1
行は 80 文字以内に収めてください。
* コメントは `+/* comment */+` のようにしてください (`+// comment+` のような C99 スタイルのコメントは使わないでください)。
@@ -825,7 +930,7 @@ irc プラグインの _irc.c_ など。
[width="100%",cols="2m,3",options="header"]
|===
| ディレクトリ | ファイル
| src/core/ | weechat.c、wee-backtrace.c、wee-command.c、...
| src/core/ | weechat.c、core-backtrace.c、core-command.c、...
| src/gui/ | gui-bar.c、gui-bar-item.c、gui-bar-window.c、...
| src/gui/curses/ | gui-curses-bar.c、gui-curses-bar-window.c、gui-curses-chat.c、...
| src/plugins/ | plugin.c、plugin-api.c、plugin-api-info.c、plugin-config.c、plugin-script.c、...
@@ -834,7 +939,7 @@ irc プラグインの _irc.c_ など。
|===
C 言語ファイルのヘッダはファイルと同じ名前です、例えばファイル
_wee-command.c_ のヘッダファイルは _wee-command.h_ です
_core-command.c_ のヘッダファイルは _core-command.h_ です
[[naming_convention_structures]]
==== 構造体
+84 -23
View File
@@ -598,6 +598,33 @@ macOS のターミナル.app を使っている場合、設定メニューのキ
キーを使用」を有効化してください。こうすることで、kbd:[Option]
キーをメタキーとして使うことが可能です。
// TRANSLATION MISSING
[[enter_key]]
=== Some keys including Enter are not working, why?
If you run a WeeChat < 4.0.0 with configuration files created by any
version ≥ 4.0.0, the keys names become invalid and many keys won't work at all. +
To repair them, exit WeeChat, remove all sections `[key*]` from weechat.conf
and start WeeChat again: all default keys will be created.
// TRANSLATION MISSING
[[key_f11]]
=== Key F11 maximizes the terminal window, how can I scroll up the nicklist?
The key kbd:[F11] is commonly used by terminals to maximize the window, and
kbd:[F11]/kbd:[F12] are the default keys in WeeChat to scroll the nicklist.
You can bind other keys, for example kbd:[Shift+F11] and kbd:[Shift+F12],
with WeeChat ≥ 4.0.0:
----
/key bind shift-f11 /bar scroll nicklist * -100%
/key bind shift-f12 /bar scroll nicklist * +100%
----
Other solution is to enable mouse (key: kbd:[Alt+m]) and scroll with the mouse
wheel (see also questions about <<mouse,mouse>>).
[[customize_key_bindings]]
=== どうすればキー割り当てをカスタマイズできますか。
@@ -626,6 +653,13 @@ macOS のターミナル.app を使っている場合、設定メニューのキ
/trigger add numberjump modifier "2000|input_text_for_buffer" "${tg_string} =~ ^/[0-9]+$" "=\/([0-9]+)=/buffer *${re:1}=" "" "" "none"
----
// TRANSLATION MISSING
For an easy jump to buffers, you can also install the _go.py_ script:
----
/script install go.py
----
[[global_history]]
=== どうすればグローバルヒストリを (バッファヒストリの代わりに) 上下矢印キーで使えますか。
@@ -946,34 +980,22 @@ link:weechat_user.ja.html#max_hotlist_level_nicks[hotlist_max_level_nicks_add ^
buffer property to set the max hotlist level for some nicks, per buffer,
or per group of buffers (like IRC servers).
ハイライトを無効化するだけなら、このプロパティを 2 に設定してください:
ハイライトを無効化するだけなら、このプロパティを 2 に設定してください.
// TRANSLATION MISSING
For the current buffer:
----
/buffer set hotlist_max_level_nicks_add joe:2,mike:2
/buffer setauto hotlist_max_level_nicks_add joe:2,mike:2
----
このバッファプロパティは設定に保存されません。このバッファプロパティを自動的に適用するには、_buffer_autoset.py_
スクリプトが必要です:
// TRANSLATION MISSING
For all channels on server "libera":
----
/script install buffer_autoset.py
/set weechat.buffer.irc.libera.*.hotlist_max_level_nicks_add joe:2,mike:2
----
例えば、IRC サーバ libera のチャンネル #weechat に参加している "mike"
の発言に対してハイライトを永久的に無効化するには以下のように設定します:
----
/buffer_autoset add irc.libera.#weechat hotlist_max_level_nicks_add mike:2
----
この設定をすべての libera サーバのバッファに対して適用するには以下のように設定します:
----
/buffer_autoset add irc.libera hotlist_max_level_nicks_add mike:2
----
これ以外の例は `+/help buffer_autoset+` を参照してください。
[[irc_target_buffer]]
=== どうすればマージされたバッファ内であるコマンドを発行するターゲットバッファを変更できますか。
@@ -1104,7 +1126,10 @@ spell プラグインをリロードしてください:
以下に挙げる <<memory_usage,memory>> に関するヒントに従ってください:
* "nicklist" バーを非表示にする: `/bar hide nicklist`
// TRANSLATION MISSING
* "nicklist" バーを非表示にする: `/bar hide nicklist` (key: kbd:[Alt+Shift+N]).
// TRANSLATION MISSING
* Disable "buflist": `/buflist disable` (key: kbd:[Alt+Shift+B]).
* ステータスバー時間に秒の表示を止める:
`+/set weechat.look.item_time_format "%H:%M"+` (これはデフォルト値です)
* コマンドライン内の単語スペルミスのリアルタイムチェックを無効にする (有効にしていた場合):
@@ -1126,14 +1151,21 @@ IRC の退出および終了メッセージを無効化します:
----
/set irc.ctcp.clientinfo ""
/set irc.ctcp.finger ""
/set irc.ctcp.source ""
/set irc.ctcp.time ""
/set irc.ctcp.userinfo ""
/set irc.ctcp.version ""
/set irc.ctcp.ping ""
----
// TRANSLATION MISSING
With WeeChat < 4.1.0, other CTCP queries were replied by default and must be
disabled as well:
----
/set irc.ctcp.finger ""
/set irc.ctcp.userinfo ""
----
"xfer" プラグイン (これは IRC DCC 機能を使うためのものです) をアンロードして自動ロードを無効化します:
----
@@ -1169,6 +1201,35 @@ stored in _sec.conf_ with the `/secure` command).
設定ファイルに関する詳しい情報はlink:weechat_user.ja.html#files_and_directories[ユーザーズガイド / ファイルとディレクトリ ^↗^^]を参照してください。
// TRANSLATION MISSING
[[move_to_another_device]]
=== I want to move my WeeChat to another device and keep my config, what should I copy?
First check directories used by WeeChat with this command: `/debug dirs`. +
Directories home/config and home/data must be copied (all files and sub-directories).
For example if you're using XDG directories (default with WeeChat ≥ 3.2),
the directories should be `$HOME/.config/weechat` and `$HOME/.local/share/weechat`. +
If you're using a single directory (default with WeeChat < 3.2), the directory
should be `$HOME/.weechat`.
[IMPORTANT]
The WeeChat version on the new device must be greater than or equal to the version
on the initial device. +
Downgrading WeeChat configuration is *NOT SUPPORTED* and can break it,
leading to unusable WeeChat.
Steps:
. Quit Weechat: `/quit` (or `/upgrade -quit` if you want to resume the session,
which includes content of all buffers).
. Copy all directories, sub-directories and files to the new device, keeping
same names and permissions.
. Optional: copy any file outside these directories that you refer to in your
configuration (it's not recommended to use files outside WeeChat directories).
. Start WeeChat on the new device: `weechat` (or `weechat --upgrade` if you
saved the session).
[[development]]
== 開発
File diff suppressed because it is too large Load Diff
+28 -10
View File
@@ -507,7 +507,9 @@ hda:
'buffer': 'ptr',
'y': 'int',
'date': 'tim',
'date_usec': 'int',
'date_printed': 'tim',
'date_usec_printed', 'int',
'str_time': 'str',
'tags_count': 'int',
'tags_array': 'arr',
@@ -525,7 +527,9 @@ hda:
buffer: '0x558d61ea3e60'
y: -1
date: 1588404926
date_usec: 118712
date_printed: 1588404926
date_usec_printed: 118712
str_time: 'F@0025209F@0024535F@0024026'
tags_count: 0
tags_array: []
@@ -541,7 +545,9 @@ hda:
buffer: '0x558d61ea3e60'
y: -1
date: 1588404930
date_usec: 25
date_printed: 1588404930
date_usec_printed: 25
str_time: 'F@0025209F@0024535F@0024030'
tags_count: 0
tags_array: []
@@ -722,6 +728,7 @@ inl:
nicklist_visible_count: 0
title: 'WeeChat 2.9-dev (C) 2003-2020 - https://weechat.org/'
input: 1
input_get_any_user_data: 0
input_get_unknown_commands: 0
input_get_empty: 0
input_multiline: 0
@@ -733,11 +740,14 @@ inl:
input_buffer_1st_display: 0
num_history: 0
text_search: 0
text_search_direction: 0
text_search_exact: 0
text_search_regex: 0
text_search_regex_compiled: '0x0'
text_search_where: 0
text_search_history: 0
text_search_found: 0
text_search_ptr_history: '0x0'
text_search_input: None
highlight_words: None
highlight_disable_regex: None
@@ -2082,17 +2092,21 @@ hdata として送られるデータ:
[width="100%",cols="3m,2,10",options="header"]
|===
| 名前 | 型 | 説明
| buffer | pointer | バッファへのポインタ
| date | time | メッセージの日付
| date_printed | time | WeeChat メッセージを表示した日付
| displayed | char | メッセージが表示される場合は 1、メッセージがフィルタされる (隠される) 場合は 0
| 名前 | 型 | 説明
| buffer | pointer | バッファへのポインタ
| date | time | メッセージの日付
// TRANSLATION MISSING
| notify_level | char | Notify level: -1 = notify disabled, 0 = low, 1 = message, 2 = private, 3 = highlight.
| highlight | char | 行がハイライト部分を含む場合は 1、それ以外は 0
| tags_array | string の配列 | 行に対するタグのリスト
| prefix | string | プレフィックス
| message | string | メッセージ
| date_usec | integer | Microseconds of date.
| date_printed | time | WeeChat メッセージを表示した日付
// TRANSLATION MISSING
| date_usec_printed | integer | Microseconds of date when WeeChat displayed message.
| displayed | char | メッセージが表示される場合は 1、メッセージがフィルタされる (隠される) 場合は 0
// TRANSLATION MISSING
| notify_level | char | Notify level: -1 = notify disabled, 0 = low, 1 = message, 2 = private, 3 = highlight.
| highlight | char | 行がハイライト部分を含む場合は 1、それ以外は 0
| tags_array | string の配列 | 行に対するタグのリスト
| prefix | string | プレフィックス
| message | string | メッセージ
|===
例: バッファ _irc.libera.#weechat_ でニックネーム _FlashCode_ からの新しいメッセージ _hello!_:
@@ -2104,7 +2118,9 @@ hda:
keys: {
'buffer': 'ptr',
'date': 'tim',
'date_used': 'int',
'date_printed': 'tim',
'date_usec_printed': 'int',
'displayed': 'chr',
'notify_level': 'chr',
'highlight': 'chr',
@@ -2117,7 +2133,9 @@ hda:
__path: ['0x4a49600']
buffer: '0x4a715d0'
date: 1362728993
date_usec: 902765
date_printed: 1362728993
date_usec_printed: 902765
displayed: 1
notify_level: 1
highlight: 0
+2 -311
View File
@@ -571,323 +571,14 @@ link:weechat_plugin_api.ja.html[WeeChat プラグイン API リファレンス 
スクリプト API に含まれる関数のリスト:
[width="100%",cols="1,5",options="header"]
|===
| カテゴリ | 関数
| 一般
| register
| プラグイン
| plugin_get_name
| 設定
| charset_set +
iconv_to_internal +
iconv_from_internal +
gettext +
ngettext +
strlen_screen +
string_match +
string_match_list +
string_has_highlight +
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 +
string_input_for_buffer +
string_eval_expression +
string_eval_path_home
| ディレクトリ操作
| mkdir_home +
mkdir +
mkdir_parents
| ソート済みリスト
| list_new +
list_add +
list_search +
list_search_pos +
list_casesearch +
list_casesearch_pos +
list_get +
list_set +
list_next +
list_prev +
list_string +
list_size +
list_remove +
list_remove_all +
list_free
| 設定ファイル
| config_new +
config_new_section +
config_search_section +
config_new_option +
config_search_option +
config_string_to_boolean +
config_option_reset +
config_option_set +
config_option_set_null +
config_option_unset +
config_option_rename +
config_option_is_null +
config_option_default_is_null +
config_boolean +
config_boolean_default +
config_integer +
config_integer_default +
config_string +
config_string_default +
config_color +
config_color_default +
config_write_option +
config_write_line +
config_write +
config_read +
config_reload +
config_option_free +
config_section_free_options +
config_section_free +
config_free +
config_get +
config_get_plugin +
config_is_set_plugin +
config_set_plugin +
config_set_desc_plugin +
config_unset_plugin
| キー割り当て
| key_bind +
key_unbind
| 表示
| prefix +
color +
print (python では prnt) +
print_date_tags (python では prnt_date_tags) +
print_y (python では prnt_y) +
print_y_date_tags (python では prnt_y_date_tags) +
log_print
| フック
| hook_command +
hook_command_run +
hook_timer +
hook_fd +
hook_process +
hook_process_hashtable +
hook_connect +
hook_line +
hook_print +
hook_signal +
hook_signal_send +
hook_hsignal +
hook_hsignal_send +
hook_config +
hook_completion +
hook_modifier +
hook_modifier_exec +
hook_info +
hook_info_hashtable +
hook_infolist +
hook_focus +
hook_set +
unhook +
unhook_all
| バッファ
| buffer_new +
buffer_new_props +
current_buffer +
buffer_search +
buffer_search_main +
buffer_clear +
buffer_close +
buffer_merge +
buffer_unmerge +
buffer_get_integer +
buffer_get_string +
buffer_get_pointer +
buffer_set +
buffer_string_replace_local_var +
buffer_match_list
| ウィンドウ
| current_window +
window_search_with_buffer +
window_get_integer +
window_get_string +
window_get_pointer +
window_set_title
| ニックネームリスト
| nicklist_add_group +
nicklist_search_group +
nicklist_add_nick +
nicklist_search_nick +
nicklist_remove_group +
nicklist_remove_nick +
nicklist_remove_all +
nicklist_group_get_integer +
nicklist_group_get_string +
nicklist_group_get_pointer +
nicklist_group_set +
nicklist_nick_get_integer +
nicklist_nick_get_string +
nicklist_nick_get_pointer +
nicklist_nick_set
| バー
| bar_item_search +
bar_item_new +
bar_item_update +
bar_item_remove +
bar_search +
bar_new +
bar_set +
bar_update +
bar_remove
| コマンド
| command +
command_options
// TRANSLATION MISSING
| completion
| completion_new +
completion_search +
completion_get_string +
completion_list_add +
completion_free
| インフォ
| info_get +
info_get_hashtable
| インフォリスト
| infolist_new +
infolist_new_item +
infolist_new_var_integer +
infolist_new_var_string +
infolist_new_var_pointer +
infolist_new_var_time +
infolist_get +
infolist_next +
infolist_prev +
infolist_reset_item_cursor +
infolist_search_var +
infolist_fields +
infolist_integer +
infolist_string +
infolist_pointer +
infolist_time +
infolist_free
| hdata
| hdata_get +
hdata_get_var_offset +
hdata_get_var_type_string +
hdata_get_var_array_size +
hdata_get_var_array_size_string +
hdata_get_var_hdata +
hdata_get_list +
hdata_check_pointer +
hdata_move +
hdata_search +
hdata_char +
hdata_integer +
hdata_long +
hdata_string +
hdata_pointer +
hdata_time +
hdata_hashtable +
hdata_compare +
hdata_update +
hdata_get_string
| アップグレード
| upgrade_new +
upgrade_write_object +
upgrade_read +
upgrade_close
|===
include::{autogendir}/autogen_scripting_functions.ja.adoc[tag=functions]
[[script_api_constants]]
=== 定数
スクリプト API に含まれる定数のリスト:
[width="100%",cols="1,5",options="header"]
|===
| カテゴリ | 定数
// TRANSLATION MISSING
| リターンコード
| `WEECHAT_RC_OK` (integer) +
`WEECHAT_RC_OK_EAT` (integer) +
`WEECHAT_RC_ERROR` (integer)
// TRANSLATION MISSING
| 設定ファイル
| `WEECHAT_CONFIG_READ_OK` (integer) +
`WEECHAT_CONFIG_READ_MEMORY_ERROR` (integer) +
`WEECHAT_CONFIG_READ_FILE_NOT_FOUND` (integer) +
`WEECHAT_CONFIG_WRITE_OK` (integer) +
`WEECHAT_CONFIG_WRITE_ERROR` (integer) +
`WEECHAT_CONFIG_WRITE_MEMORY_ERROR` (integer) +
`WEECHAT_CONFIG_OPTION_SET_OK_CHANGED` (integer) +
`WEECHAT_CONFIG_OPTION_SET_OK_SAME_VALUE` (integer) +
`WEECHAT_CONFIG_OPTION_SET_ERROR` (integer) +
`WEECHAT_CONFIG_OPTION_SET_OPTION_NOT_FOUND` (integer) +
`WEECHAT_CONFIG_OPTION_UNSET_OK_NO_RESET` (integer) +
`WEECHAT_CONFIG_OPTION_UNSET_OK_RESET` (integer) +
`WEECHAT_CONFIG_OPTION_UNSET_OK_REMOVED` (integer) +
`WEECHAT_CONFIG_OPTION_UNSET_ERROR` (integer)
// TRANSLATION MISSING
| ソート済みリスト
| `WEECHAT_LIST_POS_SORT` (string) +
`WEECHAT_LIST_POS_BEGINNING` (string) +
`WEECHAT_LIST_POS_END` (string)
// TRANSLATION MISSING
| ホットリスト
| `WEECHAT_HOTLIST_LOW` (string) +
`WEECHAT_HOTLIST_MESSAGE` (string) +
`WEECHAT_HOTLIST_PRIVATE` (string) +
`WEECHAT_HOTLIST_HIGHLIGHT` (string)
// TRANSLATION MISSING
| プロセスのフック
| `WEECHAT_HOOK_PROCESS_RUNNING` (integer) +
`WEECHAT_HOOK_PROCESS_ERROR` (integer)
// TRANSLATION MISSING
| 接続のフック
| `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) +
`WEECHAT_HOOK_CONNECT_PROXY_ERROR` (integer) +
`WEECHAT_HOOK_CONNECT_LOCAL_HOSTNAME_ERROR` (integer) +
`WEECHAT_HOOK_CONNECT_GNUTLS_INIT_ERROR` (integer) +
`WEECHAT_HOOK_CONNECT_GNUTLS_HANDSHAKE_ERROR` (integer) +
`WEECHAT_HOOK_CONNECT_MEMORY_ERROR` (integer) +
`WEECHAT_HOOK_CONNECT_TIMEOUT` (integer) +
`WEECHAT_HOOK_CONNECT_SOCKET_ERROR` (integer)
// TRANSLATION MISSING
| シグナルのフック
| `WEECHAT_HOOK_SIGNAL_STRING` (string) +
`WEECHAT_HOOK_SIGNAL_INT` (string) +
`WEECHAT_HOOK_SIGNAL_POINTER` (string)
|===
include::{autogendir}/autogen_scripting_constants.ja.adoc[tag=constants]
[[common_tasks]]
== 良くあるタスク
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -101,7 +101,7 @@ $HOME/.local/share/weechat/weechat.log::
WeeChat jest tworzony przez Sébastien Helleu i społeczność (pełna lista dostępna
jest w pliku AUTHORS.adoc).
Copyright (C) 2003-2023 {author}
Copyright (C) 2003-2024 {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
+83 -37
View File
@@ -6,7 +6,7 @@
Tłumaczenie:
* Krzysztof Korościk <soltys1@gmail.com>, 2009-2022
* Krzysztof Korościk <soltys1@gmail.com>, 2009-2024
[[general]]
== Ogólne
@@ -39,15 +39,12 @@ https://weechat.org/about/interfaces/[zdalnym interfejsom ^↗^^].
[[compile_git]]
=== Nie mogę skompilować WeeChat po sklonowaniu repozytorium git, dlaczego?
// TRANSLATION MISSING
WeeChat must be compiled with CMake.
WeeChat musi być kompilowany przy użyciu CMake.
// TRANSLATION MISSING
Please follow link:weechat_user.en.html#source_package[build instructions ^↗^^]
and ensure all required dependencies are installed.
Postępuj zgodnie z link:weechat_user.en.html#source_package[instrukcjami kompilacji ^↗^^]
w celu upewnienia się, że wszystkie wymagane zależności są zainstalowane.
// TRANSLATION MISSING
If you still have issues, please report them to the developers.
Jeśli nadal występują jakieś problemy zgłoś je do developerów.
[[compile_macos]]
=== Jak zainstalować WeeChat na macOS?
@@ -585,6 +582,31 @@ Jeśli używasz aplikacji Terminal na macOS włącz opcję
"Use option as meta key" w menu Settings/Keyboard. Następnie możesz używać klawisza
kbd:[Option] jako klawisza meta.
[[enter_key]]
=== Niektóre przyciski w tym Enter nie działają, dlatego?
Jeśli używasz WeeChat < 4.0.0 z plikami konfiguracyjnymi stworzonymi przez dowolną
wersję ≥ 4.0.0, nazwy przycisków stały się nieprawidłowe i wiele z nich nie będzie działać. +
Żeby to naprawić zamknij WeeChat, usuń wszystkie sekcje `[key*]` z pliku weechat.conf
i uruchom WeeChat ponownie: przywróci to domyślną konfigurację skrótów klawiszowych.
[[key_f11]]
=== F11 maksymalizuje okno terminala, jak mogę przewijać listę nicków?
Klawisz kbd:[F11] jest często używany przez terminale do maksymalizacji okna, oraz
kbd:[F11]/kbd:[F12] są domyślnie używane przez WeeChat do przewijania listy nicków.
Możesz przypisać inne klawisze, na przykład kbd:[Shift+F11] i kbd:[Shift+F12],
w WeeChat ≥ 4.0.0:
----
/key bind shift-f11 /bar scroll nicklist * -100%
/key bind shift-f12 /bar scroll nicklist * +100%
----
Innym rozwiązaniem jest włączenie obsługi myszy (kbd:[Alt+m]) i przewijanie listy za
pomocą kółka myszy (zobacz pytania na temat <<mouse,obsługi myszy>>).
[[customize_key_bindings]]
=== Jak mogę zmienić przypisania klawiszy?
@@ -615,6 +637,12 @@ komendy w stylu `/123` żeby przejść do bufora #123:
/trigger add numberjump modifier "2000|input_text_for_buffer" "${tg_string} =~ ^/[0-9]+$" "=\/([0-9]+)=/buffer *${re:1}=" "" "" "none"
----
Dla łatwego przechodzenia między buforami możesz również zainstalować skrypt _go.py_:
----
/script install go.py
----
[[global_history]]
=== Jak używać globalnej historii (zamiast historii buforu) za pomocą strzałek góra/dół?
@@ -628,9 +656,8 @@ Przykład:
/key bind down /input history_global_next
----
// TRANSLATION MISSING
With WeeChat ≤ 3.8, you must use the raw key code (press kbd:[Alt+k] then key
to display its code):
Dla wersji WeeChat ≤ 3.8, należy podać kody klawiszy (naciśnij kbd:[Alt+k] następnie kombinacje
klawiszy, aby zobaczyć ich kod):
----
/key bind meta2-A /input history_global_previous
@@ -823,11 +850,10 @@ regularnych dla przedrostków i zawartości linii.
Filtrowane linie są tylko ukrywane, nie usuwane, można je zobaczyć wyłączając
filtry (domyślnie kbd:[Alt+=] zmienia stan filtrów).
// TRANSLATION MISSING
[[filter_irc_join_part_quit]]
=== How can I filter join/part/quit and other annoying messages on IRC channels?
=== Jak odfiltrować informację o join/part/quit i inne uciążliwe wiadomości na kanałach IRC?
See link:weechat_user.pl.html#irc_smart_filter[User's guide / IRC smart filter ^↗^^].
Zobacz link:weechat_user.pl.html#irc_smart_filter[Poradnik użytkownika / Inteligentny filtr ^↗^^].
[[filter_irc_join_channel_messages]]
=== Jak mogę filtrować wyświetlane wiadomości podczas wejścia na kanał IRC?
@@ -925,34 +951,20 @@ link:weechat_user.pl.html#max_hotlist_level_nicks[hotlist_max_level_nicks_add ^
do ustawienia maksymalnego poziomu hotlisty dla niektórych nicków, dla buforów
lub grup buforów (jak serwery IRC).
W celu wyłączenia tylko podświetleń wystarczy ustawić ja na 2:
W celu wyłączenia tylko podświetleń wystarczy ustawić ja na 2.
Dla obecnego bufora:
----
/buffer set hotlist_max_level_nicks_add joe:2,mike:2
/buffer setauto hotlist_max_level_nicks_add joe:2,mike:2
----
To utawienie nie jest zapisywane jednak w konfiguracji.
W celu automatycznego ustawiania tej właściwości należy użyć skryptu _buffer_autoset.py_:
Dla wszystkich kanałów na serwerze "libera":
----
/script install buffer_autoset.py
/set weechat.buffer.irc.libera.*.hotlist_max_level_nicks_add joe:2,mike:2
----
Na przykład w celu wyłączenia powiadomień od "mike" na #weechat w sieci libera:
on the IRC server libera:
----
/buffer_autoset add irc.libera.#weechat hotlist_max_level_nicks_add mike:2
----
Dla całego serwera libera:
----
/buffer_autoset add irc.libera hotlist_max_level_nicks_add mike:2
----
Więcej przykładów można znaleźć wykonując komende `+/help buffer_autoset+`.
[[irc_target_buffer]]
=== Jak mogę zmienić docelowy bufor dla komendy w połączonym buforze (jak bufor z serwerami)?
@@ -1081,7 +1093,8 @@ W celu zmniejszenia używanej pamięci możesz zastosować się do poniższych r
Możesz skorzystać z tych samych porad jak dla <<memory_usage,memory>>, oraz tych:
* schowaj pasek "nicklist": `/bar hide nicklist`
* schowaj pasek "nicklist": `/bar hide nicklist` (kbd:[Alt+Shift+N]).
* wyłącz "buflist": `/buflist disable` (kbd:[Alt+Shift+B]).
* usuń wyświetlanie sekund w czasie na pasku statusu:
`+/set weechat.look.item_time_format "%H:%M"+` (domyślna wartość)
* wyłącz automatyczne sprawdzanie poprawności wpisywanych słów w linii poleceń (o ile je włączyłeś):
@@ -1103,14 +1116,20 @@ Wyłącz odpowiedzi na wszystkie zapytania CTCP:
----
/set irc.ctcp.clientinfo ""
/set irc.ctcp.finger ""
/set irc.ctcp.source ""
/set irc.ctcp.time ""
/set irc.ctcp.userinfo ""
/set irc.ctcp.version ""
/set irc.ctcp.ping ""
----
Dla WeeChat < 4.1.0, automatyczne odpowiedzi są również domyślnie wysyłane dla innch zapytań CTCP i muszą zostać
również wyłączone:
----
/set irc.ctcp.finger ""
/set irc.ctcp.userinfo ""
----
Wyładuj i wyłącz automatyczne ładowanie wtyczki "xfer" (używanej przez IRC DCC):
----
/plugin unload xfer
@@ -1145,6 +1164,33 @@ w _sec.conf_ za pomocą komendy `/secure`).
Przejrzyj link:weechat_user.pl.html#files_and_directories[Poradnik użytkownika / Pliki i foldery ^↗^^],
gdzie znajdziesz więcej informacji o plikach konfiguracyjnych.
[[move_to_another_device]]
=== Chcę przenieść WeeChat na inne urządzenie i zachować swoją konfigurację, co powinienem skompilować?
Najpierw sprawdź katalogi używane przez WeeChat za pomocą polecenia: `/debug dirs`. +
Katalogi home/config i home/data muszą zostać skopiowane (wszystkie pliki i podkatalogi).
Na przykład jeśli używasz katalogów XDG (domyślnie dla WeeChat ≥ 3.2), katalogi te to
`$HOME/.config/weechat` i `$HOME/.local/share/weechat`. +
Jeśli używasz pojedynczego katalogu (domyślne dla WeeChat < 3.2) jest to katalog
`$HOME/.weechat`.
[IMPORTANT]
Wersja WeeChat na nowym urządzeniu musi być wyższa lub taka sama jak na obecnym. +
Przenoszenie konfiguracji do starszej wersji WeeChat *NIE JEST WSPIERANE* i może ją zepsuć,
prowadząć do niestabilnego działania WeeChat.
Kroki:
. Zamknij Weechat: `/quit` (lub `/upgrade -quit` jeśli chcesz przywrócić sesję,
co zawiera zawartość wszystkich buforów).
. Skopiuj wszystkie katalogi, podkatalogi i pliki na nowe urządzenie, zachowując ich
nazwy i uprawnienia.
. Opcjonalne: skopiuj dowolne pliki z poza tych katalogów, do których odnosisz się w swojej
konfiguracji (nie zaleca się używania plików z poza katalogów WeeChat).
. Uruchom WeeChat na nowym urządzeniu: `weechat` (lub `weechat --upgrade` jeśli zapisywałeś
sesje).
[[development]]
== Rozwój
+1 -1
View File
@@ -6,7 +6,7 @@
Tłumaczenie:
* Krzysztof Korościk <soltys1@gmail.com>, 2009-2022
* Krzysztof Korościk <soltys1@gmail.com>, 2009-2024
[[start]]
== Uruchamianie WeeChat
+3 -304
View File
@@ -6,7 +6,7 @@
Tłumaczenie:
* Krzysztof Korościk <soltys1@gmail.com>, 2009-2022
* Krzysztof Korościk <soltys1@gmail.com>, 2009-2024
Ten dokument opisuje klienta rozmów WeeChat, który jest częścią WeeChat.
@@ -557,315 +557,14 @@ link:weechat_plugin_api.en.html[Opisu API wtyczek WeeChat ^↗^^] (Angielski).
Lista funkcji w API skryptów:
[width="100%",cols="1,5",options="header"]
|===
| Kategoria | Funkcje
| ogólne
| register
| wtyczki
| plugin_get_name
| ciągi
| charset_set +
iconv_to_internal +
iconv_from_internal +
gettext +
ngettext +
strlen_screen +
string_match +
string_match_list +
string_has_highlight +
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 +
string_input_for_buffer +
string_eval_expression +
string_eval_path_home
| katalogi
| mkdir_home +
mkdir +
mkdir_parents
| przechowywane listy
| list_new +
list_add +
list_search +
list_search_pos +
list_casesearch +
list_casesearch_pos +
list_get +
list_set +
list_next +
list_prev +
list_string +
list_size +
list_remove +
list_remove_all +
list_free
| pliki konfiguracyjne
| config_new +
config_new_section +
config_search_section +
config_new_option +
config_search_option +
config_string_to_boolean +
config_option_reset +
config_option_set +
config_option_set_null +
config_option_unset +
config_option_rename +
config_option_is_null +
config_option_default_is_null +
config_boolean +
config_boolean_default +
config_integer +
config_integer_default +
config_string +
config_string_default +
config_color +
config_color_default +
config_write_option +
config_write_line +
config_write +
config_read +
config_reload +
config_option_free +
config_section_free_options +
config_section_free +
config_free +
config_get +
config_get_plugin +
config_is_set_plugin +
config_set_plugin +
config_set_desc_plugin +
config_unset_plugin
| przypisania klawiszy
| key_bind +
key_unbind
| wyświetlanie
| prefix +
color +
print (dla pythona: prnt) +
print_date_tags (dla pythona: prnt_date_tags) +
print_y (dla pythona: prnt_y) +
print_y_date_tags (dla pythona: prnt_y_date_tags) +
log_print
| hooks
| hook_command +
hook_command_run +
hook_timer +
hook_fd +
hook_process +
hook_process_hashtable +
hook_connect +
hook_line +
hook_print +
hook_signal +
hook_signal_send +
hook_hsignal +
hook_hsignal_send +
hook_config +
hook_completion +
hook_modifier +
hook_modifier_exec +
hook_info +
hook_info_hashtable +
hook_infolist +
hook_focus +
hook_set +
unhook +
unhook_all
| bufory
| buffer_new +
buffer_new_props +
current_buffer +
buffer_search +
buffer_search_main +
buffer_clear +
buffer_close +
buffer_merge +
buffer_unmerge +
buffer_get_integer +
buffer_get_string +
buffer_get_pointer +
buffer_set +
buffer_string_replace_local_var +
buffer_match_list
| okna
| current_window +
window_search_with_buffer +
window_get_integer +
window_get_string +
window_get_pointer +
window_set_title
| lista nicków
| nicklist_add_group +
nicklist_search_group +
nicklist_add_nick +
nicklist_search_nick +
nicklist_remove_group +
nicklist_remove_nick +
nicklist_remove_all +
nicklist_group_get_integer +
nicklist_group_get_string +
nicklist_group_get_pointer +
nicklist_group_set +
nicklist_nick_get_integer +
nicklist_nick_get_string +
nicklist_nick_get_pointer +
nicklist_nick_set
| paski
| bar_item_search +
bar_item_new +
bar_item_update +
bar_item_remove +
bar_search +
bar_new +
bar_set +
bar_update +
bar_remove
| komendy
| command +
command_options
| dopełnienia
| completion_new +
completion_search +
completion_get_string +
completion_list_add +
completion_free
| informacje
| info_get +
info_get_hashtable
| infolisty
| infolist_new +
infolist_new_item +
infolist_new_var_integer +
infolist_new_var_string +
infolist_new_var_pointer +
infolist_new_var_time +
infolist_get +
infolist_next +
infolist_prev +
infolist_reset_item_cursor +
infolist_search_var +
infolist_fields +
infolist_integer +
infolist_string +
infolist_pointer +
infolist_time +
infolist_free
| hdata
| hdata_get +
hdata_get_var_offset +
hdata_get_var_type_string +
hdata_get_var_array_size +
hdata_get_var_array_size_string +
hdata_get_var_hdata +
hdata_get_list +
hdata_check_pointer +
hdata_move +
hdata_search +
hdata_char +
hdata_integer +
hdata_long +
hdata_string +
hdata_pointer +
hdata_time +
hdata_hashtable +
hdata_compare +
hdata_update +
hdata_get_string
| uaktualnienie
| upgrade_new +
upgrade_write_object +
upgrade_read +
upgrade_close
|===
include::{autogendir}/autogen_scripting_functions.pl.adoc[tag=functions]
[[script_api_constants]]
=== Stałe
Lista stałych w API skryptów:
[width="100%",cols="1,5",options="header"]
|===
| Kategoria | Stałe
| zwracane kody
| `WEECHAT_RC_OK` (liczba całkowita) +
`WEECHAT_RC_OK_EAT` (liczba całkowita) +
`WEECHAT_RC_ERROR` (liczba całkowita)
| pliki konfiguracyjne
| `WEECHAT_CONFIG_READ_OK` (liczba całkowita) +
`WEECHAT_CONFIG_READ_MEMORY_ERROR` (liczba całkowita) +
`WEECHAT_CONFIG_READ_FILE_NOT_FOUND` (liczba całkowita) +
`WEECHAT_CONFIG_WRITE_OK` (liczba całkowita) +
`WEECHAT_CONFIG_WRITE_ERROR` (liczba całkowita) +
`WEECHAT_CONFIG_WRITE_MEMORY_ERROR` (liczba całkowita) +
`WEECHAT_CONFIG_OPTION_SET_OK_CHANGED` (liczba całkowita) +
`WEECHAT_CONFIG_OPTION_SET_OK_SAME_VALUE` (liczba całkowita) +
`WEECHAT_CONFIG_OPTION_SET_ERROR` (liczba całkowita) +
`WEECHAT_CONFIG_OPTION_SET_OPTION_NOT_FOUND` (liczba całkowita) +
`WEECHAT_CONFIG_OPTION_UNSET_OK_NO_RESET` (liczba całkowita) +
`WEECHAT_CONFIG_OPTION_UNSET_OK_RESET` (liczba całkowita) +
`WEECHAT_CONFIG_OPTION_UNSET_OK_REMOVED` (liczba całkowita) +
`WEECHAT_CONFIG_OPTION_UNSET_ERROR` (liczba całkowita)
| posortowane listy
| `WEECHAT_LIST_POS_SORT` (ciąg) +
`WEECHAT_LIST_POS_BEGINNING` (ciąg) +
`WEECHAT_LIST_POS_END` (ciąg)
| hotlisty
| `WEECHAT_HOTLIST_LOW` (ciąg) +
`WEECHAT_HOTLIST_MESSAGE` (ciąg) +
`WEECHAT_HOTLIST_PRIVATE` (ciąg) +
`WEECHAT_HOTLIST_HIGHLIGHT` (ciąg)
| hook process
| `WEECHAT_HOOK_PROCESS_RUNNING` (liczba całkowita) +
`WEECHAT_HOOK_PROCESS_ERROR` (liczba całkowita)
| hook connect
| `WEECHAT_HOOK_CONNECT_OK` (liczba całkowita) +
`WEECHAT_HOOK_CONNECT_ADDRESS_NOT_FOUND` (liczba całkowita) +
`WEECHAT_HOOK_CONNECT_IP_ADDRESS_NOT_FOUND` (liczba całkowita) +
`WEECHAT_HOOK_CONNECT_CONNECTION_REFUSED` (liczba całkowita) +
`WEECHAT_HOOK_CONNECT_PROXY_ERROR` (liczba całkowita) +
`WEECHAT_HOOK_CONNECT_LOCAL_HOSTNAME_ERROR` (liczba całkowita) +
`WEECHAT_HOOK_CONNECT_GNUTLS_INIT_ERROR` (liczba całkowita) +
`WEECHAT_HOOK_CONNECT_GNUTLS_HANDSHAKE_ERROR` (liczba całkowita) +
`WEECHAT_HOOK_CONNECT_MEMORY_ERROR` (liczba całkowita) +
`WEECHAT_HOOK_CONNECT_TIMEOUT` (liczba całkowita) +
`WEECHAT_HOOK_CONNECT_SOCKET_ERROR` (liczba całkowita)
| hook signal
| `WEECHAT_HOOK_SIGNAL_STRING` (ciąg) +
`WEECHAT_HOOK_SIGNAL_INT` (ciąg) +
`WEECHAT_HOOK_SIGNAL_POINTER` (ciąg)
|===
include::{autogendir}/autogen_scripting_constants.pl.adoc[tag=constants]
[[common_tasks]]
== Częste zadania
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -99,7 +99,7 @@ $HOME/.local/share/weechat/weechat.log::
WeeChat написан Sébastien Helleu и другими участниками (полный список находится
в файле AUTHORS.adoc).
Copyright (C) 2003-2023 {author}
Copyright (C) 2003-2024 {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
@@ -97,7 +97,7 @@ $HOME/.config/weechat/weechat.log::
// tag::copyright[]
Програм WeeChat је написао Себастијен Елеу и људи који су дали свој допринос (комплетна листа се налази у фајлу AUTHORS.adoc).
Ауторска права (C) 2003-2023 {author}
Ауторска права (C) 2003-2024 {author}
WeeChat је слободни софтвер; можете га редистрибуирати и/или изменити под условима ГНУ Опште Јавне Лиценце коју је објавила Free Software Foundation; или верзије 3 Лиценце, или (по вашој жељи) било којој каснијој верзији.
+390 -341
View File
@@ -115,94 +115,96 @@ WeeChat „језгро” се налази у следећим директо
[width="100%", cols="2m,3", options="header"]
|===
| Путања/фајл | Опис
| core/ | Функције језгра: тачка улаза, интерне структуре.
|    wee-arraylist.c | Листе низова.
|    wee-backtrace.c | Испис трага након краха.
|    wee-calc.c | Израчунавање резултата израза.
|    wee-command.c | WeeChat команде језгра.
|    wee-completion.c | Подразумевана довршавања.
|    wee-config-file.c | Управљање конфигурационим фајловима.
|    wee-config.c | Конфигурационе опције за WeeChat језгро (фајл weechat.conf).
|    wee-crypto.c | Криптографске функције.
|    wee-debug.c | Неке дибаг функције.
|    wee-dir.c | Функције директоријума/фајла.
|    wee-doc.c | Изградња фајлова за документацију.
|    wee-eval.c | Израчунавање израза са референцама на интерне променљиве.
|    wee-hashtable.c | Хеш табеле.
|    wee-hdata.c | Hdata (директни приступ подацима употребом хеш табела).
|    wee-hook.c | Куке.
|    wee-infolist.c | Инфолисте (листе са подацима објеката).
|    wee-input.c | Унос команди/текста.
|    wee-list.c | Сортиране листе.
|    wee-log.c | Упис у WeeChat лог фајл (weechat.log).
|    wee-network.c | Мрежне функције (повезивање са серверима/проксијима).
|    wee-proxy.c | Управљање проксијима.
|    wee-secure.c | Функције обезбеђених података.
|    wee-secure-buffer.c | Бафер обезбеђених података.
|    wee-secure-config.c | Опције обезбеђених података (фајл sec.conf).
|    wee-string.c | Функције над стринговима.
|    wee-upgrade-file.c | Интерни систем ажурирања.
|    wee-upgrade.c | Ажурирање за WeeChat језгро (бафери, линије, историја, ...).
|    wee-url.c | URL трансфер (помоћу libcurl).
|    wee-utf8.c | UTF-8 фунцкије.
|    wee-util.c | Неке друге функције.
|    wee-version.c | Функције за WeeChat верзију.
|    weechat.c | Основне функције: опције командне линије, покретање.
|    hook/ | Функције кука.
|       wee-hook-command-run.c | Кука "command_run".
|       wee-hook-command.c | Кука "command".
|       wee-hook-completion.c | Кука "completion".
|       wee-hook-config.c | Кука "config".
|       wee-hook-connect.c | Кука "connect".
|       wee-hook-fd.c | Кука "fd".
|       wee-hook-focus.c | Кука "focus".
|       wee-hook-hdata.c | Кука "hdata".
|       wee-hook-hsignal.c | Кука "hsignal".
|       wee-hook-info-hashtable.c | Кука "info_hashtable".
|       wee-hook-info.c | Кука "info".
|       wee-hook-infolist.c | Кука "infolist".
|       wee-hook-line.c | Кука "line".
|       wee-hook-modifier.c | Кука "modifier".
|       wee-hook-print.c | Кука "print".
|       wee-hook-process.c | Кука "process".
|       wee-hook-signal.c | Кука "signal".
|       wee-hook-timer.c | Кука "timer".
| gui/ | Функције за бафере, прозоре, ... (користе их сви интерфејси).
|    gui-bar-item.c | Ставке трака.
|    gui-bar-window.c | Прозори трака.
|    gui-bar.c | Траке.
|    gui-buffer.c | Бафери.
|    gui-chat.c | Функције разговора (призаз поруке, ...).
|    gui-color.c | Функције боја.
|    gui-completion.c | Довршавање у комадној линији.
|    gui-cursor.c | Курсорски режим (слобосно померање курсора).
|    gui-filter.c | Филтери.
|    gui-focus.c | Функције у вези фокуса (за курсорски режими миша).
|    gui-history.c | Команде/текст сачуван у баферима.
|    gui-hotlist.c | Управљање врућом листом (листа бафера у којима има активности).
|    gui-input.c | Функције уноса (трака уноса).
|    gui-key.c | Функције тастатуре.
|    gui-layout.c | Распоред.
|    gui-line.c | Линије у баферуLines in buffers.
|    gui-mouse.c | Миш.
|    gui-nick.c | Функције надимака.
|    gui-nicklist.c | Листа надимака у баферима.
|    gui-window.c | Прозори.
|    curses/ | Curses интерфејс.
|       gui-curses-bar-window.c | Приказ у прозорима трака.
|       gui-curses-chat.c | Приказ у простору разговора (поруке).
|       gui-curses-color.c | Функције боја.
|       gui-curses-key.c | Функције тастатуре (подраз. тастери, читање уноса).
|       gui-curses-main.c | WeeChat главна петља (чекање на догађаје тастатуре/мреже).
|       gui-curses-mouse.c | Миш.
|       gui-curses-term.c | Функције у вези терминала.
|       gui-curses-window.c | Прозори.
|       headless/ | Режим без интерфејса.
|          main.c | Тачка улаза за режим без интерфејса.
|          ncurses-fake.c | Лажна ncurses библиотека.
|       normal/ | Curses интерфејс.
|          main.c | Тачка улаза за Curses интерфејс.
| Путања/фајл | Опис
| core/ | Функције језгра: тачка улаза, интерне структуре.
|    core-arraylist.c | Листе низова.
|    core-backtrace.c | Испис трага након краха.
|    core-calc.c | Израчунавање резултата израза.
|    core-command.c | WeeChat команде језгра.
|    core-completion.c | Подразумевана довршавања.
|    core-config-file.c | Управљање конфигурационим фајловима.
|    core-config.c | Конфигурационе опције за WeeChat језгро (фајл weechat.conf).
|    core-crypto.c | Криптографске функције.
|    core-debug.c | Неке дибаг функције.
|    core-dir.c | Функције директоријума/фајла.
|    core-doc.c | Изградња фајлова за документацију.
|    core-eval.c | Израчунавање израза са референцама на интерне променљиве.
|    core-hashtable.c | Хеш табеле.
|    core-hdata.c | Hdata (директни приступ подацима употребом хеш табела).
|    core-hook.c | Куке.
|    core-infolist.c | Инфолисте (листе са подацима објеката).
|    core-input.c | Унос команди/текста.
|    core-list.c | Сортиране листе.
|    core-log.c | Упис у WeeChat лог фајл (weechat.log).
|    core-network.c | Мрежне функције (повезивање са серверима/проксијима).
|    core-proxy.c | Управљање проксијима.
|    core-secure.c | Функције обезбеђених података.
|    core-secure-buffer.c | Бафер обезбеђених података.
|    core-secure-config.c | Опције обезбеђених података (фајл sec.conf).
|    core-string.c | Функције над стринговима.
|    core-sys.c | Системске функције.
|    core-upgrade-file.c | Интерни систем ажурирања.
|    core-upgrade.c | Ажурирање за WeeChat језгро (бафери, линије, историја, ...).
|    core-url.c | URL трансфер (помоћу libcurl).
|    core-utf8.c | UTF-8 функције.
|    core-util.c | Неке друге функције.
|    core-version.c | Функције за WeeChat верзију.
|    weechat.c | Основне функције: опције командне линије, покретање.
|    hook/ | Функције кука.
|       hook-command-run.c | Кука "command_run".
|       hook-command.c | Кука "command".
|       hook-completion.c | Кука "completion".
|       hook-config.c | Кука "config".
|       hook-connect.c | Кука "connect".
|       hook-fd.c | Кука "fd".
|       hook-focus.c | Кука "focus".
|       hook-hdata.c | Кука "hdata".
|       hook-hsignal.c | Кука "hsignal".
|       hook-info-hashtable.c | Кука "info_hashtable".
|       hook-info.c | Кука "info".
|       hook-infolist.c | Кука "infolist".
|       hook-line.c | Кука "line".
|       hook-modifier.c | Кука "modifier".
|       hook-print.c | Кука "print".
|       hook-process.c | Кука "process".
|       hook-signal.c | Кука "signal".
|       hook-timer.c | Кука "timer".
|       hook-url.c | Кука "url".
| gui/ | Функције за бафере, прозоре, ... (користе их сви интерфејси).
|    gui-bar-item.c | Ставке трака.
|    gui-bar-window.c | Прозори трака.
|    gui-bar.c | Траке.
|    gui-buffer.c | Бафери.
|    gui-chat.c | Функције разговора (призаз поруке, ...).
|    gui-color.c | Функције боја.
|    gui-completion.c | Довршавање у командној линији.
|    gui-cursor.c | Курсорски режим (слободно померање курсора).
|    gui-filter.c | Филтери.
|    gui-focus.c | Функције у вези фокуса (за курсорски режими миша).
|    gui-history.c | Команде/текст сачуван у баферима.
|    gui-hotlist.c | Управљање врућом листом (листа бафера у којима има активности).
|    gui-input.c | Функције уноса (трака уноса).
|    gui-key.c | Функције тастатуре.
|    gui-layout.c | Распоред.
|    gui-line.c | Линије у баферу.
|    gui-mouse.c | Миш.
|    gui-nick.c | Функције надимака.
|    gui-nicklist.c | Листа надимака у баферима.
|    gui-window.c | Прозори.
|    curses/ | Curses интерфејс.
|       gui-curses-bar-window.c | Приказ у прозорима трака.
|       gui-curses-chat.c | Приказ у простору разговора (поруке).
|       gui-curses-color.c | Функције боја.
|       gui-curses-key.c | Функције тастатуре (подраз. тастери, читање уноса).
|       gui-curses-main.c | WeeChat главна петља (чекање на догађаје тастатуре/мреже).
|       gui-curses-mouse.c | Миш.
|       gui-curses-term.c | Функције у вези терминала.
|       gui-curses-window.c | Прозори.
|       headless/ | Режим без интерфејса.
|          main.c | Тачка улаза за режим без интерфејса.
|          ncurses-fake.c | Лажна ncurses библиотека.
|       normal/ | Curses интерфејс.
|          main.c | Тачка улаза за Curses интерфејс.
|===
[[sources_plugins]]
@@ -210,178 +212,189 @@ WeeChat „језгро” се налази у следећим директо
[width="100%", cols="2m,3", options="header"]
|===
| Путања/фајл | Опис
| plugins/ | Корен додатака.
|    plugin.c | Управљање додацима (учитавање/уклањање динамичких C библиотека).
|    plugin-api.c | Додатне функције за API додатака (омотач око WeeChat функција језгра).
|    plugin-api-info.c | Додатне info/infolist фунцкије за API додатака.
|    plugin-config.c | Опције конфигурације додатака (фајл plugins.conf).
|    plugin-script.c | Опште функције које користе скрипт додаци.
|    plugin-script-api.c | Скрипт API функције: омотачи око неких функција API додатака.
|    plugin-script-config.c | Опције конфигурације скрипт додатака (фајлови python.conf, perl.conf, ...).
|    weechat-plugin.h | Заглавље које треба да се дистрибуира уз WeeChat додатке, како би могли да се компајлирају.
|    alias/ | Alias додатак.
|       alias.c | Главне алијас функције.
|       alias-command.c | Алијас команде.
|       alias-completion.c | Алијас довршавање.
|       alias-config.c | Алијас опције конфигурације (фајл alias.conf).
|       alias-info.c | Алијас info/infolists/hdata.
|    spell/ | Додатак за проверу правописа.
|       spell.c | Главне функције провере правописа.
|       spell-bar-item.c | Провера правописа ставке траке.
|       spell-command.c | Провера правописа команде.
|       spell-completion.c | Провера правописа довршавања.
|       spell-config.c | Провера правописа опције конфиг (фајл spell.conf).
|       spell-info.c | Провера правописа info/infolists/hdata.
|       spell-speller.c | Управљање библиотекама за проверу правописа.
|    buflist/ | Buflist додатак.
|       buflist.c | Главне buflist функције.
|       buflist-bar-item.c | Buflist ставке траке.
|       buflist-command.c | Buflist команде.
|       buflist-config.c | Buflist опције кофиг (фајл buflist.conf).
|       buflist-info.c | Buflist info/infolists/hdata.
|       buflist-mouse.c | Buflist акције мишем.
|    charset/ | Charset додатак.
|       charset.c | Charset функције.
|    exec/ | Exec додатак.
|       exec.c | Флавне exec функције.
|       exec-buffer.c | Exec бафер.
|       exec-command.c | Exec команде.
|       exec-completion.c | Exec довршавања.
|       exec-config.c | Exec опције конфиг (фајл exec.conf).
|    fifo/ | Fifo додатак.
|       fifo.c | Главне fifo функције.
|       fifo-command.c | Fifo команде.
|       fifo-config.c | Fifo опције конфиг (фајл fifo.conf).
|       fifo-info.c | Fifo info/infolists/hdata.
|    fset/ | Fset додатак.
|       fset.c | Главне fset функције.
|       fset-bar-item.c | Fset ставке траке.
|       fset-buffer.c | Fset бафер.
|       fset-command.c | Fset команде.
|       fset-completion.c | Fset довршавања.
|       fset-config.c | Fset опције конфиг (фајл fset.conf).
|       fset-info.c | Fset info/infolists/hdata.
|       fset-mouse.c | Fset акције мишем.
|       fset-option.c | Fset управљање опцијама.
|    guile/ | Guile (scheme) додатак.
|       weechat-guile.c | Главне guile функције (учитавањ/уклањање скрипти, извршавање guile кода).
|       weechat-guile-api.c | API функције guile скриптовања.
|    irc/ | IRC (Internet Relay Chat) додатак.
|       irc.c | Основне IRC функције.
|       irc-bar-item.c | IRC ставке траке.
|       irc-batch.c | IRC пакетни догађаји.
|       irc-buffer.c | IRC бафери.
|       irc-channel.c | IRC канали.
|       irc-color.c | IRC боје.
|       irc-command.c | IRC команде.
|       irc-completion.c | IRC довршавања.
|       irc-config.c | IRC опције конфиг (фајл irc.conf).
|       irc-ctcp.c | IRC CTCP.
|       irc-debug.c | IRC дибаг функције.
|       irc-ignore.c | IRC Ignore.
|       irc-info.c | IRC info/infolists/hdata.
|       irc-input.c | Унос команди/текста.
|       irc-join.c | Функције за листе канала којима се приступа.
|       irc-message.c | Функције за манипулисање IRC порукама.
|       irc-mode.c | Функције у вези режима канала/надимка.
|       irc-modelist.c | Листе режима IRC канала (+b, +e, +I, ...).
|       irc-msgbuffer.c | Циљни бафер за IRC поруке.
|       irc-nick.c | IRC надимци.
|       irc-notify.c | IRC листе за обавештавање.
|       irc-protocol.c | IRC протокол (RFCs 1459/2810/2811/2812/2813/7194).
|       irc-raw.c | IRC сирови бафер.
|       irc-redirect.c | Преусмеравање излаза IRC команде.
|       irc-sasl.c | SASL аутентификација са IRC сервером.
|       irc-server.c | У/И комуникација са IRC сервером.
|       irc-tag.c | Функције за манипулацију ознакама IRC порука.
|       irc-typing.c | Статус куцања.
|       irc-upgrade.c | Чување/обнављање IRC података када се ажурира програм WeeChat.
|    javascript/ | JavaScript додатак.
|       weechat-js.cpp | Главне JavaScript функције (учитавање/уклањање скрипти, извршавање JavaScript кода).
|       weechat-js-api.cpp | API функције JavaScript скриптовања.
|       weechat-js-v8.cpp | JavaScript v8 функције.
|    logger/ | Logger додатак.
|       logger.c | Главне logger функције.
|       logger-backlog.c | Logger backlog функције.
|       logger-buffer.c | Logger управљање листом бафера.
|       logger-command.c | Logger команде.
|       logger-config.c | Logger опције конфиг (фајл logger.conf).
|       logger-info.c | Logger info/infolists/hdata.
|       logger-tail.c | Функције за враћање последњих линија фајла.
|    lua/ | Lua додатак.
|       weechat-lua.c | Главне lua функције (учитавање/уклањање скрипти, извршавање lua кода).
|       weechat-lua-api.c | API функције Lua скриптовања.
|    perl/ | Perl додатак.
|       weechat-perl.c | Главне perl функције (учитавање/уклањање скрипти, извршавање perl кода).
|       weechat-perl-api.c | API функције Perl скриптовања.
|    php/ | PHP додатак.
|       weechat-php.c | Главне PHP функције (учитавање/уклањање скрипти, извршавање PHP кода).
|       weechat-php-api.c | API функције PHP скриптовања.
|    python/ | Python додатак.
|       weechat-python.c | Главне python функције (учитавање/уклањање скрипти,извршавање python кода).
|       weechat-python-api.c | API функције Python скриптовања.
|    relay/ | Релеј додатак (IRC прокси и релеј за удаљене интерфејсе).
|       relay.c | Главне релеј функције.
|       relay-auth.c | Аутентификација клијената.
|       relay-buffer.c | Релеј бафер.
|       relay-client.c | Клијенти релеја.
|       relay-command.c | Релеј команде.
|       relay-completion.c | Релеј довршавања.
|       relay-config.c | Релеј опције конфиг (фајл relay.conf).
|       relay-info.c | Релеј info/infolists/hdata.
|       relay-network.c | Мрежне функције за релеј.
|       relay-raw.c | Релеј сирови бафер.
|       relay-server.c | Релеј сервер.
|       relay-upgrade.c | Save/restore of relay data when upgrading WeeChat.
|       relay-websocket.c | WebSocket сервер функције (RFC 6455).
|       irc/ | IRC прокси.
|          relay-irc.c | Главне IRC прокси функције.
|       weechat/ | Релеј за удаљене интерфејсе.
|          relay-weechat.c | Релеј за удаљене интерфејсе (главне функције).
|          relay-weechat-msg.c | Слање бинарних порука клијентима.
|          relay-weechat-nicklist.c | Функције листе надимака.
|          relay-weechat-protocol.c | Читање команди од клијената.
|    ruby/ | Ruby додатак.
|       weechat-ruby.c | Главне ruby функције (учитавање/уклањање скрипти, извршавање ruby кода).
|       weechat-ruby-api.c | API функције Ruby скриптовања.
|    script/ | Управљач скриптама.
|       script.c | Главне функције за управљача скриптама.
|       script-action.c | Акције над скриптама (учитавање/уклањање, инсталација/деинсталација, ...).
|       script-buffer.c | Бафер за управљача скриптама.
|       script-command.c | Команде за управљача скриптама.
|       script-completion.c | Довршавања за управљача скриптама.
|       script-config.c | Опције конфигурације за управљача скриптама (фајл script.conf).
|       script-info.c | Управљач скриптама info/infolists/hdata.
|       script-mouse.c | Скрипт акције мишем.
|       script-repo.c | Преузимање и читање фајла репозиторијума.
|    tcl/ | Tcl додатак.
|       weechat-tcl.c | Главне tcl функције (учитавање/уклањање скрипти, извршавање tcl кода).
|       weechat-tcl-api.c | API функције Tcl скриптовања.
|    trigger/ | Окидач додатак.
|       trigger.c | Главне функције окидача.
|       trigger-buffer.c | Окидач бафер.
|       trigger-callback.c | Окидач функције повратног позива.
|       trigger-command.c | Окидач команде.
|       trigger-completion.c | Окидач довршавања.
|       trigger-config.c | Окидач опције конфиг (фајл trigger.conf).
|    typing/ | Typing додатак.
|       typing.c | Главне typing функције.
|       typing-bar-item.c | Typing ставке траке.
|       typing-config.c | Typing конфигурационе опције (фајл typing.conf).
|       typing-status.c | Статус куцања порука на баферима.
|    xfer/ | Xfer додатак (IRC DCC фајл/разговор).
|       xfer.c | Главне xfer функције.
|       xfer-buffer.c | Xfer бафер.
|       xfer-chat.c | DCC разговор.
|       xfer-command.c | Xfer команде.
|       xfer-completion.c | Xfer довршавања.
|       xfer-config.c | Xfer опције конфиг (фајлxfer.conf).
|       xfer-dcc.c | DCC пренос фајла.
|       xfer-file.c | Фајл функције за xfer.
|       xfer-info.c | Xfer info/infolists/hdata.
|       xfer-network.c | Мрежне функције за xfer.
|       xfer-upgrade.c | Чување/обнављање xfer података када се програм WeeChat ажурира.
| Путања/фајл | Опис
| plugins/ | Корен додатака.
|    plugin.c | Управљање додацима (учитавање/уклањање динамичких C библиотека).
|    plugin-api.c | Додатне функције за API додатака (омотач око WeeChat функција језгра).
|    plugin-api-info.c | Додатне info/infolist функције за API додатака.
|    plugin-config.c | Опције конфигурације додатака (фајл plugins.conf).
|    plugin-script.c | Опште функције које користе скрипт додаци.
|    plugin-script-api.c | Скрипт API функције: омотачи око неких функција API додатака.
|    plugin-script-config.c | Опције конфигурације скрипт додатака (фајлови python.conf, perl.conf, ...).
|    weechat-plugin.h | Заглавље које треба да се дистрибуира уз WeeChat додатке, како би могли да се компајлирају.
|    alias/ | Alias додатак.
|       alias.c | Главне алијас функције.
|       alias-command.c | Алијас команде.
|       alias-completion.c | Алијас довршавање.
|       alias-config.c | Алијас опције конфигурације (фајл alias.conf).
|       alias-info.c | Алијас info/infolists/hdata.
|    spell/ | Додатак за проверу правописа.
|       spell.c | Главне функције провере правописа.
|       spell-bar-item.c | Провера правописа ставке траке.
|       spell-command.c | Провера правописа команде.
|       spell-completion.c | Провера правописа довршавања.
|       spell-config.c | Провера правописа опције конфиг (фајл spell.conf).
|       spell-info.c | Провера правописа info/infolists/hdata.
|       spell-speller.c | Управљање библиотекама за проверу правописа.
|    buflist/ | Buflist додатак.
|       buflist.c | Главне buflist функције.
|       buflist-bar-item.c | Buflist ставке траке.
|       buflist-command.c | Buflist команде.
|       buflist-completion.c | Buflist довршавања.
|       buflist-config.c | Buflist опције конфиг (фајл buflist.conf).
|       buflist-info.c | Buflist info/infolists/hdata.
|       buflist-mouse.c | Buflist акције мишем.
|    charset/ | Charset додатак.
|       charset.c | Charset функције.
|    exec/ | Exec додатак.
|       exec.c | Главне exec функције.
|       exec-buffer.c | Exec бафер.
|       exec-command.c | Exec команде.
|       exec-completion.c | Exec довршавања.
|       exec-config.c | Exec опције конфиг (фајл exec.conf).
|    fifo/ | Fifo додатак.
|       fifo.c | Главне fifo функције.
|       fifo-command.c | Fifo команде.
|       fifo-config.c | Fifo опције конфиг (фајл fifo.conf).
|       fifo-info.c | Fifo info/infolists/hdata.
|    fset/ | Fset додатак.
|       fset.c | Главне fset функције.
|       fset-bar-item.c | Fset ставке траке.
|       fset-buffer.c | Fset бафер.
|       fset-command.c | Fset команде.
|       fset-completion.c | Fset довршавања.
|       fset-config.c | Fset опције конфиг (фајл fset.conf).
|       fset-info.c | Fset info/infolists/hdata.
|       fset-mouse.c | Fset акције мишем.
|       fset-option.c | Fset управљање опцијама.
|    guile/ | Guile (scheme) додатак.
|       weechat-guile.c | Главне guile функције (учитавање/уклањање скрипти, извршавање guile кода).
|       weechat-guile-api.c | API функције guile скриптовања.
|    irc/ | IRC (Internet Relay Chat) додатак.
|       irc.c | Основне IRC функције.
|       irc-bar-item.c | IRC ставке траке.
|       irc-batch.c | IRC пакетни догађаји.
|       irc-buffer.c | IRC бафери.
|       irc-channel.c | IRC канали.
|       irc-color.c | IRC боје.
|       irc-command.c | IRC команде.
|       irc-completion.c | IRC довршавања.
|       irc-config.c | IRC опције конфиг (фајл irc.conf).
|       irc-ctcp.c | IRC CTCP.
|       irc-debug.c | IRC дибаг функције.
|       irc-ignore.c | IRC Ignore.
|       irc-info.c | IRC info/infolists/hdata.
|       irc-input.c | Унос команди/текста.
|       irc-join.c | Функције за листе канала којима се приступа.
|       irc-list.c | Бафер за одговор на /list команду.
|       irc-message.c | Функције за манипулисање IRC порукама.
|       irc-mode.c | Функције у вези режима канала/надимка.
|       irc-modelist.c | Листе режима IRC канала (+b, +e, +I, ...).
|       irc-msgbuffer.c | Циљни бафер за IRC поруке.
|       irc-nick.c | IRC надимци.
|       irc-notify.c | IRC листе за обавештавање.
|       irc-protocol.c | IRC протокол (RFCs 1459/2810/2811/2812/2813/7194).
|       irc-raw.c | IRC сирови бафер.
|       irc-redirect.c | Преусмеравање излаза IRC команде.
|       irc-sasl.c | SASL аутентификација са IRC сервером.
|       irc-server.c | У/И комуникација са IRC сервером.
|       irc-tag.c | Функције за манипулацију ознакама IRC порука.
|       irc-typing.c | Статус куцања.
|       irc-upgrade.c | Чување/обнављање IRC података када се ажурира програм WeeChat.
|    javascript/ | JavaScript додатак.
|       weechat-js.cpp | Главне JavaScript функције (учитавање/уклањање скрипти, извршавање JavaScript кода).
|       weechat-js-api.cpp | API функције JavaScript скриптовања.
|       weechat-js-v8.cpp | JavaScript v8 функције.
|    logger/ | Logger додатак.
|       logger.c | Главне logger функције.
|       logger-backlog.c | Logger backlog функције.
|       logger-buffer.c | Logger управљање листом бафера.
|       logger-command.c | Logger команде.
|       logger-config.c | Logger опције конфиг (фајл logger.conf).
|       logger-info.c | Logger info/infolists/hdata.
|       logger-tail.c | Функције за враћање последњих линија фајла.
|    lua/ | Lua додатак.
|       weechat-lua.c | Главне lua функције (учитавање/уклањање скрипти, извршавање lua кода).
|       weechat-lua-api.c | API функције Lua скриптовања.
|    perl/ | Perl додатак.
|       weechat-perl.c | Главне perl функције (учитавање/уклањање скрипти, извршавање perl кода).
|       weechat-perl-api.c | API функције Perl скриптовања.
|    php/ | PHP додатак.
|       weechat-php.c | Главне PHP функције (учитавање/уклањање скрипти, извршавање PHP кода).
|       weechat-php-api.c | API функције PHP скриптовања.
|    python/ | Python додатак.
|       weechat-python.c | Главне python функције (учитавање/уклањање скрипти,извршавање python кода).
|       weechat-python-api.c | API функције Python скриптовања.
|    relay/ | Релеј додатак (IRC прокси и релеј за удаљене интерфејсе).
|       relay.c | Главне релеј функције.
|       relay-auth.c | Аутентификација клијената.
|       relay-buffer.c | Релеј бафер.
|       relay-client.c | Клијенти релеја.
|       relay-command.c | Релеј команде.
|       relay-completion.c | Релеј довршавања.
|       relay-config.c | Релеј опције конфиг (фајл relay.conf).
|       relay-http.c | HTTP функције.
|       relay-info.c | Релеј info/infolists/hdata.
|       relay-network.c | Мрежне функције за релеј.
|       relay-raw.c | Релеј сирови бафер.
|       relay-remote.c | Релеј удаљених.
|       relay-server.c | Релеј сервер.
|       relay-upgrade.c | Чување/обнављање података релеја када се ажурира WeeChat.
|       relay-websocket.c | WebSocket сервер функције (RFC 6455).
|       api/ | Релеј за удаљене интерфејсе (користећи HTTP REST API).
|          relay-api.c | Главне API функције за HTTP REST API.
|          relay-api-msg.c | Слање JSON порука клијентима.
|          relay-api-protocol.c | HTTP REST API протокол.
|          remote/ | Функције прослеђивања удаљених, специфичне за API.
|             relay-remote-event.c | Обрада догађаја који се приме од релеја удаљених.
|             relay-remote-network.c | Мрежне функције за релеј удаљених.
|       irc/ | IRC прокси.
|          relay-irc.c | Главне IRC прокси функције.
|       weechat/ | Релеј за удаљене интерфејсе (користећи „weechat” бинарни протокол).
|          relay-weechat.c | Релеј за удаљене интерфејсе (главне функције).
|          relay-weechat-msg.c | Слање бинарних порука клијентима.
|          relay-weechat-nicklist.c | Функције листе надимака.
|          relay-weechat-protocol.c | Читање команди од клијената.
|    ruby/ | Ruby додатак.
|       weechat-ruby.c | Главне ruby функције (учитавање/уклањање скрипти, извршавање ruby кода).
|       weechat-ruby-api.c | API функције Ruby скриптовања.
|    script/ | Управљач скриптама.
|       script.c | Главне функције за управљача скриптама.
|       script-action.c | Акције над скриптама (учитавање/уклањање, инсталација/деинсталација, ...).
|       script-buffer.c | Бафер за управљача скриптама.
|       script-command.c | Команде за управљача скриптама.
|       script-completion.c | Довршавања за управљача скриптама.
|       script-config.c | Опције конфигурације за управљача скриптама (фајл script.conf).
|       script-info.c | Управљач скриптама info/infolists/hdata.
|       script-mouse.c | Скрипт акције мишем.
|       script-repo.c | Преузимање и читање фајла репозиторијума.
|    tcl/ | Tcl додатак.
|       weechat-tcl.c | Главне tcl функције (учитавање/уклањање скрипти, извршавање tcl кода).
|       weechat-tcl-api.c | API функције Tcl скриптовања.
|    trigger/ | Окидач додатак.
|       trigger.c | Главне функције окидача.
|       trigger-buffer.c | Окидач бафер.
|       trigger-callback.c | Окидач функције повратног позива.
|       trigger-command.c | Окидач команде.
|       trigger-completion.c | Окидач довршавања.
|       trigger-config.c | Окидач опције конфиг (фајл trigger.conf).
|    typing/ | Typing додатак.
|       typing.c | Главне typing функције.
|       typing-bar-item.c | Typing ставке траке.
|       typing-config.c | Typing конфигурационе опције (фајл typing.conf).
|       typing-status.c | Статус куцања порука на баферима.
|    xfer/ | Xfer додатак (IRC DCC фајл/разговор).
|       xfer.c | Главне xfer функције.
|       xfer-buffer.c | Xfer бафер.
|       xfer-chat.c | DCC разговор.
|       xfer-command.c | Xfer команде.
|       xfer-completion.c | Xfer довршавања.
|       xfer-config.c | Xfer опције конфиг (фајлxfer.conf).
|       xfer-dcc.c | DCC пренос фајла.
|       xfer-file.c | Фајл функције за xfer.
|       xfer-info.c | Xfer info/infolists/hdata.
|       xfer-network.c | Мрежне функције за xfer.
|       xfer-upgrade.c | Чување/обнављање xfer података када се програм WeeChat ажурира.
|===
[[sources_tests]]
@@ -389,84 +402,120 @@ WeeChat „језгро” се налази у следећим директо
[width="100%", cols="2m,3", options="header"]
|===
| Путања/фајл | Опис
| tests/ | Корен тестова.
|    tests.cpp | Програм који се користи за извршавање свих тестова.
|    tests-record.cpp | Бележење и претрага у приказаним порукама.
|    scripts/ | Корен тестова за API скриптовања.
|       test-scripts.cpp | Програм који се користи за извршавање тестова API скриптовања.
|       python/ | Python скрипте које генеришу и покрећу тестове API скриптовања.
|          testapigen.py | Python скрипта која генерише скрипте на свим језицима за тестирање API скриптовања.
|          testapi.py | Python скрипта са тестовима API скриптовања, користи је скрипта testapigen.py.
|          unparse.py | Конверзија Python кода у остале језике, користи је скрипта testapigen.py.
|    unit/ | Корен unit тестова.
|       test-plugins.cpp | Тестови: plugins.
|       core/ | Корен unit тестова језгра.
|          test-core-arraylist.cpp | Тестови: arraylists.
|          test-core-calc.cpp | Тестови: калкулација израза.
|          test-core-command.cpp | Тестови: команде.
|          test-core-config-file.cpp | Тестови: конфигурациони фајлови.
|          test-core-crypto.cpp | Тестови: криптографске функције.
|          test-core-dir.cpp | Тестови: функције директоријума/фајла.
|          test-core-eval.cpp | Тестови: израчунавање израза.
|          test-core-hashtble.cpp | Тестови: hashtables.
|          test-core-hdata.cpp | Тестови: hdata.
|          test-core-hook.cpp | Тестови: куке.
|          test-core-infolist.cpp | Тестови: infolists.
|          test-core-list.cpp | Тестови: листе.
|          test-core-network.cpp | Тестови: мрежне функције.
|          test-core-secure.cpp | Тестови: обезбеђени подаци.
|          test-core-signal.cpp | Тестови: сигнали.
|          test-core-string.cpp | Тестови: стрингови.
|          test-core-url.cpp | Тестови: URL адресе.
|          test-core-utf8.cpp | Тестови: UTF-8.
|          test-core-util.cpp | Тестови: помоћне функције.
|       gui/ | Корен unit тестова интерфејса.
|          test-gui-bar-window.cpp | Тестови: функције прозора траке.
|          test-gui-buffer.cpp | Тестови: бафер функције.
|          test-gui-chat.cpp | Тестови: чет функције.
|          test-gui-color.cpp | Тестови: боје.
|          test-gui-filter.cpp | Тестови: филтери.
|          test-gui-input.cpp | Тестови: улазне функкције.
|          test-gui-key.cpp | Тестови: тастери.
|          test-gui-line.cpp | Тестови: линије.
|          test-gui-nick.cpp | Тестови: надимци.
|       plugins/ | Корен unit тестова додатака.
|          irc/ | Корен unit тестова IRC додатка.
|             test-irc-batch.cpp | Тестови: IRC пакетни догађаји.
|             test-irc-buffer.cpp | Тестови: IRC бафери.
|             test-irc-channel.cpp | Тестови: IRC канали.
|             test-irc-color.cpp | Тестови: IRC боје.
|             test-irc-config.cpp | Тестови: IRC конфигурација.
|             test-irc-ignore.cpp | Тестови: IRC игнорисања.
|             test-irc-join.cpp | Тестови: IRC функције приступања.
|             test-irc-message.cpp | Тестови: IRC поруке.
|             test-irc-mode.cpp | Тестови: IRC режими.
|             test-irc-nick.cpp | Тестови: IRC надимци.
|             test-irc-protocol.cpp | Тестови: IRC протокол.
|             test-irc-sasl.cpp | Тестови: SASL аутентификација са IRC протоколом.
|             test-irc-server.cpp | Тестови: IRC сервер.
|             test-irc-tag.cpp | Тестови: IRC ознаке порука.
|          logger/ | Корен unit тестива за logger додатак.
|             test-logger.cpp | Тестови: logger.
|             test-logger-backlog.cpp | Тестови: logger заостатак.
| Путања/фајл | Опис
| tests/ | Корен тестова.
|    tests.cpp | Програм који се користи за извршавање свих тестова.
|    tests-record.cpp | Бележење и претрага у приказаним порукама.
|    scripts/ | Корен тестова за API скриптовања.
|       test-scripts.cpp | Програм који се користи за извршавање тестова API скриптовања.
|       python/ | Python скрипте које генеришу и покрећу тестове API скриптовања.
|          testapigen.py | Python скрипта која генерише скрипте на свим језицима за тестирање API скриптовања.
|          testapi.py | Python скрипта са тестовима API скриптовања, користи је скрипта testapigen.py.
|          unparse.py | Конверзија Python кода у остале језике, користи је скрипта testapigen.py.
|    unit/ | Корен unit тестова.
|       test-plugins.cpp | Тестови: plugins.
|       test-plugin-api-info.cpp | Тестови: инфо функције API додатака.
|       test-plugin-config.cpp | Тестови: функције конфигурације додатка.
|       core/ | Корен unit тестова језгра.
|          test-core-arraylist.cpp | Тестови: arraylists.
|          test-core-calc.cpp | Тестови: калкулација израза.
|          test-core-command.cpp | Тестови: команде.
|          test-core-config-file.cpp | Тестови: конфигурациони фајлови.
|          test-core-crypto.cpp | Тестови: криптографске функције.
|          test-core-dir.cpp | Тестови: функције директоријума/фајла.
|          test-core-eval.cpp | Тестови: израчунавање израза.
|          test-core-hashtble.cpp | Тестови: hashtables.
|          test-core-hdata.cpp | Тестови: hdata.
|          test-core-hook.cpp | Тестови: куке.
|          test-core-infolist.cpp | Тестови: infolists.
|          test-core-list.cpp | Тестови: листе.
|          test-core-network.cpp | Тестови: мрежне функције.
|          test-core-secure.cpp | Тестови: обезбеђени подаци.
|          test-core-signal.cpp | Тестови: сигнали.
|          test-core-string.cpp | Тестови: стрингови.
|          test-core-url.cpp | Тестови: URL адресе.
|          test-core-utf8.cpp | Тестови: UTF-8.
|          test-core-util.cpp | Тестови: помоћне функције.
|          test-core-sys.cpp | Тестови: системске функције.
|          hook/ | Корен unit тестова за куке.
|             test-hook-command.cpp | Тестови: куке „command”.
|             test-hook-command-run.cpp | Тестови: куке „command_run”.
|             test-hook-completion.cpp | Тестови: куке „completion”.
|             test-hook-config.cpp | Тестови: куке „config”.
|             test-hook-connect.cpp | Тестови: куке „connect”.
|             test-hook-fd.cpp | Тестови: куке „fd”.
|             test-hook-focus.cpp | Тестови: куке „focus”.
|             test-hook-hdata.cpp | Тестови: куке „hdata”.
|             test-hook-hsignal.cpp | Тестови: куке „hsignal”.
|             test-hook-info-hashtable.cpp | Тестови: куке „info_hashtable”.
|             test-hook-info.cpp | Тестови: куке „info”.
|             test-hook-infolist.cpp | Тестови: куке „infolist”.
|             test-hook-line.cpp | Тестови: куке „line”.
|             test-hook-modifier.cpp | Тестови: куке „modifier”.
|             test-hook-print.cpp | Тестови: куке „print”.
|             test-hook-process.cpp | Тестови: куке „process”.
|             test-hook-signal.cpp | Тестови: куке „signal”.
|             test-hook-timer.cpp | Тестови: куке „timer”.
|             test-hook-url.cpp | Тестови: куке „url”.
|       gui/ | Корен unit тестова интерфејса.
|          test-gui-bar-window.cpp | Тестови: функције прозора траке.
|          test-gui-buffer.cpp | Тестови: бафер функције.
|          test-gui-chat.cpp | Тестови: чет функције.
|          test-gui-color.cpp | Тестови: боје.
|          test-gui-filter.cpp | Тестови: филтери.
|          test-gui-hotlist.cpp | Тестови: функције врућих листи.
|          test-gui-input.cpp | Тестови: улазне функције.
|          test-gui-key.cpp | Тестови: тастери.
|          test-gui-line.cpp | Тестови: линије.
|          test-gui-nick.cpp | Тестови: надимци.
|          test-gui-nicklist.cpp | Тестови: функције листе надимака.
|          curses/ | Корен unit тестова за Curses интерфејс.
|             test-gui-curses-mouse.cpp | Тестови: миш (Curses интерфејс).
|       plugins/ | Корен unit тестова додатака.
|          irc/ | Корен unit тестова IRC додатка.
|             test-irc-batch.cpp | Тестови: IRC пакетни догађаји.
|             test-irc-buffer.cpp | Тестови: IRC бафери.
|             test-irc-channel.cpp | Тестови: IRC канали.
|             test-irc-color.cpp | Тестови: IRC боје.
// TRANSLATION MISSING
|             test-logger-tail.cpp | Tests: logger tail functions.
|          trigger/ | Корен unit тестова за окидач додатак.
|             test-trigger.cpp | Тестови: окидачи.
|             test-trigger-config.cpp | Тестови: конфигурација окидача.
|          typing/ | Корен unit тестова за typing додатак.
|             test-typing.cpp | Тестови: typing.
|             test-typing-status.cpp | Тестови: typing статус.
|          relay/ | Корен unit тестова за Релеј додатак.
|             test-relay-auth.cpp | Тестови: аутентификација клијената.
// TRANSLATION MISSING
|             irc/ | Root of unit tests for Relay "irc" protocol.
// TRANSLATION MISSING
|                test-relay-irc.cpp | Tests: Relay "irc" protocol.
|          xfer/ | Корен unit тестова за Xfer додатак.
|             test-xfer-file.cpp | Тестови: фајл функције.
|             test-xfer-network.cpp | Тестови: мрежне функције.
|             test-irc-command.cpp | Tests: IRC commands.
|             test-irc-config.cpp | Тестови: IRC конфигурација.
|             test-irc-ctcp.cpp | Тестови: IRC CTCP.
|             test-irc-ignore.cpp | Тестови: IRC игнорисања.
|             test-irc-info.cpp | Тестови: IRC информације.
|             test-irc-join.cpp | Тестови: IRC функције приступања.
|             test-irc-list.cpp | Тестови: IRC бафер за одговор на /list команду.
|             test-irc-message.cpp | Тестови: IRC поруке.
|             test-irc-mode.cpp | Тестови: IRC режими.
|             test-irc-nick.cpp | Тестови: IRC надимци.
|             test-irc-protocol.cpp | Тестови: IRC протокол.
|             test-irc-sasl.cpp | Тестови: SASL аутентификација са IRC протоколом.
|             test-irc-server.cpp | Тестови: IRC сервер.
|             test-irc-tag.cpp | Тестови: IRC ознаке порука.
|          logger/ | Корен unit тестова за logger додатак.
|             test-logger.cpp | Тестови: logger.
|             test-logger-backlog.cpp | Тестови: logger заостатак.
|             test-logger-tail.cpp | Тестови: logger tail функције.
|          trigger/ | Корен unit тестова за окидач додатак.
|             test-trigger.cpp | Тестови: окидачи.
|             test-trigger-config.cpp | Тестови: конфигурација окидача.
|          typing/ | Корен unit тестова за typing додатак.
|             test-typing.cpp | Тестови: typing.
|             test-typing-status.cpp | Тестови: typing статус.
|          relay/ | Корен unit тестова за Релеј додатак.
|             test-relay-auth.cpp | Тестови: аутентификација клијената.
|             test-relay-http.cpp | Тестови: HTTP функције за Релеј додатак.
|             test-relay-remote.cpp | Тестови: удаљене функције за Релеј додатак.
|             test-relay-websocket.cpp | Тестови: websocket функције за Релеј додатак.
|             api/ | Корен unit тестова за Релеј „api” протокол.
|                test-relay-api.cpp | Тестови: Релеј „api” протокол: опште функције.
|                test-relay-api-msg.cpp | Тестови: Релеј „api” протокол: поруке.
|                test-relay-api-protocol.cpp | Тестови: Релеј „api” протокол: протокол.
|             irc/ | Корен unit тестова за Релеј „irc” протокол.
|                test-relay-irc.cpp | Тестови: Релеј „irc” протокол.
|          xfer/ | Корен unit тестова за Xfer додатак.
|             test-xfer-file.cpp | Тестови: фајл функције.
|             test-xfer-network.cpp | Тестови: мрежне функције.
|===
[[documentation_translations]]
@@ -524,7 +573,7 @@ WeeChat „језгро” се налази у следећим директо
/*
* weechat.c - core functions for WeeChat
*
* Copyright (C) 2023 Your Name <your@email.com>
* Copyright (C) 2024 Your Name <your@email.com>
*
* This file is part of WeeChat, the extensible chat client.
*
@@ -548,7 +597,7 @@ WeeChat „језгро” се налази у следећим директо
Када пишете C кôд, *морате* да се придржавате неких основних правила:
* Користите 4 размака за увлачење редова. Не употребљавајте табове, они су зло.
* За увлачење користите 4 размака (без табулатора).
* Покушајте да не прекорачите 80 карактера по линији, осим ако је то неопходно за читљивост.
* Користите коментаре `+/* коментар */+` (а не коментаре у C99 стилу као што је `+// коментар+`).
* Испред сваке функције додајте коментар који објашњава шта она ради (увек користите вишелинијски коментар, чак и ако је опис кратак).
@@ -751,7 +800,7 @@ new_hook_fd = malloc (sizeof (*new_hook_fd));
[width="100%", cols="2m,3", options="header"]
|===
| Директоријум | Фајлови
| src/core/ | weechat.c, wee-backtrace.c, wee-command.c, ...
| src/core/ | weechat.c, core-backtrace.c, core-command.c, ...
| src/gui/ | gui-bar.c, gui-bar-item.c, gui-bar-window.c, ...
| src/gui/curses/ | gui-curses-bar.c, gui-curses-bar-window.c, gui-curses-chat.c, ...
| src/plugins/ | plugin.c, plugin-api.c, plugin-api-info.c, plugin-config.c, plugin-script.c, ...
@@ -759,7 +808,7 @@ new_hook_fd = malloc (sizeof (*new_hook_fd));
| src/plugins/python/ | weechat-python.c, weechat-python-api.c, ...
|===
Заглавља C фајлова имају сито име као и фајл, на пример _wee-command.h_ за фајл _wee-command.c_.
Заглавља C фајлова имају сито име као и фајл, на пример _core-command.h_ за фајл _core-command.c_.
[[naming_convention_structures]]
==== Структуре
+75 -21
View File
@@ -517,6 +517,31 @@ UXTerm*metaSendsEscape: true
Ако користите macOS Terminal апликацију, укључите опцију „Use option as meta key” у менију Settings/Keyboard након чега можете користити тастер kbd:[Option] као meta тастер.
[[enter_key]]
=== Зашто неки тастери, укључујући Ентер, не функционишу?
Ако извршавате WeeChat < 4.0.0 са конфигурационим фајловима које је креирала било
која верзија ≥ 4.0.0, имена тастера постану неисправна и многи тастери уопште неће радити. +
Да бисте их поправили, напустите WeeChat, уклоните из weechat.conf све одељке `[key*]`
и поново покрените WeeChat: креираће се сви подразумевани тастери.
[[key_f11]]
=== Тастер F11 максимизира прозор терминала, како могу да скролујем навише листу надимака?
Терминало обично користе тастер kbd:[F11] да максимизују прозор, а у програму WeeChat
тастери kbd:[F11]/kbd:[F12] су подразумевани тастери за скроловање листе надимака.
Можете да вежете остале тастере, на пример kbd:[Shift+F11] и kbd:[Shift+F12],
у WeeChat ≥ 4.0.0:
----
/key bind shift-f11 /bar scroll nicklist * -100%
/key bind shift-f12 /bar scroll nicklist * +100%
----
Још једно решење је да укључите миша (тастер: kbd:[Alt+m]) и да скролујете точкићем
миша (погледајте такође питање у вези са <<mouse,мишем>>).
[[customize_key_bindings]]
=== Како могу да прилагодим тастерске пречице?
@@ -543,6 +568,12 @@ UXTerm*metaSendsEscape: true
/trigger add numberjump modifier "2000|input_text_for_buffer" "${tg_string} =~ ^/[0-9]+$" "=\/([0-9]+)=/buffer *${re:1}=" "" "" "none"
----
За једноставно скакање на бафере, можете такође да инсталирате и _go.py_ скрипту:
----
/script install go.py
----
[[global_history]]
=== Како да се тастерима горе и доле користи глобална историја (уместо историје бафера)?
@@ -815,32 +846,20 @@ link:weechat_user.sr.html#max_hotlist_level_nicks[hotlist_max_level_nicks_add ^
можете користити да за неке надимке подесите максимални ниво вруће листе, по баферу, или по
групи бафера (као на пример IRC сервери).
Ако само желите да искључите истицања, треба да је поставите на 2:
Ако само желите да искључите истицања, треба да је поставите на 2.
За текући бафер:
----
/buffer set hotlist_max_level_nicks_add joe:2,mike:2
/buffer setauto hotlist_max_level_nicks_add пера:2,мика:2
----
Међутим, ова особина бафера се не чува у конфигурацији. Ако желите да се ове особине бафера аутоматски поново примене, биће вам потребна скрипта _buffer_autoset.py_:
За све канале на серверу „libera”:
----
/script install buffer_autoset.py
/set weechat.buffer.irc.libera.*.hotlist_max_level_nicks_add пера:2,мика:2
----
На пример, ако за стално желите да искључите истицања од надимка „mike” са #weechat на IRC серверу libera:
----
/buffer_autoset add irc.libera.#weechat hotlist_max_level_nicks_add mike:2
----
Ако уместо овога желите да се примени на комплетан libera сервер:
----
/buffer_autoset add irc.libera hotlist_max_level_nicks_add mike:2
----
За још примера, погледајте `+/help buffer_autoset+`.
[[irc_target_buffer]]
=== Како могу да променим циљни бафер за команде над спојеним баферима (као што је бафер са серверима)?
@@ -957,7 +976,8 @@ export OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES
Можете да следите исте савете као за <<memory_usage,меморију>>, као и следеће:
* Сакријте „nicklist” траку: `/bar hide nicklist`.
* Сакријте „nicklist” траку: `/bar hide nicklist` (тастер: kbd:[Alt+Shift+N]).
* Искључите „buflist”: `/buflist disable` (тастер: kbd:[Alt+Shift+B]).
* Уклоните приказ секунди из времена у статусној траци: `+/set weechat.look.item_time_format "%H:%M"+` (ово је и подразумевана вредност).
* Искључите проверу неисправно написаних речи у командној линији у реалном времену (ако сте је укључили): `+/set spell.check.real_time off+`.
* Поставите променљиву _TZ_ (на пример: `export TZ="Europe/Paris"`), тиме спречавате чест приступ фајлу _/etc/localtime_.
@@ -976,14 +996,20 @@ export OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES
----
/set irc.ctcp.clientinfo ""
/set irc.ctcp.finger ""
/set irc.ctcp.source ""
/set irc.ctcp.time ""
/set irc.ctcp.userinfo ""
/set irc.ctcp.version ""
/set irc.ctcp.ping ""
----
Са WeeChat < 4.1.0, на остале CTCP упите се подразумевано одговарало и такође морају
да се искључе:
----
/set irc.ctcp.finger ""
/set irc.ctcp.userinfo ""
----
Уклоните из меморије и искључите ауто учитавање „xfer” додатка (користи се за IRC DCC):
----
@@ -1012,6 +1038,34 @@ export OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES
Погледајте link:weechat_user.sr.html#files_and_directories[Корисничко упутство / Фајлови и директоријуми ^↗^^] за више информација о конфигурационим фајловима.
[[move_to_another_device]]
=== Желим да преместим свој WeeChat на други уређај и да задржим текућу конфигурацију, шта би требало да копирам?
Следећом командом најпре проверите које директоријуме користи WeeChat: `/debug dirs`. +
Морају да се копирају директоријуми home/config и home/data (сви фајлови и поддиректоријуми).
На пример, ако користите XDG директоријуме (подразумевано са WeeChat ≥ 3.2),
директоријуми би требало да буду `$HOME/.config/weechat` и `$HOME/.local/share/weechat`. +
Ако користите један директоријум (подразумевано са WeeChat < 3.2), директоријум би
требало да буде `$HOME/.weechat`.
[IMPORTANT]
WeeChat верзија на новом уређају мора да буде већа или једнака од верзије на почетном
уређају. +
Враћање WeeChat конфигурације уназад *НИЈЕ ПОДРЖАНО* и може да је поквари,
па на тај начин WeeChat постаје неупотребљив.
Кораци:
. Напустите Weechat: `/quit` (или `/upgrade -quit` ако желите могућност да наставите сесију,
што укључује садржај свих бафера).
. Копирајте све директоријуме, поддиректоријуме и фајлове на нови уређај, задржавајући
иста имена и дозволе.
. Није обавезно: копирајте све фајлове ван ових директоријума на које указује ваша
конфигурација (не препоручује се употреба фајлова ван WeeChat директоријума).
. Покрените WeeChat на новом уређају: `weechat` (или `weechat --upgrade` у случају да сте
сачували сесију).
[[development]]
== Развој
File diff suppressed because it is too large Load Diff
+35 -23
View File
@@ -92,8 +92,7 @@ _клијенти_ су повезани са _релејем_ као што ј
[[command_handshake]]
=== handshake
// TRANSLATION MISSING
_WeeChat ≥ 2.9, updated in versions 3.5, 4.0.0._
_WeeChat ≥ 2.9, ажурирано у верзијама 3.5, 4.0.0._
Извршава руковање између клијента и програма WeeChat: ово је у већини случајева неопходно како би се сазнале поставке сесије и припремила аутентификација командом _init_.
@@ -123,11 +122,10 @@ _WeeChat ≥ 2.9, updated in versions 3.5, 4.0.0._
*** _zstd_: компресија са https://facebook.github.io/zstd/[Zstandard ^↗^^]: боља
компресија, као и много бржа компресија и декомпресија у односу на _zlib_
_(WeeChat ≥ 3.5)_
// TRANSLATION MISSING
** _escape_commands_: commands sent by the client to relay must be escaped:
all backslashes are interpreted and a single backslash must be escaped (`\\`);
this allows for example the client to send multiline messages (chars `\n` are
converted to newlines, see <<command_input,input command>>)
** _escape_commands_: команде које клијент шаље релеју морају да се означе:
све обрнуте косе црте се интерпретирају и једна обрнута коса црта мора да се означи (`\\`);
на овај начин клијент, на пример, може да шаље вишелинијске поруке (карактери `\n` се
претварају у преломе редова, погледајте <<command_input,input команду>>)
_(WeeChat ≥ 4.0.0)_
Напомене у вези опције _password_hash_algo_:
@@ -158,10 +156,9 @@ _WeeChat ≥ 2.9, updated in versions 3.5, 4.0.0._
** _off_: поруке се не компресују
** _zlib_: поруке су компресоване са https://zlib.net/[zlib ^↗^^]
** _zstd_: поруке су компресоване са https://facebook.github.io/zstd/[Zstandard ^↗^^]
// TRANSLATION MISSING
* _escape_commands_:
** _on_: all backslashes are interpreted in the client messages
** _off_: backslashes are *NOT* interpreted in the client messages and used as-is
** _on_: све обрнуте косе црте у порукама клијента се интерпретирају
** _off_: обрнуте косе црте у порукама клијента се *НЕ* интерпретирају и користе се онакве какве су
[TIP]
У програму WeeChat верзије ≤ 2.8, команда _handshake_ није имплементирана, програм WeeChat једноставно игнорише ову команду, чак и ако се пошаље пре _init_ команде. +
@@ -442,7 +439,9 @@ hda:
'buffer': 'ptr',
'y': 'int',
'date': 'tim',
'date_usec': 'int',
'date_printed': 'tim',
'date_usec_printed': 'int',
'str_time': 'str',
'tags_count': 'int',
'tags_array': 'arr',
@@ -460,7 +459,9 @@ hda:
buffer: '0x558d61ea3e60'
y: -1
date: 1588404926
date_usec: 118712
date_printed: 1588404926
date_usec_printed: 118712
str_time: 'F@0025209F@0024535F@0024026'
tags_count: 0
tags_array: []
@@ -476,7 +477,9 @@ hda:
buffer: '0x558d61ea3e60'
y: -1
date: 1588404930
date_usec: 25
date_printed: 1588404930
date_usec_printed: 25
str_time: 'F@0025209F@0024535F@0024030'
tags_count: 0
tags_array: []
@@ -653,6 +656,7 @@ inl:
nicklist_visible_count: 0
title: 'WeeChat 2.9-dev (C) 2003-2020 - https://weechat.org/'
input: 1
input_get_any_user_data: 0
input_get_unknown_commands: 0
input_get_empty: 0
input_multiline: 0
@@ -664,11 +668,14 @@ inl:
input_buffer_1st_display: 0
num_history: 0
text_search: 0
text_search_direction: 0
text_search_exact: 0
text_search_regex: 0
text_search_regex_compiled: '0x0'
text_search_where: 0
text_search_history: 0
text_search_found: 0
text_search_ptr_history: '0x0'
text_search_input: None
highlight_words: None
highlight_disable_regex: None
@@ -947,9 +954,8 @@ input core.weechat /help filter
input irc.libera.#weechat здраво!
----
// TRANSLATION MISSING
* Send multiline message to #test channel (option _escape_commands_ must have
been enabled in <<command_handshake,handshake command>> and requires
* Шаље вишелинијску поруку на #test канал (опција _escape_commands_ мора да буде
укључена у <<command_handshake,handshake команди>> и потребан је
WeeChat ≥ 4.0.0):
----
@@ -1947,16 +1953,18 @@ hda:
[width="100%", cols="3m,2,10", options="header"]
|===
| Име | Тип | Опис
| buffer | показивач | Показивач на бафер.
| date | време | Датум поруке.
| date_printed | време | Датум када је програм WeeChat приказао поруку.
| displayed | карактер | 1 ако је порука приказана, 0 ако је порука филтрирана (скривена).
| notify_level | карактер | Ниво обавештења: -1 = обавештење искључено, 0 = ниски, 1 = порука, 2 = приватно, 3 = истицање.
| highlight | карактер | 1 ако се у линији налази истицање, у супротном 0.
| tags_array | низ стрингова | Листа ознака за линију.
| prefix | стринг | Префикс.
| message | стринг | Порука.
| Име | Тип | Опис
| buffer | показивач | Показивач на бафер.
| date | време | Датум поруке.
| date_usec | цео број | Микросекунде датума.
| date_printed | време | Датум када је програм WeeChat приказао поруку.
| date_usec_printed | цео број | Микросекунде датума када је WeeChat приказао поруку.
| displayed | карактер | 1 ако је порука приказана, 0 ако је порука филтрирана (скривена).
| notify_level | карактер | Ниво обавештења: -1 = обавештење искључено, 0 = ниски, 1 = порука, 2 = приватно, 3 = истицање.
| highlight | карактер | 1 ако се у линији налази истицање, у супротном 0.
| tags_array | низ стрингова | Листа ознака за линију.
| prefix | стринг | Префикс.
| message | стринг | Порука.
|===
Пример: нова порука _здраво!_ од надимка _FlashCode_ у баферу _irc.libera.#weechat_:
@@ -1968,7 +1976,9 @@ hda:
keys: {
'buffer': 'ptr',
'date': 'tim',
'date_usec': 'int',
'date_printed': 'tim',
'date_usec_printed': 'int',
'displayed': 'chr',
'notify_level': 'chr',
'highlight': 'chr',
@@ -1981,7 +1991,9 @@ hda:
__path: ['0x4a49600']
buffer: '0x4a715d0'
date: 1362728993
date_usec: 902765
date_printed: 1362728993
date_usec_printed: 902765
displayed: 1
notify_level: 1
highlight: 0
+2 -303
View File
@@ -510,315 +510,14 @@ weechat_hook_timer(1000, 0, 1, $timer_cb, 'test');
Листа функција у API скриптовања:
[width="100%", cols="1,5", options="header"]
|===
| Категорија | Функције
| опште
| register
| додаци
| plugin_get_name
| стрингови
| charset_set +
iconv_to_internal +
iconv_from_internal +
gettext +
ngettext +
strlen_screen +
string_match +
string_match_list +
string_has_highlight +
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 +
string_input_for_buffer +
string_eval_expression +
string_eval_path_home
| директоријуми
| mkdir_home +
mkdir +
mkdir_parents
| сортиране листе
| list_new +
list_add +
list_search +
list_search_pos +
list_casesearch +
list_casesearch_pos +
list_get +
list_set +
list_next +
list_prev +
list_string +
list_size +
list_remove +
list_remove_all +
list_free
| кофнигурациони фајлови
| config_new +
config_new_section +
config_search_section +
config_new_option +
config_search_option +
config_string_to_boolean +
config_option_reset +
config_option_set +
config_option_set_null +
config_option_unset +
config_option_rename +
config_option_is_null +
config_option_default_is_null +
config_boolean +
config_boolean_default +
config_integer +
config_integer_default +
config_string +
config_string_default +
config_color +
config_color_default +
config_write_option +
config_write_line +
config_write +
config_read +
config_reload +
config_option_free +
config_section_free_options +
config_section_free +
config_free +
config_get +
config_get_plugin +
config_is_set_plugin +
config_set_plugin +
config_set_desc_plugin +
config_unset_plugin
| тастерске пречице
| key_bind +
key_unbind
| приказ
| prefix +
color +
print (за python: prnt) +
print_date_tags (за python: prnt_date_tags) +
print_y (за python: prnt_y) +
print_y_date_tags (за python: prnt_y_date_tags) +
log_print
| куке
| hook_command +
hook_command_run +
hook_timer +
hook_fd +
hook_process +
hook_process_hashtable +
hook_connect +
hook_line +
hook_print +
hook_signal +
hook_signal_send +
hook_hsignal +
hook_hsignal_send +
hook_config +
hook_completion +
hook_modifier +
hook_modifier_exec +
hook_info +
hook_info_hashtable +
hook_infolist +
hook_focus +
hook_set +
unhook +
unhook_all
| бафери
| buffer_new +
buffer_new_props +
current_buffer +
buffer_search +
buffer_search_main +
buffer_clear +
buffer_close +
buffer_merge +
buffer_unmerge +
buffer_get_integer +
buffer_get_string +
buffer_get_pointer +
buffer_set +
buffer_string_replace_local_var +
buffer_match_list
| прозори
| current_window +
window_search_with_buffer +
window_get_integer +
window_get_string +
window_get_pointer +
window_set_title
| листа надимака
| nicklist_add_group +
nicklist_search_group +
nicklist_add_nick +
nicklist_search_nick +
nicklist_remove_group +
nicklist_remove_nick +
nicklist_remove_all +
nicklist_group_get_integer +
nicklist_group_get_string +
nicklist_group_get_pointer +
nicklist_group_set +
nicklist_nick_get_integer +
nicklist_nick_get_string +
nicklist_nick_get_pointer +
nicklist_nick_set
| траке
| bar_item_search +
bar_item_new +
bar_item_update +
bar_item_remove +
bar_search +
bar_new +
bar_set +
bar_update +
bar_remove
| команде
| command +
command_options
| довршавање
| completion_new +
completion_search +
completion_get_string +
completion_list_add +
completion_free
| infos
| info_get +
info_get_hashtable
| infolists
| infolist_new +
infolist_new_item +
infolist_new_var_integer +
infolist_new_var_string +
infolist_new_var_pointer +
infolist_new_var_time +
infolist_get +
infolist_next +
infolist_prev +
infolist_reset_item_cursor +
infolist_search_var +
infolist_fields +
infolist_integer +
infolist_string +
infolist_pointer +
infolist_time +
infolist_free
| hdata
| hdata_get +
hdata_get_var_offset +
hdata_get_var_type_string +
hdata_get_var_array_size +
hdata_get_var_array_size_string +
hdata_get_var_hdata +
hdata_get_list +
hdata_check_pointer +
hdata_move +
hdata_search +
hdata_char +
hdata_integer +
hdata_long +
hdata_string +
hdata_pointer +
hdata_time +
hdata_hashtable +
hdata_compare +
hdata_update +
hdata_get_string
| ажурирање
| upgrade_new +
upgrade_write_object +
upgrade_read +
upgrade_close
|===
include::{autogendir}/autogen_scripting_functions.sr.adoc[tag=functions]
[[script_api_constants]]
=== Константе
Листа константи у API скриптовања:
[width="100%", cols="1,5", options="header"]
|===
| Категорија | Константе
| повратни кодови
| `WEECHAT_RC_OK` (цео број) +
`WEECHAT_RC_OK_EAT` (цео број) +
`WEECHAT_RC_ERROR` (цео број)
| конфигурациони фајлови
| `WEECHAT_CONFIG_READ_OK` (цео број) +
`WEECHAT_CONFIG_READ_MEMORY_ERROR` (цео број) +
`WEECHAT_CONFIG_READ_FILE_NOT_FOUND` (цео број) +
`WEECHAT_CONFIG_WRITE_OK` (цео број) +
`WEECHAT_CONFIG_WRITE_ERROR` (цео број) +
`WEECHAT_CONFIG_WRITE_MEMORY_ERROR` (цео број) +
`WEECHAT_CONFIG_OPTION_SET_OK_CHANGED` (цео број) +
`WEECHAT_CONFIG_OPTION_SET_OK_SAME_VALUE` (цео број) +
`WEECHAT_CONFIG_OPTION_SET_ERROR` (цео број) +
`WEECHAT_CONFIG_OPTION_SET_OPTION_NOT_FOUND` (цео број) +
`WEECHAT_CONFIG_OPTION_UNSET_OK_NO_RESET` (цео број) +
`WEECHAT_CONFIG_OPTION_UNSET_OK_RESET` (цео број) +
`WEECHAT_CONFIG_OPTION_UNSET_OK_REMOVED` (цео број) +
`WEECHAT_CONFIG_OPTION_UNSET_ERROR` (цео број)
| сортиране листе
| `WEECHAT_LIST_POS_SORT` (стринг) +
`WEECHAT_LIST_POS_BEGINNING` (стринг) +
`WEECHAT_LIST_POS_END` (стринг)
| врућа листа
| `WEECHAT_HOTLIST_LOW` (стринг) +
`WEECHAT_HOTLIST_MESSAGE` (стринг) +
`WEECHAT_HOTLIST_PRIVATE` (стринг) +
`WEECHAT_HOTLIST_HIGHLIGHT` (стринг)
| кука process
| `WEECHAT_HOOK_PROCESS_RUNNING` (цео број) +
`WEECHAT_HOOK_PROCESS_ERROR` (цео број)
| кука connect
| `WEECHAT_HOOK_CONNECT_OK` (цео број) +
`WEECHAT_HOOK_CONNECT_ADDRESS_NOT_FOUND` (цео број) +
`WEECHAT_HOOK_CONNECT_IP_ADDRESS_NOT_FOUND` (цео број) +
`WEECHAT_HOOK_CONNECT_CONNECTION_REFUSED` (цео број) +
`WEECHAT_HOOK_CONNECT_PROXY_ERROR` (цео број) +
`WEECHAT_HOOK_CONNECT_LOCAL_HOSTNAME_ERROR` (цео број) +
`WEECHAT_HOOK_CONNECT_GNUTLS_INIT_ERROR` (цео број) +
`WEECHAT_HOOK_CONNECT_GNUTLS_HANDSHAKE_ERROR` (цео број) +
`WEECHAT_HOOK_CONNECT_MEMORY_ERROR` (цео број) +
`WEECHAT_HOOK_CONNECT_TIMEOUT` (цео број) +
`WEECHAT_HOOK_CONNECT_SOCKET_ERROR` (цео број)
| кука signal
| `WEECHAT_HOOK_SIGNAL_STRING` (стринг) +
`WEECHAT_HOOK_SIGNAL_INT` (стринг) +
`WEECHAT_HOOK_SIGNAL_POINTER` (стринг)
|===
include::{autogendir}/autogen_scripting_constants.sr.adoc[tag=constants]
[[common_tasks]]
== Уобичајени задаци
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2023 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2024 Sébastien Helleu <flashcode@flashtux.org>
#
# This file is part of WeeChat, the extensible chat client.
#
+53 -57
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2023 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2024 Sébastien Helleu <flashcode@flashtux.org>
#
# This file is part of WeeChat, the extensible chat client.
#
@@ -17,6 +17,11 @@
# along with WeeChat. If not, see <https://www.gnu.org/licenses/>.
#
# Check for programs xgettext, msgmerge and msgfmt
find_program(XGETTEXT_EXECUTABLE xgettext REQUIRED)
find_program(MSGMERGE_EXECUTABLE msgmerge REQUIRED)
find_program(MSGFMT_EXECUTABLE msgfmt REQUIRED)
set(PO_FILES
cs.po
de.po
@@ -39,70 +44,61 @@ set(POT_FILE_PATH "${CMAKE_CURRENT_BINARY_DIR}/${POT_FILE}")
include(srcfiles.cmake)
# Looking for xgettext, msgmerge and msgfmt
find_program(XGETTEXT_EXECUTABLE xgettext)
find_program(MSGMERGE_EXECUTABLE msgmerge)
find_program(MSGFMT_EXECUTABLE msgfmt)
# Create PO template file weechat.pot
set(SRC_FILES)
set(POT_DEPENDS)
if(XGETTEXT_EXECUTABLE AND MSGMERGE_EXECUTABLE AND MSGFMT_EXECUTABLE)
foreach(srcfile ${WEECHAT_SOURCES})
set(SRC_FILES ${SRC_FILES} ${srcfile})
set(POT_DEPENDS ${POT_DEPENDS} "${CMAKE_SOURCE_DIR}/${srcfile}")
endforeach()
# Create PO template file weechat.pot
set(SRC_FILES)
set(POT_DEPENDS)
add_custom_command(
OUTPUT "${POT_FILE_PATH}"
COMMAND "${XGETTEXT_EXECUTABLE}"
ARGS -o "${POT_FILE_PATH}" --add-comments='TRANSLATORS:' --keyword='_' --keyword='weechat_gettext' --keyword='N_' --keyword='NG_:1,2' --keyword='weechat_ngettext:1,2' --no-location --from-code=UTF-8 --directory="${CMAKE_SOURCE_DIR}" --package-name='WeeChat' --package-version=${VERSION} --msgid-bugs-address=${BUGS_ADDRESS} --copyright-holder='NAME' ${SRC_FILES}
DEPENDS ${POT_DEPENDS}
COMMENT "Generating ${POT_FILE}"
)
foreach(srcfile ${WEECHAT_SOURCES})
set(SRC_FILES ${SRC_FILES} ${srcfile})
set(POT_DEPENDS ${POT_DEPENDS} "${CMAKE_SOURCE_DIR}/${srcfile}")
endforeach()
set(MO_FILES)
set(UPDATE_PO_TARGETS)
foreach(pofile ${PO_FILES})
get_filename_component(polang ${pofile} NAME_WE)
# Compile .po files in build directory (to binary .mo files)
set(modir "${CMAKE_CURRENT_BINARY_DIR}/${polang}/LC_MESSAGES")
file(MAKE_DIRECTORY "${modir}")
set(mofile "${modir}/${PROJECT_NAME}.mo")
add_custom_command(
OUTPUT "${POT_FILE_PATH}"
COMMAND "${XGETTEXT_EXECUTABLE}"
ARGS -o "${POT_FILE_PATH}" --add-comments='TRANSLATORS:' --keyword='_' --keyword='weechat_gettext' --keyword='N_' --keyword='NG_:1,2' --keyword='weechat_ngettext:1,2' --no-location --from-code=UTF-8 --directory="${CMAKE_SOURCE_DIR}" --package-name='WeeChat' --package-version=${VERSION} --msgid-bugs-address=${BUGS_ADDRESS} --copyright-holder='NAME' ${SRC_FILES}
DEPENDS ${POT_DEPENDS}
COMMENT "Generating ${POT_FILE}"
OUTPUT "${mofile}"
COMMAND "${MSGMERGE_EXECUTABLE}" ARGS --quiet -o "${CMAKE_CURRENT_BINARY_DIR}/${pofile}" "${CMAKE_CURRENT_SOURCE_DIR}/${pofile}" ${POT_FILE_PATH}
COMMAND "${MSGFMT_EXECUTABLE}" ARGS -o "${mofile}" "${CMAKE_CURRENT_BINARY_DIR}/${pofile}"
COMMAND "${MSGFMT_EXECUTABLE}" ARGS -c --statistics --verbose --output-file=/dev/null "${CMAKE_CURRENT_BINARY_DIR}/${pofile}"
DEPENDS "${POT_FILE_PATH}" "${CMAKE_CURRENT_SOURCE_DIR}/${pofile}"
COMMENT "Compiling ${polang}.po"
)
set(MO_FILES)
set(UPDATE_PO_TARGETS)
foreach(pofile ${PO_FILES})
get_filename_component(polang ${pofile} NAME_WE)
# Compile .po files in build directory (to binary .mo files)
set(modir "${CMAKE_CURRENT_BINARY_DIR}/${polang}/LC_MESSAGES")
file(MAKE_DIRECTORY "${modir}")
set(mofile "${modir}/${PROJECT_NAME}.mo")
add_custom_command(
OUTPUT "${mofile}"
COMMAND "${MSGMERGE_EXECUTABLE}" ARGS --quiet -o "${CMAKE_CURRENT_BINARY_DIR}/${pofile}" "${CMAKE_CURRENT_SOURCE_DIR}/${pofile}" ${POT_FILE_PATH}
COMMAND "${MSGFMT_EXECUTABLE}" ARGS -o "${mofile}" "${CMAKE_CURRENT_BINARY_DIR}/${pofile}"
COMMAND "${MSGFMT_EXECUTABLE}" ARGS -c --statistics --verbose --output-file=/dev/null "${CMAKE_CURRENT_BINARY_DIR}/${pofile}"
DEPENDS "${POT_FILE_PATH}" "${CMAKE_CURRENT_SOURCE_DIR}/${pofile}"
COMMENT "Compiling ${polang}.po"
)
# Update .po files in source directory (if needed)
add_custom_target(
update-${pofile}
COMMAND "${MSGMERGE_EXECUTABLE}" --quiet --update --previous --backup=none "${CMAKE_CURRENT_SOURCE_DIR}/${pofile}" "${POT_FILE_PATH}"
COMMENT "Updating ${polang}.po"
)
set(UPDATE_PO_TARGETS ${UPDATE_PO_TARGETS} update-${pofile})
install(FILES "${mofile}" DESTINATION "${LOCALEDIR}/${polang}/LC_MESSAGES")
set(MO_FILES ${MO_FILES} ${mofile})
endforeach()
add_custom_target(translations ALL DEPENDS ${MO_FILES})
# Update weechat.pot in source directory (if needed)
# Update .po files in source directory (if needed)
add_custom_target(
update-${POT_FILE}
COMMAND "${MSGMERGE_EXECUTABLE}" --quiet --update --backup=none "${CMAKE_CURRENT_SOURCE_DIR}/${POT_FILE}" "${POT_FILE_PATH}"
COMMENT "Updating ${POT_FILE}"
update-${pofile}
COMMAND "${MSGMERGE_EXECUTABLE}" --quiet --update --previous --backup=none "${CMAKE_CURRENT_SOURCE_DIR}/${pofile}" "${POT_FILE_PATH}"
COMMENT "Updating ${polang}.po"
)
set(UPDATE_PO_TARGETS ${UPDATE_PO_TARGETS} update-${pofile})
# Update all .po and weechat.pot in source directory (if needed)
add_custom_target(update-po DEPENDS update-${POT_FILE} ${UPDATE_PO_TARGETS})
install(FILES "${mofile}" DESTINATION "${LOCALEDIR}/${polang}/LC_MESSAGES")
set(MO_FILES ${MO_FILES} ${mofile})
endforeach()
endif()
add_custom_target(translations ALL DEPENDS ${MO_FILES})
# Update weechat.pot in source directory (if needed)
add_custom_target(
update-${POT_FILE}
COMMAND "${MSGMERGE_EXECUTABLE}" --quiet --update --backup=none "${CMAKE_CURRENT_SOURCE_DIR}/${POT_FILE}" "${POT_FILE_PATH}"
COMMENT "Updating ${POT_FILE}"
)
# Update all .po and weechat.pot in source directory (if needed)
add_custom_target(update-po DEPENDS update-${POT_FILE} ${UPDATE_PO_TARGETS})
+5828 -3149
View File
File diff suppressed because it is too large Load Diff
+6591 -5083
View File
File diff suppressed because it is too large Load Diff
+5881 -3564
View File
File diff suppressed because it is too large Load Diff
+6411 -4922
View File
File diff suppressed because it is too large Load Diff
+5380 -2671
View File
File diff suppressed because it is too large Load Diff
+5900 -3292
View File
File diff suppressed because it is too large Load Diff
+6230 -4567
View File
File diff suppressed because it is too large Load Diff
+6449 -6064
View File
File diff suppressed because it is too large Load Diff
+6109 -4283
View File
File diff suppressed because it is too large Load Diff
+5711 -3086
View File
File diff suppressed because it is too large Load Diff
+5401 -2676
View File
File diff suppressed because it is too large Load Diff
+6259 -4906
View File
File diff suppressed because it is too large Load Diff
+122 -100
View File
@@ -1,106 +1,110 @@
SET(WEECHAT_SOURCES
./src/core/hook/wee-hook-command.c
./src/core/hook/wee-hook-command.h
./src/core/hook/wee-hook-command-run.c
./src/core/hook/wee-hook-command-run.h
./src/core/hook/wee-hook-completion.c
./src/core/hook/wee-hook-completion.h
./src/core/hook/wee-hook-config.c
./src/core/hook/wee-hook-config.h
./src/core/hook/wee-hook-connect.c
./src/core/hook/wee-hook-connect.h
./src/core/hook/wee-hook-fd.c
./src/core/hook/wee-hook-fd.h
./src/core/hook/wee-hook-focus.c
./src/core/hook/wee-hook-focus.h
./src/core/hook/wee-hook-hdata.c
./src/core/hook/wee-hook-hdata.h
./src/core/hook/wee-hook-hsignal.c
./src/core/hook/wee-hook-hsignal.h
./src/core/hook/wee-hook-info.c
./src/core/hook/wee-hook-info.h
./src/core/hook/wee-hook-info-hashtable.c
./src/core/hook/wee-hook-info-hashtable.h
./src/core/hook/wee-hook-infolist.c
./src/core/hook/wee-hook-infolist.h
./src/core/hook/wee-hook-line.c
./src/core/hook/wee-hook-line.h
./src/core/hook/wee-hook-modifier.c
./src/core/hook/wee-hook-modifier.h
./src/core/hook/wee-hook-print.c
./src/core/hook/wee-hook-print.h
./src/core/hook/wee-hook-process.c
./src/core/hook/wee-hook-process.h
./src/core/hook/wee-hook-signal.c
./src/core/hook/wee-hook-signal.h
./src/core/hook/wee-hook-timer.c
./src/core/hook/wee-hook-timer.h
./src/core/wee-arraylist.c
./src/core/wee-arraylist.h
./src/core/wee-backtrace.c
./src/core/wee-backtrace.h
./src/core/wee-calc.c
./src/core/wee-calc.h
./src/core/hook/hook-command.c
./src/core/hook/hook-command.h
./src/core/hook/hook-command-run.c
./src/core/hook/hook-command-run.h
./src/core/hook/hook-completion.c
./src/core/hook/hook-completion.h
./src/core/hook/hook-config.c
./src/core/hook/hook-config.h
./src/core/hook/hook-connect.c
./src/core/hook/hook-connect.h
./src/core/hook/hook-fd.c
./src/core/hook/hook-fd.h
./src/core/hook/hook-focus.c
./src/core/hook/hook-focus.h
./src/core/hook/hook-hdata.c
./src/core/hook/hook-hdata.h
./src/core/hook/hook-hsignal.c
./src/core/hook/hook-hsignal.h
./src/core/hook/hook-info.c
./src/core/hook/hook-info.h
./src/core/hook/hook-info-hashtable.c
./src/core/hook/hook-info-hashtable.h
./src/core/hook/hook-infolist.c
./src/core/hook/hook-infolist.h
./src/core/hook/hook-line.c
./src/core/hook/hook-line.h
./src/core/hook/hook-modifier.c
./src/core/hook/hook-modifier.h
./src/core/hook/hook-print.c
./src/core/hook/hook-print.h
./src/core/hook/hook-process.c
./src/core/hook/hook-process.h
./src/core/hook/hook-signal.c
./src/core/hook/hook-signal.h
./src/core/hook/hook-timer.c
./src/core/hook/hook-timer.h
./src/core/hook/hook-url.c
./src/core/hook/hook-url.h
./src/core/core-arraylist.c
./src/core/core-arraylist.h
./src/core/core-backtrace.c
./src/core/core-backtrace.h
./src/core/core-calc.c
./src/core/core-calc.h
./src/core/weechat.c
./src/core/weechat.h
./src/core/wee-command.c
./src/core/wee-command.h
./src/core/wee-completion.c
./src/core/wee-completion.h
./src/core/wee-config.c
./src/core/wee-config-file.c
./src/core/wee-config-file.h
./src/core/wee-config.h
./src/core/wee-crypto.c
./src/core/wee-crypto.h
./src/core/wee-debug.c
./src/core/wee-debug.h
./src/core/wee-dir.c
./src/core/wee-dir.h
./src/core/wee-doc.c
./src/core/wee-doc.h
./src/core/wee-eval.c
./src/core/wee-eval.h
./src/core/wee-hashtable.c
./src/core/wee-hashtable.h
./src/core/wee-hdata.c
./src/core/wee-hdata.h
./src/core/wee-hook.c
./src/core/wee-hook.h
./src/core/wee-infolist.c
./src/core/wee-infolist.h
./src/core/wee-input.c
./src/core/wee-input.h
./src/core/wee-list.c
./src/core/wee-list.h
./src/core/wee-log.c
./src/core/wee-log.h
./src/core/wee-network.c
./src/core/wee-network.h
./src/core/wee-proxy.c
./src/core/wee-proxy.h
./src/core/wee-secure-buffer.c
./src/core/wee-secure-buffer.h
./src/core/wee-secure.c
./src/core/wee-secure-config.c
./src/core/wee-secure-config.h
./src/core/wee-secure.h
./src/core/wee-signal.c
./src/core/wee-signal.h
./src/core/wee-string.c
./src/core/wee-string.h
./src/core/wee-upgrade.c
./src/core/wee-upgrade-file.c
./src/core/wee-upgrade-file.h
./src/core/wee-upgrade.h
./src/core/wee-url.c
./src/core/wee-url.h
./src/core/wee-utf8.c
./src/core/wee-utf8.h
./src/core/wee-util.c
./src/core/wee-util.h
./src/core/wee-version.c
./src/core/wee-version.h
./src/core/core-command.c
./src/core/core-command.h
./src/core/core-completion.c
./src/core/core-completion.h
./src/core/core-config.c
./src/core/core-config-file.c
./src/core/core-config-file.h
./src/core/core-config.h
./src/core/core-crypto.c
./src/core/core-crypto.h
./src/core/core-debug.c
./src/core/core-debug.h
./src/core/core-dir.c
./src/core/core-dir.h
./src/core/core-doc.c
./src/core/core-doc.h
./src/core/core-eval.c
./src/core/core-eval.h
./src/core/core-hashtable.c
./src/core/core-hashtable.h
./src/core/core-hdata.c
./src/core/core-hdata.h
./src/core/core-hook.c
./src/core/core-hook.h
./src/core/core-infolist.c
./src/core/core-infolist.h
./src/core/core-input.c
./src/core/core-input.h
./src/core/core-list.c
./src/core/core-list.h
./src/core/core-log.c
./src/core/core-log.h
./src/core/core-network.c
./src/core/core-network.h
./src/core/core-proxy.c
./src/core/core-proxy.h
./src/core/core-secure-buffer.c
./src/core/core-secure-buffer.h
./src/core/core-secure.c
./src/core/core-secure-config.c
./src/core/core-secure-config.h
./src/core/core-secure.h
./src/core/core-signal.c
./src/core/core-signal.h
./src/core/core-string.c
./src/core/core-string.h
./src/core/core-sys.c
./src/core/core-sys.h
./src/core/core-upgrade.c
./src/core/core-upgrade-file.c
./src/core/core-upgrade-file.h
./src/core/core-upgrade.h
./src/core/core-url.c
./src/core/core-url.h
./src/core/core-utf8.c
./src/core/core-utf8.h
./src/core/core-util.c
./src/core/core-util.h
./src/core/core-version.c
./src/core/core-version.h
./src/gui/curses/gui-curses-bar-window.c
./src/gui/curses/gui-curses-bar-window.h
./src/gui/curses/gui-curses-chat.c
@@ -179,6 +183,8 @@ SET(WEECHAT_SOURCES
./src/plugins/buflist/buflist.c
./src/plugins/buflist/buflist-command.c
./src/plugins/buflist/buflist-command.h
./src/plugins/buflist/buflist-completion.c
./src/plugins/buflist/buflist-completion.h
./src/plugins/buflist/buflist-config.c
./src/plugins/buflist/buflist-config.h
./src/plugins/buflist/buflist.h
@@ -258,6 +264,8 @@ SET(WEECHAT_SOURCES
./src/plugins/irc/irc-input.h
./src/plugins/irc/irc-join.c
./src/plugins/irc/irc-join.h
./src/plugins/irc/irc-list.c
./src/plugins/irc/irc-list.h
./src/plugins/irc/irc-message.c
./src/plugins/irc/irc-message.h
./src/plugins/irc/irc-mode.c
@@ -336,6 +344,16 @@ SET(WEECHAT_SOURCES
./src/plugins/python/weechat-python-api.h
./src/plugins/python/weechat-python.c
./src/plugins/python/weechat-python.h
./src/plugins/relay/api/relay-api.c
./src/plugins/relay/api/relay-api.h
./src/plugins/relay/api/relay-api-msg.c
./src/plugins/relay/api/relay-api-msg.h
./src/plugins/relay/api/relay-api-protocol.c
./src/plugins/relay/api/relay-api-protocol.h
./src/plugins/relay/api/remote/relay-remote-event.c
./src/plugins/relay/api/remote/relay-remote-event.h
./src/plugins/relay/api/remote/relay-remote-network.c
./src/plugins/relay/api/remote/relay-remote-network.h
./src/plugins/relay/irc/relay-irc.c
./src/plugins/relay/irc/relay-irc.h
./src/plugins/relay/relay-auth.c
@@ -352,12 +370,16 @@ SET(WEECHAT_SOURCES
./src/plugins/relay/relay-config.c
./src/plugins/relay/relay-config.h
./src/plugins/relay/relay.h
./src/plugins/relay/relay-http.c
./src/plugins/relay/relay-http.h
./src/plugins/relay/relay-info.c
./src/plugins/relay/relay-info.h
./src/plugins/relay/relay-network.c
./src/plugins/relay/relay-network.h
./src/plugins/relay/relay-raw.c
./src/plugins/relay/relay-raw.h
./src/plugins/relay/relay-remote.c
./src/plugins/relay/relay-remote.h
./src/plugins/relay/relay-server.c
./src/plugins/relay/relay-server.h
./src/plugins/relay/relay-upgrade.c
+6386 -5128
View File
File diff suppressed because it is too large Load Diff
+5011 -2412
View File
File diff suppressed because it is too large Load Diff

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