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

Compare commits

...

586 Commits

Author SHA1 Message Date
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
Sébastien Helleu b614a5c5db Version 3.8 2023-01-08 10:07:07 +01:00
Sébastien Helleu 35129a1cae core: add note about case insensitive comparison improved in release notes 2023-01-08 10:01:11 +01:00
Sébastien Helleu 2f6b462c3c core: update entries related to CI in ChangeLog 2023-01-07 23:17:56 +01:00
Sébastien Helleu 9202213274 ci: remove use of repository ppa:ondrej/php
Now the CI uses the standard PHP version (8.1) from Ubuntu 22.04.
2023-01-07 23:17:29 +01:00
Sébastien Helleu 822a94c184 php: add proper detection of PHP 8.2 in all cases 2023-01-07 22:05:37 +01:00
Sébastien Helleu e0f096abe6 debian: add symbolic link weechat_raspbian_buster.patch pointing to Debian Buster patch 2023-01-06 13:12:59 +01:00
Sébastien Helleu bff143dcf4 core: add CMake test called "notests" when tests are not compiled
Now the command `make test` executes properly and returns 0 when test are not
compiled.
2023-01-06 07:53:39 +01:00
Sébastien Helleu e660233325 Revert "core: add a fake target "test" so that make test successes when tests are not compiled"
This reverts commit 129860fd52.
2023-01-06 07:11:35 +01:00
Sébastien Helleu 129860fd52 core: add a fake target "test" so that make test successes when tests are not compiled 2023-01-05 21:26:55 +01:00
Sébastien Helleu 3c65bc6831 core: rename script build-test.sh to build_test.sh 2023-01-05 08:05:04 +01:00
Sébastien Helleu db81c07e1f core: rename script build-debian.sh to build_debian.sh 2023-01-05 08:03:12 +01:00
Sébastien Helleu 30ad9ca62d core: rename script git-version.sh to set_git_version.sh 2023-01-05 08:01:48 +01:00
Sébastien Helleu c7f5cd462f core: add message after checking Curl symbols: "all good" or number of errors 2023-01-05 07:48:08 +01:00
Sébastien Helleu bcba2d4d7c core: add example with Curl repository cloned locally 2023-01-05 07:43:01 +01:00
Sébastien Helleu e3a69e92e5 core: install flake8 in CI 2023-01-04 22:49:36 +01:00
Sébastien Helleu f43efe5a65 core: add script check_scripts.sh
This script is now used in CI to check all shell scripts (*.sh) and Python
scripts (*.py) that are in git repository.

Tools used:

- shell scripts: shellcheck
- Python scripts: flake8 + pylint + bandit
2023-01-04 22:45:00 +01:00
Sébastien Helleu 8da3884afc core: add script check_curl_symbols.py
This script is used to check Curl symbols defined in WeeChat vs exposed Curl
symbols.

Usage:

curl https://raw.githubusercontent.com/curl/curl/master/docs/libcurl/symbols-in-versions | ./tools/check_curl_symbols.py
2023-01-04 22:44:14 +01:00
Sébastien Helleu 3778ef0636 core: fix Curl version in comments 2023-01-04 22:23:33 +01:00
Sébastien Helleu c52d630f82 core: remove useless "exit 0"
This fixes the following shellcheck error:

SC2317 (info): Command appears to be unreachable. Check usage (or ignore if
invoked indirectly).
2023-01-04 22:23:33 +01:00
Sébastien Helleu 356028ee87 core: double quote $JOBS
This fixes the following shellcheck error:

SC2086 (info): Double quote to prevent globbing and word splitting.
2023-01-04 22:23:33 +01:00
Sébastien Helleu 9dd85507d0 core: don't use eval to run commands in scripts
This fixes the following shellcheck error:

