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

Compare commits

...

689 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
729 changed files with 132684 additions and 80922 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
+96 -6
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 libncurses-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:
@@ -20,6 +56,7 @@ jobs:
- { 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: "" }
@@ -34,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
@@ -43,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
@@ -66,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:
@@ -83,7 +138,6 @@ jobs:
matrix:
os:
- macos-12
- macos-11
config:
- { name: "gcc", cc: "gcc", cxx: "g++" }
- { name: "clang", cc: "clang", cxx: "clang++" }
@@ -113,7 +167,7 @@ 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
@@ -174,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"
+1
View File
@@ -67,6 +67,7 @@ Alphabetically:
* Jiri Golembiovsky (GolemJ)
* Joey Pabalinas (alyptik)
* Johan Rylander
* Johannes Kuhn
* Joram Schrijver
* Jos Ahrens
* Joseph Kichline
+16 -7
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>
#
@@ -100,6 +100,7 @@ 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)
@@ -191,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)
@@ -202,9 +206,10 @@ if(ENABLE_LARGEFILE)
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)
@@ -222,6 +227,12 @@ if(ENABLE_ZSTD)
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)
if(ICONV_FOUND)
@@ -250,10 +261,8 @@ add_subdirectory(icons)
if(ENABLE_NLS)
find_package(Gettext REQUIRED)
add_definitions(-DENABLE_NLS)
find_package(Intl)
if(Intl_FOUND)
list(APPEND EXTRA_LIBS "${Intl_LIBRARIES}")
endif()
find_package(Intl REQUIRED)
list(APPEND EXTRA_LIBS "${Intl_LIBRARIES}")
add_subdirectory(po)
else()
add_custom_target(translations COMMAND true)
+464 -5
View File
@@ -5,14 +5,331 @@
: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`
@@ -81,6 +398,48 @@ 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)
@@ -165,6 +524,10 @@ Build::
[[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)
@@ -176,6 +539,8 @@ Build::
[[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)
@@ -195,7 +560,7 @@ 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
@@ -210,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)
@@ -231,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)
@@ -309,6 +674,8 @@ Build::
[[v3.8]]
== Version 3.8 (2023-01-08)
{see-release-notes}
New features::
* core: add option weechat.look.chat_space_right (issue #1862)
@@ -374,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)
@@ -439,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)
@@ -466,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`
@@ -518,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
@@ -561,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)
@@ -623,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)
@@ -678,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)
@@ -720,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)
@@ -757,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)
@@ -843,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)
@@ -899,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)
@@ -956,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)
@@ -1004,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
@@ -1059,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)
@@ -1136,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)
@@ -1204,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)
@@ -1243,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
@@ -1330,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)
@@ -1380,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)
@@ -1424,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`
@@ -1460,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)
@@ -1502,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)
@@ -1559,6 +1970,8 @@ Build::
[[v1.3]]
== Version 1.3 (2015-08-16)
{see-release-notes}
New features::
* core: add completion "colors" (issue #481)
@@ -1614,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)
@@ -1688,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)
@@ -1785,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
@@ -1946,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)
@@ -2049,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)
@@ -2131,6 +2554,8 @@ Build::
[[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)
@@ -2215,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"
@@ -2316,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
@@ -2404,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)
@@ -2471,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
@@ -2555,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)
@@ -2647,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)
@@ -2725,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)
@@ -2793,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)
@@ -2836,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`
@@ -2916,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])
@@ -2972,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
@@ -3198,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)
@@ -3274,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
@@ -3329,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
@@ -3386,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)
@@ -3433,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)
@@ -3465,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.
+262 -9
View File
@@ -11,6 +11,239 @@ 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)
@@ -120,6 +353,29 @@ 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)
@@ -2816,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)
@@ -3130,17 +3385,17 @@ 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)
@@ -3160,9 +3415,7 @@ 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)
+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.
#
+1 -1
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.
#
+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
+2 -1
View File
@@ -21,7 +21,8 @@ Build-Depends:
libgcrypt20-dev,
libgnutls28-dev,
libzstd-dev,
zlib1g-dev
zlib1g-dev,
libcjson-dev
Standards-Version: 4.6.2
Homepage: https://weechat.org/
Vcs-Git: https://salsa.debian.org/kolter/weechat.git
+3
View File
@@ -0,0 +1,3 @@
tar-ignore = ".git"
tar-ignore = "build"
tar-ignore = "release"
+16
View File
@@ -1,3 +1,19 @@
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
+2 -1
View File
@@ -21,7 +21,8 @@ Build-Depends:
libgcrypt20-dev,
libgnutls28-dev,
libzstd-dev,
zlib1g-dev
zlib1g-dev,
libcjson-dev
Standards-Version: 4.6.2
Homepage: https://weechat.org/
Vcs-Git: https://salsa.debian.org/kolter/weechat.git
+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
+16
View File
@@ -621,6 +621,22 @@ die von einer Weechat Version ≥ 4.0.0 erstellt wurde, sind die Tastennamen ung
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?
+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
+162 -46
View File
@@ -35,7 +35,7 @@ wesentliche Merkmale:
https://datatracker.ietf.org/doc/html/rfc2812[2812 ^↗^^],
https://datatracker.ietf.org/doc/html/rfc2813[2813 ^↗^^] und
https://datatracker.ietf.org/doc/html/rfc7194[7194 ^↗^^]
* IRC proxy und relay für remote Schnittstellen
* IRC proxy und relay für WeeChat und Remote-Schnittstellen
* Betriebssystemunabhängig (GNU/Linux, *BSD, macOS, Windows und weitere)
* 100% GPL, freie Software
@@ -133,7 +133,8 @@ Die folgende Tabelle zeigt eine Auflistung der Pakete, die zum Erstellen von Wee
| zlib1g-dev |
| Logger-Erweitertung: Kompression von rotierenden Protokolldateien (gzip). +
Relay-Erweiterung: Kompression von Nachrichten (WeeChat -> client) with https://zlib.net/[zlib ^↗^^] (weechat protocol). +
Relay-Erweiterung: Kompression von Nachrichten (WeeChat -> client) with https://zlib.net/[zlib ^↗^^]
(api und weechat Protokollen). +
Script-Erweiterung: Lesen der Repository-Indexdatei (gzip).
|===
@@ -159,9 +160,14 @@ WeeChat optional sind:
| ca-certificates |
| Zertifikate für TLS Verbindungen.
| libcjson-dev |
| Relay-Erweiterung: Protokoll "api" (HTTP REST API).
| libzstd-dev | ≥ 0.8.1
// TRANLSATION MISSING
| Logger-Erweiterung: Kompression von rotierenden Protokolldateien (zstandard). +
Relay-Erweiterung: Kompression von Nachrichten (WeeChat -> client) with https://facebook.github.io/zstd/[Zstandard ^↗^^] (weechat protocol).
Relay-Erweiterung: Kompression von Nachrichten (WeeChat -> client) with https://facebook.github.io/zstd/[Zstandard ^↗^^]
(api and weechat protocols).
| libaspell-dev / libenchant-dev |
| Spell Erweiterung.
@@ -279,6 +285,9 @@ Liste der verfügbaren Optionen:
| ENABLE_CHARSET | `ON`, `OFF` | ON
| kompiliert <<charset,Charset Erweiterung>>.
| ENABLE_CJSON | `ON`, `OFF` | ON
| Unterstützung von JSON mittels https://github.com/DaveGamble/cJSON[cJSON ^↗^^] Bibliothek.
| ENABLE_MAN | `ON`, `OFF` | OFF
| erstellt die man page.
@@ -527,11 +536,11 @@ Copying output to /tmp/crash.txt.
at /some_path/src/core/weechat.c:351
#3 <signal handler called>
#4 0x000000000044cb24 in hook_process_timer_cb (arg_hook_process=0x254eb90,
remaining_calls=<value optimized out>) at /some_path/src/core/wee-hook.c:1364
remaining_calls=<value optimized out>) at /some_path/src/core/core-hook.c:1364
hook_process = 0x254eb90
status = <value optimized out>
#5 0x000000000044cc7d in hook_timer_exec ()
at /some_path/src/core/wee-hook.c:1025
at /some_path/src/core/core-hook.c:1025
tv_time = {tv_sec = 1272693881, tv_usec = 212665}
ptr_hook = 0x2811f40
next_hook = 0x0
@@ -920,11 +929,30 @@ In der _input_ Bar lautet die Standardeinstellung:
| Item | Beispiel | Beschreibung
| input_prompt | `[@Flashy(i)]` | Input prompt, für irc: Nick und Modi (Modus "+i" bedeutet auf libera, unsichtbar).
| away | `(away)` | Abwesenheitsanzeige.
| input_search | `[Search (~ str,msg)]` | Suchindikatoren ("`~`": Groß-und Kleinschreibung ignorieren, "`==`": Groß-und Kleinschreibung berücksichtigen, "`str`": einfache Textsuche, "`regex`": suche mit regulären Ausdrücken, "`msg`": Suche in Nachrichten, "`pre`": Suche in Präfix, "`pre\|msg`": Suche in Präfix und Nachrichten).
| input_paste | `[Paste 7 lines ? [ctrl-y] Ja [ctrl-n] Nein]` | Nachfrage ob sieben Zeilen eingefügt werden sollen.
| input_search | `[Search lines (~ str,msg)]` | Suchindikatoren ("`~`": Groß-und Kleinschreibung ignorieren, "`==`": Groß-und Kleinschreibung berücksichtigen, "`str`": einfache Textsuche, "`regex`": suche mit regulären Ausdrücken, "`msg`": Suche in Nachrichten, "`pre`": Suche in Präfix, "`pre\|msg`": Suche in Präfix und Nachrichten).
| input_paste | `[Paste 7 lines ? [ctrl-y] Ja [ctrl-n] Nein]` | Nachfrage, ob sieben Zeilen eingefügt werden sollen.
| input_text | `hi peter!` | Text der eingegeben wird.
|===
Es existieren zwei Suchmodi:
* Suche in Zeilen, zum Beispiel `[Search lines (~ str,msg)]`, mit folgenden Infos:
** `~`: Groß-und Kleinschreibung ignorieren
** `==`: Groß-und Kleinschreibung berücksichtigen
** `str`: einfache Textsuche
** `regex`: suche mit regulären Ausdrücken
** `msg`: Suche in Nachrichten
** `pre`: Suche in Präfix
** `pre\|msg`: Suche in Präfix und Nachrichten
* Suche im Befehlsverlauf, zum Beispiel `[Search command (~ str,local)]`,
mit den folgenden Informationen:
** `~`: Groß-und Kleinschreibung ignorieren
** `==`: Groß-und Kleinschreibung berücksichtigen
** `str`: einfache Textsuche
** `regex`: suche mit regulären Ausdrücken
** `local`: suche im lokalen Bufferverlauf
** `global`: suche im globalen Verlauf
In der _nicklist_ Bar lautet die Standardeinstellung:
[width="100%",cols="^3,^3,9",options="header"]
@@ -1016,6 +1044,11 @@ Zeichen, genutzt werden:
| kbd:[Ctrl+c], kbd:[c],
kbd:[xx], kbd:[,],
kbd:[yy] | Textfarbe `xx` und Hintergrundfarbe `yy` (siehe Farbtabelle).
| kbd:[Ctrl+c], kbd:[d],
kbd:[xxxxxx] | Textfarbe `xxxxxx` (RGB als hexadezimale Zahl, zum Beispiel `FF0000` für rot).
| kbd:[Ctrl+c], kbd:[d],
kbd:[xxxxxx], kbd:[,],
kbd:[yyyyyy] | Textfarbe `xxxxxx` und Hintergrundfarbe `yyyyyy` (RGB als hexadezimale Zahl).
| kbd:[Ctrl+c], kbd:[i] | Text wird kursiv dargestellt.
| kbd:[Ctrl+c], kbd:[o] | deaktiviert Farben und Attribute.
| kbd:[Ctrl+c], kbd:[v] | Farben umkehren (kehrt Textfarbe und Hintergrundfarbe um).
@@ -1023,8 +1056,8 @@ Zeichen, genutzt werden:
|===
[NOTE]
Der selbe Befehl (ohne den Wert für kbd:[Ctrl+c], kbd:[c]) sollte genutzt werden
um die Farbkodierungen bzw. Attribute zu deaktivieren.
Der selbe Code (ohne Nummer für kbd:[Ctrl+c], kbd:[c] und kbd:[Ctrl+c], kbd:[d])
kann verwendet werden, um das Attribut zu stoppen.
Farbtabelle für kbd:[Ctrl+c], kbd:[c]:
@@ -1587,6 +1620,7 @@ Sie können mit dem Befehl <<command_weechat_key,/key>> geändert und neue hinzu
| Taste | Beschreibung | Befehl
| kbd:[Ctrl+c], kbd:[b] | fügt Steuerzeichen für fett geschrieben Text ein. | `+/input insert \x02+`
| kbd:[Ctrl+c], kbd:[c] | fügt Steuerzeichen für Textfarbe ein. | `+/input insert \x03+`
| kbd:[Ctrl+c], kbd:[d] | fügt Steuerzeichen für Textfarbe ein (RGB Farbe, als hexadezimale Zahl). | `+/input insert \x04+`
| kbd:[Ctrl+c], kbd:[i] | fügt Steuerzeichen für kursiven Text ein. | `+/input insert \x1D+`
| kbd:[Ctrl+c], kbd:[o] | fügt Steuerzeichen für Standardfarbe ein. | `+/input insert \x0F+`
| kbd:[Ctrl+c], kbd:[v] | fügt Steuerzeichen für Hintergrundfarbe ein. | `+/input insert \x16+`
@@ -1620,8 +1654,8 @@ Sie können mit dem Befehl <<command_weechat_key,/key>> geändert und neue hinzu
[width="100%",cols="^.^3,.^8,.^5",options="header"]
|===
| Taste | Beschreibung | Befehl
| kbd:[Ctrl+r] | Textsuche im Verlaufsspeicher des Buffers (siehe <<key_bindings_search_context,Tasten für Such-Kontext>>). | `+/input search_text_here+`
| kbd:[Ctrl+s], kbd:[Ctrl+u] | setzt für alle Buffer die Markierung für ungelesene Nachrichten. | `+/allbuf /buffer set unread+`
| kbd:[Ctrl+r] | sucht nach Text im Befehlsverlauf (siehe <<key_bindings_histsearch_context,keys for context "histsearch">>). | `+/input search_history+`
| kbd:[Ctrl+s] | sucht nach Text in Bufferzeilen (siehe <<key_bindings_search_context,keys for context "search">>). | `+/input search_text_here+`
| kbd:[Ctrl+x] | Wechseln Sie den aktuellen Buffer, wenn diese zusammengefügt worden sind, z.B. zwischen IRC-Serverbuffer wechseln. | `+/buffer switch+`
| kbd:[Alt+x] | Zoom eines zusammengefügten Buffers (kbd:[Alt+x] ein zweites mal: alle zusammengefügten Buffer werden angezeigt). | `+/buffer zoom+`
| kbd:[PgUp] | eine Seite im Verlaufsspeicher des Buffers nach oben blättern. | `+/window page_up+`
@@ -1647,6 +1681,7 @@ Sie können mit dem Befehl <<command_weechat_key,/key>> geändert und neue hinzu
| kbd:[Alt+n] | springt zur nächsten Highlight Nachricht. | `+/window scroll_next_highlight+`
| kbd:[Alt+p] | springt zur vorherigen Highlight Nachricht. | `+/window scroll_previous_highlight+`
| kbd:[Alt+u] | springt zur ersten ungelesenen Zeile im Buffer. | `+/window scroll_unread+`
| kbd:[Alt+Shift+U] | setzt für alle Buffer die Markierung für ungelesene Nachrichten. | `+/allbuf /buffer set unread+`
| kbd:[Alt+<] | springt zum letzten besuchten Buffer. | `+/buffer jump prev_visited+`
| kbd:[Alt+>] | springt zum nächsten besuchten Buffer. | `+/buffer jump next_visited+`
| kbd:[Alt+/] | wechselt zum jeweils zuletzt angezeigten Buffern. | `+/buffer jump last_displayed+`
@@ -1723,23 +1758,48 @@ Sie können mit dem Befehl <<command_weechat_key,/key>> geändert und neue hinzu
[[key_bindings_search_context]]
=== Suchkontext
Diese Tasten werden im Kontext "search" verwendet (wenn kbd:[Ctrl+r] genutzt wird um
in einem Buffer nach einem Text zu suchen).
Diese Tasten werden im Kontext "search" verwendet (wenn kbd:[Ctrl+s] gedrückt wird, um Text
in Bufferzeilen zu suchen).
[width="100%",cols="^.^3,.^8,.^5",options="header"]
|===
| Taste | Beschreibung | Befehl
| kbd:[Ctrl+r] | Wechsel des Suchmodus: einfache Textsuche (Standard), reguläre Ausdrücke. | `+/input search_switch_regex+`
| kbd:[Ctrl+x] | Wechsel des Suchmodus: einfache Textsuche (Standard), reguläre Ausdrücke. | `+/input search_switch_regex+`
| kbd:[Alt+c] | auf Groß-/Kleinschreibung umschalten. | `+/input search_switch_case+`
| kbd:[Tab] | wechselt Suche in: Nachricht (Standard), im Präfix, Präfix + Nachricht. | `+/input search_switch_where+`
| kbd:[↑] | sucht vorheriger Zeile. | `+/input search_previous+`
| kbd:[] | sucht nächste Zeile . | `+/input search_next+`
| kbd:[Ctrl+r] +
kbd:[] | sucht vorheriger Zeile. | `+/input search_previous+`
| kbd:[Ctrl+s] +
kbd:[↓] | sucht nächste Zeile . | `+/input search_next+`
| kbd:[Enter] +
kbd:[Ctrl+j] +
kbd:[Ctrl+m] | beendet Suche ab aktueller Position. | `+/input search_stop_here+`
| kbd:[Ctrl+q] | Suche wird abgebrochen und der Bildlauf wird auf die Vortextsuche zurückgesetzt. | `+/input search_stop+`
|===
[[key_bindings_histsearch_context]]
=== Kontext der Verlaufssuche
Diese Tasten werden im Kontext "histsearch" verwendet (wenn kbd:[Ctrl+r] gedrückt wird, um Text
im Befehlsverlauf zu suchen).
[width="100%",cols="^.^3,.^8,.^5",options="header"]
|===
| Taste | Beschreibung | Befehl
| kbd:[Ctrl+x] | Wechsel des Suchmodus: einfache Textsuche (Standard), reguläre Ausdrücke. | `+/input search_switch_regex+`
| kbd:[Alt+c] | auf Groß-/Kleinschreibung umschalten. | `+/input search_switch_case+`
| kbd:[Tab] | umschalten der Suche für: lokaler Bufferverlauf (Standard), globaler Verlauf. | `+/input search_switch_where+`
| kbd:[Ctrl+r] +
kbd:[↑] | Suche in vorherigen (älteren) Verlaufseinträgen. | `+/input search_previous+`
| kbd:[Ctrl+s] +
kbd:[↓] | Suche in nachfolgenden (neueren) Verlaufseinträgen. | `+/input search_next+`
| kbd:[Enter] +
kbd:[Ctrl+j] +
kbd:[Ctrl+m] | Suche stoppen und übereinstimmende Eingaben verwenden. | `+/input search_stop_here+`
| kbd:[Ctrl+o] | führt den im Verlauf gefundenen Befehl aus und fügt den nächsten in die Befehlszeile ein. | `+/input history_use_get_next+`
| kbd:[Ctrl+q] | stoppt die Suche und stellt die Eingabe auf ihren ursprünglichen Wert zurück. | `+/input search_stop+`
|===
[[key_bindings_cursor_context]]
=== Cursor-Kontext
@@ -1806,10 +1866,10 @@ wurde (Befehl: `+/mouse toggle+`).
| kbd:[▼] | - | chat: /list buffer | gehe fünf Zeilen im /list-Buffer nach unten. | `+/list -down 5+`
| kbd:[■ □ □] | - | chat: /list buffer | Zeile im /list-Buffer auswählen. | `+/window ${_window_number};/list -go ${_chat_line_y}+`
| kbd:[□ □ ■] | - | chat: /list buffer | tritt dem IRC-Kanal, in der ausgewählten Zeile, bei. | `+hsignal:irc_list_mouse+`
| kbd:[▲] | - | chat: script buffer | fünf Zeilen nach oben blättern, im Script-Buffer. | `+/script up 5+`
| kbd:[▼] | - | chat: script buffer | fünf Zeilen nach unten blättern, im Script-Buffer. | `+/script down 5+`
| kbd:[■ □ □] | - | chat: script buffer | wählt einen Eintrag im Script-Buffer aus. | `+/script go ${_chat_line_y}+`
| kbd:[□ □ ■] | - | chat: script buffer | installiert/entfernt ein Skript. | `+/script go ${_chat_line_y};/script installremove -q ${script_name_with_extension}+`
| kbd:[▲] | - | chat: script buffer | fünf Zeilen nach oben blättern, im Script-Buffer. | `+/script -up 5+`
| kbd:[▼] | - | chat: script buffer | fünf Zeilen nach unten blättern, im Script-Buffer. | `+/script -down 5+`
| kbd:[■ □ □] | - | chat: script buffer | wählt einen Eintrag im Script-Buffer aus. | `+/script -go ${_chat_line_y}+`
| kbd:[□ □ ■] | - | chat: script buffer | installiert/entfernt ein Skript. | `+/script -go ${_chat_line_y};/script installremove -q ${script_name_with_extension}+`
| kbd:[■ □ □] | up / left | buflist | verschiebt Buffer in der Reihenfolge nach unten. | Signal `+buflist_mouse+`.
| kbd:[■ □ □] | down / right | buflist | verschiebt Buffer in der Reihenfolge nach oben. | Signal `+buflist_mouse+`.
| kbd:[■ □ □] | - | buflist | wechselt zum Buffer (oder zum vorherigen Buffer, falls der aktuell genutzte Buffer angewählt wurde). | Signal `+buflist_mouse+`.
@@ -1927,8 +1987,8 @@ Diese Tasten und Aktionen werden im fset-Buffer verwendet (siehe <<script_manage
[width="100%",cols="^.^3,^.^2,.^8,.^5",options="header"]
|===
| Taste | Action ^(1)^ | Beschreibung | Befehl
| kbd:[↑] | | eine Zeile nach oben. | `+/script up+`
| kbd:[↓] | | eine Zeile nach unten. | `+/script down+`
| kbd:[↑] | | eine Zeile nach oben. | `+/script -up+`
| kbd:[↓] | | eine Zeile nach unten. | `+/script -down+`
| kbd:[PgUp] | | eine Seite hoch blättern. | `+/window page_up+`
| kbd:[PgDn] | | eine Seite nach unten blättern. | `+/window page_down+`
| kbd:[Alt+i] | `i` | Skript installieren. | `+/script install+`
@@ -2661,27 +2721,37 @@ und löschen (für die Syntax, siehe Befehl <<command_weechat_key,/key>>).
Der Name eines Ereignisses besteht aus einem Modifier (optional), einer Maustaste/Mausrad
und der Mausgeste (optional). Die unterschiedlichen Elemente werden durch ein `+-+` getrennt.
Liste der Modifiers:
Liste der Modifikatoren (in der Reihenfolge des Ereignisnamens):
[width="100%",cols="1m,4",options="header"]
|===
| Modifier | Beschreibung
| ctrl | Taste kbd:[Ctrl]
| alt | Taste kbd:[Alt]
| ctrl-alt | Taste kbd:[Ctrl] + kbd:[Alt]
| ctrl | Taste kbd:[Ctrl]
| shift | Taste kbd:[Shift] ^(1)^
|===
[NOTE]
^(1)^ Der `shift` Modifikator sollte in WeeChat selten verwendet werden, da es viele Terminals gibt
die diesen Modifikator nutzen, um Mausereignisse direkt abzufangen.
Verschiedene Modifikatoren können kombiniert werden, zum Beispiel:
* `alt-ctrl`
* `ctrl-shift`
* `alt-ctrl-shift`
Liste der Maustasten/Mausrad:
[width="100%",cols="1m,4",options="header"]
|===
| Maustaste/-rad | Beschreibung
| button1 | Linker Mausknopf wird gedrückt
| button2 | Rechter Mausknopf wird gedrückt
| button3 | Mittlerer Mausknopf wird gedrückt (häufig der Druck auf das Mausrad)
| button4 ... button9 | Ein zusätzlicher Mausknopf wird gedrückt
| wheelup | Mausrad wird nach oben gescrollt
| wheeldown | Mausrad wird nach unten gescrollt
| Maustaste/-rad | Beschreibung
| button1 | Linker Mausknopf wird gedrückt
| button2 | Rechter Mausknopf wird gedrückt
| button3 | Mittlerer Mausknopf wird gedrückt (häufig der Druck auf das Mausrad)
| button4 ... button11 | Ein zusätzlicher Mausknopf wird gedrückt
| wheelup | Mausrad wird nach oben gescrollt
| wheeldown | Mausrad wird nach unten gescrollt
|===
Liste der Mausgesten (nur für Maustasten, nicht für das Mausrad, anwendbar):
@@ -2717,7 +2787,7 @@ Bespiele von Ereignissen:
* `button1-event-drag`
* `alt-button2-gesture-down-long`
* `wheelup`
* `ctrl-alt-wheeldown`
* `alt-ctrl-wheeldown`
[TIP]
Wird eine Funktion im "mouse"-Kontext hinzufügt ist es möglich, mehrere
@@ -4539,8 +4609,13 @@ Die Relay-Erweiterung wird genutzt um Daten, mittels unterschiedlicher Protokoll
* _irc_: IRC Proxy: um mittels einem oder mehreren IRC-Clients eine Verbindung zu
IRC Servern zu unterhalten.
* _weechat_: Protokoll, das von Remote-Schnittstellen zur Anzeige und Interaktion verwendet wird
WeeChat, siehe https://weechat.org/about/interfaces/[this page ^↗^^].
* _api_: HTTP REST API, wird von WeeChat und Remote-Schnittstellen zur Anzeige und
Interaktion mit WeeChat verwendet
* _weechat_: von Remote-Schnittstellen verwendetes Protokoll zur Anzeige und Interaktion mit
WeeChat.
Für die _api_ und _weechat_ Protokolle findet man eine Liste der Remote-Schnittstellen auf
https://weechat.org/about/interfaces/[this page ^↗^^].
[[relay_password]]
=== Passwort
@@ -4552,14 +4627,13 @@ Es wird dringend empfohlen, mit diesen Befehlen ein Passwort für das Relay fest
/set relay.network.password "${sec.data.relay}"
----
Dieses Passwort wird sowohl für das _irc_ als auch für das _weechat_ Protokoll
verwendet.
Dieses Passwort wird bei allen Protokollen verwendet.
[[relay_totp]]
=== TOTP
TOTP (Time-based One-Time Passwort) ist eine Zwei-Faktor-Authentifizierung
für das _weechat_ Protokoll, als Ergänzung zum eigentlichen Passwort.
TOTP (Time-based One-Time Password) kann als sekundärer Authentifizierungsfaktor
für die Protokolle _api_ und _weechat_ zusätzlich zum Passwort verwendet werden.
Diese Funktion is optional und erhöht den Sicherheitsgrad.
@@ -4656,6 +4730,38 @@ folgenden Befehlen einrichten:
/set irc.server.relay.password "${sec.data.relay_libera}"
----
[[relay_api_protocol]]
=== API protocol
Die Relay-Erweiterung kann Daten über ein HTTP REST API-Protokoll an einen Remote-WeeChat oder eine Remote-Schnittstelle senden.
Die API kann online durchstöbert und getestet werden:
https://weechat.org/api/[WeeChat Relay API ^↗^^].
Sie können sich mit WeeChat oder einer Remote-Schnittstelle verbinden, siehe
https://weechat.org/about/interfaces/[this page ^↗^^].
Zum Beispiel:
----
/relay add api 9000
----
Jetzt kann man sich über Port 9000 mit einem WeeChat oder einer Remote-Schnittstelle
verbinden, indem das Passwort „mypassword“ verwendet wird.
So stellt man mit WeeChat eine Verbindung zu einem _api_ Relay her:
----
/remote add weechat http://localhost:9000 -password=mypassword
/remote connect weechat
----
[NOTE]
Der Remote-WeeChat muss dieselbe API-Version wie der lokale WeeChat nutzen.
Daher wird dringend empfohlen, auf dem Remote- und dem lokalen Client genau
dieselbe WeeChat-Version zu verwenden.
[[relay_weechat_protocol]]
=== WeeChat Protokoll
@@ -4696,7 +4802,9 @@ websocket = new WebSocket("ws://server.com:9000/weechat");
----
Der Port (im Beispiel: 9000) ist der Port der in der Relay Erweiterung angegeben wurde.
Die URI muss immer auf "/weechat" enden (_irc_ und _weechat_ Protokoll).
Die URI muss mit „/weechat“ für die Protokolle _irc_ und _weechat_ und mit „/api“
für das Protokoll _api_ enden.
[[relay_unix_socket]]
=== UNIX Domain Sockets
@@ -4741,7 +4849,7 @@ Sektionen in Datei _relay.conf_:
| network | /set relay.network.* | Netzwerkoptionen.
| irc | /set relay.irc.* | für das IRC Protokoll spezifische Optionen (IRC Proxy).
| port | <<command_relay_relay,/relay add>> +
/set relay.port.* | Ports zur Nutzung der Relay-Erweiterung (IRC und weechat Protokolle) (Optionen können in Sektion hinzugefügt/entfernt werden).
/set relay.port.* | Ports zur Nutzung der Relay-Erweiterung (Optionen können in Sektion hinzugefügt/entfernt werden).
|===
Optionen:
@@ -5166,7 +5274,9 @@ Zutreffende Gruppen können in _replace_ verwendet werden:
* `+${re:0}+` nach `+${re:99}+`: `+${re:0}+` ist die ganze Trefferanzahl, `+${re:1}+` nach
`+${re:99}+` sind als Gruppen erfasst.
* `+${re:+}+`: das letzte Treffer (mit der höchsten Zahl)
* `pass:[${re:+}]`: das letzte Treffer (mit der höchsten Zahl)
* `+${re:#}+`: index of last group captured
* `+${re:repl_index}+`: index of replacement being done (starts to 1)
* `+${hide:c,${re:N}}+`: Treffer "N" mit allen Zeichen die durch "c" ersetzt wurden
(Beispiele: `+${hide:*,${re:2}}+` ist die Gruppe #2, mit allen Zeichen die durch
`+*+` ersetzt wurden).
@@ -5233,7 +5343,7 @@ Wenn _var_ nicht angegeben ist, wird die Standardvariable verwendet, sie hängt
| signal | tg_signal_data |
| hsignal | |
| modifier | tg_string | tg_string
| line | message | buffer, buffer_name, y, date, date_printed, str_time, tags, notify_level, highlight, prefix, message
| line | message | buffer, buffer_name, y, date, date_usec, date_printed, date_usec_printed, str_time, tags, notify_level, highlight, prefix, message
| print | tg_message |
| command | tg_argv_eol1 |
| command_run | tg_command |
@@ -5318,7 +5428,7 @@ und die Daten in einer Hashtable gesichert:
| server | string | Name des Server (Beispiel: "libera").
| tags | string | Tags in Nachricht (findet selten Verwendung).
| message_without_tags | string | Nachricht ohne Tags.
| nick | string | Nick.
| nick | string | Nick. ^(1)^
| host | string | Hostname.
| command | string | IRC Befehl (Beispiel: "PRIVMSG", "NOTICE", ...).
| channel | string | IRC Channel.
@@ -5330,6 +5440,10 @@ und die Daten in einer Hashtable gesichert:
| pos_text | string | Index von _text_ innerhalb einer Nachricht ("-1" falls _text_ nicht gefunden wird).
|===
[NOTE]
^(1)^ Der Nick, ist der Absender der Nachricht. +
Der eigene Nick für den Server ist `${irc_server.nick}`.
Sofern es sich bei den Daten um einen Pointer handelt, kann die Variable `+tg_signal_data+`
wie im folgenden Beispiel genutzt werden um den Inhalt von hdata zu lesen (im Beispiel
wird der Pointer eines Buffer verwendet):
@@ -5396,7 +5510,9 @@ Der Callback von "line" legt folgende Variablen in der Hashtable an:
| buffer_type | string | Buffertyp ("formatted" oder "free").
| y | string | Zeilennummer bei einem Buffer mit freier Einteilung (≥ 0), -1 für einen Buffer mit formatiertem Inhalt.
| date | string | Datum der Zeile (Zeitstempel).
| date_usec | string | Mikrosekunden des Zeilendatums.
| date_printed | string | Datum wann die Zeile dargestellt wurde (Zeitstempel).
| date_usec_printed | string | Mikrosekunden des Datums, an dem die Zeile angezeigt wurde.
| str_time | string | Datum für Darstellung. Kann Farbkodierungen erhalten.
| tags | string | Tags einer Nachricht (Komma wird automatisch zu Beginn und Ende den Tags hinzugefügt).
| displayed | string | "1" wenn Zeile dargestellt wird, "0" wenn Zeile gefiltert wird.
@@ -5435,7 +5551,7 @@ Der Callback von "print" legt folgende Variablen in der Hashtable an:
|===
| Variable | Typ | Beschreibung
| buffer | pointer | Buffer.
| tg_date | string | Datum/Uhrzeit der Nachricht (Format: `YYYY-MM-DD hh:mm:ss`).
| tg_date | string | Datum/Uhrzeit der Nachricht (Format: `%FT%T.%f`, siehe link:weechat_plugin_api.en.html#_util_strftimeval[WeeChat plugin API reference / util_strftimeval ^↗^^]).
| tg_displayed | string | "1" wenn Nachricht dargestellt wird, "0" falls Nachricht gefiltert wird.
| tg_highlight | string | "1" falls es sich um eine Highlight-Nachricht handelt, andernfalls "0".
| tg_prefix | string | Präfix.
@@ -5500,7 +5616,7 @@ Der Callback von "timer" legt folgende Variablen in der Hashtable an:
|===
| Variable | Typ | Beschreibung
| tg_remaining_calls | string | Anzahl der noch ausstehenden Aufrufe.
| tg_date | string | aktuelles Datum und Uhrzeit (Format: `YYYY-MM-DD hh:mm:ss`).
| tg_date | string | aktuelles Datum und Uhrzeit (Format: `%FT%T.%f`, siehe link:weechat_plugin_api.en.html#_util_strftimeval[WeeChat plugin API reference / util_strftimeval ^↗^^]).
|===
[[trigger_data_config]]
+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 -350
View File
@@ -112,97 +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-sys.c | System functions.
|    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".
|       wee-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.
| 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]]
@@ -210,180 +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-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-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]]
@@ -391,84 +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.
|          test-core-sys.cpp | Tests: system 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-ctcp.cpp | Tests: IRC CTCP.
|             test-irc-ignore.cpp | Tests: IRC ignores.
|             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.
|             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]]
@@ -528,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.
*
@@ -552,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).
@@ -766,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, ...
@@ -774,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
+17
View File
@@ -591,6 +591,23 @@ 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?
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
+160 -42
View File
@@ -30,7 +30,7 @@ Main features are:
https://datatracker.ietf.org/doc/html/rfc2812[2812 ^↗^^],
https://datatracker.ietf.org/doc/html/rfc2813[2813 ^↗^^] and
https://datatracker.ietf.org/doc/html/rfc7194[7194 ^↗^^]
* IRC proxy and relay for remote interfaces
* IRC proxy and relay for WeeChat and remote interfaces
* multi-platform (GNU/Linux, *BSD, macOS, Windows and other)
* 100% GPL, free software
@@ -128,7 +128,8 @@ WeeChat:
| zlib1g-dev |
| Logger plugin: compression of rotated log files (gzip). +
Relay plugin: compression of messages (WeeChat -> client) with https://zlib.net/[zlib ^↗^^] (weechat protocol). +
Relay plugin: compression of messages with https://zlib.net/[zlib ^↗^^]
(api and weechat protocols). +
Script plugin: read of repository index file (gzip).
|===
@@ -154,9 +155,13 @@ WeeChat:
| ca-certificates |
| Certificates for TLS connections.
| libcjson-dev |
| Relay plugin: protocol "api" (HTTP REST API).
| libzstd-dev | ≥ 0.8.1
| Logger plugin: compression of rotated log files (zstandard). +
Relay plugin: compression of messages (WeeChat -> client) with https://facebook.github.io/zstd/[Zstandard ^↗^^] (weechat protocol).
Relay plugin: compression of messages with https://facebook.github.io/zstd/[Zstandard ^↗^^]
(api and weechat protocols).
| libaspell-dev / libenchant-dev |
| Spell plugin.
@@ -273,6 +278,9 @@ List of available options:
| ENABLE_CHARSET | `ON`, `OFF` | ON
| Compile <<charset,Charset plugin>>.
| ENABLE_CJSON | `ON`, `OFF` | ON
| Support of JSON with https://github.com/DaveGamble/cJSON[cJSON ^↗^^] library.
| ENABLE_MAN | `ON`, `OFF` | OFF
| Build man page.
@@ -520,11 +528,11 @@ Copying output to /tmp/crash.txt.
at /some_path/src/core/weechat.c:351
#3 <signal handler called>
#4 0x000000000044cb24 in hook_process_timer_cb (arg_hook_process=0x254eb90,
remaining_calls=<value optimized out>) at /some_path/src/core/wee-hook.c:1364
remaining_calls=<value optimized out>) at /some_path/src/core/core-hook.c:1364
hook_process = 0x254eb90
status = <value optimized out>
#5 0x000000000044cc7d in hook_timer_exec ()
at /some_path/src/core/wee-hook.c:1025
at /some_path/src/core/core-hook.c:1025
tv_time = {tv_sec = 1272693881, tv_usec = 212665}
ptr_hook = 0x2811f40
next_hook = 0x0
@@ -914,11 +922,30 @@ Bar _input_ has following default items:
| Item | Example | Description
| input_prompt | `[@Flashy(i)]` | Input prompt, for irc: nick and modes (mode "+i" means invisible on libera).
| away | `(away)` | Away indicator.
| input_search | `[Search (~ str,msg)]` | Search indicator ("`~`": case insensitive, "`==`": case sensitive, "`str`": search string, "`regex`": search regular expression, "`msg`": search in messages, "`pre`": search in prefixes, "`pre\|msg`": search in prefixes and messages).
| input_search | `[Search lines (~ str,msg)]` | Search indicator (see below)
| input_paste | `[Paste 7 lines ? [ctrl-y] Yes [ctrl-n] No]` | Question to user for pasting lines.
| input_text | `hi peter!` | Input text.
|===
There are two search modes:
* search in lines, for example `[Search lines (~ str,msg)]`, with the following info:
** `~`: case insensitive
** `==`: case sensitive
** `str`: search string
** `regex`: search regular expression
** `msg`: search in messages
** `pre`: search in prefixes
** `pre\|msg`: search in prefixes and messages.
* search in commands history, for example `[Search command (~ str,local)]`,
with the following info:
** `~`: case insensitive
** `==`: case sensitive
** `str`: search string
** `regex`: search regular expression
** `local`: search in buffer local history
** `global`: search in global history.
Bar _nicklist_ has following default items:
[width="100%",cols="^3,^3,9",options="header"]
@@ -1007,6 +1034,11 @@ follow (press kbd:[Ctrl+c] then following letter, with optional value):
| kbd:[Ctrl+c], kbd:[c],
kbd:[xx], kbd:[,],
kbd:[yy] | Text color `xx` and background `yy` (see list of colors below).
| kbd:[Ctrl+c], kbd:[d],
kbd:[xxxxxx] | Text color `xxxxxx` (RGB as hexadecimal, for example `FF0000` for red).
| kbd:[Ctrl+c], kbd:[d],
kbd:[xxxxxx], kbd:[,],
kbd:[yyyyyy] | Text color `xxxxxx` and background `yyyyyy` (RGB as hexadecimal).
| kbd:[Ctrl+c], kbd:[i] | Italic text.
| kbd:[Ctrl+c], kbd:[o] | Disable color and attributes.
| kbd:[Ctrl+c], kbd:[v] | Reverse video (revert text color with background).
@@ -1014,8 +1046,8 @@ follow (press kbd:[Ctrl+c] then following letter, with optional value):
|===
[NOTE]
The same code (without number for kbd:[Ctrl+c], kbd:[c]) can be used to stop the
attribute.
The same code (without number for kbd:[Ctrl+c], kbd:[c] and kbd:[Ctrl+c], kbd:[d])
can be used to stop the attribute.
Color codes for kbd:[Ctrl+c], kbd:[c] are:
@@ -1559,6 +1591,7 @@ They can be changed and new ones can be added with the <<command_weechat_key,/ke
| kbd:[Enter] +
kbd:[Ctrl+j] +
kbd:[Ctrl+m] | Execute command or send message (in search mode: stop search). | `+/input return+`
| kbd:[Ctrl+o] | Execute the command found in history and insert the next one in the command line. | `+/input history_use_get_next+`
| kbd:[Alt+Enter] | Insert a newline. | `+/input insert \n+`
| kbd:[Alt+d] | Delete next word in command line (deleted string is copied to the internal clipboard). | `+/input delete_next_word+`
| kbd:[Alt+k] | Grab a key and insert its code (and command bound if key exists) in command line. | `+/input grab_key_command+`
@@ -1574,6 +1607,7 @@ They can be changed and new ones can be added with the <<command_weechat_key,/ke
| Key | Description | Command
| kbd:[Ctrl+c], kbd:[b] | Insert code for bold text. | `+/input insert \x02+`
| kbd:[Ctrl+c], kbd:[c] | Insert code for colored text. | `+/input insert \x03+`
| kbd:[Ctrl+c], kbd:[d] | Insert code for colored text (RGB color, as hexadecimal). | `+/input insert \x04+`
| kbd:[Ctrl+c], kbd:[i] | Insert code for italic text. | `+/input insert \x1D+`
| kbd:[Ctrl+c], kbd:[o] | Insert code for color reset. | `+/input insert \x0F+`
| kbd:[Ctrl+c], kbd:[v] | Insert code for reverse color. | `+/input insert \x16+`
@@ -1607,8 +1641,8 @@ They can be changed and new ones can be added with the <<command_weechat_key,/ke
[width="100%",cols="^.^3,.^8,.^5",options="header"]
|===
| Key | Description | Command
| kbd:[Ctrl+r] | Search for text in buffer history (see <<key_bindings_search_context,keys for search context>>). | `+/input search_text_here+`
| kbd:[Ctrl+s], kbd:[Ctrl+u] | Set unread marker on all buffers. | `+/allbuf /buffer set unread+`
| kbd:[Ctrl+r] | Search for text in commands history (see <<key_bindings_histsearch_context,keys for context "histsearch">>). | `+/input search_history+`
| kbd:[Ctrl+s] | Search for text in buffer lines (see <<key_bindings_search_context,keys for context "search">>). | `+/input search_text_here+`
| kbd:[Ctrl+x] | Switch current buffer if buffers are merged with same number, for example switch to another IRC server buffer. | `+/buffer switch+`
| kbd:[Alt+x] | Zoom on merged buffer (kbd:[Alt+x] again: display all merged buffers). | `+/buffer zoom+`
| kbd:[PgUp] | Scroll up one page in buffer history. | `+/window page_up+`
@@ -1634,6 +1668,7 @@ They can be changed and new ones can be added with the <<command_weechat_key,/ke
| kbd:[Alt+n] | Scroll to next highlight. | `+/window scroll_next_highlight+`
| kbd:[Alt+p] | Scroll to previous highlight. | `+/window scroll_previous_highlight+`
| kbd:[Alt+u] | Scroll to first unread line in buffer. | `+/window scroll_unread+`
| kbd:[Alt+Shift+U] | Set unread marker on all buffers. | `+/allbuf /buffer set unread+`
| kbd:[Alt+<] | Switch to previous buffer in list of visited buffers. | `+/buffer jump prev_visited+`
| kbd:[Alt+>] | Switch to next buffer in list of visited buffers. | `+/buffer jump next_visited+`
| kbd:[Alt+/] | Switch to last buffer displayed (before last jump to a buffer). | `+/buffer jump last_displayed+`
@@ -1710,23 +1745,48 @@ They can be changed and new ones can be added with the <<command_weechat_key,/ke
[[key_bindings_search_context]]
=== Search context
These keys are used in context "search" (when kbd:[Ctrl+r] is pressed to search
text in buffer).
These keys are used in context "search" (when kbd:[Ctrl+s] is pressed to search
text in buffer lines).
[width="100%",cols="^.^3,.^8,.^5",options="header"]
|===
| Key | Description | Command
| kbd:[Ctrl+r] | Switch search type: string (default), regular expression. | `+/input search_switch_regex+`
| kbd:[Ctrl+x] | Switch search type: string (default), regular expression. | `+/input search_switch_regex+`
| kbd:[Alt+c] | Switch exact case for search. | `+/input search_switch_case+`
| kbd:[Tab] | Switch search in: messages (default), prefixes, prefixes + messages. | `+/input search_switch_where+`
| kbd:[↑] | Search previous line. | `+/input search_previous+`
| kbd:[] | Search next line. | `+/input search_next+`
| kbd:[Ctrl+r] +
kbd:[] | Search previous line. | `+/input search_previous+`
| kbd:[Ctrl+s] +
kbd:[↓] | Search next line. | `+/input search_next+`
| kbd:[Enter] +
kbd:[Ctrl+j] +
kbd:[Ctrl+m] | Stop search at current position. | `+/input search_stop_here+`
| kbd:[Ctrl+q] | Stop search and reset scroll to pre-text search state. | `+/input search_stop+`
|===
[[key_bindings_histsearch_context]]
=== History search context
These keys are used in context "histsearch" (when kbd:[Ctrl+r] is pressed to
search text in commands history).
[width="100%",cols="^.^3,.^8,.^5",options="header"]
|===
| Key | Description | Command
| kbd:[Ctrl+x] | Switch search type: string (default), regular expression. | `+/input search_switch_regex+`
| kbd:[Alt+c] | Switch exact case for search. | `+/input search_switch_case+`
| kbd:[Tab] | Switch search in: buffer local history (default), global history. | `+/input search_switch_where+`
| kbd:[Ctrl+r] +
kbd:[↑] | Search in previous (older) history entries. | `+/input search_previous+`
| kbd:[Ctrl+s] +
kbd:[↓] | Search in next (newer) history entries. | `+/input search_next+`
| kbd:[Enter] +
kbd:[Ctrl+j] +
kbd:[Ctrl+m] | Stop search and use matching input. | `+/input search_stop_here+`
| kbd:[Ctrl+o] | Execute the command found in history and insert the next one in the command line. | `+/input history_use_get_next+`
| kbd:[Ctrl+q] | Stop search and restore input to its initial value. | `+/input search_stop+`
|===
[[key_bindings_cursor_context]]
=== Cursor context
@@ -1793,10 +1853,10 @@ These mouse actions are possible only if mouse is enabled with key kbd:[Alt+m]
| kbd:[▼] | - | chat: /list buffer | Move five lines down in /list buffer. | `+/list -down 5+`
| kbd:[■ □ □] | - | chat: /list buffer | Select line in /list buffer. | `+/window ${_window_number};/list -go ${_chat_line_y}+`
| kbd:[□ □ ■] | - | chat: /list buffer | Join IRC channel on selected line. | `+hsignal:irc_list_mouse+`
| kbd:[▲] | - | chat: script buffer | Move five lines up in script buffer. | `+/script up 5+`
| kbd:[▼] | - | chat: script buffer | Move five lines down in script buffer. | `+/script down 5+`
| kbd:[■ □ □] | - | chat: script buffer | Select line in script buffer. | `+/script go ${_chat_line_y}+`
| kbd:[□ □ ■] | - | chat: script buffer | Install/remove script. | `+/script go ${_chat_line_y};/script installremove -q ${script_name_with_extension}+`
| kbd:[▲] | - | chat: script buffer | Move five lines up in script buffer. | `+/script -up 5+`
| kbd:[▼] | - | chat: script buffer | Move five lines down in script buffer. | `+/script -down 5+`
| kbd:[■ □ □] | - | chat: script buffer | Select line in script buffer. | `+/script -go ${_chat_line_y}+`
| kbd:[□ □ ■] | - | chat: script buffer | Install/remove script. | `+/script -go ${_chat_line_y};/script installremove -q ${script_name_with_extension}+`
| kbd:[■ □ □] | up / left | buflist | Move buffer to a lower number. | Signal `+buflist_mouse+`.
| kbd:[■ □ □] | down / right | buflist | Move buffer to a higher number. | Signal `+buflist_mouse+`.
| kbd:[■ □ □] | - | buflist | Switch to buffer (previously visited buffer if the buffer is the current one). | Signal `+buflist_mouse+`.
@@ -1914,8 +1974,8 @@ These keys and actions are used on the script buffer (see <<script_manager,scrip
[width="100%",cols="^.^3,^.^2,.^8,.^5",options="header"]
|===
| Key | Action ^(1)^ | Description | Command
| kbd:[↑] | | Move one line up. | `+/script up+`
| kbd:[↓] | | Move one line down. | `+/script down+`
| kbd:[↑] | | Move one line up. | `+/script -up+`
| kbd:[↓] | | Move one line down. | `+/script -down+`
| kbd:[PgUp] | | Move one page up. | `+/window page_up+`
| kbd:[PgDn] | | Move one page down. | `+/window page_down+`
| kbd:[Alt+i] | `i` | Install script. | `+/script install+`
@@ -2621,27 +2681,37 @@ You can change or add bindings with the command `/key` using context "mouse"
Event name consists of a modifier (optional), a button/wheel name and a gesture
(optional). Different elements are separated by `+-+`.
List of modifiers:
List of modifiers (by order in the event name):
[width="100%",cols="1m,4",options="header"]
|===
| Modifier | Description
| ctrl | Key kbd:[Ctrl]
| alt | Key kbd:[Alt]
| ctrl-alt | Keys kbd:[Ctrl] + kbd:[Alt]
| ctrl | Key kbd:[Ctrl]
| shift | Key kbd:[Shift] ^(1)^
|===
[NOTE]
^(1)^ The `shift` modifier can rarely be used in WeeChat because many terminals
use this modifier to catch directly mouse events.
Several modifiers can be combined, for example:
* `alt-ctrl`
* `ctrl-shift`
* `alt-ctrl-shift`
List of buttons/wheel:
[width="100%",cols="1m,4",options="header"]
|===
| Button/wheel | Description
| button1 | Click on left button
| button2 | Click on right button
| button3 | Click on middle button (often click on wheel)
| button4 ... button9 | Click on extra buttons
| wheelup | Wheel (up)
| wheeldown | Wheel (down)
| Button/wheel | Description
| button1 | Click on left button
| button2 | Click on right button
| button3 | Click on middle button (often click on wheel)
| button4 ... button11 | Click on extra buttons
| wheelup | Wheel (up)
| wheeldown | Wheel (down)
|===
List of gestures (only for buttons, not wheel):
@@ -2677,7 +2747,7 @@ Example of events:
* `button1-event-drag`
* `alt-button2-gesture-down-long`
* `wheelup`
* `ctrl-alt-wheeldown`
* `alt-ctrl-wheeldown`
* ...
[TIP]
@@ -4459,8 +4529,13 @@ The Relay plugin is used to relay data via network, using different protocols:
* _irc_: IRC proxy: used to share connections to IRC servers with one or many
other IRC clients
* _api_: HTTP REST API, used by WeeChat and remote interfaces to display and
interact with WeeChat
* _weechat_: protocol used by remote interfaces to display and interact with
WeeChat, see https://weechat.org/about/interfaces/[this page ^↗^^].
WeeChat.
For _api_ and _weechat_ protocols, see the list of remote interfaces on
https://weechat.org/about/interfaces/[this page ^↗^^].
[[relay_password]]
=== Password
@@ -4472,13 +4547,13 @@ It is highly recommended to set a password for relay, with these commands:
/set relay.network.password "${sec.data.relay}"
----
This password is used for _irc_ and _weechat_ protocols.
This password is used with all protocols.
[[relay_totp]]
=== TOTP
TOTP (Time-based One-Time Password) can be used as secondary authentication
factor for _weechat_ protocol, in addition to the password.
factor for _api_ and _weechat_ protocols, in addition to the password.
This is optional and increases the security level.
@@ -4570,6 +4645,39 @@ commands:
/set irc.server.relay.password "${sec.data.relay_libera}"
----
[[relay_api_protocol]]
=== API protocol
The Relay plugin can send data to a remote WeeChat or interface using an
HTTP REST API protocol.
You can browse and test the API online:
https://weechat.org/api/[WeeChat Relay API ^↗^^].
You can connect with WeeChat or a remote interface, see
https://weechat.org/about/interfaces/[this page ^↗^^].
For example:
----
/relay add api 9000
----
Now you can connect on port 9000 with a WeeChat or a remote interface using
password "mypassword".
To connect to an _api_ relay with WeeChat:
----
/remote add weechat http://localhost:9000 -password=mypassword
/remote connect weechat
----
[NOTE]
The remote WeeChat must expose the same API version as the local WeeChat, so
it's highly recommended to use exactly the same WeeChat version on remote
and local client.
[[relay_weechat_protocol]]
=== WeeChat protocol
@@ -4609,7 +4717,9 @@ websocket = new WebSocket("ws://server.com:9000/weechat");
----
The port (9000 in example) is the port defined in Relay plugin.
The URI must always end with "/weechat" (for _irc_ and _weechat_ protocols).
The URI must end with "/weechat" for _irc_ and _weechat_ protocols and "/api"
for _api_ protocol.
[[relay_unix_socket]]
=== UNIX domain sockets
@@ -4652,7 +4762,7 @@ Sections in file _relay.conf_:
| network | /set relay.network.* | Network options.
| irc | /set relay.irc.* | Options specific to irc protocol (irc proxy).
| port | <<command_relay_relay,/relay add>> +
/set relay.port.* | Ports used for relay (irc and weechat protocols) (options can be added/removed in section).
/set relay.port.* | Ports used for relay (options can be added/removed in section).
|===
Options:
@@ -5058,7 +5168,9 @@ Matching groups can be used in _replace_:
* `+${re:0}+` to `+${re:99}+`: `+${re:0}+` is the whole match, `+${re:1}+` to
`+${re:99}+` are groups captured
* `+${re:+}+`: the last match (with highest number)
* `pass:[${re:+}]`: the last match (with highest number)
* `+${re:#}+`: index of last group captured
* `+${re:repl_index}+`: index of replacement being done (starts to 1)
* `+${hide:c,${re:N}}+`: match "N" with all chars replaced by "c"
(example: `+${hide:*,${re:2}}+` is the group #2 with all chars replaced by
`+*+`).
@@ -5126,7 +5238,7 @@ type:
| signal | tg_signal_data |
| hsignal | |
| modifier | tg_string | tg_string
| line | message | buffer, buffer_name, y, date, date_printed, str_time, tags, notify_level, highlight, prefix, message
| line | message | buffer, buffer_name, y, date, date_usec, date_printed, date_usec_printed, str_time, tags, notify_level, highlight, prefix, message
| print | tg_message |
| command | tg_argv_eol1 |
| command_run | tg_command |
@@ -5207,7 +5319,7 @@ is added in hashtable:
| server | string | Name of server (example: "libera").
| tags | string | Tags in message (rarely used).
| message_without_tags | string | Message without tags.
| nick | string | Nick.
| nick | string | Nick. ^(1)^
| host | string | Hostname.
| command | string | IRC command (example: "PRIVMSG", "NOTICE", ...).
| channel | string | IRC channel.
@@ -5219,6 +5331,10 @@ is added in hashtable:
| pos_text | string | The index of _text_ in message ("-1" if _text_ was not found).
|===
[NOTE]
^(1)^ The nick is the sender of the message. +
Your own nick on the server is `${irc_server.nick}`.
When the data is a pointer, the variable `+tg_signal_data+` can be used like this
to read a hdata property (in this example this is a pointer on a buffer):
@@ -5285,7 +5401,9 @@ The "line" callback sets following variables in hashtable:
| buffer_type | string | Buffer type ("formatted" or "free").
| y | string | Line number for a buffer with free content (≥ 0), -1 for a buffer with formatted content.
| date | string | Line date (timestamp).
| date_usec | string | Microseconds of line date.
| date_printed | string | Date when line was displayed (timestamp).
| date_usec_printed | string | Microseconds of date when line was displayed.
| str_time | string | Date for display. It may contain color codes.
| tags | string | Tags of message (with comma added at beginning/end of string).
| displayed | string | "1" if displayed, "0" if line filtered.
@@ -5324,7 +5442,7 @@ The "print" callback sets following variables in hashtable:
|===
| Variable | Type | Description
| buffer | pointer | Buffer.
| tg_date | string | Message date/time (format: `YYYY-MM-DD hh:mm:ss`).
| tg_date | string | Message date/time (format: `%FT%T.%f`, see link:weechat_plugin_api.en.html#_util_strftimeval[WeeChat plugin API reference / util_strftimeval ^↗^^]).
| tg_displayed | string | "1" if displayed, "0" if line filtered.
| tg_highlight | string | "1" if highlight, otherwise "0".
| tg_prefix | string | Prefix.
@@ -5389,7 +5507,7 @@ The "timer" callback sets following variables in hashtable:
|===
| Variable | Type | Description
| tg_remaining_calls | string | Number of remaining calls.
| tg_date | string | Current date/time (format: `YYYY-MM-DD hh:mm:ss`).
| tg_date | string | Current date/time (format: `%FT%T.%f`, see link:weechat_plugin_api.en.html#_util_strftimeval[WeeChat plugin API reference / util_strftimeval ^↗^^]).
|===
[[trigger_data_config]]
+18
View File
@@ -607,6 +607,24 @@ 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?
+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 -348
View File
@@ -114,97 +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-sys.c | Fonctions système.
|    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".
|       wee-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.
| 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]]
@@ -212,180 +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-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-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]]
@@ -393,84 +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.
|          test-core-sys.cpp | Tests : fonctions système.
|       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-ctcp.cpp | Tests : CTCP IRC.
|             test-irc-ignore.cpp | Tests : ignores 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.
|             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]]
@@ -530,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.
*
@@ -554,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
@@ -777,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, ...
@@ -786,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
+18
View File
@@ -611,6 +611,24 @@ 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 ?
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
+162 -44
View File
@@ -32,7 +32,7 @@ Ses principales fonctionnalités sont les suivantes :
https://datatracker.ietf.org/doc/html/rfc2812[2812 ^↗^^],
https://datatracker.ietf.org/doc/html/rfc2813[2813 ^↗^^] et
https://datatracker.ietf.org/doc/html/rfc7194[7194 ^↗^^]
* proxy IRC et relai pour interfaces distantes
* proxy IRC et relai pour WeeChat et interfaces distantes
* multi plates-formes (GNU/Linux, *BSD, macOS, Windows et d'autres systèmes)
* 100% GPL, logiciel libre
@@ -128,7 +128,8 @@ Le tableau suivant liste les paquets *requis* pour construire WeeChat :
| zlib1g-dev |
| Extension Logger : compression des fichiers de log qui tournent (gzip). +
Extention Relay : compression des messages (WeeChat -> client) avec https://zlib.net/[zlib ^↗^^] (protocole weechat). +
Extention Relay : compression des messages (WeeChat -> client) avec https://zlib.net/[zlib ^↗^^]
(protocoles api et weechat). +
Extension Script : lecture du fichier d'index du dépôt (gzip).
|===
@@ -153,9 +154,13 @@ Le tableau suivant liste les paquets optionnels pour compiler WeeChat :
| ca-certificates |
| Certificats pour les connexions TLS.
| libcjson-dev |
| Extension Relay : protocole "api" (API REST HTTP).
| libzstd-dev | ≥ 0.8.1
| Extension Logger : compression des fichiers de log qui tournent (zstandard). +
Extension Relay : compression des messages (WeeChat -> client) avec https://facebook.github.io/zstd/[Zstandard ^↗^^] (protocole weechat).
Extension Relay : compression des messages (WeeChat -> client) avec https://facebook.github.io/zstd/[Zstandard ^↗^^]
(protocoles api et weechat).
| libaspell-dev / libenchant-dev |
| Extension spell.
@@ -272,6 +277,9 @@ Liste des options disponibles :
| ENABLE_CHARSET | `ON`, `OFF` | ON
| Compiler <<charset,l'extension Charset>>.
| ENABLE_CJSON | `ON`, `OFF` | ON
| Support du JSON avec la bibliothèque https://github.com/DaveGamble/cJSON[cJSON ^↗^^].
| ENABLE_MAN | `ON`, `OFF` | OFF
| Construire la page man.
@@ -523,11 +531,11 @@ Copying output to /tmp/crash.txt.
at /some_path/src/core/weechat.c:351
#3 <signal handler called>
#4 0x000000000044cb24 in hook_process_timer_cb (arg_hook_process=0x254eb90,
remaining_calls=<value optimized out>) at /some_path/src/core/wee-hook.c:1364
remaining_calls=<value optimized out>) at /some_path/src/core/core-hook.c:1364
hook_process = 0x254eb90
status = <value optimized out>
#5 0x000000000044cc7d in hook_timer_exec ()
at /some_path/src/core/wee-hook.c:1025
at /some_path/src/core/core-hook.c:1025
tv_time = {tv_sec = 1272693881, tv_usec = 212665}
ptr_hook = 0x2811f40
next_hook = 0x0
@@ -928,11 +936,31 @@ La barre _input_ contient les objets (items) suivants par défaut :
| Objet (item) | Exemple | Description
| input_prompt | `[@Flashy(i)]` | Prompt, pour irc : pseudo et modes (le mode "+i" signifie invisible sur libera).
| away | `(absent)` | Indicateur d'absence.
| input_search | `[Recherche (~ str,msg)]` | Indicateur de recherche de texte ("`~`" : insensible à la casse, "`==`" : sensible à la casse, "`str`" : recherche de chaîne, "`regex`" : recherche d'expression régulière, "`msg`" : recherche dans les messages, "`pre`" : recherche dans les préfixes, "`pre\|msg`" : recherche dans les préfixes et messages).
| input_search | `[Recherche lignes (~ str,msg)]` | Indicateur de recherche de texte (voir ci-dessous).
| input_paste | `[Coller 7 lignes ? [ctrl-y] Oui [ctrl-n] Non]` | Question à l'utilisateur pour coller des lignes.
| input_text | `salut peter !` | Texte entré.
|===
Il y a deux modes de recherche :
* recherche dans les lignes, par exemple `[Recherche lignes (~ str,msg)]`,
avec les informations suivantes :
** `~` : insensible à la casse
** `==` : sensible à la casse
** `str` : recherche de chaîne
** `regex` : recherche d'expression régulière
** `msg` : recherche dans les messages
** `pre` : recherche dans les préfixes
** `pre\|msg` : recherche dans les préfixes et messages
* recherche dans l'historique de commandes, par exemple `[Recherche commande (~ str,local)]`,
avec les informations suivantes :
** `~` : insensible à la casse
** `==` : sensible à la casse
** `str` : recherche de chaîne
** `regex` : recherche d'expression régulière
** `local` : recherche dans l'historique local du tampon
** `global` : recherche dans l'historique global.
La barre _nicklist_ contient les objets (items) suivants par défaut :
[width="100%",cols="^3,^3,9",options="header"]
@@ -1022,6 +1050,11 @@ suit et éventuellement une valeur) :
| kbd:[Ctrl+c], kbd:[c],
kbd:[xx], kbd:[,],
kbd:[yy] | Couleur du texte `xx` et du fond `yy` (voir la liste des couleurs ci-dessous).
| kbd:[Ctrl+c], kbd:[d],
kbd:[xxxxxx] | Couleur du texte `xxxxxx` (RGB en hexadécimal, par exemple `FF0000` pour du rouge).
| kbd:[Ctrl+c], kbd:[d],
kbd:[xxxxxx], kbd:[,],
kbd:[yyyyyy] | Couleur du texte `xxxxxx` et du fond `yyyyyy` (RGB en hexadécimal).
| kbd:[Ctrl+c], kbd:[i] | Texte en italique.
| kbd:[Ctrl+c], kbd:[o] | Désactiver la couleur et tous les attributs.
| kbd:[Ctrl+c], kbd:[v] | Vidéo inverse (inversion de la couleur d'écriture et du fond).
@@ -1029,8 +1062,8 @@ suit et éventuellement une valeur) :
|===
[NOTE]
Le même code (sans le numéro pour kbd:[Ctrl+c], kbd:[c]) peut être utilisé pour
stopper l'attribut défini.
Le même code (sans le numéro pour kbd:[Ctrl+c], kbd:[c] et kbd:[Ctrl+c], kbd:[d])
peut être utilisé pour stopper l'attribut défini.
Les codes couleur pour kbd:[Ctrl+c], kbd:[c] sont :
@@ -1609,6 +1642,7 @@ Ils peuvent être modifiés et de nouveaux peuvent être ajoutés avec la comman
| Touche | Description | Commande
| kbd:[Ctrl+c], kbd:[b] | Insérer le code pour mettre le texte en gras. | `+/input insert \x02+`
| kbd:[Ctrl+c], kbd:[c] | Insérer le code pour écrire en couleur. | `+/input insert \x03+`
| kbd:[Ctrl+c], kbd:[d] | Insérer le code pour écrire en couleur (couleur RGB, en hexadécimal). | `+/input insert \x04+`
| kbd:[Ctrl+c], kbd:[i] | Insérer le code pour mettre le texte en italique. | `+/input insert \x1D+`
| kbd:[Ctrl+c], kbd:[o] | Insérer le code pour réinitialiser la couleur. | `+/input insert \x0F+`
| kbd:[Ctrl+c], kbd:[v] | Insérer le code pour écrire en couleur inversée. | `+/input insert \x16+`
@@ -1642,8 +1676,8 @@ Ils peuvent être modifiés et de nouveaux peuvent être ajoutés avec la comman
[width="100%",cols="^.^3,.^8,.^5",options="header"]
|===
| Touche | Description | Commande
| kbd:[Ctrl+r] | Chercher du texte dans l'historique du tampon (voir <<key_bindings_search_context,les touches pour le contexte de recherche>>). | `+/input search_text_here+`
| kbd:[Ctrl+s], kbd:[Ctrl+u] | Positionner le marqueur de données non lues sur tous les tampons. | `+/allbuf /buffer set unread+`
| kbd:[Ctrl+r] | Chercher du texte dans l'historique de commandes (voir <<key_bindings_histsearch_context,les touches pour le contexte "histsearch">>). | `+/input search_history+`
| kbd:[Ctrl+s] | Chercher du texte dans les lignes du tampon (voir <<key_bindings_search_context,les touches pour le contexte "search">>). | `+/input search_text_here+`
| kbd:[Ctrl+x] | Changer de tampon courant si plusieurs tampons sont mélangés avec le même numéro, par exemple basculer vers un autre tampon serveur IRC. | `+/buffer switch+`
| kbd:[Alt+x] | Zoomer sur le tampon mélangé (kbd:[Alt+x] de nouveau : afficher tous les tampons mélangés). | `+/buffer zoom+`
| kbd:[PgUp] | Monter d'une page dans l'historique du tampon. | `+/window page_up+`
@@ -1669,6 +1703,7 @@ Ils peuvent être modifiés et de nouveaux peuvent être ajoutés avec la comman
| kbd:[Alt+n] | Se positionner sur le highlight suivant. | `+/window scroll_next_highlight+`
| kbd:[Alt+p] | Se positionner sur le highlight précédent. | `+/window scroll_previous_highlight+`
| kbd:[Alt+u] | Se positionner sur la première ligne non lue du tampon. | `+/window scroll_unread+`
| kbd:[Alt+Shift+U] | Positionner le marqueur de données non lues sur tous les tampons. | `+/allbuf /buffer set unread+`
| kbd:[Alt+<] | Sauter au tampon précédent dans la liste des tampons visités. | `+/buffer jump prev_visited+`
| kbd:[Alt+>] | Sauter au tampon suivant dans la liste des tampons visités. | `+/buffer jump next_visited+`
| kbd:[Alt+/] | Sauter au dernier tampon affiché (avant le dernier saut vers un tampon). | `+/buffer jump last_displayed+`
@@ -1745,23 +1780,48 @@ Ils peuvent être modifiés et de nouveaux peuvent être ajoutés avec la comman
[[key_bindings_search_context]]
=== Contexte de recherche
Ces touches sont utilisées dans le contexte "search" (lorsque kbd:[Ctrl+r] est
pressé pour chercher du texte dans le tampon).
Ces touches sont utilisées dans le contexte "search" (lorsque kbd:[Ctrl+s] est
pressé pour chercher du texte dans les lignes du tampon).
[width="100%",cols="^.^3,.^8,.^5",options="header"]
|===
| Touche | Description | Commande
| kbd:[Ctrl+r] | Basculer le type de recherche : chaîne (par défaut), expression régulière. | `+/input search_switch_regex+`
| kbd:[Ctrl+x] | Basculer le type de recherche : chaîne (par défaut), expression régulière. | `+/input search_switch_regex+`
| kbd:[Alt+c] | Basculer la casse exacte pour la recherche. | `+/input search_switch_case+`
| kbd:[Tab] | Basculer la recherche dans : les messages (par défaut), les préfixes, les préfixes + messages. | `+/input search_switch_where+`
| kbd:[↑] | Chercher la ligne précédente. | `+/input search_previous+`
| kbd:[] | Chercher la ligne suivante. | `+/input search_next+`
| kbd:[Ctrl+r] +
kbd:[] | Chercher la ligne précédente. | `+/input search_previous+`
| kbd:[Ctrl+s] +
kbd:[↓] | Chercher la ligne suivante. | `+/input search_next+`
| kbd:[Enter] +
kbd:[Ctrl+j] +
kbd:[Ctrl+m] | Arrêter la recherche à la position courante. | `+/input search_stop_here+`
| kbd:[Ctrl+q] | Arrêter la recherche et réinitialiser le défilement à l'état antérieur à la recherche de texte. | `+/input search_stop+`
|===
[[key_bindings_histsearch_context]]
=== Contexte de recherche dans l'historique
Ces touches sont utilisées dans le contexte "histsearch" (lorsque kbd:[Ctrl+r]
est pressé pour chercher du texte dans l'historique des commandes).
[width="100%",cols="^.^3,.^8,.^5",options="header"]
|===
| Touche | Description | Commande
| kbd:[Ctrl+x] | Basculer le type de recherche : chaîne (par défaut), expression régulière. | `+/input search_switch_regex+`
| kbd:[Alt+c] | Basculer la casse exacte pour la recherche. | `+/input search_switch_case+`
| kbd:[Tab] | Basculer la recherche dans : l'historique local du tampon (par défaut), l'historique global. | `+/input search_switch_where+`
| kbd:[Ctrl+r] +
kbd:[↑] | Chercher dans les entrées précédentes (plus anciennes) de l'historique. | `+/input search_previous+`
| kbd:[Ctrl+s] +
kbd:[↓] | Chercher dans les entrées suivantes (plus récentes) de l'historique. | `+/input search_next+`
| kbd:[Enter] +
kbd:[Ctrl+j] +
kbd:[Ctrl+m] | Arrêter la recherche et utiliser la commande trouvée. | `+/input search_stop_here+`
| kbd:[Ctrl+o] | Exécuter la commande trouvée dans l'historique et insérer la suivante sur la ligne de commande. | `+/input history_use_get_next+`
| kbd:[Ctrl+q] | Arrêter la recherche et restaurer la ligne de commande à sa valeur initiale. | `+/input search_stop+`
|===
[[key_bindings_cursor_context]]
=== Contexte curseur
@@ -1828,10 +1888,10 @@ avec la touche kbd:[Alt+m] (commande : `+/mouse toggle+`).
| kbd:[▼] | - | chat : tampon /list | Descendre de cinq lignes dans le tampon /list. | `+/list -down 5+`
| kbd:[■ □ □] | - | chat : tampon /list | Sélectionner la ligne dans le tampon /list. | `+/window ${_window_number};/list -go ${_chat_line_y}+`
| kbd:[□ □ ■] | - | chat : tampon /list | Rejoindre le canal IRC sur la ligne sélectionnée. | `+hsignal:irc_list_mouse+`
| kbd:[▲] | - | chat : tampon script | Monter de 5 lignes dans le tampon script. | `+/script up 5+`
| kbd:[▼] | - | chat : tampon script | Descendre de 5 lignes dans le tampon script. | `+/script down 5+`
| kbd:[■ □ □] | - | chat : tampon script | Sélectionner la ligne dans le tampon script. | `+/script go ${_chat_line_y}+`
| kbd:[□ □ ■] | - | chat : tampon script | Installer/supprimer un script. | `+/script go ${_chat_line_y};/script installremove -q ${script_name_with_extension}+`
| kbd:[▲] | - | chat : tampon script | Monter de 5 lignes dans le tampon script. | `+/script -up 5+`
| kbd:[▼] | - | chat : tampon script | Descendre de 5 lignes dans le tampon script. | `+/script -down 5+`
| kbd:[■ □ □] | - | chat : tampon script | Sélectionner la ligne dans le tampon script. | `+/script -go ${_chat_line_y}+`
| kbd:[□ □ ■] | - | chat : tampon script | Installer/supprimer un script. | `+/script -go ${_chat_line_y};/script installremove -q ${script_name_with_extension}+`
| kbd:[■ □ □] | haut / gauche | buflist | Déplacer le tampon vers un numéro inférieur. | Signal `+buflist_mouse+`.
| kbd:[■ □ □] | bas / droit | buflist | Déplacer le tampon vers un numéro supérieur. | Signal `+buflist_mouse+`.
| kbd:[■ □ □] | - | buflist | Aller au tampon (tampon précédent dans la liste des tampons visités si le tampon est le courant). | Signal `+buflist_mouse+`.
@@ -1952,8 +2012,8 @@ Ces touches et actions sont utilisées sur le tampon script
[width="100%",cols="^.^3,^.^2,.^8,.^5",options="header"]
|===
| Touche | Action ^(1)^ | Description | Commande
| kbd:[↑] | | Monter d'une ligne. | `+/script up+`
| kbd:[↓] | | Descendre d'une ligne. | `+/script down+`
| kbd:[↑] | | Monter d'une ligne. | `+/script -up+`
| kbd:[↓] | | Descendre d'une ligne. | `+/script -down+`
| kbd:[PgUp] | | Monter d'une page. | `+/window page_up+`
| kbd:[PgDn] | | Descendre d'une page. | `+/window page_down+`
| kbd:[Alt+i] | `i` | Installer le script. | `+/script install+`
@@ -2685,27 +2745,38 @@ utilisant le contexte "mouse" (pour la syntaxe voir la commande
Un nom d'évènement consiste en un modificateur (facultatif), un bouton/roulette
et un geste (facultatif). Les différents éléments sont séparés par `+-+`.
Liste des modificateurs :
Liste des modificateurs (par ordre dans le nom de l'évènement) :
[width="100%",cols="1m,4",options="header"]
|===
| Modificateur | Description
| ctrl | Touche kbd:[Ctrl]
| alt | Touche kbd:[Alt]
| ctrl-alt | Touches kbd:[Ctrl] + kbd:[Alt]
| ctrl | Touche kbd:[Ctrl]
| shift | Touche kbd:[Shift] ^(1)^
|===
[NOTE]
^(1)^ Le modificateur `shift` peut rarement être utilisé dans WeeChat car
beaucoup de terminaux utilisent ce modificateur pour attraper directement les
évènements souris.
Plusieurs modificateurs peuvent être combinés, par exemple :
* `alt-ctrl`
* `ctrl-shift`
* `alt-ctrl-shift`
Liste des boutons/roulette :
[width="100%",cols="1m,4",options="header"]
|===
| Bouton/roulette | Description
| button1 | Clic sur le bouton gauche
| button2 | Clic sur le bouton droit
| button3 | Clic sur le bouton du milieu (souvent clic sur la roulette)
| button4 ... button9 | Clic sur un bouton additionnel
| wheelup | Roulette (haut)
| wheeldown | Roulette (bas)
| Bouton/roulette | Description
| button1 | Clic sur le bouton gauche
| button2 | Clic sur le bouton droit
| button3 | Clic sur le bouton du milieu (souvent clic sur la roulette)
| button4 ... button11 | Clic sur un bouton additionnel
| wheelup | Roulette (haut)
| wheeldown | Roulette (bas)
|===
Liste des gestes (seulement pour les boutons, pas la roulette) :
@@ -2742,7 +2813,7 @@ Exemples d'évènements :
* `button1-event-drag`
* `alt-button2-gesture-down-long`
* `wheelup`
* `ctrl-alt-wheeldown`
* `alt-ctrl-wheeldown`
* ...
[TIP]
@@ -4589,8 +4660,13 @@ utilisant divers protocoles :
* _irc_ : proxy IRC : utilisé pour partager la connexions aux serveurs IRC avec
un ou plusieurs autres clients IRC
* _api_ : API REST HTTP, utilisée par WeeChat et les interfaces distantes pour
afficher et interagir avec WeeChat
* _weechat_ : protocole utilisé par les interfaces distantes pour afficher et
interagir avec WeeChat, voir https://weechat.org/about/interfaces/[cette page ^↗^^].
interagir avec WeeChat.
Pour les protocoles _api_ et _weechat_, voir la liste des interfaces distantes
sur https://weechat.org/about/interfaces/[cette page ^↗^^].
[[relay_password]]
=== Mot de passe
@@ -4603,14 +4679,14 @@ commandes :
/set relay.network.password "${sec.data.relay}"
----
Ce mot de passe sera utilisé pour les protocoles _irc_ et _weechat_.
Ce mot de passe est utilisé avec tous les protocoles.
[[relay_totp]]
=== TOTP
TOTP (« Time-based One-Time Password » : mot de passe à usage unique basé sur le
temps) peut être utilisé comme second facteur d'authentification pour le protocole
_weechat_, en plus du mot de passe.
temps) peut être utilisé comme second facteur d'authentification pour les
protocoles _api_ et _weechat_, en plus du mot de passe.
Il est optionnel et augmente le niveau de sécurité.
@@ -4707,6 +4783,39 @@ avec ces commandes :
/set irc.server.relay.password "${sec.data.relay_libera}"
----
[[relay_api_protocol]]
=== API protocol
L'extension Relay peut envoyer les données à un autre WeeChat ou une interface
distante avec un protocol HTTP de type API REST.
Vous pouvez parcourir et tester l'API en ligne :
https://weechat.org/api/[API Relay WeeChat ^↗^^].
Vous pouvez vous connecter avec WeeChat ou une interface distante, voir
https://weechat.org/about/interfaces/[cette page ^↗^^].
Par exemple :
----
/relay add api 9000
----
Maintenant vous pouvez vous connecter sur le port 9000 avec une interface
distante en utilisant le mot de passe "motdepasse".
Pour vous connecter à un relai _api_ avec WeeChat :
----
/remote add weechat http://localhost:9000 -password=motdepasse
/remote connect weechat
----
[NOTE]
Le WeeChat distant doit exposer exactement la même version d'API que le WeeChat
local, il est donc fortement recommandé d'utiliser exactement la même version
de WeeChat de chaque côté.
[[relay_weechat_protocol]]
=== Protocole WeeChat
@@ -4750,8 +4859,9 @@ websocket = new WebSocket("ws://server.com:9000/weechat");
----
Le port (9000 dans l'exemple) est le port défini dans l'extension Relay.
L'URI doit toujours se terminer par "/weechat" (pour les protocoles _irc_ et
_weechat_).
L'URI doit se terminer par "/weechat" pour les protocoles _irc_ et _weechat_ et
"/api" pour le protocole _api_.
[[relay_unix_socket]]
=== UNIX domain sockets
@@ -4796,7 +4906,7 @@ Sections dans le fichier _relay.conf_ :
| network | /set relay.network.* | Options réseau.
| irc | /set relay.irc.* | Options spécifiques au protocole irc (proxy irc).
| port | <<command_relay_relay,/relay add>> +
/set relay.port.* | Ports utilisés pour le relai (protocoles irc et weechat) (les options peuvent être ajoutées/supprimées dans la section).
/set relay.port.* | Ports utilisés pour le relai (les options peuvent être ajoutées/supprimées dans la section).
|===
Options :
@@ -5213,7 +5323,9 @@ Les groupes de correspondance peuvent être utilisés dans le _remplacement_ :
* `+${re:0}+` à `+${re:99}+` : `+${re:0}+` est la correspondance complète, `+${re:1}+`
à `+${re:99}+` sont les groupes capturés
* `+${re:+}+` : la dernière correspondance (avec le numéro le plus élevé)
* `pass:[${re:+}]` : la dernière correspondance (avec le numéro le plus élevé)
* `+${re:#}+` : index du dernier groupe capturé
* `+${re:repl_index}+` : index du remplacement en cours (démarre à 1)
* `+${hide:c,${re:N}}+` : la correspondance "N" avec tous les caractères
remplacés par "c" (exemple : `+${hide:*,${re:2}}+` est le groupe n°2 avec tous
les caractères remplacés par `+*+`).
@@ -5282,7 +5394,7 @@ du type de hook :
| signal | tg_signal_data |
| hsignal | |
| modifier | tg_string | tg_string
| line | message | buffer, buffer_name, y, date, date_printed, str_time, tags, notify_level, highlight, prefix, message
| line | message | buffer, buffer_name, y, date, date_usec, date_printed, date_usec_printed, str_time, tags, notify_level, highlight, prefix, message
| print | tg_message |
| command | tg_argv_eol1 |
| command_run | tg_command |
@@ -5369,7 +5481,7 @@ suivantes sont ajoutées dans la table de hachage :
| server | chaîne | Nom du serveur (exemple : "libera").
| tags | chaîne | Étiquettes dans le message (rarement utilisées).
| message_without_tags | chaîne | Message sans les étiquettes.
| nick | chaîne | Pseudo.
| nick | chaîne | Pseudo. ^(1)^
| host | chaîne | Nom d'hôte.
| command | chaîne | Commande IRC (exemple : "PRIVMSG", "NOTICE", ...).
| channel | chaîne | Canal IRC.
@@ -5381,6 +5493,10 @@ suivantes sont ajoutées dans la table de hachage :
| pos_text | chaîne | L'index de _text_ dans le message ("-1" si _text_ n'a pas été trouvé).
|===
[NOTE]
^(1)^ Le pseudo est l'expéditeur du message. +
Votre propre pseudo sur le serveur est `${irc_server.nick}`.
Lorsque la donnée est un pointeur, la variable `+tg_signal_data+` peut être
utilisée comme ceci pour lire une propriété hdata (dans cet exemple il s'agit
d'un pointeur sur un tampon) :
@@ -5453,7 +5569,9 @@ de hachage :
| buffer_type | chaîne | Type de tampon ("formatted" ou "free").
| y | chaîne | Numéro de ligne pour un tampon avec contenu libre (≥ 0), -1 pour un tampon avec contenu formaté.
| date | chaîne | Date de la ligne (horodatage).
| date_usec | chaîne | Microsecondes de la date de la ligne.
| date_printed | chaîne | Date d'affichage de la ligne (horodatage).
| date_usec_printed | chaîne | Microsecondes de la date d'affichage de la ligne.
| str_time | chaîne | Date pour l'affichage. Elle peut contenir des codes couleur.
| tags | chaîne | Étiquettes du message (avec une virgule en début/fin de chaîne).
| displayed | chaîne | "1" si affichée, "0" si la ligne est filtrée.
@@ -5494,7 +5612,7 @@ hachage :
|===
| Variable | Type | Description
| buffer | pointeur | Tampon.
| tg_date | chaîne | Date/heure du message (format : `YYYY-MM-DD hh:mm:ss`).
| tg_date | chaîne | Date/heure du message (format : `%FT%T.%f`, voir la link:weechat_plugin_api.fr.html#_util_strftimeval[Référence API extension WeeChat / util_strftimeval ^↗^^]).
| tg_displayed | chaîne | "1" si affiché, "0" si ligne filtrée.
| tg_highlight | chaîne | "1" si highlight, sinon "0".
| tg_prefix | chaîne | Préfixe.
@@ -5563,7 +5681,7 @@ hachage :
|===
| Variable | Type | Description
| tg_remaining_calls | chaîne | Nombre d'appels restants.
| tg_date | chaîne | Date/heure courante (format : `YYYY-MM-DD hh:mm:ss`).
| tg_date | chaîne | Date/heure courante (format : `%FT%T.%f`, voir la link:weechat_plugin_api.fr.html#_util_strftimeval[Référence API extension WeeChat / util_strftimeval ^↗^^]).
|===
[[trigger_data_config]]
+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
+18
View File
@@ -653,6 +653,24 @@ 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?
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
+192 -42
View File
@@ -40,7 +40,7 @@ Le principali caratteristiche:
https://datatracker.ietf.org/doc/html/rfc2813[2813 ^↗^^] e
https://datatracker.ietf.org/doc/html/rfc7194[7194 ^↗^^]
// TRANSLATION MISSING
* IRC proxy and relay for remote interfaces
* IRC proxy and relay for WeeChat and remote interfaces
* multi-piattaforma (GNU/Linux, *BSD, macOS, Windows ed altre)
* 100% GPL, software libero
@@ -157,7 +157,8 @@ WeeChat:
// TRANSLATION MISSING
| zlib1g-dev |
| Logger plugin: compression of rotated log files (gzip). +
Relay plugin: compression of messages (WeeChat -> client) with https://zlib.net/[zlib ^↗^^] (weechat protocol). +
Relay plugin: compression of messages (WeeChat -> client) with https://zlib.net/[zlib ^↗^^]
(api and weechat protocols). +
Script plugin: read of repository index file (gzip).
|===
@@ -188,10 +189,15 @@ WeeChat:
| ca-certificates |
| Certificati per le connessioni TLS.
// TRANSLATION MISSING
| libcjson-dev |
| Relay plugin: protocol "api" (HTTP REST API).
// TRANSLATION MISSING
| libzstd-dev | ≥ 0.8.1
| Logger plugin: compression of rotated log files (zstandard). +
Relay plugin: compression of messages (WeeChat -> client) with https://facebook.github.io/zstd/[Zstandard ^↗^^] (weechat protocol).
Relay plugin: compression of messages (WeeChat -> client) with https://facebook.github.io/zstd/[Zstandard ^↗^^]
(api and weechat protocols).
| libaspell-dev / libenchant-dev |
| Plugin spell.
@@ -320,6 +326,10 @@ List of available options:
| ENABLE_CHARSET | `ON`, `OFF` | ON
| Compile <<charset,Charset plugin>>.
// TRANSLATION MISSING
| ENABLE_CJSON | `ON`, `OFF` | ON
| Support of JSON with https://github.com/DaveGamble/cJSON[cJSON ^↗^^] library.
| ENABLE_MAN | `ON`, `OFF` | OFF
| Build man page.
@@ -582,11 +592,11 @@ Copying output to /tmp/crash.txt.
at /some_path/src/core/weechat.c:351
#3 <signal handler called>
#4 0x000000000044cb24 in hook_process_timer_cb (arg_hook_process=0x254eb90,
remaining_calls=<value optimized out>) at /some_path/src/core/wee-hook.c:1364
remaining_calls=<value optimized out>) at /some_path/src/core/core-hook.c:1364
hook_process = 0x254eb90
status = <value optimized out>
#5 0x000000000044cc7d in hook_timer_exec ()
at /some_path/src/core/wee-hook.c:1025
at /some_path/src/core/core-hook.c:1025
tv_time = {tv_sec = 1272693881, tv_usec = 212665}
ptr_hook = 0x2811f40
next_hook = 0x0
@@ -1003,11 +1013,33 @@ La barra _input_ ha i seguenti elementi predefiniti:
| input_prompt | `[@Flashy(i)]` | Prompt per l'input, for irc: nick and modes (mode "+i" means invisible on libera).
| away | `(assente)` | Indicatore di assenza.
// TRANSLATION MISSING
| input_search | `[Search (~ str,msg)]` | Search indicator ("`~`": case insensitive, "`==`": case sensitive, "`str`": search string, "`regex`": search regular expression, "`msg`": search in messages, "`pre`": search in prefixes, "`pre\|msg`": search in prefixes and messages).
| input_search | `[Search lines (~ str,msg)]` | Search indicator (see below).
| input_paste | `[Incollare 7 righe ? [ctrl-y] Sì [ctrl-n] No]` | Chiede all'utente se incollare le righe.
| input_text | `ciao peter!` | Testo in input.
|===
// TRANSLATION MISSING
There are two search modes:
// TRANSLATION MISSING
* search in lines, for example `[Search lines (~ str,msg)]`, with the following info:
** `~`: case insensitive
** `==`: case sensitive
** `str`: search string
** `regex`: search regular expression
** `msg`: search in messages
** `pre`: search in prefixes
** `pre\|msg`: search in prefixes and messages.
* search in commands history, for example `[Search command (~ str,local)]`,
with the following info:
** `~`: case insensitive
** `==`: case sensitive
** `str`: search string
** `regex`: search regular expression
** `local`: search in buffer local history
** `global`: search in global history.
La barra _nicklist_ ha i seguenti elementi predefiniti:
[width="100%",cols="^3,^3,9",options="header"]
@@ -1106,6 +1138,13 @@ opzionale):
kbd:[xx], kbd:[,],
kbd:[yy] | colore del testo `xx` e di sfondo `yy` (consultare la lista di colori che segue).
// TRANSLATION MISSING
| kbd:[Ctrl+c], kbd:[d],
kbd:[xxxxxx] | Text color `xxxxxx` (RGB as hexadecimal, for example `FF0000` for red).
// TRANSLATION MISSING
| kbd:[Ctrl+c], kbd:[d],
kbd:[xxxxxx], kbd:[,],
kbd:[yyyyyy] | Text color `xxxxxx` and background `yyyyyy` (RGB as hexadecimal).
// TRANSLATION MISSING
| kbd:[Ctrl+c], kbd:[i] | italic text.
| kbd:[Ctrl+c], kbd:[o] | disabilita colori ed attributi.
| kbd:[Ctrl+c], kbd:[v] | video inverso (inverte il colore del testo con quello di sfondo).
@@ -1113,8 +1152,9 @@ opzionale):
|===
[NOTE]
Lo stesso codice (senza numero per kbd:[Ctrl+c], kbd:[c]) può essere usato per
terminare l'attributo.
// TRANSLATION MISSING
The same code (without number for kbd:[Ctrl+c], kbd:[c] and kbd:[Ctrl+c], kbd:[d])
can be used to stop the attribute.
I codici colore per kbd:[Ctrl+c], kbd:[c] sono:
@@ -1720,6 +1760,8 @@ They can be changed and new ones can be added with the <<command_weechat_key,/ke
| Tasti | Descrizione | Comando
| kbd:[Ctrl+c], kbd:[b] | Inserisce il codice per il testo in grassetto. | `+/input insert \x02+`
| kbd:[Ctrl+c], kbd:[c] | Inserisce il codice per il testo colorato. | `+/input insert \x03+`
// TRANSLATION MISSING
| kbd:[Ctrl+c], kbd:[d] | Insert code for colored text (RGB color, as hexadecimal). | `+/input insert \x04+`
| kbd:[Ctrl+c], kbd:[i] | Inserisce il codice per il testo in corsivo. | `+/input insert \x1D+`
| kbd:[Ctrl+c], kbd:[o] | Inserisce il codice per il reset dei colori. | `+/input insert \x0F+`
| kbd:[Ctrl+c], kbd:[v] | Inserisce il codice per l'inversione dei colori. | `+/input insert \x16+`
@@ -1756,8 +1798,10 @@ They can be changed and new ones can be added with the <<command_weechat_key,/ke
[width="100%",cols="^.^3,.^8,.^5",options="header"]
|===
| Tasti | Descrizione | Comando
| kbd:[Ctrl+r] | Cerca del testo nella cronologia del buffer (consultare <<key_bindings_search_context,tasti per il contesto search>>). | `+/input search_text_here+`
| kbd:[Ctrl+s], kbd:[Ctrl+u] | Imposta l'evidenziatore dei messaggi non letti su tutti i buffer. | `+/allbuf /buffer set unread+`
// TRANSLATION MISSING
| kbd:[Ctrl+r] | Search for text in commands history (see <<key_bindings_histsearch_context,keys for context "histsearch">>). | `+/input search_history+`
// TRANSLATION MISSING
| kbd:[Ctrl+s] | Search for text in buffer lines (see <<key_bindings_search_context,keys for context "search">>). | `+/input search_text_here+`
// TRANSLATION MISSING
| kbd:[Ctrl+x] | Switch current buffer if buffers are merged with same number, for example switch to another IRC server buffer. | `+/buffer switch+`
// TRANSLATION MISSING
@@ -1786,6 +1830,7 @@ They can be changed and new ones can be added with the <<command_weechat_key,/ke
| kbd:[Alt+n] | Scorre fino alla notifica successiva. | `+/window scroll_next_highlight+`
| kbd:[Alt+p] | Scorre fino alla notifica precedente. | `+/window scroll_previous_highlight+`
| kbd:[Alt+u] | Scorre fino alla prima riga non letta nel buffer. | `+/window scroll_unread+`
| kbd:[Alt+Shift+U] | Imposta l'evidenziatore dei messaggi non letti su tutti i buffer. | `+/allbuf /buffer set unread+`
| kbd:[Alt+<] | Passa al buffer precedente nella lista dei buffer visitati. | `+/buffer jump prev_visited+`
| kbd:[Alt+>] | Passa al buffer successivo nella lista dei buffer visitati. | `+/buffer jump next_visited+`
| kbd:[Alt+/] | Passa all'ultimo buffer mostrato (prima dell'ultimo passaggio ad un buffer). | `+/buffer jump last_displayed+`
@@ -1878,19 +1923,22 @@ They can be changed and new ones can be added with the <<command_weechat_key,/ke
[[key_bindings_search_context]]
=== Search context
Questi tasti sono usati nel contesto "search" (quando viene digitato
kbd:[Ctrl+r] per cercare del testo nel buffer).
// TRANSLATION MISSING
These keys are used in context "search" (when kbd:[Ctrl+s] is pressed to search
text in buffer lines).
[width="100%",cols="^.^3,.^8,.^5",options="header"]
|===
| Tasti | Descrizione | Comando
// TRANSLATION MISSING
| kbd:[Ctrl+r] | Switch search type: string (default), regular expression. | `+/input search_switch_regex+`
| kbd:[Ctrl+x] | Switch search type: string (default), regular expression. | `+/input search_switch_regex+`
| kbd:[Alt+c] | Passa alla ricerca esatta. | `+/input search_switch_case+`
// TRANSLATION MISSING
| kbd:[Tab] | Switch search in: messages (default), prefixes, prefixes + messages. | `+/input search_switch_where+`
| kbd:[↑] | Cerca riga precedente. | `+/input search_previous+`
| kbd:[] | Cerca riga successiva. | `+/input search_next+`
| kbd:[Ctrl+r] +
kbd:[] | Cerca riga precedente. | `+/input search_previous+`
| kbd:[Ctrl+s] +
kbd:[↓] | Cerca riga successiva. | `+/input search_next+`
// TRANSLATION MISSING
| kbd:[Enter] +
kbd:[Ctrl+j] +
@@ -1899,6 +1947,39 @@ kbd:[Ctrl+r] per cercare del testo nel buffer).
| kbd:[Ctrl+q] | Stop search and reset scroll to pre-text search state. | `+/input search_stop+`
|===
// TRANSLATION MISSING
[[key_bindings_histsearch_context]]
=== History search context
// TRANSLATION MISSING
These keys are used in context "histsearch" (when kbd:[Ctrl+r] is pressed to
search text in commands history).
[width="100%",cols="^.^3,.^8,.^5",options="header"]
|===
| Tasti | Descrizione | Comando
// TRANSLATION MISSING
| kbd:[Ctrl+x] | Switch search type: string (default), regular expression. | `+/input search_switch_regex+`
// TRANSLATION MISSING
| kbd:[Alt+c] | Switch exact case for search. | `+/input search_switch_case+`
// TRANSLATION MISSING
| kbd:[Tab] | Switch search in: buffer local history (default), global history. | `+/input search_switch_where+`
// TRANSLATION MISSING
| kbd:[Ctrl+r] +
kbd:[↑] | Search in previous (older) history entries. | `+/input search_previous+`
// TRANSLATION MISSING
| kbd:[Ctrl+s] +
kbd:[↓] | Search in next (newer) history entries. | `+/input search_next+`
// TRANSLATION MISSING
| kbd:[Enter] +
kbd:[Ctrl+j] +
kbd:[Ctrl+m] | Stop search and use matching input. | `+/input search_stop_here+`
// TRANSLATION MISSING
| kbd:[Ctrl+o] | Execute the command found in history and insert the next one in the command line. | `+/input history_use_get_next+`
// TRANSLATION MISSING
| kbd:[Ctrl+q] | Stop search and restore input to its initial value. | `+/input search_stop+`
|===
// TRANSLATION MISSING
[[key_bindings_cursor_context]]
=== Cursor context
@@ -1990,13 +2071,13 @@ These mouse actions are possible only if mouse is enabled with key kbd:[Alt+m]
// TRANSLATION MISSING
| kbd:[□ □ ■] | - | chat: /list buffer | Join IRC channel on selected line. | `+hsignal:irc_list_mouse+`
// TRANSLATION MISSING
| kbd:[▲] | - | chat: script buffer | Move 5 lines up in script buffer. | `+/script up 5+`
| kbd:[▲] | - | chat: script buffer | Move 5 lines up in script buffer. | `+/script -up 5+`
// TRANSLATION MISSING
| kbd:[▼] | - | chat: script buffer | Move 5 lines down in script buffer. | `+/script down 5+`
| kbd:[▼] | - | chat: script buffer | Move 5 lines down in script buffer. | `+/script -down 5+`
// TRANSLATION MISSING
| kbd:[■ □ □] | - | chat: script buffer | Select line in script buffer. | `+/script go ${_chat_line_y}+`
| kbd:[■ □ □] | - | chat: script buffer | Select line in script buffer. | `+/script -go ${_chat_line_y}+`
// TRANSLATION MISSING
| kbd:[□ □ ■] | - | chat: script buffer | Install/remove script. | `+/script go ${_chat_line_y};/script installremove -q ${script_name_with_extension}+`
| kbd:[□ □ ■] | - | chat: script buffer | Install/remove script. | `+/script -go ${_chat_line_y};/script installremove -q ${script_name_with_extension}+`
// TRANSLATION MISSING
| kbd:[■ □ □] | up / left | buflist | Move buffer to a lower number. | Signal `+buflist_mouse+`.
// TRANSLATION MISSING
@@ -2129,8 +2210,8 @@ These keys and actions are used on the script buffer (see <<script_manager,scrip
[width="100%",cols="^.^3,^.^2,.^8,.^5",options="header"]
|===
| Key | Action ^(1)^ | Description | Command
| kbd:[↑] | | Move one line up. | `+/script up+`
| kbd:[↓] | | Move one line down. | `+/script down+`
| kbd:[↑] | | Move one line up. | `+/script -up+`
| kbd:[↓] | | Move one line down. | `+/script -down+`
| kbd:[PgUp] | | Move one page up. | `+/window page_up+`
| kbd:[PgDn] | | Move one page down. | `+/window page_down+`
| kbd:[Alt+i] | `i` | Install script. | `+/script install+`
@@ -2876,27 +2957,40 @@ contesto "mouse" (per la sintassi, consultare comando
Il nome dell'evento consiste di un modificatore (opzionale), il nome di un
pulsante/rotellina e un'azione (opzionale). Elementi diversi sono separati da `+-+`.
Elenco di modificatori
// TRANSLATION MISSING
List of modifiers (by order in the event name):
[width="100%",cols="1m,4",options="header"]
|===
| Modificatore | Descrizione
| ctrl | Tasto kbd:[Ctrl]
| alt | Tasto kbd:[Alt]
| ctrl-alt | Tasto kbd:[Ctrl] + kbd:[Alt]
| ctrl | Tasto kbd:[Ctrl]
| shift | Tasto kbd:[Shift] ^(1)^
|===
// TRANSLATION MISSING
[NOTE]
^(1)^ The `shift` modifier can rarely be used in WeeChat because many terminals
use this modifier to catch directly mouse events.
// TRANSLATION MISSING
Several modifiers can be combined, for example:
* `alt-ctrl`
* `ctrl-shift`
* `alt-ctrl-shift`
Elenco di pulsanti/rotellina:
[width="100%",cols="1m,4",options="header"]
|===
| Pulsante/rotellina | Descrizione
| button1 | Click sul tasto sinistro
| button2 | Click sul tasto destro
| button3 | Click sul tasto centrale (spesso click sulla rotellina)
| button4 ... button9 | Click sui pulsanti extra
| wheelup | Rotellina (su)
| wheeldown | Rotellina (giù)
| Pulsante/rotellina | Descrizione
| button1 | Click sul tasto sinistro
| button2 | Click sul tasto destro
| button3 | Click sul tasto centrale (spesso click sulla rotellina)
| button4 ... button11 | Click sui pulsanti extra
| wheelup | Rotellina (su)
| wheeldown | Rotellina (giù)
|===
Elenco di azioni (solo per i pulsanti, non la rotellina):
@@ -2933,7 +3027,7 @@ Esempio di eventi:
* `button1-event-drag`
* `alt-button2-gesture-down-long`
* `wheelup`
* `ctrl-alt-wheeldown`
* `alt-ctrl-wheeldown`
* ...
[TIP]
@@ -4811,8 +4905,15 @@ protocolli differenti:
* _irc_: proxy IRC: usato per condividere le connessioni ai server IRC con uno
o più client IRC
// TRANSLATION MISSING
* _api_: HTTP REST API, used by WeeChat and remote interfaces to display and
interact with WeeChat
// TRANSLATION MISSING
* _weechat_: protocol used by remote interfaces to display and interact with
WeeChat, see https://weechat.org/about/interfaces/[this page ^↗^^].
WeeChat.
// TRANSLATION MISSING
For _api_ and _weechat_ protocols, see the list of remote interfaces on
https://weechat.org/about/interfaces/[this page ^↗^^].
// TRANSLATION MISSING
[[relay_password]]
@@ -4825,14 +4926,16 @@ It is highly recommended to set a password for relay, with these commands:
/set relay.network.password "${sec.data.relay}"
----
This password is used for _irc_ and _weechat_ protocols.
// TRANSLATION MISSING
This password is used with all protocols.
// TRANSLATION MISSING
[[relay_totp]]
=== TOTP
// TRANSLATION MISSING
TOTP (Time-based One-Time Password) can be used as secondary authentication
factor for _weechat_ protocol, in addition to the password.
factor for _api_ and _weechat_ protocols, in addition to the password.
This is optional and increases the security level.
@@ -4927,6 +5030,40 @@ commands:
/set irc.server.relay.password "${sec.data.relay_libera}"
----
// TRANSLATION MISSING
[[relay_api_protocol]]
=== API protocol
The Relay plugin can send data to a remote WeeChat or interface using an
HTTP REST API protocol.
You can browse and test the API online:
https://weechat.org/api/[WeeChat Relay API ^↗^^].
You can connect with WeeChat or a remote interface, see
https://weechat.org/about/interfaces/[this page ^↗^^].
For example:
----
/relay add api 9000
----
Now you can connect on port 9000 with a WeeChat or a remote interface using
password "mypassword".
To connect to an _api_ relay with WeeChat:
----
/remote add weechat http://localhost:9000 -password=mypassword
/remote connect weechat
----
[NOTE]
The remote WeeChat must expose the same API version as the local WeeChat, so
it's highly recommended to use exactly the same WeeChat version on remote
and local client.
[[relay_weechat_protocol]]
=== Protocollo WeeChat
@@ -4970,7 +5107,9 @@ websocket = new WebSocket("ws://server.com:9000/weechat");
----
The port (9000 in example) is the port defined in Relay plugin.
The URI must always end with "/weechat" (for _irc_ and _weechat_ protocols).
The URI must end with "/weechat" for _irc_ and _weechat_ protocols and "/api"
for _api_ protocol.
// TRANSLATION MISSING
[[relay_unix_socket]]
@@ -5016,7 +5155,7 @@ Sections in file _relay.conf_:
| network | /set relay.network.* | Network options.
| irc | /set relay.irc.* | Options specific to irc protocol (irc proxy).
| port | <<command_relay_relay,/relay add>> +
/set relay.port.* | Ports used for relay (irc and weechat protocols) (options can be added/removed in section).
/set relay.port.* | Ports used for relay (options can be added/removed in section).
|===
// TRANSLATION MISSING
@@ -5436,7 +5575,9 @@ Matching groups can be used in _replace_:
* `+${re:0}+` to `+${re:99}+`: `+${re:0}+` is the whole match, `+${re:1}+` to
`+${re:99}+` are groups captured
* `+${re:+}+`: the last match (with highest number)
* `pass:[${re:+}]`: the last match (with highest number)
* `+${re:#}+`: index of last group captured
* `+${re:repl_index}+`: index of replacement being done (starts to 1)
* `+${hide:c,${re:N}}+`: match "N" with all chars replaced by "c"
(example: `+${hide:*,${re:2}}+` is the group #2 with all chars replaced by
`+*+`).
@@ -5504,7 +5645,7 @@ type:
| signal | tg_signal_data |
| hsignal | |
| modifier | tg_string | tg_string
| line | message | buffer, buffer_name, y, date, date_printed, str_time, tags, notify_level, highlight, prefix, message
| line | message | buffer, buffer_name, y, date, date_usec, date_printed, date_usec_printed, str_time, tags, notify_level, highlight, prefix, message
| print | tg_message |
| command | tg_argv_eol1 |
| command_run | tg_command |
@@ -5585,7 +5726,7 @@ is added in hashtable:
| server | string | Name of server (example: "libera").
| tags | string | Tags in message (rarely used).
| message_without_tags | string | Message without tags.
| nick | string | Nick.
| nick | string | Nick. ^(1)^
| host | string | Hostname.
| command | string | IRC command (example: "PRIVMSG", "NOTICE", ...).
| channel | string | IRC channel.
@@ -5597,6 +5738,11 @@ is added in hashtable:
| pos_text | string | The index of _text_ in message ("-1" if _text_ was not found).
|===
// TRANSLATION MISSING
[NOTE]
^(1)^ The nick is the sender of the message. +
Your own nick on the server is `${irc_server.nick}`.
When the data is a pointer, the variable `+tg_signal_data+` can be used like this
to read a hdata property (in this example this is a pointer on a buffer):
@@ -5663,7 +5809,9 @@ The "line" callback sets following variables in hashtable:
| buffer_type | string | Buffer type ("formatted" or "free").
| y | string | Line number for a buffer with free content (≥ 0), -1 for a buffer with formatted content.
| date | string | Line date (timestamp).
| date_usec | string | Microseconds of line date.
| date_printed | string | Date when line was displayed (timestamp).
| date_usec_printed | string | Microseconds of date when line was displayed.
| str_time | string | Date for display. It may contain color codes.
| tags | string | Tags of message (with comma added at beginning/end of string).
| displayed | string | "1" if displayed, "0" if line filtered.
@@ -5702,7 +5850,8 @@ The "print" callback sets following variables in hashtable:
|===
| Variable | Type | Description
| buffer | pointer | Buffer.
| tg_date | string | Message date/time (format: `YYYY-MM-DD hh:mm:ss`).
// TRANSLATION MISSING
| tg_date | string | Message date/time (format: `%FT%T.%f`, see link:weechat_plugin_api.it.html#_util_strftimeval[WeeChat plugin API reference / util_strftimeval ^↗^^]).
| tg_displayed | string | "1" if displayed, "0" if line filtered.
| tg_highlight | string | "1" if highlight, otherwise "0".
| tg_prefix | string | Prefix.
@@ -5767,7 +5916,8 @@ The "timer" callback sets following variables in hashtable:
|===
| Variable | Type | Description
| tg_remaining_calls | string | Number of remaining calls.
| tg_date | string | Current date/time (format: `YYYY-MM-DD hh:mm:ss`).
// TRANSLATION MISSING
| tg_date | string | Current date/time (format: `%FT%T.%f`, see link:weechat_plugin_api.it.html#_util_strftimeval[WeeChat plugin API reference / util_strftimeval ^↗^^]).
|===
[[trigger_data_config]]
+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 か、希望によってはそれ以降のバージョンのうちどれか)
+439 -347
View File
@@ -119,103 +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 | 文字列関数
|    core-signal.c | Signal functions.
|    core-string.c | 文字列関数
// TRANSLATION MISSING
|    wee-sys.c | System functions.
|    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" フック
|       wee-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 インターフェース用のエントリポイント
|    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]]
@@ -223,193 +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 コマンド
| パス/ファイル名 | 説明
| 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
|       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 バー要素
|       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-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 | コマンドおよびテキストの入力
|       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-join.c | Functions for list of channels to join.
|       irc-join.c | Functions for list of channels to join.
// TRANSLATION MISSING
|       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 サーバとの入出力通信
|       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
|       irc-tag.c | Functions to manipulate IRC message tags.
|       irc-tag.c | Functions to manipulate IRC message tags.
// TRANSLATION MISSING
|       irc-typing.c | Typing status.
|       irc-upgrade.c | WeeChat をアップグレードする際の IRC データの保存およびロード
|    javascript/ | JavaScript プラグイン
|       weechat-js.cpp | JavaScript の主要関数 (スクリプトのロード/アンロード、JavaScript コードの実行)
|       weechat-js-api.cpp | JavaScript スクリプト作成 API 関数
|       weechat-js-v8.cpp | JavaScript v8 関数
|    logger/ | logger プラグイン
|       logger.c | logger の主要関数
|       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
|       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 の主要関数
|       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
|       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 ファイル)
|       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/ | Typing plugin.
|       relay-http.c | HTTP functions.
|       relay-info.c | relay の情報/インフォリスト/hdata
|       relay-network.c | relay 用のネットワーク関数
|       relay-raw.c | relay 生バッファ
// TRANSLATION MISSING
|       typing.c | Main typing functions.
|       relay-remote.c | Relay remote.
|       relay-server.c | relay サーバ
|       relay-upgrade.c | WeeChat をアップグレードする際にデータを保存/回復
|       relay-websocket.c | リレー用の websocket サーバ関数 (RFC 6455)
// TRANSLATION MISSING
|       typing-bar-item.c | Typing bar items.
|       api/ | Relay for remote interfaces (using HTTP REST API).
// TRANSLATION MISSING
|       typing-config.c | Typing config options (file typing.conf).
|          relay-api.c | Main API functions for HTTP REST API.
// 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 データの保存および回復
|          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]]
@@ -417,131 +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 | テスト: ユーティリティ関数
|          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-core-sys.cpp | Tests: system functions.
|       gui/ | インターフェースの単体テストを収める最上位ディレクトリ
|          test-core-network.cpp | Tests: network functions.
|          test-core-secure.cpp | テスト: データ保護
// TRANSLATION MISSING
|          test-gui-bar-window.cpp | Tests: bar window 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-buffer.cpp | Tests: buffer functions.
|          test-core-sys.cpp | Tests: system functions.
// TRANSLATION MISSING
|          test-gui-chat.cpp | Tests: chat functions.
|          hook/ | Root of unit tests for hooks.
// TRANSLATION MISSING
|          test-gui-color.cpp | Tests: colors.
|             test-hook-command.cpp | Tests: hooks "command".
// TRANSLATION MISSING
|          test-gui-filter.cpp | Tests: filters.
|             test-hook-command-run.cpp | Tests: hooks "command_run".
// TRANSLATION MISSING
|          test-gui-input.cpp | Tests: input functions.
|             test-hook-completion.cpp | Tests: hooks "completion".
// TRANSLATION MISSING
|          test-gui-key.cpp | Tests: keys.
|          test-gui-line.cpp | テスト: 行
|             test-hook-config.cpp | Tests: hooks "config".
// TRANSLATION MISSING
|          test-gui-nick.cpp | テスト: nicks
|       plugins/ | プラグインの単体テストを収める最上位ディレクトリ
|          irc/ | IRC プラグインの単体テストを収める最上位ディレクトリ
|             test-hook-connect.cpp | Tests: hooks "connect".
// TRANSLATION MISSING
|             test-irc-batch.cpp | Tests: IRC batched events.
|             test-hook-fd.cpp | Tests: hooks "fd".
// TRANSLATION MISSING
|             test-irc-buffer.cpp | Tests: IRC buffers.
|             test-hook-focus.cpp | Tests: hooks "focus".
// TRANSLATION MISSING
|             test-irc-channel.cpp | Tests: IRC channels.
|             test-irc-color.cpp | Tests: IRC colors.
|             test-irc-config.cpp | テスト: IRC 設定
|             test-hook-hdata.cpp | Tests: hooks "hdata".
// TRANSLATION MISSING
|             test-irc-ctcp.cpp | Tests: IRC CTCP.
|             test-hook-hsignal.cpp | Tests: hooks "hsignal".
// TRANSLATION MISSING
|             test-irc-ignore.cpp | Tests: IRC ignores.
|             test-hook-info-hashtable.cpp | Tests: hooks "info_hashtable".
// TRANSLATION MISSING
|             test-irc-join.cpp | Tests: IRC join functions.
|             test-hook-info.cpp | Tests: hooks "info".
// TRANSLATION MISSING
|             test-irc-list.cpp | Tests: IRC buffer for reply to /list command.
|             test-hook-infolist.cpp | Tests: hooks "infolist".
// TRANSLATION MISSING
|             test-irc-message.cpp | Tests: IRC messages.
|             test-hook-line.cpp | Tests: hooks "line".
// TRANSLATION MISSING
|             test-irc-mode.cpp | Tests: IRC modes.
|             test-hook-modifier.cpp | Tests: hooks "modifier".
// TRANSLATION MISSING
|             test-irc-nick.cpp | Tests: IRC nicks.
|             test-irc-protocol.cpp | テスト: IRC プロトコル
|             test-hook-print.cpp | Tests: hooks "print".
// TRANSLATION MISSING
|             test-irc-sasl.cpp | Tests: SASL authentication with IRC protocol.
|             test-hook-process.cpp | Tests: hooks "process".
// TRANSLATION MISSING
|             test-irc-server.cpp | Tests: IRC server.
|             test-hook-signal.cpp | Tests: hooks "signal".
// TRANSLATION MISSING
|             test-irc-tag.cpp | Tests: IRC message tags.
|             test-hook-timer.cpp | Tests: hooks "timer".
// TRANSLATION MISSING
|          logger/ | Root of unit tests for logger plugin.
|             test-hook-url.cpp | Tests: hooks "url".
|       gui/ | インターフェースの単体テストを収める最上位ディレクトリ
// TRANSLATION MISSING
|             test-logger.cpp | Tests: logger.
|          test-gui-bar-window.cpp | Tests: bar window functions.
// TRANSLATION MISSING
|             test-logger-backlog.cpp | Tests: logger backlog.
|          test-gui-buffer.cpp | Tests: buffer functions.
// TRANSLATION MISSING
|             test-logger-tail.cpp | Tests: logger tail functions.
|          test-gui-chat.cpp | Tests: chat functions.
// TRANSLATION MISSING
|          trigger/ | Root of unit tests for trigger plugin.
|          test-gui-color.cpp | Tests: colors.
// TRANSLATION MISSING
|             test-trigger.cpp | Tests: triggers.
|          test-gui-filter.cpp | Tests: filters.
// TRANSLATION MISSING
|             test-trigger-config.cpp | Tests: trigger configuration.
|          test-gui-hotlist.cpp | Tests: hotlist functions.
// TRANSLATION MISSING
|          typing/ | Root of unit tests for typing plugin.
|          test-gui-input.cpp | Tests: input functions.
// TRANSLATION MISSING
|             test-typing.cpp | Tests: typing.
|          test-gui-key.cpp | Tests: keys.
|          test-gui-line.cpp | テスト: 行
// TRANSLATION MISSING
|             test-typing-status.cpp | Tests: typing status.
|          test-gui-nick.cpp | テスト: nicks
// TRANSLATION MISSING
|          relay/ | Root of unit tests for Relay plugin.
|          test-gui-nicklist.cpp | Tests: nicklist functions.
// TRANSLATION MISSING
|             test-relay-auth.cpp | Tests: clients authentication.
|          curses/ | Root of unit tests for Curses interface.
// TRANSLATION MISSING
|             irc/ | Root of unit tests for Relay "irc" protocol.
|             test-gui-curses-mouse.cpp | Tests: mouse (Curses interface).
|       plugins/ | プラグインの単体テストを収める最上位ディレクトリ
|          irc/ | IRC プラグインの単体テストを収める最上位ディレクトリ
// TRANSLATION MISSING
|                test-relay-irc.cpp | Tests: Relay "irc" protocol.
|             test-irc-batch.cpp | Tests: IRC batched events.
// TRANSLATION MISSING
|          xfer/ | Root of unit tests for Xfer plugin.
|             test-irc-buffer.cpp | Tests: IRC buffers.
// TRANSLATION MISSING
|             test-xfer-file.cpp | Tests: file functions.
|             test-irc-channel.cpp | Tests: IRC channels.
|             test-irc-color.cpp | Tests: IRC colors.
// TRANSLATION MISSING
|             test-xfer-network.cpp | Tests: network functions.
|             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]]
@@ -601,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.
*
@@ -625,7 +716,8 @@ WeeChat とプラグインの翻訳は gettext で行います、ファイルは
C 言語のコードを書く際には以下の基本的なルールを *必ず* 守ってください。:
* インデントは空白文字を 4 個使ってください。タブ文字を使わないでください、タブ文字は良くありません。
// TRANSLATION MISSING
* Use 4 spaces for indentation (no tabs).
* 読みやすくする必要がある場合を除いて、1
行は 80 文字以内に収めてください。
* コメントは `+/* comment */+` のようにしてください (`+// comment+` のような C99 スタイルのコメントは使わないでください)。
@@ -838,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、...
@@ -847,7 +939,7 @@ irc プラグインの _irc.c_ など。
|===
C 言語ファイルのヘッダはファイルと同じ名前です、例えばファイル
_wee-command.c_ のヘッダファイルは _wee-command.h_ です
_core-command.c_ のヘッダファイルは _core-command.h_ です
[[naming_convention_structures]]
==== 構造体
+18
View File
@@ -607,6 +607,24 @@ 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]]
=== どうすればキー割り当てをカスタマイズできますか。
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]]
== 良くあるタスク
+199 -44
View File
@@ -36,7 +36,8 @@ WeeChat (Wee Enhanced Environment for Chat)
https://datatracker.ietf.org/doc/html/rfc2812[2812 ^↗^^]、
https://datatracker.ietf.org/doc/html/rfc2813[2813 ^↗^^]、
https://datatracker.ietf.org/doc/html/rfc7194[7194 ^↗^^]。
* リモートインターフェース用の IRC プロキシとリレー
// TRANSLATION MISSING
* IRC proxy and relay for WeeChat and remote interfaces
* マルチプラットフォーム (GNU/Linux、*BSD、macOS、Windows 等)
* 完全な GPL、フリーソフトウェア
@@ -144,7 +145,8 @@ WeeChat:
// TRANSLATION MISSING
| zlib1g-dev |
| Logger plugin: compression of rotated log files (gzip). +
Relay plugin: compression of messages (WeeChat -> client) with https://zlib.net/[zlib ^↗^^] (weechat protocol). +
Relay plugin: compression of messages (WeeChat -> client) with https://zlib.net/[zlib ^↗^^]
(api and weechat protocols). +
Script plugin: read of repository index file (gzip).
|===
@@ -173,10 +175,15 @@ WeeChat:
| ca-certificates |
| TLS 接続に必要な証明書、relay プラグインで TLS サポート
// TRANSLATION MISSING
| libcjson-dev |
| Relay plugin: protocol "api" (HTTP REST API).
// TRANSLATION MISSING
| libzstd-dev | ≥ 0.8.1
| Logger plugin: compression of rotated log files (zstandard). +
Relay plugin: compression of messages (WeeChat -> client) with https://facebook.github.io/zstd/[Zstandard ^↗^^] (weechat protocol).
Relay plugin: compression of messages (WeeChat -> client) with https://facebook.github.io/zstd/[Zstandard ^↗^^]
(api and weechat protocols).
| libaspell-dev / libenchant-dev |
| spell プラグイン
@@ -298,6 +305,10 @@ List of available options:
| ENABLE_CHARSET | `ON`, `OFF` | ON
| <<charset,Charset プラグイン>>のコンパイル。
// TRANSLATION MISSING
| ENABLE_CJSON | `ON`, `OFF` | ON
| Support of JSON with https://github.com/DaveGamble/cJSON[cJSON ^↗^^] library.
| ENABLE_MAN | `ON`, `OFF` | OFF
| man ページのコンパイル。
@@ -557,11 +568,11 @@ Copying output to /tmp/crash.txt.
at /some_path/src/core/weechat.c:351
#3 <signal handler called>
#4 0x000000000044cb24 in hook_process_timer_cb (arg_hook_process=0x254eb90,
remaining_calls=<value optimized out>) at /some_path/src/core/wee-hook.c:1364
remaining_calls=<value optimized out>) at /some_path/src/core/core-hook.c:1364
hook_process = 0x254eb90
status = <value optimized out>
#5 0x000000000044cc7d in hook_timer_exec ()
at /some_path/src/core/wee-hook.c:1025
at /some_path/src/core/core-hook.c:1025
tv_time = {tv_sec = 1272693881, tv_usec = 212665}
ptr_hook = 0x2811f40
next_hook = 0x0
@@ -970,11 +981,36 @@ By default, the screen is divided up into the following areas:
| 要素 | 例 | 説明
| input_prompt | `[@Flashy]` | 入力プロンプト、irc の場合: ニックネームとモード (libera では "+i" モードは不可視状態を意味します)
| away | `(away)` | 離席状態表示
| input_search | `[Search (~ str,msg)]` | 検索インジケータ ("`~`": 大文字小文字を区別しない、"`==`": 大文字小文字を区別する、"`str`": 検索文字列、"`regex`": 検索正規表現、"`msg`": メッセージ部分から検索、"`pre`": プレフィックス部分から検索、"`pre\|msg`": プレフィックス部分とメッセージ部分から検索)
// TRANSLATION MISSING
| input_search | `[Search lines (~ str,msg)]` | Search indicator (see below).
| input_paste | `[Paste 7 lines ? [ctrl-y] Yes [ctrl-n] No]` | 行をペーストする場合にユーザへ行われる質問
| input_text | `hi peter!` | 入力テキスト
|===
// TRANSLATION MISSING
There are two search modes:
// TRANSLATION MISSING
* search in lines, for example `[Search lines (~ str,msg)]`, with the following info:
** `~`: 大文字小文字を区別しない
** `==`: 大文字小文字を区別する
** `str`: 検索文字列
** `regex`: 検索正規表現
** `msg`: メッセージ部分から検索
** `pre`: プレフィックス部分から検索
** `pre\|msg`: プレフィックス部分とメッセージ部分から検索
// TRANSLATION MISSING
* search in commands history, for example `[Search command (~ str,local)]`,
with the following info:
** `~`: 大文字小文字を区別しない
** `==`: 大文字小文字を区別する
** `str`: 検索文字列
** `regex`: 検索正規表現
// TRANSLATION MISSING
** `local`: search in buffer local history
// TRANSLATION MISSING
** `global`: search in global history.
ニックネームリスト (_nicklist_) バーは以下の初期要素を持っています:
[width="100%",cols="^3,^3,9",options="header"]
@@ -1077,6 +1113,13 @@ IRC 等のプラグインでは、以下の色コードと属性を利用でき
| kbd:[Ctrl+c], kbd:[c],
kbd:[xx], kbd:[,],
kbd:[yy] | テキスト表示色を `xx` に、背景色を `yy` に (以下の色リストを参照)
// TRANSLATION MISSING
| kbd:[Ctrl+c], kbd:[d],
kbd:[xxxxxx] | Text color `xxxxxx` (RGB as hexadecimal, for example `FF0000` for red).
// TRANSLATION MISSING
| kbd:[Ctrl+c], kbd:[d],
kbd:[xxxxxx], kbd:[,],
kbd:[yyyyyy] | Text color `xxxxxx` and background `yyyyyy` (RGB as hexadecimal).
| kbd:[Ctrl+c], kbd:[i] | テキストをイタリック体に
| kbd:[Ctrl+c], kbd:[o] | テキスト表示色と属性をリセット
| kbd:[Ctrl+c], kbd:[v] | テキストを反転 (テキスト表示色と背景色の入れ替え)
@@ -1084,8 +1127,9 @@ IRC 等のプラグインでは、以下の色コードと属性を利用でき
|===
[NOTE]
同じコードで (色コードを入力せずに kbd:[Ctrl+c], kbd:[c]
を使うことで) 属性をキャンセルすることができます。
// TRANSLATION MISSING
The same code (without number for kbd:[Ctrl+c], kbd:[c] and kbd:[Ctrl+c], kbd:[d])
can be used to stop the attribute.
kbd:[Ctrl+c], kbd:[c] 用の色コード:
@@ -1681,6 +1725,8 @@ They can be changed and new ones can be added with the <<command_weechat_key,/ke
| キー | 説明 | コマンド
| kbd:[Ctrl+c], kbd:[b] | テキストを太字化するコードの挿入 | `+/input insert \x02+`
| kbd:[Ctrl+c], kbd:[c] | テキストに色をつけるコードの挿入 | `+/input insert \x03+`
// TRANSLATION MISSING
| kbd:[Ctrl+c], kbd:[d] | Insert code for colored text (RGB color, as hexadecimal). | `+/input insert \x04+`
| kbd:[Ctrl+c], kbd:[i] | テキストをイタリック体にするコードの挿入 | `+/input insert \x1D+`
| kbd:[Ctrl+c], kbd:[o] | テキスト色のリセットを行うコードの挿入 | `+/input insert \x0F+`
| kbd:[Ctrl+c], kbd:[v] | テキスト色の反転を行うコードの挿入 | `+/input insert \x16+`
@@ -1717,8 +1763,10 @@ They can be changed and new ones can be added with the <<command_weechat_key,/ke
[width="100%",cols="^.^3,.^8,.^5",options="header"]
|===
| キー | 説明 | コマンド
| kbd:[Ctrl+r] | バッファ中の履歴からテキスト検索 (<<key_bindings_search_context,検索モード用のキー>>を参照) | `+/input search_text_here+`
| kbd:[Ctrl+s], kbd:[Ctrl+u] | すべてのバッファに未読マークをセット | `+/allbuf /buffer set unread+`
// TRANSLATION MISSING
| kbd:[Ctrl+r] | Search for text in commands history (see <<key_bindings_histsearch_context,keys for context "histsearch">>). | `+/input search_history+`
// TRANSLATION MISSING
| kbd:[Ctrl+s] | Search for text in buffer lines (see <<key_bindings_search_context,keys for context "search">>). | `+/input search_text_here+`
// TRANSLATION MISSING
| kbd:[Ctrl+x] | Switch current buffer if buffers are merged with same number, for example switch to another IRC server buffer. | `+/buffer switch+`
| kbd:[Alt+x] | マージされたバッファに再ズーム (kbd:[Alt+x]: 全てのマージされたバッファを表示) | `+/buffer zoom+`
@@ -1745,6 +1793,7 @@ They can be changed and new ones can be added with the <<command_weechat_key,/ke
| kbd:[Alt+n] | 次のハイライトまでスクロール | `+/window scroll_next_highlight+`
| kbd:[Alt+p] | 前のハイライトまでスクロール | `+/window scroll_previous_highlight+`
| kbd:[Alt+u] | バッファを最初の未読行までスクロール | `+/window scroll_unread+`
| kbd:[Alt+Shift+U] | すべてのバッファに未読マークをセット | `+/allbuf /buffer set unread+`
| kbd:[Alt+<] | バッファ訪問履歴で前のバッファに移動 | `+/buffer jump prev_visited+`
| kbd:[Alt+>] | バッファ訪問履歴で次のバッファに移動 | `+/buffer jump next_visited+`
| kbd:[Alt+/] | 最後に表示したバッファに移動 (バッファ移動前に表示していたウィンドウ) | `+/buffer jump last_displayed+`
@@ -1832,17 +1881,20 @@ They can be changed and new ones can be added with the <<command_weechat_key,/ke
[[key_bindings_search_context]]
=== Search context
以下のキーは「検索」検索モード (バッファ内のテキスト検索用に
kbd:[Ctrl+r] が押された状態) でのみ有効です。
// TRANSLATION MISSING
These keys are used in context "search" (when kbd:[Ctrl+s] is pressed to search
text in buffer lines).
[width="100%",cols="^.^3,.^8,.^5",options="header"]
|===
| キー | 説明 | コマンド
| kbd:[Ctrl+r] | 検索タイプを切り替え: 文字列 (デフォルト)、正規表現 | `+/input search_switch_regex+`
| kbd:[Ctrl+x] | 検索タイプを切り替え: 文字列 (デフォルト)、正規表現 | `+/input search_switch_regex+`
| kbd:[Alt+c] | 大文字小文字を区別して検索 | `+/input search_switch_case+`
| kbd:[Tab] | 検索範囲: メッセージ (デフォルト)、プレフィックス、プレフィックスとメッセージ | `+/input search_switch_where+`
| kbd:[↑] | 前のキーワードで検索 | `+/input search_previous+`
| kbd:[] | のキーワードで検索 | `+/input search_next+`
| kbd:[Ctrl+r] +
kbd:[] | のキーワードで検索 | `+/input search_previous+`
| kbd:[Ctrl+s] +
kbd:[↓] | 次のキーワードで検索 | `+/input search_next+`
| kbd:[Enter] +
kbd:[Ctrl+j] +
kbd:[Ctrl+m] | 現在の位置で検索を終了 | `+/input search_stop_here+`
@@ -1850,6 +1902,37 @@ kbd:[Ctrl+r] が押された状態) でのみ有効です。
| kbd:[Ctrl+q] | Stop search and reset scroll to pre-text search state. | `+/input search_stop+`
|===
// TRANSLATION MISSING
[[key_bindings_histsearch_context]]
=== History search context
// TRANSLATION MISSING
These keys are used in context "histsearch" (when kbd:[Ctrl+r] is pressed to
search text in commands history).
[width="100%",cols="^.^3,.^8,.^5",options="header"]
|===
| キー | 説明 | コマンド
| kbd:[Ctrl+x] | 検索タイプを切り替え: 文字列 (デフォルト)、正規表現 | `+/input search_switch_regex+`
| kbd:[Alt+c] | 大文字小文字を区別して検索 | `+/input search_switch_case+`
// TRANSLATION MISSING
| kbd:[Tab] | Switch search in: buffer local history (default), global history. | `+/input search_switch_where+`
// TRANSLATION MISSING
| kbd:[Ctrl+r] +
kbd:[↑] | Search in previous (older) history entries. | `+/input search_previous+`
// TRANSLATION MISSING
| kbd:[Ctrl+s] +
kbd:[↓] | Search in next (newer) history entries. | `+/input search_next+`
// TRANSLATION MISSING
| kbd:[Enter] +
kbd:[Ctrl+j] +
kbd:[Ctrl+m] | Stop search and use matching input. | `+/input search_stop_here+`
// TRANSLATION MISSING
| kbd:[Ctrl+o] | Execute the command found in history and insert the next one in the command line. | `+/input history_use_get_next+`
// TRANSLATION MISSING
| kbd:[Ctrl+q] | Stop search and restore input to its initial value. | `+/input search_stop+`
|===
// TRANSLATION MISSING
[[key_bindings_cursor_context]]
=== Cursor context
@@ -1938,10 +2021,10 @@ These mouse actions are possible only if mouse is enabled with key kbd:[Alt+m]
| kbd:[■ □ □] | - | chat: /list buffer | Select line in /list buffer. | `+/window ${_window_number};/list -go ${_chat_line_y}+`
// TRANSLATION MISSING
| kbd:[□ □ ■] | - | chat: /list buffer | Join IRC channel on selected line. | `+hsignal:irc_list_mouse+`
| kbd:[▲] | - | チャット: スクリプトバッファ | スクリプトバッファを 5 行上方向にスクロール | `+/script up 5+`
| kbd:[▼] | - | チャット: スクリプトバッファ | スクリプトバッファで 5 行下方向にスクロール | `+/script down 5+`
| kbd:[■ □ □] | - | チャット: スクリプトバッファ | スクリプトバッファで行選択 | `+/script go ${_chat_line_y}+`
| kbd:[□ □ ■] | - | チャット: スクリプトバッファ | スクリプトのインストール `+/ 削除 | /script go ${_chat_line_y};/script installremove ${script_name_with_extension}+`
| kbd:[▲] | - | チャット: スクリプトバッファ | スクリプトバッファを 5 行上方向にスクロール | `+/script -up 5+`
| kbd:[▼] | - | チャット: スクリプトバッファ | スクリプトバッファで 5 行下方向にスクロール | `+/script -down 5+`
| kbd:[■ □ □] | - | チャット: スクリプトバッファ | スクリプトバッファで行選択 | `+/script -go ${_chat_line_y}+`
| kbd:[□ □ ■] | - | チャット: スクリプトバッファ | スクリプトのインストール `+/ 削除 | /script -go ${_chat_line_y};/script installremove ${script_name_with_extension}+`
| kbd:[■ □ □] | 上 / 左 | バッファリスト | 指定したバッファを下の番号に移動 | `+buflist_mouse+` シグナル
| kbd:[■ □ □] | 下 / 右 | バッファリスト | 指定したバッファを上の番号に移動 | `+buflist_mouse+` シグナル
| kbd:[■ □ □] | - | バッファリスト | 指定したバッファに切り替える (現在のバッファを指定した場合、バッファ切り替え履歴で前のバッファに切り替える) | `+buflist_mouse+` シグナル
@@ -2068,8 +2151,8 @@ These keys and actions are used on the script buffer (see <<script_manager,scrip
[width="100%",cols="^.^3,^.^2,.^8,.^5",options="header"]
|===
| Key | Action ^(1)^ | Description | Command
| kbd:[↑] | | Move one line up. | `+/script up+`
| kbd:[↓] | | Move one line down. | `+/script down+`
| kbd:[↑] | | Move one line up. | `+/script -up+`
| kbd:[↓] | | Move one line down. | `+/script -down+`
| kbd:[PgUp] | | Move one page up. | `+/window page_up+`
| kbd:[PgDn] | | Move one page down. | `+/window page_down+`
| kbd:[Alt+i] | `i` | Install script. | `+/script install+`
@@ -2785,27 +2868,40 @@ WeeChat はデフォルトマウスイベントの多くを定義しています
イベント名には修飾キー (任意)、ボタン/ホイール名、ジェスチャー (任意)
を利用できます。異なるイベントは `+-+` で分割してください。
修飾キーリスト:
// TRANSLATION MISSING
List of modifiers (by order in the event name):
[width="100%",cols="1m,4",options="header"]
|===
| 修飾キー | 説明
| ctrl | kbd:[Ctrl] キー
| alt | kbd:[Alt] キー
| ctrl-alt | kbd:[Ctrl] + kbd:[Alt] キー
| ctrl | kbd:[Ctrl] キー
| shift | kbd:[Shift] キー ^(1)^
|===
// TRANSLATION MISSING
[NOTE]
^(1)^ The `shift` modifier can rarely be used in WeeChat because many terminals
use this modifier to catch directly mouse events.
// TRANSLATION MISSING
Several modifiers can be combined, for example:
* `alt-ctrl`
* `ctrl-shift`
* `alt-ctrl-shift`
ボタン/ホイールのリスト:
[width="100%",cols="1m,4",options="header"]
|===
| ボタン/ホイール | 説明
| button1 | 左ボタンクリック
| button2 | 右ボタンクリック
| button3 | 中ボタンクリック (多くの場合ホイールクリック)
| button4 ... button9 | その他のボタンクリック
| wheelup | ホイール (上方向)
| wheeldown | ホイール (下方向)
| ボタン/ホイール | 説明
| button1 | 左ボタンクリック
| button2 | 右ボタンクリック
| button3 | 中ボタンクリック (多くの場合ホイールクリック)
| button4 ... button11 | その他のボタンクリック
| wheelup | ホイール (上方向)
| wheeldown | ホイール (下方向)
|===
ジェスチャーのリスト (ボタンのみ対応、ホイール未対応):
@@ -2841,7 +2937,7 @@ WeeChat はデフォルトマウスイベントの多くを定義しています
* `button1-event-drag`
* `alt-button2-gesture-down-long`
* `wheelup`
* `ctrl-alt-wheeldown`
* `alt-ctrl-wheeldown`
* ...
[TIP]
@@ -4659,8 +4755,15 @@ Relay プラグインはネットワークを介して異なるプロトコル
* _irc_: IRC プロキシ: IRC サーバに対する接続を、単一または複数の IRC
クライアントで共有するために用います。
// TRANSLATION MISSING
* _api_: HTTP REST API, used by WeeChat and remote interfaces to display and
interact with WeeChat
// TRANSLATION MISSING
* _weechat_: protocol used by remote interfaces to display and interact with
WeeChat, see https://weechat.org/about/interfaces/[this page ^↗^^].
WeeChat.
// TRANSLATION MISSING
For _api_ and _weechat_ protocols, see the list of remote interfaces on
https://weechat.org/about/interfaces/[this page ^↗^^].
[[relay_password]]
=== パスワード
@@ -4673,13 +4776,15 @@ secure set relay mypassword
/set relay.network.password "${sec.data.relay}"
----
このパスワードは _irc_ と _weechat_ プロトコルで利用されます。
// TRANSLATION MISSING
This password is used with all protocols.
[[relay_totp]]
=== TOTP
_weechat_ プロトコルでは、パスワードに加えて、二要素認証の
TOTP (時間ベースのワンタイムパスワード) を使うことが可能です。
// TRANSLATION MISSING
TOTP (Time-based One-Time Password) can be used as secondary authentication
factor for _api_ and _weechat_ protocols, in addition to the password.
これは任意設定項目であり、セキュリティレベルを向上させます。
@@ -4776,6 +4881,40 @@ commands:
/set irc.server.relay.password "${sec.data.relay_libera}"
----
// TRANSLATION MISSING
[[relay_api_protocol]]
=== API protocol
The Relay plugin can send data to a remote WeeChat or interface using an
HTTP REST API protocol.
You can browse and test the API online:
https://weechat.org/api/[WeeChat Relay API ^↗^^].
You can connect with WeeChat or a remote interface, see
https://weechat.org/about/interfaces/[this page ^↗^^].
For example:
----
/relay add api 9000
----
Now you can connect on port 9000 with a WeeChat or a remote interface using
password "mypassword".
To connect to an _api_ relay with WeeChat:
----
/remote add weechat http://localhost:9000 -password=mypassword
/remote connect weechat
----
[NOTE]
The remote WeeChat must expose the same API version as the local WeeChat, so
it's highly recommended to use exactly the same WeeChat version on remote
and local client.
[[relay_weechat_protocol]]
=== WeeChat プロトコル
@@ -4815,8 +4954,11 @@ HTML5 を使えばたった 1 行の JavaScript で WebSocket をオープンす
websocket = new WebSocket("ws://server.com:9000/weechat");
----
ポート番号 (例では 9000 番) は Relay プラグインで定義したものです。URI
の最後には必ず "/weechat" をつけます (_irc_ と _weechat_ プロトコルの場合)。
ポート番号 (例では 9000 番) は Relay プラグインで定義したものです。
// TRANSLATION MISSING
The URI must end with "/weechat" for _irc_ and _weechat_ protocols and "/api"
for _api_ protocol.
[[relay_unix_socket]]
=== UNIX ドメインソケット
@@ -4859,7 +5001,7 @@ _relay.conf_ ファイル内のセクション:
| network | /set relay.network.* | ネットワークオプション
| irc | /set relay.irc.* | 特定の irc プロトコルのオプション (irc プロキシ)
| port | <<command_relay_relay,/relay add>> +
/set relay.port.* | リレーに使うポート(irc や weechat プロトコル) (オプションをセクションに追加/削除出来ます)
/set relay.port.* | リレーに使うポート (オプションをセクションに追加/削除出来ます)
|===
オプション:
@@ -5273,7 +5415,9 @@ Matching groups can be used in _replace_:
* `+${re:0}+` to `+${re:99}+`: `+${re:0}+` is the whole match, `+${re:1}+` to
`+${re:99}+` are groups captured
* `+${re:+}+`: the last match (with highest number)
* `pass:[${re:+}]`: the last match (with highest number)
* `+${re:#}+`: index of last group captured
* `+${re:repl_index}+`: index of replacement being done (starts to 1)
* `+${hide:c,${re:N}}+`: match "N" with all chars replaced by "c"
(example: `+${hide:*,${re:2}}+` is the group #2 with all chars replaced by
`+*+`).
@@ -5343,7 +5487,7 @@ type:
| signal | tg_signal_data |
| hsignal | |
| modifier | tg_string | tg_string
| line | message | buffer、buffer_name、y、date、date_printed、str_time、tags、notify_level、highlight、prefix、message
| line | message | buffer、buffer_name、y、date、date_usec、date_printed、date_usec_printed、str_time、tags、notify_level、highlight、prefix、message
| print | tg_message |
| command | tg_argv_eol1 |
| command_run | tg_command |
@@ -5425,7 +5569,7 @@ All callbacks set following variables in hashtable:
| server | string | サーバの名前 (例: "libera")
| tags | string | メッセージ内のタグ (使われることはまれです)
| message_without_tags | string | タグを含まないメッセージ
| nick | string | ニックネーム
| nick | string | ニックネーム ^(1)^
| host | string | ホスト名
| command | string | IRC コマンド (例: "PRIVMSG"、"NOTICE"、...)
| channel | string | IRC チャンネル
@@ -5437,6 +5581,11 @@ All callbacks set following variables in hashtable:
| pos_text | string | メッセージ内における _text_ のインデックス (_text_ が見つからない場合 "-1")
|===
// TRANSLATION MISSING
[NOTE]
^(1)^ The nick is the sender of the message. +
Your own nick on the server is `${irc_server.nick}`.
データがポインタの場合、hdata の属性を読むために変数 `+tg_signal_data+`
を以下のようにして使うことが可能です (以下の例では、バッファのポインタとして使っています):
@@ -5503,7 +5652,11 @@ _weechat_print_ 修飾子では、メッセージタグを使う変数 (下の
| buffer_type | string | バッファ型 ("formatted" または "free")
| y | string | 自由内容バッファの行番号 (≥ 0)、-1 はフォーマット済みバッファ用
| date | string | 行の日付 (タイムスタンプ)
// TRANSLATION MISSING
| date_usec | string | Microseconds of line date.
| date_printed | string | 行が表示される日付 (タイムスタンプ).
// TRANSLATION MISSING
| date_usec_printed | string | Microseconds of date when line was displayed.
| str_time | string | 表示に使う日付、色コードを含めることも可能
| tags | string | メッセージのタグ (文字列の最初と最後にコンマが追加されます)
| displayed | string | "1" の場合は表示、"0" の場合は非表示
@@ -5545,7 +5698,8 @@ _weechat_print_ 修飾子では、メッセージタグを使う変数 (下の
|===
| 変数 | 型 | 説明
| buffer | pointer | メッセージが表示されたバッファ
| tg_date | string | メッセージの日付と時間 (書式: `YYYY-MM-DD hh:mm:ss`)
// TRANSLATION MISSING
| tg_date | string | メッセージの日付と時間 (書式: `%FT%T.%f`, see link:weechat_plugin_api.ja.html#_util_strftimeval[WeeChat plugin API reference / util_strftimeval ^↗^^]).
| tg_displayed | string | 表示された場合 "1"、フィルタされた場合 "0"
| tg_highlight | string | ハイライトされた場合 "1"、それ以外は "0"
| tg_prefix | string | プレフィックス
@@ -5617,7 +5771,8 @@ _weechat_print_ 修飾子では、メッセージタグを使う変数 (下の
|===
| 変数 | 型 | 説明
| tg_remaining_calls | string | 残り呼び出し回数
| tg_date | string | 現在の日付および時間 (書式: `YYYY-MM-DD hh:mm:ss`)
// TRANSLATION MISSING
| tg_date | string | 現在の日付および時間 (書式: `%FT%T.%f`, see link:weechat_plugin_api.ja.html#_util_strftimeval[WeeChat plugin API reference / util_strftimeval ^↗^^]).
|===
[[trigger_data_config]]
+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
+49 -41
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
@@ -582,14 +582,30 @@ 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.
// TRANSLATION MISSING
[[enter_key]]
=== Some keys including Enter are not working, why?
=== Niektóre przyciski w tym Enter nie działają, dlatego?
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.
Jeśli używasz WeeChat < 4.0.0 z plikami konfiguracyjnymi stworzonymi przez dowolną
wers ≥ 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?
@@ -621,8 +637,7 @@ 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"
----
// TRANSLATION MISSING
For an easy jump to buffers, you can also install the _go.py_ script:
Dla łatwego przechodzenia między buforami możesz również zainstalować skrypt _go.py_:
----
/script install go.py
@@ -938,15 +953,13 @@ lub grup buforów (jak serwery IRC).
W celu wyłączenia tylko podświetleń wystarczy ustawić ja na 2.
// TRANSLATION MISSING
For the current buffer:
Dla obecnego bufora:
----
/buffer setauto hotlist_max_level_nicks_add joe:2,mike:2
----
// TRANSLATION MISSING
For all channels on server "libera":
Dla wszystkich kanałów na serwerze "libera":
----
/set weechat.buffer.irc.libera.*.hotlist_max_level_nicks_add joe:2,mike:2
@@ -1080,10 +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:
// TRANSLATION MISSING
* schowaj pasek "nicklist": `/bar hide nicklist` (key: kbd:[Alt+Shift+N]).
// TRANSLATION MISSING
* Disable "buflist": `/buflist disable` (key: kbd:[Alt+Shift+B]).
* 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ś):
@@ -1111,9 +1122,8 @@ Wyłącz odpowiedzi na wszystkie zapytania CTCP:
/set irc.ctcp.ping ""
----
// TRANSLATION MISSING
With WeeChat < 4.1.0, other CTCP queries were replied by default and must be
disabled as well:
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 ""
@@ -1154,34 +1164,32 @@ 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.
// TRANSLATION MISSING
[[move_to_another_device]]
=== I want to move my WeeChat to another device and keep my config, what should I copy?
=== Chcę przenieść WeeChat na inne urządzenie i zachować swoją konfigurację, co powinienem skompilować?
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).
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).
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`.
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]
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.
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.
Steps:
Kroki:
. 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).
. 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
+239 -153
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, będącego częścią WeeChat.
@@ -35,7 +35,7 @@ Główne cechy to:
https://datatracker.ietf.org/doc/html/rfc2812[2812 ^↗^^],
https://datatracker.ietf.org/doc/html/rfc2813[2813 ^↗^^] i
https://datatracker.ietf.org/doc/html/rfc7194[7194 ^↗^^]
* proxy IRC i pośrednik dla zdalnych interfejsów
* proxy IRC i pośrednik dla WeeChat i zdalnych interfejsów
* wielo-platformowy (GNU/Linux, *BSD, macOS, Windows i inne)
* 100% GPL, darmowe oprogramowanie
@@ -132,7 +132,8 @@ WeeChat:
| zlib1g-dev |
| Wtyczka logger: kompresja rotowanych plików z logami (gzip). +
Wtyczka relay: kompresja wiadomości (WeeChat -> klient) za pomocą https://zlib.net/[zlib ^↗^^] (protokół weechat). +
Wtyczka relay: kompresja wiadomości (WeeChat -> klient) za pomocą https://zlib.net/[zlib ^↗^^]
(protokoły api i weechat). +
Wtyczka script: odczyt repozytorium ze skryptami (gzip).
|===
@@ -158,9 +159,13 @@ WeeChat:
| ca-certificates |
| Certyfikaty dla połączeń TLS.
| libcjson-dev |
| Wtyczka relay: protokół "api" (HTTP REST API).
| libzstd-dev | ≥ 0.8.1
| Wtyczka logger: kompresja rotowanych plików z logami (zstandard). +
Wtyczka Relay: kompresja wiadomości (WeeChat -> klient) za pomocą https://facebook.github.io/zstd/[Zstandard ^↗^^] (protokół weechat).
Wtyczka relay: kompresja wiadomości (WeeChat -> klient) za pomocą https://facebook.github.io/zstd/[Zstandard ^↗^^]
(protokoły api i weechat).
| libaspell-dev / libenchant-dev |
| Wtyczka spell.
@@ -248,8 +253,7 @@ $ make install
Opcje mogą zostać przekazane do CMake, format `-DOPCJA=WARTOŚĆ`.
// TRANSLATION MISSING
List of available options:
Lista dostępnych opcji:
[width="100%",cols="3m,3,3m,10",options="header"]
|===
@@ -278,6 +282,9 @@ List of available options:
| ENABLE_CHARSET | `ON`, `OFF` | ON
| Kompilacja <<charset,wtyczki charset>>.
| ENABLE_CJSON | `ON`, `OFF` | ON
| Wsparcie dla JSON z użyciem biblioteki https://github.com/DaveGamble/cJSON[cJSON ^↗^^].
| ENABLE_MAN | `ON`, `OFF` | OFF
| Generowanie strony manuala.
@@ -303,9 +310,8 @@ List of available options:
| ENABLE_GUILE | `ON`, `OFF` | ON
| Kompilacja <<scripting_plugins,wtyczki guile>> (Scheme).
// TRANSLATION MISSING
| ENABLE_HEADLESS | `ON`, `OFF` | ON
| Compile headless binary.
| Kompilacja pliku binarnego w trybie headless.
| ENABLE_IRC | `ON`, `OFF` | ON
| Kompilacja <<irc,wtyczki IRC>>.
@@ -365,9 +371,8 @@ List of available options:
| ENABLE_XFER | `ON`, `OFF` | ON
| Kompilacja <<xfer,wtyczki xfer>>.
// TRANSLATION MISSING
| ENABLE_ZSTD | `ON`, `OFF` | ON
| Enable https://facebook.github.io/zstd/[Zstandard ^↗^^] compression.
| Włącza kompresje https://facebook.github.io/zstd/[Zstandard ^↗^^].
| ENABLE_TESTS | `ON`, `OFF` | OFF
| Kompiluje testy.
@@ -526,11 +531,11 @@ Copying output to /tmp/crash.txt.
at /some_path/src/core/weechat.c:351
#3 <signal handler called>
#4 0x000000000044cb24 in hook_process_timer_cb (arg_hook_process=0x254eb90,
remaining_calls=<value optimized out>) at /some_path/src/core/wee-hook.c:1364
remaining_calls=<value optimized out>) at /some_path/src/core/core-hook.c:1364
hook_process = 0x254eb90
status = <value optimized out>
#5 0x000000000044cc7d in hook_timer_exec ()
at /some_path/src/core/wee-hook.c:1025
at /some_path/src/core/core-hook.c:1025
tv_time = {tv_sec = 1272693881, tv_usec = 212665}
ptr_hook = 0x2811f40
next_hook = 0x0
@@ -921,11 +926,30 @@ Pasek _input_ posiada następujące domyślne elementy:
| Element | Przykład | Opis
| input_prompt | `[@Flashy(i)]` | Input prompt, dla irc: nick i tryby (tryb "+i" oznacza niewidzialny na libera).
| away | `(away)` | Wskaźnik nieobecności.
| input_search | `[Szukam (~ str,msg)]` | Wskaźnik wyszukiwania ("`~`": wielkość liter ma znaczenie, "`==`": wielkość liter nie ma znaczenia, "`str`": wyszukiwanie ciągu, "`regex`": wyszukiwanie wyrażenia regularnego, "`msg`": wyszukiwanie w wiadomościach, "`pre`": wyszukiwanie w prefiksach, "`pre\|msg`": wyszukiwanie w prefiksach i wiadomościach).
| input_search | `[Search lines (~ str,msg)]` | Wskaźnik wyszukiwania (zobacz poniżej).
| input_paste | `[Wkleić 7 linii ? [ctrl-y] Tak [ctrl-n] Nie]` | Pyta użytkownika podczas wklejania kilku linii tekstu.
| input_text | `hi peter!` | Wprowadzony tekst.
|===
Dostępne są dwa tryby wyszukiwania:
* wyszukiwanie w liniach, na przydład `[Search lines (~ str,msg)]`, z następującymi informacjami:
** `~`: wielkość liter ma znaczenie
** `==`: wielkość liter nie ma znaczenia
** `str`: wyszukiwanie ciągu
** `regex`: wyszukiwanie wyrażenia regularnego
** `msg`: wyszukiwanie w wiadomościach
** `pre`: wyszukiwanie w prefiksach
** `pre\|msg`: wyszukiwanie w prefiksach i wiadomościach)
* wyszukiwanie w historii komend, na przydład `[Search command (~ str,local)]`,
z następującymi informacjami:
** `~`: wielkość liter ma znaczenie
** `==`: wielkość liter nie ma znaczenia
** `str`: wyszukiwanie ciągu
** `regex`: wyszukiwanie wyrażenia regularnego
** `local`: wyszukiwanie w lokalnej historii bufora
** `global`: wyszukiwanie w globalnej historii.
Pasek _nicklist_ posiada następujące domyślne elementy:
[width="100%",cols="^3,^3,9",options="header"]
@@ -946,10 +970,8 @@ Inne dostępne elementy (nie używane domyślnie w paskach):
| buffer_short_name | `#test` | Skrócona nazwa obecnego buforu.
| buflist2 | `1.weechat` | Lista buforów, drugi element paska (zobacz opcję <<option_buflist.look.use_items,buflist.look.use_items>>).
| buflist3 | `1.weechat` | Lista buforów, trzeci element paska (zobac opcję <<option_buflist.look.use_items,buflist.look.use_items>>).
// TRANSLATION MISSING
| buflist4 | `1.weechat` | List of buffers, fourth bar item (see option <<option_buflist.look.use_items,buflist.look.use_items>>).
// TRANSLATION MISSING
| buflist5 | `1.weechat` | List of buffers, fifth bar item (see option <<option_buflist.look.use_items,buflist.look.use_items>>).
| buflist4 | `1.weechat` | Lista buforów, czwarty element paska (zobacz opcję <<option_buflist.look.use_items,buflist.look.use_items>>).
| buflist5 | `1.weechat` | Lista buforów, piąty element paska (zobacz opcję <<option_buflist.look.use_items,buflist.look.use_items>>).
| fset | `+buflist.look.sort: …+` | Pomoc dla obecnie wybranej opcji w buforze fset.
| irc_channel | `#test` | Nazwa bieżącego kanału IRC.
| irc_host | `+user@host.com+` | Aktualny host IRC.
@@ -1010,21 +1032,26 @@ Dla niektórych wtyczek jak IRC, można użyć kolorów i atrybutów w następuj
[width="100%",cols="1,2",options="header"]
|===
| Klawisz | Opis
| kbd:[Ctrl+c], kbd:[b] | pogrubiony tekst
| kbd:[Ctrl+c], kbd:[b] | Pogrubiony tekst
| kbd:[Ctrl+c], kbd:[c],
kbd:[xx] | kolor tekstu `xx` (zgodnie z poniższą listą kolorów)
kbd:[xx] | Kolor tekstu `xx` (zgodnie z poniższą listą kolorów)
| kbd:[Ctrl+c], kbd:[c],
kbd:[xx], kbd:[,],
kbd:[yy] | kolor tekstu `xx` i tła `yy` (zgodnie z poniższą listą kolorów)
| kbd:[Ctrl+c], kbd:[i] | pochyły tekst
| kbd:[Ctrl+c], kbd:[o] | wyłącza kolory i atrybuty
| kbd:[Ctrl+c], kbd:[v] | odwróć video (przywraca kolor tekstu i tła)
| kbd:[Ctrl+c], kbd:[_] | podkreślony tekst
kbd:[yy] | Kolor tekstu `xx` i tła `yy` (zgodnie z poniższą listą kolorów)
| kbd:[Ctrl+c], kbd:[d],
kbd:[xxxxxx] | Kolor tekstu `xxxxxx` (RGB jako wartości szesnastkowe, na przykład `FF0000` dla czerwonego).
| kbd:[Ctrl+c], kbd:[d],
kbd:[xxxxxx], kbd:[,],
kbd:[yyyyyy] | Kolor tekstu `xxxxxx` i tła `yyyyyy` (RGB jako wartości szesnastkowe).
| kbd:[Ctrl+c], kbd:[i] | Kursywa
| kbd:[Ctrl+c], kbd:[o] | Wyłącza kolory i atrybuty
| kbd:[Ctrl+c], kbd:[v] | Odwróć video (przywraca kolor tekstu i tła)
| kbd:[Ctrl+c], kbd:[_] | Podkreślony tekst
|===
[NOTE]
Ten sam sktót (bez numeru dla kbd:[Ctrl+c], kbd:[c]) może zostać użyty do zatrzymania
atrybutu.
Te same skróty (bez numeru kbd:[Ctrl+c], kbd:[c] i kbd:[Ctrl+c], kbd:[d])
mogą zostać użyte dla zatrzymania atrybutu.
Kody kolorów dla kbd:[Ctrl+c], kbd:[c]:
@@ -1281,7 +1308,7 @@ Linie wyświetlane w formatowanych buforach maja następujące pola:
| tagi | Przez `/debug tags` | Tagi powiązane z linią (zobacz <<lines_tags,tagi linii>>).
|===
Wyświetlanie linni może być zmienione za pomoćą wielu opcji wyglądu
Wyświetlanie linni może być zmienione za pomocą wielu opcji wyglądu
(_pass:[weechat.look.*]_) oraz koloru (_pass:[weechat.color.chat_*]_).
[[lines_tags]]
@@ -1387,9 +1414,8 @@ WeeChat i jego wtyczki domyślnie tworzą następujące zmienne:
| filter
| dowolny ciąg
// TRANSLATION MISSING
| Filter defined on some buffers like `/fset`, `/list` (irc), `/server raw` (irc)
and `/script`.
| Filtr zdefiniowany w niektórych buforach jak `/fset`, `/list` (irc), `/server raw` (irc)
i `/script`.
| host
| dowolny ciąg
@@ -1472,10 +1498,9 @@ External plugins and scripts can define and use other local variables.
[[buflist]]
=== Lista buforów
// TRANSLATION MISSING
Wtyczka buflist wyświetla listę buforów w elemencie paska nazwanym "buflist"
(four other bar items "buflist2", "buflist3", "buflist4" and "buflist5" are
available as well). +
(cztery dodatkowe elementy "buflist2", "buflist3", "buflist4" i "buflist5"
również dostępne). +
Domyślny pasek "buflist" jest tworzony podczas uruchomieina z włączoną wtyczką.
[[buflist_commands]]
@@ -1499,21 +1524,21 @@ Opcje:
include::{autogendir}/autogen_user_options.pl.adoc[tag=buflist_options]
// TRANSLATION MISSING
[[cursor_mode]]
=== Cursor mode
=== Tryb kursora
The cursor mode allows you to move freely the cursor anywhere on screen, in chat
area and bars, and lets you perform actions at the given position. +
You can enter in cursor mode either with the command `/cursor` or with a mouse
middle click (mouse must have been enabled with key kbd:[Alt+m] or command
`/mouse enable`).
Tryb kursora pozwala na przesuwanie kurdsora w dowolne miejsce na ekranie,
w obszarze czatu i paskach, i pozwala na wykonywanie akcji w danym miejscu. +
Możesz wejść w tryb kursora za pomocą komendy `/cursor` lub za pomocą środkowego
przycisku myszy (obsługa myszy musi być włączona za pomocą kbd:[Alt+m] lub
komendy `/mouse enable`).
Typical use is to quote messages (chat area) or interact with nicks (nicklist bar).
Typowym użyciem jest cytowanie wiadomości (obszar czatu) i interakcja z nickami
(pasek z listą nicków).
See command <<command_weechat_cursor,/cursor>> and
<<key_bindings_cursor_context,key bindings in cursor context>> for the list
of actions you can perform in this mode.
Zobacz komendę <<command_weechat_cursor,/cursor>> i
<<key_bindings_cursor_context,skróty klawiszowe w trybie kursora>> dla listy akcji
dostępnych w tym trybie.
[[key_bindings]]
== Skróty klawiszowe
@@ -1590,6 +1615,7 @@ Można je zmienić oraz dodać nowe za pomocą komendy <<command_weechat_key,/ke
| Skrót | Opis | Komenda
| kbd:[Ctrl+c], kbd:[b] | Wstaw kod dla pogrubionego tekstu. | `+/input insert \x02+`
| kbd:[Ctrl+c], kbd:[c] | Wstaw kod dla kolorowego tekstu. | `+/input insert \x03+`
| kbd:[Ctrl+c], kbd:[d] | Wstaw kod dla kolorowego tekstu (kolor RGB jaki liczba szesnastkowa). | `+/input insert \x04+`
| kbd:[Ctrl+c], kbd:[i] | Wstaw kod dla pochyłego tekstu. | `+/input insert \x1D+`
| kbd:[Ctrl+c], kbd:[o] | Wstaw kod dla zresetowania koloru. | `+/input insert \x0F+`
| kbd:[Ctrl+c], kbd:[v] | Wstaw kod dla odwrócenia koloru. | `+/input insert \x16+`
@@ -1608,14 +1634,13 @@ Można je zmienić oraz dodać nowe za pomocą komendy <<command_weechat_key,/ke
| kbd:[Ctrl+↓] | Pokaż następną komendę/wiadomość w historii globalnej (wspólnej dla wszystkich buforów). | `+/input history_global_next+`
|===
// TRANSLATION MISSING
[[key_bindings_cmdline_system]]
==== System
[width="100%",cols="^.^3,.^8,.^5",options="header"]
|===
| Skrót | Opis | Komenda
| kbd:[Ctrl+z] | Suspend WeeChat process. | `+/sys suspend+`
| kbd:[Ctrl+z] | Uśpij proces WeeChat. | `+/sys suspend+`
|===
[[key_bindings_buffers]]
@@ -1624,8 +1649,8 @@ Można je zmienić oraz dodać nowe za pomocą komendy <<command_weechat_key,/ke
[width="100%",cols="^.^3,.^8,.^5",options="header"]
|===
| Skrót | Opis | Komenda
| kbd:[Ctrl+r] | Wyszukaj tekst w historii bufora (zobacz <<key_bindings_search_context,skróty dla kontekstu wyszukiwania>>). | `+/input search_text_here+`
| kbd:[Ctrl+s], kbd:[Ctrl+u] | Ustaw znacznik nieprzeczytania we wszystkich buforach. | `+/allbuf /buffer set unread+`
| kbd:[Ctrl+r] | Szukaj tekstu w historii komend (zobacz <<key_bindings_histsearch_context,skróty w kontekscie "histsearch">>). | `+/input search_history+`
| kbd:[Ctrl+s] | Szukaj tekstu w liniach bufora (zobacz <<key_bindings_search_context,skróty w kontekscie "search">>). | `+/input search_text_here+`
| kbd:[Ctrl+x] | Przełącz obecny bufor jeśli bufory są połączone pod tym samym numerem, na przykład przełącz na bufor innego serwera IRC. | `+/buffer switch+`
| kbd:[Alt+x] | Pokaż wybrany z połączonych buforów (naciśnij kbd:[Alt+x] ponownie: wyświetl wszystkie połączone bufory). | `+/buffer zoom+`
| kbd:[PgUp] | Przewiń jedną stronę w górę w historii bufora. | `+/window page_up+`
@@ -1651,6 +1676,7 @@ Można je zmienić oraz dodać nowe za pomocą komendy <<command_weechat_key,/ke
| kbd:[Alt+n] | Przewiń do następnego powiadomienia. | `+/window scroll_next_highlight+`
| kbd:[Alt+p] | Przewiń do poprzedniego powiadomienia. | `+/window scroll_previous_highlight+`
| kbd:[Alt+u] | Przewiń do pierwszej nieprzeczytanej linii w buforze. | `+/window scroll_unread+`
| kbd:[Alt+Shift+U] | Ustaw znacznik nieprzeczytania we wszystkich buforach. | `+/allbuf /buffer set unread+`
| kbd:[Alt+<] | Przełącz na poprzedni bufor z listy odwiedzonych buforów. | `+/buffer jump prev_visited+`
| kbd:[Alt+>] | Przełącz na następny bufor z listy odwiedzonych buforów. | `+/buffer jump next_visited+`
| kbd:[Alt+/] | Przełącz na ostatnio wyświetlony bufor (przed ostatnią zmianą bufora). | `+/buffer jump last_displayed+`
@@ -1725,31 +1751,55 @@ Można je zmienić oraz dodać nowe za pomocą komendy <<command_weechat_key,/ke
|===
[[key_bindings_search_context]]
=== Wyszukiwanie
=== Wyszukiwanie tekstu
Te skróty są używane w kontekście wyszukiwania (kiedy kombinacja kbd:[Ctrl+r]
zostanie wciśnięta w buforze tekstowym).
Te skróty można użyć w kontskście "search" (kiedy kbd:[Ctrl+s] zostało wciśnięte do wyszukiwania
tekstu w liniach bufora).
[width="100%",cols="^.^3,.^8,.^5",options="header"]
|===
| Skrót | Opis | Komenda
| kbd:[Ctrl+r] | Przełącz rodzaj wyszukiwania: ciąg (domyślne), wyrażenie regularne. | `+/input search_switch_regex+`
| kbd:[Ctrl+x] | Przełącz rodzaj wyszukiwania: ciąg (domyślne), wyrażenie regularne. | `+/input search_switch_regex+`
| kbd:[Alt+c] | Przełącz dopasowywanie wielości liter podczas wyszukiwania. | `+/input search_switch_case+`
| kbd:[Tab] | Przełącz miejsce wyszukiwania: wiadomości (domyślne), prefiksy, prefiksy + wiadmości. | `+/input search_switch_where+`
| kbd:[↑] | Poprzednie wystąpienie. | `+/input search_previous+`
| kbd:[] | Następne wystąpienie. | `+/input search_next+`
| kbd:[Ctrl+r] +
kbd:[] | Poprzednie wystąpienie. | `+/input search_previous+`
| kbd:[Ctrl+s] +
kbd:[↓] | Następne wystąpienie. | `+/input search_next+`
| kbd:[Enter] +
kbd:[Ctrl+j] +
kbd:[Ctrl+m] | Zatrzymaj wyszukiwanie na obecnej pozycji. | `+/input search_stop_here+`
| kbd:[Ctrl+q] | Zatrzymaj wyszukiwanie i przywróć ekran do stanu z przed wyszukiwania. | `+/input search_stop+`
|===
[[key_bindings_histsearch_context]]
=== Wyszukiwanie w historii komend
Te skróty można użyć w kontskście "histsearch" (kiedy kbd:[Ctrl+r] zostało wciśnięte do wyszukiwania
tekstu w historii komend).
[width="100%",cols="^.^3,.^8,.^5",options="header"]
|===
| Skrót | Opis | Komenda
| kbd:[Ctrl+x] | Przełącz rodzaj wyszukiwania: ciąg (domyślne), wyrażenie regularne. | `+/input search_switch_regex+`
| kbd:[Alt+c] | Przełącz dopasowywanie wielości liter podczas wyszukiwania. | `+/input search_switch_case+`
| kbd:[Tab] | Przełącz przeszukiwanie w: lokalnej histori (domyślne), historia globalna. | `+/input search_switch_where+`
| kbd:[Ctrl+r] +
kbd:[↑] | Szukaj we wcześniejszych (starszych) wpisach w historii. | `+/input search_previous+`
| kbd:[Ctrl+s] +
kbd:[↓] | Szukaj w następnych (nowszych) wpisach w historii. | `+/input search_next+`
| kbd:[Enter] +
kbd:[Ctrl+j] +
kbd:[Ctrl+m] | Zatrzymaj wyszukiwanie i użyj znalezionej komendy. | `+/input search_stop_here+`
| kbd:[Ctrl+o] | Wykonaj komende znaleziona w historii i wstaw kolejna do linii poleceń. | `+/input history_use_get_next+`
| kbd:[Ctrl+q] | Zatrzymaj wyszukiwanie i przywróć linię poleceń do początkowej wartości. | `+/input search_stop+`
|===
[[key_bindings_cursor_context]]
=== Kursor
// TRANSLATION MISSING
Te skróty są używane w kontekście kursora (dowolne przemieszczanie kursora na
ekranie), see <<cursor_mode,Cursor mode>>.
ekranie), zobacz <<cursor_mode,tryb kursora>>.
[width="100%",cols="^.^3,^.^2,.^7,.^7",options="header"]
|===
@@ -1758,18 +1808,12 @@ ekranie), see <<cursor_mode,Cursor mode>>.
| kbd:[↓] | - | Przesuń kursor linię niżej. | `+/cursor move down+`
| kbd:[←] | - | Przesuń kursor kolumnę w lewo. | `+/cursor move left+`
| kbd:[→] | - | Przesuń kursor kolumnę w prawo. | `+/cursor move right+`
// TRANSLATION MISSING
| kbd:[Alt+] | - | Move cursor to the first line of the area. | `+/cursor move edge_top+`
// TRANSLATION MISSING
| kbd:[Alt+] | - | Move cursor to the last line of the area. | `+/cursor move edge_bottom+`
// TRANSLATION MISSING
| kbd:[Alt+←] | - | Move cursor to the first column of the area. | `+/cursor move edge_left+`
// TRANSLATION MISSING
| kbd:[Alt+→] | - | Move cursor to the last column of the area. | `+/cursor move edge_right+`
// TRANSLATION MISSING
| kbd:[Alt+Home] | - | Move cursor to the top left corner of the area. | `+/cursor move top_left+`
// TRANSLATION MISSING
| kbd:[Alt+End] | - | Move cursor to the bottom right corner of the area. | `+/cursor move bottom_right+`
| kbd:[Alt+↑] | - | Przesuń kursor do pierwszej linii w obszarze. | `+/cursor move edge_top+`
| kbd:[Alt+] | - | Przesuń kursor do ostatniej linii w obszarze. | `+/cursor move edge_bottom+`
| kbd:[Alt+←] | - | Przesuń kursor do pierwszej kolumny w obszarze. | `+/cursor move edge_left+`
| kbd:[Alt+] | - | Przesuń kursor do ostatniej kolumny w obszarze. | `+/cursor move edge_right+`
| kbd:[Alt+Home] | - | Przesuń kursor w górny lewy róg obszaru. | `+/cursor move top_left+`
| kbd:[Alt+End] | - | Przesuń kursor w dolny prawy róg obszaru. | `+/cursor move bottom_right+`
| kbd:[Alt+Shift+↑] | - | Przesuń kursor obszar do góry. | `+/cursor move area_up+`
| kbd:[Alt+Shift+↓] | - | Przesuń kursor obszar w dół. | `+/cursor move area_down+`
| kbd:[Alt+Shift+←] | - | Przesuń kursor obszar w lewo. | `+/cursor move area_left+`
@@ -1810,23 +1854,17 @@ za pomocą skrótu kbd:[Alt+m] (komenda: `+/mouse toggle+`).
| kbd:[▼] | - | chat: bufor fset | Przewiń pięć linii w dół w buforze fset. | `+/fset -down 5+`
| kbd:[■ □ □] | - | chat: bufor fset | Zaznacz linię b buforze fset. | `+/window ${_window_number};/fset -go ${fset_option_index}+`
| kbd:[□ □ ■] | - | chat: bufor fset | Przełącz (włącz/wyłącz) lub edytuj wartośc opcji. | `+hsignal:fset_mouse+`
// TRANSLATION MISSING
| kbd:[□ □ ■] | left | chat: bufor fset | Zmniejsz wartość zmiennej liczbowej / koloru / enum, ustaw/rozszerz wartośc innego typu. | `+hsignal:fset_mouse+`
// TRANSLATION MISSING
| kbd:[□ □ ■] | right | chat: bufor fset | Zwiększ wartość zmiennej liczbowej / koloru / enum, ustaw/rozszerz wartośc innego typu. | `+hsignal:fset_mouse+`
| kbd:[□ □ ■] | up / down | chat: bufor fset | Zaznacz/odznacz wiele opcji. | `+hsignal:fset_mouse+`
// TRANSLATION MISSING
| kbd:[▲] | - | chat: /list buffer | Move five lines up in /list buffer. | `+/list -up 5+`
// TRANSLATION MISSING
| kbd:[▼] | - | chat: /list buffer | Move five lines down in /list buffer. | `+/list -down 5+`
// TRANSLATION MISSING
| kbd:[] | - | chat: /list buffer | Select line in /list buffer. | `+/window ${_window_number};/list -go ${_chat_line_y}+`
// TRANSLATION MISSING
| kbd:[□ □ ■] | - | chat: /list buffer | Join IRC channel on selected line. | `+hsignal:irc_list_mouse+`
| kbd:[▲] | - | chat: bufor skryptów | Przejdź 5 linii w górę w buforze skryptów. | `+/script up 5+`
| kbd:[▼] | - | chat: bufor skryptów | Przejdź 5 linii w dół w buforze skryptów. | `+/script down 5+`
| kbd:[■ □ □] | - | chat: bufor skryptów | Zaznacz linię w buforze skryptów. | `+/script go ${_chat_line_y}+`
| kbd:[□ □ ■] | - | chat: bufor skryptów | Zainstaluj/usuń skrypt. | `+/script go ${_chat_line_y};/script installremove -q ${script_name_with_extension}+`
| kbd:[□ □ ■] | lewo | chat: bufor fset | Zmniejsz wartość zmiennej liczbowej / koloru / enum, ustaw/rozszerz wartośc innego typu. | `+hsignal:fset_mouse+`
| kbd:[□ □ ■] | prawo | chat: bufor fset | Zwiększ wartość zmiennej liczbowej / koloru / enum, ustaw/rozszerz wartośc innego typu. | `+hsignal:fset_mouse+`
| kbd:[□ □ ■] | góra / dół | chat: bufor fset | Zaznacz/odznacz wiele opcji. | `+hsignal:fset_mouse+`
| kbd:[▲] | - | chat: /list buffer | Przesuń pięć linii w górę w buforze /list. | `+/list -up 5+`
| kbd:[▼] | - | chat: /list buffer | Przesuń pięć linii w dół w buforze /list. | `+/list -down 5+`
| kbd:[■ □ □] | - | chat: /list buffer | Wybierz linię w buforze /list. | `+/window ${_window_number};/list -go ${_chat_line_y}+`
| kbd:[□ □ ■] | - | chat: /list buffer | Wejdź na kanał IRC w zaznaczonej linii. | `+hsignal:irc_list_mouse+`
| kbd:[▲] | - | chat: bufor skryptów | Przejdź 5 linii w górę w buforze skryptów. | `+/script -up 5+`
| kbd:[▼] | - | chat: bufor skryptów | Przejdź 5 linii w dół w buforze skryptów. | `+/script -down 5+`
| kbd:[■ □ □] | - | chat: bufor skryptów | Zaznacz linię w buforze skryptów. | `+/script -go ${_chat_line_y}+`
| kbd:[] | - | chat: bufor skryptów | Zainstaluj/usuń skrypt. | `+/script -go ${_chat_line_y};/script installremove -q ${script_name_with_extension}+`
| kbd:[■ □ □] | góra / lewo | buflist | Przenieś bufor na niższy numer. | Sygnał `+buflist_mouse+`.
| kbd:[■ □ □] | dół / prawo | buflist | Przenieś bufor na wyższy numer. | Sygnał `+buflist_mouse+`.
| kbd:[■ □ □] | - | buflist | Przełącz na bufor (poprzednio odwiedzony bufor, jeśli jest to obecny bufor). | Sygnał `+buflist_mouse+`.
@@ -1849,14 +1887,13 @@ za pomocą skrótu kbd:[Alt+m] (komenda: `+/mouse toggle+`).
|===
[NOTE]
// TRANSLATION MISSING
^(1)^ Buttons: +
kbd:[□ □]: click on left button +
kbd:[□ □]: click on middle button +
kbd:[□ □ ◼]: click on right button +
Wheel: +
kbd:[]: wheel up +
kbd:[▼]: wheel down
^(1)^ Przyciski: +
kbd:[◼ □ □]: kliknięcie lewym przyciskiem +
kbd:[□ □]: kliknięcie środkowym przyciskiem +
kbd:[□ □]: kliknięcie prawym przyciskiem +
Kółko: +
kbd:[▲]: w górę +
kbd:[]: w dół
[[key_bindings_fset_buffer]]
=== Bufor fset
@@ -1875,9 +1912,7 @@ Poniższe skróty i akcje mogą zostać użyte w buforze fset (zobacz <<fset,wty
| kbd:[F11] | `pass:[<]` | Przewiń poziomo w lewo. | `+/fset -left+`
| kbd:[F12] | `pass:[>]` | Przewiń poziomo w prawo. | `+/fset -right+`
| kbd:[Alt+Space] | `t` | Przełącz zmienną boolowską. | `+/fset -toggle+`
// TRANSLATION MISSING
| kbd:[Alt+-] | `-` | Odejmij 1 od wartości liczbowej/koloru/enum, ustaw wartość pozostałych typów. | `+/fset -del -1+`
// TRANSLATION MISSING
| kbd:[Alt++] | `+` | Dodaj 1 do wartości liczbowej/koloru/enum, dodaj to wartości pozostałych typów. | `+/fset -add 1+`
| kbd:[Alt+f], kbd:[Alt+r] | `r` | Zresetuj wartość. | `+/fset -reset+`
| kbd:[Alt+f], kbd:[Alt+u] | `u` | Skasuj wartość. | `+/fset -unset+`
@@ -1906,11 +1941,10 @@ Poniższe skróty i akcje mogą zostać użyte w buforze fset (zobacz <<fset,wty
[NOTE]
^(1)^ Akcja musi zostać wprowadzona z linii poleceń i potwierdzona przez kbd:[Enter].
// TRANSLATION MISSING
[[key_bindings_irc_list_buffer]]
=== IRC /list buffer
=== Bufor IRC /list
These keys and actions are used on the IRC /list buffer (see command <<command_irc_list,/list>>).
Te skróty i akcje mogą zostać użyte w buforze IRC /list (zobacz komendę <<command_irc_list,/list>>).
[width="100%",cols="^.^3,^.^2,.^8,.^5",options="header"]
|===
@@ -1923,18 +1957,18 @@ These keys and actions are used on the IRC /list buffer (see command <<command_i
| kbd:[Alt+End] | `pass:[>>]` | Przejdź do ostatniej linii. | `+/list -go end+`
| kbd:[F11] | `pass:[<]` | Przewiń poziomo w lewo. | `+/list -left+`
| kbd:[F12] | `pass:[>]` | Przewiń poziomo w prawo. | `+/list -right+`
| kbd:[Ctrl+j] | `j` | Join IRC channel on selected line. | `+/list -join+`
| | `xxx` | Show only channels with "xxx" in name or topic (case insensitive). |
| | `n:xxx` | Show only channels with "xxx" in name (case insensitive). |
| | `t:xxx` | Show only channels with "xxx" in topic (case insensitive). |
| | `u:n` | Show only channels with at least "n" users. |
| | `u:>n` | Show only channels with more than "n" users. |
| | `u:<n` | Show only channels with less than "n" users. |
| | `c:xxx` | Show only channels matching the evaluated condition "xxx", using following variables: name, name2, users, topic. |
| | `s:x,y` | Sort channels by fields x,y (see command <<command_irc_list,/list>>). |
| | `s:` | Reset sort to its default value (see command <<command_irc_list,/list>>). |
| | `$` | Refresh list (run again command <<command_irc_list,/list>>). |
| | `q` | Close buffer. | `+/buffer close+`
| kbd:[Ctrl+j] | `j` | Wejdź na kanał IRC z zaznaczonej linii. | `+/list -join+`
| | `xxx` | Pokaż tylko kanały z "xxx" w nazwie lub temacie (wielkość liter nie jest uwzględniana). |
| | `n:xxx` | Pokaż tylko kanały z "xxx" w nazwie (wielkość liter nie jest uwzględniana). |
| | `t:xxx` | Pokaż tylko kanały z "xxx" w temacie (wielkość liter nie jest uwzględniana). |
| | `u:n` | Pokaż tylko kanały z przynajmniej "n" użytkownikami. |
| | `u:>n` | Pokaż tylko kanały z więcej niż "n" użytkownikami. |
| | `u:<n` | Pokaż tylko kanały z mniej niż "n" użytkownikami. |
| | `c:xxx` | Pokaż tylko kanały pasujące do przetworzonego warunku "xxx", z użyciem następujących zmiennych: name, name2, users, topic. |
| | `s:x,y` | Sortuj kanały po polach x,y (zobacz komendę <<command_irc_list,/list>>). |
| | `s:` | Zresetuj sortowanie do domyślnej wartości (zobacz komendę <<command_irc_list,/list>>). |
| | `$` | Odświerz listę (wykonaj ponownie komendę <<command_irc_list,/list>>). |
| | `q` | Zamknij bufor. | `+/buffer close+`
|===
[NOTE]
@@ -1948,27 +1982,22 @@ Te skróty klawiszowe i akcje mogą zostać użyte w buforze skryptów (zobacz <
[width="100%",cols="^.^3,^.^2,.^8,.^5",options="header"]
|===
| Skrót | Akcja ^(1)^ | Opis | Komenda
| kbd:[↑] | | Przejdź linię wyżej. | `+/script up+`
| kbd:[↓] | | Przejdź linię niżej. | `+/script down+`
| kbd:[↑] | | Przejdź linię wyżej. | `+/script -up+`
| kbd:[↓] | | Przejdź linię niżej. | `+/script -down+`
| kbd:[PgUp] | | Przewiń stronę do góry. | `+/window page_up+`
| kbd:[PgDn] | | Przewiń stronę w dół. | `+/window page_down+`
| kbd:[Alt+i] | `i` | Zainstaluj skrypt. | `+/script install+`
| kbd:[Alt+r] | `r` | Usuń skrypt. | `+/script remove+`
| kbd:[Alt+l] | `l` | Załaduj skrypt. | `+/script load+`
// TRANSLATION MISSING
| kbd:[Alt+L] | `L` | Reload script. | `+/script reload+`
| kbd:[Alt+L] | `L` | Przeładuj skrypt. | `+/script reload+`
| kbd:[Alt+u] | `u` | Wyładuj skrypt. | `+/script unload+`
| kbd:[Alt+Shift+A] | `A` | Automatycznie ładuj skrypt. | `+/script toggleautoload+`
| kbd:[Alt+h] | `h` | Zablokuj/odblokuj skrypt. | `+/script hold+`
| kbd:[Alt+v] | `v` | Pokarz skrypt. | `+/script show+`
// TRANSLATION MISSING
| | `s:x,y` | Sort scripts by fields x,y (see option <<option_script.look.sort,script.look.sort>>). |
// TRANSLATION MISSING
| | `s:` | Reset sort to its default value (see option <<option_script.look.sort,script.look.sort>>). |
// TRANSLATION MISSING
| | `$` | Refresh list. |
// TRANSLATION MISSING
| | `q` | Close buffer. | `+/buffer close+`
| | `s:x,y` | Sortuj skrypty po polach x,y (zobacz opcję <<option_script.look.sort,script.look.sort>>). |
| | `s:` | Zresetuj sortowanie do domyślnej wartości (zobacz opcję <<option_script.look.sort,script.look.sort>>). |
| | `$` | Odświerza listę. |
| | `q` | Zamyka bufor. | `+/buffer close+`
|===
[NOTE]
@@ -2668,27 +2697,37 @@ Możesz zmienić lub dodać przypisania za pomocą komendy `/key` używając kon
Nazwa zdarzenia zawiera modyfikator (opcjonalny), nazwę klawisza/rolki i gest
(opcjonalny). Różne elementy są rozdzielane przez `+-+`.
Lista modyfikatorów:
Lista modyfikatorów (według nazwy):
[width="100%",cols="1m,4",options="header"]
|===
| Modyfikator | Opis
| ctrl | Klawisz kbd:[Ctrl]
| alt | Klawisz kbd:[Alt]
| ctrl-alt | Klawisze kbd:[Ctrl] + kbd:[Alt]
| ctrl | Klawisz kbd:[Ctrl]
| shift | Klawisz kbd:[Shift] ^(1)^
|===
[NOTE]
^(1)^ Modyfikator `shift` można sporadycznie użyć w WeeChat ponieważ terminale
zazwyczaj używają tego modyfikatora do przechwytywania ewentów myszy.
Modyfikatory można ze sobą łączyć, na przykład:
* `alt-ctrl`
* `ctrl-shift`
* `alt-ctrl-shift`
Lista klawiszy/rolek:
[width="100%",cols="1m,4",options="header"]
|===
| Klawisz/rolka | Opis
| button1 | Lewy klawisz myszy
| button2 | Prawy klawisz myszy
| button3 | Środkowy klawisz myszy (często naciśnięcie rolki)
| button4 ... button9 | Dodatkowe klawisze
| wheelup | Rolka (w górę)
| wheeldown | Rolka (w dół)
| Klawisz/rolka | Opis
| button1 | Lewy klawisz myszy
| button2 | Prawy klawisz myszy
| button3 | Środkowy klawisz myszy (często naciśnięcie rolki)
| button4 ... button11 | Dodatkowe klawisze
| wheelup | Rolka (w górę)
| wheeldown | Rolka (w dół)
|===
Lista gestów (tylko dla klawiszy, nie rolki):
@@ -2724,7 +2763,7 @@ Przykłady zdarzeń:
* `button1-event-drag`
* `alt-button2-gesture-down-long`
* `wheelup`
* `ctrl-alt-wheeldown`
* `alt-ctrl-wheeldown`
* ...
[TIP]
@@ -3317,8 +3356,7 @@ Sekcje w pliku _weechat.conf_:
| bar | <<command_weechat_bar,/bar>> +
/set weechat.bar.* | Opcje pasków.
| layout | <<command_weechat_layout,/layout>> | Układy.
// TRANSLATION MISSING
| buffer | <<command_weechat_buffer,/buffer setauto>> | Properties auto-applied on buffers when they are opened.
| buffer | <<command_weechat_buffer,/buffer setauto>> | Właściwości automatycznie nanoszne na bufory podczas otwierania.
| notify | <<command_weechat_buffer,/buffer notify>> | Poziomy powiadomień dla buforów (opcje mogą być dodawane/usuwane w sekcji).
| filter | <<command_weechat_filter,/filter>> | Filtry.
| key | <<command_weechat_key,/key>> | Skróty klawiszowe dla domyślnego kontekstu.
@@ -4196,14 +4234,12 @@ Jeśli chcesz przywrócić standardowe odpowiedzi dla CTCP usuń opcję:
/unset irc.ctcp.version
----
// TRANSLATION MISSING
The CTCP replies are evaluated (see command <<command_weechat_eval,/eval>>) and
the following extra variables are available:
Odpowiedzi CTCP są przetwarzane (zobacz komendę <<command_weechat_eval,/eval>>),
można użyć następujących zmiennych:
[width="100%",cols="2,4,8",options="header"]
|===
// TRANSLATION MISSING
| Variable | Opis | Wartość/Przykład
| Zmienna | Opis | Wartość/Przykład
| `+${clientinfo}+` | Lista wspieranych CTCP | `+ACTION DCC CLIENTINFO PING SOURCE TIME VERSION+`
| `+${version}+` | Wersja WeeChat | `+4.1.0-dev+`
| `+${versiongit}+` | Wersja WeeChat + wersja Git ^(1)^ | `+4.1.0-dev (git: v4.0.0-51-g8f98b922a)+`
@@ -4221,8 +4257,7 @@ the following extra variables are available:
^(1)^ Wersja git jest wynikiem komendy `git describe`. Jest dostępna tylko jeśli
WeeChat został skompilowany wewnątrz repozytorium Git i Git był zainstalowany.
// TRANSLATION MISSING
The default CTCP replies are:
Domyślne odpowiedzi CTCP:
[width="100%",cols="2,4,8",options="header"]
|===
@@ -4528,8 +4563,13 @@ protokołów:
* _irc_: pośrednik IRC: używany do dzielenia połączeń z serwerami IRC z jednym
lub wieloma klientami IRC
* _api_: HTTP REST API, używane przez WeeChat i zdalne interfejsy do wyświetlania
i interakcji z WeeChat
* _weechat_: protokół używany przez zdalne interfejsy do wyświetlania i interakcji
z WeeChat, zobacz https://weechat.org/about/interfaces/[tą stronę ^↗^^].
z WeeChat.
Listę dostępnych zdalnych interfejsów dla protokołów _api_ i _weechat_ można znaleźć na
https://weechat.org/about/interfaces/[tej stronie ^↗^^].
[[relay_password]]
=== Hasło
@@ -4541,13 +4581,14 @@ Zaleca się ustawenia hasła dla pośrednika za pomocą poniższych komend:
/set relay.network.password "${sec.data.relay}"
----
Hasło to używane jest przez protokoły _irc_ i _weechat_.
To hasło jest używane przez wszystkie protokoły.
[[relay_totp]]
=== TOTP
TOTP (Time-based One-Time Password) może zostać użyte jako drugi stopień uwierzytelnienia
dla protokołu _weechat_, poza normalnym hasłem.
TOTP (Time-based One-Time Password) może być użyte jako drugi składnik uwierzytelniania
dla protokołów _api_ i _weechat_, poza samym hasłem.
Jest to opcjomalne ale podnosi to poziom bezpieczeństwa.
This is optional and increases the security level.
@@ -4641,6 +4682,41 @@ za pomocą tych komend:
/set irc.server.relay.password "{sec.data.relay_libera}"
----
[[relay_api_protocol]]
=== Protokół API
Wtyczka Relay może wysyłać dane do zdalnego WeeChat lub interfejsu za pomocą
protokołu HTTP REST API.
Możesz przeglądać i testować API online:
https://weechat.org/api/[WeeChat Relay API ^↗^^].
Możesz się połączyć przez WeeChat lub zdalnym interfejsem, sprawdź
https://weechat.org/about/interfaces/[tą stronę ^↗^^].
Na przykład:
----
/relay add api 9000
----
Możesz teraz połączyć się na porcie 9000 używając WeeChat lub zdalnym interfejsem
używając hasła
Now you can connect on port 9000 with a WeeChat or a remote interface using
password "moje_hasło".
Łączenie się z pośrednikiem _api_ z WeeChat:
----
/remote add weechat http://localhost:9000 -password=mypassword
/remote connect weechat
----
[NOTE]
Zdalny WeeChat musi używać tej samej wersji API co lokalny WeeChat, zaleca się
używanie dokładnie tych samych wersji WeeChat zarówno lokalnie jak i na zdalnej
maszynie.
[[relay_weechat_protocol]]
=== Protokół WeeChat
@@ -4681,7 +4757,9 @@ websocket = new WebSocket("ws://server.com:9000/weechat");
----
Port (9000 w przykładzie) to port zdefiniowany we wtyczce relay.
Adres URL musi się zawsze kończyć "/weechat" (dla protokołów _irc_ i _weechat_).
URI musi się kończyć "/weechat" dla protokołów _irc_ i _weechat_ oraz "/api"
dla protokołu _api_.
[[relay_unix_socket]]
=== Sockety UNIXowe
@@ -4724,7 +4802,7 @@ Sekcje w pliku _relay.conf_:
| network | /set relay.network.* | Opcje sieci.
| irc | /set relay.irc.* | Opcje specyficzne dla protokołu irc (pośrednik irc).
| port | <<command_relay_relay,/relay add>> +
/set relay.port.* | Porty używane do przekazywania (protokoły irc i weechat) (opcje w tej sekcji mogą być dodawane/usuwane).
/set relay.port.* | Porty używane do przekazywania (opcje w tej sekcji mogą być dodawane/usuwane).
|===
Opcje:
@@ -5144,7 +5222,9 @@ Dopasowanie grup może być także użyte:
* `+${re:0}+` do `+${re:99}+`: `+${re:0}+` to pełne dopasowanie, `+${re:1}+` do
`+${re:99}+` to złapane grupy
* `+${re:+}+`: ostatnie dopasowanie (z najwyższym numerem)
* `pass:[${re:+}]`: ostatnie dopasowanie (z najwyższym numerem)
* `+${re:#}+`: index of last group captured
* `+${re:repl_index}+`: index of replacement being done (starts to 1)
* `+${hide:c,${re:N}}+`: dopasuje "N" ze wszystkimi znakami zastąpionymi przez "c"
(przykład: `+${hide:*,${re:2}}+` to grupa #2 ze wszystkimi znakami zastąpionymi przez
`+*+`).
@@ -5212,7 +5292,7 @@ od typu hooka:
| signal | tg_signal_data |
| hsignal | |
| modifier | tg_string | tg_string
| line | message | buffer, buffer_name, y, date, date_printed, str_time, tags, notify_level, highlight, prefix, message
| line | message | buffer, buffer_name, y, date, date_usec, date_printed, date_usec_printed, str_time, tags, notify_level, highlight, prefix, message
| print | tg_message |
| command | tg_argv_eol1 |
| command_run | tg_command |
@@ -5293,7 +5373,7 @@ są dodawane do tablicy hashy:
| server | ciąg | Nazwa serwera (przykład: "libera").
| tags | ciąg | Tagi w wiadomości (rzadko używane).
| message_without_tags | ciąg | Wiadomość bez tagów.
| nick | ciąg | Nick.
| nick | ciąg | Nick. ^(1)^
| host | ciąg | Nazwa hosta.
| command | ciąg | Komendy IRC (na przykład: "PRIVMSG", "NOTICE", ...).
| channel | ciąg | Kanał IRC.
@@ -5305,6 +5385,10 @@ są dodawane do tablicy hashy:
| pos_text | ciąg | Indeks _text_ w wiadomości ("-1" jeśli _text_ nie został znaleziony).
|===
[NOTE]
^(1)^ Nick to nadawca wiadomości. +
Twój nick na serwerze to `${irc_server.nick}`.
Kiedy dane są wskaźnikiem, zmienna `+tg_signal_data+` może zostać użyta do
odczytania pola w hdata (w tym przypadku jest to wskaźnik na bufor):
@@ -5371,7 +5455,9 @@ Callback "line" ustawia następujące zmienne w tablicy hashy:
| buffer_type | ciąg | Typ bufora ("formatted" lub "free").
| y | ciąg | Numer linii bufora z wolną zawartością (≥ 0), -1 dla bufora ze sformatowaną zawartością.
| date | ciąg | Linia z datą (timestamp).
| date_usec | ciąg | Mikrosekundy w linii z datą.
| date_printed | ciąg | Data, kiedy linia została wyświetlona (timestamp).
| date_usec_printed | ciąg | Mikrosekundy w dacie wyświetlenia linii.
| str_time | ciąg | Date do wyświetlenia. Może zawierać kody kolorów.
| tags | ciąg | Tagi wiadomości (z przecinkiem dodanym na początku/końcu ciągu).
| displayed | ciąg | "1" jeśli wyświetlono, "0" jeśli nie wyświetlono.
@@ -5410,7 +5496,7 @@ Callback "print" ustawia następujące zmienne w tablicy hashy:
|===
| Zmienna | Typ | Opis
| buffer | wskaźnik | Bufor.
| tg_date | ciąg | Data/czas wiadomości (format: `YYYY-MM-DD hh:mm:ss`).
| tg_date | ciąg | Data/czas wiadomości (format: `%FT%T.%f`, zobacz link:weechat_plugin_api.en.html#_util_strftimeval[Opis API wtyczek WeeChat / util_strftimeval ^↗^^]).
| tg_displayed | ciąg | "1" jeśli wyświetlone, "0" jeśli linia odfiltrowana.
| tg_highlight | ciąg | "1" jeśli higlight, inaczej "0".
| tg_prefix | ciąg | Prefiks.
@@ -5475,7 +5561,7 @@ Callback "timer" ustawia następujące zmienne w tablicy hashy:
|===
| Zmienna | Typ | Opis
| tg_remaining_calls | ciąg | Liczba pozostałych wywołań.
| tg_date | ciąg | Obecna data/czas (format: `YYYY-MM-DD hh:mm:ss`).
| tg_date | ciąg | Obecna data/czas `%FT%T.%f`, zobacz link:weechat_plugin_api.en.html#_util_strftimeval[Opis API wtyczek WeeChat / util_strftimeval ^↗^^]).
|===
[[trigger_data_config]]
+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 Лиценце, или (по вашој жељи) било којој каснијој верзији.
+391 -347
View File
@@ -115,96 +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-sys.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".
|       wee-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 | Линије у баферу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]]
@@ -212,181 +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 команде.
// TRANSLATION MISSING
|       buflist-completion.c | Buflist completions.
|       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-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]]
@@ -394,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 | Тестови: помоћне функције.
|          test-core-sys.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-ctcp.cpp | Тестови: IRC CTCP.
|             test-irc-ignore.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 | Тестови: аутентификација клијената.
|             irc/ | Корен unit тестова за Релеј „irc” протокол.
|                test-relay-irc.cpp | Тестови: РЕлеј „irc” протокол.
|          xfer/ | Корен unit тестова за Xfer додатак.
|             test-xfer-file.cpp | Тестови: фајл функције.
|             test-xfer-network.cpp | Тестови: мрежне функције.
| Путања/фајл | Опис
| 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-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]]
@@ -529,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.
*
@@ -553,7 +597,7 @@ WeeChat „језгро” се налази у следећим директо
Када пишете C кôд, *морате* да се придржавате неких основних правила:
* Користите 4 размака за увлачење редова. Не употребљавајте табове, они су зло.
* За увлачење користите 4 размака (без табулатора).
* Покушајте да не прекорачите 80 карактера по линији, осим ако је то неопходно за читљивост.
* Користите коментаре `+/* коментар */+` (а не коментаре у C99 стилу као што је `+// коментар+`).
* Испред сваке функције додајте коментар који објашњава шта она ради (увек користите вишелинијски коментар, чак и ако је опис кратак).
@@ -756,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, ...
@@ -764,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]]
==== Структуре
+42 -27
View File
@@ -517,14 +517,30 @@ UXTerm*metaSendsEscape: true
Ако користите macOS Terminal апликацију, укључите опцију „Use option as meta key” у менију Settings/Keyboard након чега можете користити тастер kbd:[Option] као 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.
Ако извршавате 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]]
=== Како могу да прилагодим тастерске пречице?
@@ -1022,34 +1038,33 @@ export OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES
Погледајте link:weechat_user.sr.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?
=== Желим да преместим свој WeeChat на други уређај и да задржим текућу конфигурацију, шта би требало да копирам?
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).
Следећом командом најпре проверите које директоријуме користи WeeChat: `/debug dirs`. +
Морају да се копирају директоријуми home/config и home/data (сви фајлови и поддиректоријуми).
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`.
На пример, ако користите XDG директоријуме (подразумевано са WeeChat ≥ 3.2),
директоријуми би требало да буду `$HOME/.config/weechat` и `$HOME/.local/share/weechat`. +
Ако користите један директоријум (подразумевано са WeeChat < 3.2), директоријум би
требало да буде `$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.
WeeChat верзија на новом уређају мора да буде већа или једнака од верзије на почетном
уређају. +
Враћање WeeChat конфигурације уназад *НИЈЕ ПОДРЖАНО* и може да је поквари,
па на тај начин 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).
. Напустите Weechat: `/quit` (или `/upgrade -quit` ако желите могућност да наставите сесију,
што укључује садржај свих бафера).
. Копирајте све директоријуме, поддиректоријуме и фајлове на нови уређај, задржавајући
иста имена и дозволе.
. Није обавезно: копирајте све фајлове ван ових директоријума на које указује ваша
конфигурација (не препоручује се употреба фајлова ван WeeChat директоријума).
. Покрените WeeChat на новом уређају: `weechat` (или `weechat --upgrade` у случају да сте
сачували сесију).
[[development]]
== Развој
File diff suppressed because it is too large Load Diff
+26 -10
View File
@@ -439,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',
@@ -457,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: []
@@ -473,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: []
@@ -650,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
@@ -661,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
@@ -1943,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_:
@@ -1964,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',
@@ -1977,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]]
== Уобичајени задаци
+190 -68
View File
@@ -34,7 +34,8 @@ WeeChat (Wee Enhanced Environment for Chat) је бесплатни чет кл
https://datatracker.ietf.org/doc/html/rfc2812[2812 ^↗^^],
https://datatracker.ietf.org/doc/html/rfc2813[2813 ^↗^^] и
https://datatracker.ietf.org/doc/html/rfc7194[7194 ^↗^^],
* IRC прокси и релеј за удаљене интерфејсе
// TRANSLATION MISSING
* IRC proxy and relay for WeeChat and remote interfaces
* подржавање различитих платформи (GNU/Linux, *BSD, macOS, Windows и остале)
* 100% GPL, слободан софтвер
@@ -126,14 +127,16 @@ WeeChat мора да се изгради са CMake.
Relay додатак: подршка за TLS везе.
| zlib1g-dev |
// TRANSLATION MISSING
| Logger додатак: компресија ротирајућих лог фајлова (gzip). +
Relay додатак: компресија порука (WeeChat -> клијент) са https://zlib.net/[zlib ^↗^^] (weechat протокол). +
Relay додатак: компресија порука (WeeChat -> клијент) са https://zlib.net/[zlib ^↗^^]
(api and weechat protocols). +
Script додатак: читање индекс фајла репозиторијума (gzip).
|===
[NOTE]
^(1)^ Име долази из Debian GNU/Linux Bookworm дистрибуције, верзија и
име могу да буду другачији у осталим дитрибуцијама. +
име могу да буду другачији у осталим дистрибуцијама. +
^(2)^ GnuTLS ≥ 3.0.21 је неопходан за IRC SASL аутентификацију механизмом ECDSA-NIST256P-CHALLENGE.
Следећа табела приказује листу пакета који нису обавезни за компајлирање програма WeeChat:
@@ -151,9 +154,14 @@ WeeChat мора да се изгради са CMake.
| ca-certificates |
| Сертификати за TLS везе.
| libcjson-dev |
| Relay додатак: протокол „api” (HTTP REST API).
| libzstd-dev | ≥ 0.8.1
// TRANSLATION MISSING
| Logger додатак: компресија ротирајућих лог фајлова (zstandard). +
Relay додатак: компресија порука (WeeChat -> клијент) са https://facebook.github.io/zstd/[Zstandard ^↗^^] (weechat протокол).
Relay додатак: компресија порука (WeeChat -> клијент) са https://facebook.github.io/zstd/[Zstandard ^↗^^]
(api and weechat protocols).
| libaspell-dev / libenchant-dev |
| Spell додатак.
@@ -239,8 +247,7 @@ $ make install
Можете да користите опције за CMake, у формату: `-DОПЦИЈА=ВРЕДНОСТ`.
// TRANSLATION MISSING
List of available options:
Листа доступних опција:
[width="100%", cols="3m,3,3m,10", options="header"]
|===
@@ -269,6 +276,9 @@ List of available options:
| ENABLE_CHARSET | `ON`, `OFF` | ON
| Компајлира <<charset,Charset додатак>>.
| ENABLE_CJSON | `ON`, `OFF` | ON
| Подршка за JSON са https://github.com/DaveGamble/cJSON[cJSON ^↗^^] библиотеком.
| ENABLE_MAN | `ON`, `OFF` | OFF
| Изграђује man страницу.
@@ -294,9 +304,8 @@ List of available options:
| ENABLE_GUILE | `ON`, `OFF` | ON
| Компајлира <<scripting_plugins,Guile додатак>> (Scheme).
// TRANSLATION MISSING
| ENABLE_HEADLESS | `ON`, `OFF` | ON
| Compile headless binary.
| Компајлира извршни фајл без корисничког интерфејса.
| ENABLE_IRC | `ON`, `OFF` | ON
| Компајлира <<irc,IRC додатак>>.
@@ -356,9 +365,8 @@ List of available options:
| ENABLE_XFER | `ON`, `OFF` | ON
| Компајлира <<xfer,Xfer додатак>>.
// TRANSLATION MISSING
| ENABLE_ZSTD | `ON`, `OFF` | ON
| Enable https://facebook.github.io/zstd/[Zstandard ^↗^^] compression.
| Укључује https://facebook.github.io/zstd/[Zstandard ^↗^^] компресију.
| ENABLE_TESTS | `ON`, `OFF` | OFF
| Компајлира тестове.
@@ -505,11 +513,11 @@ Copying output to /tmp/crash.txt.
at /some_path/src/core/weechat.c:351
#3 <signal handler called>
#4 0x000000000044cb24 in hook_process_timer_cb (arg_hook_process=0x254eb90,
remaining_calls=<value optimized out>) at /some_path/src/core/wee-hook.c:1364
remaining_calls=<value optimized out>) at /some_path/src/core/core-hook.c:1364
hook_process = 0x254eb90
status = <value optimized out>
#5 0x000000000044cc7d in hook_timer_exec ()
at /some_path/src/core/wee-hook.c:1025
at /some_path/src/core/core-hook.c:1025
tv_time = {tv_sec = 1272693881, tv_usec = 212665}
ptr_hook = 0x2811f40
next_hook = 0x0
@@ -729,7 +737,7 @@ WeeChat подразумевано користи XDG директоријуме
=== Команда upgrade
Програм WeeChat у месту може да поново покрене нови бинарни фајл, употребом команде <<command_weechat_upgrade,/upgrade>>: садржаји бафера и не-TLS везе се задржавају. +
Током процеса ажурирња, TLS конекције се губе и аутоматски се обнављају
Током процеса ажурирања, TLS конекције се губе и аутоматски се обнављају
након ажурирања (са GnuTLS тренутно није могуће поновно учитавање TLS сесија).
Команда такође може да се употреби и када морате поново да покренете машину, на пример, да бисте ажурирали кернел или да преместите свој WeeChat на другу машину:
@@ -865,11 +873,30 @@ _input_ трака садржи следеће подразумеване ста
| Ставка | Пример | Опис
| input_prompt | `[@Flashy(i)]` | Одзив за унос, за irc: надимак и режими (режим „+i” значи невидљив на серверу libera).
| away | `(одсутан)` | Индикатор одсутности.
| input_search | `[Претрага (~ str,msg)]` | Индикатор претраге („`~`”: не прави се разлика у величини слова, „`==`”: прави се разлика у величини слова, „`str`”: стринг претраге, „`regex`”: претрага по регуларном изразу, „`msg`”: претрага у порукама, „`pre`”: претрага у префиксима, „`pre\|msg`”: претрага и у префиксима и у порукама).
| input_search | `[Претрага линија (~ str,msg)]` | Индикатор претраге (погледајте испод).
| input_paste | `[Да налепим 7 линија? [ctrl-y] Да [ctrl-n] Не]` | Питање за корисника пре налељпивања линија.
| input_text | `hi peter!` | Текст уноса.
| input_text | `ћао петре!` | Текст уноса.
|===
Постоје два режима претраге:
* претрага у линијама, на пример `[Претрага линија (~ str,msg)]`, са следећим информацијама:
** `~`: не прави се разлика у величини слова
** `==`: прави се разлика у величини слова
** `str`: стринг претраге
** `regex`: претрага по регуларном изразу
** `msg`: претрага у порукама
** `pre`: претрага у префиксима
** `pre\|msg`: претрага и у префиксима и у порукама
* претрага по историји команди, на пример `[Претрага команди (~ str,local)]`,
са следећим информацијама:
** `~`: не прави се разлика у величини слова
** `==`: прави се разлика у величини слова
** `str`: стринг претраге
** `regex`: претрага по регуларном изразу
** `local`: претрага по локалној историји бафера
** `global`: претрага по глобалној историји.
_nicklist_ трака садржи следеће подразумеване ставке:
[width="100%", cols="^3,^3,9", options="header"]
@@ -890,10 +917,8 @@ _nicklist_ трака садржи следеће подразумеване с
| buffer_short_name | `#test` | Кратко име текућег бафера.
| buflist2 | `1.weechat` | Листа бафера, друга ставка траке (погледајте опцију <<option_buflist.look.use_items,buflist.look.use_items>>).
| buflist3 | `1.weechat` | Листа бафера, трећа ставка траке (погледајте опцију <<option_buflist.look.use_items,buflist.look.use_items>>).
// TRANSLATION MISSING
| buflist4 | `1.weechat` | List of buffers, fourth bar item (see option <<option_buflist.look.use_items,buflist.look.use_items>>).
// TRANSLATION MISSING
| buflist5 | `1.weechat` | List of buffers, fifth bar item (see option <<option_buflist.look.use_items,buflist.look.use_items>>).
| buflist4 | `1.weechat` | Листа бафера, четврта ставка траке (погледајте опцију <<option_buflist.look.use_items,buflist.look.use_items>>).
| buflist5 | `1.weechat` | Листа бафера, пета ставка траке (погледајте опцију <<option_buflist.look.use_items,buflist.look.use_items>>).
| fset | `+buflist.look.sort: …+` | Помоћ у вези тренутно изабране опције у fset баферу.
| irc_channel | `#test` | Име тренутног IRC канала.
| irc_host | `+user@host.com+` | Име тренутног IRC хоста.
@@ -950,6 +975,11 @@ WeeChat командна линија (на дну прозора) вам омо
| kbd:[Ctrl+c], kbd:[c],
kbd:[xx], kbd:[,],
kbd:[yy] | Текст у боји `xx` и позадина у `yy` (погледајте листу боја испод).
| kbd:[Ctrl+c], kbd:[d],
kbd:[xxxxxx] | Текст у боји `xxxxxx` (RGB као хексадецимални број, на пример, `FF0000` за црвену).
| kbd:[Ctrl+c], kbd:[d],
kbd:[xxxxxx], kbd:[,],
kbd:[yyyyyy] | Текст у боји `xxxxxx` и позадина `yyyyyy` (RGB као хексадецимални број).
| kbd:[Ctrl+c], kbd:[i] | Текст у курзиву.
| kbd:[Ctrl+c], kbd:[o] | Искључивање боје и атрибута.
| kbd:[Ctrl+c], kbd:[v] | Обрнути видео (боје текста и позадине се замењују једна са другом).
@@ -957,7 +987,8 @@ WeeChat командна линија (на дну прозора) вам омо
|===
[NOTE]
Исти кôд (без броја за kbd:[Ctrl+c], kbd:[c]) може да се употреби за заустављање атрибута.
Исти кôд (без броја за kbd:[Ctrl+c], kbd:[c] и kbd:[Ctrl+c], kbd:[d])
може да се употреби за стопирање атрибута.
Кодови боја за kbd:[Ctrl+c], kbd:[c] су:
@@ -1171,7 +1202,7 @@ _прозор_ је површина екрана која приказује б
│12:52 -- Канал је креиран у Уто Јан 27 06:30:17 2009 │
│12:54 <peter> hey! │
│12:55 <@joe> peter: hook_process: https://weechat.org/files/doc/weechat/devel/weechat_│
│plugin_api.en.html#_weechat_hook_process
│plugin_api.en.html#_weechat_hook_process │
└──────────────────────────────────────────────────────────────────────────────────────┘
....
@@ -1379,10 +1410,8 @@ _прозор_ је површина екрана која приказује б
[[buflist]]
=== Листа бафера
// TRANSLATION MISSING
Buflist додатак приказује листу бафера у ставки траке која се зове „buflist”
(four other bar items "buflist2", "buflist3", "buflist4" and "buflist5" are
available as well). +
(доступне су и четири остале ставке траке "buflist2", "buflist3", "buflist4" и "buflist5"). +
Подразумевана трака „buflist” са овом ставком се креира током покретања програма.
[[buflist_commands]]
@@ -1495,6 +1524,7 @@ WeeChat нуди доста подразумеваних тастерских п
| Тастер | Опис | Команда
| kbd:[Ctrl+c], kbd:[b] | Уметање кода за подебљани текст. | `+/input insert \x02+`
| kbd:[Ctrl+c], kbd:[c] | Уметање кода за обојени текст. | `+/input insert \x03+`
| kbd:[Ctrl+c], kbd:[d] | Уметање кода за обојени текст (RGB боја, као хексадецимални број). | `+/input insert \x04+`
| kbd:[Ctrl+c], kbd:[i] | Уметање кода за текст у курзиву. | `+/input insert \x1D+`
| kbd:[Ctrl+c], kbd:[o] | Уметање кода за ресет боје. | `+/input insert \x0F+`
| kbd:[Ctrl+c], kbd:[v] | Уметање кода за обрнуту боју. | `+/input insert \x16+`
@@ -1528,8 +1558,8 @@ WeeChat нуди доста подразумеваних тастерских п
[width="100%", cols="^.^3,.^8,.^5", options="header"]
|===
| Тастер | Опис | Команда
| kbd:[Ctrl+r] | Претрага на текст у историји бафера (погледајте <<key_bindings_search_context,тастери уsearch”>>). | `+/input search_text_here+`
| kbd:[Ctrl+s], kbd:[Ctrl+u] | Поставља маркер непрочитано за све бафере. | `+/allbuf /buffer set unread+`
| kbd:[Ctrl+r] | Претрага текста у историји команди (погледајте <<key_bindings_histsearch_context,тастери за контекст „histsearch”>>). | `+/input search_history+`
| kbd:[Ctrl+s] | Претрага текста у линијама бафера (погледајте <<key_bindings_search_context,тастери за контекст „search”>>). | `+/input search_text_here+`
| kbd:[Ctrl+x] | Мења текући бафер ако су бафери спојени са истим бројем, на пример, прелазак на други IRC сервер бафер. | `+/buffer switch+`
| kbd:[Alt+x] | Зум на спојени бафер (kbd:[Alt+x] поново: приказује све спојене бафере). | `+/buffer zoom+`
| kbd:[PgUp] | Скролује навише једну страну у историји бафера. | `+/window page_up+`
@@ -1555,6 +1585,7 @@ WeeChat нуди доста подразумеваних тастерских п
| kbd:[Alt+n] | Скроловање до наредног истицања. | `+/window scroll_next_highlight+`
| kbd:[Alt+p] | Скроловање на претходно истицање. | `+/window scroll_previous_highlight+`
| kbd:[Alt+u] | Скроловање на прву непрочитану линију у баферу. | `+/window scroll_unread+`
| kbd:[Alt+Shift+U] | Поставља маркер непрочитано за све бафере. | `+/allbuf /buffer set unread+`
| kbd:[Alt+<] | Прелаз на претходни бафер у листи посећених бафера. | `+/buffer jump prev_visited+`
| kbd:[Alt+>] | Прелаз на наредни бафер у листи посећених бафера. | `+/buffer jump next_visited+`
| kbd:[Alt+/] | Прелаз на последње приказани бафер. | `+/buffer jump last_displayed+`
@@ -1631,22 +1662,48 @@ WeeChat нуди доста подразумеваних тастерских п
[[key_bindings_search_context]]
=== Контекст претраге
Следећи тастери се користе у „search” контексту (када се притисне kbd:[Ctrl+r] за претрагу текста у баферу).
Следећи тастери се користе у контексту „search” (када се притисне kbd:[Ctrl+s] за претрагу
текста у линијама бафера).
[width="100%", cols="^.^3,.^8,.^5", options="header"]
|===
| Тастер | Опис | Команда
| kbd:[Ctrl+r] | Пребацивање типа претраге: стринг (подраз.), регуларни израз. | `+/input search_switch_regex+`
| kbd:[Ctrl+x] | Пребацивање типа претраге: стринг (подраз.), регуларни израз. | `+/input search_switch_regex+`
| kbd:[Alt+c] | Пребацивање разликовања величине слова у претраци. | `+/input search_switch_case+`
| kbd:[Tab] | Пребацивање претраге у: порукама (подраз.), префиксима, префиксима + порукама. | `+/input search_switch_where+`
| kbd:[↑] | Претрага претходне линије. | `+/input search_previous+`
| kbd:[] | Претрага наредне линије. | `+/input search_next+`
| kbd:[Ctrl+r] +
kbd:[] | Претрага претходне линије. | `+/input search_previous+`
| kbd:[Ctrl+s] +
kbd:[↓] | Претрага наредне линије. | `+/input search_next+`
| kbd:[Enter] +
kbd:[Ctrl+j] +
kbd:[Ctrl+m] | Заустављање претраге на текућој позицији. | `+/input search_stop_here+`
| kbd:[Ctrl+q] | Заустављање претраге и ресетовање скрола на стање пре почетка претраге текста. | `+/input search_stop+`
|===
[[key_bindings_histsearch_context]]
=== Контекст претраге историје
Следећи тастери се користе у контексту „histsearch” (када се притисне kbd:[Ctrl+r] за претрагу
текста у историји команди).
[width="100%",cols="^.^3,.^8,.^5",options="header"]
|===
| Тастер | Опис | Команда
| kbd:[Ctrl+x] | Пребацивање типа претраге: стринг (подраз.), регуларни израз. | `+/input search_switch_regex+`
| kbd:[Alt+c] | Пребацивање разликовања величине слова у претрази. | `+/input search_switch_case+`
| kbd:[Tab] | Пребацивање претраге по: локалној историји бафера (подразумевано), глобалној историји. | `+/input search_switch_where+`
| kbd:[Ctrl+r] +
kbd:[↑] | Претрага по претходним (старијим) ставкама историје. | `+/input search_previous+`
| kbd:[Ctrl+s] +
kbd:[↓] | Претрага по наредним (новијим) ставкама историје. | `+/input search_next+`
| kbd:[Enter] +
kbd:[Ctrl+j] +
kbd:[Ctrl+m] | Заустављање претраге и употреба пронађеног улаза. | `+/input search_stop_here+`
| kbd:[Ctrl+o] | Извршавање команде пронађене у историји и уметање наредне у командну линију. | `+/input history_use_get_next+`
| kbd:[Ctrl+q] | Заустављање претраге и враћање улаза на почетну вредност. | `+/input search_stop+`
|===
[[key_bindings_cursor_context]]
=== Контекст курсора
@@ -1713,10 +1770,10 @@ WeeChat нуди доста подразумеваних тастерских п
| kbd:[▼] | - | чет: /list бафер | Помера за пет линија наниже у /list баферу. | `+/list -down 5+`
| kbd:[■ □ □] | - | чет: /list бафер | Бира линију у /list баферу. | `+/window ${_window_number};/list -go ${_chat_line_y}+`
| kbd:[□ □ ■] | - | чет: /list бафер | Приступа IRC каналу на изабраној линији. | `+hsignal:irc_list_mouse+`
| kbd:[▲] | - | чет: script бафер | Помера за пет линија навише у script баферу. | `+/script up 5+`
| kbd:[▼] | - | чет: script бафер | Помера за пет линија наниже у script баферу. | `+/script down 5+`
| kbd:[■ □ □] | - | чет: script бафер | Бира линију у script баферу. | `+/script go ${_chat_line_y}+`
| kbd:[□ □ ■] | - | чет: script бафер | Инсталира/уклања скрипту. | `+/script go ${_chat_line_y};/script installremove -q ${script_name_with_extension}+`
| kbd:[▲] | - | чет: script бафер | Помера за пет линија навише у script баферу. | `+/script -up 5+`
| kbd:[▼] | - | чет: script бафер | Помера за пет линија наниже у script баферу. | `+/script -down 5+`
| kbd:[■ □ □] | - | чет: script бафер | Бира линију у script баферу. | `+/script -go ${_chat_line_y}+`
| kbd:[□ □ ■] | - | чет: script бафер | Инсталира/уклања скрипту. | `+/script -go ${_chat_line_y};/script installremove -q ${script_name_with_extension}+`
| kbd:[■ □ □] | горе / лево | листа бафера | Помера бафер на нижи број. | Signal `+buflist_mouse+`.
| kbd:[■ □ □] | доле / десно | листа бафера | Помера бафер на виши број. | Signal `+buflist_mouse+`.
| kbd:[■ □ □] | - | листа бафера | Пребацивање на бафер (претходно посећени багер ако је бафер текући). | Signal `+buflist_mouse+`.
@@ -1834,21 +1891,19 @@ kbd:[▼]: точкић доле
[width="100%", cols="^.^3,^.^2,.^8,.^5", options="header"]
|===
| Тастер | Акција ^(1)^ | Опис | Команда
| kbd:[↑] | | Помера једну линију навише. | `+/script up+`
| kbd:[↓] | | Помера једну линију наниже. | `+/script down+`
| kbd:[↑] | | Помера једну линију навише. | `+/script -up+`
| kbd:[↓] | | Помера једну линију наниже. | `+/script -down+`
| kbd:[PgUp] | | Помера једну страну навише. | `+/window page_up+`
| kbd:[PgDn] | | Помера једну страну наниже. | `+/window page_down+`
| kbd:[Alt+i] | `i` | Инсталира скрипту. | `+/script install+`
| kbd:[Alt+r] | `r` | Брише скрипту. | `+/script remove+`
| kbd:[Alt+l] | `l` | Учитава скрипту. | `+/script load+`
// TRANSLATION MISSING
| kbd:[Alt+L] | `L` | Reload script. | `+/script reload+`
| kbd:[Alt+L] | `L` | Поново учитава скрипту. | `+/script reload+`
| kbd:[Alt+u] | `u` | Уклања скрипту из меморије. | `+/script unload+`
| kbd:[Alt+Shift+A] | `A` | Аутоучитавање скрипте. | `+/script toggleautoload+`
| kbd:[Alt+h] | `h` | Задржава/отпушта скрипту. | `+/script hold+`
| kbd:[Alt+v] | `v` | Преглед скрипте. | `+/script show+`
// TRANSLATION MISSING
| | `s:x,y` | Sort scripts by fields x,y (погледајте опцију <<option_script.look.sort,script.look.sort>>). |
| | `s:x,y` | Сортира скрипте по пољима x,y (погледајте опцију <<option_script.look.sort,script.look.sort>>). |
| | `s:` | Ресетује сортирање на подразумевану вредност (погледајте опцију <<option_script.look.sort,script.look.sort>>). |
| | `$` | Освежава листу. |
| | `q` | Затвара бафер. | `+/buffer close+`
@@ -2215,7 +2270,7 @@ include::{autogendir}/autogen_user_options.sr.adoc[tag=charset_options]
Програм WeeChat подразумевано истиче поруке од осталих корисника које садрже у себи ваш надимак, тако да истицање зависи од бафера (ваш надимак не мора да буде исти у свим баферима).
Остале речи моожете да додате опцијом <<option_weechat.look.highlight,weechat.look.highlight>>, на пример ако желите да се истиче ваш надимак и „реч1”, „реч2”, као и све речи које почињу са „test”:
Остале речи можете да додате опцијом <<option_weechat.look.highlight,weechat.look.highlight>>, на пример ако желите да се истиче ваш надимак и „реч1”, „реч2”, као и све речи које почињу са „test”:
----
/set weechat.look.highlight "реч1,реч2,test*"
@@ -2486,27 +2541,37 @@ link:weechat_faq.sr.html#mouse[WeeChat ЧПП / Миш ^↗^^].
Име догађаја се састоји од модификатора (није обавезан), имена тастера/точкића и гестикулације (није обавезна). Различити елементи се раздвајају са `+-+`.
Листа модификатора:
Листа модификатора (по редоследу имена догађаја):
[width="100%", cols="1m,4", options="header"]
|===
| Модификатор | Опис
| ctrl | Тастер kbd:[Ctrl]
| alt | Тастер kbd:[Alt]
| ctrl-alt | Тастери kbd:[Ctrl] + kbd:[Alt]
| ctrl | Тастер kbd:[Ctrl]
| shift | Тастер kbd:[Shift] ^(1)^
|===
[NOTE]
^(1)^ Модификатор `shift` може ретко да се користи у програму WeeChat јер га многи терминали
користе за директно хватање догађаја миша.
Неколико модификатора може да се комбинује, на пример:
* `alt-ctrl`
* `ctrl-shift`
* `alt-ctrl-shift`
Листа тастера/точкића:
[width="100%", cols="1m,4", options="header"]
|===
| Тастер/точкић | Опис
| button1 | Клик левим тастером
| button2 | Клик десним тастером
| button3 | Клик средњим тастером (често је то клик точкићем)
| button4 ... button9 | Клик на додатне тастере
| wheelup | Точкић (навише)
| wheeldown | Точкић (наниже)
| Тастер/точкић | Опис
| button1 | Клик левим тастером
| button2 | Клик десним тастером
| button3 | Клик средњим тастером (често је то клик точкићем)
| button4 ... button11 | Клик на додатне тастере
| wheelup | Точкић (навише)
| wheeldown | Точкић (наниже)
|===
Листа гестикулација (само за тастере, не за точкић):
@@ -2542,7 +2607,7 @@ link:weechat_faq.sr.html#mouse[WeeChat ЧПП / Миш ^↗^^].
* `button1-event-drag`
* `alt-button2-gesture-down-long`
* `wheelup`
* `ctrl-alt-wheeldown`
* `alt-ctrl-wheeldown`
* ...
[TIP]
@@ -3543,10 +3608,10 @@ WeeChat парсира ову ознаку у чува је у поруци, а
Спецификација: https://ircv3.net/specs/extensions/batch[batch ^↗^^]
Ова могућност дозвољава да сервер шаље докађаје у пакету (тј. да групише неколико
Ова могућност дозвољава да сервер шаље догађаје у пакету (тј. да групише неколико
порука које су у вези).
WeeChat за сада само само чува поруке примљене у пакету и обарђује их као и обично касније,
WeeChat за сада само само чува поруке примљене у пакету и обрађује их као и обично касније,
када се заврши пакет.
[[irc_ircv3_cap_notify]]
@@ -3607,7 +3672,7 @@ CAP alice LS * :draft/multiline=max-bytes=4096,max-lines=24
Вишелинијске могу да буду само стандардне поруке, као и оне које шаље команда
<<command_irc_notice,/notice>>. +
Ова могућност не утиче на ACTION CTCP поруке које се шаљу комадном <<command_irc_me,/me>>.
Ова могућност не утиче на ACTION CTCP поруке које се шаљу комадом <<command_irc_me,/me>>.
То значи да се вишелинијске акције шаљу као више акција.
[WARNING]
@@ -3841,7 +3906,7 @@ WeeChat приказује све додатне информације које
/query пера
----
Ако желите да затворите приватни бафер, урадите то следћем командом у приватном баферу:
Ако желите да затворите приватни бафер, урадите то следећом командом у приватном баферу:
----
/close
@@ -4244,8 +4309,16 @@ include::{autogendir}/autogen_user_options.sr.adoc[tag=typing_options]
Релеј додатак се користи за релеј података преко мреже, употребом различитих протокола:
* _irc_: IRC прокси: користи се за дељење веза са IRC серверима са једним или више других клијената
* _weechat_: протокол који користе удаљени интерфејси да прикажу и омогуће интеракцију са програмом
WeeChat, погледајте https://weechat.org/about/interfaces/[ову страницу ^↗^^].
// TRANSLATION MISSING
* _api_: HTTP REST API, used by WeeChat and remote interfaces to display and
interact with WeeChat
// TRANSLATION MISSING
* _weechat_: protocol used by remote interfaces to display and interact with
WeeChat.
// TRANSLATION MISSING
For _api_ and _weechat_ protocols, see the list of remote interfaces on
https://weechat.org/about/interfaces/[this page ^↗^^].
[[relay_password]]
=== Лозинка
@@ -4257,12 +4330,15 @@ include::{autogendir}/autogen_user_options.sr.adoc[tag=typing_options]
/set relay.network.password "${sec.data.relay}"
----
Ова лозинка се користи и за _irc_ и за _weechat_ протокол.
// TRANSLATION MISSING
This password is used with all protocols.
[[relay_totp]]
=== TOTP
TOTP (Time-based One-Time Password) може уз лозинку да се користи као секундарни фактор аутентификације за _weechat_ протокол.
// TRANSLATION MISSING
TOTP (Time-based One-Time Password) can be used as secondary authentication
factor for _api_ and _weechat_ protocols, in addition to the password.
Ово није обавезно, мада повећава ниво безбедности.
@@ -4342,6 +4418,40 @@ PASS сервер:лозинка
/set irc.server.relay.password "${sec.data.relay_libera}"
----
// TRANSLATION MISSING
[[relay_api_protocol]]
=== API protocol
The Relay plugin can send data to a remote WeeChat or interface using an
HTTP REST API protocol.
You can browse and test the API online:
https://weechat.org/api/[WeeChat Relay API ^↗^^].
You can connect with WeeChat or a remote interface, see
https://weechat.org/about/interfaces/[this page ^↗^^].
For example:
----
/relay add api 9000
----
Now you can connect on port 9000 with a WeeChat or a remote interface using
password "mypassword".
To connect to an _api_ relay with WeeChat:
----
/remote add weechat http://localhost:9000 -password=mypassword
/remote connect weechat
----
[NOTE]
The remote WeeChat must expose the same API version as the local WeeChat, so
it's highly recommended to use exactly the same WeeChat version on remote
and local client.
[[relay_weechat_protocol]]
=== WeeChat протокол
@@ -4376,7 +4486,11 @@ https://weechat.org/about/interfaces/[ову страницу ^↗^^].
websocket = new WebSocket("ws://server.com:9000/weechat");
----
Порт (9000 у примеру) је порт који је дефинисан у Релеј додатку. URI увек мора да се завршава са „/weechat” (и за _irc_ и за _weechat_ протокол).
Порт (9000 у примеру) је порт који је дефинисан у Релеј додатку.
// TRANSLATION MISSING
The URI must end with "/weechat" for _irc_ and _weechat_ protocols and "/api"
for _api_ protocol.
[[relay_unix_socket]]
=== UNIX доменски сокети
@@ -4415,7 +4529,7 @@ include::{autogendir}/autogen_user_commands.sr.adoc[tag=relay_commands]
| network | /set relay.network.* | Мрежне опције.
| irc | /set relay.irc.* | Опције специфичне за irc протокол (irc прокси).
| port | <<command_relay_relay,/relay add>> +
/set relay.port.* | Портови који се користе за релеј (irc и weechat протоколи) (у одељку је могуће додавање/уклањање опција).
/set relay.port.* | Портови који се користе за релеј (у одељку је могуће додавање/уклањање опција).
|===
Опције:
@@ -4484,7 +4598,7 @@ $ echo 'irc.server.libera */nick newnick' >/run/user/1000/weechat/weechat_fifo_1
$ echo 'irc.libera.#weechat *hello!' >/run/user/1000/weechat/weechat_fifo_12345
----
* Слање вишелинијске поруке на IRC канал #test, у случају да је могуност „draft/multiline”
* Слање вишелинијске поруке на IRC канал #test, у случају да је могућност „draft/multiline”
укључена на ergo серверу:
----
@@ -4805,7 +4919,9 @@ s/regex1/replace1/var1 y/abcdef/ABDDEF/var2
* `+${re:0}+` до `+${re:99}+`: `+${re:0}+` је комплетно подударање, `+${re:1}+` до
`+${re:99}+` су ухваћене групе
* `+${re:+}+`: последње подударање (под највећим бројем)
* `pass:[${re:+}]`: последње подударање (под највећим бројем)
* `+${re:#}+`: индекс последње ухваћене групе
* `+${re:repl_index}+`: индекс замене која се врши (почиње од 1)
* `+${hide:c,${re:N}}+`: подударање „N” са свим карактерима замењеним са „c”
(пример: `+${hide:*,${re:2}}+` је група #2 у којој су сви карактери замењени са
`+*+`).
@@ -4871,7 +4987,7 @@ y/${chars:a-z}${chars:A-Z}/${chars:b-z}a${chars:B-Z}A/
| signal | tg_signal_data |
| hsignal | |
| modifier | tg_string | tg_string
| line | message | buffer, buffer_name, y, date, date_printed, str_time, tags, notify_level, highlight, prefix, message
| line | message | buffer, buffer_name, y, date, date_usec, date_printed, date_usec_printed, str_time, tags, notify_level, highlight, prefix, message
| print | tg_message |
| command | tg_argv_eol1 |
| command_run | tg_command |
@@ -4946,7 +5062,7 @@ y/${chars:a-z}${chars:A-Z}/${chars:b-z}a${chars:B-Z}A/
| server | стринг | Име сервера (пример: „libera”).
| tags | стринг | Ознаке у поруци (ретко се користе).
| message_without_tags | стринг | Порука без ознака.
| nick | стринг | Надимак.
| nick | стринг | Надимак. ^(1)^
| host | стринг | Име хоста.
| command | стринг | IRC команда (пример: „PRIVMSG”, „NOTICE”, ...).
| channel | стринг | IRC канал.
@@ -4958,6 +5074,10 @@ y/${chars:a-z}${chars:A-Z}/${chars:b-z}a${chars:B-Z}A/
| pos_text | стринг | Индекс _text_ у поруци („-1” ако се _text_ не пронађе).
|===
[NOTE]
^(1)^ nick је пошиљалац поруке. +
Ваш надимак на серверу је `${irc_server.nick}`.
Када су подаци показивач, за читање hdata особине може да се употреби променљива `+tg_signal_data+` на следећи начин (у овом примеру је то показивач на бафер):
----
@@ -5020,7 +5140,9 @@ ${buffer[${tg_signal_data}].full_name}
| buffer_type | стринг | Тип бафера („formatted” или „free”).
| y | стринг | Број линије за бафер са слободним садржајем (≥ 0), -1 за бафер са форматираним садржајем.
| date | стринг | Датум линије (временска ознака).
| date_usec | стринг | Microseconds датума линије.
| date_printed | стринг | Датум када је линија била приказана (временска ознака).
| date_usec_printed | стринг | Microseconds датума када је линија била приказана.
| str_time | стринг | Датум за приказ. Може да садржи кодове боја.
| tags | стринг | Ознаке поруке (са запетом додатом на почетак/крај стринга).
| displayed | стринг | „1” ако се приказује, „0” ако је линија филтрирана.
@@ -5059,7 +5181,7 @@ ${buffer[${tg_signal_data}].full_name}
|===
| Променљива | Тип | Опис
| buffer | показивач | Бафер.
| tg_date | стринг | Датум/време поруке (формат: `ГГГГ-ММ-ДД чч:мм:сс`).
| tg_date | стринг | Датум/време поруке (формат: `%FT%T.%f`, погледајте link:weechat_plugin_api.sr.html#_util_strftimeval[WeeChat референтни прикучник API додатака / util_strftimeval ^↗^^]).
| tg_displayed | стринг | „1” ако се приказује, „0” ако се линија филтрира.
| tg_highlight | стринг | „1” ако је истакнута, у супротном „0”.
| tg_prefix | стринг | Префикс.
@@ -5124,7 +5246,7 @@ ${buffer[${tg_signal_data}].full_name}
|===
| Променљива | Тип | Опис
| tg_remaining_calls | стринг | Број преосталих позива.
| tg_date | стринг | Текући датум/време (формат: `ГГГГ-ММ-ДД чч:мм:сс`).
| tg_date | стринг | Текући датум/време (формат: `%FT%T.%f`, погледајте link:weechat_plugin_api.sr.html#_util_strftimeval[WeeChat референтни приручник API додатака / util_strftimeval ^↗^^]).
|===
[[trigger_data_config]]
+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.
#
+5249 -3140
View File
File diff suppressed because it is too large Load Diff
+5986 -5176
View File
File diff suppressed because it is too large Load Diff
+5290 -3550
View File
File diff suppressed because it is too large Load Diff
+5817 -5025
View File
File diff suppressed because it is too large Load Diff
+4881 -2687
View File
File diff suppressed because it is too large Load Diff
+5309 -3273
View File
File diff suppressed because it is too large Load Diff
+5604 -4596
View File
File diff suppressed because it is too large Load Diff
+6053 -6744
View File
File diff suppressed because it is too large Load Diff
+5509 -4269
View File
File diff suppressed because it is too large Load Diff
+5135 -3090
View File
File diff suppressed because it is too large Load Diff
+4891 -2687
View File
File diff suppressed because it is too large Load Diff
+5725 -5285
View File
File diff suppressed because it is too large Load Diff
+118 -104
View File
@@ -1,110 +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/hook/wee-hook-url.c
./src/core/hook/wee-hook-url.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-sys.c
./src/core/wee-sys.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
@@ -344,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
@@ -360,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
+5717 -5360
View File
File diff suppressed because it is too large Load Diff
+4534 -2433
View File
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>
# Copyright (C) 2007-2008 Julien Louis <ptitlouis@sysif.net>
# Copyright (C) 2008-2009 Emmanuel Bouthenot <kolter@openics.org>
#

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