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

Compare commits

...

883 Commits

Author SHA1 Message Date
Sébastien Helleu ad4529dc39 Version 4.1.3 2024-01-20 09:18:02 +01:00
Sébastien Helleu aff7a19339 core: add release notes for next version 2024-01-20 09:12:35 +01:00
Sébastien Helleu 1eed2d0e50 core: add version 4.0.8 in ChangeLog and release notes 2024-01-20 09:11:53 +01:00
Sébastien Helleu 5cb0f201f5 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 18:02:54 +01:00
Sébastien Helleu 4cd22e470c irc: fix info "irc_is_message_ignored" (issue #2059) 2024-01-12 18:02:31 +01:00
Sébastien Helleu 97b9d4b26e 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:35:29 +01:00
Sébastien Helleu f0394bf486 core: fix crash on plugin reload when using musl libc (issue #2052) 2023-12-15 23:02:27 +01:00
Sébastien Helleu 94616b4294 core: fix infinite loop in display when the chat area is too small (issue #2053) 2023-12-14 23:21:08 +01:00
Sébastien Helleu 1ade7c54a2 Version 4.1.3-dev 2023-12-14 23:20:28 +01:00
Sébastien Helleu 14b8518ae2 Version 4.1.2 2023-12-03 19:17:25 +01:00
Sébastien Helleu 4dbae51568 core: add version 4.0.7 in ChangeLog and release notes 2023-12-03 19:12:59 +01:00
Sébastien Helleu 19a1b4145b irc: remove trailing "\r\n" in signals "irc_out" and "irc_outtags" when messages are queued 2023-11-26 18:57:21 +01:00
Sébastien Helleu f6912518b3 tests: add tests on IRC message 337 2023-11-07 21:59:22 +01:00
Sébastien Helleu 5115bebb27 irc: fix target buffer of IRC message 337 (whois reply: "is hiding their idle time") 2023-11-07 21:50:55 +01:00
Sébastien Helleu ceaaab3866 core: fix value of buffer variable "num_history" when the value defined in option weechat.history.max_commands is reached 2023-11-04 17:02:08 +01:00
Sébastien Helleu 4865087019 relay: close properly connection with the IRC client in case of server disconnection (issue #2038) 2023-11-04 09:05:39 +01:00
Sébastien Helleu 532f2ce683 core: remove incorrect warning when binding keys F10 to F20 (issue #2039) 2023-11-04 08:37:36 +01:00
Sébastien Helleu 67bcbf5256 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 14:17:15 +01:00
Sébastien Helleu 08fbfcc203 core: fix memory leak when config version is invalid or not supported 2023-10-30 23:30:01 +01:00
Sébastien Helleu fad3f0c942 core: check that buffer is not NULL in function gui_chat_printf_date_tags_internal 2023-10-30 23:29:25 +01:00
Sébastien Helleu 8c55f87fb2 core: fix use NULL pointer when a config file has no options 2023-10-30 23:29:17 +01:00
Sébastien Helleu 8fae2fd927 logger: remove dead assignment 2023-10-30 23:29:13 +01:00
Sébastien Helleu 53f1eb9b28 xfer: fix use of uninitialized variable when adding a new xfer 2023-10-30 23:29:05 +01:00
Sébastien Helleu 3e78d55495 xfer: fix use of NULL pointer in strrchr() 2023-10-30 23:28:51 +01:00
Sébastien Helleu aa5c03334a core: fix crash when "config_version" is present in a configuration file without a value 2023-10-30 23:28:07 +01:00
Sébastien Helleu 8e6647c7c9 core: display an error on startup if environment variable "HOME" is not set 2023-10-30 23:27:20 +01:00
Sébastien Helleu e140f3cf8e tests: check that environment variable "HOME" is set before using it 2023-10-30 23:26:01 +01:00
Sébastien Helleu 60b2b03f9a ruby: fix use of NULL variable when displaying exception 2023-10-30 23:25:51 +01:00
Sébastien Helleu 1769ce1814 Version 4.1.2-dev 2023-10-30 23:24:34 +01:00
Sébastien Helleu fbd579eb61 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:21:00 +02:00
Sébastien Helleu 0e97de4293 Version 4.1.1 2023-10-26 21:13:53 +02:00
Sébastien Helleu 097dc1f48f Version 4.1.1-dev 2023-10-26 21:12:39 +02:00
Sébastien Helleu c3dba4496b core: add version 4.0.6 in ChangeLog and release notes 2023-10-26 21:11:07 +02:00
Sébastien Helleu 7d854c84de core: fix crash when a custom bar item name is already used by a default bar item (issue #2034) 2023-10-23 13:11:02 +02:00
Sébastien Helleu a9c410ff23 core: fix random timeouts when a lot of concurrent processes are launched with hook_process (issue #2033) 2023-10-22 21:05:45 +02:00
Sébastien Helleu 8c4ff51beb core: update translations (issue #194, issue #2032) 2023-10-19 23:57:25 +02:00
Sébastien Helleu 6ca604938f irc: revert compute of nick colors to case sensitive way, deprecate again IRC nick color infos (issue #194, issue #2032) 2023-10-19 23:31:49 +02:00
Sébastien Helleu 252f787fcf 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 839148e9d4 core: update French translations 2023-10-15 15:47:04 +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
Sébastien Helleu 1c449f3c2e Version 4.0.0 2023-06-24 22:00:30 +02:00
Sébastien Helleu 7c7a9484fb doc/user: fix typo in French translation 2023-06-23 12:01:56 +02:00
Nils Görs eacb807448 core: update German translations 2023-06-23 07:43:45 +02:00
Sébastien Helleu 001cf3376d core: update ChangeLog 2023-06-19 07:30:31 +02:00
Sébastien Helleu e1d1831fa8 core: ignore rest of config file if config version is invalid or not supported 2023-06-17 13:13:11 +02:00
Nils Görs 3e42d95f40 core: update German translations 2023-06-16 14:31:16 +02:00
Sébastien Helleu 1b78cd3bd2 exec: fix URL to plugin API reference in /help exec 2023-06-15 22:07:34 +02:00
Sébastien Helleu 9d7766ce3d doc/user: fix URL to plugin API reference 2023-06-15 22:04:45 +02:00
Sébastien Helleu 2d25cac44a relay: add IPv6 example in /help relay.network.bind_address 2023-06-15 22:04:16 +02:00
Sébastien Helleu 09b512337a core: replace Debian Bullseye by Bookworm in Debian build script 2023-06-12 21:26:21 +02:00
Sébastien Helleu 3af4ccff38 doc/user: update dependencies versions to Debian Bookworm 2023-06-12 21:26:00 +02:00
Sébastien Helleu 964d882c61 doc/user: fix description of key ctrl+q in search context 2023-06-12 18:38:21 +02:00
Nils Görs a9544af15c core: update German translations 2023-06-11 17:54:43 +02:00
Sébastien Helleu 8c73634e1b relay: fix crash on /upgrade when at least a client is connected with weechat protocol 2023-06-11 14:33:32 +02:00
Sébastien Helleu fc91ee59c9 core: add completions "filters_names_disabled" and "filters_names_enabled"
They are used in completion of commands `/filter disable` and
`/filter enable`.
2023-06-10 22:38:54 +02:00
Sébastien Helleu 1145d9f188 trigger: add completions "trigger_names_disabled" and "trigger_names_enabled"
They are used in completion of commands `/trigger disable` and
`/trigger enable`.
2023-06-10 20:30:52 +02:00
Sébastien Helleu 5de7152383 core: update instructions in cygport file 2023-06-10 18:16:24 +02:00
Sébastien Helleu 5d06ab76df exec: remove trailing "M" (carriage return) in output of commands
Regression was indirectly caused by commit
d18f68e497 in core that allows to display all
control chars in buffers.

But the fix is in exec plugin: end of line in command output can now be "\r\n"
in addition to a single "\n".
2023-06-10 09:51:04 +02:00
Sébastien Helleu 2eacbe6153 core: add new IRC capabilities in release notes 2023-06-07 18:23:42 +02:00
Sébastien Helleu 0b51c2d0be doc: increase sectnumlevels to 2 (user/scripting/quickstart/relay/dev) 2023-06-06 19:13:20 +02:00
Sébastien Helleu 4185e7b9f6 guile: fix crash when plugin is loaded on GNU/Hurd (closes #1951) 2023-06-05 21:09:27 +02:00
Sébastien Helleu 0d92c8703f debian: update changelog 2023-06-05 19:09:25 +02:00
Sébastien Helleu dccd1a348c doc: fix URLs to WeeChat docs 2023-06-05 19:08:12 +02:00
Sébastien Helleu ab9b8e0b01 tests: fix checks on integers in relay irc protocol tests 2023-06-05 19:04:05 +02:00
Sébastien Helleu 7f07782208 tests: add missing include of string.h in logger tests 2023-06-05 19:02:57 +02:00
Sébastien Helleu 7a754d93ab doc/relay: add option "escape_commands" in handshake response and examples 2023-06-05 19:01:46 +02:00
Sébastien Helleu 3a4f51b352 Version 4.0.0-rc1 2023-06-05 08:18:10 +02:00
Sébastien Helleu 48b35bdc63 logger: fix display of multiline messages in backlog (closes #1926) 2023-06-05 07:29:21 +02:00
Sébastien Helleu 4e705afdf6 tests: add tests on logger tail functions (issue #1926) 2023-06-05 07:29:10 +02:00
Sébastien Helleu 615069caef logger: return arraylist instead of custom linked list in logger_tail_file (issue #1926) 2023-06-05 07:29:01 +02:00
Nils Görs 5e35ead044 doc: update German documentation 2023-06-04 11:17:53 +02:00
Nils Görs 4712fabbb0 core: update German translations 2023-06-04 11:12:59 +02:00
Sébastien Helleu e04d8894a0 irc: add tag "new_host_xxx" in message displayed for command CHGHOST (closes #1808) 2023-06-04 09:45:47 +02:00
Sébastien Helleu 7f4c3a660a core: update ChangeLog (issue #1950) 2023-06-03 21:40:55 +02:00
Sébastien Helleu 31e2e7d45c doc/user: add new FIFO syntax (issue #1950) 2023-06-03 21:40:51 +02:00
Trygve Aaberge 43dee8ce54 fifo: allow using escape characters
This allows you to use escape characters if you start the fifo command
with \ instead of *, in the same way as the escape_commands option in
the relay protocol. This allows you to send commands consisting of
multiple lines by using \n if the buffer has input_multiline set.
2023-06-03 21:31:38 +02:00
Sébastien Helleu 682fc40708 irc: add option irc.look.display_host_notice 2023-06-03 21:15:58 +02:00
Sébastien Helleu 482fe6604c relay: add handshake option "escape_commands" in weechat protocol 2023-06-03 20:06:29 +02:00
Nils Görs 2660164118 core: update German translations 2023-06-03 19:36:58 +02:00
Sébastien Helleu 5e85bce2b7 core: specify irc protocol for relay changes 2023-06-03 17:28:15 +02:00
Sébastien Helleu dd4eb80e81 doc: fix formatting issues with links that target a blank window 2023-06-03 17:08:17 +02:00
Sébastien Helleu 498aa3256f relay: add support of capability "echo-message" (closes #1949) 2023-06-03 14:15:55 +02:00
Sébastien Helleu ac9dc3b9c8 irc: add infos "irc_server_cap" and "irc_server_cap_value" (issue #1949) 2023-06-03 14:15:49 +02:00
Sébastien Helleu 911c976f9b tests: add tests on relay "irc" protocol 2023-06-02 18:50:45 +02:00
Sébastien Helleu 5eb1a31552 irc: add missing "user" in documentation of functions 2023-06-02 18:50:45 +02:00
Sébastien Helleu 02a20507cb relay: fix connection with IRC clients sending "CAP REQ :" (without capability) and not sending "CAP END" (issue #1040, issue #1796)
The bug was fixed in version 2.0 (issue #1040) but a regression in version 3.7
happened while using the new IRC parser for message arguments (issue #1796,
commit 96ed471261).
2023-06-02 18:50:45 +02:00
Sébastien Helleu 3d8c55722c relay: add modifiers "relay_client_irc_in", "relay_client_irc_out1" and "relay_client_irc_out" 2023-06-02 18:50:45 +02:00
Trygve Aaberge 19a0cfe72d core: fix weechat.look.align_multiline_words not working
This option was broken with commit 031bd45e3.
2023-06-02 18:48:47 +02:00
Sébastien Helleu f7149dc7be tests: create and close server buffer in tests on function irc_join_split 2023-05-31 23:39:19 +02:00
Sébastien Helleu c0300ec0a4 tests: fix close of channel buffers after tests on function irc_join_split 2023-05-31 23:00:34 +02:00
Sébastien Helleu 310af25226 ruby: fix crash in display of exception backtrace with Ruby 3 (issue #1631, issue #1886) 2023-05-31 20:56:14 +02:00
Nils Görs 7f11d44e40 core: update German translations 2023-05-31 07:18:00 +02:00
Ivan Pešić 47bca29e3c doc: update Serbian documentation 2023-05-30 21:06:53 +02:00
Ivan Pešić 614f423498 core: update Serbian messages translation 2023-05-30 21:06:53 +02:00
Sébastien Helleu 71b85f1238 core: send all command line parameters not beginning with a dash to all plugins, add info "auto_load_scripts"
This fixes an issue with IRC URL given on command line when it starts with
`ircs://` or `irc6://`: the server is not created at all (only `irc://` works
fine).
2023-05-30 20:56:25 +02:00
Sébastien Helleu eda62e1218 fset: reset color immediately after the color name (issue #1920) 2023-05-30 07:39:11 +02:00
Sébastien Helleu f917d22655 core: update ChangeLog (issue #1920) 2023-05-30 07:37:18 +02:00
Nils Görs c96cc7a008 doc: update German documentation 2023-05-29 17:39:29 +02:00
Trygve Aaberge 6f3a67fdc1 core: set word_end_offset to character after word
It seemed strange to me to have word_end_offset point to the last
character in the word, rather than the character after the word,
especially now with the word stopping before a newline character which
meant word_end_offset would be -1 if there was no characters before the
newline character.
2023-05-29 17:10:25 +02:00
Trygve Aaberge 96f41ce4bf core: fix chat colors at certain positions not being applied
The new rendering of multiline lines had some issues with colors at
certain positions not being applied. The color would not be applied if
the color code was at either of these positions:

  - At the start of a line after a newline character
  - At the end of a line after a space and before a newline character
  - At a line by itself before a newline character

The way I had done it by considering newline characters as a word in
gui_chat_get_word_info with a variable specifying that it's newline
characters became messy and didn't really make sense, so rather than
doing this, I changed gui_chat_get_word_info to stop before the first
newline character. That way, we can just check if we are at a newline
character at the start of the loop, and don't need any more special
handling.

Fixes #1928
2023-05-29 17:10:25 +02:00
Sébastien Helleu f1a826a116 tests: add tests on manual CTCP ACTION sent to IRC channel 2023-05-29 11:13:49 +02:00
Sébastien Helleu a4c2d7f808 irc: fix display of CTCP ACTION sent without parameters nor space 2023-05-29 11:10:25 +02:00
Sébastien Helleu 3826d1150d irc: remove unneeded extra check on "\01ACTION " in irc_input_user_message_display 2023-05-29 11:04:50 +02:00
Sébastien Helleu 031bcf5ff2 irc: hide password in messages to nickserv with cap echo-message enabled (issue #139) 2023-05-29 09:49:41 +02:00
Sébastien Helleu ea38779c85 irc: add command /action (closes #201, issue #1577), remove alias action 2023-05-29 09:44:13 +02:00
Sébastien Helleu 193d290285 alias: add option missing in command /alias 2023-05-27 20:20:31 +02:00
Sébastien Helleu 50f5be70aa alias: add alias action to send a CTCP ACTION to a channel or a nick (issue #1577) 2023-05-27 20:07:37 +02:00
Sébastien Helleu 1651c48856 irc: add missing host tag in self messages with cap echo-message enabled (issue #139) 2023-05-27 16:49:08 +02:00
Sébastien Helleu 649b9d0ca6 irc: fix display of STATUSMSG CTCP ACTION to channel with cap echo-message enabled (issue #139, issue #1577) 2023-05-27 16:49:08 +02:00
Sébastien Helleu a41dff7acc irc: fix display of outgoing CTCP when channel/private buffer doesn't exist 2023-05-27 16:49:08 +02:00
Sébastien Helleu 3a0141174b irc: fix display of outgoing STATUSMSG CTCP ACTION without arguments 2023-05-27 16:49:08 +02:00
Sébastien Helleu dbcb8d3dbf irc: remove extra space in CTCP ACTION message sent without arguments
Now when doing `/me` (without arguments), the message sent is:

  PRIVMSG #test :\x01ACTION\x01

instead of:

  PRIVMSG #test :\x01ACTION \x01
2023-05-27 16:49:08 +02:00
Sébastien Helleu a2e73d64d6 irc: fix split of CTCP message with no arguments 2023-05-27 16:49:08 +02:00
Sébastien Helleu 0babf5db23 irc: display STATUSMSG actions differently from standard actions on channels (closes #1577, issue #139) 2023-05-27 16:48:56 +02:00
Sébastien Helleu 93d447ffc7 irc: fix send of empty action with /me command 2023-05-27 10:04:15 +02:00
Sébastien Helleu be0b082463 core: remove WeeChat website from SRC_URI in cygport file 2023-05-26 18:03:20 +02:00
Sébastien Helleu 80532862d5 core: update ChangeLog 2023-05-26 18:03:08 +02:00
Sébastien Helleu a6769e46f9 tests: add tests on IRC message/notice/action/CTCP sent with cap echo-message enabled (issue #139) 2023-05-26 18:02:50 +02:00
Sébastien Helleu b61cbefd30 tests: remove capabilities added after the end of tests 2023-05-26 18:02:01 +02:00
Sébastien Helleu 30b86e08fd tests: add tests on IRC message/notice/action/CTCP sent (issue #139) 2023-05-26 12:44:15 +02:00
Sébastien Helleu 10b803fd59 irc: add missing nick tag in self CTCP ACTION displayed (issue #139) 2023-05-26 12:36:01 +02:00
Sébastien Helleu 4c6f503cc7 irc: display CTCP ACTION to channel on the channel buffer (issue #139, closes #207) 2023-05-26 12:31:22 +02:00
Sébastien Helleu c1ee493073 doc/user: rewrite IRC smart filter chapter, add detail on all filtered messages 2023-05-26 08:53:20 +02:00
Sébastien Helleu e8f508a7cc doc/user: display 3 levels instead of 2 in TOC 2023-05-26 07:13:04 +02:00
Nils Görs afdd24591a core: update German translations 2023-05-25 22:58:59 +02:00
Sébastien Helleu 2654961e1c irc: display actions sent with /me in private buffer instead of server buffer (issue #139) 2023-05-25 22:43:54 +02:00
Sébastien Helleu e50be16730 irc: fix display of actions sent with /me (issue #139) 2023-05-25 22:34:03 +02:00
Sébastien Helleu d9789e522f irc: fix duplicated CTCP messages displayed when capability "echo-message" is enabled (issue #139) 2023-05-25 22:15:41 +02:00
Sébastien Helleu 809f59dfd1 irc: hide messages sent with /msg to a nick when capability "echo-message" is enabled (issue #139) 2023-05-25 19:25:01 +02:00
Sébastien Helleu 45fb1ae4ba irc: hide CTCP messages sent with /ctcp when capability "echo-message" is enabled (issue #139) 2023-05-25 19:22:40 +02:00
Sébastien Helleu 3a8525bb95 irc: hide self actions sent with /me when capability "echo-message" is enabled (issue #139) 2023-05-25 19:19:11 +02:00
Sébastien Helleu f9e358b76c tests: remove import of unused headers 2023-05-23 21:52:16 +02:00
Sébastien Helleu ad1ae12321 doc/user: move IRCv3 chapter outside "Servers" 2023-05-23 21:49:54 +02:00
Sébastien Helleu 64c3f3f0cd irc: add support of capability "echo-message" (closes #139) 2023-05-23 21:49:54 +02:00
Sébastien Helleu 8f5a3cb639 irc: fix display of status privmsg/notice, add missing tags in messages (issue #139)
The status PRIVMSG and NOTICE are now displayed the same way for outgoing and
received messages:

Msg(alice) -> @#test: message for ops
Notice(alice) -> @#test: notice for ops

And any message like this is displayed with these tags if the nick is self
nick (case of a bouncer or if capability "echo-message" is enabled):
"self_msg", "notify_none", "no_highlight".
2023-05-23 21:49:53 +02:00
Sébastien Helleu 8abde49ba2 irc: fix order of tags in outgoing messages
The order of tags in message doesn't matter, but this is for the sake of
consistency with the other messages displayed.
2023-05-23 21:49:53 +02:00
Sébastien Helleu 20bfe4c1ba irc: add missing tags "irc_cap" and "log3" in cap messages (client capability) 2023-05-23 21:49:53 +02:00
Sébastien Helleu 3cb5f25681 irc: add missing tag "log3" in notify messages 2023-05-23 21:49:53 +02:00
Sébastien Helleu f3e1da894b tests: check tags in messages displayed by IRC plugin 2023-05-23 21:49:53 +02:00
Sébastien Helleu eb7435f8b9 tests: separate prefix from message in recorded messages
The record functions are moved to tests-record.cpp.
2023-05-22 20:43:16 +02:00
Sébastien Helleu 126d3559ca script: remove trailing "J" (line feed char) in source of scripts displayed
Regression was indirectly caused by commit
d18f68e497 in core that allows to display all
control chars in buffers.

But the fix is in script plugin: when the script is downloaded and read line by
line, trailing "\r" and "\n" are removed, and therefore not displayed.
2023-05-22 20:40:45 +02:00
Sébastien Helleu c0b3f63985 core: add note about config files incompatibility in release notes 2023-05-21 09:01:10 +02:00
Sébastien Helleu 4f5dac4f85 irc: add batch files for translations 2023-05-20 17:10:59 +02:00
Sébastien Helleu c3c218035a logger: add option logger.file.log_conditions (closes #1942) 2023-05-20 17:08:34 +02:00
Sébastien Helleu 7461a5cb87 xfer: create buffer with function buffer_new_props (issue #1942)
With this function, buffer properties are set when the buffer is created and
can be read immediately by other plugins/scripts, for example in a callback of
signal "buffer_opened".
2023-05-20 17:08:33 +02:00
Sébastien Helleu db931b7806 trigger: create buffer with function buffer_new_props (issue #1942)
With this function, buffer properties are set when the buffer is created and
can be read immediately by other plugins/scripts, for example in a callback of
signal "buffer_opened".
2023-05-20 17:08:31 +02:00
Sébastien Helleu cbde92c44e script: create buffer with function buffer_new_props (issue #1942)
With this function, buffer properties are set when the buffer is created and
can be read immediately by other plugins/scripts, for example in a callback of
signal "buffer_opened".
2023-05-20 17:08:30 +02:00
Sébastien Helleu 00f4ae760d relay: create buffers with function buffer_new_props (issue #1942)
With this function, buffer properties are set when the buffer is created and
can be read immediately by other plugins/scripts, for example in a callback of
signal "buffer_opened".
2023-05-20 17:08:28 +02:00
Sébastien Helleu 1ad45598b5 fset: create buffer with function buffer_new_props (issue #1942)
With this function, buffer properties are set when the buffer is created and
can be read immediately by other plugins/scripts, for example in a callback of
signal "buffer_opened".
2023-05-20 17:08:27 +02:00
Sébastien Helleu b1759ab25a exec: create buffer with function buffer_new_props (issue #1942)
With this function, buffer properties are set when the buffer is created and
can be read immediately by other plugins/scripts, for example in a callback of
signal "buffer_opened".
2023-05-20 17:08:25 +02:00
Sébastien Helleu 3ca3ea32fd irc: create server/channel/raw buffers with function buffer_new_props (issue #1942)
With this function, buffer properties are set when the buffer is created and
can be read immediately by other plugins/scripts, for example in a callback of
signal "buffer_opened".
2023-05-20 17:08:20 +02:00
Sébastien Helleu f767db22a8 doc: reduce toc levels and numbering in sections (user/API/scripting/relay/dev) 2023-05-20 08:37:02 +02:00
Sébastien Helleu ecdcf239fe doc: move toc and section asciidoctor attributes from docs to CMakeLists.txt 2023-05-20 08:15:23 +02:00
Sébastien Helleu b9cc0cf839 core: update ChangeLog (closes #1260) 2023-05-18 13:52:46 +02:00
Simmo Saan 3c3bb933e9 irc: optimize and reuse irc_channel_rejoin 2023-05-18 13:51:14 +02:00
Simmo Saan 6edc88f7d6 irc: use key when /join-ing in open channel buffer 2023-05-18 13:46:43 +02:00
Sébastien Helleu de3ee174e4 core: update ChangeLog (closes #1140, closes #1190) 2023-05-18 11:52:43 +02:00
Sébastien Helleu 6c567c813e core: update translations 2023-05-18 11:51:25 +02:00
Sébastien Helleu a2b21df6ab alias: use dynamic string to replace alias arguments 2023-05-18 11:48:15 +02:00
Sébastien Helleu 338f7028ec tests: add tests on alias functions
Functions tested:

- alias_valid
- alias_search
- alias_string_add_word
- alias_string_add_word_range
- alias_string_add_arguments
- alias_replace_args
2023-05-18 11:10:54 +02:00
Sébastien Helleu a0894a794b alias: return empty string instead of NULL in function alias_replace_args 2023-05-18 11:08:37 +02:00
Sébastien Helleu 6095a0fe40 alias: return NULL if alias or user arguments are NULL in function alias_replace_args 2023-05-18 11:08:08 +02:00
Sébastien Helleu 8d838e89ee alias: add example in comment of function alias_replace_args 2023-05-18 11:07:46 +02:00
Sébastien Helleu e237f7488f alias: add "$&" in comment of function alias_replace_args 2023-05-18 11:07:12 +02:00
nobody 098bbb6927 alias: add auto-escaping special variable 2023-05-18 10:17:59 +02:00
Sébastien Helleu 100509866f relay: rename variable "ptr_option" to "ptr_path" 2023-05-18 09:53:57 +02:00
Sébastien Helleu caf166eb90 relay: make TLS certificate/key loading error handling more verbose (closes #1558) 2023-05-18 09:51:59 +02:00
Sébastien Helleu 9a0eda2433 core: fix refresh of bar item "input_search" after buffer switch in root bars (closes #1939) 2023-05-18 09:21:16 +02:00
Sébastien Helleu 1360489a05 core: add note in GitHub question issue template
The question must be first asked on the #weechat channel.
2023-05-18 09:04:55 +02:00
Sébastien Helleu 43553f7c28 core: update ChangeLog (closes #337, closes #965) 2023-05-17 21:43:43 +02:00
arza 99b84a76ad irc: start from the beginning of nicks at automatic reconnection (closes #337) 2023-05-17 21:42:00 +02:00
Sébastien Helleu 6ae04c4947 core: update ChangeLog (closes #1688) 2023-05-17 21:07:24 +02:00
Sébastien Helleu fbf68dcc14 irc: get value of "msg_max_length" from isupport token "LINELEN" on upgrade from WeeChat < 4.0.0 (issue #1927) 2023-05-17 21:03:44 +02:00
Sébastien Helleu 359ec5d2db irc: add field "utf8only" in IRC server structure 2023-05-17 20:49:27 +02:00
Valentin Lorentz 980b075ce9 irc: Implement the UTF8ONLY IRCv3 specification
https://ircv3.net/specs/extensions/utf8-only
2023-05-17 16:37:19 +02:00
Sébastien Helleu d0f1859ef5 core: add variable CTEST_OUTPUT_ON_FAILURE in release script 2023-05-17 07:17:26 +02:00
Sébastien Helleu 6d32a99d50 trigger: make default triggers compatible with multiline input (closes #1935)
Changed triggers:

- cmd_pass
- cmd_pass_register
- server_pass
2023-05-16 21:34:30 +02:00
Sébastien Helleu 1f21cdc0bd irc: update secure data when server autojoin option contains ${sec.data.xxx} and option autojoin_dynamic is enabled (closes #1934) 2023-05-16 21:03:22 +02:00
Sébastien Helleu e11ce668a2 doc/api: add note about hashtable removal in function info_get_hashtable 2023-05-16 20:15:20 +02:00
Sébastien Helleu 91bcfbb4e8 core: move creation of info_hashtable "secured_data" in plugin-api-info.c 2023-05-16 20:00:48 +02:00
Sébastien Helleu 17f3687e28 core: fix partial completion when the common prefix found is empty (closes #340) 2023-05-16 19:45:12 +02:00
Sébastien Helleu 357323b8fc typing: remove nicks typing even when option typing.look.enabled_self is off (closes #1718) 2023-05-16 13:29:09 +02:00
Sébastien Helleu cfc85b7fea typing: fix type and name of variable for key in hashtable typing_status_nicks 2023-05-16 13:23:07 +02:00
Sébastien Helleu 2a3d98c996 irc: display command 437 on server buffer when nickname cannot change while banned on channel (closes #88) 2023-05-16 13:15:45 +02:00
Sébastien Helleu 8d35e67dd6 irc: add modifier "irc_cap_sync_req" (closes #1767) 2023-05-15 20:10:28 +02:00
Sébastien Helleu d857c91a59 irc: add comments in "cap" callback 2023-05-15 20:02:45 +02:00
Sébastien Helleu 518c0e3ae3 irc: remove unused variable 2023-05-15 08:10:58 +02:00
Sébastien Helleu 20b7f406f8 irc: fix use of uninitialized variable 2023-05-15 08:10:03 +02:00
Sébastien Helleu e589f3471b doc/user: update note about chars replaced in IRC tags (trigger) 2023-05-15 08:08:42 +02:00
Sébastien Helleu 2c22626106 trigger: use new format for IRC tags in messages 2023-05-15 07:57:16 +02:00
Sébastien Helleu bd4507e99d irc: fix format of IRC tags displayed in messages (closes #1929)
Changes:

- use "=" to separate key from value, add it only if value is set (any string,
  including empty string)
- do not convert "_" to "-" in key
2023-05-14 21:25:20 +02:00
Sébastien Helleu 46b9428f9e tests: reverse arguments in calls to STRCMP_EQUAL 2023-05-14 18:52:23 +02:00
Nils Görs 78ebe63105 core: update German translations 2023-05-14 15:50:41 +02:00
Sébastien Helleu 1aded6eaf4 core: update translations (issue #1923) 2023-05-14 15:33:37 +02:00
Sébastien Helleu a6b8c95519 irc: do not display multiline message if capability "draft/multiline" is not enabled (issue #1923) 2023-05-14 15:33:37 +02:00
Sébastien Helleu 060cb48094 irc: ignore BATCH commands when capability "batch" is not enabled (issue #1292) 2023-05-14 15:33:30 +02:00
Sébastien Helleu 283c9d7ccf irc: do not allow send of empty messages (single line or multiline) 2023-05-14 15:32:47 +02:00
Sébastien Helleu ac83130dd7 irc: add test of privmsg message parsing with empty text 2023-05-14 15:32:47 +02:00
Sébastien Helleu c31af39ada irc: set "input_multiline" to 1 in buffers only if capability draft/multiline is enabled (issue #1923) 2023-05-14 15:32:43 +02:00
Sébastien Helleu 537d18ede5 core: allow to reset buffer property "input_multiline" to 0 even if there are lines in buffer (issue #1923) 2023-05-14 15:32:39 +02:00
Sébastien Helleu 128fbe0d5b irc: add support of "LINELEN" in message 005 (max message length in bytes) (closes #1927) 2023-05-14 15:32:39 +02:00
Sébastien Helleu 1116474c45 irc: reset all internal servers variables when disconnecting 2023-05-14 15:32:39 +02:00
Sébastien Helleu 176a106771 irc: add support of capability "draft/multiline" (closes #1923) 2023-05-14 15:32:39 +02:00
Sébastien Helleu e8b5d73421 irc: return arraylist instead of hashtable in function irc_server_sendf (issue #1923) 2023-05-14 15:32:35 +02:00
Sébastien Helleu 2154b440d2 irc: don't split messages on "\n" in function irc_server_sendf (issue #1923)
The function now allows only a single message. Newline chars ("\n") are allowed
in messages but not used as message separator.

This is a preparation work for the support of capability "draft/multiline".
2023-05-14 15:32:26 +02:00
Sébastien Helleu 2c39906816 irc: rename constant IRC_COMMAND_CAP_SUPPORTED_COMPLETION to IRC_COMMAND_CAP_SUPPORTED 2023-05-13 19:45:10 +02:00
Sébastien Helleu c0f574d036 doc: group all CMake files into a single one to build all docs (all languages) 2023-05-13 19:44:14 +02:00
Sébastien Helleu 6415c09a07 core: add quotes around paths in CMake files (closes #29) 2023-05-13 11:59:18 +02:00
Sébastien Helleu adbfd27660 core: fix completion after newline in input (closes #1925) 2023-05-12 17:53:02 +02:00
Sébastien Helleu 6d7f10ef20 core: fix execution of multiple commands separated by newline when there are no spaces
For example typing this on core buffer:

/t1
/t2

was not executing the two commands but sent the text to the buffer instead.

This is because WeeChat thinks it's a path, and the newline should indicate
it's not (like a space before the next slash: "/t1 /t2" is a command, not a
path, but "/t1/t2" is considered a path).
2023-05-05 20:28:11 +02:00
Sébastien Helleu 25d7192677 api: don't split on newline by default in functions command and command_options when input_multiline is set to 0
The API functions `command` and `command_options` (when `split_newline` = 0,
which is the default value) don't split on newline and then the first line is
executed and the subsequent lines (after "\n") are ignored.

There are no changes when the input has multiple lines filled by the user: the
split is done and multiple commands are executed (for example if the user is
pasting multiple commands to execute).
2023-05-04 21:06:32 +02:00
Sébastien Helleu bbbe83370f doc/user: add missing French translation for cursor key l 2023-05-04 07:09:12 +02:00
Sébastien Helleu c73191ab05 doc/scripting: add missing French translation for Tcl null values 2023-05-04 07:06:29 +02:00
Nils Görs 7aaa617643 core: update German translations 2023-05-03 22:58:22 +02:00
Sébastien Helleu f6b69c9098 irc: add support of capability "batch" (closes #1292) 2023-05-03 22:11:31 +02:00
Ivan Pešić bd5e8dc33b doc: Update Serbian documentation 2023-05-03 20:29:27 +02:00
Ivan Pešić e6bddcafee core: Update Serbian translation 2023-05-03 20:29:27 +02:00
Nils Görs 629afd3301 core: update German translations 2023-05-01 22:02:02 +02:00
Sébastien Helleu 21f972b0a5 trigger: add translation for first line of displayed triggers 2023-05-01 21:44:37 +02:00
Sébastien Helleu e75009a461 core: add enabled/disabled status color in output of /filter list (closes #1820) 2023-05-01 20:23:48 +02:00
Sébastien Helleu 385b1d0133 core: remove options trigger.color.trigger and trigger.color.trigger_disabled (issue #1820)
These options are used instead:

- weechat.color.chat_status_disabled
- weechat.color.chat_status_enabled
2023-05-01 20:16:59 +02:00
Sébastien Helleu b8f9b83500 core: add options weechat.color.chat_status_disabled and weechat.color.chat_status_enabled (issue #1820) 2023-05-01 20:12:56 +02:00
Sébastien Helleu 5c245af669 core: move line from "New features" to "Build" 2023-05-01 19:14:33 +02:00
Nils Görs 87b7d03cce core: update German translations 2023-05-01 18:11:02 +02:00
Sébastien Helleu ed2ab8a6d0 irc: fix help on sort option in command /autojoin (issue #1876) 2023-05-01 17:49:46 +02:00
Sébastien Helleu 000d550ff8 core: keep only first message line in modifier "weechat_print" when input_multiline is not set in buffer 2023-05-01 17:36:17 +02:00
Nils Görs d8d00926ff core: update German translations 2023-05-01 17:33:18 +02:00
Sébastien Helleu b127bed0fc irc: add option buffer in command /autojoin sort (closes #1876) 2023-05-01 17:02:51 +02:00
Sébastien Helleu 66d79e2d23 core: keep only first message line in hook line when input_multiline is not set in buffer 2023-05-01 14:53:59 +02:00
Nils Görs 9f2e5a98ea core: update German translations 2023-04-28 08:20:13 +02:00
Sébastien Helleu f90d8667a4 irc: add ${username} in server options "nicks" and "username", change their default values to use it 2023-04-27 22:59:24 +02:00
Sébastien Helleu 8822843254 core: add missing French translation 2023-04-27 22:43:10 +02:00
Sébastien Helleu bc5baf1f05 fset: change default value of option fset.color.value_selected from 80 to 159 (issue #1920) 2023-04-27 22:36:38 +02:00
Nils Görs 3ba2934dfa core: update German translations 2023-04-27 10:10:46 +02:00
Nils Görs a025518509 core: update German translations 2023-04-27 08:45:03 +02:00
Sébastien Helleu 2e42da35f9 core: update ChangeLog (issue #1920) 2023-04-26 21:13:07 +02:00
Sébastien Helleu 4f3524dbac core: update translations (issue #1920) 2023-04-26 21:12:56 +02:00
Sébastien Helleu d35218e991 irc: change default colors (issue #1920)
Default values changed:

- irc.color.reason_quit: default -> 244
- irc.color.topic_new: white -> 36
- irc.color.topic_old: default -> 244
2023-04-26 21:08:16 +02:00
Sébastien Helleu c12b7ffd3e core: enable option weechat.look.color_inactive_time by default (issue #1920) 2023-04-26 21:08:13 +02:00
Sébastien Helleu 156bdc6444 core: change default chat colors (issue #1920)
Default values changed:

- weechat.color.chat_delimiters: green -> 22
- weechat.color.chat_highlight_bg: magenta -> 124
- weechat.color.chat_inactive_window: default -> 240
- weechat.color.chat_nick_colors: add many colors
- weechat.color.chat_nick_offline: default -> 242
- weechat.color.chat_nick_offline_highlight_bg: blue -> 17
- weechat.color.chat_prefix_buffer: brown -> 180
- weechat.color.emphasized_bg: magenta -> 54
- weechat.color.nicklist_away: cyan -> 240
2023-04-26 21:08:12 +02:00
Sébastien Helleu 855f75369d logger: change default colors (issue #1920)
Default values changed:

- logger.color.backlog_end: default -> 246
- logger.color.backlog_line: default -> 246
2023-04-26 21:08:11 +02:00
Sébastien Helleu 3f2a377e7a script: change default colors (issue #1920)
Default values changed:

- script.color.status_autoloaded: cyan -> 39
- script.color.text_bg_selected: red -> 24
- script.color.text_date: default -> 65
- script.color.text_date_selected: white -> 50
- script.color.text_delimiters: default -> 240
- script.color.text_description: default -> 249
- script.color.text_extension: default -> 242
- script.color.text_extension_selected: white -> 248
- script.color.text_name: cyan -> 73
- script.color.text_name_selected: lightcyan -> 51
- script.color.text_version: magenta -> 180
- script.color.text_version_loaded: default -> 246
- script.color.text_version_selected: lightmagenta -> 224
2023-04-26 21:08:09 +02:00
Sébastien Helleu 8c9e90524b fset: enable option fset.look.use_color_value by default (issue #1920) 2023-04-26 21:08:07 +02:00
Sébastien Helleu 6f1a66924f fset: add options fset.color.color_name and fset.color.color_name_selected (issue #1920) 2023-04-26 21:08:06 +02:00
Sébastien Helleu c4c4ae3715 fset: change default colors (issue #1920)
Default values changed:

- fset.color.description: default -> 242
- fset.color.description_selected: white -> default
- fset.color.line_marked_bg1: default -> 17
- fset.color.line_marked_bg2: default -> 17
- fset.color.line_selected_bg1: blue -> 24
- fset.color.line_selected_bg2: red -> 24
- fset.color.name_changed: brown -> 185
- fset.color.type: green -> 138
- fset.color.type_selected: lightgreen -> 216
- fset.color.value: cyan -> 38
- fset.color.value_changed: brown -> 185
- fset.color.value_selected: lightcyan -> 80
- fset.format.option2: ${color:darkgray} -> ${color:244}
2023-04-26 21:08:04 +02:00
Sébastien Helleu 5973ceffb8 core: change default prefix_suffix char and color (issue #1920)
Default values changed:

- weechat.look.prefix_suffix: "|" -> "│"
- weechat.color.chat_prefix_suffix: green -> 24
2023-04-26 21:08:02 +02:00
Sébastien Helleu 875d6e7e6f buflist: change default background color of current buffer (issue #1920)
Default value changed:

- buflist.format.buffer_current: "${color:,blue}${format_buffer}" ->
  "${color:,17}${format_buffer}"
2023-04-26 21:08:00 +02:00
Sébastien Helleu cd1d80c1cb core: change default color of bars and windows separators (issue #1920)
Default value changed:

- weechat.color.separator: blue -> 236
2023-04-26 21:07:56 +02:00
Sébastien Helleu 6d6c99f2ac core: change default background color of status and title bars (issue #1920)
Default values changed:

- weechat.bar.status.color_bg: blue -> 234
- weechat.bar.status.color_bg_inactive: darkgray -> 232
- weechat.bar.title.color_bg: blue -> 234
- weechat.bar.title.color_bg_inactive: darkgray -> 232
2023-04-26 21:07:50 +02:00
Sébastien Helleu 6f0440e459 core: add option weechat.color.status_name_insecure (issue #1920)
Default value of option weechat.color.status_name_tls is set to white instead
of lightgreen.

Now all servers/channels connected with TLS are white, and those without TLS
are lightmagenta.
2023-04-26 21:07:37 +02:00
Sébastien Helleu e8c48c0a1f core: always allow 256 colors, find nearest color if less colors are available in terminal (issue #1920) 2023-04-26 21:07:26 +02:00
Sébastien Helleu ff402fb6ec core: fix infinite loop on startup when running some gui commands before the switch to core buffer is performed (closes #1917) 2023-04-26 19:11:54 +02:00
Nils Görs 5481af963c doc: update German documentation 2023-04-26 11:49:47 +02:00
Nils Görs 6edf0ef003 core: update German translations 2023-04-26 11:46:54 +02:00
Trygve Aaberge 8d430aa2eb core: fix display bug when drawing partially scrolled multiline
If you have a chat line with multiple lines that were scrolled so that
part of it is rendered at the bottom of the chat area, and part of it
falls below the chat area, there was a bug where the prefix_suffix would
be displayed at the end of the last line.

Looks like this happens because the gui_chat_display_prefix_suffix is
called for the line below the last line displayed in the chat area. So
we have to add a check for this so we don't add the prefix_suffix. This
check is copied from gui_chat_display_word which checks for the same.

Fixes #1912
2023-04-26 00:47:02 +02:00
Sébastien Helleu df6dfcea11 core: move line from "New features" to "Bug fixes" (issue #1882) 2023-04-26 00:10:37 +02:00
Sébastien Helleu a22d6a1bf6 core: update ChangeLog 2023-04-26 00:09:53 +02:00
Andrew Potter 71382b6c0f ruby: Restore default SIGCHLD signal handler on unload
fixes #1889
2023-04-26 00:07:54 +02:00
Sébastien Helleu ac25043b27 core: add option split_return in command /input (closes #1916) 2023-04-25 22:10:48 +02:00
Sébastien Helleu 0debd47d3e core: update ChangeLog 2023-04-25 19:07:14 +02:00
Sébastien Helleu ea734b5924 doc/api: add variable "_chat_focused_line" in function hook_focus 2023-04-25 19:05:05 +02:00
Trygve Aaberge e51ffc1a6e core: add cursor key l to quote focused line
Fixes #1913
2023-04-25 00:11:30 +02:00
Trygve Aaberge a401fbf217 core: add _chat_focused_line variable to get the focused line
This contains the single line that you focused on, like _chat_word
contains the word that you focused on. This will be equal to
_chat_line_message if the chat line only contains a single line, but if
the chat line has multiple lines, _chat_line_message will contain all of
them, but _chat_focused_line will only contain the single line that was
focused.

Fixes part of #1913
2023-04-25 00:11:26 +02:00
Sébastien Helleu e00ec6710d irc: add message 742 (mode cannot be set) 2023-04-24 21:44:34 +02:00
Sébastien Helleu 28bb33aa5a irc: add message 415 (cannot send message to channel) 2023-04-24 21:43:57 +02:00
Sébastien Helleu 9f5e8efbe0 core: fix update of terminal title in some terminals like suckless terminal (stterm) (closes #1882) 2023-04-23 22:02:33 +02:00
Emir SARI 2d93f9d703 core: update Turkish translations (issue #1868) 2023-04-23 16:53:28 +02:00
Sébastien Helleu 3d79e2c9d2 Revert "core: remove deprecated parameters from command /input"
This reverts commit 2b7f745369.

Parameters removed are still used in scripts, and it's OK to keep them for a
while.
2023-04-23 09:53:50 +02:00
Nils Görs da49adebc3 core: update German translations 2023-04-22 09:35:19 +02:00
Sébastien Helleu 3a9ac529d5 buflist: update example in /help buflist.look.sort 2023-04-22 08:06:33 +02:00
Sébastien Helleu 731c2d66bc buflist: add example to sort on hotlist activity in /help buflist.look.sort 2023-04-21 21:15:45 +02:00
Sébastien Helleu 2c82a1a35f core: update ChangeLog 2023-04-20 22:39:02 +02:00
Sébastien Helleu 078da85f5e core: keep only first message line in hdata update of line_data when input_multiline is not set in buffer 2023-04-20 22:36:18 +02:00
Sébastien Helleu 5193c0aeea core: do now allow buffer property "input_multiline" to be reset to 0, except if buffer has no lines 2023-04-20 22:36:18 +02:00
Trygve Aaberge e5573bfb4d core: still split on printf when input_multiline isn't set
If we have chat lines with multiple lines in buffers without
input_multiline set, there can be an issue if a trigger is run on that
line. If the trigger runs a command which includes the message, then the
command is split (since input_multiline isn't set), and if any of the
lines in the message starts with a command, that command is executed.

To prevent this, only avoid splitting on newlines in printf if
input_multiline is set, so only such buffers can have chat lines with
newline characters.

See https://github.com/weechat/weechat/pull/1909 for more details.
2023-04-19 16:47:44 +02:00
Trygve Aaberge 07fa6b12a6 core: don't split on newline characters in printf_date_tags
With support for rendering newline characters as new lines, we don't
need to split the message on newline characters anymore in
printf_date_tags. This allows you to print a line with multiple lines.
2023-04-19 16:47:44 +02:00
Trygve Aaberge 031bd45e36 core: render newline characters in chat line messages
If a chat line message contains a newline character (\n) it was
previously rendered as J with reverse video. This commit makes it
render as an actual newline instead, so messages with multiple lines
become supported.

The rendering is fixed in normal mode as well as bare mode both when
scrolled to the bottom and when scrolled up (which is different code
paths). Focus events has also been updated to support this (except for
_chat_line_y which returns -1 for all lines, but the docs says this
variable is only for buffers with free content).

Currently, the only way to include a \n in a chat line message is with
hdata_update because printf splits on \n and creates multiple separate
lines, but hopefully either printf can be changed to not split on \n, or
a new command which doesn't split can be added.
2023-04-19 16:47:44 +02:00
Sébastien Helleu 2b7f745369 core: remove deprecated parameters from command /input
Parameters removed:

- jump_smart
- jump_last_buffer
- jump_last_buffer_displayed
- jump_previously_visited_buffer
- jump_next_visited_buffer
- hotlist_clear
- hotlist_remove_buffer
- hotlist_restore_buffer
- hotlist_restore_all
- set_unread_current_buffer
- set_unread
- switch_active_buffer
- switch_active_buffer_previous
- zoom_merged_buffer
2023-04-19 16:44:42 +02:00
Sébastien Helleu 19baa79d64 core: convert deprecated commands bound to keys when upgrading weechat.conf to v2 2023-04-19 16:35:39 +02:00
Sébastien Helleu 389e719302 core: bump guile version to 3.0 in cygwin 2023-04-18 22:45:35 +02:00
Sébastien Helleu ee7cd3de5c doc/user: update links to release notes 2023-04-17 22:31:26 +02:00
Sébastien Helleu b5e81f931b doc: update header and remove links in ChangeLog and release notes 2023-04-16 22:05:45 +02:00
Sébastien Helleu 2eaaa19beb core: simplify print of stable/devel version number in version.sh 2023-04-15 23:52:29 +02:00
Sébastien Helleu 1eb8e21d4b core: hide error when git tag does not exist 2023-04-15 16:59:48 +02:00
Sébastien Helleu 412b9de263 core: add missing space before trailing backslash 2023-04-15 12:16:18 +02:00
Sébastien Helleu c8780d2d7a core: fix description of script bump_version.sh 2023-04-15 11:58:20 +02:00
Sébastien Helleu a5f5008c77 core: add missing quotes around variables 2023-04-15 11:46:45 +02:00
Sébastien Helleu bbc5c4948a core: update ChangeLog 2023-04-15 11:15:02 +02:00
Sébastien Helleu c391a49cc1 core: add quote around stable/devel versions 2023-04-15 11:12:56 +02:00
Sébastien Helleu 4090680ef7 core: add "stable-number" and "devel-number" in version.sh
This is the same value returned by the info "version_number" in a running
WeeChat.
2023-04-15 11:10:19 +02:00
Sébastien Helleu 72477b49d7 api: add optional argument with version in info "version_number" 2023-04-15 11:09:59 +02:00
Sébastien Helleu 15d5fce00a doc/api: add more examples on function util_version_number 2023-04-15 11:00:00 +02:00
Sébastien Helleu 49ff42bef5 core: remove unnecessary condition in comparison of timeval structures
Ref: https://github.com/weechat/weechat-relay/pull/3
2023-04-14 13:06:18 +02:00
Sébastien Helleu 70bf3f8671 core: replace "SSL" by "TLS" in /help upgrade (issue #1903) 2023-04-13 20:11:03 +02:00
Nils Görs 2085c470e6 core: update German translations 2023-04-13 11:02:09 +02:00
Sébastien Helleu aa1d2a709d core: update translations (issue #1903) 2023-04-12 17:17:52 +02:00
Sébastien Helleu fe1ab06924 irc: improve short description of server (issue #1903) 2023-04-12 17:17:49 +02:00
Sébastien Helleu 6e17d39adf irc: fix URL of doc on capability negotiation (issue #1903) 2023-04-12 17:17:46 +02:00
Sébastien Helleu e516a0714f irc: add support of RFC 7194 (default port 6697 for TLS) (issue #1903) 2023-04-12 17:17:43 +02:00
Sébastien Helleu 55a853eb76 core: add TLS changes in release notes (issue #1903) 2023-04-12 17:17:41 +02:00
Sébastien Helleu 95b30f8da5 irc: connect with TLS and port 6697 by default (issue #1903) 2023-04-12 17:17:38 +02:00
Sébastien Helleu 8eb096b3ef relay: rename "ssl" options and protocol to "tls" (issue #1903) 2023-04-12 17:17:34 +02:00
Sébastien Helleu dec237b104 irc: rename "ssl" options to "tls" (issue #1903) 2023-04-12 17:17:30 +02:00
Sébastien Helleu 23b870ec1d core: rename option weechat.color.status_name_ssl to weechat.color.status_name_tls (issue #1903) 2023-04-12 17:17:26 +02:00
Sébastien Helleu ff2f94c12b core: replace SSL by TLS in comments (issue #1903) 2023-04-12 17:17:23 +02:00
Sébastien Helleu 9ccdc5aff6 irc: check that IRC URL starts with "irc" (issue #1903) 2023-04-12 17:17:20 +02:00
Sébastien Helleu 62171c5974 irc: add more info in description of function irc_server_alloc_with_url (issue #1903) 2023-04-12 17:17:13 +02:00
Sébastien Helleu e5c1945931 irc: set gnutls_sess, tls_cert and tls_cert_key to NULL by default in server (issue #1903) 2023-04-12 17:17:00 +02:00
Nils Görs 00c847ee56 core: update German translations 2023-04-12 10:03:24 +02:00
Sébastien Helleu d58d4dd8fa core: improve description of arguments in bump version script 2023-04-08 11:13:28 +02:00
Sébastien Helleu 49df360652 core: remove WEECHAT_DEVEL_FULL from version.sh 2023-04-08 11:08:33 +02:00
Sébastien Helleu 5f7ead023f core: add way to read stable major/minor/patch version 2023-04-08 09:18:39 +02:00
Sébastien Helleu 7ced1821db core: add contributor (issue #1904) 2023-04-08 08:21:31 +02:00
Sébastien Helleu 6be7960e1c core: update ChangeLog (issue #1904, issue #1905) 2023-04-08 08:19:50 +02:00
wfrsk cd740fc18b lua: fix crash with print when the value to print is not a string 2023-04-08 08:16:02 +02:00
Sébastien Helleu 127c8e0eb6 core: change default color of "mouse_status" item to lightgreen 2023-04-07 18:56:35 +02:00
Sébastien Helleu ce1adf0fd7 core: add item "mouse_status" in default status bar 2023-04-07 18:54:51 +02:00
Sébastien Helleu 6247598d3f core: fix comment in bump version script 2023-04-07 08:10:10 +02:00
Grady Martin f4c8b9e29f Update Japanese translations
This fixes a small typo.
2023-04-07 08:03:37 +02:00
Sébastien Helleu 41c1cc6e0b doc: add BYPRODUCTS in doc-autogen target
This is needed for Ninja and the "clean" target now removes all auto-generated
files.
2023-04-05 23:29:17 +02:00
Sébastien Helleu f1e7f861e9 core: fix pointer to hash and hash_temp in doc generator 2023-04-05 22:44:11 +02:00
Sébastien Helleu 0b20cb449a tests: add tests on function irc_server_alloc_with_url 2023-04-05 21:17:03 +02:00
Sébastien Helleu 5c801f2741 irc: display a warning if command name in option irc.msgbuffer.* is not lower case 2023-04-05 21:04:54 +02:00
Sébastien Helleu 87216279ca irc: display a warning if CTCP name in option irc.ctcp.* is not lower case 2023-04-05 20:56:48 +02:00
Sébastien Helleu b6a59be317 irc: search options irc.ctcp.* with lower case ctcp string 2023-04-05 20:47:20 +02:00
Sébastien Helleu e75c61d7aa doc/user: remove Javascript from plugins compiled with CMake option ENABLE_SCRIPTS
The Javascript plugin is not built by default any more since v2.9 and must be
explicitly enabled with `-DENABLE_JAVASCRIPT=ON`.
2023-04-03 21:09:05 +02:00
Sébastien Helleu 924c543430 core: ensure tag/commit are not done upon startup, do not undo tag/commit in case of error 2023-04-03 20:06:46 +02:00
Sébastien Helleu 1c3b871204 irc: don't switch to buffer of joined channel if it was not manually joined nor present in server autojoin option 2023-04-03 20:00:32 +02:00
Sébastien Helleu b8f40cfa99 core: add script release.sh 2023-04-02 17:51:33 +02:00
Sébastien Helleu 058c9f8b84 core: add script bump_version.sh 2023-04-02 14:01:21 +02:00
Sébastien Helleu ff85d00e7f irc: update autojoin option with redirected channels when autojoin_dynamic is enabled (closes #1898) 2023-04-02 13:49:25 +02:00
Nils Görs e15bd25f37 core: update German translations 2023-04-01 22:44:33 +02:00
Sébastien Helleu 4aabe8681f core, plugins: set options to NULL by default, refactor config init functions 2023-04-01 20:56:11 +02:00
Sébastien Helleu 3e9524ee65 alias: rename all aliases to lower case on upgrade (issue #1872) 2023-04-01 16:47:23 +02:00
Nils Görs e23100c09b core: update German translations 2023-03-31 23:19:34 +02:00
Sébastien Helleu f330ff865c ci: enable build of incomplete docs on macOS 2023-03-31 21:16:22 +02:00
Sébastien Helleu 6665cc866a doc: add CMake option ENABLE_DOC_INCOMPLETE to force build of incomplete docs (closes #1901) 2023-03-31 21:08:56 +02:00
Sébastien Helleu 10b2fa3a61 irc: fix target buffer for commands 432/433 when the nickname looks like a channel 2023-03-31 19:54:26 +02:00
Sébastien Helleu 7558fe7c1b build: add condition to enable gcc/g++ specific options
This fixes warnings with clang.
2023-03-31 19:09:12 +02:00
Sébastien Helleu 0f3f7c3b37 core: replace key meta2- by meta-[ in comments 2023-03-31 18:59:04 +02:00
Sébastien Helleu 0cf723ec1a doc/faq: replace key meta2- by meta-[ 2023-03-31 18:59:04 +02:00
Sébastien Helleu 1684f60207 core: fix key meta-[O (unfocus with xterm) (closes #1900) 2023-03-31 18:58:49 +02:00
Sébastien Helleu 613dc73fd4 core: remove keys meta-[I and meta-[G for pgup/pgdn (issue #1900)
It seems no terminal return such codes any more for pgup/pgdn, and `meta-[I` is
conflicting with the xterm terminal "focus in" key code.

The keys are also removed from config when converting old keys, but only if
they are bound to the default command (`/window page_up` for `meta2-I` and
`/window page_down` for `meta2-G`).
2023-03-31 18:57:58 +02:00
Nils Görs 867536f8ce core: update German translations 2023-03-31 11:29:48 +02:00
Sébastien Helleu 7e7b015aa1 core: update translations 2023-03-30 22:12:44 +02:00
Sébastien Helleu 672945a359 logger: add info "logger_log_file" 2023-03-30 22:04:33 +02:00
Sébastien Helleu 6a2ecc90b3 spell: check buffer pointer received in info "spell_dict" 2023-03-30 22:02:12 +02:00
Sébastien Helleu 35067512e9 core: update translations 2023-03-30 21:58:46 +02:00
Sébastien Helleu 7c6d490a4e doc: update Ubuntu Bionic Debian patch to remove asciidoctor option
The option "--failure-level" has been added in Asciidoctor 1.5.7 and the
version in Ubuntu Bionic is 1.5.5.
2023-03-30 07:42:12 +02:00
Sébastien Helleu a62f2dac58 ci: disable build of doc when NLS is disabled 2023-03-30 01:34:55 +02:00
Sébastien Helleu c243e4add9 ci: disable build of doc on macOS
Since the PHP plugin is not built, the doc can not be built any more (all
plugins must be compiled to generate autogen files).
2023-03-30 01:34:55 +02:00
Sébastien Helleu d24f6295d4 doc: remove unnecessary empty lines in autogen files 2023-03-30 01:34:55 +02:00
Sébastien Helleu 3eeef346b1 doc: update autogen files only if changed, add autogen dependencies on docs 2023-03-30 01:34:55 +02:00
Sébastien Helleu 6dbfb638c6 doc: convert docgen.py to C, remove autogen files from repository, add parameter --doc-gen
Changes:

- build of doc now requires weechat-headless, translations and all plugins
- convert docgen.py to C
- remove `autogen_*` files from repository
- add command line parameter `--doc-gen` in `weechat-headless` to build
  autogen files
- build .mo files with directories like the installed ones
  (eg: "<lang>/LC_MESSAGES/weechat.mo")
- remove javascript chapter from user's guide
2023-03-30 01:34:55 +02:00
Sébastien Helleu 4548b25b78 doc: make asciidoctor fail on any warning 2023-03-29 20:48:18 +02:00
Sébastien Helleu 974ac9ad5f core: add separate function to get translated help for values of color options 2023-03-28 22:32:54 +02:00
Sébastien Helleu 7c5d484f59 core: check that infolist is not NULL in next/prev/reset_item_cursor functions 2023-03-28 22:07:11 +02:00
Sébastien Helleu 742871fd3e doc: sort commands by plugins in auto-generated files 2023-03-27 22:31:02 +02:00
Sébastien Helleu e816381777 core: remove extra separator in Serbian translation 2023-03-27 22:18:01 +02:00
Sébastien Helleu 77a30e09cb core: add missing space in Polish translation 2023-03-27 22:05:28 +02:00
Sébastien Helleu 4b5987e37c doc: update German auto-generated files 2023-03-27 14:23:11 +02:00
Nils Görs debf79118f core: update German translations 2023-03-27 13:06:12 +02:00
Sébastien Helleu b894166d1b core: update ChangeLog (issue #1504) 2023-03-26 21:08:56 +02:00
Sébastien Helleu 181cd4f276 core: update translations (issue #1504) 2023-03-26 21:07:17 +02:00
Trygve Aaberge c63321bb7a core: Add an option to start multiline input text on a new line
This does the same as the lead_linebreak option in multiline.pl. That
is, when the input contains more than one line, the first line will be
displayed beneath the previous items in the bar. This is practical
because all the lines in the input will be aligned.

Related to #1498
2023-03-26 21:02:19 +02:00
Sébastien Helleu af493ac976 doc/user: add keys to move and delete in a single line and whole input (issue #1503) 2023-03-26 20:31:07 +02:00
Sébastien Helleu fe41da1506 core: update translations (issue #1503) 2023-03-26 20:30:17 +02:00
Sébastien Helleu 9bb3acd2c7 core: update ChangeLog (issue #1503) 2023-03-26 20:30:17 +02:00
Sébastien Helleu ec671fe447 core: fix code style (issue #1503) 2023-03-26 20:30:17 +02:00
Sébastien Helleu a508640fa0 core: add keys shift-left and shift-right with same commands as left and right (issue #1503) 2023-03-26 20:30:17 +02:00
Sébastien Helleu e6b1905679 core: revert keys meta-r (delete line) and meta-R (delete input) (issue #1503) 2023-03-26 20:30:12 +02:00
Trygve Aaberge 9ac30381fa core: Implement commands for operating on a single input line
This changes the commands delete_beginning_of_line, delete_end_of_line,
delete_line, move_beginning_of_line and move_end_of_line to operate on
the current line instead of the whole input. The commands
delete_beginning_of_input, delete_end_of_input, delete_input,
move_beginning_of_input and move_end_of_input are added with the
previous implementations that the line commands had.

Additionally, the commands move_previous_line and move_next_line are
added which moves the cursor to the previous/next line and keeps the
horizontal position in the line.

The meta-r key is changed from delete_line to delete_input to keep the
behavior, and because you probably want to delete the whole input more
often than the line. The meta-R key is added for delete_line.

The home, end, ctrl-u and ctrl-k keys are kept to the same commands,
which means that they change behaviour. This is because having them
operate on the line is consistent with other applications (vim, zsh),
and I also think it's more practical.

These new bindings are added:

    shift-home:  /input move_beginning_of_input
    shift-end:   /input move_end_of_input
    shift-up:    /input move_previous_line
    shift-down:  /input move_next_line
    meta-R:      /input delete_line
    meta-ctrl-u: /input delete_beginning_of_input
    meta-ctrl-k: /input delete_end_of_input

Relates to #1498
2023-03-26 15:52:19 +02:00
Sébastien Helleu 20cea84917 doc: update German auto-generated file 2023-03-26 12:36:23 +02:00
Nils Görs 56d38184b4 core: update German translations 2023-03-26 11:24:59 +02:00
Sébastien Helleu bfca5e3c44 core: update translations 2023-03-26 10:58:59 +02:00
Sébastien Helleu fa057f663e core: add missing source files to build translations 2023-03-26 10:58:35 +02:00
Sébastien Helleu c03a432f7a core: remove obsolete files used to build translations with autotools 2023-03-26 10:51:16 +02:00
Sébastien Helleu e21144eb1f tests: add tests on gui bar functions 2023-03-26 10:42:31 +02:00
Sébastien Helleu 5b33d1e21b core: fix default value of bar options
The previous commit e385eec1d6 fixed default
value for bar added by plugins and option "items" in all bars.

This commit fixes the default value of all bar options.
2023-03-26 10:38:16 +02:00
Sébastien Helleu cd119b9ee5 core: add packaging changes in release notes 2023-03-25 21:32:23 +01:00
Sébastien Helleu fcbfa13bf3 core: update ChangeLog and release notes (issue #1502) 2023-03-25 21:15:39 +01:00
Sébastien Helleu 2586b0326d doc: update auto-generated files with options 2023-03-25 21:15:35 +01:00
Sébastien Helleu eeb680783b tests: add placeholder for function gui_key_paste_finish 2023-03-25 19:23:46 +01:00
Sébastien Helleu b71b6a48a0 core: fix typo and code style 2023-03-25 18:59:06 +01:00
Trygve Aaberge f86972513b core: Include blank lines in paste line count
Since pastes are now inserted into the input instead of sent, and blank
lines are preserved in the input, they should now be counted too.
2023-03-25 18:53:12 +01:00
Trygve Aaberge 3e331d3772 core: Increase default value for paste_max_lines to 100
Now that pasting text doesn't cause it to be sent immediately, but
rather inserted in the input line, the paste confirmation isn't really
necessary anymore for small pastes. If you paste by mistake you can just
press ctrl-_ to undo it.

Large pastes may cause weechat to hang for a while, so keep the paste
confirmation for those.

If you don't use bracketed paste you would still want to keep it at 1,
because it's not detected as a paste otherwise, but as far as I know
basically all terminal emulators support bracketed paste, so I think
it's fine to disable the confirmation by default.
2023-03-25 18:53:12 +01:00
Trygve Aaberge d15203dbf5 core: Remove option weechat.look.paste_auto_add_newline
This option existed so that you could edit the last line of a multiline
paste before it was sent. Now that pasting multiple lines don't cause
the lines to be sent immediately anymore, this option isn't useful
anymore since you can always edit pasted text before it's sent.
2023-03-25 18:53:12 +01:00
Trygve Aaberge 68040f210a core: Always remove final newline when pasting
Since pasting doesn't send the line now, it's more practical to always
remove the final newline so you don't end up with an empty line at the
end of the input buffer.

Fixes a part of #1498
2023-03-25 18:53:12 +01:00
Trygve Aaberge 37decf3a7c core: Replace newline/tabs after paste is accepted
Instead of replacing newline/tabs when paste is started, do it when the
paste is accepted instead. This makes a difference if you paste again
while the paste confirmation is active, where instead of running it
again for each paste, it will now be run for all the text at the end.

For now this doesn't make a practical difference, but the next commit
will remove the final newline when multiple lines are pasted too, which
we only want to do for the final paste.
2023-03-25 18:53:12 +01:00
Trygve Aaberge 99f6f9e454 core: When pasting, insert text in input instead of interpreting keys
This makes pasted text appear in the input bar, instead of each line
being sent. This allows you to edit the text before sending it, and it
makes multiline paste supported in buffers with input_multiline on.

It also replaces \r with \n in pasted text because most terminals (e.g.
xterm and urxvt) print lines separated by \r when pasting as if return
was pressed between each line, even though the copied text uses \n. The
text sent to the buffer should use \n, not \r, so we have to replace it.

Note that this only works when bracketed paste is enabled or the paste
confirmation as shown, because non-bracketed paste with no paste
confirmation is not detected as a paste.

Fixes a part of #1498
2023-03-25 18:53:12 +01:00
Trygve Aaberge cfaf68ae61 core: Parse bracketed paste also when paste pending
When in paste pending mode, the bracketed paste escape sequence should
still be interpreted, so that if you paste while in paste pending the
same things as when pasting in normal mode still happens, i.e. the
escape sequence is removed, ctrl-y/n is not interpreted and newline/tabs
are replaced.
2023-03-25 18:53:12 +01:00
Sébastien Helleu 8fe4c84b72 core: fix uninitialized variable chunks2_count when key_name and key_name_alias are the same 2023-03-25 18:04:08 +01:00
Sébastien Helleu 94cbed2585 core: fix memory leak in function config_file_read_internal
This was caused by commit 66571a0b63.
2023-03-25 17:56:07 +01:00
Sébastien Helleu 675e63948c core: remove unnecessary assignment 2023-03-25 17:11:15 +01:00
Sébastien Helleu 1b99f861a3 core: remove commented code 2023-03-25 17:11:10 +01:00
Sébastien Helleu 2da5eaf81c core: replace .bz2 by .xz in SRC_URI of cygport template 2023-03-25 11:22:28 +01:00
Sébastien Helleu cf3ba52828 core: remove obsolete cpack config
This config was used to build binary package of WeeChat, which was never
released in this format.
2023-03-25 11:09:04 +01:00
Sébastien Helleu 2550153f26 core: remove build of .bz2 and .zst files in make dist 2023-03-25 11:02:22 +01:00
Sébastien Helleu a2ddfdf5a6 core: fix gcc warning on snprintf 2023-03-25 10:00:54 +01:00
Sébastien Helleu 15f0f7e369 core: add option legacy in command /key 2023-03-24 23:07:40 +01:00
Sébastien Helleu 92b0bc9f10 core: remove RPM packaging
The weechat.spec was obsolete and openSUSE has its own here:
https://build.opensuse.org/package/view_file/server:irc/weechat/weechat.spec?expand=1
2023-03-23 22:30:12 +01:00
Sébastien Helleu dc8f78163f core: replace set -e by set -o errexit in shell scripts 2023-03-23 22:01:48 +01:00
Sébastien Helleu 29ac28f94a core: add extra compiler options to check overflow of destination buffer and output truncation 2023-03-23 18:50:48 +01:00
Sébastien Helleu 952779a74c core: remove autotools related files in .gitignore 2023-03-22 21:10:25 +01:00
Sébastien Helleu 98a599d079 core: move buffer functions and remove them from header file 2023-03-21 20:14:35 +01:00
Sébastien Helleu f48f1c4700 core: remove unused function gui_buffer_is_scrolled 2023-03-21 20:01:12 +01:00
Sébastien Helleu 6edcc6ed41 core: remove unused function gui_buffer_search_by_layout_number 2023-03-21 19:58:53 +01:00
Sébastien Helleu be64e8cddc core: add relative move of read marker with /buffer set unread [+/-]N (closes #1895) 2023-03-20 20:38:24 +01:00
Sébastien Helleu 8475b216a4 doc: update German auto-generated file 2023-03-19 20:03:28 +01:00
Nils Görs e2286a36b4 core: update German translations 2023-03-19 19:55:45 +01:00
Sébastien Helleu dd54e26b4f core: add function bar_new in release notes 2023-03-19 18:45:18 +01:00
Sébastien Helleu 40fa2605b1 core: update ChangeLog (issue #846) 2023-03-19 18:25:05 +01:00
Sébastien Helleu cee14f10d6 core: add option rename in command /bar 2023-03-19 18:24:39 +01:00
Sébastien Helleu e4f181beb3 core: display an error with /bar add when the bar already exists 2023-03-19 17:42:12 +01:00
Sébastien Helleu 6bd49dd595 core: add value "name" in completion of /bar set <name> 2023-03-19 17:26:06 +01:00
Sébastien Helleu b31666cc86 doc/api: fix typo 2023-03-19 17:24:07 +01:00
Sébastien Helleu e385eec1d6 core: fix default value of options for bars added by plugins
When the bar name already exists, the function `bar_new` returns the pointer to
the bar (instead of NULL) and sets the default value for all options with the
values received.
2023-03-19 17:05:26 +01:00
Sébastien Helleu 3ebfe3e117 core: fix long lines in function gui_bar_use_temp_bars 2023-03-19 17:04:13 +01:00
Sébastien Helleu b846df9e0e core: allow any valid boolean value in command /bar set <name> separator xxx 2023-03-19 17:02:14 +01:00
Sébastien Helleu 8c4f02fe5a core: fix typo on bar option name "separator" 2023-03-19 16:53:05 +01:00
Sébastien Helleu c7090ae14a core: use a fixed size buffer to create a bar option 2023-03-19 16:47:46 +01:00
Sébastien Helleu 111525792d core: use a fixed size buffer to rename a bar 2023-03-19 16:47:46 +01:00
Sébastien Helleu 0f4ef874ca core: do not call check callback when setting default value of option 2023-03-19 16:47:46 +01:00
Sekulum Forka d47d9c5ed5 doc/man: call brackets correctly in the serbian translation 2023-03-19 10:08:03 +01:00
Sekulum Forka 16f2c21061 doc/man: fix grammatical mistakes in the serbian translation 2023-03-19 10:08:03 +01:00
Sébastien Helleu ca7da2c961 core: run config hooks only when value or default value is actually changed in set/reset/unset functions 2023-03-19 09:59:33 +01:00
Sébastien Helleu 3e5d77fdff core: optimize commands /reset and /unset with a mask 2023-03-19 08:30:32 +01:00
Sébastien Helleu 0d49ffd053 core: add command /reset to reset options to their default values 2023-03-19 08:02:10 +01:00
Sébastien Helleu 2e82c41c1a core: don't translate the key context (default/search/cursor/mouse) 2023-03-19 07:17:44 +01:00
Sébastien Helleu 89701a3cc0 core: mention breaking changes in release notes 2023-03-18 16:09:47 +01:00
Sébastien Helleu 34e34d28db core: bump version to 4.0.0-dev, follow "practical" semantic versioning 2023-03-18 15:59:23 +01:00
Sébastien Helleu ff544f48fb core: update ChangeLog and release notes (closes #1238) 2023-03-18 15:21:17 +01:00
Sébastien Helleu 5f475ab8cf core: update translations 2023-03-18 15:20:31 +01:00
Sébastien Helleu f7a6bd422a doc: replace comma by underscore in name of option used in anchors 2023-03-18 15:19:08 +01:00
Sébastien Helleu 99ca276556 core: also display mouse codes with /debug key 2023-03-17 22:49:50 +01:00
Sébastien Helleu 64a553f91f core: change order of modifiers in mouse keys
Now the modifiers for mouse keys are in the same order as other keys: `alt-`
then `ctrl-`.
2023-03-17 19:18:30 +01:00
Sébastien Helleu 3640d187b8 core: split gui-curses.h into multiple headers 2023-03-17 18:52:30 +01:00
Sébastien Helleu 313b40235a core: fix search of commands with raw code and alias matching
When raw code and alias for a key are both matching, the raw code must always
have higher priority.

This commit fixes this behavior and gives priority to raw code.
2023-03-17 18:52:30 +01:00
Sébastien Helleu fe6b69c41c core: set insert_ok to 0 for backspace key 2023-03-17 18:52:30 +01:00
Sébastien Helleu e060a0e7f2 core: remove "%s" from translated message for key debug 2023-03-17 18:52:30 +01:00
Sébastien Helleu 2b1da0d910 core: add note about "shift-" modifier in /help key
The modifier "shift-" can only be used with the key names, not with simple
chars.
2023-03-17 18:52:30 +01:00
Sébastien Helleu c1db5c9549 core: refactor print of keys in debug mode
Changes:

- add function gui_key_debug_print_key
- change message "no key" by "no key binding"
- remove messages ""insert into input" / "ignored"
- add color for delimiters
2023-03-17 18:52:30 +01:00
Sébastien Helleu a54663d60c core: replace "\x01" by "^" and add color for delimiters in output of /debug key 2023-03-17 18:52:30 +01:00
Sébastien Helleu d9e084869a core: add modifiers, key names and combos in /help key 2023-03-17 18:52:30 +01:00
Sébastien Helleu 9afbf02a42 core: use order returned by gui_key_expand in gui_key_modifier_list 2023-03-17 18:52:30 +01:00
Sébastien Helleu 0c4a5528ac core: display a warning when trying to bind a raw key code or invalid key (missing comma) 2023-03-17 18:52:30 +01:00
Sébastien Helleu 3b8f9d4547 core: check new keys manually added with /set 2023-03-17 18:52:30 +01:00
Sébastien Helleu 042968b016 core: remove use of "meta2-" in key name
The raw key code is kept as-is, so for example "meta2-A" becomes "meta-[A".
2023-03-17 18:52:30 +01:00
Sébastien Helleu 8a5a778293 core: remove mention to list of keys being displayed without arguments in /help key
Now when fset plugin is loaded, the keys are displayed in fset buffer.

In core commands like /set or /key, the fset plugin is not mentioned as WeeChat
can run without it.
2023-03-16 20:42:19 +01:00
Sébastien Helleu 46ce8d7e81 buflist: do not display keys added in default context on first load
Keys added in mouse context were already hidden, so it makes sense to not
display keys in default context as well.

These keys added by the default plugins are documented anyway.
2023-03-16 20:42:19 +01:00
Sébastien Helleu bf51a081d9 core: display a specific error when trying to bind a key without area in mouse context 2023-03-16 20:42:19 +01:00
Sébastien Helleu bb0c7b39fe api: change also default value of new key options with function key_bind 2023-03-16 20:42:19 +01:00
Sébastien Helleu a0c3fbbde9 core: display a warning if the config version read is newer than supported version 2023-03-16 20:42:19 +01:00
Sébastien Helleu 03e6d4563f core: move keyboard debug mode from /key debug to /debug key 2023-03-16 20:42:19 +01:00
Sébastien Helleu d94979fe3e core: split alias list into two lists 2023-03-16 20:42:19 +01:00
Sébastien Helleu 7f1f6a6e84 tests: add extra test on function gui_key_legacy_to_alias 2023-03-16 20:42:19 +01:00
Sébastien Helleu a686fa6407 api: change default value of existing key options with function key_bind
With this fix, fset buffer shows the key as modified only if the user actually
changed the command bound to the key.
2023-03-16 20:42:19 +01:00
Sébastien Helleu 55d9989b85 core: add function config_file_option_set_default 2023-03-16 20:42:19 +01:00
Sébastien Helleu 79f7c1cf83 fset: hook command /key
When command /key is called without arguments, and if fset plugin is loaded,
fset displays all key options (filter: `weechat.key*`).
2023-03-16 20:42:19 +01:00
Sébastien Helleu ccc649d06c core: create config options for all keys that can be managed with /set and /fset commands 2023-03-16 20:42:19 +01:00
Sébastien Helleu c82df8f22e core: fix safe list of keys
Add missing safe keys: "backspace" and "return".
Add missing unsafe keys: "comma", "space".
2023-03-16 20:42:19 +01:00
Sébastien Helleu c647d540a7 core: remove obsolete function gui_key_legacy_expand 2023-03-16 20:42:19 +01:00
Sébastien Helleu d1adec29f9 core: optimize search of key by reducing the number of splits into chunks 2023-03-16 20:42:19 +01:00
Sébastien Helleu 5b5c9afa29 core: add key alt-K (alt+shift+k) to grab raw key and its command 2023-03-16 20:42:19 +01:00
Sébastien Helleu 1f5c791c37 core: use new key name in command /key and configuration file
Legacy keys are automatically converted to new names when loading configuration
file `weechat.conf`.

Examples:

  "ctrl-I" => "tab"
  "meta2-1;3A" => "meta-up"
  "meta2-Z" => "shift-tab"
  "meta-wmeta-meta2-A" => "meta-w,meta-up"
  "ctrl-Cb" => "ctrl-c,b"
2023-03-16 20:42:19 +01:00
Sébastien Helleu 5b5ccb236f core: fix display of key with command /key bindctxt <context> <key> 2023-03-16 20:42:18 +01:00
Sébastien Helleu 66571a0b63 core: add configuration version, add API function config_set_version 2023-03-16 20:42:18 +01:00
Sébastien Helleu 7b8e5b36c0 core: simplify function config_file_read_internal 2023-03-16 20:42:18 +01:00
Sébastien Helleu 31bf962bba core: display new key name using aliases in output of /key command 2023-03-16 20:42:18 +01:00
Sébastien Helleu 15587ac72f core: fix function gui_key_legacy_to_alias with keys on areas 2023-03-16 20:42:18 +01:00
Sébastien Helleu 21910b7050 core: add function to expand raw key code to name with alias, use it in /key debug 2023-03-16 20:42:18 +01:00
Sébastien Helleu 0781f29726 core: add keyboard debug mode with command /key debug 2023-03-16 20:42:18 +01:00
Sébastien Helleu 5441c52d64 fset: remove scroll to top of fset buffer when options are added or removed (closes #1892) 2023-03-16 20:41:05 +01:00
Sébastien Helleu b21bc63313 tests: add tests on functions weeurl_search_constant and weeurl_search_option 2023-03-12 08:02:47 +01:00
Sébastien Helleu 7ba9f9ac7b core: revert case sensitive Curl constants and options (issue #1872)
This is a partial revert of fca78ca823.
2023-03-12 08:00:51 +01:00
Sébastien Helleu e36eda5404 core: check that parameters are not NULL in URL functions 2023-03-12 07:58:00 +01:00
Sébastien Helleu a5aa3304a4 doc/api: add hashtable methods in function string_eval_expression 2023-03-10 21:04:34 +01:00
Sébastien Helleu 7cda6cfd49 core: update translations (issue #1888) 2023-03-10 20:52:53 +01:00
Sébastien Helleu 5f5535b466 core: simplify /help eval, move examples with the other examples (issue #1888) 2023-03-10 20:52:28 +01:00
Sébastien Helleu eb71880e18 core: update ChangeLog (issue #1888) 2023-03-10 20:21:49 +01:00
Sébastien Helleu f604cf19c7 core: rename variable open_paren to pos_open_paren 2023-03-10 20:19:24 +01:00
Andrew Potter e3f588679c core: allow /eval to get hashtable properties 2023-03-10 20:19:03 +01:00
Sébastien Helleu dd65e91a75 ci: fix macOS CI 2023-02-22 21:53:25 +01:00
Sébastien Helleu fb0248f557 core: fix crash in case of NULL message sent to function gui_chat_printf_y_date_tags (closes #1883) 2023-02-22 20:38:56 +01:00
Nils Görs f6fdecb846 doc: update German documentation 2023-02-21 12:25:23 +01:00
Sébastien Helleu 188583256e doc/user: make XDG directory fallback more clear in table 2023-02-16 21:39:02 +01:00
Sébastien Helleu 2cfecc2e2d core: update ChangeLog (issue #603) 2023-02-11 14:18:13 +01:00
Sébastien Helleu 3466c716ae doc/user: move "Upgrade" chapter after "Running WeeChat" 2023-02-10 19:00:01 +01:00
Sébastien Helleu 46935b859c core: update ChangeLog (issue #1881) 2023-02-10 18:59:39 +01:00
Robin Jarry 9b9ec62a8e core: allow /input move_next_word going to the end of line
When the input buffer contains non word characters at the end, /input
move_next_word will stop moving at the end of the last word. This is
a bit confusing and not in line with what readline does (think bash).

When there are no words left in the input buffer, make /input
move_next_word go to the end of line.

Signed-off-by: Robin Jarry <robin@jarry.cc>
2023-02-10 18:56:43 +01:00
rj1 69a3dd21dc fix: various code comments 2023-02-04 11:50:44 +01:00
Sébastien Helleu 6d4471b6db core: optimize search of key bindings in contexts default/search/cursor 2023-02-04 10:45:57 +01:00
Sébastien Helleu 587e2882ac core: simplify function gui_key_cmp 2023-02-03 22:52:07 +01:00
Sébastien Helleu 1f073fe949 tests: add tests on function gui_key_cmp 2023-02-03 22:50:32 +01:00
Sébastien Helleu 68a5a71b55 core: remove extra spaces before comma 2023-02-02 22:01:46 +01:00
Sébastien Helleu 48a51c9f6e doc: update auto-generated files 2023-02-01 20:32:00 +01:00
Ivan Pešić 314d9c0ce9 core/doc Update Serbian translations
Update messages and documentation translations.
2023-02-01 20:31:19 +01:00
Nils Görs 98917539b2 core: update German translations 2023-02-01 11:05:36 +01:00
Sébastien Helleu 30fa647700 irc: add command /rules (closes #1864) 2023-01-31 18:43:07 +01:00
Sébastien Helleu 9f5ca3b1a9 irc: add command /knock (closes #7) 2023-01-31 18:37:27 +01:00
Sébastien Helleu 4c0d2ab3b1 doc: update German auto-generated file 2023-01-31 07:55:36 +01:00
Nils Görs f2e149e489 core: update German translations 2023-01-31 07:52:53 +01:00
Sébastien Helleu 7ad4f7b29c core: update description of function hook_command_display_error_unknown 2023-01-30 23:27:25 +01:00
Sébastien Helleu e78d96686c core: inform that commands are case sensitive when another command with different case is found (issue #1877) 2023-01-30 22:09:36 +01:00
Sébastien Helleu 4370f75ce6 core: improve prioritization of commands starting with same chars in similar commands 2023-01-30 21:51:32 +01:00
Sébastien Helleu b02a10aa48 core: display similar command names when a command is unknown (closes #1877) 2023-01-30 21:44:38 +01:00
Sébastien Helleu 74154d972d tests: fix comments (issue #1877) 2023-01-30 21:44:09 +01:00
Sébastien Helleu 69a635412d core: add function string_get_common_bytes_count (issue #1877) 2023-01-30 21:44:03 +01:00
Sébastien Helleu 38ffac78f3 core: add function string_levenshtein (issue #1877) 2023-01-30 21:43:58 +01:00
Sébastien Helleu 269b8fc66e core: properly skip command char when it is a wide char in exec of hook_command_run 2023-01-29 21:20:18 +01:00
Mattia 2bcd9cb87b doc/quickstart: translate to Italian (closes #1874) 2023-01-29 16:58:22 +01:00
Andrew Potter 4f0b6115a1 irc: add server option "registered_mode" (closes #1625)
Two new fields are added in IRC server structure:

- "authentication_method", possible values:
    0: not authenticated
    1: authenticated with SASL
    2: authenticated with other method
- "sasl_mechanism_used", possible values: see enum t_irc_sasl_mechanism
  in src/plugins/irc/irc-sasl.h
2023-01-29 16:50:57 +01:00
Sébastien Helleu 3909d77617 core: add bug #32213 in ChangeLog 2023-01-29 13:58:21 +01:00
Sébastien Helleu e6eb068b2b doc: update German auto-generated files 2023-01-29 13:44:30 +01:00
Nils Görs 958ddee8fd core: update German translations 2023-01-29 13:20:28 +01:00
Sébastien Helleu 471ef214e7 core: add issue #398 in ChangeLog 2023-01-29 13:10:31 +01:00
Sébastien Helleu fc504698ad core: add ctrl keys as lower case in release notes (issue #1875) 2023-01-29 13:01:58 +01:00
Sébastien Helleu fd746a04d6 core: force ctrl keys to lower case when they are added (closes #1875) 2023-01-29 12:41:28 +01:00
Sébastien Helleu be0c04f498 core: ignore incomplete ctrl/meta/meta2 codes in keys (issue #1875) 2023-01-29 12:41:27 +01:00
Sébastien Helleu c68c2aaa94 core: ensure internal_code is not NULL when adding a default key (issue #1875) 2023-01-29 12:41:26 +01:00
Sébastien Helleu 3005658f38 core: compute first internal code and expanded name before removing key (issue #1875) 2023-01-29 12:41:24 +01:00
Sébastien Helleu a9289cbdc1 core: compute first internal code and expanded name before adding key (issue #1875) 2023-01-29 12:41:23 +01:00
Sébastien Helleu 0d8a6679b3 core: use dynamic string in functions gui_key_get_internal_code and gui_key_get_expanded_name (issue #1875) 2023-01-29 12:41:22 +01:00
Sébastien Helleu fa6a9bb934 api: readjust string size in function string_dyn_free when string is not freed (issue #1875)
This frees some allocated memory if size_alloc was greater than size in the
dynamic string.
2023-01-29 12:41:19 +01:00
Sébastien Helleu 48c1aebb83 tests: add tests on gui key functions (issue #1875) 2023-01-29 12:41:11 +01:00
Sébastien Helleu 81f4b16180 core: update ChangeLog (closes #1872) 2023-01-28 15:19:46 +01:00
Sébastien Helleu efe4aa29fc core: update translations and auto-generated doc files (issue #1872) 2023-01-28 15:19:41 +01:00
Sébastien Helleu 4c1a87ba60 core: add case sensitive identifiers in release notes (issue #1872) 2023-01-28 15:14:32 +01:00
Sébastien Helleu 3318a7f3b8 alias: add option rename in command /alias (issue #1872) 2023-01-28 15:14:31 +01:00
Sébastien Helleu 11ea0aecf4 core: make buffer name case sensitive in read of infolist "buffer" (issue #1872) 2023-01-28 15:14:30 +01:00
Sébastien Helleu b5350a3318 core: make proxy name case sensitive in read of infolist "proxy" (issue #1872) 2023-01-28 15:14:29 +01:00
Sébastien Helleu 18d4e6a52c relay: make relay compression case sensitive (issue #1872) 2023-01-28 15:14:28 +01:00
Sébastien Helleu 3e9e1b51bf core, plugins: replace calls to strcmp by string_strcmp when difference matters (issue #1872) 2023-01-28 15:14:26 +01:00
Sébastien Helleu fbeab26a35 core, plugins: replace calls to string_str(n)cmp by str(n)cmp (issue #1872) 2023-01-28 15:14:24 +01:00
Sébastien Helleu c07cf691ad core, plugins: check that string parameters are not NULL in search functions (issue #1872) 2023-01-28 15:14:22 +01:00
Sébastien Helleu c9ac4fef4b xfer: make xfer types and protocols case sensitive (issue #1872) 2023-01-28 15:14:21 +01:00
Sébastien Helleu f9a80e7d4d trigger: make trigger names/options/types/return codes/post actions case sensitive (issue #1872) 2023-01-28 15:14:20 +01:00
Sébastien Helleu 3319e6ff6e script: make script names case sensitive (issue #1872) 2023-01-28 15:14:19 +01:00
Sébastien Helleu 375c9f8b1e api: make prefix argument case sensitive in prefix function (issue #1872) 2023-01-28 15:14:17 +01:00
Sébastien Helleu 7b06463e84 irc: make IRC raw filters case sensitive (issue #1872)
Except the IRC command name filter (`m:xxx`).
2023-01-28 15:14:16 +01:00
Sébastien Helleu 0704f382e0 irc: make IRC server names case sensitive (issue #1872) 2023-01-28 15:14:15 +01:00
Sébastien Helleu d7f08a45d7 core: make notify tags in line case sensitive (issue #1872) 2023-01-28 15:14:14 +01:00
Sébastien Helleu 844b57a26d core: make key contexts case sensitive (issue #1872) 2023-01-28 15:14:12 +01:00
Sébastien Helleu f11d598928 core: make hotlist priorities case sensitive (issue #1872) 2023-01-28 15:14:11 +01:00
Sébastien Helleu 8744fdfaf3 core: make filter names case sensitive (issue #1872) 2023-01-28 15:14:10 +01:00
Sébastien Helleu 7a8ce6c9ae core: make color names and attributes case sensitive (issue #1872) 2023-01-28 15:14:08 +01:00
Sébastien Helleu 73c3c03915 core, plugins: make input actions in buffers case sensitive (issue #1872) 2023-01-28 15:14:07 +01:00
Sébastien Helleu c724032a22 core: make function gui_buffer_match_list case sensitive (issue #1872) 2023-01-28 15:14:06 +01:00
Sébastien Helleu 2ee65dd1ff core: make buffer types and notify levels case sensitive (issue #1872) 2023-01-28 15:14:05 +01:00
Sébastien Helleu a3befc7aae core: make proxy options and types case sensitive (issue #1872) 2023-01-28 15:14:04 +01:00
Sébastien Helleu 54ed4c6a18 core: make weelist position case sensitive (issue #1872) 2023-01-28 15:14:02 +01:00
Sébastien Helleu 411fe0b0ef core: make hashtable types case sensitive (issue #1872) 2023-01-28 15:14:01 +01:00
Sébastien Helleu fca78ca823 core: make Curl constants and options case sensitive (issue #1872) 2023-01-28 15:14:00 +01:00
Sébastien Helleu bbbd08694b core: make get/set object properties case sensitive (issue #1872) 2023-01-28 15:13:58 +01:00
Sébastien Helleu 5434f4f969 core, plugins: make plugin names case sensitive (issue #1872) 2023-01-28 15:13:57 +01:00
Sébastien Helleu 4b5897f110 core: make bar and bar items case sensitive (issue #1872) 2023-01-28 15:13:55 +01:00
Sébastien Helleu 489c264202 core, plugins: make info, info_hashtable and infolist case sensitive (issue #1872) 2023-01-28 15:13:54 +01:00
Sébastien Helleu 5bd97b9630 irc: make case insensitive comparison with a lower case string (issue #1872)
This is faster because with case insensitive comparison, the chars are
converted to lower case anyway before being compared.
2023-01-28 15:13:52 +01:00
Sébastien Helleu 498ee539ea core: make case insensitive comparison with a lower case string (issue #1872)
This is faster because with case insensitive comparison, the chars are
converted to lower case anyway before being compared.
2023-01-28 15:13:51 +01:00
Sébastien Helleu f0415c8ec3 core, plugins: make commands, hook command_run, completions and aliases case sensitive (issue #1872) 2023-01-28 15:13:48 +01:00
Sébastien Helleu 1de735b779 alias: make aliases case sensitive, convert default aliases to lower case (issue #1872) 2023-01-28 15:13:47 +01:00
Sébastien Helleu db177de204 core: make configuration files, sections and options case sensitive (issue #1872) 2023-01-28 15:13:45 +01:00
Sébastien Helleu 72f4596fb2 core: add function config_file_get_configs_by_priority (issue #1872) 2023-01-28 15:13:43 +01:00
Sébastien Helleu d71c3b0f21 doc/api: add priority in function config_new (issue #1872) 2023-01-28 15:13:40 +01:00
Sébastien Helleu f72435d765 core: simplify code in config functions (issue #1872) 2023-01-28 15:13:38 +01:00
Sébastien Helleu 0dd1d1be1c core: sort configuration files by name, reload them by priority (issue #1872) 2023-01-28 15:13:36 +01:00
Sébastien Helleu 202b4d82c0 plugins: set priority in calls to weechat_config_new (issue #1872) 2023-01-28 15:13:34 +01:00
Sébastien Helleu 9174ec979b core: set priority in calls to config_file_new (issue #1872) 2023-01-28 15:13:32 +01:00
Sébastien Helleu d274eb4be4 core: add priority in config file (issue #1872)
Priority is now allowed in function config_file_new, parameter `name`, with the
same format as hooks: "priority|name" (for example: "2000|test").

If not specified, the default priority is 1000.
2023-01-28 15:13:29 +01:00
Sébastien Helleu 347c3f3214 core: move function hook_get_priority_and_name to wee-string.c (issue #1872) 2023-01-28 15:13:18 +01:00
Sébastien Helleu db8d2d43f0 doc: update German auto-generated file 2023-01-25 07:59:33 +01:00
Nils Görs 5a93b5ad15 core: update German translations 2023-01-25 07:50:28 +01:00
Sébastien Helleu 37e8599443 irc: add option join in command /autojoin 2023-01-24 20:58:17 +01:00
Sébastien Helleu 0e1d3618ee doc: update auto-generated files with hdata 2023-01-24 20:55:28 +01:00
Sébastien Helleu 55d08a604f irc: fix autojoin on server connection (closes #1873)
Now the autojoin is made only one time, until the server buffer is closed.

A new flag `autojoin_done` is added to know whether the autojoin has already
been done or not on the server.  It is set to 1 on first autojoin, and reset to
0 only if the server buffer is closed.

The flag `reconnect_join` is removed, because it is now obsolete.
2023-01-23 19:10:13 +01:00
Nils Görs e0cdfb1cef core: update German translations 2023-01-16 08:53:26 +01:00
Sébastien Helleu cfa2239db5 irc: update message with number of nicks when joining a channel
Changed:

- "N voices" to "N voiced"
- "N normals" to "N regular"
2023-01-15 21:12:32 +01:00
Sébastien Helleu 6abd989dd7 debian: remove remaining workarounds for autotools build 2023-01-15 17:10:20 +01:00
Sébastien Helleu 51d0a6f402 tests: add tests on string comparison functions 2023-01-14 21:44:19 +01:00
Sébastien Helleu fdb793e410 ci: fix macOS CI (temporary fix)
Unlink Python binaries so that the install of packages via brew is a success.
See: https://github.com/actions/setup-python/issues/577
2023-01-14 21:16:18 +01:00
Sébastien Helleu 7668e7ea55 fset: fix typo in French translation of /help fset.look.condition_catch_set 2023-01-14 20:56:06 +01:00
Sébastien Helleu 87d71b9677 core: remove useless continue statement in loop 2023-01-12 21:33:57 +01:00
Sébastien Helleu 049c6eb6a8 core: display error in command if allocation of arraylist fails 2023-01-12 20:57:47 +01:00
Sébastien Helleu 0d622df87a core: fix display glitch in command errors when a wide char is set in option weechat.look.command_chars (closes #1871) 2023-01-12 20:28:29 +01:00
Sébastien Helleu 1a15171912 ci: fix typo 2023-01-10 08:18:49 +01:00
Sébastien Helleu 711f71a1bc ci: fix run of code coverage 2023-01-10 08:01:22 +01:00
Sébastien Helleu f59f39abd4 python: remove unneded call to deprecated function PySys_SetArgv
This function is deprecated since Python 3.11.
2023-01-08 20:26:57 +01:00
Sébastien Helleu 9b47832a01 core: do not allocate strings in dir_search_full_lib_name_ext, check return code of snprintf
This removes three compiler warnings.
2023-01-08 18:24:28 +01:00
Sébastien Helleu 0bde2aa0f3 irc: check return code of snprintf
This removes two compiler warnings.
2023-01-08 18:13:05 +01:00
Sébastien Helleu f305eed01f typing: fix crash when pointer buffer is not received in callback for signal "input_text_changed" (closes #1869) 2023-01-08 17:38:37 +01:00
Sébastien Helleu 43d3a97869 debian: restore target override_dh_auto_configure (packaging of stable version) 2023-01-08 15:18:19 +01:00
Sébastien Helleu f67b7ad113 debian: restore target override_dh_auto_configure 2023-01-08 15:16:52 +01:00
Sébastien Helleu 736bc89d4e core: update ChangeLog and release notes (closes #1860) 2023-01-08 14:43:17 +01:00
Sébastien Helleu 754ab33946 core: remove build with autotools
CMake is now the only way to build WeeChat.
2023-01-08 14:19:41 +01:00
Sébastien Helleu 18360feb32 ruby: remove warnings on unused parameters
These warnings may be enabled again in future when Ruby itself will be fixed.
2023-01-08 14:04:10 +01:00
Sébastien Helleu fe7c0019a7 php: remove warnings on variables "argc" and "ret_i" that might be clobbered by longjmp or vfork 2023-01-08 14:04:05 +01:00
Sébastien Helleu e101d5d8a4 Version 3.9-dev 2023-01-08 10:35:38 +01:00
621 changed files with 84100 additions and 108359 deletions
-1
View File
@@ -3,6 +3,5 @@
.git* export-ignore
debian-devel export-ignore
debian-stable export-ignore
weechat.spec export-ignore
.mailmap export-ignore
tools/build_debian.sh export-ignore
+5 -1
View File
@@ -1,10 +1,14 @@
---
name: Question
about: Ask a question (please read first FAQ and docs)
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
+33 -16
View File
@@ -5,7 +5,7 @@ on:
- pull_request
env:
WEECHAT_DEPENDENCIES: devscripts equivs python3-pip autopoint 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: devscripts equivs python3-pip cmake ninja-build lcov pkg-config libncurses-dev gem2deb libperl-dev python3-dev libaspell-dev liblua5.3-dev tcl8.6-dev guile-3.0-dev libv8-dev libcurl4-gnutls-dev libgcrypt20-dev libgnutls28-dev libzstd-dev zlib1g-dev curl libcpputest-dev php-dev libphp-embed libargon2-dev libsodium-dev flake8 pylint python3-bandit asciidoctor ruby-pygments.rb shellcheck
jobs:
@@ -16,13 +16,12 @@ jobs:
os:
- ubuntu-22.04
config:
- { name: "cmake_gcc", cc: "gcc", cxx: "g++", tool: "cmake", args: "" }
- { name: "cmake_gcc_ninja", cc: "gcc", cxx: "g++", tool: "cmake", args: "-G Ninja" }
- { name: "cmake_gcc_no_nls", cc: "gcc", cxx: "g++", tool: "cmake", args: "-DENABLE_NLS=OFF" }
- { name: "cmake_gcc_coverage", cc: "gcc", cxx: "g++", tool: "cmake", args: "-DENABLE_CODE_COVERAGE=ON" }
- { name: "cmake_clang", cc: "clang", cxx: "clang++", tool: "cmake", args: "" }
- { name: "autotools_gcc", cc: "gcc", cxx: "g++", tool: "autotools", args: "" }
- { name: "autotools_clang", cc: "clang", cxx: "clang++", tool: "autotools", args: "" }
- { name: "gcc", cc: "gcc", cxx: "g++", buildargs: "" }
- { name: "gcc_ninja", cc: "gcc", cxx: "g++", buildargs: "-G Ninja" }
- { name: "gcc_no_nls", cc: "gcc", cxx: "g++", buildargs: "-DENABLE_NLS=OFF -DENABLE_DOC=OFF" }
- { name: "gcc_no_zstd", cc: "gcc", cxx: "g++", buildargs: "-DENABLE_ZSTD=OFF -DENABLE_DOC=OFF" }
- { name: "gcc_coverage", cc: "gcc", cxx: "g++", buildargs: "-DENABLE_CODE_COVERAGE=ON" }
- { name: "clang", cc: "clang", cxx: "clang++", buildargs: "" }
name: "Tests: ${{ matrix.config.name }} on ${{ matrix.os }}"
runs-on: ${{ matrix.os }}
@@ -35,6 +34,8 @@ jobs:
run: |
sudo apt-get update -qq
sudo apt-get --yes --no-install-recommends install ${{ env.WEECHAT_DEPENDENCIES }}
# uninstall php imagick as is causes a crash when loading php plugin (see #2009)
sudo apt-get --yes purge php8.1-imagick
sudo -H pip3 install --ignore-installed msgcheck
- name: Check gettext files
@@ -53,8 +54,7 @@ jobs:
env:
CC: ${{ matrix.config.cc }}
CXX: ${{ matrix.config.cxx }}
BUILDTOOL: ${{ matrix.config.tool }}
BUILDARGS: ${{ matrix.config.args }}
BUILDARGS: ${{ matrix.config.buildargs }}
run: ./tools/build_test.sh
- name: Run WeeChat
@@ -69,7 +69,7 @@ jobs:
weechat --run-command "/debug dirs;/debug libs" --run-command "/quit"
- name: Code coverage
if: ${{ matrix.config.name == 'cmake_gcc_coverage' }}
if: ${{ matrix.config.name == 'gcc_coverage' }}
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
run: |
@@ -87,20 +87,37 @@ jobs:
- macos-12
- macos-11
config:
- { name: "cmake_gcc", cc: "gcc", cxx: "g++" }
- { name: "cmake_clang", cc: "clang", cxx: "clang++" }
- { name: "gcc", cc: "gcc", cxx: "g++" }
- { name: "clang", cc: "clang", cxx: "clang++" }
name: "Tests: ${{ matrix.config.name }} on ${{ matrix.os }}"
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v2
- name: Setup Homebrew
id: setup-homebrew
uses: Homebrew/actions/setup-homebrew@master
- name: Install dependencies
run: |
brew update
brew install asciidoctor lua ruby
# temporary fix, see: https://github.com/actions/setup-python/issues/577
rm -f \
/usr/local/bin/2to3 \
/usr/local/bin/idle3 \
/usr/local/bin/pydoc3 \
/usr/local/bin/python3 \
/usr/local/bin/python3-config \
/usr/local/bin/2to3-3.11 \
/usr/local/bin/idle3.11 \
/usr/local/bin/pydoc3.11 \
/usr/local/bin/python3.11 \
/usr/local/bin/python3.11-config \
;
brew install asciidoctor guile lua pkg-config ruby
- uses: actions/checkout@v2
- name: Build
env:
@@ -108,7 +125,7 @@ jobs:
CXX: ${{ matrix.config.cxx }}
run: |
mkdir build-tmp && cd build-tmp
cmake .. -DENABLE_MAN=ON -DENABLE_DOC=ON -DENABLE_PHP=OFF
cmake .. -DENABLE_MAN=ON -DENABLE_DOC=ON -DENABLE_DOC_INCOMPLETE=ON -DENABLE_PHP=OFF
make VERBOSE=1 -j2
sudo make install
+9 -55
View File
@@ -1,57 +1,11 @@
# ignored files for Git
*.a
*.gmo
*.la
*.lai
*.lo
*.m4
*.o
*.Plo
*.Po
*.so
*.so.0
*.so.0.0.0
*.1
ABOUT-NLS
autom4te*
build/*
builddir/*
compile
config.guess
config.h
config.h.in*
config-git.h
config.log
config.rpath
config.status
config.sub
configure
debian
!tools/debian
debian-devel/changelog
debian-devel/*.log
debian-stable/*.log
depcomp
insert-header.sin
install-sh
intl/*
libtool
ltmain.sh
Makefile
Makefile.in*
Makevars.template
missing
po/*quot*
POTFILES
remove-potcdate.sed
Rules-quot
weechat.pc
weechat-*.cygport
*stamp
stamp*
src/gui/curses/weechat
src/gui/curses/weechat-curses
/build
/builddir
/debian
/debian-devel/changelog
/debian-devel/*.log
/debian-devel/*-stamp
/debian-stable/*.log
/debian-stable/*-stamp
/release
+3
View File
@@ -81,10 +81,12 @@ Alphabetically:
* Lázaro A.
* Leonid Evdokimov
* Linus Heckemann
* LuK1337
* Maarten de Vries
* Mantas MikulÄ—nas (grawity)
* Marco Paolone
* Marco Sirabella
* Mario Campos
* Mateusz Poszwa
* Matt Robinson
* Matthew Horan
@@ -149,6 +151,7 @@ Alphabetically:
* Vasco Almeida
* Victorhck
* Voroskoi
* wfrsk
* Wojciech Kwolek
* W. Trevor King
* Yannick Palanque
+101 -103
View File
@@ -19,28 +19,35 @@
# 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)
# CMake options
set(CMAKE_VERBOSE_MAKEFILE OFF)
set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake ${CMAKE_MODULE_PATH})
set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake" "${CMAKE_MODULE_PATH}")
set(CMAKE_SKIP_RPATH ON)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsigned-char -fms-extensions -Wall -Wextra -Werror-implicit-function-declaration")
# compiler options
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsigned-char -fms-extensions -Wall -Wextra -Werror-implicit-function-declaration -Wformat -Werror=format-security")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsigned-char -fms-extensions -Wall -Wextra")
if (CMAKE_C_COMPILER_ID STREQUAL "GNU")
# extra options specific to gcc/g++
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wformat-overflow=2 -Wformat-truncation=2")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wformat-overflow=2 -Wformat-truncation=2")
endif()
# version
execute_process(COMMAND ${CMAKE_SOURCE_DIR}/version.sh devel-major OUTPUT_VARIABLE VERSION_MAJOR)
execute_process(COMMAND ${CMAKE_SOURCE_DIR}/version.sh devel-minor OUTPUT_VARIABLE VERSION_MINOR)
execute_process(COMMAND ${CMAKE_SOURCE_DIR}/version.sh devel-patch OUTPUT_VARIABLE VERSION_PATCH)
execute_process(COMMAND "${CMAKE_SOURCE_DIR}/version.sh" devel-major OUTPUT_VARIABLE VERSION_MAJOR)
execute_process(COMMAND "${CMAKE_SOURCE_DIR}/version.sh" devel-minor OUTPUT_VARIABLE VERSION_MINOR)
execute_process(COMMAND "${CMAKE_SOURCE_DIR}/version.sh" devel-patch OUTPUT_VARIABLE VERSION_PATCH)
string(REGEX REPLACE "\n" "" VERSION_MAJOR "${VERSION_MAJOR}")
string(REGEX REPLACE "\n" "" VERSION_MINOR "${VERSION_MINOR}")
string(REGEX REPLACE "\n" "" VERSION_PATCH "${VERSION_PATCH}")
if(VERSION_PATCH STREQUAL "")
set(VERSION ${VERSION_MAJOR}.${VERSION_MINOR})
set(VERSION "${VERSION_MAJOR}.${VERSION_MINOR}")
else()
set(VERSION ${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH})
set(VERSION "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}")
endif()
# license
@@ -59,67 +66,69 @@ set(PKG_STRING "${PROJECT_NAME} ${VERSION}")
string(REPLACE "\";\"" "\ " PKG_STRING ${PKG_STRING})
if(NOT DEFINED LIBDIR)
set(LIBDIR ${CMAKE_INSTALL_PREFIX}/lib)
set(LIBDIR "${CMAKE_INSTALL_PREFIX}/lib")
endif()
if(NOT DEFINED WEECHAT_LIBDIR)
set(WEECHAT_LIBDIR ${LIBDIR}/${PROJECT_NAME})
set(WEECHAT_LIBDIR "${LIBDIR}/${PROJECT_NAME}")
endif()
if(NOT DEFINED DATAROOTDIR)
set(DATAROOTDIR ${CMAKE_INSTALL_PREFIX}/share)
set(DATAROOTDIR "${CMAKE_INSTALL_PREFIX}/share")
endif()
if(NOT DEFINED WEECHAT_SHAREDIR)
set(WEECHAT_SHAREDIR ${DATAROOTDIR}/weechat)
set(WEECHAT_SHAREDIR "${DATAROOTDIR}/weechat")
endif()
if(NOT DEFINED MANDIR)
set(MANDIR ${DATAROOTDIR}/man)
set(MANDIR "${DATAROOTDIR}/man")
endif()
if(NOT DEFINED LOCALEDIR)
set(LOCALEDIR ${DATAROOTDIR}/locale)
set(LOCALEDIR "${DATAROOTDIR}/locale")
endif()
if(DEFINED INCLUDEDIR)
set(INCLUDEDIR ${INCLUDEDIR}/${PROJECT_NAME})
set(INCLUDEDIR "${INCLUDEDIR}/${PROJECT_NAME}")
else()
set(INCLUDEDIR ${CMAKE_INSTALL_PREFIX}/include/${PROJECT_NAME})
set(INCLUDEDIR "${CMAKE_INSTALL_PREFIX}/include/${PROJECT_NAME}")
endif()
option(ENABLE_NCURSES "Compile the Ncurses interface" ON)
option(ENABLE_HEADLESS "Compile the headless binary (required for tests)" ON)
option(ENABLE_NLS "Enable Native Language Support" ON)
option(ENABLE_LARGEFILE "Enable Large File Support" ON)
option(ENABLE_ALIAS "Enable Alias plugin" ON)
option(ENABLE_BUFLIST "Enable Buflist plugin" ON)
option(ENABLE_CHARSET "Enable Charset plugin" ON)
option(ENABLE_EXEC "Enable Exec plugin" ON)
option(ENABLE_FIFO "Enable FIFO plugin" ON)
option(ENABLE_FSET "Enable Fast Set plugin" ON)
option(ENABLE_IRC "Enable IRC plugin" ON)
option(ENABLE_LOGGER "Enable Logger plugin" ON)
option(ENABLE_RELAY "Enable Relay plugin" ON)
option(ENABLE_SCRIPT "Enable Script plugin (script manager)" ON)
option(ENABLE_SCRIPTS "Enable script plugins (perl, python, ...)" ON)
option(ENABLE_PERL "Enable Perl scripting language" ON)
option(ENABLE_PYTHON "Enable Python scripting language" ON)
option(ENABLE_RUBY "Enable Ruby scripting language" ON)
option(ENABLE_LUA "Enable Lua scripting language" ON)
option(ENABLE_TCL "Enable Tcl scripting language" ON)
option(ENABLE_GUILE "Enable Scheme (guile) scripting language" ON)
option(ENABLE_JAVASCRIPT "Enable JavaScript scripting language" OFF)
option(ENABLE_PHP "Enable PHP scripting language" ON)
option(ENABLE_SPELL "Enable Spell checker plugin" ON)
option(ENABLE_ENCHANT "Enable Enchant lib for Spell checker plugin" OFF)
option(ENABLE_TRIGGER "Enable Trigger plugin" ON)
option(ENABLE_TYPING "Enable Typing plugin" ON)
option(ENABLE_XFER "Enable Xfer plugin" ON)
option(ENABLE_MAN "Enable build of man page" OFF)
option(ENABLE_DOC "Enable build of documentation" OFF)
option(ENABLE_TESTS "Enable tests" OFF)
option(ENABLE_CODE_COVERAGE "Enable code coverage" OFF)
option(ENABLE_NCURSES "Compile the Ncurses interface" ON)
option(ENABLE_HEADLESS "Compile the headless binary" ON)
option(ENABLE_NLS "Enable Native Language Support" ON)
option(ENABLE_LARGEFILE "Enable Large File Support" ON)
option(ENABLE_ZSTD "Enable Zstandard compression" ON)
option(ENABLE_ALIAS "Enable Alias plugin" ON)
option(ENABLE_BUFLIST "Enable Buflist plugin" ON)
option(ENABLE_CHARSET "Enable Charset plugin" ON)
option(ENABLE_EXEC "Enable Exec plugin" ON)
option(ENABLE_FIFO "Enable FIFO plugin" ON)
option(ENABLE_FSET "Enable Fast Set plugin" ON)
option(ENABLE_IRC "Enable IRC plugin" ON)
option(ENABLE_LOGGER "Enable Logger plugin" ON)
option(ENABLE_RELAY "Enable Relay plugin" ON)
option(ENABLE_SCRIPT "Enable Script plugin (script manager)" ON)
option(ENABLE_SCRIPTS "Enable script plugins (perl, python, …)" ON)
option(ENABLE_PERL "Enable Perl scripting language" ON)
option(ENABLE_PYTHON "Enable Python scripting language" ON)
option(ENABLE_RUBY "Enable Ruby scripting language" ON)
option(ENABLE_LUA "Enable Lua scripting language" ON)
option(ENABLE_TCL "Enable Tcl scripting language" ON)
option(ENABLE_GUILE "Enable Scheme (guile) scripting language" ON)
option(ENABLE_JAVASCRIPT "Enable JavaScript scripting language" OFF)
option(ENABLE_PHP "Enable PHP scripting language" ON)
option(ENABLE_SPELL "Enable Spell checker plugin" ON)
option(ENABLE_ENCHANT "Use Enchant lib in Spell checker plugin" OFF)
option(ENABLE_TRIGGER "Enable Trigger plugin" ON)
option(ENABLE_TYPING "Enable Typing plugin" ON)
option(ENABLE_XFER "Enable Xfer plugin" ON)
option(ENABLE_MAN "Enable build of man page" OFF)
option(ENABLE_DOC "Enable build of documentation" OFF)
option(ENABLE_DOC_INCOMPLETE "Enable incomplete doc" OFF)
option(ENABLE_TESTS "Enable tests" OFF)
option(ENABLE_CODE_COVERAGE "Enable code coverage" OFF)
# code coverage
add_library(coverage_config INTERFACE)
@@ -128,6 +137,29 @@ if(ENABLE_CODE_COVERAGE)
target_link_libraries(coverage_config INTERFACE --coverage)
endif()
# headless mode is required for documentation
if(ENABLE_DOC AND NOT ENABLE_HEADLESS)
message(FATAL_ERROR "Headless mode is required to build documentation.")
endif()
# all plugins (except javascript) are required for documentation
if(ENABLE_DOC AND NOT ENABLE_DOC_INCOMPLETE
AND (NOT ENABLE_NLS OR NOT ENABLE_ALIAS OR NOT ENABLE_BUFLIST
OR NOT ENABLE_CHARSET OR NOT ENABLE_EXEC OR NOT ENABLE_FIFO
OR NOT ENABLE_FSET OR NOT ENABLE_IRC OR NOT ENABLE_LOGGER
OR NOT ENABLE_RELAY OR NOT ENABLE_SCRIPT OR NOT ENABLE_SCRIPTS
OR NOT ENABLE_PERL OR NOT ENABLE_PYTHON OR NOT ENABLE_RUBY
OR NOT ENABLE_LUA OR NOT ENABLE_TCL OR NOT ENABLE_GUILE
OR NOT ENABLE_PHP OR NOT ENABLE_SPELL OR NOT ENABLE_TRIGGER
OR NOT ENABLE_TYPING OR NOT ENABLE_XFER))
message(
FATAL_ERROR
" All plugins are required to build documentation.\n"
" If you really want to build incomplete docs, enable this option:\n"
" -DENABLE_DOC_INCOMPLETE=ON"
)
endif()
# headless mode is required for tests
if(ENABLE_TESTS AND NOT ENABLE_HEADLESS)
message(FATAL_ERROR "Headless mode is required for tests.")
@@ -169,20 +201,6 @@ if(ENABLE_LARGEFILE)
add_definitions(-D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -D_LARGE_FILES)
endif()
# Check for Gettext
if(ENABLE_NLS)
find_package(Gettext)
if(GETTEXT_FOUND)
add_definitions(-DENABLE_NLS)
find_package(Intl)
if(Intl_FOUND)
list(APPEND EXTRA_LIBS "${Intl_LIBRARIES}")
endif()
else()
message(SEND_ERROR "Gettext not found")
endif()
endif()
# Check for libgcrypt
find_package(GCRYPT REQUIRED)
add_definitions(-DHAVE_GCRYPT)
@@ -199,7 +217,10 @@ list(APPEND EXTRA_LIBS gnutls)
find_package(ZLIB REQUIRED)
# Check for zstd
pkg_check_modules(LIBZSTD REQUIRED libzstd)
if(ENABLE_ZSTD)
pkg_check_modules(LIBZSTD REQUIRED libzstd)
add_definitions(-DHAVE_ZSTD)
endif()
# Check for iconv
find_package(Iconv)
@@ -227,7 +248,13 @@ endif()
add_subdirectory(icons)
if(ENABLE_NLS)
find_package(Gettext REQUIRED)
add_definitions(-DENABLE_NLS)
find_package(Intl REQUIRED)
list(APPEND EXTRA_LIBS "${Intl_LIBRARIES}")
add_subdirectory(po)
else()
add_custom_target(translations COMMAND true)
endif()
add_subdirectory(src)
@@ -266,7 +293,7 @@ add_custom_target(uninstall
add_custom_target(dist
"${CMAKE_CURRENT_SOURCE_DIR}/tools/makedist.sh" "${VERSION}" "HEAD" "${CMAKE_CURRENT_BINARY_DIR}"
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
)
# pkgconfig file
@@ -275,52 +302,23 @@ set(prefix "${CMAKE_INSTALL_PREFIX}")
set(exec_prefix "\${prefix}")
string(REPLACE "${CMAKE_INSTALL_PREFIX}" "\${prefix}" libdir "${LIBDIR}")
set(includedir "\${prefix}/include")
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/weechat.pc.in ${CMAKE_CURRENT_BINARY_DIR}/weechat.pc @ONLY)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/weechat.pc DESTINATION ${LIBDIR}/pkgconfig)
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/weechat.pc.in" "${CMAKE_CURRENT_BINARY_DIR}/weechat.pc" @ONLY)
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/weechat.pc" DESTINATION "${LIBDIR}/pkgconfig")
# cygport file (used to build Cygwin packages)
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/weechat.cygport.in ${CMAKE_CURRENT_BINARY_DIR}/weechat-${VERSION}-1.cygport @ONLY)
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/weechat.cygport.in" "${CMAKE_CURRENT_BINARY_DIR}/weechat-${VERSION}-1.cygport" @ONLY)
# install some files (only on Cygwin)
if(CYGWIN)
install(FILES
${CMAKE_CURRENT_SOURCE_DIR}/AUTHORS.adoc
${CMAKE_CURRENT_SOURCE_DIR}/ChangeLog.adoc
${CMAKE_CURRENT_SOURCE_DIR}/Contributing.adoc
${CMAKE_CURRENT_SOURCE_DIR}/README.adoc
${CMAKE_CURRENT_SOURCE_DIR}/ReleaseNotes.adoc
DESTINATION ${DATAROOTDIR}/doc/${PROJECT_NAME}
"${CMAKE_CURRENT_SOURCE_DIR}/AUTHORS.adoc"
"${CMAKE_CURRENT_SOURCE_DIR}/ChangeLog.adoc"
"${CMAKE_CURRENT_SOURCE_DIR}/Contributing.adoc"
"${CMAKE_CURRENT_SOURCE_DIR}/README.adoc"
"${CMAKE_CURRENT_SOURCE_DIR}/ReleaseNotes.adoc"
DESTINATION "${DATAROOTDIR}/doc/${PROJECT_NAME}"
)
endif()
# desktop file
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/weechat.desktop DESTINATION ${DATAROOTDIR}/applications)
# packages
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Fast, light and extensible chat client")
set(CPACK_PACKAGE_VENDOR "Sébastien Helleu")
set(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/README.adoc")
set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/COPYING")
set(CPACK_PACKAGE_VERSION_MAJOR ${VERSION_MAJOR})
set(CPACK_PACKAGE_VERSION_MINOR ${VERSION_MINOR})
set(CPACK_PACKAGE_VERSION_PATCH ${VERSION_PATCH})
# binary package
set(CPACK_GENERATOR "STGZ;TGZ;TBZ2")
set(CPACK_PACKAGE_FILE_NAME weechat-binary-${VERSION})
# source package
set(CPACK_SOURCE_GENERATOR "TGZ;TBZ2")
set(CPACK_SOURCE_PACKAGE_FILE_NAME weechat-${VERSION})
set(CPACK_SOURCE_IGNORE_FILES
"/\\\\.git" "/build/" "/m4/"
"/autom4te\\\\.cache/" "/ABOUT-NLS$" "/config\\\\.guess$" "/config\\\\.h$"
"/config\\\\.h.in$" "/config\\\\.log$" "/config\\\\.rpath$"
"/config\\\\.status$" "/config\\\\.sub$" "/configure$" "/depcomp$"
"/install-sh$" "/missing$" "/intl/" "/libtool$" "/\\\\.libs/"
"/ltmain\\\\.sh$" "/\\\\.deps/" "/html/" "/html1/" "/Makefile$"
"/Makefile\\\\.in$" "stamp" "/po/.*\\\\.header$" "\\\\.gmo$" "~$" "\\\\.o$"
"\\\\.lo$" "\\\\.a$" "\\\\.la$" "\\\\.lai$" "\\\\.Plo$" "/weechat$"
)
include(CPack)
install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/weechat.desktop" DESTINATION "${DATAROOTDIR}/applications")
+379 -9
View File
@@ -6,14 +6,384 @@
:docinfo1:
This document lists all changes for each version
(the latest formatted version of this document can be found
https://weechat.org/files/changelog/ChangeLog-devel.html[here]).
This document lists all the changes for each version. +
For a list of important changes that require manual actions, please look at release notes.
For a list of important changes that require manual action, please look at
https://weechat.org/files/releasenotes/ReleaseNotes-devel.html[release notes]
(file _ReleaseNotes.adoc_ in sources).
[[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)
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)
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)
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)
* core: force key "return" to command "/input return" when migrating legacy keys
* core: display actual key name and command with key kbd:[Alt+k], remove key kbd:[Alt+K] (grab raw key) and associated commands `/input grab_raw_key` and `/input grab_raw_key_command`
* core: check for newline characters in string_is_whitespace_char (issue #1968)
* api: do not convert option name to lower case in API functions config_set_plugin and config_set_desc_plugin
* guile: fix crash on quit with Guile < 3 (issue #1965)
* irc: reply to a CTCP request sent to self nick (issue #1966)
* irc: sent "QUIT" message to servers connected with TLS on `/upgrade`
[[v4.0.0]]
== Version 4.0.0 (2023-06-24)
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: make keys normal options, so they are shown and can be updated with `/set` and `/fset` commands (task #12427, task #11783)
* core: add key kbd:[Alt+K] (upper case) to grab raw key and its command (issue #1238)
* core: add option `key` in command `/debug` (issue #1238)
* core: force ctrl keys to lower case when they are added (issue #1875)
* core: use 256 colors by default and always allow 256 colors, find nearest color if less colors are available in terminal (issue #1920)
* core: insert multiple pasted lines in input instead of sending immediately, add keys to move and delete in a single line and whole input, add option weechat.look.input_multiline_lead_linebreak (issue #1502, issue #1503, issue #1504)
* core: render newline characters in chat line messages (issue #1908)
* core: don't split on newline characters in printf_date_tags when input_multiline is set (issue #1909)
* core: add key kbd:[l] (lower `L`) in cursor mode to quote line, add variable "_chat_focused_line" in function hashtable sent to hook_focus callback (issue #1913, issue #1914)
* core: add option `split_return` in command `/input` (issue #1916)
* core: send all command line parameters not beginning with a dash to all plugins
* core: add command `/reset` to reset options to their default values
* core: add option `rename` in command `/bar`
* core: add relative move of read marker with `/buffer set unread [+/-]N` (issue #1895)
* core: add access to hashtable properties in evaluation of expressions (issue #1888)
* core: display similar command names when a command is unknown (issue #1877)
* core: rename option weechat.color.status_name_ssl to weechat.color.status_name_tls
* core: add option weechat.color.status_name_insecure to display buffer name with a specific color when not connected with TLS to the server
* core, plugins: make many identifiers case sensitive (issue #1872, issue #398, bug #32213)
* core: add item "mouse_status" in default status bar, change default color to lightgreen
* core, trigger: add options weechat.color.chat_status_disabled and weechat.color.chat_status_enabled, remove options trigger.color.trigger and trigger.color.trigger_disabled, add enabled/disabled status color in output of `/filter list` (issue #1820)
* core: add completions "filters_names_disabled" and "filters_names_enabled", used in completion of `/filter disable` and `/filter enable`
* api: add function config_set_version (issue #1238)
* api: don't split on newline by default in functions `command` and `command_options` when `input_multiline` is set to 0
* api: add optional argument with version in info "version_number"
* api: add info "auto_load_scripts"
* alias: use lower case for default aliases, rename all aliases to lower case on upgrade (issue #1872)
* alias: add `$&` to replace all arguments with double quotes escaped (issue #1140, issue #1190)
* alias: add options `missing` and `rename` in command `/alias`
* fifo: add support of escaped chars in text or commands sent (issue #1950)
* fset: add options fset.color.color_name and fset.color.color_name_selected (issue #1920)
* irc: rename "ssl" options to "tls", connect with TLS and port 6697 by default
* irc: add support of capabilities "batch" and "draft/multiline" (issue #1292, issue #1923)
* irc: add support of capability "echo-message" (issue #139)
* irc: display CTCP ACTION to channel on the channel buffer (issue #207)
* irc: display STATUSMSG actions differently from standard actions on channels (issue #1577)
* irc: add modifier "irc_cap_sync_req" (issue #1767)
* irc: add support of "LINELEN" in message 005 (max message length in bytes) (issue #1927)
* irc: add support of "UTF8ONLY" in message 005 (issue #1688)
* irc: add command `/action` (issue #201, issue #1577)
* irc: add command `/rules` (issue #1864)
* irc: add command `/knock` (issue #7)
* irc: add server option "registered_mode", add fields "authentication_method" and "sasl_mechanism_used" in server (issue #1625)
* irc: add option `join` in command `/autojoin`
* irc: use key when /joining in open channel buffer (issue #1260)
* irc: add option `buffer` in command `/autojoin sort` (issue #1876)
* irc: add `${username}` in server options "nicks" and "username", change their default values to use it
* irc: add infos "irc_server_cap" and "irc_server_cap_value"
* irc: add option irc.look.display_host_notice
* irc: add tag "new_host_xxx" in message displayed for command CHGHOST (issue #1808)
* logger: add option logger.file.log_conditions (issue #1942)
* logger: add info "logger_log_file"
* relay: rename "ssl" options and protocol to "tls"
* relay: make TLS certificate/key loading error handling more verbose (issue #1558)
* relay: add modifiers "relay_client_irc_in", "relay_client_irc_out1" and "relay_client_irc_out" in irc protocol
* relay: add support of capability "echo-message" in irc protocol (issue #1949)
* relay: add handshake option "escape_commands" in weechat protocol
* trigger: add completions "trigger_names_disabled" and "trigger_names_enabled", used in completion of `/trigger disable` and `/trigger enable`
Bug fixes::
* core: fix refresh of bar item "input_search" after buffer switch in root bars (issue #1939)
* core: fix completion after newline in input (issue #1925)
* core: fix partial completion when the common prefix found is empty (issue #340)
* core: display a specific error when trying to bind a key without area in mouse context
* core: fix display of key with command `/key bindctxt <context> <key>`
* core: fix default value of bar options (issue #846)
* core: allow any valid boolean value in command `/bar set <name> separator xxx`
* core: run config hooks only when value or default value is actually changed in set/reset/unset functions
* core: fix crash in case of NULL message sent to function gui_chat_printf_y_date_tags (issue #1883)
* core: allow command `/input move_next_word` going to the end of line (issue #1881)
* core: ignore incomplete ctrl/meta/meta2 codes in keys
* core: fix display glitch in command errors when a wide char is set in option weechat.look.command_chars (issue #1871)
* core: fix update of terminal title in some terminals like suckless terminal (stterm) (issue #1882)
* core: fix infinite loop on startup when running some gui commands before the switch to core buffer is performed (issue #1917)
* api: readjust string size in function string_dyn_free when string is not freed
* buflist: do not display keys added in default context on first load
* exec: remove trailing "M" (carriage return) in output of commands
* fset: remove scroll to top of fset buffer when options are added or removed (issue #1892)
* guile: fix crash when plugin is loaded on GNU/Hurd (issue #1951)
* irc: fix format of IRC tags displayed in messages (use "=" to separate key from value, do not convert "_" to "-") (issue #1929)
* irc: reset all internal servers variables when disconnecting
* irc: start from the beginning of nicks at automatic reconnection (issue #337, issue #965)
* irc: fix join of channels in "autojoin" server option on first connection to server if auto reconnection is performed (issue #1873)
* irc: update autojoin option with redirected channels when autojoin_dynamic is enabled (issue #1898)
* irc: update secure data when server autojoin option contains `${sec.data.xxx}` and option autojoin_dynamic is enabled (issue #1934)
* irc: don't switch to buffer of joined channel if it was not manually joined nor present in server autojoin option
* irc: fix target buffer for commands 432/433 (erroneous nickname/nickname already in use) when the nickname looks like a channel
* irc: display command 437 on server buffer when nickname cannot change while banned on channel (issue #88)
* irc: add messages 415 (cannot send message to channel) and 742 (mode cannot be set)
* irc: add missing tag "log3" in notify messages
* irc: add missing tags "irc_cap" and "log3" in cap messages (client capability)
* irc: fix split of CTCP message with no arguments
* irc: remove extra space in CTCP ACTION message sent without arguments
* logger: fix display of multiline messages in backlog (issue #1926)
* lua: fix crash with print when the value to print is not a string (issue #1904, issue #1905)
* relay: fix crash on `/upgrade` when at least a client is connected with weechat protocol
* relay: fix connection with IRC clients sending "CAP REQ :" (without capability) and not sending "CAP END" (issue #1040)
* ruby: fix crash on quit when a child process is still running (issue #1889, issue #1915)
* ruby: fix crash in display of exception backtrace with Ruby 3 (issue #1631, issue #1886)
* script: remove trailing "J" (line feed char) in source of scripts displayed
* spell: check buffer pointer received in info "spell_dict"
* trigger: make default triggers "cmd_pass", "cmd_pass_register" and "server_pass" compatible with multiline input (issue #1935)
* typing: fix crash when pointer buffer is not received in callback for signal "input_text_changed" (issue #1869)
* typing: remove nicks typing even when option typing.look.enabled_self is off (issue #1718)
Tests::
* core: add tests on URL functions
* gui: add tests on bar and key functions
* alias: add tests on alias functions
* irc: check tags in messages displayed by IRC plugin
* irc: add tests on function irc_server_alloc_with_url
* irc: add tests on message/notice/action/CTCP sent
* logger: add tests on tail functions
* relay: add tests on "irc" protocol
Build::
* core: remove build with autotools (issue #1860)
* core: remove RPM packaging
* core: remove build of .bz2 and .zst files in `make dist`
* core: remove obsolete cpack config
* core: add "stable-number" and "devel-number" in script version.sh
* core: add quotes around paths in CMake files (issue #29)
* doc: convert docgen.py to C, remove autogen files from repository, add parameter `--doc-gen` to `weechat-headless` binary, add CMake option "ENABLE_DOC_INCOMPLETE"
[[v3.8]]
== Version 3.8 (2023-01-08)
@@ -1025,7 +1395,7 @@ New features::
Bug fixes::
* core: fix bind of keys with space key, like kbd:[Alt+Space] (bug #32133)
* core: fix bind of keys with space key, like kbd:[Alt+Space] (issue #603, bug #32133)
* core: fix infinite loop when the terminal is closed on the secure password prompt (issue #1010)
* buflist: fix long mouse gestures
* buflist: fix slow switch of buffer when there are a lot of buffers opened (issue #998)
@@ -1510,7 +1880,7 @@ New features::
* core: add option weechat.look.hotlist_add_conditions, remove option weechat.look.hotlist_add_buffer_if_away
* core: add option weechat.look.hotlist_remove (issue #99)
* core: add options `-beep` and `-current` in command `/print`
* core: add bare display mode for easy text selection and click on URLs, new key: kbd:[Alt+l] (`L`), new option "bare" in command `/window`, new options: weechat.look.bare_display_exit_on_input and weechat.look.bare_display_time_format
* core: add bare display mode for easy text selection and click on URLs, new key: kbd:[Alt+l] (lower `L`), new option "bare" in command `/window`, new options: weechat.look.bare_display_exit_on_input and weechat.look.bare_display_time_format
* core: add signals "key_combo_{default|search|cursor}"
* core: add terabyte unit for size displayed
* core: display a warning in case of inconsistency between the options weechat.look.save_{config|layout}_on_exit
@@ -1834,7 +2204,7 @@ Documentation::
Build::
* core: add CA_FILE option in CMake and configure to setup default value of option weechat.network.gnutls_ca_file (default is "/etc/ssl/certs/ca-certificates.crt") (task #12725)
* core: disable build of doc by default, add CMake option ENABLE_MAN to compile man page (off by default)
* core: disable build of doc by default, add CMake option "ENABLE_MAN" to compile man page (off by default)
* xfer: fix compilation on OpenBSD (bug #39071)
[[v0.4.1]]
+24 -4
View File
@@ -29,7 +29,7 @@ please include:
_WeeChat 1.7-dev (git: v1.6-6-g997f47f)_. +
If WeeChat does not start at all, please include the version displayed by
`weechat --help` (or the version installed with your package manager).
* Your *operating system*: its name and version (examples: Linux Debian Bullseye,
* Your *operating system*: its name and version (examples: Linux Debian Bookworm,
FreeBSD 13.0, Windows/Cygwin 64-bit, Windows/Ubuntu 64-bit...).
* The *steps to reproduce*: if possible, please include a reproducible example:
explain the steps which led you to the problem. +
@@ -38,7 +38,7 @@ please include:
problem here.
* The *gdb's backtrace* (only for a crash): if you can reproduce the crash
(or if you have a core file), please include the backtrace from gdb (look at
https://weechat.org/doc/user/#report_crashes[User's guide] for more info).
https://weechat.org/doc/weechat/user/#report_crashes[User's guide] for more info).
* The *actual result*.
* The *expected result*: the correct result you are expecting.
@@ -68,7 +68,7 @@ time, for https://github.com/weechat/weechat[WeeChat] and the website
https://github.com/weechat/weechat.org[weechat.org].
To start a translation in a new language (not yet supported), please look at
https://weechat.org/doc/dev/#translations[translations]
https://weechat.org/doc/weechat/dev/#translations[translations]
in Developer's guide.
== Feature requests
@@ -84,6 +84,26 @@ For major new features, it's better to discuss about it in IRC
(server: _irc.libera.chat_, channel _#weechat_).
Before submitting any pull request, be sure you have read the
https://weechat.org/doc/dev/#coding_rules[coding rules]
https://weechat.org/doc/weechat/dev/#coding_rules[coding rules]
in Developer's guide, which contains info about styles used, naming convention
and other useful info.
== Semantic versioning
Since version 4.0.0, WeeChat is following a "practical" semantic versioning.
It is based on https://semver.org/[Semantic Versioning] but in a less strict way: breaking changes in API with low user impact don't bump the major version.
The version number is on three digits `X.Y.Z`, where:
* `X` is the major version
* `Y` is the minor version
* `Z` is the patch version.
Rules to increment the version number:
* the *major version* number (`X`) is incremented only when intentional breaking changes target feature areas that are actively consumed by users, scripts or C plugin API
* the *minor version* number (`Y`) is incremented for any new release of WeeChat that includes new features and bug fixes, possibly breaking API with low impact on users
* the *patch version* number (`Z`) is reserved for releases that address severe bugs or security issues found after the release.
For more information, see the https://specs.weechat.org/specs/2023-003-practical-semantic-versioning.html[specification].
-80
View File
@@ -1,80 +0,0 @@
#
# Copyright (C) 2003-2023 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2005 Julien Louis <ptitlouis@sysif.net>
# Copyright (C) 2006-2009 Emmanuel Bouthenot <kolter@openics.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/>.
#
# This target will update file config-git.h with output of command "git describe"
# (if needed, and only for a devel/rc version).
BUILT_SOURCES = build-config-git.h
build-config-git.h:
-$(abs_top_srcdir)/tools/set_git_version.sh "$(abs_top_srcdir)" "$(VERSION)" config-git.h
if TESTS
tests_dir = tests
endif
SUBDIRS = icons po doc intl src $(tests_dir)
EXTRA_DIST = AUTHORS.adoc \
ChangeLog.adoc \
Contributing.adoc \
README.adoc \
ReleaseNotes.adoc \
CMakeLists.txt \
config.rpath \
config.h.cmake \
cmake/CMakeParseArguments.cmake \
cmake/FindAsciidoctor.cmake \
cmake/FindAspell.cmake \
cmake/FindCppUTest.cmake \
cmake/FindENCHANT.cmake \
cmake/FindGCRYPT.cmake \
cmake/FindGettext.cmake \
cmake/FindGnuTLS.cmake \
cmake/FindGuile.cmake \
cmake/FindIconv.cmake \
cmake/FindLua.cmake \
cmake/FindNcurses.cmake \
cmake/FindPerl.cmake \
cmake/FindPkgConfig.cmake \
cmake/FindPython.cmake \
cmake/FindRuby.cmake \
cmake/FindV8.cmake \
cmake/FindZLIB.cmake \
cmake/cmake_uninstall.cmake.in \
po/CMakeLists.txt \
po/srcfiles.cmake \
tools/build_test.sh \
tools/set_git_version.sh \
tools/makedist.sh \
version.sh \
weechat.desktop \
weechat.pc.in \
weechat.cygport.in
ACLOCAL_AMFLAGS = -I m4
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = weechat.pc
desktopdir = $(datadir)/applications
desktop_DATA = weechat.desktop
clean-local:
$(RM) config-git.h
+8 -4
View File
@@ -23,13 +23,13 @@ Homepage: https://weechat.org/
== Features
* *Modular chat client*: WeeChat has a lightweight core and optional https://weechat.org/doc/user/#plugins[plugins]. All plugins (including https://weechat.org/doc/user/#irc[IRC]) are independent and can be unloaded.
* *Modular chat client*: WeeChat has a lightweight core and optional https://weechat.org/doc/weechat/user/#plugins[plugins]. All plugins (including https://weechat.org/doc/weechat/user/#irc[IRC]) are independent and can be unloaded.
* *Multi-platform*: WeeChat runs on GNU/Linux, *BSD, GNU/Hurd, Haiku, macOS and Windows (Bash/Ubuntu and Cygwin).
* *Multi-protocols*: WeeChat is designed to support multiple protocols by plugins, like IRC.
* *Standards-compliant*: the IRC plugin is compliant with RFCs https://tools.ietf.org/html/rfc1459[1459], https://tools.ietf.org/html/rfc2810[2810], https://tools.ietf.org/html/rfc2811[2811], https://tools.ietf.org/html/rfc2812[2812], and https://tools.ietf.org/html/rfc2813[2813].
* *Standards-compliant*: the IRC plugin is compliant with RFCs https://datatracker.ietf.org/doc/html/rfc1459[1459], https://datatracker.ietf.org/doc/html/rfc2810[2810], https://datatracker.ietf.org/doc/html/rfc2811[2811], https://datatracker.ietf.org/doc/html/rfc2812[2812], https://datatracker.ietf.org/doc/html/rfc2813[2813] and https://datatracker.ietf.org/doc/html/rfc7194[7194].
* *Small, fast, and very light*: the core is and should stay as light and fast as possible.
* *Customizable and extensible*: there are a lot of options to customize WeeChat, and it is extensible with C plugins and https://weechat.org/scripts/[scripts] (https://weechat.org/scripts/language/perl/[Perl], https://weechat.org/scripts/language/python/[Python], https://weechat.org/scripts/language/ruby[Ruby], https://weechat.org/scripts/language/lua/[Lua], https://weechat.org/scripts/language/tcl/[Tcl], https://weechat.org/scripts/language/guile/[Scheme], https://weechat.org/scripts/language/javascript/[JavaScript] and https://weechat.org/scripts/language/php/[PHP]).
* *Fully documented*: there is comprehensive https://weechat.org/doc/[documentation], which is https://weechat.org/doc/dev/#translations[translated] into several languages.
* *Fully documented*: there is comprehensive https://weechat.org/doc/weechat/[documentation], which is https://weechat.org/doc/weechat/dev/#translations[translated] into several languages.
* *Developed from scratch*: WeeChat was built from scratch and is not based on any other client.
* *Free software*: WeeChat is released under https://www.gnu.org/licenses/gpl-3.0.html[GPLv3].
@@ -41,7 +41,11 @@ On WeeChat's website you can find https://weechat.org/about/screenshots/[more sc
WeeChat can be installed using your favorite package manager (recommended) or by compiling it yourself.
For detailed instructions, please check the https://weechat.org/doc/user/#install[WeeChat user's guide].
For detailed instructions, please check the https://weechat.org/doc/weechat/user/#install[WeeChat user's guide].
== Semantic versioning
WeeChat is following a "practical" semantic versioning, see file link:Contributing.adoc#semantic-versioning[Contributing.adoc].
== Copyright
+596 -88
View File
@@ -6,16 +6,524 @@
:docinfo1:
This document lists important changes for each version, that require manual
actions (the latest formatted version of this document can be found
https://weechat.org/files/releasenotes/ReleaseNotes-devel.html[here]). +
It is recommended to read it when upgrading to a new stable
version.
This document lists important changes for each version, that require manual actions.
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
https://weechat.org/files/changelog/ChangeLog-devel.html[ChangeLog]
(file _ChangeLog.adoc_ in sources).
[[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.1_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.0]]
== Version 4.1.0 (2023-10-15)
[[v4.1.0_cursor_mode_keys]]
=== New keys to move in cursor mode
New keys have been added to move in cursor mode, and existing keys to move to
another area have been changed: modifier is now kbd:[Alt+Shift] instead of
kbd:[Alt].
You can change existing keys and add new ones with these commands:
----
/key bindctxt cursor meta-up /cursor move edge_top
/key bindctxt cursor meta-down /cursor move edge_bottom
/key bindctxt cursor meta-left /cursor move edge_left
/key bindctxt cursor meta-right /cursor move edge_right
/key bindctxt cursor meta-end /cursor move bottom_right
/key bindctxt cursor meta-home /cursor move top_left
/key bindctxt cursor meta-shift-up /cursor move area_up
/key bindctxt cursor meta-shift-down /cursor move area_down
/key bindctxt cursor meta-shift-left /cursor move area_left
/key bindctxt cursor meta-shift-right /cursor move area_right
----
[[v4.1.0_irc_ctcp_replies]]
=== IRC CTCP replies
IRC CTCP replies are now evaluated, with the same variables available, so now
the syntax is for example `${version}` instead of `$version`. +
The existing options `irc.ctcp.*` are automatically converted on upgrade.
In addition, for privacy reasons, these default CTCP replies have been removed:
- FINGER
- USERINFO
If ever you want that WeeChat replies to these CTCP requests, you can add them
back with the two following commands:
----
/set irc.ctcp.finger "WeeChat ${version}"
/set irc.ctcp.userinfo "${username} (${realname})"
----
They will then be advertised in reply to "CTCP CLIENTINFO", which is now built
dynamically with these options.
[[v4.1.0_nick_color_infos]]
=== Nick color infos
Two infos to get nick colors have been added: nick_color_ignore_case and
nick_color_name_ignore_case. +
They are similar to nick_color and nick_color_name, except they take as second
argument a range of chars to apply on the nick: the nick is converted to lower
case using this range of chars.
The infos irc_nick_color and irc_nick_color_name, that were deprecated since
version 1.5 are now used again, with a change in parameter: the server is now
optional before the nick: "server,nick". +
The nick is first converted to lower case, following the value of CASEMAPPING
on the server, then hashed to compute the color. +
That means the color for a nick is now case insensitive (in the way IRC servers
are case insensitive, so with a limited range of chars only).
If a script was using this info with a comma in nickname (which should not happen
anyway), this is now interpreted as the server name, and the script must be
modified. +
Anyway, it is recommended to always give the server name to respect the
CASEMAPPING of the server and prevent any issue with a comma in the nickname.
For example nick color of "alice" and "ALICE" is now always guaranteed to be the
same:
----
# with server name (recommended)
weechat.info_get("irc_nick_color", "libera,alice") == weechat.info_get("irc_nick_color", "libera,ALICE")
weechat.info_get("irc_nick_color_name", "libera,alice") == weechat.info_get("irc_nick_color_name", "libera,ALICE")
# without server name (allowed but not recommended, kept for compatibility)
weechat.info_get("irc_nick_color", "alice") == weechat.info_get("irc_nick_color", "ALICE")
weechat.info_get("irc_nick_color_name", "alice") == weechat.info_get("irc_nick_color_name", "ALICE")
----
[[v4.1.0_fset_allowed_values]]
=== Allowed values for options on fset buffer
A new variable `allowed_values` has been added in fset options.
The default value for the second format has changed. +
You can reset it with this command:
----
/reset fset.format.option2
----
[[v4.1.0_fset_mouse]]
=== Mouse actions on fset buffer
Mouse actions on fset buffer has been fixed when option `fset.look.format_number`
is set to 2.
The key for button 1 on fset buffer has been fixed. +
You can reset it with this command:
----
/reset weechat.key_mouse.@chat(fset.fset):button1
----
[[v4.0.8]]
== Version 4.0.8 (2024-01-20)
No release notes.
[[v4.0.7]]
== Version 4.0.7 (2023-12-03)
No release notes.
[[v4.0.6]]
== Version 4.0.6 (2023-10-26)
[[v4.0.6_custom_bar_items]]
=== Custom bar items
Custom bar items must now have a different name than default bar items
(for example the custom bar item name `time` is now forbidden).
If you have such names in your config, WeeChat will now fail to load them
(this should not happen anyway, since such bar items can not be properly used
and can cause a crash of WeeChat).
[[v4.0.5]]
== Version 4.0.5 (2023-09-24)
No release notes.
[[v4.0.4]]
== Version 4.0.4 (2023-08-22)
No release notes.
[[v4.0.3]]
== Version 4.0.3 (2023-08-08)
No release notes.
[[v4.0.2]]
== Version 4.0.2 (2023-07-12)
No release notes.
[[v4.0.1]]
== Version 4.0.1 (2023-06-30)
[[v4.0.1_config_set_plugin]]
=== Functions config_set_plugin and config_set_desc_plugin
The functions link:https://weechat.org/doc/weechat/plugin/#_config_set_plugin[config_set_plugin]
and link:https://weechat.org/doc/weechat/plugin/#_config_set_desc_plugin[config_set_desc_plugin]
are not converting any more the option name to lower case because since version 4.0.0,
the name of options is case sensitive.
[[v4.0.1_grab_raw_key]]
=== Grab raw key and command
Key kbd:[Alt+K] (upper case) has been removed, as well as commands
`/input grab_raw_key` and `/input grab_raw_key_command`.
Now the key kbd:[Alt+k] displays the actual key name and command, possibly
raw key.
[[v4.0.0]]
== Version 4.0.0 (2023-06-24)
This is a major version that includes breaking changes described below.
[[v4.0.0_irc_capabilities]]
=== Support of new IRC capabilities
Support of new capabilities has been introduced in this version and are all
enabled by default, if the server supports them:
* batch
* draft/multiline
* echo-message
When the capability "echo-message" is enabled, you may notice time before your
own IRC messages are displayed in the buffer, this is normal : the capability
forces the server to sent back messages, and WeeChat displays messages only
when they are received from the server.
If you want to disable this capability on all servers, you can do:
----
/set irc.server_default.capabilities "*,!echo-message"
----
If you are already connected to a server with echo-message enabled, just ask
the server to disable the capability on-the-fly (no need to reconnect):
----
/cap req -echo-message
----
[[v4.0.0_config_files]]
=== Configuration file version
A version has been introduced in configuration file, and due to the many
breaking changes (listed in the chapters below), the following files are
automatically upgraded to a new version:
- weechat.conf: new key names
(see <<v4.0.0_key_bindings_improvements,Key bindings improvements>>)
- alias.conf: aliases converted to lower case
(see <<v4.0.0_case_sensitive_identifiers,Case sensitive identifiers>>)
- irc.conf: options "ssl*" renamed to "tls*"
(see <<v4.0.0_tls,TLS options and connections>>)
- relay.conf: options and protocol "ssl*" renamed to "tls*"
(see <<v4.0.0_tls,TLS options and connections>>)
[WARNING]
Because of this new format, you must *NOT* load the new configuration files
in any older WeeChat version < 4.0.0 once you have run any version ≥ 4.0.0
at least one time. +
For example the new key names make the input completely broken (you can not
enter most chars in input any more and Enter key does not work).
[[v4.0.0_key_bindings_improvements]]
=== Key bindings improvements
The format of key bindings has changed to be more user-friendly, and this is
a breaking change: legacy keys are automatically converted, but some triggers,
plugins or scripts might need manual changes.
Overview of new features:
- use of alias for keys (`meta-left` instead of `meta2-1;3D`)
- use comma to separate keys in combos (`meta-w,meta-up` instead of
`meta-wmeta-meta2-A`)
- control keys are converted to lower keys (`ctrl-a` instead of `ctrl-A`)
- keys are normal options, so they are shown and can be updated with `/set`
and `/fset` commands
- command `/key` without arguments opens the fset buffer with all keys
See https://specs.weechat.org/specs/2023-002-key-bindings-improvements.html[Key bindings improvements specification]
for more information.
[[v4.0.0_new_key_format]]
==== New key format
Aliases are now used for keys, like `f1`, `home`, `return`, etc. +
In addition, a comma is now required between different keys, for example `ctrl-cb`
is not valid any more and must be replaced by `ctrl-c,b`.
The keys in weechat.conf are automatically converted from legacy format on first
run or upgrade with a legacy configuration file.
For keys bound in external plugins or scripts, WeeChat tries to convert them
on-the-fly to stay compatible, but this can not work in all cases (this is a
breaking change).
The following fixes are done on keys when they are defined:
- transform upper case ctrl keys to lower case
- replace space char by `space`
- replace `meta2-` by `meta-[` (modifier `meta2-` doesn't exist any more)
- mouse modifiers are now in this order: `alt-` then `ctrl-`.
A warning is displayed when a raw key or invalid key is added. +
For example `meta-[A` (which should be `up`) or `ctrl-ca` (missing comma, it
should be `ctrl-c,a`).
[[v4.0.0_grab_raw_key]]
==== Grab raw key and command
New key kbd:[Alt+K] (upper case) is added to grab raw key and its command.
Most of times this command is not needed, and the existing key kbd:[Alt+k]
(lower case) is preferred, as it returns the key using the new aliases.
For example:
- key kbd:[Alt+k] then up arrow displays: `up /input history_previous`
- key kbd:[Alt+K] then up arrow displays: `meta-[A`
Raw keys have higher priority than key with alias (they are looked first);
they can still be used and bound, but this is not recommended. +
They should be used only in case of problem with the new aliases or with your
terminal.
[[v4.0.0_ctrl_keys_lower_case]]
==== Control keys as lower case
Keys using the kbd:[Ctrl] key and a letter are now automatically converted to
lower case. +
That means for example keys `ctrl-q` and `ctrl-Q` are the same and saved as
`ctrl-q` (lower case).
Example of key being automatically converted to lower case:
----
/key bind ctrl-Q /print test
----
Output is now:
----
New key binding (context "default"): ctrl-q => /print test
----
With older releases, upper case was mandatory and lower case letter for control
keys were not working at all.
[[v4.0.0_case_sensitive_identifiers]]
=== Case sensitive identifiers
Many identifiers are made case sensitive, including among others:
- configuration files, sections, options
- commands, aliases
- completion (except nick completion)
- bars, bar items
- colors
- filters
- IRC servers
- scripts
- triggers.
See https://specs.weechat.org/specs/2023-001-case-sensitive-identifiers.html[Case sensitive identifiers specification]
for more information.
Accordingly, default aliases are now in lower case. +
All aliases (default ones and those added manually) are automatically converted
to lower case with a message like this one:
----
Alias converted to lower case: "CLOSE" => "close"
----
[[v4.0.0_tls]]
=== TLS options and connections
Option `weechat.color.status_name_insecure` has been added, the buffer name
is now displayed with color `lightmagenta` by default if the connection with
the server is *NOT* made with TLS.
Options, commands and documentation have been updated to "TLS" instead of "SSL":
* core option:
** weechat.color.status_name_ssl -> weechat.color.status_name_tls
* IRC server default options:
** irc.server_default.ssl -> irc.server_default.tls
** irc.server_default.ssl_cert -> irc.server_default.tls_cert
** irc.server_default.ssl_dhkey_size -> irc.server_default.tls_dhkey_size
** irc.server_default.ssl_fingerprint -> irc.server_default.tls_fingerprint
** irc.server_default.ssl_password -> irc.server_default.tls_password
** irc.server_default.ssl_priorities -> irc.server_default.tls_priorities
** irc.server_default.ssl_verify -> irc.server_default.tls_verify
* IRC options for a specific server:
** irc.server.xxx.ssl -> irc.server.xxx.tls
** irc.server.xxx.ssl_cert -> irc.server.xxx.tls_cert
** irc.server.xxx.ssl_dhkey_size -> irc.server.xxx.tls_dhkey_size
** irc.server.xxx.ssl_fingerprint -> irc.server.xxx.tls_fingerprint
** irc.server.xxx.ssl_password -> irc.server.xxx.tls_password
** irc.server.xxx.ssl_priorities -> irc.server.xxx.tls_priorities
** irc.server.xxx.ssl_verify -> irc.server.xxx.tls_verify
* Relay options:
** relay.network.ssl_cert_key -> relay.network.tls_cert_key
** relay.network.ssl_priorities -> relay.network.tls_priorities
* Relay:
** protocol `ssl` -> `tls`
* Relay command:
** `/relay sslcertkey` -> `/relay tlscertkey`
Default value of option `irc.server_default.tls` is now `on`. +
Connection to IRC servers is done with TLS and port 6697 by default.
For example to create libera.chat server, using TLS (if option
`irc.server_default.tls` is `on`) and default port 6697:
----
/server add libera irc.libera.chat
irc: server added: libera -> irc.libera.chat/6697 (TLS: enabled)
----
To force non-TLS connection (with default port 6667):
----
/server add libera irc.libera.chat -notls
irc: server added: libera -> irc.libera.chat/6667 (TLS: disabled)
----
[[v4.0.0_insert_multiple_pasted_lines]]
=== Insert of multiple pasted lines in input
By default multiple pasted lines are now inserted in input and not sent immediately.
To enable this feature, the default value of option `weechat.look.paste_max_lines`
has been changed to `100` (it was `1`). +
If needed, you can reset the option to the new default value after upgrade:
----
/reset weechat.look.paste_max_lines
----
The option `weechat.look.paste_auto_add_newline` has been removed.
[[v4.0.0_default_triggers]]
=== Default triggers
The default triggers "cmd_pass", "cmd_pass_register" and "server_pass" have
been updated to be compatible with multiline input.
You can restore these default triggers with the following command:
----
/trigger restore cmd_pass cmd_pass_register server_pass
----
[[v4.0.0_build]]
=== Build
[[v4.0.0_build_autotools]]
==== Autotools
The autotools support for build of WeeChat has been removed. +
WeeChat must now be built with CMake.
[[v4.0.0_build_doc]]
==== Documentation
The auto-generated files for documentation are now built with `weechat-headless`,
after compilation of WeeChat and the plugins (the files are not in repository
any more). +
This implies all plugins must be compiled and loaded in order to have complete docs
(User's guide and Plugin API reference).
If ever you want to disable some plugins and force the build of incomplete docs,
a new option has been added: `ENABLE_DOC_INCOMPLETE` (`OFF` by default).
For example if you disable PHP plugin but still want docs where PHP options,
commands, etc. are missing:
----
cmake .. -DENABLE_PHP=OFF -DENABLE_DOC=ON -DENABLE_DOC_INCOMPLETE=ON
----
[[v4.0.0_packaging]]
=== Packaging
[[v4.0.0_packaging_tarballs]]
==== Tarballs
The command `make dist` now builds only `.gz` and `.xz` compressed tarballs. +
Formats `.bz2` and `.zst` are not built any more.
[[v4.0.0_packaging_rpm]]
==== RPM packaging
The file `weechat.spec` used for RPM packaging has been removed. +
openSUSE has its own here:
https://build.opensuse.org/package/view_file/server:irc/weechat/weechat.spec?expand=1
[[v4.0.0_packaging_cpack]]
==== cpack
The configuration for cpack has been removed. +
It was used to build binary package of WeeChat, which has never been released
in this format.
[[v4.0.0_bar_new]]
=== Function bar_new
When the bar name already exists, the API function
link:https://weechat.org/doc/weechat/plugin/#_bar_new[bar_new] returns the pointer to
the bar (instead of NULL) and sets the default value for all options with the
values received. +
If you don't want to set default values in an existing bar, it is recommended
to first check if the bar exists with the API function
link:https://weechat.org/doc/weechat/plugin/#_bar_search[bar_search].
[[v3.8]]
== Version 3.8 (2023-01-08)
@@ -98,8 +606,8 @@ int diff = string_strcasecmp ("aaa", "CCC"); /* == -1 */
[[v3.8_api_string_lower_upper]]
=== API functions string_tolower and string_toupper
The functions link:https://weechat.org/doc/plugin/#_string_tolower[string_tolower]
and link:https://weechat.org/doc/plugin/#_string_toupper[string_toupper]
The functions link:https://weechat.org/doc/weechat/plugin/#_string_tolower[string_tolower]
and link:https://weechat.org/doc/weechat/plugin/#_string_toupper[string_toupper]
now return newly allocated string instead of doing the change in place. +
The returned string must then be freed after use.
@@ -147,7 +655,7 @@ now any return value is ignored (like it has always been in the C API).
[[v3.7.1]]
== Version 3.7.1 (2022-10-21)
Bug fix and maintenance release.
No release notes.
[[v3.7]]
== Version 3.7 (2022-10-09)
@@ -208,7 +716,7 @@ And add the new key kbd:[Alt+Backspace] with this command:
=== Function string_rebuild_split_string
The API function string_build_with_split_string has been renamed to
link:https://weechat.org/doc/plugin/#_string_rebuild_split_string[string_rebuild_split_string]
link:https://weechat.org/doc/weechat/plugin/#_string_rebuild_split_string[string_rebuild_split_string]
and two new arguments have been added: _index_start_ and _index_end_.
To stay compatible, the existing calls to the function must be done with the
@@ -252,11 +760,11 @@ which allows better compression and is much faster than zlib for both compressio
The new compression type is `zstd`, and the default compression is now `off`
instead of `zlib`: the compression must now be explicitly given in the
link:https://weechat.org/doc/relay/#command_handshake[handshake] command.
link:https://weechat.org/doc/weechat/relay/#command_handshake[handshake] command.
The option `compression` in link:https://weechat.org/doc/relay/#command_handshake[init]
The option `compression` in link:https://weechat.org/doc/weechat/relay/#command_handshake[init]
command has been removed, it is now ignored and must be given in the
link:https://weechat.org/doc/relay/#command_handshake[handshake] command
link:https://weechat.org/doc/weechat/relay/#command_handshake[handshake] command
(it was deprecated since WeeChat 2.9).
The option relay.network.compression_level has been renamed to relay.network.compression
@@ -269,7 +777,7 @@ and is now a percentage between `0` and `100`:
[[v3.4.1]]
== Version 3.4.1 (2022-03-13)
Bug fix and maintenance release.
No release notes.
[[v3.4]]
== Version 3.4 (2021-12-18)
@@ -291,11 +799,11 @@ You can restore the default triggers with the following command:
=== New parameters in function hdata_search
New parameters have been added in function
link:https://weechat.org/doc/plugin/#_hdata_search[hdata_search], used for the
link:https://weechat.org/doc/weechat/plugin/#_hdata_search[hdata_search], used for the
evaluation of expression.
New parameters are the same as function
link:https://weechat.org/doc/plugin/#_string_eval_expression[string_eval_expression]:
link:https://weechat.org/doc/weechat/plugin/#_string_eval_expression[string_eval_expression]:
* pointers: hashtable with pointers (pointers)
* extra_vars: hashtable with extra variables (strings)
@@ -317,7 +825,7 @@ WeeChat versions:
Support of static array in hdata has been added.
For pointers to arrays, a prefix `*,` must be added in parameter `array_size`
of API function link:https://weechat.org/doc/plugin/#_hdata_new_var[hdata_new_var].
of API function link:https://weechat.org/doc/weechat/plugin/#_hdata_new_var[hdata_new_var].
[[v3.3]]
== Version 3.3 (2021-09-19)
@@ -427,7 +935,7 @@ For example:
[[v3.2.1]]
== Version 3.2.1 (2021-09-04)
Bug fix and maintenance release.
No release notes.
[[v3.2]]
== Version 3.2 (2021-06-13)
@@ -657,7 +1165,7 @@ must adjust the value of the new option, which defaults to 1:
[[v3.0.1]]
== Version 3.0.1 (2021-01-31)
Bug fix and maintenance release.
No release notes.
[[v3.0]]
== Version 3.0 (2020-11-11)
@@ -742,7 +1250,7 @@ bars, so if you want to use the new default settings, you can do:
If you changed the option "color_bg" in some bars, you should also adjust
the new option "color_bg_inactive", depending on your needs.
The function link:https://weechat.org/doc/plugin/#_bar_new[bar_new] in API is updated,
The function link:https://weechat.org/doc/weechat/plugin/#_bar_new[bar_new] in API is updated,
so this is an incompatible change: all plugins and scripts calling this function must be updated.
The following scripts are updated consequently to be compatible with all
@@ -808,8 +1316,8 @@ plugins/scripts to complete a string, without using the buffer input.
Therefore two functions have been renamed in API and moved to the new
"completion" category:
* hook_completion_get_string -> link:https://weechat.org/doc/plugin/#_completion_get_string[completion_get_string]
* hook_completion_list_add -> link:https://weechat.org/doc/plugin/#_completion_list_add[completion_list_add]
* hook_completion_get_string -> link:https://weechat.org/doc/weechat/plugin/#_completion_get_string[completion_get_string]
* hook_completion_list_add -> link:https://weechat.org/doc/weechat/plugin/#_completion_list_add[completion_list_add]
[NOTE]
The old names are still valid for compatibility reasons, but it is recommended
@@ -907,7 +1415,7 @@ A `handshake` command has been added in weechat relay protocol. +
The client should send this command before the `init` to negotiate the way to
authenticate with the relay server.
See the link:https://weechat.org/doc/relay/#command_handshake[handshake command]
See the link:https://weechat.org/doc/weechat/relay/#command_handshake[handshake command]
in Relay protocol doc for more information.
==== Server "nonce"
@@ -925,7 +1433,7 @@ So the hash is computed on: (`server nonce` + `client nonce` + `password`).
This salt is now mandatory even for algorithms `SHA256` and `SHA512`; this is
a breaking change in protocol, needed for security reasons.
See the link:https://weechat.org/doc/relay/#command_init[init command]
See the link:https://weechat.org/doc/weechat/relay/#command_init[init command]
in Relay protocol doc for more information.
[[v2.8]]
@@ -936,7 +1444,7 @@ in Relay protocol doc for more information.
The command line option `-a` (or `--no-connect`), which can also be used in the
`/plugin` command, is now used to set a new info called `auto_connect`
(see the function link:https://weechat.org/doc/plugin/#_info_get[info_get] in the Plugin API reference).
(see the function link:https://weechat.org/doc/weechat/plugin/#_info_get[info_get] in the Plugin API reference).
Therefore, the option is not sent any more to the function `weechat_plugin_init`
of plugins. +
@@ -965,7 +1473,7 @@ version:
[[v2.7.1]]
== Version 2.7.1 (2020-02-20)
Bug fix and maintenance release.
No release notes.
[[v2.7]]
== Version 2.7 (2019-12-08)
@@ -1198,8 +1706,8 @@ base 16, 32, and 64.
New functions in C API, supporting base 16, 32, and 64:
* link:https://weechat.org/doc/plugin/#_string_base_encode[string_base_encode]
* link:https://weechat.org/doc/plugin/#_string_base_decode[string_base_decode]
* link:https://weechat.org/doc/weechat/plugin/#_string_base_encode[string_base_encode]
* link:https://weechat.org/doc/weechat/plugin/#_string_base_decode[string_base_decode]
Functions removed from C API:
@@ -1209,7 +1717,7 @@ Functions removed from C API:
[[v2.3]]
== Version 2.3 (2018-10-21)
No release note.
No release notes.
[[v2.2]]
== Version 2.2 (2018-07-14)
@@ -1275,7 +1783,7 @@ See issue #787 for more information.
[NOTE]
It is recommended for plugins and scripts to use the WeeChat IRC parser:
see the function link:https://weechat.org/doc/plugin/#_info_get_hashtable[info_get_hashtable]
see the function link:https://weechat.org/doc/weechat/plugin/#_info_get_hashtable[info_get_hashtable]
in the Plugin API reference.
Now the whole IRC message is received by the signal callback, for example:
@@ -1345,7 +1853,7 @@ List of options moved:
[[v2.0.1]]
== Version 2.0.1 (2017-12-20)
Bug fix and maintenance release.
No release notes.
[[v2.0]]
== Version 2.0 (2017-12-03)
@@ -1440,12 +1948,12 @@ to integer before using it, for example in Python: `int(fd)`.
[[v1.9.1]]
== Version 1.9.1 (2017-09-23)
Bug fix and maintenance release.
No release notes.
[[v1.9]]
== Version 1.9 (2017-06-25)
No release note.
No release notes.
[[v1.8]]
== Version 1.8 (2017-05-13)
@@ -1497,7 +2005,7 @@ Aspell option with color for suggestion on a misspelled word has been renamed:
[[v1.7.1]]
== Version 1.7.1 (2017-04-22)
Bug fix and maintenance release.
No release notes.
[[v1.7]]
== Version 1.7 (2017-01-15)
@@ -1596,33 +2104,33 @@ reduce memory usage).
Following functions are changed in the C API:
* link:https://weechat.org/doc/plugin/#_exec_on_files[exec_on_files]
* link:https://weechat.org/doc/plugin/#_config_new[config_new]
* link:https://weechat.org/doc/plugin/#_config_new_section[config_new_section]
* link:https://weechat.org/doc/plugin/#_config_new_option[config_new_option]
* link:https://weechat.org/doc/plugin/#_hook_command[hook_command]
* link:https://weechat.org/doc/plugin/#_hook_command_run[hook_command_run]
* link:https://weechat.org/doc/plugin/#_hook_timer[hook_timer]
* link:https://weechat.org/doc/plugin/#_hook_fd[hook_fd]
* link:https://weechat.org/doc/plugin/#_hook_process[hook_process]
* link:https://weechat.org/doc/plugin/#_hook_process_hashtable[hook_process_hashtable]
* link:https://weechat.org/doc/plugin/#_hook_connect[hook_connect]
* link:https://weechat.org/doc/plugin/#_hook_print[hook_print]
* link:https://weechat.org/doc/plugin/#_hook_signal[hook_signal]
* link:https://weechat.org/doc/plugin/#_hook_hsignal[hook_hsignal]
* link:https://weechat.org/doc/plugin/#_hook_config[hook_config]
* link:https://weechat.org/doc/plugin/#_hook_completion[hook_completion]
* link:https://weechat.org/doc/plugin/#_hook_modifier[hook_modifier]
* link:https://weechat.org/doc/plugin/#_hook_info[hook_info]
* link:https://weechat.org/doc/plugin/#_hook_info_hashtable[hook_info_hashtable]
* link:https://weechat.org/doc/plugin/#_hook_infolist[hook_infolist]
* link:https://weechat.org/doc/plugin/#_hook_hdata[hook_hdata]
* link:https://weechat.org/doc/plugin/#_hook_focus[hook_focus]
* link:https://weechat.org/doc/plugin/#_unhook_all[unhook_all]
* link:https://weechat.org/doc/plugin/#_buffer_new[buffer_new]
* link:https://weechat.org/doc/plugin/#_bar_item_new[bar_item_new]
* link:https://weechat.org/doc/plugin/#_upgrade_new[upgrade_new]
* link:https://weechat.org/doc/plugin/#_upgrade_read[upgrade_read]
* link:https://weechat.org/doc/weechat/plugin/#_exec_on_files[exec_on_files]
* link:https://weechat.org/doc/weechat/plugin/#_config_new[config_new]
* link:https://weechat.org/doc/weechat/plugin/#_config_new_section[config_new_section]
* link:https://weechat.org/doc/weechat/plugin/#_config_new_option[config_new_option]
* link:https://weechat.org/doc/weechat/plugin/#_hook_command[hook_command]
* link:https://weechat.org/doc/weechat/plugin/#_hook_command_run[hook_command_run]
* link:https://weechat.org/doc/weechat/plugin/#_hook_timer[hook_timer]
* link:https://weechat.org/doc/weechat/plugin/#_hook_fd[hook_fd]
* link:https://weechat.org/doc/weechat/plugin/#_hook_process[hook_process]
* link:https://weechat.org/doc/weechat/plugin/#_hook_process_hashtable[hook_process_hashtable]
* link:https://weechat.org/doc/weechat/plugin/#_hook_connect[hook_connect]
* link:https://weechat.org/doc/weechat/plugin/#_hook_print[hook_print]
* link:https://weechat.org/doc/weechat/plugin/#_hook_signal[hook_signal]
* link:https://weechat.org/doc/weechat/plugin/#_hook_hsignal[hook_hsignal]
* link:https://weechat.org/doc/weechat/plugin/#_hook_config[hook_config]
* link:https://weechat.org/doc/weechat/plugin/#_hook_completion[hook_completion]
* link:https://weechat.org/doc/weechat/plugin/#_hook_modifier[hook_modifier]
* link:https://weechat.org/doc/weechat/plugin/#_hook_info[hook_info]
* link:https://weechat.org/doc/weechat/plugin/#_hook_info_hashtable[hook_info_hashtable]
* link:https://weechat.org/doc/weechat/plugin/#_hook_infolist[hook_infolist]
* link:https://weechat.org/doc/weechat/plugin/#_hook_hdata[hook_hdata]
* link:https://weechat.org/doc/weechat/plugin/#_hook_focus[hook_focus]
* link:https://weechat.org/doc/weechat/plugin/#_unhook_all[unhook_all]
* link:https://weechat.org/doc/weechat/plugin/#_buffer_new[buffer_new]
* link:https://weechat.org/doc/weechat/plugin/#_bar_item_new[bar_item_new]
* link:https://weechat.org/doc/weechat/plugin/#_upgrade_new[upgrade_new]
* link:https://weechat.org/doc/weechat/plugin/#_upgrade_read[upgrade_read]
The function `unhook_all` has a new argument `const char *subplugin` to remove
only hooks created by this "subplugin" (script).
@@ -1744,7 +2252,7 @@ command:
[[v1.1.1]]
== Version 1.1.1 (2015-01-25)
Bug fix and maintenance release.
No release notes.
[[v1.1]]
== Version 1.1 (2015-01-11)
@@ -1793,7 +2301,7 @@ You can restore the default "beep" trigger with the following command:
[[v1.1_commands_return_code]]
=== Return code of commands
The API function link:https://weechat.org/doc/plugin/#_command[command]
The API function link:https://weechat.org/doc/weechat/plugin/#_command[command]
now sends the value returned return by command callback.
WeeChat does not display any more an error when a command returns
@@ -1856,15 +2364,15 @@ the old behavior in command `/connect`:
The API functions using timeval are now using or returning microseconds,
instead of milliseconds:
* function link:https://weechat.org/doc/plugin/#_util_timeval_diff[util_timeval_diff]:
* function link:https://weechat.org/doc/weechat/plugin/#_util_timeval_diff[util_timeval_diff]:
returns microseconds
* function link:https://weechat.org/doc/plugin/#_util_timeval_add[util_timeval_add]:
* function link:https://weechat.org/doc/weechat/plugin/#_util_timeval_add[util_timeval_add]:
the argument "interval" is now expressed in microseconds.
[[v1.0.1]]
== Version 1.0.1 (2014-09-28)
Bug fix and maintenance release.
No release notes.
[[v1.0]]
== Version 1.0 (2014-08-15)
@@ -2362,7 +2870,7 @@ disable IPv6 in relay if you don't plan to use it at all:
== Version 0.3.9.2 (2012-11-18)
This version fixes a security vulnerability when a plugin/script gives
untrusted command to API function link:https://weechat.org/doc/plugin/#_hook_process[hook_process].
untrusted command to API function link:https://weechat.org/doc/weechat/plugin/#_hook_process[hook_process].
[[v0.3.9.1]]
== Version 0.3.9.1 (2012-11-09)
@@ -2690,17 +3198,17 @@ This version fixes a major bug: crash with some special chars in IRC messages.
[[v0.2.6]]
== Version 0.2.6 (2007-09-06)
No release note.
No release notes.
[[v0.2.5]]
== Version 0.2.5 (2007-06-07)
No release note.
No release notes.
[[v0.2.4]]
== Version 0.2.4 (2007-03-29)
No release note.
No release notes.
[[v0.2.3]]
== Version 0.2.3 (2007-01-10)
@@ -2759,7 +3267,7 @@ Which gives something like:
[[v0.2.1]]
== Version 0.2.1 (2006-10-01)
No release note.
No release notes.
[[v0.2.0]]
== Version 0.2.0 (2006-08-19)
@@ -2873,74 +3381,74 @@ at startup.
[[v0.1.5]]
== Version 0.1.5 (2005-09-24)
No release note.
No release notes.
[[v0.1.4]]
== Version 0.1.4 (2005-07-30)
No release note.
No release notes.
[[v0.1.3]]
== Version 0.1.3 (2005-07-02)
No release note.
No release notes.
[[v0.1.2]]
== Version 0.1.2 (2005-05-21)
No release note.
No release notes.
[[v0.1.1]]
== Version 0.1.1 (2005-03-20)
No release note.
No release notes.
[[v0.1.0]]
== Version 0.1.0 (2005-02-12)
No release note.
No release notes.
[[v0.0.9]]
== Version 0.0.9 (2005-01-01)
No release note.
No release notes.
[[v0.0.8]]
== Version 0.0.8 (2004-10-30)
No release note.
No release notes.
[[v0.0.7]]
== Version 0.0.7 (2004-08-08)
No release note.
No release notes.
[[v0.0.6]]
== Version 0.0.6 (2004-06-05)
No release note.
No release notes.
[[v0.0.5]]
== Version 0.0.5 (2004-02-07)
No release note.
No release notes.
[[v0.0.4]]
== Version 0.0.4 (2004-01-01)
No release note.
No release notes.
[[v0.0.3]]
== Version 0.0.3 (2003-11-03)
No release note.
No release notes.
[[v0.0.2]]
== Version 0.0.2 (2003-10-05)
No release note.
No release notes.
[[v0.0.1]]
== Version 0.0.1 (2003-09-27)
No release note.
No release notes.
-69
View File
@@ -1,69 +0,0 @@
#!/bin/sh
#
# Copyright (C) 2003-2023 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2005 Julien Louis <ptitlouis@sysif.net>
# Copyright (C) 2005-2006 Emmanuel Bouthenot <kolter@openics.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/>.
#
###
### common stuff
###
DIR=$(cd "$(dirname "$0")" || exit 1; pwd)
cd "$DIR" || exit 1
AUTOGEN_LOG=autogen.log
err ()
{
echo "-------"
echo "Error :"
echo "---8<-----------------------------------"
cat "$AUTOGEN_LOG"
echo "----------------------------------->8---"
exit 1
}
run ()
{
printf "Running \"%s\"... " "$*"
if "$@" >"$AUTOGEN_LOG" 2>&1 ; then
echo "OK"
else
echo "FAILED"
err
fi
}
# remove autotools stuff
run rm -f config.h.in
run rm -f aclocal.m4 configure config.log config.status
run rm -rf "autom4te*.cache"
# remove libtool stuff
run rm -f libtool
# remove gettext stuff
run rm -f ABOUT-NLS
run rm -rf intl
# execute autoreconf cmds
run autoreconf -vi
# ending
rm -f "$AUTOGEN_LOG"
+22 -20
View File
@@ -45,26 +45,28 @@ set(CMAKE_REQUIRED_INCLUDES ${LIBINTL_INCLUDE})
check_include_files(libintl.h HAVE_LIBINTL_H)
if(HAVE_LIBINTL_H)
check_function_exists(dgettext LIBC_HAS_DGETTEXT)
if(LIBC_HAS_DGETTEXT)
set(GETTEXT_FOUND TRUE)
else()
find_library(LIBINTL_LIBRARY NAMES intl
PATHS
/usr/local/lib
/usr/lib
)
if(LIBINTL_LIBRARY)
if(${CMAKE_SYSTEM_NAME} STREQUAL "OpenBSD")
set(CMAKE_REQUIRED_LIBRARIES "iconv")
check_library_exists(${LIBINTL_LIBRARY} "libintl_dgettext" "" LIBINTL_HAS_DGETTEXT)
else()
check_library_exists(${LIBINTL_LIBRARY} "dgettext" "" LIBINTL_HAS_DGETTEXT)
endif()
if(LIBINTL_HAS_DGETTEXT)
set(GETTEXT_FOUND TRUE)
endif()
if(NOT HAVE_LIBINTL_H)
message(SEND_ERROR "Header libintl.h not found, required if ENABLE_NLS is enabled")
endif()
check_function_exists(dgettext LIBC_HAS_DGETTEXT)
if(LIBC_HAS_DGETTEXT)
set(GETTEXT_FOUND TRUE)
else()
find_library(LIBINTL_LIBRARY NAMES intl
PATHS
/usr/local/lib
/usr/lib
)
if(LIBINTL_LIBRARY)
if(${CMAKE_SYSTEM_NAME} STREQUAL "OpenBSD")
set(CMAKE_REQUIRED_LIBRARIES "iconv")
check_library_exists(${LIBINTL_LIBRARY} "libintl_dgettext" "" LIBINTL_HAS_DGETTEXT)
else()
check_library_exists(${LIBINTL_LIBRARY} "dgettext" "" LIBINTL_HAS_DGETTEXT)
endif()
if(LIBINTL_HAS_DGETTEXT)
set(GETTEXT_FOUND TRUE)
endif()
endif()
endif()
+1 -1
View File
@@ -48,7 +48,7 @@ if(NOT PHP_FOUND)
execute_process(COMMAND ${PHP_CONFIG_EXECUTABLE} --version OUTPUT_VARIABLE PHP_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE)
if(${PHP_VERSION} MATCHES "^[78]")
find_library(PHP_LIB
NAMES php8.2 php8.1 php8.0 php8 php7.4 php7.3 php7.2 php7.1 php7.0 php7 php
NAMES php8.2 php82 php8.1 php81 php8.0 php80 php8 php7.4 php74 php7.3 php73 php7.2 php72 php7.1 php71 php7.0 php70 php7 php
HINTS ${PHP_LIB_PREFIX} ${PHP_LIB_PREFIX}/lib ${PHP_LIB_PREFIX}/lib64
)
if(PHP_LIB)
-1
View File
@@ -1,4 +1,3 @@
#cmakedefine HAVE_LIBINTL_H
#cmakedefine HAVE_SYS_RESOURCE_H
#cmakedefine HAVE_FLOCK
#cmakedefine HAVE_LANGINFO_CODESET
-1601
View File
File diff suppressed because it is too large Load Diff
+2 -2
View File
@@ -7,7 +7,7 @@ Build-Depends:
ruby-pygments.rb,
debhelper (>= 12),
cmake, pkg-config,
libncursesw5-dev,
libncurses-dev,
gem2deb,
libperl-dev,
python3-dev,
@@ -22,7 +22,7 @@ Build-Depends:
libgnutls28-dev,
libzstd-dev,
zlib1g-dev
Standards-Version: 4.6.0.1
Standards-Version: 4.6.2
Homepage: https://weechat.org/
Vcs-Git: https://salsa.debian.org/kolter/weechat.git
Vcs-Browser: https://salsa.debian.org/kolter/weechat
+3 -13
View File
@@ -4,10 +4,8 @@ export DEB_BUILD_MAINT_OPTIONS=hardening=+all
BUILDDIR = builddir
$(BUILDDIR)/Makefile:
mkdir -p $(BUILDDIR)
cd $(BUILDDIR) && \
cmake .. \
override_dh_auto_configure:
dh_auto_configure --buildsystem=cmake -- \
-DCMAKE_INSTALL_PREFIX:FILEPATH=/usr \
-DLIBDIR=/usr/lib/${DEB_HOST_MULTIARCH} \
-DENABLE_DOC:BOOL=ON \
@@ -18,16 +16,8 @@ $(BUILDDIR)/Makefile:
-DCMAKE_SKIP_RPATH:BOOL=ON \
-DCMAKE_VERBOSE_MAKEFILE:BOOL=ON
override_dh_auto_configure:
# the package also has autotools buildsys and
# debhelper try to use it but that's not needed
echo
override_dh_auto_build: $(BUILDDIR)/Makefile
dh_auto_build
override_dh_installchangelogs:
dh_installchangelogs ChangeLog.adoc
%:
dh $@ --builddirectory=$(BUILDDIR) --without autoreconf
dh $@ --builddirectory=$(BUILDDIR)
-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
+32
View File
@@ -1,3 +1,35 @@
weechat (4.0.5-1) unstable; urgency=medium
* New upstream release
-- Emmanuel Bouthenot <kolter@debian.org> Sun, 24 Sep 2023 07:49:41 +0000
weechat (4.0.2-1) unstable; urgency=medium
* New upstream release (Closes: #1040248)
-- Emmanuel Bouthenot <kolter@debian.org> Sat, 22 Jul 2023 05:48:35 +0000
weechat (4.0.1-1) unstable; urgency=medium
* New upstream release
* Remove NEWS file, no longer required
* Update build dependency from libncursesw5-dev to libncurses-dev
* Bump Standards-Version to 4.6.2
* Remove all patches (no longer required)
-- Emmanuel Bouthenot <kolter@debian.org> Tue, 04 Jul 2023 19:02:41 +0000
weechat (3.8-1) unstable; urgency=medium
* New upstream release
* Add a patch remove some autotools leftovers
* Update debian/copyright (new year)
* Update debian/rules to remove workarounds which avoid issues with
autotools build system
-- Emmanuel Bouthenot <kolter@debian.org> Sun, 15 Jan 2023 08:34:04 +0000
weechat (3.7.1-1) unstable; urgency=medium
* New upstream release
+2 -2
View File
@@ -7,7 +7,7 @@ Build-Depends:
ruby-pygments.rb,
debhelper (>= 12),
cmake, pkg-config,
libncursesw5-dev,
libncurses-dev,
gem2deb,
libperl-dev,
python3-dev,
@@ -22,7 +22,7 @@ Build-Depends:
libgnutls28-dev,
libzstd-dev,
zlib1g-dev
Standards-Version: 4.6.1.0
Standards-Version: 4.6.2
Homepage: https://weechat.org/
Vcs-Git: https://salsa.debian.org/kolter/weechat.git
Vcs-Browser: https://salsa.debian.org/kolter/weechat
+3 -13
View File
@@ -4,10 +4,8 @@ export DEB_BUILD_MAINT_OPTIONS=hardening=+all
BUILDDIR = builddir
$(BUILDDIR)/Makefile:
mkdir -p $(BUILDDIR)
cd $(BUILDDIR) && \
cmake .. \
override_dh_auto_configure:
dh_auto_configure --buildsystem=cmake -- \
-DCMAKE_INSTALL_PREFIX:FILEPATH=/usr \
-DLIBDIR=/usr/lib/${DEB_HOST_MULTIARCH} \
-DENABLE_DOC:BOOL=ON \
@@ -18,16 +16,8 @@ $(BUILDDIR)/Makefile:
-DCMAKE_SKIP_RPATH:BOOL=ON \
-DCMAKE_VERBOSE_MAKEFILE:BOOL=ON
override_dh_auto_configure:
# the package also has autotools buildsys and
# debhelper try to use it but that's not needed
echo
override_dh_auto_build: $(BUILDDIR)/Makefile
dh_auto_build
override_dh_installchangelogs:
dh_installchangelogs ChangeLog.adoc
%:
dh $@ --builddirectory=$(BUILDDIR) --without autoreconf
dh $@ --builddirectory=$(BUILDDIR)
+297 -32
View File
@@ -19,10 +19,97 @@
#
if(ENABLE_MAN OR ENABLE_DOC)
# docs languages
set(AUTOGEN_LANG de en fr it ja pl sr)
set(MAN_LANG cs de en fr it ja pl ru sr)
set(USER_LANG de en fr it ja pl sr)
set(PLUGIN_API_LANG en fr it ja sr)
set(SCRIPTING_LANG de en fr it ja pl sr)
set(FAQ_LANG de en es fr it ja pl sr)
set(QUICKSTART_LANG cs de en es fr it ja pl ru sr)
set(RELAY_LANG en fr ja sr)
set(DEV_LANG en fr ja sr)
find_package(Asciidoctor)
if(ASCIIDOCTOR_FOUND)
# common asciidoctor arguments
set(ASCIIDOCTOR_ARGS -a experimental -a reproducible -a "prewrap!" -a "webfonts!" -a icons=font -a revnumber="${VERSION}" -a sectanchors -a source-highlighter=pygments -a pygments-style=native)
set(ASCIIDOCTOR_ARGS
-a experimental
-a reproducible
-a "prewrap!"
-a "webfonts!"
-a icons=font
-a revnumber="${VERSION}"
-a sectanchors
-a source-highlighter=pygments
-a pygments-style=native
-a docinfodir="${CMAKE_CURRENT_SOURCE_DIR}"
-a autogendir="${CMAKE_CURRENT_BINARY_DIR}/autogen"
)
# asciidoctor arguments for user's guide
set(ASCIIDOCTOR_USER_ARGS
-a toc=left
-a toclevels=3
-a sectnums
-a sectnumlevels=2
-a docinfo1
)
# asciidoctor arguments for plugin API reference
set(ASCIIDOCTOR_PLUGIN_API_ARGS
-a toc=left
-a toclevels=3
-a sectnums
-a sectnumlevels=2
-a docinfo1
)
# asciidoctor arguments for scripting guide
set(ASCIIDOCTOR_SCRIPTING_ARGS
-a toc=left
-a toclevels=3
-a sectnums
-a sectnumlevels=2
-a docinfo1
)
# asciidoctor arguments for FAQ
set(ASCIIDOCTOR_FAQ_ARGS
-a toc=left
-a toclevels=2
-a sectnums
-a sectnumlevels=2
-a docinfo1
)
# asciidoctor arguments for quickstart
set(ASCIIDOCTOR_QUICKSTART_ARGS
-a toc=left
-a toclevels=2
-a sectnums
-a sectnumlevels=2
-a docinfo1
)
# asciidoctor arguments for relay protocol
set(ASCIIDOCTOR_RELAY_ARGS
-a toc=left
-a toclevels=3
-a sectnums
-a sectnumlevels=2
-a docinfo1
)
# asciidoctor arguments for developer's guide
set(ASCIIDOCTOR_DEV_ARGS
-a toc=left
-a toclevels=3
-a sectnums
-a sectnumlevels=2
-a docinfo1
)
# sed arguments used to replace links in ChangeLog and release notes
set(SED_LINKS_ARGS
@@ -36,54 +123,232 @@ if(ENABLE_MAN OR ENABLE_DOC)
# ChangeLog
add_custom_command(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/ChangeLog-links.adoc
COMMAND sed ARGS ${SED_LINKS_ARGS} ${CMAKE_CURRENT_SOURCE_DIR}/../ChangeLog.adoc > ${CMAKE_CURRENT_BINARY_DIR}/ChangeLog-links.adoc
OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/ChangeLog-links.adoc"
COMMAND sed ARGS ${SED_LINKS_ARGS} "${CMAKE_CURRENT_SOURCE_DIR}/../ChangeLog.adoc" > "${CMAKE_CURRENT_BINARY_DIR}/ChangeLog-links.adoc"
DEPENDS
${CMAKE_CURRENT_SOURCE_DIR}/../ChangeLog.adoc
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
"${CMAKE_CURRENT_SOURCE_DIR}/../ChangeLog.adoc"
WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}"
)
add_custom_command(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/ChangeLog.html
COMMAND ${ASCIIDOCTOR_EXECUTABLE} ARGS ${ASCIIDOCTOR_ARGS} -a docinfodir="${CMAKE_CURRENT_SOURCE_DIR}" -o ChangeLog.html ${CMAKE_CURRENT_BINARY_DIR}/ChangeLog-links.adoc
OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/ChangeLog.html"
COMMAND "${ASCIIDOCTOR_EXECUTABLE}" ARGS ${ASCIIDOCTOR_ARGS} -o ChangeLog.html "${CMAKE_CURRENT_BINARY_DIR}/ChangeLog-links.adoc"
DEPENDS
${CMAKE_CURRENT_SOURCE_DIR}/docinfo.html
${CMAKE_CURRENT_BINARY_DIR}/ChangeLog-links.adoc
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
"${CMAKE_CURRENT_SOURCE_DIR}/docinfo.html"
"${CMAKE_CURRENT_BINARY_DIR}/ChangeLog-links.adoc"
WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}"
COMMENT "Building ChangeLog.html"
)
add_custom_target(changelog DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/ChangeLog.html)
add_custom_target(changelog DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/ChangeLog.html")
# Release notes
add_custom_command(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/ReleaseNotes-links.adoc
COMMAND sed ARGS ${SED_LINKS_ARGS} ${CMAKE_CURRENT_SOURCE_DIR}/../ReleaseNotes.adoc > ${CMAKE_CURRENT_BINARY_DIR}/ReleaseNotes-links.adoc
OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/ReleaseNotes-links.adoc"
COMMAND sed ARGS ${SED_LINKS_ARGS} "${CMAKE_CURRENT_SOURCE_DIR}/../ReleaseNotes.adoc" > "${CMAKE_CURRENT_BINARY_DIR}/ReleaseNotes-links.adoc"
DEPENDS
${CMAKE_CURRENT_SOURCE_DIR}/../ReleaseNotes.adoc
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
"${CMAKE_CURRENT_SOURCE_DIR}/../ReleaseNotes.adoc"
WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}"
)
add_custom_command(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/ReleaseNotes.html
COMMAND ${ASCIIDOCTOR_EXECUTABLE} ARGS ${ASCIIDOCTOR_ARGS} -a docinfodir="${CMAKE_CURRENT_SOURCE_DIR}" -o ReleaseNotes.html ${CMAKE_CURRENT_BINARY_DIR}/ReleaseNotes-links.adoc
OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/ReleaseNotes.html"
COMMAND "${ASCIIDOCTOR_EXECUTABLE}" ARGS ${ASCIIDOCTOR_ARGS} -o ReleaseNotes.html "${CMAKE_CURRENT_BINARY_DIR}/ReleaseNotes-links.adoc"
DEPENDS
${CMAKE_CURRENT_SOURCE_DIR}/docinfo.html
${CMAKE_CURRENT_BINARY_DIR}/ReleaseNotes-links.adoc
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
"${CMAKE_CURRENT_SOURCE_DIR}/docinfo.html"
"${CMAKE_CURRENT_BINARY_DIR}/ReleaseNotes-links.adoc"
WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}"
COMMENT "Building ReleaseNotes.html"
)
add_custom_target(rn DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/ReleaseNotes.html)
add_custom_target(rn DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/ReleaseNotes.html")
if(ENABLE_DOC)
set(AUTOGEN_FILES "")
foreach(lang ${AUTOGEN_LANG})
LIST(APPEND AUTOGEN_FILES
# plugin API reference
"${CMAKE_CURRENT_BINARY_DIR}/autogen/autogen_api_completions.${lang}.adoc"
"${CMAKE_CURRENT_BINARY_DIR}/autogen/autogen_api_config_priority.${lang}.adoc"
"${CMAKE_CURRENT_BINARY_DIR}/autogen/autogen_api_hdata.${lang}.adoc"
"${CMAKE_CURRENT_BINARY_DIR}/autogen/autogen_api_infolists.${lang}.adoc"
"${CMAKE_CURRENT_BINARY_DIR}/autogen/autogen_api_infos.${lang}.adoc"
"${CMAKE_CURRENT_BINARY_DIR}/autogen/autogen_api_infos_hashtable.${lang}.adoc"
"${CMAKE_CURRENT_BINARY_DIR}/autogen/autogen_api_plugins_priority.${lang}.adoc"
"${CMAKE_CURRENT_BINARY_DIR}/autogen/autogen_api_url_options.${lang}.adoc"
# user's guide
"${CMAKE_CURRENT_BINARY_DIR}/autogen/autogen_user_commands.${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_options.${lang}.adoc"
)
endforeach()
add_custom_target(doc-autogen ALL
COMMAND "${CMAKE_COMMAND}" -E env "WEECHAT_EXTRA_LIBDIR=${PROJECT_BINARY_DIR}/src" "WEECHAT_DOCGEN_LOCALEDIR=${PROJECT_BINARY_DIR}/po" "${CMAKE_BINARY_DIR}/src/gui/curses/headless/weechat-headless" --temp-dir --doc-gen "${CMAKE_CURRENT_BINARY_DIR}/autogen"
DEPENDS
# the headless binary is required
weechat-headless
# translations must be compiled
translations
# all plugins must be loaded during doc generation
alias buflist charset exec fifo fset guile irc logger lua perl php python relay ruby script spell tcl trigger typing xfer
BYPRODUCTS ${AUTOGEN_FILES}
WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}"
)
endif()
if(ENABLE_MAN)
foreach(lang ${MAN_LANG})
if(${lang} STREQUAL "en")
set(MANDIR_LANG "${MANDIR}/man1")
else()
set(MANDIR_LANG "${MANDIR}/${lang}/man1")
endif()
# man page: weechat
add_custom_command(
OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/weechat.${lang}.1"
COMMAND "${ASCIIDOCTOR_EXECUTABLE}" ARGS ${ASCIIDOCTOR_ARGS} -b manpage -o "weechat.${lang}.1" "${CMAKE_CURRENT_SOURCE_DIR}/${lang}/weechat.1.${lang}.adoc"
DEPENDS
"${CMAKE_CURRENT_SOURCE_DIR}/${lang}/weechat.1.${lang}.adoc"
"${CMAKE_CURRENT_SOURCE_DIR}/${lang}/includes/cmdline_options.${lang}.adoc"
"${CMAKE_CURRENT_SOURCE_DIR}/${lang}/includes/man.${lang}.adoc"
WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}"
COMMENT "Building weechat.1 (${lang})"
)
add_custom_target(doc-man-weechat-${lang} ALL DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/weechat.${lang}.1")
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/weechat.${lang}.1" DESTINATION "${MANDIR_LANG}" RENAME "weechat.1")
# man page: weechat-headless
if(ENABLE_HEADLESS)
add_custom_command(
OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/weechat-headless.${lang}.1"
COMMAND "${ASCIIDOCTOR_EXECUTABLE}" ARGS ${ASCIIDOCTOR_ARGS} -b manpage -o "weechat-headless.${lang}.1" "${CMAKE_CURRENT_SOURCE_DIR}/${lang}/weechat-headless.1.${lang}.adoc"
DEPENDS
"${CMAKE_CURRENT_SOURCE_DIR}/${lang}/weechat-headless.1.${lang}.adoc"
"${CMAKE_CURRENT_SOURCE_DIR}/${lang}/includes/cmdline_options.${lang}.adoc"
"${CMAKE_CURRENT_SOURCE_DIR}/${lang}/includes/man.${lang}.adoc"
WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}"
COMMENT "Building weechat-headless.1 (${lang})"
)
add_custom_target(doc-man-weechat-headless-${lang} ALL DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/weechat-headless.${lang}.1")
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/weechat-headless.${lang}.1" DESTINATION "${MANDIR_LANG}" RENAME "weechat-headless.1")
endif()
endforeach()
endif()
if(ENABLE_DOC)
# user's guide
foreach(lang ${USER_LANG})
add_custom_command(
OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/weechat_user.${lang}.html"
COMMAND "${ASCIIDOCTOR_EXECUTABLE}" ARGS ${ASCIIDOCTOR_ARGS} ${ASCIIDOCTOR_USER_ARGS} -o "weechat_user.${lang}.html" "${CMAKE_CURRENT_SOURCE_DIR}/${lang}/weechat_user.${lang}.adoc"
DEPENDS
"${CMAKE_CURRENT_SOURCE_DIR}/docinfo.html"
"${CMAKE_CURRENT_SOURCE_DIR}/${lang}/weechat_user.${lang}.adoc"
"${CMAKE_CURRENT_SOURCE_DIR}/${lang}/includes/cmdline_options.${lang}.adoc"
doc-autogen
"${CMAKE_CURRENT_BINARY_DIR}/autogen/autogen_user_commands.${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_options.${lang}.adoc"
WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}"
COMMENT "Building weechat_user.${lang}.html"
)
add_custom_target(doc-user-${lang} ALL DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/weechat_user.${lang}.html")
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/weechat_user.${lang}.html" DESTINATION "${DATAROOTDIR}/doc/${PROJECT_NAME}")
endforeach()
# plugin API reference
foreach(lang ${PLUGIN_API_LANG})
add_custom_command(
OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/weechat_plugin_api.${lang}.html"
COMMAND "${ASCIIDOCTOR_EXECUTABLE}" ARGS ${ASCIIDOCTOR_ARGS} ${ASCIIDOCTOR_PLUGIN_API_ARGS} -o "weechat_plugin_api.${lang}.html" "${CMAKE_CURRENT_SOURCE_DIR}/${lang}/weechat_plugin_api.${lang}.adoc"
DEPENDS
"${CMAKE_CURRENT_SOURCE_DIR}/docinfo.html"
"${CMAKE_CURRENT_SOURCE_DIR}/${lang}/weechat_plugin_api.${lang}.adoc"
doc-autogen
"${CMAKE_CURRENT_BINARY_DIR}/autogen/autogen_api_completions.${lang}.adoc"
"${CMAKE_CURRENT_BINARY_DIR}/autogen/autogen_api_config_priority.${lang}.adoc"
"${CMAKE_CURRENT_BINARY_DIR}/autogen/autogen_api_hdata.${lang}.adoc"
"${CMAKE_CURRENT_BINARY_DIR}/autogen/autogen_api_infolists.${lang}.adoc"
"${CMAKE_CURRENT_BINARY_DIR}/autogen/autogen_api_infos.${lang}.adoc"
"${CMAKE_CURRENT_BINARY_DIR}/autogen/autogen_api_infos_hashtable.${lang}.adoc"
"${CMAKE_CURRENT_BINARY_DIR}/autogen/autogen_api_plugins_priority.${lang}.adoc"
"${CMAKE_CURRENT_BINARY_DIR}/autogen/autogen_api_url_options.${lang}.adoc"
WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}"
COMMENT "Building weechat_plugin_api.${lang}.html"
)
add_custom_target(doc-plugin-api-${lang} ALL DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/weechat_plugin_api.${lang}.html")
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/weechat_plugin_api.${lang}.html" DESTINATION "${DATAROOTDIR}/doc/${PROJECT_NAME}")
endforeach()
# scripting guide
foreach(lang ${SCRIPTING_LANG})
add_custom_command(
OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/weechat_scripting.${lang}.html"
COMMAND "${ASCIIDOCTOR_EXECUTABLE}" ARGS ${ASCIIDOCTOR_ARGS} ${ASCIIDOCTOR_SCRIPTING_ARGS} -o "weechat_scripting.${lang}.html" "${CMAKE_CURRENT_SOURCE_DIR}/${lang}/weechat_scripting.${lang}.adoc"
DEPENDS
"${CMAKE_CURRENT_SOURCE_DIR}/docinfo.html"
"${CMAKE_CURRENT_SOURCE_DIR}/${lang}/weechat_scripting.${lang}.adoc"
WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}"
COMMENT "Building weechat_scripting.${lang}.html"
)
add_custom_target(doc-scripting-${lang} ALL DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/weechat_scripting.${lang}.html")
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/weechat_scripting.${lang}.html" DESTINATION "${DATAROOTDIR}/doc/${PROJECT_NAME}")
endforeach()
# FAQ
foreach(lang ${FAQ_LANG})
add_custom_command(
OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/weechat_faq.${lang}.html"
COMMAND "${ASCIIDOCTOR_EXECUTABLE}" ARGS ${ASCIIDOCTOR_ARGS} ${ASCIIDOCTOR_FAQ_ARGS} -o "weechat_faq.${lang}.html" "${CMAKE_CURRENT_SOURCE_DIR}/${lang}/weechat_faq.${lang}.adoc"
DEPENDS
"${CMAKE_CURRENT_SOURCE_DIR}/docinfo.html"
"${CMAKE_CURRENT_SOURCE_DIR}/${lang}/weechat_faq.${lang}.adoc"
WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}"
COMMENT "Building weechat_faq.${lang}.html"
)
add_custom_target(doc-faq-${lang} ALL DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/weechat_faq.${lang}.html")
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/weechat_faq.${lang}.html" DESTINATION "${DATAROOTDIR}/doc/${PROJECT_NAME}")
endforeach()
# quickstart
foreach(lang ${QUICKSTART_LANG})
add_custom_command(
OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/weechat_quickstart.${lang}.html"
COMMAND "${ASCIIDOCTOR_EXECUTABLE}" ARGS ${ASCIIDOCTOR_ARGS} ${ASCIIDOCTOR_QUICKSTART_ARGS} -o "weechat_quickstart.${lang}.html" "${CMAKE_CURRENT_SOURCE_DIR}/${lang}/weechat_quickstart.${lang}.adoc"
DEPENDS
"${CMAKE_CURRENT_SOURCE_DIR}/docinfo.html"
"${CMAKE_CURRENT_SOURCE_DIR}/${lang}/weechat_quickstart.${lang}.adoc"
WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}"
COMMENT "Building weechat_quickstart.${lang}.html"
)
add_custom_target(doc-quickstart-${lang} ALL DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/weechat_quickstart.${lang}.html")
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/weechat_quickstart.${lang}.html" DESTINATION "${DATAROOTDIR}/doc/${PROJECT_NAME}")
endforeach()
# relay protocol
foreach(lang ${RELAY_LANG})
add_custom_command(
OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/weechat_relay_protocol.${lang}.html"
COMMAND "${ASCIIDOCTOR_EXECUTABLE}" ARGS ${ASCIIDOCTOR_ARGS} ${ASCIIDOCTOR_RELAY_ARGS} -o "weechat_relay_protocol.${lang}.html" "${CMAKE_CURRENT_SOURCE_DIR}/${lang}/weechat_relay_protocol.${lang}.adoc"
DEPENDS
"${CMAKE_CURRENT_SOURCE_DIR}/docinfo.html"
"${CMAKE_CURRENT_SOURCE_DIR}/${lang}/weechat_relay_protocol.${lang}.adoc"
WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}"
COMMENT "Building weechat_relay_protocol.${lang}.html"
)
add_custom_target(doc-relay-protocol-${lang} ALL DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/weechat_relay_protocol.${lang}.html")
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/weechat_relay_protocol.${lang}.html" DESTINATION "${DATAROOTDIR}/doc/${PROJECT_NAME}")
endforeach()
# developer's guide
foreach(lang ${DEV_LANG})
add_custom_command(
OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/weechat_dev.${lang}.html"
COMMAND "${ASCIIDOCTOR_EXECUTABLE}" ARGS ${ASCIIDOCTOR_ARGS} ${ASCIIDOCTOR_DEV_ARGS} -o "weechat_dev.${lang}.html" "${CMAKE_CURRENT_SOURCE_DIR}/${lang}/weechat_dev.${lang}.adoc"
DEPENDS
"${CMAKE_CURRENT_SOURCE_DIR}/docinfo.html"
"${CMAKE_CURRENT_SOURCE_DIR}/${lang}/weechat_dev.${lang}.adoc"
WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}"
COMMENT "Building weechat_dev.${lang}.html"
)
add_custom_target(doc-dev-${lang} ALL DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/weechat_dev.${lang}.html")
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/weechat_dev.${lang}.html" DESTINATION "${DATAROOTDIR}/doc/${PROJECT_NAME}")
endforeach()
endif()
# man/doc in all languages
add_subdirectory(cs)
add_subdirectory(de)
add_subdirectory(en)
add_subdirectory(es)
add_subdirectory(fr)
add_subdirectory(it)
add_subdirectory(ja)
add_subdirectory(pl)
add_subdirectory(ru)
add_subdirectory(sr)
else()
message(SEND_ERROR "Asciidoctor not found")
endif()
endif()
-28
View File
@@ -1,28 +0,0 @@
#
# Copyright (C) 2003-2023 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2006 Julien Louis <ptitlouis@sysif.net>
#
# 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/>.
#
SUBDIRS = . cs de en es fr it ja pl ru sr
EXTRA_DIST = docgen.py \
docinfo.html \
CMakeLists.txt
uninstall-hook:
-rmdir $(DESTDIR)$(datadir)/doc/$(PACKAGE)
-67
View File
@@ -1,67 +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/>.
#
if(ENABLE_MAN)
# man page: weechat
add_custom_command(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/weechat.1
COMMAND ${ASCIIDOCTOR_EXECUTABLE} ARGS ${ASCIIDOCTOR_ARGS} -b manpage -o weechat.1 ${CMAKE_CURRENT_SOURCE_DIR}/weechat.1.cs.adoc
DEPENDS
${CMAKE_CURRENT_SOURCE_DIR}/weechat.1.cs.adoc
${CMAKE_CURRENT_SOURCE_DIR}/includes/cmdline_options.cs.adoc
${CMAKE_CURRENT_SOURCE_DIR}/includes/man.cs.adoc
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMENT "Building weechat.1 (cs)"
)
add_custom_target(doc-man-weechat-cs ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/weechat.1)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/weechat.1 DESTINATION ${MANDIR}/cs/man1)
if(ENABLE_HEADLESS)
# man page: weechat-headless
add_custom_command(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/weechat-headless.1
COMMAND ${ASCIIDOCTOR_EXECUTABLE} ARGS ${ASCIIDOCTOR_ARGS} -b manpage -o weechat-headless.1 ${CMAKE_CURRENT_SOURCE_DIR}/weechat-headless.1.cs.adoc
DEPENDS
${CMAKE_CURRENT_SOURCE_DIR}/weechat-headless.1.cs.adoc
${CMAKE_CURRENT_SOURCE_DIR}/includes/cmdline_options.cs.adoc
${CMAKE_CURRENT_SOURCE_DIR}/includes/man.cs.adoc
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMENT "Building weechat-headless.1 (cs)"
)
add_custom_target(doc-man-weechat-headless-cs ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/weechat-headless.1)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/weechat-headless.1 DESTINATION ${MANDIR}/cs/man1)
endif()
endif()
if(ENABLE_DOC)
# quickstart
add_custom_command(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/weechat_quickstart.cs.html
COMMAND ${ASCIIDOCTOR_EXECUTABLE} ARGS ${ASCIIDOCTOR_ARGS} -o weechat_quickstart.cs.html ${CMAKE_CURRENT_SOURCE_DIR}/weechat_quickstart.cs.adoc
DEPENDS
${CMAKE_CURRENT_SOURCE_DIR}/../docinfo.html
${CMAKE_CURRENT_SOURCE_DIR}/weechat_quickstart.cs.adoc
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMENT "Building weechat_quickstart.cs.html"
)
add_custom_target(doc-quickstart-cs ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/weechat_quickstart.cs.html)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/weechat_quickstart.cs.html DESTINATION ${DATAROOTDIR}/doc/${PROJECT_NAME})
endif()
-81
View File
@@ -1,81 +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/>.
#
docdir = $(datadir)/doc/$(PACKAGE)
EXTRA_DIST = CMakeLists.txt \
docinfo.html \
weechat.1.cs.adoc \
weechat-headless.1.cs.adoc \
weechat_quickstart.cs.adoc \
includes/cmdline_options.cs.adoc \
includes/man.cs.adoc
if MAN
man_targets = weechat.1 \
weechat-headless.1
man_install = install-man
man_uninstall = uninstall-man
endif
if DOC
doc_targets = weechat_quickstart.cs.html
doc_install = install-doc
doc_uninstall = uninstall-doc
endif
all-local: $(man_targets) $(doc_targets)
# man pages
weechat.1: weechat.1.cs.adoc includes/cmdline_options.cs.adoc includes/man.cs.adoc
$(ASCIIDOCTOR) $(ASCIIDOCTOR_ARGS) -a revnumber="$(VERSION)" -b manpage -o weechat.1 $(abs_top_srcdir)/doc/cs/weechat.1.cs.adoc
weechat-headless.1: weechat-headless.1.cs.adoc includes/cmdline_options.cs.adoc includes/man.cs.adoc
$(ASCIIDOCTOR) $(ASCIIDOCTOR_ARGS) -a revnumber="$(VERSION)" -b manpage -o weechat-headless.1 $(abs_top_srcdir)/doc/cs/weechat-headless.1.cs.adoc
# quickstart
weechat_quickstart.cs.html: weechat_quickstart.cs.adoc $(abs_top_srcdir)/doc/docinfo.html
$(ASCIIDOCTOR) $(ASCIIDOCTOR_ARGS) -a revnumber="$(VERSION)" -o weechat_quickstart.cs.html $(abs_top_srcdir)/doc/cs/weechat_quickstart.cs.adoc
# install man/docs
install-data-hook: $(man_install) $(doc_install)
install-man:
$(mkinstalldirs) $(DESTDIR)$(mandir)/cs/man1/
$(INSTALL_DATA) *.1 $(DESTDIR)$(mandir)/cs/man1/
install-doc:
$(mkinstalldirs) $(DESTDIR)$(docdir)/
$(INSTALL_DATA) *.html $(DESTDIR)$(docdir)/
# uninstall man/docs
uninstall-hook: $(man_uninstall) $(doc_uninstall)
uninstall-man:
$(RM) $(DESTDIR)$(mandir)/cs/man1/weechat.1
$(RM) $(DESTDIR)$(mandir)/cs/man1/weechat-headless.1
-rmdir $(DESTDIR)$(mandir)/cs/man1
uninstall-doc:
$(RM) $(DESTDIR)$(docdir)/*.cs.html
-rmdir $(DESTDIR)$(docdir)
# clean
clean-local:
-$(RM) weechat.1 weechat-headless.1 weechat_*.html
-1
View File
@@ -1 +0,0 @@
../docinfo.html
+3 -7
View File
@@ -2,10 +2,6 @@
:author: Sébastien Helleu
:email: flashcode@flashtux.org
:lang: cs
:toc: left
:sectnums:
:docinfo1:
[[start]]
== Spuštění WeeChatu
@@ -113,7 +109,7 @@ Použijte příkaz `/plugin` k zobrazení nahraných pluginů, pravděpodobně u
Můžete přidat irc server příkazem `/server`, například:
----
/server add libera irc.libera.chat/6697 -ssl
/server add libera irc.libera.chat/6697 -tls
----
// TRANSLATION MISSING
@@ -403,14 +399,14 @@ Zkuste `/help script` pro vĂ­ce informacĂ­.
// TRANSLATION MISSING
A list of scripts is available in WeeChat with `/script` or on
https://weechat.org/scripts/[this page ^↗^,window=_blank].
https://weechat.org/scripts/[this page ^↗^^].
[[more_doc]]
== Další dokumentace
// TRANSLATION MISSING
You can now use WeeChat and read
https://weechat.org/doc/[FAQ/documentation ^↗^,window=_blank]
https://weechat.org/doc/[FAQ/documentation ^↗^^]
for any other questions.
Ať máte radost z použití WeeChatu!
-110
View File
@@ -1,110 +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/>.
#
if(ENABLE_MAN)
# man page: weechat
add_custom_command(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/weechat.1
COMMAND ${ASCIIDOCTOR_EXECUTABLE} ARGS ${ASCIIDOCTOR_ARGS} -b manpage -o weechat.1 ${CMAKE_CURRENT_SOURCE_DIR}/weechat.1.de.adoc
DEPENDS
${CMAKE_CURRENT_SOURCE_DIR}/weechat.1.de.adoc
${CMAKE_CURRENT_SOURCE_DIR}/includes/cmdline_options.de.adoc
${CMAKE_CURRENT_SOURCE_DIR}/includes/man.de.adoc
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMENT "Building weechat.1 (de)"
)
add_custom_target(doc-man-weechat-de ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/weechat.1)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/weechat.1 DESTINATION ${MANDIR}/de/man1)
if(ENABLE_HEADLESS)
# man page: weechat-headless
add_custom_command(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/weechat-headless.1
COMMAND ${ASCIIDOCTOR_EXECUTABLE} ARGS ${ASCIIDOCTOR_ARGS} -b manpage -o weechat-headless.1 ${CMAKE_CURRENT_SOURCE_DIR}/weechat-headless.1.de.adoc
DEPENDS
${CMAKE_CURRENT_SOURCE_DIR}/weechat-headless.1.de.adoc
${CMAKE_CURRENT_SOURCE_DIR}/includes/cmdline_options.de.adoc
${CMAKE_CURRENT_SOURCE_DIR}/includes/man.de.adoc
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMENT "Building weechat-headless.1 (de)"
)
add_custom_target(doc-man-weechat-headless-de ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/weechat-headless.1)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/weechat-headless.1 DESTINATION ${MANDIR}/de/man1)
endif()
endif()
if(ENABLE_DOC)
file(GLOB AUTOGEN_USER "${CMAKE_CURRENT_SOURCE_DIR}/includes/autogen_user_*.adoc")
# user's guide
add_custom_command(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/weechat_user.de.html
COMMAND ${ASCIIDOCTOR_EXECUTABLE} ARGS ${ASCIIDOCTOR_ARGS} -o weechat_user.de.html ${CMAKE_CURRENT_SOURCE_DIR}/weechat_user.de.adoc
DEPENDS
${CMAKE_CURRENT_SOURCE_DIR}/../docinfo.html
${CMAKE_CURRENT_SOURCE_DIR}/weechat_user.de.adoc
${CMAKE_CURRENT_SOURCE_DIR}/includes/cmdline_options.de.adoc
${AUTOGEN_USER}
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMENT "Building weechat_user.de.html"
)
add_custom_target(doc-user-de ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/weechat_user.de.html)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/weechat_user.de.html DESTINATION ${DATAROOTDIR}/doc/${PROJECT_NAME})
# scripting guide
add_custom_command(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/weechat_scripting.de.html
COMMAND ${ASCIIDOCTOR_EXECUTABLE} ARGS ${ASCIIDOCTOR_ARGS} -o weechat_scripting.de.html ${CMAKE_CURRENT_SOURCE_DIR}/weechat_scripting.de.adoc
DEPENDS
${CMAKE_CURRENT_SOURCE_DIR}/../docinfo.html
${CMAKE_CURRENT_SOURCE_DIR}/weechat_scripting.de.adoc
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMENT "Building weechat_scripting.de.html"
)
add_custom_target(doc-scripting-de ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/weechat_scripting.de.html)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/weechat_scripting.de.html DESTINATION ${DATAROOTDIR}/doc/${PROJECT_NAME})
# FAQ
add_custom_command(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/weechat_faq.de.html
COMMAND ${ASCIIDOCTOR_EXECUTABLE} ARGS ${ASCIIDOCTOR_ARGS} -o weechat_faq.de.html ${CMAKE_CURRENT_SOURCE_DIR}/weechat_faq.de.adoc
DEPENDS
${CMAKE_CURRENT_SOURCE_DIR}/../docinfo.html
${CMAKE_CURRENT_SOURCE_DIR}/weechat_faq.de.adoc
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMENT "Building weechat_faq.de.html"
)
add_custom_target(doc-faq-de ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/weechat_faq.de.html)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/weechat_faq.de.html DESTINATION ${DATAROOTDIR}/doc/${PROJECT_NAME})
# quickstart
add_custom_command(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/weechat_quickstart.de.html
COMMAND ${ASCIIDOCTOR_EXECUTABLE} ARGS ${ASCIIDOCTOR_ARGS} -o weechat_quickstart.de.html ${CMAKE_CURRENT_SOURCE_DIR}/weechat_quickstart.de.adoc
DEPENDS
${CMAKE_CURRENT_SOURCE_DIR}/../docinfo.html
${CMAKE_CURRENT_SOURCE_DIR}/weechat_quickstart.de.adoc
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMENT "Building weechat_quickstart.de.html"
)
add_custom_target(doc-quickstart-de ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/weechat_quickstart.de.html)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/weechat_quickstart.de.html DESTINATION ${DATAROOTDIR}/doc/${PROJECT_NAME})
endif()
-111
View File
@@ -1,111 +0,0 @@
#
# Copyright (C) 2003-2023 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2006 Julien Louis <ptitlouis@sysif.net>
#
# 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/>.
#
docdir = $(datadir)/doc/$(PACKAGE)
EXTRA_DIST = CMakeLists.txt \
docinfo.html \
weechat.1.de.adoc \
weechat-headless.1.de.adoc \
weechat_user.de.adoc \
weechat_scripting.de.adoc \
weechat_faq.de.adoc \
weechat_quickstart.de.adoc \
includes/autogen_api_completions.de.adoc \
includes/autogen_api_hdata.de.adoc \
includes/autogen_api_infolists.de.adoc \
includes/autogen_api_infos.de.adoc \
includes/autogen_api_infos_hashtable.de.adoc \
includes/autogen_api_plugins_priority.de.adoc \
includes/autogen_api_url_options.de.adoc \
includes/autogen_user_commands.de.adoc \
includes/autogen_user_default_aliases.de.adoc \
includes/autogen_user_irc_colors.de.adoc \
includes/autogen_user_options.de.adoc \
includes/cmdline_options.de.adoc \
includes/man.de.adoc
if MAN
man_targets = weechat.1 \
weechat-headless.1
man_install = install-man
man_uninstall = uninstall-man
endif
if DOC
doc_targets = weechat_user.de.html \
weechat_scripting.de.html \
weechat_faq.de.html \
weechat_quickstart.de.html
doc_install = install-doc
doc_uninstall = uninstall-doc
endif
all-local: $(man_targets) $(doc_targets)
# man pages
weechat.1: weechat.1.de.adoc includes/cmdline_options.de.adoc includes/man.de.adoc
$(ASCIIDOCTOR) $(ASCIIDOCTOR_ARGS) -a revnumber="$(VERSION)" -b manpage -o weechat.1 $(abs_top_srcdir)/doc/de/weechat.1.de.adoc
weechat-headless.1: weechat-headless.1.de.adoc includes/cmdline_options.de.adoc includes/man.de.adoc
$(ASCIIDOCTOR) $(ASCIIDOCTOR_ARGS) -a revnumber="$(VERSION)" -b manpage -o weechat-headless.1 $(abs_top_srcdir)/doc/de/weechat-headless.1.de.adoc
# user's guide
weechat_user.de.html: weechat_user.de.adoc includes/cmdline_options.de.adoc $(wildcard includes/autogen_user_*.adoc) $(abs_top_srcdir)/doc/docinfo.html
$(ASCIIDOCTOR) $(ASCIIDOCTOR_ARGS) -a revnumber="$(VERSION)" -o weechat_user.de.html $(abs_top_srcdir)/doc/de/weechat_user.de.adoc
# scripting guide
weechat_scripting.de.html: weechat_scripting.de.adoc $(abs_top_srcdir)/doc/docinfo.html
$(ASCIIDOCTOR) $(ASCIIDOCTOR_ARGS) -a revnumber="$(VERSION)" -o weechat_scripting.de.html $(abs_top_srcdir)/doc/de/weechat_scripting.de.adoc
# FAQ
weechat_faq.de.html: weechat_faq.de.adoc $(abs_top_srcdir)/doc/docinfo.html
$(ASCIIDOCTOR) $(ASCIIDOCTOR_ARGS) -a revnumber="$(VERSION)" -o weechat_faq.de.html $(abs_top_srcdir)/doc/de/weechat_faq.de.adoc
# quickstart
weechat_quickstart.de.html: weechat_quickstart.de.adoc $(abs_top_srcdir)/doc/docinfo.html
$(ASCIIDOCTOR) $(ASCIIDOCTOR_ARGS) -a revnumber="$(VERSION)" -o weechat_quickstart.de.html $(abs_top_srcdir)/doc/de/weechat_quickstart.de.adoc
# install man/docs
install-data-hook: $(man_install) $(doc_install)
install-man:
$(mkinstalldirs) $(DESTDIR)$(mandir)/de/man1/
$(INSTALL_DATA) *.1 $(DESTDIR)$(mandir)/de/man1/
install-doc:
$(mkinstalldirs) $(DESTDIR)$(docdir)/
$(INSTALL_DATA) *.html $(DESTDIR)$(docdir)/
# uninstall man/docs
uninstall-hook: $(man_uninstall) $(doc_uninstall)
uninstall-man:
$(RM) $(DESTDIR)$(mandir)/de/man1/weechat.1
$(RM) $(DESTDIR)$(mandir)/de/man1/weechat-headless.1
-rmdir $(DESTDIR)$(mandir)/de/man1
uninstall-doc:
$(RM) $(DESTDIR)$(docdir)/*.de.html
-rmdir $(DESTDIR)$(docdir)
# clean
clean-local:
-$(RM) weechat.1 weechat-headless.1 weechat_*.html
-1
View File
@@ -1 +0,0 @@
../docinfo.html
@@ -1,204 +0,0 @@
//
// This file is auto-generated by script docgen.py.
// DO NOT EDIT BY HAND!
//
// tag::completions[]
[width="100%",cols="^1,^2,7",options="header"]
|===
| Erweiterung | Name | Beschreibung
| alias | alias | Liste der Alias
| alias | alias_value | Wert von Alias
| exec | exec_commands_ids | IDs (Nummern und Namen) von ausgefĂĽhrten Befehlen
| fset | fset_options | Konfigurationsdateien, Sektionen, Optionen und Worte von Optionen
| guile | guile_script | Liste der Skripten
| irc | irc_channel | aktueller IRC-Kanal
| irc | irc_channel_nicks_hosts | Liste der Nicks und Hostnamen des aktuellen Kanals
| irc | irc_channel_topic | Thema des aktuellen IRC-Kanals
| irc | irc_channels | Kanäle auf allen IRC Servern
| irc | irc_channels_autojoin | Kanäle, die automatisch auf dem aktuellen Server betreten werden (Option "autojoin")
| irc | irc_ignores_numbers | Anzahl fĂĽr festgelegte Ignorierungen
| irc | irc_modelist_masks | Modelist Maske für aktuellen IRC Kanal; benötigtes Argument: modelist mode
| irc | irc_modelist_numbers | Modelist Nummern für aktuellen IRC Kanal; benötigtes Argument: modelist mode
| irc | irc_msg_kick | Standardmitteilung wenn man jemanden aus einem Kanal wirftchannel
| irc | irc_msg_part | Standardmitteilung beim Verlassen (/part) eines IRC-Kanals
| irc | irc_notify_nicks | Nicks fĂĽr die eine Benachrichtigung existiert
| irc | irc_privates | Private auf allen IRC Servern
| irc | irc_raw_filters | Filter fĂĽr IRC Rohbuffer
| irc | irc_server | aktueller IRC-Server
| irc | irc_server_channels | Kanäle des derzeitigen IRC-Server
| irc | irc_server_nick | Nick beim derzeitigen IRC-Server
| irc | irc_server_nicks | Nicks für alle Kanäle auf dem aktuellen IRC-Server
| irc | irc_server_privates | Privat auf aktuellem IRC Server
| irc | irc_servers | IRC-Server (interne Namen)
| irc | nick | Liste der Nicks im aktuellen Kanal
| javascript | javascript_script | Liste der Skripten
| lua | lua_script | Liste der Skripten
| perl | perl_script | Liste der Skripten
| php | php_script | Liste der Skripten
| python | python_script | Liste der Skripten
| relay | relay_free_port | erster freier Port fĂĽr Relay-Erweiterung
| relay | relay_protocol_name | alle möglichen Protokoll.Name der Relay-Erweiterung
| relay | relay_relays | Protokoll.Name des aktuellen Relays von der Relay-Erweiterung
| ruby | ruby_script | Liste der Skripten
| script | script_extensions | Liste der Skripterweiterungen
| script | script_files | Dateien die sich in den Skript-Verzeichnissen befinden
| script | script_languages | Liste der Skriptsprache
| script | script_scripts | Liste der Skripten im Repositorium
| script | script_scripts_installed | Auflistung der installierten Skripten (vom Repositorium)
| script | script_tags | Schlagwortliste fĂĽr Skripten im Repositorium
| spell | spell_dicts | Auflistung der installierten Wörterbücher
| spell | spell_langs | Liste aller Sprachen die unterstĂĽtzt werden
| tcl | tcl_script | Liste der Skripten
| trigger | trigger_add_arguments | Argumente fĂĽr den Befehl, der einen Trigger hinzufĂĽgt: Name des Triggers, Hooks, Hook-Argumente, Hook-Bedingungen, Hook-Regex, Hook-Befehl, Hook-RĂĽckgabecode, nachfolgende Aktionen
| trigger | trigger_hook_arguments | Standardargumente fĂĽr einen Hook
| trigger | trigger_hook_command | Standardbefehl fĂĽr einen Hook
| trigger | trigger_hook_conditions | Standardbedingungen fĂĽr einen Hook
| trigger | trigger_hook_rc | StandardrĂĽckgabewerte fĂĽr einen Hook-Callback
| trigger | trigger_hook_regex | standardmäßiger regulärer Ausdruck für einen Hook
| trigger | trigger_hooks | Hooks fĂĽr Trigger
| trigger | trigger_hooks_filter | Hooks fĂĽr Trigger (definiert den Filter fĂĽr den Monitor-Buffer)
| trigger | trigger_names | trigger
| trigger | trigger_names_default | voreingestellte Trigger
| trigger | trigger_option_value | Werte fĂĽr Trigger-Einstellung
| trigger | trigger_options | Einstellungen fĂĽr Trigger
| trigger | trigger_post_action | nachfolgende Aktion fĂĽr Trigger
| weechat | bars_names | Namen der Infobars
| weechat | bars_options | Einstellungen fĂĽr Infobars
| weechat | buffer_local_variable_value | Wert einer lokalen Buffervariablen
| weechat | buffer_local_variables | lokale Buffervariablen
| weechat | buffer_properties_get | Eigenschaften die für den Buffer gelesen werden können
| weechat | buffer_properties_set | Eigenschaften die für den Buffer gesetzt werden können
| weechat | buffers_names | Auflistung der vorhandenen Buffer
| weechat | buffers_numbers | Anzahl der Buffer
| weechat | buffers_plugins_names | Liste der Buffer (inklusive der Erweiterungen)
| weechat | colors | Farbnamen
| weechat | commands | Befehle (weechat und Erweiterungen); optionales Argument: Präfix welcher vor den Befehlen hinzugefügt wird
| weechat | config_files | Konfigurationsdateien
| weechat | config_option_values | Werte fĂĽr eine Konfigurationsoption
| weechat | config_options | Konfigurationsoptionen
| weechat | cursor_areas | Bereiche in denen der Cursor frei bewegt werden kann ("chat" oder Name einer Bar)
| weechat | custom_bar_item_add_arguments | Argumente fĂĽr den Befehl, der ein benutzerdefiniertes Bar-Item hinzufĂĽgt: Elementname, Bedingungen,Inhalt
| weechat | custom_bar_item_conditions | Bedingungen fĂĽr benutzerdefinierte Bar-Items
| weechat | custom_bar_item_contents | Inhalte fĂĽr benutzerdefinierte Bar-Items
| weechat | custom_bar_items_names | Namen der benutzerdefinierten Bar-Items
| weechat | env_value | Wert einer Umgebungsvariable
| weechat | env_vars | Umgebungsvariablen
| weechat | filename | Dateiname; optionales Argument: default path (Hinweis: Inhalt wird evaluiert, siehe /help eval)
| weechat | filters_names | Liste der Filter
| weechat | infolists | Namen der gehookten Infolisten
| weechat | infos | Namen der gehookten Infos
| weechat | keys_codes | Tastaturcodes
| weechat | keys_codes_for_reset | Tastenbelegungen die zurückgesetzt werden können (hinzugefügte/verändert/gelöschte Tastenbelegungen)
| weechat | keys_contexts | Tastaturkontext
| weechat | layouts_names | Namen der Layouts
| weechat | nicks | Nicks in Benutzerliste fĂĽr aktuellen Buffer
| weechat | palette_colors | Farbpalette
| weechat | plugins_commands | Befehle definiert durch Erweiterungen; optionales Argument: Präfix welcher vor den Befehlen hinzugefügt wird
| weechat | plugins_installed | Namen der installierten Erweiterungen
| weechat | plugins_names | Liste der Erweiterungen
| weechat | proxies_names | Namen aller Proxys
| weechat | proxies_options | Einstellungen fĂĽr Proxys
| weechat | secured_data | Namen der geschĂĽtzten Daten (Datei sec.conf, section data)
| weechat | weechat_commands | weechat Befehle; optionales Argument: Präfix welcher vor den Befehlen hinzugefügt wird
| weechat | windows_numbers | Nummern der Fenster
| xfer | nick | Nicks vom DCC Chat
|===
// end::completions[]
File diff suppressed because it is too large Load Diff
@@ -1,94 +0,0 @@
//
// This file is auto-generated by script docgen.py.
// DO NOT EDIT BY HAND!
//
// tag::infolists[]
[width="100%",cols="^1,^2,5,5,5",options="header"]
|===
| Erweiterung | Name | Beschreibung | Pointer | Argumente
| alias | alias | Liste der Alias | Alias Pointer (optional) | Name des Alias (Platzhalter "*" kann verwendet werden) (optional)
| alias | alias_default | Liste der standardmäßigen Aliase | - | -
| buflist | buflist | Liste der Buffer in buflist Bar-Item | - | buflist Bar-Item Name (optional)
| fset | fset_option | Auflistung der fset Optionen | fset Option-Pointer (optional) | Name einer Einstellung (Platzhalter "*" kann verwendet werden) (optional)
| guile | guile_script | Liste der Skripten | Skript Pointer (optional) | Name des Skriptes (Platzhalter "*" kann verwendet werden) (optional)
| irc | irc_channel | Liste der Kanäle eines IRC-Servers | Pointer vom Kanal (optional) | Server,Kanal (Kanal ist optional)
| irc | irc_color_weechat | Zuordnung der IRC Farbkodierung und der WeeChat Farbnamen | - | -
| irc | irc_ignore | Liste von ignorierten IRCs | Ignore Pointer (optional) | -
| irc | irc_modelist | Liste der Kanalmoduslisten fĂĽr einen IRC-Kanal | Modelist Pointer (optional) | Server,Channel,Type (Type ist optional)
| irc | irc_modelist_item | Liste der Items in der Kanal-Modeliste | Modelist Item Pointer (optional) | Server,Channel,Type,Nummer (Nummer ist optional)
| irc | irc_nick | Liste der Nicks im IRC-Kanal | Nick Pointer (optional) | server,channel,nick (nick ist optional)
| irc | irc_notify | Liste mit Benachrichtigungen | Benachrichtigungspointer (optional) | Servername (Platzhalter "*" kann verwendet werden) (optional)
| irc | irc_server | Liste der IRC-Server | Server Pointer (optional) | Servername (Platzhalter "*" kann verwendet werden) (optional)
| javascript | javascript_script | Liste der Skripten | Skript Pointer (optional) | Name des Skriptes (Platzhalter "*" kann verwendet werden) (optional)
| logger | logger_buffer | Auflistung der protokollierten Buffer | Logger-Pointer (optional) | -
| lua | lua_script | Liste der Skripten | Skript Pointer (optional) | Name des Skriptes (Platzhalter "*" kann verwendet werden) (optional)
| perl | perl_script | Liste der Skripten | Skript Pointer (optional) | Name des Skriptes (Platzhalter "*" kann verwendet werden) (optional)
| php | php_script | Liste der Skripten | Skript Pointer (optional) | Name des Skriptes (Platzhalter "*" kann verwendet werden) (optional)
| python | python_script | Liste der Skripten | Skript Pointer (optional) | Name des Skriptes (Platzhalter "*" kann verwendet werden) (optional)
| relay | relay | Liste der Relay-Clients | Relay Pointer (optional) | -
| ruby | ruby_script | Liste der Skripten | Skript Pointer (optional) | Name des Skriptes (Platzhalter "*" kann verwendet werden) (optional)
| script | script_script | Liste der Skripten | Skript Pointer (optional) | Name des Skriptes, mit Dateierweiterung (Platzhalter "*" kann verwendet werden) (optional)
| tcl | tcl_script | Liste der Skripten | Skript Pointer (optional) | Name des Skriptes (Platzhalter "*" kann verwendet werden) (optional)
| weechat | bar | Auflistung der Bars | Bar Pointer (optional) | Name der Bar (Platzhalter "*" kann verwendet werden) (optional)
| weechat | bar_item | Auflistung der Bar-Items | Bar Item Pointer (optional) | Name des Bar-Item (Platzhalter "*" kann verwendet werden) (optional)
| weechat | bar_window | Auflistung der Bar-Fenster | Bar-Fenster Pointer (optional) | -
| weechat | buffer | Auflistung der Buffer | Buffer Pointer (optional) | Name des Buffers (Platzhalter "*" kann verwendet werden) (optional)
| weechat | buffer_lines | Zeilen des Buffers | Buffer Pointer | -
| weechat | filter | Auflistung der Filter | - | Name des Filters (Platzhalter "*" kann verwendet werden) (optional)
| weechat | history | Verlaufspeicher der Befehle | Buffer Pointer (falls nicht gesetzt, wird der globale Verlauf zurĂĽckgegeben) (optional) | -
| weechat | hook | Auflistung der Hooks | Hook-Pointer (optional) | type,arguments (type ist ein command/timer/.., arguments dient dazu nur einige hooks abzufragen (Platzhalter "*" kann verwendet werden), beide Einstellungen sind optional)
| weechat | hotlist | Liste der Buffer in Hotlist | - | -
| weechat | key | Auflistung der Tastenzuweisungen | - | Kontext ("default", "search", "cursor" oder "mouse") (optional)
| weechat | layout | Auflistung der Layouts | - | -
| weechat | nicklist | Nicks in Benutzerliste fĂĽr einen Buffer | Buffer Pointer | nick_xxx oder group_xxx um nur den Nick/Group xxx abzufragen (optional)
| weechat | option | Auflistung der Einstellungen | - | Name einer Einstellung (Platzhalter "*" kann verwendet werden) (optional)
| weechat | plugin | Auflistung der Erweiterungen | Pointer der Erweiterung (optional) | Name einer Erweiterung (Platzhalter "*" kann verwendet werden) (optional)
| weechat | proxy | Liste der Proxys | Proxy Pointer (optional) | Name des Proxy (Platzhalter "*" kann verwendet werden) (optional)
| weechat | url_options | Einstellungen fĂĽr URL | - | -
| weechat | window | Auflistung der Fenster | Fenster Pointer (optional) | "current" fĂĽr aktuelles Fenster oder die Nummer eines Fensters (optional)
| xfer | xfer | Transferliste | Transferpointer (optional) | -
|===
// end::infolists[]
-164
View File
@@ -1,164 +0,0 @@
//
// This file is auto-generated by script docgen.py.
// DO NOT EDIT BY HAND!
//
// tag::infos[]
[width="100%",cols="^1,^2,6,6",options="header"]
|===
| Erweiterung | Name | Beschreibung | Argumente
| fifo | fifo_filename | Name der FIFO-Pipe | -
| guile | guile_eval | Evaluierung des Quelltextes | Quelltext welcher ausgefĂĽhrt werden soll
| guile | guile_interpreter | Name des verwendeten Interpreters | -
| guile | guile_version | Version des verwendeten Interpreters | -
| irc | irc_buffer | holt Buffer Pointer fĂĽr einen IRC Server/Kanal/Nick | server,channel,nick (Kanal und Nicks sind optional)
| irc | irc_is_channel | 1, falls die Zeichenkette ein gĂĽltiger IRC-Kanalname fĂĽr den Server ist | Server,Kanal (Server ist optional)
| irc | irc_is_message_ignored | 1, wenn der Nick ignoriert wird (Meldung wird nicht angezeigt) | Server,Nachricht (Nachricht ist die unverarbeitete IRC Nachricht)
| irc | irc_is_nick | 1, falls die Zeichenkette ein gĂĽltiger IRC Nickname ist | Server,Nickname (Server ist optional)
| irc | irc_nick | aktuellen Nicknamen fĂĽr den Server erhalten | Servername
| irc | irc_nick_color | erhalte nick color code (*veraltet* ab Version 1.5, wird ersetzt durch "nick_color") | Nickname
| irc | irc_nick_color_name | erhalte nick color name (*veraltet* ab Version 1.5, wird ersetzt durch "nick_color_name") | Nickname
| irc | irc_nick_from_host | Nicknamen des IRC-Hosts erhalten | IRC host (in der Form `:nick!name@server.com`)
| irc | irc_server_isupport | 1 falls der Server die Funktion unterstĂĽtzen sollte (durch IRC Message 005) | Server,Funktion
| irc | irc_server_isupport_value | Wert der Funktion, sofern es vom Server unterstĂĽtzt wird (durch IRC Message 005) | Server,Funktion
| javascript | javascript_eval | Evaluierung des Quelltextes | Quelltext welcher ausgefĂĽhrt werden soll
| javascript | javascript_interpreter | Name des verwendeten Interpreters | -
| javascript | javascript_version | Version des verwendeten Interpreters | -
| lua | lua_eval | Evaluierung des Quelltextes | Quelltext welcher ausgefĂĽhrt werden soll
| lua | lua_interpreter | Name des verwendeten Interpreters | -
| lua | lua_version | Version des verwendeten Interpreters | -
| perl | perl_eval | Evaluierung des Quelltextes | Quelltext welcher ausgefĂĽhrt werden soll
| perl | perl_interpreter | Name des verwendeten Interpreters | -
| perl | perl_version | Version des verwendeten Interpreters | -
| php | php_eval | Evaluierung des Quelltextes | Quelltext welcher ausgefĂĽhrt werden soll
| php | php_interpreter | Name des verwendeten Interpreters | -
| php | php_version | Version des verwendeten Interpreters | -
| python | python_eval | Evaluierung des Quelltextes | Quelltext welcher ausgefĂĽhrt werden soll
| python | python_interpreter | Name des verwendeten Interpreters | -
| python | python_version | Version des verwendeten Interpreters | -
| relay | relay_client_count | Anzahl an Clients fĂĽr Relay | Protokoll,Status (beide sind Optional, bei beiden Argumenten bedeutet "*", alle; Protokolle: irc, weechat; Status: connecting, waiting_auth, connected, auth_failed, disconnected)
| ruby | ruby_eval | Evaluierung des Quelltextes | Quelltext welcher ausgefĂĽhrt werden soll
| ruby | ruby_interpreter | Name des verwendeten Interpreters | -
| ruby | ruby_version | Version des verwendeten Interpreters | -
| spell | spell_dict | durch Kommata getrennte Liste von Wörterbüchern, die in diesem Buffer genutzt werden sollen | Buffer-Pointer ("0x12345678") oder der vollständige Buffername ("irc.libera.#weechat")
| tcl | tcl_eval | Evaluierung des Quelltextes | Quelltext welcher ausgefĂĽhrt werden soll
| tcl | tcl_interpreter | Name des verwendeten Interpreters | -
| tcl | tcl_version | Version des verwendeten Interpreters | -
| weechat | auto_connect | 1, falls die automatische Verbindung zu Servern aktiviert ist, 0, wenn sie vom Benutzer deaktiviert wurde (Option "-a" oder "--no-connect") | -
| weechat | charset_internal | Interner WeeChat Zeichensatz | -
| weechat | charset_terminal | Terminal Zeichensatz | -
| weechat | color_ansi_regex | Erweiterte reguläre POSIX Ausdrücke um ANSI Escapesequenz zu suchen | -
| weechat | color_rgb2term | RGB Farbe wurde umgewandelt in Terminalfarbe (0-255) | RGB,limit (Obergrenze ist optional und ist Standardmäßig 256)
| weechat | color_term2rgb | Terminalfarbe (0-255) wurde umgewandelt in RGB Farbe | Farben (Terminalfarben: 0-255)
| weechat | cursor_mode | 1, falls Cursor-Modus aktiviert ist | -
| weechat | date | Datum/Zeit der WeeChat Kompilierung | -
| weechat | dir_separator | Trennzeichen fĂĽr Verzeichnis | -
| weechat | filters_enabled | 1, falls Filter aktiviert sind | -
| weechat | inactivity | Inaktivität der Tastatur (Sekunden) | -
| weechat | locale | Spracheinstellung die fĂĽr die ĂĽbersetzten Nachrichten verwendet werden soll | -
| weechat | nick_color | zeigt Farbecode des Nick | Nickname;Farben (Farben ist eine optionale Kommata getrennte Liste von Farben die genutzt werden sollen; wenn eine Hintergrundfarbe genutzt werden muss das Format wie folgt aussehen Text:Hintergrund; sind die Farben schon vorhanden, werden die WeeChat Optionen fĂĽr Nickfarben und erzwungene Nickfarben ignoriert)
| weechat | nick_color_name | zeigt Farbnamen des Nick | Nickname;Farben (Farben ist eine optionale Kommata getrennte Liste von Farben die genutzt werden sollen; wenn eine Hintergrundfarbe genutzt werden muss das Format wie folgt aussehen Text:Hintergrund; sind die Farben schon vorhanden, werden die WeeChat Optionen fĂĽr Nickfarben und erzwungene Nickfarben ignoriert)
| weechat | pid | WeeChat PID (Prozess-ID) | -
| weechat | term_color_pairs | Anzahl der Farbpaare die durch das Terminal unterstĂĽtzt werden | -
| weechat | term_colors | Anzahl der Farben die durch das Terminal unterstĂĽtzt werden | -
| weechat | term_height | Höhe des Terminals | -
| weechat | term_width | Breite des Terminals | -
| weechat | totp_generate | generiert ein Time-based One-Time Passwort (TOTP) | geheime Zeichenkette (in base32), Zeitstempel (optional, standardmäßig aktuelle Zeit), Anzahl an Zeichen (optional, zwischen 4 und 10, standardmäßig 6)
| weechat | totp_validate | validiert ein Time-based One-Time Passwort (TOTP): 1 falls TOTP korrekt ist, ansonsten 0 | geheim (in base32), einmaliges Passwort, Zeitstempel (optional, standardmäßig aktuelle Zeit), Anzahl der zu testenden Passwörtern vorher/nachher (optional, standardmäßig 0)
| weechat | uptime | Laufzeit von WeeChat (Format: "days:hh:mm:ss") | "days" (Anzahl der Tage) oder "seconds" (Anzahl der Sekunden) (optional)
| weechat | uptime_current | WeeChat-Betriebszeit fĂĽr den aktuellen Prozess (Upgrades mit /upgrade Befehlwerden ignoriert) (Format: "Tage:hh:mm:ss") | "days" (Anzahl der Tage) oder "seconds" (Anzahl der Sekunden) (optional)
| weechat | version | WeeChat-Version | -
| weechat | version_git | WeeChat Git Version (Ausgabe des Befehls "git describe", ausschlieĂźlich fĂĽr eine Entwicklerversion. Eine stabile Version gibt keine Information zurĂĽck) | -
| weechat | version_number | WeeChat-Version (als Zahl) | -
| weechat | weechat_cache_dir | WeeChat Cache-Verzeichnis | -
| weechat | weechat_config_dir | WeeChat Konfigurationsverzeichnis | -
| weechat | weechat_daemon | 1, falls WeeChat im Daemon-Modus ausgeführt wird (ohne Oberfläche, im Hintergrund) | -
| weechat | weechat_data_dir | WeeChat-Datenverzeichnis | -
| weechat | weechat_dir | WeeChat-Verzeichnis (*veraltet* seit Version 3.2, ersetzt durch "weechat_config_dir", "weechat_data_dir", "weechat_cache_dir" und "weechat_runtime_dir") | -
| weechat | weechat_headless | 1, falls WeeChat im Hintergrundmodus ausgefĂĽhrt wird | -
| weechat | weechat_libdir | WeeChat "lib" Verzeichnis | -
| weechat | weechat_localedir | "lokales" Verzeichnis von WeeChat | -
| weechat | weechat_runtime_dir | WeeChat-Laufzeitverzeichnis | -
| weechat | weechat_sharedir | WeeChat "share" Verzeichnis | -
| weechat | weechat_site | WeeChat Seite | -
| weechat | weechat_site_download | Download-Seite von WeeChat | -
| weechat | weechat_upgrading | 1 falls WeeChat ein Upgrade durchfĂĽhrt (Befehl `/upgrade`) | -
|===
// end::infos[]
@@ -1,20 +0,0 @@
//
// This file is auto-generated by script docgen.py.
// DO NOT EDIT BY HAND!
//
// tag::infos_hashtable[]
[width="100%",cols="^1,^2,6,6,8",options="header"]
|===
| Erweiterung | Name | Beschreibung | Hashtable (Eingabe) | Hashtable (Ausgabe)
| irc | irc_message_parse | Parse eine IRC Nachricht | "message": IRC Nachricht, "server": Servername (optional) | "tags": Tags, "tag_xxx": Wert des Tags "xxx" ohne Escapezeichen (ein SchlĂĽssel pro Tag), "message_without_tags": Nachrichten ohne Tags, "nick": Nick, "user": Benutzer, "host": Host, "command": Befehl, "channel": Kanal, "arguments": Argumente (schlieĂźt Kanal ein), "text": Text (zum Beispiel eine Nachricht von einem User), "param1" ... "paramN": geparste Befehlsparameter, "num_params": Anzahl geparste Befehlsparameter, "pos_command": Index der "command" Nachricht ("-1" falls "command" nicht gefunden wird), "pos_arguments": Index der "arguments" Nachricht ("-1" falls "arguments" nicht gefunden wird), "pos_channel": Index der "channel" Nachricht ("-1" falls "channel" nicht gefunden wird),"pos_text": Index fĂĽr "text" Nachricht ("-1" falls "text" nicht gefunden wird)
| irc | irc_message_split | trennt eine IRC Nachricht (standardmäßig in 512 Bytes große Nachrichten) | "message": IRC Nachricht, "server": Servername (optional) | "msg1" ... "msgN": Nachrichten die versendet werden sollen (ohne abschließendes "\r\n"), "args1" ... "argsN": Argumente für Nachrichten, "count": Anzahl der Nachrichten
| weechat | focus_info | Fokusinformationen abrufen | "x": x-Koordinate (Zeichenfolge mit Ganzzahl >= 0), "y": y-Koordinate (Zeichenfolge mit Ganzzahl >= 0) | siehe Funktion "hook_focus" in API Dokumentation
| weechat | secured_data | schutzwĂĽrdige Daten | - | schutzwĂĽrdige Daten: Namen und Werte (Vorsicht: Dies sind vertrauliche Daten: drucken oder protokollieren Sie diese NICHT)
|===
// end::infos_hashtable[]
@@ -1,29 +0,0 @@
//
// This file is auto-generated by script docgen.py.
// DO NOT EDIT BY HAND!
//
// tag::plugins_priority[]
. charset (16000)
. logger (15000)
. exec (14000)
. trigger (13000)
. spell (12000)
. alias (11000)
. buflist (10000)
. fifo (9000)
. typing (8000)
. xfer (7000)
. irc (6000)
. relay (5000)
. guile (4070)
. javascript (4060)
. lua (4050)
. perl (4040)
. php (4030)
. python (4020)
. ruby (4010)
. tcl (4000)
. script (3000)
. fset (2000)
// end::plugins_priority[]
@@ -1,462 +0,0 @@
//
// This file is auto-generated by script docgen.py.
// DO NOT EDIT BY HAND!
//
// tag::url_options[]
[width="100%",cols="2,^1,7",options="header"]
|===
| Einstellung | Type ^(1)^ | Konstanten ^(2)^
| verbose | long |
| header | long |
| noprogress | long |
| nosignal | long |
| wildcardmatch | long |
| failonerror | long |
| keep_sending_on_error | long |
| proxy | string |
| proxyport | long |
| port | long |
| pre_proxy | string |
| httpproxytunnel | long |
| interface | string |
| dns_cache_timeout | long |
| proxytype | long | http, socks4, socks5, socks4a, socks5_hostname, http_1_0, https
| buffersize | long |
| tcp_nodelay | long |
| localport | long |
| localportrange | long |
| address_scope | long |
| noproxy | string |
| socks5_gssapi_nec | long |
| tcp_keepalive | long |
| tcp_keepidle | long |
| tcp_keepintvl | long |
| unix_socket_path | string |
| abstract_unix_socket | string |
| path_as_is | long |
| proxy_service_name | string |
| service_name | string |
| default_protocol | string |
| tcp_fastopen | long |
| socks5_auth | long |
| haproxyprotocol | long |
| doh_url | string |
| protocols_str | string |
| redir_protocols_str | string |
| netrc | long | ignored, optional, required
| userpwd | string |
| proxyuserpwd | string |
| httpauth | mask | none, basic, digest, ntlm, any, anysafe, digest_ie, only, ntlm_wb, negotiate, gssapi, bearer, aws_sigv4
| proxyauth | mask | none, basic, digest, ntlm, any, anysafe, digest_ie, only, ntlm_wb, negotiate, gssapi, bearer, aws_sigv4
| netrc_file | string |
| username | string |
| password | string |
| proxyusername | string |
| proxypassword | string |
| tlsauth_type | mask | none, srp
| tlsauth_username | string |
| tlsauth_password | string |
| sasl_authzid | string |
| sasl_ir | long |
| xoauth2_bearer | string |
| login_options | string |
| disallow_username_in_url | long |
| autoreferer | long |
| followlocation | long |
| post | long |
| postfields | string |
| referer | string |
| useragent | string |
| httpheader | list |
| cookie | string |
| cookiefile | string |
| postfieldsize | long |
| maxredirs | long |
| httpget | long |
| cookiejar | string |
| http_version | long | none, 1_0, 1_1, 2_0, 2, 2tls, 2_prior_knowledge, 3
| cookiesession | long |
| http200aliases | list |
| unrestricted_auth | long |
| postfieldsize_large | long long |
| cookielist | string |
| ignore_content_length | long |
| accept_encoding | string |
| transfer_encoding | long |
| http_content_decoding | long |
| http_transfer_decoding | long |
| copypostfields | string |
| postredir | mask | post_301, post_302
| expect_100_timeout_ms | long |
| headeropt | mask | unified, separate
| proxyheader | list |
| pipewait | long |
| stream_weight | long |
| request_target | string |
| http09_allowed | long |
| hsts | string |
| hsts_ctrl | mask | enable, readonlyfile
| mail_from | string |
| mail_rcpt | list |
| mail_auth | string |
| mail_rcpt_alllowfails | long |
| tftp_blksize | long |
| tftp_no_options | long |
| ftpport | string |
| quote | list |
| postquote | list |
| ftp_use_epsv | long |
| prequote | list |
| ftp_use_eprt | long |
| ftp_create_missing_dirs | long |
| ftpsslauth | long | default, ssl, tls
| ftp_account | string |
| ftp_skip_pasv_ip | long |
| ftp_filemethod | long | multicwd, nocwd, singlecwd
| ftp_alternative_to_user | string |
| ftp_ssl_ccc | long | ccc_none, ccc_active, ccc_passive
| dirlistonly | long |
| append | long |
| ftp_use_pret | long |
| rtsp_request | long | options, describe, announce, setup, play, pause, teardown, get_parameter, set_parameter, record, receive
| rtsp_session_id | string |
| rtsp_stream_uri | string |
| rtsp_transport | string |
| rtsp_client_cseq | long |
| rtsp_server_cseq | long |
| aws_sigv4 | string |
| crlf | long |
| range | string |
| resume_from | long |
| customrequest | string |
| nobody | long |
| infilesize | long |
| upload | long |
| timecondition | long | none, ifmodsince, ifunmodsince, lastmod
| timevalue | long |
| transfertext | long |
| filetime | long |
| maxfilesize | long |
| proxy_transfer_mode | long |
| resume_from_large | long long |
| infilesize_large | long long |
| maxfilesize_large | long long |
| timevalue_large | long long |
| upload_buffersize | long |
| mime_options | mask | formescape
| timeout | long |
| low_speed_limit | long |
| low_speed_time | long |
| fresh_connect | long |
| forbid_reuse | long |
| connecttimeout | long |
| ipresolve | long | whatever, v4, v6
| connect_only | long |
| max_send_speed_large | long long |
| max_recv_speed_large | long long |
| timeout_ms | long |
| connecttimeout_ms | long |
| maxage_conn | long |
| maxconnects | long |
| use_ssl | long | none, try, control, all
| resolve | list |
| dns_servers | string |
| accepttimeout_ms | long |
| dns_interface | string |
| dns_local_ip4 | string |
| dns_local_ip6 | string |
| connect_to | list |
| happy_eyeballs_timeout_ms | long |
| dns_shuffle_addresses | long |
| upkeep_interval_ms | long |
| maxlifetime_conn | long |
| sslcert | string |
| sslversion | long | default, tlsv1, sslv2, sslv3, tlsv1_0, tlsv1_1, tlsv1_2, tlsv1_3, max_default, max_none, max_tlsv1_0, max_tlsv1_1, max_tlsv1_2, max_tlsv1_3
| ssl_verifypeer | long |
| cainfo | string |
| ssl_verifyhost | long |
| ssl_cipher_list | string |
| sslcerttype | string |
| sslkey | string |
| sslkeytype | string |
| sslengine | string |
| sslengine_default | long |
| capath | string |
| ssl_sessionid_cache | long |
| krblevel | string |
| keypasswd | string |
| issuercert | string |
| crlfile | string |
| certinfo | long |
| gssapi_delegation | long | none, policy_flag, flag
| ssl_options | long | allow_beast, no_revoke, no_backends, ok, too_late, unknown_backend, no_partialchain, revoke_best_effort, native_ca, auto_client_cert
| ssl_enable_alpn | long |
| pinnedpublickey | string |
| ssl_verifystatus | long |
| ssl_falsestart | long |
| proxy_cainfo | string |
| proxy_capath | string |
| proxy_crlfile | string |
| proxy_keypasswd | string |
| proxy_pinnedpublickey | string |
| proxy_sslcert | string |
| proxy_sslcerttype | string |
| proxy_sslkey | string |
| proxy_sslkeytype | string |
| proxy_sslversion | long | default, tlsv1, sslv2, sslv3, tlsv1_0, tlsv1_1, tlsv1_2, tlsv1_3, max_default, max_none, max_tlsv1_0, max_tlsv1_1, max_tlsv1_2, max_tlsv1_3
| proxy_ssl_cipher_list | list |
| proxy_ssl_options | long | allow_beast, no_revoke, no_backends, ok, too_late, unknown_backend, no_partialchain, revoke_best_effort, native_ca, auto_client_cert
| proxy_ssl_verifyhost | long |
| proxy_ssl_verifypeer | long |
| proxy_tlsauth_password | string |
| proxy_tlsauth_type | string |
| proxy_tlsauth_username | string |
| tls13_ciphers | list |
| proxy_tls13_ciphers | list |
| proxy_issuercert | string |
| ssl_ec_curves | string |
| doh_ssl_verifyhost | long |
| doh_ssl_verifypeer | long |
| doh_ssl_verifystatus | long |
| ca_cache_timeout | long |
| ssh_auth_types | mask | none, policy_flag, flag
| ssh_public_keyfile | string |
| ssh_private_keyfile | string |
| ssh_host_public_key_md5 | string |
| ssh_knownhosts | string |
| ssh_compression | long |
| ssh_host_public_key_sha256 | string |
| telnetoptions | list |
| ws_options | mask | binary, close, cont, offset, ping, pong, raw_mode, text
| new_file_perms | long |
| new_directory_perms | long |
| quick_exit | long |
|===
// end::url_options[]
File diff suppressed because it is too large Load Diff
@@ -1,44 +0,0 @@
//
// This file is auto-generated by script docgen.py.
// DO NOT EDIT BY HAND!
//
// tag::default_aliases[]
[width="100%",cols="2m,5m,5",options="header"]
|===
| Alias | Befehl | Vervollständigung
| /AAWAY | /allserv /away | -
| /ANICK | /allserv /nick | -
| /BEEP | /print -beep | -
| /BYE | /quit | -
| /C | /buffer clear | -
| /CL | /buffer clear | -
| /CLOSE | /buffer close | -
| /CHAT | /dcc chat | -
| /EXIT | /quit | -
| /IG | /ignore | -
| /J | /join | -
| /K | /kick | -
| /KB | /kickban | -
| /LEAVE | /part | -
| /M | /msg | -
| /MUB | /unban * | -
| /MSGBUF | /command -buffer $1 * /input send $2- | %(buffers_plugins_names)
| /N | /names | -
| /Q | /query | -
| /REDRAW | /window refresh | -
| /SAY | /msg * | -
| /SIGNOFF | /quit | -
| /T | /topic | -
| /UB | /unban | -
| /UMODE | /mode $nick | -
| /V | /command core version | -
| /W | /who | -
| /WC | /window close | -
| /WI | /whois | -
| /WII | /whois $1 $1 | -
| /WM | /window merge | -
| /WW | /whowas | -
|===
// end::default_aliases[]
@@ -1,112 +0,0 @@
//
// This file is auto-generated by script docgen.py.
// DO NOT EDIT BY HAND!
//
// tag::irc_colors[]
[width="50%",cols="^2m,3",options="header"]
|===
| IRC-Farbe | WeeChat-Farbe
| 00 | white
| 01 | black
| 02 | blue
| 03 | green
| 04 | lightred
| 05 | red
| 06 | magenta
| 07 | brown
| 08 | yellow
| 09 | lightgreen
| 10 | cyan
| 11 | lightcyan
| 12 | lightblue
| 13 | lightmagenta
| 14 | darkgray
| 15 | gray
| 16 | 52
| 17 | 94
| 18 | 100
| 19 | 58
| 20 | 22
| 21 | 29
| 22 | 23
| 23 | 24
| 24 | 17
| 25 | 54
| 26 | 53
| 27 | 89
| 28 | 88
| 29 | 130
| 30 | 142
| 31 | 64
| 32 | 28
| 33 | 35
| 34 | 30
| 35 | 25
| 36 | 18
| 37 | 91
| 38 | 90
| 39 | 125
| 40 | 124
| 41 | 166
| 42 | 184
| 43 | 106
| 44 | 34
| 45 | 49
| 46 | 37
| 47 | 33
| 48 | 19
| 49 | 129
| 50 | 127
| 51 | 161
| 52 | 196
| 53 | 208
| 54 | 226
| 55 | 154
| 56 | 46
| 57 | 86
| 58 | 51
| 59 | 75
| 60 | 21
| 61 | 171
| 62 | 201
| 63 | 198
| 64 | 203
| 65 | 215
| 66 | 227
| 67 | 191
| 68 | 83
| 69 | 122
| 70 | 87
| 71 | 111
| 72 | 63
| 73 | 177
| 74 | 207
| 75 | 205
| 76 | 217
| 77 | 223
| 78 | 229
| 79 | 193
| 80 | 157
| 81 | 158
| 82 | 159
| 83 | 153
| 84 | 147
| 85 | 183
| 86 | 219
| 87 | 212
| 88 | 16
| 89 | 233
| 90 | 235
| 91 | 237
| 92 | 239
| 93 | 241
| 94 | 244
| 95 | 247
| 96 | 250
| 97 | 254
| 98 | 231
| 99 | default
|===
// end::irc_colors[]
File diff suppressed because it is too large Load Diff
+108 -108
View File
@@ -2,22 +2,13 @@
:author: Sébastien Helleu
:email: flashcode@flashtux.org
:lang: de
:toc: left
:toc-title: Inhaltsverzeichnis
:toclevels: 2
:sectnums:
:sectnumlevels: 2
:docinfo1:
Ăśbersetzer:
* Juergen Descher <jhdl@gmx.net>, 2009
* Nils Görs <weechatter@arcor.de>, 2009-2022
toc::[]
[[general]]
== Allgemein
@@ -36,7 +27,7 @@ Aber diese Bedeutung trifft nicht auf WeeChat zu!)
WeeChat ist sehr speicherschonend und besticht durch innovative Funktionen.
Weitere Infomationen ĂĽber Weechat
https://weechat.org/about/features/[features page ^↗^,window=_blank].
https://weechat.org/about/features/[features page ^↗^^].
[[compilation_install]]
== Kompilierung / Installation
@@ -45,29 +36,22 @@ https://weechat.org/about/features/[features page ^↗^,window=_blank].
=== Ich habe gehört es gibt verschiedene GUIs für WeeChat. Wie kann ich diese kompilieren bzw. nutzen?
Einige Remote-GUIs sind verfĂĽgbar, siehe
https://weechat.org/about/interfaces/[remote interfaces page ^↗^,window=_blank].
https://weechat.org/about/interfaces/[remote interfaces page ^↗^^].
[[compile_git]]
=== Ich kann WeeChat nach Cloning des git Repository nicht kompilieren - weshalb?
Es wird empfohlen link:weechat_user.de.html#compile_with_cmake[CMake ^↗^,window=_blank] zum
kompilieren von WeeChat zu nutzen.
WeeChat muss mit CMake kompiliert werden.
Falls Du WeeChat mit Hilfe der
link:weechat_user.de.html#compile_with_autotools[autotools ^↗^,window=_blank] kompilieren solltest
(dich also nicht fĂĽr CMake entscheidest), stelle sicher, dass Du die neueste
Version von autoconf und automake besitzt.
Bitte folgen Sie link:weechat_user.en.html#source_package[build instructions ^↗^^]
und stellen Sie sicher, dass alle erforderlichen Abhängigkeiten installiert sind.
Die zweite Möglichkeit besteht darin, das "Entwickler-Paket" zu installieren, denn dies
besitzt weniger Abhängigkeiten. Das Paket wird quasi täglich aus dem git Repository erstellt.
Beachte, dass dieses Paket nicht immer exakt mit dem git Repository ĂĽbereinstimmen muss
und daher auch weniger brauchbar sein kann. Im Gegensatz zu der Möglichkeit, dass man selbst
das Repository klont und daraus Updates installiert.
Wenn Sie weiterhin Probleme haben, melden Sie diese bitte den Entwicklern.
[[compile_macos]]
=== Wie installiere ich WeeChat auf macOS?
Wir empfehlen, dass zur Installation https://brew.sh/[Homebrew ^↗^,window=_blank] genutzt wird.
Wir empfehlen, dass zur Installation https://brew.sh/[Homebrew ^↗^^] genutzt wird.
Hilfe erhält man mittels:
----
@@ -85,12 +69,12 @@ brew install weechat
Um Hilfe zu erhalten, nutze den `/help` Befehl.
Jeder Befehl besitzt einen Hilfstext, den man sich durch `/help Befehlsname` anzeigen lassen kann.
Die link:weechat_user.de.html#key_bindings[Standard Tastenbelegung ^↗^,window=_blank] sowie
link:weechat_user.de.html#commands_and_options[Befehle und Optionen ^↗^,window=_blank] sind im
link:weechat_user.de.html[Benutzerhandbuch ^↗^,window=_blank] aufgeführt.
Die link:weechat_user.de.html#key_bindings[Standard Tastenbelegung ^↗^^] sowie
link:weechat_user.de.html#commands_and_options[Befehle und Optionen ^↗^^] sind im
link:weechat_user.de.html[Benutzerhandbuch ^↗^^] aufgeführt.
Neuen Anwendern wird empfohlen,
die link:weechat_quickstart.de.html[Quickstart Anleitung ^↗^,window=_blank] zu lesen.
die link:weechat_quickstart.de.html[Quickstart Anleitung ^↗^^] zu lesen.
[[display]]
== Anzeige
@@ -123,7 +107,7 @@ Es ist deshalb wichtig, *ALLE* der folgenden Lösungsmöglichkeiten zu prüfen:
("`defutf8 on`" in der Datei ~/.screenrc oder `screen -U` beim Starten von
screen).
* ĂśberprĂĽfe die Option
link:weechat_user.de.html#option_weechat.look.eat_newline_glitch[_weechat.look.eat_newline_glitch_ ^↗^,window=_blank]
link:weechat_user.de.html#option_weechat.look.eat_newline_glitch[_weechat.look.eat_newline_glitch_ ^↗^^]
(diese Option kann schwerwiegenden Darstellungsfehler verursachen, wenn man die Option aktiviert hat).
[NOTE]
@@ -139,9 +123,9 @@ Dieser Fehler sollte durch glibc 2.22 behoben sein (vielleicht ist diese Version
verwendeten Distributionen noch nicht verfĂĽgbar).
Es gibt folgende Übergangslösung, um das Problem mit der _wcwidth_ zu umgehen:
https://blog.nytsoi.net/2015/05/04/emoji-support-for-weechat[https://blog.nytsoi.net/2015/05/04/emoji-support-for-weechat ^↗^,window=_blank].
https://blog.nytsoi.net/2015/05/04/emoji-support-for-weechat[https://blog.nytsoi.net/2015/05/04/emoji-support-for-weechat ^↗^^].
Siehe https://github.com/weechat/weechat/issues/79[bug report ^↗^,window=_blank]
Siehe https://github.com/weechat/weechat/issues/79[bug report ^↗^^]
fĂĽr weitere Informationen.
[[bars_background]]
@@ -197,7 +181,7 @@ von einem oder mehreren Fenstern gleichzeitig angezeigt werden.
[[buffers_list]]
=== Wie kann ich eine Liste mit den Buffern z.B. auf der linken Seite anzeigen lassen?
Diese Erweiterung, link:weechat_user.de.html#buflist[buflist ^↗^,window=_blank],
Diese Erweiterung, link:weechat_user.de.html#buflist[buflist ^↗^^],
wird standardmäßig geladen und aktiviert.
Um die maximale Breite der buflist-Spalte zu reduzieren, nutze folgende Option:
@@ -242,7 +226,7 @@ Es kann auch eine beliebige numerische Farbe anstelle von "Rot" verwendet werden
Die Buflist-Erweiterung bietet viele Optionen, zum individualisieren. Bitte lesen Sie dazu die Hilfe von jeder Option.
Es gibt zusätzlich die https://github.com/weechat/weechat/wiki/buflist[wiki page ^↗^,window=_blank]
Es gibt zusätzlich die https://github.com/weechat/weechat/wiki/buflist[wiki page ^↗^^]
mit Beispielen fĂĽr die erweiterte buflist Konfiguration.
[[customize_prefix]]
@@ -289,7 +273,7 @@ Diese Farben können mit den Optionen __weechat.color.status_data_*__
Weitere hotlist Eigenschaften können mit Hilfe der Optionen __weechat.look.hotlist_*__
verändert werden.
Siehe link:weechat_user.de.html#screen_layout[Benutzerhandbuch / Screen layout ^↗^,window=_blank]
Siehe link:weechat_user.de.html#screen_layout[Benutzerhandbuch / Screen layout ^↗^^]
fĂĽr weitere Informationen zur Hotlist.
[[input_bar_size]]
@@ -458,7 +442,7 @@ anpassen:
Sie können eine beliebige Farbnummer in den Optionen verwenden (optional: Sie können Farbaliase,
mit dem Befehl `/color`, erstellen.
Bitte lese link:weechat_user.de.html#colors[Benutzerhandbuch / Farben ^↗^,window=_blank]
Bitte lese link:weechat_user.de.html#colors[Benutzerhandbuch / Farben ^↗^^]
fĂĽr weitere Informationen die das Farbmanagement betreffen.
[[search_text]]
@@ -469,7 +453,7 @@ Die Standardtastenbelegung lautet kbd:[Ctrl+r]
Um zu Highlight-Nachrichten zu springen:
kbd:[Alt+p] für vorherige, kbd:[Alt+n] für die nächste Nachricht.
siehe link:weechat_user.de.html#key_bindings[Benutzerhandbuch / Standard Tastenbelegung ^↗^,window=_blank]
siehe link:weechat_user.de.html#key_bindings[Benutzerhandbuch / Standard Tastenbelegung ^↗^^]
fĂĽr weitere Informationen zu dieser Funktion.
[[terminal_focus]]
@@ -497,15 +481,15 @@ Zusätzlich sollten noch zwei Tastenbefehle eingebunden werden
(der Befehl `/print` sollte durch einen Befehl Ihrer Wahl ersetzt werden):
----
/key bind meta2-I /print -core focus
/key bind meta2-O /print -core unfocus
/key bind meta-[I /print -core focus
/key bind meta-[O /print -core unfocus
----
Um zum Beispiel Buffer als gelesen zu markieren,
wenn das Terminal den Fokus verlieren sollte:
----
/key bind meta2-O /allbuf /buffer set unread
/key bind meta-[O /allbuf /buffer set unread
----
[[screen_paste]]
@@ -629,6 +613,14 @@ Sollte die macOS Terminal Applikation genutzt werden, empfiehlt es sich,
die Option "Use option as meta key" in den MenĂĽ-Einstellungen zu aktivieren.
Dadurch kann man die kbd:[Option] Taste als Meta-Taste verwenden.
[[enter_key]]
=== Einige Tasten, einschlieĂźlich Enter, funktionieren nicht. Weshalb?
Wenn eine WeeChat Version < 4.0.0 mit Konfigurationsdateien ausgefĂĽhrt wird,
die von einer Weechat Version ≥ 4.0.0 erstellt wurde, sind die Tastennamen ungültig und viele Tasten funktionieren überhaupt nicht mehr. +
Um dies zu reparieren, muss WeeChat beendet und alle Einträge aus dem Abschnitt `[key*]` innerhalb der weechat.conf entfernt werden.
Wenn WeeChat erneut gestartet wird, wird die Standardtastenbelegung neu erstellt.
[[customize_key_bindings]]
=== Wie kann ich die Tastaturbelegung anpassen?
@@ -650,7 +642,7 @@ Es kann auch eine neue Taste eingebunden werden um zu einem Buffer zu wechseln:
----
Eine Auflistung der Standardtastenbelegung findet man in
link:weechat_user.de.html#key_bindings[Benutzerhandbuch / Standard Tastenbelegung ^↗^,window=_blank].
link:weechat_user.de.html#key_bindings[Benutzerhandbuch / Standard Tastenbelegung ^↗^^].
Um zu Buffern zu wechseln die an Position ≥ 100 sind kann ein Trigger definiert
werden um dann z.B. mit einem Kurzbefehl `/123` zum Buffer #123 zu springen:
@@ -659,6 +651,12 @@ werden um dann z.B. mit einem Kurzbefehl `/123` zum Buffer #123 zu springen:
/trigger add numberjump modifier "2000|input_text_for_buffer" "${tg_string} =~ ^/[0-9]+$" "=\/([0-9]+)=/buffer *${re:1}=" "" "" "none"
----
Um einfach von einem Buffer zu einem anderen zu springen, kann man das _go.py_ Skript installieren:
----
/script install go.py
----
[[global_history]]
=== Wie kann ich den globalen Verlaufsspeicher (anstelle des Buffer eigenen) mit den Up-/Down-Tasten nutzen?
@@ -667,15 +665,19 @@ genutzt: kbd:[Ctrl+↑] und kbd:[Ctrl+↓]).
Beispiele:
----
/key bind up /input history_global_previous
/key bind down /input history_global_next
----
Ab WeeChat ≤ 3.8 muß der rohe Schlüsselwert verwenden werden (drücken Sie kbd:[Alt+k] und dann die
entsprechende Taste um den Wert anzuzeigen):
----
/key bind meta2-A /input history_global_previous
/key bind meta2-B /input history_global_next
----
[NOTE]
Die Tasten "meta2-A" und "meta2-B" können im Hinblick auf das jeweils genutzte Terminal variieren.
Um die korrekten Tasten zu finden, sollte man mit kbd:[Alt+k] die gewĂĽnschte Tastenkombination einfangen.
[[mouse]]
== MausunterstĂĽtzung
@@ -732,8 +734,8 @@ anstelle der kbd:[Shift]-Taste gedrĂĽckt werden).
[[irc]]
== IRC
[[irc_ssl_connection]]
=== Es treten Probleme bei einer Serververbindung mittels SSL auf. Was kann ich tun?
[[irc_tls_connection]]
=== Es treten Probleme bei einer Serververbindung mittels TLS auf. Was kann ich tun?
Falls macOS genutzt wird,
muss mittels Homebrew `openssl` installiert werden.
@@ -744,16 +746,16 @@ dass der gnutls Handshake fehlgeschlagen ist,
sollte ein kleinerer Diffie-Hellman-Schlüssel verwendet werden (Standardgröße: 2048):
----
/set irc.server.example.ssl_dhkey_size 1024
/set irc.server.example.tls_dhkey_size 1024
----
Falls Fehlermeldungen auftreten, die besagen,
dass das Zertifikat ungĂĽltig ist,
dann kann die "ssl_verify" ĂśberprĂĽfung deaktiviert werden
dann kann die "tls_verify" ĂśberprĂĽfung deaktiviert werden
(die Verbindung ist in diesem Fall weniger sicher):
----
/set irc.server.example.ssl_verify off
/set irc.server.example.tls_verify off
----
Sollte das Zertifikat fĂĽr den Server (laut CA) ungĂĽltig sein,
@@ -762,30 +764,30 @@ dann kann (ersatzweise) der Fingerabdruck (SHA-512, SHA-256 or SHA-1)
des Zertifikats von Hand eingetragen werden:
----
/set irc.server.example.ssl_fingerprint 0c06e399d3c3597511dc8550848bfd2a502f0ce19883b728b73f6b7e8604243b
/set irc.server.example.tls_fingerprint 0c06e399d3c3597511dc8550848bfd2a502f0ce19883b728b73f6b7e8604243b
----
[[irc_ssl_handshake_error]]
=== Bei einem Verbindungsaufbau zum Server via SSL erhalte ich "TLS Handshake fehlgeschlagen". Wie kann ich das beheben?
[[irc_tls_handshake_error]]
=== Bei einem Verbindungsaufbau zum Server via TLS erhalte ich "TLS Handshake fehlgeschlagen". Wie kann ich das beheben?
Man sollte versuchen, eine andere Priorität zu nutzen; Im folgenden Beispiel
muss "xxx" durch den betroffenen Servernamen ersetzt werden:
----
/set irc.server.xxx.ssl_priorities "NORMAL:-VERS-TLS-ALL:+VERS-TLS1.0:+VERS-SSL3.0:%COMPAT"
/set irc.server.xxx.tls_priorities "NORMAL:-VERS-TLS-ALL:+VERS-TLS1.0:+VERS-SSL3.0:%COMPAT"
----
[[irc_ssl_libera]]
=== Wie kann ich eine SSL gesicherte Verbindung zum libera Server herstellen?
[[irc_tls_libera]]
=== Wie kann ich eine TLS gesicherte Verbindung zum libera Server herstellen?
Überprüfen Sie, ob auf Ihrem System Zertifikate installiert sind. Dies wird häufig
durch das Paket "ca-certificates" bereitgestellt.
Konfiguration des Servers, Port angeben, SSL aktivieren und Verbindung herstellen:
Konfiguration des Servers, Port angeben, TLS aktivieren und Verbindung herstellen:
----
/set irc.server.libera.addresses "irc.libera.chat/6697"
/set irc.server.libera.ssl on
/set irc.server.libera.tls on
/connect libera
----
@@ -889,27 +891,9 @@ Die voreingestellte Tastenkombination zum Aktivieren bzw. Deaktivieren
aller Filter ist kbd:[Alt+-].
[[filter_irc_join_part_quit]]
=== Wie kann ich join/part/quit Meldungen in den IRC Kanälen filtern/unterdrücken?
=== Wie kann ich join/part/quit und andere unerwünschte Nachrichten in IRC-Kanälen filtern?
Zum einen mit dem Smart-Filter.
Bei dessen Anwendung werden join/part/quit-Meldungen von Usern angezeigt,
die kĂĽrzlich noch etwas geschrieben haben:
----
/set irc.look.smart_filter on
/filter add irc_smart * irc_smart_filter *
----
Es besteht auch die Möglichkeit einer globalen Filterung.
Dabei werden *alle* join/part/quit Nachrichten unterdrĂĽckt:
----
/filter add joinquit * irc_join,irc_part,irc_quit *
----
[NOTE]
FĂĽr weitere Hilfe: `/help filter`, `+/help irc.look.smart_filter+` und
link:weechat_user.de.html#irc_smart_filter_join_part_quit[Benutzerhandbuch / einfacher Filter für join/part/quit Nachrichten ^↗^,window=_blank].
siehe link:weechat_user.de.html#irc_smart_filter[User's guide / IRC smart filter ^↗^^].
[[filter_irc_join_channel_messages]]
=== Wie kann ich die Server-Nachrichten filtern, wenn ich einen IRC Kanal betrete?
@@ -1012,40 +996,24 @@ Es gibt weitere Skripten, die auch zu diesem Thema passen:
[[disable_highlights_for_specific_nicks]]
=== Wie kann ich Highlights (Hervorhebungen) von bestimmten Nicks deaktivieren?
Dafür sollte link:weechat_user.de.html#max_hotlist_level_nicks[hotlist_max_level_nicks_add ^↗^,window=_blank]
Dafür sollte link:weechat_user.de.html#max_hotlist_level_nicks[hotlist_max_level_nicks_add ^↗^^]
die Buffer-Eigenschaft genutzt werden, um das maximale Hotlist-Level fĂĽr einige Nicks pro Puffer festzulegen,
oder pro Gruppe von Buffern (wie IRC-Server).
Um nun Highlights (Hervorhebungen) fĂĽr bestimmte Nicks zu deaktivieren, muss
man die entsprechende Eigenschaft auf 2 setzen:
man die entsprechende Eigenschaft auf 2 setzen.
FĂĽr den aktuellen Buffer:
----
/buffer set hotlist_max_level_nicks_add joe:2,mike:2
/buffer setauto hotlist_max_level_nicks_add joe:2,mike:2
----
Diese Buffereigenschaft wird aber nicht permanent in der Konfiguration
gespeichert. Um diese Eigenschaften permanent zu verwenden, muss man
das Skript _buffer_autoset.py_ nutzen:
Für alle Kanäle auf dem Server "libera":
----
/script install buffer_autoset.py
/set weechat.buffer.irc.libera.*.hotlist_max_level_nicks_add joe:2,mike:2
----
Um zum Beispiel Highlights (Hervorhebungen) von Nick "mike" im Kanal
#weechat auf dem IRC Server libera zu deaktivieren:
----
/buffer_autoset add irc.libera.#weechat hotlist_max_level_nicks_add mike:2
----
Um dies auf den kompletten libera Server anzuwenden:
----
/buffer_autoset add irc.libera hotlist_max_level_nicks_add mike:2
----
FĂĽr weitere Beispiele, siehe `+/help buffer_autoset+`.
[[irc_target_buffer]]
=== Wie kann ich bei zusammengefügten Buffern den Zielbuffer ändern (z.B. bei einem Server-Buffer)?
@@ -1078,7 +1046,7 @@ Die Skripten fĂĽr WeeChat sind mit anderen IRC-Clients nicht kompatibel und vice
[[scripts_update]]
=== Der Befehl "/script update" liest die Skriptliste nicht ein, wie kann ich das beheben?
Als erstes sollte das Kapitel ĂĽber SSL Verbindungen in dieser FAQ gelesen werden.
Als erstes sollte das Kapitel ĂĽber TLS Verbindungen in dieser FAQ gelesen werden.
Wenn das nicht hilft, sollte die Skriptliste von Hand gelöscht werden. Dazu
folgenden Befehl in der Shell ausfĂĽhren:
@@ -1165,7 +1133,7 @@ Damit WeeChat weniger Speicher benötigt, solltest Du folgende Tipps umsetzen:
Fifo, Logger, Perl, Python, Ruby, Lua, Tcl, Guile, JavaScript, PHP, Spell, Xfer
(wird für DCC benötigst), siehe `/help weechat.plugin.autoload`.
* installiere ausschlieĂźlich Skripten die Du auch nutzt
* Laden Sie keine Systemzertifikate, wenn SSL *NICHT* verwendet wird: Deaktivieren Sie diese Option:
* Laden Sie keine Systemzertifikate, wenn TLS *NICHT* verwendet wird: Deaktivieren Sie diese Option:
_weechat.network.gnutls_ca_system_.
* der Wert der Option _weechat.history.max_buffer_lines_number_ sollte möglichst
niedrig eingestellt werden oder die Option _weechat.history.max_buffer_lines_minutes_
@@ -1178,7 +1146,8 @@ Damit WeeChat weniger Speicher benötigt, solltest Du folgende Tipps umsetzen:
Man sollte sich die Tipps zum <<memory_usage,Speicherverbrauch>> ansehen
und zusätzlich diese Tipps beherzigen:
* "nicklist"-Bar sollte versteckt werden: `/bar hide nicklist`
* "nicklist"-Bar sollte versteckt werden: `/bar hide nicklist` (Taste: kbd:[Alt+Shift+N]).
* deaktiviere "buflist": `/buflist disable` (Taste: kbd:[Alt+Shift+B]).
* die Sekundenanzeigen in der Statusbar sollte deaktiviert werden:
`+/set weechat.look.item_time_format "%H:%M"+` (dies ist die Standardeinstellung)
* die Echtzeit Rechtschreibkorrektur sollte deaktiviert werden (falls sie aktiviert wurde):
@@ -1200,14 +1169,19 @@ Deaktiviere die automatische Antwort fĂĽr alle CTCP Anfragen:
----
/set irc.ctcp.clientinfo ""
/set irc.ctcp.finger ""
/set irc.ctcp.source ""
/set irc.ctcp.time ""
/set irc.ctcp.userinfo ""
/set irc.ctcp.version ""
/set irc.ctcp.ping ""
----
Mit WeeChat < 4.1.0 wurden andere CTCP-Anfragen standardmäßig beantwortet und müssen ebenfalls deaktiviert werden:
----
/set irc.ctcp.finger ""
/set irc.ctcp.userinfo ""
----
Entferne und deaktiviere das automatische AusfĂĽhren der "xfer"-Erweiterung, die beispielsweise fĂĽr "IRC DCC" verantwortlich ist:
----
@@ -1219,7 +1193,7 @@ Definiere eine Passphrase und nutze ausschlieĂźlich geschĂĽtzte Daten wann immer
es möglich ist, wie z.B. bei Passwörtern: siehe `/help secure` und nutze `/help`
bei der entsprechenden Option (falls man geschĂĽtzte Daten nutzen kann, wird es
im Hilfstext erwähnt).
Siehe auch link:weechat_user.de.html#secured_data[Benutzerhandbuch / sensible Daten ^↗^,window=_blank].
Siehe auch link:weechat_user.de.html#secured_data[Benutzerhandbuch / sensible Daten ^↗^^].
Beispiel:
@@ -1240,16 +1214,42 @@ Ihrer Passphrase verschlüsselten Kennwörter enthält.
Einige andere Dateien enthalten möglicherweise vertrauliche Informationen wie
Kennwörter (sofern sie nicht mit dem Befehl `/secure` in _sec.conf_ gesichert werden).
Siehe link:weechat_user.de.html#files_and_directories[Benutzerhandbuch / Dateien und Verzeichnisse ^↗^,window=_blank]
Siehe link:weechat_user.de.html#files_and_directories[Benutzerhandbuch / Dateien und Verzeichnisse ^↗^^]
fĂĽr weitere Informationen ĂĽber Konfigurationsdateien.
[[move_to_another_device]]
=== Ich möchte mein WeeChat auf ein anderes Gerät verschieben und meine Konfiguration behalten. Was muss ich kopieren?
Überprüfen Sie zunächst die von WeeChat verwendeten Verzeichnisse mit diesem Befehl: `/debug dirs`. +
Die Verzeichnisse home/config und home/data mĂĽssen kopiert werden (alle Dateien und Unterverzeichnisse).
Falls beispielsweise XDG-Verzeichnisse verwendet werden (Standard bei WeeChat ≥ 3.2), sollten die
Verzeichnisse `$HOME/.config/weechat` und `$HOME/.local/share/weechat` lauten. +
Sollte ein einzelnes Verzeichnis verwenden werden (Standard bei WeeChat < 3.2), sollte das Verzeichnis
`$HOME/.weechat` lauuten.
[IMPORTANT]
Die WeeChat-Version auf dem Zielgerät muss größer oder gleich der Version sein des Ausganggerätes. +
Ein Downgrade der WeeChat-Konfiguration wird *NICHT UNTERSTÜTZT* und kann zu Schäden führen und ein
unbrauchbares WeeChat verursachen.
Schritte:
. Weechat beenden: `/quit` (oder `/upgrade -quit`, falls eine Sitzung fortgesetzt werden soll,
einschlieĂźlich des Inhalts aller Buffer).
. Kopieren Sie alle Verzeichnisse, Unterverzeichnisse und Dateien auf das neue Gerät und behalten Sie die
Namen und Berechtigungen bei.
. Optional: Kopieren Sie alle Dateien auĂźerhalb dieser Verzeichnisse, die auf Ihre Konfiguration verweisen
(es wird nicht empfohlen, Dateien auĂźerhalb von WeeChat-Verzeichnissen zu verwenden).
. WeeChat auf dem neuen Gerät starten: `weechat` (oder `weechat --upgrade`, falls die Sitzung gesichert wurde).
[[development]]
== Entwicklung
[[bug_task_patch]]
=== Was kann ich machen, falls ich einen Fehler gefunden habe, mich nach neuen Funktionen erkundigen oder Patches einsenden möchte?
siehe https://weechat.org/about/support/[this page ^↗^,window=_blank].
siehe https://weechat.org/about/support/[this page ^↗^^].
[[gdb_error_threads]]
=== Wenn man WeeChat in gdb startet, kann ein Thread-Fehler auftreten. Was beudeutet das?
@@ -1288,10 +1288,10 @@ Das Gleiche gilt fĂĽr Systeme, zu denen wir keinen Zugang haben.
Es gibt einiges zu tun - z.B. testen, programmieren, dokumentieren, ...
Bitte kontaktieren Sie uns per IRC oder Mail, siehe
https://weechat.org/about/support/[support page ^↗^,window=_blank].
https://weechat.org/about/support/[support page ^↗^^].
[[donate]]
=== Kann ich Geld oder anderes an die WeeChat Entwickler spenden?
Sie können uns Geld spenden, um die Entwicklung zu unterstützen.
Details dazu, unter https://weechat.org/donate/[donation page ^↗^,window=_blank].
Details dazu, unter https://weechat.org/donate/[donation page ^↗^^].
+3 -8
View File
@@ -2,11 +2,7 @@
:author: Sébastien Helleu
:email: flashcode@flashtux.org
:lang: de
:toc: left
:toc-title: Inhaltsverzeichnis
:sectnums:
:docinfo1:
Ăśbersetzer:
@@ -14,7 +10,6 @@
* Juergen Descher <jhdl@gmx.net>, 2009
* Nils Görs <weechatter@arcor.de>, 2009-2018
[[start]]
== Start von WeeChat
@@ -123,7 +118,7 @@ Um eine Verbindung zu einem IRC Server herzustellen, wird der
`/server` Befehl verwendet. Beispiel:
----
/server add libera irc.libera.chat/6697 -ssl
/server add libera irc.libera.chat/6697 -tls
----
In diesem Beispiel ist `libera` der interne, von Weechat genutzte Servername.
@@ -442,13 +437,13 @@ Zeige eine liste aller verfĂĽgbaren Skripten:
----
Eine Liste von Skripten ist in WeeChat mittels `/script` oder auf
https://weechat.org/scripts/[this page ^↗^,window=_blank] verfügbar.
https://weechat.org/scripts/[this page ^↗^^] verfügbar.
[[more_doc]]
== Weitere Dokumentation
WeeChat kann nun verwendet werden und lesen Sie
https://weechat.org/doc/[FAQ/documentation ^↗^,window=_blank]
https://weechat.org/doc/[FAQ/documentation ^↗^^]
falls Sie weitere Fragen haben.
Viel Spass mit WeeChat!
+11 -19
View File
@@ -2,24 +2,16 @@
:author: Sébastien Helleu
:email: flashcode@flashtux.org
:lang: de
:toc: left
:toclevels: 4
:toc-title: Inhaltsverzeichnis
:sectnums:
:sectnumlevels: 3
:docinfo1:
Ăśbersetzer:
* Nils Görs <weechatter@arcor.de>, 2010-2016
Diese Anleitung beschreibt den WeeChat Chat Client und ist Teil von WeeChat.
Die neueste Version dieses Dokuments finden Sie unter
https://weechat.org/doc/[this page ^↗^,window=_blank].
https://weechat.org/doc/[this page ^↗^^].
[[introduction]]
== Einleitung
@@ -67,7 +59,7 @@ Ein Skript darf *NIEMALS* einen fork nutzen oder einen eigenen Thread erstellen,
dafĂĽr gibt es explizit eine API Funktion, andernfalls kann WeeChat abstĂĽrzen. +
Wenn etwas in einem Hintergrundprozess ausgefĂĽhrt werden soll, kann die Funktion
`+hook_process+` genutzt werden. Siehe Beispiele im Kapitel <<hook_process,Hintergrundprozesse>>
und die Dokumentation für die Funktion `+hook_process+` in link:weechat_plugin_api.en.html#_hook_process[WeeChat plugin API reference ^↗^,window=_blank] (Englisch).
und die Dokumentation für die Funktion `+hook_process+` in link:weechat_plugin_api.en.html#_hook_process[WeeChat plugin API reference ^↗^^] (Englisch).
[[languages_specificities]]
=== Besonderheiten der einzelnen Skriptsprachen
@@ -81,7 +73,7 @@ und die Dokumentation fĂĽr die Funktion `+hook_process+` in link:weechat_plugin_
WeeChat definiert ein `weechat` Module welches mittels `import weechat`
importiert werden muss. +
Ein Python-Stub fĂĽr die WeeChat-API ist im Repository verfĂĽgbar:
https://raw.githubusercontent.com/weechat/weechat/master/src/plugins/python/weechat.pyi[weechat.pyi ^↗^,window=_blank].
https://raw.githubusercontent.com/weechat/weechat/master/src/plugins/python/weechat.pyi[weechat.pyi ^↗^^].
[[python_functions]]
===== Funktionen
@@ -119,7 +111,7 @@ Liste ist nicht vollständig):
Es wird empfohlen den Modifier `+irc_in2_yyy+` zu nutzen, da die empfangene Zeichenkette
immer UTF-8 gĂĽltig ist. +
siehe Funktion `+hook_modifier+` in der
link:weechat_plugin_api.en.html#_hook_modifier[WeeChat Anleitung für API Erweiterung ^↗^,window=_blank].
link:weechat_plugin_api.en.html#_hook_modifier[WeeChat Anleitung für API Erweiterung ^↗^^].
| hook_signal
| xxx,irc_out_yyy +
@@ -134,7 +126,7 @@ Liste ist nicht vollständig):
Es wird empfohlen das Signal `+xxx,irc_out1_yyy+` zu nutzen, da die empfangene Zeichenkette
immer UTF-8 gĂĽltig ist. +
siehe Funktion `+hook_signal+` in der
link:weechat_plugin_api.en.html#_hook_signal[WeeChat Anleitung für API Erweiterung ^↗^,window=_blank].
link:weechat_plugin_api.en.html#_hook_signal[WeeChat Anleitung für API Erweiterung ^↗^^].
| hook_process +
hook_process_hashtable
@@ -215,7 +207,7 @@ Sie können diese Konstante übergeben, wenn eine Funktion NULL als Argument akz
und Sie erhält es als Wert eines Arguments in einer Callback-Funktion zurück, wenn
der Wert des Arguments NULL ist. Um zu sehen, welche Funktionen Nullwerte akzeptieren
und Nullwerte in RĂĽckrufen ĂĽbergeben, schauen Sie sich die Python-Prototypen an
link:weechat_plugin_api.en.html[WeeChat plugin API reference ^↗^,window=_blank].
link:weechat_plugin_api.en.html[WeeChat plugin API reference ^↗^^].
[[language_guile]]
==== Guile (Scheme)
@@ -396,7 +388,7 @@ ein Link in das entsprechende _autoload_ Verzeichnis erzeugt.
Die Skripten API ist nahezu identisch mit der API der C Erweiterung.
Um einen Ăśberblick ĂĽber alle API Funktionen (Prototyp, Argumente,
RĂĽckgabe werte, Beispiele) zu erhalten werfen Sie einen Blick in
die link:weechat_plugin_api.en.html[WeeChat Plugin API Reference ^↗^,window=_blank] (Englisch).
die link:weechat_plugin_api.en.html[WeeChat Plugin API Reference ^↗^^] (Englisch).
Es ist wichtig das man zwischen einer _Erweiterung_ und einem _Skript_
unterscheidet: Eine _Erweiterung_ ist eine Binärdatei die kompiliert wurde
und mittels `/plugin` geladen wird. Ein _Skript_ ist eine Textdatei welche
@@ -565,7 +557,7 @@ weechat_hook_timer(1000, 0, 1, $timer_cb, 'test');
== Skript API
Um weiterfĂĽhrende Informationen zu den API Funktionen zu erhalten
lesen Sie bitte link:weechat_plugin_api.en.html[WeeChat Plugin API Reference ^↗^,window=_blank] (Englisch).
lesen Sie bitte link:weechat_plugin_api.en.html[WeeChat Plugin API Reference ^↗^^] (Englisch).
[[script_api_functions]]
=== Funktionen
@@ -888,7 +880,7 @@ Liste der Konstanten in Skript API:
Dieses Kapitel beinhaltet einige Aufgaben mit Lösungsbeispielen.
Die Skript API wird dabei nur sehr oberflächlich besprochen.Um eine vollständige
Ăśbersicht aller Befehle zu erhalten nutzen Sie bitte die
link:weechat_plugin_api.en.html[WeeChat Plugin API Reference ^↗^,window=_blank] (Englisch).
link:weechat_plugin_api.en.html[WeeChat Plugin API Reference ^↗^^] (Englisch).
[[buffers]]
=== Buffer
@@ -1166,7 +1158,7 @@ weechat.hook_process("url:https://weechat.org/dev/info/stable/",
[TIP]
Alle verfĂĽgbaren Informationen ĂĽber WeeChat findet man unter
https://weechat.org/dev/info/[this page ^↗^,window=_blank].
https://weechat.org/dev/info/[this page ^↗^^].
Beispiel eines URL Transfers, mit zusätzliche Optionen: Es wird das neuste
WeeChat Entwicklerpaket in die Datei _/tmp/weechat-devel.tar.gz_ gesichert:
@@ -1185,7 +1177,7 @@ weechat.hook_process_hashtable("url:https://weechat.org/files/src/weechat-devel.
FĂĽr weitere Informationen zum URL Transfer und verfĂĽgbare Optionen, siehe Funktionen
`+hook_process+` und `+hook_process_hashtable+` in
link:weechat_plugin_api.en.html#_hook_process[WeeChat plugin API reference ^↗^,window=_blank] (Englisch).
link:weechat_plugin_api.en.html#_hook_process[WeeChat plugin API reference ^↗^^] (Englisch).
[[config_options]]
=== Konfiguration / Optionen
File diff suppressed because it is too large Load Diff
-857
View File
@@ -1,857 +0,0 @@
#!/usr/bin/env python3
#
# Copyright (C) 2008-2023 Sébastien Helleu <flashcode@flashtux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This program 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 this program. If not, see <https://www.gnu.org/licenses/>.
#
"""
Documentation generator for WeeChat: build include files with:
- commands
- config options
- default aliases
- IRC colors
- infos
- infos hashtable
- infolists
- hdata
- completions
- URL options
- plugins priority.
Instructions to build config files yourself in WeeChat directories
(replace "path" with the path to the docgen.py script in WeeChat repository):
weechat -t -r "/python load /path/docgen.py;/docgen;/quit"
There's one output file per language (where xx is language):
/path/xx/includes/autogen.xx.adoc
This script requires Python 3.6+.
"""
SCRIPT_NAME = 'docgen'
SCRIPT_AUTHOR = 'Sébastien Helleu <flashcode@flashtux.org>'
SCRIPT_VERSION = '0.3'
SCRIPT_LICENSE = 'GPL3'
SCRIPT_DESC = 'Documentation generator for WeeChat'
SCRIPT_COMMAND = 'docgen'
IMPORT_OK = True
# pylint: disable=wrong-import-position
try:
from collections import defaultdict
from operator import itemgetter
import gettext
import hashlib
import inspect
import os
import re
except ImportError as exc:
print(f'Missing package(s) for {SCRIPT_NAME}: {exc}')
IMPORT_OK = False
try:
import weechat # pylint: disable=import-error
except ImportError:
print('This script must be run under WeeChat.')
print('Get WeeChat now at: https://weechat.org/')
IMPORT_OK = False
# list of locales for which we want to build doc files to include
LOCALE_LIST = (
'de_DE',
'en_US',
'fr_FR',
'it_IT',
'ja_JP',
'pl_PL',
'sr_RS',
)
# all commands/options/.. of following plugins will produce a file
# non-listed plugins will be ignored
# value: "c" = plugin may have many commands
# "o" = write config options for plugin
# if plugin is listed without "c", that means plugin has only one command
# /name (where "name" is name of plugin)
# Note: we consider core is a plugin called "weechat"
PLUGIN_LIST = {
'sec': 'o',
'weechat': 'co',
'alias': '',
'buflist': 'co',
'charset': 'o',
'exec': 'o',
'fifo': 'o',
'fset': 'o',
'irc': 'co',
'logger': 'o',
'relay': 'o',
'script': 'o',
'perl': 'o',
'python': 'o',
'ruby': 'o',
'lua': 'o',
'tcl': 'o',
'guile': 'o',
'javascript': 'o',
'php': 'o',
'spell': 'o',
'trigger': 'o',
'xfer': 'co',
'typing': 'o',
}
# options to ignore
IGNORE_OPTIONS = (
r'charset\.decode\..*',
r'charset\.encode\..*',
r'irc\.msgbuffer\..*',
r'irc\.ctcp\..*',
r'irc\.ignore\..*',
r'irc\.server\..*',
r'logger\.level\..*',
r'logger\.mask\..*',
r'relay\.port\..*',
r'spell\.dict\..*',
r'spell\.option\..*',
r'trigger\.trigger\..*',
r'weechat\.palette\..*',
r'weechat\.proxy\..*',
r'weechat\.bar\..*',
r'weechat\.debug\..*',
r'weechat\.notify\..*',
)
# completions to ignore
IGNORE_COMPLETIONS_ITEMS = (
'docgen.*',
)
def translate(string):
"""Translate a string."""
return _(string) if string else string
def escape(string):
"""Escape a string."""
return string.replace('|', '\\|')
def sha256_file(filename, default=None):
"""Return SHA256 checksum of a file."""
try:
with open(filename, 'rb') as _file:
checksum = hashlib.sha256(_file.read()).hexdigest()
except IOError:
checksum = default
return checksum
class WeechatDoc(): # pylint: disable=too-few-public-methods
"""A class to read documentation from WeeChat API."""
def __init__(self):
pass
def read_doc(self):
"""Get documentation from WeeChat API."""
functions = sorted([
func[0]
for func in inspect.getmembers(self, predicate=inspect.isfunction)
if func[0].startswith('_read_')
])
return {
function[6:]: getattr(self, function)()
for function in functions
}
@staticmethod
def _read_user_commands():
"""
Get list of WeeChat/plugins commands as dictionary with 3 indexes:
plugin, command, xxx.
"""
commands = defaultdict(lambda: defaultdict(defaultdict))
infolist = weechat.infolist_get('hook', '', 'command')
while weechat.infolist_next(infolist):
plugin = (weechat.infolist_string(infolist, 'plugin_name')
or 'weechat')
if plugin in PLUGIN_LIST:
command = weechat.infolist_string(infolist, 'command')
if command == plugin or 'c' in PLUGIN_LIST[plugin]:
for key in ('description', 'args', 'args_description',
'completion'):
commands[plugin][command][key] = \
weechat.infolist_string(infolist, key)
weechat.infolist_free(infolist)
return commands
@staticmethod
def _read_user_options():
"""
Get list of WeeChat/plugins config options as dictionary with
4 indexes: config, section, option, xxx.
"""
options = \
defaultdict(lambda: defaultdict(lambda: defaultdict(defaultdict)))
infolist = weechat.infolist_get('option', '', '')
while weechat.infolist_next(infolist):
full_name = weechat.infolist_string(infolist, 'full_name')
if not re.search('|'.join(IGNORE_OPTIONS), full_name):
config = weechat.infolist_string(infolist, 'config_name')
if config in PLUGIN_LIST and 'o' in PLUGIN_LIST[config]:
section = weechat.infolist_string(infolist, 'section_name')
option = weechat.infolist_string(infolist, 'option_name')
for key in ('type', 'string_values', 'default_value',
'description'):
options[config][section][option][key] = \
weechat.infolist_string(infolist, key)
for key in ('min', 'max', 'null_value_allowed'):
options[config][section][option][key] = \
weechat.infolist_integer(infolist, key)
weechat.infolist_free(infolist)
return options
@staticmethod
def _read_api_infos():
"""
Get list of WeeChat/plugins infos as dictionary with 3 indexes:
plugin, name, xxx.
"""
infos = defaultdict(lambda: defaultdict(defaultdict))
infolist = weechat.infolist_get('hook', '', 'info')
while weechat.infolist_next(infolist):
info_name = weechat.infolist_string(infolist, 'info_name')
plugin = (weechat.infolist_string(infolist, 'plugin_name')
or 'weechat')
for key in ('description', 'args_description'):
infos[plugin][info_name][key] = \
weechat.infolist_string(infolist, key)
weechat.infolist_free(infolist)
return infos
@staticmethod
def _read_api_infos_hashtable():
"""
Get list of WeeChat/plugins infos (hashtable) as dictionary with
3 indexes: plugin, name, xxx.
"""
infos_hashtable = defaultdict(lambda: defaultdict(defaultdict))
infolist = weechat.infolist_get('hook', '', 'info_hashtable')
while weechat.infolist_next(infolist):
info_name = weechat.infolist_string(infolist, 'info_name')
plugin = (weechat.infolist_string(infolist, 'plugin_name')
or 'weechat')
for key in ('description', 'args_description',
'output_description'):
infos_hashtable[plugin][info_name][key] = \
weechat.infolist_string(infolist, key)
weechat.infolist_free(infolist)
return infos_hashtable
@staticmethod
def _read_api_infolists():
"""
Get list of WeeChat/plugins infolists as dictionary with 3 indexes:
plugin, name, xxx.
"""
infolists = defaultdict(lambda: defaultdict(defaultdict))
infolist = weechat.infolist_get('hook', '', 'infolist')
while weechat.infolist_next(infolist):
infolist_name = weechat.infolist_string(infolist, 'infolist_name')
plugin = (weechat.infolist_string(infolist, 'plugin_name')
or 'weechat')
for key in ('description', 'pointer_description',
'args_description'):
infolists[plugin][infolist_name][key] = \
weechat.infolist_string(infolist, key)
weechat.infolist_free(infolist)
return infolists
@staticmethod
def _read_api_hdata(): # pylint: disable=too-many-locals
"""
Get list of WeeChat/plugins hdata as dictionary with 3 indexes:
plugin, name, xxx.
"""
hdata = defaultdict(lambda: defaultdict(defaultdict))
infolist = weechat.infolist_get('hook', '', 'hdata')
while weechat.infolist_next(infolist):
hdata_name = weechat.infolist_string(infolist, 'hdata_name')
plugin = (weechat.infolist_string(infolist, 'plugin_name')
or 'weechat')
hdata[plugin][hdata_name]['description'] = \
weechat.infolist_string(infolist, 'description')
variables = ''
vars_update = ''
lists = ''
ptr_hdata = weechat.hdata_get(hdata_name)
if ptr_hdata:
hdata2 = []
string = weechat.hdata_get_string(ptr_hdata, 'var_keys_values')
if string:
for item in string.split(','):
key = item.split(':')[0]
var_offset = weechat.hdata_get_var_offset(
ptr_hdata,
key,
)
var_array_size = \
weechat.hdata_get_var_array_size_string(
ptr_hdata,
'',
key,
)
if var_array_size:
var_array_size = \
f', array_size: "{var_array_size}"'
var_hdata = weechat.hdata_get_var_hdata(ptr_hdata, key)
if var_hdata:
var_hdata = f', hdata: "{var_hdata}"'
type_string = weechat.hdata_get_var_type_string(
ptr_hdata,
key,
)
hdata2.append({
'offset': var_offset,
'text': f'_{key}_ ({type_string})',
'textlong': (f'_{key}_   ({type_string}'
f'{var_array_size}{var_hdata})'),
'update': weechat.hdata_update(
ptr_hdata, '', {'__update_allowed': key}),
})
hdata2 = sorted(hdata2, key=itemgetter('offset'))
for item in hdata2:
variables += f'{item["textlong"]} +\n'
if item['update']:
vars_update += f'    {item["text"]} +\n'
if weechat.hdata_update(ptr_hdata, '',
{'__create_allowed': ''}):
vars_update += '    _{hdata_update_create}_ +\n'
if weechat.hdata_update(ptr_hdata, '',
{'__delete_allowed': ''}):
vars_update += '    _{hdata_update_delete}_ +\n'
hdata[plugin][hdata_name]['vars'] = variables
hdata[plugin][hdata_name]['vars_update'] = vars_update.rstrip()
string = weechat.hdata_get_string(ptr_hdata, 'list_keys')
if string:
list_lists = string.split(',')
lists_std = [lst for lst in list_lists
if not lst.startswith('last_')]
lists_last = [lst for lst in list_lists
if lst.startswith('last_')]
for item in sorted(lists_std) + sorted(lists_last):
lists += f'_{item}_ +\n'
hdata[plugin][hdata_name]['lists'] = lists
weechat.infolist_free(infolist)
return hdata
@staticmethod
def _read_api_completions():
"""
Get list of WeeChat/plugins completions as dictionary with 3 indexes:
plugin, item, xxx.
"""
completions = defaultdict(lambda: defaultdict(defaultdict))
infolist = weechat.infolist_get('hook', '', 'completion')
while weechat.infolist_next(infolist):
completion_item = weechat.infolist_string(infolist,
'completion_item')
if not re.search('|'.join(IGNORE_COMPLETIONS_ITEMS),
completion_item):
plugin = (weechat.infolist_string(infolist, 'plugin_name')
or 'weechat')
completions[plugin][completion_item]['description'] = \
weechat.infolist_string(infolist, 'description')
weechat.infolist_free(infolist)
return completions
@staticmethod
def _read_api_url_options():
"""
Get list of URL options as list of dictionaries.
"""
url_options = []
infolist = weechat.infolist_get('url_options', '', '')
while weechat.infolist_next(infolist):
url_options.append({
'name': weechat.infolist_string(infolist, 'name').lower(),
'option': weechat.infolist_integer(infolist, 'option'),
'type': weechat.infolist_string(infolist, 'type'),
'constants': weechat.infolist_string(
infolist, 'constants').lower().replace(',', ', ')
})
weechat.infolist_free(infolist)
return url_options
@staticmethod
def _read_user_default_aliases():
"""
Get list of default aliases as list of dictionaries.
"""
default_aliases = []
infolist = weechat.infolist_get('alias_default', '', '')
while weechat.infolist_next(infolist):
default_aliases.append({
'name': '/' + weechat.infolist_string(infolist, 'name'),
'command': '/' + weechat.infolist_string(infolist, 'command'),
'completion': weechat.infolist_string(infolist, 'completion'),
})
weechat.infolist_free(infolist)
return default_aliases
@staticmethod
def _read_user_irc_colors():
"""
Get list of IRC colors as list of dictionaries.
"""
irc_colors = []
infolist = weechat.infolist_get('irc_color_weechat', '', '')
while weechat.infolist_next(infolist):
irc_colors.append({
'color_irc': weechat.infolist_string(infolist, 'color_irc'),
'color_weechat': weechat.infolist_string(infolist,
'color_weechat'),
})
weechat.infolist_free(infolist)
return irc_colors
@staticmethod
def _read_api_plugins_priority():
"""
Get priority of default WeeChat plugins as a dictionary.
"""
plugins_priority = {}
infolist = weechat.infolist_get('plugin', '', '')
while weechat.infolist_next(infolist):
name = weechat.infolist_string(infolist, 'name')
priority = weechat.infolist_integer(infolist, 'priority')
if priority in plugins_priority:
plugins_priority[priority].append(name)
else:
plugins_priority[priority] = [name]
weechat.infolist_free(infolist)
return plugins_priority
class AutogenDoc():
"""A class to write auto-generated doc files."""
def __init__(self, weechat_doc, doc_directory, locale):
"""Initialize auto-generated doc file."""
self.doc_directory = doc_directory
self.locale = locale
self.count_files = 0
self.count_updated = 0
self.filename = None
self.filename_tmp = None
self._file = None
self.install_translations()
self.write_autogen_files(weechat_doc)
def install_translations(self):
"""Install translations."""
trans = gettext.translation(
'weechat',
weechat.info_get('weechat_localedir', ''),
languages=[f'{self.locale}.UTF-8'],
fallback=True,
)
trans.install()
def open_file(self, name):
"""Open temporary auto-generated file."""
self.filename = os.path.join(
self.doc_directory,
self.locale[:2],
'includes',
f'autogen_{name}.{self.locale[:2]}.adoc',
)
self.filename_tmp = f'{self.filename}.tmp'
# pylint: disable=consider-using-with
self._file = open(self.filename_tmp, 'w', encoding='utf-8')
def write_autogen_files(self, weechat_doc):
"""Write auto-generated files."""
for name, doc in weechat_doc.items():
self.open_file(name)
self.write_autogen_file(name, doc)
self.update_autogen_file()
def write_autogen_file(self, name, doc):
"""Write auto-generated file."""
self.write('//')
self.write('// This file is auto-generated by script docgen.py.')
self.write('// DO NOT EDIT BY HAND!')
self.write('//')
getattr(self, f'_write_{name}')(doc)
def write(self, *args):
"""Write a line in auto-generated doc file."""
if args:
if len(args) > 1:
self._file.write(args[0] % args[1:])
else:
self._file.write(args[0])
self._file.write('\n')
def update_autogen_file(self):
"""Update doc file if needed (if content has changed)."""
self.count_files += 1
# close temp file
self._file.close()
sha_old = sha256_file(self.filename, 'old')
sha_new = sha256_file(self.filename_tmp, 'new')
# compare checksums
if sha_old != sha_new:
# update doc file
if os.path.exists(self.filename):
os.unlink(self.filename)
os.rename(self.filename_tmp, self.filename)
self.count_updated += 1
else:
os.unlink(self.filename_tmp)
def __str__(self):
"""Get status string."""
if self.count_updated > 0:
color_count = weechat.color('yellow')
color_updated = weechat.color('green')
color_reset = weechat.color('reset')
str_updated = (f', {color_count}{self.count_updated} '
f'{color_updated}updated{color_reset}')
else:
str_updated = ''
return f'{self.locale}: {self.count_files} files{str_updated}'
def _write_user_commands(self, commands):
"""Write commands."""
for plugin in commands:
self.write()
self.write(f'// tag::{plugin}_commands[]')
for i, command in enumerate(sorted(commands[plugin])):
if i > 0:
self.write()
_cmd = commands[plugin][command]
args = translate(_cmd['args'])
args_formats = args.split(' || ')
desc = translate(_cmd['description'])
args_desc = translate(_cmd['args_description'])
self.write(f'[[command_{plugin}_{command}]]')
self.write(f'* `+{command}+`: {desc}\n')
self.write('----')
prefix = '/' + command + ' '
if args_formats != ['']:
for fmt in args_formats:
self.write(prefix + fmt)
prefix = ' ' * len(prefix)
if args_desc:
self.write()
self.write(args_desc)
self.write('----')
self.write(f'// end::{plugin}_commands[]')
# pylint: disable=too-many-locals,too-many-branches
def _write_user_options(self, options):
"""Write config options."""
for config in options:
self.write()
self.write(f'// tag::{config}_options[]')
i = 0
for section in sorted(options[config]):
for option in sorted(options[config][section]):
if i > 0:
self.write()
i += 1
_opt = options[config][section][option]
opt_type = _opt['type']
string_values = _opt['string_values']
default_value = _opt['default_value']
opt_min = _opt['min']
opt_max = _opt['max']
null_value_allowed = _opt['null_value_allowed']
desc = translate(_opt['description'])
type_nls = translate(opt_type)
values = ''
if opt_type == 'boolean':
values = 'on, off'
elif opt_type == 'integer':
if string_values:
values = string_values.replace('|', ', ')
else:
values = f'{opt_min} .. {opt_max}'
elif opt_type == 'string':
if opt_max <= 0:
values = _('any string')
elif opt_max == 1:
values = _('any char')
elif opt_max > 1:
values = (_('any string')
+ '(' + _('max chars') + ': '
+ opt_max + ')')
else:
values = _('any string')
default_value = ('"%s"' %
default_value.replace('"', '\\"'))
elif opt_type == 'color':
values = _(
'a WeeChat color name (default, black, '
'(dark)gray, white, (light)red, '
'(light)green, brown, yellow, (light)blue, '
'(light)magenta, (light)cyan), a terminal '
'color number or an alias; attributes are '
'allowed before color (for text color '
'only, not background): '
'\"%\" for blink, '
'\".\" for \"dim\" (half bright), '
'\"*\" for bold, '
'\"!\" for reverse, '
'\"/\" for italic, '
'\"_\" for underline'
)
self.write(f'* [[option_{config}.{section}.{option}]] '
f'*{config}.{section}.{option}*')
self.write('** %s: pass:none[%s]',
_('description'), desc.replace(']', '\\]'))
self.write('** %s: %s', _('type'), type_nls)
self.write('** %s: %s', _('values'), values)
self.write('** %s: `+%s+`',
_('default value'), default_value)
if null_value_allowed:
self.write('** %s',
_('undefined value allowed (null)'))
self.write(f'// end::{config}_options[]')
def _write_user_default_aliases(self, default_aliases):
"""Write default aliases."""
self.write()
self.write('// tag::default_aliases[]')
self.write('[width="100%",cols="2m,5m,5",options="header"]')
self.write('|===')
self.write('| %s | %s | %s\n',
_('Alias'), _('Command'), _('Completion'))
for alias in default_aliases:
self.write('| %s | %s | %s',
escape(alias['name']),
escape(alias['command']),
escape(alias['completion'] or '-'))
self.write('|===')
self.write('// end::default_aliases[]')
def _write_user_irc_colors(self, irc_colors):
"""Write IRC colors."""
self.write()
self.write('// tag::irc_colors[]')
self.write('[width="50%",cols="^2m,3",options="header"]')
self.write('|===')
self.write('| %s | %s\n', _('IRC color'), _('WeeChat color'))
for color in irc_colors:
self.write('| %s | %s',
escape(color['color_irc']),
escape(color['color_weechat']))
self.write('|===')
self.write('// end::irc_colors[]')
def _write_api_infos(self, infos):
"""Write infos."""
self.write()
self.write('// tag::infos[]')
self.write('[width="100%",cols="^1,^2,6,6",options="header"]')
self.write('|===')
self.write('| %s | %s | %s | %s\n',
_('Plugin'), _('Name'), _('Description'), _('Arguments'))
for plugin in sorted(infos):
for info in sorted(infos[plugin]):
_inf = infos[plugin][info]
desc = translate(_inf['description'])
args_desc = translate(_inf['args_description']) or '-'
self.write('| %s | %s | %s | %s\n',
escape(plugin), escape(info), escape(desc),
escape(args_desc))
self.write('|===')
self.write('// end::infos[]')
def _write_api_infos_hashtable(self, infos_hashtable):
"""Write infos hashtable."""
self.write()
self.write('// tag::infos_hashtable[]')
self.write('[width="100%",cols="^1,^2,6,6,8",options="header"]')
self.write('|===')
self.write('| %s | %s | %s | %s | %s\n',
_('Plugin'), _('Name'), _('Description'),
_('Hashtable (input)'), _('Hashtable (output)'))
for plugin in sorted(infos_hashtable):
for info in sorted(infos_hashtable[plugin]):
_inh = infos_hashtable[plugin][info]
desc = translate(_inh['description'])
args_desc = translate(_inh['args_description']) or '-'
output_desc = translate(_inh['output_description']) or '-'
self.write('| %s | %s | %s | %s | %s\n',
escape(plugin), escape(info), escape(desc),
escape(args_desc), escape(output_desc))
self.write('|===')
self.write('// end::infos_hashtable[]')
def _write_api_infolists(self, infolists):
"""Write infolists."""
self.write()
self.write('// tag::infolists[]')
self.write('[width="100%",cols="^1,^2,5,5,5",options="header"]')
self.write('|===')
self.write('| %s | %s | %s | %s | %s\n',
_('Plugin'), _('Name'), _('Description'), _('Pointer'),
_('Arguments'))
for plugin in sorted(infolists):
for infolist in sorted(infolists[plugin]):
_inl = infolists[plugin][infolist]
desc = translate(_inl['description'])
pointer_desc = translate(_inl['pointer_description']) or '-'
args_desc = translate(_inl['args_description']) or '-'
self.write('| %s | %s | %s | %s | %s\n',
escape(plugin), escape(infolist), escape(desc),
escape(pointer_desc), escape(args_desc))
self.write('|===')
self.write('// end::infolists[]')
def _write_api_hdata(self, hdata):
"""Write hdata."""
self.write()
self.write('// tag::hdata[]')
self.write(':hdata_update_create: __create')
self.write(':hdata_update_delete: __delete')
self.write('[width="100%",cols="^1,^2,2,2,5",options="header"]')
self.write('|===')
self.write('| %s | %s | %s | %s | %s\n',
_('Plugin'), _('Name'), _('Description'), _('Lists'),
_('Variables'))
for plugin in sorted(hdata):
for hdata_name in sorted(hdata[plugin]):
_hda = hdata[plugin][hdata_name]
anchor = f'hdata_{hdata_name}'
desc = translate(_hda['description'])
variables = _hda['vars']
vars_update = _hda['vars_update']
lists = _hda['lists']
self.write(f'| {escape(plugin)}')
self.write(f'| [[{escape(anchor)}]]<<{escape(anchor)},'
f'{escape(hdata_name)}>>')
self.write(f'| {escape(desc)}')
str_lists = escape(lists) if lists else '-'
self.write(f'| {str_lists}')
self.write(f'| {escape(variables)}')
if vars_update:
self.write('*%s* +\n%s',
_('Update allowed:'), escape(vars_update))
self.write()
self.write('|===')
self.write('// end::hdata[]')
def _write_api_completions(self, completions):
"""Write completions."""
self.write()
self.write('// tag::completions[]')
self.write('[width="100%",cols="^1,^2,7",options="header"]')
self.write('|===')
self.write('| %s | %s | %s\n',
_('Plugin'), _('Name'), _('Description'))
for plugin in sorted(completions):
for completion_item in sorted(completions[plugin]):
_cmp = completions[plugin][completion_item]
desc = translate(_cmp['description'])
self.write('| %s | %s | %s\n',
escape(plugin), escape(completion_item),
escape(desc))
self.write('|===')
self.write('// end::completions[]')
def _write_api_url_options(self, url_options):
"""Write URL options."""
self.write()
self.write('// tag::url_options[]')
self.write('[width="100%",cols="2,^1,7",options="header"]')
self.write('|===')
self.write('| %s | %s ^(1)^ | %s ^(2)^\n',
_('Option'), _('Type'), _('Constants'))
for option in url_options:
constants = option['constants']
if constants:
constants = ' ' + constants
self.write('| %s | %s |%s\n',
escape(option['name']), escape(option['type']),
escape(constants))
self.write('|===')
self.write('// end::url_options[]')
def _write_api_plugins_priority(self, plugins_priority):
"""Write plugins priority."""
self.write()
self.write('// tag::plugins_priority[]')
for priority in sorted(plugins_priority, reverse=True):
plugins = ', '.join(sorted(plugins_priority[priority]))
self.write('. %s (%s)', escape(plugins), priority)
self.write('// end::plugins_priority[]')
def docgen_cmd_cb(data, buf, args):
"""Callback for /docgen command."""
doc_directory = data
locales = args.split(' ') if args else sorted(LOCALE_LIST)
weechat_doc = WeechatDoc().read_doc()
weechat.prnt('', '-' * 75)
for locale in locales:
autogen = AutogenDoc(weechat_doc, doc_directory, locale)
weechat.prnt('', f'docgen: {autogen}')
weechat.prnt('', '-' * 75)
return weechat.WEECHAT_RC_OK
def docgen_completion_cb(data, completion_item, buf, completion):
"""Callback for completion."""
for locale in LOCALE_LIST:
weechat.completion_list_add(completion, locale, 0,
weechat.WEECHAT_LIST_POS_SORT)
return weechat.WEECHAT_RC_OK
if __name__ == '__main__' and IMPORT_OK:
if weechat.register(SCRIPT_NAME, SCRIPT_AUTHOR, SCRIPT_VERSION,
SCRIPT_LICENSE, SCRIPT_DESC, '', ''):
weechat.hook_command(
SCRIPT_COMMAND,
'Documentation generator.',
'[locales]',
'locales: list of locales to build (by default build all locales)',
'%(docgen_locales)|%*',
'docgen_cmd_cb',
os.path.dirname(__file__),
)
weechat.hook_completion(
'docgen_locales',
'locales for docgen',
'docgen_completion_cb',
'',
)
-151
View File
@@ -1,151 +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/>.
#
if(ENABLE_MAN)
# man page: weechat
add_custom_command(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/weechat.1
COMMAND ${ASCIIDOCTOR_EXECUTABLE} ARGS ${ASCIIDOCTOR_ARGS} -b manpage -o weechat.1 ${CMAKE_CURRENT_SOURCE_DIR}/weechat.1.en.adoc
DEPENDS
${CMAKE_CURRENT_SOURCE_DIR}/weechat.1.en.adoc
${CMAKE_CURRENT_SOURCE_DIR}/includes/cmdline_options.en.adoc
${CMAKE_CURRENT_SOURCE_DIR}/includes/man.en.adoc
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMENT "Building weechat.1 (en)"
)
add_custom_target(doc-man-weechat-en ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/weechat.1)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/weechat.1 DESTINATION ${MANDIR}/man1)
if(ENABLE_HEADLESS)
# man page: weechat-headless
add_custom_command(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/weechat-headless.1
COMMAND ${ASCIIDOCTOR_EXECUTABLE} ARGS ${ASCIIDOCTOR_ARGS} -b manpage -o weechat-headless.1 ${CMAKE_CURRENT_SOURCE_DIR}/weechat-headless.1.en.adoc
DEPENDS
${CMAKE_CURRENT_SOURCE_DIR}/weechat-headless.1.en.adoc
${CMAKE_CURRENT_SOURCE_DIR}/includes/cmdline_options.en.adoc
${CMAKE_CURRENT_SOURCE_DIR}/includes/man.en.adoc
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMENT "Building weechat-headless.1 (en)"
)
add_custom_target(doc-man-weechat-headless-en ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/weechat-headless.1)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/weechat-headless.1 DESTINATION ${MANDIR}/man1)
endif()
endif()
if(ENABLE_DOC)
file(GLOB AUTOGEN_USER "${CMAKE_CURRENT_SOURCE_DIR}/includes/autogen_user_*.adoc")
file(GLOB AUTOGEN_PLUGIN "${CMAKE_CURRENT_SOURCE_DIR}/includes/autogen_api_*.adoc")
# user's guide
add_custom_command(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/weechat_user.en.html
COMMAND ${ASCIIDOCTOR_EXECUTABLE} ARGS ${ASCIIDOCTOR_ARGS} -o weechat_user.en.html ${CMAKE_CURRENT_SOURCE_DIR}/weechat_user.en.adoc
DEPENDS
${CMAKE_CURRENT_SOURCE_DIR}/../docinfo.html
${CMAKE_CURRENT_SOURCE_DIR}/weechat_user.en.adoc
${CMAKE_CURRENT_SOURCE_DIR}/includes/cmdline_options.en.adoc
${AUTOGEN_USER}
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMENT "Building weechat_user.en.html"
)
add_custom_target(doc-user-en ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/weechat_user.en.html)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/weechat_user.en.html DESTINATION ${DATAROOTDIR}/doc/${PROJECT_NAME})
# plugin API reference
add_custom_command(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/weechat_plugin_api.en.html
COMMAND ${ASCIIDOCTOR_EXECUTABLE} ARGS ${ASCIIDOCTOR_ARGS} -o weechat_plugin_api.en.html ${CMAKE_CURRENT_SOURCE_DIR}/weechat_plugin_api.en.adoc
DEPENDS
${CMAKE_CURRENT_SOURCE_DIR}/../docinfo.html
${CMAKE_CURRENT_SOURCE_DIR}/weechat_plugin_api.en.adoc
${AUTOGEN_PLUGIN}
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMENT "Building weechat_plugin_api.en.html"
)
add_custom_target(doc-plugin-api-en ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/weechat_plugin_api.en.html)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/weechat_plugin_api.en.html DESTINATION ${DATAROOTDIR}/doc/${PROJECT_NAME})
# scripting guide
add_custom_command(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/weechat_scripting.en.html
COMMAND ${ASCIIDOCTOR_EXECUTABLE} ARGS ${ASCIIDOCTOR_ARGS} -o weechat_scripting.en.html ${CMAKE_CURRENT_SOURCE_DIR}/weechat_scripting.en.adoc
DEPENDS
${CMAKE_CURRENT_SOURCE_DIR}/../docinfo.html
${CMAKE_CURRENT_SOURCE_DIR}/weechat_scripting.en.adoc
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMENT "Building weechat_scripting.en.html"
)
add_custom_target(doc-scripting-en ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/weechat_scripting.en.html)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/weechat_scripting.en.html DESTINATION ${DATAROOTDIR}/doc/${PROJECT_NAME})
# FAQ
add_custom_command(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/weechat_faq.en.html
COMMAND ${ASCIIDOCTOR_EXECUTABLE} ARGS ${ASCIIDOCTOR_ARGS} -o weechat_faq.en.html ${CMAKE_CURRENT_SOURCE_DIR}/weechat_faq.en.adoc
DEPENDS
${CMAKE_CURRENT_SOURCE_DIR}/../docinfo.html
${CMAKE_CURRENT_SOURCE_DIR}/weechat_faq.en.adoc
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMENT "Building weechat_faq.en.html"
)
add_custom_target(doc-faq-en ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/weechat_faq.en.html)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/weechat_faq.en.html DESTINATION ${DATAROOTDIR}/doc/${PROJECT_NAME})
# quickstart
add_custom_command(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/weechat_quickstart.en.html
COMMAND ${ASCIIDOCTOR_EXECUTABLE} ARGS ${ASCIIDOCTOR_ARGS} -o weechat_quickstart.en.html ${CMAKE_CURRENT_SOURCE_DIR}/weechat_quickstart.en.adoc
DEPENDS
${CMAKE_CURRENT_SOURCE_DIR}/../docinfo.html
${CMAKE_CURRENT_SOURCE_DIR}/weechat_quickstart.en.adoc
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMENT "Building weechat_quickstart.en.html"
)
add_custom_target(doc-quickstart-en ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/weechat_quickstart.en.html)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/weechat_quickstart.en.html DESTINATION ${DATAROOTDIR}/doc/${PROJECT_NAME})
# relay protocol
add_custom_command(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/weechat_relay_protocol.en.html
COMMAND ${ASCIIDOCTOR_EXECUTABLE} ARGS ${ASCIIDOCTOR_ARGS} -o weechat_relay_protocol.en.html ${CMAKE_CURRENT_SOURCE_DIR}/weechat_relay_protocol.en.adoc
DEPENDS
${CMAKE_CURRENT_SOURCE_DIR}/../docinfo.html
${CMAKE_CURRENT_SOURCE_DIR}/weechat_relay_protocol.en.adoc
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMENT "Building weechat_relay_protocol.en.html"
)
add_custom_target(doc-relay-protocol-en ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/weechat_relay_protocol.en.html)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/weechat_relay_protocol.en.html DESTINATION ${DATAROOTDIR}/doc/${PROJECT_NAME})
# developer's guide
add_custom_command(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/weechat_dev.en.html
COMMAND ${ASCIIDOCTOR_EXECUTABLE} ARGS ${ASCIIDOCTOR_ARGS} -o weechat_dev.en.html ${CMAKE_CURRENT_SOURCE_DIR}/weechat_dev.en.adoc
DEPENDS
${CMAKE_CURRENT_SOURCE_DIR}/../docinfo.html
${CMAKE_CURRENT_SOURCE_DIR}/weechat_dev.en.adoc
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMENT "Building weechat_dev.en.html"
)
add_custom_target(doc-dev-en ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/weechat_dev.en.html)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/weechat_dev.en.html DESTINATION ${DATAROOTDIR}/doc/${PROJECT_NAME})
endif()
-129
View File
@@ -1,129 +0,0 @@
#
# Copyright (C) 2003-2023 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2006 Julien Louis <ptitlouis@sysif.net>
#
# 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/>.
#
docdir = $(datadir)/doc/$(PACKAGE)
EXTRA_DIST = CMakeLists.txt \
docinfo.html \
weechat.1.en.adoc \
weechat-headless.1.en.adoc \
weechat_user.en.adoc \
weechat_plugin_api.en.adoc \
weechat_scripting.en.adoc \
weechat_faq.en.adoc \
weechat_quickstart.en.adoc \
weechat_relay_protocol.en.adoc \
weechat_dev.en.adoc \
includes/autogen_api_completions.en.adoc \
includes/autogen_api_hdata.en.adoc \
includes/autogen_api_infolists.en.adoc \
includes/autogen_api_infos.en.adoc \
includes/autogen_api_infos_hashtable.en.adoc \
includes/autogen_api_plugins_priority.en.adoc \
includes/autogen_api_url_options.en.adoc \
includes/autogen_user_commands.en.adoc \
includes/autogen_user_default_aliases.en.adoc \
includes/autogen_user_irc_colors.en.adoc \
includes/autogen_user_options.en.adoc \
includes/cmdline_options.en.adoc \
includes/man.en.adoc
if MAN
man_targets = weechat.1 \
weechat-headless.1
man_install = install-man
man_uninstall = uninstall-man
endif
if DOC
doc_targets = weechat_user.en.html \
weechat_plugin_api.en.html \
weechat_scripting.en.html \
weechat_faq.en.html \
weechat_quickstart.en.html \
weechat_relay_protocol.en.html \
weechat_dev.en.html
doc_install = install-doc
doc_uninstall = uninstall-doc
endif
all-local: $(man_targets) $(doc_targets)
# man pages
weechat.1: weechat.1.en.adoc includes/cmdline_options.en.adoc includes/man.en.adoc
$(ASCIIDOCTOR) $(ASCIIDOCTOR_ARGS) -a revnumber="$(VERSION)" -b manpage -o weechat.1 $(abs_top_srcdir)/doc/en/weechat.1.en.adoc
weechat-headless.1: weechat-headless.1.en.adoc includes/cmdline_options.en.adoc includes/man.en.adoc
$(ASCIIDOCTOR) $(ASCIIDOCTOR_ARGS) -a revnumber="$(VERSION)" -b manpage -o weechat-headless.1 $(abs_top_srcdir)/doc/en/weechat-headless.1.en.adoc
# user's guide
weechat_user.en.html: weechat_user.en.adoc includes/cmdline_options.en.adoc $(wildcard includes/autogen_user_*.adoc) $(abs_top_srcdir)/doc/docinfo.html
$(ASCIIDOCTOR) $(ASCIIDOCTOR_ARGS) -a revnumber="$(VERSION)" -o weechat_user.en.html $(abs_top_srcdir)/doc/en/weechat_user.en.adoc
# plugin API reference
weechat_plugin_api.en.html: weechat_plugin_api.en.adoc $(wildcard includes/autogen_api_*.adoc) $(abs_top_srcdir)/doc/docinfo.html
$(ASCIIDOCTOR) $(ASCIIDOCTOR_ARGS) -a revnumber="$(VERSION)" -o weechat_plugin_api.en.html $(abs_top_srcdir)/doc/en/weechat_plugin_api.en.adoc
# scripting guide
weechat_scripting.en.html: weechat_scripting.en.adoc $(abs_top_srcdir)/doc/docinfo.html
$(ASCIIDOCTOR) $(ASCIIDOCTOR_ARGS) -a revnumber="$(VERSION)" -o weechat_scripting.en.html $(abs_top_srcdir)/doc/en/weechat_scripting.en.adoc
# FAQ
weechat_faq.en.html: weechat_faq.en.adoc $(abs_top_srcdir)/doc/docinfo.html
$(ASCIIDOCTOR) $(ASCIIDOCTOR_ARGS) -a revnumber="$(VERSION)" -o weechat_faq.en.html $(abs_top_srcdir)/doc/en/weechat_faq.en.adoc
# quickstart
weechat_quickstart.en.html: weechat_quickstart.en.adoc $(abs_top_srcdir)/doc/docinfo.html
$(ASCIIDOCTOR) $(ASCIIDOCTOR_ARGS) -a revnumber="$(VERSION)" -o weechat_quickstart.en.html $(abs_top_srcdir)/doc/en/weechat_quickstart.en.adoc
# relay protocol
weechat_relay_protocol.en.html: weechat_relay_protocol.en.adoc $(abs_top_srcdir)/doc/docinfo.html
$(ASCIIDOCTOR) $(ASCIIDOCTOR_ARGS) -a revnumber="$(VERSION)" -o weechat_relay_protocol.en.html $(abs_top_srcdir)/doc/en/weechat_relay_protocol.en.adoc
# developer's guide
weechat_dev.en.html: weechat_dev.en.adoc $(abs_top_srcdir)/doc/docinfo.html
$(ASCIIDOCTOR) $(ASCIIDOCTOR_ARGS) -a revnumber="$(VERSION)" -o weechat_dev.en.html $(abs_top_srcdir)/doc/en/weechat_dev.en.adoc
# install man/docs
install-data-hook: $(man_install) $(doc_install)
install-man:
$(mkinstalldirs) $(DESTDIR)$(mandir)/man1/
$(INSTALL_DATA) *.1 $(DESTDIR)$(mandir)/man1/
install-doc:
$(mkinstalldirs) $(DESTDIR)$(docdir)/
$(INSTALL_DATA) *.html $(DESTDIR)$(docdir)/
# uninstall man/docs
uninstall-hook: $(man_uninstall) $(doc_uninstall)
uninstall-man:
$(RM) $(DESTDIR)$(mandir)/man1/weechat.1
$(RM) $(DESTDIR)$(mandir)/man1/weechat-headless.1
-rmdir $(DESTDIR)$(mandir)/man1
uninstall-doc:
$(RM) $(DESTDIR)$(docdir)/*.en.html
-rmdir $(DESTDIR)$(docdir)
# clean
clean-local:
-$(RM) weechat.1 weechat-headless.1 weechat_*.html
-1
View File
@@ -1 +0,0 @@
../docinfo.html
@@ -1,204 +0,0 @@
//
// This file is auto-generated by script docgen.py.
// DO NOT EDIT BY HAND!
//
// tag::completions[]
[width="100%",cols="^1,^2,7",options="header"]
|===
| Plugin | Name | Description
| alias | alias | list of aliases
| alias | alias_value | value of alias
| exec | exec_commands_ids | ids (numbers and names) of executed commands
| fset | fset_options | configuration files, sections, options and words of options
| guile | guile_script | list of scripts
| irc | irc_channel | current IRC channel
| irc | irc_channel_nicks_hosts | nicks and hostnames of current IRC channel
| irc | irc_channel_topic | topic of current IRC channel
| irc | irc_channels | channels on all IRC servers
| irc | irc_channels_autojoin | channels automatically joined on the current server (option "autojoin")
| irc | irc_ignores_numbers | numbers for defined ignores
| irc | irc_modelist_masks | modelist masks of current IRC channel; required argument: modelist mode
| irc | irc_modelist_numbers | modelist numbers of current IRC channel; required argument: modelist mode
| irc | irc_msg_kick | default kick message
| irc | irc_msg_part | default part message for IRC channel
| irc | irc_notify_nicks | nicks in notify list
| irc | irc_privates | privates on all IRC servers
| irc | irc_raw_filters | filters for irc raw buffer
| irc | irc_server | current IRC server
| irc | irc_server_channels | channels on current IRC server
| irc | irc_server_nick | nick on current IRC server
| irc | irc_server_nicks | nicks on all channels of current IRC server
| irc | irc_server_privates | privates on current IRC server
| irc | irc_servers | IRC servers (internal names)
| irc | nick | nicks of current IRC channel
| javascript | javascript_script | list of scripts
| lua | lua_script | list of scripts
| perl | perl_script | list of scripts
| php | php_script | list of scripts
| python | python_script | list of scripts
| relay | relay_free_port | first free port for relay plugin
| relay | relay_protocol_name | all possible protocol.name for relay plugin
| relay | relay_relays | protocol.name of current relays for relay plugin
| ruby | ruby_script | list of scripts
| script | script_extensions | list of script extensions
| script | script_files | files in script directories
| script | script_languages | list of script languages
| script | script_scripts | list of scripts in repository
| script | script_scripts_installed | list of scripts installed (from repository)
| script | script_tags | tags of scripts in repository
| spell | spell_dicts | list of installed dictionaries
| spell | spell_langs | list of all languages supported
| tcl | tcl_script | list of scripts
| trigger | trigger_add_arguments | arguments for command that adds a trigger: trigger name, hooks, hook arguments, hook conditions, hook regex, hook command, hook return code, post actions
| trigger | trigger_hook_arguments | default arguments for a hook
| trigger | trigger_hook_command | default command for a hook
| trigger | trigger_hook_conditions | default conditions for a hook
| trigger | trigger_hook_rc | default return codes for hook callback
| trigger | trigger_hook_regex | default regular expression for a hook
| trigger | trigger_hooks | hooks for triggers
| trigger | trigger_hooks_filter | hooks for triggers (for filter in monitor buffer)
| trigger | trigger_names | triggers
| trigger | trigger_names_default | default triggers
| trigger | trigger_option_value | value of a trigger option
| trigger | trigger_options | options for triggers
| trigger | trigger_post_action | trigger post actions
| weechat | bars_names | names of bars
| weechat | bars_options | options for bars
| weechat | buffer_local_variable_value | value of a buffer local variable
| weechat | buffer_local_variables | buffer local variables
| weechat | buffer_properties_get | properties that can be read on a buffer
| weechat | buffer_properties_set | properties that can be set on a buffer
| weechat | buffers_names | names of buffers
| weechat | buffers_numbers | numbers of buffers
| weechat | buffers_plugins_names | names of buffers (including plugins names)
| weechat | colors | color names
| weechat | commands | commands (weechat and plugins); optional argument: prefix to add before the commands
| weechat | config_files | configuration files
| weechat | config_option_values | values for a configuration option
| weechat | config_options | configuration options
| weechat | cursor_areas | areas ("chat" or bar name) for free cursor movement
| weechat | custom_bar_item_add_arguments | arguments for command that adds a custom bar item: item name, conditions, content
| weechat | custom_bar_item_conditions | conditions for custom bar item
| weechat | custom_bar_item_contents | contents for custom bar item
| weechat | custom_bar_items_names | names of custom bar items
| weechat | env_value | value of an environment variable
| weechat | env_vars | environment variables
| weechat | filename | filename; optional argument: default path (evaluated, see /help eval)
| weechat | filters_names | names of filters
| weechat | infolists | names of infolists hooked
| weechat | infos | names of infos hooked
| weechat | keys_codes | key codes
| weechat | keys_codes_for_reset | key codes that can be reset (keys added, redefined or removed)
| weechat | keys_contexts | key contexts
| weechat | layouts_names | names of layouts
| weechat | nicks | nicks in nicklist of current buffer
| weechat | palette_colors | palette colors
| weechat | plugins_commands | commands defined by plugins; optional argument: prefix to add before the commands
| weechat | plugins_installed | names of plugins installed
| weechat | plugins_names | names of plugins
| weechat | proxies_names | names of proxies
| weechat | proxies_options | options for proxies
| weechat | secured_data | names of secured data (file sec.conf, section data)
| weechat | weechat_commands | weechat commands; optional argument: prefix to add before the commands
| weechat | windows_numbers | numbers of windows
| xfer | nick | nicks of DCC chat
|===
// end::completions[]
File diff suppressed because it is too large Load Diff
@@ -1,94 +0,0 @@
//
// This file is auto-generated by script docgen.py.
// DO NOT EDIT BY HAND!
//
// tag::infolists[]
[width="100%",cols="^1,^2,5,5,5",options="header"]
|===
| Plugin | Name | Description | Pointer | Arguments
| alias | alias | list of aliases | alias pointer (optional) | alias name (wildcard "*" is allowed) (optional)
| alias | alias_default | list of default aliases | - | -
| buflist | buflist | list of buffers in a buflist bar item | - | buflist bar item name (optional)
| fset | fset_option | list of fset options | fset option pointer (optional) | option name (wildcard "*" is allowed) (optional)
| guile | guile_script | list of scripts | script pointer (optional) | script name (wildcard "*" is allowed) (optional)
| irc | irc_channel | list of channels for an IRC server | channel pointer (optional) | server,channel (channel is optional)
| irc | irc_color_weechat | mapping between IRC color codes and WeeChat color names | - | -
| irc | irc_ignore | list of IRC ignores | ignore pointer (optional) | -
| irc | irc_modelist | list of channel mode lists for an IRC channel | mode list pointer (optional) | server,channel,type (type is optional)
| irc | irc_modelist_item | list of items in a channel mode list | mode list item pointer (optional) | server,channel,type,number (number is optional)
| irc | irc_nick | list of nicks for an IRC channel | nick pointer (optional) | server,channel,nick (nick is optional)
| irc | irc_notify | list of notify | notify pointer (optional) | server name (wildcard "*" is allowed) (optional)
| irc | irc_server | list of IRC servers | server pointer (optional) | server name (wildcard "*" is allowed) (optional)
| javascript | javascript_script | list of scripts | script pointer (optional) | script name (wildcard "*" is allowed) (optional)
| logger | logger_buffer | list of logger buffers | logger pointer (optional) | -
| lua | lua_script | list of scripts | script pointer (optional) | script name (wildcard "*" is allowed) (optional)
| perl | perl_script | list of scripts | script pointer (optional) | script name (wildcard "*" is allowed) (optional)
| php | php_script | list of scripts | script pointer (optional) | script name (wildcard "*" is allowed) (optional)
| python | python_script | list of scripts | script pointer (optional) | script name (wildcard "*" is allowed) (optional)
| relay | relay | list of relay clients | relay pointer (optional) | -
| ruby | ruby_script | list of scripts | script pointer (optional) | script name (wildcard "*" is allowed) (optional)
| script | script_script | list of scripts | script pointer (optional) | script name with extension (wildcard "*" is allowed) (optional)
| tcl | tcl_script | list of scripts | script pointer (optional) | script name (wildcard "*" is allowed) (optional)
| weechat | bar | list of bars | bar pointer (optional) | bar name (wildcard "*" is allowed) (optional)
| weechat | bar_item | list of bar items | bar item pointer (optional) | bar item name (wildcard "*" is allowed) (optional)
| weechat | bar_window | list of bar windows | bar window pointer (optional) | -
| weechat | buffer | list of buffers | buffer pointer (optional) | buffer name (wildcard "*" is allowed) (optional)
| weechat | buffer_lines | lines of a buffer | buffer pointer | -
| weechat | filter | list of filters | - | filter name (wildcard "*" is allowed) (optional)
| weechat | history | history of commands | buffer pointer (if not set, return global history) (optional) | -
| weechat | hook | list of hooks | hook pointer (optional) | type,arguments (type is command/timer/.., arguments to get only some hooks (wildcard "*" is allowed), both are optional)
| weechat | hotlist | list of buffers in hotlist | - | -
| weechat | key | list of key bindings | - | context ("default", "search", "cursor" or "mouse") (optional)
| weechat | layout | list of layouts | - | -
| weechat | nicklist | nicks in nicklist for a buffer | buffer pointer | nick_xxx or group_xxx to get only nick/group xxx (optional)
| weechat | option | list of options | - | option name (wildcard "*" is allowed) (optional)
| weechat | plugin | list of plugins | plugin pointer (optional) | plugin name (wildcard "*" is allowed) (optional)
| weechat | proxy | list of proxies | proxy pointer (optional) | proxy name (wildcard "*" is allowed) (optional)
| weechat | url_options | options for URL | - | -
| weechat | window | list of windows | window pointer (optional) | "current" for current window or a window number (optional)
| xfer | xfer | list of xfer | xfer pointer (optional) | -
|===
// end::infolists[]
-164
View File
@@ -1,164 +0,0 @@
//
// This file is auto-generated by script docgen.py.
// DO NOT EDIT BY HAND!
//
// tag::infos[]
[width="100%",cols="^1,^2,6,6",options="header"]
|===
| Plugin | Name | Description | Arguments
| fifo | fifo_filename | name of FIFO pipe | -
| guile | guile_eval | evaluation of source code | source code to execute
| guile | guile_interpreter | name of the interpreter used | -
| guile | guile_version | version of the interpreter used | -
| irc | irc_buffer | get buffer pointer for an IRC server/channel/nick | server,channel,nick (channel and nicks are optional)
| irc | irc_is_channel | 1 if string is a valid IRC channel name for server | server,channel (server is optional)
| irc | irc_is_message_ignored | 1 if the nick is ignored (message is not displayed) | server,message (message is the raw IRC message)
| irc | irc_is_nick | 1 if string is a valid IRC nick name | server,nickname (server is optional)
| irc | irc_nick | get current nick on a server | server name
| irc | irc_nick_color | get nick color code (*deprecated* since version 1.5, replaced by "nick_color") | nickname
| irc | irc_nick_color_name | get nick color name (*deprecated* since version 1.5, replaced by "nick_color_name") | nickname
| irc | irc_nick_from_host | get nick from IRC host | IRC host (like `:nick!name@server.com`)
| irc | irc_server_isupport | 1 if server supports this feature (from IRC message 005) | server,feature
| irc | irc_server_isupport_value | value of feature, if supported by server (from IRC message 005) | server,feature
| javascript | javascript_eval | evaluation of source code | source code to execute
| javascript | javascript_interpreter | name of the interpreter used | -
| javascript | javascript_version | version of the interpreter used | -
| lua | lua_eval | evaluation of source code | source code to execute
| lua | lua_interpreter | name of the interpreter used | -
| lua | lua_version | version of the interpreter used | -
| perl | perl_eval | evaluation of source code | source code to execute
| perl | perl_interpreter | name of the interpreter used | -
| perl | perl_version | version of the interpreter used | -
| php | php_eval | evaluation of source code | source code to execute
| php | php_interpreter | name of the interpreter used | -
| php | php_version | version of the interpreter used | -
| python | python_eval | evaluation of source code | source code to execute
| python | python_interpreter | name of the interpreter used | -
| python | python_version | version of the interpreter used | -
| relay | relay_client_count | number of clients for relay | protocol,status (both are optional, for each argument "*" means all; protocols: irc, weechat; statuses: connecting, waiting_auth, connected, auth_failed, disconnected)
| ruby | ruby_eval | evaluation of source code | source code to execute
| ruby | ruby_interpreter | name of the interpreter used | -
| ruby | ruby_version | version of the interpreter used | -
| spell | spell_dict | comma-separated list of dictionaries used in buffer | buffer pointer ("0x12345678") or buffer full name ("irc.libera.#weechat")
| tcl | tcl_eval | evaluation of source code | source code to execute
| tcl | tcl_interpreter | name of the interpreter used | -
| tcl | tcl_version | version of the interpreter used | -
| weechat | auto_connect | 1 if automatic connection to servers is enabled, 0 if it has been disabled by the user (option "-a" or "--no-connect") | -
| weechat | charset_internal | WeeChat internal charset | -
| weechat | charset_terminal | terminal charset | -
| weechat | color_ansi_regex | POSIX extended regular expression to search ANSI escape codes | -
| weechat | color_rgb2term | RGB color converted to terminal color (0-255) | rgb,limit (limit is optional and is set to 256 by default)
| weechat | color_term2rgb | terminal color (0-255) converted to RGB color | color (terminal color: 0-255)
| weechat | cursor_mode | 1 if cursor mode is enabled | -
| weechat | date | WeeChat compilation date/time | -
| weechat | dir_separator | directory separator | -
| weechat | filters_enabled | 1 if filters are enabled | -
| weechat | inactivity | keyboard inactivity (seconds) | -
| weechat | locale | locale used for translating messages | -
| weechat | nick_color | get nick color code | nickname;colors (colors is an optional comma-separated list of colors to use; background is allowed for a color with format text:background; if colors is present, WeeChat options with nick colors and forced nick colors are ignored)
| weechat | nick_color_name | get nick color name | nickname;colors (colors is an optional comma-separated list of colors to use; background is allowed for a color with format text:background; if colors is present, WeeChat options with nick colors and forced nick colors are ignored)
| weechat | pid | WeeChat PID (process ID) | -
| weechat | term_color_pairs | number of color pairs supported in terminal | -
| weechat | term_colors | number of colors supported in terminal | -
| weechat | term_height | height of terminal | -
| weechat | term_width | width of terminal | -
| weechat | totp_generate | generate a Time-based One-Time Password (TOTP) | secret (in base32), timestamp (optional, current time by default), number of digits (optional, between 4 and 10, 6 by default)
| weechat | totp_validate | validate a Time-based One-Time Password (TOTP): 1 if TOTP is correct, otherwise 0 | secret (in base32), one-time password, timestamp (optional, current time by default), number of passwords before/after to test (optional, 0 by default)
| weechat | uptime | WeeChat uptime (format: "days:hh:mm:ss") | "days" (number of days) or "seconds" (number of seconds) (optional)
| weechat | uptime_current | WeeChat uptime for the current process only (upgrades with /upgrade command are ignored) (format: "days:hh:mm:ss") | "days" (number of days) or "seconds" (number of seconds) (optional)
| weechat | version | WeeChat version | -
| weechat | version_git | WeeChat git version (output of command "git describe" for a development version only, empty for a stable release) | -
| weechat | version_number | WeeChat version (as number) | -
| weechat | weechat_cache_dir | WeeChat cache directory | -
| weechat | weechat_config_dir | WeeChat config directory | -
| weechat | weechat_daemon | 1 if WeeChat is running in daemon mode (headless, in background) | -
| weechat | weechat_data_dir | WeeChat data directory | -
| weechat | weechat_dir | WeeChat directory (*deprecated* since version 3.2, replaced by "weechat_config_dir", "weechat_data_dir", "weechat_cache_dir" and "weechat_runtime_dir") | -
| weechat | weechat_headless | 1 if WeeChat is running headless | -
| weechat | weechat_libdir | WeeChat "lib" directory | -
| weechat | weechat_localedir | WeeChat "locale" directory | -
| weechat | weechat_runtime_dir | WeeChat runtime directory | -
| weechat | weechat_sharedir | WeeChat "share" directory | -
| weechat | weechat_site | WeeChat site | -
| weechat | weechat_site_download | WeeChat site, download page | -
| weechat | weechat_upgrading | 1 if WeeChat is upgrading (command `/upgrade`) | -
|===
// end::infos[]
@@ -1,20 +0,0 @@
//
// This file is auto-generated by script docgen.py.
// DO NOT EDIT BY HAND!
//
// tag::infos_hashtable[]
[width="100%",cols="^1,^2,6,6,8",options="header"]
|===
| Plugin | Name | Description | Hashtable (input) | Hashtable (output)
| irc | irc_message_parse | parse an IRC message | "message": IRC message, "server": server name (optional) | "tags": tags, "tag_xxx": unescaped value of tag "xxx" (one key per tag), "message_without_tags": message without the tags, "nick": nick, "user": user, "host": host, "command": command, "channel": channel, "arguments": arguments (includes channel), "text": text (for example user message), "param1" ... "paramN": parsed command parameters, "num_params": number of parsed command parameters, "pos_command": index of "command" message ("-1" if "command" was not found), "pos_arguments": index of "arguments" message ("-1" if "arguments" was not found), "pos_channel": index of "channel" message ("-1" if "channel" was not found), "pos_text": index of "text" message ("-1" if "text" was not found)
| irc | irc_message_split | split an IRC message (to fit in 512 bytes by default) | "message": IRC message, "server": server name (optional) | "msg1" ... "msgN": messages to send (without final "\r\n"), "args1" ... "argsN": arguments of messages, "count": number of messages
| weechat | focus_info | get focus info | "x": x coordinate (string with integer >= 0), "y": y coordinate (string with integer >= 0) | see function "hook_focus" in Plugin API reference
| weechat | secured_data | secured data | - | secured data: names and values (be careful: the values are sensitive data: do NOT print/log them anywhere)
|===
// end::infos_hashtable[]
@@ -1,29 +0,0 @@
//
// This file is auto-generated by script docgen.py.
// DO NOT EDIT BY HAND!
//
// tag::plugins_priority[]
. charset (16000)
. logger (15000)
. exec (14000)
. trigger (13000)
. spell (12000)
. alias (11000)
. buflist (10000)
. fifo (9000)
. typing (8000)
. xfer (7000)
. irc (6000)
. relay (5000)
. guile (4070)
. javascript (4060)
. lua (4050)
. perl (4040)
. php (4030)
. python (4020)
. ruby (4010)
. tcl (4000)
. script (3000)
. fset (2000)
// end::plugins_priority[]
@@ -1,462 +0,0 @@
//
// This file is auto-generated by script docgen.py.
// DO NOT EDIT BY HAND!
//
// tag::url_options[]
[width="100%",cols="2,^1,7",options="header"]
|===
| Option | Type ^(1)^ | Constants ^(2)^
| verbose | long |
| header | long |
| noprogress | long |
| nosignal | long |
| wildcardmatch | long |
| failonerror | long |
| keep_sending_on_error | long |
| proxy | string |
| proxyport | long |
| port | long |
| pre_proxy | string |
| httpproxytunnel | long |
| interface | string |
| dns_cache_timeout | long |
| proxytype | long | http, socks4, socks5, socks4a, socks5_hostname, http_1_0, https
| buffersize | long |
| tcp_nodelay | long |
| localport | long |
| localportrange | long |
| address_scope | long |
| noproxy | string |
| socks5_gssapi_nec | long |
| tcp_keepalive | long |
| tcp_keepidle | long |
| tcp_keepintvl | long |
| unix_socket_path | string |
| abstract_unix_socket | string |
| path_as_is | long |
| proxy_service_name | string |
| service_name | string |
| default_protocol | string |
| tcp_fastopen | long |
| socks5_auth | long |
| haproxyprotocol | long |
| doh_url | string |
| protocols_str | string |
| redir_protocols_str | string |
| netrc | long | ignored, optional, required
| userpwd | string |
| proxyuserpwd | string |
| httpauth | mask | none, basic, digest, ntlm, any, anysafe, digest_ie, only, ntlm_wb, negotiate, gssapi, bearer, aws_sigv4
| proxyauth | mask | none, basic, digest, ntlm, any, anysafe, digest_ie, only, ntlm_wb, negotiate, gssapi, bearer, aws_sigv4
| netrc_file | string |
| username | string |
| password | string |
| proxyusername | string |
| proxypassword | string |
| tlsauth_type | mask | none, srp
| tlsauth_username | string |
| tlsauth_password | string |
| sasl_authzid | string |
| sasl_ir | long |
| xoauth2_bearer | string |
| login_options | string |
| disallow_username_in_url | long |
| autoreferer | long |
| followlocation | long |
| post | long |
| postfields | string |
| referer | string |
| useragent | string |
| httpheader | list |
| cookie | string |
| cookiefile | string |
| postfieldsize | long |
| maxredirs | long |
| httpget | long |
| cookiejar | string |
| http_version | long | none, 1_0, 1_1, 2_0, 2, 2tls, 2_prior_knowledge, 3
| cookiesession | long |
| http200aliases | list |
| unrestricted_auth | long |
| postfieldsize_large | long long |
| cookielist | string |
| ignore_content_length | long |
| accept_encoding | string |
| transfer_encoding | long |
| http_content_decoding | long |
| http_transfer_decoding | long |
| copypostfields | string |
| postredir | mask | post_301, post_302
| expect_100_timeout_ms | long |
| headeropt | mask | unified, separate
| proxyheader | list |
| pipewait | long |
| stream_weight | long |
| request_target | string |
| http09_allowed | long |
| hsts | string |
| hsts_ctrl | mask | enable, readonlyfile
| mail_from | string |
| mail_rcpt | list |
| mail_auth | string |
| mail_rcpt_alllowfails | long |
| tftp_blksize | long |
| tftp_no_options | long |
| ftpport | string |
| quote | list |
| postquote | list |
| ftp_use_epsv | long |
| prequote | list |
| ftp_use_eprt | long |
| ftp_create_missing_dirs | long |
| ftpsslauth | long | default, ssl, tls
| ftp_account | string |
| ftp_skip_pasv_ip | long |
| ftp_filemethod | long | multicwd, nocwd, singlecwd
| ftp_alternative_to_user | string |
| ftp_ssl_ccc | long | ccc_none, ccc_active, ccc_passive
| dirlistonly | long |
| append | long |
| ftp_use_pret | long |
| rtsp_request | long | options, describe, announce, setup, play, pause, teardown, get_parameter, set_parameter, record, receive
| rtsp_session_id | string |
| rtsp_stream_uri | string |
| rtsp_transport | string |
| rtsp_client_cseq | long |
| rtsp_server_cseq | long |
| aws_sigv4 | string |
| crlf | long |
| range | string |
| resume_from | long |
| customrequest | string |
| nobody | long |
| infilesize | long |
| upload | long |
| timecondition | long | none, ifmodsince, ifunmodsince, lastmod
| timevalue | long |
| transfertext | long |
| filetime | long |
| maxfilesize | long |
| proxy_transfer_mode | long |
| resume_from_large | long long |
| infilesize_large | long long |
| maxfilesize_large | long long |
| timevalue_large | long long |
| upload_buffersize | long |
| mime_options | mask | formescape
| timeout | long |
| low_speed_limit | long |
| low_speed_time | long |
| fresh_connect | long |
| forbid_reuse | long |
| connecttimeout | long |
| ipresolve | long | whatever, v4, v6
| connect_only | long |
| max_send_speed_large | long long |
| max_recv_speed_large | long long |
| timeout_ms | long |
| connecttimeout_ms | long |
| maxage_conn | long |
| maxconnects | long |
| use_ssl | long | none, try, control, all
| resolve | list |
| dns_servers | string |
| accepttimeout_ms | long |
| dns_interface | string |
| dns_local_ip4 | string |
| dns_local_ip6 | string |
| connect_to | list |
| happy_eyeballs_timeout_ms | long |
| dns_shuffle_addresses | long |
| upkeep_interval_ms | long |
| maxlifetime_conn | long |
| sslcert | string |
| sslversion | long | default, tlsv1, sslv2, sslv3, tlsv1_0, tlsv1_1, tlsv1_2, tlsv1_3, max_default, max_none, max_tlsv1_0, max_tlsv1_1, max_tlsv1_2, max_tlsv1_3
| ssl_verifypeer | long |
| cainfo | string |
| ssl_verifyhost | long |
| ssl_cipher_list | string |
| sslcerttype | string |
| sslkey | string |
| sslkeytype | string |
| sslengine | string |
| sslengine_default | long |
| capath | string |
| ssl_sessionid_cache | long |
| krblevel | string |
| keypasswd | string |
| issuercert | string |
| crlfile | string |
| certinfo | long |
| gssapi_delegation | long | none, policy_flag, flag
| ssl_options | long | allow_beast, no_revoke, no_backends, ok, too_late, unknown_backend, no_partialchain, revoke_best_effort, native_ca, auto_client_cert
| ssl_enable_alpn | long |
| pinnedpublickey | string |
| ssl_verifystatus | long |
| ssl_falsestart | long |
| proxy_cainfo | string |
| proxy_capath | string |
| proxy_crlfile | string |
| proxy_keypasswd | string |
| proxy_pinnedpublickey | string |
| proxy_sslcert | string |
| proxy_sslcerttype | string |
| proxy_sslkey | string |
| proxy_sslkeytype | string |
| proxy_sslversion | long | default, tlsv1, sslv2, sslv3, tlsv1_0, tlsv1_1, tlsv1_2, tlsv1_3, max_default, max_none, max_tlsv1_0, max_tlsv1_1, max_tlsv1_2, max_tlsv1_3
| proxy_ssl_cipher_list | list |
| proxy_ssl_options | long | allow_beast, no_revoke, no_backends, ok, too_late, unknown_backend, no_partialchain, revoke_best_effort, native_ca, auto_client_cert
| proxy_ssl_verifyhost | long |
| proxy_ssl_verifypeer | long |
| proxy_tlsauth_password | string |
| proxy_tlsauth_type | string |
| proxy_tlsauth_username | string |
| tls13_ciphers | list |
| proxy_tls13_ciphers | list |
| proxy_issuercert | string |
| ssl_ec_curves | string |
| doh_ssl_verifyhost | long |
| doh_ssl_verifypeer | long |
| doh_ssl_verifystatus | long |
| ca_cache_timeout | long |
| ssh_auth_types | mask | none, policy_flag, flag
| ssh_public_keyfile | string |
| ssh_private_keyfile | string |
| ssh_host_public_key_md5 | string |
| ssh_knownhosts | string |
| ssh_compression | long |
| ssh_host_public_key_sha256 | string |
| telnetoptions | list |
| ws_options | mask | binary, close, cont, offset, ping, pong, raw_mode, text
| new_file_perms | long |
| new_directory_perms | long |
| quick_exit | long |
|===
// end::url_options[]
File diff suppressed because it is too large Load Diff
@@ -1,44 +0,0 @@
//
// This file is auto-generated by script docgen.py.
// DO NOT EDIT BY HAND!
//
// tag::default_aliases[]
[width="100%",cols="2m,5m,5",options="header"]
|===
| Alias | Command | Completion
| /AAWAY | /allserv /away | -
| /ANICK | /allserv /nick | -
| /BEEP | /print -beep | -
| /BYE | /quit | -
| /C | /buffer clear | -
| /CL | /buffer clear | -
| /CLOSE | /buffer close | -
| /CHAT | /dcc chat | -
| /EXIT | /quit | -
| /IG | /ignore | -
| /J | /join | -
| /K | /kick | -
| /KB | /kickban | -
| /LEAVE | /part | -
| /M | /msg | -
| /MUB | /unban * | -
| /MSGBUF | /command -buffer $1 * /input send $2- | %(buffers_plugins_names)
| /N | /names | -
| /Q | /query | -
| /REDRAW | /window refresh | -
| /SAY | /msg * | -
| /SIGNOFF | /quit | -
| /T | /topic | -
| /UB | /unban | -
| /UMODE | /mode $nick | -
| /V | /command core version | -
| /W | /who | -
| /WC | /window close | -
| /WI | /whois | -
| /WII | /whois $1 $1 | -
| /WM | /window merge | -
| /WW | /whowas | -
|===
// end::default_aliases[]
@@ -1,112 +0,0 @@
//
// This file is auto-generated by script docgen.py.
// DO NOT EDIT BY HAND!
//
// tag::irc_colors[]
[width="50%",cols="^2m,3",options="header"]
|===
| IRC color | WeeChat color
| 00 | white
| 01 | black
| 02 | blue
| 03 | green
| 04 | lightred
| 05 | red
| 06 | magenta
| 07 | brown
| 08 | yellow
| 09 | lightgreen
| 10 | cyan
| 11 | lightcyan
| 12 | lightblue
| 13 | lightmagenta
| 14 | darkgray
| 15 | gray
| 16 | 52
| 17 | 94
| 18 | 100
| 19 | 58
| 20 | 22
| 21 | 29
| 22 | 23
| 23 | 24
| 24 | 17
| 25 | 54
| 26 | 53
| 27 | 89
| 28 | 88
| 29 | 130
| 30 | 142
| 31 | 64
| 32 | 28
| 33 | 35
| 34 | 30
| 35 | 25
| 36 | 18
| 37 | 91
| 38 | 90
| 39 | 125
| 40 | 124
| 41 | 166
| 42 | 184
| 43 | 106
| 44 | 34
| 45 | 49
| 46 | 37
| 47 | 33
| 48 | 19
| 49 | 129
| 50 | 127
| 51 | 161
| 52 | 196
| 53 | 208
| 54 | 226
| 55 | 154
| 56 | 46
| 57 | 86
| 58 | 51
| 59 | 75
| 60 | 21
| 61 | 171
| 62 | 201
| 63 | 198
| 64 | 203
| 65 | 215
| 66 | 227
| 67 | 191
| 68 | 83
| 69 | 122
| 70 | 87
| 71 | 111
| 72 | 63
| 73 | 177
| 74 | 207
| 75 | 205
| 76 | 217
| 77 | 223
| 78 | 229
| 79 | 193
| 80 | 157
| 81 | 158
| 82 | 159
| 83 | 153
| 84 | 147
| 85 | 183
| 86 | 219
| 87 | 212
| 88 | 16
| 89 | 233
| 90 | 235
| 91 | 237
| 92 | 239
| 93 | 241
| 94 | 244
| 95 | 247
| 96 | 250
| 97 | 254
| 98 | 231
| 99 | default
|===
// end::irc_colors[]
File diff suppressed because it is too large Load Diff
+34 -51
View File
@@ -2,17 +2,11 @@
:author: Sébastien Helleu
:email: flashcode@flashtux.org
:lang: en
:toc: left
:toclevels: 3
:sectnums:
:docinfo1:
This manual documents WeeChat chat client, it is part of WeeChat.
Latest version of this document can be found on
https://weechat.org/doc/[this page ^↗^,window=_blank].
https://weechat.org/doc/[this page ^↗^^].
[[introduction]]
== Introduction
@@ -32,7 +26,7 @@ This manual documents WeeChat internals:
== Repositories
WeeChat repositories are on GitHub organization
https://github.com/weechat[weechat ^↗^,window=_blank].
https://github.com/weechat[weechat ^↗^^].
List of repositories:
@@ -43,7 +37,7 @@ scripts::
the _official_ scripts submitted on weechat.org
weechat.org::
source of https://weechat.org/[WeeChat website ^↗^,window=_blank]
source of https://weechat.org/[WeeChat website ^↗^^]
weercd::
IRC testing server
@@ -129,6 +123,7 @@ WeeChat "core" is located in following directories:
|    wee-config.c | Configuration options for WeeChat core (file weechat.conf).
|    wee-crypto.c | Cryptographic functions.
|    wee-debug.c | Some debug functions.
|    wee-doc.c | Build of files for documentation.
|    wee-dir.c | Directory/file functions.
|    wee-eval.c | Evaluation of expressions with references to internal vars.
|    wee-hashtable.c | Hashtables.
@@ -145,6 +140,7 @@ WeeChat "core" is located in following directories:
|    wee-secure-config.c | Secured data options (file sec.conf).
|    wee-signal.c | Signal functions.
|    wee-string.c | Functions on strings.
|    wee-sys.c | System functions.
|    wee-upgrade-file.c | Internal upgrade system.
|    wee-upgrade.c | Upgrade for WeeChat core (buffers, lines, history, ...).
|    wee-url.c | URL transfer (using libcurl).
@@ -171,6 +167,7 @@ WeeChat "core" is located in following directories:
|       wee-hook-process.c | Hook "process".
|       wee-hook-signal.c | Hook "signal".
|       wee-hook-timer.c | Hook "timer".
|       wee-hook-url.c | Hook "url".
| gui/ | Functions for buffers, windows, ... (used by all interfaces).
|    gui-bar-item.c | Bar items.
|    gui-bar-window.c | Bar windows.
@@ -241,6 +238,7 @@ WeeChat "core" is located in following directories:
|       buflist.c | Main buflist functions.
|       buflist-bar-item.c | Buflist bar items.
|       buflist-command.c | Buflist commands.
|       buflist-completion.c | Buflist completions.
|       buflist-config.c | Buflist config options (file buflist.conf).
|       buflist-info.c | Buflist info/infolists/hdata.
|       buflist-mouse.c | Buflist mouse actions.
@@ -273,6 +271,7 @@ WeeChat "core" is located in following directories:
|    irc/ | IRC (Internet Relay Chat) plugin.
|       irc.c | Main IRC functions.
|       irc-bar-item.c | IRC bar items.
|       irc-batch.c | IRC batched events.
|       irc-buffer.c | IRC buffers.
|       irc-channel.c | IRC channels.
|       irc-color.c | IRC colors.
@@ -285,13 +284,14 @@ WeeChat "core" is located in following directories:
|       irc-info.c | IRC info/infolists/hdata.
|       irc-input.c | Input of commands/text.
|       irc-join.c | Functions for list of channels to join.
|       irc-list.c | Buffer for reply to /list command.
|       irc-message.c | Functions to manipulate IRC messages.
|       irc-mode.c | Functions about channel/nick modes.
|       irc-modelist.c | IRC channel mode lists (+b, +e, +I, ...).
|       irc-msgbuffer.c | Target buffer for IRC messages.
|       irc-nick.c | IRC nicks.
|       irc-notify.c | IRC notify lists.
|       irc-protocol.c | IRC protocol (RFCs 1459/2810/2811/2812/2813).
|       irc-protocol.c | IRC protocol (RFCs 1459/2810/2811/2812/2813/7194).
|       irc-raw.c | IRC raw buffer.
|       irc-redirect.c | Redirection of IRC command output.
|       irc-sasl.c | SASL authentication with IRC server.
@@ -394,6 +394,7 @@ WeeChat "core" is located in following directories:
| Path/file | Description
| tests/ | Root of tests.
|    tests.cpp | Program used to run all tests.
|    tests-record.cpp | Record and search in messages displayed.
|    scripts/ | Root of scripting API tests.
|       test-scripts.cpp | Program used to run the scripting API tests.
|       python/ | Python scripts to generate and run the scripting API tests.
@@ -422,6 +423,7 @@ WeeChat "core" is located in following directories:
|          test-core-url.cpp | Tests: URLs.
|          test-core-utf8.cpp | Tests: UTF-8.
|          test-core-util.cpp | Tests: utility functions.
|          test-core-sys.cpp | Tests: system functions.
|       gui/ | Root of unit tests for interfaces.
|          test-gui-bar-window.cpp | Tests: bar window functions.
|          test-gui-buffer.cpp | Tests: buffer functions.
@@ -429,16 +431,20 @@ WeeChat "core" is located in following directories:
|          test-gui-color.cpp | Tests: colors.
|          test-gui-filter.cpp | Tests: filters.
|          test-gui-input.cpp | Tests: input functions.
|          test-gui-key.cpp | Tests: keys.
|          test-gui-line.cpp | Tests: lines.
|          test-gui-nick.cpp | Tests: nicks.
|       plugins/ | Root of unit tests for plugins.
|          irc/ | Root of unit tests for IRC plugin.
|             test-irc-batch.cpp | Tests: IRC batched events.
|             test-irc-buffer.cpp | Tests: IRC buffers.
|             test-irc-channel.cpp | Tests: IRC channels.
|             test-irc-color.cpp | Tests: IRC colors.
|             test-irc-config.cpp | Tests: IRC configuration.
|             test-irc-ctcp.cpp | Tests: IRC CTCP.
|             test-irc-ignore.cpp | Tests: IRC ignores.
|             test-irc-join.cpp | Tests: IRC join functions.
|             test-irc-list.cpp | Tests: IRC buffer for reply to /list command.
|             test-irc-message.cpp | Tests: IRC messages.
|             test-irc-mode.cpp | Tests: IRC modes.
|             test-irc-nick.cpp | Tests: IRC nicks.
@@ -447,7 +453,9 @@ WeeChat "core" is located in following directories:
|             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.
@@ -456,6 +464,8 @@ WeeChat "core" is located in following directories:
|             test-typing-status.cpp | Tests: typing status.
|          relay/ | Root of unit tests for Relay plugin.
|             test-relay-auth.cpp | Tests: clients authentication.
|             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.
@@ -471,28 +481,16 @@ Documentation files:
| Path/file | Description
| doc/ | Documentation.
|    docinfo.html | Asciidoctor style.
|    docgen.py | Python script to build auto-generated files in _includes/_ directory (see below).
|    XX/ | Documentation for language XX (languages: en, fr, de, it, ...).
|       weechat.1.XX.adoc | Man page (`man weechat`).
|       weechat_dev.XX.adoc | link:weechat_dev.en.html[Developer's guide ^↗^,window=_blank] (this document).
|       weechat_faq.XX.adoc | link:weechat_faq.en.html[FAQ ^↗^,window=_blank].
|       weechat_plugin_api.XX.adoc | link:weechat_plugin_api.en.html[Plugin API reference ^↗^,window=_blank].
|       weechat_quickstart.XX.adoc | link:weechat_quickstart.en.html[Quickstart guide ^↗^,window=_blank].
|       weechat_relay_protocol.XX.adoc | link:weechat_relay_protocol.en.html[Relay protocol ^↗^,window=_blank] (for remote interfaces).
|       weechat_scripting.XX.adoc | link:weechat_scripting.en.html[Scripting guide ^↗^,window=_blank].
|       weechat_user.XX.adoc | link:weechat_user.en.html[User's guide ^↗^,window=_blank].
|       weechat_dev.XX.adoc | link:weechat_dev.en.html[Developer's guide ^↗^^] (this document).
|       weechat_faq.XX.adoc | link:weechat_faq.en.html[FAQ ^↗^^].
|       weechat_plugin_api.XX.adoc | link:weechat_plugin_api.en.html[Plugin API reference ^↗^^].
|       weechat_quickstart.XX.adoc | link:weechat_quickstart.en.html[Quickstart guide ^↗^^].
|       weechat_relay_protocol.XX.adoc | link:weechat_relay_protocol.en.html[Relay protocol ^↗^^] (for remote interfaces).
|       weechat_scripting.XX.adoc | link:weechat_scripting.en.html[Scripting guide ^↗^^].
|       weechat_user.XX.adoc | link:weechat_user.en.html[User's guide ^↗^^].
|       includes/ | Files included in documentation.
|          autogen_api_completions.XX.adoc | Auto-generated file for Plugin API reference: completions (do *NEVER* update manually!).
|          autogen_api_hdata.XX.adoc | Auto-generated file for Plugin API reference: hdata (do *NEVER* update manually!).
|          autogen_api_infolists.XX.adoc | Auto-generated file for Plugin API reference: infolists (do *NEVER* update manually!).
|          autogen_api_infos.XX.adoc | Auto-generated file for Plugin API reference: infos (do *NEVER* update manually!).
|          autogen_api_infos_hashtable.XX.adoc | Auto-generated file for Plugin API reference: infos hashtable (do *NEVER* update manually!).
|          autogen_api_plugins_priority.XX.adoc | Auto-generated file for Plugin API reference: plugins priority (do *NEVER* update manually!).
|          autogen_api_url_options.XX.adoc | Auto-generated file for Plugin API reference: URL options (do *NEVER* update manually!).
|          autogen_user_commands.XX.adoc | Auto-generated file for User's guide: commands (do *NEVER* update manually!).
|          autogen_user_default_aliases.XX.adoc | Auto-generated file for User's guide: default aliases (do *NEVER* update manually!).
|          autogen_user_irc_colors.XX.adoc | Auto-generated file for User's guide: IRC colors (do *NEVER* update manually!).
|          autogen_user_options.XX.adoc | Auto-generated file for User's guide: configuration options (do *NEVER* update manually!).
|          cmdline_options.XX.adoc | Command-line options (file included in man pages and user's guide).
|          man.XX.adoc | Part of man pages: plugin options, files and copyright.
|===
@@ -745,7 +743,7 @@ new_hook_fd = malloc (sizeof (*new_hook_fd));
[[coding_python_style]]
=== Python style
See https://www.python.org/dev/peps/pep-0008/[PEP 8 ^↗^,window=_blank].
See https://www.python.org/dev/peps/pep-0008/[PEP 8 ^↗^^].
[[core_internals]]
== Core internals
@@ -1032,6 +1030,8 @@ _src/gui/gui-color.h_):
| 42 | weechat.color.emphasized _(WeeChat ≥ 0.4.2)_
| 43 | weechat.color.chat_day_change _(WeeChat ≥ 0.4.2)_
| 44 | weechat.color.chat_value_null _(WeeChat ≥ 1.4)_
| 45 | weechat.color.chat_status_disabled _(WeeChat ≥ 4.0.0)_
| 46 | weechat.color.chat_status_enabled _(WeeChat ≥ 4.0.0)_
|===
WeeChat colors are:
@@ -1125,7 +1125,7 @@ server->hook_timer_sasl = weechat_hook_timer (timeout * 1000,
[[git_repository]]
=== Git repository
Git repository is on https://github.com/weechat/weechat[GitHub ^↗^,window=_blank].
Git repository is on https://github.com/weechat/weechat[GitHub ^↗^^].
Any patch for bug or new feature must be done on master branch, preferred way
is a GitHub pull request. A patch can also be sent by e-mail
@@ -1160,14 +1160,10 @@ Where _component_ is one of following:
| WeeChat core
| build
| autogen.sh +
CMakeLists.txt +
| CMakeLists.txt +
cmake/* +
configure.ac +
Makefile.am +
tools/* +
weechat.cygport.in +
weechat.spec
weechat.cygport.in
| Build
| ci
@@ -1276,7 +1272,7 @@ $ make translations && make update-po
Then you can edit .po files (if you can translate in a language).
When done, you *have* to check your file with
https://github.com/flashcode/msgcheck[msgcheck ^↗^,window=_blank]:
https://github.com/flashcode/msgcheck[msgcheck ^↗^^]:
----
$ msgcheck.py xx.po
@@ -1284,19 +1280,6 @@ $ msgcheck.py xx.po
And then you can recompile WeeChat to use the new translations.
[[build_autogen_files]]
===== Build auto-generated files
Files named `+autogen_*+` in directory _doc/XX/includes/_ are auto-generated by
script _doc/docgen.py_.
You can rebuild auto-generated files directly in your WeeChat sources by
running WeeChat in a temporary directory and loading the script:
----
weechat -t -r "/python load /path/to/weechat/doc/docgen.py;/docgen;/quit"
----
[[asciidoc]]
==== Asciidoc
+111 -102
View File
@@ -2,15 +2,6 @@
:author: Sébastien Helleu
:email: flashcode@flashtux.org
:lang: en
:toc: left
:toclevels: 2
:sectnums:
:sectnumlevels: 2
:docinfo1:
toc::[]
[[general]]
== General
@@ -30,7 +21,7 @@ apply to WeeChat!).
Because WeeChat is very light and brings innovating features.
More info on the WeeChat
https://weechat.org/about/features/[features page ^↗^,window=_blank].
https://weechat.org/about/features/[features page ^↗^^].
[[compilation_install]]
== Compilation / install
@@ -39,27 +30,22 @@ https://weechat.org/about/features/[features page ^↗^,window=_blank].
=== I've heard about many GUIs for WeeChat. How can I compile/use them?
Some remote GUIs are available, see the
https://weechat.org/about/interfaces/[remote interfaces page ^↗^,window=_blank].
https://weechat.org/about/interfaces/[remote interfaces page ^↗^^].
[[compile_git]]
=== I can't compile WeeChat after cloning git repository, why?
The recommended way to compile WeeChat is with
link:weechat_user.en.html#compile_with_cmake[CMake ^↗^,window=_blank].
WeeChat must be compiled with CMake.
If you're compiling with
link:weechat_user.en.html#compile_with_autotools[autotools ^↗^,window=_blank]
(and not CMake), check that you have latest version of autoconf and automake.
Please follow link:weechat_user.en.html#source_package[build instructions ^↗^^]
and ensure all required dependencies are installed.
The other way is to install the "devel package", which needs less dependencies.
This package is built almost every day using git repository. Note that this
package may not correspond exactly to git base and that it's less convenient
than git cloning for installing updates.
If you still have issues, please report them to the developers.
[[compile_macos]]
=== How can I install WeeChat on macOS?
It is recommended to use https://brew.sh/[Homebrew ^↗^,window=_blank],
It is recommended to use https://brew.sh/[Homebrew ^↗^^],
you can get help with:
----
@@ -76,12 +62,12 @@ brew install weechat
=== I've launched WeeChat, but I'm lost, what can I do?
For help you can type `/help`. For help about a command, type `/help command`.
link:weechat_user.en.html#key_bindings[Keys ^↗^,window=_blank] and
link:weechat_user.en.html#commands_and_options[commands ^↗^,window=_blank]
link:weechat_user.en.html#key_bindings[Keys ^↗^^] and
link:weechat_user.en.html#commands_and_options[commands ^↗^^]
are listed in documentation.
It's recommended for new users to read the
link:weechat_quickstart.en.html[Quickstart guide ^↗^,window=_blank].
link:weechat_quickstart.en.html[Quickstart guide ^↗^^].
[[display]]
== Display
@@ -109,7 +95,7 @@ It's a common issue with a variety of causes, please read carefully and check
** If you are using screen, check that it is run with UTF-8 mode
("`defutf8 on`" in ~/.screenrc or `screen -U` to run screen).
* Check that option
link:weechat_user.en.html#option_weechat.look.eat_newline_glitch[_weechat.look.eat_newline_glitch_ ^↗^,window=_blank]
link:weechat_user.en.html#option_weechat.look.eat_newline_glitch[_weechat.look.eat_newline_glitch_ ^↗^^]
is off (this option may cause display bugs).
[NOTE]
@@ -124,9 +110,9 @@ This may be caused by a libc bug in function _wcwidth_, which should be fixed
in glibc 2.22 (maybe not yet available in your distribution).
There is a workaround to use the fixed _wcwidth_ function:
https://blog.nytsoi.net/2015/05/04/emoji-support-for-weechat[https://blog.nytsoi.net/2015/05/04/emoji-support-for-weechat ^↗^,window=_blank]
https://blog.nytsoi.net/2015/05/04/emoji-support-for-weechat[https://blog.nytsoi.net/2015/05/04/emoji-support-for-weechat ^↗^^]
See this https://github.com/weechat/weechat/issues/79[bug report ^↗^,window=_blank]
See this https://github.com/weechat/weechat/issues/79[bug report ^↗^^]
for more information.
[[bars_background]]
@@ -184,7 +170,7 @@ windows.
[[buffers_list]]
=== How to display the buffers list on the left side?
The plugin link:weechat_user.en.html#buflist[buflist ^↗^,window=_blank]
The plugin link:weechat_user.en.html#buflist[buflist ^↗^^]
is loaded and enabled by default.
To limit size of bar:
@@ -230,7 +216,7 @@ like `237` for dark gray.
The buflist plugin provides lot of options that you can customize, please read
the help on each option.
There's also a https://github.com/weechat/weechat/wiki/buflist[wiki page ^↗^,window=_blank]
There's also a https://github.com/weechat/weechat/wiki/buflist[wiki page ^↗^^]
with examples of advanced buflist configuration.
[[customize_prefix]]
@@ -274,7 +260,7 @@ These colors can be changed with the options __weechat.color.status_data_*__
(buffers) and __weechat.color.status_count_*__ (counters). +
Other hotlist options can be changed with the options __weechat.look.hotlist_*__.
See link:weechat_user.en.html#screen_layout[User's guide / Screen layout ^↗^,window=_blank]
See link:weechat_user.en.html#screen_layout[User's guide / Screen layout ^↗^^]
for more info about the hotlist.
[[input_bar_size]]
@@ -434,7 +420,7 @@ you can change it with these two commands:
You can use any color number in options (optional: you can add color aliases
with command `/color`).
Please read the link:weechat_user.en.html#colors[User's guide / Colors ^↗^,window=_blank]
Please read the link:weechat_user.en.html#colors[User's guide / Colors ^↗^^]
for more information about colors management.
[[search_text]]
@@ -443,7 +429,7 @@ for more information about colors management.
The default key is kbd:[Ctrl+r] (command is: `+/input search_text_here+`).
And jump to highlights: kbd:[Alt+p] / kbd:[Alt+n].
See link:weechat_user.en.html#key_bindings[User's guide / Key bindings ^↗^,window=_blank]
See link:weechat_user.en.html#key_bindings[User's guide / Key bindings ^↗^^]
for more info about this feature.
[[terminal_focus]]
@@ -470,14 +456,14 @@ And then you bind two keys for the focus (replace the `/print` commands by the
commands of your choice):
----
/key bind meta2-I /print -core focus
/key bind meta2-O /print -core unfocus
/key bind meta-[I /print -core focus
/key bind meta-[O /print -core unfocus
----
For example to mark buffers as read when the terminal loses the focus:
----
/key bind meta2-O /allbuf /buffer set unread
/key bind meta-[O /allbuf /buffer set unread
----
[[screen_paste]]
@@ -597,6 +583,14 @@ If you are using the macOS Terminal app, enable the option
"Use option as meta key" in menu Settings/Keyboard after which you can use the
kbd:[Option] key as meta key.
[[enter_key]]
=== Some keys including Enter are not working, why?
If you run a WeeChat < 4.0.0 with configuration files created by any
version ≥ 4.0.0, the keys names become invalid and many keys won't work at all. +
To repair them, exit WeeChat, remove all sections `[key*]` from weechat.conf
and start WeeChat again: all default keys will be created.
[[customize_key_bindings]]
=== How can I customize key bindings?
@@ -617,7 +611,7 @@ You can bind a key, for example:
----
List of default keys is in
link:weechat_user.en.html#key_bindings[User's guide / Key bindings ^↗^,window=_blank].
link:weechat_user.en.html#key_bindings[User's guide / Key bindings ^↗^^].
To jump to buffers with number ≥ 100, you could define a trigger and then use
commands like `/123` to jump to buffer #123:
@@ -626,6 +620,12 @@ commands like `/123` to jump to buffer #123:
/trigger add numberjump modifier "2000|input_text_for_buffer" "${tg_string} =~ ^/[0-9]+$" "=\/([0-9]+)=/buffer *${re:1}=" "" "" "none"
----
For an easy jump to buffers, you can also install the _go.py_ script:
----
/script install go.py
----
[[global_history]]
=== How to use global history (instead of buffer history) with up and down keys?
@@ -634,15 +634,19 @@ history are kbd:[Ctrl+↑] and kbd:[Ctrl+↓]).
Example:
----
/key bind up /input history_global_previous
/key bind down /input history_global_next
----
With WeeChat ≤ 3.8, you must use the raw key code (press kbd:[Alt+k] then key
to display its code):
----
/key bind meta2-A /input history_global_previous
/key bind meta2-B /input history_global_next
----
[NOTE]
Keys "meta2-A" and "meta2-B" may be different in your terminal. To find key
code press kbd:[Alt+k] then key.
[[mouse]]
== Mouse
@@ -692,8 +696,8 @@ you have to use kbd:[Alt] instead of kbd:[Shift]).
[[irc]]
== IRC
[[irc_ssl_connection]]
=== I have some problems when connecting to a server using SSL, what can I do?
[[irc_tls_connection]]
=== I have some problems when connecting to a server using TLS, what can I do?
If you are using macOS, you must install `openssl` from Homebrew.
A CA file will be bootstrapped using certificates from the system keychain.
@@ -702,43 +706,43 @@ If you see errors about gnutls handshake, you can try to use a smaller
Diffie-Hellman key (default is 2048):
----
/set irc.server.example.ssl_dhkey_size 1024
/set irc.server.example.tls_dhkey_size 1024
----
If you see errors about certificate, you can disable "ssl_verify" (be careful,
If you see errors about certificate, you can disable "tls_verify" (be careful,
connection will be less secure by doing that):
----
/set irc.server.example.ssl_verify off
/set irc.server.example.tls_verify off
----
If the server has an invalid certificate and you know what the certificate
should be, you can specify the fingerprint (SHA-512, SHA-256 or SHA-1):
----
/set irc.server.example.ssl_fingerprint 0c06e399d3c3597511dc8550848bfd2a502f0ce19883b728b73f6b7e8604243b
/set irc.server.example.tls_fingerprint 0c06e399d3c3597511dc8550848bfd2a502f0ce19883b728b73f6b7e8604243b
----
[[irc_ssl_handshake_error]]
=== When connecting to server with SSL, I only see the error "TLS handshake failed", what can I do?
[[irc_tls_handshake_error]]
=== When connecting to server with TLS, I only see the error "TLS handshake failed", what can I do?
You can try a different priority string, replace "xxx" by your server name:
----
/set irc.server.xxx.ssl_priorities "NORMAL:-VERS-TLS-ALL:+VERS-TLS1.0:+VERS-SSL3.0:%COMPAT"
/set irc.server.xxx.tls_priorities "NORMAL:-VERS-TLS-ALL:+VERS-TLS1.0:+VERS-SSL3.0:%COMPAT"
----
[[irc_ssl_libera]]
=== How can I connect to libera server using SSL?
[[irc_tls_libera]]
=== How can I connect to libera server using TLS?
Check that you have certificates installed on your system, this is commonly
provided by the package "ca-certificates".
Setup server port, SSL, then connect:
Setup server port, TLS, then connect:
----
/set irc.server.libera.addresses "irc.libera.chat/6697"
/set irc.server.libera.ssl on
/set irc.server.libera.tls on
/connect libera
----
@@ -829,24 +833,9 @@ Filtered lines are only hidden, not deleted, and you can see them if you
disable filters (by default, the key kbd:[Alt+=] toggles filters).
[[filter_irc_join_part_quit]]
=== How can I filter join/part/quit messages on IRC channels?
=== How can I filter join/part/quit and other annoying messages on IRC channels?
With smart filter (keep join/part/quit from users who spoke recently):
----
/set irc.look.smart_filter on
/filter add irc_smart * irc_smart_filter *
----
With a global filter (hide *all* join/part/quit):
----
/filter add joinquit * irc_join,irc_part,irc_quit *
----
[NOTE]
For help: `/help filter`, `+/help irc.look.smart_filter+` and see
link:weechat_user.en.html#irc_smart_filter_join_part_quit[User's guide / Smart filter for join/part/quit messages ^↗^,window=_blank].
See link:weechat_user.en.html#irc_smart_filter[User's guide / IRC smart filter ^↗^^].
[[filter_irc_join_channel_messages]]
=== How can I filter some messages displayed when I join an IRC channel?
@@ -940,39 +929,24 @@ Other scripts on this subject:
=== How can I disable highlights for specific nicks?
You can use the
link:weechat_user.en.html#max_hotlist_level_nicks[hotlist_max_level_nicks_add ^↗^,window=_blank]
link:weechat_user.en.html#max_hotlist_level_nicks[hotlist_max_level_nicks_add ^↗^^]
buffer property to set the max hotlist level for some nicks, per buffer,
or per group of buffers (like IRC servers).
To only disable highlights, you'd have to set it to 2:
To only disable highlights, you'd have to set it to 2.
For the current buffer:
----
/buffer set hotlist_max_level_nicks_add joe:2,mike:2
/buffer setauto hotlist_max_level_nicks_add joe:2,mike:2
----
This buffer property isn't stored in the configuration though.
To automatically reapply these buffer properties, you would need the
_buffer_autoset.py_ script:
For all channels on server "libera":
----
/script install buffer_autoset.py
/set weechat.buffer.irc.libera.*.hotlist_max_level_nicks_add joe:2,mike:2
----
For example, to permanently disable highlights from "mike" on #weechat
on the IRC server libera:
----
/buffer_autoset add irc.libera.#weechat hotlist_max_level_nicks_add mike:2
----
To apply it to the entire libera server instead:
----
/buffer_autoset add irc.libera hotlist_max_level_nicks_add mike:2
----
For more examples, see `+/help buffer_autoset+`.
[[irc_target_buffer]]
=== How can I change target buffer for commands on merged buffers (like buffer with servers)?
@@ -1004,7 +978,7 @@ Scripts are not compatible with other IRC clients.
[[scripts_update]]
=== The command "/script update" can not read scripts, how to fix that?
First check questions about SSL connection in this FAQ.
First check questions about TLS connection in this FAQ.
If still not working, try to manually delete the scripts file (in your shell):
@@ -1088,7 +1062,7 @@ You can try following tips to consume less memory:
fifo, logger, perl, python, ruby, lua, tcl, guile, javascript, php, spell,
xfer (used for DCC). See `/help weechat.plugin.autoload`.
* Load only scripts that you really need.
* Do not load system certificates if SSL is *NOT* used: turn off this option:
* Do not load system certificates if TLS is *NOT* used: turn off this option:
_weechat.network.gnutls_ca_system_.
* Reduce value of option _weechat.history.max_buffer_lines_number_ or set value
of option _weechat.history.max_buffer_lines_minutes_.
@@ -1099,7 +1073,8 @@ You can try following tips to consume less memory:
You can follow same tips as for <<memory_usage,memory>>, and these ones:
* Hide "nicklist" bar: `/bar hide nicklist`.
* Hide "nicklist" bar: `/bar hide nicklist` (key: kbd:[Alt+Shift+N]).
* Disable "buflist": `/buflist disable` (key: kbd:[Alt+Shift+B]).
* Remove display of seconds in status bar time:
`+/set weechat.look.item_time_format "%H:%M"+` (this is the default value).
* Disable real time check of misspelled words in command line (if you enabled it):
@@ -1121,14 +1096,20 @@ Disable answers to all CTCP queries:
----
/set irc.ctcp.clientinfo ""
/set irc.ctcp.finger ""
/set irc.ctcp.source ""
/set irc.ctcp.time ""
/set irc.ctcp.userinfo ""
/set irc.ctcp.version ""
/set irc.ctcp.ping ""
----
With WeeChat < 4.1.0, other CTCP queries were replied by default and must be
disabled as well:
----
/set irc.ctcp.finger ""
/set irc.ctcp.userinfo ""
----
Unload and disable auto-loading of "xfer" plugin (used for IRC DCC):
----
@@ -1139,7 +1120,7 @@ Unload and disable auto-loading of "xfer" plugin (used for IRC DCC):
Define a passphrase and use secured data wherever you can for sensitive data
like passwords: see `/help secure` and `/help` on options
(if you can use secured data, it is written in the help).
See also link:weechat_user.en.html#secured_data[User's guide / Secured data ^↗^,window=_blank].
See also link:weechat_user.en.html#secured_data[User's guide / Secured data ^↗^^].
For example:
@@ -1160,16 +1141,44 @@ contains your passwords ciphered with your passphrase.
Some other files may contain sensitive info like passwords (if they are not
stored in _sec.conf_ with the `/secure` command).
See the link:weechat_user.en.html#files_and_directories[User's guide / Files and directories ^↗^,window=_blank]
See the link:weechat_user.en.html#files_and_directories[User's guide / Files and directories ^↗^^]
for more information about configuration files.
[[move_to_another_device]]
=== I want to move my WeeChat to another device and keep my config, what should I copy?
First check directories used by WeeChat with this command: `/debug dirs`. +
Directories home/config and home/data must be copied (all files and sub-directories).
For example if you're using XDG directories (default with WeeChat ≥ 3.2),
the directories should be `$HOME/.config/weechat` and `$HOME/.local/share/weechat`. +
If you're using a single directory (default with WeeChat < 3.2), the directory
should be `$HOME/.weechat`.
[IMPORTANT]
The WeeChat version on the new device must be greater than or equal to the version
on the initial device. +
Downgrading WeeChat configuration is *NOT SUPPORTED* and can break it,
leading to unusable WeeChat.
Steps:
. Quit Weechat: `/quit` (or `/upgrade -quit` if you want to resume the session,
which includes content of all buffers).
. Copy all directories, sub-directories and files to the new device, keeping
same names and permissions.
. Optional: copy any file outside these directories that you refer to in your
configuration (it's not recommended to use files outside WeeChat directories).
. Start WeeChat on the new device: `weechat` (or `weechat --upgrade` if you
saved the session).
[[development]]
== Development
[[bug_task_patch]]
=== How should I report bugs, ask for new features or send patches?
See https://weechat.org/about/support/[this page ^↗^,window=_blank].
See https://weechat.org/about/support/[this page ^↗^^].
[[gdb_error_threads]]
=== When I run WeeChat under gdb, there is an error about threads, what can I do?
@@ -1206,10 +1215,10 @@ some OS' we don't have, to test WeeChat.
There are many tasks to do (testing, code, documentation, etc.)
Please contact us via IRC or mail, look at
https://weechat.org/about/support/[support page ^↗^,window=_blank].
https://weechat.org/about/support/[support page ^↗^^].
[[donate]]
=== Can I give money or other things to WeeChat developers?
You can give us money to help development.
Details on https://weechat.org/donate/[donation page ^↗^,window=_blank].
Details on https://weechat.org/donate/[donation page ^↗^^].
File diff suppressed because it is too large Load Diff
+3 -7
View File
@@ -2,10 +2,6 @@
:author: Sébastien Helleu
:email: flashcode@flashtux.org
:lang: en
:toc: left
:sectnums:
:docinfo1:
[[start]]
== Start WeeChat
@@ -105,7 +101,7 @@ other plugins in the list.
You can add an IRC server with the `/server` command, for example:
----
/server add libera irc.libera.chat/6697 -ssl
/server add libera irc.libera.chat/6697 -tls
----
In this command, `libera` is the internal server name used by WeeChat:
@@ -381,13 +377,13 @@ for example:
See `/help script` for more info.
A list of scripts is available in WeeChat with `/script` or on
https://weechat.org/scripts/[this page ^↗^,window=_blank].
https://weechat.org/scripts/[this page ^↗^^].
[[more_doc]]
== More documentation
You can now use WeeChat and read
https://weechat.org/doc/[FAQ/documentation ^↗^,window=_blank]
https://weechat.org/doc/[FAQ/documentation ^↗^^]
for any other questions.
Enjoy using WeeChat!
+53 -17
View File
@@ -2,11 +2,6 @@
:author: Sébastien Helleu
:email: flashcode@flashtux.org
:lang: en
:toc: left
:toclevels: 3
:sectnums:
:docinfo1:
[[introduction]]
== Introduction
@@ -103,7 +98,7 @@ List of available commands (detail in next chapters):
[[command_handshake]]
=== handshake
_WeeChat ≥ 2.9, updated in version 3.5._
_WeeChat ≥ 2.9, updated in versions 3.5, 4.0.0._
Perform an handshake between the client and WeeChat: this is required in most
cases to know the session settings and prepare the authentication with the
@@ -132,10 +127,15 @@ Arguments:
if compression is enabled, messages from _relay_ to client are compressed
to save bandwidth; allowed values are:
*** _off_: no compression (default if option is not given)
*** _zlib_: compress with https://zlib.net/[zlib ^↗^,window=_blank] _(WeeChat ≥ 0.3.7)_
*** _zstd_: compress with https://facebook.github.io/zstd/[Zstandard ^↗^,window=_blank]:
*** _zlib_: compress with https://zlib.net/[zlib ^↗^^] _(WeeChat ≥ 0.3.7)_
*** _zstd_: compress with https://facebook.github.io/zstd/[Zstandard ^↗^^]:
better compression and much faster than _zlib_ for both compression and decompression
_(WeeChat ≥ 3.5)_
** _escape_commands_: commands sent by the client to relay must be escaped:
all backslashes are interpreted and a single backslash must be escaped (`\\`);
this allows for example the client to send multiline messages (chars `\n` are
converted to newlines, see <<command_input,input command>>)
_(WeeChat ≥ 4.0.0)_
Notes about option _password_hash_algo_:
@@ -175,8 +175,11 @@ WeeChat replies with a hashtable containing the following keys and values:
in the password hash algorithm)
* _compression_: compression type:
** _off_: messages are not compressed
** _zlib_: messages are compressed with https://zlib.net/[zlib ^↗^,window=_blank]
** _zstd_: messages are compressed with https://facebook.github.io/zstd/[Zstandard ^↗^,window=_blank]
** _zlib_: messages are compressed with https://zlib.net/[zlib ^↗^^]
** _zstd_: messages are compressed with https://facebook.github.io/zstd/[Zstandard ^↗^^]
* _escape_commands_:
** _on_: all backslashes are interpreted in the client messages
** _off_: backslashes are *NOT* interpreted in the client messages and used as-is
[TIP]
With WeeChat ≤ 2.8, the command _handshake_ is not implemented, WeeChat silently
@@ -203,6 +206,28 @@ htb: {
'totp': 'on',
'nonce': '85B1EE00695A5B254E14F4885538DF0D',
'compression': 'off',
'escape_commands': 'off',
}
----
* Escape of commands enabled by the client _(WeeChat ≥ 4.0.0)_:
----
(handshake) handshake escape_commands=on
----
Response:
[source,python]
----
id: 'handshake'
htb: {
'password_hash_algo': 'plain',
'password_hash_iterations': '100000',
'totp': 'on',
'nonce': '85B1EE00695A5B254E14F4885538DF0D',
'compression': 'off',
'escape_commands': 'on',
}
----
@@ -223,6 +248,7 @@ htb: {
'totp': 'on',
'nonce': '85B1EE00695A5B254E14F4885538DF0D',
'compression': 'off',
'escape_commands': 'off',
}
----
@@ -243,6 +269,7 @@ htb: {
'totp': 'on',
'nonce': '85B1EE00695A5B254E14F4885538DF0D',
'compression': 'off',
'escape_commands': 'off',
}
----
@@ -272,6 +299,7 @@ htb: {
'totp': 'on',
'nonce': '85B1EE00695A5B254E14F4885538DF0D',
'compression': 'zstd',
'escape_commands': 'off',
}
----
@@ -607,7 +635,7 @@ Request an _infolist_.
[IMPORTANT]
Content of infolist is a duplication of actual data. Wherever possible, use
command <<command_hdata,hdata>>, which is direct access to data (it is
<<command_hdata,hdata command>>, which is direct access to data (it is
faster, uses less memory and returns smaller objects in message).
Syntax:
@@ -969,6 +997,14 @@ input core.weechat /help filter
input irc.libera.#weechat hello!
----
* Send multiline message to #test channel (option _escape_commands_ must have
been enabled in <<command_handshake,handshake command>> and requires
WeeChat ≥ 4.0.0):
----
input irc.ergo.#test this message has\n2 lines
----
[[command_completion]]
=== completion
@@ -1216,7 +1252,7 @@ Arguments:
specify all buffers
* _options_: one of following keywords, separated by commas (default is
_buffers,upgrade,buffer,nicklist_ for "*" and _buffer,nicklist_ for a buffer);
see <<command_sync,command sync>> for values
see <<command_sync,sync command>> for values
[NOTE]
When using buffer "*", the other buffers synchronized (using a name) are kept. +
@@ -1382,8 +1418,8 @@ Messages are sent as binary data, using following format (with size in bytes):
(including this field)
* _compression_ (byte): flag:
** _0x00_: following data is not compressed
** _0x01_: following data is compressed with https://zlib.net/[zlib ^↗^,window=_blank]
** _0x02_: following data is compressed with https://facebook.github.io/zstd/[Zstandard ^↗^,window=_blank]
** _0x01_: following data is compressed with https://zlib.net/[zlib ^↗^^]
** _0x02_: following data is compressed with https://facebook.github.io/zstd/[Zstandard ^↗^^]
* _id_ (string, 4 bytes + content): identifier sent by client (before command name); it can be
empty (string with zero length and no content) if no identifier was given in
command
@@ -1394,8 +1430,8 @@ Messages are sent as binary data, using following format (with size in bytes):
=== Compression
If flag _compression_ is equal to 0x01 or 0x02, then *all* data after is compressed
with https://zlib.net/[zlib ^↗^,window=_blank] or
https://facebook.github.io/zstd/[Zstandard ^↗^,window=_blank],
with https://zlib.net/[zlib ^↗^^] or
https://facebook.github.io/zstd/[Zstandard ^↗^^],
and therefore must be uncompressed before being processed.
[[message_identifier]]
@@ -2317,7 +2353,7 @@ will change).
[NOTE]
During WeeChat upgrade, the socket remains opened (except if connection uses
SSL).
TLS).
[[message_upgrade_ended]]
==== _upgrade_ended
+11 -18
View File
@@ -2,18 +2,11 @@
:author: Sébastien Helleu
:email: flashcode@flashtux.org
:lang: en
:toc: left
:toclevels: 4
:sectnums:
:sectnumlevels: 3
:docinfo1:
This manual documents WeeChat chat client, it is part of WeeChat.
Latest version of this document can be found on
https://weechat.org/doc/[this page ^↗^,window=_blank].
https://weechat.org/doc/[this page ^↗^^].
[[introduction]]
== Introduction
@@ -61,7 +54,7 @@ function, this can crash WeeChat. +
If something must be run in background, the function `+hook_process+` can be used.
See example in the chapter <<hook_process,Run a background process>>
and the documentation on the function `+hook_process+` in the
link:weechat_plugin_api.en.html#_hook_process[WeeChat plugin API reference ^↗^,window=_blank].
link:weechat_plugin_api.en.html#_hook_process[WeeChat plugin API reference ^↗^^].
[[languages_specificities]]
=== Languages specificities
@@ -74,7 +67,7 @@ link:weechat_plugin_api.en.html#_hook_process[WeeChat plugin API reference ^↗
WeeChat defines a `weechat` module which must be imported with `import weechat`. +
A Python stub for WeeChat API is available in the repository:
https://raw.githubusercontent.com/weechat/weechat/master/src/plugins/python/weechat.pyi[weechat.pyi ^↗^,window=_blank].
https://raw.githubusercontent.com/weechat/weechat/master/src/plugins/python/weechat.pyi[weechat.pyi ^↗^^].
[[python_functions]]
===== Functions
@@ -109,7 +102,7 @@ receive a string of type `str` or `bytes` (this list is not exhaustive):
It is recommended to use modifier `+irc_in2_yyy+` instead, the string received
is always UTF-8 valid. +
See function `+hook_modifier+` in the
link:weechat_plugin_api.en.html#_hook_modifier[WeeChat plugin API reference ^↗^,window=_blank].
link:weechat_plugin_api.en.html#_hook_modifier[WeeChat plugin API reference ^↗^^].
| hook_signal
| xxx,irc_out_yyy +
@@ -124,7 +117,7 @@ receive a string of type `str` or `bytes` (this list is not exhaustive):
It is recommended to use signal `+xxx,irc_out1_yyy+` instead, the string received
is always UTF-8 valid. +
See function `+hook_signal+` in the
link:weechat_plugin_api.en.html#_hook_signal[WeeChat plugin API reference ^↗^,window=_blank].
link:weechat_plugin_api.en.html#_hook_signal[WeeChat plugin API reference ^↗^^].
| hook_process +
hook_process_hashtable
@@ -205,7 +198,7 @@ You can pass this constant when a function accepts null as an argument and you
will get it as the value of an argument in a callback function if the argument
value is null. To see which functions accept null values and passes null values
to callbacks, look at the Python prototypes in the
link:weechat_plugin_api.en.html[WeeChat plugin API reference ^↗^,window=_blank].
link:weechat_plugin_api.en.html[WeeChat plugin API reference ^↗^^].
[[language_guile]]
==== Guile (Scheme)
@@ -382,7 +375,7 @@ directory is automatically created.
== Differences with C API
Script API is almost the same as C plugin API.
You can look at link:weechat_plugin_api.en.html[WeeChat plugin API reference ^↗^,window=_blank]
You can look at link:weechat_plugin_api.en.html[WeeChat plugin API reference ^↗^^]
for detail about each function in API: prototype, arguments, return values, examples.
It's important to make difference between a _plugin_ and a _script_: a
@@ -549,7 +542,7 @@ weechat_hook_timer(1000, 0, 1, $timer_cb, 'test');
== Script API
For more information about functions in API, please read the
link:weechat_plugin_api.en.html[WeeChat plugin API reference ^↗^,window=_blank].
link:weechat_plugin_api.en.html[WeeChat plugin API reference ^↗^^].
[[script_api_functions]]
=== Functions
@@ -871,7 +864,7 @@ List of constants in script API:
This chapter shows some common tasks, with examples.
Only partial things in API are used here, for full reference, see the
link:weechat_plugin_api.en.html[WeeChat plugin API reference ^↗^,window=_blank].
link:weechat_plugin_api.en.html[WeeChat plugin API reference ^↗^^].
[[buffers]]
=== Buffers
@@ -1141,7 +1134,7 @@ weechat.hook_process("url:https://weechat.org/dev/info/stable/",
[TIP]
All infos available about WeeChat are on
https://weechat.org/dev/info/[this page ^↗^,window=_blank].
https://weechat.org/dev/info/[this page ^↗^^].
Example of URL transfer with an option: download latest WeeChat development
package in file _/tmp/weechat-devel.tar.gz_:
@@ -1160,7 +1153,7 @@ weechat.hook_process_hashtable("url:https://weechat.org/files/src/weechat-devel.
For more information about URL transfer and available options, see functions
`+hook_process+` and `+hook_process_hashtable+` in
link:weechat_plugin_api.en.html#_hook_process[WeeChat plugin API reference ^↗^,window=_blank].
link:weechat_plugin_api.en.html#_hook_process[WeeChat plugin API reference ^↗^^].
[[config_options]]
=== Config / options
File diff suppressed because it is too large Load Diff
-48
View File
@@ -1,48 +0,0 @@
#
# Copyright (C) 2012-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/>.
#
if(ENABLE_DOC)
# FAQ
add_custom_command(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/weechat_faq.es.html
COMMAND ${ASCIIDOCTOR_EXECUTABLE} ARGS ${ASCIIDOCTOR_ARGS} -o weechat_faq.es.html ${CMAKE_CURRENT_SOURCE_DIR}/weechat_faq.es.adoc
DEPENDS
${CMAKE_CURRENT_SOURCE_DIR}/../docinfo.html
${CMAKE_CURRENT_SOURCE_DIR}/weechat_faq.es.adoc
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMENT "Building weechat_faq.es.html"
)
add_custom_target(doc-faq-es ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/weechat_faq.es.html)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/weechat_faq.es.html DESTINATION ${DATAROOTDIR}/doc/${PROJECT_NAME})
# quickstart
add_custom_command(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/weechat_quickstart.es.html
COMMAND ${ASCIIDOCTOR_EXECUTABLE} ARGS ${ASCIIDOCTOR_ARGS} -o weechat_quickstart.es.html ${CMAKE_CURRENT_SOURCE_DIR}/weechat_quickstart.es.adoc
DEPENDS
${CMAKE_CURRENT_SOURCE_DIR}/../docinfo.html
${CMAKE_CURRENT_SOURCE_DIR}/weechat_quickstart.es.adoc
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMENT "Building weechat_quickstart.es.html"
)
add_custom_target(doc-quickstart-es ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/weechat_quickstart.es.html)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/weechat_quickstart.es.html DESTINATION ${DATAROOTDIR}/doc/${PROJECT_NAME})
endif()
-77
View File
@@ -1,77 +0,0 @@
#
# Copyright (C) 2012-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/>.
#
docdir = $(datadir)/doc/$(PACKAGE)
EXTRA_DIST = CMakeLists.txt \
docinfo.html \
weechat_faq.es.adoc \
weechat_quickstart.es.adoc
if MAN
man_targets =
man_install =
man_uninstall =
endif
if DOC
doc_targets = weechat_faq.es.html \
weechat_quickstart.es.html
doc_install = install-doc
doc_uninstall = uninstall-doc
endif
all-local: $(man_targets) $(doc_targets)
# FAQ
weechat_faq.es.html: weechat_faq.es.adoc $(abs_top_srcdir)/doc/docinfo.html
$(ASCIIDOCTOR) $(ASCIIDOCTOR_ARGS) -a revnumber="$(VERSION)" -o weechat_faq.es.html $(abs_top_srcdir)/doc/es/weechat_faq.es.adoc
# quickstart
weechat_quickstart.es.html: weechat_quickstart.es.adoc $(abs_top_srcdir)/doc/docinfo.html
$(ASCIIDOCTOR) $(ASCIIDOCTOR_ARGS) -a revnumber="$(VERSION)" -o weechat_quickstart.es.html $(abs_top_srcdir)/doc/es/weechat_quickstart.es.adoc
# install man/docs
install-data-hook: $(man_install) $(doc_install)
install-man:
$(mkinstalldirs) $(DESTDIR)$(mandir)/es/man1/
$(INSTALL_DATA) *.1 $(DESTDIR)$(mandir)/es/man1/
(cd '$(DESTDIR)$(mandir)/es/man1/' && $(RM) weechat-headless.1 && $(LN_S) weechat.1 weechat-headless.1)
install-doc:
$(mkinstalldirs) $(DESTDIR)$(docdir)/
$(INSTALL_DATA) *.html $(DESTDIR)$(docdir)/
# uninstall man/docs
uninstall-hook: $(man_uninstall) $(doc_uninstall)
uninstall-man:
$(RM) $(DESTDIR)$(mandir)/es/man1/weechat.1
$(RM) $(DESTDIR)$(mandir)/es/man1/weechat-headless.1
-rmdir $(DESTDIR)$(mandir)/es/man1
uninstall-doc:
$(RM) $(DESTDIR)$(docdir)/*.es.html
-rmdir $(DESTDIR)$(docdir)
# clean
clean-local:
-$(RM) weechat_*.html
-1
View File
@@ -1 +0,0 @@
../docinfo.html
+125 -101
View File
@@ -2,20 +2,12 @@
:author: Sébastien Helleu
:email: flashcode@flashtux.org
:lang: es
:toc: left
:toclevels: 2
:sectnums:
:sectnumlevels: 2
:docinfo1:
:toc-title: ĂŤndice
Traductores
* Victorhck <victorhck.mailbox.org>, 2021
toc::[]
[[general]]
== General
@@ -35,7 +27,7 @@ Porque WeeChat es muy ligero y ofrece funcionalidades innovadoras.
// TRANSLATION MISSING
More info on the WeeChat
https://weechat.org/about/features/[features page ^↗^,window=_blank].
https://weechat.org/about/features/[features page ^↗^^].
[[compilation_install]]
== CompilaciĂłn / instalaciĂłn
@@ -45,26 +37,25 @@ https://weechat.org/about/features/[features page ^↗^,window=_blank].
// TRANSLATION MISSING
Some remote GUIs are available, see the
https://weechat.org/about/interfaces/[remote interfaces page ^↗^,window=_blank].
https://weechat.org/about/interfaces/[remote interfaces page ^↗^^].
[[compile_git]]
=== No puedo compilar WeeChat después de haber clonado el repositorio git, ¿por qué?
La manera recomendada para compilar WeeChat es con
link:weechat_user.en.html#compile_with_cmake[CMake ^↗^,window=_blank].
// TRANSLATION MISSING
WeeChat must be compiled with CMake.
Si lo está compilando con link:weechat_user.en.html#compile_with_autotools[autotools ^↗^,window=_blank]
(y no con CMake), compruebe que tiene la versión más reciente de autoconf y automake.
// TRANSLATION MISSING
Please follow link:weechat_user.en.html#source_package[build instructions ^↗^^]
and ensure all required dependencies are installed.
Otra forma es instalar "devel package", que necesita menos dependencias.
Este paquete está compilado casi cada día utilizando el repositorio git. Tenga en cuenta que este
paquete puede no corresponder exactamente con la base de git y es menos conveniente
que la opciĂłn de clonar el repositorio de git a la hora de instalar actualizaciones.
// TRANSLATION MISSING
If you still have issues, please report them to the developers.
[[compile_macos]]
=== ÂżCĂłmo puedo instalar WeeChat en macOS?
Se recomienda utilizar https://brew.sh/[Homebrew ^↗^,window=_blank],
Se recomienda utilizar https://brew.sh/[Homebrew ^↗^^],
puede obtener ayuda con el comando:
----
@@ -81,12 +72,12 @@ brew install weechat
=== He lanzado WeeChat, pero estoy perdido, ¿qué puedo hacer?
Para consultar la ayuda, escriba `/help`. Para buscar ayuda con un comando, escriba `/help comando`.
link:weechat_user.en.html#key_bindings[Las teclas ^↗^,window=_blank] y
link:weechat_user.en.html#commands_and_options[comandos ^↗^,window=_blank] aparecen listados
link:weechat_user.en.html#key_bindings[Las teclas ^↗^^] y
link:weechat_user.en.html#commands_and_options[comandos ^↗^^] aparecen listados
en la documentaciĂłn.
Se recomienda a las personas recién llegadas leer la
link:weechat_quickstart.es.html[guía rápida ^↗^,window=_blank].
link:weechat_quickstart.es.html[guía rápida ^↗^^].
[[display]]
== VisualizaciĂłn
@@ -114,7 +105,7 @@ Es un problema comĂşn con una variedad de causas, por favor lea detenidamente y
** Si está utilizando el multiplexador screen, compruebe que lo está ejecuando con el modo UTF-8
("`defutf8 on`" en ~/.screenrc o `screen -U` al ejecutar screen).
* Compruebe si la opciĂłn
link:weechat_user.en.html#option_weechat.look.eat_newline_glitch[_weechat.look.eat_newline_glitch_ ^↗^,window=_blank]
link:weechat_user.en.html#option_weechat.look.eat_newline_glitch[_weechat.look.eat_newline_glitch_ ^↗^^]
está en off (esta opción puede causar errores a la hora de mostrar el texto).
[NOTE]
@@ -129,10 +120,10 @@ Esto puede estar causado por un error en libc en la funciĂłn _wcwidth_, que debe
en glibc 2.22 (quizás todavía no está disponible en su distribución).
Hay una soluciĂłn temporal que es utilizar una funciĂłn de _wcwidth_ sin ese error:
https://blog.nytsoi.net/2015/05/04/emoji-support-for-weechat[https://blog.nytsoi.net/2015/05/04/emoji-support-for-weechat ^↗^,window=_blank].
https://blog.nytsoi.net/2015/05/04/emoji-support-for-weechat[https://blog.nytsoi.net/2015/05/04/emoji-support-for-weechat ^↗^^].
// TRANSLATION MISSING
See this https://github.com/weechat/weechat/issues/79[bug report ^↗^,window=_blank]
See this https://github.com/weechat/weechat/issues/79[bug report ^↗^^]
for more information.
[[bars_background]]
@@ -190,7 +181,7 @@ ventanas.
[[buffers_list]]
=== ÂżCĂłmo mostrar un listado de los buffers en la parte izquierda?
El complemento link:weechat_user.en.html#buflist[buflist ^↗^,window=_blank]
El complemento link:weechat_user.en.html#buflist[buflist ^↗^^]
está cargado y habilitado de manera predeterminada.
Para limitar el tamaño de la barra:
@@ -237,7 +228,7 @@ El complemento del listado de buffers _buflist_ ofrece mĂşltiples opciones que p
la ayuda de cada opciĂłn.
// TRANSLATION MISSING
There's also a https://github.com/weechat/weechat/wiki/buflist[wiki page ^↗^,window=_blank]
There's also a https://github.com/weechat/weechat/wiki/buflist[wiki page ^↗^^]
with examples of advanced buflist configuration.
[[customize_prefix]]
@@ -281,7 +272,7 @@ Estos colores pueden ser cambiados con las opciones __weechat.color.status_data_
(buffers) y __weechat.color.status_count_*__ (contadores). +
Otras opciones de la lista rápida o _hotlist_ pueden ser cambiadas con las opciones __weechat.look.hotlist_*__.
Vea la link:weechat_user.en.html#screen_layout[Guía de usuario / diseño de la pantalla ^↗^,window=_blank] para
Vea la link:weechat_user.en.html#screen_layout[Guía de usuario / diseño de la pantalla ^↗^^] para
más información sobre este tema.
[[input_bar_size]]
@@ -444,7 +435,7 @@ puede cambiarlo con estos dos comandos:
You can use any color number in options (optional: you can add color aliases
with command `/color`).
Por favor lea la link:weechat_user.en.html#colors[Guía del usuario / Colores ^↗^,window=_blank] para más
Por favor lea la link:weechat_user.en.html#colors[Guía del usuario / Colores ^↗^^] para más
informaciĂłn sobre la gestiĂłn de los colores.
[[search_text]]
@@ -453,7 +444,7 @@ informaciĂłn sobre la gestiĂłn de los colores.
La tecla predeterminada es kbd:[Ctrl+r] (el comando es: `+/input texto_a_buscar_aquĂ­+`).
Y para saltar a los textos resaltados: kbd:[Alt+p] / kbd:[Alt+n].
Vea la link:weechat_user.en.html#key_bindings[Guía del usuario / Atajos de teclado ^↗^,window=_blank]
Vea la link:weechat_user.en.html#key_bindings[Guía del usuario / Atajos de teclado ^↗^^]
para más información sobre esta funcionalidad.
[[terminal_focus]]
@@ -480,14 +471,14 @@ Y después enlazar dos teclas para el foco (reemplazar los comandos `/print` por
comandos que prefiera):
----
/key bind meta2-I /print -core focus
/key bind meta2-O /print -core unfocus
/key bind meta-[I /print -core focus
/key bind meta-[O /print -core unfocus
----
Por ejemplo, para marcar buffers como leidos cuando una terminal pierde el foco:
----
/key bind meta2-O /allbuf /buffer set unread
/key bind meta-[O /allbuf /buffer set unread
----
[[screen_paste]]
@@ -607,6 +598,15 @@ Si está utilizando aplicación Terminal de macOS, habilite la opción
"Use option as meta key" en el menú Settings/Keyboard después de la cual puede utilizar la tecla
kbd:[Option] como tecla meta.
// TRANSLATION MISSING
[[enter_key]]
=== Some keys including Enter are not working, why?
If you run a WeeChat < 4.0.0 with configuration files created by any
version ≥ 4.0.0, the keys names become invalid and many keys won't work at all. +
To repair them, exit WeeChat, remove all sections `[key*]` from weechat.conf
and start WeeChat again: all default keys will be created.
[[customize_key_bindings]]
=== ÂżCĂłmo puedo personalizar los atajos de teclado?
@@ -627,7 +627,7 @@ Puede crear un atajo de teclado, por ejemplo:
----
Tiene una lista de las teclas predeterminadas en la
link:weechat_user.en.html#key_bindings[Guía del usuario / Atajos de teclado ^↗^,window=_blank].
link:weechat_user.en.html#key_bindings[Guía del usuario / Atajos de teclado ^↗^^].
Para saltar a un buffer mayor de 100, podría definir un disparador y después utilizar
comandos como `/123` para saltar al buffer #123:
@@ -636,6 +636,13 @@ comandos como `/123` para saltar al buffer #123:
/trigger add numberjump modifier "2000|input_text_for_buffer" "${tg_string} =~ ^/[0-9]+$" "=\/([0-9]+)=/buffer *${re:1}=" "" "" "none"
----
// TRANSLATION MISSING
For an easy jump to buffers, you can also install the _go.py_ script:
----
/script install go.py
----
[[global_history]]
=== ÂżCĂłmo utilizar el historial global (en vez del historial del buffer) con las teclas de las flechas arriba y abajo?
@@ -644,15 +651,20 @@ global son kbd:[Ctrl+↑] y kbd:[Ctrl+↓]).
Ejemplo:
----
/key bind up /input history_global_previous
/key bind down /input history_global_next
----
// TRANSLATION MISSING
With WeeChat ≤ 3.8, you must use the raw key code (press kbd:[Alt+k] then key
to display its code):
----
/key bind meta2-A /input history_global_previous
/key bind meta2-B /input history_global_next
----
[NOTE]
Las telcas "meta2-A" y "meta2-B" pueden ser diferentes en su terminal. Para encontrar el cĂłdigo
de la tecla pulse kbd:[Alt+k] y después la tecla.
[[mouse]]
== RatĂłn
@@ -702,8 +714,8 @@ tiene que utilizar kbd:[Alt] en vez de kbd:[Shift]).
[[irc]]
== IRC
[[irc_ssl_connection]]
=== Tengo algunos problemas al conectarme a un servidor utilizando SSL, ¿qué puedo hacer?
[[irc_tls_connection]]
=== Tengo algunos problemas al conectarme a un servidor utilizando TLS, ¿qué puedo hacer?
Si está utilizando macOS, deberá instalar `openssl` desde Homebrew.
Se añadirá un archivo CA que utiliza los certificados del sistema.
@@ -712,45 +724,45 @@ Si ve errores en gnutls handshake, puede intentar utilizar una clave de cifrado
Diffie-Hellman (la predeterminada es 2048):
----
/set irc.server.example.ssl_dhkey_size 1024
/set irc.server.example.tls_dhkey_size 1024
----
Si ve errores sobre el certificado, puede inhabilitar "ssl_verify" (tenga cuidado,
Si ve errores sobre el certificado, puede inhabilitar "tls_verify" (tenga cuidado,
la conexión será menos segura haciendo esto):
----
/set irc.server.example.ssl_verify off
/set irc.server.example.tls_verify off
----
Si el servidor tiene un certificado inválido y usted conoce qué certificado
deberĂ­a ser, puede especificar la huella (fingerprint) (SHA-512, SHA-256 or SHA-1):
----
/set irc.server.example.ssl_fingerprint 0c06e399d3c3597511dc8550848bfd2a502f0ce19883b728b73f6b7e8604243b
/set irc.server.example.tls_fingerprint 0c06e399d3c3597511dc8550848bfd2a502f0ce19883b728b73f6b7e8604243b
----
[[irc_ssl_handshake_error]]
=== Al conectar a un servidor con SSL, solo veo el error "TLS handshake failed", ¿qué puedo hacer?
[[irc_tls_handshake_error]]
=== Al conectar a un servidor con TLS, solo veo el error "TLS handshake failed", ¿qué puedo hacer?
Puede intentar una cadena de prioridad diferente, reemplace "xxx" por el nombre
de su servidor:
----
/set irc.server.xxx.ssl_priorities "NORMAL:-VERS-TLS-ALL:+VERS-TLS1.0:+VERS-SSL3.0:%COMPAT"
/set irc.server.xxx.tls_priorities "NORMAL:-VERS-TLS-ALL:+VERS-TLS1.0:+VERS-SSL3.0:%COMPAT"
----
[[irc_ssl_libera]]
=== ÂżCĂłmo puedo conectarme al servidor libera utilizando SSL?
[[irc_tls_libera]]
=== ÂżCĂłmo puedo conectarme al servidor libera utilizando TLS?
// TRANSLATION MISSING
Check that you have certificates installed on your system, this is commonly
provided by the package "ca-certificates".
Establezca el puerto del servidor, SSL, después conecte:
Establezca el puerto del servidor, TLS, después conecte:
----
/set irc.server.libera.addresses "irc.libera.chat/6697"
/set irc.server.libera.ssl on
/set irc.server.libera.tls on
/connect libera
----
@@ -846,25 +858,11 @@ prefijar el contenido de la lĂ­nea.
Las líneas flitradas solo son ocultadas, no eliminadas, y podrá verlas si
inhabilita los filtros (de manera predeteminada, la tecla kbd:[Alt+=] alterna esos filtros).
// TRANSLATION MISSING
[[filter_irc_join_part_quit]]
=== ÂżCĂłmo puedo filtrar los mensajes join/part/quit en los canales IRC?
=== How can I filter join/part/quit and other annoying messages on IRC channels?
Con el filtro inteligente (mantiene los mensajes join/part/quit de usuarios que hayan hablado recientemente):
----
/set irc.look.smart_filter on
/filter add irc_smart * irc_smart_filter *
----
Con un filtro global (oculta *todos* los mensajes join/part/quit):
----
/filter add joinquit * irc_join,irc_part,irc_quit *
----
[NOTE]
Para más ayuda: `/help filter`, `+/help irc.look.smart_filter+` y vea la
link:weechat_user.en.html#irc_smart_filter_join_part_quit[Guía del usuario / Filtros inteligente para mensajes join/part/quit ^↗^,window=_blank].
See link:weechat_user.en.html#irc_smart_filter[User's guide / IRC smart filter ^↗^^].
[[filter_irc_join_channel_messages]]
=== ÂżCĂłmo puedo filtrar algunos mensajes mostrados cuando me uno a un canal IRC?
@@ -961,39 +959,26 @@ Otros scripts para este tema:
// TRANSLATION MISSING
You can use the
link:weechat_user.en.html#max_hotlist_level_nicks[hotlist_max_level_nicks_add ^↗^,window=_blank]
link:weechat_user.en.html#max_hotlist_level_nicks[hotlist_max_level_nicks_add ^↗^^]
buffer property to set the max hotlist level for some nicks, per buffer,
or per group of buffers (like IRC servers).
Para Ăşnicamente inhabilitar las notificaciones, deberĂ­a establecerlo a 2:
Para Ăşnicamente inhabilitar las notificaciones, deberĂ­a establecerlo a 2.
// TRANSLATION MISSING
For the current buffer:
----
/buffer set hotlist_max_level_nicks_add joe:2,mike:2
/buffer setauto hotlist_max_level_nicks_add joe:2,mike:2
----
Esta propiedad del buffer no es almacenada en la configuraciĂłn.
Para volver a aplicar automáticamente estas propiedades del buffer, necesitaría el script
_buffer_autoset.py_:
// TRANSLATION MISSING
For all channels on server "libera":
----
/script install buffer_autoset.py
/set weechat.buffer.irc.libera.*.hotlist_max_level_nicks_add joe:2,mike:2
----
Por ejemplo, para inhabilitar automáticamente las menciones de "mike" en #weechat
en el servidor IRC de libera:
----
/buffer_autoset add irc.libera.#weechat hotlist_max_level_nicks_add mike:2
----
Para aplicarlo al servidor completo de libera:
----
/buffer_autoset add irc.libera hotlist_max_level_nicks_add mike:2
----
Para más ejemplos, vea `+/help buffer_autoset+`.
[[irc_target_buffer]]
=== ÂżCĂłmo puedo cambiar el objetivo del buffer para comandos en buffers unidos (como en un buffer con servidores)?
@@ -1026,7 +1011,7 @@ Los scripts no son compatibles con otros clientes IRC.
[[scripts_update]]
=== El comando "/script update" no puede leer los scripts, ÂżCĂłmo puedo solucionar eso?
Primero compruebe las preguntas sobre la conexiĂłn SSL en este documento.
Primero compruebe las preguntas sobre la conexiĂłn TLS en este documento.
Si todavĂ­a no funciona, trate de manera manual eliminar los archivos de scripts (escriba en su terminal):
@@ -1112,7 +1097,7 @@ Puede intentar estos trucos para consumir menos memoria:
fifo, logger, perl, python, ruby, lua, tcl, guile, javascript, php, spell,
xfer (usado para DCC). Vea `/help weechat.plugin.autoload`.
* Cargue solo los scripts que realmente necesite.
* No cargue los certificados del sistema si SSL *NO* es utilizado: inhabilite esta opciĂłn mediante:
* No cargue los certificados del sistema si TLS *NO* es utilizado: inhabilite esta opciĂłn mediante:
_weechat.network.gnutls_ca_system_.
* Reduzca el valor de la opciĂłn _weechat.history.max_buffer_lines_number_ o establezca
el valor de la opciĂłn _weechat.history.max_buffer_lines_minutes_.
@@ -1123,7 +1108,10 @@ Puede intentar estos trucos para consumir menos memoria:
Puede seguir los mismos consejo que para la <<memory_usage,memoria>> y estos otros:
* Oculte la barra de la lista de apodos: `/bar hide nicklist`.
// TRANSLATION MISSING
* Oculte la barra de la lista de apodos: `/bar hide nicklist` (key: kbd:[Alt+Shift+N]).
// TRANSLATION MISSING
* Disable "buflist": `/buflist disable` (key: kbd:[Alt+Shift+B]).
* Elimine que se muestren los segundos en la hora de la barra de estado:
`+/set weechat.look.item_time_format "%H:%M"+` (este es el valor predeterminado).
* Inhabilite la comprobaciĂłn en tiempo real de palabras errĂłneas en la lĂ­nea de comandos (si lo habĂ­a habilitado previamente):
@@ -1145,14 +1133,21 @@ Inhabilite las respuestas a todas las peticiones CTCP:
----
/set irc.ctcp.clientinfo ""
/set irc.ctcp.finger ""
/set irc.ctcp.source ""
/set irc.ctcp.time ""
/set irc.ctcp.userinfo ""
/set irc.ctcp.version ""
/set irc.ctcp.ping ""
----
// TRANSLATION MISSING
With WeeChat < 4.1.0, other CTCP queries were replied by default and must be
disabled as well:
----
/set irc.ctcp.finger ""
/set irc.ctcp.userinfo ""
----
Elimine de la memoria e inhabilite la carga automática del complemento "xfer" (utilizdo para IRC DCC):
----
@@ -1163,7 +1158,7 @@ Elimine de la memoria e inhabilite la carga automática del complemento "xfer" (
Defina una frase de paso y utilice datos seguros cada vez que pueda para datos sensibles
como contraseñas: vea `/help secure` y `/help` en las opciones
(si puede utilice datos seguros, está escrito en la ayuda).
Ver también link:weechat_user.en.html#secured_data[Guía del usuario / Datos seguros ^↗^,window=_blank].
Ver también link:weechat_user.en.html#secured_data[Guía del usuario / Datos seguros ^↗^^].
Por ejemplo:
@@ -1184,9 +1179,38 @@ contiene sus contraseñas cifradas con su frase de paso.
Algunos otros archivos pueden contener información sensible como contraseñas (si no están
almacenadas en _sec.conf_ con el comando `/secure`).
Vea la link:weechat_user.en.html#files_and_directories[Guía del usuario / Archivos y directorios ^↗^,window=_blank]
Vea la link:weechat_user.en.html#files_and_directories[Guía del usuario / Archivos y directorios ^↗^^]
para más información relacionada con los archivos de configuración.
// TRANSLATION MISSING
[[move_to_another_device]]
=== I want to move my WeeChat to another device and keep my config, what should I copy?
First check directories used by WeeChat with this command: `/debug dirs`. +
Directories home/config and home/data must be copied (all files and sub-directories).
For example if you're using XDG directories (default with WeeChat ≥ 3.2),
the directories should be `$HOME/.config/weechat` and `$HOME/.local/share/weechat`. +
If you're using a single directory (default with WeeChat < 3.2), the directory
should be `$HOME/.weechat`.
[IMPORTANT]
The WeeChat version on the new device must be greater than or equal to the version
on the initial device. +
Downgrading WeeChat configuration is *NOT SUPPORTED* and can break it,
leading to unusable WeeChat.
Steps:
. Quit Weechat: `/quit` (or `/upgrade -quit` if you want to resume the session,
which includes content of all buffers).
. Copy all directories, sub-directories and files to the new device, keeping
same names and permissions.
. Optional: copy any file outside these directories that you refer to in your
configuration (it's not recommended to use files outside WeeChat directories).
. Start WeeChat on the new device: `weechat` (or `weechat --upgrade` if you
saved the session).
[[development]]
== Desarrollo
@@ -1194,7 +1218,7 @@ para más información relacionada con los archivos de configuración.
=== ÂżCĂłmo podrĂ­a informar de errores, pedir nuevas funcionalidades o enviar parches?
// TRANSLATION MISSING
See https://weechat.org/about/support/[this page ^↗^,window=_blank].
See https://weechat.org/about/support/[this page ^↗^^].
[[gdb_error_threads]]
=== Cuando ejecuto WeeChat bajo gdb, hay un error con la muestra de las conversaciones, ¿qué puedo hacer?
@@ -1232,11 +1256,11 @@ Hay muchas tareas que hacer (probar, escribir cĂłdigo, documentaciĂłn, etc.)
// TRANSLATION MISSING
Please contact us via IRC or mail, look at
https://weechat.org/about/support/[support page ^↗^,window=_blank].
https://weechat.org/about/support/[support page ^↗^^].
[[donate]]
=== ÂżPuedo donar dinero u otras cosas a las personas que desarrollan WeeChat?
// TRANSLATION MISSING
You can give us money to help development.
Details on https://weechat.org/donate/[donation page ^↗^,window=_blank].
Details on https://weechat.org/donate/[donation page ^↗^^].
+4 -8
View File
@@ -2,17 +2,13 @@
:author: Sébastien Helleu
:email: flashcode@flashtux.org
:lang: es
:toc: left
:sectnums:
:docinfo1:
:toc-title: ĂŤndice
Traductores:
* Lázaro A. <uranio-235@myopera.com>, 2012
* Victorhck <victorhck@mailbox.org>, 2021
[[start]]
== Iniciar WeeChat
@@ -115,7 +111,7 @@ seguramente vera irc y otros.
Puede añadir un servidor IRC mediante el comando `/server`, por ejemplo:
----
/server add libera irc.libera.chat/6697 -ssl
/server add libera irc.libera.chat/6697 -tls
----
En este comando, `libera` es el nombre interno del servidor utilizado por WeeChat:
@@ -404,14 +400,14 @@ Vea `/help script` para obtener más información.
// TRANSLATION MISSING
A list of scripts is available in WeeChat with `/script` or on
https://weechat.org/scripts/[this page ^↗^,window=_blank].
https://weechat.org/scripts/[this page ^↗^^].
[[more_doc]]
== Más documentación
// TRANSLATION MISSING
You can now use WeeChat and read
https://weechat.org/doc/[FAQ/documentation ^↗^,window=_blank]
https://weechat.org/doc/[FAQ/documentation ^↗^^]
for any other questions.
¡Disfrute de WeeChat!
-151
View File
@@ -1,151 +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/>.
#
if(ENABLE_MAN)
# man page: weechat
add_custom_command(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/weechat.1
COMMAND ${ASCIIDOCTOR_EXECUTABLE} ARGS ${ASCIIDOCTOR_ARGS} -b manpage -o weechat.1 ${CMAKE_CURRENT_SOURCE_DIR}/weechat.1.fr.adoc
DEPENDS
${CMAKE_CURRENT_SOURCE_DIR}/weechat.1.fr.adoc
${CMAKE_CURRENT_SOURCE_DIR}/includes/cmdline_options.fr.adoc
${CMAKE_CURRENT_SOURCE_DIR}/includes/man.fr.adoc
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMENT "Building weechat.1 (fr)"
)
add_custom_target(doc-man-weechat-fr ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/weechat.1)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/weechat.1 DESTINATION ${MANDIR}/fr/man1)
if(ENABLE_HEADLESS)
# man page: weechat-headless
add_custom_command(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/weechat-headless.1
COMMAND ${ASCIIDOCTOR_EXECUTABLE} ARGS ${ASCIIDOCTOR_ARGS} -b manpage -o weechat-headless.1 ${CMAKE_CURRENT_SOURCE_DIR}/weechat-headless.1.fr.adoc
DEPENDS
${CMAKE_CURRENT_SOURCE_DIR}/weechat-headless.1.fr.adoc
${CMAKE_CURRENT_SOURCE_DIR}/includes/cmdline_options.fr.adoc
${CMAKE_CURRENT_SOURCE_DIR}/includes/man.fr.adoc
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMENT "Building weechat-headless.1 (fr)"
)
add_custom_target(doc-man-weechat-headless-fr ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/weechat-headless.1)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/weechat-headless.1 DESTINATION ${MANDIR}/fr/man1)
endif()
endif()
if(ENABLE_DOC)
file(GLOB AUTOGEN_USER "${CMAKE_CURRENT_SOURCE_DIR}/includes/autogen_user_*.adoc")
file(GLOB AUTOGEN_PLUGIN "${CMAKE_CURRENT_SOURCE_DIR}/includes/autogen_api_*.adoc")
# user's guide
add_custom_command(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/weechat_user.fr.html
COMMAND ${ASCIIDOCTOR_EXECUTABLE} ARGS ${ASCIIDOCTOR_ARGS} -o weechat_user.fr.html ${CMAKE_CURRENT_SOURCE_DIR}/weechat_user.fr.adoc
DEPENDS
${CMAKE_CURRENT_SOURCE_DIR}/../docinfo.html
${CMAKE_CURRENT_SOURCE_DIR}/weechat_user.fr.adoc
${CMAKE_CURRENT_SOURCE_DIR}/includes/cmdline_options.fr.adoc
${AUTOGEN_USER}
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMENT "Building weechat_user.fr.html"
)
add_custom_target(doc-user-fr ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/weechat_user.fr.html)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/weechat_user.fr.html DESTINATION ${DATAROOTDIR}/doc/${PROJECT_NAME})
# plugin API reference
add_custom_command(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/weechat_plugin_api.fr.html
COMMAND ${ASCIIDOCTOR_EXECUTABLE} ARGS ${ASCIIDOCTOR_ARGS} -o weechat_plugin_api.fr.html ${CMAKE_CURRENT_SOURCE_DIR}/weechat_plugin_api.fr.adoc
DEPENDS
${CMAKE_CURRENT_SOURCE_DIR}/../docinfo.html
${CMAKE_CURRENT_SOURCE_DIR}/weechat_plugin_api.fr.adoc
${AUTOGEN_PLUGIN}
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMENT "Building weechat_plugin_api.fr.html"
)
add_custom_target(doc-plugin-api-fr ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/weechat_plugin_api.fr.html)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/weechat_plugin_api.fr.html DESTINATION ${DATAROOTDIR}/doc/${PROJECT_NAME})
# scripting guide
add_custom_command(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/weechat_scripting.fr.html
COMMAND ${ASCIIDOCTOR_EXECUTABLE} ARGS ${ASCIIDOCTOR_ARGS} -o weechat_scripting.fr.html ${CMAKE_CURRENT_SOURCE_DIR}/weechat_scripting.fr.adoc
DEPENDS
${CMAKE_CURRENT_SOURCE_DIR}/../docinfo.html
${CMAKE_CURRENT_SOURCE_DIR}/weechat_scripting.fr.adoc
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMENT "Building weechat_scripting.fr.html"
)
add_custom_target(doc-scripting-fr ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/weechat_scripting.fr.html)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/weechat_scripting.fr.html DESTINATION ${DATAROOTDIR}/doc/${PROJECT_NAME})
# FAQ
add_custom_command(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/weechat_faq.fr.html
COMMAND ${ASCIIDOCTOR_EXECUTABLE} ARGS ${ASCIIDOCTOR_ARGS} -o weechat_faq.fr.html ${CMAKE_CURRENT_SOURCE_DIR}/weechat_faq.fr.adoc
DEPENDS
${CMAKE_CURRENT_SOURCE_DIR}/../docinfo.html
${CMAKE_CURRENT_SOURCE_DIR}/weechat_faq.fr.adoc
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMENT "Building weechat_faq.fr.html"
)
add_custom_target(doc-faq-fr ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/weechat_faq.fr.html)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/weechat_faq.fr.html DESTINATION ${DATAROOTDIR}/doc/${PROJECT_NAME})
# quickstart
add_custom_command(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/weechat_quickstart.fr.html
COMMAND ${ASCIIDOCTOR_EXECUTABLE} ARGS ${ASCIIDOCTOR_ARGS} -o weechat_quickstart.fr.html ${CMAKE_CURRENT_SOURCE_DIR}/weechat_quickstart.fr.adoc
DEPENDS
${CMAKE_CURRENT_SOURCE_DIR}/../docinfo.html
${CMAKE_CURRENT_SOURCE_DIR}/weechat_quickstart.fr.adoc
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMENT "Building weechat_quickstart.fr.html"
)
add_custom_target(doc-quickstart-fr ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/weechat_quickstart.fr.html)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/weechat_quickstart.fr.html DESTINATION ${DATAROOTDIR}/doc/${PROJECT_NAME})
# relay protocol
add_custom_command(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/weechat_relay_protocol.fr.html
COMMAND ${ASCIIDOCTOR_EXECUTABLE} ARGS ${ASCIIDOCTOR_ARGS} -o weechat_relay_protocol.fr.html ${CMAKE_CURRENT_SOURCE_DIR}/weechat_relay_protocol.fr.adoc
DEPENDS
${CMAKE_CURRENT_SOURCE_DIR}/../docinfo.html
${CMAKE_CURRENT_SOURCE_DIR}/weechat_relay_protocol.fr.adoc
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMENT "Building weechat_relay_protocol.fr.html"
)
add_custom_target(doc-relay-protocol-fr ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/weechat_relay_protocol.fr.html)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/weechat_relay_protocol.fr.html DESTINATION ${DATAROOTDIR}/doc/${PROJECT_NAME})
# developer's guide
add_custom_command(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/weechat_dev.fr.html
COMMAND ${ASCIIDOCTOR_EXECUTABLE} ARGS ${ASCIIDOCTOR_ARGS} -o weechat_dev.fr.html ${CMAKE_CURRENT_SOURCE_DIR}/weechat_dev.fr.adoc
DEPENDS
${CMAKE_CURRENT_SOURCE_DIR}/../docinfo.html
${CMAKE_CURRENT_SOURCE_DIR}/weechat_dev.fr.adoc
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMENT "Building weechat_dev.fr.html"
)
add_custom_target(doc-dev-fr ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/weechat_dev.fr.html)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/weechat_dev.fr.html DESTINATION ${DATAROOTDIR}/doc/${PROJECT_NAME})
endif()
-129
View File
@@ -1,129 +0,0 @@
#
# Copyright (C) 2003-2023 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2006 Julien Louis <ptitlouis@sysif.net>
#
# 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/>.
#
docdir = $(datadir)/doc/$(PACKAGE)
EXTRA_DIST = CMakeLists.txt \
docinfo.html \
weechat.1.fr.adoc \
weechat-headless.1.fr.adoc \
weechat_user.fr.adoc \
weechat_plugin_api.fr.adoc \
weechat_scripting.fr.adoc \
weechat_faq.fr.adoc \
weechat_quickstart.fr.adoc \
weechat_relay_protocol.fr.adoc \
weechat_dev.fr.adoc \
includes/autogen_api_completions.fr.adoc \
includes/autogen_api_hdata.fr.adoc \
includes/autogen_api_infolists.fr.adoc \
includes/autogen_api_infos.fr.adoc \
includes/autogen_api_infos_hashtable.fr.adoc \
includes/autogen_api_plugins_priority.fr.adoc \
includes/autogen_api_url_options.fr.adoc \
includes/autogen_user_commands.fr.adoc \
includes/autogen_user_default_aliases.fr.adoc \
includes/autogen_user_irc_colors.fr.adoc \
includes/autogen_user_options.fr.adoc \
includes/cmdline_options.fr.adoc \
includes/man.fr.adoc
if MAN
man_targets = weechat.1 \
weechat-headless.1
man_install = install-man
man_uninstall = uninstall-man
endif
if DOC
doc_targets = weechat_user.fr.html \
weechat_plugin_api.fr.html \
weechat_scripting.fr.html \
weechat_faq.fr.html \
weechat_quickstart.fr.html \
weechat_relay_protocol.fr.html \
weechat_dev.fr.html
doc_install = install-doc
doc_uninstall = uninstall-doc
endif
all-local: $(man_targets) $(doc_targets)
# man pages
weechat.1: weechat.1.fr.adoc includes/cmdline_options.fr.adoc includes/man.fr.adoc
$(ASCIIDOCTOR) $(ASCIIDOCTOR_ARGS) -a revnumber="$(VERSION)" -b manpage -o weechat.1 $(abs_top_srcdir)/doc/fr/weechat.1.fr.adoc
weechat-headless.1: weechat-headless.1.fr.adoc includes/cmdline_options.fr.adoc includes/man.fr.adoc
$(ASCIIDOCTOR) $(ASCIIDOCTOR_ARGS) -a revnumber="$(VERSION)" -b manpage -o weechat-headless.1 $(abs_top_srcdir)/doc/fr/weechat-headless.1.fr.adoc
# user's guide
weechat_user.fr.html: weechat_user.fr.adoc includes/cmdline_options.fr.adoc $(wildcard includes/autogen_user_*.adoc) $(abs_top_srcdir)/doc/docinfo.html
$(ASCIIDOCTOR) $(ASCIIDOCTOR_ARGS) -a revnumber="$(VERSION)" -o weechat_user.fr.html $(abs_top_srcdir)/doc/fr/weechat_user.fr.adoc
# plugin API reference
weechat_plugin_api.fr.html: weechat_plugin_api.fr.adoc $(wildcard includes/autogen_api_*.adoc) $(abs_top_srcdir)/doc/docinfo.html
$(ASCIIDOCTOR) $(ASCIIDOCTOR_ARGS) -a revnumber="$(VERSION)" -o weechat_plugin_api.fr.html $(abs_top_srcdir)/doc/fr/weechat_plugin_api.fr.adoc
# scripting guide
weechat_scripting.fr.html: weechat_scripting.fr.adoc $(abs_top_srcdir)/doc/docinfo.html
$(ASCIIDOCTOR) $(ASCIIDOCTOR_ARGS) -a revnumber="$(VERSION)" -o weechat_scripting.fr.html $(abs_top_srcdir)/doc/fr/weechat_scripting.fr.adoc
# FAQ
weechat_faq.fr.html: weechat_faq.fr.adoc $(abs_top_srcdir)/doc/docinfo.html
$(ASCIIDOCTOR) $(ASCIIDOCTOR_ARGS) -a revnumber="$(VERSION)" -o weechat_faq.fr.html $(abs_top_srcdir)/doc/fr/weechat_faq.fr.adoc
# quickstart
weechat_quickstart.fr.html: weechat_quickstart.fr.adoc $(abs_top_srcdir)/doc/docinfo.html
$(ASCIIDOCTOR) $(ASCIIDOCTOR_ARGS) -a revnumber="$(VERSION)" -o weechat_quickstart.fr.html $(abs_top_srcdir)/doc/fr/weechat_quickstart.fr.adoc
# relay protocol
weechat_relay_protocol.fr.html: weechat_relay_protocol.fr.adoc $(abs_top_srcdir)/doc/docinfo.html
$(ASCIIDOCTOR) $(ASCIIDOCTOR_ARGS) -a revnumber="$(VERSION)" -o weechat_relay_protocol.fr.html $(abs_top_srcdir)/doc/fr/weechat_relay_protocol.fr.adoc
# developer's guide
weechat_dev.fr.html: weechat_dev.fr.adoc $(abs_top_srcdir)/doc/docinfo.html
$(ASCIIDOCTOR) $(ASCIIDOCTOR_ARGS) -a revnumber="$(VERSION)" -o weechat_dev.fr.html $(abs_top_srcdir)/doc/fr/weechat_dev.fr.adoc
# install man/docs
install-data-hook: $(man_install) $(doc_install)
install-man:
$(mkinstalldirs) $(DESTDIR)$(mandir)/fr/man1/
$(INSTALL_DATA) *.1 $(DESTDIR)$(mandir)/fr/man1/
install-doc:
$(mkinstalldirs) $(DESTDIR)$(docdir)/
$(INSTALL_DATA) *.html $(DESTDIR)$(docdir)/
# uninstall man/docs
uninstall-hook: $(man_uninstall) $(doc_uninstall)
uninstall-man:
$(RM) $(DESTDIR)$(mandir)/fr/man1/weechat.1
$(RM) $(DESTDIR)$(mandir)/fr/man1/weechat-headless.1
-rmdir $(DESTDIR)$(mandir)/fr/man1
uninstall-doc:
$(RM) $(DESTDIR)$(docdir)/*.fr.html
-rmdir $(DESTDIR)$(docdir)
# clean
clean-local:
-$(RM) weechat.1 weechat-headless.1 weechat_*.html
-1
View File
@@ -1 +0,0 @@
../docinfo.html
@@ -1,204 +0,0 @@
//
// This file is auto-generated by script docgen.py.
// DO NOT EDIT BY HAND!
//
// tag::completions[]
[width="100%",cols="^1,^2,7",options="header"]
|===
| Extension | Nom | Description
| alias | alias | liste des alias
| alias | alias_value | valeur de l'alias
| exec | exec_commands_ids | ids (nombres et noms) des commandes exécutées
| fset | fset_options | fichiers de configuration, section, options et mots des options
| guile | guile_script | liste des scripts
| irc | irc_channel | canal IRC courant
| irc | irc_channel_nicks_hosts | pseudos et noms d'hĂ´tes du canal IRC courant
| irc | irc_channel_topic | titre du canal IRC courant
| irc | irc_channels | canaux sur tous les serveurs IRC
| irc | irc_channels_autojoin | canaux automatiquement rejoints sur le serveur courant (option "autojoin")
| irc | irc_ignores_numbers | numéros pour les ignores définis
| irc | irc_modelist_masks | masques de la liste de modes du canal IRC courant ; argument obligatoire : mode de la liste de modes
| irc | irc_modelist_numbers | nombres de la liste de modes du canal IRC courant ; argument obligatoire : mode de la liste de modes
| irc | irc_msg_kick | message d'éjection par défaut
| irc | irc_msg_part | message de fin par défaut pour le canal IRC
| irc | irc_notify_nicks | pseudos dans la liste de notifications
| irc | irc_privates | privés sur tous les serveurs IRC
| irc | irc_raw_filters | filtres pour le tampon de données brutes irc
| irc | irc_server | serveur IRC courant
| irc | irc_server_channels | canaux sur le serveur IRC courant
| irc | irc_server_nick | pseudo sur le serveur IRC courant
| irc | irc_server_nicks | pseudos sur tous les canaux du serveur IRC courant
| irc | irc_server_privates | privés sur le serveur IRC courant
| irc | irc_servers | serveurs IRC (noms internes)
| irc | nick | pseudos du canal IRC courant
| javascript | javascript_script | liste des scripts
| lua | lua_script | liste des scripts
| perl | perl_script | liste des scripts
| php | php_script | liste des scripts
| python | python_script | liste des scripts
| relay | relay_free_port | premier port libre pour l'extension relay
| relay | relay_protocol_name | tous les protocole.nom possible pour l'extension relay
| relay | relay_relays | protocole.nom des relais courants pour l'extension relay
| ruby | ruby_script | liste des scripts
| script | script_extensions | liste des extensions de script
| script | script_files | fichiers dans les répertoires de script
| script | script_languages | liste des langages de script
| script | script_scripts | liste des scripts du dépôt
| script | script_scripts_installed | liste des scripts installés (du dépôt)
| script | script_tags | étiquettes des scripts dans le dépôt
| spell | spell_dicts | liste des dictionnaires installés
| spell | spell_langs | liste de toutes les langues supportées
| tcl | tcl_script | liste des scripts
| trigger | trigger_add_arguments | paramètres pour la commande qui ajoute un trigger : nom du trigger, hooks, paramètres du hook, conditions du hook, regex du hook, commande du hook, code retour du hook, actions "post"
| trigger | trigger_hook_arguments | paramètres par défaut pour un hook
| trigger | trigger_hook_command | commande par défaut pour un hook
| trigger | trigger_hook_conditions | conditions par défaut pour un hook
| trigger | trigger_hook_rc | code retour par défaut pour une fonction de rappel de hook
| trigger | trigger_hook_regex | expression régulière par défaut pour le hook
| trigger | trigger_hooks | hooks pour les triggers
| trigger | trigger_hooks_filter | hooks pour les triggers (pour filtrer dans le tampon moniteur)
| trigger | trigger_names | triggers
| trigger | trigger_names_default | triggers par défaut
| trigger | trigger_option_value | valeur d'une option de trigger
| trigger | trigger_options | options pour les triggers
| trigger | trigger_post_action | actions "post" pour les triggers
| weechat | bars_names | noms des barres
| weechat | bars_options | options pour les barres
| weechat | buffer_local_variable_value | valeur d'une variable locale du tampon
| weechat | buffer_local_variables | variables locales du tampon
| weechat | buffer_properties_get | propriétés qui peuvent être lues sur un tampon
| weechat | buffer_properties_set | propriétés qui peuvent être changées sur un tampon
| weechat | buffers_names | noms des tampons
| weechat | buffers_numbers | numéros des tampons
| weechat | buffers_plugins_names | noms des tampons (incluant les noms d'extensions)
| weechat | colors | noms des couleurs
| weechat | commands | commandes (weechat et extensions) ; paramètre optionnel : préfixe à ajouter avant les commandes
| weechat | config_files | fichiers de configuration
| weechat | config_option_values | valeurs pour une option de configuration
| weechat | config_options | options de configuration
| weechat | cursor_areas | zones ("chat" ou un nom de barre) pour le mouvement libre du curseur
| weechat | custom_bar_item_add_arguments | paramètres pour la commande qui ajoute un objet de barre personnalisé : nom de l'objet, conditions, contenu
| weechat | custom_bar_item_conditions | conditions pour l'objet de barre personnalisé
| weechat | custom_bar_item_contents | contenus pour l'objet de barre personnalisé
| weechat | custom_bar_items_names | noms des objets de barre personnalisés
| weechat | env_value | valeur d'une variable d'environnement
| weechat | env_vars | variables d'environnement
| weechat | filename | nom de fichier ; paramètre optionnel : chemin par défaut (évalué, voir /help eval)
| weechat | filters_names | noms des filtres
| weechat | infolists | noms des infolistes accrochées
| weechat | infos | noms des infos accrochées
| weechat | keys_codes | codes des touches
| weechat | keys_codes_for_reset | codes des touches pouvant être réinitialisées (touches ajoutées, redéfinies ou supprimées)
| weechat | keys_contexts | contextes de touches
| weechat | layouts_names | noms des dispositions
| weechat | nicks | pseudos dans la liste des pseudos du tampon courant
| weechat | palette_colors | couleurs de la palette
| weechat | plugins_commands | commandes définies par les extensions ; paramètre optionnel : préfixe à ajouter avant les commandes
| weechat | plugins_installed | noms des extensions installées
| weechat | plugins_names | noms des extensions
| weechat | proxies_names | noms des proxies
| weechat | proxies_options | options pour les proxies
| weechat | secured_data | noms de données sécurisées (fichier sec.conf, section data)
| weechat | weechat_commands | commandes weechat ; paramètre optionnel : préfixe à ajouter avant les commandes
| weechat | windows_numbers | numéros des fenêtres
| xfer | nick | pseudos de la discussion DCC
|===
// end::completions[]
File diff suppressed because it is too large Load Diff
@@ -1,94 +0,0 @@
//
// This file is auto-generated by script docgen.py.
// DO NOT EDIT BY HAND!
//
// tag::infolists[]
[width="100%",cols="^1,^2,5,5,5",options="header"]
|===
| Extension | Nom | Description | Pointeur | Paramètres
| alias | alias | liste des alias | pointeur vers l'alias (optionnel) | nom d'alias (le caractère joker "*" est autorisé) (optionnel)
| alias | alias_default | liste des alias par défaut | - | -
| buflist | buflist | liste des tampons dans un objet de barre buflist | - | nom d'objet de barre buflist (optionnel)
| fset | fset_option | liste des options fset | pointeur vers l'option fset (optionnel) | nom d'option (le caractère joker "*" est autorisé) (optionnel)
| guile | guile_script | liste des scripts | pointeur vers le script (optionnel) | nom de script (le caractère joker "*" est autorisé) (optionnel)
| irc | irc_channel | liste des canaux pour un serveur IRC | pointeur vers le canal (optionnel) | serveur,canal (le canal est optionnel)
| irc | irc_color_weechat | correspondance entre les codes couleur IRC et les noms de couleur WeeChat | - | -
| irc | irc_ignore | liste des ignores IRC | pointeur vers l'ignore (optionnel) | -
| irc | irc_modelist | liste des listes de modes pour un canal IRC | pointeur vers une liste de modes (optionnel) | serveur,canal,type (le type est optionnel)
| irc | irc_modelist_item | listes des éléments dans une liste de modes de canal | pointeur vers un élément de liste de modes (optionnel) | serveur,canal,type,nombre (le nombre est optionnel)
| irc | irc_nick | liste des pseudos pour un canal IRC | pointeur vers le pseudo (optionnel) | serveur,canal,pseudo (le pseudo est optionnel)
| irc | irc_notify | liste des notifications | pointeur vers la notification (optionnel) | nom de serveur (le caractère joker "*" est autorisé) (optionnel)
| irc | irc_server | liste des serveurs IRC | pointeur vers le serveur (optionnel) | nom de serveur (le caractère joker "*" est autorisé) (optionnel)
| javascript | javascript_script | liste des scripts | pointeur vers le script (optionnel) | nom de script (le caractère joker "*" est autorisé) (optionnel)
| logger | logger_buffer | liste des enregistreurs de tampons (loggers) | pointeur vers le logger (optionnel) | -
| lua | lua_script | liste des scripts | pointeur vers le script (optionnel) | nom de script (le caractère joker "*" est autorisé) (optionnel)
| perl | perl_script | liste des scripts | pointeur vers le script (optionnel) | nom de script (le caractère joker "*" est autorisé) (optionnel)
| php | php_script | liste des scripts | pointeur vers le script (optionnel) | nom de script (le caractère joker "*" est autorisé) (optionnel)
| python | python_script | liste des scripts | pointeur vers le script (optionnel) | nom de script (le caractère joker "*" est autorisé) (optionnel)
| relay | relay | liste des clients pour le relai | pointeur vers le relay (optionnel) | -
| ruby | ruby_script | liste des scripts | pointeur vers le script (optionnel) | nom de script (le caractère joker "*" est autorisé) (optionnel)
| script | script_script | liste des scripts | pointeur vers le script (optionnel) | nom du script avec extension (le caractère joker "*" est autorisé) (optionnel)
| tcl | tcl_script | liste des scripts | pointeur vers le script (optionnel) | nom de script (le caractère joker "*" est autorisé) (optionnel)
| weechat | bar | liste des barres | pointeur vers la barre (optionnel) | nom de barre (le caractère joker "*" est autorisé) (optionnel)
| weechat | bar_item | liste des objets de barres | pointeur vers l'objet de barre (optionnel) | nom d'objet de barre (le caractère joker "*" est autorisé) (optionnel)
| weechat | bar_window | liste des fenĂŞtres de barre | pointeur vers la fenĂŞtre de barre (optionnel) | -
| weechat | buffer | liste des tampons | pointeur vers le tampon (optionnel) | nom de tampon (le caractère joker "*" est autorisé) (optionnel)
| weechat | buffer_lines | lignes d'un tampon | pointeur vers le tampon | -
| weechat | filter | liste des filtres | - | nom de filtre (le caractère joker "*" est autorisé) (optionnel)
| weechat | history | historique des commandes | pointeur vers le tampon (si non défini, retourne l'historique global) (optionnel) | -
| weechat | hook | liste des hooks | pointeur vers le hook (optionnel) | type,paramètres (le type est command/timer/.., paramètres pour avoir seulement quelques hooks (le caractère joker "*" est autorisé), les deux sont optionnels)
| weechat | hotlist | liste des tampons dans la hotlist | - | -
| weechat | key | liste des associations de touches | - | contexte ("default", "search", "cursor" ou "mouse") (optionnel)
| weechat | layout | liste des dispositions | - | -
| weechat | nicklist | pseudos dans la liste des pseudos pour un tampon | pointeur vers le tampon | nick_xxx ou group_xxx pour avoir seulement le pseudo/groupe xxx (optionnel)
| weechat | option | liste des options | - | nom d'option (le caractère joker "*" est autorisé) (optionnel)
| weechat | plugin | liste des extensions | pointeur vers l'extension (optionnel) | nom d'extension (le caractère joker "*" est autorisé) (optionnel)
| weechat | proxy | liste des proxies | pointeur vers le proxy (optionnel) | nom de proxy (le caractère joker "*" est autorisé) (optionnel)
| weechat | url_options | options pour l'URL | - | -
| weechat | window | liste des fenêtres | pointeur vers la fenêtre (optionnel) | "current" pour la fenêtre courante ou un numéro de fenêtre (optionnel)
| xfer | xfer | liste des xfer | pointeur vers le xfer (optionnel) | -
|===
// end::infolists[]
-164
View File
@@ -1,164 +0,0 @@
//
// This file is auto-generated by script docgen.py.
// DO NOT EDIT BY HAND!
//
// tag::infos[]
[width="100%",cols="^1,^2,6,6",options="header"]
|===
| Extension | Nom | Description | Paramètres
| fifo | fifo_filename | nom du tube FIFO | -
| guile | guile_eval | évaluation de code source | code source à exécuter
| guile | guile_interpreter | nom de l'interpréteur utilisé | -
| guile | guile_version | version de l'interpréteur utilisé | -
| irc | irc_buffer | retourne le pointeur vers le tampon pour un serveur/canal/pseudo IRC | serveur,canal,pseudo (canal et pseudo sont optionnels)
| irc | irc_is_channel | 1 si la chaîne est un nom de canal IRC valide pour le serveur | serveur,canal (le serveur est optionnel)
| irc | irc_is_message_ignored | 1 si le pseudo est ignoré (le message n'est pas affiché) | serveur,message (message est le message brut IRC)
| irc | irc_is_nick | 1 si la chaîne est un pseudo IRC valide | serveur,pseudo (le serveur est optionnel)
| irc | irc_nick | retourne le pseudo utilisé actuellement sur un serveur | nom de serveur
| irc | irc_nick_color | retourne le code couleur du pseudo (*obsolète* depuis la version 1.5, remplacé par "nick_color") | pseudo
| irc | irc_nick_color_name | retourne le nom de la couleur du pseudo (*obsolète* depuis la version 1.5, remplacé par "nick_color_name") | pseudo
| irc | irc_nick_from_host | retourne le pseudo Ă  partir d'un host IRC | host IRC (comme `:pseudo!nom@serveur.com`)
| irc | irc_server_isupport | 1 si le serveur supporte cette fonctionnalité (du message IRC 005) | serveur,fonctionnalité
| irc | irc_server_isupport_value | valeur de la fonctionnalité, si supportée par le serveur (du message IRC 005) | serveur,fonctionnalité
| javascript | javascript_eval | évaluation de code source | code source à exécuter
| javascript | javascript_interpreter | nom de l'interpréteur utilisé | -
| javascript | javascript_version | version de l'interpréteur utilisé | -
| lua | lua_eval | évaluation de code source | code source à exécuter
| lua | lua_interpreter | nom de l'interpréteur utilisé | -
| lua | lua_version | version de l'interpréteur utilisé | -
| perl | perl_eval | évaluation de code source | code source à exécuter
| perl | perl_interpreter | nom de l'interpréteur utilisé | -
| perl | perl_version | version de l'interpréteur utilisé | -
| php | php_eval | évaluation de code source | code source à exécuter
| php | php_interpreter | nom de l'interpréteur utilisé | -
| php | php_version | version de l'interpréteur utilisé | -
| python | python_eval | évaluation de code source | code source à exécuter
| python | python_interpreter | nom de l'interpréteur utilisé | -
| python | python_version | version de l'interpréteur utilisé | -
| relay | relay_client_count | nombre de clients pour le relai | protocole,statut (les deux sont optionnels, pour chaque paramètre "*" signifie tous ; protocoles : irc, weechat ; statuts : connecting, waiting_auth, connected, auth_failed, disconnected)
| ruby | ruby_eval | évaluation de code source | code source à exécuter
| ruby | ruby_interpreter | nom de l'interpréteur utilisé | -
| ruby | ruby_version | version de l'interpréteur utilisé | -
| spell | spell_dict | liste de dictionnaires (séparés par des virgules) utilisés sur le tampon | pointeur vers un tampon ("0x12345678") ou nom complet de tampon ("irc.libera.#weechat")
| tcl | tcl_eval | évaluation de code source | code source à exécuter
| tcl | tcl_interpreter | nom de l'interpréteur utilisé | -
| tcl | tcl_version | version de l'interpréteur utilisé | -
| weechat | auto_connect | 1 si la connexion automatique aux serveurs est activée, 0 si elle a été désactivée par l'utilisateur (option "-a" ou "--no-connect") | -
| weechat | charset_internal | charset interne Ă  WeeChat | -
| weechat | charset_terminal | charset du terminal | -
| weechat | color_ansi_regex | expression régulière POSIX étendue pour chercher les codes ANSI échappés | -
| weechat | color_rgb2term | couleur RGB convertie en couleur du terminal (0-255) | rgb,limite (la limite est optionnelle et vaut 256 par défaut)
| weechat | color_term2rgb | couleur du terminal (0-255) convertie en couleur RGB | couleur (couleur du terminal : 0-255)
| weechat | cursor_mode | 1 si le mode curseur est activé | -
| weechat | date | date/heure de compilation de WeeChat | -
| weechat | dir_separator | séparateur de répertoire | -
| weechat | filters_enabled | 1 si les filtres sont activés | -
| weechat | inactivity | inactivité du clavier (secondes) | -
| weechat | locale | locale utilisée pour la traduction des messages | -
| weechat | nick_color | retourne le code couleur du pseudo | pseudo;couleurs (couleurs est une liste de couleurs facultative, séparée par des virgules ; un fond est autorisé pour la couleur avec le format texte:fond ; si couleurs est présent, les options WeeChat avec les couleurs de pseudos et couleurs forcées de pseudos sons ignorées)
| weechat | nick_color_name | retourne le nom de la couleur du pseudo | pseudo;couleurs (couleurs est une liste de couleurs facultative, séparée par des virgules ; un fond est autorisé pour la couleur avec le format texte:fond ; si couleurs est présent, les options WeeChat avec les couleurs de pseudos et couleurs forcées de pseudos sons ignorées)
| weechat | pid | PID (ID de processus) de WeeChat | -
| weechat | term_color_pairs | nombre de paires de couleurs supportées dans le terminal | -
| weechat | term_colors | nombre de couleurs supportées dans le terminal | -
| weechat | term_height | hauteur du terminal | -
| weechat | term_width | largeur du terminal | -
| weechat | totp_generate | générer un mot de passe à usage unique basé sur le temps (TOTP) | secret (en base32), horodatage (optionnel, heure courante par défaut), nombre de chiffres (optionnel, entre 4 et 10, 6 par défaut)
| weechat | totp_validate | valider un mot de passe à usage unique basé sur le temps (TOTP) : 1 si le TOTP est correct, sinon 0 | secret (en base32), mot de passe à usage unique, horodatage (optionnel, heure courante par défaut), nombre de mots de passe avant/après à tester (optionnel, 0 par défaut)
| weechat | uptime | Durée de fonctionnement de WeeChat (format : "jours:hh:mm:ss") | "days" (nombre de jours) ou "seconds" (nombre de secondes) (optionnel)
| weechat | uptime_current | Durée de fonctionnement de WeeChat pour le processus actuel seulement (les mises à jour par la commande /upgrade sont ignorées) (format : "jours:hh:mm:ss") | "days" (nombre de jours) ou "seconds" (nombre de secondes) (optionnel)
| weechat | version | version de WeeChat | -
| weechat | version_git | version git de WeeChat (sortie de la commande "git describe" pour une version de développement seulement, vide pour une version stable) | -
| weechat | version_number | version de WeeChat (sous forme de nombre) | -
| weechat | weechat_cache_dir | répertoire du cache WeeChat | -
| weechat | weechat_config_dir | répertoire de la configuration WeeChat | -
| weechat | weechat_daemon | 1 si WeeChat tourne en mode démon (sans interface, en tâche de fond) | -
| weechat | weechat_data_dir | répertoire des données WeeChat | -
| weechat | weechat_dir | répertoire de WeeChat (*obsolète depuis la version 3.2, remplacé par "weechat_config_dir", "weechat_data_dir", "weechat_cache_dir" et "weechat_runtime_dir") | -
| weechat | weechat_headless | 1 si WeeChat tourne sans interface | -
| weechat | weechat_libdir | répertoire "lib" de WeeChat | -
| weechat | weechat_localedir | répertoire "locale" de WeeChat | -
| weechat | weechat_runtime_dir | répertoire de "runtime" WeeChat | -
| weechat | weechat_sharedir | répertoire "share" de WeeChat | -
| weechat | weechat_site | site WeeChat | -
| weechat | weechat_site_download | site WeeChat, page de téléchargement | -
| weechat | weechat_upgrading | 1 si WeeChat est en cours de mise Ă  jour (commande `/upgrade`) | -
|===
// end::infos[]
@@ -1,20 +0,0 @@
//
// This file is auto-generated by script docgen.py.
// DO NOT EDIT BY HAND!
//
// tag::infos_hashtable[]
[width="100%",cols="^1,^2,6,6,8",options="header"]
|===
| Extension | Nom | Description | Table de hachage (entrée) | Table de hachage (sortie)
| irc | irc_message_parse | analyse un message IRC | "message" : message IRC, "server" : nom du serveur (optionnel) | "tags" : étiquettes, "tag_xxx" : valeur de l'étiquette "xxx" sans échappements (une clé par étiquette), "message_without_tags" : message sans les étiquettes, "nick" : pseudo, "user" : nom d'utilisateur, "host" : nom d'hôte, "command" : commande, "channel" : canal, "arguments" : paramètres (inclut le canal), "text" : texte (par exemple message utilisateur), "param1" ... "paramN" : paramètres de la commande, "num_params" : nombre de paramètres dans la commande, "pos_command" : index de "command" dans le message ("-1" si "command" n'a pas été trouvé), "pos_arguments" : index de "arguments" dans le message ("-1" si "arguments" n'a pas été trouvé), "pos_channel" : index de "channel" dans le message ("-1" si "channel" n'a pas été trouvé), "pos_text" : index de "text" dans le message ("-1" si "text" n'a pas été trouvé)
| irc | irc_message_split | découper un message IRC (pour tenir dans les 512 octets par défaut) | "message" : message IRC, "server" : nom du serveur (optionnel) | "msg1" ... "msgN" : messages à envoyer (sans le "\r\n" final), "args1" ... "argsN" : paramètres des messages, "count" : nombre de messages
| weechat | focus_info | obtenir l'information de focus | "x" : coordonnée x (chaîne avec un entier >= 0), "y" : coordonnée y (chaîne avec un entier >= 0) | voir la fonction hook_focus dans la Référence API extension
| weechat | secured_data | données sécurisées | - | données sécurisées : noms et valeurs (attention : les valeurs sont des données sensibles : il ne faut PAS les afficher/logger)
|===
// end::infos_hashtable[]
@@ -1,29 +0,0 @@
//
// This file is auto-generated by script docgen.py.
// DO NOT EDIT BY HAND!
//
// tag::plugins_priority[]
. charset (16000)
. logger (15000)
. exec (14000)
. trigger (13000)
. spell (12000)
. alias (11000)
. buflist (10000)
. fifo (9000)
. typing (8000)
. xfer (7000)
. irc (6000)
. relay (5000)
. guile (4070)
. javascript (4060)
. lua (4050)
. perl (4040)
. php (4030)
. python (4020)
. ruby (4010)
. tcl (4000)
. script (3000)
. fset (2000)
// end::plugins_priority[]
@@ -1,462 +0,0 @@
//
// This file is auto-generated by script docgen.py.
// DO NOT EDIT BY HAND!
//
// tag::url_options[]
[width="100%",cols="2,^1,7",options="header"]
|===
| Option | Type ^(1)^ | Constantes ^(2)^
| verbose | long |
| header | long |
| noprogress | long |
| nosignal | long |
| wildcardmatch | long |
| failonerror | long |
| keep_sending_on_error | long |
| proxy | string |
| proxyport | long |
| port | long |
| pre_proxy | string |
| httpproxytunnel | long |
| interface | string |
| dns_cache_timeout | long |
| proxytype | long | http, socks4, socks5, socks4a, socks5_hostname, http_1_0, https
| buffersize | long |
| tcp_nodelay | long |
| localport | long |
| localportrange | long |
| address_scope | long |
| noproxy | string |
| socks5_gssapi_nec | long |
| tcp_keepalive | long |
| tcp_keepidle | long |
| tcp_keepintvl | long |
| unix_socket_path | string |
| abstract_unix_socket | string |
| path_as_is | long |
| proxy_service_name | string |
| service_name | string |
| default_protocol | string |
| tcp_fastopen | long |
| socks5_auth | long |
| haproxyprotocol | long |
| doh_url | string |
| protocols_str | string |
| redir_protocols_str | string |
| netrc | long | ignored, optional, required
| userpwd | string |
| proxyuserpwd | string |
| httpauth | mask | none, basic, digest, ntlm, any, anysafe, digest_ie, only, ntlm_wb, negotiate, gssapi, bearer, aws_sigv4
| proxyauth | mask | none, basic, digest, ntlm, any, anysafe, digest_ie, only, ntlm_wb, negotiate, gssapi, bearer, aws_sigv4
| netrc_file | string |
| username | string |
| password | string |
| proxyusername | string |
| proxypassword | string |
| tlsauth_type | mask | none, srp
| tlsauth_username | string |
| tlsauth_password | string |
| sasl_authzid | string |
| sasl_ir | long |
| xoauth2_bearer | string |
| login_options | string |
| disallow_username_in_url | long |
| autoreferer | long |
| followlocation | long |
| post | long |
| postfields | string |
| referer | string |
| useragent | string |
| httpheader | list |
| cookie | string |
| cookiefile | string |
| postfieldsize | long |
| maxredirs | long |
| httpget | long |
| cookiejar | string |
| http_version | long | none, 1_0, 1_1, 2_0, 2, 2tls, 2_prior_knowledge, 3
| cookiesession | long |
| http200aliases | list |
| unrestricted_auth | long |
| postfieldsize_large | long long |
| cookielist | string |
| ignore_content_length | long |
| accept_encoding | string |
| transfer_encoding | long |
| http_content_decoding | long |
| http_transfer_decoding | long |
| copypostfields | string |
| postredir | mask | post_301, post_302
| expect_100_timeout_ms | long |
| headeropt | mask | unified, separate
| proxyheader | list |
| pipewait | long |
| stream_weight | long |
| request_target | string |
| http09_allowed | long |
| hsts | string |
| hsts_ctrl | mask | enable, readonlyfile
| mail_from | string |
| mail_rcpt | list |
| mail_auth | string |
| mail_rcpt_alllowfails | long |
| tftp_blksize | long |
| tftp_no_options | long |
| ftpport | string |
| quote | list |
| postquote | list |
| ftp_use_epsv | long |
| prequote | list |
| ftp_use_eprt | long |
| ftp_create_missing_dirs | long |
| ftpsslauth | long | default, ssl, tls
| ftp_account | string |
| ftp_skip_pasv_ip | long |
| ftp_filemethod | long | multicwd, nocwd, singlecwd
| ftp_alternative_to_user | string |
| ftp_ssl_ccc | long | ccc_none, ccc_active, ccc_passive
| dirlistonly | long |
| append | long |
| ftp_use_pret | long |
| rtsp_request | long | options, describe, announce, setup, play, pause, teardown, get_parameter, set_parameter, record, receive
| rtsp_session_id | string |
| rtsp_stream_uri | string |
| rtsp_transport | string |
| rtsp_client_cseq | long |
| rtsp_server_cseq | long |
| aws_sigv4 | string |
| crlf | long |
| range | string |
| resume_from | long |
| customrequest | string |
| nobody | long |
| infilesize | long |
| upload | long |
| timecondition | long | none, ifmodsince, ifunmodsince, lastmod
| timevalue | long |
| transfertext | long |
| filetime | long |
| maxfilesize | long |
| proxy_transfer_mode | long |
| resume_from_large | long long |
| infilesize_large | long long |
| maxfilesize_large | long long |
| timevalue_large | long long |
| upload_buffersize | long |
| mime_options | mask | formescape
| timeout | long |
| low_speed_limit | long |
| low_speed_time | long |
| fresh_connect | long |
| forbid_reuse | long |
| connecttimeout | long |
| ipresolve | long | whatever, v4, v6
| connect_only | long |
| max_send_speed_large | long long |
| max_recv_speed_large | long long |
| timeout_ms | long |
| connecttimeout_ms | long |
| maxage_conn | long |
| maxconnects | long |
| use_ssl | long | none, try, control, all
| resolve | list |
| dns_servers | string |
| accepttimeout_ms | long |
| dns_interface | string |
| dns_local_ip4 | string |
| dns_local_ip6 | string |
| connect_to | list |
| happy_eyeballs_timeout_ms | long |
| dns_shuffle_addresses | long |
| upkeep_interval_ms | long |
| maxlifetime_conn | long |
| sslcert | string |
| sslversion | long | default, tlsv1, sslv2, sslv3, tlsv1_0, tlsv1_1, tlsv1_2, tlsv1_3, max_default, max_none, max_tlsv1_0, max_tlsv1_1, max_tlsv1_2, max_tlsv1_3
| ssl_verifypeer | long |
| cainfo | string |
| ssl_verifyhost | long |
| ssl_cipher_list | string |
| sslcerttype | string |
| sslkey | string |
| sslkeytype | string |
| sslengine | string |
| sslengine_default | long |
| capath | string |
| ssl_sessionid_cache | long |
| krblevel | string |
| keypasswd | string |
| issuercert | string |
| crlfile | string |
| certinfo | long |
| gssapi_delegation | long | none, policy_flag, flag
| ssl_options | long | allow_beast, no_revoke, no_backends, ok, too_late, unknown_backend, no_partialchain, revoke_best_effort, native_ca, auto_client_cert
| ssl_enable_alpn | long |
| pinnedpublickey | string |
| ssl_verifystatus | long |
| ssl_falsestart | long |
| proxy_cainfo | string |
| proxy_capath | string |
| proxy_crlfile | string |
| proxy_keypasswd | string |
| proxy_pinnedpublickey | string |
| proxy_sslcert | string |
| proxy_sslcerttype | string |
| proxy_sslkey | string |
| proxy_sslkeytype | string |
| proxy_sslversion | long | default, tlsv1, sslv2, sslv3, tlsv1_0, tlsv1_1, tlsv1_2, tlsv1_3, max_default, max_none, max_tlsv1_0, max_tlsv1_1, max_tlsv1_2, max_tlsv1_3
| proxy_ssl_cipher_list | list |
| proxy_ssl_options | long | allow_beast, no_revoke, no_backends, ok, too_late, unknown_backend, no_partialchain, revoke_best_effort, native_ca, auto_client_cert
| proxy_ssl_verifyhost | long |
| proxy_ssl_verifypeer | long |
| proxy_tlsauth_password | string |
| proxy_tlsauth_type | string |
| proxy_tlsauth_username | string |
| tls13_ciphers | list |
| proxy_tls13_ciphers | list |
| proxy_issuercert | string |
| ssl_ec_curves | string |
| doh_ssl_verifyhost | long |
| doh_ssl_verifypeer | long |
| doh_ssl_verifystatus | long |
| ca_cache_timeout | long |
| ssh_auth_types | mask | none, policy_flag, flag
| ssh_public_keyfile | string |
| ssh_private_keyfile | string |
| ssh_host_public_key_md5 | string |
| ssh_knownhosts | string |
| ssh_compression | long |
| ssh_host_public_key_sha256 | string |
| telnetoptions | list |
| ws_options | mask | binary, close, cont, offset, ping, pong, raw_mode, text
| new_file_perms | long |
| new_directory_perms | long |
| quick_exit | long |
|===
// end::url_options[]
File diff suppressed because it is too large Load Diff
@@ -1,44 +0,0 @@
//
// This file is auto-generated by script docgen.py.
// DO NOT EDIT BY HAND!
//
// tag::default_aliases[]
[width="100%",cols="2m,5m,5",options="header"]
|===
| Alias | Commande | Complétion
| /AAWAY | /allserv /away | -
| /ANICK | /allserv /nick | -
| /BEEP | /print -beep | -
| /BYE | /quit | -
| /C | /buffer clear | -
| /CL | /buffer clear | -
| /CLOSE | /buffer close | -
| /CHAT | /dcc chat | -
| /EXIT | /quit | -
| /IG | /ignore | -
| /J | /join | -
| /K | /kick | -
| /KB | /kickban | -
| /LEAVE | /part | -
| /M | /msg | -
| /MUB | /unban * | -
| /MSGBUF | /command -buffer $1 * /input send $2- | %(buffers_plugins_names)
| /N | /names | -
| /Q | /query | -
| /REDRAW | /window refresh | -
| /SAY | /msg * | -
| /SIGNOFF | /quit | -
| /T | /topic | -
| /UB | /unban | -
| /UMODE | /mode $nick | -
| /V | /command core version | -
| /W | /who | -
| /WC | /window close | -
| /WI | /whois | -
| /WII | /whois $1 $1 | -
| /WM | /window merge | -
| /WW | /whowas | -
|===
// end::default_aliases[]
@@ -1,112 +0,0 @@
//
// This file is auto-generated by script docgen.py.
// DO NOT EDIT BY HAND!
//
// tag::irc_colors[]
[width="50%",cols="^2m,3",options="header"]
|===
| Couleur IRC | Couleur WeeChat
| 00 | white
| 01 | black
| 02 | blue
| 03 | green
| 04 | lightred
| 05 | red
| 06 | magenta
| 07 | brown
| 08 | yellow
| 09 | lightgreen
| 10 | cyan
| 11 | lightcyan
| 12 | lightblue
| 13 | lightmagenta
| 14 | darkgray
| 15 | gray
| 16 | 52
| 17 | 94
| 18 | 100
| 19 | 58
| 20 | 22
| 21 | 29
| 22 | 23
| 23 | 24
| 24 | 17
| 25 | 54
| 26 | 53
| 27 | 89
| 28 | 88
| 29 | 130
| 30 | 142
| 31 | 64
| 32 | 28
| 33 | 35
| 34 | 30
| 35 | 25
| 36 | 18
| 37 | 91
| 38 | 90
| 39 | 125
| 40 | 124
| 41 | 166
| 42 | 184
| 43 | 106
| 44 | 34
| 45 | 49
| 46 | 37
| 47 | 33
| 48 | 19
| 49 | 129
| 50 | 127
| 51 | 161
| 52 | 196
| 53 | 208
| 54 | 226
| 55 | 154
| 56 | 46
| 57 | 86
| 58 | 51
| 59 | 75
| 60 | 21
| 61 | 171
| 62 | 201
| 63 | 198
| 64 | 203
| 65 | 215
| 66 | 227
| 67 | 191
| 68 | 83
| 69 | 122
| 70 | 87
| 71 | 111
| 72 | 63
| 73 | 177
| 74 | 207
| 75 | 205
| 76 | 217
| 77 | 223
| 78 | 229
| 79 | 193
| 80 | 157
| 81 | 158
| 82 | 159
| 83 | 153
| 84 | 147
| 85 | 183
| 86 | 219
| 87 | 212
| 88 | 16
| 89 | 233
| 90 | 235
| 91 | 237
| 92 | 239
| 93 | 241
| 94 | 244
| 95 | 247
| 96 | 250
| 97 | 254
| 98 | 231
| 99 | default
|===
// end::irc_colors[]
File diff suppressed because it is too large Load Diff
+34 -52
View File
@@ -2,19 +2,13 @@
:author: Sébastien Helleu
:email: flashcode@flashtux.org
:lang: fr
:toc: left
:toclevels: 3
:toc-title: Table des matières
:sectnums:
:docinfo1:
Ce manuel documente le client de messagerie instantanée WeeChat, il fait
partie de WeeChat.
La dernière version de ce document peut être téléchargée sur
https://weechat.org/doc/[cette page ^↗^,window=_blank].
https://weechat.org/doc/[cette page ^↗^^].
[[introduction]]
== Introduction
@@ -34,7 +28,7 @@ Ce manuel documente l'intérieur de WeeChat :
== Dépôts
Les dépôts de WeeChat sont dans l'organisation
https://github.com/weechat[weechat ^↗^,window=_blank] de GitHub.
https://github.com/weechat[weechat ^↗^^] de GitHub.
Liste des dépôts :
@@ -45,7 +39,7 @@ scripts::
les scripts _officiels_ soumis sur weechat.org
weechat.org::
le code source du https://weechat.org/[site de WeeChat ^↗^,window=_blank]
le code source du https://weechat.org/[site de WeeChat ^↗^^]
weercd::
serveur de test IRC
@@ -132,6 +126,7 @@ Le cœur de WeeChat est situé dans les répertoires suivants :
|    wee-crypto.c | Fonctions de cryptographie.
|    wee-debug.c | Quelques fonctions de debug.
|    wee-dir.c | Fonctions sur les répertoires/fichiers.
|    wee-doc.c | Génération de fichiers pour la documentation.
|    wee-eval.c | Évaluation d'expressions avec des références à des variables internes.
|    wee-hashtable.c | Tables de hachage.
|    wee-hdata.c | Hdata (accès direct aux données en utilisant des tables de hachage).
@@ -147,6 +142,7 @@ Le cœur de WeeChat est situé dans les répertoires suivants :
|    wee-secure-config.c | Options des données sécurisées (fichier sec.conf).
|    wee-signal.c | Fonctions sur les signaux.
|    wee-string.c | Fonctions sur les chaînes de caractères.
|    wee-sys.c | Fonctions système.
|    wee-upgrade-file.c | Système de mise à jour interne.
|    wee-upgrade.c | Mise à jour du cœur de WeeChat (tampons, lignes, historique, ...).
|    wee-url.c | Transfert d'URL (en utilisant libcurl).
@@ -173,6 +169,7 @@ Le cœur de WeeChat est situé dans les répertoires suivants :
|       wee-hook-process.c | Hook "process".
|       wee-hook-signal.c | Hook "signal".
|       wee-hook-timer.c | Hook "timer".
|       wee-hook-url.c | Hook "url".
| gui/ | Fonctions pour les tampons, fenêtres, ... (utilisées par toutes les interfaces).
|    gui-bar-item.c | Objets de barre.
|    gui-bar-window.c | Fenêtres de barre.
@@ -243,6 +240,7 @@ Le cœur de WeeChat est situé dans les répertoires suivants :
|       buflist.c | Fonctions principales de Buflist.
|       buflist-bar-item.c | Objets de barre Buflist.
|       buflist-command.c | Commandes pour Buflist.
|       buflist-completion.c | Complétions pour Buflist.
|       buflist-config.c | Options de configuration pour Buflist (fichier buflist.conf).
|       buflist-info.c | Info/infolists/hdata pour Buflist.
|       buflist-mouse.c | Actions souris pour Buflist.
@@ -275,6 +273,7 @@ Le cœur de WeeChat est situé dans les répertoires suivants :
|    irc/ | Extension IRC (Internet Relay Chat).
|       irc.c | Fonctions principales IRC.
|       irc-bar-item.c | Objets de barre IRC.
|       irc-batch.c | Évènements batch IRC.
|       irc-buffer.c | Tampons IRC.
|       irc-channel.c | Canaux IRC.
|       irc-color.c | Couleurs IRC.
@@ -287,13 +286,14 @@ Le cœur de WeeChat est situé dans les répertoires suivants :
|       irc-info.c | Info/infolists/hdata pour IRC.
|       irc-input.c | Entrée de commandes/texte.
|       irc-join.c | Fonctions pour les listes de canaux à rejoindre.
|       irc-list.c | Tampon pour la réponse à la commande /list.
|       irc-message.c | Fonctions pour manipuler les messages IRC.
|       irc-mode.c | Fonctions pour les modes de canal/pseudo.
|       irc-modelist.c | Listes de modes de canaux IRC (+b, +e, +I, ...).
|       irc-msgbuffer.c | Tampon cible pour les messages IRC.
|       irc-nick.c | Pseudos IRC.
|       irc-notify.c | Listes de notification IRC.
|       irc-protocol.c | Protocole IRC (RFCs 1459/2810/2811/2812/2813).
|       irc-protocol.c | Protocole IRC (RFCs 1459/2810/2811/2812/2813/7194).
|       irc-raw.c | Tampon des données brutes IRC.
|       irc-redirect.c | Redirection de la sortie des commandes IRC.
|       irc-sasl.c | Authentification SASL avec le serveur IRC.
@@ -396,6 +396,7 @@ Le cœur de WeeChat est situé dans les répertoires suivants :
| Chemin/fichier | Description
| tests/ | Racine des tests.
|    tests.cpp | Programme utilisé pour lancer tous les tests.
|    tests-record.cpp | Enregistrement et recherche dans les messages affichés.
|    scripts/ | Racine des tests de l'API script.
|       test-scripts.cpp | Programme utilisé pour lancer les tests de l'API script.
|       python/ | Scripts Python pour générer et lancer les tests de l'API script.
@@ -424,6 +425,7 @@ Le cœur de WeeChat est situé dans les répertoires suivants :
|          test-core-url.cpp | Tests : URLs.
|          test-core-utf8.cpp | Tests : UTF-8.
|          test-core-util.cpp | Tests : fonctions utiles.
|          test-core-sys.cpp | Tests : fonctions système.
|       gui/ | Racine des tests unitaires pour les interfaces.
|          test-gui-bar-window.cpp | Tests : fonctions de fenêtres de barre.
|          test-gui-buffer.cpp | Tests : fonctions de tampons.
@@ -431,16 +433,20 @@ Le cœur de WeeChat est situé dans les répertoires suivants :
|          test-gui-color.cpp | Tests : couleurs.
|          test-gui-filter.cpp | Tests : filtres.
|          test-gui-input.cpp | Tests : fonctions d'entrée.
|          test-gui-key.cpp | Tests : touches.
|          test-gui-line.cpp | Tests : lignes.
|          test-gui-nick.cpp | Tests : pseudos.
|       plugins/ | Racine des tests unitaires pour les extensions.
|          irc/ | Racine des tests unitaires pour l'extension IRC.
|             test-irc-batch.cpp | Tests : évènements batch IRC.
|             test-irc-buffer.cpp | Tests : tampons IRC.
|             test-irc-channel.cpp | Tests : canaux IRC.
|             test-irc-color.cpp | Tests : couleurs IRC.
|             test-irc-config.cpp | Tests : configuration IRC.
|             test-irc-ctcp.cpp | Tests : CTCP IRC.
|             test-irc-ignore.cpp | Tests : ignores IRC.
|             test-irc-join.cpp | Tests : fonctions de join IRC.
|             test-irc-list.cpp | Tests : tampon IRC pour la réponse à la commande /list.
|             test-irc-message.cpp | Tests : messages IRC.
|             test-irc-mode.cpp | Tests : modes IRC.
|             test-irc-nick.cpp | Tests : pseudos IRC.
@@ -449,7 +455,9 @@ Le cœur de WeeChat est situé dans les répertoires suivants :
|             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.
@@ -458,6 +466,8 @@ Le cœur de WeeChat est situé dans les répertoires suivants :
|             test-typing-status.cpp | Tests : statut d'écriture.
|          relay/ | Racine des tests unitaires pour l'extension Relay.
|             test-relay-auth.cpp | Tests : authentification des clients.
|             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.
@@ -473,28 +483,16 @@ Fichiers de documentation :
| Chemin/fichier | Description
| doc/ | Documentation.
|    docinfo.html | Style Asciidoctor.
|    docgen.py | Script Python pour construire les fichiers auto-générés dans le répertoire _includes/_ (voir ci-dessous).
|    XX/ | Documentation pour la langue XX (langues : en, fr, de, it, ...).
|       weechat.1.XX.adoc | Page de manuel (`man weechat`).
|       weechat_dev.XX.adoc | link:weechat_dev.fr.html[Guide du développeur ^↗^,window=_blank] (ce document).
|       weechat_faq.XX.adoc | link:weechat_faq.fr.html[FAQ ^↗^,window=_blank] (questions fréquemment posées).
|       weechat_plugin_api.XX.adoc | link:weechat_plugin_api.fr.html[Référence API extension ^↗^,window=_blank].
|       weechat_quickstart.XX.adoc | link:weechat_quickstart.fr.html[Guide de démarrage ^↗^,window=_blank].
|       weechat_relay_protocol.XX.adoc | link:weechat_relay_protocol.fr.html[Protocole Relay ^↗^,window=_blank] (pour les interfaces distantes).
|       weechat_scripting.XX.adoc | link:weechat_scripting.fr.html[Guide pour scripts ^↗^,window=_blank].
|       weechat_user.XX.adoc | link:weechat_user.fr.html[Guide utilisateur ^↗^,window=_blank].
|       weechat_dev.XX.adoc | link:weechat_dev.fr.html[Guide du développeur ^↗^^] (ce document).
|       weechat_faq.XX.adoc | link:weechat_faq.fr.html[FAQ ^↗^^] (questions fréquemment posées).
|       weechat_plugin_api.XX.adoc | link:weechat_plugin_api.fr.html[Référence API extension ^↗^^].
|       weechat_quickstart.XX.adoc | link:weechat_quickstart.fr.html[Guide de démarrage ^↗^^].
|       weechat_relay_protocol.XX.adoc | link:weechat_relay_protocol.fr.html[Protocole Relay ^↗^^] (pour les interfaces distantes).
|       weechat_scripting.XX.adoc | link:weechat_scripting.fr.html[Guide pour scripts ^↗^^].
|       weechat_user.XX.adoc | link:weechat_user.fr.html[Guide utilisateur ^↗^^].
|       includes/ | Fichiers inclus dans la documentation.
|          autogen_api_completions.XX.adoc | Fichier auto-généré pour la Référence API extension : complétions (ne *JAMAIS* mettre à jour manuellement !).
|          autogen_api_hdata.XX.adoc | Fichier auto-généré pour la Référence API extension : hdata (ne *JAMAIS* mettre à jour manuellement !).
|          autogen_api_infolists.XX.adoc | Fichier auto-généré pour la Référence API extension : infolists (ne *JAMAIS* mettre à jour manuellement !).
|          autogen_api_infos.XX.adoc | Fichier auto-généré pour la Référence API extension : infos (ne *JAMAIS* mettre à jour manuellement !).
|          autogen_api_infos_hashtable.XX.adoc | Fichier auto-généré pour la Référence API extension : infos hashtable (ne *JAMAIS* mettre à jour manuellement !).
|          autogen_api_plugins_priority.XX.adoc | Fichier auto-généré pour la Référence API extension : priorités des extensions (ne *JAMAIS* mettre à jour manuellement !).
|          autogen_api_url_options.XX.adoc | Fichier auto-généré pour la Référence API extension : options pour les URLs (ne *JAMAIS* mettre à jour manuellement !).
|          autogen_user_commands.XX.adoc | Fichier auto-généré pour le Guide utilisateur : commandes (ne *JAMAIS* mettre à jour manuellement !).
|          autogen_user_default_aliases.XX.adoc | Fichier auto-généré pour le Guide utilisateur : alias par défaut (ne *JAMAIS* mettre à jour manuellement !).
|          autogen_user_irc_colors.XX.adoc | Fichier auto-généré pour le Guide utilisateur : couleurs IRC (ne *JAMAIS* mettre à jour manuellement !).
|          autogen_user_options.XX.adoc | Fichier auto-généré pour le Guide utilisateur : options de configuration (ne *JAMAIS* mettre à jour manuellement !).
|          cmdline_options.XX.adoc | Options de ligne de commande (fichier inclus dans les pages de manuel et le guide utilisateur).
|          man.XX.adoc | Parties des pages de manuel : options d'extension, fichiers et copyright.
|===
@@ -756,7 +754,7 @@ new_hook_fd = malloc (sizeof (*new_hook_fd));
[[coding_python_style]]
=== Style Python
Voir https://www.python.org/dev/peps/pep-0008/[PEP 8 ^↗^,window=_blank].
Voir https://www.python.org/dev/peps/pep-0008/[PEP 8 ^↗^^].
[[core_internals]]
== Intérieur du cœur
@@ -1050,6 +1048,8 @@ fichier _src/gui/gui-color.h_) :
| 42 | weechat.color.emphasized _(WeeChat ≥ 0.4.2)_
| 43 | weechat.color.chat_day_change _(WeeChat ≥ 0.4.2)_
| 44 | weechat.color.chat_value_null _(WeeChat ≥ 1.4)_
| 45 | weechat.color.chat_status_disabled _(WeeChat ≥ 4.0.0)_
| 46 | weechat.color.chat_status_enabled _(WeeChat ≥ 4.0.0)_
|===
Les couleurs WeeChat sont :
@@ -1144,7 +1144,7 @@ server->hook_timer_sasl = weechat_hook_timer (timeout * 1000,
[[git_repository]]
=== Dépôt Git
Le dépôt Git est sur https://github.com/weechat/weechat[GitHub ^↗^,window=_blank].
Le dépôt Git est sur https://github.com/weechat/weechat[GitHub ^↗^^].
Tout patch pour un bug ou une nouvelle fonctionnalité doit être effectué sur la
branche master, le format préféré étant une "pull request" sur GitHub. Un patch
@@ -1180,14 +1180,10 @@ Où _composant_ est :
| cœur de WeeChat
| build
| autogen.sh +
CMakeLists.txt +
| CMakeLists.txt +
cmake/* +
configure.ac +
Makefile.am +
tools/* +
weechat.cygport.in +
weechat.spec
weechat.cygport.in
| Construction
| ci
@@ -1297,7 +1293,7 @@ Vous pouvez alors éditer les fichiers .po (si vous pouvez traduire dans une
langue).
Une fois terminé, vous *devez* vérifier votre fichier avec
https://github.com/flashcode/msgcheck[msgcheck ^↗^,window=_blank] :
https://github.com/flashcode/msgcheck[msgcheck ^↗^^] :
----
$ msgcheck.py xx.po
@@ -1305,20 +1301,6 @@ $ msgcheck.py xx.po
Et vous pouvez alors recompiler WeeChat pour utiliser les nouvelles traductions.
[[build_autogen_files]]
===== Construire les fichiers auto-générés
Les fichiers nommés `+autogen_*+` dans le répertoire _doc/XX/includes/_ sont
automatiquement générés par le script _doc/docgen.py_.
Vous pouvez reconstruire les fichiers automatiquement générés directement dans
vos sources WeeChat en lançant WeeChat dans un répertoire temporaire et en
chargeant le script :
----
weechat -t -r "/python load /path/to/weechat/doc/docgen.py;/docgen;/quit"
----
[[asciidoc]]
==== Asciidoc
+116 -104
View File
@@ -2,16 +2,7 @@
:author: Sébastien Helleu
:email: flashcode@flashtux.org
:lang: fr
:toc: left
:toc-title: Table des matières
:toclevels: 2
:sectnums:
:sectnumlevels: 2
:docinfo1:
toc::[]
== Général
@@ -30,7 +21,7 @@ mais elle ne s'applique pas à WeeChat !).
Parce que WeeChat est très léger et apporte des fonctionnalités innovantes.
Plus d'infos sur la
https://weechat.org/about/features/[page des fonctionnalités ^↗^,window=_blank]
https://weechat.org/about/features/[page des fonctionnalités ^↗^^]
WeeChat.
@@ -41,28 +32,22 @@ WeeChat.
=== J'ai entendu parler de plusieurs interfaces pour WeeChat. Comment puis-je les compiler/utiliser ?
Des interfaces distantes sont disponibles, voir la
https://weechat.org/about/interfaces/[page avec les interfaces distantes ^↗^,window=_blank].
https://weechat.org/about/interfaces/[page avec les interfaces distantes ^↗^^].
[[compile_git]]
=== Je ne peux pas compiler WeeChat après avoir cloné la base git, pourquoi ?
La méthode recommandée pour compiler WeeChat est d'utiliser
link:weechat_user.fr.html#compile_with_cmake[CMake ^↗^,window=_blank].
WeeChat doit être compilé avec CMake.
Si vous compilez avec les link:weechat_user.fr.html#compile_with_autotools[autotools ^↗^,window=_blank]
(et non CMake), vérifiez que vous avez bien la dernière version d'autoconf et
automake.
Merci de suivre les link:weechat_user.en.html#source_package[instructions de construction ^↗^^]
et vous assurer que toutes les dépendances obligatoires sont installées.
Une autre façon de faire est de compiler le "paquet devel", qui nécessite moins
de dépendances. Ce paquet est construit quasiment tous les jours à partir de la
base git. Notez que ce paquet peut ne pas correspondre exactement Ă  la base
git et qu'il est moins pratique que de cloner la base git pour installer des
mises Ă  jour.
Si vous avez toujours des problèmes, merci de les remonter aux développeurs.
[[compile_macos]]
=== Comment puis-je installer WeeChat sous macOS ?
Il est recommandé d'utiliser https://brew.sh/[Homebrew ^↗^,window=_blank],
Il est recommandé d'utiliser https://brew.sh/[Homebrew ^↗^^],
vous pouvez avoir de l'aide avec :
----
@@ -79,12 +64,12 @@ brew install weechat
=== J'ai lancé WeeChat, mais je suis perdu, que puis-je faire ?
Pour obtenir de l'aide tapez `/help`. Pour de l'aide sur une commande, tapez
`/help commande`. Les link:weechat_user.fr.html#key_bindings[touches ^↗^,window=_blank] et
link:weechat_user.fr.html#commands_and_options[commandes ^↗^,window=_blank] sont listées dans la
`/help commande`. Les link:weechat_user.fr.html#key_bindings[touches ^↗^^] et
link:weechat_user.fr.html#commands_and_options[commandes ^↗^^] sont listées dans la
documentation.
Il est recommandé pour les nouveaux utilisateurs de lire le
link:weechat_quickstart.fr.html[Guide de démarrage rapide ^↗^,window=_blank].
link:weechat_quickstart.fr.html[Guide de démarrage rapide ^↗^^].
[[display]]
== Affichage
@@ -116,7 +101,7 @@ attentivement et vérifier *TOUS* les points ci-dessous :
** Si vous utilisez screen, vérifiez qu'il est lancé en mode UTF-8
("`defutf8 on`" dans ~/.screenrc ou `screen -U` pour lancer screen).
* Vérifiez que l'option
link:weechat_user.fr.html#option_weechat.look.eat_newline_glitch[_weechat.look.eat_newline_glitch_ ^↗^,window=_blank]
link:weechat_user.fr.html#option_weechat.look.eat_newline_glitch[_weechat.look.eat_newline_glitch_ ^↗^^]
est désactivée (cette option peut causer des problèmes d'affichage).
[NOTE]
@@ -132,9 +117,9 @@ devrait être corrigé dans la glibc 2.22 (peut-être pas encore disponible dans
votre distribution).
Il y a un moyen de contournement pour utiliser la fonction _wcwidth_ corrigée :
https://blog.nytsoi.net/2015/05/04/emoji-support-for-weechat[https://blog.nytsoi.net/2015/05/04/emoji-support-for-weechat ^↗^,window=_blank].
https://blog.nytsoi.net/2015/05/04/emoji-support-for-weechat[https://blog.nytsoi.net/2015/05/04/emoji-support-for-weechat ^↗^^].
Voir ce https://github.com/weechat/weechat/issues/79[rapport de bug ^↗^,window=_blank]
Voir ce https://github.com/weechat/weechat/issues/79[rapport de bug ^↗^^]
pour plus d'informations.
[[bars_background]]
@@ -193,7 +178,7 @@ fenĂŞtres.
[[buffers_list]]
=== Comment afficher la liste des tampons sur la gauche ?
L'extension link:weechat_user.fr.html#buflist[buflist ^↗^,window=_blank]
L'extension link:weechat_user.fr.html#buflist[buflist ^↗^^]
est chargée et activée par défaut.
Pour limiter la taille de la barre :
@@ -239,7 +224,7 @@ Vous pouvez aussi utiliser une couleur numérique à la place de `red`, comme
L'extension buflist met Ă  disposition beaucoup d'options que vous pouvez changer,
merci de lire l'aide sur chaque option.
Il y a aussi une https://github.com/weechat/weechat/wiki/buflist[page wiki ^↗^,window=_blank]
Il y a aussi une https://github.com/weechat/weechat/wiki/buflist[page wiki ^↗^^]
avec des exemples avancés de configuration buflist.
[[customize_prefix]]
@@ -284,7 +269,7 @@ Ces couleurs peuvent être changées via les options __weechat.color.status_data
Les autres options pour la "hotlist" peuvent être changées via les options
__weechat.look.hotlist_*__.
Voir le link:weechat_user.fr.html#screen_layout[Guide utilisateur / Organisation de l'écran ^↗^,window=_blank]
Voir le link:weechat_user.fr.html#screen_layout[Guide utilisateur / Organisation de l'écran ^↗^^]
pour plus d'information sur la "hotlist".
[[input_bar_size]]
@@ -451,7 +436,7 @@ vous pouvez la changer avec ces deux commandes :
Vous pouvez utiliser un numéro de couleur dans les options (facultatif : vous
pouvez ajouter des alias de couleurs avec la commande `/color`).
Merci de lire le link:weechat_user.fr.html#colors[Guide utilisateur / Couleurs ^↗^,window=_blank]
Merci de lire le link:weechat_user.fr.html#colors[Guide utilisateur / Couleurs ^↗^^]
pour plus d'information sur la gestion des couleurs.
[[search_text]]
@@ -460,7 +445,7 @@ pour plus d'information sur la gestion des couleurs.
La touche par défaut est kbd:[Ctrl+r] (la commande est : `+/input search_text_here+`).
Et sauter aux highlights : kbd:[Alt+p] / kbd:[Alt+n].
Voir le link:weechat_user.fr.html#key_bindings[Guide utilisateur / Raccourcis clavier par défaut ^↗^,window=_blank]
Voir le link:weechat_user.fr.html#key_bindings[Guide utilisateur / Raccourcis clavier par défaut ^↗^^]
pour plus d'information sur cette fonctionnalité.
[[terminal_focus]]
@@ -488,14 +473,14 @@ Puis associez deux touches pour le focus (remplacez les commandes `/print` par
les commandes de votre choix) :
----
/key bind meta2-I /print -core focus
/key bind meta2-O /print -core unfocus
/key bind meta-[I /print -core focus
/key bind meta-[O /print -core unfocus
----
Par exemple pour marquer les tampons comme lus lorsque le terminal perd le focus :
----
/key bind meta2-O /allbuf /buffer set unread
/key bind meta-[O /allbuf /buffer set unread
----
[[screen_paste]]
@@ -616,6 +601,16 @@ Si vous utilisez l'application Terminal sous macOS, activez l'option
"Use option as meta key" dans le menu Réglages/Clavier. Vous pouvez alors
utiliser la touche kbd:[Option] comme touche meta.
[[enter_key]]
=== Quelques touches comme Entrée ne fonctionnent pas, pourquoi ?
Si vous lancez WeeChat < 4.0.0 avec des fichiers de configuration créés par toute
version ≥ 4.0.0, les noms des touches sont invalides et de nombreuses touches
ne fonctionneront plus. +
Pour les réparer, quittez WeeChat, supprimez toutes les sections `[key*]` de
weechat.conf et démarrez WeeChat à nouveau : toutes les touches par défaut
seront recréées.
[[customize_key_bindings]]
=== Comment puis-je configurer les raccourcis clavier ?
@@ -637,7 +632,7 @@ Vous pouvez définir une touche, par exemple :
----
La liste des touches par défaut est dans le
link:weechat_user.fr.html#key_bindings[Guide utilisateur / Raccourcis clavier par défaut ^↗^,window=_blank].
link:weechat_user.fr.html#key_bindings[Guide utilisateur / Raccourcis clavier par défaut ^↗^^].
Pour sauter vers les tampons ayant un numéro ≥ 100, vous pouvez définir un trigger
et utiliser les commandes comme `/123` pour sauter au tampon n°123 :
@@ -646,6 +641,12 @@ et utiliser les commandes comme `/123` pour sauter au tampon n°123 :
/trigger add numberjump modifier "2000|input_text_for_buffer" "${tg_string} =~ ^/[0-9]+$" "=\/([0-9]+)=/buffer *${re:1}=" "" "" "none"
----
Pour un saut facile vers les tampons, vous pouvez aussi installer le script _go.py_ :
----
/script install go.py
----
[[global_history]]
=== Comment utiliser l'historique global (au lieu de l'historique du tampon) avec les touches haut et bas ?
@@ -654,15 +655,19 @@ touches par défaut pour l'historique global sont kbd:[Ctrl+↑] et kbd:[Ctrl+
Exemple :
----
/key bind up /input history_global_previous
/key bind down /input history_global_next
----
Avec WeeChat ≤ 3.8, vous devez utiliser le code de touche brut (appuyez sur
kbd:[Alt+k] puis la touche pour afficher son code) :
----
/key bind meta2-A /input history_global_previous
/key bind meta2-B /input history_global_next
----
[NOTE]
Les touches "meta2-A" et "meta2-B" peuvent être différentes dans votre terminal.
Pour trouver le code de la touche appuyez sur kbd:[Alt+k] puis la touche.
[[mouse]]
== Souris
@@ -714,8 +719,8 @@ kbd:[Alt] au lieu de kbd:[Shift]).
[[irc]]
== IRC
[[irc_ssl_connection]]
=== J'ai des problèmes pour me connecter au serveur avec SSL, que puis-je faire ?
[[irc_tls_connection]]
=== J'ai des problèmes pour me connecter au serveur avec TLS, que puis-je faire ?
Si vous utilisez macOS, vous devez installer `openssl` depuis Homebrew.
Un fichier CA sera installé avec le le trousseau système.
@@ -725,44 +730,44 @@ vous pouvez utiliser une valeur plus petite pour la clé Diffie-Hellman (par
défaut 2048) :
----
/set irc.server.example.ssl_dhkey_size 1024
/set irc.server.example.tls_dhkey_size 1024
----
Si vous voyez des erreurs à propos du certificat, vous pouvez désactiver
"ssl_verify" (attention, la connexion sera moins sûre en faisant cela) :
"tls_verify" (attention, la connexion sera moins sûre en faisant cela) :
----
/set irc.server.example.ssl_verify off
/set irc.server.example.tls_verify off
----
Si le serveur a un certificat invalide et que vous savez ce que devrait ĂŞtre
le certificat, vous pouvez spécifier l'empreinte (SHA-512, SHA-256 ou SHA-1) :
----
/set irc.server.example.ssl_fingerprint 0c06e399d3c3597511dc8550848bfd2a502f0ce19883b728b73f6b7e8604243b
/set irc.server.example.tls_fingerprint 0c06e399d3c3597511dc8550848bfd2a502f0ce19883b728b73f6b7e8604243b
----
[[irc_ssl_handshake_error]]
=== Lors de la connexion SSL à un serveur, je vois juste une erreur "TLS handshake failed", que puis-je faire ?
[[irc_tls_handshake_error]]
=== Lors de la connexion TLS à un serveur, je vois juste une erreur "TLS handshake failed", que puis-je faire ?
Vous pouvez essayer une chaîne de priorité différente, remplacez "xxx" par
le nom de votre serveur :
----
/set irc.server.xxx.ssl_priorities "NORMAL:-VERS-TLS-ALL:+VERS-TLS1.0:+VERS-SSL3.0:%COMPAT"
/set irc.server.xxx.tls_priorities "NORMAL:-VERS-TLS-ALL:+VERS-TLS1.0:+VERS-SSL3.0:%COMPAT"
----
[[irc_ssl_libera]]
=== Comment puis-je me connecter à libera avec SSL ?
[[irc_tls_libera]]
=== Comment puis-je me connecter à libera avec TLS ?
Vérifiez que vous avez les certificats installés sur votre système, cela est
fourni généralement par le paquet "ca-certificates".
Configurez le port du serveur, SSL, puis connectez-vous :
Configurez le port du serveur, TLS, puis connectez-vous :
----
/set irc.server.libera.addresses "irc.libera.chat/6697"
/set irc.server.libera.ssl on
/set irc.server.libera.tls on
/connect libera
----
@@ -856,25 +861,9 @@ de les voir en désactivant les filtres (par défaut, la touche kbd:[Alt+=]
active/désactive les filtres).
[[filter_irc_join_part_quit]]
=== Comment puis-je filtrer les messages join/part/quit sur les canaux IRC ?
=== Comment puis-je filtrer les join/part/quit et autres messages gênants sur les canaux IRC ?
Avec le filtre intelligent (pour garder les join/part/quit des utilisateurs qui
ont parlé récemment) :
----
/set irc.look.smart_filter on
/filter add irc_smart * irc_smart_filter *
----
Avec un filtre global (pour cacher *tous* les join/part/quit) :
----
/filter add joinquit * irc_join,irc_part,irc_quit *
----
[NOTE]
Pour l'aide : `/help filter`, `+/help irc.look.smart_filter+` et voir
link:weechat_user.fr.html#irc_smart_filter_join_part_quit[Guide utilisateur / Filtre intelligent pour les messages join/part/quit ^↗^,window=_blank].
Voir link:weechat_user.fr.html#irc_smart_filter[Guide utilisateur / Filtre intelligent IRC ^↗^^].
[[filter_irc_join_channel_messages]]
=== Comment puis-je filtrer certains messages affichés quand je rejoins un canal IRC ?
@@ -972,39 +961,24 @@ Autres scripts sur ce sujet :
=== Comment puis-je désactiver le highlight pour des pseudos spécifiques ?
Vous pouvez utiliser la propriété de tampon
link:weechat_user.fr.html#max_hotlist_level_nicks[hotlist_max_level_nicks_add ^↗^,window=_blank]
link:weechat_user.fr.html#max_hotlist_level_nicks[hotlist_max_level_nicks_add ^↗^^]
pour définir le niveau maximum de hotlist pour certains pseudos, par tampon,
ou groupe de tampons (comme des serveurs IRC).
Pour désactiver seulement les highlights, vous pouvez positionner la valeur à 2 :
Pour désactiver seulement les highlights, vous pouvez positionner la valeur à 2.
Pour le tampon courant :
----
/buffer set hotlist_max_level_nicks_add joe:2,mike:2
/buffer setauto hotlist_max_level_nicks_add joe:2,mike:2
----
Cependant, cette propriété de tampon n'est pas sauvegardée dans la configuration.
Pour automatiquement réappliquer ces propriétés de tampons, vous aurez besoin
du script _buffer_autoset.py_ :
Pour tous les canaux sur le serveur "libera":
----
/script install buffer_autoset.py
/set weechat.buffer.irc.libera.*.hotlist_max_level_nicks_add joe:2,mike:2
----
Par exemple, pour désactiver de manière permanente les highlights de "mike" sur
#weechat sur le serveur IRC libera :
----
/buffer_autoset add irc.libera.#weechat hotlist_max_level_nicks_add mike:2
----
Pour l'appliquer à l'ensemble du serveur libera :
----
/buffer_autoset add irc.libera hotlist_max_level_nicks_add mike:2
----
Pour plus d'exemples, voir `+/help buffer_autoset+`.
[[irc_target_buffer]]
=== Comment puis-je changer le serveur cible pour les commandes avec des tampons mélangés (comme le tampon avec les serveurs) ?
@@ -1038,7 +1012,7 @@ Les scripts ne sont pas compatibles avec d'autres clients IRC.
[[scripts_update]]
=== La commande "/script update" ne peut pas lire les scripts, comment corriger ça ?
Consultez d'abord les questions Ă  propos des connexions SSL dans cette FAQ.
Consultez d'abord les questions Ă  propos des connexions TLS dans cette FAQ.
Si cela ne fonctionne toujours pas, essayez de supprimer manuellement le fichier
avec les scripts (dans votre shell) :
@@ -1129,7 +1103,7 @@ Vous pouvez essayer les astuces suivantes pour consommer moins de mémoire :
spell, xfer (utilisé pour les DCC).
Voir `/help weechat.plugin.autoload`.
* Charger uniquement les scripts dont vous avez vraiment besoin.
* Ne pas charger les certificats si SSL n'est *PAS* utilisé : désactiver
* Ne pas charger les certificats si TLS n'est *PAS* utilisé : désactiver
l'option _weechat.network.gnutls_ca_system_.
* Réduire la valeur de l'option _weechat.history.max_buffer_lines_number_ ou
affecter une valeur Ă  l'option _weechat.history.max_buffer_lines_minutes_.
@@ -1141,7 +1115,8 @@ Vous pouvez essayer les astuces suivantes pour consommer moins de mémoire :
Vous pouvez suivre les mêmes astuces que pour la <<memory_usage,mémoire>>, et
celles-ci :
* Cacher la barre "nicklist" : `/bar hide nicklist`.
* Cacher la barre "nicklist" : `/bar hide nicklist` (touche : kbd:[Alt+Shift+N]).
* Désactiver "buflist" : `/buflist disable` (touche : kbd:[Alt+Shift+B]).
* Supprimer l'affichage des secondes dans l'heure de la barre de statut :
`+/set weechat.look.item_time_format "%H:%M"+` (ceci est la valeur par défaut).
* Désactiver la vérification en temps réel des mots mal orthographiés dans la
@@ -1163,14 +1138,20 @@ Désactivez les réponses à toutes les demandes CTCP :
----
/set irc.ctcp.clientinfo ""
/set irc.ctcp.finger ""
/set irc.ctcp.source ""
/set irc.ctcp.time ""
/set irc.ctcp.userinfo ""
/set irc.ctcp.version ""
/set irc.ctcp.ping ""
----
Avec WeeChat < 4.1.0, d'autres demandes CTCP étaient répondues par défaut et
doivent être désactivées également :
----
/set irc.ctcp.finger ""
/set irc.ctcp.userinfo ""
----
Déchargez et désactivez le chargement automatique de l'extension "xfer"
(utilisée pour le DCC IRC) :
@@ -1183,7 +1164,7 @@ Définissez une phrase de chiffrement et utilisez les données sécurisées part
où vous le pouvez pour les données sensibles comme les mots de passe : voir
`/help secure` et `/help` sur les options (si vous pouvez utiliser les données
sécurisées, cela est mentionné dans l'aide).
Voir aussi link:weechat_user.fr.html#secured_data[Guide utilisateur / Données sécurisées ^↗^,window=_blank].
Voir aussi link:weechat_user.fr.html#secured_data[Guide utilisateur / Données sécurisées ^↗^^].
Par exemple :
@@ -1206,16 +1187,47 @@ Quelques autres fichiers peuvent contenir des informations sensibles comme
des mots de passes (s'ils ne sont pas stockés dans _sec.conf_ avec la commande
`/secure`).
Voir le link:weechat_user.fr.html#files_and_directories[Guide utilisateur / Fichiers et répertoires ^↗^,window=_blank]
Voir le link:weechat_user.fr.html#files_and_directories[Guide utilisateur / Fichiers et répertoires ^↗^^]
pour plus d'informations sur les fichiers de configuration.
[[move_to_another_device]]
=== Je souhaite déplacer mon WeeChat vers une autre machine et garder ma configuration, que dois-je copier ?
Premièrement, vérifiez les répertoires utilisés par WeeChat avec cette commande :
`/debug dirs`. +
Les répertoires home/config et home/data doivent être copiés (tous les fichiers
et sous-répertoires).
Par exemple si vous utilisez les répertoires XDG (par défaut avec WeeChat ≥ 3.2),
les répertoires devraient être `$HOME/.config/weechat` et `$HOME/.local/share/weechat`. +
Si vous utilisez un répertoire unique (par défaut avec WeeChat < 3.2), le répertoire
devrait ĂŞtre `$HOME/.weechat`.
[IMPORTANT]
La version de WeeChat sur la nouvelle machine doit être supérieure ou égale
Ă  celle de la machine initiale. +
La rétrogradation de la configuration n'est *PAS SUPPORTÉE* et pourrait la casser,
rendant WeeChat inutilisable.
Étapes :
. Quitter Weechat : `/quit` (ou `/upgrade -quit` si vous souhaitez restaurer
la session, qui inclut le contenu de tous les tampons).
. Copier tous les répertoires, fichiers et sous-répertoires vers la nouvelle machine
au même endroit, en préservant les noms et les permissions.
. Facultatif : copier tout fichier en dehors de ces répertoires que vous référencez
dans votre configuration (il n'est pas recommandé d'utiliser des fichiers en
dehors des répertoires WeeChat).
. Démarrer WeeChat sur la nouvelle machine : `weechat` (ou `weechat --upgrade`
si vous avez sauvé la session).
[[development]]
== Développement
[[bug_task_patch]]
=== Comment puis-je reporter un bug, demander une nouvelle fonctionnalité ou envoyer un patch ?
Voir https://weechat.org/about/support/[cette page ^↗^,window=_blank].
Voir https://weechat.org/about/support/[cette page ^↗^^].
[[gdb_error_threads]]
=== Quand je lance WeeChat sous gdb, il y a une erreur à propos des threads, que puis-je faire ?
@@ -1253,10 +1265,10 @@ tester WeeChat.
Il y a plusieurs choses Ă  faire (test, code, documentation, etc.)
Merci de prendre contact avec nous par IRC ou mail, consultez la
https://weechat.org/about/support/[page support ^↗^,window=_blank].
https://weechat.org/about/support/[page support ^↗^^].
[[donate]]
=== Puis-je donner de l'argent ou d'autres choses aux développeurs WeeChat ?
Vous pouvez donner de l'argent pour aider le développement.
Plus de détails sur https://weechat.org/donate/[la page de dons ^↗^,window=_blank].
Plus de détails sur https://weechat.org/donate/[la page de dons ^↗^^].
File diff suppressed because it is too large Load Diff
+3 -7
View File
@@ -2,11 +2,7 @@
:author: Sébastien Helleu
:email: flashcode@flashtux.org
:lang: fr
:toc: left
:toc-title: Table des matières
:sectnums:
:docinfo1:
[[start]]
== Démarrer WeeChat
@@ -110,7 +106,7 @@ devriez voir "irc" et d'autres extensions dans cette liste.
Vous pouvez ajouter un serveur IRC avec la commande `/server`, par exemple :
----
/server add libera irc.libera.chat/6697 -ssl
/server add libera irc.libera.chat/6697 -tls
----
Dans cette commande, `libera` est le nom interne du serveur utilisé par
@@ -391,13 +387,13 @@ par exemple :
Voir `/help script` pour plus d'infos.
Une liste des scripts est disponible avec `/script` ou sur
https://weechat.org/scripts/[cette page ^↗^,window=_blank].
https://weechat.org/scripts/[cette page ^↗^^].
[[more_doc]]
== Plus de documentation
Vous pouvez maintenant utiliser WeeChat et lire la
https://weechat.org/doc/[FAQ/documentation ^↗^,window=_blank]
https://weechat.org/doc/[FAQ/documentation ^↗^^]
pour toute autre question.
Bon WeeChat !
+56 -17
View File
@@ -2,12 +2,7 @@
:author: Sébastien Helleu
:email: flashcode@flashtux.org
:lang: fr
:toc: left
:toclevels: 3
:toc-title: Table des matières
:sectnums:
:docinfo1:
[[introduction]]
== Introduction
@@ -107,7 +102,7 @@ Liste des commandes disponibles (détail dans les chapitres suivants) :
[[command_handshake]]
=== handshake
_WeeChat ≥ 2.9, mis à jour dans la version 3.5._
_WeeChat ≥ 2.9, mis à jour dans les versions 3.5, 4.0.0._
Effectuer une poignée de main entre le client et WeeChat : cela est obligatoire
dans la plupart des cas pour connaître les paramètres de la session et préparer
@@ -139,10 +134,16 @@ Paramètres :
le client sont compressés pour économiser de la bande passante ;
les valeurs autorisées sont :
*** _off_ : pas de compression (par défaut si l'option n'est pas donnée)
*** _zlib_ : compresser avec https://zlib.net/[zlib ^↗^,window=_blank] _(WeeChat ≥ 0.3.7)_
*** _zstd_ : compresser avec https://facebook.github.io/zstd/[Zstandard ^↗^,window=_blank] :
*** _zlib_ : compresser avec https://zlib.net/[zlib ^↗^^] _(WeeChat ≥ 0.3.7)_
*** _zstd_ : compresser avec https://facebook.github.io/zstd/[Zstandard ^↗^^] :
meilleure compression et bien plus rapide que _zlib_ pour la compression et
la décompression _(WeeChat ≥ 3.5)_
** _escape_commands_ : les commandes envoyées par le client vers _relay_ doivent
être échappées : toutes les barres obliques inverses sont interprétées et une
barre oblique inverse simple doit être échappée (`\\`) ; cela autorise
par exemple un client à envoyer des messages multi-lignes (les caractères
`\n` sont remplacés par des nouvelles lignes, voir la <<command_input,commande input>>)
_(WeeChat ≥ 4.0.0)_
Notes à propos de l'option _password_hash_algo_ :
@@ -185,8 +186,13 @@ suivantes :
hachage du mot de passe)
* _compression_ : type de compression :
** _off_ : les messages ne sont pas compressés
** _zlib_ : les messages sont compressés avec https://zlib.net/[zlib ^↗^,window=_blank]
** _zstd_ : les messages sont compressés avec https://facebook.github.io/zstd/[Zstandard ^↗^,window=_blank]
** _zlib_ : les messages sont compressés avec https://zlib.net/[zlib ^↗^^]
** _zstd_ : les messages sont compressés avec https://facebook.github.io/zstd/[Zstandard ^↗^^]
* _escape_commands_ :
** _on_ : toutes les barres obliques inverses sont interprétées dans les messages
du client
** _off_ : les barres obliques inverses ne sont *PAS* interprétées dans les messages
du client et sont utilisées telles quelles
[TIP]
Avec WeeChat ≤ 2.8, la commande _handshake_ n'est pas implémentée, WeeChat ignore
@@ -212,6 +218,28 @@ htb: {
'totp': 'on',
'nonce': '85B1EE00695A5B254E14F4885538DF0D',
'compression': 'off',
'escape_commands': 'off',
}
----
* Échappement des commandes activé par le client _(WeeChat ≥ 4.0.0)_ :
----
(handshake) handshake escape_commands=on
----
Réponse :
[source,python]
----
id: 'handshake'
htb: {
'password_hash_algo': 'plain',
'password_hash_iterations': '100000',
'totp': 'on',
'nonce': '85B1EE00695A5B254E14F4885538DF0D',
'compression': 'off',
'escape_commands': 'on',
}
----
@@ -232,6 +260,7 @@ htb: {
'totp': 'on',
'nonce': '85B1EE00695A5B254E14F4885538DF0D',
'compression': 'off',
'escape_commands': 'off',
}
----
@@ -252,6 +281,7 @@ htb: {
'totp': 'on',
'nonce': '85B1EE00695A5B254E14F4885538DF0D',
'compression': 'off',
'escape_commands': 'off',
}
----
@@ -281,6 +311,7 @@ htb: {
'totp': 'on',
'nonce': '85B1EE00695A5B254E14F4885538DF0D',
'compression': 'zstd',
'escape_commands': 'off',
}
----
@@ -619,7 +650,7 @@ Demander une _infolist_.
[IMPORTANT]
Le contenu de l'infolist est une duplication des données. Dans la mesure du
possible, utilisez plutôt la commande <<command_hdata,hdata>>, qui est un accès
possible, utilisez plutôt la <<command_hdata,commande hdata>>, qui est un accès
direct aux données (cela est plus rapide, utilise moins de mémoire et retourne
des objets plus petits dans le message).
@@ -983,6 +1014,14 @@ input core.weechat /help filter
input irc.libera.#weechat bonjour !
----
* Envoyer un message multi-lignes au canal #test (l'option _escape_commands_
doit avoir été activée dans la <<command_handshake,commande handshake>> et
requiert WeeChat ≥ 4.0.0) :
----
input irc.ergo.#test ce message a\n2 lignes
----
[[command_completion]]
=== completion
@@ -1233,7 +1272,7 @@ Paramètres :
spécifier tous les tampons
* _options_ : un ou plusieurs mots-clés, séparés par des virgules (le défaut est
_buffers,upgrade,buffer,nicklist_ pour "*" et _buffer,nicklist_ pour un
tampon) ; voir <<command_sync,la commande sync>> pour les valeurs
tampon) ; voir la <<command_sync,commande sync>> pour les valeurs
[NOTE]
En utilisant le tampon "*", les autres tampons synchronisés (en utilisant un
@@ -1403,8 +1442,8 @@ suivant (avec la taille en octets) :
(en incluant ce champ)
* _compression_ (octet) : drapeau :
** _0x00_ : les données qui suivent ne sont pas compressées
** _0x01_ : les données qui suivent sont compressées avec https://zlib.net/[zlib ^↗^,window=_blank]
** _0x02_ : les données qui suivent sont compressées avec https://facebook.github.io/zstd/[Zstandard ^↗^,window=_blank]
** _0x01_ : les données qui suivent sont compressées avec https://zlib.net/[zlib ^↗^^]
** _0x02_ : les données qui suivent sont compressées avec https://facebook.github.io/zstd/[Zstandard ^↗^^]
* _id_ (chaîne, 4 octets + contenu) : l'identifiant envoyé par le client
(avant le nom de la commande) ; il peut être vide (chaîne avec une longueur
de zéro sans contenu) si l'identifiant n'était pas donné dans la commande
@@ -1415,8 +1454,8 @@ suivant (avec la taille en octets) :
=== Compression
Si le drapeau de _compression_ est égal à 0x01 ou 0x02, alors *toutes* les données
après sont compressées avec https://zlib.net/[zlib ^↗^,window=_blank] ou
https://facebook.github.io/zstd/[Zstandard ^↗^,window=_blank],
après sont compressées avec https://zlib.net/[zlib ^↗^^] ou
https://facebook.github.io/zstd/[Zstandard ^↗^^],
et par conséquent doivent être décompressées avant d'être utilisées.
[[message_identifier]]
@@ -2346,7 +2385,7 @@ jour, tous les pointeurs changeront).
[NOTE]
Pendant la mise Ă  jour de WeeChat, le socket reste ouvert (sauf si la connexion
utilise SSL).
utilise TLS).
[[message_upgrade_ended]]
==== _upgrade_ended
+23 -29
View File
@@ -2,20 +2,13 @@
:author: Sébastien Helleu
:email: flashcode@flashtux.org
:lang: fr
:toc: left
:toclevels: 4
:toc-title: Table des matières
:sectnums:
:sectnumlevels: 3
:docinfo1:
Ce manuel documente le client de messagerie instantanée WeeChat, il fait
partie de WeeChat.
La dernière version de ce document peut être téléchargée sur
https://weechat.org/doc/[cette page ^↗^,window=_blank].
https://weechat.org/doc/[cette page ^↗^^].
[[introduction]]
== Introduction
@@ -67,7 +60,7 @@ Si quelque chose doit être lancé en arrière-plan, la fonction `+hook_process+
peut être utilisée. Voir l'exemple dans le chapitre
<<hook_process,Lancer un processus en tâche de fond>> et la documentation sur
la fonction `+hook_process+` dans la
link:weechat_plugin_api.fr.html#_hook_process[Référence API extension WeeChat ^↗^,window=_blank].
link:weechat_plugin_api.fr.html#_hook_process[Référence API extension WeeChat ^↗^^].
[[languages_specificities]]
=== Spécificités des langages
@@ -80,7 +73,7 @@ link:weechat_plugin_api.fr.html#_hook_process[Référence API extension WeeChat
WeeChat définit un module `weechat` qui doit être importé avec `import weechat`. +
Un "stub" Python pour l'API WeeChat est disponible dans le dépôt :
https://raw.githubusercontent.com/weechat/weechat/master/src/plugins/python/weechat.pyi[weechat.pyi ^↗^,window=_blank].
https://raw.githubusercontent.com/weechat/weechat/master/src/plugins/python/weechat.pyi[weechat.pyi ^↗^^].
[[python_functions]]
===== Fonctions
@@ -116,7 +109,7 @@ pas exhaustive) :
Il est recommandé d'utiliser plutôt le modificateur `+irc_in2_yyy+`, la chaîne
reçue sera toujours valide UTF-8. +
Voir la fonction `+hook_modifier+` dans la
link:weechat_plugin_api.fr.html#_hook_modifier[Référence API extension WeeChat ^↗^,window=_blank].
link:weechat_plugin_api.fr.html#_hook_modifier[Référence API extension WeeChat ^↗^^].
| hook_signal
| xxx,irc_out_yyy +
@@ -132,7 +125,7 @@ pas exhaustive) :
Il est recommandé d'utiliser plutôt le signal `+xxx,irc_out1_yyy+`, la chaîne
reçue sera toujours valide UTF-8. +
Voir la fonction `+hook_signal+` dans la
link:weechat_plugin_api.fr.html#_hook_signal[Référence API extension WeeChat ^↗^,window=_blank].
link:weechat_plugin_api.fr.html#_hook_signal[Référence API extension WeeChat ^↗^^].
| hook_process +
hook_process_hashtable
@@ -201,22 +194,23 @@ Les fonctions sont appelées par `+weechat.xxx(arg1, arg2, ...)+`.
Les fonctions sont appelées par `+weechat::xxx arg1 arg2 ...+`.
// TRANSLATION MISSING
[[tcl_null]]
===== Null values
Since Tcl only has string types, there's no null type to pass as an argument
when a function accepts null values or to get as an argument in a callback
function. To overcome this the WeeChat API defines the constant
`$::weechat::WEECHAT_NULL` which acts as a null value. This constant is defined
as `\uFFFF\uFFFF\uFFFFWEECHAT_NULL\uFFFF\uFFFF\uFFFF`, so it's very unlikely to
appear unintentionally.
Puisque Tcl n'a que des types "string", il n'y a pas de type "null" Ă  passer
comme paramètre lorsqu'une fonction accepte des valeurs "null" ou pour recevoir
comme paramètre dans une fonction de rappel. Pour y remédier, l'API WeeChat
définit la constante `$::weechat::WEECHAT_NULL` qui agit comme une valeur
"null". Cette constante est définie avec la valeur
`\uFFFF\uFFFF\uFFFFWEECHAT_NULL\uFFFF\uFFFF\uFFFF`, donc il est très peu probable
qu'elle apparaisse involontairement.
You can pass this constant when a function accepts null as an argument and you
will get it as the value of an argument in a callback function if the argument
value is null. To see which functions accept null values and passes null values
to callbacks, look at the Python prototypes in the
link:weechat_plugin_api.en.html[WeeChat plugin API reference ^↗^,window=_blank].
Vous pouvez passer cette constante lorsqu'une fonction accepte "null" comme
paramètre et vous la recevrez comment valeur d'un paramètre de fonction de rappel
si la valeur du paramètre est "null". Pour voir quelles fonctions acceptent des
valeurs "null" et passent des valeurs "null" aux fonctions de rappel, regardez
les prototypes Python dans la
link:weechat_plugin_api.fr.html[Référence API extension WeeChat ^↗^^].
[[language_guile]]
==== Guile (Scheme)
@@ -395,7 +389,7 @@ dans le répertoire _autoload_ est automatiquement créé.
== Différences avec l'API C
L'API script est quasiment identique Ă  l'API C.
Vous pouvez consulter la link:weechat_plugin_api.fr.html[Référence API extension WeeChat ^↗^,window=_blank]
Vous pouvez consulter la link:weechat_plugin_api.fr.html[Référence API extension WeeChat ^↗^^]
pour le détail de chaque fonction de l'API : prototype, paramètres, valeurs
de retour, exemples.
@@ -569,7 +563,7 @@ weechat_hook_timer(1000, 0, 1, $timer_cb, 'test');
== API script
Pour plus d'informations sur les fonctions de l'API, merci de consulter la
link:weechat_plugin_api.fr.html[Référence API extension WeeChat ^↗^,window=_blank].
link:weechat_plugin_api.fr.html[Référence API extension WeeChat ^↗^^].
[[script_api_functions]]
=== Fonctions
@@ -892,7 +886,7 @@ Liste des constantes de l'API script :
Ce chapitre montre quelques tâches courantes, avec des exemples.
Seule une partie de l'API est utilisée ici, pour une référence complète, voir la
link:weechat_plugin_api.fr.html[Référence API extension WeeChat ^↗^,window=_blank].
link:weechat_plugin_api.fr.html[Référence API extension WeeChat ^↗^^].
[[buffers]]
=== Tampons
@@ -1171,7 +1165,7 @@ weechat.hook_process("url:https://weechat.org/dev/info/stable/",
[TIP]
Toutes les infos disponibles Ă  propos de WeeChat sont sur
https://weechat.org/dev/info/[cette page ^↗^,window=_blank].
https://weechat.org/dev/info/[cette page ^↗^^].
Exemple de transfert d'URL avec une option : télécharger le dernier paquet de
développement WeeChat dans le fichier _/tmp/weechat-devel.tar.gz_ :
@@ -1190,7 +1184,7 @@ weechat.hook_process_hashtable("url:https://weechat.org/files/src/weechat-devel.
Pour plus d'information sur le transfert d'URL et les options disponibles, voir
les fonctions `+hook_process+` et `+hook_process_hashtable+` dans la
link:weechat_plugin_api.fr.html#_hook_process[Référence API extension WeeChat ^↗^,window=_blank].
link:weechat_plugin_api.fr.html#_hook_process[Référence API extension WeeChat ^↗^^].
[[config_options]]
=== Config / options
File diff suppressed because it is too large Load Diff
-125
View File
@@ -1,125 +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/>.
#
if(ENABLE_MAN)
# man page: weechat
add_custom_command(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/weechat.1
COMMAND ${ASCIIDOCTOR_EXECUTABLE} ARGS ${ASCIIDOCTOR_ARGS} -b manpage -o weechat.1 ${CMAKE_CURRENT_SOURCE_DIR}/weechat.1.it.adoc
DEPENDS
${CMAKE_CURRENT_SOURCE_DIR}/weechat.1.it.adoc
${CMAKE_CURRENT_SOURCE_DIR}/includes/cmdline_options.it.adoc
${CMAKE_CURRENT_SOURCE_DIR}/includes/man.it.adoc
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMENT "Building weechat.1 (it)"
)
add_custom_target(doc-man-weechat-it ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/weechat.1)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/weechat.1 DESTINATION ${MANDIR}/it/man1)
if(ENABLE_HEADLESS)
# man page: weechat-headless
add_custom_command(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/weechat-headless.1
COMMAND ${ASCIIDOCTOR_EXECUTABLE} ARGS ${ASCIIDOCTOR_ARGS} -b manpage -o weechat-headless.1 ${CMAKE_CURRENT_SOURCE_DIR}/weechat-headless.1.it.adoc
DEPENDS
${CMAKE_CURRENT_SOURCE_DIR}/weechat-headless.1.it.adoc
${CMAKE_CURRENT_SOURCE_DIR}/includes/cmdline_options.it.adoc
${CMAKE_CURRENT_SOURCE_DIR}/includes/man.it.adoc
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMENT "Building weechat-headless.1 (it)"
)
add_custom_target(doc-man-weechat-headless-it ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/weechat-headless.1)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/weechat-headless.1 DESTINATION ${MANDIR}/it/man1)
endif()
endif()
if(ENABLE_DOC)
file(GLOB AUTOGEN_USER "${CMAKE_CURRENT_SOURCE_DIR}/includes/autogen_user_*.adoc")
file(GLOB AUTOGEN_PLUGIN "${CMAKE_CURRENT_SOURCE_DIR}/includes/autogen_api_*.adoc")
# user's guide
add_custom_command(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/weechat_user.it.html
COMMAND ${ASCIIDOCTOR_EXECUTABLE} ARGS ${ASCIIDOCTOR_ARGS} -o weechat_user.it.html ${CMAKE_CURRENT_SOURCE_DIR}/weechat_user.it.adoc
DEPENDS
${CMAKE_CURRENT_SOURCE_DIR}/../docinfo.html
${CMAKE_CURRENT_SOURCE_DIR}/weechat_user.it.adoc
${CMAKE_CURRENT_SOURCE_DIR}/includes/cmdline_options.it.adoc
${AUTOGEN_USER}
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMENT "Building weechat_user.it.html"
)
add_custom_target(doc-user-it ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/weechat_user.it.html)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/weechat_user.it.html DESTINATION ${DATAROOTDIR}/doc/${PROJECT_NAME})
# plugin API reference
add_custom_command(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/weechat_plugin_api.it.html
COMMAND ${ASCIIDOCTOR_EXECUTABLE} ARGS ${ASCIIDOCTOR_ARGS} -o weechat_plugin_api.it.html ${CMAKE_CURRENT_SOURCE_DIR}/weechat_plugin_api.it.adoc
DEPENDS
${CMAKE_CURRENT_SOURCE_DIR}/../docinfo.html
${CMAKE_CURRENT_SOURCE_DIR}/weechat_plugin_api.it.adoc
${AUTOGEN_PLUGIN}
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMENT "Building weechat_plugin_api.it.html"
)
add_custom_target(doc-plugin-api-it ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/weechat_plugin_api.it.html)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/weechat_plugin_api.it.html DESTINATION ${DATAROOTDIR}/doc/${PROJECT_NAME})
# scripting guide
add_custom_command(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/weechat_scripting.it.html
COMMAND ${ASCIIDOCTOR_EXECUTABLE} ARGS ${ASCIIDOCTOR_ARGS} -o weechat_scripting.it.html ${CMAKE_CURRENT_SOURCE_DIR}/weechat_scripting.it.adoc
DEPENDS
${CMAKE_CURRENT_SOURCE_DIR}/../docinfo.html
${CMAKE_CURRENT_SOURCE_DIR}/weechat_scripting.it.adoc
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMENT "Building weechat_scripting.it.html"
)
add_custom_target(doc-scripting-it ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/weechat_scripting.it.html)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/weechat_scripting.it.html DESTINATION ${DATAROOTDIR}/doc/${PROJECT_NAME})
# FAQ
add_custom_command(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/weechat_faq.it.html
COMMAND ${ASCIIDOCTOR_EXECUTABLE} ARGS ${ASCIIDOCTOR_ARGS} -o weechat_faq.it.html ${CMAKE_CURRENT_SOURCE_DIR}/weechat_faq.it.adoc
DEPENDS
${CMAKE_CURRENT_SOURCE_DIR}/../docinfo.html
${CMAKE_CURRENT_SOURCE_DIR}/weechat_faq.it.adoc
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMENT "Building weechat_faq.it.html"
)
add_custom_target(doc-faq-it ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/weechat_faq.it.html)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/weechat_faq.it.html DESTINATION ${DATAROOTDIR}/doc/${PROJECT_NAME})
# quickstart
add_custom_command(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/weechat_quickstart.it.html
COMMAND ${ASCIIDOCTOR_EXECUTABLE} ARGS ${ASCIIDOCTOR_ARGS} -o weechat_quickstart.it.html ${CMAKE_CURRENT_SOURCE_DIR}/weechat_quickstart.it.adoc
DEPENDS
${CMAKE_CURRENT_SOURCE_DIR}/../docinfo.html
${CMAKE_CURRENT_SOURCE_DIR}/weechat_quickstart.it.adoc
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMENT "Building weechat_quickstart.it.html"
)
add_custom_target(doc-quickstart-it ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/weechat_quickstart.it.html)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/weechat_quickstart.it.html DESTINATION ${DATAROOTDIR}/doc/${PROJECT_NAME})
endif()
-116
View File
@@ -1,116 +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/>.
#
docdir = $(datadir)/doc/$(PACKAGE)
EXTRA_DIST = CMakeLists.txt \
docinfo.html \
weechat.1.it.adoc \
weechat-headless.1.it.adoc \
weechat_user.it.adoc \
weechat_plugin_api.it.adoc \
weechat_scripting.it.adoc \
weechat_faq.it.adoc \
weechat_quickstart.it.adoc \
includes/autogen_api_completions.it.adoc \
includes/autogen_api_hdata.it.adoc \
includes/autogen_api_infolists.it.adoc \
includes/autogen_api_infos_hashtable.it.adoc \
includes/autogen_api_infos.it.adoc \
includes/autogen_api_plugins_priority.it.adoc \
includes/autogen_api_url_options.it.adoc \
includes/autogen_user_commands.it.adoc \
includes/autogen_user_default_aliases.it.adoc \
includes/autogen_user_irc_colors.it.adoc \
includes/autogen_user_options.it.adoc \
includes/cmdline_options.it.adoc \
includes/man.it.adoc
if MAN
man_targets = weechat.1 \
weechat-headless.1
man_install = install-man
man_uninstall = uninstall-man
endif
if DOC
doc_targets = weechat_user.it.html \
weechat_plugin_api.it.html \
weechat_scripting.it.html \
weechat_faq.it.html \
weechat_quickstart.it.html
doc_install = install-doc
doc_uninstall = uninstall-doc
endif
all-local: $(man_targets) $(doc_targets)
# man pages
weechat.1: weechat.1.it.adoc includes/cmdline_options.it.adoc includes/man.it.adoc
$(ASCIIDOCTOR) $(ASCIIDOCTOR_ARGS) -a revnumber="$(VERSION)" -b manpage -o weechat.1 $(abs_top_srcdir)/doc/it/weechat.1.it.adoc
weechat-headless.1: weechat-headless.1.it.adoc includes/cmdline_options.it.adoc includes/man.it.adoc
$(ASCIIDOCTOR) $(ASCIIDOCTOR_ARGS) -a revnumber="$(VERSION)" -b manpage -o weechat-headless.1 $(abs_top_srcdir)/doc/it/weechat-headless.1.it.adoc
# user's guide
weechat_user.it.html: weechat_user.it.adoc includes/cmdline_options.it.adoc $(wildcard includes/autogen_user_*.adoc) $(abs_top_srcdir)/doc/docinfo.html
$(ASCIIDOCTOR) $(ASCIIDOCTOR_ARGS) -a revnumber="$(VERSION)" -o weechat_user.it.html $(abs_top_srcdir)/doc/it/weechat_user.it.adoc
# plugin API reference
weechat_plugin_api.it.html: weechat_plugin_api.it.adoc $(wildcard includes/autogen_api_*.adoc) $(abs_top_srcdir)/doc/docinfo.html
$(ASCIIDOCTOR) $(ASCIIDOCTOR_ARGS) -a revnumber="$(VERSION)" -o weechat_plugin_api.it.html $(abs_top_srcdir)/doc/it/weechat_plugin_api.it.adoc
# scripting guide
weechat_scripting.it.html: weechat_scripting.it.adoc $(abs_top_srcdir)/doc/docinfo.html
$(ASCIIDOCTOR) $(ASCIIDOCTOR_ARGS) -a revnumber="$(VERSION)" -o weechat_scripting.it.html $(abs_top_srcdir)/doc/it/weechat_scripting.it.adoc
# FAQ
weechat_faq.it.html: weechat_faq.it.adoc $(abs_top_srcdir)/doc/docinfo.html
$(ASCIIDOCTOR) $(ASCIIDOCTOR_ARGS) -a revnumber="$(VERSION)" -o weechat_faq.it.html $(abs_top_srcdir)/doc/it/weechat_faq.it.adoc
# quickstart
weechat_quickstart.it.html: weechat_quickstart.it.adoc $(abs_top_srcdir)/doc/docinfo.html
$(ASCIIDOCTOR) $(ASCIIDOCTOR_ARGS) -a revnumber="$(VERSION)" -o weechat_quickstart.it.html $(abs_top_srcdir)/doc/it/weechat_quickstart.it.adoc
# install man/docs
install-data-hook: $(man_install) $(doc_install)
install-man:
$(mkinstalldirs) $(DESTDIR)$(mandir)/it/man1/
$(INSTALL_DATA) *.1 $(DESTDIR)$(mandir)/it/man1/
install-doc:
$(mkinstalldirs) $(DESTDIR)$(docdir)/
$(INSTALL_DATA) *.html $(DESTDIR)$(docdir)/
# uninstall man/docs
uninstall-hook: $(man_uninstall) $(doc_uninstall)
uninstall-man:
$(RM) $(DESTDIR)$(mandir)/it/man1/weechat.1
$(RM) $(DESTDIR)$(mandir)/it/man1/weechat-headless.1
-rmdir $(DESTDIR)$(mandir)/it/man1
uninstall-doc:
$(RM) $(DESTDIR)$(docdir)/*.it.html
-rmdir $(DESTDIR)$(docdir)
# clean
clean-local:
-$(RM) weechat.1 weechat-headless.1 weechat_*.html
-1
View File
@@ -1 +0,0 @@
../docinfo.html
@@ -1,204 +0,0 @@
//
// This file is auto-generated by script docgen.py.
// DO NOT EDIT BY HAND!
//
// tag::completions[]
[width="100%",cols="^1,^2,7",options="header"]
|===
| Plugin | Nome | Descrizione
| alias | alias | elenco di alias
| alias | alias_value | valore dell'alias
| exec | exec_commands_ids | ids (numbers and names) of executed commands
| fset | fset_options | configuration files, sections, options and words of options
| guile | guile_script | elenco degli script
| irc | irc_channel | canale IRC corrente
| irc | irc_channel_nicks_hosts | nick e host del canale IRC corrente
| irc | irc_channel_topic | argomento del canale IRC attivo
| irc | irc_channels | canali su tutti i server IRC
| irc | irc_channels_autojoin | channels automatically joined on the current server (option "autojoin")
| irc | irc_ignores_numbers | numero di ignore definiti
| irc | irc_modelist_masks | modelist masks of current IRC channel; required argument: modelist mode
| irc | irc_modelist_numbers | modelist numbers of current IRC channel; required argument: modelist mode
| irc | irc_msg_kick | default kick message
| irc | irc_msg_part | messaggio di uscita predefinito per il canale IRC
| irc | irc_notify_nicks | nick nella lista notifiche
| irc | irc_privates | privati su tutti i server IRC
| irc | irc_raw_filters | filters for irc raw buffer
| irc | irc_server | server IRC corrente
| irc | irc_server_channels | canali sul server IRC corrente
| irc | irc_server_nick | nick sul server IRC corrente
| irc | irc_server_nicks | nick su tutti i canali del server IRC corrente
| irc | irc_server_privates | privati sul server IRC corrente
| irc | irc_servers | server IRC (nomi interni)
| irc | nick | nick del canale IRC corrente
| javascript | javascript_script | elenco degli script
| lua | lua_script | elenco degli script
| perl | perl_script | elenco degli script
| php | php_script | elenco degli script
| python | python_script | elenco degli script
| relay | relay_free_port | prima porta libera per il plugin relay
| relay | relay_protocol_name | protocollo.nome possibile per il plugin relay
| relay | relay_relays | protocollo.nome dei relay correnti per il plugin relay
| ruby | ruby_script | elenco degli script
| script | script_extensions | list of script extensions
| script | script_files | file nella directory degli script
| script | script_languages | list of script languages
| script | script_scripts | elenco degli script nel repository
| script | script_scripts_installed | elenco degli script installati (dal repository)
| script | script_tags | tag degli script nel repository
| spell | spell_dicts | list of installed dictionaries
| spell | spell_langs | list of all languages supported
| tcl | tcl_script | elenco degli script
| trigger | trigger_add_arguments | arguments for command that adds a trigger: trigger name, hooks, hook arguments, hook conditions, hook regex, hook command, hook return code, post actions
| trigger | trigger_hook_arguments | default arguments for a hook
| trigger | trigger_hook_command | default command for a hook
| trigger | trigger_hook_conditions | default conditions for a hook
| trigger | trigger_hook_rc | default return codes for hook callback
| trigger | trigger_hook_regex | default regular expression for a hook
| trigger | trigger_hooks | hooks for triggers
| trigger | trigger_hooks_filter | hooks for triggers (for filter in monitor buffer)
| trigger | trigger_names | triggers
| trigger | trigger_names_default | default triggers
| trigger | trigger_option_value | value of a trigger option
| trigger | trigger_options | options for triggers
| trigger | trigger_post_action | trigger post actions
| weechat | bars_names | nomi delle barre
| weechat | bars_options | opzioni per le barre
| weechat | buffer_local_variable_value | value of a buffer local variable
| weechat | buffer_local_variables | buffer local variables
| weechat | buffer_properties_get | proprietĂ  che possono essere lette su un buffer
| weechat | buffer_properties_set | proprietĂ  che possono essere impostate su un buffer
| weechat | buffers_names | nomi dei buffer
| weechat | buffers_numbers | numeri dei buffer
| weechat | buffers_plugins_names | nomi dei buffer (inclusi i nomi dei plugin)
| weechat | colors | color names
| weechat | commands | commands (weechat and plugins); optional argument: prefix to add before the commands
| weechat | config_files | file di configurazione
| weechat | config_option_values | valori per una opzione di configurazione
| weechat | config_options | opzioni di configurazione
| weechat | cursor_areas | aree ("chat" o nome barra) per il movimento libero del cursore
| weechat | custom_bar_item_add_arguments | arguments for command that adds a custom bar item: item name, conditions, content
| weechat | custom_bar_item_conditions | conditions for custom bar item
| weechat | custom_bar_item_contents | contents for custom bar item
| weechat | custom_bar_items_names | names of custom bar items
| weechat | env_value | value of an environment variable
| weechat | env_vars | environment variables
| weechat | filename | filename; optional argument: default path (evaluated, see /help eval)
| weechat | filters_names | nomi dei filtri
| weechat | infolists | nomi degli hook liste info
| weechat | infos | nomi degli hook sulle info
| weechat | keys_codes | codici tasto
| weechat | keys_codes_for_reset | codici tasti che possono essere ripristinati (tasti aggiunti, ridefiniti o rimossi)
| weechat | keys_contexts | contesti del tasto
| weechat | layouts_names | nomi dei layout
| weechat | nicks | nick nella lista nick del buffer corrente
| weechat | palette_colors | Tavolozza dei colori
| weechat | plugins_commands | commands defined by plugins; optional argument: prefix to add before the commands
| weechat | plugins_installed | names of plugins installed
| weechat | plugins_names | nomi dei plugin
| weechat | proxies_names | nomi dei proxy
| weechat | proxies_options | opzioni per i proxy
| weechat | secured_data | names of secured data (file sec.conf, section data)
| weechat | weechat_commands | weechat commands; optional argument: prefix to add before the commands
| weechat | windows_numbers | numeri delle finestre
| xfer | nick | nick della chat DCC
|===
// end::completions[]
File diff suppressed because it is too large Load Diff
@@ -1,94 +0,0 @@
//
// This file is auto-generated by script docgen.py.
// DO NOT EDIT BY HAND!
//
// tag::infolists[]
[width="100%",cols="^1,^2,5,5,5",options="header"]
|===
| Plugin | Nome | Descrizione | Puntatore | Argomenti
| alias | alias | elenco di alias | puntatore all'alias (opzionale) | alias name (wildcard "*" is allowed) (optional)
| alias | alias_default | list of default aliases | - | -
| buflist | buflist | list of buffers in a buflist bar item | - | buflist bar item name (optional)
| fset | fset_option | list of fset options | fset option pointer (optional) | option name (wildcard "*" is allowed) (optional)
| guile | guile_script | elenco degli script | puntatore allo script (opzionale) | script name (wildcard "*" is allowed) (optional)
| irc | irc_channel | elenco dei canali per un server IRC | puntatore al canale (opzionale) | server,canale (canale è opzionale)
| irc | irc_color_weechat | mapping between IRC color codes and WeeChat color names | - | -
| irc | irc_ignore | elenco di ignore IRC | puntatore all'ignore (opzionale) | -
| irc | irc_modelist | list of channel mode lists for an IRC channel | mode list pointer (optional) | server,channel,type (type is optional)
| irc | irc_modelist_item | list of items in a channel mode list | mode list item pointer (optional) | server,channel,type,number (number is optional)
| irc | irc_nick | elenco dei nick per un canale IRC | puntatore al nick (opzionale) | server,channel,nick (nick is optional)
| irc | irc_notify | elenco delle notifiche | puntatore alla notifica (opzionale) | server name (wildcard "*" is allowed) (optional)
| irc | irc_server | elenco di server IRC | puntatore al server (opzionale) | server name (wildcard "*" is allowed) (optional)
| javascript | javascript_script | elenco degli script | puntatore allo script (opzionale) | script name (wildcard "*" is allowed) (optional)
| logger | logger_buffer | elenco dei buffer logger | puntatore al logger (opzionale) | -
| lua | lua_script | elenco degli script | puntatore allo script (opzionale) | script name (wildcard "*" is allowed) (optional)
| perl | perl_script | elenco degli script | puntatore allo script (opzionale) | script name (wildcard "*" is allowed) (optional)
| php | php_script | elenco degli script | puntatore allo script (opzionale) | script name (wildcard "*" is allowed) (optional)
| python | python_script | elenco degli script | puntatore allo script (opzionale) | script name (wildcard "*" is allowed) (optional)
| relay | relay | elenco di client relay | puntatore al relay (opzionale) | -
| ruby | ruby_script | elenco degli script | puntatore allo script (opzionale) | script name (wildcard "*" is allowed) (optional)
| script | script_script | elenco degli script | puntatore allo script (opzionale) | script name with extension (wildcard "*" is allowed) (optional)
| tcl | tcl_script | elenco degli script | puntatore allo script (opzionale) | script name (wildcard "*" is allowed) (optional)
| weechat | bar | elenco delle barre | puntatore alla barra (opzionale) | bar name (wildcard "*" is allowed) (optional)
| weechat | bar_item | elenco degli elementi barra | puntatore all'elemento della barra (opzionale) | bar item name (wildcard "*" is allowed) (optional)
| weechat | bar_window | elenco delle finestre barra | puntatore alla finestra della barra (opzionale) | -
| weechat | buffer | elenco dei buffer | puntatore al buffer (opzionale) | buffer name (wildcard "*" is allowed) (optional)
| weechat | buffer_lines | righe di un buffer | puntatore al buffer | -
| weechat | filter | elenco dei filtri | - | filter name (wildcard "*" is allowed) (optional)
| weechat | history | cronologia dei comandi | puntatore al buffer (se non impostato, restituisce la cronologia globale) (opzionale) | -
| weechat | hook | elenco di hook | puntatore all'hook (opzionale) | type,arguments (type is command/timer/.., arguments to get only some hooks (wildcard "*" is allowed), both are optional)
| weechat | hotlist | elenco dei buffer nella hotlist | - | -
| weechat | key | elenco di tasti associati | - | contesto ("default", "search", "cursor" o "mouse") (opzionale)
| weechat | layout | elenco dei layout | - | -
| weechat | nicklist | nick nella lista nick per un buffer | puntatore al buffer | nick_xxx o group_xxx per ottenere solo xxx di nick/group (opzionale)
| weechat | option | elenco delle opzioni | - | option name (wildcard "*" is allowed) (optional)
| weechat | plugin | elenco dei plugin | puntatore al plugin (opzionale) | plugin name (wildcard "*" is allowed) (optional)
| weechat | proxy | elenco dei proxy | puntatore al proxy (opzionale) | proxy name (wildcard "*" is allowed) (optional)
| weechat | url_options | opzioni per la URL | - | -
| weechat | window | elenco delle finestre | puntatore alla finestra (opzionale) | "current" per la finestra corrente o un numero della finestra (opzionale)
| xfer | xfer | elenco di xfer | puntatore a xfer (opzionale) | -
|===
// end::infolists[]

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