SC2294 (warning): eval negates the benefit of arrays. Drop eval to preserve
whitespace/symbols (or eval as string).
2023-01-04 22:20:51 +01:00
Sébastien Helleu c6df2e7b8e tests: fix long lines in scripting API tests 2023-01-04 21:13:25 +01:00
Sébastien Helleu e6857871f0 tests: ignore module level import not at top of file (flake8 E402) 2023-01-04 21:12:53 +01:00
Sébastien Helleu d1f2d54a1e tests: mark methods is_bool and is_number as static 2023-01-04 21:11:41 +01:00
Sébastien Helleu 0ce0fa9f1f api: add Curl options for versions 7.64.0 to 7.87.0 2023-01-03 23:21:44 +01:00
Sébastien Helleu 7526776f4e plugins: change priority of scripting plugins
Use a step of 10 between each scripting plugin priority.
2023-01-03 20:20:21 +01:00
Sébastien Helleu 958f39cb95 core: fix crash or infinite loop in /allbuf command
A crash could occur if the command closes buffers.
An infinite loop could occur if the command creates new buffers.
2023-01-03 17:02:38 +01:00
Sébastien Helleu 189eb5dc40 core: add variable list_size to prevent computing arraylist size in each iteration 2023-01-03 17:01:52 +01:00
Sébastien Helleu 9ee0955d6b irc: properly rename private buffer on notice messages 2023-01-03 01:06:51 +01:00
562 changed files with 54567 additions and 101120 deletions
+1 -2
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
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
+34 -30
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 php8.0-dev libphp8.0-embed libargon2-dev libsodium-dev pylint python3-bandit asciidoctor ruby-pygments.rb
WEECHAT_DEPENDENCIES: devscripts equivs python3-pip cmake ninja-build lcov pkg-config libncursesw5-dev gem2deb libperl-dev python3-dev libaspell-dev liblua5.3-dev tcl8.6-dev guile-3.0-dev libv8-dev libcurl4-gnutls-dev libgcrypt20-dev libgnutls28-dev libzstd-dev zlib1g-dev curl libcpputest-dev php-dev libphp-embed libargon2-dev libsodium-dev flake8 pylint python3-bandit asciidoctor ruby-pygments.rb shellcheck
jobs:
@@ -16,13 +16,11 @@ 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_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 }}
@@ -33,33 +31,28 @@ jobs:
- name: Install dependencies
run: |
sudo apt-add-repository --yes ppa:ondrej/php
sudo apt-get update -qq
sudo apt-get --yes purge php8.1-dev
sudo apt-get --yes --no-install-recommends install ${{ env.WEECHAT_DEPENDENCIES }}
sudo -H pip3 install --ignore-installed msgcheck
- name: Check gettext files
run: msgcheck po/*.po
- name: Check Python scripts
run: |
pylint --additional-builtins=_ doc/docgen.py
pylint doc/python_stub.py
pylint tests/scripts/python/testapigen.py tests/scripts/python/testapi.py tests/scripts/python/unparse.py
bandit doc/docgen.py doc/python_stub.py
bandit tests/scripts/python/testapigen.py tests/scripts/python/testapi.py tests/scripts/python/unparse.py
- name: Check shell and Python scripts
run: ./tools/check_scripts.sh
- name: Check Python stub file
run: ./doc/python_stub.py | diff src/plugins/python/weechat.pyi -
- name: Check Curl symbols
run: curl --silent --show-error --fail --retry 10 https://raw.githubusercontent.com/curl/curl/master/docs/libcurl/symbols-in-versions | ./tools/check_curl_symbols.py
- name: Build and run tests
env:
CC: ${{ matrix.config.cc }}
CXX: ${{ matrix.config.cxx }}
BUILDTOOL: ${{ matrix.config.tool }}
BUILDARGS: ${{ matrix.config.args }}
run: ./tools/build-test.sh
BUILDARGS: ${{ matrix.config.buildargs }}
run: ./tools/build_test.sh
- name: Run WeeChat
env:
@@ -73,7 +66,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: |
@@ -91,8 +84,8 @@ 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 }}
@@ -104,7 +97,20 @@ jobs:
- 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
- name: Build
env:
@@ -112,7 +118,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
@@ -143,16 +149,14 @@ jobs:
- name: Install dependencies
run: |
sudo apt-add-repository --yes ppa:ondrej/php
sudo apt-get update -qq
sudo apt-get --yes purge php8.1-dev
sudo apt-get --yes --no-install-recommends install ${{ env.WEECHAT_DEPENDENCIES }} php-dev
sudo apt-get --yes --no-install-recommends install ${{ env.WEECHAT_DEPENDENCIES }}
- name: Test Debian patches
run: ./tools/build-debian.sh test-patches
run: ./tools/build_debian.sh test-patches
- name: Build Debian packages
run: ./tools/build-debian.sh devel ubuntu/jammy
run: ./tools/build_debian.sh devel ubuntu/jammy
- name: Install Debian packages
run: sudo dpkg -i ../weechat-devel*.deb
+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
+1
View File
@@ -149,6 +149,7 @@ Alphabetically:
* Vasco Almeida
* Victorhck
* Voroskoi
* wfrsk
* Wojciech Kwolek
* W. Trevor King
* Yannick Palanque
+93 -88
View File
@@ -25,22 +25,29 @@ 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")
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,68 @@ 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_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 +136,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.")
@@ -241,13 +272,16 @@ if(ENABLE_TESTS)
else()
message(SEND_ERROR "CppUTest not found")
endif()
else()
enable_testing()
add_test(NAME notests COMMAND true)
endif()
configure_file(config.h.cmake config.h @ONLY)
# set the git version in "config-git.h"
add_custom_target(version_git ALL
COMMAND "${CMAKE_CURRENT_SOURCE_DIR}/tools/git-version.sh" "${CMAKE_CURRENT_SOURCE_DIR}" "${VERSION}" "config-git.h"
COMMAND "${CMAKE_CURRENT_SOURCE_DIR}/tools/set_git_version.sh" "${CMAKE_CURRENT_SOURCE_DIR}" "${VERSION}" "config-git.h"
WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}"
)
@@ -263,7 +297,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
@@ -272,52 +306,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")
+152 -19
View File
@@ -6,17 +6,144 @@
: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.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] 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, 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 (under dev)
== Version 3.8 (2023-01-08)
New features::
@@ -31,6 +158,7 @@ New features::
* core: add signals "buffer_user_input_xxx" and "buffer_user_closing_xxx" for buffers created with `/buffer add` (issue #1848)
* core: add identifier in buffer lines (issue #901)
* core: add option `unicode` in command `/debug`
* api: add Curl options for versions 7.64.0 to 7.87.0
* api: add functions string_strcmp and string_strncmp
* api: rename char comparison functions "utf8_char*" to "string_char*"
* api: return arithmetic difference between chars in functions string_charcmp, string_charcasecmp, string_charcasecmp_range, string_strcasecmp, string_strcasecmp_range, string_strncasecmp, string_strncasecmp_range, string_strcmp_ignore_chars
@@ -50,18 +178,23 @@ Bug fixes::
* api: send NULL values to config section callbacks in scripting API (issue #1843)
* api: fix function string_cut when there are non printable chars in suffix
* api: do not expect any return value in callbacks "callback_change" and "callback_delete" of function config_new_option (scripting API)
* irc: properly rename private buffer on nick changes or private message when new nick is the same with different case
* irc: properly rename private buffer on nick changes or privmsg/notice message when new nick is the same with different case
* irc: do not join channels in server autojoin option after reconnection to the server (issue #560, bug #21529)
* irc: escape backslashes in raw buffer (issue #1838)
* trigger: fix variables sent to focus callback (issue #1858)
Tests::
* ci: remove use of repository ppa:ondrej/php, use standard PHP version (8.1) from Ubuntu 22.04
* core: add script check_scripts.sh
* core: add script check_curl_symbols.py
* gui: add tests on input functions
* scripts: add tests on config functions
Build::
* core: add CMake test called "notests" when tests are not compiled
* core: rename scripts: build-debian.sh to build_debian.sh, build-test.sh to build_test.sh, git-version.sh to set_git_version.sh
* debian: change dependency guile-2.2-dev to guile-3.0-dev
* python: remove support of Python 2.x
* ruby: add detection of Ruby 3.2
@@ -132,8 +265,8 @@ Bug fixes::
Tests::
* core: switch from Ubuntu 20.04 to 22.04 in CI
* core: remove macOS 10.15, add macOS 12 in CI
* ci: switch from Ubuntu 20.04 to 22.04
* ci: remove macOS 10.15, add macOS 12
* core: add tests on filter functions
* scripts: add tests on hdata functions
* scripts: fix run of Guile test script
@@ -203,8 +336,8 @@ Bug fixes::
Tests::
* ci: add build of Debian packages
* core: add tests on GUI chat functions
* core: add build of Debian packages in CI
Build::
@@ -253,8 +386,8 @@ Documentation::
Tests::
* core: add build with CMake and Ninja in CI
* core: add build on macOS 11 in CI
* ci: add build with CMake and Ninja
* ci: add build on macOS 11
Build::
@@ -307,8 +440,8 @@ Documentation::
Tests::
* core: switch to PHP 8.0 in CI
* core: add build on macOS in CI
* ci: switch to PHP 8.0
* ci: add build on macOS
Build::
@@ -370,7 +503,7 @@ Bug fixes::
Tests::
* core: switch from Ubuntu 18.04 to 20.04 in CI
* ci: switch from Ubuntu 18.04 to 20.04
* trigger: add tests on main trigger functions
Build::
@@ -531,8 +664,8 @@ Documentation::
Tests::
* core: add CI with GitHub Actions, move codecov.io upload to GitHub Actions
* core: switch to Ubuntu Bionic on Travis CI, use pylint3 to lint Python scripts
* ci: add CI with GitHub Actions, move codecov.io upload to GitHub Actions
* ci: switch to Ubuntu Bionic on Travis CI, use pylint3 to lint Python scripts
* core: run tests on plugins only if the plugins are enabled and compiled
* irc: add tests on IRC color and channel functions
@@ -1019,7 +1152,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)
+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/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/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
+365 -58
View File
@@ -6,19 +6,321 @@
: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.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
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 (under dev)
== Version 3.8 (2023-01-08)
[[v3.8_command_input_options]]
=== Move of options out of command /input
@@ -76,6 +378,11 @@ compared UTF-8 char in string2 from the last compared UTF-8 char in string1:
* string_strncasecmp_range
* string_strcmp_ignore_chars
In addition, the case conversion has been extended, now in addition to range
A-Z, all chars that have a lower case version are handled. +
That means for example the case insensitive comparison of "é" and "É" is 0
(chars are considered equal).
Example with WeeChat 3.8:
[source,c]
@@ -93,8 +400,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.
@@ -203,7 +510,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
@@ -247,11 +554,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
@@ -286,11 +593,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)
@@ -312,7 +619,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)
@@ -737,7 +1044,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
@@ -803,8 +1110,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
@@ -902,7 +1209,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"
@@ -920,7 +1227,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]]
@@ -931,7 +1238,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. +
@@ -1193,8 +1500,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:
@@ -1270,7 +1577,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:
@@ -1591,33 +1898,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).
@@ -1788,7 +2095,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
@@ -1851,9 +2158,9 @@ 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]]
@@ -2357,7 +2664,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)
-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 eval "$@" >"$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"
+2 -1
View File
@@ -29,6 +29,7 @@ endif()
if(NOT PHP_FOUND)
find_program(PHP_CONFIG_EXECUTABLE NAMES
php-config8.2 php-config82
php-config8.1 php-config81
php-config8.0 php-config80
php-config8
@@ -47,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.1 php8.0 php8 php7.4 php7.3 php7.2 php7.1 php7.0 php7 php
NAMES php8.2 php8.1 php8.0 php8 php7.4 php7.3 php7.2 php7.1 php7.0 php7 php
HINTS ${PHP_LIB_PREFIX} ${PHP_LIB_PREFIX}/lib ${PHP_LIB_PREFIX}/lib64
)
if(PHP_LIB)
-1601
View File
File diff suppressed because it is too large Load Diff
+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)
+10
View File
@@ -1,3 +1,13 @@
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
+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 (4007)
. javascript (4006)
. lua (4005)
. perl (4004)
. php (4003)
. python (4002)
. ruby (4001)
. tcl (4000)
. script (3000)
. fset (2000)
// end::plugins_priority[]
@@ -1,436 +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 |
| protocols | mask | http, https, ftp, ftps, scp, sftp, telnet, ldap, ldaps, dict, file, tftp, all, imap, imaps, pop3, pop3s, smtp, smtps, rtsp, rtmp, rtmpt, rtmpe, rtmpte, rtmps, rtmpts, gopher, smb, smbs
| redir_protocols | mask | http, https, ftp, ftps, scp, sftp, telnet, ldap, ldaps, dict, file, tftp, all, imap, imaps, pop3, pop3s, smtp, smtps, rtsp, rtmp, rtmpt, rtmpe, rtmpte, rtmps, rtmpts, gopher, smb, smbs
| 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 |
| 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
| proxyauth | mask | none, basic, digest, ntlm, any, anysafe, digest_ie, only, ntlm_wb, negotiate, gssapi, bearer
| netrc_file | string |
| username | string |
| password | string |
| proxyusername | string |
| proxypassword | string |
| tlsauth_type | mask | none, srp
| tlsauth_username | string |
| tlsauth_password | string |
| sasl_ir | long |
| xoauth2_bearer | string |
| login_options | string |
| disallow_username_in_url | long |
| autoreferer | long |
| followlocation | long |
| put | 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
| 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 |
| mail_from | string |
| mail_rcpt | list |
| mail_auth | string |
| 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 |
| ftp_response_timeout | 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 |
| 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 |
| 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 |
| 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 |
| 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 |
| random_file | string |
| egdsocket | 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
| ssl_enable_alpn | long |
| ssl_enable_npn | 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
| 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 |
| 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 |
| new_file_perms | long |
| new_directory_perms | long |
| telnetoptions | list |
|===
// 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
+54 -84
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]]
@@ -650,7 +634,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:
@@ -667,15 +651,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 +720,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 +732,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 +750,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 +877,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,7 +982,7 @@ 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).
@@ -1078,7 +1048,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 +1135,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_
@@ -1219,7 +1189,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,7 +1210,7 @@ Ihrer Passphrase verschlüsselten Kennwörter enthält.
Einige andere Dateien enthalten möglicherweise vertrauliche Informationen wie
Kennwörter (sofern sie nicht mit dem Befehl `/secure` in _sec.conf_ gesichert werden).
Siehe link:weechat_user.de.html#files_and_directories[Benutzerhandbuch / Dateien und Verzeichnisse ^↗^,window=_blank]
Siehe link:weechat_user.de.html#files_and_directories[Benutzerhandbuch / Dateien und Verzeichnisse ^↗^^]
fĂĽr weitere Informationen ĂĽber Konfigurationsdateien.
[[development]]
@@ -1249,7 +1219,7 @@ fĂĽr weitere Informationen ĂĽber Konfigurationsdateien.
[[bug_task_patch]]
=== Was kann ich machen, falls ich einen Fehler gefunden habe, mich nach neuen Funktionen erkundigen oder Patches einsenden möchte?
siehe https://weechat.org/about/support/[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 +1258,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 (4007)
. javascript (4006)
. lua (4005)
. perl (4004)
. php (4003)
. python (4002)
. ruby (4001)
. tcl (4000)
. script (3000)
. fset (2000)
// end::plugins_priority[]
@@ -1,436 +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 |
| protocols | mask | http, https, ftp, ftps, scp, sftp, telnet, ldap, ldaps, dict, file, tftp, all, imap, imaps, pop3, pop3s, smtp, smtps, rtsp, rtmp, rtmpt, rtmpe, rtmpte, rtmps, rtmpts, gopher, smb, smbs
| redir_protocols | mask | http, https, ftp, ftps, scp, sftp, telnet, ldap, ldaps, dict, file, tftp, all, imap, imaps, pop3, pop3s, smtp, smtps, rtsp, rtmp, rtmpt, rtmpe, rtmpte, rtmps, rtmpts, gopher, smb, smbs
| 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 |
| 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
| proxyauth | mask | none, basic, digest, ntlm, any, anysafe, digest_ie, only, ntlm_wb, negotiate, gssapi, bearer
| netrc_file | string |
| username | string |
| password | string |
| proxyusername | string |
| proxypassword | string |
| tlsauth_type | mask | none, srp
| tlsauth_username | string |
| tlsauth_password | string |
| sasl_ir | long |
| xoauth2_bearer | string |
| login_options | string |
| disallow_username_in_url | long |
| autoreferer | long |
| followlocation | long |
| put | 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
| 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 |
| mail_from | string |
| mail_rcpt | list |
| mail_auth | string |
| 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 |
| ftp_response_timeout | 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 |
| 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 |
| 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 |
| 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 |
| 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 |
| random_file | string |
| egdsocket | 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
| ssl_enable_alpn | long |
| ssl_enable_npn | 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
| 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 |
| 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 |
| new_file_perms | long |
| new_directory_perms | long |
| telnetoptions | list |
|===
// 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
+27 -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.
@@ -273,6 +268,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.
@@ -291,7 +287,7 @@ WeeChat "core" is located in following directories:
|       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 +390,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.
@@ -429,10 +426,12 @@ 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.
@@ -447,7 +446,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 +457,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 +474,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 +736,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 +1023,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 +1118,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 +1153,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 +1265,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 +1273,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
+53 -78
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]]
@@ -617,7 +603,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:
@@ -634,15 +620,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 +682,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 +692,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 +819,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,7 +915,7 @@ 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).
@@ -1004,7 +979,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 +1063,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_.
@@ -1139,7 +1114,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,7 +1135,7 @@ contains your passwords ciphered with your passphrase.
Some other files may contain sensitive info like passwords (if they are not
stored in _sec.conf_ with the `/secure` command).
See the link:weechat_user.en.html#files_and_directories[User's guide / Files and directories ^↗^,window=_blank]
See the link:weechat_user.en.html#files_and_directories[User's guide / Files and directories ^↗^^]
for more information about configuration files.
[[development]]
@@ -1169,7 +1144,7 @@ for more information about configuration files.
[[bug_task_patch]]
=== How should I report bugs, ask for new features or send patches?
See https://weechat.org/about/support/[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 +1181,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 ^↗^^].
+272 -55
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
@@ -142,7 +135,7 @@ default plugins).
The default WeeChat plugins are initialized in this order:
include::includes/autogen_api_plugins_priority.en.adoc[tag=plugins_priority]
include::{autogendir}/autogen_api_plugins_priority.en.adoc[tag=plugins_priority]
==== weechat_plugin_end
@@ -286,7 +279,7 @@ Functions to register a script: used only by scripting API, not the C API.
Register the script.
For more information, see the
link:weechat_scripting.en.html#register_function[WeeChat scripting guide ^↗^,window=_blank].
link:weechat_scripting.en.html#register_function[WeeChat scripting guide ^↗^^].
Script (Python):
@@ -1985,7 +1978,7 @@ Split a string like the shell does for a command with arguments.
This function is a C conversion of Python class "shlex" (file: Lib/shlex.py in
Python repository), see
https://docs.python.org/3/library/shlex.html[this page ^↗^,window=_blank].
https://docs.python.org/3/library/shlex.html[this page ^↗^^].
Prototype:
@@ -2574,7 +2567,7 @@ str3 = weechat.string_input_for_buffer("//test") # "/test"
==== string_eval_expression
_WeeChat ≥ 0.4.0, updated in 0.4.2, 0.4.3, 1.0, 1.1, 1.2, 1.3, 1.6, 1.8, 2.0,
2.2, 2.3, 2.7, 2.9, 3.1, 3.2, 3.3, 3.4, 3.6, 3.8._
2.2, 2.3, 2.7, 2.9, 3.1, 3.2, 3.3, 3.4, 3.6, 3.8, 4.0.0._
Evaluate an expression and return result as a string.
Special variables with format `+${variable}+` are expanded (see table below).
@@ -3297,7 +3290,9 @@ expanded to last):
`+${hdata[list].var1.var2...}+` |
| Hdata value (pointers `window` and `buffer` are set by default with current
window/buffer), `list` can be a list name (example: "gui_buffers"), a pointer
(example: "0x1234abcd") or a pointer name (example: "my_pointer").
(example: "0x1234abcd") or a pointer name (example: "my_pointer"). +
When `var1` is a hashtable, methods `keys()`, `values()`, `keys_sorted()`,
`keys_values()` and `keys_values_sorted()` can be called.
| >> `+${buffer[gui_buffers].full_name}+` +
== `+core.weechat+` +
+
@@ -3305,7 +3300,13 @@ expanded to last):
== `+core.weechat+` +
+
>> `+${window.buffer.number}+` +
== `+1+`
== `+1+` +
+
>> `+${buffer.local_variables.keys_values()}+` +
== `+plugin:core,name:weechat+` +
+
>> `+${buffer.local_variables.plugin}+` +
== `+core+`
|===
==== string_dyn_alloc
@@ -3821,7 +3822,7 @@ The result is the return value of function `wcwidth` (see `man wcwidth`), with
exception for the following chars, that have a specific behavior in WeeChat:
* U+0009 (Tabulation): value of option
link:weechat_user.en.html#option_weechat.look.tab_width[weechat.look.tab_width ^↗^,window=_blank]
link:weechat_user.en.html#option_weechat.look.tab_width[weechat.look.tab_width ^↗^^]
* U+0001 (1) to U+001F (31), except U+0009 (Tabulation): 1
* U+00AD (173, soft hyphen): -1
* U+200B (8203, zero width space): -1
@@ -4659,6 +4660,8 @@ version_number = weechat_util_version_number ("0.3.8"); /* == 0x00030800 */
version_number = weechat_util_version_number ("0.3.9-dev"); /* == 0x00030900 */
version_number = weechat_util_version_number ("0.3.9-rc1"); /* == 0x00030900 */
version_number = weechat_util_version_number ("0.3.9"); /* == 0x00030900 */
version_number = weechat_util_version_number ("1.0"); /* == 0x01000000 */
version_number = weechat_util_version_number ("4.0.0"); /* == 0x04000000 */
----
[NOTE]
@@ -6263,7 +6266,7 @@ Functions for configuration files.
==== config_new
_Updated in 1.5._
_Updated in 1.5, 4.0.0._
Create a new configuration file.
@@ -6281,7 +6284,11 @@ struct t_config_file *weechat_config_new (const char *name,
Arguments:
* _name_: name of configuration file (without path or extension)
* _name_: name of configuration file (without path or extension); a priority
is allowed before the name, with format `nnn|name` where `nnn` is non-negative
integer with priority; default priority is 1000; files are sorted by priority
from higher to lower when running command `/reload`
(see priority of configuration files below)
* _callback_reload_: function called when configuration file is reloaded with
`/reload` (optional, can be NULL, see below), arguments and return value:
** _const void *pointer_: pointer
@@ -6317,6 +6324,10 @@ You should call this function only after adding some sections (with
<<_config_new_section,config_new_section>>) and options (with
<<_config_new_option,config_new_option>>).
Priority of default configuration files:
include::{autogendir}/autogen_api_config_priority.en.adoc[tag=config_priority]
C example:
[source,c]
@@ -6350,6 +6361,182 @@ def my_config_reload_cb(data: str, config_file: str) -> int:
config_file = weechat.config_new("test", "my_config_reload_cb", "")
----
==== config_set_version
_WeeChat ≥ 4.0.0._
Set configuration file version and a callback to update config sections/options
on-the-fly when the config is read.
Prototype:
[source,c]
----
int config_file_set_version (struct t_config_file *config_file,
int version,
struct t_hashtable *(*callback_update)(const void *pointer,
void *data,
struct t_config_file *config_file,
int version_read,
struct t_hashtable *data_read),
const void *callback_update_pointer,
void *callback_update_data);
----
Arguments:
* _config_file_: configuration file pointer
* _version_: version, must be ≥ 2
* _callback_update_: function called when configuration file is read, for each
section and each option, if the version read is less than the expected version,
(optional, can be NULL, see below), arguments and return value:
** _const void *pointer_: pointer
** _void *data_: pointer
** _struct t_config_file *config_file_: configuration file pointer
** _int version_read_: version read in configuration file (1 by default)
** _struct t_hashtable *data_read_: hashtable with data read from configuration file
(see below)
** return value:
*** either "data_read" pointer (hashtable completed), or pointer to a new
hashtable (created by callback, with keys and values of type "string")
* _callback_update_pointer_: pointer given to callback when it is called by
WeeChat
* _callback_update_data_: pointer given to callback when it is called by
WeeChat; if not NULL, it must have been allocated with malloc (or similar
function) and it is automatically freed when the configuration file is freed
Update callback:
* The callback receives a hashtable with data read from configuration file:
[width="100%",cols="1m,2,8",options="header"]
|===
| Key | Availability | Value
| config | Always set | Name of configuration file, without extension (eg: `weechat`)
| section | Always set | Name of section being read
| option | For option only | Name of the option
| value | For option only | Value of the option (if not NULL)
| value_null | For option only | Option as NULL value (value is always `1`)
|===
* The callback can update "section" for a line with a section and "option", "value"
and "value_null" for a line with an option.
* If "option" is set to empty string by the callback, the line read in
configuration file is ignored.
* Field "value_null" is set to force a NULL value for the option.
Return value:
* 1 if OK, 0 if error
C example:
[source,c]
----
struct t_hashtable *
my_config_update_cb (const void *pointer, void *data,
struct t_config_file *config_file,
int version_read,
struct t_hashtable *data_read)
{
const char *ptr_section, *ptr_option;
/* return now if version is already up-to-date */
if (version_read >= 2)
return NULL;
ptr_section = hashtable_get (data_read, "section");
ptr_option = hashtable_get (data_read, "option");
/* rename section "abc" to "def" */
if (ptr_section && !ptr_option && (strcmp (ptr_section, "abc") == 0))
{
hashtable_set (data_read, "section", "def");
return data_read;
}
/* limit other changes to section "test" */
if (!ptr_section || !ptr_option || (strcmp (ptr_section, "test") != 0))
return NULL;
/* rename option "test1" to "test2" */
if (strcmp (ptr_option, "test1") == 0)
{
hashtable_set (data_read, "option", "test2");
return data_read;
}
/* set value to "xxx" for option "test" */
if (strcmp (ptr_option, "test") == 0)
{
hashtable_set (data_read, "value", "xxx");
return data_read;
}
/* set value to NULL for option "test_null" */
if (strcmp (ptr_option, "test_null") == 0)
{
hashtable_set (data_read, "value_null", "1");
return data_read;
}
/* no changes */
return NULL;
}
struct t_config_file *config_file = weechat_config_new ("test", NULL, NULL, NULL);
weechat_config_set_version (config_file, 2, &my_config_update_cb, NULL, NULL);
weechat_config_read (config_file);
----
Script (Python):
[source,python]
----
# prototype
def config_set_version(config_file: str, version: int, callback_update: str, callback_update_data: str) -> int: ...
# example
def my_config_update_cb(data: str, config_file: str, version_read: int, data_read: Dict[str, str]) -> Dict[str, str]:
# return now if version is already up-to-date
if version_read >= 2:
return {}
section = data_read.get("section")
option = data_read.get("option")
# rename section "abc" to "def"
if section and not option and section == "abc":
data_read["section"] = "def"
return data_read
# limit other changes to section "test"
if not section or not option or section != "test":
return {}
# rename option "test1" to "test2"
if option == "test1":
data_read["option"] = "test2"
return data_read
# set value to "xxx" for option "test"
if option == "test":
data_read["value"] = "xxx"
return data_read
# set value to NULL for option "test_null"
if option == "test_null":
data_read["value_null"] = "1"
return data_read
# no changes
return {}
config_file = weechat.config_new("test", "", "")
weechat.config_set_version(config_file, 2, "my_config_update_cb", "")
weechat.config_read(config_file)
----
==== config_new_section
_Updated in 1.5._
@@ -6926,7 +7113,7 @@ option5 = weechat.config_new_option(config_file, section, "option5", "color",
[NOTE]
In Ruby, the 3 callbacks + data (6 strings) must be given in an array of 6
strings (due to a Ruby limitation of 15 arguments by function), see the
link:++weechat_scripting.en.html#_ruby++[WeeChat scripting guide ^↗^,window=_blank]
link:++weechat_scripting.en.html#_ruby++[WeeChat scripting guide ^↗^^]
for more info _(fixed in version 0.4.1)_.
==== config_search_option
@@ -8999,7 +9186,7 @@ Arguments:
* _tags_: comma separated list of tags (NULL means no tags)
* _message_: message to display
See the link:weechat_user.en.html#lines_tags[WeeChat user's guide / Lines tags ^↗^,window=_blank]
See the link:weechat_user.en.html#lines_tags[WeeChat user's guide / Lines tags ^↗^^]
for a list of commonly used tags in WeeChat.
C example:
@@ -9275,7 +9462,7 @@ will complete with following values in command arguments:
Default completion codes are:
include::includes/autogen_api_completions.en.adoc[tag=completions]
include::{autogendir}/autogen_api_completions.en.adoc[tag=completions]
Special codes:
@@ -9788,7 +9975,7 @@ In scripting API, the function _name_ is called directly and its result
[TIP]
If you want to retrieve infos about WeeChat (like current stable version,
latest git commit, etc.), you can use URLs on
https://weechat.org/dev/info/[this page ^↗^,window=_blank].
https://weechat.org/dev/info/[this page ^↗^^].
[NOTE]
Buffer size for sending data to callback is 64KB (there are 2 buffers: one for
@@ -9985,7 +10172,7 @@ available:
For command "url:...", following options are available (see
`+man curl_easy_setopt+` for a description of each option):
include::includes/autogen_api_url_options.en.adoc[tag=url_options]
include::{autogendir}/autogen_api_url_options.en.adoc[tag=url_options]
[NOTE]
^(1)^ For options with type "mask", format is: "value1+value2+value3";
@@ -12143,6 +12330,17 @@ List of modifiers used by WeeChat and plugins:
|===
| Modifier | Min WeeChat | Modifier data | String | Output
| [[hook_modifier_irc_batch]] irc_batch | 4.0.0
| Server name + "," + batch type + "," + batch parameters
| Content of multiple messages, separated by a newline char ("\n").
| New content of messages (number can be different), an empty string discards
all messages in the batch.
| [[hook_modifier_irc_cap_sync_req]] irc_cap_sync_req | 4.0.0
| Server name + "," + supported capabilities on server (separated by spaces)
| Capabilities to request (separated by spaces).
| New content of capabilities to request (separated by spaces).
| [[hook_modifier_irc_in_xxx]] irc_in_xxx ^(1)^ |
| Server name
| Content of message received from IRC server (before charset decoding). +
@@ -12168,6 +12366,23 @@ List of modifiers used by WeeChat and plugins:
(to fit in 512 bytes by default).
| New content of message.
| [[hook_modifier_relay_client_irc_in]] relay_client_irc_in | 4.0.0
| String with relay client pointer (eg: "0x1234abcd")
| Content of message received from relay IRC client.
| New content of message.
| [[hook_modifier_relay_client_irc_out1]] relay_client_irc_out1 | 4.0.0
| String with relay client pointer (eg: "0x1234abcd")
| Content of message about to be sent to relay IRC client before automatic split
(to fit in 512 bytes by default).
| New content of message.
| [[hook_modifier_relay_client_irc_out]] relay_client_irc_out | 4.0.0
| String with relay client pointer (eg: "0x1234abcd")
| Content of message about to be sent to relay IRC client after automatic split
(to fit in 512 bytes by default).
| New content of message.
| [[hook_modifier_bar_condition_yyy]] bar_condition_yyy ^(2)^ |
| String with window pointer (eg: "0x1234abcd")
| Empty string.
@@ -12323,13 +12538,13 @@ List of modifiers defined by WeeChat and plugins that can be used:
| -
| Any string.
| String with IRC tag value escaped,
see https://ircv3.net/specs/extensions/message-tags#escaping-values[this page ^↗^,window=_blank].
see https://ircv3.net/specs/extensions/message-tags#escaping-values[this page ^↗^^].
| [[hook_modifier_irc_tag_unescape_value]] irc_tag_unescape_value | 3.3
| -
| Any string.
| String with IRC tag value unescaped,
see https://ircv3.net/specs/extensions/message-tags#escaping-values[this page ^↗^,window=_blank].
see https://ircv3.net/specs/extensions/message-tags#escaping-values[this page ^↗^^].
| [[hook_modifier_color_decode_ansi]] color_decode_ansi | 1.0
| "1" to keep colors, "0" to remove colors
@@ -12802,6 +13017,9 @@ Content of hashtable sent to callback (keys and values are of type "string"):
| _chat_line_message | Message of line.
| "Hello world!" | ""
| _chat_focused_line | Line at (x,y) _(WeeChat ≥ 4.0.0)_.
| "Hello world!" | ""
| _chat_word | Word at (x,y).
| "Hello" | ""
@@ -13785,9 +14003,12 @@ Properties:
"1": do not stop completion when command line is updated
(global setting, buffer pointer is not used).
| unread | | empty string or "0"
| unread | | empty string, "0", "+N", "-N" or "N" (N is integer)
| empty string: set unread marker after last line of buffer +
"0": remove unread marker from buffer.
"0": remove unread marker from buffer +
"N": move the unread marker N lines from the end towards the first line of buffer +
"-N": move the unread marker N lines towards the first line of buffer +
"+N": move the unread marker N lines towards the last line of buffer.
| display | | "1" or "auto"
| "1": switch to this buffer in current window +
@@ -14074,7 +14295,7 @@ str = weechat.buffer_string_replace_local_var(my_buffer, "test with $toto")
==== buffer_match_list
_WeeChat ≥ 0.3.5._
_WeeChat ≥ 0.3.5, updated in 4.0.0._
Check if buffer matches a list of buffers.
@@ -14093,6 +14314,9 @@ Arguments:
** name beginning with `+!+` is excluded
** wildcard `+*+` is allowed in name
[NOTE]
Since version 4.0.0, comparison of buffer names is case sensitive.
Return value:
* 1 if buffer matches list of buffers, 0 otherwise
@@ -14106,7 +14330,7 @@ if (buffer)
{
weechat_printf (NULL, "%d", weechat_buffer_match_list (buffer, "*")); /* 1 */
weechat_printf (NULL, "%d", weechat_buffer_match_list (buffer, "*,!*#weechat*")); /* 0 */
weechat_printf (NULL, "%d", weechat_buffer_match_list (buffer, "irc.libera.*")); /* 1 */
weechat_printf (NULL, "%d", weechat_buffer_match_list (buffer, "irc.libera.*")); /* 1 */
weechat_printf (NULL, "%d", weechat_buffer_match_list (buffer, "irc.oftc.*,python.*")); /* 0 */
}
----
@@ -14123,7 +14347,7 @@ buffer = weechat.buffer_search("irc", "libera.#weechat")
if buffer:
weechat.prnt("", "%d" % weechat.buffer_match_list(buffer, "*")) # 1
weechat.prnt("", "%d" % weechat.buffer_match_list(buffer, "*,!*#weechat*")) # 0
weechat.prnt("", "%d" % weechat.buffer_match_list(buffer, "irc.libera.*")) # 1
weechat.prnt("", "%d" % weechat.buffer_match_list(buffer, "irc.libera.*")) # 1
weechat.prnt("", "%d" % weechat.buffer_match_list(buffer, "irc.oftc.*,python.*")) # 0
----
@@ -15419,7 +15643,7 @@ bar = weechat.bar_search("mybar")
==== bar_new
_Updated in 2.9._
_Updated in 2.9, 4.0.0._
Create a new bar.
@@ -15460,7 +15684,7 @@ Arguments:
** _inactive_: bar is displayed in inactive windows only
** _nicklist_: bar is displayed in windows with nicklist
** evaluated expression: see the
link:weechat_user.en.html#bar_conditions[WeeChat user's guide / Bar conditions ^↗^,window=_blank]
link:weechat_user.en.html#bar_conditions[WeeChat user's guide / Bar conditions ^↗^^]
* _position_: _top_, _bottom_, _left_ or _right_
* _filling_top_bottom_:
** _horizontal_: items are filled horizontally (space after each item)
@@ -15489,26 +15713,18 @@ Return value:
* pointer to new bar, NULL if an error occurred
[NOTE]
Since version 4.0.0, if the bar already exists, WeeChat sets the values received
as default values for bar options and returns the bar pointer instead of NULL.
C example:
[source,c]
----
struct t_gui_bar *my_bar = weechat_bar_new ("mybar",
"off",
"100",
"window",
"",
"top",
"horizontal",
"vertical",
"0",
"5",
"default",
"cyan",
"blue",
"darkgray",
"off",
"time,buffer_number+buffer_name");
struct t_gui_bar *my_bar = weechat_bar_new (
"mybar", "off", "100", "window", "", "top", "horizontal", "vertical",
"0", "5", "default", "cyan", "blue", "darkgray", "off",
"time,buffer_number+buffer_name");
----
Script (Python):
@@ -15530,7 +15746,7 @@ bar = weechat.bar_new("mybar", "off", "100", "window", "", "top", "horizontal",
With WeeChat ≥ 2.9, in Ruby, the 4 colors (color_fg, color_delim, color_bg,
color_bg_inactive) must be given in an array of 4 strings (due to a Ruby
limitation of 15 arguments by function), see the
link:++weechat_scripting.en.html#_ruby++[WeeChat scripting guide ^↗^,window=_blank]
link:++weechat_scripting.en.html#_ruby++[WeeChat scripting guide ^↗^^]
for more info.
==== bar_set
@@ -16114,7 +16330,7 @@ With WeeChat ≥ 2.5, the value returned is an allocated string
Infos:
include::includes/autogen_api_infos.en.adoc[tag=infos]
include::{autogendir}/autogen_api_infos.en.adoc[tag=infos]
C example:
@@ -16170,11 +16386,12 @@ Arguments:
Return value:
* hashtable with info asked, NULL if an error occurred
* hashtable with info asked, NULL if an error occurred (must be freed by
calling <<_hashtable_free,hashtable_free>> after use)
Infos:
include::includes/autogen_api_infos_hashtable.en.adoc[tag=infos_hashtable]
include::{autogendir}/autogen_api_infos_hashtable.en.adoc[tag=infos_hashtable]
C example:
@@ -16222,7 +16439,7 @@ if (hashtable_in)
----
[NOTE]
See the link:weechat_scripting.en.html#irc_message_parse[WeeChat scripting guide / Parse message ^↗^,window=_blank]
See the link:weechat_scripting.en.html#irc_message_parse[WeeChat scripting guide / Parse message ^↗^^]
for more info about "irc_message_parse" output.
Script (Python):
@@ -16571,7 +16788,7 @@ Return value:
Infolists:
include::includes/autogen_api_infolists.en.adoc[tag=infolists]
include::{autogendir}/autogen_api_infolists.en.adoc[tag=infolists]
C example:
@@ -17318,7 +17535,7 @@ Return value:
List of hdata:
include::includes/autogen_api_hdata.en.adoc[tag=hdata]
include::{autogendir}/autogen_api_hdata.en.adoc[tag=hdata]
C example:
@@ -17863,7 +18080,7 @@ Arguments:
* _search_: expression to evaluate, default pointer in expression is the name of
hdata (and this pointer changes for each element in list); for help on
expression, see the
link:weechat_user.en.html#command_weechat_eval[WeeChat user's guide / Command /eval ^↗^,window=_blank]
link:weechat_user.en.html#command_weechat_eval[WeeChat user's guide / Command /eval ^↗^^]
* _pointers_: hashtable for call to function
<<_string_eval_expression,string_eval_expression>>
* _extra_vars_: hashtable for call to function
+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
+59 -77
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]]
@@ -627,7 +618,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:
@@ -644,15 +635,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 +698,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 +708,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 +842,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,7 +943,7 @@ 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).
@@ -1026,7 +1008,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 +1094,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_.
@@ -1163,7 +1145,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,7 +1166,7 @@ contiene sus contraseñas cifradas con su frase de paso.
Algunos otros archivos pueden contener información sensible como contraseñas (si no están
almacenadas en _sec.conf_ con el comando `/secure`).
Vea la link:weechat_user.en.html#files_and_directories[Guía del usuario / Archivos y directorios ^↗^,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.
[[development]]
@@ -1194,7 +1176,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 +1214,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 (4007)
. javascript (4006)
. lua (4005)
. perl (4004)
. php (4003)
. python (4002)
. ruby (4001)
. tcl (4000)
. script (3000)
. fset (2000)
// end::plugins_priority[]
@@ -1,436 +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 |
| protocols | mask | http, https, ftp, ftps, scp, sftp, telnet, ldap, ldaps, dict, file, tftp, all, imap, imaps, pop3, pop3s, smtp, smtps, rtsp, rtmp, rtmpt, rtmpe, rtmpte, rtmps, rtmpts, gopher, smb, smbs
| redir_protocols | mask | http, https, ftp, ftps, scp, sftp, telnet, ldap, ldaps, dict, file, tftp, all, imap, imaps, pop3, pop3s, smtp, smtps, rtsp, rtmp, rtmpt, rtmpe, rtmpte, rtmps, rtmpts, gopher, smb, smbs
| 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 |
| 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
| proxyauth | mask | none, basic, digest, ntlm, any, anysafe, digest_ie, only, ntlm_wb, negotiate, gssapi, bearer
| netrc_file | string |
| username | string |
| password | string |
| proxyusername | string |
| proxypassword | string |
| tlsauth_type | mask | none, srp
| tlsauth_username | string |
| tlsauth_password | string |
| sasl_ir | long |
| xoauth2_bearer | string |
| login_options | string |
| disallow_username_in_url | long |
| autoreferer | long |
| followlocation | long |
| put | 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
| 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 |
| mail_from | string |
| mail_rcpt | list |
| mail_auth | string |
| 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 |
| ftp_response_timeout | 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 |
| 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 |
| 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 |
| 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 |
| 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 |
| random_file | string |
| egdsocket | 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
| ssl_enable_alpn | long |
| ssl_enable_npn | 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
| 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 |
| 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 |
| new_file_perms | long |
| new_directory_perms | long |
| telnetoptions | list |
|===
// 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
+27 -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).
@@ -275,6 +270,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.
@@ -293,7 +289,7 @@ Le cœur de WeeChat est situé dans les répertoires suivants :
|       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 +392,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.
@@ -431,10 +428,12 @@ 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.
@@ -449,7 +448,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 +459,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 +476,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 +747,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 +1041,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 +1137,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 +1173,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 +1286,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 +1294,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
+53 -80
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]]
@@ -637,7 +622,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 :
@@ -654,15 +639,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 +703,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 +714,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 +845,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,7 +945,7 @@ 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).
@@ -1038,7 +1011,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 +1102,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_.
@@ -1183,7 +1156,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,7 +1179,7 @@ Quelques autres fichiers peuvent contenir des informations sensibles comme
des mots de passes (s'ils ne sont pas stockés dans _sec.conf_ avec la commande
`/secure`).
Voir le link:weechat_user.fr.html#files_and_directories[Guide utilisateur / Fichiers et répertoires ^↗^,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.
[[development]]
@@ -1215,7 +1188,7 @@ pour plus d'informations sur les fichiers de configuration.
[[bug_task_patch]]
=== Comment puis-je reporter un bug, demander une nouvelle fonctionnalité ou envoyer un patch ?
Voir https://weechat.org/about/support/[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 +1226,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 ^↗^^].
+282 -57
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
@@ -147,7 +140,7 @@ chargée après toutes les extensions par défaut).
Les extensions par défaut de WeeChat sont initialisées dans cet ordre :
include::includes/autogen_api_plugins_priority.fr.adoc[tag=plugins_priority]
include::{autogendir}/autogen_api_plugins_priority.fr.adoc[tag=plugins_priority]
==== weechat_plugin_end
@@ -294,7 +287,7 @@ pas l'API C.
Enregistrer le script.
Pour plus d'informations, voir le
link:weechat_scripting.fr.html#register_function[Guide pour scripts WeeChat ^↗^,window=_blank].
link:weechat_scripting.fr.html#register_function[Guide pour scripts WeeChat ^↗^^].
Script (Python) :
@@ -2022,7 +2015,7 @@ paramètres.
Cette fonction est une conversion en C de la classe Python "shlex" (fichier :
Lib/shlex.py dans le dépôt Python), voir
https://docs.python.org/3/library/shlex.html[cette page ^↗^,window=_blank].
https://docs.python.org/3/library/shlex.html[cette page ^↗^^].
Prototype :
@@ -2620,7 +2613,7 @@ str3 = weechat.string_input_for_buffer("//test") # "/test"
==== string_eval_expression
_WeeChat ≥ 0.4.0, mis à jour dans la 0.4.2, 0.4.3, 1.0, 1.1, 1.2, 1.3, 1.6, 1.8,
2.0, 2.2, 2.3, 2.7, 2.9, 3.1, 3.2, 3.3, 3.4, 3.6, 3.8._
2.0, 2.2, 2.3, 2.7, 2.9, 3.1, 3.2, 3.3, 3.4, 3.6, 3.8, 4.0.0._
Évaluer l'expression et retourner le résultat sous forme de chaîne.
Les variables spéciales avec le format `+${variable}+` sont étendues (voir le
@@ -3354,7 +3347,9 @@ première étendue à la dernière) :
| Valeur d'un hdata (les pointeurs `window` et `buffer` sont définis par défaut
avec la fenĂŞtre et tampon courants), `list` peut ĂŞtre le nom d'une liste
(exemple : "gui_buffers"), un pointeur (exemple : "0x1234abcd") ou un nom
de pointeur (exemple : "mon_pointeur").
de pointeur (exemple : "mon_pointeur"). +
Lorsque `var1` est une table de hachage, les méthodes `keys()`, `values()`,
`keys_sorted()`, `keys_values()` et `keys_values_sorted()` peuvent être appelées.
| >> `+${buffer[gui_buffers].full_name}+` +
== `+core.weechat+` +
+
@@ -3362,7 +3357,13 @@ première étendue à la dernière) :
== `+core.weechat+` +
+
>> `+${window.buffer.number}+` +
== `+1+`
== `+1+` +
+
>> `+${buffer.local_variables.keys_values()}+` +
== `+plugin:core,name:weechat+` +
+
>> `+${buffer.local_variables.plugin}+` +
== `+core+`
|===
==== string_dyn_alloc
@@ -3888,7 +3889,7 @@ avec une exception pour les caractères suivants, qui ont un comportement
spécifique dans WeeChat :
* U+0009 (Tabulation) : valeur de l'option
link:weechat_user.fr.html#option_weechat.look.tab_width[weechat.look.tab_width ^↗^,window=_blank]
link:weechat_user.fr.html#option_weechat.look.tab_width[weechat.look.tab_width ^↗^^]
* U+0001 (1) to U+001F (31), sauf U+0009 (Tabulation) : 1
* U+00AD (173, trait d'union conditionnel) : -1
* U+200B (8203, espace sans chasse) : -1
@@ -4738,6 +4739,8 @@ version_number = weechat_util_version_number ("0.3.8"); /* == 0x00030800 */
version_number = weechat_util_version_number ("0.3.9-dev"); /* == 0x00030900 */
version_number = weechat_util_version_number ("0.3.9-rc1"); /* == 0x00030900 */
version_number = weechat_util_version_number ("0.3.9"); /* == 0x00030900 */
version_number = weechat_util_version_number ("1.0"); /* == 0x01000000 */
version_number = weechat_util_version_number ("4.0.0"); /* == 0x04000000 */
----
[NOTE]
@@ -6360,7 +6363,7 @@ Fonctions pour les fichiers de configuration.
==== config_new
_Mis Ă  jour dans la 1.5._
_Mis Ă  jour dans la 1.5, 4.0.0._
Créer un nouveau fichier de configuration.
@@ -6378,7 +6381,12 @@ struct t_config_file *weechat_config_new (const char *name,
Paramètres :
* _name_ : nom du nouveau fichier de configuration (sans chemin ou extension)
* _name_ : nom du nouveau fichier de configuration (sans chemin ou extension) ;
une priorité est autorisée avant le nom, avec le format `nnn|nom` où `nnn` est
un entier positif avec la priorité ; la priorité par défaut est 1000 ; les
fichiers de configuration sont triés par priorité de la plus haute à la plus
basse lorsque la commande `/reload` est exécutée
(voir la priorité des fichiers de configuration ci-dessous)
* _callback_reload_ : fonction appelée quand le fichier de configuration est
rechargé avec `/reload` (optionnel, peut être NULL, voir ci-dessous),
paramètres et valeur de retour :
@@ -6419,6 +6427,10 @@ Vous ne devriez appeler cette fonction qu'après avoir créé les sections (avec
<<_config_new_section,config_new_section>>) et les options (avec
<<_config_new_option,config_new_option>>).
Priorité des fichiers de configuration par défaut :
include::{autogendir}/autogen_api_config_priority.fr.adoc[tag=config_priority]
Exemple en C :
[source,c]
@@ -6452,6 +6464,188 @@ def my_config_reload_cb(data: str, config_file: str) -> int:
config_file = weechat.config_new("test", "my_config_reload_cb", "")
----
==== config_set_version
_WeeChat ≥ 4.0.0._
Définir la version du fichier de configuration et une fonction de rappel pour
la mise à jour des sections/options à la volée lorsque la configuration est lue.
Prototype :
[source,c]
----
int config_file_set_version (struct t_config_file *config_file,
int version,
struct t_hashtable *(*callback_update)(const void *pointer,
void *data,
struct t_config_file *config_file,
int version_read,
struct t_hashtable *data_read),
const void *callback_update_pointer,
void *callback_update_data);
----
Paramètres :
* _config_file_ : pointeur vers le fichier de configuration
* _version_ : version, doit être ≥ 2
* _callback_update_ : fonction appelée lorsque le fichier de configuration est
lu, pour chaque section et option, si la version lue est inférieure à la
version attendue (optionnelle, peut être NULL, voir ci-dessous), paramètres
et valeur de retour :
** _const void *pointer_ : pointeur
** _void *data_ : pointeur
** _struct t_config_file *config_file_ : pointeur vers le fichier de configuration
** _int version_read_ : version lue dans le fichier de configuration (1 par défaut)
** _struct t_hashtable *data_read_ : table de hachage avec les données lues du
fichier de configuration (voir ci-dessous)
** valeur de retour :
*** soit le pointeur vers la table de hachage "data_read" (avec la
table de hachage complétée), ou un pointeur vers une nouvelle table de
hachage (créée par la fonction de rappel, avec clés et valeurs de type
"string")
* _callback_update_pointer_: pointeur donné à la fonction de rappel lorsqu'elle
est appelée par WeeChat
* _callback_update_data_ : pointeur donné à la fonction de rappel lorsqu'elle est
appelée par WeeChat; si non NULL, doit avoir été alloué par malloc (ou une
fonction similaire) et est automatiquement libéré (par free) lorsque le
fichier de configuration est libéré
Fonction de rappel de mise à jour :
* La fonction de rappel reçoit une table de hachage avec les données lues du
fichier de configuration :
[width="100%",cols="1m,2,8",options="header"]
|===
| Clé | Disponibilité | Valeur
| config | Toujours définie | Nom du fichier de configuration sans l'extension (par exemple : `weechat`)
| section | Toujours définie | Nom de la section lue
| option | Pour une option seulement | Nom de l'option
| value | Pour une option seulement | Valeur de l'option (si non NULL)
| value_null | Pour une option seulement | L'option a une valeur NULL (la valeur est toujours `1`)
|===
* La fonction de rappel peut mettre Ă  jour la "section" pour une ligne avec une
section et "option", "value" et "value_null" pour une ligne avec une option.
* Si "option" est changée en chaîne vide par la fonction de rappel, la ligne lue
dans le fichier de configuration est ignorée.
* Le champ "value_null" peut être positionné pour forcer une valeur NULL dans
l'option.
Valeur de retour :
* 1 si OK, 0 si erreur
Exemple en C :
[source,c]
----
struct t_hashtable *
my_config_update_cb (const void *pointer, void *data,
struct t_config_file *config_file,
int version_read,
struct t_hashtable *data_read)
{
const char *ptr_section, *ptr_option;
/* retourner maintenant si la version est déjà la dernière */
if (version_read >= 2)
return NULL;
ptr_section = hashtable_get (data_read, "section");
ptr_option = hashtable_get (data_read, "option");
/* renommer la section "abc" en "def" */
if (ptr_section && !ptr_option && (strcmp (ptr_section, "abc") == 0))
{
hashtable_set (data_read, "section", "def");
return data_read;
}
/* limiter les autres changements Ă  la section "test" */
if (!ptr_section || !ptr_option || (strcmp (ptr_section, "test") != 0))
return NULL;
/* renommer l'option "test1" en "test2" */
if (strcmp (ptr_option, "test1") == 0)
{
hashtable_set (data_read, "option", "test2");
return data_read;
}
/* définir la valeur à "xxx" pour l'option "test" */
if (strcmp (ptr_option, "test") == 0)
{
hashtable_set (data_read, "value", "xxx");
return data_read;
}
/* définir la valeur à NULL pour l'option "test_null" */
if (strcmp (ptr_option, "test_null") == 0)
{
hashtable_set (data_read, "value_null", "1");
return data_read;
}
/* aucun changement */
return NULL;
}
struct t_config_file *config_file = weechat_config_new ("test", NULL, NULL, NULL);
weechat_config_set_version (config_file, 2, &my_config_update_cb, NULL, NULL);
weechat_config_read (config_file);
----
Script (Python) :
[source,python]
----
# prototype
def config_set_version(config_file: str, version: int, callback_update: str, callback_update_data: str) -> int: ...
# exemple
def my_config_update_cb(data: str, config_file: str, version_read: int, data_read: Dict[str, str]) -> Dict[str, str]:
# retourner maintenant si la version est déjà la dernière
if version_read >= 2:
return {}
section = data_read.get("section")
option = data_read.get("option")
# renommer la section "abc" en "def"
if section and not option and section == "abc":
data_read["section"] = "def"
return data_read
# limiter les autres changements Ă  la section "test"
if not section or not option or section != "test":
return {}
# renommer l'option "test1" en "test2"
if option == "test1":
data_read["option"] = "test2"
return data_read
# définir la valeur à "xxx" pour l'option "test"
if option == "test":
data_read["value"] = "xxx"
return data_read
# définir la valeur à NULL pour l'option "test_null"
if option == "test_null":
data_read["value_null"] = "1"
return data_read
# aucun changement
return {}
config_file = weechat.config_new("test", "", "")
weechat.config_set_version(config_file, 2, "my_config_update_cb", "")
weechat.config_read(config_file)
----
==== config_new_section
_Mis Ă  jour dans la 1.5._
@@ -7040,7 +7234,7 @@ option5 = weechat.config_new_option(config_file, section, "option5", "color",
En Ruby, les 3 fonctions de rappel + "data" (6 chaînes) doivent être données
dans un tableau de 6 chaînes de caractères (en raison d'une limitation de Ruby
à 15 paramètres par fonction), voir le
link:++weechat_scripting.fr.html#_ruby++[Guide pour scripts WeeChat ^↗^,window=_blank]
link:++weechat_scripting.fr.html#_ruby++[Guide pour scripts WeeChat ^↗^^]
pour plus d'infos _(corrigé dans la version 0.4.1)_.
==== config_search_option
@@ -9144,7 +9338,7 @@ Paramètres :
étiquette)
* _message_ : message à afficher
Voir le link:weechat_user.fr.html#lines_tags[Guide utilisateur WeeChat / Étiquettes des lignes ^↗^,window=_blank]
Voir le link:weechat_user.fr.html#lines_tags[Guide utilisateur WeeChat / Étiquettes des lignes ^↗^^]
pour une liste des étiquettes couramment utilisées dans WeeChat.
Exemple en C :
@@ -9431,7 +9625,7 @@ complètera avec les valeurs suivantes dans les paramètres de commande :
Les codes complétions par défaut sont :
include::includes/autogen_api_completions.fr.adoc[tag=completions]
include::{autogendir}/autogen_api_completions.fr.adoc[tag=completions]
Codes spéciaux :
@@ -9971,7 +10165,7 @@ d'une commande externe).
[TIP]
Si vous souhaitez récupérer des infos à propos de WeeChat (comme la version
stable actuelle, le dernier commit git, etc.), vous pouvez utiliser les URLs
sur https://weechat.org/dev/info/[cette page ^↗^,window=_blank].
sur https://weechat.org/dev/info/[cette page ^↗^^].
[NOTE]
La taille du tampon pour l'envoi des données à la fonction de rappel est de
@@ -10171,7 +10365,7 @@ sont disponibles :
Pour la commande "url:...", les options suivantes sont disponibles (voir
`+man curl_easy_setopt+` pour une description de chaque option) :
include::includes/autogen_api_url_options.fr.adoc[tag=url_options]
include::{autogendir}/autogen_api_url_options.fr.adoc[tag=url_options]
[NOTE]
^(1)^ Pour les options avec le type "mask", le format est :
@@ -12399,6 +12593,18 @@ Liste des modificateurs utilisés par WeeChat et les extensions :
|===
| Modificateur | WeeChat mini | Données du modificateur | Chaîne | Sortie
| [[hook_modifier_irc_batch]] irc_batch | 4.0.0
| Nom de serveur + "," + type de batch + "," + paramètres du batch
| Contenu de plusieurs messages, séparés par un caractère de retour chariot ("\n").
| Nouveau contenu des messages (le nombre peut être différent), une chaîne vide
annule tous les messages du batch.
| [[hook_modifier_irc_cap_sync_req]] irc_cap_sync_req | 4.0.0
| Nom de serveur + "," + capacités supportées par le serveur (séparées par
des espaces)
| Capacités à demander (séparées par des espaces).
| Nouveau contenu des capacités à demander (séparées par des espaces).
| [[hook_modifier_irc_in_xxx]] irc_in_xxx ^(1)^ |
| Nom de serveur
| Contenu du message reçu du serveur IRC (avant décodage du jeu de caractères). +
@@ -12425,6 +12631,23 @@ Liste des modificateurs utilisés par WeeChat et les extensions :
(pour tenir dans les 512 octets par défaut).
| Nouveau contenu du message.
| [[hook_modifier_relay_client_irc_in]] relay_client_irc_in | 4.0.0
| Chaîne avec un pointeur vers le client relay (par exemple : "0x1234abcd")
| Contenu du message reçu du client relay IRC.
| Nouveau contenu du message.
| [[hook_modifier_relay_client_irc_out1]] relay_client_irc_out1 | 4.0.0
| Chaîne avec un pointeur vers le client relay (par exemple : "0x1234abcd")
| Contenu du message qui va être envoyé au client relay IRC avant découpage automatique
(pour tenir dans les 512 octets par défaut).
| Nouveau contenu du message.
| [[hook_modifier_relay_client_irc_out]] relay_client_irc_out | 4.0.0
| Chaîne avec un pointeur vers le client relay (par exemple : "0x1234abcd")
| Contenu du message qui va être envoyé au client relay IRC après découpage automatique
(pour tenir dans les 512 octets par défaut).
| Nouveau contenu du message.
| [[hook_modifier_bar_condition_yyy]] bar_condition_yyy ^(2)^ |
| Chaîne avec un pointeur vers la fenêtre (par exemple : "0x1234abcd")
| Chaîne vide.
@@ -12588,13 +12811,13 @@ utilisés :
| -
| Toute chaîne.
| Chaîne avec la valeur de l'étiquette IRC échappée,
voir https://ircv3.net/specs/extensions/message-tags#escaping-values[cette page ^↗^,window=_blank].
voir https://ircv3.net/specs/extensions/message-tags#escaping-values[cette page ^↗^^].
| [[hook_modifier_irc_tag_unescape_value]] irc_tag_unescape_value | 3.3
| -
| Toute chaîne.
| Chaîne avec la valeur de l'étiquette IRC sans échappements,
voir https://ircv3.net/specs/extensions/message-tags#escaping-values[cette page ^↗^,window=_blank].
voir https://ircv3.net/specs/extensions/message-tags#escaping-values[cette page ^↗^^].
| [[hook_modifier_color_decode_ansi]] color_decode_ansi | 1.0
| "1" pour garder les couleurs, "0" pour les supprimer
@@ -13089,6 +13312,9 @@ valeurs sont de type "string") :
| _chat_line_message | Message de la ligne.
| "Hello world!" | ""
| _chat_focused_line | Ligne à la position (x,y) _(WeeChat ≥ 4.0.0)_.
| "Hello world!" | ""
| _chat_word | Mot Ă  la position (x,y).
| "Hello" | ""
@@ -14084,10 +14310,12 @@ Propriétés :
"1" : ne pas arrêter la complétion lorsque la ligne de commande est mise à
jour (option globale, le pointeur vers le tampon n'est pas utilisé).
| unread | | chaîne vide ou "0"
| chaîne vide : définit le marqueur de données non lues après la dernière ligne
du tampon +
"0" : supprime le marqueur de données non lues du tampon.
| unread | | chaîne vide, "0", "+N", "-N" ou "N" (N est un entier)
| chaîne vide : définir le marqueur de données non lues après la dernière ligne du tampon +
"0" : supprimer le marqueur de données non lues du tampon +
"N" : déplacer le marqueur de données non lues de N lignes depuis la fin vers la première ligne du tampon +
"-N" : déplacer le marqueur de données non lues de N lignes vers la première ligne du tampon +
"+N" : déplacer le marqueur de données non lues de N lignes vers la dernière ligne du tampon.
| display | | "1" ou "auto"
| "1" : basculer vers ce tampon dans la fenêtre active +
@@ -14386,7 +14614,7 @@ str = weechat.buffer_string_replace_local_var(my_buffer, "test avec $toto")
==== buffer_match_list
_WeeChat ≥ 0.3.5._
_WeeChat ≥ 0.3.5, mis à jour dans la 4.0.0._
Vérifier si le tampon correspond à la liste de tampons.
@@ -14405,6 +14633,9 @@ Paramètres :
** un nom commençant par `+!+` est exclu
** le caractère joker `+*+` est autorisé dans le nom
[NOTE]
Depuis la version 4.0.0, la comparaison des noms de tampons est sensible Ă  la casse.
Valeur de retour :
* 1 si le tampon correspond Ă  la liste de tampons, 0 sinon
@@ -14418,7 +14649,7 @@ if (buffer)
{
weechat_printf (NULL, "%d", weechat_buffer_match_list (buffer, "*")); /* 1 */
weechat_printf (NULL, "%d", weechat_buffer_match_list (buffer, "*,!*#weechat*")); /* 0 */
weechat_printf (NULL, "%d", weechat_buffer_match_list (buffer, "irc.libera.*")); /* 1 */
weechat_printf (NULL, "%d", weechat_buffer_match_list (buffer, "irc.libera.*")); /* 1 */
weechat_printf (NULL, "%d", weechat_buffer_match_list (buffer, "irc.oftc.*,python.*")); /* 0 */
}
----
@@ -14435,7 +14666,7 @@ buffer = weechat.buffer_search("irc", "libera.#weechat")
if buffer:
weechat.prnt("", "%d" % weechat.buffer_match_list(buffer, "*")) # 1
weechat.prnt("", "%d" % weechat.buffer_match_list(buffer, "*,!*#weechat*")) # 0
weechat.prnt("", "%d" % weechat.buffer_match_list(buffer, "irc.libera.*")) # 1
weechat.prnt("", "%d" % weechat.buffer_match_list(buffer, "irc.libera.*")) # 1
weechat.prnt("", "%d" % weechat.buffer_match_list(buffer, "irc.oftc.*,python.*")) # 0
----
@@ -15750,7 +15981,7 @@ bar = weechat.bar_search("mybar")
==== bar_new
_Mis Ă  jour dans la 2.9._
_Mis Ă  jour dans la 2.9, 4.0.0._
Créer une nouvelle barre.
@@ -15792,7 +16023,7 @@ Paramètres :
** _nicklist_ : la barre est affichée dans les fenêtres possédant une liste des
pseudos
** expression évaluée : voir le
link:weechat_user.fr.html#bar_conditions[Guide utilisateur WeeChat / Conditions de barres ^↗^,window=_blank]
link:weechat_user.fr.html#bar_conditions[Guide utilisateur WeeChat / Conditions de barres ^↗^^]
* _position_ : _top_ (en haut), _bottom_ (en bas), _left_ (à gauche) ou _right_
(Ă  droite)
* _filling_top_bottom_ :
@@ -15830,26 +16061,19 @@ Valeur de retour :
* pointeur vers la nouvelle barre, NULL en cas d'erreur
[NOTE]
Depuis la version 4.0.0, si la barre existe déjà, WeeChat définit les valeurs
reçues comme valeurs par défaut des options de la barre et retourne le pointeur
vers la barre au lieu de NULL.
Exemple en C :
[source,c]
----
struct t_gui_bar *my_bar = weechat_bar_new ("mybar",
"off",
"100",
"window",
"",
"top",
"horizontal",
"vertical",
"0",
"5",
"default",
"cyan",
"blue",
"darkgray",
"off",
"time,buffer_number+buffer_name");
struct t_gui_bar *my_bar = weechat_bar_new (
"mybar", "off", "100", "window", "", "top", "horizontal", "vertical",
"0", "5", "default", "cyan", "blue", "darkgray", "off",
"time,buffer_number+buffer_name");
----
Script (Python) :
@@ -15871,7 +16095,7 @@ bar = weechat.bar_new("mybar", "off", "100", "window", "", "top", "horizontal",
Avec WeeChat ≥ 2.9, en Ruby, les 4 couleurs (color_fg, color_delim, color_bg,
color_bg_inactive) doivent être données dans un tableau de 4 chaînes de caractères
(en raison d'une limitation de Ruby à 15 paramètres par fonction), voir le
link:++weechat_scripting.fr.html#_ruby++[Guide pour scripts WeeChat ^↗^,window=_blank]
link:++weechat_scripting.fr.html#_ruby++[Guide pour scripts WeeChat ^↗^^]
pour plus d'infos.
==== bar_set
@@ -16455,7 +16679,7 @@ Avec WeeChat ≥ 2.5, la valeur retournée est une chaîne allouée
Infos :
include::includes/autogen_api_infos.fr.adoc[tag=infos]
include::{autogendir}/autogen_api_infos.fr.adoc[tag=infos]
Exemple en C :
@@ -16512,11 +16736,12 @@ Paramètres :
Valeur de retour :
* table de hachage avec l'information demandée, NULL en cas d'erreur
* table de hachage avec l'information demandée, NULL en cas d'erreur (doit être
supprimée par un appel à <<_hashtable_free,hashtable_free>> après utilisation)
Infos :
include::includes/autogen_api_infos_hashtable.fr.adoc[tag=infos_hashtable]
include::{autogendir}/autogen_api_infos_hashtable.fr.adoc[tag=infos_hashtable]
Exemple en C :
@@ -16564,7 +16789,7 @@ if (hashtable_in)
----
[NOTE]
Voir le link:weechat_scripting.fr.html#irc_message_parse[Guide pour scripts WeeChat / Analyser un message ^↗^,window=_blank]
Voir le link:weechat_scripting.fr.html#irc_message_parse[Guide pour scripts WeeChat / Analyser un message ^↗^^]
pour plus d'infos sur la sortie de "irc_message_parse".
Script (Python) :
@@ -16917,7 +17142,7 @@ Valeur de retour :
Infolists :
include::includes/autogen_api_infolists.fr.adoc[tag=infolists]
include::{autogendir}/autogen_api_infolists.fr.adoc[tag=infolists]
Exemple en C :
@@ -17684,7 +17909,7 @@ Valeur de retour :
Liste des hdata :
include::includes/autogen_api_hdata.fr.adoc[tag=hdata]
include::{autogendir}/autogen_api_hdata.fr.adoc[tag=hdata]
Exemple en C :
@@ -18233,7 +18458,7 @@ Paramètres :
* _search_ : expression à évaluer, le pointeur par défaut dans l'expression est
le nom du hdata (et ce pointeur change pour chaque élément dans la liste);
pour l'aide sur l'expression, voir le
link:weechat_user.fr.html#command_weechat_eval[Guide utilisateur WeeChat / Commande /eval ^↗^,window=_blank]
link:weechat_user.fr.html#command_weechat_eval[Guide utilisateur WeeChat / Commande /eval ^↗^^]
* _pointers_ : table de hachage pour l'appel à la fonction
<<_string_eval_expression,string_eval_expression>>
* _extra_vars_ : table de hachage pour l'appel à la fonction
+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[]
-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 | Nome | Descrizione | Argomenti
| fifo | fifo_filename | nome della pipe FIFO | -
| 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 | ottiene puntatore al buffer per un server/canale/nick IRC | server,canale,nick (canale e nick sono opzionali)
| irc | irc_is_channel | 1 se la stringa è il nome di un canale IRC valido per il server | server,canale (server è opzionale)
| 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 se la stringa è un nick IRC valido | server,nickname (server is optional)
| irc | irc_nick | ottiene nick corrente su un server | nome server
| irc | irc_nick_color | get nick color code (*deprecated* since version 1.5, replaced by "nick_color") | nick
| irc | irc_nick_color_name | get nick color name (*deprecated* since version 1.5, replaced by "nick_color_name") | nick
| irc | irc_nick_from_host | ottiene nick dall'host IRC | host IRC (come `:nick!nome@server.com`)
| irc | irc_server_isupport | 1 se il server supporta questa caratteristica (dal messaggio IRC 005) | server,caratteristica
| irc | irc_server_isupport_value | valore della caratteristica, se supportata dal servre (dal messaggio IRC 005) | server,caratteristica
| 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 | elenco separato da virgole di dizionari usati nel 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 | set caratteri interno di WeeChat | -
| weechat | charset_terminal | set caratteri terminale | -
| 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 se la modalità cursore è abilitata | -
| weechat | date | WeeChat compilation date/time | -
| weechat | dir_separator | separatore directory | -
| weechat | filters_enabled | 1 se i filtri sono abilitati | -
| weechat | inactivity | inattivitĂ  della tastiera (secondi) | -
| weechat | locale | locale usato per la traduzione dei messaggi | -
| weechat | nick_color | ottiene il codice del colore del nick | 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 | ottiene il nome del colore del nick | 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 | versione di WeeChat | -
| weechat | version_git | Versione git di weechat (output del comando "git describe" solo per la versione di sviluppo, vuoto per una release stabile) | -
| weechat | version_number | versione di WeeChat (come numero) | -
| 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 | directory "lib" di WeeChat | -
| weechat | weechat_localedir | directory "locale" di WeeChat | -
| weechat | weechat_runtime_dir | WeeChat runtime directory | -
| weechat | weechat_sharedir | directory "share" di WeeChat | -
| weechat | weechat_site | sito di WeeChat | -
| weechat | weechat_site_download | sito di WeeChat, pagina di download | -
| weechat | weechat_upgrading | 1 se si sta aggiornando WeeChat (comando `/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 | Nome | Descrizione | Tabella hash (input) | Tabella hash (output)
| irc | irc_message_parse | controlla un messaggio IRC | "message": messaggio IRC, "server": nome server (opzionale) | "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": messaggio IRC, "server": nome server (opzionale) | "msg1" ... "msgN": messaggio da inviare (senza "\r\n" finale), "args1" ... "argsN": argomenti dei messaggi, "count": numero di messaggi
| 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 (4007)
. javascript (4006)
. lua (4005)
. perl (4004)
. php (4003)
. python (4002)
. ruby (4001)
. tcl (4000)
. script (3000)
. fset (2000)
// end::plugins_priority[]
@@ -1,436 +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"]
|===
| Opzione | Tipo ^(1)^ | Costanti ^(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 |
| protocols | mask | http, https, ftp, ftps, scp, sftp, telnet, ldap, ldaps, dict, file, tftp, all, imap, imaps, pop3, pop3s, smtp, smtps, rtsp, rtmp, rtmpt, rtmpe, rtmpte, rtmps, rtmpts, gopher, smb, smbs
| redir_protocols | mask | http, https, ftp, ftps, scp, sftp, telnet, ldap, ldaps, dict, file, tftp, all, imap, imaps, pop3, pop3s, smtp, smtps, rtsp, rtmp, rtmpt, rtmpe, rtmpte, rtmps, rtmpts, gopher, smb, smbs
| 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 |
| 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
| proxyauth | mask | none, basic, digest, ntlm, any, anysafe, digest_ie, only, ntlm_wb, negotiate, gssapi, bearer
| netrc_file | string |
| username | string |
| password | string |
| proxyusername | string |
| proxypassword | string |
| tlsauth_type | mask | none, srp
| tlsauth_username | string |
| tlsauth_password | string |
| sasl_ir | long |
| xoauth2_bearer | string |
| login_options | string |
| disallow_username_in_url | long |
| autoreferer | long |
| followlocation | long |
| put | 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
| 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 |
| mail_from | string |
| mail_rcpt | list |
| mail_auth | string |
| 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 |
| ftp_response_timeout | 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 |
| 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 |
| 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 |
| 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 |
| 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 |
| random_file | string |
| egdsocket | 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
| ssl_enable_alpn | long |
| ssl_enable_npn | 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
| 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 |
| 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 |
| new_file_perms | long |
| new_directory_perms | long |
| telnetoptions | list |
|===
// end::url_options[]
File diff suppressed because it is too large Load Diff

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