1
0
mirror of https://github.com/weechat/weechat.git synced 2026-06-27 13:26:38 +02:00

Compare commits

...

976 Commits

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

This fixes the following error on `/upgrade`:

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

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

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

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

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

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

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

Fixes a regression introduced in commit b83b428c5c

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

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

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

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

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

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

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

  nick | #channel :this is a test

instead of:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

:server 716 my_nick bob :is in +g mode and must manually allow you to message them. Your message was discarded.
:server 717 my_nick bob :has been informed that you messaged them.
2023-06-26 21:59:55 +02:00
Sébastien Helleu f62022e812 core: add variables "_chat_focused_line_bol" and "_chat_focused_line_eol" in focus data (closes #1955)
These variables are the same as "_chat_bol" and "_chat_eol" except that they
stop at the beginning of the focused line (not the whole message displayed, in
case message has multiple lines separated by "\n").
2023-06-26 21:55:48 +02:00
Sébastien Helleu 54dd19da92 api: add info "buffer" (closes #1962)
This info returns a pointer buffer with its full name.
2023-06-26 21:35:49 +02:00
Sébastien Helleu bc4294e297 core: fix level of section title in release notes 2023-06-26 21:22:28 +02:00
Sébastien Helleu 5e0ca4740b core: display actual key name and command with key Alt+k
Key Alt+K (upper K) is removed as well as commands `/input grab_raw_key` and
`/input grab_raw_key_command`.
2023-06-26 21:21:12 +02:00
Sébastien Helleu 70c41f614a irc: reply to a CTCP request sent to self nick (closes #1966) 2023-06-25 22:11:34 +02:00
Sébastien Helleu e0c8f2867d core: add missing space in French translation 2023-06-25 22:10:15 +02:00
Sébastien Helleu 763b8ec050 core: force key "return" to command "/input return" when migrating legacy keys 2023-06-25 22:10:04 +02:00
Sébastien Helleu 9d0d8231e8 core: add option weechat.color.status_name_insecure in ChangeLog and release notes 2023-06-25 15:17:16 +02:00
Sébastien Helleu 11177a0967 core: fix format in Czech translation 2023-06-25 00:49:44 +02:00
Krzysztof Korościk c5a3bbc474 doc: updated polish translation 2023-06-24 22:45:35 +02:00
Sébastien Helleu 50bb175e7f Version 4.1.0-dev 2023-06-24 22:41:18 +02:00
730 changed files with 158155 additions and 84090 deletions
-43
View File
@@ -1,43 +0,0 @@
---
name: Bug report
about: Create a bug report (please do not report security issues here)
labels: bug
---
<!-- Please do not report any security issue here, see file Contributing.adoc -->
## Bug summary
## Steps to reproduce
1. 
2. 
3. 
## Current behavior
## Expected behavior
## Suggested solutions
## Additional information
---
<!-- MANDATORY INFO: -->
- WeeChat version: 
- OS, distribution and version: 
- Terminal: 
- Terminal multiplexer (screen/tmux/…/none): 
+110
View File
@@ -0,0 +1,110 @@
name: Bug report
description: Create a bug report
labels: ["bug"]
body:
- type: markdown
attributes:
value: |
Before submitting a bug, please check that it has not already been reported by searching in [open and closed bugs](https://github.com/weechat/weechat/issues?q=is%3Aissue+label%3Abug).
If you don't use the latest version, please try if possible with the latest stable release to be sure the issue is still present and report the issue on this version.
**IMPORTANT**: please do not report any security issue here, see [Contributing.adoc](https://github.com/weechat/weechat/blob/master/Contributing.adoc#security-reports).
- type: textarea
id: bug-description
attributes:
label: Describe the bug
description: A clear and concise description of what the bug is.
validations:
required: true
- type: textarea
id: steps-to-reproduce
attributes:
label: Steps to reproduce
description: |
Steps to reproduce the issue.
If possible, please try to reproduce with a default configuration and no scripts loaded (`weechat -t`). If the issue is related to a script, please mention the list of all scripts loaded.
placeholder: |
1.
2.
3.
validations:
required: true
- type: textarea
id: current-behavior
attributes:
label: Current behavior
description: |
What currently happens.
validations:
required: true
- type: textarea
id: expected-behavior
attributes:
label: Expected behavior
description: What is actually supposed to happen.
validations:
required: true
- type: textarea
id: suggested-solutions
attributes:
label: Suggested solutions
description: How you think this issue can be resolved.
validations:
required: false
- type: textarea
id: additional-information
attributes:
label: Additional information
description: |
For a crash, please include a backtrace from gdb, see the [User's guide](https://weechat.org/doc/weechat/user/#report_crashes).
For a display issue, please add a screenshot if it makes sense.
Please mention if other versions are affected as well and if some versions are not affected (regression?).
And any additional information you deem relevant.
validations:
required: false
- type: input
id: weechat-version
attributes:
label: WeeChat version
description: |
For a stable release: output of `weechat --version`.
For the development version: output of command `/v` in WeeChat.
placeholder: "4.1.1"
validations:
required: true
- type: input
id: os-version
attributes:
label: What OS are you using?
description: Name of the operating system and its version.
placeholder: Debian 12, Ubuntu 23.10, MacOS 14, ...
validations:
required: true
- type: input
id: terminal
attributes:
label: On which terminal are you running WeeChat?
description: The name of terminal if you think it can be related to the issue (mainly for display issues).
placeholder: Terminator, Xterm, GNOME Terminal, Urxvt, ...
validations:
required: false
- type: input
id: terminal-multiplexer
attributes:
label: Which terminal multiplexer are you using?
description: The name of the terminal multiplexer if you think it can be related to the issue (mainly for display issues).
placeholder: none, tmux, screen, ...
validations:
required: false
@@ -1,8 +0,0 @@
---
name: Feature request
about: Request a new feature / enhancement
labels: feature
---
## Feature description
@@ -0,0 +1,17 @@
name: Feature request
description: Request a new feature / enhancement
labels: ["feature"]
body:
- type: markdown
attributes:
value: |
Before submitting a feature request, please check that it has not already been reported by searching in [open and closed feature requests](https://github.com/weechat/weechat/issues?q=is%3Aissue+label%3Afeature).
- type: textarea
id: feature
attributes:
label: Feature description
description: A description of the feature you would like.
validations:
required: true
-19
View File
@@ -1,19 +0,0 @@
---
name: Question
about: >
Ask a question (please read first FAQ and docs and ask on #weechat channel
before opening any question issue)
labels: question
---
<!-- Please read first FAQ/docs and ask on #weechat channel before opening any question issue -->
## Question
---
- WeeChat version: 
- OS, distribution and version: 
+19
View File
@@ -0,0 +1,19 @@
name: Question
description: Ask a question
labels: ["question"]
body:
- type: markdown
attributes:
value: |
Before opening an issue with a question:
- please read the [FAQ](https://weechat.org/doc/weechat/faq) and [documentation](https://weechat.org/doc/weechat/)
- please ask on #weechat channel (on server irc.libera.chat).
- type: textarea
id: question
attributes:
label: Question
description: Your question.
validations:
required: true
+102 -7
View File
@@ -1,11 +1,47 @@
name: CI name: CI
on: on:
- push push:
- pull_request pull_request:
schedule:
- cron: '22 9 * * 2'
env: env:
WEECHAT_DEPENDENCIES: devscripts equivs python3-pip cmake ninja-build lcov pkg-config libncursesw5-dev gem2deb libperl-dev python3-dev libaspell-dev liblua5.3-dev tcl8.6-dev guile-3.0-dev libv8-dev libcurl4-gnutls-dev libgcrypt20-dev libgnutls28-dev libzstd-dev zlib1g-dev curl libcpputest-dev php-dev libphp-embed libargon2-dev libsodium-dev flake8 pylint python3-bandit asciidoctor ruby-pygments.rb shellcheck WEECHAT_DEPENDENCIES: >-
asciidoctor
cmake
curl
devscripts
equivs
flake8
gem2deb
guile-3.0-dev
lcov
libargon2-dev
libaspell-dev
libcjson-dev
libcpputest-dev
libcurl4-gnutls-dev
libgcrypt20-dev
libgnutls28-dev
liblua5.3-dev
libncurses-dev
libperl-dev
libphp-embed
libsodium-dev
libv8-dev
libzstd-dev
ninja-build
php-dev
pkg-config
pylint
python3-bandit
python3-dev
python3-pip
ruby-pygments.rb
shellcheck
tcl8.6-dev
zlib1g-dev
jobs: jobs:
@@ -19,6 +55,8 @@ jobs:
- { name: "gcc", cc: "gcc", cxx: "g++", buildargs: "" } - { name: "gcc", cc: "gcc", cxx: "g++", buildargs: "" }
- { name: "gcc_ninja", cc: "gcc", cxx: "g++", buildargs: "-G Ninja" } - { 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_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: "gcc_coverage", cc: "gcc", cxx: "g++", buildargs: "-DENABLE_CODE_COVERAGE=ON" }
- { name: "clang", cc: "clang", cxx: "clang++", buildargs: "" } - { name: "clang", cc: "clang", cxx: "clang++", buildargs: "" }
@@ -33,6 +71,8 @@ jobs:
run: | run: |
sudo apt-get update -qq sudo apt-get update -qq
sudo apt-get --yes --no-install-recommends install ${{ env.WEECHAT_DEPENDENCIES }} 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 sudo -H pip3 install --ignore-installed msgcheck
- name: Check gettext files - name: Check gettext files
@@ -42,7 +82,7 @@ jobs:
run: ./tools/check_scripts.sh run: ./tools/check_scripts.sh
- name: Check Python stub file - 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 - 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 run: curl --silent --show-error --fail --retry 10 https://raw.githubusercontent.com/curl/curl/master/docs/libcurl/symbols-in-versions | ./tools/check_curl_symbols.py
@@ -65,6 +105,22 @@ jobs:
weechat --version weechat --version
weechat --run-command "/debug dirs;/debug libs" --run-command "/quit" 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 - name: Code coverage
if: ${{ matrix.config.name == 'gcc_coverage' }} if: ${{ matrix.config.name == 'gcc_coverage' }}
env: env:
@@ -82,7 +138,6 @@ jobs:
matrix: matrix:
os: os:
- macos-12 - macos-12
- macos-11
config: config:
- { name: "gcc", cc: "gcc", cxx: "g++" } - { name: "gcc", cc: "gcc", cxx: "g++" }
- { name: "clang", cc: "clang", cxx: "clang++" } - { name: "clang", cc: "clang", cxx: "clang++" }
@@ -92,7 +147,9 @@ jobs:
steps: steps:
- uses: actions/checkout@v2 - name: Setup Homebrew
id: setup-homebrew
uses: Homebrew/actions/setup-homebrew@master
- name: Install dependencies - name: Install dependencies
run: | run: |
@@ -110,7 +167,9 @@ jobs:
/usr/local/bin/python3.11 \ /usr/local/bin/python3.11 \
/usr/local/bin/python3.11-config \ /usr/local/bin/python3.11-config \
; ;
brew install asciidoctor guile lua pkg-config ruby brew install asciidoctor cjson guile lua pkg-config ruby
- uses: actions/checkout@v2
- name: Build - name: Build
env: env:
@@ -169,3 +228,39 @@ jobs:
weechat-curses --help weechat-curses --help
weechat --version weechat --version
weechat --run-command "/debug dirs;/debug libs" --run-command "/quit" weechat --run-command "/debug dirs;/debug libs" --run-command "/quit"
codeql-analysis:
name: CodeQL
runs-on: ubuntu-latest
permissions:
actions: read
contents: read
security-events: write
steps:
- name: Checkout repository
uses: actions/checkout@v3
- name: Install dependencies
run: |
sudo apt-get update -qq
sudo apt-get --yes --no-install-recommends install ${{ env.WEECHAT_DEPENDENCIES }}
# uninstall php imagick as is causes a crash when loading php plugin (see #2009)
sudo apt-get --yes purge php8.1-imagick
sudo -H pip3 install --ignore-installed msgcheck
- name: Initialize CodeQL
uses: github/codeql-action/init@v3
with:
languages: cpp
- name: Autobuild
uses: github/codeql-action/autobuild@v3
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v3
with:
category: "/language:cpp"
+3
View File
@@ -67,6 +67,7 @@ Alphabetically:
* Jiri Golembiovsky (GolemJ) * Jiri Golembiovsky (GolemJ)
* Joey Pabalinas (alyptik) * Joey Pabalinas (alyptik)
* Johan Rylander * Johan Rylander
* Johannes Kuhn
* Joram Schrijver * Joram Schrijver
* Jos Ahrens * Jos Ahrens
* Joseph Kichline * Joseph Kichline
@@ -81,10 +82,12 @@ Alphabetically:
* Lázaro A. * Lázaro A.
* Leonid Evdokimov * Leonid Evdokimov
* Linus Heckemann * Linus Heckemann
* LuK1337
* Maarten de Vries * Maarten de Vries
* Mantas Mikulėnas (grawity) * Mantas Mikulėnas (grawity)
* Marco Paolone * Marco Paolone
* Marco Sirabella * Marco Sirabella
* Mario Campos
* Mateusz Poszwa * Mateusz Poszwa
* Matt Robinson * Matt Robinson
* Matthew Horan * Matthew Horan
+27 -20
View File
@@ -1,5 +1,5 @@
# #
# Copyright (C) 2003-2023 Sébastien Helleu <flashcode@flashtux.org> # Copyright (C) 2003-2024 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2007-2008 Julien Louis <ptitlouis@sysif.net> # Copyright (C) 2007-2008 Julien Louis <ptitlouis@sysif.net>
# Copyright (C) 2008-2009 Emmanuel Bouthenot <kolter@openics.org> # Copyright (C) 2008-2009 Emmanuel Bouthenot <kolter@openics.org>
# #
@@ -19,7 +19,7 @@
# along with WeeChat. If not, see <https://www.gnu.org/licenses/>. # along with WeeChat. If not, see <https://www.gnu.org/licenses/>.
# #
cmake_minimum_required(VERSION 3.0) cmake_minimum_required(VERSION 3.5)
project(weechat C) project(weechat C)
@@ -29,7 +29,7 @@ set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake" "${CMAKE_MODULE_PATH}")
set(CMAKE_SKIP_RPATH ON) set(CMAKE_SKIP_RPATH ON)
# compiler options # compiler options
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsigned-char -fms-extensions -Wall -Wextra -Werror-implicit-function-declaration") set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsigned-char -fms-extensions -Wall -Wextra -Werror-implicit-function-declaration -Wformat -Werror=format-security")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsigned-char -fms-extensions -Wall -Wextra") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsigned-char -fms-extensions -Wall -Wextra")
if (CMAKE_C_COMPILER_ID STREQUAL "GNU") if (CMAKE_C_COMPILER_ID STREQUAL "GNU")
# extra options specific to gcc/g++ # extra options specific to gcc/g++
@@ -99,6 +99,8 @@ option(ENABLE_NCURSES "Compile the Ncurses interface" ON)
option(ENABLE_HEADLESS "Compile the headless binary" ON) option(ENABLE_HEADLESS "Compile the headless binary" ON)
option(ENABLE_NLS "Enable Native Language Support" ON) option(ENABLE_NLS "Enable Native Language Support" ON)
option(ENABLE_LARGEFILE "Enable Large File 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_ALIAS "Enable Alias plugin" ON)
option(ENABLE_BUFLIST "Enable Buflist plugin" ON) option(ENABLE_BUFLIST "Enable Buflist plugin" ON)
option(ENABLE_CHARSET "Enable Charset plugin" ON) option(ENABLE_CHARSET "Enable Charset plugin" ON)
@@ -190,6 +192,9 @@ include(CheckSymbolExists)
check_include_files("langinfo.h" HAVE_LANGINFO_CODESET) check_include_files("langinfo.h" HAVE_LANGINFO_CODESET)
check_include_files("sys/resource.h" HAVE_SYS_RESOURCE_H) 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(mallinfo HAVE_MALLINFO)
check_function_exists(mallinfo2 HAVE_MALLINFO2) check_function_exists(mallinfo2 HAVE_MALLINFO2)
@@ -200,24 +205,11 @@ if(ENABLE_LARGEFILE)
add_definitions(-D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -D_LARGE_FILES) add_definitions(-D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -D_LARGE_FILES)
endif() endif()
# Check for Gettext
if(ENABLE_NLS)
find_package(Gettext)
if(GETTEXT_FOUND)
add_definitions(-DENABLE_NLS)
find_package(Intl)
if(Intl_FOUND)
list(APPEND EXTRA_LIBS "${Intl_LIBRARIES}")
endif()
else()
message(SEND_ERROR "Gettext not found")
endif()
endif()
# Check for libgcrypt # Check for libgcrypt
find_package(GCRYPT REQUIRED) pkg_check_modules(LIBGCRYPT REQUIRED libgcrypt)
add_definitions(-DHAVE_GCRYPT) add_definitions(-DHAVE_GCRYPT)
list(APPEND EXTRA_LIBS ${GCRYPT_LDFLAGS}) include_directories(${LIBGCRYPT_INCLUDE_DIRS})
list(APPEND EXTRA_LIBS ${LIBGCRYPT_LDFLAGS})
# Check for GnuTLS # Check for GnuTLS
find_package(GnuTLS REQUIRED) find_package(GnuTLS REQUIRED)
@@ -230,7 +222,16 @@ list(APPEND EXTRA_LIBS gnutls)
find_package(ZLIB REQUIRED) find_package(ZLIB REQUIRED)
# Check for zstd # Check for zstd
pkg_check_modules(LIBZSTD REQUIRED libzstd) if(ENABLE_ZSTD)
pkg_check_modules(LIBZSTD REQUIRED libzstd)
add_definitions(-DHAVE_ZSTD)
endif()
# Check for cJSON
if(ENABLE_CJSON)
pkg_check_modules(LIBCJSON REQUIRED libcjson)
add_definitions(-DHAVE_CJSON)
endif()
# Check for iconv # Check for iconv
find_package(Iconv) find_package(Iconv)
@@ -258,7 +259,13 @@ endif()
add_subdirectory(icons) add_subdirectory(icons)
if(ENABLE_NLS) if(ENABLE_NLS)
find_package(Gettext REQUIRED)
add_definitions(-DENABLE_NLS)
find_package(Intl REQUIRED)
list(APPEND EXTRA_LIBS "${Intl_LIBRARIES}")
add_subdirectory(po) add_subdirectory(po)
else()
add_custom_target(translations COMMAND true)
endif() endif()
add_subdirectory(src) add_subdirectory(src)
+632 -9
View File
@@ -5,14 +5,542 @@
:toc: left :toc: left
:docinfo1: :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. + [[v4.3.7]]
For a list of important changes that require manual actions, please look at release notes. == Version 4.3.7 (under dev)
[[v4.3.7_fixed]]
=== Fixed
* irc: fix send of split messages when server option "anti_flood" set to 0 (issue #2172)
[[v4.3.6]]
== Version 4.3.6 (2024-08-15)
[[v4.3.6_fixed]]
=== Fixed
* core: fix generation of TOTP on FreeBSD (issue #2171)
* relay/api: fix crash when sending data to a remote buffer when the remote has been deleted (issue #2157)
* relay/api: fix timezone of dates sent to clients (issue #2151)
[[v4.3.5]]
== Version 4.3.5 (2024-07-16)
[[v4.3.5_fixed]]
=== Fixed
* ruby: fix crash in plugin initialization (issue #2163)
[[v4.3.4]]
== Version 4.3.4 (2024-07-03)
[[v4.3.4_fixed]]
=== Fixed
* python: fix crash on quit with Python 3.12 (issue #2046, issue #2126)
* core: fix crash when deleting a bar that has no items (issue #2138)
* ruby: fix builtin functions not available (issue #2109)
* relay/api: fix "body_type" returned when lines or nicks of a buffer are requested
[[v4.3.3]]
== Version 4.3.3 (2024-06-22)
[[v4.3.3_fixed]]
=== Fixed
* core, plugins: return "0x0" instead of "(nil)" for pointers formatted in strings
[[v4.3.2]]
== Version 4.3.2 (2024-06-06)
[[v4.3.2_changed]]
=== Changed
* relay: enable websocket extension "permessage-deflate" with "api" relay only (issue #1549)
[[v4.3.2_added]]
=== Added
* relay: add option relay.look.raw_messages_max_length (issue #2122)
[[v4.3.2_fixed]]
=== Fixed
* irc, xfer: fix display of input prompt in IRC private buffers and DCC chat buffers (issue #2128)
* irc: don't return pointer to irc server if the channel or nick is not found in info "irc_buffer"
* relay: fix websocket permessage-deflate extension when the client doesn't send the max window bits parameters (issue #1549)
* relay: fix allocation and reinit of field "client_context_takeover" in websocket deflate structure (issue #1549)
[[v4.3.1]]
== Version 4.3.1 (2024-05-31)
[[v4.3.1_fixed]]
=== Fixed
* irc: close /list buffer when the server buffer is closed (issue #2121)
* xfer: fix send of data on the DCC chat buffer after `/upgrade` if the buffer was opened before the upgrade (issue #2092)
* php: fix return value of function hdata_longlong
* tcl: fix return value of function hdata_longlong (issue #2119)
* core: fix detection of libgcrypt ≥ 1.11 (debian #1071960)
* core, relay: fix include directory of libcjson and libzstd
* tests: fix relay tests on s390x (issue #2118)
* tests: fix check of php plugin (issue #2117)
* tests: fix compilation of tests on Fedora 40 (issue #2116)
* tests: fix compilation of tests on Rocky 9.4
[[v4.3.0]]
== Version 4.3.0 (2024-05-26)
{see-release-notes}
[[v4.3.0_changed]]
=== Changed
* {breaking} irc: add server option "autojoin_delay" (delay before autojoin), use option "command_delay" before execution of the command (issue #862)
* {breaking} irc: rename option irc.color.item_channel_modes to weechat.color.status_modes
* {breaking} irc: add option `-all` in command `/allchan`, do not execute command on parted channels by default (issue #2085)
* {breaking} relay: rename option relay.weechat.commands to relay.network.commands and change default to `*,!quit` (issue #2066)
* {breaking} relay: change option type relay.look.auto_open_buffer to string (issue #2066)
* {breaking} core: add buffer properties "input_prompt" and "modes", used to display bar items (issue #2066)
* {breaking} core: add bar item "lag" to display lag on relay remote buffers (issue #2066)
* {breaking} core: send signal "buffer_line_added" on buffers with free content
* {breaking} core: convert option weechat.look.hotlist_sort to a list of fields (issue #2097)
* {breaking} core: rename variables with creation time in hdata "hotlist": "creation_time.tv_sec" to "time" and "creation_time.tv_usec" to "time_usec"
* {breaking} api: return `-1` or `1` if one input string is NULL and not the other in string comparison functions
* {breaking} api: use whole replacement string instead of first char in function string_remove_color
* core: use nick offline color for nick in action message (issue #446)
* core: display a specific message when the value of option is unchanged after `/set` command
* core: add variable `${highlight}` in option weechat.look.buffer_time_format (issue #2079)
* core: reintroduce help on the variables and operators in `/help eval` (issue #2005)
* core: allow case insensitive search of partial buffer name with `(?i)name` in command `/buffer`
* core: use function util_strftimeval in evaluation of expression `date:xxx`
* fset: allow filename starting with "~" in command `/fset -export`
* irc: store lag in channel and private buffers (local variable "lag"), in addition to the server buffer
* irc: allow range in commands `/unban` and `/unquiet` (issue #2113)
* tcl: add support of Tcl 9.0 (issue #2075)
[[v4.3.0_added]]
=== Added
* relay: add "api" protocol (HTTP REST API), add options relay.look.display_clients, relay.api.remote_get_lines and relay.network.time_window (issue #2066)
* relay: add command `/remote` to connect to remote WeeChat relay servers (issue #2066)
* relay: add support of websocket extension "permessage-deflate" (issue #1549)
* core, api: add unique identifier "id" in buffer and nicklist (group and nick), add function "hdata_longlong", allow search by buffer id in function buffer_search, allow search by group and nick id in functions nicklist_search_group and nicklist_search_nick (issue #2081)
* core: add support of XDG "state" directory (issue #2106, issue #1747)
* core: add support of SGR mouse events (issue #2082)
* fset: add option `-import` in command `/fset`
* core: add option `-s` in command `/command` to execute multiple commands separated by semicolons
* core: add option `malloc_trim` in command `/sys`
* core: add option weechat.look.config_permissions (issue #2057)
* core: add option weechat.look.highlight_prefix (issue #2079)
* core: add option weechat.completion.case_sensitive
* api: add functions config_option_get_{string|pointer} and config_{boolean|integer|string|color|enum}_inherited in scripting API
* api: add modifier "color_decode" to decode WeeChat colors with a replacement string
* api: add support of base64url in encode/decode functions
* api: add support of specifier `%!` for timestamp in function util_strftimeval
* api: add info "plugin_loaded"
* script: add option `enable` in command `/script`
* script: add info "script_loaded"
[[v4.3.0_fixed]]
=== Fixed
* core: fix conversion of WeeChat colors to ANSI colors: "default", "bar_fg", "bar_bg", "bar_delim"
* core: fix recursive search of group in nicklist
* core: use nick offline highlight color for prefix of action message when the nick is offline with a highlight
* core: add missing hdata name "buffer" in hdata "hotlist"
* core: fix reset to initial scroll position after search of text in buffer (issue #2093)
* core: add missing mouse events "alt-ctrl-button2" and "alt-ctrl-button3"
* core: remove trailing directory separators in home directories (issue #2070)
* exec: remove trailing space on buffers with free content when line numbers are not displayed
* exec: add missing exec tags in lines of buffers with free content (issue #2086)
* irc: fix crash in split of IRC message containing a newline if the server is not given
* irc: fix display of reply for CTCP request received on a channel when capability echo-message is enabled
* irc: display CTCP reply to a nick in server buffer instead of channel
* irc: add missing tags on self action messages when capability echo-message is enabled (issue #2074)
* irc: don't strip monospace color code 0x11 from incoming messages (issue #2073)
* irc: fix random date displayed when a received message contains tags but no "time" (issue #2064)
* lua: fix freeze on call to "debug.debug" (issue #1906, issue #1907)
* python: fix truncation of unsigned long long integer returned by function string_parse_size
* relay: set the last IRC client disconnection time only after a successful connection (issue #2103)
* script: always display list of scripts when searching scripts with `/script search` (issue #2077)
* script: fix default mouse keys (issue #2076)
* scripts: fix crash on script unload when a hook is created in a buffer close callback (issue #2067)
* tcl: fix truncation of long integer returned by function hdata_long
* trigger: fix memory leak when adding a new trigger with `/trigger` command
[[v4.2.3]]
== Version 4.2.3 (2024-05-31)
Bug fixes::
* xfer: fix send of data on the DCC chat buffer after `/upgrade` if the buffer was opened before the upgrade (issue #2092)
* irc: fix crash in split of IRC message containing a newline if the server is not given
* core, relay: fix include directory of libzstd
[[v4.2.2]]
== Version 4.2.2 (2024-04-07)
{see-release-notes}
Bug fixes::
* core: fix reset to initial scroll position after search of text in buffer (issue #2093)
* core: add missing mouse events "alt-ctrl-button2" and "alt-ctrl-button3"
* exec: remove trailing space on buffers with free content when line numbers are not displayed
* exec: add missing exec tags in lines of buffers with free content (issue #2086)
* irc: add missing tags on self action messages when capability echo-message is enabled (issue #2074)
* python: fix truncation of unsigned long long integer returned by function string_parse_size
* relay: set the last IRC client disconnection time only after a successful connection (issue #2103)
* script: always display list of scripts when searching scripts with `/script search` (issue #2077)
* script: fix default mouse keys (issue #2076)
* scripts: fix crash on script unload when a hook is created in a buffer close callback (issue #2067)
* tcl: fix truncation of long integer returned by function hdata_long
* trigger: fix memory leak when adding a new trigger with `/trigger` command
Tests::
* core: fix tests on function strftimeval on Alpine
[[v4.2.1]]
== Version 4.2.1 (2024-01-22)
Bug fixes::
* irc: fix random date displayed when a received message contains tags but no "time" (issue #2064)
[[v4.2.0]]
== Version 4.2.0 (2024-01-21)
{see-release-notes}
New features::
* core: add variable "opening" in buffer, do not send buffer signals when the buffer is opening
* core: store microseconds in buffer lines (issue #649)
* core: evaluate expressions even when the suffix is missing ("}" by default) (issue #2042, issue #1714)
* core: add syntax highlighting in evaluation of expressions with `raw_hl:string` and `hl:string`, add option weechat.color.eval_syntax_colors (issue #2042)
* core: add option `search_history` in command `/input`, add key kbd:[Ctrl+r] to search in commands history, add key context "histsearch" (issue #2040)
* core: add option weechat.look.buffer_search_history (issue #2040)
* core: add key kbd:[Ctrl+o] to send command found and insert next one in input (issue #2040)
* core: add buffer variables "text_search_direction", "text_search_history" and "text_search_ptr_history" (issue #2040)
* core: move key kbd:[Ctrl+r] to kbd:[Ctrl+s] (issue #2040)
* core: move key kbd:[Ctrl+s], kbd:[Ctrl+u] to kbd:[Alt+Shift+U] (issue #2040)
* core: display only version with command `/version`, add options `-o` and `-ol` in command `/upgrade`
* core: add number of processes in command `/sys waitpid`
* core, alias, trigger: allow wildcard in commands `/bar`, `/filter`, `/item`, `/proxy`, `/alias` and `/trigger` (issue #1956)
* api: add support of format/translation of command arguments description line by line (issue #2005)
* api: add function string_concat (issue #2005)
* api: add functions util_strftimeval, util_parse_time, printf_datetime_tags, printf_y_datetime_tags (issue #649)
* api: add argument "date_usec" in hook_print callback (issue #649)
* api: add property "type" in function buffer_get_string
* api: add info "mouse"
* buflist: jump to previous/next buffer displayed in buflist item with ctrl+wheel up/down on a buflist item (issue #1473)
* irc: add option irc.look.display_host_wallops
* irc: add server option "anti_flood" (now in milliseconds), remove server options "anti_flood_prio_{high|low}" (issue #1039)
* irc: add option irc.look.list_buffer
* irc: change default value of server option "tls_priorities" to `NORMAL`
* irc: add support of RGB colors in messages, add option irc.color.term_remap (issue #2025)
* irc: add tags "nick_xxx" and "host_xxx" in all messages, including self and server messages
* irc: add option irc.look.ignore_tag_messages (issue #989)
* relay: change default value of option relay.network.tls_priorities to `NORMAL`
* trigger: change format of variables `${tg_date}` from "%Y-%m-%d %H:%M:%S" to "%FT%T.%f" (issue #649)
* trigger: rename local variable "trigger_filter" to "filter" on monitor buffer (issue #2037)
Bug fixes::
* core: fix crash on plugin reload when using musl libc (issue #2052)
* core: fix infinite loop in display when the chat area is too small (issue #2053)
* core: fix value of buffer variable "num_history" when the value defined in option weechat.history.max_commands is reached
* core: remove incorrect warning when binding keys kbd:[F10] to kbd:[F20] (issue #2039)
* core: call hook config when options are removed
* core: display an error with command `/history N` when N is not a valid integer
* core: fix memory leak when config version is invalid or not supported
* core: fix crash when "config_version" is present in a configuration file without a value
* core: display an error on startup if environment variable "HOME" is not set
* core: fix crash when a custom bar item name is already used by a default bar item (issue #2034)
* core: fix random timeouts when a lot of concurrent processes are launched with hook_process (issue #2033)
* api: return NULL instead of empty infolist "key" when context is not found
* irc: check if arguments are not NULL in some infos
* irc: fix info "irc_is_message_ignored" (issue #2059)
* irc: fix display of self messages when the message split fails due to inconsistent max lengths sent by the server in message 005
* irc: display messages 730/731 (monitored nicks online/offline) even if command `/notify` was not used (issue #2049)
* irc: remove trailing "\r\n" in signals "irc_out" and "irc_outtags" when messages are queued
* irc: fix target buffer of IRC message 337 (whois reply: "is hiding their idle time")
* irc: revert compute of nick colors to case sensitive way, deprecate again infos "irc_nick_color" and "irc_nick_color_name" (issue #194, issue #2032)
* relay: close properly connection with the IRC client in case of server disconnection (issue #2038)
* ruby: fix use of NULL variable when displaying exception
Tests::
* core: add tests on plugin config and plugin API info functions
* irc: add tests on info functions
Build::
* core: make libintl.h required if CMake option ENABLE_NLS is enabled (issue #2031)
* ruby: add detection of Ruby 3.3
[[v4.1.3]]
== Version 4.1.3 (2024-01-20)
Bug fixes::
* core: fix crash on plugin reload when using musl libc (issue #2052)
* core: fix infinite loop in display when the chat area is too small (issue #2053)
* irc: check if arguments are not NULL in some infos
* irc: fix info "irc_is_message_ignored" (issue #2059)
* irc: fix display of self messages when the message split fails due to inconsistent max lengths sent by the server in message 005
[[v4.1.2]]
== Version 4.1.2 (2023-12-03)
Bug fixes::
* core: fix value of buffer variable "num_history" when the value defined in option weechat.history.max_commands is reached
* core: remove incorrect warning when binding keys kbd:[F10] to kbd:[F20] (issue #2039)
* core: fix memory leak when config version is invalid or not supported
* core: fix crash when "config_version" is present in a configuration file without a value
* core: display an error on startup if environment variable "HOME" is not set
* irc: remove trailing "\r\n" in signals "irc_out" and "irc_outtags" when messages are queued
* irc: fix target buffer of IRC message 337 (whois reply: "is hiding their idle time")
* relay: close properly connection with the IRC client in case of server disconnection (issue #2038)
* ruby: fix use of NULL variable when displaying exception
[[v4.1.1]]
== Version 4.1.1 (2023-10-26)
{see-release-notes}
Bug fixes::
* core: fix crash when a custom bar item name is already used by a default bar item (issue #2034)
* core: fix random timeouts when a lot of concurrent processes are launched with hook_process (issue #2033)
* irc: revert compute of nick colors to case sensitive way, deprecate again infos "irc_nick_color" and "irc_nick_color_name" (issue #194, issue #2032)
Build::
* core: make libintl.h required if CMake option ENABLE_NLS is enabled (issue #2031)
[[v4.1.0]]
== Version 4.1.0 (2023-10-15)
{see-release-notes}
New features::
* core: add completion "eval_variables", used in completion of `/eval`
* core: add command `/sys` to show resource limits/usage and suspend WeeChat process, add key kbd:[Ctrl+z] to suspend WeeChat (issue #985)
* core: ignore key bindings with empty command
* core: add support of quotes in commands `/key bind` and `/key bindctxt`
* core: evaluate command given to `/repeat` with contextual variables (issue #2007)
* core: add option `callbacks` in command `/debug`
* core: add option type "enum" (issue #1973)
* core: add options weechat.buffer.* to save buffer properties set by user, add option `setauto` in command `/buffer` (issue #352)
* core: add parameters and key bindings to move to edges of current area with commands `/cursor go` and `/cursor move` (issue #1282)
* core: add variables "_chat_focused_line_bol" and "_chat_focused_line_eol" in focus data (issue #1955)
* api: add function hook_url, add option `url` in command `/debug` (issue #1723)
* api: add support of path to variable and hashtable comparison in function hdata_compare (issue #1066)
* api: add infos "nick_color_ignore_case" and "nick_color_name_ignore_case" (issue #194)
* api: add info "buffer" (issue #1962)
* buflist: add support of item names in command `/buflist refresh`, add completions "buflist_items" and "buflist_items_used"
* buflist: increase max number of buflist items from 3 to 5 (issue #1703)
* fset: add variable `allowed_values` in options, add options fset.color.allowed_values and fset.color.allowed_values_selected
* fset: allow long type name in type filter
* irc: add count for all nick modes in output of `/names` (issue #97, issue #2020)
* irc: add count and mode filter in command `/names` (issue #98)
* irc: compute color in case insensitive way, reintroduce infos "irc_nick_color" and "irc_nick_color_name", add support of server name (issue #194)
* irc: add buffer for /list reply, add options irc.color.list_buffer_line_selected, irc.color.list_buffer_line_selected_bg, irc.look.list_buffer_sort, irc.look.list_buffer_scroll_horizontal, irc.look.new_list_position, irc.look.list_buffer_topic_strip_colors (issue #1972)
* irc: display commands 716/717 in private buffer (if present) (issue #146)
* irc: create default options irc.ctcp.* when file irc.conf is created (issue #1974)
* irc: evaluate options irc.ctcp.* (issue #1974)
* irc: build dynamically the list of CTCPs supported in reply to "CTCP CLIENTINFO" (issue #1974)
* irc: remove Git revision and compilation date from CTCP VERSION reply (issue #1974)
* irc: remove default CTCP replies FINGER and USERINFO (issue #1974)
* irc, xfer: add support of passive DCC (issue #2004, issue #487)
* script: rename parameters up/down/go to -up/-down/-go in command `/script`
* script: allow jump to the last script with command `/script -go end`
* script: allow commands `/script autoload`, `/script noautoload`, `/script toggleautoload` with scripts not present in the repository (issue #1980)
* trigger: add options `-o`, `-ol`, `-i` and `-il` in command `/trigger list` (issue #1953)
Bug fixes::
* core: fix zombie processes after fork (hook process or connect) (issue #1994)
* core: fix generation of TOTP on Big Endian systems (issue #2021)
* core: fix cursor position after `/plugin list -i` or `/plugin list -il`
* core: display focus hashtable for debug even if no key is matching
* fset: add local key bindings during the buffer creation
* fset: remove extra spaces between min and max values when second format is used
* fset: fix mouse actions when second format is used
* fset: apply option fset.color.help_description (issue #1988)
* irc: move value `-all` at the end of completions for command `/ignore del`
* irc: fix memory leak when joining channels with keys
* irc: fix unexpected message sent to server when part of the second line of an IRC command (issue #1992)
* irc: fix display of country code in message 344 received as whois geo info (issue #1736)
* irc: add missing "account-tag" in list of supported capabilities
* irc: add channel in "autojoin" server option only when the channel is actually joined (issue #1990)
* relay: synchronize nick modes with IRC client upon connection (issue #1984)
* script: add local key bindings during the buffer creation
* script: add parameters up/down/go in `/help script` and command completion
* script: fix cursor position after `/script list -i` or `/script list -il`
* script: fix buffer used by command `/script list -i|-il|-o|-ol`
* xfer: display an error message when opening file for read or write fails (issue #2010)
Tests::
* core: add tests on GUI buffer functions
Build::
* core: fix build error if CMake option ENABLE_NLS is turned to off or if required dependencies are not found (issue #2026)
* core, logger, relay: make zstd dependency optional (issue #2024)
[[v4.0.8]]
== Version 4.0.8 (2024-01-20)
Bug fixes::
* core: fix crash on plugin reload when using musl libc (issue #2052)
* core: fix infinite loop in display when the chat area is too small (issue #2053)
* irc: check if arguments are not NULL in some infos
* irc: fix info "irc_is_message_ignored" (issue #2059)
* irc: fix display of self messages when the message split fails due to inconsistent max lengths sent by the server in message 005
[[v4.0.7]]
== Version 4.0.7 (2023-12-03)
Bug fixes::
* core: fix value of buffer variable "num_history" when the value defined in option weechat.history.max_commands is reached
* core: remove incorrect warning when binding keys kbd:[F10] to kbd:[F20] (issue #2039)
* core: fix memory leak when config version is invalid or not supported
* core: fix crash when "config_version" is present in a configuration file without a value
* core: display an error on startup if environment variable "HOME" is not set
* irc: remove trailing "\r\n" in signals "irc_out" and "irc_outtags" when messages are queued
* irc: fix target buffer of IRC message 337 (whois reply: "is hiding their idle time")
* relay: close properly connection with the IRC client in case of server disconnection (issue #2038)
* ruby: fix use of NULL variable when displaying exception
[[v4.0.6]]
== Version 4.0.6 (2023-10-26)
{see-release-notes}
Bug fixes::
* core: fix crash when a custom bar item name is already used by a default bar item (issue #2034)
* core: fix generation of TOTP on Big Endian systems (issue #2021)
* irc: move value `-all` at the end of completions for command `/ignore del`
* irc: fix memory leak when joining channels with keys
Build::
* core: fix build error if CMake option ENABLE_NLS is turned to off or if required dependencies are not found (issue #2026, issue #2031)
[[v4.0.5]]
== Version 4.0.5 (2023-09-24)
New features::
* core: automatically backup config file read if it has an unsupported version (issue #2013)
* core: display a message when a configuration file is updated to a newer version
* python: make stub (weechat.pyi) compatible with Python 3.8 and 3.9 (issue #2006)
Bug fixes::
* irc: add option irc.look.open_pv_buffer_echo_msg to open private buffer on self message when capability echo-message is enabled (issue #2016)
* irc: fix title of private buffers wrongly set to own address when capability echo-message is enabled (issue #2016)
* irc: fix autojoin of channels when private buffers are opened (issue #2012)
* irc: fix string comparison when CASEMAPPING is set to "ascii"
* script: fix removal of script in system directory while trying to install a script (issue #2019)
* script: fix autoload of multiple scripts at once with `/script autoload` (issue #2018)
* script: fix crash when a `/script` command triggers another `/script` command (issue #923)
* xfer: fix memory leak on plugin unload
Tests::
* irc: add tests on server functions
[[v4.0.4]]
== Version 4.0.4 (2023-08-22)
Bug fixes::
* core: fix integer overflow when setting integer option with `++N` or `--N`
* core: fix increment/decrement of options weechat.notify.*
* irc: add missing tags on multiline messages (issue #1987)
* irc: fix redirection of command `/list` when the reply doesn't start with message 321 (start of /list)
* irc: fix wrong time displayed for CTCP messages received from self nick (issue #2000)
* logger: remove trailing empty line in display of backlog (issue #2002)
* perl: fix display of non-ASCII chars after load of a script with Perl >= 5.38 (issue #1996)
* script: adjust scroll after command `/script go N`
* scripts: fix function string_parse_size on 32-bit systems (python and ruby) (issue #1999)
* xfer: fix conversion of string to IPv4 on 32-bit systems (issue #1999)
Tests::
* irc: fix tests on function irc_join_compare_join_channel (issue #1997)
* scripts: fix tests of functions print_date_tag, print_y_date_tags and hook_timer on 32-bit systems (issue #1999)
[[v4.0.3]]
== Version 4.0.3 (2023-08-08)
Bug fixes::
* core: fix input length and crash after delete of line (issue #1989)
* irc: fix display of self CTCP message containing bold attribute (issue #1981)
* irc: fix memory leak in IRC message parser
* irc: fix switch to channel manually joined when server option autojoin_dynamic is on and option irc.look.buffer_switch_autojoin is off (issue #1982)
* irc: fix display of outgoing notice with channel when capability "echo-message" is enabled (issue #1991)
* relay: fix display of IRC CTCP messages received from client (issue #1986)
Build::
* doc: display a warning if a locale is missing with fallback to English for auto-generated content (issue #1985)
[[v4.0.2]]
== Version 4.0.2 (2023-07-12)
Bug fixes::
* core: fix renaming of options with command `/item rename` (issue #1978)
* core: don't send "key_pressed" signal again for the same key press (issue #1976)
* core: don't send "key_combo_*" signals for incomplete keys (issue #1976)
* core: add key kbd:[Ctrl+Backspace] in /help key (issue #1975)
* core: keep keys `ctrl-H` and `ctrl-?` (in lower case) if they were manually bound to custom commands in a previous version
Tests::
* core: fix hdata tests failure on Alpine 3.18
* relay: fix crash in tests on Alpine 3.18
Build::
* php: fix detection of PHP 8.2 on Alpine 3.18
[[v4.0.1]]
== Version 4.0.1 (2023-06-30)
{see-release-notes}
Bug fixes::
* core: force key "return" to command "/input return" when migrating legacy keys
* core: display actual key name and command with key kbd:[Alt+k], remove key kbd:[Alt+K] (grab raw key) and associated commands `/input grab_raw_key` and `/input grab_raw_key_command`
* core: check for newline characters in string_is_whitespace_char (issue #1968)
* api: do not convert option name to lower case in API functions config_set_plugin and config_set_desc_plugin
* guile: fix crash on quit with Guile < 3 (issue #1965)
* irc: reply to a CTCP request sent to self nick (issue #1966)
* irc: sent "QUIT" message to servers connected with TLS on `/upgrade`
[[v4.0.0]] [[v4.0.0]]
== Version 4.0.0 (2023-06-24) == Version 4.0.0 (2023-06-24)
{see-release-notes}
New features:: 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) * core: use human readable key bindings, separate keys with comma in combos, remove modifier "meta2-", add option `legacy` in command `/key` (issue #1238, task #10317)
@@ -24,7 +552,7 @@ New features::
* core: insert multiple pasted lines in input instead of sending immediately, add keys to move and delete in a single line and whole input, add option weechat.look.input_multiline_lead_linebreak (issue #1502, issue #1503, issue #1504) * core: insert multiple pasted lines in input instead of sending immediately, add keys to move and delete in a single line and whole input, add option weechat.look.input_multiline_lead_linebreak (issue #1502, issue #1503, issue #1504)
* core: render newline characters in chat line messages (issue #1908) * core: render newline characters in chat line messages (issue #1908)
* core: don't split on newline characters in printf_date_tags when input_multiline is set (issue #1909) * core: don't split on newline characters in printf_date_tags when input_multiline is set (issue #1909)
* core: add key @kbd:[l] in cursor mode to quote line, add variable "_chat_focused_line" in function hashtable sent to hook_focus callback (issue #1913, issue #1914) * core: add key kbd:[l] (lower `L`) in cursor mode to quote line, add variable "_chat_focused_line" in function hashtable sent to hook_focus callback (issue #1913, issue #1914)
* core: add option `split_return` in command `/input` (issue #1916) * core: add option `split_return` in command `/input` (issue #1916)
* core: send all command line parameters not beginning with a dash to all plugins * core: send all command line parameters not beginning with a dash to all plugins
* core: add command `/reset` to reset options to their default values * core: add command `/reset` to reset options to their default values
@@ -32,7 +560,8 @@ New features::
* core: add relative move of read marker with `/buffer set unread [+/-]N` (issue #1895) * core: add 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: add access to hashtable properties in evaluation of expressions (issue #1888)
* core: display similar command names when a command is unknown (issue #1877) * 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, plugins: make many identifiers case sensitive (issue #1872, issue #398, bug #32213)
* core: add item "mouse_status" in default status bar, change default color to lightgreen * core: add item "mouse_status" in default status bar, change default color to lightgreen
* core, trigger: add options weechat.color.chat_status_disabled and weechat.color.chat_status_enabled, remove options trigger.color.trigger and trigger.color.trigger_disabled, add enabled/disabled status color in output of `/filter list` (issue #1820) * core, trigger: add options weechat.color.chat_status_disabled and weechat.color.chat_status_enabled, remove options trigger.color.trigger and trigger.color.trigger_disabled, add enabled/disabled status color in output of `/filter list` (issue #1820)
@@ -46,7 +575,7 @@ New features::
* alias: add options `missing` and `rename` in command `/alias` * alias: add options `missing` and `rename` in command `/alias`
* fifo: add support of escaped chars in text or commands sent (issue #1950) * 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) * 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 capabilities "batch" and "draft/multiline" (issue #1292, issue #1923)
* irc: add support of capability "echo-message" (issue #139) * irc: add support of capability "echo-message" (issue #139)
* irc: display CTCP ACTION to channel on the channel buffer (issue #207) * irc: display CTCP ACTION to channel on the channel buffer (issue #207)
@@ -67,7 +596,7 @@ New features::
* irc: add tag "new_host_xxx" in message displayed for command CHGHOST (issue #1808) * 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 option logger.file.log_conditions (issue #1942)
* logger: add info "logger_log_file" * 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: 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 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) * relay: add support of capability "echo-message" in irc protocol (issue #1949)
@@ -140,11 +669,13 @@ Build::
* core: remove obsolete cpack config * core: remove obsolete cpack config
* core: add "stable-number" and "devel-number" in script version.sh * core: add "stable-number" and "devel-number" in script version.sh
* core: add quotes around paths in CMake files (issue #29) * core: add quotes around paths in CMake files (issue #29)
* doc: convert docgen.py to C, remove autogen files from repository, add parameter `--doc-gen` to `weechat-headless` binary, add CMake option `ENABLE_DOC_INCOMPLETE` * doc: convert docgen.py to C, remove autogen files from repository, add parameter `--doc-gen` to `weechat-headless` binary, add CMake option "ENABLE_DOC_INCOMPLETE"
[[v3.8]] [[v3.8]]
== Version 3.8 (2023-01-08) == Version 3.8 (2023-01-08)
{see-release-notes}
New features:: New features::
* core: add option weechat.look.chat_space_right (issue #1862) * core: add option weechat.look.chat_space_right (issue #1862)
@@ -210,6 +741,8 @@ Bug fixes::
[[v3.7]] [[v3.7]]
== Version 3.7 (2022-10-09) == Version 3.7 (2022-10-09)
{see-release-notes}
New features:: New features::
* core: add option `-save` in command `/upgrade` (issue #1630) * core: add option `-save` in command `/upgrade` (issue #1630)
@@ -275,6 +808,8 @@ Tests::
[[v3.6]] [[v3.6]]
== Version 3.6 (2022-07-10) == Version 3.6 (2022-07-10)
{see-release-notes}
New features:: New features::
* core: add command `/item` to create custom bar items (issue #808) * core: add command `/item` to create custom bar items (issue #808)
@@ -302,6 +837,8 @@ Bug fixes::
[[v3.5]] [[v3.5]]
== Version 3.5 (2022-03-27) == Version 3.5 (2022-03-27)
{see-release-notes}
New features:: New features::
* core: search in message tags when tags are displayed with `/debug tags` * core: search in message tags when tags are displayed with `/debug tags`
@@ -354,6 +891,8 @@ Bug fixes::
[[v3.4]] [[v3.4]]
== Version 3.4 (2021-12-18) == Version 3.4 (2021-12-18)
{see-release-notes}
New features:: New features::
* core: add support of static arrays in hdata * core: add support of static arrays in hdata
@@ -397,6 +936,8 @@ Build::
[[v3.3]] [[v3.3]]
== Version 3.3 (2021-09-19) == Version 3.3 (2021-09-19)
{see-release-notes}
New features:: New features::
* core: change key kbd:[Alt+h] to kbd:[Alt+h], kbd:[Alt+c] (clear hotlist) * core: change key kbd:[Alt+h] to kbd:[Alt+h], kbd:[Alt+c] (clear hotlist)
@@ -459,6 +1000,8 @@ Bug fixes::
[[v3.2]] [[v3.2]]
== Version 3.2 (2021-06-13) == Version 3.2 (2021-06-13)
{see-release-notes}
New features:: New features::
* core: use XDG directories by default (config, data, cache, runtime) (issue #1285) * core: use XDG directories by default (config, data, cache, runtime) (issue #1285)
@@ -514,6 +1057,8 @@ Build::
[[v3.1]] [[v3.1]]
== Version 3.1 (2021-03-07) == Version 3.1 (2021-03-07)
{see-release-notes}
New features:: 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) * core: add options weechat.look.hotlist_update_on_buffer_switch and weechat.look.read_marker_update_on_buffer_switch (issue #992, issue #993)
@@ -556,6 +1101,8 @@ Bug fixes::
[[v3.0]] [[v3.0]]
== Version 3.0 (2020-11-11) == Version 3.0 (2020-11-11)
{see-release-notes}
New features:: New features::
* api: add optional list of colors in infos "nick_color" and "nick_color_name" (issue #1565) * api: add optional list of colors in infos "nick_color" and "nick_color_name" (issue #1565)
@@ -593,6 +1140,8 @@ Build::
[[v2.9]] [[v2.9]]
== Version 2.9 (2020-07-18) == Version 2.9 (2020-07-18)
{see-release-notes}
New features:: New features::
* core: add bar option "color_bg_inactive": color for window bars in inactive window (issue #732) * core: add bar option "color_bg_inactive": color for window bars in inactive window (issue #732)
@@ -679,6 +1228,8 @@ Build::
[[v2.8]] [[v2.8]]
== Version 2.8 (2020-03-29) == Version 2.8 (2020-03-29)
{see-release-notes}
New features:: New features::
* core: add variable "old_full_name" in buffer, set during buffer renaming (issue #1428) * core: add variable "old_full_name" in buffer, set during buffer renaming (issue #1428)
@@ -735,6 +1286,8 @@ Bug fixes::
[[v2.7]] [[v2.7]]
== Version 2.7 (2019-12-08) == Version 2.7 (2019-12-08)
{see-release-notes}
New features:: New features::
* core: add option weechat.look.nick_color_hash_salt to shuffle nick colors (issue #635) * core: add option weechat.look.nick_color_hash_salt to shuffle nick colors (issue #635)
@@ -792,6 +1345,8 @@ Build::
[[v2.6]] [[v2.6]]
== Version 2.6 (2019-09-08) == Version 2.6 (2019-09-08)
{see-release-notes}
New features:: New features::
* core: add support of 32767 color pairs (issue #1343, issue #1345) * core: add support of 32767 color pairs (issue #1343, issue #1345)
@@ -840,6 +1395,8 @@ Build::
[[v2.5]] [[v2.5]]
== Version 2.5 (2019-06-06) == Version 2.5 (2019-06-06)
{see-release-notes}
New features:: New features::
* core: use getopt to parse command line arguments * core: use getopt to parse command line arguments
@@ -895,6 +1452,8 @@ Build::
[[v2.4]] [[v2.4]]
== Version 2.4 (2019-02-17) == Version 2.4 (2019-02-17)
{see-release-notes}
New features:: 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) * core: do not automatically add a space when completing "nick:" at the beginning of command line (the space can be added in option weechat.completion.nick_completer)
@@ -972,6 +1531,8 @@ Build::
[[v2.2]] [[v2.2]]
== Version 2.2 (2018-07-14) == Version 2.2 (2018-07-14)
{see-release-notes}
New features:: New features::
* core: change default value of option weechat.look.hotlist_add_conditions to check connected relay clients via weechat protocol (issue #1206) * core: change default value of option weechat.look.hotlist_add_conditions to check connected relay clients via weechat protocol (issue #1206)
@@ -1040,6 +1601,8 @@ Build::
[[v2.1]] [[v2.1]]
== Version 2.1 (2018-03-18) == Version 2.1 (2018-03-18)
{see-release-notes}
New features:: New features::
* core: add binary weechat-headless to run WeeChat without interface, with optional daemon mode (command line option `--daemon`) (issue #1120) * core: add binary weechat-headless to run WeeChat without interface, with optional daemon mode (command line option `--daemon`) (issue #1120)
@@ -1079,6 +1642,8 @@ Bug fixes::
[[v2.0]] [[v2.0]]
== Version 2.0 (2017-12-03) == Version 2.0 (2017-12-03)
{see-release-notes}
New features:: New features::
* core: add flag "input_get_empty" in buffer * core: add flag "input_get_empty" in buffer
@@ -1166,6 +1731,8 @@ Bug fixes::
[[v1.8]] [[v1.8]]
== Version 1.8 (2017-05-13) == Version 1.8 (2017-05-13)
{see-release-notes}
New features:: New features::
* core: add option weechat.completion.nick_case_sensitive (issue #981) * core: add option weechat.completion.nick_case_sensitive (issue #981)
@@ -1216,6 +1783,8 @@ Bug fixes::
[[v1.7]] [[v1.7]]
== Version 1.7 (2017-01-15) == Version 1.7 (2017-01-15)
{see-release-notes}
New features:: New features::
* core: add option weechat.look.align_multiline_words (issue #411, issue #802) * core: add option weechat.look.align_multiline_words (issue #411, issue #802)
@@ -1260,6 +1829,8 @@ Build::
[[v1.6]] [[v1.6]]
== Version 1.6 (2016-10-02) == Version 1.6 (2016-10-02)
{see-release-notes}
New features:: New features::
* core: add optional argument `lowest`, `highest` or level mask in command `/input hotlist_clear` * core: add optional argument `lowest`, `highest` or level mask in command `/input hotlist_clear`
@@ -1296,6 +1867,8 @@ Build::
[[v1.5]] [[v1.5]]
== Version 1.5 (2016-05-01) == Version 1.5 (2016-05-01)
{see-release-notes}
New features:: New features::
* core: evaluate content of option "weechat.look.item_time_format" (issue #791) * core: evaluate content of option "weechat.look.item_time_format" (issue #791)
@@ -1338,6 +1911,8 @@ Build::
[[v1.4]] [[v1.4]]
== Version 1.4 (2016-01-10) == Version 1.4 (2016-01-10)
{see-release-notes}
New features:: 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) * core: add a parent name in options, display inherited values if null in `/set` output, add option weechat.color.chat_value_null (issue #629)
@@ -1395,6 +1970,8 @@ Build::
[[v1.3]] [[v1.3]]
== Version 1.3 (2015-08-16) == Version 1.3 (2015-08-16)
{see-release-notes}
New features:: New features::
* core: add completion "colors" (issue #481) * core: add completion "colors" (issue #481)
@@ -1450,6 +2027,8 @@ Build::
[[v1.2]] [[v1.2]]
== Version 1.2 (2015-05-10) == Version 1.2 (2015-05-10)
{see-release-notes}
New features:: New features::
* core: add signals "signal_sigterm" and "signal_sigquit" (issue #114) * core: add signals "signal_sigterm" and "signal_sigquit" (issue #114)
@@ -1524,6 +2103,8 @@ Build::
[[v1.1]] [[v1.1]]
== Version 1.1 (2015-01-11) == Version 1.1 (2015-01-11)
{see-release-notes}
New features:: New features::
* core: add option weechat.completion.command_inline (task #12491) * core: add option weechat.completion.command_inline (task #12491)
@@ -1621,6 +2202,8 @@ Build::
[[v1.0]] [[v1.0]]
== Version 1.0 (2014-08-15) == Version 1.0 (2014-08-15)
{see-release-notes}
New features:: New features::
* core: display a warning on startup if $TERM does not start with "screen" under Screen/Tmux * core: display a warning on startup if $TERM does not start with "screen" under Screen/Tmux
@@ -1637,7 +2220,7 @@ New features::
* core: add option weechat.look.hotlist_add_conditions, remove option weechat.look.hotlist_add_buffer_if_away * core: add option weechat.look.hotlist_add_conditions, remove option weechat.look.hotlist_add_buffer_if_away
* core: add option weechat.look.hotlist_remove (issue #99) * core: add option weechat.look.hotlist_remove (issue #99)
* core: add options `-beep` and `-current` in command `/print` * core: add options `-beep` and `-current` in command `/print`
* core: add bare display mode for easy text selection and click on URLs, new key: kbd:[Alt+l] (`L`), new option "bare" in command `/window`, new options: weechat.look.bare_display_exit_on_input and weechat.look.bare_display_time_format * core: add bare display mode for easy text selection and click on URLs, new key: kbd:[Alt+l] (lower `L`), new option "bare" in command `/window`, new options: weechat.look.bare_display_exit_on_input and weechat.look.bare_display_time_format
* core: add signals "key_combo_{default|search|cursor}" * core: add signals "key_combo_{default|search|cursor}"
* core: add terabyte unit for size displayed * core: add terabyte unit for size displayed
* core: display a warning in case of inconsistency between the options weechat.look.save_{config|layout}_on_exit * core: display a warning in case of inconsistency between the options weechat.look.save_{config|layout}_on_exit
@@ -1782,6 +2365,8 @@ Tests::
[[v0.4.3]] [[v0.4.3]]
== Version 0.4.3 (2014-02-09) == Version 0.4.3 (2014-02-09)
{see-release-notes}
New features:: New features::
* core: add signals "signal_sighup" and "signal_sigwinch" (terminal resized) * core: add signals "signal_sighup" and "signal_sigwinch" (terminal resized)
@@ -1885,6 +2470,8 @@ Build::
[[v0.4.2]] [[v0.4.2]]
== Version 0.4.2 (2013-10-06) == Version 0.4.2 (2013-10-06)
{see-release-notes}
New features:: 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) * core: display day change message dynamically (do not store it as a line in buffer), split option weechat.look.day_change_time_format into two options weechat.look.day_change_message_{1date|2dates}, new option weechat.color.chat_day_change (task #12775)
@@ -1961,12 +2548,14 @@ Documentation::
Build:: Build::
* core: add CA_FILE option in CMake and configure to setup default value of option weechat.network.gnutls_ca_file (default is "/etc/ssl/certs/ca-certificates.crt") (task #12725) * core: add CA_FILE option in CMake and configure to setup default value of option weechat.network.gnutls_ca_file (default is "/etc/ssl/certs/ca-certificates.crt") (task #12725)
* core: disable build of doc by default, add CMake option ENABLE_MAN to compile man page (off by default) * core: disable build of doc by default, add CMake option "ENABLE_MAN" to compile man page (off by default)
* xfer: fix compilation on OpenBSD (bug #39071) * xfer: fix compilation on OpenBSD (bug #39071)
[[v0.4.1]] [[v0.4.1]]
== Version 0.4.1 (2013-05-20) == Version 0.4.1 (2013-05-20)
{see-release-notes}
New features:: 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) * core: make nick prefix/suffix dynamic (not stored in the line): move options irc.look.nick_{prefix|suffix} to weechat.look.nick_{prefix|suffix} and options irc.color.nick_{prefix|suffix} to weechat.color.chat_nick_{prefix|suffix}, add new options weechat.look.prefix_align_more_after, weechat.look.prefix_buffer_align_more_after, logger.file.nick_{prefix|suffix} (bug #37531)
@@ -2051,6 +2640,8 @@ Build::
[[v0.4.0]] [[v0.4.0]]
== Version 0.4.0 (2013-01-20) == Version 0.4.0 (2013-01-20)
{see-release-notes}
New features:: New features::
* core: add buffer pointer in arguments for signals "input_search", "input_text_changed" and "input_text_cursor_moved" * core: add buffer pointer in arguments for signals "input_search", "input_text_changed" and "input_text_cursor_moved"
@@ -2152,6 +2743,8 @@ Bug fixes::
[[v0.3.9]] [[v0.3.9]]
== Version 0.3.9 (2012-09-29) == Version 0.3.9 (2012-09-29)
{see-release-notes}
New features:: New features::
* core: add signals for plugins loaded/unloaded * core: add signals for plugins loaded/unloaded
@@ -2240,6 +2833,8 @@ Build::
[[v0.3.8]] [[v0.3.8]]
== Version 0.3.8 (2012-06-03) == Version 0.3.8 (2012-06-03)
{see-release-notes}
New features:: 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) * core: add option weechat.look.prefix_same_nick (hide or change prefix on messages whose nick is the same as previous message) (task #11965)
@@ -2307,6 +2902,8 @@ Build::
[[v0.3.7]] [[v0.3.7]]
== Version 0.3.7 (2012-02-26) == Version 0.3.7 (2012-02-26)
{see-release-notes}
New features:: New features::
* core: add support of flags in regular expressions and highlight options * core: add support of flags in regular expressions and highlight options
@@ -2391,6 +2988,8 @@ Build::
[[v0.3.6]] [[v0.3.6]]
== Version 0.3.6 (2011-10-22) == Version 0.3.6 (2011-10-22)
{see-release-notes}
New features:: 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) * core: add color attribute "|" (keep attributes) and value "resetcolor" for function color in plugin API (used by irc plugin to keep bold/reverse/underlined in message when changing color) (bug #34550)
@@ -2483,6 +3082,8 @@ Build::
[[v0.3.5]] [[v0.3.5]]
== Version 0.3.5 (2011-05-15) == Version 0.3.5 (2011-05-15)
{see-release-notes}
New features:: 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) * core: add buffer to hotlist if away is set on buffer (even if buffer is displayed), new option weechat.look.hotlist_add_buffer_if_away (task #10948)
@@ -2561,6 +3162,8 @@ Build::
[[v0.3.4]] [[v0.3.4]]
== Version 0.3.4 (2011-01-16) == Version 0.3.4 (2011-01-16)
{see-release-notes}
New features:: New features::
* core: add 256 colors support, new command `/color`, new section "palette" in weechat.conf (task #6834) * core: add 256 colors support, new command `/color`, new section "palette" in weechat.conf (task #6834)
@@ -2629,6 +3232,8 @@ Build::
[[v0.3.3]] [[v0.3.3]]
== Version 0.3.3 (2010-08-07) == Version 0.3.3 (2010-08-07)
{see-release-notes}
New features:: New features::
* core: use "!" to reverse a regex in a filter (to keep lines matching regex and hide other lines) (task #10032) * core: use "!" to reverse a regex in a filter (to keep lines matching regex and hide other lines) (task #10032)
@@ -2672,6 +3277,8 @@ Bug fixes::
[[v0.3.2]] [[v0.3.2]]
== Version 0.3.2 (2010-04-18) == Version 0.3.2 (2010-04-18)
{see-release-notes}
New features:: New features::
* core: add new options for command `/key`: `listdefault`, `listdiff` and `reset` * core: add new options for command `/key`: `listdefault`, `listdiff` and `reset`
@@ -2752,6 +3359,8 @@ Build::
[[v0.3.1]] [[v0.3.1]]
== Version 0.3.1 (2010-01-23) == Version 0.3.1 (2010-01-23)
{see-release-notes}
New features:: New features::
* core: add option "grab_key_command" in command `/input` (bound by default to kbd:[Alt+k]) * core: add option "grab_key_command" in command `/input` (bound by default to kbd:[Alt+k])
@@ -2808,6 +3417,8 @@ Build::
[[v0.3.0]] [[v0.3.0]]
== Version 0.3.0 (2009-09-06) == Version 0.3.0 (2009-09-06)
{see-release-notes}
New features:: New features::
* core: add group support in nicklist * core: add group support in nicklist
@@ -3034,6 +3645,8 @@ Build::
[[v0.2.2]] [[v0.2.2]]
== Version 0.2.2 (2007-01-06) == Version 0.2.2 (2007-01-06)
{see-release-notes}
New features:: New features::
* add anti-flood option (irc_anti_flood) (task #5442) * add anti-flood option (irc_anti_flood) (task #5442)
@@ -3110,6 +3723,8 @@ Bug fixes::
[[v0.2.0]] [[v0.2.0]]
== Version 0.2.0 (2006-08-19) == Version 0.2.0 (2006-08-19)
{see-release-notes}
New features:: New features::
* add "C"lear option on IRC raw buffer * add "C"lear option on IRC raw buffer
@@ -3165,6 +3780,8 @@ Build::
[[v0.1.9]] [[v0.1.9]]
== Version 0.1.9 (2006-05-25) == Version 0.1.9 (2006-05-25)
{see-release-notes}
New features:: New features::
* add backtrace when WeeChat crashes, log file automatically renamed * add backtrace when WeeChat crashes, log file automatically renamed
@@ -3222,6 +3839,8 @@ Build::
[[v0.1.8]] [[v0.1.8]]
== Version 0.1.8 (2006-03-18) == Version 0.1.8 (2006-03-18)
{see-release-notes}
New features:: New features::
* improve alias completion (now uses target command for completion) * improve alias completion (now uses target command for completion)
@@ -3269,6 +3888,8 @@ Bug fixes::
[[v0.1.7]] [[v0.1.7]]
== Version 0.1.7 (2006-01-14) == Version 0.1.7 (2006-01-14)
{see-release-notes}
New features:: 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) * remove "irc_default_msg_away" setting, for RFC 2812 conformity (`/away` command without argument only removes away status), new values for "irc_display_away" (off, local, channel)
@@ -3301,6 +3922,8 @@ Build::
[[v0.1.6]] [[v0.1.6]]
== Version 0.1.6 (2005-11-11) == Version 0.1.6 (2005-11-11)
{see-release-notes}
New features:: 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 * 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>] 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/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/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/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/"] 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
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. This file is part of WeeChat, the extensible chat client.
+446 -40
View File
@@ -11,6 +11,411 @@ It is recommended to read it when upgrading to a new stable version. +
For a complete list of changes, please look at ChangeLog. For a complete list of changes, please look at ChangeLog.
[[v4.3.6]]
== Version 4.3.6 (2024-08-15)
No release notes.
[[v4.3.5]]
== Version 4.3.5 (2024-07-16)
No release notes.
[[v4.3.4]]
== Version 4.3.4 (2024-07-03)
No release notes.
[[v4.3.3]]
== Version 4.3.3 (2024-06-22)
No release notes.
[[v4.3.2]]
== Version 4.3.2 (2024-06-06)
No release notes.
[[v4.3.1]]
== Version 4.3.1 (2024-05-31)
[[v4.3.1_libgcrypt]]
=== Detection of libgcrypt
The detection of libgcrypt has been fixed to properly detect libgcrypt >= 1.11. +
As a consequence, the detection of an old version of libgcrypt is failing if the
file `libgcrypt.pc` is not found. +
This affects old distributions like Debian Buster and Ubuntu Bionic.
[[v4.3.0]]
== Version 4.3.0 (2024-05-26)
[[v4.3.0_relay_options]]
=== Relay options
The following relay options have been renamed:
* relay.color.status_waiting_auth -> relay.color.status_authenticating
* relay.weechat.commands -> relay.network.commands (new default value: `*,!quit`)
[[v4.3.0_lag_in_buflist]]
=== Lag in buflist
The lag is now stored in all IRC buffers: server (like it always has been),
channels and private buffers.
Consequently, if you use `${format_lag}` in buflist options, this lag will be
displayed on server and all channels and private buffers.
If you want to display the lag only on server buffer in buflist, you can use
such format:
----
${if:${type}==server?${format_lag}}
----
[[v4.3.0_irc_color_channel_modes]]
=== Color of IRC channel modes
The option `irc.color.item_channel_modes` has been moved to core and renamed to
`weechat.color.status_modes`.
[[v4.3.0_signal_buffer_line_added]]
=== Signal "buffer_line_added"
The signal "buffer_line_added" is now sent for every line added or modified
on a buffer with free content.
[[v4.3.0_script_keys]]
=== Script keys
Some arguments to the `/script` command were renamed in version 4.1.0, but the
keys using these arguments were not changed at same time.
They're now using the new arguments by default, but you must reset manually
the keys with the following commands:
----
/reset weechat.key_mouse.@chat(script.scripts):button1
/reset weechat.key_mouse.@chat(script.scripts):button2
/reset weechat.key_mouse.@chat(script.scripts):wheeldown
/reset weechat.key_mouse.@chat(script.scripts):wheelup
----
[[v4.2.3]]
== Version 4.2.3 (2024-05-31)
No release notes.
[[v4.2.2]]
== Version 4.2.2 (2024-04-07)
[[v4.2.2_script_keys]]
=== Script keys
Some arguments to the `/script` command were renamed in version 4.1.0, but the
keys using these arguments were not changed at same time.
They're now using the new arguments by default, but you must reset manually
the keys with the following commands:
----
/reset weechat.key_mouse.@chat(script.scripts):button1
/reset weechat.key_mouse.@chat(script.scripts):button2
/reset weechat.key_mouse.@chat(script.scripts):wheeldown
/reset weechat.key_mouse.@chat(script.scripts):wheelup
----
[[v4.2.1]]
== Version 4.2.1 (2024-01-22)
No release notes.
[[v4.2.0]]
== Version 4.2.0 (2024-01-21)
[[v4.2.0_lines_microseconds]]
=== Microseconds in buffer lines
Microseconds have been added in buffer lines (for both date and printed date).
Here are the changes that could affect plugins and scripts:
* hook_print: the C callback receives a new argument "date_usec" (microseconds
of date), after the argument "date" (scripting API is unchanged: the
microseconds are not available)
* trigger of types "print" and "timer": the format of variable `${tg_date}` is
changed from `%Y-%m-%d %H:%M:%S` to `%FT%T.%f` (where `%f` is the number of
microseconds on 6 digits)
[[v4.2.0_irc_anti_flood]]
=== IRC anti-flood
The anti-flood mechanism in IRC plugin has been improved and is now configured
in milliseconds instead of seconds. +
It is done with a single option `irc.server_default.anti_flood` (and same option
in servers), which replaces both options `anti_flood_prio_high` and
`anti_flood_prio_low`.
The default value is 2000 (2 seconds), and for example if you want to set
a delay of 0.5 seconds between your messages sent:
----
/set irc.server_default.anti_flood 500
----
When upgrading from an old WeeChat version, you'll see such messages, which are
perfectly normal (they're displayed to warn you about unknown options, and then
you have to set the new option if needed):
----
=!= | Warning: /home/user/.config/weechat/irc.conf, line 131: ignoring unknown option for section "server_default": anti_flood_prio_high = 2
=!= | Warning: /home/user/.config/weechat/irc.conf, line 132: ignoring unknown option for section "server_default": anti_flood_prio_low = 2
=!= | Warning: /home/user/.config/weechat/irc.conf, line 212: ignoring invalid value for option in section "server": libera.anti_flood_prio_high
=!= | Warning: //home/user/.config/weechat/irc.conf, line 213: ignoring invalid value for option in section "server": libera.anti_flood_prio_low
----
[[v4.2.0_search_commands_history]]
=== Search in commands history
Search in commands history has been added with new keys and a new key context
called "histsearch".
Some existing keys have been moved as well.
New keys can be changed and added with the following commands after upgrade
from an old WeeChat version:
----
/key missing
/key unbind ctrl-s,ctrl-u
/key bind meta-U /allbuf /buffer set unread
/key bind ctrl-r /input search_history
/key bindctxt search ctrl-r /input search_previous
----
[[v4.2.0_irc_rgb_colors]]
=== RGB colors in IRC messages
Support for RGB colors in IRC messages has been added and a new key
kbd:[Ctrl+c], kbd:[d] is available to insert this color code in command line.
You can add this key with this command:
----
/key missing
----
[[v4.2.0_custom_bar_items]]
=== Custom bar items
Custom bar items must now have a different name than default bar items
(for example the custom bar item name `time` is now forbidden). +
If you have such names in your config, WeeChat will now fail to load them
(this should not happen anyway, since such bar items can not be properly used
or can cause a crash of WeeChat).
[[v4.2.0_nick_color_infos]]
=== Nick color infos
The infos irc_nick_color and irc_nick_color_name are deprecated again, and the
algorithm to compute IRC nick colors has been reverted to case sensitive. +
The server name has been removed from arguments.
[[v4.1.3]]
== Version 4.1.3 (2024-01-20)
No release notes.
[[v4.1.2]]
== Version 4.1.2 (2023-12-03)
No release notes.
[[v4.1.1]]
== Version 4.1.1 (2023-10-26)
[[v4.1.1_custom_bar_items]]
=== Custom bar items
Custom bar items must now have a different name than default bar items
(for example the custom bar item name `time` is now forbidden). +
If you have such names in your config, WeeChat will now fail to load them
(this should not happen anyway, since such bar items can not be properly used
or can cause a crash of WeeChat).
[[v4.1.0]]
== Version 4.1.0 (2023-10-15)
[[v4.1.0_cursor_mode_keys]]
=== New keys to move in cursor mode
New keys have been added to move in cursor mode, and existing keys to move to
another area have been changed: modifier is now kbd:[Alt+Shift] instead of
kbd:[Alt].
You can change existing keys and add new ones with these commands:
----
/key bindctxt cursor meta-up /cursor move edge_top
/key bindctxt cursor meta-down /cursor move edge_bottom
/key bindctxt cursor meta-left /cursor move edge_left
/key bindctxt cursor meta-right /cursor move edge_right
/key bindctxt cursor meta-end /cursor move bottom_right
/key bindctxt cursor meta-home /cursor move top_left
/key bindctxt cursor meta-shift-up /cursor move area_up
/key bindctxt cursor meta-shift-down /cursor move area_down
/key bindctxt cursor meta-shift-left /cursor move area_left
/key bindctxt cursor meta-shift-right /cursor move area_right
----
[[v4.1.0_irc_ctcp_replies]]
=== IRC CTCP replies
IRC CTCP replies are now evaluated, with the same variables available, so now
the syntax is for example `${version}` instead of `$version`. +
The existing options `irc.ctcp.*` are automatically converted on upgrade.
In addition, for privacy reasons, these default CTCP replies have been removed:
- FINGER
- USERINFO
If ever you want that WeeChat replies to these CTCP requests, you can add them
back with the two following commands:
----
/set irc.ctcp.finger "WeeChat ${version}"
/set irc.ctcp.userinfo "${username} (${realname})"
----
They will then be advertised in reply to "CTCP CLIENTINFO", which is now built
dynamically with these options.
[[v4.1.0_nick_color_infos]]
=== Nick color infos
Two infos to get nick colors have been added: nick_color_ignore_case and
nick_color_name_ignore_case. +
They are similar to nick_color and nick_color_name, except they take as second
argument a range of chars to apply on the nick: the nick is converted to lower
case using this range of chars.
The infos irc_nick_color and irc_nick_color_name, that were deprecated since
version 1.5 are now used again, with a change in parameter: the server is now
optional before the nick: "server,nick". +
The nick is first converted to lower case, following the value of CASEMAPPING
on the server, then hashed to compute the color. +
That means the color for a nick is now case insensitive (in the way IRC servers
are case insensitive, so with a limited range of chars only).
If a script was using this info with a comma in nickname (which should not happen
anyway), this is now interpreted as the server name, and the script must be
modified. +
Anyway, it is recommended to always give the server name to respect the
CASEMAPPING of the server and prevent any issue with a comma in the nickname.
For example nick color of "alice" and "ALICE" is now always guaranteed to be the
same:
----
# with server name (recommended)
weechat.info_get("irc_nick_color", "libera,alice") == weechat.info_get("irc_nick_color", "libera,ALICE")
weechat.info_get("irc_nick_color_name", "libera,alice") == weechat.info_get("irc_nick_color_name", "libera,ALICE")
# without server name (allowed but not recommended, kept for compatibility)
weechat.info_get("irc_nick_color", "alice") == weechat.info_get("irc_nick_color", "ALICE")
weechat.info_get("irc_nick_color_name", "alice") == weechat.info_get("irc_nick_color_name", "ALICE")
----
[[v4.1.0_fset_allowed_values]]
=== Allowed values for options on fset buffer
A new variable `allowed_values` has been added in fset options.
The default value for the second format has changed. +
You can reset it with this command:
----
/reset fset.format.option2
----
[[v4.1.0_fset_mouse]]
=== Mouse actions on fset buffer
Mouse actions on fset buffer has been fixed when option `fset.look.format_number`
is set to 2.
The key for button 1 on fset buffer has been fixed. +
You can reset it with this command:
----
/reset weechat.key_mouse.@chat(fset.fset):button1
----
[[v4.0.8]]
== Version 4.0.8 (2024-01-20)
No release notes.
[[v4.0.7]]
== Version 4.0.7 (2023-12-03)
No release notes.
[[v4.0.6]]
== Version 4.0.6 (2023-10-26)
[[v4.0.6_custom_bar_items]]
=== Custom bar items
Custom bar items must now have a different name than default bar items
(for example the custom bar item name `time` is now forbidden).
If you have such names in your config, WeeChat will now fail to load them
(this should not happen anyway, since such bar items can not be properly used
and can cause a crash of WeeChat).
[[v4.0.5]]
== Version 4.0.5 (2023-09-24)
No release notes.
[[v4.0.4]]
== Version 4.0.4 (2023-08-22)
No release notes.
[[v4.0.3]]
== Version 4.0.3 (2023-08-08)
No release notes.
[[v4.0.2]]
== Version 4.0.2 (2023-07-12)
No release notes.
[[v4.0.1]]
== Version 4.0.1 (2023-06-30)
[[v4.0.1_config_set_plugin]]
=== Functions config_set_plugin and config_set_desc_plugin
The functions link:https://weechat.org/doc/weechat/plugin/#_config_set_plugin[config_set_plugin]
and link:https://weechat.org/doc/weechat/plugin/#_config_set_desc_plugin[config_set_desc_plugin]
are not converting any more the option name to lower case because since version 4.0.0,
the name of options is case sensitive.
[[v4.0.1_grab_raw_key]]
=== Grab raw key and command
Key kbd:[Alt+K] (upper case) has been removed, as well as commands
`/input grab_raw_key` and `/input grab_raw_key_command`.
Now the key kbd:[Alt+k] displays the actual key name and command, possibly
raw key.
[[v4.0.0]] [[v4.0.0]]
== Version 4.0.0 (2023-06-24) == Version 4.0.0 (2023-06-24)
@@ -182,6 +587,10 @@ Alias converted to lower case: "CLOSE" => "close"
[[v4.0.0_tls]] [[v4.0.0_tls]]
=== TLS options and connections === TLS options and connections
Option `weechat.color.status_name_insecure` has been added, the buffer name
is now displayed with color `lightmagenta` by default if the connection with
the server is *NOT* made with TLS.
Options, commands and documentation have been updated to "TLS" instead of "SSL": Options, commands and documentation have been updated to "TLS" instead of "SSL":
* core option: * core option:
@@ -449,7 +858,7 @@ now any return value is ignored (like it has always been in the C API).
[[v3.7.1]] [[v3.7.1]]
== Version 3.7.1 (2022-10-21) == Version 3.7.1 (2022-10-21)
Bug fix and maintenance release. No release notes.
[[v3.7]] [[v3.7]]
== Version 3.7 (2022-10-09) == Version 3.7 (2022-10-09)
@@ -571,7 +980,7 @@ and is now a percentage between `0` and `100`:
[[v3.4.1]] [[v3.4.1]]
== Version 3.4.1 (2022-03-13) == Version 3.4.1 (2022-03-13)
Bug fix and maintenance release. No release notes.
[[v3.4]] [[v3.4]]
== Version 3.4 (2021-12-18) == Version 3.4 (2021-12-18)
@@ -729,7 +1138,7 @@ For example:
[[v3.2.1]] [[v3.2.1]]
== Version 3.2.1 (2021-09-04) == Version 3.2.1 (2021-09-04)
Bug fix and maintenance release. No release notes.
[[v3.2]] [[v3.2]]
== Version 3.2 (2021-06-13) == Version 3.2 (2021-06-13)
@@ -959,7 +1368,7 @@ must adjust the value of the new option, which defaults to 1:
[[v3.0.1]] [[v3.0.1]]
== Version 3.0.1 (2021-01-31) == Version 3.0.1 (2021-01-31)
Bug fix and maintenance release. No release notes.
[[v3.0]] [[v3.0]]
== Version 3.0 (2020-11-11) == Version 3.0 (2020-11-11)
@@ -1267,7 +1676,7 @@ version:
[[v2.7.1]] [[v2.7.1]]
== Version 2.7.1 (2020-02-20) == Version 2.7.1 (2020-02-20)
Bug fix and maintenance release. No release notes.
[[v2.7]] [[v2.7]]
== Version 2.7 (2019-12-08) == Version 2.7 (2019-12-08)
@@ -1511,7 +1920,7 @@ Functions removed from C API:
[[v2.3]] [[v2.3]]
== Version 2.3 (2018-10-21) == Version 2.3 (2018-10-21)
No release note. No release notes.
[[v2.2]] [[v2.2]]
== Version 2.2 (2018-07-14) == Version 2.2 (2018-07-14)
@@ -1647,7 +2056,7 @@ List of options moved:
[[v2.0.1]] [[v2.0.1]]
== Version 2.0.1 (2017-12-20) == Version 2.0.1 (2017-12-20)
Bug fix and maintenance release. No release notes.
[[v2.0]] [[v2.0]]
== Version 2.0 (2017-12-03) == Version 2.0 (2017-12-03)
@@ -1742,12 +2151,12 @@ to integer before using it, for example in Python: `int(fd)`.
[[v1.9.1]] [[v1.9.1]]
== Version 1.9.1 (2017-09-23) == Version 1.9.1 (2017-09-23)
Bug fix and maintenance release. No release notes.
[[v1.9]] [[v1.9]]
== Version 1.9 (2017-06-25) == Version 1.9 (2017-06-25)
No release note. No release notes.
[[v1.8]] [[v1.8]]
== Version 1.8 (2017-05-13) == Version 1.8 (2017-05-13)
@@ -1799,7 +2208,7 @@ Aspell option with color for suggestion on a misspelled word has been renamed:
[[v1.7.1]] [[v1.7.1]]
== Version 1.7.1 (2017-04-22) == Version 1.7.1 (2017-04-22)
Bug fix and maintenance release. No release notes.
[[v1.7]] [[v1.7]]
== Version 1.7 (2017-01-15) == Version 1.7 (2017-01-15)
@@ -2046,7 +2455,7 @@ command:
[[v1.1.1]] [[v1.1.1]]
== Version 1.1.1 (2015-01-25) == Version 1.1.1 (2015-01-25)
Bug fix and maintenance release. No release notes.
[[v1.1]] [[v1.1]]
== Version 1.1 (2015-01-11) == Version 1.1 (2015-01-11)
@@ -2166,7 +2575,7 @@ instead of milliseconds:
[[v1.0.1]] [[v1.0.1]]
== Version 1.0.1 (2014-09-28) == Version 1.0.1 (2014-09-28)
Bug fix and maintenance release. No release notes.
[[v1.0]] [[v1.0]]
== Version 1.0 (2014-08-15) == Version 1.0 (2014-08-15)
@@ -2663,13 +3072,12 @@ disable IPv6 in relay if you don't plan to use it at all:
[[v0.3.9.2]] [[v0.3.9.2]]
== Version 0.3.9.2 (2012-11-18) == Version 0.3.9.2 (2012-11-18)
This version fixes a security vulnerability when a plugin/script gives No release notes.
untrusted command to API function link:https://weechat.org/doc/weechat/plugin/#_hook_process[hook_process].
[[v0.3.9.1]] [[v0.3.9.1]]
== Version 0.3.9.1 (2012-11-09) == Version 0.3.9.1 (2012-11-09)
This version fixes crash when decoding IRC colors in strings. No release notes.
[[v0.3.9]] [[v0.3.9]]
== Version 0.3.9 (2012-09-29) == Version 0.3.9 (2012-09-29)
@@ -2977,39 +3385,37 @@ Major differences:
[[v0.2.6.3]] [[v0.2.6.3]]
== Version 0.2.6.3 (2009-06-13) == Version 0.2.6.3 (2009-06-13)
This version fixes gnutls detection. No release notes.
[[v0.2.6.2]] [[v0.2.6.2]]
== Version 0.2.6.2 (2009-04-18) == 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]] [[v0.2.6.1]]
== Version 0.2.6.1 (2009-03-14) == 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]] [[v0.2.6]]
== Version 0.2.6 (2007-09-06) == Version 0.2.6 (2007-09-06)
No release note. No release notes.
[[v0.2.5]] [[v0.2.5]]
== Version 0.2.5 (2007-06-07) == Version 0.2.5 (2007-06-07)
No release note. No release notes.
[[v0.2.4]] [[v0.2.4]]
== Version 0.2.4 (2007-03-29) == Version 0.2.4 (2007-03-29)
No release note. No release notes.
[[v0.2.3]] [[v0.2.3]]
== Version 0.2.3 (2007-01-10) == Version 0.2.3 (2007-01-10)
This version fixes several major bugs of version 0.2.2. No release notes.
All users of version 0.2.2 should upgrade to this version.
[[v0.2.2]] [[v0.2.2]]
== Version 0.2.2 (2007-01-06) == Version 0.2.2 (2007-01-06)
@@ -3061,7 +3467,7 @@ Which gives something like:
[[v0.2.1]] [[v0.2.1]]
== Version 0.2.1 (2006-10-01) == Version 0.2.1 (2006-10-01)
No release note. No release notes.
[[v0.2.0]] [[v0.2.0]]
== Version 0.2.0 (2006-08-19) == Version 0.2.0 (2006-08-19)
@@ -3175,74 +3581,74 @@ at startup.
[[v0.1.5]] [[v0.1.5]]
== Version 0.1.5 (2005-09-24) == Version 0.1.5 (2005-09-24)
No release note. No release notes.
[[v0.1.4]] [[v0.1.4]]
== Version 0.1.4 (2005-07-30) == Version 0.1.4 (2005-07-30)
No release note. No release notes.
[[v0.1.3]] [[v0.1.3]]
== Version 0.1.3 (2005-07-02) == Version 0.1.3 (2005-07-02)
No release note. No release notes.
[[v0.1.2]] [[v0.1.2]]
== Version 0.1.2 (2005-05-21) == Version 0.1.2 (2005-05-21)
No release note. No release notes.
[[v0.1.1]] [[v0.1.1]]
== Version 0.1.1 (2005-03-20) == Version 0.1.1 (2005-03-20)
No release note. No release notes.
[[v0.1.0]] [[v0.1.0]]
== Version 0.1.0 (2005-02-12) == Version 0.1.0 (2005-02-12)
No release note. No release notes.
[[v0.0.9]] [[v0.0.9]]
== Version 0.0.9 (2005-01-01) == Version 0.0.9 (2005-01-01)
No release note. No release notes.
[[v0.0.8]] [[v0.0.8]]
== Version 0.0.8 (2004-10-30) == Version 0.0.8 (2004-10-30)
No release note. No release notes.
[[v0.0.7]] [[v0.0.7]]
== Version 0.0.7 (2004-08-08) == Version 0.0.7 (2004-08-08)
No release note. No release notes.
[[v0.0.6]] [[v0.0.6]]
== Version 0.0.6 (2004-06-05) == Version 0.0.6 (2004-06-05)
No release note. No release notes.
[[v0.0.5]] [[v0.0.5]]
== Version 0.0.5 (2004-02-07) == Version 0.0.5 (2004-02-07)
No release note. No release notes.
[[v0.0.4]] [[v0.0.4]]
== Version 0.0.4 (2004-01-01) == Version 0.0.4 (2004-01-01)
No release note. No release notes.
[[v0.0.3]] [[v0.0.3]]
== Version 0.0.3 (2003-11-03) == Version 0.0.3 (2003-11-03)
No release note. No release notes.
[[v0.0.2]] [[v0.0.2]]
== Version 0.0.2 (2003-10-05) == Version 0.0.2 (2003-10-05)
No release note. No release notes.
[[v0.0.1]] [[v0.0.1]]
== Version 0.0.1 (2003-09-27) == Version 0.0.1 (2003-09-27)
No release note. No release notes.
+1 -1
View File
@@ -1,5 +1,5 @@
# #
# Copyright (C) 2003-2023 Sébastien Helleu <flashcode@flashtux.org> # Copyright (C) 2003-2024 Sébastien Helleu <flashcode@flashtux.org>
# #
# This file is part of WeeChat, the extensible chat client. # 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. # 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. # 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) 2007 Julien Louis <ptitlouis@sysif.net>
# Copyright (C) 2009 Emmanuel Bouthenot <kolter@openics.org> # 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) check_include_files(libintl.h HAVE_LIBINTL_H)
if(HAVE_LIBINTL_H) if(NOT HAVE_LIBINTL_H)
check_function_exists(dgettext LIBC_HAS_DGETTEXT) message(SEND_ERROR "Header libintl.h not found, required if ENABLE_NLS is enabled")
if(LIBC_HAS_DGETTEXT) endif()
set(GETTEXT_FOUND TRUE)
else() check_function_exists(dgettext LIBC_HAS_DGETTEXT)
find_library(LIBINTL_LIBRARY NAMES intl if(LIBC_HAS_DGETTEXT)
PATHS set(GETTEXT_FOUND TRUE)
/usr/local/lib else()
/usr/lib find_library(LIBINTL_LIBRARY NAMES intl
) PATHS
if(LIBINTL_LIBRARY) /usr/local/lib
if(${CMAKE_SYSTEM_NAME} STREQUAL "OpenBSD") /usr/lib
set(CMAKE_REQUIRED_LIBRARIES "iconv") )
check_library_exists(${LIBINTL_LIBRARY} "libintl_dgettext" "" LIBINTL_HAS_DGETTEXT) if(LIBINTL_LIBRARY)
else() if(${CMAKE_SYSTEM_NAME} STREQUAL "OpenBSD")
check_library_exists(${LIBINTL_LIBRARY} "dgettext" "" LIBINTL_HAS_DGETTEXT) set(CMAKE_REQUIRED_LIBRARIES "iconv")
endif() check_library_exists(${LIBINTL_LIBRARY} "libintl_dgettext" "" LIBINTL_HAS_DGETTEXT)
if(LIBINTL_HAS_DGETTEXT) else()
set(GETTEXT_FOUND TRUE) check_library_exists(${LIBINTL_LIBRARY} "dgettext" "" LIBINTL_HAS_DGETTEXT)
endif() endif()
if(LIBINTL_HAS_DGETTEXT)
set(GETTEXT_FOUND TRUE)
endif() endif()
endif() 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> # Copyright (C) 2009 Emmanuel Bouthenot <kolter@openics.org>
# #
# This file is part of WeeChat, the extensible chat client. # 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. # 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. # 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. # 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. # This file is part of WeeChat, the extensible chat client.
# #
+2 -2
View File
@@ -1,6 +1,6 @@
# #
# Copyright (C) 2017 Adam Saponara <as@php.net> # Copyright (C) 2017 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. # This file is part of WeeChat, the extensible chat client.
# #
@@ -48,7 +48,7 @@ if(NOT PHP_FOUND)
execute_process(COMMAND ${PHP_CONFIG_EXECUTABLE} --version OUTPUT_VARIABLE PHP_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE) execute_process(COMMAND ${PHP_CONFIG_EXECUTABLE} --version OUTPUT_VARIABLE PHP_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE)
if(${PHP_VERSION} MATCHES "^[78]") if(${PHP_VERSION} MATCHES "^[78]")
find_library(PHP_LIB find_library(PHP_LIB
NAMES php8.2 php8.1 php8.0 php8 php7.4 php7.3 php7.2 php7.1 php7.0 php7 php NAMES php8.2 php82 php8.1 php81 php8.0 php80 php8 php7.4 php74 php7.3 php73 php7.2 php72 php7.1 php71 php7.0 php70 php7 php
HINTS ${PHP_LIB_PREFIX} ${PHP_LIB_PREFIX}/lib ${PHP_LIB_PREFIX}/lib64 HINTS ${PHP_LIB_PREFIX} ${PHP_LIB_PREFIX}/lib ${PHP_LIB_PREFIX}/lib64
) )
if(PHP_LIB) if(PHP_LIB)
+1 -1
View File
@@ -1,5 +1,5 @@
# #
# Copyright (C) 2003-2023 Sébastien Helleu <flashcode@flashtux.org> # Copyright (C) 2003-2024 Sébastien Helleu <flashcode@flashtux.org>
# #
# This file is part of WeeChat, the extensible chat client. # 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> # Copyright (C) 2009 Julien Louis <ptitlouis@sysif.net>
# #
# This file is part of WeeChat, the extensible chat client. # 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. # 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 specific search path for macOS
set(ENV{PKG_CONFIG_PATH} "$ENV{PKG_CONFIG_PATH}:/usr/local/opt/ruby/lib/pkgconfig") set(ENV{PKG_CONFIG_PATH} "$ENV{PKG_CONFIG_PATH}:/usr/local/opt/ruby/lib/pkgconfig")
endif() 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") if(RUBY_FOUND AND ${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
# FIXME: weird hack: hardcoding the Ruby lib location on macOS # FIXME: weird hack: hardcoding the Ruby lib location on macOS
set(RUBY_LDFLAGS "${RUBY_LDFLAGS} -L/usr/local/opt/ruby/lib") 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. # 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. # 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_SYS_RESOURCE_H
#cmakedefine HAVE_FLOCK #cmakedefine HAVE_FLOCK
#cmakedefine HAVE_LANGINFO_CODESET #cmakedefine HAVE_LANGINFO_CODESET
@@ -6,6 +5,8 @@
#cmakedefine ICONV_2ARG_IS_CONST 1 #cmakedefine ICONV_2ARG_IS_CONST 1
#cmakedefine HAVE_MALLINFO #cmakedefine HAVE_MALLINFO
#cmakedefine HAVE_MALLINFO2 #cmakedefine HAVE_MALLINFO2
#cmakedefine HAVE_MALLOC_H
#cmakedefine HAVE_MALLOC_TRIM
#cmakedefine HAVE_EAT_NEWLINE_GLITCH #cmakedefine HAVE_EAT_NEWLINE_GLITCH
#cmakedefine HAVE_ASPELL_VERSION_STRING #cmakedefine HAVE_ASPELL_VERSION_STRING
#cmakedefine HAVE_ENCHANT_GET_VERSION #cmakedefine HAVE_ENCHANT_GET_VERSION
+4 -3
View File
@@ -7,7 +7,7 @@ Build-Depends:
ruby-pygments.rb, ruby-pygments.rb,
debhelper (>= 12), debhelper (>= 12),
cmake, pkg-config, cmake, pkg-config,
libncursesw5-dev, libncurses-dev,
gem2deb, gem2deb,
libperl-dev, libperl-dev,
python3-dev, python3-dev,
@@ -21,8 +21,9 @@ Build-Depends:
libgcrypt20-dev, libgcrypt20-dev,
libgnutls28-dev, libgnutls28-dev,
libzstd-dev, libzstd-dev,
zlib1g-dev zlib1g-dev,
Standards-Version: 4.6.0.1 libcjson-dev
Standards-Version: 4.6.2
Homepage: https://weechat.org/ Homepage: https://weechat.org/
Vcs-Git: https://salsa.debian.org/kolter/weechat.git Vcs-Git: https://salsa.debian.org/kolter/weechat.git
Vcs-Browser: https://salsa.debian.org/kolter/weechat Vcs-Browser: https://salsa.debian.org/kolter/weechat
+3
View File
@@ -0,0 +1,3 @@
tar-ignore = ".git"
tar-ignore = "build"
tar-ignore = "release"
-41
View File
@@ -1,41 +0,0 @@
weechat (2.1-1) unstable; urgency=medium
This release introduces a new headless client and a new PHP plugin for
scripting (respectively weechat-headless and weechat-php binary
packages).
To avoid at least unnecessary dependencies, each plugin has its own
separate binary package:
weechat-{perl,python,ruby,lua,guile,javascript,php}
Depending on your needs about scripting with weechat you should consider
to install the missing packages.
-- Emmanuel Bouthenot <kolter@debian.org> Wed, 21 Mar 2018 07:53:40 +0100
weechat (1.1.1-1) unstable; urgency=medium
Since version 1.1, there is a new format for regexp replacement in
triggers. This format is incompatible with version 1.0. The existing
triggers will not be automatically updated.
See https://weechat.org/files/releasenotes/ReleaseNotes-1.1.html
-- Emmanuel Bouthenot <kolter@debian.org> Sun, 25 Jan 2015 20:41:50 +0100
weechat (0.3.1-1) unstable; urgency=low
This release introduces important changes with the usage of SSL. There
are stronger checks while connecting with SSL. By default, if a connection
is not fully trusted it will fail.
You can find more information on how to handle this new behaviour here:
https://blog.weechat.org/post/2009/12/01/SSL-certificates
-- Emmanuel Bouthenot <kolter@debian.org> Mon, 25 Jan 2010 12:35:11 +0100
weechat (0.3.0-1) unstable; urgency=low
This release introduces major changes. Large part of code was
rewritten without keeping compatibility with older versions.
Please refer to the file /usr/share/doc/weechat-core/UPGRADE_0.3
for more information on upgrade from a version 0.2.x to 0.3.x.
-- Emmanuel Bouthenot <kolter@openics.org> Tue, 15 Sep 2009 20:59:42 +0000
+38
View File
@@ -1,3 +1,41 @@
weechat (4.3.1-1) unstable; urgency=medium
* New upstream release (Closes: #1067608)
- fix FTBFS against libgcrypt 1.11 (Closes: #1071960)
* Add build dependency on libcjson-dev
* Replace pkg-config build dependency by pkgconf
* Minor updates in debian/copyright
-- Emmanuel Bouthenot <kolter@debian.org> Sat, 01 Jun 2024 14:21:02 +0000
weechat (4.1.1-1) unstable; urgency=medium
* New upstream release (Closes: #1055278)
-- Emmanuel Bouthenot <kolter@debian.org> Fri, 03 Nov 2023 20:23:37 +0000
weechat (4.0.5-1) unstable; urgency=medium
* New upstream release
-- Emmanuel Bouthenot <kolter@debian.org> Sun, 24 Sep 2023 07:49:41 +0000
weechat (4.0.2-1) unstable; urgency=medium
* New upstream release (Closes: #1040248)
-- Emmanuel Bouthenot <kolter@debian.org> Sat, 22 Jul 2023 05:48:35 +0000
weechat (4.0.1-1) unstable; urgency=medium
* New upstream release
* Remove NEWS file, no longer required
* Update build dependency from libncursesw5-dev to libncurses-dev
* Bump Standards-Version to 4.6.2
* Remove all patches (no longer required)
-- Emmanuel Bouthenot <kolter@debian.org> Tue, 04 Jul 2023 19:02:41 +0000
weechat (3.8-1) unstable; urgency=medium weechat (3.8-1) unstable; urgency=medium
* New upstream release * New upstream release
+4 -3
View File
@@ -7,7 +7,7 @@ Build-Depends:
ruby-pygments.rb, ruby-pygments.rb,
debhelper (>= 12), debhelper (>= 12),
cmake, pkg-config, cmake, pkg-config,
libncursesw5-dev, libncurses-dev,
gem2deb, gem2deb,
libperl-dev, libperl-dev,
python3-dev, python3-dev,
@@ -21,8 +21,9 @@ Build-Depends:
libgcrypt20-dev, libgcrypt20-dev,
libgnutls28-dev, libgnutls28-dev,
libzstd-dev, libzstd-dev,
zlib1g-dev zlib1g-dev,
Standards-Version: 4.6.1.0 libcjson-dev
Standards-Version: 4.6.2
Homepage: https://weechat.org/ Homepage: https://weechat.org/
Vcs-Git: https://salsa.debian.org/kolter/weechat.git Vcs-Git: https://salsa.debian.org/kolter/weechat.git
Vcs-Browser: https://salsa.debian.org/kolter/weechat Vcs-Browser: https://salsa.debian.org/kolter/weechat
+13 -13
View File
@@ -4,26 +4,26 @@ Upstream-Contact: Sébastien Helleu <flashcode@flashtux.org>
Source: https://weechat.org/ Source: https://weechat.org/
Files: * Files: *
Copyright: 2003-2023, Sébastien Helleu <flashcode@flashtux.org> Copyright: 2003-2024, Sébastien Helleu <flashcode@flashtux.org>
License: GPL-3+ License: GPL-3+
Files: src/core/wee-command.c Files: src/core/core-command.c
src/core/wee-command.h src/core/core-command.h
Copyright: 2005-2006, Emmanuel Bouthenot <kolter@openics.org> Copyright: 2005-2006, Emmanuel Bouthenot <kolter@openics.org>
License: GPL-3+ License: GPL-3+
Files: src/core/wee-config-file.c Files: src/core/core-config-file.c
src/core/wee-config-file.h src/core/core-config-file.h
src/core/wee-config.c src/core/core-config.c
src/core/wee-config.h src/core/core-config.h
Copyright: 2005-2006, Emmanuel Bouthenot <kolter@openics.org> Copyright: 2005-2006, Emmanuel Bouthenot <kolter@openics.org>
License: GPL-3+ License: GPL-3+
Files: src/core/hook/wee-hook-connect.c Files: src/core/hook/hook-connect.c
Copyright: 2012, Simon Arlott Copyright: 2012, Simon Arlott
License: GPL-3+ License: GPL-3+
Files: src/core/hook/wee-hook-connect.h Files: src/core/hook/hook-connect.h
Copyright: 2012, Simon Arlott Copyright: 2012, Simon Arlott
License: GPL-3+ License: GPL-3+
@@ -31,9 +31,9 @@ Files: src/gui/gui-history.c
Copyright: 2005, Emmanuel Bouthenot <kolter@openics.org> Copyright: 2005, Emmanuel Bouthenot <kolter@openics.org>
License: GPL-3+ License: GPL-3+
Files: src/core/wee-completion.c Files: src/core/core-completion.c
src/core/wee-log.c src/core/core-log.c
src/core/wee-utf8.c src/core/core-utf8.c
src/core/weechat.h src/core/weechat.h
src/plugins/spell/spell-config.c src/plugins/spell/spell-config.c
src/plugins/spell/spell-config.h src/plugins/spell/spell-config.h
@@ -45,7 +45,7 @@ Files: src/core/wee-completion.c
Copyright: 2006, Emmanuel Bouthenot <kolter@openics.org> Copyright: 2006, Emmanuel Bouthenot <kolter@openics.org>
License: GPL-3+ License: GPL-3+
Files: src/core/wee-network.c Files: src/core/core-network.c
Copyright: 2005-2010, Emmanuel Bouthenot <kolter@openics.org> Copyright: 2005-2010, Emmanuel Bouthenot <kolter@openics.org>
2010, Gu1ll4um3r0m41n <aeroxteam@gmail.com> 2010, Gu1ll4um3r0m41n <aeroxteam@gmail.com>
2012, Simon Arlott 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> # Copyright (C) 2009 Emmanuel Bouthenot <kolter@openics.org>
# #
# This file is part of WeeChat, the extensible chat client. # 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_default_aliases.${lang}.adoc"
"${CMAKE_CURRENT_BINARY_DIR}/autogen/autogen_user_irc_colors.${lang}.adoc" "${CMAKE_CURRENT_BINARY_DIR}/autogen/autogen_user_irc_colors.${lang}.adoc"
"${CMAKE_CURRENT_BINARY_DIR}/autogen/autogen_user_options.${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() endforeach()
add_custom_target(doc-autogen ALL add_custom_target(doc-autogen ALL
@@ -283,6 +286,9 @@ if(ENABLE_MAN OR ENABLE_DOC)
DEPENDS DEPENDS
"${CMAKE_CURRENT_SOURCE_DIR}/docinfo.html" "${CMAKE_CURRENT_SOURCE_DIR}/docinfo.html"
"${CMAKE_CURRENT_SOURCE_DIR}/${lang}/weechat_scripting.${lang}.adoc" "${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}" WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}"
COMMENT "Building weechat_scripting.${lang}.html" 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 WeeChat je napsán Sébastienem Helleu a přispěvovateli (kompletní seznam je v
souboru AUTHORS.adoc). souboru AUTHORS.adoc).
Copyright (C) 2003-2023 {author} Copyright (C) 2003-2024 {author}
WeeChat is free software; you can redistribute it and/or modify WeeChat is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by 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 WeeChat wird programmiert von Sébastien Helleu und weiteren Beteiligten (eine vollständige Auflistung
findet man in der AUTHORS.adoc Datei). 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 WeeChat is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by
+70 -24
View File
@@ -613,6 +613,30 @@ Sollte die macOS Terminal Applikation genutzt werden, empfiehlt es sich,
die Option "Use option as meta key" in den Menü-Einstellungen zu aktivieren. die Option "Use option as meta key" in den Menü-Einstellungen zu aktivieren.
Dadurch kann man die kbd:[Option] Taste als Meta-Taste verwenden. Dadurch kann man die kbd:[Option] Taste als Meta-Taste verwenden.
[[enter_key]]
=== Einige Tasten, einschließlich Enter, funktionieren nicht. Weshalb?
Wenn eine WeeChat Version < 4.0.0 mit Konfigurationsdateien ausgeführt wird,
die von einer Weechat Version ≥ 4.0.0 erstellt wurde, sind die Tastennamen ungültig und viele Tasten funktionieren überhaupt nicht mehr. +
Um dies zu reparieren, muss WeeChat beendet und alle Einträge aus dem Abschnitt `[key*]` innerhalb der weechat.conf entfernt werden.
Wenn WeeChat erneut gestartet wird, wird die Standardtastenbelegung neu erstellt.
[[key_f11]]
=== Die Taste F11 maximiert das Terminalfenster. Wie kann ich aber in der Nicklist nach oben scrollen?
Die kbd:[F11] Taste wird häufig von Terminals verwendet, um das Fenster zu maximieren. Aber
kbd:[F11]/kbd:[F12] sind ebenso die Standardtasten, in WeeChat, um in der Nickliste zu scrollen.
Man kann andere Tasten nutzen, zum Beispiel kbd:[Shift+F11] und kbd:[Shift+F12],
mit WeeChat ≥ 4.0.0:
----
/key bind shift-f11 /bar scroll nicklist * -100%
/key bind shift-f12 /bar scroll nicklist * +100%
----
Eine andere Möglichkeit besteht darin, die Maus zu aktivieren (Taste: kbd:[Alt+m]) und mit dem Mausrad zu scrollen (siehe auch Fragen zu <<mouse,mouse>>).
[[customize_key_bindings]] [[customize_key_bindings]]
=== Wie kann ich die Tastaturbelegung anpassen? === Wie kann ich die Tastaturbelegung anpassen?
@@ -643,6 +667,12 @@ werden um dann z.B. mit einem Kurzbefehl `/123` zum Buffer #123 zu springen:
/trigger add numberjump modifier "2000|input_text_for_buffer" "${tg_string} =~ ^/[0-9]+$" "=\/([0-9]+)=/buffer *${re:1}=" "" "" "none" /trigger add numberjump modifier "2000|input_text_for_buffer" "${tg_string} =~ ^/[0-9]+$" "=\/([0-9]+)=/buffer *${re:1}=" "" "" "none"
---- ----
Um einfach von einem Buffer zu einem anderen zu springen, kann man das _go.py_ Skript installieren:
----
/script install go.py
----
[[global_history]] [[global_history]]
=== Wie kann ich den globalen Verlaufsspeicher (anstelle des Buffer eigenen) mit den Up-/Down-Tasten nutzen? === Wie kann ich den globalen Verlaufsspeicher (anstelle des Buffer eigenen) mit den Up-/Down-Tasten nutzen?
@@ -987,35 +1017,19 @@ die Buffer-Eigenschaft genutzt werden, um das maximale Hotlist-Level für einige
oder pro Gruppe von Buffern (wie IRC-Server). oder pro Gruppe von Buffern (wie IRC-Server).
Um nun Highlights (Hervorhebungen) für bestimmte Nicks zu deaktivieren, muss Um nun Highlights (Hervorhebungen) für bestimmte Nicks zu deaktivieren, muss
man die entsprechende Eigenschaft auf 2 setzen: man die entsprechende Eigenschaft auf 2 setzen.
Für den aktuellen Buffer:
---- ----
/buffer set hotlist_max_level_nicks_add joe:2,mike:2 /buffer setauto hotlist_max_level_nicks_add joe:2,mike:2
---- ----
Diese Buffereigenschaft wird aber nicht permanent in der Konfiguration Für alle Kanäle auf dem Server "libera":
gespeichert. Um diese Eigenschaften permanent zu verwenden, muss man
das Skript _buffer_autoset.py_ nutzen:
---- ----
/script install buffer_autoset.py /set weechat.buffer.irc.libera.*.hotlist_max_level_nicks_add joe:2,mike:2
---- ----
Um zum Beispiel Highlights (Hervorhebungen) von Nick "mike" im Kanal
#weechat auf dem IRC Server libera zu deaktivieren:
----
/buffer_autoset add irc.libera.#weechat hotlist_max_level_nicks_add mike:2
----
Um dies auf den kompletten libera Server anzuwenden:
----
/buffer_autoset add irc.libera hotlist_max_level_nicks_add mike:2
----
Für weitere Beispiele, siehe `+/help buffer_autoset+`.
[[irc_target_buffer]] [[irc_target_buffer]]
=== Wie kann ich bei zusammengefügten Buffern den Zielbuffer ändern (z.B. bei einem Server-Buffer)? === Wie kann ich bei zusammengefügten Buffern den Zielbuffer ändern (z.B. bei einem Server-Buffer)?
@@ -1148,7 +1162,8 @@ Damit WeeChat weniger Speicher benötigt, solltest Du folgende Tipps umsetzen:
Man sollte sich die Tipps zum <<memory_usage,Speicherverbrauch>> ansehen Man sollte sich die Tipps zum <<memory_usage,Speicherverbrauch>> ansehen
und zusätzlich diese Tipps beherzigen: und zusätzlich diese Tipps beherzigen:
* "nicklist"-Bar sollte versteckt werden: `/bar hide nicklist` * "nicklist"-Bar sollte versteckt werden: `/bar hide nicklist` (Taste: kbd:[Alt+Shift+N]).
* deaktiviere "buflist": `/buflist disable` (Taste: kbd:[Alt+Shift+B]).
* die Sekundenanzeigen in der Statusbar sollte deaktiviert werden: * die Sekundenanzeigen in der Statusbar sollte deaktiviert werden:
`+/set weechat.look.item_time_format "%H:%M"+` (dies ist die Standardeinstellung) `+/set weechat.look.item_time_format "%H:%M"+` (dies ist die Standardeinstellung)
* die Echtzeit Rechtschreibkorrektur sollte deaktiviert werden (falls sie aktiviert wurde): * die Echtzeit Rechtschreibkorrektur sollte deaktiviert werden (falls sie aktiviert wurde):
@@ -1170,14 +1185,19 @@ Deaktiviere die automatische Antwort für alle CTCP Anfragen:
---- ----
/set irc.ctcp.clientinfo "" /set irc.ctcp.clientinfo ""
/set irc.ctcp.finger ""
/set irc.ctcp.source "" /set irc.ctcp.source ""
/set irc.ctcp.time "" /set irc.ctcp.time ""
/set irc.ctcp.userinfo ""
/set irc.ctcp.version "" /set irc.ctcp.version ""
/set irc.ctcp.ping "" /set irc.ctcp.ping ""
---- ----
Mit WeeChat < 4.1.0 wurden andere CTCP-Anfragen standardmäßig beantwortet und müssen ebenfalls deaktiviert werden:
----
/set irc.ctcp.finger ""
/set irc.ctcp.userinfo ""
----
Entferne und deaktiviere das automatische Ausführen der "xfer"-Erweiterung, die beispielsweise für "IRC DCC" verantwortlich ist: Entferne und deaktiviere das automatische Ausführen der "xfer"-Erweiterung, die beispielsweise für "IRC DCC" verantwortlich ist:
---- ----
@@ -1213,6 +1233,32 @@ Kennwörter (sofern sie nicht mit dem Befehl `/secure` in _sec.conf_ gesichert w
Siehe link:weechat_user.de.html#files_and_directories[Benutzerhandbuch / Dateien und Verzeichnisse ^↗^^] Siehe link:weechat_user.de.html#files_and_directories[Benutzerhandbuch / Dateien und Verzeichnisse ^↗^^]
für weitere Informationen über Konfigurationsdateien. für weitere Informationen über Konfigurationsdateien.
[[move_to_another_device]]
=== Ich möchte mein WeeChat auf ein anderes Gerät verschieben und meine Konfiguration behalten. Was muss ich kopieren?
Überprüfen Sie zunächst die von WeeChat verwendeten Verzeichnisse mit diesem Befehl: `/debug dirs`. +
Die Verzeichnisse home/config und home/data müssen kopiert werden (alle Dateien und Unterverzeichnisse).
Falls beispielsweise XDG-Verzeichnisse verwendet werden (Standard bei WeeChat ≥ 3.2), sollten die
Verzeichnisse `$HOME/.config/weechat` und `$HOME/.local/share/weechat` lauten. +
Sollte ein einzelnes Verzeichnis verwenden werden (Standard bei WeeChat < 3.2), sollte das Verzeichnis
`$HOME/.weechat` lauuten.
[IMPORTANT]
Die WeeChat-Version auf dem Zielgerät muss größer oder gleich der Version sein des Ausganggerätes. +
Ein Downgrade der WeeChat-Konfiguration wird *NICHT UNTERSTÜTZT* und kann zu Schäden führen und ein
unbrauchbares WeeChat verursachen.
Schritte:
. Weechat beenden: `/quit` (oder `/upgrade -quit`, falls eine Sitzung fortgesetzt werden soll,
einschließlich des Inhalts aller Buffer).
. Kopieren Sie alle Verzeichnisse, Unterverzeichnisse und Dateien auf das neue Gerät und behalten Sie die
Namen und Berechtigungen bei.
. Optional: Kopieren Sie alle Dateien außerhalb dieser Verzeichnisse, die auf Ihre Konfiguration verweisen
(es wird nicht empfohlen, Dateien außerhalb von WeeChat-Verzeichnissen zu verwenden).
. WeeChat auf dem neuen Gerät starten: `weechat` (oder `weechat --upgrade`, falls die Sitzung gesichert wurde).
[[development]] [[development]]
== Entwicklung == Entwicklung
+2 -303
View File
@@ -564,315 +564,14 @@ lesen Sie bitte link:weechat_plugin_api.en.html[WeeChat Plugin API Reference ^
Liste der Skript API Funktionen: Liste der Skript API Funktionen:
[width="100%",cols="1,5",options="header"] include::{autogendir}/autogen_scripting_functions.de.adoc[tag=functions]
|===
| 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
|===
[[script_api_constants]] [[script_api_constants]]
=== Konstanten === Konstanten
Liste der Konstanten in Skript API: Liste der Konstanten in Skript API:
[width="100%",cols="1,5",options="header"] include::{autogendir}/autogen_scripting_constants.de.adoc[tag=constants]
|===
| 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)
|===
[[common_tasks]] [[common_tasks]]
== Gemeinschaftsaufgabe == Gemeinschaftsaufgabe
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -1,6 +1,6 @@
<!-- <!--
Custom styles for Asciidoctor 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> <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 WeeChat is written by Sébastien Helleu and contributors (complete list is in
the AUTHORS.adoc file). 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 WeeChat is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by
+393 -343
View File
@@ -112,95 +112,97 @@ WeeChat "core" is located in following directories:
[width="100%",cols="2m,3",options="header"] [width="100%",cols="2m,3",options="header"]
|=== |===
| Path/file | Description | Path/file | Description
| core/ | Core functions: entry point, internal structures. | core/ | Core functions: entry point, internal structures.
|    wee-arraylist.c | Array lists. |    core-arraylist.c | Array lists.
|    wee-backtrace.c | Display a backtrace after a crash. |    core-backtrace.c | Display a backtrace after a crash.
|    wee-calc.c | Calculate result of expressions. |    core-calc.c | Calculate result of expressions.
|    wee-command.c | WeeChat core commands. |    core-command.c | WeeChat core commands.
|    wee-completion.c | Default completions. |    core-completion.c | Default completions.
|    wee-config-file.c | Configuration file management. |    core-config-file.c | Configuration file management.
|    wee-config.c | Configuration options for WeeChat core (file weechat.conf). |    core-config.c | Configuration options for WeeChat core (file weechat.conf).
|    wee-crypto.c | Cryptographic functions. |    core-crypto.c | Cryptographic functions.
|    wee-debug.c | Some debug functions. |    core-debug.c | Some debug functions.
|    wee-doc.c | Build of files for documentation. |    core-doc.c | Build of files for documentation.
|    wee-dir.c | Directory/file functions. |    core-dir.c | Directory/file functions.
|    wee-eval.c | Evaluation of expressions with references to internal vars. |    core-eval.c | Evaluation of expressions with references to internal vars.
|    wee-hashtable.c | Hashtables. |    core-hashtable.c | Hashtables.
|    wee-hdata.c | Hdata (direct access to data using hashtables). |    core-hdata.c | Hdata (direct access to data using hashtables).
|    wee-hook.c | Hooks. |    core-hook.c | Hooks.
|    wee-infolist.c | Infolists (lists with objects data). |    core-infolist.c | Infolists (lists with objects data).
|    wee-input.c | Input of commands/text. |    core-input.c | Input of commands/text.
|    wee-list.c | Sorted lists. |    core-list.c | Sorted lists.
|    wee-log.c | Write to WeeChat log file (weechat.log). |    core-log.c | Write to WeeChat log file (weechat.log).
|    wee-network.c | Network functions (connection to servers/proxies). |    core-network.c | Network functions (connection to servers/proxies).
|    wee-proxy.c | Proxy management. |    core-proxy.c | Proxy management.
|    wee-secure.c | Secured data functions. |    core-secure.c | Secured data functions.
|    wee-secure-buffer.c | Secured data buffer. |    core-secure-buffer.c | Secured data buffer.
|    wee-secure-config.c | Secured data options (file sec.conf). |    core-secure-config.c | Secured data options (file sec.conf).
|    wee-signal.c | Signal functions. |    core-signal.c | Signal functions.
|    wee-string.c | Functions on strings. |    core-string.c | Functions on strings.
|    wee-upgrade-file.c | Internal upgrade system. |    core-sys.c | System functions.
|    wee-upgrade.c | Upgrade for WeeChat core (buffers, lines, history, ...). |    core-upgrade-file.c | Internal upgrade system.
|    wee-url.c | URL transfer (using libcurl). |    core-upgrade.c | Upgrade for WeeChat core (buffers, lines, history, ...).
|    wee-utf8.c | UTF-8 functions. |    core-url.c | URL transfer (using libcurl).
|    wee-util.c | Some other functions. |    core-utf8.c | UTF-8 functions.
|    wee-version.c | Functions for WeeChat version. |    core-util.c | Some other functions.
|    weechat.c | Main functions: command line options, startup. |    core-version.c | Functions for WeeChat version.
|    hook/ | Hook functions. |    weechat.c | Main functions: command line options, startup.
|       wee-hook-command-run.c | Hook "command_run". |    hook/ | Hook functions.
|       wee-hook-command.c | Hook "command". |       hook-command-run.c | Hook "command_run".
|       wee-hook-completion.c | Hook "completion". |       hook-command.c | Hook "command".
|       wee-hook-config.c | Hook "config". |       hook-completion.c | Hook "completion".
|       wee-hook-connect.c | Hook "connect". |       hook-config.c | Hook "config".
|       wee-hook-fd.c | Hook "fd". |       hook-connect.c | Hook "connect".
|       wee-hook-focus.c | Hook "focus". |       hook-fd.c | Hook "fd".
|       wee-hook-hdata.c | Hook "hdata". |       hook-focus.c | Hook "focus".
|       wee-hook-hsignal.c | Hook "hsignal". |       hook-hdata.c | Hook "hdata".
|       wee-hook-info-hashtable.c | Hook "info_hashtable". |       hook-hsignal.c | Hook "hsignal".
|       wee-hook-info.c | Hook "info". |       hook-info-hashtable.c | Hook "info_hashtable".
|       wee-hook-infolist.c | Hook "infolist". |       hook-info.c | Hook "info".
|       wee-hook-line.c | Hook "line". |       hook-infolist.c | Hook "infolist".
|       wee-hook-modifier.c | Hook "modifier". |       hook-line.c | Hook "line".
|       wee-hook-print.c | Hook "print". |       hook-modifier.c | Hook "modifier".
|       wee-hook-process.c | Hook "process". |       hook-print.c | Hook "print".
|       wee-hook-signal.c | Hook "signal". |       hook-process.c | Hook "process".
|       wee-hook-timer.c | Hook "timer". |       hook-signal.c | Hook "signal".
| gui/ | Functions for buffers, windows, ... (used by all interfaces). |       hook-timer.c | Hook "timer".
|    gui-bar-item.c | Bar items. |       hook-url.c | Hook "url".
|    gui-bar-window.c | Bar windows. | gui/ | Functions for buffers, windows, ... (used by all interfaces).
|    gui-bar.c | Bars. |    gui-bar-item.c | Bar items.
|    gui-buffer.c | Buffers. |    gui-bar-window.c | Bar windows.
|    gui-chat.c | Chat functions (display message, ...). |    gui-bar.c | Bars.
|    gui-color.c | Color functions. |    gui-buffer.c | Buffers.
|    gui-completion.c | Completion on command line. |    gui-chat.c | Chat functions (display message, ...).
|    gui-cursor.c | Cursor mode (free movement of cursor). |    gui-color.c | Color functions.
|    gui-filter.c | Filters. |    gui-completion.c | Completion on command line.
|    gui-focus.c | Functions about focus (for cursor mode and mouse). |    gui-cursor.c | Cursor mode (free movement of cursor).
|    gui-history.c | Commands/text saved in buffers. |    gui-filter.c | Filters.
|    gui-hotlist.c | Hotlist management (list of buffers with activity). |    gui-focus.c | Functions about focus (for cursor mode and mouse).
|    gui-input.c | Input functions (input bar). |    gui-history.c | Commands/text saved in buffers.
|    gui-key.c | Keyboard functions. |    gui-hotlist.c | Hotlist management (list of buffers with activity).
|    gui-layout.c | Layout. |    gui-input.c | Input functions (input bar).
|    gui-line.c | Lines in buffers. |    gui-key.c | Keyboard functions.
|    gui-mouse.c | Mouse. |    gui-layout.c | Layout.
|    gui-nick.c | Nick functions. |    gui-line.c | Lines in buffers.
|    gui-nicklist.c | Nicklist in buffers. |    gui-mouse.c | Mouse.
|    gui-window.c | Windows. |    gui-nick.c | Nick functions.
|    curses/ | Curses interface. |    gui-nicklist.c | Nicklist in buffers.
|       gui-curses-bar-window.c | Display in bar windows. |    gui-window.c | Windows.
|       gui-curses-chat.c | Display in chat area (messages). |    curses/ | Curses interface.
|       gui-curses-color.c | Color functions. |       gui-curses-bar-window.c | Display in bar windows.
|       gui-curses-key.c | Keyboard functions (default keys, read of input). |       gui-curses-chat.c | Display in chat area (messages).
|       gui-curses-main.c | WeeChat main loop (waiting for keyboard/network events). |       gui-curses-color.c | Color functions.
|       gui-curses-mouse.c | Mouse. |       gui-curses-key.c | Keyboard functions (default keys, read of input).
|       gui-curses-term.c | Functions about terminal. |       gui-curses-main.c | WeeChat main loop (waiting for keyboard/network events).
|       gui-curses-window.c | Windows. |       gui-curses-mouse.c | Mouse.
|       headless/ | Headless mode (no interface). |       gui-curses-term.c | Functions about terminal.
|          main.c | Entry point for headless mode. |       gui-curses-window.c | Windows.
|          ncurses-fake.c | Fake ncurses library. |       headless/ | Headless mode (no interface).
|       normal/ | Curses interface. |          main.c | Entry point for headless mode.
|          main.c | Entry point for Curses interface. |          ncurses-fake.c | Fake ncurses library.
|       normal/ | Curses interface.
|          main.c | Entry point for Curses interface.
|=== |===
[[sources_plugins]] [[sources_plugins]]
@@ -208,178 +210,189 @@ WeeChat "core" is located in following directories:
[width="100%",cols="2m,3",options="header"] [width="100%",cols="2m,3",options="header"]
|=== |===
| Path/file | Description | Path/file | Description
| plugins/ | Root of plugins. | plugins/ | Root of plugins.
|    plugin.c | Plugins management (load/unload dynamic C libraries). |    plugin.c | Plugins management (load/unload dynamic C libraries).
|    plugin-api.c | Extra functions for plugin API (wrapper around WeeChat core functions). |    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-api-info.c | Extra info/infolist functions for plugin API.
|    plugin-config.c | Plugin configuration options (file plugins.conf). |    plugin-config.c | Plugin configuration options (file plugins.conf).
|    plugin-script.c | Common functions used by script plugins. |    plugin-script.c | Common functions used by script plugins.
|    plugin-script-api.c | Script API functions: wrappers around some plugin API functions. |    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, ...). |    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. |    weechat-plugin.h | Header designed to be distributed with WeeChat plugins, in order to compile them.
|    alias/ | Alias plugin. |    alias/ | Alias plugin.
|       alias.c | Main alias functions. |       alias.c | Main alias functions.
|       alias-command.c | Alias commands. |       alias-command.c | Alias commands.
|       alias-completion.c | Alias completions. |       alias-completion.c | Alias completions.
|       alias-config.c | Alias config options (file alias.conf). |       alias-config.c | Alias config options (file alias.conf).
|       alias-info.c | Alias info/infolists/hdata. |       alias-info.c | Alias info/infolists/hdata.
|    spell/ | Spell checker plugin. |    spell/ | Spell checker plugin.
|       spell.c | Main spell checker functions. |       spell.c | Main spell checker functions.
|       spell-bar-item.c | Spell checker bar items. |       spell-bar-item.c | Spell checker bar items.
|       spell-command.c | Spell checker commands. |       spell-command.c | Spell checker commands.
|       spell-completion.c | Spell checker completions. |       spell-completion.c | Spell checker completions.
|       spell-config.c | Spell checker config options (file spell.conf). |       spell-config.c | Spell checker config options (file spell.conf).
|       spell-info.c | Spell checker info/infolists/hdata. |       spell-info.c | Spell checker info/infolists/hdata.
|       spell-speller.c | Spellers management. |       spell-speller.c | Spellers management.
|    buflist/ | Buflist plugin. |    buflist/ | Buflist plugin.
|       buflist.c | Main buflist functions. |       buflist.c | Main buflist functions.
|       buflist-bar-item.c | Buflist bar items. |       buflist-bar-item.c | Buflist bar items.
|       buflist-command.c | Buflist commands. |       buflist-command.c | Buflist commands.
|       buflist-config.c | Buflist config options (file buflist.conf). |       buflist-completion.c | Buflist completions.
|       buflist-info.c | Buflist info/infolists/hdata. |       buflist-config.c | Buflist config options (file buflist.conf).
|       buflist-mouse.c | Buflist mouse actions. |       buflist-info.c | Buflist info/infolists/hdata.
|    charset/ | Charset plugin. |       buflist-mouse.c | Buflist mouse actions.
|       charset.c | Charset functions. |    charset/ | Charset plugin.
|    exec/ | Exec plugin. |       charset.c | Charset functions.
|       exec.c | Main exec functions. |    exec/ | Exec plugin.
|       exec-buffer.c | Exec buffer. |       exec.c | Main exec functions.
|       exec-command.c | Exec commands. |       exec-buffer.c | Exec buffer.
|       exec-completion.c | Exec completions. |       exec-command.c | Exec commands.
|       exec-config.c | Exec config options (file exec.conf). |       exec-completion.c | Exec completions.
|    fifo/ | Fifo plugin. |       exec-config.c | Exec config options (file exec.conf).
|       fifo.c | Main fifo functions. |    fifo/ | Fifo plugin.
|       fifo-command.c | Fifo commands. |       fifo.c | Main fifo functions.
|       fifo-config.c | Fifo config options (file fifo.conf). |       fifo-command.c | Fifo commands.
|       fifo-info.c | Fifo info/infolists/hdata. |       fifo-config.c | Fifo config options (file fifo.conf).
|    fset/ | Fset plugin. |       fifo-info.c | Fifo info/infolists/hdata.
|       fset.c | Main fset functions. |    fset/ | Fset plugin.
|       fset-bar-item.c | Fset bar items. |       fset.c | Main fset functions.
|       fset-buffer.c | Fset buffer. |       fset-bar-item.c | Fset bar items.
|       fset-command.c | Fset commands. |       fset-buffer.c | Fset buffer.
|       fset-completion.c | Fset completions. |       fset-command.c | Fset commands.
|       fset-config.c | Fset config options (file fset.conf). |       fset-completion.c | Fset completions.
|       fset-info.c | Fset info/infolists/hdata. |       fset-config.c | Fset config options (file fset.conf).
|       fset-mouse.c | Fset mouse actions. |       fset-info.c | Fset info/infolists/hdata.
|       fset-option.c | Fset options management. |       fset-mouse.c | Fset mouse actions.
|    guile/ | Guile (scheme) plugin. |       fset-option.c | Fset options management.
|       weechat-guile.c | Main guile functions (load/unload scripts, execute guile code). |    guile/ | Guile (scheme) plugin.
|       weechat-guile-api.c | Guile scripting API functions. |       weechat-guile.c | Main guile functions (load/unload scripts, execute guile code).
|    irc/ | IRC (Internet Relay Chat) plugin. |       weechat-guile-api.c | Guile scripting API functions.
|       irc.c | Main IRC functions. |    irc/ | IRC (Internet Relay Chat) plugin.
|       irc-bar-item.c | IRC bar items. |       irc.c | Main IRC functions.
|       irc-batch.c | IRC batched events. |       irc-bar-item.c | IRC bar items.
|       irc-buffer.c | IRC buffers. |       irc-batch.c | IRC batched events.
|       irc-channel.c | IRC channels. |       irc-buffer.c | IRC buffers.
|       irc-color.c | IRC colors. |       irc-channel.c | IRC channels.
|       irc-command.c | IRC commands. |       irc-color.c | IRC colors.
|       irc-completion.c | IRC completions. |       irc-command.c | IRC commands.
|       irc-config.c | IRC config options (file irc.conf). |       irc-completion.c | IRC completions.
|       irc-ctcp.c | IRC CTCP. |       irc-config.c | IRC config options (file irc.conf).
|       irc-debug.c | IRC debug functions. |       irc-ctcp.c | IRC CTCP.
|       irc-ignore.c | IRC Ignore. |       irc-debug.c | IRC debug functions.
|       irc-info.c | IRC info/infolists/hdata. |       irc-ignore.c | IRC Ignore.
|       irc-input.c | Input of commands/text. |       irc-info.c | IRC info/infolists/hdata.
|       irc-join.c | Functions for list of channels to join. |       irc-input.c | Input of commands/text.
|       irc-message.c | Functions to manipulate IRC messages. |       irc-join.c | Functions for list of channels to join.
|       irc-mode.c | Functions about channel/nick modes. |       irc-list.c | Buffer for reply to /list command.
|       irc-modelist.c | IRC channel mode lists (+b, +e, +I, ...). |       irc-message.c | Functions to manipulate IRC messages.
|       irc-msgbuffer.c | Target buffer for IRC messages. |       irc-mode.c | Functions about channel/nick modes.
|       irc-nick.c | IRC nicks. |       irc-modelist.c | IRC channel mode lists (+b, +e, +I, ...).
|       irc-notify.c | IRC notify lists. |       irc-msgbuffer.c | Target buffer for IRC messages.
|       irc-protocol.c | IRC protocol (RFCs 1459/2810/2811/2812/2813/7194). |       irc-nick.c | IRC nicks.
|       irc-raw.c | IRC raw buffer. |       irc-notify.c | IRC notify lists.
|       irc-redirect.c | Redirection of IRC command output. |       irc-protocol.c | IRC protocol (RFCs 1459/2810/2811/2812/2813/7194).
|       irc-sasl.c | SASL authentication with IRC server. |       irc-raw.c | IRC raw buffer.
|       irc-server.c | I/O communication with IRC server. |       irc-redirect.c | Redirection of IRC command output.
|       irc-tag.c | Functions to manipulate IRC message tags. |       irc-sasl.c | SASL authentication with IRC server.
|       irc-typing.c | Typing status. |       irc-server.c | I/O communication with IRC server.
|       irc-upgrade.c | Save/restore of IRC data when upgrading WeeChat. |       irc-tag.c | Functions to manipulate IRC message tags.
|    javascript/ | JavaScript plugin. |       irc-typing.c | Typing status.
|       weechat-js.cpp | Main JavaScript functions (load/unload scripts, execute JavaScript code). |       irc-upgrade.c | Save/restore of IRC data when upgrading WeeChat.
|       weechat-js-api.cpp | JavaScript scripting API functions. |    javascript/ | JavaScript plugin.
|       weechat-js-v8.cpp | JavaScript v8 functions. |       weechat-js.cpp | Main JavaScript functions (load/unload scripts, execute JavaScript code).
|    logger/ | Logger plugin. |       weechat-js-api.cpp | JavaScript scripting API functions.
|       logger.c | Main logger functions. |       weechat-js-v8.cpp | JavaScript v8 functions.
|       logger-backlog.c | Logger backlog functions. |    logger/ | Logger plugin.
|       logger-buffer.c | Logger buffer list management. |       logger.c | Main logger functions.
|       logger-command.c | Logger commands. |       logger-backlog.c | Logger backlog functions.
|       logger-config.c | Logger config options (file logger.conf). |       logger-buffer.c | Logger buffer list management.
|       logger-info.c | Logger info/infolists/hdata. |       logger-command.c | Logger commands.
|       logger-tail.c | Functions to get last lines of a file. |       logger-config.c | Logger config options (file logger.conf).
|    lua/ | Lua plugin. |       logger-info.c | Logger info/infolists/hdata.
|       weechat-lua.c | Main lua functions (load/unload scripts, execute lua code). |       logger-tail.c | Functions to get last lines of a file.
|       weechat-lua-api.c | Lua scripting API functions. |    lua/ | Lua plugin.
|    perl/ | Perl plugin. |       weechat-lua.c | Main lua functions (load/unload scripts, execute lua code).
|       weechat-perl.c | Main perl functions (load/unload scripts, execute perl code). |       weechat-lua-api.c | Lua scripting API functions.
|       weechat-perl-api.c | Perl scripting API functions. |    perl/ | Perl plugin.
|    php/ | PHP plugin. |       weechat-perl.c | Main perl functions (load/unload scripts, execute perl code).
|       weechat-php.c | Main PHP functions (load/unload scripts, execute PHP code). |       weechat-perl-api.c | Perl scripting API functions.
|       weechat-php-api.c | PHP scripting API functions. |    php/ | PHP plugin.
|    python/ | Python plugin. |       weechat-php.c | Main PHP functions (load/unload scripts, execute PHP code).
|       weechat-python.c | Main python functions (load/unload scripts, execute python code). |       weechat-php-api.c | PHP scripting API functions.
|       weechat-python-api.c | Python scripting API functions. |    python/ | Python plugin.
|    relay/ | Relay plugin (IRC proxy and relay for remote interfaces). |       weechat-python.c | Main python functions (load/unload scripts, execute python code).
|       relay.c | Main relay functions. |       weechat-python-api.c | Python scripting API functions.
|       relay-auth.c | Clients authentication. |    relay/ | Relay plugin (IRC proxy and relay for remote interfaces).
|       relay-buffer.c | Relay buffer. |       relay.c | Main relay functions.
|       relay-client.c | Clients of relay. |       relay-auth.c | Clients authentication.
|       relay-command.c | Relay commands. |       relay-buffer.c | Relay buffer.
|       relay-completion.c | Relay completions. |       relay-client.c | Clients of relay.
|       relay-config.c | Relay config options (file relay.conf). |       relay-command.c | Relay commands.
|       relay-info.c | Relay info/infolists/hdata. |       relay-completion.c | Relay completions.
|       relay-network.c | Network functions for relay. |       relay-config.c | Relay config options (file relay.conf).
|       relay-raw.c | Relay raw buffer. |       relay-http.c | HTTP functions.
|       relay-server.c | Relay server. |       relay-info.c | Relay info/infolists/hdata.
|       relay-upgrade.c | Save/restore of relay data when upgrading WeeChat. |       relay-network.c | Network functions for relay.
|       relay-websocket.c | WebSocket server functions (RFC 6455). |       relay-raw.c | Relay raw buffer.
|       irc/ | IRC proxy. |       relay-remote.c | Relay remote.
|          relay-irc.c | Main IRC proxy functions. |       relay-server.c | Relay server.
|       weechat/ | Relay for remote interfaces. |       relay-upgrade.c | Save/restore of relay data when upgrading WeeChat.
|          relay-weechat.c | Relay for remote interfaces (main functions). |       relay-websocket.c | WebSocket server functions (RFC 6455).
|          relay-weechat-msg.c | Send binary messages to clients. |       api/ | Relay for remote interfaces (using HTTP REST API).
|          relay-weechat-nicklist.c | Nicklist functions. |          relay-api.c | Main API functions for HTTP REST API.
|          relay-weechat-protocol.c | Read commands from clients. |          relay-api-msg.c | Send JSON messages to clients.
|    ruby/ | Ruby plugin. |          relay-api-protocol.c | HTTP REST API protocol.
|       weechat-ruby.c | Main ruby functions (load/unload scripts, execute ruby code). |          remote/ | Relay remote functions, specific to API.
|       weechat-ruby-api.c | Ruby scripting API functions. |             relay-remote-event.c | Process events received from relay remote.
|    script/ | Script manager. |             relay-remote-network.c | Network functions for relay remote.
|       script.c | Main functions for script manager. |       irc/ | IRC proxy.
|       script-action.c | Actions on scripts (load/unload, install/remove, ...). |          relay-irc.c | Main IRC proxy functions.
|       script-buffer.c | Buffer for script manager. |       weechat/ | Relay for remote interfaces (using "weechat" binary protocol).
|       script-command.c | Commands for script manager. |          relay-weechat.c | Relay for remote interfaces (main functions).
|       script-completion.c | Completions for script manager. |          relay-weechat-msg.c | Send binary messages to clients.
|       script-config.c | Config options for script manager (file script.conf). |          relay-weechat-nicklist.c | Nicklist functions.
|       script-info.c | Script manager info/infolists/hdata. |          relay-weechat-protocol.c | Read commands from clients.
|       script-mouse.c | Script mouse actions. |    ruby/ | Ruby plugin.
|       script-repo.c | Download and read repository file. |       weechat-ruby.c | Main ruby functions (load/unload scripts, execute ruby code).
|    tcl/ | Tcl plugin. |       weechat-ruby-api.c | Ruby scripting API functions.
|       weechat-tcl.c | Main tcl functions (load/unload scripts, execute tcl code). |    script/ | Script manager.
|       weechat-tcl-api.c | Tcl scripting API functions. |       script.c | Main functions for script manager.
|    trigger/ | Trigger plugin. |       script-action.c | Actions on scripts (load/unload, install/remove, ...).
|       trigger.c | Main trigger functions. |       script-buffer.c | Buffer for script manager.
|       trigger-buffer.c | Trigger buffer. |       script-command.c | Commands for script manager.
|       trigger-callback.c | Trigger callbacks. |       script-completion.c | Completions for script manager.
|       trigger-command.c | Trigger commands. |       script-config.c | Config options for script manager (file script.conf).
|       trigger-completion.c | Trigger completions. |       script-info.c | Script manager info/infolists/hdata.
|       trigger-config.c | Trigger config options (file trigger.conf). |       script-mouse.c | Script mouse actions.
|    typing/ | Typing plugin. |       script-repo.c | Download and read repository file.
|       typing.c | Main typing functions. |    tcl/ | Tcl plugin.
|       typing-bar-item.c | Typing bar items. |       weechat-tcl.c | Main tcl functions (load/unload scripts, execute tcl code).
|       typing-config.c | Typing config options (file typing.conf). |       weechat-tcl-api.c | Tcl scripting API functions.
|       typing-status.c | Messages typing status on buffers. |    trigger/ | Trigger plugin.
|    xfer/ | Xfer plugin (IRC DCC file/chat). |       trigger.c | Main trigger functions.
|       xfer.c | Main xfer functions. |       trigger-buffer.c | Trigger buffer.
|       xfer-buffer.c | Xfer buffer. |       trigger-callback.c | Trigger callbacks.
|       xfer-chat.c | DCC chat. |       trigger-command.c | Trigger commands.
|       xfer-command.c | Xfer commands. |       trigger-completion.c | Trigger completions.
|       xfer-completion.c | Xfer completions. |       trigger-config.c | Trigger config options (file trigger.conf).
|       xfer-config.c | Xfer config options (file xfer.conf). |    typing/ | Typing plugin.
|       xfer-dcc.c | DCC file transfer. |       typing.c | Main typing functions.
|       xfer-file.c | File functions for xfer. |       typing-bar-item.c | Typing bar items.
|       xfer-info.c | Xfer info/infolists/hdata. |       typing-config.c | Typing config options (file typing.conf).
|       xfer-network.c | Network functions for xfer. |       typing-status.c | Messages typing status on buffers.
|       xfer-upgrade.c | Save/restore of xfer data when upgrading WeeChat. |    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]] [[sources_tests]]
@@ -387,81 +400,119 @@ WeeChat "core" is located in following directories:
[width="100%",cols="2m,3",options="header"] [width="100%",cols="2m,3",options="header"]
|=== |===
| Path/file | Description | Path/file | Description
| tests/ | Root of tests. | tests/ | Root of tests.
|    tests.cpp | Program used to run all tests. |    tests.cpp | Program used to run all tests.
|    tests-record.cpp | Record and search in messages displayed. |    tests-record.cpp | Record and search in messages displayed.
|    scripts/ | Root of scripting API tests. |    scripts/ | Root of scripting API tests.
|       test-scripts.cpp | Program used to run the 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. |       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. |          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. |          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. |          unparse.py | Convert Python code to other languages, used by script testapigen.py.
|    unit/ | Root of unit tests. |    unit/ | Root of unit tests.
|       test-plugins.cpp | Tests: plugins. |       test-plugins.cpp | Tests: plugins.
|       core/ | Root of unit tests for core. |       test-plugin-api-info.cpp | Tests: plugin API info functions.
|          test-core-arraylist.cpp | Tests: arraylists. |       test-plugin-config.cpp | Tests: plugin config functions.
|          test-core-calc.cpp | Tests: calculation of expressions. |       core/ | Root of unit tests for core.
|          test-core-command.cpp | Tests: commands. |          test-core-arraylist.cpp | Tests: arraylists.
|          test-core-config-file.cpp | Tests: configuration files. |          test-core-calc.cpp | Tests: calculation of expressions.
|          test-core-crypto.cpp | Tests: cryptographic functions. |          test-core-command.cpp | Tests: commands.
|          test-core-dir.cpp | Tests: directory/file functions. |          test-core-config-file.cpp | Tests: configuration files.
|          test-core-eval.cpp | Tests: evaluation of expressions. |          test-core-crypto.cpp | Tests: cryptographic functions.
|          test-core-hashtble.cpp | Tests: hashtables. |          test-core-dir.cpp | Tests: directory/file functions.
|          test-core-hdata.cpp | Tests: hdata. |          test-core-eval.cpp | Tests: evaluation of expressions.
|          test-core-hook.cpp | Tests: hooks. |          test-core-hashtble.cpp | Tests: hashtables.
|          test-core-infolist.cpp | Tests: infolists. |          test-core-hdata.cpp | Tests: hdata.
|          test-core-list.cpp | Tests: lists. |          test-core-hook.cpp | Tests: hooks.
|          test-core-network.cpp | Tests: network functions. |          test-core-infolist.cpp | Tests: infolists.
|          test-core-secure.cpp | Tests: secured data. |          test-core-list.cpp | Tests: lists.
|          test-core-signal.cpp | Tests: signals. |          test-core-network.cpp | Tests: network functions.
|          test-core-string.cpp | Tests: strings. |          test-core-secure.cpp | Tests: secured data.
|          test-core-url.cpp | Tests: URLs. |          test-core-signal.cpp | Tests: signals.
|          test-core-utf8.cpp | Tests: UTF-8. |          test-core-string.cpp | Tests: strings.
|          test-core-util.cpp | Tests: utility functions. |          test-core-url.cpp | Tests: URLs.
|       gui/ | Root of unit tests for interfaces. |          test-core-utf8.cpp | Tests: UTF-8.
|          test-gui-bar-window.cpp | Tests: bar window functions. |          test-core-util.cpp | Tests: utility functions.
|          test-gui-buffer.cpp | Tests: buffer functions. |          test-core-sys.cpp | Tests: system functions.
|          test-gui-chat.cpp | Tests: chat functions. |          hook/ | Root of unit tests for hooks.
|          test-gui-color.cpp | Tests: colors. |             test-hook-command.cpp | Tests: hooks "command".
|          test-gui-filter.cpp | Tests: filters. |             test-hook-command-run.cpp | Tests: hooks "command_run".
|          test-gui-input.cpp | Tests: input functions. |             test-hook-completion.cpp | Tests: hooks "completion".
|          test-gui-key.cpp | Tests: keys. |             test-hook-config.cpp | Tests: hooks "config".
|          test-gui-line.cpp | Tests: lines. |             test-hook-connect.cpp | Tests: hooks "connect".
|          test-gui-nick.cpp | Tests: nicks. |             test-hook-fd.cpp | Tests: hooks "fd".
|       plugins/ | Root of unit tests for plugins. |             test-hook-focus.cpp | Tests: hooks "focus".
|          irc/ | Root of unit tests for IRC plugin. |             test-hook-hdata.cpp | Tests: hooks "hdata".
|             test-irc-batch.cpp | Tests: IRC batched events. |             test-hook-hsignal.cpp | Tests: hooks "hsignal".
|             test-irc-buffer.cpp | Tests: IRC buffers. |             test-hook-info-hashtable.cpp | Tests: hooks "info_hashtable".
|             test-irc-channel.cpp | Tests: IRC channels. |             test-hook-info.cpp | Tests: hooks "info".
|             test-irc-color.cpp | Tests: IRC colors. |             test-hook-infolist.cpp | Tests: hooks "infolist".
|             test-irc-config.cpp | Tests: IRC configuration. |             test-hook-line.cpp | Tests: hooks "line".
|             test-irc-ignore.cpp | Tests: IRC ignores. |             test-hook-modifier.cpp | Tests: hooks "modifier".
|             test-irc-join.cpp | Tests: IRC join functions. |             test-hook-print.cpp | Tests: hooks "print".
|             test-irc-message.cpp | Tests: IRC messages. |             test-hook-process.cpp | Tests: hooks "process".
|             test-irc-mode.cpp | Tests: IRC modes. |             test-hook-signal.cpp | Tests: hooks "signal".
|             test-irc-nick.cpp | Tests: IRC nicks. |             test-hook-timer.cpp | Tests: hooks "timer".
|             test-irc-protocol.cpp | Tests: IRC protocol. |             test-hook-url.cpp | Tests: hooks "url".
|             test-irc-sasl.cpp | Tests: SASL authentication with IRC protocol. |       gui/ | Root of unit tests for interfaces.
|             test-irc-server.cpp | Tests: IRC server. |          test-gui-bar-window.cpp | Tests: bar window functions.
|             test-irc-tag.cpp | Tests: IRC message tags. |          test-gui-buffer.cpp | Tests: buffer functions.
|          logger/ | Root of unit tests for logger plugin. |          test-gui-chat.cpp | Tests: chat functions.
|             test-logger.cpp | Tests: logger. |          test-gui-color.cpp | Tests: colors.
|             test-logger-backlog.cpp | Tests: logger backlog. |          test-gui-filter.cpp | Tests: filters.
|             test-logger-tail.cpp | Tests: logger tail functions. |          test-gui-hotlist.cpp | Tests: hotlist functions.
|          trigger/ | Root of unit tests for trigger plugin. |          test-gui-input.cpp | Tests: input functions.
|             test-trigger.cpp | Tests: triggers. |          test-gui-key.cpp | Tests: keys.
|             test-trigger-config.cpp | Tests: trigger configuration. |          test-gui-line.cpp | Tests: lines.
|          typing/ | Root of unit tests for typing plugin. |          test-gui-nick.cpp | Tests: nicks.
|             test-typing.cpp | Tests: typing. |          test-gui-nicklist.cpp | Tests: nicklist functions.
|             test-typing-status.cpp | Tests: typing status. |          curses/ | Root of unit tests for Curses interface.
|          relay/ | Root of unit tests for Relay plugin. |             test-gui-curses-mouse.cpp | Tests: mouse (Curses interface).
|             test-relay-auth.cpp | Tests: clients authentication. |       plugins/ | Root of unit tests for plugins.
|             irc/ | Root of unit tests for Relay "irc" protocol. |          irc/ | Root of unit tests for IRC plugin.
|                test-relay-irc.cpp | Tests: Relay "irc" protocol. |             test-irc-batch.cpp | Tests: IRC batched events.
|          xfer/ | Root of unit tests for Xfer plugin. |             test-irc-buffer.cpp | Tests: IRC buffers.
|             test-xfer-file.cpp | Tests: file functions. |             test-irc-channel.cpp | Tests: IRC channels.
|             test-xfer-network.cpp | Tests: network functions. |             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]] [[documentation_translations]]
@@ -521,7 +572,7 @@ Example in C:
/* /*
* weechat.c - core functions for 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. * This file is part of WeeChat, the extensible chat client.
* *
@@ -545,9 +596,8 @@ Example in C:
Some basic rules you *must* follow when you write C code: Some basic rules you *must* follow when you write C code:
* Use 4 spaces for indentation. Don't use tabs, they are evil. * Use 4 spaces for indentation (no tabs).
* Try to not exceed 80 chars by line, except if this is needed to increase * Try to not exceed 80 chars by line, except if this is needed to increase readability.
readability.
* Use comments `+/* comment */+` (not C99-style comments like `+// comment+`). * Use comments `+/* comment */+` (not C99-style comments like `+// comment+`).
* Add a comment before any function, to explain what it does (always use a * Add a comment before any function, to explain what it does (always use a
multi-line comment, even if description is very short). multi-line comment, even if description is very short).
@@ -759,7 +809,7 @@ Examples:
[width="100%",cols="2m,3",options="header"] [width="100%",cols="2m,3",options="header"]
|=== |===
| Directory | Files | 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/ | 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/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, ... | src/plugins/ | plugin.c, plugin-api.c, plugin-api-info.c, plugin-config.c, plugin-script.c, ...
@@ -767,8 +817,8 @@ Examples:
| src/plugins/python/ | weechat-python.c, weechat-python-api.c, ... | 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 The headers of C files have same name as file, for example _core-command.h_ for
file _wee-command.c_. file _core-command.c_.
[[naming_convention_structures]] [[naming_convention_structures]]
==== Structures ==== Structures
+75 -24
View File
@@ -583,6 +583,31 @@ If you are using the macOS Terminal app, enable the option
"Use option as meta key" in menu Settings/Keyboard after which you can use the "Use option as meta key" in menu Settings/Keyboard after which you can use the
kbd:[Option] key as meta key. kbd:[Option] key as meta key.
[[enter_key]]
=== Some keys including Enter are not working, why?
If you run a WeeChat < 4.0.0 with configuration files created by any
version ≥ 4.0.0, the keys names become invalid and many keys won't work at all. +
To repair them, exit WeeChat, remove all sections `[key*]` from weechat.conf
and start WeeChat again: all default keys will be created.
[[key_f11]]
=== Key F11 maximizes the terminal window, how can I scroll up the nicklist?
The key kbd:[F11] is commonly used by terminals to maximize the window, and
kbd:[F11]/kbd:[F12] are the default keys in WeeChat to scroll the nicklist.
You can bind other keys, for example kbd:[Shift+F11] and kbd:[Shift+F12],
with WeeChat ≥ 4.0.0:
----
/key bind shift-f11 /bar scroll nicklist * -100%
/key bind shift-f12 /bar scroll nicklist * +100%
----
Other solution is to enable mouse (key: kbd:[Alt+m]) and scroll with the mouse
wheel (see also questions about <<mouse,mouse>>).
[[customize_key_bindings]] [[customize_key_bindings]]
=== How can I customize key bindings? === How can I customize key bindings?
@@ -612,6 +637,12 @@ commands like `/123` to jump to buffer #123:
/trigger add numberjump modifier "2000|input_text_for_buffer" "${tg_string} =~ ^/[0-9]+$" "=\/([0-9]+)=/buffer *${re:1}=" "" "" "none" /trigger add numberjump modifier "2000|input_text_for_buffer" "${tg_string} =~ ^/[0-9]+$" "=\/([0-9]+)=/buffer *${re:1}=" "" "" "none"
---- ----
For an easy jump to buffers, you can also install the _go.py_ script:
----
/script install go.py
----
[[global_history]] [[global_history]]
=== How to use global history (instead of buffer history) with up and down keys? === How to use global history (instead of buffer history) with up and down keys?
@@ -919,35 +950,20 @@ link:weechat_user.en.html#max_hotlist_level_nicks[hotlist_max_level_nicks_add ^
buffer property to set the max hotlist level for some nicks, per buffer, buffer property to set the max hotlist level for some nicks, per buffer,
or per group of buffers (like IRC servers). or per group of buffers (like IRC servers).
To only disable highlights, you'd have to set it to 2: To only disable highlights, you'd have to set it to 2.
For the current buffer:
---- ----
/buffer set hotlist_max_level_nicks_add joe:2,mike:2 /buffer setauto hotlist_max_level_nicks_add joe:2,mike:2
---- ----
This buffer property isn't stored in the configuration though. For all channels on server "libera":
To automatically reapply these buffer properties, you would need the
_buffer_autoset.py_ script:
---- ----
/script install buffer_autoset.py /set weechat.buffer.irc.libera.*.hotlist_max_level_nicks_add joe:2,mike:2
---- ----
For example, to permanently disable highlights from "mike" on #weechat
on the IRC server libera:
----
/buffer_autoset add irc.libera.#weechat hotlist_max_level_nicks_add mike:2
----
To apply it to the entire libera server instead:
----
/buffer_autoset add irc.libera hotlist_max_level_nicks_add mike:2
----
For more examples, see `+/help buffer_autoset+`.
[[irc_target_buffer]] [[irc_target_buffer]]
=== How can I change target buffer for commands on merged buffers (like buffer with servers)? === How can I change target buffer for commands on merged buffers (like buffer with servers)?
@@ -1074,7 +1090,8 @@ You can try following tips to consume less memory:
You can follow same tips as for <<memory_usage,memory>>, and these ones: You can follow same tips as for <<memory_usage,memory>>, and these ones:
* Hide "nicklist" bar: `/bar hide nicklist`. * Hide "nicklist" bar: `/bar hide nicklist` (key: kbd:[Alt+Shift+N]).
* Disable "buflist": `/buflist disable` (key: kbd:[Alt+Shift+B]).
* Remove display of seconds in status bar time: * Remove display of seconds in status bar time:
`+/set weechat.look.item_time_format "%H:%M"+` (this is the default value). `+/set weechat.look.item_time_format "%H:%M"+` (this is the default value).
* Disable real time check of misspelled words in command line (if you enabled it): * Disable real time check of misspelled words in command line (if you enabled it):
@@ -1096,14 +1113,20 @@ Disable answers to all CTCP queries:
---- ----
/set irc.ctcp.clientinfo "" /set irc.ctcp.clientinfo ""
/set irc.ctcp.finger ""
/set irc.ctcp.source "" /set irc.ctcp.source ""
/set irc.ctcp.time "" /set irc.ctcp.time ""
/set irc.ctcp.userinfo ""
/set irc.ctcp.version "" /set irc.ctcp.version ""
/set irc.ctcp.ping "" /set irc.ctcp.ping ""
---- ----
With WeeChat < 4.1.0, other CTCP queries were replied by default and must be
disabled as well:
----
/set irc.ctcp.finger ""
/set irc.ctcp.userinfo ""
----
Unload and disable auto-loading of "xfer" plugin (used for IRC DCC): Unload and disable auto-loading of "xfer" plugin (used for IRC DCC):
---- ----
@@ -1138,6 +1161,34 @@ stored in _sec.conf_ with the `/secure` command).
See the link:weechat_user.en.html#files_and_directories[User's guide / Files and directories ^↗^^] See the link:weechat_user.en.html#files_and_directories[User's guide / Files and directories ^↗^^]
for more information about configuration files. for more information about configuration files.
[[move_to_another_device]]
=== I want to move my WeeChat to another device and keep my config, what should I copy?
First check directories used by WeeChat with this command: `/debug dirs`. +
Directories home/config and home/data must be copied (all files and sub-directories).
For example if you're using XDG directories (default with WeeChat ≥ 3.2),
the directories should be `$HOME/.config/weechat` and `$HOME/.local/share/weechat`. +
If you're using a single directory (default with WeeChat < 3.2), the directory
should be `$HOME/.weechat`.
[IMPORTANT]
The WeeChat version on the new device must be greater than or equal to the version
on the initial device. +
Downgrading WeeChat configuration is *NOT SUPPORTED* and can break it,
leading to unusable WeeChat.
Steps:
. Quit Weechat: `/quit` (or `/upgrade -quit` if you want to resume the session,
which includes content of all buffers).
. Copy all directories, sub-directories and files to the new device, keeping
same names and permissions.
. Optional: copy any file outside these directories that you refer to in your
configuration (it's not recommended to use files outside WeeChat directories).
. Start WeeChat on the new device: `weechat` (or `weechat --upgrade` if you
saved the session).
[[development]] [[development]]
== Development == Development
File diff suppressed because it is too large Load Diff
+26 -10
View File
@@ -488,7 +488,9 @@ hda:
'buffer': 'ptr', 'buffer': 'ptr',
'y': 'int', 'y': 'int',
'date': 'tim', 'date': 'tim',
'date_usec': 'int',
'date_printed': 'tim', 'date_printed': 'tim',
'date_usec_printed': 'int',
'str_time': 'str', 'str_time': 'str',
'tags_count': 'int', 'tags_count': 'int',
'tags_array': 'arr', 'tags_array': 'arr',
@@ -506,7 +508,9 @@ hda:
buffer: '0x558d61ea3e60' buffer: '0x558d61ea3e60'
y: -1 y: -1
date: 1588404926 date: 1588404926
date_usec: 118712
date_printed: 1588404926 date_printed: 1588404926
date_usec_printed: 118712
str_time: 'F@0025209F@0024535F@0024026' str_time: 'F@0025209F@0024535F@0024026'
tags_count: 0 tags_count: 0
tags_array: [] tags_array: []
@@ -522,7 +526,9 @@ hda:
buffer: '0x558d61ea3e60' buffer: '0x558d61ea3e60'
y: -1 y: -1
date: 1588404930 date: 1588404930
date_usec: 25
date_printed: 1588404930 date_printed: 1588404930
date_usec_printed: 25
str_time: 'F@0025209F@0024535F@0024030' str_time: 'F@0025209F@0024535F@0024030'
tags_count: 0 tags_count: 0
tags_array: [] tags_array: []
@@ -701,6 +707,7 @@ inl:
nicklist_visible_count: 0 nicklist_visible_count: 0
title: 'WeeChat 2.9-dev (C) 2003-2020 - https://weechat.org/' title: 'WeeChat 2.9-dev (C) 2003-2020 - https://weechat.org/'
input: 1 input: 1
input_get_any_user_data: 0
input_get_unknown_commands: 0 input_get_unknown_commands: 0
input_get_empty: 0 input_get_empty: 0
input_multiline: 0 input_multiline: 0
@@ -712,11 +719,14 @@ inl:
input_buffer_1st_display: 0 input_buffer_1st_display: 0
num_history: 0 num_history: 0
text_search: 0 text_search: 0
text_search_direction: 0
text_search_exact: 0 text_search_exact: 0
text_search_regex: 0 text_search_regex: 0
text_search_regex_compiled: '0x0' text_search_regex_compiled: '0x0'
text_search_where: 0 text_search_where: 0
text_search_history: 0
text_search_found: 0 text_search_found: 0
text_search_ptr_history: '0x0'
text_search_input: None text_search_input: None
highlight_words: None highlight_words: None
highlight_disable_regex: None highlight_disable_regex: None
@@ -2047,16 +2057,18 @@ Data sent as hdata:
[width="100%",cols="3m,2,10",options="header"] [width="100%",cols="3m,2,10",options="header"]
|=== |===
| Name | Type | Description | Name | Type | Description
| buffer | pointer | Buffer pointer. | buffer | pointer | Buffer pointer.
| date | time | Date of message. | date | time | Date of message.
| date_printed | time | Date when WeeChat displayed message. | date_usec | integer | Microseconds of date.
| displayed | char | 1 if message is displayed, 0 if message is filtered (hidden). | date_printed | time | Date when WeeChat displayed message.
| notify_level | char | Notify level: -1 = notify disabled, 0 = low, 1 = message, 2 = private, 3 = highlight. | date_usec_printed | integer | Microseconds of date when WeeChat displayed message.
| highlight | char | 1 if line has a highlight, otherwise 0. | displayed | char | 1 if message is displayed, 0 if message is filtered (hidden).
| tags_array | array of strings | List of tags for line. | notify_level | char | Notify level: -1 = notify disabled, 0 = low, 1 = message, 2 = private, 3 = highlight.
| prefix | string | Prefix. | highlight | char | 1 if line has a highlight, otherwise 0.
| message | string | Message. | 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_: Example: new message _hello!_ from nick _FlashCode_ on buffer _irc.libera.#weechat_:
@@ -2068,7 +2080,9 @@ hda:
keys: { keys: {
'buffer': 'ptr', 'buffer': 'ptr',
'date': 'tim', 'date': 'tim',
'date_usec': 'int',
'date_printed': 'tim', 'date_printed': 'tim',
'date_usec_printed': 'int',
'displayed': 'chr', 'displayed': 'chr',
'notify_level': 'chr', 'notify_level': 'chr',
'highlight': 'chr', 'highlight': 'chr',
@@ -2081,7 +2095,9 @@ hda:
__path: ['0x4a49600'] __path: ['0x4a49600']
buffer: '0x4a715d0' buffer: '0x4a715d0'
date: 1362728993 date: 1362728993
date_usec: 902765
date_printed: 1362728993 date_printed: 1362728993
date_usec_printed: 902765
displayed: 1 displayed: 1
notify_level: 1 notify_level: 1
highlight: 0 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: List of functions in script API:
[width="100%",cols="1,5",options="header"] include::{autogendir}/autogen_scripting_functions.en.adoc[tag=functions]
|===
| 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
|===
[[script_api_constants]] [[script_api_constants]]
=== Constants === Constants
List of constants in script API: List of constants in script API:
[width="100%",cols="1,5",options="header"] include::{autogendir}/autogen_scripting_constants.en.adoc[tag=constants]
|===
| 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)
|===
[[common_tasks]] [[common_tasks]]
== Common tasks == Common tasks
File diff suppressed because it is too large Load Diff
+84 -24
View File
@@ -598,6 +598,33 @@ Si está utilizando aplicación Terminal de macOS, habilite la opción
"Use option as meta key" en el menú Settings/Keyboard después de la cual puede utilizar la tecla "Use option as meta key" en el menú Settings/Keyboard después de la cual puede utilizar la tecla
kbd:[Option] como tecla meta. kbd:[Option] como tecla meta.
// TRANSLATION MISSING
[[enter_key]]
=== Some keys including Enter are not working, why?
If you run a WeeChat < 4.0.0 with configuration files created by any
version ≥ 4.0.0, the keys names become invalid and many keys won't work at all. +
To repair them, exit WeeChat, remove all sections `[key*]` from weechat.conf
and start WeeChat again: all default keys will be created.
// TRANSLATION MISSING
[[key_f11]]
=== Key F11 maximizes the terminal window, how can I scroll up the nicklist?
The key kbd:[F11] is commonly used by terminals to maximize the window, and
kbd:[F11]/kbd:[F12] are the default keys in WeeChat to scroll the nicklist.
You can bind other keys, for example kbd:[Shift+F11] and kbd:[Shift+F12],
with WeeChat ≥ 4.0.0:
----
/key bind shift-f11 /bar scroll nicklist * -100%
/key bind shift-f12 /bar scroll nicklist * +100%
----
Other solution is to enable mouse (key: kbd:[Alt+m]) and scroll with the mouse
wheel (see also questions about <<mouse,mouse>>).
[[customize_key_bindings]] [[customize_key_bindings]]
=== ¿Cómo puedo personalizar los atajos de teclado? === ¿Cómo puedo personalizar los atajos de teclado?
@@ -627,6 +654,13 @@ comandos como `/123` para saltar al buffer #123:
/trigger add numberjump modifier "2000|input_text_for_buffer" "${tg_string} =~ ^/[0-9]+$" "=\/([0-9]+)=/buffer *${re:1}=" "" "" "none" /trigger add numberjump modifier "2000|input_text_for_buffer" "${tg_string} =~ ^/[0-9]+$" "=\/([0-9]+)=/buffer *${re:1}=" "" "" "none"
---- ----
// TRANSLATION MISSING
For an easy jump to buffers, you can also install the _go.py_ script:
----
/script install go.py
----
[[global_history]] [[global_history]]
=== ¿Cómo utilizar el historial global (en vez del historial del buffer) con las teclas de las flechas arriba y abajo? === ¿Cómo utilizar el historial global (en vez del historial del buffer) con las teclas de las flechas arriba y abajo?
@@ -947,35 +981,22 @@ link:weechat_user.en.html#max_hotlist_level_nicks[hotlist_max_level_nicks_add ^
buffer property to set the max hotlist level for some nicks, per buffer, buffer property to set the max hotlist level for some nicks, per buffer,
or per group of buffers (like IRC servers). or per group of buffers (like IRC servers).
Para únicamente inhabilitar las notificaciones, debería establecerlo a 2: Para únicamente inhabilitar las notificaciones, debería establecerlo a 2.
// TRANSLATION MISSING
For the current buffer:
---- ----
/buffer set hotlist_max_level_nicks_add joe:2,mike:2 /buffer setauto hotlist_max_level_nicks_add joe:2,mike:2
---- ----
Esta propiedad del buffer no es almacenada en la configuración. // TRANSLATION MISSING
Para volver a aplicar automáticamente estas propiedades del buffer, necesitaría el script For all channels on server "libera":
_buffer_autoset.py_:
---- ----
/script install buffer_autoset.py /set weechat.buffer.irc.libera.*.hotlist_max_level_nicks_add joe:2,mike:2
---- ----
Por ejemplo, para inhabilitar automáticamente las menciones de "mike" en #weechat
en el servidor IRC de libera:
----
/buffer_autoset add irc.libera.#weechat hotlist_max_level_nicks_add mike:2
----
Para aplicarlo al servidor completo de libera:
----
/buffer_autoset add irc.libera hotlist_max_level_nicks_add mike:2
----
Para más ejemplos, vea `+/help buffer_autoset+`.
[[irc_target_buffer]] [[irc_target_buffer]]
=== ¿Cómo puedo cambiar el objetivo del buffer para comandos en buffers unidos (como en un buffer con servidores)? === ¿Cómo puedo cambiar el objetivo del buffer para comandos en buffers unidos (como en un buffer con servidores)?
@@ -1105,7 +1126,10 @@ Puede intentar estos trucos para consumir menos memoria:
Puede seguir los mismos consejo que para la <<memory_usage,memoria>> y estos otros: Puede seguir los mismos consejo que para la <<memory_usage,memoria>> y estos otros:
* Oculte la barra de la lista de apodos: `/bar hide nicklist`. // TRANSLATION MISSING
* Oculte la barra de la lista de apodos: `/bar hide nicklist` (key: kbd:[Alt+Shift+N]).
// TRANSLATION MISSING
* Disable "buflist": `/buflist disable` (key: kbd:[Alt+Shift+B]).
* Elimine que se muestren los segundos en la hora de la barra de estado: * Elimine que se muestren los segundos en la hora de la barra de estado:
`+/set weechat.look.item_time_format "%H:%M"+` (este es el valor predeterminado). `+/set weechat.look.item_time_format "%H:%M"+` (este es el valor predeterminado).
* Inhabilite la comprobación en tiempo real de palabras erróneas en la línea de comandos (si lo había habilitado previamente): * Inhabilite la comprobación en tiempo real de palabras erróneas en la línea de comandos (si lo había habilitado previamente):
@@ -1127,14 +1151,21 @@ Inhabilite las respuestas a todas las peticiones CTCP:
---- ----
/set irc.ctcp.clientinfo "" /set irc.ctcp.clientinfo ""
/set irc.ctcp.finger ""
/set irc.ctcp.source "" /set irc.ctcp.source ""
/set irc.ctcp.time "" /set irc.ctcp.time ""
/set irc.ctcp.userinfo ""
/set irc.ctcp.version "" /set irc.ctcp.version ""
/set irc.ctcp.ping "" /set irc.ctcp.ping ""
---- ----
// TRANSLATION MISSING
With WeeChat < 4.1.0, other CTCP queries were replied by default and must be
disabled as well:
----
/set irc.ctcp.finger ""
/set irc.ctcp.userinfo ""
----
Elimine de la memoria e inhabilite la carga automática del complemento "xfer" (utilizdo para IRC DCC): Elimine de la memoria e inhabilite la carga automática del complemento "xfer" (utilizdo para IRC DCC):
---- ----
@@ -1169,6 +1200,35 @@ almacenadas en _sec.conf_ con el comando `/secure`).
Vea la link:weechat_user.en.html#files_and_directories[Guía del usuario / Archivos y directorios ^↗^^] Vea la link:weechat_user.en.html#files_and_directories[Guía del usuario / Archivos y directorios ^↗^^]
para más información relacionada con los archivos de configuración. para más información relacionada con los archivos de configuración.
// TRANSLATION MISSING
[[move_to_another_device]]
=== I want to move my WeeChat to another device and keep my config, what should I copy?
First check directories used by WeeChat with this command: `/debug dirs`. +
Directories home/config and home/data must be copied (all files and sub-directories).
For example if you're using XDG directories (default with WeeChat ≥ 3.2),
the directories should be `$HOME/.config/weechat` and `$HOME/.local/share/weechat`. +
If you're using a single directory (default with WeeChat < 3.2), the directory
should be `$HOME/.weechat`.
[IMPORTANT]
The WeeChat version on the new device must be greater than or equal to the version
on the initial device. +
Downgrading WeeChat configuration is *NOT SUPPORTED* and can break it,
leading to unusable WeeChat.
Steps:
. Quit Weechat: `/quit` (or `/upgrade -quit` if you want to resume the session,
which includes content of all buffers).
. Copy all directories, sub-directories and files to the new device, keeping
same names and permissions.
. Optional: copy any file outside these directories that you refer to in your
configuration (it's not recommended to use files outside WeeChat directories).
. Start WeeChat on the new device: `weechat` (or `weechat --upgrade` if you
saved the session).
[[development]] [[development]]
== Desarrollo == Desarrollo
+1 -1
View File
@@ -102,7 +102,7 @@ $HOME/.local/share/weechat/weechat.log::
WeeChat est écrit par Sébastien Helleu et des contributeurs (la liste complète WeeChat est écrit par Sébastien Helleu et des contributeurs (la liste complète
est dans le fichier AUTHORS.adoc). 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 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 sous les termes de la GNU General Public License telle que publiée par la
+391 -341
View File
@@ -114,95 +114,97 @@ Le cœur de WeeChat est situé dans les répertoires suivants :
[width="100%",cols="2m,3",options="header"] [width="100%",cols="2m,3",options="header"]
|=== |===
| Chemin/fichier | Description | Chemin/fichier | Description
| core/ | Fonctions du cœur : point d'entrée, structures internes. | core/ | Fonctions du cœur : point d'entrée, structures internes.
|    wee-arraylist.c | Listes avec tableau (« arraylists »). |    core-arraylist.c | Listes avec tableau (« arraylists »).
|    wee-backtrace.c | Afficher une trace après un plantage. |    core-backtrace.c | Afficher une trace après un plantage.
|    wee-calc.c | Calcul du résultat d'expressions. |    core-calc.c | Calcul du résultat d'expressions.
|    wee-command.c | Commandes du cœur de WeeChat. |    core-command.c | Commandes du cœur de WeeChat.
|    wee-completion.c | Complétions par défaut. |    core-completion.c | Complétions par défaut.
|    wee-config-file.c | Gestion des fichiers de configuration. |    core-config-file.c | Gestion des fichiers de configuration.
|    wee-config.c | Options de configuration du cœur de WeeChat (fichier weechat.conf). |    core-config.c | Options de configuration du cœur de WeeChat (fichier weechat.conf).
|    wee-crypto.c | Fonctions de cryptographie. |    core-crypto.c | Fonctions de cryptographie.
|    wee-debug.c | Quelques fonctions de debug. |    core-debug.c | Quelques fonctions de debug.
|    wee-dir.c | Fonctions sur les répertoires/fichiers. |    core-dir.c | Fonctions sur les répertoires/fichiers.
|    wee-doc.c | Génération de fichiers pour la documentation. |    core-doc.c | Génération de fichiers pour la documentation.
|    wee-eval.c | Évaluation d'expressions avec des références à des variables internes. |    core-eval.c | Évaluation d'expressions avec des références à des variables internes.
|    wee-hashtable.c | Tables de hachage. |    core-hashtable.c | Tables de hachage.
|    wee-hdata.c | Hdata (accès direct aux données en utilisant des tables de hachage). |    core-hdata.c | Hdata (accès direct aux données en utilisant des tables de hachage).
|    wee-hook.c | Crochets ("hooks"). |    core-hook.c | Crochets ("hooks").
|    wee-infolist.c | Infolists (listes avec les données des objets). |    core-infolist.c | Infolists (listes avec les données des objets).
|    wee-input.c | Entrée de commandes/texte. |    core-input.c | Entrée de commandes/texte.
|    wee-list.c | Listes triées. |    core-list.c | Listes triées.
|    wee-log.c | Écriture dans le fichier de log WeeChat (weechat.log). |    core-log.c | Écriture dans le fichier de log WeeChat (weechat.log).
|    wee-network.c | Fonctions réseau (connexion aux serveurs/proxies). |    core-network.c | Fonctions réseau (connexion aux serveurs/proxies).
|    wee-proxy.c | Gestion des proxies. |    core-proxy.c | Gestion des proxies.
|    wee-secure.c | Fonctions pour les données sécurisées. |    core-secure.c | Fonctions pour les données sécurisées.
|    wee-secure-buffer.c | Tampon pour les données sécurisées. |    core-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). |    core-secure-config.c | Options des données sécurisées (fichier sec.conf).
|    wee-signal.c | Fonctions sur les signaux. |    core-signal.c | Fonctions sur les signaux.
|    wee-string.c | Fonctions sur les chaînes de caractères. |    core-string.c | Fonctions sur les chaînes de caractères.
|    wee-upgrade-file.c | Système de mise à jour interne. |    core-sys.c | Fonctions système.
|    wee-upgrade.c | Mise à jour du cœur de WeeChat (tampons, lignes, historique, ...). |    core-upgrade-file.c | Système de mise à jour interne.
|    wee-url.c | Transfert d'URL (en utilisant libcurl). |    core-upgrade.c | Mise à jour du cœur de WeeChat (tampons, lignes, historique, ...).
|    wee-utf8.c | Fonctions UTF-8. |    core-url.c | Transfert d'URL (en utilisant libcurl).
|    wee-util.c | Quelques autres fonctions utilitaires. |    core-utf8.c | Fonctions UTF-8.
|    wee-version.c | Fonctions pour la version de WeeChat. |    core-util.c | Quelques autres fonctions utilitaires.
|    weechat.c | Fonctions principales : options de ligne de commande, démarrage. |    core-version.c | Fonctions pour la version de WeeChat.
|    hook/ | Hook functions. |    weechat.c | Fonctions principales : options de ligne de commande, démarrage.
|       wee-hook-command-run.c | Hook "command_run". |    hook/ | Fonctions "hook".
|       wee-hook-command.c | Hook "command". |       hook-command-run.c | Hook "command_run".
|       wee-hook-completion.c | Hook "completion". |       hook-command.c | Hook "command".
|       wee-hook-config.c | Hook "config". |       hook-completion.c | Hook "completion".
|       wee-hook-connect.c | Hook "connect". |       hook-config.c | Hook "config".
|       wee-hook-fd.c | Hook "fd". |       hook-connect.c | Hook "connect".
|       wee-hook-focus.c | Hook "focus". |       hook-fd.c | Hook "fd".
|       wee-hook-hdata.c | Hook "hdata". |       hook-focus.c | Hook "focus".
|       wee-hook-hsignal.c | Hook "hsignal". |       hook-hdata.c | Hook "hdata".
|       wee-hook-info-hashtable.c | Hook "info". |       hook-hsignal.c | Hook "hsignal".
|       wee-hook-info.c | Hook "info". |       hook-info-hashtable.c | Hook "info".
|       wee-hook-infolist.c | Hook "infolist". |       hook-info.c | Hook "info".
|       wee-hook-line.c | Hook "line". |       hook-infolist.c | Hook "infolist".
|       wee-hook-modifier.c | Hook "modifier". |       hook-line.c | Hook "line".
|       wee-hook-print.c | Hook "print". |       hook-modifier.c | Hook "modifier".
|       wee-hook-process.c | Hook "process". |       hook-print.c | Hook "print".
|       wee-hook-signal.c | Hook "signal". |       hook-process.c | Hook "process".
|       wee-hook-timer.c | Hook "timer". |       hook-signal.c | Hook "signal".
| gui/ | Fonctions pour les tampons, fenêtres, ... (utilisées par toutes les interfaces). |       hook-timer.c | Hook "timer".
|    gui-bar-item.c | Objets de barre. |       hook-url.c | Hook "url".
|    gui-bar-window.c | Fenêtres de barre. | gui/ | Fonctions pour les tampons, fenêtres, ... (utilisées par toutes les interfaces).
|    gui-bar.c | Barres. |    gui-bar-item.c | Objets de barre.
|    gui-buffer.c | Tampons. |    gui-bar-window.c | Fenêtres de barre.
|    gui-chat.c | Fonctions pour la discussion (afficher un message, ...). |    gui-bar.c | Barres.
|    gui-color.c | Fonctions de couleur. |    gui-buffer.c | Tampons.
|    gui-completion.c | Complétion sur la ligne de commande. |    gui-chat.c | Fonctions pour la discussion (afficher un message, ...).
|    gui-cursor.c | Mode curseur (mouvement libre du curseur). |    gui-color.c | Fonctions de couleur.
|    gui-filter.c | Filtres. |    gui-completion.c | Complétion sur la ligne de commande.
|    gui-focus.c | Fonctions concernant le focus (pour les modes curseur et souris). |    gui-cursor.c | Mode curseur (mouvement libre du curseur).
|    gui-history.c | Commandes/texte sauvés dans les tampons. |    gui-filter.c | Filtres.
|    gui-hotlist.c | Gestion de la "hotlist" (liste des tampons avec activité). |    gui-focus.c | Fonctions concernant le focus (pour les modes curseur et souris).
|    gui-input.c | Fonctions d'entrée (barre "input"). |    gui-history.c | Commandes/texte sauvés dans les tampons.
|    gui-key.c | Fonctions pour le clavier. |    gui-hotlist.c | Gestion de la "hotlist" (liste des tampons avec activité).
|    gui-layout.c | Dispositions ("layouts"). |    gui-input.c | Fonctions d'entrée (barre "input").
|    gui-line.c | Lignes dans les tampons. |    gui-key.c | Fonctions pour le clavier.
|    gui-mouse.c | Souris. |    gui-layout.c | Dispositions ("layouts").
|    gui-nick.c | Fonctions pour les pseudos. |    gui-line.c | Lignes dans les tampons.
|    gui-nicklist.c | Liste de pseudos dans les tampons. |    gui-mouse.c | Souris.
|    gui-window.c | Fenêtres. |    gui-nick.c | Fonctions pour les pseudos.
|    curses/ | Interface Curses. |    gui-nicklist.c | Liste de pseudos dans les tampons.
|       gui-curses-bar-window.c | Affichage dans les fenêtres de barre. |    gui-window.c | Fenêtres.
|       gui-curses-chat.c | Affichage dans la zone de discussion (messages). |    curses/ | Interface Curses.
|       gui-curses-color.c | Fonctions pour les couleurs. |       gui-curses-bar-window.c | Affichage dans les fenêtres de barre.
|       gui-curses-key.c | Fonctions pour le clavier (touches par défaut, lecture du clavier). |       gui-curses-chat.c | Affichage dans la zone de discussion (messages).
|       gui-curses-main.c | Boucle principale de WeeChat (attente des évènements clavier/réseau). |       gui-curses-color.c | Fonctions pour les couleurs.
|       gui-curses-mouse.c | Souris. |       gui-curses-key.c | Fonctions pour le clavier (touches par défaut, lecture du clavier).
|       gui-curses-term.c | Fonctions pour le terminal. |       gui-curses-main.c | Boucle principale de WeeChat (attente des évènements clavier/réseau).
|       gui-curses-window.c | Fenêtres. |       gui-curses-mouse.c | Souris.
|       headless/ | Mode sans interface (« headless »). |       gui-curses-term.c | Fonctions pour le terminal.
|          main.c | Point d'entrée pour le mode sans interface. |       gui-curses-window.c | Fenêtres.
|          ncurses-fake.c | Fausse bibliothèque ncurses. |       headless/ | Mode sans interface (« headless »).
|       normal/ | Interface Curses. |          main.c | Point d'entrée pour le mode sans interface.
|          main.c | Point d'entrée pour l'interface Curses. |          ncurses-fake.c | Fausse bibliothèque ncurses.
|       normal/ | Interface Curses.
|          main.c | Point d'entrée pour l'interface Curses.
|=== |===
[[sources_plugins]] [[sources_plugins]]
@@ -210,178 +212,189 @@ Le cœur de WeeChat est situé dans les répertoires suivants :
[width="100%",cols="2m,3",options="header"] [width="100%",cols="2m,3",options="header"]
|=== |===
| Chemin/fichier | Description | Chemin/fichier | Description
| plugins/ | Racine des extensions. | plugins/ | Racine des extensions.
|    plugin.c | Gestion des extensions (chargement/déchargement des bibliothèques C dynamiques). |    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.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-api-info.c | Fonctions supplémentaires info/infolist pour l'API extension.
|    plugin-config.c | Options de configuration des extensions (fichier plugins.conf). |    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.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-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, ...). |    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. |    weechat-plugin.h | En-tête destiné à être distribué avec les extensions WeeChat, pour les compiler.
|    alias/ | Extension Alias. |    alias/ | Extension Alias.
|       alias.c | Fonctions principales pour les alias. |       alias.c | Fonctions principales pour les alias.
|       alias-command.c | Commandes Alias. |       alias-command.c | Commandes Alias.
|       alias-completion.c | Complétions pour Alias. |       alias-completion.c | Complétions pour Alias.
|       alias-config.c | Options de configuration des alias (fichier alias.conf). |       alias-config.c | Options de configuration des alias (fichier alias.conf).
|       alias-info.c | Info/infolists/hdata pour les alias. |       alias-info.c | Info/infolists/hdata pour les alias.
|    spell/ | Extension Spell. |    spell/ | Extension Spell.
|       spell.c | Fonctions principales pour Spell. |       spell.c | Fonctions principales pour Spell.
|       spell-bar-item.c | Objets de barre Spell. |       spell-bar-item.c | Objets de barre Spell.
|       spell-command.c | Commandes Spell. |       spell-command.c | Commandes Spell.
|       spell-completion.c | Complétions pour Spell. |       spell-completion.c | Complétions pour Spell.
|       spell-config.c | Options de configuration pour Spell (fichier spell.conf). |       spell-config.c | Options de configuration pour Spell (fichier spell.conf).
|       spell-info.c | Info/infolists/hdata pour Spell. |       spell-info.c | Info/infolists/hdata pour Spell.
|       spell-speller.c | Gestion des correcteurs orthographiques. |       spell-speller.c | Gestion des correcteurs orthographiques.
|    buflist/ | Extension Buflist. |    buflist/ | Extension Buflist.
|       buflist.c | Fonctions principales de Buflist. |       buflist.c | Fonctions principales de Buflist.
|       buflist-bar-item.c | Objets de barre Buflist. |       buflist-bar-item.c | Objets de barre Buflist.
|       buflist-command.c | Commandes pour Buflist. |       buflist-command.c | Commandes pour Buflist.
|       buflist-config.c | Options de configuration pour Buflist (fichier buflist.conf). |       buflist-completion.c | Complétions pour Buflist.
|       buflist-info.c | Info/infolists/hdata pour Buflist. |       buflist-config.c | Options de configuration pour Buflist (fichier buflist.conf).
|       buflist-mouse.c | Actions souris pour Buflist. |       buflist-info.c | Info/infolists/hdata pour Buflist.
|    charset/ | Extension Charset. |       buflist-mouse.c | Actions souris pour Buflist.
|       charset.c | Fonctions pour Charset. |    charset/ | Extension Charset.
|    exec/ | Extension Exec. |       charset.c | Fonctions pour Charset.
|       exec.c | Fonctions principales de Exec. |    exec/ | Extension Exec.
|       exec-buffer.c | Tampon Exec. |       exec.c | Fonctions principales de Exec.
|       exec-command.c | Commandes pour Exec. |       exec-buffer.c | Tampon Exec.
|       exec-completion.c | Complétions pour Exec. |       exec-command.c | Commandes pour Exec.
|       exec-config.c | Options de configuration pour Exec (fichier exec.conf). |       exec-completion.c | Complétions pour Exec.
|    fifo/ | Extension Fifo. |       exec-config.c | Options de configuration pour Exec (fichier exec.conf).
|       fifo.c | Fonctions principales de Fifo. |    fifo/ | Extension Fifo.
|       fifo-command.c | Commandes pour Fifo. |       fifo.c | Fonctions principales de Fifo.
|       fifo-config.c | Options de configuration pour Fifo (fichier fifo.conf). |       fifo-command.c | Commandes pour Fifo.
|       fifo-info.c | Info/infolists/hdata pour Fifo. |       fifo-config.c | Options de configuration pour Fifo (fichier fifo.conf).
|    fset/ | Extension Fset. |       fifo-info.c | Info/infolists/hdata pour Fifo.
|       fset.c | Fonctions principales de Fset. |    fset/ | Extension Fset.
|       fset-bar-item.c | Objets de barre Fset. |       fset.c | Fonctions principales de Fset.
|       fset-buffer.c | Tampon Fset. |       fset-bar-item.c | Objets de barre Fset.
|       fset-command.c | Commandes pour Fset. |       fset-buffer.c | Tampon Fset.
|       fset-completion.c | Complétions pour Fset. |       fset-command.c | Commandes pour Fset.
|       fset-config.c | Options de configuration pour Fset (fichier fset.conf). |       fset-completion.c | Complétions pour Fset.
|       fset-info.c | Info/infolists/hdata pour Fset. |       fset-config.c | Options de configuration pour Fset (fichier fset.conf).
|       fset-mouse.c | Actions souris pour Fset. |       fset-info.c | Info/infolists/hdata pour Fset.
|       fset-option.c | Gestion des options Fset. |       fset-mouse.c | Actions souris pour Fset.
|    guile/ | Extension Guile (scheme). |       fset-option.c | Gestion des options Fset.
|       weechat-guile.c | Fonctions principales pour Guile (chargement/déchargement des scripts, exécution de code Guile). |    guile/ | Extension Guile (scheme).
|       weechat-guile-api.c | Fonctions de l'API script Guile. |       weechat-guile.c | Fonctions principales pour Guile (chargement/déchargement des scripts, exécution de code Guile).
|    irc/ | Extension IRC (Internet Relay Chat). |       weechat-guile-api.c | Fonctions de l'API script Guile.
|       irc.c | Fonctions principales IRC. |    irc/ | Extension IRC (Internet Relay Chat).
|       irc-bar-item.c | Objets de barre IRC. |       irc.c | Fonctions principales IRC.
|       irc-batch.c | Évènements batch IRC. |       irc-bar-item.c | Objets de barre IRC.
|       irc-buffer.c | Tampons IRC. |       irc-batch.c | Évènements batch IRC.
|       irc-channel.c | Canaux IRC. |       irc-buffer.c | Tampons IRC.
|       irc-color.c | Couleurs IRC. |       irc-channel.c | Canaux IRC.
|       irc-command.c | Commandes IRC. |       irc-color.c | Couleurs IRC.
|       irc-completion.c | Complétions IRC. |       irc-command.c | Commandes IRC.
|       irc-config.c | Options de configuration IRC (fichier irc.conf). |       irc-completion.c | Complétions IRC.
|       irc-ctcp.c | CTCP IRC. |       irc-config.c | Options de configuration IRC (fichier irc.conf).
|       irc-debug.c | Fonctions de debug IRC. |       irc-ctcp.c | CTCP IRC.
|       irc-ignore.c | Ignore IRC. |       irc-debug.c | Fonctions de debug IRC.
|       irc-info.c | Info/infolists/hdata pour IRC. |       irc-ignore.c | Ignore IRC.
|       irc-input.c | Entrée de commandes/texte. |       irc-info.c | Info/infolists/hdata pour IRC.
|       irc-join.c | Fonctions pour les listes de canaux à rejoindre. |       irc-input.c | Entrée de commandes/texte.
|       irc-message.c | Fonctions pour manipuler les messages IRC. |       irc-join.c | Fonctions pour les listes de canaux à rejoindre.
|       irc-mode.c | Fonctions pour les modes de canal/pseudo. |       irc-list.c | Tampon pour la réponse à la commande /list.
|       irc-modelist.c | Listes de modes de canaux IRC (+b, +e, +I, ...). |       irc-message.c | Fonctions pour manipuler les messages IRC.
|       irc-msgbuffer.c | Tampon cible pour les messages IRC. |       irc-mode.c | Fonctions pour les modes de canal/pseudo.
|       irc-nick.c | Pseudos IRC. |       irc-modelist.c | Listes de modes de canaux IRC (+b, +e, +I, ...).
|       irc-notify.c | Listes de notification IRC. |       irc-msgbuffer.c | Tampon cible pour les messages IRC.
|       irc-protocol.c | Protocole IRC (RFCs 1459/2810/2811/2812/2813/7194). |       irc-nick.c | Pseudos IRC.
|       irc-raw.c | Tampon des données brutes IRC. |       irc-notify.c | Listes de notification IRC.
|       irc-redirect.c | Redirection de la sortie des commandes IRC. |       irc-protocol.c | Protocole IRC (RFCs 1459/2810/2811/2812/2813/7194).
|       irc-sasl.c | Authentification SASL avec le serveur IRC. |       irc-raw.c | Tampon des données brutes IRC.
|       irc-server.c | Communication avec le serveur IRC. |       irc-redirect.c | Redirection de la sortie des commandes IRC.
|       irc-tag.c | Fonctions pour manipuler les étiquettes de message IRC. |       irc-sasl.c | Authentification SASL avec le serveur IRC.
|       irc-typing.c | Statut d'écriture. |       irc-server.c | Communication avec le serveur IRC.
|       irc-upgrade.c | Sauvegarde/restauration des données IRC lors de la mise à jour de WeeChat. |       irc-tag.c | Fonctions pour manipuler les étiquettes de message IRC.
|    javascript/ | Extension JavaScript. |       irc-typing.c | Statut d'écriture.
|       weechat-js.cpp | Fonctions principales pour JavaScript (chargement/déchargement des scripts, exécution de code JavaScript). |       irc-upgrade.c | Sauvegarde/restauration des données IRC lors de la mise à jour de WeeChat.
|       weechat-js-api.cpp | Fonctions de l'API script JavaScript. |    javascript/ | Extension JavaScript.
|       weechat-js-v8.cpp | Fonctions JavaScript v8. |       weechat-js.cpp | Fonctions principales pour JavaScript (chargement/déchargement des scripts, exécution de code JavaScript).
|    logger/ | Extension Logger. |       weechat-js-api.cpp | Fonctions de l'API script JavaScript.
|       logger.c | Fonctions principales pour Logger. |       weechat-js-v8.cpp | Fonctions JavaScript v8.
|       logger-backlog.c | Fonctions de backlog pour Logger. |    logger/ | Extension Logger.
|       logger-buffer.c | Gestion des listes de tampons pour Logger. |       logger.c | Fonctions principales pour Logger.
|       logger-command.c | Commandes de Logger. |       logger-backlog.c | Fonctions de backlog pour Logger.
|       logger-config.c | Options de configuration pour Logger (fichier logger.conf). |       logger-buffer.c | Gestion des listes de tampons pour Logger.
|       logger-info.c | Info/infolists/hdata pour Logger. |       logger-command.c | Commandes de Logger.
|       logger-tail.c | Fonctions pour obtenir les dernières lignes d'un fichier. |       logger-config.c | Options de configuration pour Logger (fichier logger.conf).
|    lua/ | Extension Lua. |       logger-info.c | Info/infolists/hdata pour Logger.
|       weechat-lua.c | Fonctions principales pour Lua (chargement/déchargement des scripts, exécution de code Lua). |       logger-tail.c | Fonctions pour obtenir les dernières lignes d'un fichier.
|       weechat-lua-api.c | Fonctions de l'API script Lua. |    lua/ | Extension Lua.
|    perl/ | Extension Perl. |       weechat-lua.c | Fonctions principales pour Lua (chargement/déchargement des scripts, exécution de code Lua).
|       weechat-perl.c | Fonctions principales pour Perl (chargement/déchargement des scripts, exécution de code Perl). |       weechat-lua-api.c | Fonctions de l'API script Lua.
|       weechat-perl-api.c | Fonctions de l'API script Perl. |    perl/ | Extension Perl.
|    php/ | Extension PHP. |       weechat-perl.c | Fonctions principales pour Perl (chargement/déchargement des scripts, exécution de code Perl).
|       weechat-php.c | Fonctions principales pour PHP (chargement/déchargement des scripts, exécution de code PHP). |       weechat-perl-api.c | Fonctions de l'API script Perl.
|       weechat-php-api.c | Fonctions de l'API script PHP. |    php/ | Extension PHP.
|    python/ | Extension Python. |       weechat-php.c | Fonctions principales pour PHP (chargement/déchargement des scripts, exécution de code PHP).
|       weechat-python.c | Fonctions principales pour Python (chargement/déchargement des scripts, exécution de code Python). |       weechat-php-api.c | Fonctions de l'API script PHP.
|       weechat-python-api.c | Fonctions de l'API script Python. |    python/ | Extension Python.
|    relay/ | Extension Relay (proxy IRC et relai pour des interfaces distantes). |       weechat-python.c | Fonctions principales pour Python (chargement/déchargement des scripts, exécution de code Python).
|       relay.c | Fonctions principales de Relay. |       weechat-python-api.c | Fonctions de l'API script Python.
|       relay-auth.c | Authentification des clients. |    relay/ | Extension Relay (proxy IRC et relai pour des interfaces distantes).
|       relay-buffer.c | Tampon Relay. |       relay.c | Fonctions principales de Relay.
|       relay-client.c | Clients du relai. |       relay-auth.c | Authentification des clients.
|       relay-command.c | Commandes de Relay. |       relay-buffer.c | Tampon Relay.
|       relay-completion.c | Complétions de Relay. |       relay-client.c | Clients du relai.
|       relay-config.c | Options de configuration pour Relay (fichier relay.conf). |       relay-command.c | Commandes de Relay.
|       relay-info.c | Info/infolists/hdata pour Relay. |       relay-completion.c | Complétions de Relay.
|       relay-network.c | Fonctions de réseau pour Relay. |       relay-config.c | Options de configuration pour Relay (fichier relay.conf).
|       relay-raw.c | Tampon des données brutes de Relay. |       relay-http.c | Fonctions HTTP.
|       relay-server.c | Serveur Relay. |       relay-info.c | Info/infolists/hdata pour Relay.
|       relay-upgrade.c | Sauvegarde/restauration des données Relay lors de la mise à jour de WeeChat. |       relay-network.c | Fonctions de réseau pour Relay.
|       relay-websocket.c | Fonctions pour le serveur WebSocket (RFC 6455). |       relay-raw.c | Tampon des données brutes de Relay.
|       irc/ | Proxy IRC. |       relay-remote.c | Relai distant.
|          relay-irc.c | Fonctions principales pour le proxy IRC. |       relay-server.c | Serveur Relay.
|       weechat/ | Relai pour les interfaces distantes. |       relay-upgrade.c | Sauvegarde/restauration des données Relay lors de la mise à jour de WeeChat.
|          relay-weechat.c | Relai pour les interfaces distantes (fonctions principales). |       relay-websocket.c | Fonctions pour le serveur WebSocket (RFC 6455).
|          relay-weechat-msg.c | Envoi de messages binaires aux clients. |       api/ | Relai pour les interfaces distantes (en utilisant une API REST HTTP).
|          relay-weechat-nicklist.c | Fonctions pour la liste de pseudos. |          relay-api.c | Fonctions principales pour l'API REST HTTP.
|          relay-weechat-protocol.c | Lecture des commandes des clients. |          relay-api-msg.c | Envoi de messages JSON aux clients.
|    ruby/ | Extension Ruby. |          relay-api-protocol.c | Protocole HTTP REST API.
|       weechat-ruby.c | Fonctions principales pour Ruby (chargement/déchargement des scripts, exécution de code Ruby). |          remote/ | Relai distant.
|       weechat-ruby-api.c | Fonctions de l'API script Ruby. |             relay-remote-event.c | Traitement des évènements reçus du relai distant.
|    script/ | Gestionnaire de scripts. |             relay-remote-network.c | Fonctions réseau pour le relai distant.
|       script.c | Fonctions principales du gestionnaire de scripts. |       irc/ | Proxy IRC.
|       script-action.c | Actions sur les scripts (chargement/déchargement, installation/suppression, ...). |          relay-irc.c | Fonctions principales pour le proxy IRC.
|       script-buffer.c | Tampon pour le gestionnaire de scripts. |       weechat/ | Relai pour les interfaces distantes (en utilisant le protocole binaire "weechat").
|       script-command.c | Commandes pour le gestionnaire de scripts. |          relay-weechat.c | Relai pour les interfaces distantes (fonctions principales).
|       script-completion.c | Complétions pour le gestionnaire de scripts. |          relay-weechat-msg.c | Envoi de messages binaires aux clients.
|       script-config.c | Options de configuration pour le gestionnaire de scripts (fichier script.conf). |          relay-weechat-nicklist.c | Fonctions pour la liste de pseudos.
|       script-info.c | Info/infolists/hdata pour le gestionnaire de scripts. |          relay-weechat-protocol.c | Lecture des commandes des clients.
|       script-mouse.c | Actions souris pour le gestionnaire de scripts. |    ruby/ | Extension Ruby.
|       script-repo.c | Téléchargement et lecture du dépôt de scripts. |       weechat-ruby.c | Fonctions principales pour Ruby (chargement/déchargement des scripts, exécution de code Ruby).
|    tcl/ | Extension Tcl. |       weechat-ruby-api.c | Fonctions de l'API script Ruby.
|       weechat-tcl.c | Fonctions principales pour Tcl (chargement/déchargement des scripts, exécution de code Tcl). |    script/ | Gestionnaire de scripts.
|       weechat-tcl-api.c | Fonctions de l'API script Tcl. |       script.c | Fonctions principales du gestionnaire de scripts.
|    trigger/ | Extension Trigger. |       script-action.c | Actions sur les scripts (chargement/déchargement, installation/suppression, ...).
|       trigger.c | Fonctions principales de Trigger. |       script-buffer.c | Tampon pour le gestionnaire de scripts.
|       trigger-buffer.c | Tampon Trigger. |       script-command.c | Commandes pour le gestionnaire de scripts.
|       trigger-callback.c | Fonctions de rappel de Trigger. |       script-completion.c | Complétions pour le gestionnaire de scripts.
|       trigger-command.c | Commandes pour Trigger. |       script-config.c | Options de configuration pour le gestionnaire de scripts (fichier script.conf).
|       trigger-completion.c | Complétions pour Trigger. |       script-info.c | Info/infolists/hdata pour le gestionnaire de scripts.
|       trigger-config.c | Options de configuration pour Trigger (fichier trigger.conf). |       script-mouse.c | Actions souris pour le gestionnaire de scripts.
|    typing/ | Extension Typing. |       script-repo.c | Téléchargement et lecture du dépôt de scripts.
|       typing.c | Fonctions principales de Typing. |    tcl/ | Extension Tcl.
|       typing-bar-item.c | Objets de barre Typing. |       weechat-tcl.c | Fonctions principales pour Tcl (chargement/déchargement des scripts, exécution de code Tcl).
|       typing-config.c | Options de configuration pour Typing (fichier typing.conf). |       weechat-tcl-api.c | Fonctions de l'API script Tcl.
|       typing-status.c | Statut d'écriture de messages sur les tampons. |    trigger/ | Extension Trigger.
|    xfer/ | Extension Xfer (IRC DCC fichier/discussion). |       trigger.c | Fonctions principales de Trigger.
|       xfer.c | Fonctions principales de Xfer. |       trigger-buffer.c | Tampon Trigger.
|       xfer-buffer.c | Tampon Xfer. |       trigger-callback.c | Fonctions de rappel de Trigger.
|       xfer-chat.c | Discussion DCC. |       trigger-command.c | Commandes pour Trigger.
|       xfer-command.c | Commandes pour Xfer. |       trigger-completion.c | Complétions pour Trigger.
|       xfer-completion.c | Complétions pour Xfer. |       trigger-config.c | Options de configuration pour Trigger (fichier trigger.conf).
|       xfer-config.c | Options de configuration pour Xfer (fichier xfer.conf). |    typing/ | Extension Typing.
|       xfer-dcc.c | Transfert de fichier par DCC. |       typing.c | Fonctions principales de Typing.
|       xfer-file.c | Fonctions pour les fichiers dans Xfer. |       typing-bar-item.c | Objets de barre Typing.
|       xfer-info.c | Info/infolists/hdata pour Xfer. |       typing-config.c | Options de configuration pour Typing (fichier typing.conf).
|       xfer-network.c | Fonctions réseau pour Xfer. |       typing-status.c | Statut d'écriture de messages sur les tampons.
|       xfer-upgrade.c | Sauvegarde/restauration des données Xfer lors de la mise à jour de WeeChat. |    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]] [[sources_tests]]
@@ -389,81 +402,119 @@ Le cœur de WeeChat est situé dans les répertoires suivants :
[width="100%",cols="2m,3",options="header"] [width="100%",cols="2m,3",options="header"]
|=== |===
| Chemin/fichier | Description | Chemin/fichier | Description
| tests/ | Racine des tests. | tests/ | Racine des tests.
|    tests.cpp | Programme utilisé pour lancer tous les tests. |    tests.cpp | Programme utilisé pour lancer tous les tests.
|    tests-record.cpp | Enregistrement et recherche dans les messages affichés. |    tests-record.cpp | Enregistrement et recherche dans les messages affichés.
|    scripts/ | Racine des tests de l'API script. |    scripts/ | Racine des tests de l'API script.
|       test-scripts.cpp | Programme utilisé pour lancer les 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. |       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. |          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. |          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. |          unparse.py | Conversion de code Python vers d'autres langages, utilisé par le script testapigen.py.
|    unit/ | Racine des tests unitaires. |    unit/ | Racine des tests unitaires.
|       test-plugins.cpp | Tests : extensions. |       test-plugins.cpp | Tests : extensions.
|       core/ | Racine des tests unitaires pour le cœur. |       test-plugin-api-info.cpp | Tests : fonctions info de l'API extension.
|          test-core-arraylist.cpp | Tests : listes avec tableau (« arraylists »). |       test-plugin-config.cpp | Tests : fonctions config de l'extension.
|          test-core-calc.cpp | Tests : calcul d'expressions. |       core/ | Racine des tests unitaires pour le cœur.
|          test-core-command.cpp | Tests : commandes. |          test-core-arraylist.cpp | Tests : listes avec tableau (« arraylists »).
|          test-core-config-file.cpp | Tests : fichiers de configuration. |          test-core-calc.cpp | Tests : calcul d'expressions.
|          test-core-crypto.cpp | Tests : fonctions cryptographiques. |          test-core-command.cpp | Tests : commandes.
|          test-core-dir.cpp | Tests : répertoires/fichiers. |          test-core-config-file.cpp | Tests : fichiers de configuration.
|          test-core-eval.cpp | Tests : évaluation d'expressions. |          test-core-crypto.cpp | Tests : fonctions cryptographiques.
|          test-core-hashtble.cpp | Tests : tables de hachage. |          test-core-dir.cpp | Tests : répertoires/fichiers.
|          test-core-hdata.cpp | Tests : hdata. |          test-core-eval.cpp | Tests : évaluation d'expressions.
|          test-core-hook.cpp | Tests : hooks. |          test-core-hashtble.cpp | Tests : tables de hachage.
|          test-core-infolist.cpp | Tests : infolists. |          test-core-hdata.cpp | Tests : hdata.
|          test-core-list.cpp | Tests : listes. |          test-core-hook.cpp | Tests : hooks.
|          test-core-network.cpp | Tests : fonctions réseau. |          test-core-infolist.cpp | Tests : infolists.
|          test-core-secure.cpp | Tests : données sécurisées. |          test-core-list.cpp | Tests : listes.
|          test-core-signal.cpp | Tests : signaux. |          test-core-network.cpp | Tests : fonctions réseau.
|          test-core-string.cpp | Tests : chaînes. |          test-core-secure.cpp | Tests : données sécurisées.
|          test-core-url.cpp | Tests : URLs. |          test-core-signal.cpp | Tests : signaux.
|          test-core-utf8.cpp | Tests : UTF-8. |          test-core-string.cpp | Tests : chaînes.
|          test-core-util.cpp | Tests : fonctions utiles. |          test-core-url.cpp | Tests : URLs.
|       gui/ | Racine des tests unitaires pour les interfaces. |          test-core-utf8.cpp | Tests : UTF-8.
|          test-gui-bar-window.cpp | Tests : fonctions de fenêtres de barre. |          test-core-util.cpp | Tests : fonctions utiles.
|          test-gui-buffer.cpp | Tests : fonctions de tampons. |          test-core-sys.cpp | Tests : fonctions système.
|          test-gui-chat.cpp | Tests : fonctions de discussion. |          hook/ | Racine des tests pour les hooks.
|          test-gui-color.cpp | Tests : couleurs. |             test-hook-command.cpp | Tests : hooks "command".
|          test-gui-filter.cpp | Tests : filtres. |             test-hook-command-run.cpp | Tests: hooks "command_run".
|          test-gui-input.cpp | Tests : fonctions d'entrée. |             test-hook-completion.cpp | Tests: hooks "completion".
|          test-gui-key.cpp | Tests : touches. |             test-hook-config.cpp | Tests: hooks "config".
|          test-gui-line.cpp | Tests : lignes. |             test-hook-connect.cpp | Tests: hooks "connect".
|          test-gui-nick.cpp | Tests : pseudos. |             test-hook-fd.cpp | Tests: hooks "fd".
|       plugins/ | Racine des tests unitaires pour les extensions. |             test-hook-focus.cpp | Tests: hooks "focus".
|          irc/ | Racine des tests unitaires pour l'extension IRC. |             test-hook-hdata.cpp | Tests: hooks "hdata".
|             test-irc-batch.cpp | Tests : évènements batch IRC. |             test-hook-hsignal.cpp | Tests: hooks "hsignal".
|             test-irc-buffer.cpp | Tests : tampons IRC. |             test-hook-info-hashtable.cpp | Tests: hooks "info_hashtable".
|             test-irc-channel.cpp | Tests : canaux IRC. |             test-hook-info.cpp | Tests: hooks "info".
|             test-irc-color.cpp | Tests : couleurs IRC. |             test-hook-infolist.cpp | Tests: hooks "infolist".
|             test-irc-config.cpp | Tests : configuration IRC. |             test-hook-line.cpp | Tests: hooks "line".
|             test-irc-ignore.cpp | Tests : ignores IRC. |             test-hook-modifier.cpp | Tests : hooks "modifier".
|             test-irc-join.cpp | Tests : fonctions de join IRC. |             test-hook-print.cpp | Tests: hooks "print".
|             test-irc-message.cpp | Tests : messages IRC. |             test-hook-process.cpp | Tests: hooks "process".
|             test-irc-mode.cpp | Tests : modes IRC. |             test-hook-signal.cpp | Tests: hooks "signal".
|             test-irc-nick.cpp | Tests : pseudos IRC. |             test-hook-timer.cpp | Tests: hooks "timer".
|             test-irc-protocol.cpp | Tests : protocole IRC. |             test-hook-url.cpp | Tests: hooks "url".
|             test-irc-sasl.cpp | Tests : authentification SASL avec le protocole IRC. |       gui/ | Racine des tests unitaires pour les interfaces.
|             test-irc-server.cpp | Tests : serveur IRC. |          test-gui-bar-window.cpp | Tests : fonctions de fenêtres de barre.
|             test-irc-tag.cpp | Tests : étiquettes des messages IRC. |          test-gui-buffer.cpp | Tests : fonctions de tampons.
|          logger/ | Racine des tests unitaires pour l'extension logger. |          test-gui-chat.cpp | Tests : fonctions de discussion.
|             test-logger.cpp | Tests : logger. |          test-gui-color.cpp | Tests : couleurs.
|             test-logger-backlog.cpp | Tests : backlog logger. |          test-gui-filter.cpp | Tests : filtres.
|             test-logger-tail.cpp | Tests : fonctions "tail". |          test-gui-hotlist.cpp | Tests : fonctions hotlist.
|          trigger/ | Racine des tests unitaires pour l'extension trigger. |          test-gui-input.cpp | Tests : fonctions d'entrée.
|             test-trigger.cpp | Tests : triggers. |          test-gui-key.cpp | Tests : touches.
|             test-trigger-config.cpp | Tests : configuration trigger. |          test-gui-line.cpp | Tests : lignes.
|          typing/ | Racine des tests unitaires pour l'extension typing. |          test-gui-nick.cpp | Tests : pseudos.
|             test-typing.cpp | Tests : typing. |          test-gui-nicklist.cpp | Tests : fonctions de liste de pseudos.
|             test-typing-status.cpp | Tests : statut d'écriture. |          curses/ | Racine des tests unitaires pour l'interface Curses.
|          relay/ | Racine des tests unitaires pour l'extension Relay. |             test-gui-curses-mouse.cpp | Tests : souris (interface Curses).
|             test-relay-auth.cpp | Tests : authentification des clients. |       plugins/ | Racine des tests unitaires pour les extensions.
|             irc/ | Racine des tests unitaires pour le protocole relay "irc". |          irc/ | Racine des tests unitaires pour l'extension IRC.
|                test-relay-irc.cpp | Tests : Protocole relay "irc". |             test-irc-batch.cpp | Tests : évènements batch IRC.
|          xfer/ | Racine des tests unitaires pour l'extension Xfer. |             test-irc-buffer.cpp | Tests : tampons IRC.
|             test-xfer-file.cpp | Tests : fonctions sur les fichiers. |             test-irc-channel.cpp | Tests : canaux IRC.
|             test-xfer-network.cpp | Tests : fonctions réseau. |             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]] [[documentation_translations]]
@@ -523,7 +574,7 @@ Exemple en C :
/* /*
* weechat.c - core functions for 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. * This file is part of WeeChat, the extensible chat client.
* *
@@ -547,8 +598,7 @@ Exemple en C :
Quelques règles basiques que vous *devez* suivre quand vous écrivez du code C : 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 * Utilisez 4 espaces pour l'indentation (pas de tabulations).
mal.
* Essayez de ne pas dépasser 80 caractères par ligne, sauf si cela est * Essayez de ne pas dépasser 80 caractères par ligne, sauf si cela est
nécessaire pour améliorer la lisibilité. nécessaire pour améliorer la lisibilité.
* Utilisez les commentaires `+/* comment */+` (pas de style C99 comme * Utilisez les commentaires `+/* comment */+` (pas de style C99 comme
@@ -770,7 +820,7 @@ Exemples :
[width="100%",cols="2m,3",options="header"] [width="100%",cols="2m,3",options="header"]
|=== |===
| Répertoire | Fichiers | 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/ | 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/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, ... | src/plugins/ | plugin.c, plugin-api.c, plugin-api-info.c, plugin-config.c, plugin-script.c, ...
@@ -779,7 +829,7 @@ Exemples :
|=== |===
Les en-têtes des fichiers C doivent avoir le même nom que le fichier, par 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]] [[naming_convention_structures]]
==== Structures ==== Structures
+81 -24
View File
@@ -601,6 +601,34 @@ Si vous utilisez l'application Terminal sous macOS, activez l'option
"Use option as meta key" dans le menu Réglages/Clavier. Vous pouvez alors "Use option as meta key" dans le menu Réglages/Clavier. Vous pouvez alors
utiliser la touche kbd:[Option] comme touche meta. utiliser la touche kbd:[Option] comme touche meta.
[[enter_key]]
=== Quelques touches comme Entrée ne fonctionnent pas, pourquoi ?
Si vous lancez WeeChat < 4.0.0 avec des fichiers de configuration créés par toute
version ≥ 4.0.0, les noms des touches sont invalides et de nombreuses touches
ne fonctionneront plus. +
Pour les réparer, quittez WeeChat, supprimez toutes les sections `[key*]` de
weechat.conf et démarrez WeeChat à nouveau : toutes les touches par défaut
seront recréées.
[[key_f11]]
=== La touche F11 maximise la fenêtre du terminal, comment puis-je faire défiler la liste de pseudos vers le haut ?
La touche kbd:[F11] est fréquemment utilisée par les terminaux pour maximiser
la fenêtre, et kbd:[F11]/kbd:[F12] sont les touches par défaut dans WeeChat
pour faire défiler la liste des pseudos.
Vous pouvez associer d'autres touches, par exemple kbd:[Shift+F11] et kbd:[Shift+F12],
avec WeeChat ≥ 4.0.0 :
----
/key bind shift-f11 /bar scroll nicklist * -100%
/key bind shift-f12 /bar scroll nicklist * +100%
----
Une autre solution est d'activer la souris (touche : kbd:[Alt+m]) et faire défiler
avec la roulette de la souris (voir aussi les questions sur la <<mouse,souris>>).
[[customize_key_bindings]] [[customize_key_bindings]]
=== Comment puis-je configurer les raccourcis clavier ? === Comment puis-je configurer les raccourcis clavier ?
@@ -631,6 +659,12 @@ et utiliser les commandes comme `/123` pour sauter au tampon n°123 :
/trigger add numberjump modifier "2000|input_text_for_buffer" "${tg_string} =~ ^/[0-9]+$" "=\/([0-9]+)=/buffer *${re:1}=" "" "" "none" /trigger add numberjump modifier "2000|input_text_for_buffer" "${tg_string} =~ ^/[0-9]+$" "=\/([0-9]+)=/buffer *${re:1}=" "" "" "none"
---- ----
Pour un saut facile vers les tampons, vous pouvez aussi installer le script _go.py_ :
----
/script install go.py
----
[[global_history]] [[global_history]]
=== Comment utiliser l'historique global (au lieu de l'historique du tampon) avec les touches haut et bas ? === Comment utiliser l'historique global (au lieu de l'historique du tampon) avec les touches haut et bas ?
@@ -949,35 +983,20 @@ link:weechat_user.fr.html#max_hotlist_level_nicks[hotlist_max_level_nicks_add ^
pour définir le niveau maximum de hotlist pour certains pseudos, par tampon, pour définir le niveau maximum de hotlist pour certains pseudos, par tampon,
ou groupe de tampons (comme des serveurs IRC). ou groupe de tampons (comme des serveurs IRC).
Pour désactiver seulement les highlights, vous pouvez positionner la valeur à 2 : Pour désactiver seulement les highlights, vous pouvez positionner la valeur à 2.
Pour le tampon courant :
---- ----
/buffer set hotlist_max_level_nicks_add joe:2,mike:2 /buffer setauto hotlist_max_level_nicks_add joe:2,mike:2
---- ----
Cependant, cette propriété de tampon n'est pas sauvegardée dans la configuration. Pour tous les canaux sur le serveur "libera":
Pour automatiquement réappliquer ces propriétés de tampons, vous aurez besoin
du script _buffer_autoset.py_ :
---- ----
/script install buffer_autoset.py /set weechat.buffer.irc.libera.*.hotlist_max_level_nicks_add joe:2,mike:2
---- ----
Par exemple, pour désactiver de manière permanente les highlights de "mike" sur
#weechat sur le serveur IRC libera :
----
/buffer_autoset add irc.libera.#weechat hotlist_max_level_nicks_add mike:2
----
Pour l'appliquer à l'ensemble du serveur libera :
----
/buffer_autoset add irc.libera hotlist_max_level_nicks_add mike:2
----
Pour plus d'exemples, voir `+/help buffer_autoset+`.
[[irc_target_buffer]] [[irc_target_buffer]]
=== Comment puis-je changer le serveur cible pour les commandes avec des tampons mélangés (comme le tampon avec les serveurs) ? === Comment puis-je changer le serveur cible pour les commandes avec des tampons mélangés (comme le tampon avec les serveurs) ?
@@ -1114,7 +1133,8 @@ Vous pouvez essayer les astuces suivantes pour consommer moins de mémoire :
Vous pouvez suivre les mêmes astuces que pour la <<memory_usage,mémoire>>, et Vous pouvez suivre les mêmes astuces que pour la <<memory_usage,mémoire>>, et
celles-ci : celles-ci :
* Cacher la barre "nicklist" : `/bar hide nicklist`. * Cacher la barre "nicklist" : `/bar hide nicklist` (touche : kbd:[Alt+Shift+N]).
* Désactiver "buflist" : `/buflist disable` (touche : kbd:[Alt+Shift+B]).
* Supprimer l'affichage des secondes dans l'heure de la barre de statut : * Supprimer l'affichage des secondes dans l'heure de la barre de statut :
`+/set weechat.look.item_time_format "%H:%M"+` (ceci est la valeur par défaut). `+/set weechat.look.item_time_format "%H:%M"+` (ceci est la valeur par défaut).
* Désactiver la vérification en temps réel des mots mal orthographiés dans la * Désactiver la vérification en temps réel des mots mal orthographiés dans la
@@ -1136,14 +1156,20 @@ Désactivez les réponses à toutes les demandes CTCP :
---- ----
/set irc.ctcp.clientinfo "" /set irc.ctcp.clientinfo ""
/set irc.ctcp.finger ""
/set irc.ctcp.source "" /set irc.ctcp.source ""
/set irc.ctcp.time "" /set irc.ctcp.time ""
/set irc.ctcp.userinfo ""
/set irc.ctcp.version "" /set irc.ctcp.version ""
/set irc.ctcp.ping "" /set irc.ctcp.ping ""
---- ----
Avec WeeChat < 4.1.0, d'autres demandes CTCP étaient répondues par défaut et
doivent être désactivées également :
----
/set irc.ctcp.finger ""
/set irc.ctcp.userinfo ""
----
Déchargez et désactivez le chargement automatique de l'extension "xfer" Déchargez et désactivez le chargement automatique de l'extension "xfer"
(utilisée pour le DCC IRC) : (utilisée pour le DCC IRC) :
@@ -1182,6 +1208,37 @@ des mots de passes (s'ils ne sont pas stockés dans _sec.conf_ avec la commande
Voir le link:weechat_user.fr.html#files_and_directories[Guide utilisateur / Fichiers et répertoires ^↗^^] Voir le link:weechat_user.fr.html#files_and_directories[Guide utilisateur / Fichiers et répertoires ^↗^^]
pour plus d'informations sur les fichiers de configuration. pour plus d'informations sur les fichiers de configuration.
[[move_to_another_device]]
=== Je souhaite déplacer mon WeeChat vers une autre machine et garder ma configuration, que dois-je copier ?
Premièrement, vérifiez les répertoires utilisés par WeeChat avec cette commande :
`/debug dirs`. +
Les répertoires home/config et home/data doivent être copiés (tous les fichiers
et sous-répertoires).
Par exemple si vous utilisez les répertoires XDG (par défaut avec WeeChat ≥ 3.2),
les répertoires devraient être `$HOME/.config/weechat` et `$HOME/.local/share/weechat`. +
Si vous utilisez un répertoire unique (par défaut avec WeeChat < 3.2), le répertoire
devrait être `$HOME/.weechat`.
[IMPORTANT]
La version de WeeChat sur la nouvelle machine doit être supérieure ou égale
à celle de la machine initiale. +
La rétrogradation de la configuration n'est *PAS SUPPORTÉE* et pourrait la casser,
rendant WeeChat inutilisable.
Étapes :
. Quitter Weechat : `/quit` (ou `/upgrade -quit` si vous souhaitez restaurer
la session, qui inclut le contenu de tous les tampons).
. Copier tous les répertoires, fichiers et sous-répertoires vers la nouvelle machine
au même endroit, en préservant les noms et les permissions.
. Facultatif : copier tout fichier en dehors de ces répertoires que vous référencez
dans votre configuration (il n'est pas recommandé d'utiliser des fichiers en
dehors des répertoires WeeChat).
. Démarrer WeeChat sur la nouvelle machine : `weechat` (ou `weechat --upgrade`
si vous avez sauvé la session).
[[development]] [[development]]
== Développement == Développement
File diff suppressed because it is too large Load Diff
+26 -10
View File
@@ -503,7 +503,9 @@ hda:
'buffer': 'ptr', 'buffer': 'ptr',
'y': 'int', 'y': 'int',
'date': 'tim', 'date': 'tim',
'date_usec': 'int',
'date_printed': 'tim', 'date_printed': 'tim',
'date_usec_printed': 'int',
'str_time': 'str', 'str_time': 'str',
'tags_count': 'int', 'tags_count': 'int',
'tags_array': 'arr', 'tags_array': 'arr',
@@ -521,7 +523,9 @@ hda:
buffer: '0x558d61ea3e60' buffer: '0x558d61ea3e60'
y: -1 y: -1
date: 1588404926 date: 1588404926
date_usec: 118712
date_printed: 1588404926 date_printed: 1588404926
date_usec_printed: 118712
str_time: 'F@0025209F@0024535F@0024026' str_time: 'F@0025209F@0024535F@0024026'
tags_count: 0 tags_count: 0
tags_array: [] tags_array: []
@@ -537,7 +541,9 @@ hda:
buffer: '0x558d61ea3e60' buffer: '0x558d61ea3e60'
y: -1 y: -1
date: 1588404930 date: 1588404930
date_usec: 25
date_printed: 1588404930 date_printed: 1588404930
date_usec_printed: 25
str_time: 'F@0025209F@0024535F@0024030' str_time: 'F@0025209F@0024535F@0024030'
tags_count: 0 tags_count: 0
tags_array: [] tags_array: []
@@ -717,6 +723,7 @@ inl:
nicklist_visible_count: 0 nicklist_visible_count: 0
title: 'WeeChat 2.9-dev (C) 2003-2020 - https://weechat.org/' title: 'WeeChat 2.9-dev (C) 2003-2020 - https://weechat.org/'
input: 1 input: 1
input_get_any_user_data: 0
input_get_unknown_commands: 0 input_get_unknown_commands: 0
input_get_empty: 0 input_get_empty: 0
input_multiline: 0 input_multiline: 0
@@ -728,11 +735,14 @@ inl:
input_buffer_1st_display: 0 input_buffer_1st_display: 0
num_history: 0 num_history: 0
text_search: 0 text_search: 0
text_search_direction: 0
text_search_exact: 0 text_search_exact: 0
text_search_regex: 0 text_search_regex: 0
text_search_regex_compiled: '0x0' text_search_regex_compiled: '0x0'
text_search_where: 0 text_search_where: 0
text_search_history: 0
text_search_found: 0 text_search_found: 0
text_search_ptr_history: '0x0'
text_search_input: None text_search_input: None
highlight_words: None highlight_words: None
highlight_disable_regex: None highlight_disable_regex: None
@@ -2075,16 +2085,18 @@ Données envoyées dans le hdata :
[width="100%",cols="3m,2,10",options="header"] [width="100%",cols="3m,2,10",options="header"]
|=== |===
| Nom | Type | Description | Nom | Type | Description
| buffer | pointeur | Pointeur vers le tampon. | buffer | pointeur | Pointeur vers le tampon.
| date | date/heure | Date du message. | date | date/heure | Date du message.
| date_printed | date/heure | Date d'affichage du message. | date_usec | entier | Microsecondes de la date.
| displayed | caractère | 1 si le message est affiché, 0 si le message est filtré (caché). | date_printed | date/heure | Date d'affichage du message.
| notify_level | caractère | Niveau de notification : -1 = notification désactivée, 0 = bas, 1 = message, 2 = privé, 3 = highlight. | date_usec_printed | entier | Microsecondes de la date d'affichage du message.
| highlight | caractère | 1 si la ligne a un highlight, sinon 0. | displayed | caractère | 1 si le message est affiché, 0 si le message est filtré (caché).
| tags_array | tableau de chaînes | Liste des étiquettes de la ligne. | notify_level | caractère | Niveau de notification : -1 = notification désactivée, 0 = bas, 1 = message, 2 = privé, 3 = highlight.
| prefix | chaîne | Préfixe. | highlight | caractère | 1 si la ligne a un highlight, sinon 0.
| message | chaîne | Message. | 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 Exemple : nouveau message _hello!_ du pseudo _FlashCode_ sur le tampon
@@ -2097,7 +2109,9 @@ hda:
keys: { keys: {
'buffer': 'ptr', 'buffer': 'ptr',
'date': 'tim', 'date': 'tim',
'date_usec': 'int',
'date_printed': 'tim', 'date_printed': 'tim',
'date_usec_printed': 'int',
'displayed': 'chr', 'displayed': 'chr',
'notify_level': 'chr', 'notify_level': 'chr',
'highlight': 'chr', 'highlight': 'chr',
@@ -2110,7 +2124,9 @@ hda:
__path: ['0x4a49600'] __path: ['0x4a49600']
buffer: '0x4a715d0' buffer: '0x4a715d0'
date: 1362728993 date: 1362728993
date_usec: 902765
date_printed: 1362728993 date_printed: 1362728993
date_usec_printed: 902765
displayed: 1 displayed: 1
notify_level: 1 notify_level: 1
highlight: 0 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 : Liste des fonctions de l'API script :
[width="100%",cols="1,5",options="header"] include::{autogendir}/autogen_scripting_functions.fr.adoc[tag=functions]
|===
| 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
|===
[[script_api_constants]] [[script_api_constants]]
=== Constantes === Constantes
Liste des constantes de l'API script : Liste des constantes de l'API script :
[width="100%",cols="1,5",options="header"] include::{autogendir}/autogen_scripting_constants.fr.adoc[tag=constants]
|===
| 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)
|===
[[common_tasks]] [[common_tasks]]
== Tâches courantes == Tâches courantes
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -103,7 +103,7 @@ $HOME/.local/share/weechat/weechat.log::
WeeChat is written by Sébastien Helleu and contributors (complete list is in WeeChat is written by Sébastien Helleu and contributors (complete list is in
the AUTHORS.adoc file). 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 WeeChat is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by
+82 -25
View File
@@ -644,6 +644,33 @@ If you are using the macOS Terminal app, enable the option
"Use option as meta key" in menu Settings/Keyboard. And then you can use the "Use option as meta key" in menu Settings/Keyboard. And then you can use the
kbd:[Option] key as meta key. kbd:[Option] key as meta key.
// TRANSLATION MISSING
[[enter_key]]
=== Some keys including Enter are not working, why?
If you run a WeeChat < 4.0.0 with configuration files created by any
version ≥ 4.0.0, the keys names become invalid and many keys won't work at all. +
To repair them, exit WeeChat, remove all sections `[key*]` from weechat.conf
and start WeeChat again: all default keys will be created.
// TRANSLATION MISSING
[[key_f11]]
=== Key F11 maximizes the terminal window, how can I scroll up the nicklist?
The key kbd:[F11] is commonly used by terminals to maximize the window, and
kbd:[F11]/kbd:[F12] are the default keys in WeeChat to scroll the nicklist.
You can bind other keys, for example kbd:[Shift+F11] and kbd:[Shift+F12],
with WeeChat ≥ 4.0.0:
----
/key bind shift-f11 /bar scroll nicklist * -100%
/key bind shift-f12 /bar scroll nicklist * +100%
----
Other solution is to enable mouse (key: kbd:[Alt+m]) and scroll with the mouse
wheel (see also questions about <<mouse,mouse>>).
[[customize_key_bindings]] [[customize_key_bindings]]
=== Come posso personalizzare le associazioni dei tasti? === Come posso personalizzare le associazioni dei tasti?
@@ -676,6 +703,13 @@ commands like `/123` to jump to buffer #123:
/trigger add numberjump modifier "2000|input_text_for_buffer" "${tg_string} =~ ^/[0-9]+$" "=\/([0-9]+)=/buffer *${re:1}=" "" "" "none" /trigger add numberjump modifier "2000|input_text_for_buffer" "${tg_string} =~ ^/[0-9]+$" "=\/([0-9]+)=/buffer *${re:1}=" "" "" "none"
---- ----
// TRANSLATION MISSING
For an easy jump to buffers, you can also install the _go.py_ script:
----
/script install go.py
----
[[global_history]] [[global_history]]
=== Come si può usare la cronologia globale (invece di quella del buffer) con i tasti su e giù? === Come si può usare la cronologia globale (invece di quella del buffer) con i tasti su e giù?
@@ -1005,41 +1039,25 @@ Altri script correlati:
[[disable_highlights_for_specific_nicks]] [[disable_highlights_for_specific_nicks]]
=== How can I disable highlights for specific nicks? === How can I disable highlights for specific nicks?
// TRANSLATION MISSING
You can use the You can use the
link:weechat_user.it.html#max_hotlist_level_nicks[hotlist_max_level_nicks_add ^↗^^] link:weechat_user.it.html#max_hotlist_level_nicks[hotlist_max_level_nicks_add ^↗^^]
buffer property to set the max hotlist level for some nicks, per buffer, buffer property to set the max hotlist level for some nicks, per buffer,
or per group of buffers (like IRC servers). or per group of buffers (like IRC servers).
To only disable highlights, you'd have to set it to 2: To only disable highlights, you'd have to set it to 2.
For the current buffer:
---- ----
/buffer set hotlist_max_level_nicks_add joe:2,mike:2 /buffer setauto hotlist_max_level_nicks_add joe:2,mike:2
---- ----
This buffer property isn't stored in the configuration though. For all channels on server "libera":
To automatically reapply these buffer properties, you would need the
_buffer_autoset.py_ script:
---- ----
/script install buffer_autoset.py /set weechat.buffer.irc.libera.*.hotlist_max_level_nicks_add joe:2,mike:2
---- ----
For example, to permanently disable highlights from "mike" on #weechat
on the IRC server libera:
----
/buffer_autoset add irc.libera.#weechat hotlist_max_level_nicks_add mike:2
----
To apply it to the entire libera server instead:
----
/buffer_autoset add irc.libera hotlist_max_level_nicks_add mike:2
----
For more examples, see `+/help buffer_autoset+`.
[[irc_target_buffer]] [[irc_target_buffer]]
=== Come si può modificare il buffer destinazione per i comandi sui buffer uniti (come i buffer con i server)? === Come si può modificare il buffer destinazione per i comandi sui buffer uniti (come i buffer con i server)?
@@ -1179,7 +1197,10 @@ Esistono diversi trucchi per ottimizzare l'uso della memoria:
// TRANSLATION MISSING // TRANSLATION MISSING
You can follow same tips as for <<memory_usage,memory>>, and these ones: You can follow same tips as for <<memory_usage,memory>>, and these ones:
* hide "nicklist" bar: `/bar hide nicklist` // TRANSLATION MISSING
* hide "nicklist" bar: `/bar hide nicklist` (key: kbd:[Alt+Shift+N]).
// TRANSLATION MISSING
* Disable "buflist": `/buflist disable` (key: kbd:[Alt+Shift+B]).
* remove display of seconds in status bar time: * remove display of seconds in status bar time:
`+/set weechat.look.item_time_format "%H:%M"+` (this is the default value) `+/set weechat.look.item_time_format "%H:%M"+` (this is the default value)
// TRANSLATION MISSING // TRANSLATION MISSING
@@ -1205,14 +1226,21 @@ Disable answers to all CTCP queries:
---- ----
/set irc.ctcp.clientinfo "" /set irc.ctcp.clientinfo ""
/set irc.ctcp.finger ""
/set irc.ctcp.source "" /set irc.ctcp.source ""
/set irc.ctcp.time "" /set irc.ctcp.time ""
/set irc.ctcp.userinfo ""
/set irc.ctcp.version "" /set irc.ctcp.version ""
/set irc.ctcp.ping "" /set irc.ctcp.ping ""
---- ----
// TRANSLATION MISSING
With WeeChat < 4.1.0, other CTCP queries were replied by default and must be
disabled as well:
----
/set irc.ctcp.finger ""
/set irc.ctcp.userinfo ""
----
// TRANSLATION MISSING // TRANSLATION MISSING
Unload and disable auto-loading of "xfer" plugin (used for IRC DCC): Unload and disable auto-loading of "xfer" plugin (used for IRC DCC):
@@ -1250,6 +1278,35 @@ stored in _sec.conf_ with the `/secure` command).
See the link:weechat_user.it.html#files_and_directories[User's guide / Files and directories ^↗^^] See the link:weechat_user.it.html#files_and_directories[User's guide / Files and directories ^↗^^]
for more information about configuration files. for more information about configuration files.
// TRANSLATION MISSING
[[move_to_another_device]]
=== I want to move my WeeChat to another device and keep my config, what should I copy?
First check directories used by WeeChat with this command: `/debug dirs`. +
Directories home/config and home/data must be copied (all files and sub-directories).
For example if you're using XDG directories (default with WeeChat ≥ 3.2),
the directories should be `$HOME/.config/weechat` and `$HOME/.local/share/weechat`. +
If you're using a single directory (default with WeeChat < 3.2), the directory
should be `$HOME/.weechat`.
[IMPORTANT]
The WeeChat version on the new device must be greater than or equal to the version
on the initial device. +
Downgrading WeeChat configuration is *NOT SUPPORTED* and can break it,
leading to unusable WeeChat.
Steps:
. Quit Weechat: `/quit` (or `/upgrade -quit` if you want to resume the session,
which includes content of all buffers).
. Copy all directories, sub-directories and files to the new device, keeping
same names and permissions.
. Optional: copy any file outside these directories that you refer to in your
configuration (it's not recommended to use files outside WeeChat directories).
. Start WeeChat on the new device: `weechat` (or `weechat --upgrade` if you
saved the session).
[[development]] [[development]]
== Sviluppo == Sviluppo
File diff suppressed because it is too large Load Diff
+2 -315
View File
@@ -579,327 +579,14 @@ link:weechat_plugin_api.it.html[WeeChat plugin API reference ^↗^^].
Elenco di funzioni nelle API per gli script: Elenco di funzioni nelle API per gli script:
[width="100%",cols="1,5",options="header"] include::{autogendir}/autogen_scripting_functions.it.adoc[tag=functions]
|===
| 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
|===
[[script_api_constants]] [[script_api_constants]]
=== Costanti === Costanti
Elenco di costanti nelle API per gli script: Elenco di costanti nelle API per gli script:
[width="100%",cols="1,5",options="header"] include::{autogendir}/autogen_scripting_constants.it.adoc[tag=constants]
|===
| 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)
|===
[[common_tasks]] [[common_tasks]]
== Compiti comuni == Compiti comuni
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -100,7 +100,7 @@ $HOME/.local/share/weechat/weechat.log::
WeeChat は Sébastien Helleu さんと貢献者によって作成されています WeeChat は Sébastien Helleu さんと貢献者によって作成されています
(完全なリストは AUTHORS.adoc ファイルを参照してください)。 (完全なリストは AUTHORS.adoc ファイルを参照してください)。
著作権 (C) 2003-2023 {author} 著作権 (C) 2003-2024 {author}
WeeChat はフリーソフトウェアです。あなたはこれを、フリーソフトウェア財団によって発行された WeeChat はフリーソフトウェアです。あなたはこれを、フリーソフトウェア財団によって発行された
GNU 一般公衆利用許諾契約書 (バージョン 2 か、希望によってはそれ以降のバージョンのうちどれか) GNU 一般公衆利用許諾契約書 (バージョン 2 か、希望によってはそれ以降のバージョンのうちどれか)
+445 -340
View File
@@ -119,100 +119,103 @@ WeeChat "core" は以下のディレクトリに配置されています:
[width="100%",cols="2m,3",options="header"] [width="100%",cols="2m,3",options="header"]
|=== |===
| パス/ファイル名 | 説明 | パス/ファイル名 | 説明
| core/ | コア関数: エントリポイント、内部構造体 | core/ | コア関数: エントリポイント、内部構造体
|    wee-arraylist.c | 配列リスト |    core-arraylist.c | 配列リスト
|    wee-backtrace.c | クラッシュした際にバックトレースを表示 |    core-backtrace.c | クラッシュした際にバックトレースを表示
// TRANSLATION MISSING // TRANSLATION MISSING
|    wee-calc.c | Calculate result of expressions. |    core-calc.c | Calculate result of expressions.
|    wee-command.c | WeeChat コアコマンド |    core-command.c | WeeChat コアコマンド
|    wee-completion.c | デフォルト補完 |    core-completion.c | デフォルト補完
|    wee-config-file.c | 設定ファイル管理 |    core-config-file.c | 設定ファイル管理
|    wee-config.c | WeeChat コアの設定オプション (weechat.conf ファイル) |    core-config.c | WeeChat コアの設定オプション (weechat.conf ファイル)
// TRANSLATION MISSING // TRANSLATION MISSING
|    wee-crypto.c | Cryptographic functions. |    core-crypto.c | Cryptographic functions.
|    wee-debug.c | デバッグ用関数 |    core-debug.c | デバッグ用関数
// TRANSLATION MISSING // TRANSLATION MISSING
|    wee-dir.c | Directory/file functions. |    core-dir.c | Directory/file functions.
// TRANSLATION MISSING // TRANSLATION MISSING
|    wee-doc.c | Build of files for documentation. |    core-doc.c | Build of files for documentation.
|    wee-eval.c | 内部変数へのリファレンスを含む式を評価 |    core-eval.c | 内部変数へのリファレンスを含む式を評価
|    wee-hashtable.c | ハッシュテーブル |    core-hashtable.c | ハッシュテーブル
|    wee-hdata.c | hdata (ハッシュテーブルを用いて直接データを読む) |    core-hdata.c | hdata (ハッシュテーブルを用いて直接データを読む)
|    wee-hook.c | フック |    core-hook.c | フック
|    wee-infolist.c | インフォリスト (オブジェクトに関するデータを含むリスト) |    core-infolist.c | インフォリスト (オブジェクトに関するデータを含むリスト)
|    wee-input.c | コマンドおよびテキストの入力 |    core-input.c | コマンドおよびテキストの入力
|    wee-list.c | ソート済みリスト |    core-list.c | ソート済みリスト
|    wee-log.c | WeeChat ログファイル (weechat.log) に書き込む |    core-log.c | WeeChat ログファイル (weechat.log) に書き込む
|    wee-network.c | ネットワーク関数 (サーバやプロキシへの接続) |    core-network.c | ネットワーク関数 (サーバやプロキシへの接続)
|    wee-proxy.c | プロキシ管理 |    core-proxy.c | プロキシ管理
|    wee-secure.c | データ保護用の関数 |    core-secure.c | データ保護用の関数
|    wee-secure-buffer.c | データ保護用のバッファ |    core-secure-buffer.c | データ保護用のバッファ
|    wee-secure-config.c | 安全なデータオプション (sec.conf ファイル) |    core-secure-config.c | 安全なデータオプション (sec.conf ファイル)
// TRANSLATION MISSING // TRANSLATION MISSING
|    wee-signal.c | Signal functions. |    core-signal.c | Signal functions.
|    wee-string.c | 文字列関数 |    core-string.c | 文字列関数
|    wee-upgrade-file.c | 内部アップグレードシステム // TRANSLATION MISSING
|    wee-upgrade.c | WeeChat コアのアップグレード (バッファ、行、履歴、...) |    core-sys.c | System functions.
|    wee-url.c | URL 転送 (libcurl を使う) |    core-upgrade-file.c | 内部アップグレードシステム
|    wee-utf8.c | UTF-8 関数 |    core-upgrade.c | WeeChat コアのアップグレード (バッファ、行、履歴、...)
|    wee-util.c | その他の関数 |    core-url.c | URL 転送 (libcurl を使う)
|    wee-version.c | WeeChat バージョンについての関数 |    core-utf8.c | UTF-8 関数
|    weechat.c | 主要関数: コマンドラインオプション、起動 |    core-util.c | その他の関数
|    hook/ | フック関数 |    core-version.c | WeeChat バージョンについての関数
|       wee-hook-command-run.c | "command_run" フック |    weechat.c | 主要関数: コマンドラインオプション、起動
|       wee-hook-command.c | "command" フック |    hook/ | フック関数
|       wee-hook-completion.c | "completion" フック |       hook-command-run.c | "command_run" フック
|       wee-hook-config.c | "config" フック |       hook-command.c | "command" フック
|       wee-hook-connect.c | "connect" フック |       hook-completion.c | "completion" フック
|       wee-hook-fd.c | "fd" フック |       hook-config.c | "config" フック
|       wee-hook-focus.c | "focus" フック |       hook-connect.c | "connect" フック
|       wee-hook-hdata.c | "hdata" フック |       hook-fd.c | "fd" フック
|       wee-hook-hsignal.c | "hsignal" フック |       hook-focus.c | "focus" フック
|       wee-hook-info-hashtable.c | "info_hashtable" フック |       hook-hdata.c | "hdata" フック
|       wee-hook-info.c | "info" フック |       hook-hsignal.c | "hsignal" フック
|       wee-hook-infolist.c | "infolist" フック |       hook-info-hashtable.c | "info_hashtable" フック
|       wee-hook-line.c | "line" フック |       hook-info.c | "info" フック
|       wee-hook-modifier.c | "modifier" フック |       hook-infolist.c | "infolist" フック
|       wee-hook-print.c | "print" フック |       hook-line.c | "line" フック
|       wee-hook-process.c | "process" フック |       hook-modifier.c | "modifier" フック
|       wee-hook-signal.c | "signal" フック |       hook-print.c | "print" フック
|       wee-hook-timer.c | "timer" フック |       hook-process.c | "process" フック
| gui/ | バッファ、ウィンドウなどの関数 (全てのインターフェースで利用) |       hook-signal.c | "signal" フック
|    gui-bar-item.c | バー要素 |       hook-timer.c | "timer" フック
|    gui-bar-window.c | バーウィンドウ |       hook-url.c | "url" フック
|    gui-bar.c | バ | gui/ | バッファ、ウィンドウなどの関数 (全てのインターフェースで利用)
|    gui-buffer.c | バッファ |    gui-bar-item.c | バー要素
|    gui-chat.c | チャット関数 (メッセージの表示、...) |    gui-bar-window.c | バーウィンドウ
|    gui-color.c | 色関数 |    gui-bar.c | バー
|    gui-completion.c | コマンドラインの補完 |    gui-buffer.c | バッファ
|    gui-cursor.c | カーソルモード (カーソルを自由に移動) |    gui-chat.c | チャット関数 (メッセージの表示、...)
|    gui-filter.c | フィルタ |    gui-color.c | 色関数
|    gui-focus.c | フォーカスについての関数 (カーソルモードとマウス用) |    gui-completion.c | コマンドラインの補完
|    gui-history.c | コマンドおよびバッファに保存されたテキスト |    gui-cursor.c | カーソルモード (カーソルを自由に移動)
|    gui-hotlist.c | ホットリスト管理 (活発なバッファのリスト) |    gui-filter.c | フィルタ
|    gui-input.c | 入力関数 (入力バー) |    gui-focus.c | フォーカスについての関数 (カーソルモードとマウス用)
|    gui-key.c | キーボード関数 |    gui-history.c | コマンドおよびバッファに保存されたテキスト
|    gui-layout.c | レイアウト |    gui-hotlist.c | ホットリスト管理 (活発なバッファのリスト)
|    gui-line.c | バッファ中の行 |    gui-input.c | 入力関数 (入力バー)
|    gui-mouse.c | マウス |    gui-key.c | キーボード関数
|    gui-nick.c | ニックネーム関数 |    gui-layout.c | レイアウト
|    gui-nicklist.c | バッファのニックネームリスト |    gui-line.c | バッファ中の行
|    gui-window.c | ウィンドウ |    gui-mouse.c | マウス
|    curses/ | curses インターフェース |    gui-nick.c | ニックネーム関数
|       gui-curses-bar-window.c | バーウィンドウへの表示 |    gui-nicklist.c | バッファのニックネームリスト
|       gui-curses-chat.c | チャットエリアへの表示 (メッセージ) |    gui-window.c | ウィンドウ
|       gui-curses-color.c | 色関数 |    curses/ | curses インターフェース
|       gui-curses-key.c | キーボード関数 (デフォルトキー、入力の読み取り) |       gui-curses-bar-window.c | バーウィンドウへの表示
|       gui-curses-main.c | WeeChat メインループ (キーボードやネットワークイベントの待ち受け) |       gui-curses-chat.c | チャットエリアへの表示 (メッセージ)
|       gui-curses-mouse.c | マウス |       gui-curses-color.c | 色関数
|       gui-curses-term.c | 端末についての関数 |       gui-curses-key.c | キーボード関数 (デフォルトキー、入力の読み取り)
|       gui-curses-window.c | ウィンドウ |       gui-curses-main.c | WeeChat メインループ (キーボードやネットワークイベントの待ち受け)
|       headless/ | ヘッドレスモード (インターフェースなし) |       gui-curses-mouse.c | マウス
|          main.c | ヘッドレスモード用のエントリポイント |       gui-curses-term.c | 端末についての関数
|          ncurses-fake.c | ダミーの ncurses ライブラリ |       gui-curses-window.c | ウィンドウ
|       normal/ | curses インターフェース |       headless/ | ヘッドレスモード (インターフェースなし)
|          main.c | curses インターフェース用のエントリポイント |          main.c | ヘッドレスモード用のエントリポイント
|          ncurses-fake.c | ダミーの ncurses ライブラリ
|       normal/ | curses インターフェース
|          main.c | curses インターフェース用のエントリポイント
|=== |===
[[sources_plugins]] [[sources_plugins]]
@@ -220,189 +223,213 @@ WeeChat "core" は以下のディレクトリに配置されています:
[width="100%",cols="2m,3",options="header"] [width="100%",cols="2m,3",options="header"]
|=== |===
| パス/ファイル名 | 説明 | パス/ファイル名 | 説明
| plugins/ | プラグインのルートディレクトリ | plugins/ | プラグインのルートディレクトリ
|    plugin.c | プラグイン管理 (動的 C 言語ライブラリのロード/アンロード) |    plugin.c | プラグイン管理 (動的 C 言語ライブラリのロード/アンロード)
|    plugin-api.c | プラグイン API の追加関数 (WeeChat コア関数のラッパー) |    plugin-api.c | プラグイン API の追加関数 (WeeChat コア関数のラッパー)
|    plugin-api-info.c | プラグイン API 用のインフォ/インフォリストに関する追加関数 |    plugin-api-info.c | プラグイン API 用のインフォ/インフォリストに関する追加関数
|    plugin-config.c | プラグイン設定オプション (plugins.conf ファイル) |    plugin-config.c | プラグイン設定オプション (plugins.conf ファイル)
|    plugin-script.c | スクリプトプラグインの共用関数 |    plugin-script.c | スクリプトプラグインの共用関数
|    plugin-script-api.c | スクリプト API 関数: 一部のプラグイン API 関数のラッパー |    plugin-script-api.c | スクリプト API 関数: 一部のプラグイン API 関数のラッパー
|    plugin-script-config.c | スクリプトプラグインの設定オプション (python.conf、perl.conf 等のファイル) |    plugin-script-config.c | スクリプトプラグインの設定オプション (python.conf、perl.conf 等のファイル)
|    weechat-plugin.h | WeeChat プラグインと一緒に配布されるヘッダファイル、プラグインのコンパイルに必要 |    weechat-plugin.h | WeeChat プラグインと一緒に配布されるヘッダファイル、プラグインのコンパイルに必要
|    alias/ | alias プラグイン |    alias/ | alias プラグイン
|       alias.c | alias の主要関数 |       alias.c | alias の主要関数
|       alias-command.c | alias コマンド |       alias-command.c | alias コマンド
|       alias-completion.c | alias 補完 |       alias-completion.c | alias 補完
|       alias-config.c | alias 設定オプション (alias.conf ファイル) |       alias-config.c | alias 設定オプション (alias.conf ファイル)
|       alias-info.c | alias の情報/インフォリスト/hdata |       alias-info.c | alias の情報/インフォリスト/hdata
|    spell/ | spell プラグイン |    spell/ | spell プラグイン
|       spell.c | spell の主関数 |       spell.c | spell の主関数
|       spell-bar-item.c | spell バー要素 |       spell-bar-item.c | spell バー要素
|       spell-command.c | spell コマンド |       spell-command.c | spell コマンド
|       spell-completion.c | spell 補完 |       spell-completion.c | spell 補完
|       spell-config.c | spell 設定オプション (spell.conf ファイル) |       spell-config.c | spell 設定オプション (spell.conf ファイル)
|       spell-info.c | spell の情報/インフォリスト/hdata |       spell-info.c | spell の情報/インフォリスト/hdata
|       spell-speller.c | spell のスペラー管理 |       spell-speller.c | spell のスペラー管理
|    buflist/ | buflist プラグイン |    buflist/ | buflist プラグイン
|       buflist.c | buflist の主要関数 |       buflist.c | buflist の主要関数
|       buflist-bar-item.c | buflist バー要素 |       buflist-bar-item.c | buflist バー要素
|       buflist-command.c | buflist コマンド |       buflist-command.c | buflist コマンド
|       buflist-config.c | buflist 設定オプション (buflist.conf ファイル)
|       buflist-info.c | buflist の情報/インフォリスト/hdata
|       buflist-mouse.c | buflist マウス動作
|    charset/ | charset プラグイン
|       charset.c | charset 関数
|    exec/ | exec プラグイン
|       exec.c | exec の主要関数
|       exec-buffer.c | exec バッファ
|       exec-command.c | exec コマンド
|       exec-completion.c | exec 補完
|       exec-config.c | exec 設定オプション (exec.conf ファイル)
|    fifo/ | fifo プラグイン
|       fifo.c | fifo の主要関数
|       fifo-command.c | fifo コマンド
|       fifo-config.c | fifo 設定オプション (fifo.conf ファイル)
|       fifo-info.c | fifo の情報/インフォリスト/hdata
|    fset/ | fset プラグイン
|       fset.c | fset の主要関数
|       fset-bar-item.c | fset バー要素
|       fset-buffer.c | fset バッファ
|       fset-command.c | fset コマンド
|       fset-completion.c | fset 補完
|       fset-config.c | fset 設定オプション (fset.conf ファイル)
|       fset-info.c | fset の情報/インフォリスト/hdata
|       fset-mouse.c | fset マウス動作
|       fset-option.c | fset オプション管理
|    guile/ | guile (scheme) プラグイン
|       weechat-guile.c | guile の主要関数 (スクリプトのロード/アンロード、guile コードの実行)
|       weechat-guile-api.c | guile スクリプト作成 API 関数
|    irc/ | IRC (Internet Relay Chat) プラグイン
|       irc.c | IRC の主要関数
|       irc-bar-item.c | IRC バー要素
// TRANSLATION MISSING // TRANSLATION MISSING
|       irc-batch.c | IRC batched events. |       buflist-completion.c | Buflist completions.
|       irc-buffer.c | IRC バッファ |       buflist-config.c | buflist 設定オプション (buflist.conf ファイル)
|       irc-channel.c | IRC チャンネル |       buflist-info.c | buflist の情報/インフォリスト/hdata
|       irc-color.c | IRC 色 |       buflist-mouse.c | buflist マウス動作
|       irc-command.c | IRC コマンド |    charset/ | charset プラグイン
|       irc-completion.c | IRC 補完 |       charset.c | charset 関数
|       irc-config.c | IRC 設定オプション (irc.conf ファイル) |    exec/ | exec プラグイン
|       irc-ctcp.c | IRC CTCP |       exec.c | exec の主要関数
|       irc-debug.c | IRC デバッグ関数 |       exec-buffer.c | exec バッファ
|       irc-ignore.c | IRC 無視 |       exec-command.c | exec コマンド
|       irc-info.c | IRC の情報/インフォリスト/hdata |       exec-completion.c | exec 補完
|       irc-input.c | コマンドおよびテキストの入力 |       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 // TRANSLATION MISSING
|       irc-join.c | Functions for list of channels to join. |       irc-batch.c | IRC batched events.
|       irc-message.c | IRC メッセージを操作する関数 |       irc-buffer.c | IRC バッファ
|       irc-mode.c | チャンネルおよびニックネームのモードを操作する関数 |       irc-channel.c | IRC チャンネル
|       irc-modelist.c | IRC チャンネルモードリスト (+b、+e、+I、...). |       irc-color.c | IRC
|       irc-msgbuffer.c | IRC メッセージを送るバッファ |       irc-command.c | IRC コマンド
|       irc-nick.c | IRC ニックネーム |       irc-completion.c | IRC 補完
|       irc-notify.c | IRC 通知リスト |       irc-config.c | IRC 設定オプション (irc.conf ファイル)
|       irc-protocol.c | IRC プロトコル (RFC 1459/2810/2811/2812/2813/7194) |       irc-ctcp.c | IRC CTCP
|       irc-raw.c | IRC バッファ |       irc-debug.c | IRC バッグ関数
|       irc-redirect.c | IRC コマンド出力のリダイレクト |       irc-ignore.c | IRC 無視
|       irc-sasl.c | IRC サーバに対する SASL 認証 |       irc-info.c | IRC の情報/インフォリスト/hdata
|       irc-server.c | IRC サーバとの入出力通信 |       irc-input.c | コマンドおよびテキストの入力
// TRANSLATION MISSING // TRANSLATION MISSING
|       irc-tag.c | Functions to manipulate IRC message tags. |       irc-join.c | Functions for list of channels to join.
// TRANSLATION MISSING // TRANSLATION MISSING
|       irc-typing.c | Typing status. |       irc-list.c | Buffer for reply to /list command.
|       irc-upgrade.c | WeeChat をアップグレードする際の IRC データの保存およびロード |       irc-message.c | IRC メッセージを操作する関数
|    javascript/ | JavaScript プラグイン |       irc-mode.c | チャンネルおよびニックネームのモードを操作する関数
|       weechat-js.cpp | JavaScript の主要関数 (スクリプトのロード/アンロード、JavaScript コードの実行) |       irc-modelist.c | IRC チャンネルモードリスト (+b、+e、+I、...).
|       weechat-js-api.cpp | JavaScript スクリプト作成 API 関数 |       irc-msgbuffer.c | IRC メッセージを送るバッファ
|       weechat-js-v8.cpp | JavaScript v8 関数 |       irc-nick.c | IRC ニックネーム
|    logger/ | logger プラグイン |       irc-notify.c | IRC 通知リスト
|       logger.c | logger の主要関数 |       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 // TRANSLATION MISSING
|       logger-backlog.c | Logger backlog functions. |       irc-tag.c | Functions to manipulate IRC message tags.
|       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 // TRANSLATION MISSING
|       relay-auth.c | Clients authentification. |       irc-typing.c | Typing status.
|       relay-buffer.c | relay バッファ |       irc-upgrade.c | WeeChat をアップグレードする際の IRC データの保存およびロード
|       relay-client.c | relay クライアント |    javascript/ | JavaScript プラグイン
|       relay-command.c | relay コマンド |       weechat-js.cpp | JavaScript の主要関数 (スクリプトのロード/アンロード、JavaScript コードの実行)
|       relay-completion.c | relay 補完 |       weechat-js-api.cpp | JavaScript スクリプト作成 API 関数
|       relay-config.c | relay 設定オプション (relay.conf ファイル) |       weechat-js-v8.cpp | JavaScript v8 関数
|       relay-info.c | relay の情報/インフォリスト/hdata |    logger/ | logger プラグイン
|       relay-network.c | relay 用のネットワーク関数 |       logger.c | logger の主要関数
|       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 ファイル)
// TRANSLATION MISSING // TRANSLATION MISSING
|    typing/ | Typing plugin. |       logger-backlog.c | Logger backlog functions.
|       logger-buffer.c | logger バッファリスト管理
|       logger-command.c | logger コマンド
|       logger-config.c | logger 設定オプション (logger.conf ファイル)
|       logger-info.c | logger の情報/インフォリスト/hdata
|       logger-tail.c | ファイル末尾の行を返す
|    lua/ | lua プラグイン
|       weechat-lua.c | lua の主要関数 (スクリプトのロード/アンロード、lua コードの実行)
|       weechat-lua-api.c | lua スクリプト作成 API 関数
|    perl/ | perl プラグイン
|       weechat-perl.c | perl の主要関数 (スクリプトのロード/アンロード、perl コードの実行)
|       weechat-perl-api.c | perl スクリプト作成 API 関数
|    php/ | php プラグイン
|       weechat-php.c | php の主要関数 (スクリプトのロード/アンロード、php コードの実行)
|       weechat-php-api.c | php スクリプト作成 API 関数
|    python/ | python プラグイン
|       weechat-python.c | python の主要関数 (スクリプトのロード/アンロード、python コードの実行)
|       weechat-python-api.c | python スクリプト作成 API 関数
|    relay/ | relay プラグイン (IRC プロキシとリモートインターフェースへの中継)
|       relay.c | relay の主要関数
// TRANSLATION MISSING // TRANSLATION MISSING
|       typing.c | Main typing functions. |       relay-auth.c | Clients authentification.
|       relay-buffer.c | relay バッファ
|       relay-client.c | relay クライアント
|       relay-command.c | relay コマンド
|       relay-completion.c | relay 補完
|       relay-config.c | relay 設定オプション (relay.conf ファイル)
// TRANSLATION MISSING // TRANSLATION MISSING
|       typing-bar-item.c | Typing bar items. |       relay-http.c | HTTP functions.
|       relay-info.c | relay の情報/インフォリスト/hdata
|       relay-network.c | relay 用のネットワーク関数
|       relay-raw.c | relay 生バッファ
// TRANSLATION MISSING // TRANSLATION MISSING
|       typing-config.c | Typing config options (file typing.conf). |       relay-remote.c | Relay remote.
|       relay-server.c | relay サーバ
|       relay-upgrade.c | WeeChat をアップグレードする際にデータを保存/回復
|       relay-websocket.c | リレー用の websocket サーバ関数 (RFC 6455)
// TRANSLATION MISSING // TRANSLATION MISSING
|       typing-status.c | Messages typing status on buffers. |       api/ | Relay for remote interfaces (using HTTP REST API).
|    xfer/ | xfer プラグイン (IRC DCC ファイル/チャット) // TRANSLATION MISSING
|       xfer.c | xfer の主要関数 |          relay-api.c | Main API functions for HTTP REST API.
|       xfer-buffer.c | xfer バッファ // TRANSLATION MISSING
|       xfer-chat.c | xfer DCC チャット |          relay-api-msg.c | Send JSON messages to clients.
|       xfer-command.c | xfer コマンド // TRANSLATION MISSING
|       xfer-completion.c | xfer 補完 |          relay-api-protocol.c | HTTP REST API protocol.
|       xfer-config.c | xfer 設定オプション (xfer.conf ファイル) // TRANSLATION MISSING
|       xfer-dcc.c | DCC ファイル転送 // TRANSLATION MISSING
|       xfer-file.c | xfer のファイル関数 |          remote/ | Relay remote functions, specific to API.
|       xfer-info.c | xfer の情報/インフォリスト/hdata // TRANSLATION MISSING
|       xfer-network.c | xfer のネットワーク関数 |             relay-remote-event.c | Process events received from relay remote.
|       xfer-upgrade.c | WeeChat をアップグレードする際の xfer データの保存および回復 // 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]] [[sources_tests]]
@@ -410,125 +437,202 @@ WeeChat "core" は以下のディレクトリに配置されています:
[width="100%",cols="2m,3",options="header"] [width="100%",cols="2m,3",options="header"]
|=== |===
| パス/ファイル名 | 説明 | パス/ファイル名 | 説明
| tests/ | テスト用のルートディレクトリ | tests/ | テスト用のルートディレクトリ
|    tests.cpp | 全テストの実行時に使われるプログラム |    tests.cpp | 全テストの実行時に使われるプログラム
// TRANSLATION MISSING // TRANSLATION MISSING
|    tests-record.cpp | Record and search in messages displayed. |    tests-record.cpp | Record and search in messages displayed.
|    scripts/ | スクリプト API テスト用のルートディレクトリ |    scripts/ | スクリプト API テスト用のルートディレクトリ
|       test-scripts.cpp | スクリプト API テストの実行時に使われるプログラム |       test-scripts.cpp | スクリプト API テストの実行時に使われるプログラム
|       python/ | スクリプト API テストを生成、実行する Python スクリプト |       python/ | スクリプト API テストを生成、実行する Python スクリプト
|          testapigen.py | スクリプト API のテスト時にすべての言語に関するスクリプトを生成する Python スクリプト |          testapigen.py | スクリプト API のテスト時にすべての言語に関するスクリプトを生成する Python スクリプト
|          testapi.py | スクリプト API テスト時に使われる Python スクリプト (スクリプト testapigen.py から使われます) |          testapi.py | スクリプト API テスト時に使われる Python スクリプト (スクリプト testapigen.py から使われます)
|          unparse.py | Python コードを別の言語に変換 (スクリプト testapigen.py から使われます) |          unparse.py | Python コードを別の言語に変換 (スクリプト testapigen.py から使われます)
|    unit/ | 単体テスト用のルートディレクトリ |    unit/ | 単体テスト用のルートディレクトリ
|       test-plugins.cpp | テスト: プラグイン |       test-plugins.cpp | テスト: プラグイン
|       core/ | core 向け単体テスト用のルートディレクトリ
|          test-core-arraylist.cpp | テスト: 配列リスト
// TRANSLATION MISSING // TRANSLATION MISSING
|          test-core-calc.cpp | Tests: calculation of expressions. |       test-plugin-api-info.cpp | Tests: plugin API info functions.
// TRANSLATION MISSING // TRANSLATION MISSING
|          test-core-command.cpp | Tests: commands. |       test-plugin-config.cpp | Tests: plugin config functions.
|       core/ | core 向け単体テスト用のルートディレクトリ
|          test-core-arraylist.cpp | テスト: 配列リスト
// TRANSLATION MISSING // TRANSLATION MISSING
|          test-core-config-file.cpp | Tests: configuration files. |          test-core-calc.cpp | Tests: calculation of expressions.
// TRANSLATION MISSING // TRANSLATION MISSING
|          test-core-crypto.cpp | Tests: cryptographic functions. |          test-core-command.cpp | Tests: commands.
// TRANSLATION MISSING // TRANSLATION MISSING
|          test-core-dir.cpp | Tests: directory/file functions. |          test-core-config-file.cpp | Tests: configuration files.
|          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 // TRANSLATION MISSING
|          test-core-network.cpp | Tests: network functions. |          test-core-crypto.cpp | Tests: cryptographic functions.
|          test-core-secure.cpp | テスト: データ保護
// TRANSLATION MISSING // TRANSLATION MISSING
|          test-core-signal.cpp | テスト: signals. |          test-core-dir.cpp | Tests: directory/file functions.
|          test-core-string.cpp | テスト: 文字列 |          test-core-eval.cpp | テスト: 式の評価
|          test-core-url.cpp | テスト: URL |          test-core-hashtble.cpp | テスト: ハッシュテーブル
|          test-core-utf8.cpp | テスト: UTF-8 |          test-core-hdata.cpp | テスト: hdata
|          test-core-util.cpp | テスト: ユーティリティ関数 |          test-core-hook.cpp | テスト: フック
|       gui/ | インターフェースの単体テストを収める最上位ディレクトリ |          test-core-infolist.cpp | テスト: インフォリスト
|          test-core-list.cpp | テスト: リスト
// TRANSLATION MISSING // TRANSLATION MISSING
|          test-gui-bar-window.cpp | Tests: bar window functions. |          test-core-network.cpp | Tests: network functions.
|          test-core-secure.cpp | テスト: データ保護
// TRANSLATION MISSING // TRANSLATION MISSING
|          test-gui-buffer.cpp | Tests: buffer functions. |          test-core-signal.cpp | テスト: signals.
|          test-core-string.cpp | テスト: 文字列
|          test-core-url.cpp | テスト: URL
|          test-core-utf8.cpp | テスト: UTF-8
|          test-core-util.cpp | テスト: ユーティリティ関数
// TRANSLATION MISSING // TRANSLATION MISSING
|          test-gui-chat.cpp | Tests: chat functions. |          test-core-sys.cpp | Tests: system functions.
// TRANSLATION MISSING // TRANSLATION MISSING
|          test-gui-color.cpp | Tests: colors. |          hook/ | Root of unit tests for hooks.
// TRANSLATION MISSING // TRANSLATION MISSING
|          test-gui-filter.cpp | Tests: filters. |             test-hook-command.cpp | Tests: hooks "command".
// TRANSLATION MISSING // TRANSLATION MISSING
|          test-gui-input.cpp | Tests: input functions. |             test-hook-command-run.cpp | Tests: hooks "command_run".
// TRANSLATION MISSING // TRANSLATION MISSING
|          test-gui-key.cpp | Tests: keys. |             test-hook-completion.cpp | Tests: hooks "completion".
|          test-gui-line.cpp | テスト: 行
// TRANSLATION MISSING // TRANSLATION MISSING
|          test-gui-nick.cpp | テスト: nicks |             test-hook-config.cpp | Tests: hooks "config".
|       plugins/ | プラグインの単体テストを収める最上位ディレクトリ
|          irc/ | IRC プラグインの単体テストを収める最上位ディレクトリ
// TRANSLATION MISSING // TRANSLATION MISSING
|             test-irc-batch.cpp | Tests: IRC batched events. |             test-hook-connect.cpp | Tests: hooks "connect".
// TRANSLATION MISSING // TRANSLATION MISSING
|             test-irc-buffer.cpp | Tests: IRC buffers. |             test-hook-fd.cpp | Tests: hooks "fd".
// TRANSLATION MISSING // TRANSLATION MISSING
|             test-irc-channel.cpp | Tests: IRC channels. |             test-hook-focus.cpp | Tests: hooks "focus".
|             test-irc-color.cpp | Tests: IRC colors.
|             test-irc-config.cpp | テスト: IRC 設定
// TRANSLATION MISSING // TRANSLATION MISSING
|             test-irc-ignore.cpp | Tests: IRC ignores. |             test-hook-hdata.cpp | Tests: hooks "hdata".
// TRANSLATION MISSING // TRANSLATION MISSING
|             test-irc-join.cpp | Tests: IRC join functions. |             test-hook-hsignal.cpp | Tests: hooks "hsignal".
// TRANSLATION MISSING // TRANSLATION MISSING
|             test-irc-message.cpp | Tests: IRC messages. |             test-hook-info-hashtable.cpp | Tests: hooks "info_hashtable".
// TRANSLATION MISSING // TRANSLATION MISSING
|             test-irc-mode.cpp | Tests: IRC modes. |             test-hook-info.cpp | Tests: hooks "info".
// TRANSLATION MISSING // TRANSLATION MISSING
|             test-irc-nick.cpp | Tests: IRC nicks. |             test-hook-infolist.cpp | Tests: hooks "infolist".
|             test-irc-protocol.cpp | テスト: IRC プロトコル
// TRANSLATION MISSING // TRANSLATION MISSING
|             test-irc-sasl.cpp | Tests: SASL authentication with IRC protocol. |             test-hook-line.cpp | Tests: hooks "line".
// TRANSLATION MISSING // TRANSLATION MISSING
|             test-irc-server.cpp | Tests: IRC server. |             test-hook-modifier.cpp | Tests: hooks "modifier".
// TRANSLATION MISSING // TRANSLATION MISSING
|             test-irc-tag.cpp | Tests: IRC message tags. |             test-hook-print.cpp | Tests: hooks "print".
// TRANSLATION MISSING // TRANSLATION MISSING
|          logger/ | Root of unit tests for logger plugin. |             test-hook-process.cpp | Tests: hooks "process".
// TRANSLATION MISSING // TRANSLATION MISSING
|             test-logger.cpp | Tests: logger. |             test-hook-signal.cpp | Tests: hooks "signal".
// TRANSLATION MISSING // TRANSLATION MISSING
|             test-logger-backlog.cpp | Tests: logger backlog. |             test-hook-timer.cpp | Tests: hooks "timer".
// TRANSLATION MISSING // TRANSLATION MISSING
|             test-logger-tail.cpp | Tests: logger tail functions. |             test-hook-url.cpp | Tests: hooks "url".
|       gui/ | インターフェースの単体テストを収める最上位ディレクトリ
// TRANSLATION MISSING // TRANSLATION MISSING
|          trigger/ | Root of unit tests for trigger plugin. |          test-gui-bar-window.cpp | Tests: bar window functions.
// TRANSLATION MISSING // TRANSLATION MISSING
|             test-trigger.cpp | Tests: triggers. |          test-gui-buffer.cpp | Tests: buffer functions.
// TRANSLATION MISSING // TRANSLATION MISSING
|             test-trigger-config.cpp | Tests: trigger configuration. |          test-gui-chat.cpp | Tests: chat functions.
// TRANSLATION MISSING // TRANSLATION MISSING
|          typing/ | Root of unit tests for typing plugin. |          test-gui-color.cpp | Tests: colors.
// TRANSLATION MISSING // TRANSLATION MISSING
|             test-typing.cpp | Tests: typing. |          test-gui-filter.cpp | Tests: filters.
// TRANSLATION MISSING // TRANSLATION MISSING
|             test-typing-status.cpp | Tests: typing status. |          test-gui-hotlist.cpp | Tests: hotlist functions.
// TRANSLATION MISSING // TRANSLATION MISSING
|          relay/ | Root of unit tests for Relay plugin. |          test-gui-input.cpp | Tests: input functions.
// TRANSLATION MISSING // TRANSLATION MISSING
|             test-relay-auth.cpp | Tests: clients authentication. |          test-gui-key.cpp | Tests: keys.
|          test-gui-line.cpp | テスト: 行
// TRANSLATION MISSING // TRANSLATION MISSING
|             irc/ | Root of unit tests for Relay "irc" protocol. |          test-gui-nick.cpp | テスト: nicks
// TRANSLATION MISSING // TRANSLATION MISSING
|                test-relay-irc.cpp | Tests: Relay "irc" protocol. |          test-gui-nicklist.cpp | Tests: nicklist functions.
// TRANSLATION MISSING // TRANSLATION MISSING
|          xfer/ | Root of unit tests for Xfer plugin. |          curses/ | Root of unit tests for Curses interface.
// TRANSLATION MISSING // TRANSLATION MISSING
|             test-xfer-file.cpp | Tests: file functions. |             test-gui-curses-mouse.cpp | Tests: mouse (Curses interface).
|       plugins/ | プラグインの単体テストを収める最上位ディレクトリ
|          irc/ | IRC プラグインの単体テストを収める最上位ディレクトリ
// TRANSLATION MISSING // TRANSLATION MISSING
|             test-xfer-network.cpp | Tests: network functions. |             test-irc-batch.cpp | Tests: IRC batched events.
// TRANSLATION MISSING
|             test-irc-buffer.cpp | Tests: IRC buffers.
// TRANSLATION MISSING
|             test-irc-channel.cpp | Tests: IRC channels.
|             test-irc-color.cpp | Tests: IRC colors.
// TRANSLATION MISSING
|             test-irc-command.cpp | Tests: IRC commands.
|             test-irc-config.cpp | テスト: IRC 設定
// TRANSLATION MISSING
|             test-irc-ctcp.cpp | Tests: IRC CTCP.
// TRANSLATION MISSING
|             test-irc-ignore.cpp | Tests: IRC ignores.
// TRANSLATION MISSING
|             test-irc-info.cpp | Tests: IRC info.
// TRANSLATION MISSING
|             test-irc-join.cpp | Tests: IRC join functions.
// TRANSLATION MISSING
|             test-irc-list.cpp | Tests: IRC buffer for reply to /list command.
// TRANSLATION MISSING
|             test-irc-message.cpp | Tests: IRC messages.
// TRANSLATION MISSING
|             test-irc-mode.cpp | Tests: IRC modes.
// TRANSLATION MISSING
|             test-irc-nick.cpp | Tests: IRC nicks.
|             test-irc-protocol.cpp | テスト: IRC プロトコル
// TRANSLATION MISSING
|             test-irc-sasl.cpp | Tests: SASL authentication with IRC protocol.
// TRANSLATION MISSING
|             test-irc-server.cpp | Tests: IRC server.
// TRANSLATION MISSING
|             test-irc-tag.cpp | Tests: IRC message tags.
// TRANSLATION MISSING
|          logger/ | Root of unit tests for logger plugin.
// TRANSLATION MISSING
|             test-logger.cpp | Tests: logger.
// TRANSLATION MISSING
|             test-logger-backlog.cpp | Tests: logger backlog.
// TRANSLATION MISSING
|             test-logger-tail.cpp | Tests: logger tail functions.
// TRANSLATION MISSING
|          trigger/ | Root of unit tests for trigger plugin.
// TRANSLATION MISSING
|             test-trigger.cpp | Tests: triggers.
// TRANSLATION MISSING
|             test-trigger-config.cpp | Tests: trigger configuration.
// TRANSLATION MISSING
|          typing/ | Root of unit tests for typing plugin.
// TRANSLATION MISSING
|             test-typing.cpp | Tests: typing.
// TRANSLATION MISSING
|             test-typing-status.cpp | Tests: typing status.
// TRANSLATION MISSING
|          relay/ | Root of unit tests for Relay plugin.
// TRANSLATION MISSING
|             test-relay-auth.cpp | Tests: clients authentication.
// TRANSLATION MISSING
|             test-relay-http.cpp | Tests: HTTP functions for Relay plugin.
// TRANSLATION MISSING
|             test-relay-remote.cpp | Tests: remote functions for Relay plugin.
// TRANSLATION MISSING
|             test-relay-websocket.cpp | Tests: websocket functions for Relay plugin.
// TRANSLATION MISSING
|             api/ | Root of unit tests for Relay "api" protocol.
// TRANSLATION MISSING
|                test-relay-api.cpp | Tests: Relay "api" protocol: general functions.
// TRANSLATION MISSING
|                test-relay-api-msg.cpp | Tests: Relay "api" protocol: messages.
// TRANSLATION MISSING
|                test-relay-api-protocol.cpp | Tests: Relay "api" protocol: protocol.
// TRANSLATION MISSING
|             irc/ | Root of unit tests for Relay "irc" protocol.
// TRANSLATION MISSING
|                test-relay-irc.cpp | Tests: Relay "irc" protocol.
// TRANSLATION MISSING
|          xfer/ | Root of unit tests for Xfer plugin.
// TRANSLATION MISSING
|             test-xfer-file.cpp | Tests: file functions.
// TRANSLATION MISSING
|             test-xfer-network.cpp | Tests: network functions.
|=== |===
[[documentation_translations]] [[documentation_translations]]
@@ -588,7 +692,7 @@ WeeChat とプラグインの翻訳は gettext で行います、ファイルは
/* /*
* weechat.c - core functions for 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. * This file is part of WeeChat, the extensible chat client.
* *
@@ -612,7 +716,8 @@ WeeChat とプラグインの翻訳は gettext で行います、ファイルは
C 言語のコードを書く際には以下の基本的なルールを *必ず* 守ってください。: C 言語のコードを書く際には以下の基本的なルールを *必ず* 守ってください。:
* インデントは空白文字を 4 個使ってください。タブ文字を使わないでください、タブ文字は良くありません。 // TRANSLATION MISSING
* Use 4 spaces for indentation (no tabs).
* 読みやすくする必要がある場合を除いて、1 * 読みやすくする必要がある場合を除いて、1
行は 80 文字以内に収めてください。 行は 80 文字以内に収めてください。
* コメントは `+/* comment */+` のようにしてください (`+// comment+` のような C99 スタイルのコメントは使わないでください)。 * コメントは `+/* comment */+` のようにしてください (`+// comment+` のような C99 スタイルのコメントは使わないでください)。
@@ -825,7 +930,7 @@ irc プラグインの _irc.c_ など。
[width="100%",cols="2m,3",options="header"] [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/ | 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/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、... | src/plugins/ | plugin.c、plugin-api.c、plugin-api-info.c、plugin-config.c、plugin-script.c、...
@@ -834,7 +939,7 @@ irc プラグインの _irc.c_ など。
|=== |===
C 言語ファイルのヘッダはファイルと同じ名前です、例えばファイル C 言語ファイルのヘッダはファイルと同じ名前です、例えばファイル
_wee-command.c_ のヘッダファイルは _wee-command.h_ です _core-command.c_ のヘッダファイルは _core-command.h_ です
[[naming_convention_structures]] [[naming_convention_structures]]
==== 構造体 ==== 構造体
+84 -23
View File
@@ -598,6 +598,33 @@ macOS のターミナル.app を使っている場合、設定メニューのキ
キーを使用」を有効化してください。こうすることで、kbd:[Option] キーを使用」を有効化してください。こうすることで、kbd:[Option]
キーをメタキーとして使うことが可能です。 キーをメタキーとして使うことが可能です。
// TRANSLATION MISSING
[[enter_key]]
=== Some keys including Enter are not working, why?
If you run a WeeChat < 4.0.0 with configuration files created by any
version ≥ 4.0.0, the keys names become invalid and many keys won't work at all. +
To repair them, exit WeeChat, remove all sections `[key*]` from weechat.conf
and start WeeChat again: all default keys will be created.
// TRANSLATION MISSING
[[key_f11]]
=== Key F11 maximizes the terminal window, how can I scroll up the nicklist?
The key kbd:[F11] is commonly used by terminals to maximize the window, and
kbd:[F11]/kbd:[F12] are the default keys in WeeChat to scroll the nicklist.
You can bind other keys, for example kbd:[Shift+F11] and kbd:[Shift+F12],
with WeeChat ≥ 4.0.0:
----
/key bind shift-f11 /bar scroll nicklist * -100%
/key bind shift-f12 /bar scroll nicklist * +100%
----
Other solution is to enable mouse (key: kbd:[Alt+m]) and scroll with the mouse
wheel (see also questions about <<mouse,mouse>>).
[[customize_key_bindings]] [[customize_key_bindings]]
=== どうすればキー割り当てをカスタマイズできますか。 === どうすればキー割り当てをカスタマイズできますか。
@@ -626,6 +653,13 @@ macOS のターミナル.app を使っている場合、設定メニューのキ
/trigger add numberjump modifier "2000|input_text_for_buffer" "${tg_string} =~ ^/[0-9]+$" "=\/([0-9]+)=/buffer *${re:1}=" "" "" "none" /trigger add numberjump modifier "2000|input_text_for_buffer" "${tg_string} =~ ^/[0-9]+$" "=\/([0-9]+)=/buffer *${re:1}=" "" "" "none"
---- ----
// TRANSLATION MISSING
For an easy jump to buffers, you can also install the _go.py_ script:
----
/script install go.py
----
[[global_history]] [[global_history]]
=== どうすればグローバルヒストリを (バッファヒストリの代わりに) 上下矢印キーで使えますか。 === どうすればグローバルヒストリを (バッファヒストリの代わりに) 上下矢印キーで使えますか。
@@ -946,34 +980,22 @@ link:weechat_user.ja.html#max_hotlist_level_nicks[hotlist_max_level_nicks_add ^
buffer property to set the max hotlist level for some nicks, per buffer, buffer property to set the max hotlist level for some nicks, per buffer,
or per group of buffers (like IRC servers). or per group of buffers (like IRC servers).
ハイライトを無効化するだけなら、このプロパティを 2 に設定してください: ハイライトを無効化するだけなら、このプロパティを 2 に設定してください.
// TRANSLATION MISSING
For the current buffer:
---- ----
/buffer set hotlist_max_level_nicks_add joe:2,mike:2 /buffer setauto hotlist_max_level_nicks_add joe:2,mike:2
---- ----
このバッファプロパティは設定に保存されません。このバッファプロパティを自動的に適用するには、_buffer_autoset.py_ // TRANSLATION MISSING
スクリプトが必要です: For all channels on server "libera":
---- ----
/script install buffer_autoset.py /set weechat.buffer.irc.libera.*.hotlist_max_level_nicks_add joe:2,mike:2
---- ----
例えば、IRC サーバ libera のチャンネル #weechat に参加している "mike"
の発言に対してハイライトを永久的に無効化するには以下のように設定します:
----
/buffer_autoset add irc.libera.#weechat hotlist_max_level_nicks_add mike:2
----
この設定をすべての libera サーバのバッファに対して適用するには以下のように設定します:
----
/buffer_autoset add irc.libera hotlist_max_level_nicks_add mike:2
----
これ以外の例は `+/help buffer_autoset+` を参照してください。
[[irc_target_buffer]] [[irc_target_buffer]]
=== どうすればマージされたバッファ内であるコマンドを発行するターゲットバッファを変更できますか。 === どうすればマージされたバッファ内であるコマンドを発行するターゲットバッファを変更できますか。
@@ -1104,7 +1126,10 @@ spell プラグインをリロードしてください:
以下に挙げる <<memory_usage,memory>> に関するヒントに従ってください: 以下に挙げる <<memory_usage,memory>> に関するヒントに従ってください:
* "nicklist" バーを非表示にする: `/bar hide nicklist` // TRANSLATION MISSING
* "nicklist" バーを非表示にする: `/bar hide nicklist` (key: kbd:[Alt+Shift+N]).
// TRANSLATION MISSING
* Disable "buflist": `/buflist disable` (key: kbd:[Alt+Shift+B]).
* ステータスバー時間に秒の表示を止める: * ステータスバー時間に秒の表示を止める:
`+/set weechat.look.item_time_format "%H:%M"+` (これはデフォルト値です) `+/set weechat.look.item_time_format "%H:%M"+` (これはデフォルト値です)
* コマンドライン内の単語スペルミスのリアルタイムチェックを無効にする (有効にしていた場合): * コマンドライン内の単語スペルミスのリアルタイムチェックを無効にする (有効にしていた場合):
@@ -1126,14 +1151,21 @@ IRC の退出および終了メッセージを無効化します:
---- ----
/set irc.ctcp.clientinfo "" /set irc.ctcp.clientinfo ""
/set irc.ctcp.finger ""
/set irc.ctcp.source "" /set irc.ctcp.source ""
/set irc.ctcp.time "" /set irc.ctcp.time ""
/set irc.ctcp.userinfo ""
/set irc.ctcp.version "" /set irc.ctcp.version ""
/set irc.ctcp.ping "" /set irc.ctcp.ping ""
---- ----
// TRANSLATION MISSING
With WeeChat < 4.1.0, other CTCP queries were replied by default and must be
disabled as well:
----
/set irc.ctcp.finger ""
/set irc.ctcp.userinfo ""
----
"xfer" プラグイン (これは IRC DCC 機能を使うためのものです) をアンロードして自動ロードを無効化します: "xfer" プラグイン (これは IRC DCC 機能を使うためのものです) をアンロードして自動ロードを無効化します:
---- ----
@@ -1169,6 +1201,35 @@ stored in _sec.conf_ with the `/secure` command).
設定ファイルに関する詳しい情報はlink:weechat_user.ja.html#files_and_directories[ユーザーズガイド / ファイルとディレクトリ ^↗^^]を参照してください。 設定ファイルに関する詳しい情報はlink:weechat_user.ja.html#files_and_directories[ユーザーズガイド / ファイルとディレクトリ ^↗^^]を参照してください。
// TRANSLATION MISSING
[[move_to_another_device]]
=== I want to move my WeeChat to another device and keep my config, what should I copy?
First check directories used by WeeChat with this command: `/debug dirs`. +
Directories home/config and home/data must be copied (all files and sub-directories).
For example if you're using XDG directories (default with WeeChat ≥ 3.2),
the directories should be `$HOME/.config/weechat` and `$HOME/.local/share/weechat`. +
If you're using a single directory (default with WeeChat < 3.2), the directory
should be `$HOME/.weechat`.
[IMPORTANT]
The WeeChat version on the new device must be greater than or equal to the version
on the initial device. +
Downgrading WeeChat configuration is *NOT SUPPORTED* and can break it,
leading to unusable WeeChat.
Steps:
. Quit Weechat: `/quit` (or `/upgrade -quit` if you want to resume the session,
which includes content of all buffers).
. Copy all directories, sub-directories and files to the new device, keeping
same names and permissions.
. Optional: copy any file outside these directories that you refer to in your
configuration (it's not recommended to use files outside WeeChat directories).
. Start WeeChat on the new device: `weechat` (or `weechat --upgrade` if you
saved the session).
[[development]] [[development]]
== 開発 == 開発
File diff suppressed because it is too large Load Diff
+28 -10
View File
@@ -507,7 +507,9 @@ hda:
'buffer': 'ptr', 'buffer': 'ptr',
'y': 'int', 'y': 'int',
'date': 'tim', 'date': 'tim',
'date_usec': 'int',
'date_printed': 'tim', 'date_printed': 'tim',
'date_usec_printed', 'int',
'str_time': 'str', 'str_time': 'str',
'tags_count': 'int', 'tags_count': 'int',
'tags_array': 'arr', 'tags_array': 'arr',
@@ -525,7 +527,9 @@ hda:
buffer: '0x558d61ea3e60' buffer: '0x558d61ea3e60'
y: -1 y: -1
date: 1588404926 date: 1588404926
date_usec: 118712
date_printed: 1588404926 date_printed: 1588404926
date_usec_printed: 118712
str_time: 'F@0025209F@0024535F@0024026' str_time: 'F@0025209F@0024535F@0024026'
tags_count: 0 tags_count: 0
tags_array: [] tags_array: []
@@ -541,7 +545,9 @@ hda:
buffer: '0x558d61ea3e60' buffer: '0x558d61ea3e60'
y: -1 y: -1
date: 1588404930 date: 1588404930
date_usec: 25
date_printed: 1588404930 date_printed: 1588404930
date_usec_printed: 25
str_time: 'F@0025209F@0024535F@0024030' str_time: 'F@0025209F@0024535F@0024030'
tags_count: 0 tags_count: 0
tags_array: [] tags_array: []
@@ -722,6 +728,7 @@ inl:
nicklist_visible_count: 0 nicklist_visible_count: 0
title: 'WeeChat 2.9-dev (C) 2003-2020 - https://weechat.org/' title: 'WeeChat 2.9-dev (C) 2003-2020 - https://weechat.org/'
input: 1 input: 1
input_get_any_user_data: 0
input_get_unknown_commands: 0 input_get_unknown_commands: 0
input_get_empty: 0 input_get_empty: 0
input_multiline: 0 input_multiline: 0
@@ -733,11 +740,14 @@ inl:
input_buffer_1st_display: 0 input_buffer_1st_display: 0
num_history: 0 num_history: 0
text_search: 0 text_search: 0
text_search_direction: 0
text_search_exact: 0 text_search_exact: 0
text_search_regex: 0 text_search_regex: 0
text_search_regex_compiled: '0x0' text_search_regex_compiled: '0x0'
text_search_where: 0 text_search_where: 0
text_search_history: 0
text_search_found: 0 text_search_found: 0
text_search_ptr_history: '0x0'
text_search_input: None text_search_input: None
highlight_words: None highlight_words: None
highlight_disable_regex: None highlight_disable_regex: None
@@ -2082,17 +2092,21 @@ hdata として送られるデータ:
[width="100%",cols="3m,2,10",options="header"] [width="100%",cols="3m,2,10",options="header"]
|=== |===
| 名前 | 型 | 説明 | 名前 | 型 | 説明
| buffer | pointer | バッファへのポインタ | buffer | pointer | バッファへのポインタ
| date | time | メッセージの日付 | date | time | メッセージの日付
| date_printed | time | WeeChat メッセージを表示した日付
| displayed | char | メッセージが表示される場合は 1、メッセージがフィルタされる (隠される) 場合は 0
// TRANSLATION MISSING // TRANSLATION MISSING
| notify_level | char | Notify level: -1 = notify disabled, 0 = low, 1 = message, 2 = private, 3 = highlight. | date_usec | integer | Microseconds of date.
| highlight | char | 行がハイライト部分を含む場合は 1、それ以外は 0 | date_printed | time | WeeChat メッセージを表示した日付
| tags_array | string の配列 | 行に対するタグのリスト // TRANSLATION MISSING
| prefix | string | プレフィックス | date_usec_printed | integer | Microseconds of date when WeeChat displayed message.
| message | string | メッセージ | 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!_: 例: バッファ _irc.libera.#weechat_ でニックネーム _FlashCode_ からの新しいメッセージ _hello!_:
@@ -2104,7 +2118,9 @@ hda:
keys: { keys: {
'buffer': 'ptr', 'buffer': 'ptr',
'date': 'tim', 'date': 'tim',
'date_used': 'int',
'date_printed': 'tim', 'date_printed': 'tim',
'date_usec_printed': 'int',
'displayed': 'chr', 'displayed': 'chr',
'notify_level': 'chr', 'notify_level': 'chr',
'highlight': 'chr', 'highlight': 'chr',
@@ -2117,7 +2133,9 @@ hda:
__path: ['0x4a49600'] __path: ['0x4a49600']
buffer: '0x4a715d0' buffer: '0x4a715d0'
date: 1362728993 date: 1362728993
date_usec: 902765
date_printed: 1362728993 date_printed: 1362728993
date_usec_printed: 902765
displayed: 1 displayed: 1
notify_level: 1 notify_level: 1
highlight: 0 highlight: 0
+2 -311
View File
@@ -571,323 +571,14 @@ link:weechat_plugin_api.ja.html[WeeChat プラグイン API リファレンス 
スクリプト API に含まれる関数のリスト: スクリプト API に含まれる関数のリスト:
[width="100%",cols="1,5",options="header"] include::{autogendir}/autogen_scripting_functions.ja.adoc[tag=functions]
|===
| カテゴリ | 関数
| 一般
| 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
|===
[[script_api_constants]] [[script_api_constants]]
=== 定数 === 定数
スクリプト API に含まれる定数のリスト: スクリプト API に含まれる定数のリスト:
[width="100%",cols="1,5",options="header"] include::{autogendir}/autogen_scripting_constants.ja.adoc[tag=constants]
|===
| カテゴリ | 定数
// 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)
|===
[[common_tasks]] [[common_tasks]]
== 良くあるタスク == 良くあるタスク
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -101,7 +101,7 @@ $HOME/.local/share/weechat/weechat.log::
WeeChat jest tworzony przez Sébastien Helleu i społeczność (pełna lista dostępna WeeChat jest tworzony przez Sébastien Helleu i społeczność (pełna lista dostępna
jest w pliku AUTHORS.adoc). 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 WeeChat is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by
+83 -37
View File
@@ -6,7 +6,7 @@
Tłumaczenie: Tłumaczenie:
* Krzysztof Korościk <soltys1@gmail.com>, 2009-2022 * Krzysztof Korościk <soltys1@gmail.com>, 2009-2024
[[general]] [[general]]
== Ogólne == Ogólne
@@ -39,15 +39,12 @@ https://weechat.org/about/interfaces/[zdalnym interfejsom ^↗^^].
[[compile_git]] [[compile_git]]
=== Nie mogę skompilować WeeChat po sklonowaniu repozytorium git, dlaczego? === Nie mogę skompilować WeeChat po sklonowaniu repozytorium git, dlaczego?
// TRANSLATION MISSING WeeChat musi być kompilowany przy użyciu CMake.
WeeChat must be compiled with CMake.
// TRANSLATION MISSING Postępuj zgodnie z link:weechat_user.en.html#source_package[instrukcjami kompilacji ^↗^^]
Please follow link:weechat_user.en.html#source_package[build instructions ^↗^^] w celu upewnienia się, że wszystkie wymagane zależności są zainstalowane.
and ensure all required dependencies are installed.
// TRANSLATION MISSING Jeśli nadal występują jakieś problemy zgłoś je do developerów.
If you still have issues, please report them to the developers.
[[compile_macos]] [[compile_macos]]
=== Jak zainstalować WeeChat na macOS? === Jak zainstalować WeeChat na macOS?
@@ -585,6 +582,31 @@ Jeśli używasz aplikacji Terminal na macOS włącz opcję
"Use option as meta key" w menu Settings/Keyboard. Następnie możesz używać klawisza "Use option as meta key" w menu Settings/Keyboard. Następnie możesz używać klawisza
kbd:[Option] jako klawisza meta. kbd:[Option] jako klawisza meta.
[[enter_key]]
=== Niektóre przyciski w tym Enter nie działają, dlatego?
Jeśli używasz WeeChat < 4.0.0 z plikami konfiguracyjnymi stworzonymi przez dowolną
wersję ≥ 4.0.0, nazwy przycisków stały się nieprawidłowe i wiele z nich nie będzie działać. +
Żeby to naprawić zamknij WeeChat, usuń wszystkie sekcje `[key*]` z pliku weechat.conf
i uruchom WeeChat ponownie: przywróci to domyślną konfigurację skrótów klawiszowych.
[[key_f11]]
=== F11 maksymalizuje okno terminala, jak mogę przewijać listę nicków?
Klawisz kbd:[F11] jest często używany przez terminale do maksymalizacji okna, oraz
kbd:[F11]/kbd:[F12] są domyślnie używane przez WeeChat do przewijania listy nicków.
Możesz przypisać inne klawisze, na przykład kbd:[Shift+F11] i kbd:[Shift+F12],
w WeeChat ≥ 4.0.0:
----
/key bind shift-f11 /bar scroll nicklist * -100%
/key bind shift-f12 /bar scroll nicklist * +100%
----
Innym rozwiązaniem jest włączenie obsługi myszy (kbd:[Alt+m]) i przewijanie listy za
pomocą kółka myszy (zobacz pytania na temat <<mouse,obsługi myszy>>).
[[customize_key_bindings]] [[customize_key_bindings]]
=== Jak mogę zmienić przypisania klawiszy? === Jak mogę zmienić przypisania klawiszy?
@@ -615,6 +637,12 @@ komendy w stylu `/123` żeby przejść do bufora #123:
/trigger add numberjump modifier "2000|input_text_for_buffer" "${tg_string} =~ ^/[0-9]+$" "=\/([0-9]+)=/buffer *${re:1}=" "" "" "none" /trigger add numberjump modifier "2000|input_text_for_buffer" "${tg_string} =~ ^/[0-9]+$" "=\/([0-9]+)=/buffer *${re:1}=" "" "" "none"
---- ----
Dla łatwego przechodzenia między buforami możesz również zainstalować skrypt _go.py_:
----
/script install go.py
----
[[global_history]] [[global_history]]
=== Jak używać globalnej historii (zamiast historii buforu) za pomocą strzałek góra/dół? === Jak używać globalnej historii (zamiast historii buforu) za pomocą strzałek góra/dół?
@@ -628,9 +656,8 @@ Przykład:
/key bind down /input history_global_next /key bind down /input history_global_next
---- ----
// TRANSLATION MISSING Dla wersji WeeChat ≤ 3.8, należy podać kody klawiszy (naciśnij kbd:[Alt+k] następnie kombinacje
With WeeChat ≤ 3.8, you must use the raw key code (press kbd:[Alt+k] then key klawiszy, aby zobaczyć ich kod):
to display its code):
---- ----
/key bind meta2-A /input history_global_previous /key bind meta2-A /input history_global_previous
@@ -823,11 +850,10 @@ regularnych dla przedrostków i zawartości linii.
Filtrowane linie są tylko ukrywane, nie usuwane, można je zobaczyć wyłączając Filtrowane linie są tylko ukrywane, nie usuwane, można je zobaczyć wyłączając
filtry (domyślnie kbd:[Alt+=] zmienia stan filtrów). filtry (domyślnie kbd:[Alt+=] zmienia stan filtrów).
// TRANSLATION MISSING
[[filter_irc_join_part_quit]] [[filter_irc_join_part_quit]]
=== How can I filter join/part/quit and other annoying messages on IRC channels? === Jak odfiltrować informację o join/part/quit i inne uciążliwe wiadomości na kanałach IRC?
See link:weechat_user.pl.html#irc_smart_filter[User's guide / IRC smart filter ^↗^^]. Zobacz link:weechat_user.pl.html#irc_smart_filter[Poradnik użytkownika / Inteligentny filtr ^↗^^].
[[filter_irc_join_channel_messages]] [[filter_irc_join_channel_messages]]
=== Jak mogę filtrować wyświetlane wiadomości podczas wejścia na kanał IRC? === Jak mogę filtrować wyświetlane wiadomości podczas wejścia na kanał IRC?
@@ -925,34 +951,20 @@ link:weechat_user.pl.html#max_hotlist_level_nicks[hotlist_max_level_nicks_add ^
do ustawienia maksymalnego poziomu hotlisty dla niektórych nicków, dla buforów do ustawienia maksymalnego poziomu hotlisty dla niektórych nicków, dla buforów
lub grup buforów (jak serwery IRC). lub grup buforów (jak serwery IRC).
W celu wyłączenia tylko podświetleń wystarczy ustawić ja na 2: W celu wyłączenia tylko podświetleń wystarczy ustawić ja na 2.
Dla obecnego bufora:
---- ----
/buffer set hotlist_max_level_nicks_add joe:2,mike:2 /buffer setauto hotlist_max_level_nicks_add joe:2,mike:2
---- ----
To utawienie nie jest zapisywane jednak w konfiguracji. Dla wszystkich kanałów na serwerze "libera":
W celu automatycznego ustawiania tej właściwości należy użyć skryptu _buffer_autoset.py_:
---- ----
/script install buffer_autoset.py /set weechat.buffer.irc.libera.*.hotlist_max_level_nicks_add joe:2,mike:2
---- ----
Na przykład w celu wyłączenia powiadomień od "mike" na #weechat w sieci libera:
on the IRC server libera:
----
/buffer_autoset add irc.libera.#weechat hotlist_max_level_nicks_add mike:2
----
Dla całego serwera libera:
----
/buffer_autoset add irc.libera hotlist_max_level_nicks_add mike:2
----
Więcej przykładów można znaleźć wykonując komende `+/help buffer_autoset+`.
[[irc_target_buffer]] [[irc_target_buffer]]
=== Jak mogę zmienić docelowy bufor dla komendy w połączonym buforze (jak bufor z serwerami)? === Jak mogę zmienić docelowy bufor dla komendy w połączonym buforze (jak bufor z serwerami)?
@@ -1081,7 +1093,8 @@ W celu zmniejszenia używanej pamięci możesz zastosować się do poniższych r
Możesz skorzystać z tych samych porad jak dla <<memory_usage,memory>>, oraz tych: Możesz skorzystać z tych samych porad jak dla <<memory_usage,memory>>, oraz tych:
* schowaj pasek "nicklist": `/bar hide nicklist` * schowaj pasek "nicklist": `/bar hide nicklist` (kbd:[Alt+Shift+N]).
* wyłącz "buflist": `/buflist disable` (kbd:[Alt+Shift+B]).
* usuń wyświetlanie sekund w czasie na pasku statusu: * usuń wyświetlanie sekund w czasie na pasku statusu:
`+/set weechat.look.item_time_format "%H:%M"+` (domyślna wartość) `+/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ś): * wyłącz automatyczne sprawdzanie poprawności wpisywanych słów w linii poleceń (o ile je włączyłeś):
@@ -1103,14 +1116,20 @@ Wyłącz odpowiedzi na wszystkie zapytania CTCP:
---- ----
/set irc.ctcp.clientinfo "" /set irc.ctcp.clientinfo ""
/set irc.ctcp.finger ""
/set irc.ctcp.source "" /set irc.ctcp.source ""
/set irc.ctcp.time "" /set irc.ctcp.time ""
/set irc.ctcp.userinfo ""
/set irc.ctcp.version "" /set irc.ctcp.version ""
/set irc.ctcp.ping "" /set irc.ctcp.ping ""
---- ----
Dla WeeChat < 4.1.0, automatyczne odpowiedzi są również domyślnie wysyłane dla innch zapytań CTCP i muszą zostać
również wyłączone:
----
/set irc.ctcp.finger ""
/set irc.ctcp.userinfo ""
----
Wyładuj i wyłącz automatyczne ładowanie wtyczki "xfer" (używanej przez IRC DCC): Wyładuj i wyłącz automatyczne ładowanie wtyczki "xfer" (używanej przez IRC DCC):
---- ----
/plugin unload xfer /plugin unload xfer
@@ -1145,6 +1164,33 @@ w _sec.conf_ za pomocą komendy `/secure`).
Przejrzyj link:weechat_user.pl.html#files_and_directories[Poradnik użytkownika / Pliki i foldery ^↗^^], Przejrzyj link:weechat_user.pl.html#files_and_directories[Poradnik użytkownika / Pliki i foldery ^↗^^],
gdzie znajdziesz więcej informacji o plikach konfiguracyjnych. gdzie znajdziesz więcej informacji o plikach konfiguracyjnych.
[[move_to_another_device]]
=== Chcę przenieść WeeChat na inne urządzenie i zachować swoją konfigurację, co powinienem skompilować?
Najpierw sprawdź katalogi używane przez WeeChat za pomocą polecenia: `/debug dirs`. +
Katalogi home/config i home/data muszą zostać skopiowane (wszystkie pliki i podkatalogi).
Na przykład jeśli używasz katalogów XDG (domyślnie dla WeeChat ≥ 3.2), katalogi te to
`$HOME/.config/weechat` i `$HOME/.local/share/weechat`. +
Jeśli używasz pojedynczego katalogu (domyślne dla WeeChat < 3.2) jest to katalog
`$HOME/.weechat`.
[IMPORTANT]
Wersja WeeChat na nowym urządzeniu musi być wyższa lub taka sama jak na obecnym. +
Przenoszenie konfiguracji do starszej wersji WeeChat *NIE JEST WSPIERANE* i może ją zepsuć,
prowadząć do niestabilnego działania WeeChat.
Kroki:
. Zamknij Weechat: `/quit` (lub `/upgrade -quit` jeśli chcesz przywrócić sesję,
co zawiera zawartość wszystkich buforów).
. Skopiuj wszystkie katalogi, podkatalogi i pliki na nowe urządzenie, zachowując ich
nazwy i uprawnienia.
. Opcjonalne: skopiuj dowolne pliki z poza tych katalogów, do których odnosisz się w swojej
konfiguracji (nie zaleca się używania plików z poza katalogów WeeChat).
. Uruchom WeeChat na nowym urządzeniu: `weechat` (lub `weechat --upgrade` jeśli zapisywałeś
sesje).
[[development]] [[development]]
== Rozwój == Rozwój
+1 -1
View File
@@ -6,7 +6,7 @@
Tłumaczenie: Tłumaczenie:
* Krzysztof Korościk <soltys1@gmail.com>, 2009-2022 * Krzysztof Korościk <soltys1@gmail.com>, 2009-2024
[[start]] [[start]]
== Uruchamianie WeeChat == Uruchamianie WeeChat
+3 -304
View File
@@ -6,7 +6,7 @@
Tłumaczenie: 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. 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: Lista funkcji w API skryptów:
[width="100%",cols="1,5",options="header"] include::{autogendir}/autogen_scripting_functions.pl.adoc[tag=functions]
|===
| 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
|===
[[script_api_constants]] [[script_api_constants]]
=== Stałe === Stałe
Lista stałych w API skryptów: Lista stałych w API skryptów:
[width="100%",cols="1,5",options="header"] include::{autogendir}/autogen_scripting_constants.pl.adoc[tag=constants]
|===
| 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)
|===
[[common_tasks]] [[common_tasks]]
== Częste zadania == Częste zadania
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -99,7 +99,7 @@ $HOME/.local/share/weechat/weechat.log::
WeeChat написан Sébastien Helleu и другими участниками (полный список находится WeeChat написан Sébastien Helleu и другими участниками (полный список находится
в файле AUTHORS.adoc). в файле AUTHORS.adoc).
Copyright (C) 2003-2023 {author} Copyright (C) 2003-2024 {author}
WeeChat is free software; you can redistribute it and/or modify WeeChat is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by 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[] // tag::copyright[]
Програм WeeChat је написао Себастијен Елеу и људи који су дали свој допринос (комплетна листа се налази у фајлу AUTHORS.adoc). Програм WeeChat је написао Себастијен Елеу и људи који су дали свој допринос (комплетна листа се налази у фајлу AUTHORS.adoc).
Ауторска права (C) 2003-2023 {author} Ауторска права (C) 2003-2024 {author}
WeeChat је слободни софтвер; можете га редистрибуирати и/или изменити под условима ГНУ Опште Јавне Лиценце коју је објавила Free Software Foundation; или верзије 3 Лиценце, или (по вашој жељи) било којој каснијој верзији. WeeChat је слободни софтвер; можете га редистрибуирати и/или изменити под условима ГНУ Опште Јавне Лиценце коју је објавила Free Software Foundation; или верзије 3 Лиценце, или (по вашој жељи) било којој каснијој верзији.
+390 -341
View File
@@ -115,94 +115,96 @@ WeeChat „језгро” се налази у следећим директо
[width="100%", cols="2m,3", options="header"] [width="100%", cols="2m,3", options="header"]
|=== |===
| Путања/фајл | Опис | Путања/фајл | Опис
| core/ | Функције језгра: тачка улаза, интерне структуре. | core/ | Функције језгра: тачка улаза, интерне структуре.
|    wee-arraylist.c | Листе низова. |    core-arraylist.c | Листе низова.
|    wee-backtrace.c | Испис трага након краха. |    core-backtrace.c | Испис трага након краха.
|    wee-calc.c | Израчунавање резултата израза. |    core-calc.c | Израчунавање резултата израза.
|    wee-command.c | WeeChat команде језгра. |    core-command.c | WeeChat команде језгра.
|    wee-completion.c | Подразумевана довршавања. |    core-completion.c | Подразумевана довршавања.
|    wee-config-file.c | Управљање конфигурационим фајловима. |    core-config-file.c | Управљање конфигурационим фајловима.
|    wee-config.c | Конфигурационе опције за WeeChat језгро (фајл weechat.conf). |    core-config.c | Конфигурационе опције за WeeChat језгро (фајл weechat.conf).
|    wee-crypto.c | Криптографске функције. |    core-crypto.c | Криптографске функције.
|    wee-debug.c | Неке дибаг функције. |    core-debug.c | Неке дибаг функције.
|    wee-dir.c | Функције директоријума/фајла. |    core-dir.c | Функције директоријума/фајла.
|    wee-doc.c | Изградња фајлова за документацију. |    core-doc.c | Изградња фајлова за документацију.
|    wee-eval.c | Израчунавање израза са референцама на интерне променљиве. |    core-eval.c | Израчунавање израза са референцама на интерне променљиве.
|    wee-hashtable.c | Хеш табеле. |    core-hashtable.c | Хеш табеле.
|    wee-hdata.c | Hdata (директни приступ подацима употребом хеш табела). |    core-hdata.c | Hdata (директни приступ подацима употребом хеш табела).
|    wee-hook.c | Куке. |    core-hook.c | Куке.
|    wee-infolist.c | Инфолисте (листе са подацима објеката). |    core-infolist.c | Инфолисте (листе са подацима објеката).
|    wee-input.c | Унос команди/текста. |    core-input.c | Унос команди/текста.
|    wee-list.c | Сортиране листе. |    core-list.c | Сортиране листе.
|    wee-log.c | Упис у WeeChat лог фајл (weechat.log). |    core-log.c | Упис у WeeChat лог фајл (weechat.log).
|    wee-network.c | Мрежне функције (повезивање са серверима/проксијима). |    core-network.c | Мрежне функције (повезивање са серверима/проксијима).
|    wee-proxy.c | Управљање проксијима. |    core-proxy.c | Управљање проксијима.
|    wee-secure.c | Функције обезбеђених података. |    core-secure.c | Функције обезбеђених података.
|    wee-secure-buffer.c | Бафер обезбеђених података. |    core-secure-buffer.c | Бафер обезбеђених података.
|    wee-secure-config.c | Опције обезбеђених података (фајл sec.conf). |    core-secure-config.c | Опције обезбеђених података (фајл sec.conf).
|    wee-string.c | Функције над стринговима. |    core-string.c | Функције над стринговима.
|    wee-upgrade-file.c | Интерни систем ажурирања. |    core-sys.c | Системске функције.
|    wee-upgrade.c | Ажурирање за WeeChat језгро (бафери, линије, историја, ...). |    core-upgrade-file.c | Интерни систем ажурирања.
|    wee-url.c | URL трансфер (помоћу libcurl). |    core-upgrade.c | Ажурирање за WeeChat језгро (бафери, линије, историја, ...).
|    wee-utf8.c | UTF-8 фунцкије. |    core-url.c | URL трансфер (помоћу libcurl).
|    wee-util.c | Неке друге функције. |    core-utf8.c | UTF-8 функције.
|    wee-version.c | Функције за WeeChat верзију. |    core-util.c | Неке друге функције.
|    weechat.c | Основне функције: опције командне линије, покретање. |    core-version.c | Функције за WeeChat верзију.
|    hook/ | Функције кука. |    weechat.c | Основне функције: опције командне линије, покретање.
|       wee-hook-command-run.c | Кука "command_run". |    hook/ | Функције кука.
|       wee-hook-command.c | Кука "command". |       hook-command-run.c | Кука "command_run".
|       wee-hook-completion.c | Кука "completion". |       hook-command.c | Кука "command".
|       wee-hook-config.c | Кука "config". |       hook-completion.c | Кука "completion".
|       wee-hook-connect.c | Кука "connect". |       hook-config.c | Кука "config".
|       wee-hook-fd.c | Кука "fd". |       hook-connect.c | Кука "connect".
|       wee-hook-focus.c | Кука "focus". |       hook-fd.c | Кука "fd".
|       wee-hook-hdata.c | Кука "hdata". |       hook-focus.c | Кука "focus".
|       wee-hook-hsignal.c | Кука "hsignal". |       hook-hdata.c | Кука "hdata".
|       wee-hook-info-hashtable.c | Кука "info_hashtable". |       hook-hsignal.c | Кука "hsignal".
|       wee-hook-info.c | Кука "info". |       hook-info-hashtable.c | Кука "info_hashtable".
|       wee-hook-infolist.c | Кука "infolist". |       hook-info.c | Кука "info".
|       wee-hook-line.c | Кука "line". |       hook-infolist.c | Кука "infolist".
|       wee-hook-modifier.c | Кука "modifier". |       hook-line.c | Кука "line".
|       wee-hook-print.c | Кука "print". |       hook-modifier.c | Кука "modifier".
|       wee-hook-process.c | Кука "process". |       hook-print.c | Кука "print".
|       wee-hook-signal.c | Кука "signal". |       hook-process.c | Кука "process".
|       wee-hook-timer.c | Кука "timer". |       hook-signal.c | Кука "signal".
| gui/ | Функције за бафере, прозоре, ... (користе их сви интерфејси). |       hook-timer.c | Кука "timer".
|    gui-bar-item.c | Ставке трака. |       hook-url.c | Кука "url".
|    gui-bar-window.c | Прозори трака. | gui/ | Функције за бафере, прозоре, ... (користе их сви интерфејси).
|    gui-bar.c | Траке. |    gui-bar-item.c | Ставке трака.
|    gui-buffer.c | Бафери. |    gui-bar-window.c | Прозори трака.
|    gui-chat.c | Функције разговора (призаз поруке, ...). |    gui-bar.c | Траке.
|    gui-color.c | Функције боја. |    gui-buffer.c | Бафери.
|    gui-completion.c | Довршавање у комадној линији. |    gui-chat.c | Функције разговора (призаз поруке, ...).
|    gui-cursor.c | Курсорски режим (слобосно померање курсора). |    gui-color.c | Функције боја.
|    gui-filter.c | Филтери. |    gui-completion.c | Довршавање у командној линији.
|    gui-focus.c | Функције у вези фокуса (за курсорски режими миша). |    gui-cursor.c | Курсорски режим (слободно померање курсора).
|    gui-history.c | Команде/текст сачуван у баферима. |    gui-filter.c | Филтери.
|    gui-hotlist.c | Управљање врућом листом (листа бафера у којима има активности). |    gui-focus.c | Функције у вези фокуса (за курсорски режими миша).
|    gui-input.c | Функције уноса (трака уноса). |    gui-history.c | Команде/текст сачуван у баферима.
|    gui-key.c | Функције тастатуре. |    gui-hotlist.c | Управљање врућом листом (листа бафера у којима има активности).
|    gui-layout.c | Распоред. |    gui-input.c | Функције уноса (трака уноса).
|    gui-line.c | Линије у баферуLines in buffers. |    gui-key.c | Функције тастатуре.
|    gui-mouse.c | Миш. |    gui-layout.c | Распоред.
|    gui-nick.c | Функције надимака. |    gui-line.c | Линије у баферу.
|    gui-nicklist.c | Листа надимака у баферима. |    gui-mouse.c | Миш.
|    gui-window.c | Прозори. |    gui-nick.c | Функције надимака.
|    curses/ | Curses интерфејс. |    gui-nicklist.c | Листа надимака у баферима.
|       gui-curses-bar-window.c | Приказ у прозорима трака. |    gui-window.c | Прозори.
|       gui-curses-chat.c | Приказ у простору разговора (поруке). |    curses/ | Curses интерфејс.
|       gui-curses-color.c | Функције боја. |       gui-curses-bar-window.c | Приказ у прозорима трака.
|       gui-curses-key.c | Функције тастатуре (подраз. тастери, читање уноса). |       gui-curses-chat.c | Приказ у простору разговора (поруке).
|       gui-curses-main.c | WeeChat главна петља (чекање на догађаје тастатуре/мреже). |       gui-curses-color.c | Функције боја.
|       gui-curses-mouse.c | Миш. |       gui-curses-key.c | Функције тастатуре (подраз. тастери, читање уноса).
|       gui-curses-term.c | Функције у вези терминала. |       gui-curses-main.c | WeeChat главна петља (чекање на догађаје тастатуре/мреже).
|       gui-curses-window.c | Прозори. |       gui-curses-mouse.c | Миш.
|       headless/ | Режим без интерфејса. |       gui-curses-term.c | Функције у вези терминала.
|          main.c | Тачка улаза за режим без интерфејса. |       gui-curses-window.c | Прозори.
|          ncurses-fake.c | Лажна ncurses библиотека. |       headless/ | Режим без интерфејса.
|       normal/ | Curses интерфејс. |          main.c | Тачка улаза за режим без интерфејса.
|          main.c | Тачка улаза за Curses интерфејс. |          ncurses-fake.c | Лажна ncurses библиотека.
|       normal/ | Curses интерфејс.
|          main.c | Тачка улаза за Curses интерфејс.
|=== |===
[[sources_plugins]] [[sources_plugins]]
@@ -210,178 +212,189 @@ WeeChat „језгро” се налази у следећим директо
[width="100%", cols="2m,3", options="header"] [width="100%", cols="2m,3", options="header"]
|=== |===
| Путања/фајл | Опис | Путања/фајл | Опис
| plugins/ | Корен додатака. | plugins/ | Корен додатака.
|    plugin.c | Управљање додацима (учитавање/уклањање динамичких C библиотека). |    plugin.c | Управљање додацима (учитавање/уклањање динамичких C библиотека).
|    plugin-api.c | Додатне функције за API додатака (омотач око WeeChat функција језгра). |    plugin-api.c | Додатне функције за API додатака (омотач око WeeChat функција језгра).
|    plugin-api-info.c | Додатне info/infolist фунцкије за API додатака. |    plugin-api-info.c | Додатне info/infolist функције за API додатака.
|    plugin-config.c | Опције конфигурације додатака (фајл plugins.conf). |    plugin-config.c | Опције конфигурације додатака (фајл plugins.conf).
|    plugin-script.c | Опште функције које користе скрипт додаци. |    plugin-script.c | Опште функције које користе скрипт додаци.
|    plugin-script-api.c | Скрипт API функције: омотачи око неких функција API додатака. |    plugin-script-api.c | Скрипт API функције: омотачи око неких функција API додатака.
|    plugin-script-config.c | Опције конфигурације скрипт додатака (фајлови python.conf, perl.conf, ...). |    plugin-script-config.c | Опције конфигурације скрипт додатака (фајлови python.conf, perl.conf, ...).
|    weechat-plugin.h | Заглавље које треба да се дистрибуира уз WeeChat додатке, како би могли да се компајлирају. |    weechat-plugin.h | Заглавље које треба да се дистрибуира уз WeeChat додатке, како би могли да се компајлирају.
|    alias/ | Alias додатак. |    alias/ | Alias додатак.
|       alias.c | Главне алијас функције. |       alias.c | Главне алијас функције.
|       alias-command.c | Алијас команде. |       alias-command.c | Алијас команде.
|       alias-completion.c | Алијас довршавање. |       alias-completion.c | Алијас довршавање.
|       alias-config.c | Алијас опције конфигурације (фајл alias.conf). |       alias-config.c | Алијас опције конфигурације (фајл alias.conf).
|       alias-info.c | Алијас info/infolists/hdata. |       alias-info.c | Алијас info/infolists/hdata.
|    spell/ | Додатак за проверу правописа. |    spell/ | Додатак за проверу правописа.
|       spell.c | Главне функције провере правописа. |       spell.c | Главне функције провере правописа.
|       spell-bar-item.c | Провера правописа ставке траке. |       spell-bar-item.c | Провера правописа ставке траке.
|       spell-command.c | Провера правописа команде. |       spell-command.c | Провера правописа команде.
|       spell-completion.c | Провера правописа довршавања. |       spell-completion.c | Провера правописа довршавања.
|       spell-config.c | Провера правописа опције конфиг (фајл spell.conf). |       spell-config.c | Провера правописа опције конфиг (фајл spell.conf).
|       spell-info.c | Провера правописа info/infolists/hdata. |       spell-info.c | Провера правописа info/infolists/hdata.
|       spell-speller.c | Управљање библиотекама за проверу правописа. |       spell-speller.c | Управљање библиотекама за проверу правописа.
|    buflist/ | Buflist додатак. |    buflist/ | Buflist додатак.
|       buflist.c | Главне buflist функције. |       buflist.c | Главне buflist функције.
|       buflist-bar-item.c | Buflist ставке траке. |       buflist-bar-item.c | Buflist ставке траке.
|       buflist-command.c | Buflist команде. |       buflist-command.c | Buflist команде.
|       buflist-config.c | Buflist опције кофиг (фајл buflist.conf). |       buflist-completion.c | Buflist довршавања.
|       buflist-info.c | Buflist info/infolists/hdata. |       buflist-config.c | Buflist опције конфиг (фајл buflist.conf).
|       buflist-mouse.c | Buflist акције мишем. |       buflist-info.c | Buflist info/infolists/hdata.
|    charset/ | Charset додатак. |       buflist-mouse.c | Buflist акције мишем.
|       charset.c | Charset функције. |    charset/ | Charset додатак.
|    exec/ | Exec додатак. |       charset.c | Charset функције.
|       exec.c | Флавне exec функције. |    exec/ | Exec додатак.
|       exec-buffer.c | Exec бафер. |       exec.c | Главне exec функције.
|       exec-command.c | Exec команде. |       exec-buffer.c | Exec бафер.
|       exec-completion.c | Exec довршавања. |       exec-command.c | Exec команде.
|       exec-config.c | Exec опције конфиг (фајл exec.conf). |       exec-completion.c | Exec довршавања.
|    fifo/ | Fifo додатак. |       exec-config.c | Exec опције конфиг (фајл exec.conf).
|       fifo.c | Главне fifo функције. |    fifo/ | Fifo додатак.
|       fifo-command.c | Fifo команде. |       fifo.c | Главне fifo функције.
|       fifo-config.c | Fifo опције конфиг (фајл fifo.conf). |       fifo-command.c | Fifo команде.
|       fifo-info.c | Fifo info/infolists/hdata. |       fifo-config.c | Fifo опције конфиг (фајл fifo.conf).
|    fset/ | Fset додатак. |       fifo-info.c | Fifo info/infolists/hdata.
|       fset.c | Главне fset функције. |    fset/ | Fset додатак.
|       fset-bar-item.c | Fset ставке траке. |       fset.c | Главне fset функције.
|       fset-buffer.c | Fset бафер. |       fset-bar-item.c | Fset ставке траке.
|       fset-command.c | Fset команде. |       fset-buffer.c | Fset бафер.
|       fset-completion.c | Fset довршавања. |       fset-command.c | Fset команде.
|       fset-config.c | Fset опције конфиг (фајл fset.conf). |       fset-completion.c | Fset довршавања.
|       fset-info.c | Fset info/infolists/hdata. |       fset-config.c | Fset опције конфиг (фајл fset.conf).
|       fset-mouse.c | Fset акције мишем. |       fset-info.c | Fset info/infolists/hdata.
|       fset-option.c | Fset управљање опцијама. |       fset-mouse.c | Fset акције мишем.
|    guile/ | Guile (scheme) додатак. |       fset-option.c | Fset управљање опцијама.
|       weechat-guile.c | Главне guile функције (учитавањ/уклањање скрипти, извршавање guile кода). |    guile/ | Guile (scheme) додатак.
|       weechat-guile-api.c | API функције guile скриптовања. |       weechat-guile.c | Главне guile функције (учитавање/уклањање скрипти, извршавање guile кода).
|    irc/ | IRC (Internet Relay Chat) додатак. |       weechat-guile-api.c | API функције guile скриптовања.
|       irc.c | Основне IRC функције. |    irc/ | IRC (Internet Relay Chat) додатак.
|       irc-bar-item.c | IRC ставке траке. |       irc.c | Основне IRC функције.
|       irc-batch.c | IRC пакетни догађаји. |       irc-bar-item.c | IRC ставке траке.
|       irc-buffer.c | IRC бафери. |       irc-batch.c | IRC пакетни догађаји.
|       irc-channel.c | IRC канали. |       irc-buffer.c | IRC бафери.
|       irc-color.c | IRC боје. |       irc-channel.c | IRC канали.
|       irc-command.c | IRC команде. |       irc-color.c | IRC боје.
|       irc-completion.c | IRC довршавања. |       irc-command.c | IRC команде.
|       irc-config.c | IRC опције конфиг (фајл irc.conf). |       irc-completion.c | IRC довршавања.
|       irc-ctcp.c | IRC CTCP. |       irc-config.c | IRC опције конфиг (фајл irc.conf).
|       irc-debug.c | IRC дибаг функције. |       irc-ctcp.c | IRC CTCP.
|       irc-ignore.c | IRC Ignore. |       irc-debug.c | IRC дибаг функције.
|       irc-info.c | IRC info/infolists/hdata. |       irc-ignore.c | IRC Ignore.
|       irc-input.c | Унос команди/текста. |       irc-info.c | IRC info/infolists/hdata.
|       irc-join.c | Функције за листе канала којима се приступа. |       irc-input.c | Унос команди/текста.
|       irc-message.c | Функције за манипулисање IRC порукама. |       irc-join.c | Функције за листе канала којима се приступа.
|       irc-mode.c | Функције у вези режима канала/надимка. |       irc-list.c | Бафер за одговор на /list команду.
|       irc-modelist.c | Листе режима IRC канала (+b, +e, +I, ...). |       irc-message.c | Функције за манипулисање IRC порукама.
|       irc-msgbuffer.c | Циљни бафер за IRC поруке. |       irc-mode.c | Функције у вези режима канала/надимка.
|       irc-nick.c | IRC надимци. |       irc-modelist.c | Листе режима IRC канала (+b, +e, +I, ...).
|       irc-notify.c | IRC листе за обавештавање. |       irc-msgbuffer.c | Циљни бафер за IRC поруке.
|       irc-protocol.c | IRC протокол (RFCs 1459/2810/2811/2812/2813/7194). |       irc-nick.c | IRC надимци.
|       irc-raw.c | IRC сирови бафер. |       irc-notify.c | IRC листе за обавештавање.
|       irc-redirect.c | Преусмеравање излаза IRC команде. |       irc-protocol.c | IRC протокол (RFCs 1459/2810/2811/2812/2813/7194).
|       irc-sasl.c | SASL аутентификација са IRC сервером. |       irc-raw.c | IRC сирови бафер.
|       irc-server.c | У/И комуникација са IRC сервером. |       irc-redirect.c | Преусмеравање излаза IRC команде.
|       irc-tag.c | Функције за манипулацију ознакама IRC порука. |       irc-sasl.c | SASL аутентификација са IRC сервером.
|       irc-typing.c | Статус куцања. |       irc-server.c | У/И комуникација са IRC сервером.
|       irc-upgrade.c | Чување/обнављање IRC података када се ажурира програм WeeChat. |       irc-tag.c | Функције за манипулацију ознакама IRC порука.
|    javascript/ | JavaScript додатак. |       irc-typing.c | Статус куцања.
|       weechat-js.cpp | Главне JavaScript функције (учитавање/уклањање скрипти, извршавање JavaScript кода). |       irc-upgrade.c | Чување/обнављање IRC података када се ажурира програм WeeChat.
|       weechat-js-api.cpp | API функције JavaScript скриптовања. |    javascript/ | JavaScript додатак.
|       weechat-js-v8.cpp | JavaScript v8 функције. |       weechat-js.cpp | Главне JavaScript функције (учитавање/уклањање скрипти, извршавање JavaScript кода).
|    logger/ | Logger додатак. |       weechat-js-api.cpp | API функције JavaScript скриптовања.
|       logger.c | Главне logger функције. |       weechat-js-v8.cpp | JavaScript v8 функције.
|       logger-backlog.c | Logger backlog функције. |    logger/ | Logger додатак.
|       logger-buffer.c | Logger управљање листом бафера. |       logger.c | Главне logger функције.
|       logger-command.c | Logger команде. |       logger-backlog.c | Logger backlog функције.
|       logger-config.c | Logger опције конфиг (фајл logger.conf). |       logger-buffer.c | Logger управљање листом бафера.
|       logger-info.c | Logger info/infolists/hdata. |       logger-command.c | Logger команде.
|       logger-tail.c | Функције за враћање последњих линија фајла. |       logger-config.c | Logger опције конфиг (фајл logger.conf).
|    lua/ | Lua додатак. |       logger-info.c | Logger info/infolists/hdata.
|       weechat-lua.c | Главне lua функције (учитавање/уклањање скрипти, извршавање lua кода). |       logger-tail.c | Функције за враћање последњих линија фајла.
|       weechat-lua-api.c | API функције Lua скриптовања. |    lua/ | Lua додатак.
|    perl/ | Perl додатак. |       weechat-lua.c | Главне lua функције (учитавање/уклањање скрипти, извршавање lua кода).
|       weechat-perl.c | Главне perl функције (учитавање/уклањање скрипти, извршавање perl кода). |       weechat-lua-api.c | API функције Lua скриптовања.
|       weechat-perl-api.c | API функције Perl скриптовања. |    perl/ | Perl додатак.
|    php/ | PHP додатак. |       weechat-perl.c | Главне perl функције (учитавање/уклањање скрипти, извршавање perl кода).
|       weechat-php.c | Главне PHP функције (учитавање/уклањање скрипти, извршавање PHP кода). |       weechat-perl-api.c | API функције Perl скриптовања.
|       weechat-php-api.c | API функције PHP скриптовања. |    php/ | PHP додатак.
|    python/ | Python додатак. |       weechat-php.c | Главне PHP функције (учитавање/уклањање скрипти, извршавање PHP кода).
|       weechat-python.c | Главне python функције (учитавање/уклањање скрипти,извршавање python кода). |       weechat-php-api.c | API функције PHP скриптовања.
|       weechat-python-api.c | API функције Python скриптовања. |    python/ | Python додатак.
|    relay/ | Релеј додатак (IRC прокси и релеј за удаљене интерфејсе). |       weechat-python.c | Главне python функције (учитавање/уклањање скрипти,извршавање python кода).
|       relay.c | Главне релеј функције. |       weechat-python-api.c | API функције Python скриптовања.
|       relay-auth.c | Аутентификација клијената. |    relay/ | Релеј додатак (IRC прокси и релеј за удаљене интерфејсе).
|       relay-buffer.c | Релеј бафер. |       relay.c | Главне релеј функције.
|       relay-client.c | Клијенти релеја. |       relay-auth.c | Аутентификација клијената.
|       relay-command.c | Релеј команде. |       relay-buffer.c | Релеј бафер.
|       relay-completion.c | Релеј довршавања. |       relay-client.c | Клијенти релеја.
|       relay-config.c | Релеј опције конфиг (фајл relay.conf). |       relay-command.c | Релеј команде.
|       relay-info.c | Релеј info/infolists/hdata. |       relay-completion.c | Релеј довршавања.
|       relay-network.c | Мрежне функције за релеј. |       relay-config.c | Релеј опције конфиг (фајл relay.conf).
|       relay-raw.c | Релеј сирови бафер. |       relay-http.c | HTTP функције.
|       relay-server.c | Релеј сервер. |       relay-info.c | Релеј info/infolists/hdata.
|       relay-upgrade.c | Save/restore of relay data when upgrading WeeChat. |       relay-network.c | Мрежне функције за релеј.
|       relay-websocket.c | WebSocket сервер функције (RFC 6455). |       relay-raw.c | Релеј сирови бафер.
|       irc/ | IRC прокси. |       relay-remote.c | Релеј удаљених.
|          relay-irc.c | Главне IRC прокси функције. |       relay-server.c | Релеј сервер.
|       weechat/ | Релеј за удаљене интерфејсе. |       relay-upgrade.c | Чување/обнављање података релеја када се ажурира WeeChat.
|          relay-weechat.c | Релеј за удаљене интерфејсе (главне функције). |       relay-websocket.c | WebSocket сервер функције (RFC 6455).
|          relay-weechat-msg.c | Слање бинарних порука клијентима. |       api/ | Релеј за удаљене интерфејсе (користећи HTTP REST API).
|          relay-weechat-nicklist.c | Функције листе надимака. |          relay-api.c | Главне API функције за HTTP REST API.
|          relay-weechat-protocol.c | Читање команди од клијената. |          relay-api-msg.c | Слање JSON порука клијентима.
|    ruby/ | Ruby додатак. |          relay-api-protocol.c | HTTP REST API протокол.
|       weechat-ruby.c | Главне ruby функције (учитавање/уклањање скрипти, извршавање ruby кода). |          remote/ | Функције прослеђивања удаљених, специфичне за API.
|       weechat-ruby-api.c | API функције Ruby скриптовања. |             relay-remote-event.c | Обрада догађаја који се приме од релеја удаљених.
|    script/ | Управљач скриптама. |             relay-remote-network.c | Мрежне функције за релеј удаљених.
|       script.c | Главне функције за управљача скриптама. |       irc/ | IRC прокси.
|       script-action.c | Акције над скриптама (учитавање/уклањање, инсталација/деинсталација, ...). |          relay-irc.c | Главне IRC прокси функције.
|       script-buffer.c | Бафер за управљача скриптама. |       weechat/ | Релеј за удаљене интерфејсе (користећи „weechat” бинарни протокол).
|       script-command.c | Команде за управљача скриптама. |          relay-weechat.c | Релеј за удаљене интерфејсе (главне функције).
|       script-completion.c | Довршавања за управљача скриптама. |          relay-weechat-msg.c | Слање бинарних порука клијентима.
|       script-config.c | Опције конфигурације за управљача скриптама (фајл script.conf). |          relay-weechat-nicklist.c | Функције листе надимака.
|       script-info.c | Управљач скриптама info/infolists/hdata. |          relay-weechat-protocol.c | Читање команди од клијената.
|       script-mouse.c | Скрипт акције мишем. |    ruby/ | Ruby додатак.
|       script-repo.c | Преузимање и читање фајла репозиторијума. |       weechat-ruby.c | Главне ruby функције (учитавање/уклањање скрипти, извршавање ruby кода).
|    tcl/ | Tcl додатак. |       weechat-ruby-api.c | API функције Ruby скриптовања.
|       weechat-tcl.c | Главне tcl функције (учитавање/уклањање скрипти, извршавање tcl кода). |    script/ | Управљач скриптама.
|       weechat-tcl-api.c | API функције Tcl скриптовања. |       script.c | Главне функције за управљача скриптама.
|    trigger/ | Окидач додатак. |       script-action.c | Акције над скриптама (учитавање/уклањање, инсталација/деинсталација, ...).
|       trigger.c | Главне функције окидача. |       script-buffer.c | Бафер за управљача скриптама.
|       trigger-buffer.c | Окидач бафер. |       script-command.c | Команде за управљача скриптама.
|       trigger-callback.c | Окидач функције повратног позива. |       script-completion.c | Довршавања за управљача скриптама.
|       trigger-command.c | Окидач команде. |       script-config.c | Опције конфигурације за управљача скриптама (фајл script.conf).
|       trigger-completion.c | Окидач довршавања. |       script-info.c | Управљач скриптама info/infolists/hdata.
|       trigger-config.c | Окидач опције конфиг (фајл trigger.conf). |       script-mouse.c | Скрипт акције мишем.
|    typing/ | Typing додатак. |       script-repo.c | Преузимање и читање фајла репозиторијума.
|       typing.c | Главне typing функције. |    tcl/ | Tcl додатак.
|       typing-bar-item.c | Typing ставке траке. |       weechat-tcl.c | Главне tcl функције (учитавање/уклањање скрипти, извршавање tcl кода).
|       typing-config.c | Typing конфигурационе опције (фајл typing.conf). |       weechat-tcl-api.c | API функције Tcl скриптовања.
|       typing-status.c | Статус куцања порука на баферима. |    trigger/ | Окидач додатак.
|    xfer/ | Xfer додатак (IRC DCC фајл/разговор). |       trigger.c | Главне функције окидача.
|       xfer.c | Главне xfer функције. |       trigger-buffer.c | Окидач бафер.
|       xfer-buffer.c | Xfer бафер. |       trigger-callback.c | Окидач функције повратног позива.
|       xfer-chat.c | DCC разговор. |       trigger-command.c | Окидач команде.
|       xfer-command.c | Xfer команде. |       trigger-completion.c | Окидач довршавања.
|       xfer-completion.c | Xfer довршавања. |       trigger-config.c | Окидач опције конфиг (фајл trigger.conf).
|       xfer-config.c | Xfer опције конфиг (фајлxfer.conf). |    typing/ | Typing додатак.
|       xfer-dcc.c | DCC пренос фајла. |       typing.c | Главне typing функције.
|       xfer-file.c | Фајл функције за xfer. |       typing-bar-item.c | Typing ставке траке.
|       xfer-info.c | Xfer info/infolists/hdata. |       typing-config.c | Typing конфигурационе опције (фајл typing.conf).
|       xfer-network.c | Мрежне функције за xfer. |       typing-status.c | Статус куцања порука на баферима.
|       xfer-upgrade.c | Чување/обнављање xfer података када се програм WeeChat ажурира. |    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]] [[sources_tests]]
@@ -389,84 +402,120 @@ WeeChat „језгро” се налази у следећим директо
[width="100%", cols="2m,3", options="header"] [width="100%", cols="2m,3", options="header"]
|=== |===
| Путања/фајл | Опис | Путања/фајл | Опис
| tests/ | Корен тестова. | tests/ | Корен тестова.
|    tests.cpp | Програм који се користи за извршавање свих тестова. |    tests.cpp | Програм који се користи за извршавање свих тестова.
|    tests-record.cpp | Бележење и претрага у приказаним порукама. |    tests-record.cpp | Бележење и претрага у приказаним порукама.
|    scripts/ | Корен тестова за API скриптовања. |    scripts/ | Корен тестова за API скриптовања.
|       test-scripts.cpp | Програм који се користи за извршавање тестова API скриптовања. |       test-scripts.cpp | Програм који се користи за извршавање тестова API скриптовања.
|       python/ | Python скрипте које генеришу и покрећу тестове API скриптовања. |       python/ | Python скрипте које генеришу и покрећу тестове API скриптовања.
|          testapigen.py | Python скрипта која генерише скрипте на свим језицима за тестирање API скриптовања. |          testapigen.py | Python скрипта која генерише скрипте на свим језицима за тестирање API скриптовања.
|          testapi.py | Python скрипта са тестовима API скриптовања, користи је скрипта testapigen.py. |          testapi.py | Python скрипта са тестовима API скриптовања, користи је скрипта testapigen.py.
|          unparse.py | Конверзија Python кода у остале језике, користи је скрипта testapigen.py. |          unparse.py | Конверзија Python кода у остале језике, користи је скрипта testapigen.py.
|    unit/ | Корен unit тестова. |    unit/ | Корен unit тестова.
|       test-plugins.cpp | Тестови: plugins. |       test-plugins.cpp | Тестови: plugins.
|       core/ | Корен unit тестова језгра. |       test-plugin-api-info.cpp | Тестови: инфо функције API додатака.
|          test-core-arraylist.cpp | Тестови: arraylists. |       test-plugin-config.cpp | Тестови: функције конфигурације додатка.
|          test-core-calc.cpp | Тестови: калкулација израза. |       core/ | Корен unit тестова језгра.
|          test-core-command.cpp | Тестови: команде. |          test-core-arraylist.cpp | Тестови: arraylists.
|          test-core-config-file.cpp | Тестови: конфигурациони фајлови. |          test-core-calc.cpp | Тестови: калкулација израза.
|          test-core-crypto.cpp | Тестови: криптографске функције. |          test-core-command.cpp | Тестови: команде.
|          test-core-dir.cpp | Тестови: функције директоријума/фајла. |          test-core-config-file.cpp | Тестови: конфигурациони фајлови.
|          test-core-eval.cpp | Тестови: израчунавање израза. |          test-core-crypto.cpp | Тестови: криптографске функције.
|          test-core-hashtble.cpp | Тестови: hashtables. |          test-core-dir.cpp | Тестови: функције директоријума/фајла.
|          test-core-hdata.cpp | Тестови: hdata. |          test-core-eval.cpp | Тестови: израчунавање израза.
|          test-core-hook.cpp | Тестови: куке. |          test-core-hashtble.cpp | Тестови: hashtables.
|          test-core-infolist.cpp | Тестови: infolists. |          test-core-hdata.cpp | Тестови: hdata.
|          test-core-list.cpp | Тестови: листе. |          test-core-hook.cpp | Тестови: куке.
|          test-core-network.cpp | Тестови: мрежне функције. |          test-core-infolist.cpp | Тестови: infolists.
|          test-core-secure.cpp | Тестови: обезбеђени подаци. |          test-core-list.cpp | Тестови: листе.
|          test-core-signal.cpp | Тестови: сигнали. |          test-core-network.cpp | Тестови: мрежне функције.
|          test-core-string.cpp | Тестови: стрингови. |          test-core-secure.cpp | Тестови: обезбеђени подаци.
|          test-core-url.cpp | Тестови: URL адресе. |          test-core-signal.cpp | Тестови: сигнали.
|          test-core-utf8.cpp | Тестови: UTF-8. |          test-core-string.cpp | Тестови: стрингови.
|          test-core-util.cpp | Тестови: помоћне функције. |          test-core-url.cpp | Тестови: URL адресе.
|       gui/ | Корен unit тестова интерфејса. |          test-core-utf8.cpp | Тестови: UTF-8.
|          test-gui-bar-window.cpp | Тестови: функције прозора траке. |          test-core-util.cpp | Тестови: помоћне функције.
|          test-gui-buffer.cpp | Тестови: бафер функције. |          test-core-sys.cpp | Тестови: системске функције.
|          test-gui-chat.cpp | Тестови: чет функције. |          hook/ | Корен unit тестова за куке.
|          test-gui-color.cpp | Тестови: боје. |             test-hook-command.cpp | Тестови: куке „command”.
|          test-gui-filter.cpp | Тестови: филтери. |             test-hook-command-run.cpp | Тестови: куке „command_run”.
|          test-gui-input.cpp | Тестови: улазне функкције. |             test-hook-completion.cpp | Тестови: куке „completion”.
|          test-gui-key.cpp | Тестови: тастери. |             test-hook-config.cpp | Тестови: куке „config”.
|          test-gui-line.cpp | Тестови: линије. |             test-hook-connect.cpp | Тестови: куке „connect”.
|          test-gui-nick.cpp | Тестови: надимци. |             test-hook-fd.cpp | Тестови: куке „fd”.
|       plugins/ | Корен unit тестова додатака. |             test-hook-focus.cpp | Тестови: куке „focus”.
|          irc/ | Корен unit тестова IRC додатка. |             test-hook-hdata.cpp | Тестови: куке „hdata”.
|             test-irc-batch.cpp | Тестови: IRC пакетни догађаји. |             test-hook-hsignal.cpp | Тестови: куке „hsignal”.
|             test-irc-buffer.cpp | Тестови: IRC бафери. |             test-hook-info-hashtable.cpp | Тестови: куке „info_hashtable”.
|             test-irc-channel.cpp | Тестови: IRC канали. |             test-hook-info.cpp | Тестови: куке „info”.
|             test-irc-color.cpp | Тестови: IRC боје. |             test-hook-infolist.cpp | Тестови: куке „infolist”.
|             test-irc-config.cpp | Тестови: IRC конфигурација. |             test-hook-line.cpp | Тестови: куке „line”.
|             test-irc-ignore.cpp | Тестови: IRC игнорисања. |             test-hook-modifier.cpp | Тестови: куке „modifier”.
|             test-irc-join.cpp | Тестови: IRC функције приступања. |             test-hook-print.cpp | Тестови: куке „print”.
|             test-irc-message.cpp | Тестови: IRC поруке. |             test-hook-process.cpp | Тестови: куке „process”.
|             test-irc-mode.cpp | Тестови: IRC режими. |             test-hook-signal.cpp | Тестови: куке „signal”.
|             test-irc-nick.cpp | Тестови: IRC надимци. |             test-hook-timer.cpp | Тестови: куке „timer”.
|             test-irc-protocol.cpp | Тестови: IRC протокол. |             test-hook-url.cpp | Тестови: куке „url”.
|             test-irc-sasl.cpp | Тестови: SASL аутентификација са IRC протоколом. |       gui/ | Корен unit тестова интерфејса.
|             test-irc-server.cpp | Тестови: IRC сервер. |          test-gui-bar-window.cpp | Тестови: функције прозора траке.
|             test-irc-tag.cpp | Тестови: IRC ознаке порука. |          test-gui-buffer.cpp | Тестови: бафер функције.
|          logger/ | Корен unit тестива за logger додатак. |          test-gui-chat.cpp | Тестови: чет функције.
|             test-logger.cpp | Тестови: logger. |          test-gui-color.cpp | Тестови: боје.
|             test-logger-backlog.cpp | Тестови: logger заостатак. |          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 // TRANSLATION MISSING
|             test-logger-tail.cpp | Tests: logger tail functions. |             test-irc-command.cpp | Tests: IRC commands.
|          trigger/ | Корен unit тестова за окидач додатак. |             test-irc-config.cpp | Тестови: IRC конфигурација.
|             test-trigger.cpp | Тестови: окидачи. |             test-irc-ctcp.cpp | Тестови: IRC CTCP.
|             test-trigger-config.cpp | Тестови: конфигурација окидача. |             test-irc-ignore.cpp | Тестови: IRC игнорисања.
|          typing/ | Корен unit тестова за typing додатак. |             test-irc-info.cpp | Тестови: IRC информације.
|             test-typing.cpp | Тестови: typing. |             test-irc-join.cpp | Тестови: IRC функције приступања.
|             test-typing-status.cpp | Тестови: typing статус. |             test-irc-list.cpp | Тестови: IRC бафер за одговор на /list команду.
|          relay/ | Корен unit тестова за Релеј додатак. |             test-irc-message.cpp | Тестови: IRC поруке.
|             test-relay-auth.cpp | Тестови: аутентификација клијената. |             test-irc-mode.cpp | Тестови: IRC режими.
// TRANSLATION MISSING |             test-irc-nick.cpp | Тестови: IRC надимци.
|             irc/ | Root of unit tests for Relay "irc" protocol. |             test-irc-protocol.cpp | Тестови: IRC протокол.
// TRANSLATION MISSING |             test-irc-sasl.cpp | Тестови: SASL аутентификација са IRC протоколом.
|                test-relay-irc.cpp | Tests: Relay "irc" protocol. |             test-irc-server.cpp | Тестови: IRC сервер.
|          xfer/ | Корен unit тестова за Xfer додатак. |             test-irc-tag.cpp | Тестови: IRC ознаке порука.
|             test-xfer-file.cpp | Тестови: фајл функције. |          logger/ | Корен unit тестова за logger додатак.
|             test-xfer-network.cpp | Тестови: мрежне функције. |             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]] [[documentation_translations]]
@@ -524,7 +573,7 @@ WeeChat „језгро” се налази у следећим директо
/* /*
* weechat.c - core functions for 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. * This file is part of WeeChat, the extensible chat client.
* *
@@ -548,7 +597,7 @@ WeeChat „језгро” се налази у следећим директо
Када пишете C кôд, *морате* да се придржавате неких основних правила: Када пишете C кôд, *морате* да се придржавате неких основних правила:
* Користите 4 размака за увлачење редова. Не употребљавајте табове, они су зло. * За увлачење користите 4 размака (без табулатора).
* Покушајте да не прекорачите 80 карактера по линији, осим ако је то неопходно за читљивост. * Покушајте да не прекорачите 80 карактера по линији, осим ако је то неопходно за читљивост.
* Користите коментаре `+/* коментар */+` (а не коментаре у C99 стилу као што је `+// коментар+`). * Користите коментаре `+/* коментар */+` (а не коментаре у C99 стилу као што је `+// коментар+`).
* Испред сваке функције додајте коментар који објашњава шта она ради (увек користите вишелинијски коментар, чак и ако је опис кратак). * Испред сваке функције додајте коментар који објашњава шта она ради (увек користите вишелинијски коментар, чак и ако је опис кратак).
@@ -751,7 +800,7 @@ new_hook_fd = malloc (sizeof (*new_hook_fd));
[width="100%", cols="2m,3", options="header"] [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/ | 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/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, ... | src/plugins/ | plugin.c, plugin-api.c, plugin-api-info.c, plugin-config.c, plugin-script.c, ...
@@ -759,7 +808,7 @@ new_hook_fd = malloc (sizeof (*new_hook_fd));
| src/plugins/python/ | weechat-python.c, weechat-python-api.c, ... | 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]] [[naming_convention_structures]]
==== Структуре ==== Структуре
+75 -21
View File
@@ -517,6 +517,31 @@ UXTerm*metaSendsEscape: true
Ако користите macOS Terminal апликацију, укључите опцију „Use option as meta key” у менију Settings/Keyboard након чега можете користити тастер kbd:[Option] као meta тастер. Ако користите macOS Terminal апликацију, укључите опцију „Use option as meta key” у менију Settings/Keyboard након чега можете користити тастер kbd:[Option] као meta тастер.
[[enter_key]]
=== Зашто неки тастери, укључујући Ентер, не функционишу?
Ако извршавате WeeChat < 4.0.0 са конфигурационим фајловима које је креирала било
која верзија ≥ 4.0.0, имена тастера постану неисправна и многи тастери уопште неће радити. +
Да бисте их поправили, напустите WeeChat, уклоните из weechat.conf све одељке `[key*]`
и поново покрените WeeChat: креираће се сви подразумевани тастери.
[[key_f11]]
=== Тастер F11 максимизира прозор терминала, како могу да скролујем навише листу надимака?
Терминало обично користе тастер kbd:[F11] да максимизују прозор, а у програму WeeChat
тастери kbd:[F11]/kbd:[F12] су подразумевани тастери за скроловање листе надимака.
Можете да вежете остале тастере, на пример kbd:[Shift+F11] и kbd:[Shift+F12],
у WeeChat ≥ 4.0.0:
----
/key bind shift-f11 /bar scroll nicklist * -100%
/key bind shift-f12 /bar scroll nicklist * +100%
----
Још једно решење је да укључите миша (тастер: kbd:[Alt+m]) и да скролујете точкићем
миша (погледајте такође питање у вези са <<mouse,мишем>>).
[[customize_key_bindings]] [[customize_key_bindings]]
=== Како могу да прилагодим тастерске пречице? === Како могу да прилагодим тастерске пречице?
@@ -543,6 +568,12 @@ UXTerm*metaSendsEscape: true
/trigger add numberjump modifier "2000|input_text_for_buffer" "${tg_string} =~ ^/[0-9]+$" "=\/([0-9]+)=/buffer *${re:1}=" "" "" "none" /trigger add numberjump modifier "2000|input_text_for_buffer" "${tg_string} =~ ^/[0-9]+$" "=\/([0-9]+)=/buffer *${re:1}=" "" "" "none"
---- ----
За једноставно скакање на бафере, можете такође да инсталирате и _go.py_ скрипту:
----
/script install go.py
----
[[global_history]] [[global_history]]
=== Како да се тастерима горе и доле користи глобална историја (уместо историје бафера)? === Како да се тастерима горе и доле користи глобална историја (уместо историје бафера)?
@@ -815,32 +846,20 @@ link:weechat_user.sr.html#max_hotlist_level_nicks[hotlist_max_level_nicks_add ^
можете користити да за неке надимке подесите максимални ниво вруће листе, по баферу, или по можете користити да за неке надимке подесите максимални ниво вруће листе, по баферу, или по
групи бафера (као на пример IRC сервери). групи бафера (као на пример IRC сервери).
Ако само желите да искључите истицања, треба да је поставите на 2: Ако само желите да искључите истицања, треба да је поставите на 2.
За текући бафер:
---- ----
/buffer set hotlist_max_level_nicks_add joe:2,mike:2 /buffer setauto hotlist_max_level_nicks_add пера:2,мика:2
---- ----
Међутим, ова особина бафера се не чува у конфигурацији. Ако желите да се ове особине бафера аутоматски поново примене, биће вам потребна скрипта _buffer_autoset.py_: За све канале на серверу „libera”:
---- ----
/script install buffer_autoset.py /set weechat.buffer.irc.libera.*.hotlist_max_level_nicks_add пера:2,мика:2
---- ----
На пример, ако за стално желите да искључите истицања од надимка „mike” са #weechat на IRC серверу libera:
----
/buffer_autoset add irc.libera.#weechat hotlist_max_level_nicks_add mike:2
----
Ако уместо овога желите да се примени на комплетан libera сервер:
----
/buffer_autoset add irc.libera hotlist_max_level_nicks_add mike:2
----
За још примера, погледајте `+/help buffer_autoset+`.
[[irc_target_buffer]] [[irc_target_buffer]]
=== Како могу да променим циљни бафер за команде над спојеним баферима (као што је бафер са серверима)? === Како могу да променим циљни бафер за команде над спојеним баферима (као што је бафер са серверима)?
@@ -957,7 +976,8 @@ export OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES
Можете да следите исте савете као за <<memory_usage,меморију>>, као и следеће: Можете да следите исте савете као за <<memory_usage,меморију>>, као и следеће:
* Сакријте „nicklist” траку: `/bar hide nicklist`. * Сакријте „nicklist” траку: `/bar hide nicklist` (тастер: kbd:[Alt+Shift+N]).
* Искључите „buflist”: `/buflist disable` (тастер: kbd:[Alt+Shift+B]).
* Уклоните приказ секунди из времена у статусној траци: `+/set weechat.look.item_time_format "%H:%M"+` (ово је и подразумевана вредност). * Уклоните приказ секунди из времена у статусној траци: `+/set weechat.look.item_time_format "%H:%M"+` (ово је и подразумевана вредност).
* Искључите проверу неисправно написаних речи у командној линији у реалном времену (ако сте је укључили): `+/set spell.check.real_time off+`. * Искључите проверу неисправно написаних речи у командној линији у реалном времену (ако сте је укључили): `+/set spell.check.real_time off+`.
* Поставите променљиву _TZ_ (на пример: `export TZ="Europe/Paris"`), тиме спречавате чест приступ фајлу _/etc/localtime_. * Поставите променљиву _TZ_ (на пример: `export TZ="Europe/Paris"`), тиме спречавате чест приступ фајлу _/etc/localtime_.
@@ -976,14 +996,20 @@ export OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES
---- ----
/set irc.ctcp.clientinfo "" /set irc.ctcp.clientinfo ""
/set irc.ctcp.finger ""
/set irc.ctcp.source "" /set irc.ctcp.source ""
/set irc.ctcp.time "" /set irc.ctcp.time ""
/set irc.ctcp.userinfo ""
/set irc.ctcp.version "" /set irc.ctcp.version ""
/set irc.ctcp.ping "" /set irc.ctcp.ping ""
---- ----
Са WeeChat < 4.1.0, на остале CTCP упите се подразумевано одговарало и такође морају
да се искључе:
----
/set irc.ctcp.finger ""
/set irc.ctcp.userinfo ""
----
Уклоните из меморије и искључите ауто учитавање „xfer” додатка (користи се за IRC DCC): Уклоните из меморије и искључите ауто учитавање „xfer” додатка (користи се за IRC DCC):
---- ----
@@ -1012,6 +1038,34 @@ export OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES
Погледајте link:weechat_user.sr.html#files_and_directories[Корисничко упутство / Фајлови и директоријуми ^↗^^] за више информација о конфигурационим фајловима. Погледајте link:weechat_user.sr.html#files_and_directories[Корисничко упутство / Фајлови и директоријуми ^↗^^] за више информација о конфигурационим фајловима.
[[move_to_another_device]]
=== Желим да преместим свој WeeChat на други уређај и да задржим текућу конфигурацију, шта би требало да копирам?
Следећом командом најпре проверите које директоријуме користи WeeChat: `/debug dirs`. +
Морају да се копирају директоријуми home/config и home/data (сви фајлови и поддиректоријуми).
На пример, ако користите XDG директоријуме (подразумевано са WeeChat ≥ 3.2),
директоријуми би требало да буду `$HOME/.config/weechat` и `$HOME/.local/share/weechat`. +
Ако користите један директоријум (подразумевано са WeeChat < 3.2), директоријум би
требало да буде `$HOME/.weechat`.
[IMPORTANT]
WeeChat верзија на новом уређају мора да буде већа или једнака од верзије на почетном
уређају. +
Враћање WeeChat конфигурације уназад *НИЈЕ ПОДРЖАНО* и може да је поквари,
па на тај начин WeeChat постаје неупотребљив.
Кораци:
. Напустите Weechat: `/quit` (или `/upgrade -quit` ако желите могућност да наставите сесију,
што укључује садржај свих бафера).
. Копирајте све директоријуме, поддиректоријуме и фајлове на нови уређај, задржавајући
иста имена и дозволе.
. Није обавезно: копирајте све фајлове ван ових директоријума на које указује ваша
конфигурација (не препоручује се употреба фајлова ван WeeChat директоријума).
. Покрените WeeChat на новом уређају: `weechat` (или `weechat --upgrade` у случају да сте
сачували сесију).
[[development]] [[development]]
== Развој == Развој
File diff suppressed because it is too large Load Diff
+35 -23
View File
@@ -92,8 +92,7 @@ _клијенти_ су повезани са _релејем_ као што ј
[[command_handshake]] [[command_handshake]]
=== handshake === handshake
// TRANSLATION MISSING _WeeChat ≥ 2.9, ажурирано у верзијама 3.5, 4.0.0._
_WeeChat ≥ 2.9, updated in versions 3.5, 4.0.0._
Извршава руковање између клијента и програма WeeChat: ово је у већини случајева неопходно како би се сазнале поставке сесије и припремила аутентификација командом _init_. Извршава руковање између клијента и програма WeeChat: ово је у већини случајева неопходно како би се сазнале поставке сесије и припремила аутентификација командом _init_.
@@ -123,11 +122,10 @@ _WeeChat ≥ 2.9, updated in versions 3.5, 4.0.0._
*** _zstd_: компресија са https://facebook.github.io/zstd/[Zstandard ^↗^^]: боља *** _zstd_: компресија са https://facebook.github.io/zstd/[Zstandard ^↗^^]: боља
компресија, као и много бржа компресија и декомпресија у односу на _zlib_ компресија, као и много бржа компресија и декомпресија у односу на _zlib_
_(WeeChat ≥ 3.5)_ _(WeeChat ≥ 3.5)_
// TRANSLATION MISSING ** _escape_commands_: команде које клијент шаље релеју морају да се означе:
** _escape_commands_: commands sent by the client to relay must be escaped: све обрнуте косе црте се интерпретирају и једна обрнута коса црта мора да се означи (`\\`);
all backslashes are interpreted and a single backslash must be escaped (`\\`); на овај начин клијент, на пример, може да шаље вишелинијске поруке (карактери `\n` се
this allows for example the client to send multiline messages (chars `\n` are претварају у преломе редова, погледајте <<command_input,input команду>>)
converted to newlines, see <<command_input,input command>>)
_(WeeChat ≥ 4.0.0)_ _(WeeChat ≥ 4.0.0)_
Напомене у вези опције _password_hash_algo_: Напомене у вези опције _password_hash_algo_:
@@ -158,10 +156,9 @@ _WeeChat ≥ 2.9, updated in versions 3.5, 4.0.0._
** _off_: поруке се не компресују ** _off_: поруке се не компресују
** _zlib_: поруке су компресоване са https://zlib.net/[zlib ^↗^^] ** _zlib_: поруке су компресоване са https://zlib.net/[zlib ^↗^^]
** _zstd_: поруке су компресоване са https://facebook.github.io/zstd/[Zstandard ^↗^^] ** _zstd_: поруке су компресоване са https://facebook.github.io/zstd/[Zstandard ^↗^^]
// TRANSLATION MISSING
* _escape_commands_: * _escape_commands_:
** _on_: all backslashes are interpreted in the client messages ** _on_: све обрнуте косе црте у порукама клијента се интерпретирају
** _off_: backslashes are *NOT* interpreted in the client messages and used as-is ** _off_: обрнуте косе црте у порукама клијента се *НЕ* интерпретирају и користе се онакве какве су
[TIP] [TIP]
У програму WeeChat верзије ≤ 2.8, команда _handshake_ није имплементирана, програм WeeChat једноставно игнорише ову команду, чак и ако се пошаље пре _init_ команде. + У програму WeeChat верзије ≤ 2.8, команда _handshake_ није имплементирана, програм WeeChat једноставно игнорише ову команду, чак и ако се пошаље пре _init_ команде. +
@@ -442,7 +439,9 @@ hda:
'buffer': 'ptr', 'buffer': 'ptr',
'y': 'int', 'y': 'int',
'date': 'tim', 'date': 'tim',
'date_usec': 'int',
'date_printed': 'tim', 'date_printed': 'tim',
'date_usec_printed': 'int',
'str_time': 'str', 'str_time': 'str',
'tags_count': 'int', 'tags_count': 'int',
'tags_array': 'arr', 'tags_array': 'arr',
@@ -460,7 +459,9 @@ hda:
buffer: '0x558d61ea3e60' buffer: '0x558d61ea3e60'
y: -1 y: -1
date: 1588404926 date: 1588404926
date_usec: 118712
date_printed: 1588404926 date_printed: 1588404926
date_usec_printed: 118712
str_time: 'F@0025209F@0024535F@0024026' str_time: 'F@0025209F@0024535F@0024026'
tags_count: 0 tags_count: 0
tags_array: [] tags_array: []
@@ -476,7 +477,9 @@ hda:
buffer: '0x558d61ea3e60' buffer: '0x558d61ea3e60'
y: -1 y: -1
date: 1588404930 date: 1588404930
date_usec: 25
date_printed: 1588404930 date_printed: 1588404930
date_usec_printed: 25
str_time: 'F@0025209F@0024535F@0024030' str_time: 'F@0025209F@0024535F@0024030'
tags_count: 0 tags_count: 0
tags_array: [] tags_array: []
@@ -653,6 +656,7 @@ inl:
nicklist_visible_count: 0 nicklist_visible_count: 0
title: 'WeeChat 2.9-dev (C) 2003-2020 - https://weechat.org/' title: 'WeeChat 2.9-dev (C) 2003-2020 - https://weechat.org/'
input: 1 input: 1
input_get_any_user_data: 0
input_get_unknown_commands: 0 input_get_unknown_commands: 0
input_get_empty: 0 input_get_empty: 0
input_multiline: 0 input_multiline: 0
@@ -664,11 +668,14 @@ inl:
input_buffer_1st_display: 0 input_buffer_1st_display: 0
num_history: 0 num_history: 0
text_search: 0 text_search: 0
text_search_direction: 0
text_search_exact: 0 text_search_exact: 0
text_search_regex: 0 text_search_regex: 0
text_search_regex_compiled: '0x0' text_search_regex_compiled: '0x0'
text_search_where: 0 text_search_where: 0
text_search_history: 0
text_search_found: 0 text_search_found: 0
text_search_ptr_history: '0x0'
text_search_input: None text_search_input: None
highlight_words: None highlight_words: None
highlight_disable_regex: None highlight_disable_regex: None
@@ -947,9 +954,8 @@ input core.weechat /help filter
input irc.libera.#weechat здраво! input irc.libera.#weechat здраво!
---- ----
// TRANSLATION MISSING * Шаље вишелинијску поруку на #test канал (опција _escape_commands_ мора да буде
* Send multiline message to #test channel (option _escape_commands_ must have укључена у <<command_handshake,handshake команди>> и потребан је
been enabled in <<command_handshake,handshake command>> and requires
WeeChat ≥ 4.0.0): WeeChat ≥ 4.0.0):
---- ----
@@ -1947,16 +1953,18 @@ hda:
[width="100%", cols="3m,2,10", options="header"] [width="100%", cols="3m,2,10", options="header"]
|=== |===
| Име | Тип | Опис | Име | Тип | Опис
| buffer | показивач | Показивач на бафер. | buffer | показивач | Показивач на бафер.
| date | време | Датум поруке. | date | време | Датум поруке.
| date_printed | време | Датум када је програм WeeChat приказао поруку. | date_usec | цео број | Микросекунде датума.
| displayed | карактер | 1 ако је порука приказана, 0 ако је порука филтрирана (скривена). | date_printed | време | Датум када је програм WeeChat приказао поруку.
| notify_level | карактер | Ниво обавештења: -1 = обавештење искључено, 0 = ниски, 1 = порука, 2 = приватно, 3 = истицање. | date_usec_printed | цео број | Микросекунде датума када је WeeChat приказао поруку.
| highlight | карактер | 1 ако се у линији налази истицање, у супротном 0. | displayed | карактер | 1 ако је порука приказана, 0 ако је порука филтрирана (скривена).
| tags_array | низ стрингова | Листа ознака за линију. | notify_level | карактер | Ниво обавештења: -1 = обавештење искључено, 0 = ниски, 1 = порука, 2 = приватно, 3 = истицање.
| prefix | стринг | Префикс. | highlight | карактер | 1 ако се у линији налази истицање, у супротном 0.
| message | стринг | Порука. | tags_array | низ стрингова | Листа ознака за линију.
| prefix | стринг | Префикс.
| message | стринг | Порука.
|=== |===
Пример: нова порука _здраво!_ од надимка _FlashCode_ у баферу _irc.libera.#weechat_: Пример: нова порука _здраво!_ од надимка _FlashCode_ у баферу _irc.libera.#weechat_:
@@ -1968,7 +1976,9 @@ hda:
keys: { keys: {
'buffer': 'ptr', 'buffer': 'ptr',
'date': 'tim', 'date': 'tim',
'date_usec': 'int',
'date_printed': 'tim', 'date_printed': 'tim',
'date_usec_printed': 'int',
'displayed': 'chr', 'displayed': 'chr',
'notify_level': 'chr', 'notify_level': 'chr',
'highlight': 'chr', 'highlight': 'chr',
@@ -1981,7 +1991,9 @@ hda:
__path: ['0x4a49600'] __path: ['0x4a49600']
buffer: '0x4a715d0' buffer: '0x4a715d0'
date: 1362728993 date: 1362728993
date_usec: 902765
date_printed: 1362728993 date_printed: 1362728993
date_usec_printed: 902765
displayed: 1 displayed: 1
notify_level: 1 notify_level: 1
highlight: 0 highlight: 0
+2 -303
View File
@@ -510,315 +510,14 @@ weechat_hook_timer(1000, 0, 1, $timer_cb, 'test');
Листа функција у API скриптовања: Листа функција у API скриптовања:
[width="100%", cols="1,5", options="header"] include::{autogendir}/autogen_scripting_functions.sr.adoc[tag=functions]
|===
| Категорија | Функције
| опште
| 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
|===
[[script_api_constants]] [[script_api_constants]]
=== Константе === Константе
Листа константи у API скриптовања: Листа константи у API скриптовања:
[width="100%", cols="1,5", options="header"] include::{autogendir}/autogen_scripting_constants.sr.adoc[tag=constants]
|===
| Категорија | Константе
| повратни кодови
| `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` (стринг)
|===
[[common_tasks]] [[common_tasks]]
== Уобичајени задаци == Уобичајени задаци
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -1,5 +1,5 @@
# #
# Copyright (C) 2003-2023 Sébastien Helleu <flashcode@flashtux.org> # Copyright (C) 2003-2024 Sébastien Helleu <flashcode@flashtux.org>
# #
# This file is part of WeeChat, the extensible chat client. # This file is part of WeeChat, the extensible chat client.
# #
+53 -57
View File
@@ -1,5 +1,5 @@
# #
# Copyright (C) 2003-2023 Sébastien Helleu <flashcode@flashtux.org> # Copyright (C) 2003-2024 Sébastien Helleu <flashcode@flashtux.org>
# #
# This file is part of WeeChat, the extensible chat client. # This file is part of WeeChat, the extensible chat client.
# #
@@ -17,6 +17,11 @@
# along with WeeChat. If not, see <https://www.gnu.org/licenses/>. # along with WeeChat. If not, see <https://www.gnu.org/licenses/>.
# #
# Check for programs xgettext, msgmerge and msgfmt
find_program(XGETTEXT_EXECUTABLE xgettext REQUIRED)
find_program(MSGMERGE_EXECUTABLE msgmerge REQUIRED)
find_program(MSGFMT_EXECUTABLE msgfmt REQUIRED)
set(PO_FILES set(PO_FILES
cs.po cs.po
de.po de.po
@@ -39,70 +44,61 @@ set(POT_FILE_PATH "${CMAKE_CURRENT_BINARY_DIR}/${POT_FILE}")
include(srcfiles.cmake) include(srcfiles.cmake)
# Looking for xgettext, msgmerge and msgfmt # Create PO template file weechat.pot
find_program(XGETTEXT_EXECUTABLE xgettext) set(SRC_FILES)
find_program(MSGMERGE_EXECUTABLE msgmerge) set(POT_DEPENDS)
find_program(MSGFMT_EXECUTABLE msgfmt)
if(XGETTEXT_EXECUTABLE AND MSGMERGE_EXECUTABLE AND MSGFMT_EXECUTABLE) foreach(srcfile ${WEECHAT_SOURCES})
set(SRC_FILES ${SRC_FILES} ${srcfile})
set(POT_DEPENDS ${POT_DEPENDS} "${CMAKE_SOURCE_DIR}/${srcfile}")
endforeach()
# Create PO template file weechat.pot add_custom_command(
set(SRC_FILES) OUTPUT "${POT_FILE_PATH}"
set(POT_DEPENDS) COMMAND "${XGETTEXT_EXECUTABLE}"
ARGS -o "${POT_FILE_PATH}" --add-comments='TRANSLATORS:' --keyword='_' --keyword='weechat_gettext' --keyword='N_' --keyword='NG_:1,2' --keyword='weechat_ngettext:1,2' --no-location --from-code=UTF-8 --directory="${CMAKE_SOURCE_DIR}" --package-name='WeeChat' --package-version=${VERSION} --msgid-bugs-address=${BUGS_ADDRESS} --copyright-holder='NAME' ${SRC_FILES}
DEPENDS ${POT_DEPENDS}
COMMENT "Generating ${POT_FILE}"
)
foreach(srcfile ${WEECHAT_SOURCES}) set(MO_FILES)
set(SRC_FILES ${SRC_FILES} ${srcfile}) set(UPDATE_PO_TARGETS)
set(POT_DEPENDS ${POT_DEPENDS} "${CMAKE_SOURCE_DIR}/${srcfile}") foreach(pofile ${PO_FILES})
endforeach() get_filename_component(polang ${pofile} NAME_WE)
# Compile .po files in build directory (to binary .mo files)
set(modir "${CMAKE_CURRENT_BINARY_DIR}/${polang}/LC_MESSAGES")
file(MAKE_DIRECTORY "${modir}")
set(mofile "${modir}/${PROJECT_NAME}.mo")
add_custom_command( add_custom_command(
OUTPUT "${POT_FILE_PATH}" OUTPUT "${mofile}"
COMMAND "${XGETTEXT_EXECUTABLE}" COMMAND "${MSGMERGE_EXECUTABLE}" ARGS --quiet -o "${CMAKE_CURRENT_BINARY_DIR}/${pofile}" "${CMAKE_CURRENT_SOURCE_DIR}/${pofile}" ${POT_FILE_PATH}
ARGS -o "${POT_FILE_PATH}" --add-comments='TRANSLATORS:' --keyword='_' --keyword='weechat_gettext' --keyword='N_' --keyword='NG_:1,2' --keyword='weechat_ngettext:1,2' --no-location --from-code=UTF-8 --directory="${CMAKE_SOURCE_DIR}" --package-name='WeeChat' --package-version=${VERSION} --msgid-bugs-address=${BUGS_ADDRESS} --copyright-holder='NAME' ${SRC_FILES} COMMAND "${MSGFMT_EXECUTABLE}" ARGS -o "${mofile}" "${CMAKE_CURRENT_BINARY_DIR}/${pofile}"
DEPENDS ${POT_DEPENDS} COMMAND "${MSGFMT_EXECUTABLE}" ARGS -c --statistics --verbose --output-file=/dev/null "${CMAKE_CURRENT_BINARY_DIR}/${pofile}"
COMMENT "Generating ${POT_FILE}" DEPENDS "${POT_FILE_PATH}" "${CMAKE_CURRENT_SOURCE_DIR}/${pofile}"
COMMENT "Compiling ${polang}.po"
) )
set(MO_FILES) # Update .po files in source directory (if needed)
set(UPDATE_PO_TARGETS)
foreach(pofile ${PO_FILES})
get_filename_component(polang ${pofile} NAME_WE)
# Compile .po files in build directory (to binary .mo files)
set(modir "${CMAKE_CURRENT_BINARY_DIR}/${polang}/LC_MESSAGES")
file(MAKE_DIRECTORY "${modir}")
set(mofile "${modir}/${PROJECT_NAME}.mo")
add_custom_command(
OUTPUT "${mofile}"
COMMAND "${MSGMERGE_EXECUTABLE}" ARGS --quiet -o "${CMAKE_CURRENT_BINARY_DIR}/${pofile}" "${CMAKE_CURRENT_SOURCE_DIR}/${pofile}" ${POT_FILE_PATH}
COMMAND "${MSGFMT_EXECUTABLE}" ARGS -o "${mofile}" "${CMAKE_CURRENT_BINARY_DIR}/${pofile}"
COMMAND "${MSGFMT_EXECUTABLE}" ARGS -c --statistics --verbose --output-file=/dev/null "${CMAKE_CURRENT_BINARY_DIR}/${pofile}"
DEPENDS "${POT_FILE_PATH}" "${CMAKE_CURRENT_SOURCE_DIR}/${pofile}"
COMMENT "Compiling ${polang}.po"
)
# Update .po files in source directory (if needed)
add_custom_target(
update-${pofile}
COMMAND "${MSGMERGE_EXECUTABLE}" --quiet --update --previous --backup=none "${CMAKE_CURRENT_SOURCE_DIR}/${pofile}" "${POT_FILE_PATH}"
COMMENT "Updating ${polang}.po"
)
set(UPDATE_PO_TARGETS ${UPDATE_PO_TARGETS} update-${pofile})
install(FILES "${mofile}" DESTINATION "${LOCALEDIR}/${polang}/LC_MESSAGES")
set(MO_FILES ${MO_FILES} ${mofile})
endforeach()
add_custom_target(translations ALL DEPENDS ${MO_FILES})
# Update weechat.pot in source directory (if needed)
add_custom_target( add_custom_target(
update-${POT_FILE} update-${pofile}
COMMAND "${MSGMERGE_EXECUTABLE}" --quiet --update --backup=none "${CMAKE_CURRENT_SOURCE_DIR}/${POT_FILE}" "${POT_FILE_PATH}" COMMAND "${MSGMERGE_EXECUTABLE}" --quiet --update --previous --backup=none "${CMAKE_CURRENT_SOURCE_DIR}/${pofile}" "${POT_FILE_PATH}"
COMMENT "Updating ${POT_FILE}" COMMENT "Updating ${polang}.po"
) )
set(UPDATE_PO_TARGETS ${UPDATE_PO_TARGETS} update-${pofile})
# Update all .po and weechat.pot in source directory (if needed) install(FILES "${mofile}" DESTINATION "${LOCALEDIR}/${polang}/LC_MESSAGES")
add_custom_target(update-po DEPENDS update-${POT_FILE} ${UPDATE_PO_TARGETS}) set(MO_FILES ${MO_FILES} ${mofile})
endforeach()
endif() add_custom_target(translations ALL DEPENDS ${MO_FILES})
# Update weechat.pot in source directory (if needed)
add_custom_target(
update-${POT_FILE}
COMMAND "${MSGMERGE_EXECUTABLE}" --quiet --update --backup=none "${CMAKE_CURRENT_SOURCE_DIR}/${POT_FILE}" "${POT_FILE_PATH}"
COMMENT "Updating ${POT_FILE}"
)
# Update all .po and weechat.pot in source directory (if needed)
add_custom_target(update-po DEPENDS update-${POT_FILE} ${UPDATE_PO_TARGETS})
+5828 -3149
View File
File diff suppressed because it is too large Load Diff
+6591 -5083
View File
File diff suppressed because it is too large Load Diff
+5881 -3564
View File
File diff suppressed because it is too large Load Diff
+6411 -4922
View File
File diff suppressed because it is too large Load Diff
+5380 -2671
View File
File diff suppressed because it is too large Load Diff
+5900 -3292
View File
File diff suppressed because it is too large Load Diff
+6230 -4567
View File
File diff suppressed because it is too large Load Diff
+6449 -6064
View File
File diff suppressed because it is too large Load Diff
+6109 -4283
View File
File diff suppressed because it is too large Load Diff
+5711 -3086
View File
File diff suppressed because it is too large Load Diff
+5401 -2676
View File
File diff suppressed because it is too large Load Diff
+6259 -4906
View File
File diff suppressed because it is too large Load Diff
+122 -100
View File
@@ -1,106 +1,110 @@
SET(WEECHAT_SOURCES SET(WEECHAT_SOURCES
./src/core/hook/wee-hook-command.c ./src/core/hook/hook-command.c
./src/core/hook/wee-hook-command.h ./src/core/hook/hook-command.h
./src/core/hook/wee-hook-command-run.c ./src/core/hook/hook-command-run.c
./src/core/hook/wee-hook-command-run.h ./src/core/hook/hook-command-run.h
./src/core/hook/wee-hook-completion.c ./src/core/hook/hook-completion.c
./src/core/hook/wee-hook-completion.h ./src/core/hook/hook-completion.h
./src/core/hook/wee-hook-config.c ./src/core/hook/hook-config.c
./src/core/hook/wee-hook-config.h ./src/core/hook/hook-config.h
./src/core/hook/wee-hook-connect.c ./src/core/hook/hook-connect.c
./src/core/hook/wee-hook-connect.h ./src/core/hook/hook-connect.h
./src/core/hook/wee-hook-fd.c ./src/core/hook/hook-fd.c
./src/core/hook/wee-hook-fd.h ./src/core/hook/hook-fd.h
./src/core/hook/wee-hook-focus.c ./src/core/hook/hook-focus.c
./src/core/hook/wee-hook-focus.h ./src/core/hook/hook-focus.h
./src/core/hook/wee-hook-hdata.c ./src/core/hook/hook-hdata.c
./src/core/hook/wee-hook-hdata.h ./src/core/hook/hook-hdata.h
./src/core/hook/wee-hook-hsignal.c ./src/core/hook/hook-hsignal.c
./src/core/hook/wee-hook-hsignal.h ./src/core/hook/hook-hsignal.h
./src/core/hook/wee-hook-info.c ./src/core/hook/hook-info.c
./src/core/hook/wee-hook-info.h ./src/core/hook/hook-info.h
./src/core/hook/wee-hook-info-hashtable.c ./src/core/hook/hook-info-hashtable.c
./src/core/hook/wee-hook-info-hashtable.h ./src/core/hook/hook-info-hashtable.h
./src/core/hook/wee-hook-infolist.c ./src/core/hook/hook-infolist.c
./src/core/hook/wee-hook-infolist.h ./src/core/hook/hook-infolist.h
./src/core/hook/wee-hook-line.c ./src/core/hook/hook-line.c
./src/core/hook/wee-hook-line.h ./src/core/hook/hook-line.h
./src/core/hook/wee-hook-modifier.c ./src/core/hook/hook-modifier.c
./src/core/hook/wee-hook-modifier.h ./src/core/hook/hook-modifier.h
./src/core/hook/wee-hook-print.c ./src/core/hook/hook-print.c
./src/core/hook/wee-hook-print.h ./src/core/hook/hook-print.h
./src/core/hook/wee-hook-process.c ./src/core/hook/hook-process.c
./src/core/hook/wee-hook-process.h ./src/core/hook/hook-process.h
./src/core/hook/wee-hook-signal.c ./src/core/hook/hook-signal.c
./src/core/hook/wee-hook-signal.h ./src/core/hook/hook-signal.h
./src/core/hook/wee-hook-timer.c ./src/core/hook/hook-timer.c
./src/core/hook/wee-hook-timer.h ./src/core/hook/hook-timer.h
./src/core/wee-arraylist.c ./src/core/hook/hook-url.c
./src/core/wee-arraylist.h ./src/core/hook/hook-url.h
./src/core/wee-backtrace.c ./src/core/core-arraylist.c
./src/core/wee-backtrace.h ./src/core/core-arraylist.h
./src/core/wee-calc.c ./src/core/core-backtrace.c
./src/core/wee-calc.h ./src/core/core-backtrace.h
./src/core/core-calc.c
./src/core/core-calc.h
./src/core/weechat.c ./src/core/weechat.c
./src/core/weechat.h ./src/core/weechat.h
./src/core/wee-command.c ./src/core/core-command.c
./src/core/wee-command.h ./src/core/core-command.h
./src/core/wee-completion.c ./src/core/core-completion.c
./src/core/wee-completion.h ./src/core/core-completion.h
./src/core/wee-config.c ./src/core/core-config.c
./src/core/wee-config-file.c ./src/core/core-config-file.c
./src/core/wee-config-file.h ./src/core/core-config-file.h
./src/core/wee-config.h ./src/core/core-config.h
./src/core/wee-crypto.c ./src/core/core-crypto.c
./src/core/wee-crypto.h ./src/core/core-crypto.h
./src/core/wee-debug.c ./src/core/core-debug.c
./src/core/wee-debug.h ./src/core/core-debug.h
./src/core/wee-dir.c ./src/core/core-dir.c
./src/core/wee-dir.h ./src/core/core-dir.h
./src/core/wee-doc.c ./src/core/core-doc.c
./src/core/wee-doc.h ./src/core/core-doc.h
./src/core/wee-eval.c ./src/core/core-eval.c
./src/core/wee-eval.h ./src/core/core-eval.h
./src/core/wee-hashtable.c ./src/core/core-hashtable.c
./src/core/wee-hashtable.h ./src/core/core-hashtable.h
./src/core/wee-hdata.c ./src/core/core-hdata.c
./src/core/wee-hdata.h ./src/core/core-hdata.h
./src/core/wee-hook.c ./src/core/core-hook.c
./src/core/wee-hook.h ./src/core/core-hook.h
./src/core/wee-infolist.c ./src/core/core-infolist.c
./src/core/wee-infolist.h ./src/core/core-infolist.h
./src/core/wee-input.c ./src/core/core-input.c
./src/core/wee-input.h ./src/core/core-input.h
./src/core/wee-list.c ./src/core/core-list.c
./src/core/wee-list.h ./src/core/core-list.h
./src/core/wee-log.c ./src/core/core-log.c
./src/core/wee-log.h ./src/core/core-log.h
./src/core/wee-network.c ./src/core/core-network.c
./src/core/wee-network.h ./src/core/core-network.h
./src/core/wee-proxy.c ./src/core/core-proxy.c
./src/core/wee-proxy.h ./src/core/core-proxy.h
./src/core/wee-secure-buffer.c ./src/core/core-secure-buffer.c
./src/core/wee-secure-buffer.h ./src/core/core-secure-buffer.h
./src/core/wee-secure.c ./src/core/core-secure.c
./src/core/wee-secure-config.c ./src/core/core-secure-config.c
./src/core/wee-secure-config.h ./src/core/core-secure-config.h
./src/core/wee-secure.h ./src/core/core-secure.h
./src/core/wee-signal.c ./src/core/core-signal.c
./src/core/wee-signal.h ./src/core/core-signal.h
./src/core/wee-string.c ./src/core/core-string.c
./src/core/wee-string.h ./src/core/core-string.h
./src/core/wee-upgrade.c ./src/core/core-sys.c
./src/core/wee-upgrade-file.c ./src/core/core-sys.h
./src/core/wee-upgrade-file.h ./src/core/core-upgrade.c
./src/core/wee-upgrade.h ./src/core/core-upgrade-file.c
./src/core/wee-url.c ./src/core/core-upgrade-file.h
./src/core/wee-url.h ./src/core/core-upgrade.h
./src/core/wee-utf8.c ./src/core/core-url.c
./src/core/wee-utf8.h ./src/core/core-url.h
./src/core/wee-util.c ./src/core/core-utf8.c
./src/core/wee-util.h ./src/core/core-utf8.h
./src/core/wee-version.c ./src/core/core-util.c
./src/core/wee-version.h ./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.c
./src/gui/curses/gui-curses-bar-window.h ./src/gui/curses/gui-curses-bar-window.h
./src/gui/curses/gui-curses-chat.c ./src/gui/curses/gui-curses-chat.c
@@ -179,6 +183,8 @@ SET(WEECHAT_SOURCES
./src/plugins/buflist/buflist.c ./src/plugins/buflist/buflist.c
./src/plugins/buflist/buflist-command.c ./src/plugins/buflist/buflist-command.c
./src/plugins/buflist/buflist-command.h ./src/plugins/buflist/buflist-command.h
./src/plugins/buflist/buflist-completion.c
./src/plugins/buflist/buflist-completion.h
./src/plugins/buflist/buflist-config.c ./src/plugins/buflist/buflist-config.c
./src/plugins/buflist/buflist-config.h ./src/plugins/buflist/buflist-config.h
./src/plugins/buflist/buflist.h ./src/plugins/buflist/buflist.h
@@ -258,6 +264,8 @@ SET(WEECHAT_SOURCES
./src/plugins/irc/irc-input.h ./src/plugins/irc/irc-input.h
./src/plugins/irc/irc-join.c ./src/plugins/irc/irc-join.c
./src/plugins/irc/irc-join.h ./src/plugins/irc/irc-join.h
./src/plugins/irc/irc-list.c
./src/plugins/irc/irc-list.h
./src/plugins/irc/irc-message.c ./src/plugins/irc/irc-message.c
./src/plugins/irc/irc-message.h ./src/plugins/irc/irc-message.h
./src/plugins/irc/irc-mode.c ./src/plugins/irc/irc-mode.c
@@ -336,6 +344,16 @@ SET(WEECHAT_SOURCES
./src/plugins/python/weechat-python-api.h ./src/plugins/python/weechat-python-api.h
./src/plugins/python/weechat-python.c ./src/plugins/python/weechat-python.c
./src/plugins/python/weechat-python.h ./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.c
./src/plugins/relay/irc/relay-irc.h ./src/plugins/relay/irc/relay-irc.h
./src/plugins/relay/relay-auth.c ./src/plugins/relay/relay-auth.c
@@ -352,12 +370,16 @@ SET(WEECHAT_SOURCES
./src/plugins/relay/relay-config.c ./src/plugins/relay/relay-config.c
./src/plugins/relay/relay-config.h ./src/plugins/relay/relay-config.h
./src/plugins/relay/relay.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.c
./src/plugins/relay/relay-info.h ./src/plugins/relay/relay-info.h
./src/plugins/relay/relay-network.c ./src/plugins/relay/relay-network.c
./src/plugins/relay/relay-network.h ./src/plugins/relay/relay-network.h
./src/plugins/relay/relay-raw.c ./src/plugins/relay/relay-raw.c
./src/plugins/relay/relay-raw.h ./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.c
./src/plugins/relay/relay-server.h ./src/plugins/relay/relay-server.h
./src/plugins/relay/relay-upgrade.c ./src/plugins/relay/relay-upgrade.c
+6386 -5128
View File
File diff suppressed because it is too large Load Diff
+5011 -2412
View File
File diff suppressed because it is too large Load Diff

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