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

Compare commits

...

311 Commits

Author SHA1 Message Date
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
Sébastien Helleu 99988bdee7 Version 3.8-rc1 2023-01-02 14:27:21 +01:00
Sébastien Helleu 1daf145830 core: fix line wrapping in Polish translations 2023-01-02 14:20:44 +01:00
Sébastien Helleu 7baef6396d irc: properly rename private buffer on nick changes or private message when new nick is the same with different case 2023-01-02 14:17:20 +01:00
Sébastien Helleu c739026c87 irc: replace "private window" by "private buffer" in comments 2023-01-02 13:50:58 +01:00
Sébastien Helleu 33bba784c3 core: update copyright dates 2023-01-01 14:54:35 +01:00
Sébastien Helleu 1fb6d52984 tests: add tests on gui input functions 2023-01-01 14:41:06 +01:00
Sébastien Helleu 727c465911 core: check that buffer is not NULL in function gui_input_clipboard_copy 2023-01-01 14:39:38 +01:00
Sébastien Helleu 73bac5491b core: move function gui_input_move_to_buffer to gui-buffer.c 2022-12-31 10:40:00 +01:00
Sébastien Helleu 05839983d4 core: fix color when the delimiter is not followed by a background color (closes #1867) 2022-12-30 21:50:18 +01:00
Sébastien Helleu 6c59b0830c doc: update Polish auto-generated files 2022-12-30 16:30:20 +01:00
Krzysztof Korościk 9f5a739428 core: updated Polish translation 2022-12-30 14:12:43 +01:00
Sébastien Helleu 81260ec854 doc: update German auto-generated file 2022-12-29 19:30:58 +01:00
Nils Görs d8cc91993f core: update German translations 2022-12-29 12:51:12 +01:00
Sébastien Helleu d878d2023a core: fix French translation of "read marker" 2022-12-29 12:05:21 +01:00
Sébastien Helleu fce2fcba4f core: add option weechat.look.chat_space_right (issue #1862) 2022-12-29 12:00:28 +01:00
Krzysztof Korościk 45fdcc2eb4 doc: updated polish translation 2022-12-28 17:44:46 +01:00
Sébastien Helleu 914f9e756b doc: update German auto-generated file 2022-12-28 10:27:44 +01:00
Nils Görs 7d94fba9ac core: update German translations 2022-12-28 10:25:31 +01:00
Sébastien Helleu e58b57fe4c doc: update German auto-generated files 2022-12-26 23:43:28 +01:00
Nils Görs 0e6058f8cd core: update German translations 2022-12-26 13:41:24 +01:00
Nils Görs 98bc80924c core: update German translations 2022-12-26 13:32:56 +01:00
Sébastien Helleu 45638dca23 core: allow value "0" in buffer property "unread" to remove read marker from buffer 2022-12-26 01:27:45 +01:00
Sébastien Helleu 56055de12e doc/api: fix formatting of return value in char/string comparison functions 2022-12-26 00:55:30 +01:00
Sébastien Helleu 5a27805cf3 core: reorder entries in ChangeLog 2022-12-25 23:05:22 +01:00
Dawid Dziurla 1639e60651 changelog: add entry about Ruby 3.2 detection 2022-12-25 23:03:24 +01:00
Dawid Dziurla 824812c7c0 ruby: add detection of Ruby 3.2 2022-12-25 23:03:24 +01:00
Sébastien Helleu 41fd26fe79 core: move /input buffer switch/zoom actions to command /buffer
Actions moved:

* `/input switch_active_buffer` -> `/buffer switch`
* `/input switch_active_buffer_previous` -> `/buffer switch -previous`
* `/input zoom_merged_buffer` -> `/buffer zoom`
2022-12-25 22:47:18 +01:00
Sébastien Helleu 0c29d4c5b6 core: move /input set_unread actions to commands /allbuf and /buffer set
Actions moved:

* `/input set_unread` -> `/allbuf /buffer set unread`
* `/input set_unread_current_buffer` -> `/buffer set unread`
2022-12-25 21:44:27 +01:00
Sébastien Helleu 2c238e08ff core: add command /allbuf 2022-12-25 21:23:14 +01:00
Sébastien Helleu 2ad6f2f3d5 api: do not check hotlist add conditions when adding buffer in hotlist with function buffer_set 2022-12-25 20:35:10 +01:00
Sébastien Helleu a9094fd2fa core: add option add in command /hotlist 2022-12-25 19:40:57 +01:00
Sébastien Helleu b3e4a91760 core: fix typo in comment 2022-12-25 19:07:39 +01:00
Sébastien Helleu babe1e7a42 core: move /input hotlist actions to new command /hotlist
Actions moved to command `/hotlist`:

* `/input hotlist_clear` -> `/hotlist clear`
* `/input hotlist_remove_buffer` -> `/hotlist remove`
* `/input hotlist_restore_buffer` -> `/hotlist restore`
* `/input hotlist_restore_all` -> `/hotlist restore -all`
2022-12-25 18:50:57 +01:00
Sébastien Helleu 574a4c8834 core: add function gui_buffer_jump_last_visible_number 2022-12-25 17:57:59 +01:00
Sébastien Helleu c9796a3141 core: move /input jump actions to command /buffer jump
Actions moved to command `/buffer jump`:

* `/input jump_smart` -> `/buffer jump smart`
* `/input jump_previously_visited_buffer` -> `/buffer jump prev_visited`
* `/input jump_next_visited_buffer` -> `/buffer jump next_visited`
* `/input jump_last_buffer_displayed` -> `/buffer jump last_displayed`
2022-12-25 17:00:37 +01:00
Sébastien Helleu 9bd6cbf4bd core: fix style in ChangeLog and release notes 2022-12-25 16:53:30 +01:00
Sébastien Helleu 445b522498 core: fix typo in comment 2022-12-25 15:06:03 +01:00
Sébastien Helleu f5135277af core: remove useless conditions 2022-12-24 19:40:53 +01:00
Sébastien Helleu 21f3575016 api: add functions string_strcmp and string_strncmp 2022-12-24 18:29:35 +01:00
Sébastien Helleu 0dd1d4133b doc/api: mention "UTF-8" in char/string comparison functions 2022-12-24 17:52:31 +01:00
Sébastien Helleu a67556907d api: rename char comparison functions "utf8_char*" to "string_char*" 2022-12-24 17:33:22 +01:00
Sébastien Helleu 083032972d api: return arithmetic difference between chars in string comparison functions
Return code is changed for the following functions:

- string_strcasecmp
- string_strcasecmp_range
- string_strncasecmp
- string_strncasecmp_range
- string_strcmp_ignore_chars
- utf8_charcmp
- utf8_charcasecmp
- utf8_charcasecmp_range
2022-12-24 16:25:20 +01:00
Sébastien Helleu 5fc656a1b8 api: fix function strcmp_ignore_chars with case sensitive comparison and wide chars starting with the same byte 2022-12-23 23:20:29 +01:00
Sébastien Helleu 91149f0acc core: fix typo in French translation of /help input 2022-12-22 20:56:50 +01:00
Sébastien Helleu 68b510517e core: improve case convert and insensitive char comparisons (closes #258)
All lowercase letters are now properly converted to uppercase letters (and vice
versa), via functions `towupper` and `towlower`.

Functions `string_tolower`, `string_toupper` and `utf8_charcasecmp` have been
optimized to be faster when there are ASCII chars (< 128); functions are about
25-40% faster with mixed chars (both ASCII and multi-bytes).

Function `utf8_wide_char` has been removed, `utf8_char_int` can be used
instead.
2022-12-21 20:49:09 +01:00
Sébastien Helleu 95286c1eb3 core: remove unneeded casts 2022-12-19 13:01:33 +01:00
Sébastien Helleu 267313304e irc: fix calls to weechat_string_toupper 2022-12-19 11:18:59 +01:00
Sébastien Helleu 33b6adc3d3 core: fix call to string_toupper 2022-12-19 11:18:49 +01:00
Sébastien Helleu 56436e57fd spell: return directly output of string_dyn_free without temporary variable 2022-12-19 07:07:12 +01:00
Sébastien Helleu 5df4126c75 irc: return directly output of string_dyn_free without temporary variable 2022-12-19 07:06:01 +01:00
Sébastien Helleu 42113ebc0f core: return directly output of string_dyn_free without temporary variable 2022-12-19 07:04:33 +01:00
Sébastien Helleu 40339b288a api: return newly allocated string in functions string_tolower and string_toupper 2022-12-18 14:28:58 +01:00
Sébastien Helleu eb6cc0bc2a core: return number of bytes for UTF-8 char in function utf8_int_string 2022-12-18 14:13:14 +01:00
Sébastien Helleu 6aedddd351 tests: add tests on function gui_input_delete_next_word 2022-12-18 14:13:14 +01:00
Sébastien Helleu 9b917ccace tests: add tests on function gui_input_delete_range 2022-12-18 14:13:14 +01:00
Sébastien Helleu 99c453ee23 tests: add tests on gui delete previous/next char functions 2022-12-18 14:13:14 +01:00
Sébastien Helleu d2f447dafc tests: add extra tests on function gui_input_set_pos 2022-12-18 14:13:14 +01:00
Sébastien Helleu 3ef8241444 tests: add tests on gui input completion functions 2022-12-18 14:13:14 +01:00
Sébastien Helleu dd9ae79204 core: remove unused argument "pos" from function gui_input_insert_string, add tests on function 2022-12-18 14:13:14 +01:00
Sébastien Helleu f03384d124 core: simplify gui input functions by returning immediately if condition not met 2022-12-17 22:22:15 +01:00
Sébastien Helleu fb31cf663e irc: do not join channels in server autojoin option after reconnection to the server (closes #560, bug #21529) 2022-12-17 12:55:39 +01:00
Sébastien Helleu 122a0f8097 doc: update German auto-generated file 2022-12-14 23:44:41 +01:00
Nils Görs 32496d1705 core: update German translations 2022-12-14 22:38:45 +01:00
Trygve Aaberge dc8a35796a doc/api: Improve python example for config_new_section
This updates the Python examples to include all the possible return
values for the callbacks in config_new_section, like it is done in the C
example. It also aligns the order of the values with the C example.
2022-12-11 15:33:11 +01:00
Trygve Aaberge abdabb3ae4 doc/api: Fix return values for callback_read in config_new_section
These return values were wrong in the description and C example. As can
be seen on lines 2835 and 2873-2903 of src/core/wee-config-file.c the
callback_read function should return the same as the function
config_file_option_set plus the value
WEECHAT_CONFIG_OPTION_SET_OPTION_NOT_FOUND (which is also the same as
the possible return values of config_file_option_set_with_string).

The Python example was already correct and the C example was already
correct in the other languages apart from English.

These errors were introduced in commit 02e2b21d3 and commit 5210ff1ae.
2022-12-11 15:33:11 +01:00
Sébastien Helleu a1b6d9622f core: add contributor (issue #1859) 2022-12-11 15:25:13 +01:00
Sébastien Helleu 20b061a89a core: update ChangeLog (issue #1859) 2022-12-11 15:17:38 +01:00
Ryan Qian 1316f3eb6d cmake: add support of compiling with enchant-2 for the Spell plugin 2022-12-11 15:16:23 +01:00
Sébastien Helleu a0e5e2a375 core: update ChangeLog (issue #1843) 2022-12-11 15:15:50 +01:00
Trygve Aaberge ebc63d1b83 scripts: Send null values to config section callbacks
The callback_read and callback_create_option functions in the scripting
APIs always get the value as a string, never as null. This means that if
the value is null, there is no way for the script to distinguish this
from an empty string for string options. This makes it impossible to
properly make options with fallback values, like the irc server and
server_default options, as far as I can see.

All the scripting languages except Tcl use that language's equivalent
for null. For JavaScript which has both null and undefined, null is
used. For Tcl, the magic null string defined in commit 197a7a01e is used
and the documentation is updated to describe that.

I tested this with these scripts:
https://gist.github.com/trygveaa/2d49c609addf9773d2ed16e15d1e3447

You can load all of those scripts and see the result with this command
(assuming you have the scripts in the current directory):

    weechat -t -r "/filter add script * * script; /script load $(echo script_config.*)"
2022-12-11 15:13:31 +01:00
Sébastien Helleu 1bfc8b9cf8 trigger: fix variables sent to focus callback (closes #1858)
This fixes a regression introduced in WeeChat 3.7 by commit
0f67f55098.
2022-12-10 22:30:24 +01:00
Sébastien Helleu 18c9ade580 core: add whole string information in /debug unicode 2022-12-10 17:32:09 +01:00
Sébastien Helleu 5b9b1e175b core: add color attributes "blink" and "dim" (half bright) (closes #1855) 2022-12-10 16:37:03 +01:00
Sébastien Helleu 9b93919b06 core: update ChangeLog (closes #1659, closes #1669, closes #1770) 2022-12-10 16:20:23 +01:00
Sébastien Helleu 7313859bdf core: update translations 2022-12-10 16:12:23 +01:00
Sébastien Helleu ef842c5e62 core: fix function string_cut when there are non printable chars in suffix 2022-12-10 16:05:14 +01:00
Sébastien Helleu f1cfd6f73f core: do not display non printable chars, fix function utf8_char_size_screen
Now the function utf8_char_size_screen can return -1 when the char is not
printable.

It has a specific behavior for some chars:

- U+0009: value of option weechat.look.tab_width
- U+0001 to U+001F (except U+0009): 1
- U+00AD (soft hyphen): -1
- U+200B (zero width space): -1
2022-12-10 16:05:14 +01:00
Sébastien Helleu d18f68e497 core: display chars < 32 with a letter/symbol and reverse video attribute in chat 2022-12-10 16:05:14 +01:00
Sébastien Helleu 6ac730cd0b core: toggle reverse video attribute in bars for chars < 32 only if not already enabled 2022-12-10 16:05:14 +01:00
Sébastien Helleu f63dba67f2 core: expand tabulations as spaces in bars 2022-12-10 16:05:14 +01:00
Sébastien Helleu 855d80702e core: replace call to memcpy by utf8_strncpy 2022-12-10 16:05:14 +01:00
Sébastien Helleu 71ae8f1907 api: add function utf8_strncpy 2022-12-10 16:05:14 +01:00
Sébastien Helleu e5cbbd781d core: optimize and fix function utf8_strlen_screen with non printable chars
When there non printable chars, the return of the function was 1.
For example utf8_strlen_screen("abc\x01") now returns 4 instead of 1.

In addition the function has been optimized to not use the `mbstowcs` function
which is slow; result is up to 15% faster.
2022-12-10 16:05:14 +01:00
Sébastien Helleu 0e6677fbcb core: add result of utf8_char_size_screen in /debug unicode 2022-12-10 16:05:14 +01:00
Sébastien Helleu 6cfc01aa53 doc: update Serbian auto-generated files 2022-12-05 21:00:48 +01:00
Ivan Pešić c6f5c3feaa Update Serbian translation
Documentation and messages translation update
2022-12-05 21:00:00 +01:00
Sébastien Helleu 55569c182a core: display hex codepoint before integer codepoint in /debug unicode 2022-12-03 10:15:18 +01:00
Sébastien Helleu f7f13352d7 core: remove useless call to mbstowcs in function debug_unicode_char 2022-12-03 10:14:30 +01:00
Sébastien Helleu bbd0f5d26b tests: define constants with UTF-8 strings, add tests on functions returning size on screen 2022-11-27 12:29:36 +01:00
Sébastien Helleu e08fcdd04c doc: update German auto-generated file 2022-11-22 18:41:42 +01:00
Nils Görs 894b5e21ed core: update German translations 2022-11-22 10:08:50 +01:00
Sébastien Helleu baab9cc7c5 core: add option unicode in command /debug 2022-11-21 20:45:41 +01:00
Sébastien Helleu a8639969c5 core: reorder sub-commands in /debug command callback 2022-11-20 13:55:21 +01:00
Sébastien Helleu 8d40273111 core: fix typo in comment 2022-11-20 09:33:40 +01:00
Sébastien Helleu b636f55b8b trigger: properly initialize variable "value" to NULL 2022-11-19 20:29:02 +01:00
Sébastien Helleu 11a5e0a627 ci: install guile-3.0-dev instead of guile-2.2-dev 2022-11-19 20:27:57 +01:00
Sébastien Helleu ea9c3b2218 debian: change dependency guile-2.2-dev to guile-3.0-dev 2022-11-19 19:05:25 +01:00
Sébastien Helleu bab73cfaa5 core: add identifier in buffer lines (closes #901)
For buffers with formatted content, the "id" starts to 0 on each buffer and is
incremented on each new line displayed (it is reset to 0 if reaching INT_MAX).

For buffers with free content, the "id" is set to the same value as "y" (ie the
line number, starting to 0).
2022-11-11 09:42:20 +01:00
Sébastien Helleu 8c44dc53eb doc/api: add missing note after list of signals 2022-11-09 08:15:30 +01:00
Sébastien Helleu 70998a53de doc/user: add missing supported format for trigger regex 2022-11-09 08:12:54 +01:00
Sébastien Helleu 6962d2ccd5 doc: update German auto-generated file 2022-11-08 20:36:33 +01:00
Sébastien Helleu 24665ae878 core: add signals "buffer_user_{input|closing}_xxx" for buffers created with /buffer add (closes #1848) 2022-11-08 20:34:04 +01:00
Nils Görs 2e4a033f0d doc: update German documentation 2022-11-07 13:21:12 +01:00
Nils Görs f95eb08201 core: update German translations 2022-11-07 13:02:46 +01:00
Sébastien Helleu 55b5549054 trigger: display failing regex in trigger creation error 2022-11-06 09:14:18 +01:00
Sébastien Helleu f18b96bb59 core: update translations 2022-11-06 09:14:18 +01:00
Sébastien Helleu b2605902db trigger: use explicit command "s" in regex of default triggers 2022-11-06 09:14:18 +01:00
Sébastien Helleu 39561b9146 core: add release notes about new trigger regex format 2022-11-06 09:14:18 +01:00
Sébastien Helleu 7555993bbc trigger: add regex command "y" to translate chars, set default regex command to "s" (regex replace) (closes #1510) 2022-11-06 09:14:14 +01:00
Sébastien Helleu 3b674a5e16 tests: add another test on function string_translate_chars 2022-11-05 22:34:39 +01:00
Sébastien Helleu 196a051141 core: add range of chars in evaluation of expressions with chars:xxx 2022-11-05 22:34:38 +01:00
Sébastien Helleu bc2fb071e2 api: add function string_translate_chars 2022-11-05 22:34:38 +01:00
Trygve Aaberge 03899e5ea5 doc: Fix typo in highlight_disable_regex option name
The section describes highlight_disable_regex, but the example used
highlight_regex instead.
2022-11-05 21:37:25 +01:00
Sébastien Helleu a70c626c11 core: update ChangeLog (issue #1844) 2022-10-23 19:04:32 +02:00
Trygve Aaberge 6f1635ae4e core: Prevent use of uninitialized memory when setting invalid color
If a color option value is null and is tried being set to an invalid
color, the value was set to uninitialized memory which can lead to a
segfault.

Can be reproduced with this script:
https://gist.github.com/trygveaa/6ddb3a52f525a7fd8e0908bafa83e07c

The option doesn't have to be set from a script, it also happens with
the /set command.
2022-10-23 19:00:29 +02:00
Sébastien Helleu 09839150a8 doc: remove extra "#" before hex color 2022-10-22 21:51:48 +02:00
Sébastien Helleu fd526e38a3 debian: update changelog 2022-10-22 21:49:30 +02:00
Sébastien Helleu 133a424178 core: add version 3.7.1 2022-10-21 14:41:38 +02:00
Nils Görs 68f605594c doc: update German documentation 2022-10-20 23:44:37 +02:00
Sébastien Helleu cf5a9a0db5 trigger: execute trigger command on appropriate buffer (closes #1841)
This affects the following hook types:

- command
- command_run
- line
- modifier
- print

This fixes a regression introduced in WeeChat 3.7 by commit
0f67f55098.
2022-10-20 20:19:37 +02:00
Sébastien Helleu 693c5e64a7 doc/faq: remove mention of obsolete WeeChat versions 2022-10-19 23:40:12 +02:00
Sébastien Helleu 4d645fcdc9 doc: fix language in links to other docs 2022-10-19 21:33:16 +02:00
Sébastien Helleu d79b106361 python: remove functions defined for Python < 2.6 2022-10-16 09:00:37 +02:00
Sébastien Helleu 319abf4fd0 python: remove support of Python 2.x 2022-10-15 22:56:06 +02:00
Sébastien Helleu 7a544d5fcf tests: ignore pylint error unnecessary-pass 2022-10-15 22:01:33 +02:00
Sébastien Helleu 56dbd871ea api: do not expect any return value in callbacks change/delete of config_new_option (scripting API) 2022-10-15 21:46:00 +02:00
Sébastien Helleu a1057c9a03 tests: add tests on config functions (scripting API) 2022-10-15 21:31:45 +02:00
Trygve Aaberge ec11126246 python: Fix return types for config option callbacks
I erroneously typed the return types for these to int in commit
e0c117e14, but they should be None.
2022-10-14 23:00:33 +02:00
Sébastien Helleu f9dd5ee89b core: add contributor (issue #1836) 2022-10-14 22:48:49 +02:00
Sébastien Helleu e3bbe2b5be core: update ChangeLog 2022-10-14 22:47:39 +02:00
Latchezar Tzvetkoff 8765eb3b71 Allow terminal title to be left unchanged.
Fixes #1835.
2022-10-14 22:42:21 +02:00
Sébastien Helleu 6619c421aa irc: escape backslashes in raw buffer (closes #1838) 2022-10-12 21:43:03 +02:00
Sébastien Helleu 7d2e8b9143 core: allow command /toggle to create option before setting the value, if allowed in the section (closes #1837) 2022-10-12 21:29:38 +02:00
Sébastien Helleu f97b74cae8 core: fix context info in buffers with free content (closes #1832) 2022-10-10 20:24:58 +02:00
Trygve Aaberge 6096350618 python: Include script examples in function docstring
This makes it possible to see how functions are used without having to
go to the web page. It's especially useful to see the types of the
callback functions.
2022-10-09 19:01:16 +02:00
Sébastien Helleu 7122b46baf Version 3.8-dev 2022-10-09 08:34:22 +02:00
Sébastien Helleu 484f679e60 Version 3.7 2022-10-09 08:06:53 +02:00
Trygve Aaberge fdb1ff3781 tests: Use LONGS_EQUAL for version number tests
util_version_number returns an int, but BYTES_EQUAL only compares the
last byte of the int, so it wouldn't test the rest of the int.

I see other tests for functions returning an int use LONGS_EQUAL, so
that seems correct to use.
2022-10-08 18:13:00 +02:00
Sébastien Helleu 193aa0448f core: fix compilation warning on isdigit function 2022-10-08 12:18:09 +02:00
Sébastien Helleu 3932cf5a00 xfer: add missing include of netinet/in.h
This fixes compilation on FreeBSD 13.0.
2022-10-08 12:11:12 +02:00
Sébastien Helleu 8555cf465e debian: update changelog 2022-10-08 11:52:44 +02:00
Sébastien Helleu 11f0d57dfd debian: bump Standards-Version to 4.6.1.0 2022-10-08 11:52:14 +02:00
Nils Görs 1fd5dd4c34 doc: update German documentation 2022-10-06 15:02:08 +02:00
Sébastien Helleu 1fec7e8856 core: fix page scroll in bare display (closes #1830) 2022-10-05 20:33:35 +02:00
Trygve Aaberge 236d22e364 python: Include constant values in python stub
This is useful for two reasons:

1. When running unit tests for a script weechat needs to be mocked. By
   having the constant values available in the stub file, they can be
   loaded from that, instead of having to define the constants manually
   for the mock.

2. If you log a constant value you have to look up what it means. This
   makes it easier, in the same vein as PR #1824.
2022-10-02 20:25:17 +02:00
Sébastien Helleu 4d3a3c67ac irc: set local variable "filter" when doing /server raw xxx with raw buffer already opened (closes #1448) 2022-10-01 17:06:31 +02:00
Sébastien Helleu ae61137216 trigger: add variable ${tg_hook_type} (closes #1765) 2022-09-30 21:32:27 +02:00
Trygve Aaberge 6bb4bed8bb doc/api: Fix config_new_option types for non English docs
Only English was changed in commit 197a7a01e.
2022-09-30 07:53:37 +02:00
Sébastien Helleu 92cdcee8f6 api: change type of argument object_id in upgrade_new callback from string to integer (in scripts) 2022-09-29 21:38:04 +02:00
Sébastien Helleu b2b110f1a3 api: change type of argument remaining_calls in hook_timer callback from string to integer (in scripts) 2022-09-29 21:21:01 +02:00
Trygve Aaberge 89400cbf7a doc/api: Remove unnecessary cast in Python example
The highlight argument is already an int, so no point in casting it.
2022-09-29 17:13:19 +02:00
Trygve Aaberge e0c117e14f doc/api: Add types for Python callbacks 2022-09-29 17:13:19 +02:00
Sébastien Helleu b978de5f84 debian: remove ubuntu/xenial patch (distro not supported any more)
As zstd is too old in ubuntu/xenial (0.5.1 while min version is 0.8.1), this
distro is not supported any more.
2022-09-29 16:04:58 +02:00
Sébastien Helleu fd43ad6387 core: fix compilation with zstd < 1.4.0
Note: zstd ≥ 0.8.1 is now required to compile WeeChat.
2022-09-29 15:59:01 +02:00
Sébastien Helleu 009a7821b1 doc: update German auto-generated file 2022-09-29 11:07:38 +02:00
Nils Görs 5cfcec7212 doc: update German documentation 2022-09-29 11:06:13 +02:00
Nils Görs c6671fc9db core: update German translations 2022-09-29 11:04:56 +02:00
Sébastien Helleu 8295ea6da8 doc/user: remove tag "translation missing" in French user's guide 2022-09-29 09:47:50 +02:00
Sébastien Helleu 9817372553 doc/user: add chapter on log file rotation/compression 2022-09-29 09:46:43 +02:00
Sébastien Helleu 486df38a8d php: add missing arginfo_weechat_string_parse_size in legacy arginfo 2022-09-29 07:48:55 +02:00
Trygve Aaberge 76d4cc7e3f doc/api: Add values for hook_process constants
When logging this value I just see a number so I have to look up what it
means. Previously you would have to check the code or print the value of
each of these constants to see it. Seeing the value directly in the
documentation makes this much easier.
2022-09-28 21:42:21 +02:00
Sébastien Helleu 135960859d doc/api: add note about C API for constant WEECHAT_HOOK_PROCESS_CHILD (function hook_process) 2022-09-28 21:01:01 +02:00
Sébastien Helleu 9f62c4a842 doc/api: fix typo 2022-09-28 20:58:29 +02:00
Sébastien Helleu 7711ed95c5 logger: add options to rotate and compress log files (closes #314)
New options:

- logger.file.rotation_compression_level
- logger.file.rotation_compression_type
- logger.file.rotation_size_max
2022-09-28 20:52:59 +02:00
Sébastien Helleu 26e6fdc645 api: add function file_compress 2022-09-27 20:49:12 +02:00
Sébastien Helleu e7b6e8c60f api: restrict number to integer in function string_parse_size 2022-09-27 15:50:43 +02:00
Sébastien Helleu 4d74a89cfc api: add function string_parse_size 2022-09-27 15:50:43 +02:00
Nils Görs be6a29a596 doc: update German documentation 2022-09-27 10:56:11 +02:00
Sébastien Helleu 34c043453b irc: fix use of uninitialized variable ptr_nick 2022-09-26 21:21:27 +02:00
Sébastien Helleu 6f8aab186d doc: update German auto-generated file 2022-09-20 19:23:57 +02:00
Nils Görs 201b24a02a core: update German translations 2022-09-20 19:10:13 +02:00
Sébastien Helleu 01cf98e8fb core: add key alt+backspace, change behavior of key ctrl+w (closes #559)
The key ctrl+w now deletes one word until whitespace.

The new key alt+backspace deletes one word (same behavior as ctrl+w in previous
releases).
2022-09-18 23:26:49 +02:00
Sébastien Helleu d7c0e896b2 core: fix style in ChangeLog 2022-09-18 17:44:55 +02:00
Sébastien Helleu 389f9f436b trigger: escape arguments with double quotes in output of /trigger input|output|recreate (closes #190) 2022-09-18 17:44:05 +02:00
Sébastien Helleu fe62d93dd0 build: update version of Debian/Ubuntu distros in examples 2022-09-18 14:39:36 +02:00
Sébastien Helleu d5c285f0a6 build: remove patches for Debian/Raspbian Stretch 2022-09-18 14:39:02 +02:00
Sébastien Helleu a00edcf50e tests: add tests on filter functions 2022-09-17 18:56:35 +02:00
Sébastien Helleu be7380f9b3 core: fix order of filters after renaming a filter (issue #1695) 2022-09-17 16:01:02 +02:00
Sébastien Helleu 5284921701 irc: fix message when disconnecting from server in case of high lag when server option autoreconnect is off (closes #1708) 2022-09-17 12:12:06 +02:00
Sébastien Helleu 36d2e7427e core: fix wrong terminal title on terminal resize (closes #1702) 2022-09-17 11:56:03 +02:00
Sébastien Helleu 0df582c7c1 core: sort filters by name (closes #1695) 2022-09-17 11:07:22 +02:00
Sébastien Helleu a99fc17d40 spell: allow special dict value "-" to disable spell checking on a specific buffer (closes #1699) 2022-09-17 10:44:21 +02:00
Sébastien Helleu 2b2ba62600 doc/api: add version 3.7 for priority in function hook_line 2022-09-17 07:52:39 +02:00
Sébastien Helleu 21683def12 doc: update German auto-generated file 2022-09-16 21:06:33 +02:00
Sébastien Helleu 96c22c41ba api: add support of priority in function hook_line (closes #1821) 2022-09-16 21:05:51 +02:00
Nils Görs ba27ec8d65 core: update German translations 2022-09-16 08:23:27 +02:00
Sébastien Helleu c6d8b54459 irc: add option irc.look.display_pv_nick_change 2022-09-15 20:31:06 +02:00
Sébastien Helleu 82f59d2a98 doc: update auto-generated files 2022-09-11 16:30:55 +02:00
Nils Görs 731f7e4243 core: update German translations 2022-09-11 16:25:17 +02:00
Ivan Pešić 2178440b7c core: Update Serbian translation
Includes documentation update.
2022-09-11 11:50:35 +02:00
Sébastien Helleu 57af62c1c0 doc/api: move function hook_completion in chapter on hook priority 2022-09-11 11:45:02 +02:00
Sébastien Helleu 742773e070 doc/api: update chapter on hook priority 2022-09-11 10:52:25 +02:00
Sébastien Helleu ac646da4fb doc/api: update note about priority in hook functions 2022-09-11 09:50:47 +02:00
Sébastien Helleu 9cb68b13a9 irc: replace chars "\01" by spaces in CTCP replies (closes #1819)
This prevents any attack due to an external security issue in the Linux
netfilter implementation (nf_conntrack_irc).

See: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-2663
2022-09-10 13:43:45 +02:00
Sébastien Helleu 5070a6330c xfer: use larger buffer for IP address
This removes a gcc warning about a too small buffer.
2022-09-09 19:20:41 +02:00
Sébastien Helleu d5cbd6c49a irc: fix display of message 350 (whois, gateway) (closes #1815) 2022-09-05 22:12:17 +02:00
Sébastien Helleu 2a32456f19 tests: add missing include of string.h 2022-09-05 20:49:59 +02:00
Sébastien Helleu b0bf2fbc97 core: remove debug print 2022-09-03 22:38:12 +02:00
Sébastien Helleu e8524ea2c4 xfer: fix DCC file receive on Termux (closes #1811)
This fixes such error displayed on Termux when receiving a DCC file:

xfer: invalid address "96747949": error 8 hostname nor servname provided, or not known
2022-09-03 22:29:46 +02:00
Sébastien Helleu 7cf9399616 core: rename argument "length" to "bytes" in function string_strndup (header files)
Argument was already renamed in commit f8915129bf
but it was incomplete (missing header files).
2022-08-31 22:51:47 +02:00
Sébastien Helleu 68ecfb16a1 irc: fix target buffer of generic errors when they contain a target nick (closes #1814) 2022-08-29 22:45:28 +02:00
Sébastien Helleu f5604510cd script: use API function weechat_crypto_hash_file in script_repo_sha512sum_file 2022-08-16 21:40:02 +02:00
Sébastien Helleu 0090695f7d api: add function crypto_hash_file 2022-08-16 21:33:50 +02:00
Sébastien Helleu e614410815 irc: fix extract of isupport value when it is last in list and without value (closes #1807) 2022-08-15 18:14:03 +02:00
Sébastien Helleu fb14e67364 buflist: improve help on option buflist.look.enabled 2022-08-15 14:43:25 +02:00
Sébastien Helleu a31de83a3c core: move line from "New features" to "Bug fixes" 2022-08-15 13:11:08 +02:00
Sébastien Helleu b26fb7fba6 core: add new option trigger.color.identifier in ChangeLog 2022-08-15 13:10:29 +02:00
Sébastien Helleu 0f67f55098 trigger: add elapsed time for trigger execution on monitor buffer when trigger debug is set (closes #1806) 2022-08-15 12:44:16 +02:00
Sébastien Helleu 1ce2d7f56d trigger: fix error on monitor buffer creation when trigger debug is >= 1 and monitor buffer is closed 2022-08-15 12:42:26 +02:00
Sébastien Helleu 223eefef67 irc: display ACCOUNT command in private buffers 2022-08-13 22:58:37 +02:00
Sébastien Helleu aee3da5452 irc: add options and display SETNAME command in channels and private buffers (closes #1805)
New options:

- irc.color.message_setname
- irc.look.smart_filter_setname
2022-08-13 22:47:22 +02:00
Sébastien Helleu d3b84eaf6c irc: display CHGHOST command in private buffers 2022-08-13 22:16:46 +02:00
Sébastien Helleu ac50a5dda7 doc: update auto-generated files 2022-08-13 19:07:56 +02:00
Sébastien Helleu a36fa2faea logger: improve help on option logger.file.auto_log 2022-08-13 19:02:55 +02:00
Sébastien Helleu 1e0d59a5e6 irc: add missing tag "irc_numeric" in all numeric IRC commands (closes #1804) 2022-08-13 17:34:43 +02:00
Sébastien Helleu 06b6f457d9 tests: add tests on dynamic string functions with NULL string 2022-08-13 14:38:08 +02:00
Sébastien Helleu 57c0a82557 core: fix CMake warning in Python detection 2022-08-13 14:37:00 +02:00
Sébastien Helleu dd65938a85 doc: update German auto-generated file 2022-08-09 23:35:57 +02:00
Nils Görs ff417f88ea core: update German translations 2022-08-08 10:22:56 +02:00
Nils Görs 2857b7b4b7 core: update German translations 2022-08-08 10:08:44 +02:00
Sébastien Helleu a8080505f3 tests: add tests on function xfer_file_search_crc32 2022-08-08 08:06:23 +02:00
Sébastien Helleu bbe8afcbd4 xfer: move and rename function xfer_filename_crc32 to xfer-file.c 2022-08-08 06:57:39 +02:00
Sébastien Helleu 25f25073b9 irc: fix parsing of messages with trailing spaces and no trailing parameter (closes #1803) 2022-08-07 23:28:11 +02:00
Sébastien Helleu d068fe0de5 core: add option -save in command /upgrade (closes #1630) 2022-08-07 16:48:12 +02:00
Sébastien Helleu d91cddc909 xfer: disconnect all active DCC chats and files on /upgrade 2022-08-07 11:15:03 +02:00
Sébastien Helleu 9fd71067e7 xfer: fix refresh of xfer buffer after /upgrade 2022-08-07 11:11:10 +02:00
Sébastien Helleu 441d532f15 relay: fix refresh of relay buffer after /upgrade 2022-08-07 10:04:47 +02:00
Sébastien Helleu 57c9f371bc relay: use enum type for websocket status in client 2022-08-07 09:31:24 +02:00
Sébastien Helleu 4fa278c2c3 doc: update German auto-generated file 2022-08-05 22:34:40 +02:00
Nils Görs 0edae0d93d Merge branch 'master' of https://github.com/weechat/weechat 2022-08-05 09:49:59 +02:00
Nils Görs fbc2e86d0e core: update German translations 2022-08-05 09:49:27 +02:00
Sébastien Helleu 06622b5acb doc: update German auto-generated file 2022-08-04 22:14:28 +02:00
Nils Görs 9bb903cbc8 core: update German translations 2022-08-04 12:46:04 +02:00
Sébastien Helleu e9b8c9b6aa ci: fix Ubuntu code name when applying Debian patch 2022-08-03 22:05:45 +02:00
Sébastien Helleu b0eb3c9347 ci: remove macOS 10.15, add macOS 12 in CI 2022-08-03 21:57:44 +02:00
Sébastien Helleu 2102ef742b core: update ChangeLog 2022-08-03 21:56:55 +02:00
Sébastien Helleu 5d51e7286c ci: remove tests on macOS 10.15 2022-08-03 21:52:47 +02:00
Sébastien Helleu fe892460ba tests: fix pylint errors 2022-08-03 21:51:51 +02:00
Sébastien Helleu 0bb7a34748 doc: fix pylint errors 2022-08-03 21:51:51 +02:00
Sébastien Helleu ee1efedbd7 ci: switch from Ubuntu 20.04 to 22.04 2022-08-03 21:51:51 +02:00
Emir SARI 492a68b3de Update Turkish translations
Fixes plural structure to comply with gettext Turkish specification.
2022-08-03 21:20:31 +02:00
Sébastien Helleu 2bd3d32f0d irc: mention how to remove capability in /help cap 2022-08-03 21:18:17 +02:00
Sébastien Helleu 6b28cc001f tests: fix _ast_num in script generator 2022-08-02 23:52:31 +02:00
Sébastien Helleu 23707a12ea tests: fix scripting API tests with Python 3.8 2022-08-02 21:35:33 +02:00
Sébastien Helleu a7364d055b tests: disable pylint errors in testapi.py 2022-08-02 21:21:07 +02:00
Sébastien Helleu 4d4a6f99f9 tests: add tests on hdata functions (scripting API) 2022-08-02 21:11:45 +02:00
Sébastien Helleu a4c73b9ae7 tests: fix assignment in tcl script generator 2022-08-02 20:55:59 +02:00
Sébastien Helleu 3bc0453cae tests: fix assignment in perl script generator 2022-08-02 20:55:36 +02:00
Sébastien Helleu 2ed281af02 tests: use double quotes instead of simple quotes in ruby script generator
This allows to use escaped chars in strings.
2022-08-02 20:54:35 +02:00
Sébastien Helleu 05abbac297 tests: add subscript in script generator 2022-08-02 20:52:40 +02:00
Sébastien Helleu 237c37e719 tests: fix unary op in script generator 2022-08-02 20:51:40 +02:00
Sébastien Helleu 39f2b2f7b9 ruby: fix function hdata_get_string 2022-08-02 20:50:48 +02:00
Sébastien Helleu 8f6395e889 guile: fix function hdata_get_string 2022-08-02 20:50:24 +02:00
Sébastien Helleu 53df45de48 php: fix function hdata_compare 2022-08-02 20:49:35 +02:00
Sébastien Helleu bcb8647aa4 scripts: fix issue with long interval in function hook_timer
Affected plugins: python, ruby, lua, tcl, guile, javascript, php.
2022-08-01 22:18:38 +02:00
Sébastien Helleu b1404b0277 scripts: fix issue with year ≥ 2038 in functions print_date_tags and print_y_date_tags
Affected plugins: python, lua, tcl, guile, javascript.
2022-08-01 21:03:44 +02:00
Sébastien Helleu 1514570ff0 scripts: fix issue with year ≥ 2038 in function infolist_new_var_time
Affected plugins: python, lua, tcl, guile, javascript.
2022-08-01 20:32:09 +02:00
Sébastien Helleu 2475ba43a3 javascript: fix return of long value in functions infolist_time, hdata_long and hdata_time 2022-08-01 20:13:01 +02:00
Sébastien Helleu d2c2f9e6cd tests: fix run of Guile test script 2022-08-01 20:02:35 +02:00
Sébastien Helleu d8abdc57ee core: fix styles in ChangeLog 2022-07-31 09:59:18 +02:00
Sébastien Helleu e77ea9dc26 buflist: add variable "${hotlist_priority_number}" (integer version of "${hotlist_priority}") 2022-07-31 09:58:29 +02:00
Emir SARI 324f0aaa2d Update Turkish translations 2022-07-30 07:53:40 +02:00
Nils Görs ae273b2714 core: update German translations 2022-07-28 13:45:27 +02:00
Sébastien Helleu 06a05fd674 doc: update German auto-generated files 2022-07-27 22:07:50 +02:00
Sébastien Helleu a50143fdf8 irc: display an error message when using command /dcc without xfer plugin loaded 2022-07-27 22:07:24 +02:00
Sébastien Helleu 56b82fb115 xfer: fix crash when closing DCC chat buffer 2022-07-27 22:06:48 +02:00
Nils Görs 9b4f52ac13 core: update German translations 2022-07-26 13:45:37 +02:00
Sébastien Helleu 906ac1d1e1 relay: exit function relay_irc_recv if params can not be allocated 2022-07-24 23:02:09 +02:00
Sébastien Helleu 2a145d7cc1 core: remove dead assignments 2022-07-24 23:01:38 +02:00
Sébastien Helleu 68ad24f2df core: add option weechat.look.highlight_disable_regex and buffer property "highlight_disable_regex" (closes #1798) 2022-07-24 22:43:48 +02:00
Sébastien Helleu 1796634d83 core: use dynamic string in function gui_bar_item_get_value 2022-07-24 21:18:26 +02:00
Sébastien Helleu a37c46c21e doc: use non-breaking spaces before links to notes 2022-07-22 17:24:44 +02:00
Sébastien Helleu d43b9e99c1 doc/scripting: add missing fields "paramN" and "num_params" in output of "irc_message_parse"
These new fields were added in version 3.4 with major improvements of the IRC
message parser.
2022-07-22 17:06:49 +02:00
Sébastien Helleu d5c4342bce irc: fix display of TOPIC message with an empty trailing parameter 2022-07-21 11:16:50 +02:00
Sébastien Helleu 569c93c6fb irc: fix display of QUIT message with an empty trailing parameter (closes #1797)
The regression was introduced with the new way to parse IRC message parameters,
in version 3.4.
2022-07-21 11:10:29 +02:00
Sébastien Helleu 96ed471261 relay: fix parsing of IRC messages received from clients (closes #1796)
The IRC parser improved in version 3.4 is now used to parse command
parameters (variables "num_params" and "paramN" in output of parser function).
2022-07-21 10:20:10 +02:00
Sébastien Helleu 6b59fc8557 irc: use API function string_rebuild_split_string in irc_protocol_string_params 2022-07-20 13:20:07 +02:00
Sébastien Helleu b7441bd7a3 api: add arguments "index_start" and "index_end" in function string_rebuild_split_string 2022-07-20 13:16:35 +02:00
Sébastien Helleu 62e68f965f api: rename function string_build_with_split_string to string_rebuild_split_string 2022-07-20 12:14:40 +02:00
Sébastien Helleu 0440309cee irc: fix duplicated channels in autojoin option when autojoin_dynamic is enabled (closes #1795) 2022-07-16 14:05:48 +02:00
Sébastien Helleu e057c16b36 api: add info "uptime_current"
This info returns time duration between the start of the current WeeChat
process and now (so upgrades with /upgrade are ignored).
2022-07-10 13:02:35 +02:00
Sébastien Helleu c4cade3550 Version 3.7-dev 2022-07-10 09:41:57 +02:00
738 changed files with 31845 additions and 14175 deletions
+1 -1
View File
@@ -5,4 +5,4 @@ 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
+13 -20
View File
@@ -5,7 +5,7 @@ on:
- pull_request
env:
WEECHAT_DEPENDENCIES: devscripts equivs python3-pip libenchant-dev autopoint cmake ninja-build lcov pkg-config libncursesw5-dev gem2deb libperl-dev python2-dev python3-dev libaspell-dev liblua5.3-dev tcl8.6-dev guile-2.2-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 autopoint cmake ninja-build lcov pkg-config libncursesw5-dev gem2deb libperl-dev python3-dev libaspell-dev liblua5.3-dev tcl8.6-dev guile-3.0-dev libv8-dev libcurl4-gnutls-dev libgcrypt20-dev libgnutls28-dev libzstd-dev zlib1g-dev curl libcpputest-dev php-dev libphp-embed libargon2-dev libsodium-dev flake8 pylint python3-bandit asciidoctor ruby-pygments.rb shellcheck
jobs:
@@ -14,12 +14,11 @@ jobs:
strategy:
matrix:
os:
- ubuntu-20.04
- 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_py2", cc: "gcc", cxx: "g++", tool: "cmake", args: "-DENABLE_PYTHON2=ON" }
- { 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: "" }
@@ -34,33 +33,29 @@ 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
run: ./tools/build_test.sh
- name: Run WeeChat
env:
@@ -89,8 +84,8 @@ jobs:
strategy:
matrix:
os:
- macos-12
- macos-11
- macos-10.15
config:
- { name: "cmake_gcc", cc: "gcc", cxx: "g++" }
- { name: "cmake_clang", cc: "clang", cxx: "clang++" }
@@ -133,7 +128,7 @@ jobs:
strategy:
matrix:
os:
- ubuntu-20.04
- ubuntu-22.04
name: "Build Debian on ${{ matrix.os }}"
runs-on: ${{ matrix.os }}
@@ -144,16 +139,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/focal
run: ./tools/build_debian.sh devel ubuntu/jammy
- name: Install Debian packages
run: sudo dpkg -i ../weechat-devel*.deb
+3 -1
View File
@@ -77,8 +77,9 @@ Alphabetically:
* Krzysztof Koroscik (soltys)
* Kyle Fuller (kylef)
* Kyle Sabo
* Leonid Evdokimov
* Latchezar Tzvetkoff
* Lázaro A.
* Leonid Evdokimov
* Linus Heckemann
* Maarten de Vries
* Mantas Mikulėnas (grawity)
@@ -122,6 +123,7 @@ Alphabetically:
* Rudolf Polzer (divVerent)
* Ruslan Bekenev
* Ryan Farley
* Ryan Qian
* Ryuunosuke Ayanokouzi
* scumjr
* Sergio Durigan Junior
+7 -4
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2023 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2007-2008 Julien Louis <ptitlouis@sysif.net>
# Copyright (C) 2008-2009 Emmanuel Bouthenot <kolter@openics.org>
#
@@ -105,7 +105,6 @@ 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_PYTHON2 "Use Python 2 instead of Python 3" OFF)
option(ENABLE_RUBY "Enable Ruby scripting language" ON)
option(ENABLE_LUA "Enable Lua scripting language" ON)
option(ENABLE_TCL "Enable Tcl scripting language" ON)
@@ -151,6 +150,8 @@ endif()
add_definitions(-DHAVE_CONFIG_H)
include(FindPkgConfig)
include(CheckIncludeFiles)
include(CheckFunctionExists)
include(CheckSymbolExists)
@@ -198,7 +199,6 @@ list(APPEND EXTRA_LIBS gnutls)
find_package(ZLIB REQUIRED)
# Check for zstd
include(FindPkgConfig)
pkg_check_modules(LIBZSTD REQUIRED libzstd)
# Check for iconv
@@ -241,13 +241,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}"
)
+143 -13
View File
@@ -15,6 +15,136 @@ https://weechat.org/files/releasenotes/ReleaseNotes-devel.html[release notes]
(file _ReleaseNotes.adoc_ in sources).
[[v3.8]]
== Version 3.8 (2023-01-08)
New features::
* core: add option weechat.look.chat_space_right (issue #1862)
* core: allow value "0" in buffer property "unread" to remove read marker from buffer
* core: add command `/allbuf`
* core: add command `/hotlist`
* core: move some `/input` actions to commands `/allbuf`, `/buffer` and `/hotlist`
* core: improve case convert and insensitive char comparisons (issue #258)
* core: add color attributes "blink" and "dim" (half bright) (issue #1855)
* core: allow command `/toggle` to create option before setting the value, if allowed in the section (issue #1837)
* 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
* api: return newly allocated string in functions string_tolower and string_toupper
* api: add function utf8_strncpy
* trigger: add regex command "y" to translate chars, set default regex command to "s" (regex replace) (issue #1510)
Bug fixes::
* core: fix color when the delimiter is not followed by a background color (issue #1867)
* core: display chars the same way in chat and bars, replace tabulations by spaces in bars, display chars < 32 with letter in chat, do not display soft hyphens, zero width spaces and all non-printable chars (issue #1659, issue #1669, issue #1770)
* core: fix context info in buffers with free content (issue #1832)
* core: keep terminal title unchanged when option weechat.look.window_title is set to empty value (issue #1835, issue #1836)
* core: fix crash when setting invalid color in option with null value (issue #1844)
* api: do not check conditions defined in option weechat.look.hotlist_add_conditions when adding buffer in hotlist with function buffer_set
* api: fix function strcmp_ignore_chars with case sensitive comparison and wide chars starting with the same byte
* 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 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
* spell: add detection of enchant-2 (issue #1859)
[[v3.7.1]]
== Version 3.7.1 (2022-10-21)
Bug fixes::
* trigger: execute trigger command on appropriate buffer for hooks command, command_run, line, modifier and print (issue #1841)
[[v3.7]]
== Version 3.7 (2022-10-09)
New features::
* core: add option `-save` in command `/upgrade` (issue #1630)
* core: add option weechat.look.highlight_disable_regex and buffer property "highlight_disable_regex" (issue #1798)
* core: sort filters by name (issue #1695)
* core: add key kbd:[Alt+Backspace] to delete previous word, change key kbd:[Ctrl+w] to delete previous word until whitespace (issue #559)
* api: rename function string_build_with_split_string to string_rebuild_split_string, add arguments "index_start" and "index_end"
* api: add info "uptime_current"
* api: add function crypto_hash_file
* api: add support of priority in function hook_line (issue #1821)
* api: add function string_parse_size
* api: add function file_compress
* buflist: add variable `${hotlist_priority_number}` (integer version of `${hotlist_priority}`)
* irc: display SETNAME command in channels and private buffers, add options irc.color.message_setname and irc.look.smart_filter_setname (issue #1805)
* irc: add option irc.look.display_pv_nick_change
* logger: add options to rotate and compress log files: logger.file.rotation_compression_level, logger.file.rotation_compression_type and logger.file.rotation_size_max (issue #314)
* spell: allow special dict value "-" to disable spell checking on a specific buffer (issue #1699)
* trigger: add elapsed time for trigger execution on monitor buffer when trigger debug is set, add option trigger.color.identifier (issue #1806)
* trigger: add variable `${tg_hook_type}` (issue #1765)
Bug fixes::
* core: fix wrong terminal title on terminal resize (issue #1702)
* core: fix page scroll in bare display (issue #1830)
* api: change type of argument remaining_calls in hook_timer callback from string to integer (in scripts)
* api: change type of argument object_id in upgrade_new callback from string to integer (in scripts)
* irc: fix duplicated channels in autojoin option when autojoin_dynamic is enabled (issue #1795)
* irc: fix display of TOPIC and QUIT messages with an empty trailing parameter (issue #1797)
* irc: fix parsing of messages with trailing spaces and no trailing parameter (issue #1803)
* irc: add missing tag "irc_numeric" in all numeric IRC commands (issue #1804)
* irc: display an error message when using command `/dcc` without xfer plugin loaded
* irc: display ACCOUNT and CHGHOST commands in private buffers
* irc: fix extract of isupport value when it is last in list and without value (issue #1807)
* irc: fix target buffer of generic errors when they contain a target nick (issue #1814)
* irc: fix display of message 350 (whois, gateway) (issue #1815)
* irc: replace chars "\01" by spaces in CTCP replies (issue #1819)
* irc: fix message when disconnecting from server in case of high lag when server option autoreconnect is off (issue #1708)
* irc: set local variable "filter" when doing `/server raw xxx` with raw buffer already opened (issue #1448)
* guile: fix function hdata_get_string
* javascript: fix return of long value in functions infolist_time, hdata_long and hdata_time
* php: fix function hdata_compare
* relay: fix parsing of IRC messages received from clients (issue #1796)
* relay: fix refresh of relay buffer after `/upgrade`
* ruby: fix function hdata_get_string
* scripts: fix issue with year ≥ 2038 in functions infolist_new_var_time, print_date_tags and print_y_date_tags (plugins: python/lua/tcl/guile/javascript)
* scripts: fix issue with long interval in function hook_timer (plugins: python/ruby/lua/tcl/guile/javascript/php)
* trigger: fix error on monitor buffer creation when trigger debug is >= 1 and monitor buffer is closed
* trigger: escape arguments with double quotes in output of `/trigger input|output|recreate` (issue #190)
* xfer: fix crash when closing DCC chat buffer
* xfer: disconnect all active DCC chats and files on `/upgrade`
* xfer: fix refresh of xfer buffer after `/upgrade`
* xfer: fix DCC file receive on Termux (issue #1811)
Tests::
* 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
* xfer: add tests on file functions
[[v3.6]]
== Version 3.6 (2022-07-10)
@@ -79,8 +209,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::
@@ -129,8 +259,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::
@@ -183,8 +313,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::
@@ -237,7 +367,7 @@ Bug fixes::
* core: set server name when connecting to server with TLS (SNI extension) only if it's not an IPV4/IPv6 (issue #1635)
* core: use function mallinfo2 instead of mallinfo when available (issue #1636)
* core: display a warning when the file with certificate authorities is not found (option weechat.network.gnutls_ca_file)
* core: evaluate left/right part of comparison after split on the comparison operator in ${if:xxx} (issue #1627)
* core: evaluate left/right part of comparison after split on the comparison operator in `${if:xxx}` (issue #1627)
* core: prevent switching to start of visited buffers when jumping to next (issue #1591, issue #1592)
* core: recreate buflist and fset bars on `/reload` when WeeChat is started without configuration files (issue #1618)
* buflist: fix comparison of hotlists in option buflist.look.sort (issue #1621)
@@ -246,7 +376,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::
@@ -407,8 +537,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
@@ -646,7 +776,7 @@ New features::
* api: add functions string_base_encode and string_base_decode, remove functions string_encode_base64 and string_decode_base64
* api: add support of Time-based One-Time Password (TOTP), add infos "totp_generate" and "totp_validate"
* buflist: add default keys kbd:[Ctrl+F1]/kbd:[Ctrl+F2] to scroll up/down one page in buflist (same action as kbd:[F1]/kbd:[F2])
* buflist: add variable ${number2}, always set with the indented buffer number
* buflist: add variable `${number2}`, always set with the indented buffer number
* exec: add option exec.command.shell to customize the shell used with `/exec -sh`
* relay: add support of close frame in websocket connection (issue #1281)
* relay: add support of Time-based One-Time Password (TOTP) as second authentication factor in weechat protocol
@@ -793,7 +923,7 @@ New features::
* api: add hashtable with variables in plugin structure
* api: add time in info "date" (WeeChat compilation date/time) (issue #1138)
* irc: add server option "split_msg_max_length"
* irc: allow ${irc_server.xxx} and ${server} in server evaluated options (issue #1144)
* irc: allow `${irc_server.xxx}` and `${server}` in server evaluated options (issue #1144)
* logger: add option logger.file.fsync (issue #1145)
* logger: add option logger.look.backlog_conditions (issue #1132)
* script: change default value of option script.look.sort from "p,n" to "i,p,n"
@@ -1556,7 +1686,7 @@ New features::
* api: add hdata "buffer_visited"
* api: add support of infos with format `${info:name,arguments}` in function string_eval_expression and command `/eval`
* api: add support for C++ plugins
* alias: add default alias `/beep` => `/print -stderr \a`
* alias: add default alias `/beep` -> `/print -stderr \a`
* irc: add server option "ssl_fingerprint" (task #12724)
* irc: add option irc.look.smart_filter_mode (task #12499)
* irc: add option irc.network.ban_mask_default (bug #26571)
@@ -2066,7 +2196,7 @@ New features::
* api: add modifier "input_text_for_buffer" (bug #35317)
* api: add support of URL in hook_process / hook_process_hashtable (task #10247)
* api: add new functions strcasecmp_range, strncasecmp_range, string_regex_flags, string_regcomp, hashtable_map_string, hook_process_hashtable, hdata_check_pointer, hdata_char, hdata_hashtable and nicklist_get_next_item
* alias: add default alias `/umode` => `/mode $nick`
* alias: add default alias `/umode` -> `/mode $nick`
* irc: add option "capabilities" in servers to enable client capabilities on connection
* irc: add signal "irc_server_opened"
* irc: add signal "xxx,irc_out1_yyy" and modifier "irc_out1_xxx" (outgoing message before automatic split to fit in 512 bytes)
+4 -4
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
# 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>
#
@@ -23,7 +23,7 @@
# (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
-$(abs_top_srcdir)/tools/set_git_version.sh "$(abs_top_srcdir)" "$(VERSION)" config-git.h
if TESTS
tests_dir = tests
@@ -60,8 +60,8 @@ EXTRA_DIST = AUTHORS.adoc \
cmake/cmake_uninstall.cmake.in \
po/CMakeLists.txt \
po/srcfiles.cmake \
tools/build-test.sh \
tools/git-version.sh \
tools/build_test.sh \
tools/set_git_version.sh \
tools/makedist.sh \
version.sh \
weechat.desktop \
+1 -1
View File
@@ -45,7 +45,7 @@ For detailed instructions, please check the https://weechat.org/doc/user/#instal
== Copyright
Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
Copyright (C) 2003-2023 Sébastien Helleu <flashcode@flashtux.org>
This file is part of WeeChat, the extensible chat client.
+257 -50
View File
@@ -17,6 +17,206 @@ https://weechat.org/files/changelog/ChangeLog-devel.html[ChangeLog]
(file _ChangeLog.adoc_ in sources).
[[v3.8]]
== Version 3.8 (2023-01-08)
[[v3.8_command_input_options]]
=== Move of options out of command /input
Some options of `/input` command have been moved to other commands (they can
still be used with `/input` but marked as deprecated and completion has been
removed):
[width="100%",cols="4m,4m,3",options="header"]
|===
| Old command | New command | Default key
| /input jump_smart | /buffer jump smart | kbd:[Alt+a]
| /input jump_previously_visited_buffer | /buffer jump prev_visited | kbd:[Alt+<]
| /input jump_next_visited_buffer | /buffer jump next_visited | kbd:[Alt+>]
| /input jump_last_buffer_displayed | /buffer jump last_displayed | kbd:[Alt+/]
| /input hotlist_clear | /hotlist clear | kbd:[Alt+h], kbd:[Alt+c]
| /input hotlist_remove_buffer | /hotlist remove | kbd:[Alt+h], kbd:[Alt+m]
| /input hotlist_restore_buffer | /hotlist restore | kbd:[Alt+h], kbd:[Alt+r]
| /input hotlist_restore_all | /hotlist restore -all | kbd:[Alt+h], kbd:[Alt+Shift+R]
| /input set_unread | /allbuf /buffer set unread | kbd:[Ctrl+s], kbd:[Ctrl+u]
| /input set_unread_current_buffer | /buffer set unread | (none)
| /input switch_active_buffer | /buffer switch | kbd:[Ctrl+x]
| /input switch_active_buffer_previous | /buffer switch -previous | (none)
| /input zoom_merged_buffer | /buffer zoom | kbd:[Alt+x]
|===
The following default keys can be reset to use the new command:
----
/key reset meta-a
/key reset meta-<
/key reset meta->
/key reset meta-/
/key reset meta-hmeta-c
/key reset meta-hmeta-m
/key reset meta-hmeta-r
/key reset meta-hmeta-R
/key reset ctrl-Sctrl-U
/key reset ctrl-X
/key reset meta-x
----
[[v3.8_return_code_string_comparison_functions]]
=== Return code of string comparison functions
The following functions now return arithmetic result of subtracting the last
compared UTF-8 char in string2 from the last compared UTF-8 char in string1:
* string_charcmp
* string_charcasecmp
* string_charcasecmp_range
* string_strcasecmp
* string_strcasecmp_range
* string_strncasecmp
* 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]
----
int diff = string_strcasecmp ("aaa", "CCC"); /* == -2 */
----
With older releases:
[source,c]
----
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]
now return newly allocated string instead of doing the change in place. +
The returned string must then be freed after use.
[[v3.8_trigger_regex_command]]
=== Trigger regex command
The trigger regex now starts with a command, which is "s" (regex replace, default)
or "y" (translate chars).
For compatibility, any regex starting with a delimiter different from a letter
will still work.
If you defined some triggers with a regex starting with a letter (used as delimiter),
then you must change them *before* upgrading WeeChat, otherwise they'll be lost
after upgrade (with an error when WeeChat tries to load them from configuration file).
For example this regex is now invalid:
----
XabcXdefX
----
And must be replaced by:
----
sXabcXdefX
----
For more information on the regex format, see the trigger chapter in the
_WeeChat User's guide_.
[[v3.8_remove_python2_support]]
=== Remove Python 2 support
The CMake option `ENABLE_PYTHON2` and autotools option `--enable-python2`
have been removed, and WeeChat can not be compiled with Python 2.x any more.
[[v3.8_config_new_option_callbacks]]
=== Callbacks of function config_new_option
The two callbacks "callback_change" and "callback_delete" in scripting API function
config_new_option have been changed: an integer return value was expected by error,
now any return value is ignored (like it has always been in the C API).
[[v3.7.1]]
== Version 3.7.1 (2022-10-21)
Bug fix and maintenance release.
[[v3.7]]
== Version 3.7 (2022-10-09)
[[v3.7_upgrade_new_callback_object_id]]
=== Argument "object_id" in callback of upgrade_new
In all script languages (except PHP), the argument "object_id" sent to the
callback of "upgrade_new" is now an integer (it was a string in older releases).
To be compatible with all versions, it is recommended to convert the argument
to integer before testing it, for example in Python:
[source,python]
----
if int(object_id) == 1:
# ...
----
[[v3.7_hook_timer_callback_remaining_calls]]
=== Argument "remaining_calls" in callback of hook_timer
In all script languages (except PHP), the argument "remaining_calls" sent to the
callback of "hook_timer" is now an integer (it was a string in older releases).
To be compatible with all versions, it is recommended to convert the argument
to integer before testing it, for example in Python:
[source,python]
----
if int(remaining_calls) > 0:
# ...
----
[[v3.7_delete_previous_word_whitespace]]
=== Delete previous word until whitespace
A new parameter `delete_previous_word_whitespace` has been added in `/input`
command to delete previous word until backspace. +
This is now bound by default to the key kbd:[Ctrl+w] (see issue #559).
A new key kbd:[Alt+Backspace] has been added to delete word, like kbd:[Ctrl+w]
did in previous releases.
You can get the new behavior for kbd:[Ctrl+w] with this command:
----
/key bind ctrl-W /input delete_previous_word_whitespace
----
And add the new key kbd:[Alt+Backspace] with this command:
----
/key missing
----
[[v3.7_api_string_rebuild_split_string]]
=== 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]
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
new function name and these values:
* _index_start_: `0`
* _index_end_: `-1`
[[v3.6]]
== Version 3.6 (2022-07-10)
@@ -608,8 +808,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/plugin/#_completion_get_string[completion_get_string]
* hook_completion_list_add -> link:https://weechat.org/doc/plugin/#_completion_list_add[completion_list_add]
[NOTE]
The old names are still valid for compatibility reasons, but it is recommended
@@ -907,13 +1107,13 @@ it supports aspell and also enchant.
Consequently, the following things have been renamed as well:
* file aspell.conf => spell.conf (the content of the file has not changed, so you can just rename the file to keep your changes)
* options aspell.* => spell.*
* command `/aspell` => `/spell`
* default key kbd:[Alt+s] => `/mute spell toggle`
* bar item aspell_dict => spell_dict
* bar item aspell_suggest => spell_suggest
* info aspell_dict => spell_dict
* file aspell.conf -> spell.conf (the content of the file has not changed, so you can just rename the file to keep your changes)
* options aspell.* -> spell.*
* command `/aspell` -> `/spell`
* default key kbd:[Alt+s] -> `/mute spell toggle`
* bar item aspell_dict -> spell_dict
* bar item aspell_suggest -> spell_suggest
* info aspell_dict -> spell_dict
If you are upgrading from a previous release, you can copy the config file
before doing `/upgrade`, in WeeChat:
@@ -1133,14 +1333,14 @@ configuration file (type: boolean, default is `off`).
List of options moved:
* plugins.var.python.check_license (string) => python.look.check_license (boolean)
* plugins.var.perl.check_license (string) => perl.look.check_license (boolean)
* plugins.var.ruby.check_license (string) => ruby.look.check_license (boolean)
* plugins.var.lua.check_license (string) => lua.look.check_license (boolean)
* plugins.var.tcl.check_license (string) => tcl.look.check_license (boolean)
* plugins.var.guile.check_license (string) => guile.look.check_license (boolean)
* plugins.var.javascript.check_license (string) => javascript.look.check_license (boolean)
* plugins.var.php.check_license (string) => php.look.check_license (boolean)
* plugins.var.python.check_license (string) -> python.look.check_license (boolean)
* plugins.var.perl.check_license (string) -> perl.look.check_license (boolean)
* plugins.var.ruby.check_license (string) -> ruby.look.check_license (boolean)
* plugins.var.lua.check_license (string) -> lua.look.check_license (boolean)
* plugins.var.tcl.check_license (string) -> tcl.look.check_license (boolean)
* plugins.var.guile.check_license (string) -> guile.look.check_license (boolean)
* plugins.var.javascript.check_license (string) -> javascript.look.check_license (boolean)
* plugins.var.php.check_license (string) -> php.look.check_license (boolean)
[[v2.0.1]]
== Version 2.0.1 (2017-12-20)
@@ -1335,13 +1535,13 @@ command:
Server options with default messages for kick/part/quit have been renamed:
* options by default for all servers:
** irc.server_default.default_msg_kick => irc.server_default.msg_kick
** irc.server_default.default_msg_part => irc.server_default.msg_part
** irc.server_default.default_msg_quit => irc.server_default.msg_quit
** irc.server_default.default_msg_kick -> irc.server_default.msg_kick
** irc.server_default.default_msg_part -> irc.server_default.msg_part
** irc.server_default.default_msg_quit -> irc.server_default.msg_quit
* options in each server:
** irc.server.xxx.default_msg_kick => irc.server.xxx.msg_kick
** irc.server.xxx.default_msg_part => irc.server.xxx.msg_part
** irc.server.xxx.default_msg_quit => irc.server.xxx.msg_quit
** irc.server.xxx.default_msg_kick -> irc.server.xxx.msg_kick
** irc.server.xxx.default_msg_part -> irc.server.xxx.msg_part
** irc.server.xxx.default_msg_quit -> irc.server.xxx.msg_quit
If you changed the value of these options, you must set them again after upgrade.
@@ -1368,17 +1568,17 @@ The nick coloring feature has been moved from irc plugin to core.
Two options have been moved from irc plugin (irc.conf) to core (weechat.conf),
and you must set new value if you customized them:
* irc.look.nick_color_force => weechat.look.nick_color_force
* irc.look.nick_color_hash => weechat.look.nick_color_hash
* irc.look.nick_color_stop_chars => weechat.look.nick_color_stop_chars
* irc.look.nick_color_force -> weechat.look.nick_color_force
* irc.look.nick_color_hash -> weechat.look.nick_color_hash
* irc.look.nick_color_stop_chars -> weechat.look.nick_color_stop_chars
The default value for option weechat.look.nick_color_hash is now `djb2`
instead of `sum`.
The following info names (used by API function "info_get") are renamed as well:
* irc_nick_color => nick_color
* irc_nick_color_name => nick_color_name
* irc_nick_color -> nick_color
* irc_nick_color_name -> nick_color_name
[NOTE]
The old info irc_nick_color and irc_nick_color_name are kept for
@@ -1435,8 +1635,8 @@ can be displayed for any plugin, using the buffer local variable "away").
Two options have been moved from irc plugin (irc.conf) to core (weechat.conf):
* irc.look.item_away_message => weechat.look.item_away_message
* irc.color.item_away => weechat.color.item_away
* irc.look.item_away_message -> weechat.look.item_away_message
* irc.color.item_away -> weechat.color.item_away
[[v1.5_default_triggers]]
=== Default triggers
@@ -1766,9 +1966,16 @@ between your current keys and WeeChat default keys.
=== Function hook_print
In scripts, the arguments "displayed" and "highlight" sent to the callback of
"hook_print" are now integers (they were strings in older releases). +
"hook_print" are now integers (they were strings in older releases).
To be compatible with all versions, it is recommended to convert the argument
to integer before testing it, for example in Python: `if int(highlight):`.
to integer before testing it, for example in Python:
[source,python]
----
if int(highlight):
# ...
----
[[v0.4.3]]
== Version 0.4.3 (2014-02-09)
@@ -1997,10 +2204,10 @@ display (not stored any more in the line).
Options moved from irc plugin (irc.conf) to core (weechat.conf):
* irc.look.nick_prefix => weechat.look.nick_prefix
* irc.look.nick_suffix => weechat.look.nick_suffix
* irc.color.nick_prefix => weechat.color.chat_nick_prefix
* irc.color.nick_suffix => weechat.color.chat_nick_suffix
* irc.look.nick_prefix -> weechat.look.nick_prefix
* irc.look.nick_suffix -> weechat.look.nick_suffix
* irc.color.nick_prefix -> weechat.color.chat_nick_prefix
* irc.color.nick_suffix -> weechat.color.chat_nick_suffix
Types and default values for these four options remain unchanged.
@@ -2170,8 +2377,8 @@ This version fixes crash when decoding IRC colors in strings.
Options moved from core (weechat.conf) to irc plugin (irc.conf):
* weechat.look.nickmode => irc.look.nick_mode (new type: integer with values: none/prefix/action/both)
* weechat.look.nickmode_empty => irc.look.nick_mode_empty
* weechat.look.nickmode -> irc.look.nick_mode (new type: integer with values: none/prefix/action/both)
* weechat.look.nickmode_empty -> irc.look.nick_mode_empty
[[v0.3.9_bar_item_buffer_modes]]
=== New bar item buffer_modes
@@ -2196,9 +2403,9 @@ New options in command `/aspell`:
Options renamed in command `/aspell`:
* `enable` => `setdict` (set dictionary for current buffer)
* `disable` => `deldict` (delete dictionary used on current buffer)
* `dictlist` => `listdict` (show installed dictionaries)
* `enable` -> `setdict` (set dictionary for current buffer)
* `disable` -> `deldict` (delete dictionary used on current buffer)
* `dictlist` -> `listdict` (show installed dictionaries)
[[v0.3.9_horizontal_separator]]
=== Horizontal separator
@@ -2378,17 +2585,17 @@ value for old options, and set them again with new name:
* options moved from "network" section to servers (with global value, and
server value, like other server options):
** irc.network.connection_timeout => irc.server_default.connection_timeout
** irc.network.anti_flood_prio_high => irc.server_default.anti_flood_prio_high
** irc.network.anti_flood_prio_low => irc.server_default.anti_flood_prio_low
** irc.network.away_check => irc.server_default.away_check
** irc.network.away_check_max_nicks => irc.server_default.away_check_max_nicks
** irc.network.default_msg_part => irc.server_default.default_msg_part
** irc.network.default_msg_quit => irc.server_default.default_msg_quit
** irc.network.connection_timeout -> irc.server_default.connection_timeout
** irc.network.anti_flood_prio_high -> irc.server_default.anti_flood_prio_high
** irc.network.anti_flood_prio_low -> irc.server_default.anti_flood_prio_low
** irc.network.away_check -> irc.server_default.away_check
** irc.network.away_check_max_nicks -> irc.server_default.away_check_max_nicks
** irc.network.default_msg_part -> irc.server_default.default_msg_part
** irc.network.default_msg_quit -> irc.server_default.default_msg_quit
* other IRC options renamed:
** irc.look.open_channel_near_server => irc.look.new_channel_position
** irc.look.open_channel_near_server -> irc.look.new_channel_position
(old option was boolean, new is integer with value as string)
** irc.look.open_pv_near_server => irc.look.new_pv_position
** irc.look.open_pv_near_server -> irc.look.new_pv_position
(old option was boolean, new is integer with value as string)
[[v0.3.3]]
+12 -12
View File
@@ -1,6 +1,6 @@
#!/bin/sh
#
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
# 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>
#
@@ -41,29 +41,29 @@ err ()
run ()
{
printf "Running \"%s\"..." "$@"
if eval "$@" >"$AUTOGEN_LOG" 2>&1 ; then
echo " OK"
printf "Running \"%s\"... " "$*"
if "$@" >"$AUTOGEN_LOG" 2>&1 ; then
echo "OK"
else
echo " FAILED"
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"
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"
run rm -f libtool
# remove gettext stuff
run "rm -f ABOUT-NLS"
run "rm -rf intl"
run rm -f ABOUT-NLS
run rm -rf intl
# execute autoreconf cmds
run "autoreconf -vi"
run autoreconf -vi
# ending
rm -f "$AUTOGEN_LOG"
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2023 Sébastien Helleu <flashcode@flashtux.org>
#
# This file is part of WeeChat, the extensible chat client.
#
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2023 Sébastien Helleu <flashcode@flashtux.org>
#
# This file is part of WeeChat, the extensible chat client.
#
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2014-2022 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2014-2023 Sébastien Helleu <flashcode@flashtux.org>
#
# This file is part of WeeChat, the extensible chat client.
#
+2 -2
View File
@@ -27,11 +27,11 @@ else()
find_path(ENCHANT_INCLUDE_DIR
NAMES enchant++.h
HINTS ${PC_ENCHANT_INCLUDEDIR} ${PC_ENCHANT_INCLUDE_DIRS}
PATH_SUFFIXES enchant
PATH_SUFFIXES enchant-2 enchant
)
find_library(ENCHANT_LIBRARIES
NAMES enchant
NAMES enchant-2 enchant
HINTS ${PC_ENCHANT_LIBDIR}
${PC_ENCHANT_LIBRARY_DIRS}
)
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2023 Sébastien Helleu <flashcode@flashtux.org>
#
# This file is part of WeeChat, the extensible chat client.
#
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2023 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2007 Julien Louis <ptitlouis@sysif.net>
# Copyright (C) 2009 Emmanuel Bouthenot <kolter@openics.org>
#
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2023 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2009 Emmanuel Bouthenot <kolter@openics.org>
#
# This file is part of WeeChat, the extensible chat client.
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2011-2022 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2011-2023 Sébastien Helleu <flashcode@flashtux.org>
#
# This file is part of WeeChat, the extensible chat client.
#
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2023 Sébastien Helleu <flashcode@flashtux.org>
#
# This file is part of WeeChat, the extensible chat client.
#
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2023 Sébastien Helleu <flashcode@flashtux.org>
#
# This file is part of WeeChat, the extensible chat client.
#
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2023 Sébastien Helleu <flashcode@flashtux.org>
#
# This file is part of WeeChat, the extensible chat client.
#
+3 -2
View File
@@ -1,6 +1,6 @@
#
# Copyright (C) 2017 Adam Saponara <as@php.net>
# Copyright (C) 2017-2022 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2017-2023 Sébastien Helleu <flashcode@flashtux.org>
#
# This file is part of WeeChat, the extensible chat client.
#
@@ -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)
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2023 Sébastien Helleu <flashcode@flashtux.org>
#
# This file is part of WeeChat, the extensible chat client.
#
+4 -10
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2023 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2009 Julien Louis <ptitlouis@sysif.net>
#
# This file is part of WeeChat, the extensible chat client.
@@ -28,13 +28,7 @@
# PYTHON_LIBRARIES = path to where libpython.so* can be found
# PYTHON_LDFLAGS = python compiler options for linking
include(FindPkgConfig)
if(ENABLE_PYTHON2)
pkg_check_modules(PYTHON python2 IMPORTED_TARGET GLOBAL)
else()
pkg_check_modules(PYTHON python3-embed IMPORTED_TARGET GLOBAL)
if(NOT PYTHON_FOUND)
pkg_check_modules(PYTHON python3 IMPORTED_TARGET GLOBAL)
endif()
pkg_check_modules(PYTHON python3-embed IMPORTED_TARGET GLOBAL)
if(NOT PYTHON_FOUND)
pkg_check_modules(PYTHON python3 IMPORTED_TARGET GLOBAL)
endif()
+2 -2
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2023 Sébastien Helleu <flashcode@flashtux.org>
#
# This file is part of WeeChat, the extensible chat client.
#
@@ -37,7 +37,7 @@ if(PKG_CONFIG_FOUND)
# set specific search path for macOS
set(ENV{PKG_CONFIG_PATH} "$ENV{PKG_CONFIG_PATH}:/usr/local/opt/ruby/lib/pkgconfig")
endif()
pkg_search_module(RUBY ruby-3.1 ruby-3.0 ruby-2.7 ruby-2.6 ruby-2.5 ruby-2.4 ruby-2.3 ruby-2.2 ruby-2.1 ruby-2.0 ruby-1.9 ruby)
pkg_search_module(RUBY ruby-3.2 ruby-3.1 ruby-3.0 ruby-2.7 ruby-2.6 ruby-2.5 ruby-2.4 ruby-2.3 ruby-2.2 ruby-2.1 ruby-2.0 ruby-1.9 ruby)
if(RUBY_FOUND AND ${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
# FIXME: weird hack: hardcoding the Ruby lib location on macOS
set(RUBY_LDFLAGS "${RUBY_LDFLAGS} -L/usr/local/opt/ruby/lib")
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2015-2022 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2015-2023 Sébastien Helleu <flashcode@flashtux.org>
#
# This file is part of WeeChat, the extensible chat client.
#
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2023 Sébastien Helleu <flashcode@flashtux.org>
#
# This file is part of WeeChat, the extensible chat client.
#
+6 -11
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2023 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2005 Benoit Papillault <benoit.papillault@free.fr>
# Copyright (C) 2005-2006 Julien Louis <ptitlouis@sysif.net>
# Copyright (C) 2005-2009 Emmanuel Bouthenot <kolter@openics.org>
@@ -155,7 +155,6 @@ AC_ARG_ENABLE(script, [ --disable-script turn off Script plugin (d
AC_ARG_ENABLE(scripts, [ --disable-scripts turn off script plugins (perl, python, ...) (default=compiled if found)],enable_scripts=$enableval,enable_scripts=yes)
AC_ARG_ENABLE(perl, [ --disable-perl turn off Perl script plugin (default=compiled if found)],enable_perl=$enableval,enable_perl=yes)
AC_ARG_ENABLE(python, [ --disable-python turn off Python script plugin (default=compiled if found)],enable_python=$enableval,enable_python=yes)
AC_ARG_ENABLE(python2, [ --enable-python2 use Python 2 instead of Python 3 (default=off)],enable_python2=$enableval,enable_python2=no)
AC_ARG_ENABLE(ruby, [ --disable-ruby turn off Ruby script plugin (default=compiled if found)],enable_ruby=$enableval,enable_ruby=yes)
AC_ARG_ENABLE(lua, [ --disable-lua turn off Lua script plugin (default=compiled if found)],enable_lua=$enableval,enable_lua=yes)
AC_ARG_ENABLE(tcl, [ --disable-tcl turn off Tcl script plugin (default=compiled if found)],enable_tcl=$enableval,enable_tcl=yes)
@@ -467,13 +466,9 @@ fi
PYTHON_VERSION=
if test "x$enable_python" = "xyes" ; then
if test "x$enable_python2" = "xyes" ; then
PKG_CHECK_MODULES(PYTHON, [python2], [PYTHON_FOUND=yes; PYTHON_VERSION=`$PKGCONFIG --modversion python2`], [PYTHON_FOUND=no])
else
PKG_CHECK_MODULES(PYTHON, [python3-embed], [PYTHON_FOUND=yes; PYTHON_VERSION=`$PKGCONFIG --modversion python3-embed`], [PYTHON_FOUND=no])
if test "x$PYTHON_FOUND" != "xyes"; then
PKG_CHECK_MODULES(PYTHON, [python3], [PYTHON_FOUND=yes; PYTHON_VERSION=`$PKGCONFIG --modversion python3`], [PYTHON_FOUND=no])
fi
PKG_CHECK_MODULES(PYTHON, [python3-embed], [PYTHON_FOUND=yes; PYTHON_VERSION=`$PKGCONFIG --modversion python3-embed`], [PYTHON_FOUND=no])
if test "x$PYTHON_FOUND" != "xyes"; then
PKG_CHECK_MODULES(PYTHON, [python3], [PYTHON_FOUND=yes; PYTHON_VERSION=`$PKGCONFIG --modversion python3`], [PYTHON_FOUND=no])
fi
if test "x$PYTHON_FOUND" != "xyes" ; then
AC_MSG_WARN([
@@ -501,7 +496,7 @@ RUBY_VERSION=
if test "x$enable_ruby" = "xyes" ; then
RUBY_CFLAGS=""
RUBY_LFLAGS=""
for v in "3.1" "3.0" "2.7" "2.6" "2.5" "2.4" "2.3" "2.2" "2.1" "2.0" "1.9" "1.8" ; do
for v in "3.2" "3.1" "3.0" "2.7" "2.6" "2.5" "2.4" "2.3" "2.2" "2.1" "2.0" "1.9" "1.8" ; do
pkgconfig_ruby_found=`$PKGCONFIG --exists ruby-$v 2>/dev/null`
if test "x$?" = "x0" ; then
RUBY_VERSION=`$PKGCONFIG --modversion ruby-$v`
@@ -833,7 +828,7 @@ if test "x$enable_php" = "xyes" ; then
PHP_CFLAGS=""
PHP_LFLAGS=""
PHP_VERSIONS="8.1 81 8.0 80 8 7.4 74 7.3 73 7.2 72 7.1 71 7.0 70 7 $php_suffix"
PHP_VERSIONS="8.2 82 8.1 81 8.0 80 8 7.4 74 7.3 73 7.2 72 7.1 71 7.0 70 7 $php_suffix"
if test -n "$php_inc"; then
CFLAGS="$CFLAGS -I$php_inc"
+1 -1
View File
@@ -14,7 +14,7 @@ Build-Depends:
libaspell-dev,
liblua5.3-dev,
tcl8.6-dev,
guile-2.2-dev,
guile-3.0-dev,
php-dev, libphp-embed, libargon2-dev, libsodium-dev,
libxml2-dev,
libcurl4-gnutls-dev,
+19
View File
@@ -1,3 +1,22 @@
weechat (3.7.1-1) unstable; urgency=medium
* New upstream release
-- Emmanuel Bouthenot <kolter@debian.org> Sat, 22 Oct 2022 12:55:10 +0000
weechat (3.7-1) unstable; urgency=medium
* New upstream release
-- Emmanuel Bouthenot <kolter@debian.org> Tue, 18 Oct 2022 12:44:29 +0000
weechat (3.6-1) unstable; urgency=medium
* New upstream release
* Bump Standards-Version to 4.6.1.0
-- Emmanuel Bouthenot <kolter@debian.org> Sat, 23 Jul 2022 09:56:24 +0000
weechat (3.5-1) unstable; urgency=medium
* New upstream release
+2 -2
View File
@@ -14,7 +14,7 @@ Build-Depends:
libaspell-dev,
liblua5.3-dev,
tcl8.6-dev,
guile-2.2-dev,
guile-3.0-dev,
php-dev, libphp-embed, libargon2-dev, libsodium-dev,
libxml2-dev,
libcurl4-gnutls-dev,
@@ -22,7 +22,7 @@ Build-Depends:
libgnutls28-dev,
libzstd-dev,
zlib1g-dev
Standards-Version: 4.6.0.1
Standards-Version: 4.6.1.0
Homepage: https://weechat.org/
Vcs-Git: https://salsa.debian.org/kolter/weechat.git
Vcs-Browser: https://salsa.debian.org/kolter/weechat
+1 -1
View File
@@ -4,7 +4,7 @@ Upstream-Contact: Sébastien Helleu <flashcode@flashtux.org>
Source: https://weechat.org/
Files: *
Copyright: 2003-2022, Sébastien Helleu <flashcode@flashtux.org>
Copyright: 2003-2023, Sébastien Helleu <flashcode@flashtux.org>
License: GPL-3+
Files: src/core/wee-command.c
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2023 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2009 Emmanuel Bouthenot <kolter@openics.org>
#
# This file is part of WeeChat, the extensible chat client.
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
# 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.
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2023 Sébastien Helleu <flashcode@flashtux.org>
#
# This file is part of WeeChat, the extensible chat client.
#
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2023 Sébastien Helleu <flashcode@flashtux.org>
#
# This file is part of WeeChat, the extensible chat client.
#
+1 -1
View File
@@ -99,7 +99,7 @@ $HOME/.local/share/weechat/weechat.log::
WeeChat je napsán Sébastienem Helleu a přispěvovateli (kompletní seznam je v
souboru AUTHORS.adoc).
Copyright (C) 2003-2022 {author}
Copyright (C) 2003-2023 {author}
WeeChat is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2023 Sébastien Helleu <flashcode@flashtux.org>
#
# This file is part of WeeChat, the extensible chat client.
#
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
# 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.
@@ -582,6 +582,7 @@ _title_   (string) +
_own_lines_   (pointer, hdata: "lines") +
_mixed_lines_   (pointer, hdata: "lines") +
_lines_   (pointer, hdata: "lines") +
_next_line_id_   (integer) +
_time_for_each_line_   (integer) +
_chat_refresh_needed_   (integer) +
_nicklist_   (integer) +
@@ -631,6 +632,8 @@ _text_search_input_   (string) +
_highlight_words_   (string) +
_highlight_regex_   (string) +
_highlight_regex_compiled_   (pointer) +
_highlight_disable_regex_   (string) +
_highlight_disable_regex_compiled_   (pointer) +
_highlight_tags_restrict_   (string) +
_highlight_tags_restrict_count_   (integer) +
_highlight_tags_restrict_array_   (pointer, array_size: "highlight_tags_restrict_count") +
@@ -921,6 +924,7 @@ _next_line_   (pointer, hdata: "line") +
| Struktur mit einzeiligen Daten
| -
| _buffer_   (pointer, hdata: "buffer") +
_id_   (integer) +
_y_   (integer) +
_date_   (time) +
_date_printed_   (time) +
+2 -2
View File
@@ -60,8 +60,6 @@
| php | php_version | Version des verwendeten Interpreters | -
| python | python2_bin | Pfad zum Python 2.x Interpreter (*veraltet*, seit WeeChat Version 2.6 müssen Skripten Python3 verwenden) | -
| python | python_eval | Evaluierung des Quelltextes | Quelltext welcher ausgeführt werden soll
| python | python_interpreter | Name des verwendeten Interpreters | -
@@ -128,6 +126,8 @@
| 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) | -
@@ -16,13 +16,13 @@
. xfer (7000)
. irc (6000)
. relay (5000)
. guile (4007)
. javascript (4006)
. lua (4005)
. perl (4004)
. php (4003)
. python (4002)
. ruby (4001)
. guile (4070)
. javascript (4060)
. lua (4050)
. perl (4040)
. php (4030)
. python (4020)
. ruby (4010)
. tcl (4000)
. script (3000)
. fset (2000)
+47 -21
View File
@@ -6,7 +6,7 @@
// tag::url_options[]
[width="100%",cols="2,^1,7",options="header"]
|===
| Einstellung | Type ^(1)^ | Konstanten ^(2)^
| Einstellung | Type ^(1)^ | Konstanten ^(2)^
| verbose | long |
@@ -48,10 +48,6 @@
| 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 |
@@ -82,15 +78,19 @@
| doh_url | string |
| protocols_str | string |
| redir_protocols_str | string |
| netrc | long | ignored, optional, required
| userpwd | string |
| proxyuserpwd | string |
| httpauth | mask | none, basic, digest, ntlm, any, anysafe, digest_ie, only, ntlm_wb, negotiate, gssapi, bearer
| httpauth | mask | none, basic, digest, ntlm, any, anysafe, digest_ie, only, ntlm_wb, negotiate, gssapi, bearer, aws_sigv4
| proxyauth | mask | none, basic, digest, ntlm, any, anysafe, digest_ie, only, ntlm_wb, negotiate, gssapi, bearer
| proxyauth | mask | none, basic, digest, ntlm, any, anysafe, digest_ie, only, ntlm_wb, negotiate, gssapi, bearer, aws_sigv4
| netrc_file | string |
@@ -108,6 +108,8 @@
| tlsauth_password | string |
| sasl_authzid | string |
| sasl_ir | long |
| xoauth2_bearer | string |
@@ -120,8 +122,6 @@
| followlocation | long |
| put | long |
| post | long |
| postfields | string |
@@ -144,7 +144,7 @@
| cookiejar | string |
| http_version | long | none, 1_0, 1_1, 2_0, 2, 2tls, 2_prior_knowledge
| http_version | long | none, 1_0, 1_1, 2_0, 2, 2tls, 2_prior_knowledge, 3
| cookiesession | long |
@@ -182,12 +182,20 @@
| request_target | string |
| http09_allowed | long |
| hsts | string |
| hsts_ctrl | mask | enable, readonlyfile
| mail_from | string |
| mail_rcpt | list |
| mail_auth | string |
| mail_rcpt_alllowfails | long |
| tftp_blksize | long |
| tftp_no_options | long |
@@ -206,8 +214,6 @@
| ftp_create_missing_dirs | long |
| ftp_response_timeout | long |
| ftpsslauth | long | default, ssl, tls
| ftp_account | string |
@@ -238,6 +244,8 @@
| rtsp_server_cseq | long |
| aws_sigv4 | string |
| crlf | long |
| range | string |
@@ -274,6 +282,8 @@
| upload_buffersize | long |
| mime_options | mask | formescape
| timeout | long |
| low_speed_limit | long |
@@ -298,6 +308,8 @@
| connecttimeout_ms | long |
| maxage_conn | long |
| maxconnects | long |
| use_ssl | long | none, try, control, all
@@ -322,6 +334,8 @@
| upkeep_interval_ms | long |
| maxlifetime_conn | long |
| sslcert | string |
| sslversion | long | default, tlsv1, sslv2, sslv3, tlsv1_0, tlsv1_1, tlsv1_2, tlsv1_3, max_default, max_none, max_tlsv1_0, max_tlsv1_1, max_tlsv1_2, max_tlsv1_3
@@ -330,10 +344,6 @@
| cainfo | string |
| random_file | string |
| egdsocket | string |
| ssl_verifyhost | long |
| ssl_cipher_list | string |
@@ -364,12 +374,10 @@
| gssapi_delegation | long | none, policy_flag, flag
| ssl_options | long | allow_beast, no_revoke, no_backends, ok, too_late, unknown_backend
| ssl_options | long | allow_beast, no_revoke, no_backends, ok, too_late, unknown_backend, no_partialchain, revoke_best_effort, native_ca, auto_client_cert
| ssl_enable_alpn | long |
| ssl_enable_npn | long |
| pinnedpublickey | string |
| ssl_verifystatus | long |
@@ -398,7 +406,7 @@
| proxy_ssl_cipher_list | list |
| proxy_ssl_options | long | allow_beast, no_revoke, no_backends, ok, too_late, unknown_backend
| proxy_ssl_options | long | allow_beast, no_revoke, no_backends, ok, too_late, unknown_backend, no_partialchain, revoke_best_effort, native_ca, auto_client_cert
| proxy_ssl_verifyhost | long |
@@ -414,6 +422,18 @@
| proxy_tls13_ciphers | list |
| proxy_issuercert | string |
| ssl_ec_curves | string |
| doh_ssl_verifyhost | long |
| doh_ssl_verifypeer | long |
| doh_ssl_verifystatus | long |
| ca_cache_timeout | long |
| ssh_auth_types | mask | none, policy_flag, flag
| ssh_public_keyfile | string |
@@ -426,11 +446,17 @@
| ssh_compression | long |
| ssh_host_public_key_sha256 | string |
| telnetoptions | list |
| ws_options | mask | binary, close, cont, offset, ping, pong, raw_mode, text
| new_file_perms | long |
| new_directory_perms | long |
| telnetoptions | list |
| quick_exit | long |
|===
// end::url_options[]
+106 -52
View File
@@ -187,8 +187,14 @@ Fähigkeiten die von WeeChat unterstützt werden: account-notify, away-notify, c
Fähigkeiten die standardmäßig genutzt werden sollen, können mit der Option irc.server_default.capabilities gesetzt werden (oder individuell für jeden Server mit der Option irc.server.xxx.capabilities).
Beispiele:
/cap
/cap req multi-prefix away-notify
zeigt unterstützte und aktivierte Funktionen an:
/cap
Fähigkeiten multi-prefix und away-notify anfordern:
/cap req multi-prefix away-notify
Fähigkeit extended-join anfordern, Fähigkeit multi-prefix entfernen:
/cap req extended-join -multi-prefix
Fähigkeit away-notify entfernen
/cap req -away-notify
----
[[command_irc_connect]]
@@ -1098,6 +1104,19 @@ Beispiele:
// end::alias_commands[]
// tag::weechat_commands[]
[[command_weechat_allbuf]]
* `+allbuf+`: führt einen Befehl in allen Buffern aus
----
/allbuf <Befehl>
command: Befehl der ausgeführt werden soll (oderText welcher in den Buffer gesendet werden soll, sofern dem Befehl kein '/' vorangestellt ist)
Beispiele:
setze den ungelesen Marker für alle Buffer:
/allbuf /buffer set unread
----
[[command_weechat_away]]
* `+away+`: Abwesenheitsstatus setzen oder entfernen
@@ -1174,6 +1193,8 @@ Beispiele:
unmerge [<number>|-all]
hide [<number>|<name>|-all [<number>|<name>...]]
unhide [<number>|<name>|-all [<number>|<name>...]]
switch [-previous]
zoom
renumber [<number1> [<number2> [<start>]]]
close [<n1>[-<n2>]|<name>...]
notify [<level>]
@@ -1182,6 +1203,7 @@ Beispiele:
delvar <name>
set <property> [<value>]
get <property>
jump smart|last_displayed|prev_visited|next_visited
<number>|-|+|<name>
list: alle geöffneten Buffer werden aufgelistet (ohne Angabe von Argumente wird diese Liste standardmäßig ausgegeben)
@@ -1195,6 +1217,8 @@ Beispiele:
unmerge: trennt Buffer wieder voneinander, falls zwei Buffer die selbe Nummer teilen
hide: versteckt einen Buffer
unhide: macht Buffer wieder sichtbar
switch: wechselt zum nächsten zusammengeführten Buffer (oder zum vorherigen Buffer mit "-previous")
zoom: zoomen eines zusammengeführten Buffers
renumber: Buffer werden umnummeriert (Einstellung weechat.look.buffer_auto_renumber muss deaktiviert sein)
close: Buffer schließen (Nummer oder Bereich ist optional)
notify: Benachrichtigungsstufe für den aktuellen Buffer anzeigen oder einstellen. Folgende Möglichkeiten bestimmen den Grad der Benachrichtigung und ob der Buffer in der Hotlist angezeigt wird:
@@ -1208,6 +1232,11 @@ renumber: Buffer werden umnummeriert (Einstellung weechat.look.buffer_auto_renum
delvar: löscht eine lokale Variable des aktuellen Buffers
set: setzt eine Eigenschaft für den aktuellen Buffer
get: zeigt eine Eigenschaft für den aktuellen Buffer an
jump: springt zu einem anderen Buffer:
smart: nächster Buffer mit Aktivität
last_displayed: letzter angezeigter Buffer (vor dem letzten Sprung zu einem Buffer)
prev_visited: zuvor besuchter Buffer
next_visited: zum nächsten besuchten Buffer springen
number: wechselt von einem Buffer zu einem anderen, mögliche Optionen:
'+': relativer Sprung um 'n'-Buffer
'-': relativer Sprung, um 'n'-Buffer
@@ -1337,6 +1366,7 @@ Beispiele:
mouse|cursor [verbose]
hdata [free]
time <command>
unicode <string>
list: zeigt alle Erweiterungen mit Debuglevel an
set: setzt den Level der Protokollierung für eine Erweiterung
@@ -1358,6 +1388,13 @@ infolists: zeigt Information über die Infolists an
term: zeigt Informationen über das Terminal an
windows: zeigt die Fensterstruktur an
time: misst die Zeit um einen Befehl auszuführen oder um einen Text in den aktuellen Buffer zu senden
unicode: Zeigt Informationen über Unicode-Zeichen in Zeichenkette an (evaluiert, siehe /help eval)
Beispiele:
/debug set irc 1
/debug mouse verbose
/debug time /filter toggle
/debug unicode ${chars:${\u26C0}-${\u26CF}}
----
[[command_weechat_eval]]
@@ -1404,35 +1441,36 @@ Um einen Vergleich zwischen zwei Zeichenketten zu erzwingen, müssen die Ausdrü
"50" > "100" ==> 1
Einige Variablen werden im Ausdruck mittels der Formatierung ${variable} ersetzt. Mögliche Variablen sind, nach Reihenfolge ihrer Priorität:
1. die Zeichenfolge selbst ohne Auswertung (Format: "raw:xxx")
2. eine benutzerdefinierte Variable (Format: "name")
3. eine evaluierte Teilzeichenkette (Format: "eval:xxx")
4. eine evaluierte Bedingung (Format: "eval_cond:xxx")
5. eine Zeichenkette mit Escapesequenzen (Format: "esc:xxx" oder "\xxx")
6. eine Zeichenfolge, die in Kleinbuchstaben umgewandelt wird (Format: "lower:xxx")
7. eine Zeichenfolge, die in Großbuchstaben umgewandelt wird (Format: "upper:xxx")
8. Zeichen, die in einer Zeichenkette nicht dargestellt werden sollen (Format: "hide:Zeichen,Zeichenkette")
9. eine Zeichenkette mit einer maximalen Anzahl an Zeichen (Format: "cut:max,suffix,string" oder "cut:+max,suffix,string")
- die Zeichenfolge selbst ohne Auswertung (Format: "raw:xxx")
- eine benutzerdefinierte Variable (Format: "name")
- eine evaluierte Teilzeichenkette (Format: "eval:xxx")
- eine evaluierte Bedingung (Format: "eval_cond:xxx")
- eine Zeichenkette mit Escapesequenzen (Format: "esc:xxx" oder "\xxx")
- eine Zeichenfolge mit einer Reihe von Zeichen (Format: "chars:xxx" oder "chars:c1-c2" wobei "xxx" von folgenden Typ sein muss: "digit", "xdigit", "lower", "upper", "alpha", "alnum")
- eine Zeichenfolge, die in Kleinbuchstaben umgewandelt wird (Format: "lower:xxx")
- eine Zeichenfolge, die in Großbuchstaben umgewandelt wird (Format: "upper:xxx")
- Zeichen, die in einer Zeichenkette nicht dargestellt werden sollen (Format: "hide:Zeichen,Zeichenkette")
- eine Zeichenkette mit einer maximalen Anzahl an Zeichen (Format: "cut:max,suffix,string" oder "cut:+max,suffix,string")
oder maximale Anzahl an Zeichen die auf dem Bildschirm angezeigt werden sollen (Format: "cutscr:Max,Suffix,Zeichenkette oder "cutscr:+Max,Suffix,Zeichenkette")
10. eine Zeichenkette umkehren (Format: "rev:xxx" oder "revscr:xxx")
11. eine Zeichenkette wiederholen (Format: "repeat:Anzahl,Zeichenkette")
12. Länge einer Zeichenkette (Format: "length:xxx" oder "lengthscr:xxx")
13. Aufteilen einer Zeichenkette (Format: "split:Anzahl,Trennzeichen,Flags,xxx")
14. Aufteilen von Shell-Argumenten (Format: "split_shell:Anzahl,xxx")
15. eine Farbe (Format: "color:xxx", siehe "Anleitung für API Erweiterung", Funktion "color")
16. zum modifizieren (Format: "modifier:name,data,string")
17. eine Info (Format: "Info:Name,Argumente", Argumente sind optional)
18. eine Basis 16/32/64 kodierte / dekodierte Zeichenfolge (Format: "base_encode:base,xxx" oder "base_decode:base,xxx")
19. aktuelles Datum/Uhrzeit (Format: "date" oder "date:format")
20. eine Umgebungsvariable (Format: "env:XXX")
21. ein Dreifachoperand (Format: "if:Bedingung?Wert_falls_wahr:Wert_falls_unwahr")
22. Ergebnis eines Ausdrucks mit Klammern und Operatoren + - * / // % ** (Format: "calc:xxx")
23. eine zufällige ganze Zahl (Format: "random:min,max")
24. eine übersetzte Zeichenkette (Format: "translate:xxx")
25. eine Benutzervariable definieren (Format: "define:Name,Wert")
26. eine Option (Format: "file.section.option")
27. eine lokale Variable eines Buffers
28. ein(e) hdata - Name/Variable (der Wert wird automatisch in eine Zeichenkette konvertiert), standardmäßig wird für "window" und "buffer" das aktuelle Fenster/Buffer verwendet.
- eine Zeichenkette umkehren (Format: "rev:xxx" oder "revscr:xxx")
- eine Zeichenkette wiederholen (Format: "repeat:Anzahl,Zeichenkette")
- Länge einer Zeichenkette (Format: "length:xxx" oder "lengthscr:xxx")
- Aufteilen einer Zeichenkette (Format: "split:Anzahl,Trennzeichen,Flags,xxx")
- Aufteilen von Shell-Argumenten (Format: "split_shell:Anzahl,xxx")
- eine Farbe (Format: "color:xxx", siehe "Anleitung für API Erweiterung", Funktion "color")
- zum modifizieren (Format: "modifier:name,data,string")
- eine Info (Format: "Info:Name,Argumente", Argumente sind optional)
- eine Basis 16/32/64 kodierte / dekodierte Zeichenfolge (Format: "base_encode:base,xxx" oder "base_decode:base,xxx")
- aktuelles Datum/Uhrzeit (Format: "date" oder "date:format")
- eine Umgebungsvariable (Format: "env:XXX")
- ein Dreifachoperand (Format: "if:Bedingung?Wert_falls_wahr:Wert_falls_unwahr")
- Ergebnis eines Ausdrucks mit Klammern und Operatoren + - * / // % ** (Format: "calc:xxx")
- eine zufällige ganze Zahl (Format: "random:min,max")
- eine übersetzte Zeichenkette (Format: "translate:xxx")
- eine Benutzervariable definieren (Format: "define:Name,Wert")
- eine Option (Format: "file.section.option")
- eine lokale Variable eines Buffers
- ein(e) hdata - Name/Variable (der Wert wird automatisch in eine Zeichenkette konvertiert), standardmäßig wird für "window" und "buffer" das aktuelle Fenster/Buffer verwendet.
Das Format für hdata kann wie folgt aufgebaut sein:
hdata.var1.var2...: startet mit hdata (der Pointer muss bekannt sein) und fragt eine Variable nach der anderen ab (weitere hdata können folgen)
hdata[list].var1.var2...: startet hdata mittels einer Liste, zum Beispiel:
@@ -1455,6 +1493,8 @@ Beispiele (einfache Zeichenketten):
/eval -n ${window.buffer.full_name} ==> core.weechat
/eval -n ${window.buffer.number} ==> 1
/eval -n ${\t} ==> <tab>
/eval -n ${chars:digit} ==> 0123456789
/eval -n ${chars:J-T} ==> JKLMNOPQRST
/eval -n ${lower:TEST} ==> test
/eval -n ${upper:test} ==> TEST
/eval -n ${hide:-,${relay.network.password}} ==> --------
@@ -1586,6 +1626,22 @@ clear: löscht den Befehlsverlauf
value: Anzahl der gewünschten Einträgen im Befehlsverlauf anzeigen
----
[[command_weechat_hotlist]]
* `+hotlist+`: Hotlist verwalten
----
/hotlist add [low|message|private|highlight]
clear [<level>]
remove
restore [-all]
add: füge den aktuellen Buffer zur Hotlist (Standardlevel: "low", Bedingungen die in Option weechat.look.hotlist_add_conditions definiert sind, werden NICHT überprüft)
clear: lösche Hotlist
level: "lowest" um die niedrigste Benachrichtigungsstufe in der Hotlist zu löschen, "highest" um die höchste Benachrichtigungsstufe in der Hotlist zu löschen, oder mit einer Levelmaske: Integer aus einer Kombination von 1=join/part, 2=message, 4=private, 8=highlight)
remove: entferne aktuellen Buffer von Hotlist
restore: stellt die letzte Hotlist wieder her, die im aktuellen Buffer entfernt wurde (oder alle Buffer mit -all)
----
[[command_weechat_input]]
* `+input+`: Funktionen für die Befehlszeile
@@ -1608,6 +1664,7 @@ Auflistung der möglichen Aktionen:
delete_previous_char: entfernt vorheriges Zeichen
delete_next_char: entfernt nächstes Zeichen
delete_previous_word: entfernt vorheriges Wort
delete_previous_word_whitespace: vorheriges Wort löschen (bis zum Leerzeichen)
delete_next_word: entfernt nächstes Wort
delete_beginning_of_line: entfernt alle Zeichen ab Zeilenanfang bis zum Cursor
delete_end_of_line: entfernt alle Zeichen ab Cursor bis zum Ende der Zeile
@@ -1626,23 +1683,10 @@ Auflistung der möglichen Aktionen:
history_next: ruft nächsten Befehl oder Nachricht aus dem Befehlsspeicher auf (im Such-Modus: vorwärts suchen)
history_global_previous: ruft vorherigen Befehl/Nachricht aus dem globalen Befehlsspeicher auf (für alle Buffer)
history_global_next: ruft nächsten Befehl/Nachricht aus dem globalen Befehlsspeicher auf (für alle Buffer)
jump_smart: wechselt zum nächsten Buffer mit Aktivität (nach Priorität: highlight, Nachricht, …)
jump_last_buffer_displayed: wechselt zum jeweils zuletzt angezeigten Buffer
jump_previously_visited_buffer: springt zum letzten besuchten Buffer
jump_next_visited_buffer: springt zum nächsten besuchten Buffer
hotlist_clear: löscht Hotlist (Aktivitätsanzeige für die Buffer), (optionales Argument: "lowest" löscht den niedrigsten Eintrag der Hotlist, "highest" löscht den höchsten Eintrag der Hotlist, oder eine integer Maske: eine Kombination aus 1=join/part, 2=Nachricht,4=privat,8=highlight)
hotlist_remove_buffer: entferne aktuellen Buffer von der Hotlist
hotlist_restore_buffer: Wiederherstellen der neuesten Hotlist, die im aktuellen Buffer entfernt wurde
hotlist_restore_all: Wiederherstellen der neuesten Hotlist, die in allen Buffern entfernt wurde
grab_key: fängt eine Taste (optionales Argument: Verzögerung um eine Taste einzufangen. Standard sind 500 Millisekunden)
grab_key_command: zeigt den Tastencode (inklusive des eingebundenen Befehls) einer Tastenkombination an und fügt ihn in die Befehlszeile ein (optionales Argument: Verzögerung um eine Taste einzufangen. Standard sind 500 Millisekunden)
grab_mouse: fängt den Code einer Maus Aktivität
grab_mouse_area: fängt den Code einer Maus Aktivität mit entsprechendem Bereich
set_unread: setzt für alle Buffer die Markierung der ungelesen Nachrichten
set_unread_current_buffer: setzt nur für den aktuellen Buffer eine Markierung der ungelesen Nachrichten
switch_active_buffer: springt zum nächsten zusammengefügten Buffer
switch_active_buffer_previous: springt zum vorherigen zusammengefügten Buffer
zoom_merged_buffer: zoomt in zusammengefügte Buffer
insert: fügt einen Text in die Eingabezeile ein (Escapesequenzen sind möglich, siehe /help print)
send: schickt Text an einen Buffer
paste_start: Einfügen wird gestartet (bracketed paste mode)
@@ -2116,20 +2160,23 @@ Beispiele:
----
[[command_weechat_upgrade]]
* `+upgrade+`: WeeChat Binärdatei neu laden, ohne die Verbindung zum Server zu trennen
* `+upgrade+`: Speichern der WeeChat-Sitzung und laden der WeeChat-Binärdatei, ohne die Verbindung zu Servern zu trennen
----
/upgrade [-yes] [<path_to_binary>|-quit]
/upgrade [-yes] [<path_to_binary>|-save|-quit]
-yes: wird benötigt, sobald Option "weechat.look.confirm_upgrade" aktiviert ist
path_to_binary: Pfad zu einer ausführbaren WeeChat Binärdatei (Standardeinstellung ist die aktuell ausführbare Datei)
-dummy: ohne Funktion (dient lediglich dazu, um nicht versehentlich die "-quit" Funktion auszuführen)
-save: speichert nur die aktuelle Sitzung, WeeChat wird nicht beendet oder neu gestartet. DieKonfigurationsdateien werden hierbei nicht gespeichert (falls dies gewünscht wird, nutze vorher /save)
-quit: trennt *ALLE* Verbindungen, speichert die aktuelle Sitzung und beendet WeeChat, um den aktuellen Zustand später wiederherstellen (siehe unten)
Dieser Befehl führt ein Upgrade von WeeChat durch und startet die laufende Sitzung neu. Bevor dieser Befehl ausgeführt wird, sollte eine neue Version von WeeChat entweder vorab kompiliert, oder mit einem Paketmanager installiert worden sein.
Hinweis: SSL Verbindungen werden während eines Upgrades unterbrochen, da diese Verbindungen zur Zeit nicht mit GnuTLS gehalten werden können. Nach einem erfolgten Upgrade findet eine automatische Verbindung zu diesen Servern statt.
Wichtig: Die Verwendung der Option -save kann gefährlich sein. Für ein Standard-Upgrade oder einen Neustart wird empfohlen, nur den /upgrade (oder mit -quit) Befehl zu nutzen.Mit der Option -save kann eine Sitzung regelmäßig gespeichert und dann wiederhergestellt werden,falls Weechat abnormal beendet wird (Stromausfall, Absturz etc.)
Der Upgrade Vorgang besteht aus vier Schritten:
1. Sicherung der Sitzung, in Dateien für Core und Erweiterungen (buffers, history, ..)
2. alle Erweiterungen werden ausgeschaltet (Konfigurationen *.conf werden gesichert)
@@ -2142,9 +2189,13 @@ Nutzt man die "-quit" Funktion ist die Abfolge geringfügig anders:
3. alle Erweiterungen werden ausgeschaltet
4. die WeeChat Konfiguration wird gesichert
5. WeeChat wird beendet
Die Sitzung kann zu einem späteren Zeitpunkt wiederhergestellt werden: weechat --upgrade
WICHTIG: Die Sitzung muss mit exakt den selben Konfigurationsdateien wiederhergestellt werden (*.conf)
Es ist möglich, die WeeChat-Sitzung auf einem anderen Computer wiederherzustellen, wenn Sie den Inhalt der WeeChat Verzeichnisse kopieren (siehe / debug dirs).
Mit der Option "-save" ist der Ablauf:
1. Die Sitzung wird in Dateien (*.upgrade) gesichert, allerdings mit dem Status das IRC und Client Verbindungen unterbrochen sind (es findet aber keine Trennung der Verbindung statt!)
Durch nutzen von -quit oder -save kann eine Sitzung zu einem späteren Zeitpunkt wiederhergestellt werden:weechat --upgrade
WICHTIG: Die Sitzung muss mit exakt den selben Konfigurationsdateien wiederhergestellt werden (*.conf) und wenn möglich mit der selben Version von WeeChat (oder einer neueren Version).
Es ist möglich, die WeeChat-Sitzung auf einem anderen Computer wiederherzustellen, wenn Sie den Inhalt der WeeChat Verzeichnisse kopieren (siehe /debug dirs).
----
[[command_weechat_uptime]]
@@ -2328,6 +2379,7 @@ Die folgenden Variablen können in den obigen Optionen genutzt werden:
- ${format_hotlist}: die formatierte Hotlist (evaluiert aus Option buflist.format.hotlist)
- ${hotlist}: die Hotlist in der Rohform
- ${hotlist_priority}: "none", "low", "message", "private" oder "highlight"
- ${hotlist_priority_number}: -1 = keine, 0 = niedrig, 1 = Nachricht, 2 = private, 3 = Hervorhebungen
- ${format_lag}: die Verzögerung für einen IRC Server-Buffer, ist leer falls es keine Verzögerung gibt (evaluiert aus Option buflist.format.lag)
- ${format_tls_version}: Indikator der TLS Version für den Serverbuffer, Channels bleiben unberührt (evaluiert aus Option buflist.format.tls_version)
----
@@ -3049,7 +3101,7 @@ Beispiele:
----
/spell enable|disable|toggle
listdict
setdict <dict>[,<dict>...]
setdict -|<dict>[,<dict>...]
deldict
addword [<dict>] <word>
@@ -3057,7 +3109,7 @@ Beispiele:
disable: Rechtschreibprüfung wird deaktiviert
toggle: Funktionalität der Rechtschreibprüfung umschalten
listdict: die, auf dem System, installierten Wörterbücher werden aufgelistet
setdict: Wörterbuch für den aktuellen Buffer einstellen (mehrere Wörterbücher müssen durch Kommata getrennt werden)
setdict: Wörterbuch für den aktuellen Buffer einstellen (mehrere Wörterbücher müssen durch Kommata getrennt werden (spezieller Wert "-" deaktiviert die Rechtschreibprüfung für den aktuellen Buffer))
deldict: Wörterbuch für den aktuellen Buffer entfernen
addword: fügt ein Wort in das persönliche Wörterbuch hinzu
@@ -3165,7 +3217,7 @@ post_action: Aktion welche nach der Abarbeitung des Triggers ausgeführt werden
restart: startet Trigger neu (Hook(s) werden neu erstellt)
show: zeigt detaillierte Informationen zu einem Trigger (inklusive einer kleinen Statistik)
del: entfernt einen Trigger
-all: führt eine Aktion aus, die alle Trigger beinhaltet
-all: führt eine Aktion aus, die alle Trigger betrifft
restore: stellt Trigger mit Standardwerten wieder her (funktioniert nur bei vorgegebenen Triggern)
default: stellt die standardmäßigen Trigger wieder her
monitor: öffnet den Trigger Monitor-Buffer, mit optionaler Filterfunktion:
@@ -3179,13 +3231,15 @@ Wenn ein Trigger-Callback aufgerufen wird, dann wird folgende Befehlskette ausge
5. Aktion welche nach der Abarbeitung des Triggers ausgeführt werden soll
Beispiele (die standardmäßig verfügbaren Trigger kann man sich mit "/trigger listdefault" anzeigen lassen):
fügt einer Nachricht die Textattribute *fett*, _unterstrichen_ und /kursiv/ hinzu:
fügt einer Nachricht die Textattribute *fett*, _unterstrichen_ und /kursiv/ hinzu (nur in User-Nachrichten):
/trigger add effects modifier weechat_print "${tg_tag_nick}" "==\*([^ ]+)\*==*${color:bold}${re:1}${color:-bold}*== ==_([^ ]+)_==_${color:underline}${re:1}${color:-underline}_== ==/([^ ]+)/==/${color:italic}${re:1}${color:-italic}/"
verbirgt die Nicklist auf kleineren Terminals:
/trigger add resize_small signal signal_sigwinch "${info:term_width} < 100" "" "/bar hide nicklist"
/trigger add resize_big signal signal_sigwinch "${info:term_width} >= 100" "" "/bar show nicklist"
speichert die Konfiguration jede Stunde ab:
/trigger add cfgsave timer 3600000;0;0 "" "" "/mute /save"
speichert, ohne Ausgabe von Text, eine Weechat-Sitzung um Mitternach (siehe /help upgrade):
/trigger add session_save signal day_changed "" "" "/mute /upgrade -save"
öffnet den Trigger Monitor und zeigt ausschließlich modifier und Trigger an, die mit "resize" im Namen beginnen:
/trigger monitor @modifier,resize*
----
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -100,7 +100,7 @@ $HOME/.local/share/weechat/weechat.log::
WeeChat wird programmiert von Sébastien Helleu und weiteren Beteiligten (eine vollständige Auflistung
findet man in der AUTHORS.adoc Datei).
Copyright (C) 2003-2022 {author}
Copyright (C) 2003-2023 {author}
WeeChat is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
+37 -131
View File
@@ -10,13 +10,10 @@
:docinfo1:
Diese Dokumentation bezieht sich auf die WeeChat Version ≥ 0.3.0. Es sollte aber
vorzugsweise immer die aktuell veröffentlichte Version von WeeChat genutzt werden.
Übersetzer:
* Juergen Descher <jhdl@gmx.net>, 2009
* Nils Görs <weechatter@arcor.de>, 2009-2018
* Nils Görs <weechatter@arcor.de>, 2009-2022
toc::[]
@@ -200,17 +197,10 @@ 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?
Ab WeeChat ≥ 1.8 wird standardmäßig die link:weechat_user.de.html#buflist[buflist-Erweiterung ^↗^,window=_blank]
automatisch geladen und verwendet.
Diese Erweiterung, link:weechat_user.de.html#buflist[buflist ^↗^,window=_blank],
wird standardmäßig geladen und aktiviert.
Bei älteren Versionen kann stattdessen das Skript _buffers.pl_ installiert werden:
----
/script install buffers.pl
----
Um die maximale Breite der buflist-Spalte zu reduzieren (ersetze "buflist" durch "buffers", wenn das
Skript _buffers.pl_ genutzt wird), nutze folgende Option:
Um die maximale Breite der buflist-Spalte zu reduzieren, nutze folgende Option:
----
/set weechat.bar.buflist.size_max 15
@@ -230,26 +220,6 @@ kbd:[F1] oder kbd:[Ctrl+F1]) zum Hoch-Scrollen,
kbd:[F2] oder kbd:[Ctrl+F2] zum Runter-Scrollen,
kbd:[Alt+F1] und kbd:[Alt+F2] um an den Anfang bzw. an das Ende der Liste zu springen.
Wird das Skript _buffers.pl_ verwendet,
müssen die entsprechenden Tasten selbst definiert werden.
Sie sind dann vergleichbar mit den vorhanden Tasten für die Nicklist. +
Um zum Beispiel folgende Tasten nutzen zu können:
kbd:[F1], kbd:[F2] um zu scrollen,
oder kbd:[Alt+F1] und kbd:[Alt+F2] um an den Anfang bzw. das Ende zu springen,
finden folgende WeeChat-Befehle Anwendung:
----
/key bind meta-OP /bar scroll buffers * -100%
/key bind meta-OQ /bar scroll buffers * +100%
/key bind meta-meta-OP /bar scroll buffers * b
/key bind meta-meta-OQ /bar scroll buffers * e
----
[NOTE]
Die Tasten "meta-OP" und "meta-OQ" 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.
Siehe auch: link:weechat_user.de.html#key_bindings_command_line[Benutzerhandbuch / Tastenbelegung ^↗^,window=_blank].
[[customize_buflist]]
=== Wie kann ich die Darstellung der Bufferliste anpassen, z.B. die Farbe des aktiven Buffers?
@@ -369,9 +339,8 @@ sobald das Item "input_text" in keiner anderen Bar genutzt wird:
[[terminal_copy_paste]]
=== Wie kann ich einen Text kopieren und einfügen, ohne dass die Nickliste (Benutzerliste) mit kopiert wird?
Seit WeeChat ≥ 1.0 gibt es den "einfachen Anzeigemodus".
Dieser kann mit der Tastenkombination kbd:[Alt+l] (<l> wie in Lima) aktiviert werden.
Der Inhalt des aktuellen Fensters wird nach der Aktivierung ohne Formatierung angezeigt.
Sie können den vereinfachten Anzeigemodus verwenden (Standardtaste: kbd:[Alt+l] (`L`)), dieser
zeigt nur den Inhalt des aktuell ausgewählten Fensters an, ohne jegliche Formatierung.
Jetzt kannst Du die Block-Auswahl nutzen, insofern dein Terminal diesen Modus
unterstützt (rxvt-unicode, konsole, gnome-terminal, ... um nur einige zu nennen ).
@@ -388,8 +357,7 @@ die Benutzerliste am oberen oder unteren Rand des WeeChat-Bildschirmes zu positi
[[urls]]
=== Wie kann ich eine URL aufrufen, die einen Zeilenumbruch besitzt?
Seit WeeChat ≥ 1.0 gibt es den "einfachen Anzeigemodus".
Dieser kann mit der Tastenkombination kbd:[Alt+l] (<l> wie in Lima) aktiviert werden.
Dazu kann man den vereinfachten Anzeigemodus nutzen (Standardtaste: kbd:[Alt+l] (`L`)).
Um URLs einfacher zu öffnen, können alternativ folgende Optionen gesetzt werden:
@@ -399,7 +367,7 @@ Um URLs einfacher zu öffnen, können alternativ folgende Optionen gesetzt werde
/set weechat.bar.nicklist.position top
----
* Die Ausrichtung bei einem Zeilenumbruch innerhalb eines Wortes deaktivieren (WeeChat ≥ 1.7).
* Die Ausrichtung bei einem Zeilenumbruch innerhalb eines Wortes deaktivieren.
----
/set weechat.look.align_multiline_words off
@@ -411,9 +379,9 @@ Um URLs einfacher zu öffnen, können alternativ folgende Optionen gesetzt werde
/set weechat.look.align_end_of_lines time
----
Ab der WeeChat Version ≥ 0.3.6, kann die Option "eat_newline_glitch" aktiviert werden.
Damit wird das Zeichen für einen Zeilenumbruch nicht an die dargestellten Zeilen angefügt
(dies führt dazu, dass URLs beim Markieren korrekt erkannt werden):
Es kann auch die "eat_newline_glitch" Option aktiviert werden,
sodass kein neuer Zeilenumbruch hinzugefügt wird,
am Ende jeder angezeigten Zeile (es wird die URL-Auswahl nicht unterbrechen):
----
/set weechat.look.eat_newline_glitch on
@@ -460,8 +428,6 @@ In WeeChat wird der neue Wert umgehend genutzt:
[[use_256_colors]]
=== Wie kann ich 256 Farben in WeeChat nutzen?
256 Farben werden ab der WeeChat Version ≥ 0.3.4 unterstützt.
Zuerst sollte überprüft werden, ob die _TERM_-Umgebungsvariable korrekt hinterlegt ist.
Folgende Werte sind zu empfehlen:
@@ -482,18 +448,15 @@ term screen-256color
Falls die Umgebungsvariable _TERM_ einen falschen Wert haben sollte und WeeChat
schon gestartet wurde, kann man die Umgebungsvariable mit folgenden WeeChat Befehlen
anpassen (WeeChat ≥ 1.0):
anpassen:
----
/set env TERM screen-256color
/upgrade
----
Mit der WeeChat Version 0.3.4 muss der Befehl `/color` genutzt werden, um neue Farben zu erstellen.
Ab Version ≥ 0.3.5 kann in den Optionen für eine zu nutzende Farbe die entsprechende
Zahl der Farbe eingetragen werden (optional: mit dem Befehl `/color` kann man einen Alias für
eine Farbe definieren).
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]
für weitere Informationen die das Farbmanagement betreffen.
@@ -542,7 +505,7 @@ Um zum Beispiel Buffer als gelesen zu markieren,
wenn das Terminal den Fokus verlieren sollte:
----
/key bind meta2-O /input set_unread
/key bind meta2-O /allbuf /buffer set unread
----
[[screen_paste]]
@@ -719,8 +682,6 @@ Um die korrekten Tasten zu finden, sollte man mit kbd:[Alt+k] die gewünschte Ta
[[mouse_not_working]]
=== Die Mausunterstützung funktioniert nicht, was kann ich tun?
Eine Unterstützung von Mausfunktionen ist seit WeeChat ≥ 0.3.6 verfügbar.
Als erstes sollte man die Mausunterstützung einschalten:
----
@@ -778,12 +739,6 @@ Falls macOS genutzt wird,
muss mittels Homebrew `openssl` installiert werden.
Eine CA-Datei wird mittels Zertifikaten vom Systemschlüssel geladen.
Ab WeeChat ≤ 3.1 können Sie den Pfad zu Systemzertifikaten festlegen:
----
/set weechat.network.gnutls_ca_file "/usr/local/etc/openssl/cert.pem"
----
Falls Fehlermeldungen auftreten, die besagen,
dass der gnutls Handshake fehlgeschlagen ist,
sollte ein kleinerer Diffie-Hellman-Schlüssel verwendet werden (Standardgröße: 2048):
@@ -813,8 +768,8 @@ des Zertifikats von Hand eingetragen werden:
[[irc_ssl_handshake_error]]
=== Bei einem Verbindungsaufbau zum Server via SSL erhalte ich "TLS Handshake fehlgeschlagen". Wie kann ich das beheben?
Man sollte versuchen, eine andere Priorität zu nutzen (nur WeeChat ≥ 0.3.5);
Im folgenden Beispiel muss "xxx" durch den betroffenen Servernamen ersetzt werden:
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"
@@ -823,23 +778,8 @@ Im folgenden Beispiel muss "xxx" durch den betroffenen Servernamen ersetzt werde
[[irc_ssl_libera]]
=== Wie kann ich eine SSL gesicherte Verbindung zum libera Server herstellen?
Ab WeeChat ≤ 3.1 kann mit der Option _weechat.network.gnutls_ca_file_ eine Datei mit
Zertifikaten ausgewählt werden:
----
/set weechat.network.gnutls_ca_file "/etc/ssl/certs/ca-certificates.crt"
----
Wenn openssl mit homebrew unter macOS installiert wurde, könnte es sein,
dass die Zertifikate in einer anderen Datei bereitgestellt werden:
----
/set weechat.network.gnutls_ca_file "/usr/local/etc/openssl/cert.pem"
----
[NOTE]
Überprüfe, ob die Zertifikationsdatei auf deinem System installiert wurde.
Üblicherweise wird diese Datei durch das Paket "ca-certificates" bereitgestellt.
Ü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:
@@ -903,8 +843,8 @@ Für einen einzelnen Server:
/set irc.server.libera.autojoin_dynamic on
----
Ab WeeChat ≥ 3.5 kann man mit dem `/autojoin` Befehl den
aktuellen Kanal in die Serveroption autojoin hinzufügen:
Sie können den aktuellen Kanal auch in der Serveroption "autojoin" hinzufügen, indem
Sie den `/autojoin`-Befehl nutzen:
----
/autojoin add
@@ -916,28 +856,7 @@ oder einen beliebigen Kanal:
/autojoin add #test
----
Bis WeeChat ≤ 3.4, wird der `/set` Befehl verwendet, um die
Liste der autojoin-Kanäle zu editieren. In folgendem Beispiel
wird der "libera"-Server angepasst:
----
/set irc.server.libera.autojoin [TAB]
----
[NOTE]
Man kann den Namen oder den Wert einer Option mit kbd:[Tab] vervollständigen
oder mittels kbd:[Shift+Tab] eine teilweise Vervollständigung durchführen,
was bei Namen sinnvoll ist, denn so braucht nicht die komplette Liste
der Kanäle neu geschrieben werden.
Es kann auch der `/fset` Befehl verwendet werden, um die Liste der Kanäle
zu editieren:
----
/fset autojoin
----
Bis WeeChat ≤ 3.4 kann man auch ein Skript nutzen:
Es existieren aber auch Skripten:
----
/script search autojoin
@@ -993,12 +912,11 @@ 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].
[[filter_irc_join_channel_messages]]
=== Wie kann ich Server-Nachrichten filtern, wenn ich einen IRC Kanal betrete?
=== Wie kann ich die Server-Nachrichten filtern, wenn ich einen IRC Kanal betrete?
Ab WeeChat ≥ 0.4.1 kann man auswählen, welche Server-Nachrichten beim Betreten
eines Kanals angezeigt und welche verborgen werden sollen. Dazu nutzt man
die Option _irc.look.display_join_message_ (für weitere Informationen, siehe
`+/help irc.look.display_join_message+`).
Sie können auswählen, welche Nachrichten angezeigt werden, wenn Sie einem Kanal beitreten
Option _irc.look.display_join_message_ (siehe `+/help irc.look.display_join_message+`
Für mehr Information).
Um Nachrichten visuell zu verbergen, können diese gefiltert werden.
Dazu wird der Befehl `/filter` auf bestimmte Nachrichten-Tags angewandt.
@@ -1062,18 +980,13 @@ Teilnehmer haben:
/set irc.server_default.away_check_max_nicks 25
----
[NOTE]
Für WeeChat ≤ 0.3.3, lauten die Optionen _irc.network.away_check_ und
_irc.network.away_check_max_nicks_.
[[highlight_notification]]
=== Wie kann ich mich benachrichtigen lassen, falls mich jemand in einem Kanal direkt anspricht (highlight)?
Seit WeeChat ≥ 1.0 gibt es standardmäßig den Trigger "beep",
der an das Terminal ein _BEL_ Signal schickt,
sobald man eine highlight (hervorgehobene) oder private Nachricht erhält.
Nun muss man lediglich im Terminalprogramm oder dem Multiplexer (screen/tmux) einstellen,
welcher Befehl ausgeführt werden soll, sobald das Terminal das _BEL_ Signal erhält.
Es gibt einen voreingestellten Trigger mit Namen „beep“, der ein _BEL_ an das Terminal sendet,
bei einem Highlight oder einer private Nachricht. Damit können Sie Ihr Terminal konfigurieren
(oder einen Multiplexer wie screen/tmux), um einen Befehl auszuführen oder einen Ton abzuspielen, wenn
ein _BEL_ tritt auf.
Der Trigger "beep" kann auch direkt an einen externen Befehl gekoppelt werden:
@@ -1099,11 +1012,9 @@ Es gibt weitere Skripten, die auch zu diesem Thema passen:
[[disable_highlights_for_specific_nicks]]
=== Wie kann ich Highlights (Hervorhebungen) von bestimmten Nicks deaktivieren?
Ab WeeChat ≥ 0.3.4 kann die Eigenschaft
link:weechat_user.de.html#max_hotlist_level_nicks[hotlist_max_level_nicks_add ^↗^,window=_blank]
für den entsprechenden Buffer gesetzt werden.
Dies kann für einzelne Nicks,
einen Buffer oder eine Gruppe von Buffern (z.B. IRC Server) gelten.
Dafür sollte link:weechat_user.de.html#max_hotlist_level_nicks[hotlist_max_level_nicks_add ^↗^,window=_blank]
die Buffer-Eigenschaft genutzt werden, um das maximale Hotlist-Level für einige Nicks pro Puffer festzulegen,
oder pro Gruppe von Buffern (wie IRC-Server).
Um nun Highlights (Hervorhebungen) für bestimmte Nicks zu deaktivieren, muss
man die entsprechende Eigenschaft auf 2 setzen:
@@ -1139,7 +1050,7 @@ Für weitere Beispiele, siehe `+/help buffer_autoset+`.
=== Wie kann ich bei zusammengefügten Buffern den Zielbuffer ändern (z.B. bei einem Server-Buffer)?
Die Standardtastenkombination ist kbd:[Ctrl+x]. Der entsprechende Befehl lautet:
`+/input switch_active_buffer+`.
`+/buffer switch+`.
[[plugins_scripts]]
== Erweiterungen / Skripten
@@ -1159,9 +1070,8 @@ Um dies zu beheben, muss folgendes konfiguriert werden:
[[install_scripts]]
=== Wie kann ich Skripten installieren? Sind Skripten kompatibel mit anderen IRC Clients?
Seit WeeChat ≥ 0.3.9 gibt es den Befehl `/script` um Skripten zu installieren und zu verwalten
(siehe `/help script` um eine Hilfe zu erhalten). Nutzt man eine ältere Version von WeeChat
kann man die Skripten weeget.py und script.pl nutzen.
Mit dem Befehl `/script` können Sie Skripte installieren und verwalten (siehe `/help script`
für Hilfe).
Die Skripten für WeeChat sind mit anderen IRC-Clients nicht kompatibel und vice versa.
@@ -1178,7 +1088,7 @@ $ rm ~/.cache/weechat/script/plugins.xml.gz
----
[NOTE]
Ab WeeChat ≤ 3.1, sollte der Pfad: _~/.weechat/script/plugins.xml.gz_ lauten.
Wenn Sie die XDG-Verzeichnisse nicht verwenden, könnte der Pfad lauten: _~/.weechat/script/plugins.xml.gz_.
Danach sollte man noch einmal versuchen die Datei herunter zu laden:
@@ -1220,10 +1130,6 @@ Du brauchst lediglich die "spell"-Erweiterung neu zu laden:
/plugin reload spell
----
[NOTE]
Bis WeeChat ≤ 2.4, hieß die "spell"-Erweiterung, "aspell". Somit lautet der Befehl:
`/plugin reload aspell`.
[[settings]]
== Einstellungen
+28 -10
View File
@@ -144,10 +144,6 @@ Liste ist nicht vollständig):
|===
Mit Python 2, das mittlerweile veraltet ist und nicht mehr verwendet werden sollte, ist die
Zeichenkette die an die Callbacks gesendet wird immer vom Typ `str` und kann deshalb bei den
oben genannten Fällen, ungültige UTF-8 Daten enthalten.
[[language_perl]]
==== Perl
@@ -205,11 +201,21 @@ Funktionen werden aufgerufen mittels `+weechat.xxx(arg1, arg2, ...)+`.
Funktionen werden aufgerufen mittels `+weechat::xxx arg1 arg2 ...+`.
Da Tcl nur String-Typen hat, gibt es keinen Null-Typ, der als Argument übergeben werden kann
wenn eine Funktion Nullwerte akzeptiert. Um dies zu überwinden, können Sie die Konstante
`$::weechat::WEECHAT_NULL` verwenden, das als Nullwert fungiert. Diese Konstante ist definiert
als `\uFFFF\uFFFF\uFFFFWEECHAT_NULL\uFFFF\uFFFF\uFFFF`, es ist somit sehr unwahrscheinlich
das es ungewollt verwendet wird.
[[tcl_null]]
===== Nullwerte
Da Tcl nur String-Typen nutzt, gibt es keinen Null-Typ, der als Argument übergeben
werden kann wenn eine Funktion Nullwerte akzeptiert, oder als Argument in einem
Callback zu erhalten Funktion. Um dies zu umgehen, definiert die WeeChat-API die
Konstante `$::weechat::WEECHAT_NULL`, welches als Nullwert fungiert. Diese Konstante
ist festgelegt und lautet `\uFFFF\uFFFF\uFFFFWEECHAT_NULL\uFFFF\uFFFF\uFFFF`,
es ist also sehr unwahrscheinlich das dies ungewollt genutzt wird.
Sie können diese Konstante übergeben, wenn eine Funktion NULL als Argument akzeptiert
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].
[[language_guile]]
==== Guile (Scheme)
@@ -589,6 +595,7 @@ Liste der Skript API Funktionen:
string_has_highlight_regex +
string_mask_to_regex +
string_format_size +
string_parse_size +
string_color_code_size +
string_remove_color +
string_is_command_char +
@@ -1334,7 +1341,7 @@ Das Ergebnis ist eine Hashtabelle mit folgenden Schlüsseln
[width="100%",cols="3,^2,10,7",options="header"]
|===
| Schlüssel | Seit WeeChat ^(1)^ | Beschreibung | Beispiel
| Schlüssel | Seit WeeChat ^(1)^ | Beschreibung | Beispiel
| Tags | 0.4.0
| Tags in der Nachricht (kann leer sein).
@@ -1376,6 +1383,14 @@ Das Ergebnis ist eine Hashtabelle mit folgenden Schlüsseln
| der Text (zum Beispiel eine Nachricht eines Users).
| `+hello!+`
| paramN | 3.4
| Befehlsparameter (von 1 bis N).
| `+#weechat+`
| num_params | 3.4
| Anzahl der Befehlsparameter.
| `+2+`
| pos_command | 1.3
| Index von _command_ innerhalb einer Nachricht ("-1" falls _command_ nicht gefunden wird).
| `+47+`
@@ -1414,6 +1429,9 @@ dict = weechat.info_get_hashtable(
# "channel": "#weechat",
# "arguments": "#weechat :hello!",
# "text": "hello!",
# "param1": "#weechat",
# "param2": "hello!",
# "num_params": "2",
# "pos_command": "65",
# "pos_arguments": "73",
# "pos_channel": "73",
+283 -126
View File
@@ -114,16 +114,38 @@ WeeChat *erforderlich* sind:
[width="100%",cols="5,^3,.^15",options="header"]
|===
| Paket ^(1)^ | Version | Funktion
| C compiler (gcc / clang) | | zum Erstellen der Binärdatei.
| cmake | ≥ 3.0 | zum kompilieren (autotools ist möglich. CMake wird aber empfohlen).
| pkg-config | | entdeckt installierte Bibliotheken.
| libncursesw5-dev ^(2)^ | | Ncurses Oberfläche.
| libcurl4-gnutls-dev | | URL Transfer.
| libgcrypt20-dev | | Geschützte Daten, IRC SASL Authentifikation.
| libgnutls28-dev | ≥ 2.2.0 ^(3)^ | SSL Verbindung zu einem IRC Server, Unterstützung von SSL in der Relay-Erweiterung, IRC SASL Authentifikation (ECDSA-NIST256P-CHALLENGE).
| zlib1g-dev | | Kompression von Nachrichten (WeeChat -> client) mit https://zlib.net/[zlib ^↗^,window=_blank] in relay Erweitertungen (weechat Protokoll), Skript-Erweiterung übertragen werden.
| libzstd-dev | | Kompression von Nachrichten (WeeChat -> client) mit https://facebook.github.io/zstd/[Zstandard ^↗^,window=_blank] in relay Erweiterung (weechat Protokoll).
| Paket ^(1)^ | Version | Funktionen
| C compiler (gcc / clang) |
| zum Erstellen der Binärdatei.
| cmake | ≥ 3.0
| zum kompilieren (autotools ist möglich. CMake wird aber empfohlen).
| pkg-config |
| entdeckt installierte Bibliotheken.
| libncursesw5-dev ^(2)^ |
| Ncurses Oberfläche.
| libcurl4-gnutls-dev |
| URL Transfer.
| libgcrypt20-dev |
| Geschützte Daten, IRC SASL Authentifikation.
| libgnutls28-dev | ≥ 2.2.0 ^(3)^
| IRC-Erweiterung: Unterstützung von TLS Verbindungen, IRC SASL Authentifikation (ECDSA-NIST256P-CHALLENGE). +
Relay-Erweiterung: Untersützung von TLS Verbindungen.
| zlib1g-dev |
| Logger-Erweitertung: Kompression von rotierenden Protokolldateien (gzip). +
Relay-Erweiterung: Kompression von Nachrichten (WeeChat -> client) with https://zlib.net/[zlib ^↗^,window=_blank] (weechat protocol). +
Script-Erweiterung: Lesen der Repository-Indexdatei (gzip).
| libzstd-dev | ≥ 0.8.1
| Logger-Erweiterung: Kompression von rotierenden Protokolldateien. +
Relay-Erweiterung: Kompression von Nachrichten (WeeChat -> client) with https://facebook.github.io/zstd/[Zstandard ^↗^,window=_blank] (weechat protocol).
|===
[NOTE]
@@ -141,12 +163,12 @@ WeeChat optional sind:
[width="100%",cols="5,^3,.^15",options="header"]
|===
| Paket ^(1)^ | Version | Funktion
| Paket ^(1)^ | Version | Funktionen
| {cpp} compiler (pass:[g++ / clang++]) | | zum Erstellen der Binärdatei und um Test auszuführen, JavaScript Erweiterung.
| gettext | | Internationalisierung (Übersetzung der Mitteilungen; Hauptsprache ist englisch).
| ca-certificates | | Zertifikate für SSL Verbindungen.
| libaspell-dev / libenchant-dev | | Spell Erweiterung.
| python3-dev ^(2)^ | | Python Erweiterung.
| python3-dev | ≥ 3.0 | Python Erweiterung.
| libperl-dev | | Perl Erweiterung.
| ruby2.7, ruby2.7-dev | ≥ 1.9.1 | Ruby Erweiterung.
| liblua5.4-dev | | Lua Erweiterung.
@@ -165,9 +187,7 @@ WeeChat optional sind:
[NOTE]
^(1)^ Der Name stammt von der Debian GNU/Linux Bullseye-Distribution,
Version und Name können in anderen Distributionen anders lauten. +
^(2)^ standardmäßig wird Python 3.x verwendet. Wird die Option `+ENABLE_PYTHON2+` aktiviert
(siehe unten), sollte die Version 2.7 von Python genutzt werden.
Version und Name können in anderen Distributionen anders lauten.
Falls eine Debian/Ubuntu basierte Distribution genutzt wird und man einen
"deb-src" Quelleintrag in _/etc/apt/sources.list_ eingetragen hat, dann ist
@@ -283,9 +303,6 @@ Liste von häufig verwendeten Optionen:
| ENABLE_PYTHON | `ON`, `OFF` | ON
| kompiliert <<scripting_plugins,Python Erweiterung>>.
| ENABLE_PYTHON2 | `ON`, `OFF` | OFF
| kompiliert <<scripting_plugins,Python Erweiterung>> nutzt Python 2 anstelle von Python 3.
| ENABLE_RELAY | `ON`, `OFF` | ON
| kompiliert <<relay,Relay Erweiterung>>.
@@ -740,26 +757,26 @@ Es gibt folgende WeeChat Verzeichnisse:
[width="100%",cols="1m,3",options="header"]
|===
| Pfad ^(1)^ | Beschreibung
| Pfad ^(1)^ | Beschreibung
| ~/.config/weechat/ | WeeChat Konfigurationsdateien: `*.conf`, Zertifikate, etc.
| ~/.local/share/weechat/ | WeeChat Daten: Protokolldateien, Skripts, Skriptdaten, xfer-Daten, etc.
|    logs/ | Logdateien (eine Datei pro Buffer).
|    python/ | Python-Skripten.
|       autoload/ | Python-Skripten die beim Start automatisch ausgeführt werden ^(2)^.
|       autoload/ | Python-Skripten die beim Start automatisch ausgeführt werden ^(2)^.
|    perl/ | Perl-Skripten.
|       autoload/ | Perl-Skripten die beim Start automatisch ausgeführt werden ^(2)^.
|       autoload/ | Perl-Skripten die beim Start automatisch ausgeführt werden ^(2)^.
|    ruby/ | Ruby-Skripten.
|       autoload/ | Ruby-Skripten die beim Start automatisch ausgeführt werden ^(2)^.
|       autoload/ | Ruby-Skripten die beim Start automatisch ausgeführt werden ^(2)^.
|    lua/ | Lua-Skripten.
|       autoload/ | Lua-Skripten die beim Start automatisch ausgeführt werden ^(2)^.
|       autoload/ | Lua-Skripten die beim Start automatisch ausgeführt werden ^(2)^.
|    tcl/ | Tcl-Skripten.
|       autoload/ | Tcl-Skripten die beim Start automatisch ausgeführt werden ^(2)^.
|       autoload/ | Tcl-Skripten die beim Start automatisch ausgeführt werden ^(2)^.
|    guile/ | Guile-Skripten.
|       autoload/ | Guile-Skripten die beim Start automatisch ausgeführt werden ^(2)^.
|       autoload/ | Guile-Skripten die beim Start automatisch ausgeführt werden ^(2)^.
|    javascript/ | JavaScript-Skripten.
|       autoload/ | JavaScript-Skripten die beim Start automatisch ausgeführt werden ^(2)^.
|       autoload/ | JavaScript-Skripten die beim Start automatisch ausgeführt werden ^(2)^.
|    php/ | PHP-Skripten.
|       autoload/ | PHP-Skripten die beim Start automatisch ausgeführt werden ^(2)^.
|       autoload/ | PHP-Skripten die beim Start automatisch ausgeführt werden ^(2)^.
| ~/.cache/weechat/ | WeeChat Cache-Dateien: Skriptcache.
| /run/user/1000/weechat/ | WeeChat Laufzeitdateien: FIFO-Pipe, Relay UNIX sockets.
|===
@@ -1292,10 +1309,10 @@ Tags die häufig verwendet werden (keine vollständige Auflistung):
| no_highlight | die Zeile kann nicht gehiglighted werden.
| no_log | Zeile wird nicht in die Log-Datei geschrieben.
| log0 … log9 | Grad der Protokollierung (siehe `/help logger`).
| notify_none | Diese Zeile wird erzeugt keinen Hotlist-Eintrag. ^(1)^
| notify_message | Diese Zeile ist eine User Nachricht. ^(1)^
| notify_private | Diese Zeile ist eine private Nachricht. ^(1)^
| notify_highlight | Diese Zeile beinhaltet eine Highlight Nachricht. ^(1)^
| notify_none | Diese Zeile wird erzeugt keinen Hotlist-Eintrag. ^(1)^
| notify_message | Diese Zeile ist eine User Nachricht. ^(1)^
| notify_private | Diese Zeile ist eine private Nachricht. ^(1)^
| notify_highlight | Diese Zeile beinhaltet eine Highlight Nachricht. ^(1)^
| self_msg | eigene Nachricht.
| nick_xxx | Nachricht ist vom Nick "xxx".
| prefix_nick_ccc | Präfix für den Nick mit der Farbe "ccc".
@@ -1512,27 +1529,28 @@ Sie können mit dem Befehl <<command_weechat_key,/key>> geändert und neue hinzu
[width="100%",cols="^.^3,.^8,.^5",options="header"]
|===
| Taste | Beschreibung | Befehl
| Taste | Beschreibung | Befehl
| kbd:[Del] +
kbd:[Ctrl+d] | entfernt in der Befehlszeile das nächste Zeichen. | `+/input delete_next_char+`
kbd:[Ctrl+d] | entfernt in der Befehlszeile das nächste Zeichen. | `+/input delete_next_char+`
| kbd:[Backspace] +
kbd:[Ctrl+h] | entfernt in der Befehlszeile das vorherige Zeichen. | `+/input delete_previous_char+`
| kbd:[Ctrl+k] | entfernt alle Zeichen vom Cursor bis zum Ende der Zeile (die Zeichenkette wird dabei in die interne Zwischenablage kopiert). | `+/input delete_end_of_line+`
| kbd:[Ctrl+t] | Zeichen austauschen. | `+/input transpose_chars+`
| kbd:[Ctrl+u] | entfernt alle Zeichen vom Cursor bis zum Anfang der Zeile (die Zeichenkette wird dabei in die interne Zwischenablage kopiert). | `+/input delete_beginning_of_line+`
| kbd:[Ctrl+w] | entfernt das Wort links vom Cursor (die Zeichenkette wird dabei in die interne Zwischenablage kopiert). | `+/input delete_previous_word+`
| kbd:[Ctrl+y] | fügt den Inhalt der internen Zwischenablage ein. | `+/input clipboard_paste+`
| kbd:[Ctrl+_] | Rückgängig machen der letzten Aktion, in der Befehlszeile. | `+/input undo+`
| kbd:[Alt+_] | Wiederherstellen der letzten Aktion, in der Befehlszeile. | `+/input redo+`
| kbd:[Tab] | Vervollständigung von Befehlen oder Nicks (nochmaliges kbd:[Tab]: findet nächste Vervollständigung). | `+/input complete_next+`
| kbd:[Shift+Tab] | ohne Vervollständigung: führt eine teilweise Vervollständigung durch. Bei unerledigter Vervollständigung : wird die vorherige Vervollständigung genutzt. | `+/input complete_previous+`
kbd:[Ctrl+h] | entfernt in der Befehlszeile das vorherige Zeichen. | `+/input delete_previous_char+`
| kbd:[Ctrl+k] | entfernt alle Zeichen vom Cursor bis zum Ende der Zeile (die Zeichenkette wird dabei in die interne Zwischenablage kopiert). | `+/input delete_end_of_line+`
| kbd:[Ctrl+t] | Zeichen austauschen. | `+/input transpose_chars+`
| kbd:[Ctrl+u] | entfernt alle Zeichen vom Cursor bis zum Anfang der Zeile (die Zeichenkette wird dabei in die interne Zwischenablage kopiert). | `+/input delete_beginning_of_line+`
| kbd:[Alt+Backspace] | entfernt das Wort links vom Cursor (die Zeichenkette wird dabei in die interne Zwischenablage kopiert). | `+/input delete_previous_word+`
| kbd:[Ctrl+w] | Vorheriges Wort der Befehlszeile löschen bis zum Leerzeichen (gelöschte Zeichenfolge wird in die interne Zwischenablage kopiert). | `+/input delete_previous_word_whitespace+`
| kbd:[Ctrl+y] | fügt den Inhalt der internen Zwischenablage ein. | `+/input clipboard_paste+`
| kbd:[Ctrl+_] | Rückgängig machen der letzten Aktion, in der Befehlszeile. | `+/input undo+`
| kbd:[Alt+_] | Wiederherstellen der letzten Aktion, in der Befehlszeile. | `+/input redo+`
| kbd:[Tab] | Vervollständigung von Befehlen oder Nicks (nochmaliges kbd:[Tab]: findet nächste Vervollständigung). | `+/input complete_next+`
| kbd:[Shift+Tab] | ohne Vervollständigung: führt eine teilweise Vervollständigung durch. Bei unerledigter Vervollständigung : wird die vorherige Vervollständigung genutzt. | `+/input complete_previous+`
| kbd:[Enter] +
kbd:[Ctrl+j] +
kbd:[Ctrl+m] | führt einen Befehl aus oder sendet den Text (im Such-Modus: stoppt Suche). | `+/input return+`
| kbd:[Alt+Enter] | Zeilenvorschub einfügen. | `+/input insert \n+`
| kbd:[Alt+d] | löscht das Wort rechts vom Cursor (die Zeichenkette wird dabei in die interne Zwischenablage kopiert). | `+/input delete_next_word+`
| kbd:[Alt+k] | zeigt den Tastencode, einschließlich des eingebundenen Befehls, einer Tastenkombination an und fügt diesen in die Befehlszeile ein. | `+/input grab_key_command+`
| kbd:[Alt+r] | komplette Eingabezeile lösche.n| `+/input delete_line+`
kbd:[Ctrl+m] | führt einen Befehl aus oder sendet den Text (im Such-Modus: stoppt Suche). | `+/input return+`
| kbd:[Alt+Enter] | Zeilenvorschub einfügen. | `+/input insert \n+`
| kbd:[Alt+d] | löscht das Wort rechts vom Cursor (die Zeichenkette wird dabei in die interne Zwischenablage kopiert). | `+/input delete_next_word+`
| kbd:[Alt+k] | zeigt den Tastencode, einschließlich des eingebundenen Befehls, einer Tastenkombination an und fügt diesen in die Befehlszeile ein. | `+/input grab_key_command+`
| kbd:[Alt+r] | komplette Eingabezeile lösche.n| `+/input delete_line+`
|===
[[key_bindings_cmdline_color_codes]]
@@ -1568,9 +1586,9 @@ Sie können mit dem Befehl <<command_weechat_key,/key>> geändert und neue hinzu
|===
| Taste | Beschreibung | Befehl
| kbd:[Ctrl+r] | Textsuche im Verlaufsspeicher des Buffers (siehe <<key_bindings_search_context,Tasten für Such-Kontext>>). | `+/input search_text_here+`
| kbd:[Ctrl+s], kbd:[Ctrl+u] | setzt für alle Buffer die Markierung für ungelesene Nachrichten. | `+/input set_unread+`
| kbd:[Ctrl+x] | Wechseln Sie den aktuellen Buffer, wenn diese zusammengefügt worden sind, z.B. zwischen IRC-Serverbuffer wechseln. | `+/input switch_active_buffer+`
| kbd:[Alt+x] | Zoom eines zusammengefügten Buffers (kbd:[Alt+x] ein zweites mal: alle zusammengefügten Buffer werden angezeigt). | `+/input zoom_merged_buffer+`
| kbd:[Ctrl+s], kbd:[Ctrl+u] | setzt für alle Buffer die Markierung für ungelesene Nachrichten. | `+/allbuf /buffer set unread+`
| kbd:[Ctrl+x] | Wechseln Sie den aktuellen Buffer, wenn diese zusammengefügt worden sind, z.B. zwischen IRC-Serverbuffer wechseln. | `+/buffer switch+`
| kbd:[Alt+x] | Zoom eines zusammengefügten Buffers (kbd:[Alt+x] ein zweites mal: alle zusammengefügten Buffer werden angezeigt). | `+/buffer zoom+`
| kbd:[PgUp] | eine Seite im Verlaufsspeicher des Buffers nach oben blättern. | `+/window page_up+`
| kbd:[PgDn] | eine Seite im Verlaufsspeicher des Buffer nach unten blättern. | `+/window page_down+`
| kbd:[Alt+PgUp] | einige Zeilen im Verlaufsspeicher des Buffer nach oben blättern. | `+/window scroll_up+`
@@ -1594,9 +1612,9 @@ Sie können mit dem Befehl <<command_weechat_key,/key>> geändert und neue hinzu
| kbd:[Alt+n] | springt zur nächsten Highlight Nachricht. | `+/window scroll_next_highlight+`
| kbd:[Alt+p] | springt zur vorherigen Highlight Nachricht. | `+/window scroll_previous_highlight+`
| kbd:[Alt+u] | springt zur ersten ungelesenen Zeile im Buffer. | `+/window scroll_unread+`
| kbd:[Alt+<] | springt zum letzten besuchten Buffer. | `+/input jump_previously_visited_buffer+`
| kbd:[Alt+>] | springt zum nächsten besuchten Buffer. | `+/input jump_next_visited_buffer+`
| kbd:[Alt+/] | wechselt zum jeweils zuletzt angezeigten Buffern. | `+/input jump_last_buffer_displayed+`
| kbd:[Alt+<] | springt zum letzten besuchten Buffer. | `+/buffer jump prev_visited+`
| kbd:[Alt+>] | springt zum nächsten besuchten Buffer. | `+/buffer jump next_visited+`
| kbd:[Alt+/] | wechselt zum jeweils zuletzt angezeigten Buffern. | `+/buffer jump last_displayed+`
|===
[[key_bindings_windows]]
@@ -1648,11 +1666,11 @@ Sie können mit dem Befehl <<command_weechat_key,/key>> geändert und neue hinzu
[width="100%",cols="^.^3,.^8,.^5",options="header"]
|===
| Taste | Beschreibung | Befehl
| kbd:[Alt+a] | wechselt zum nächsten Buffer mit Aktivität (nach Priorität: highlight, Nachricht, ...). | `+/input jump_smart+`
| kbd:[Alt+h], kbd:[Alt+c] | Hotlist löschen (Aktivitätsbenachrichtigung bei Buffern). | `+/input hotlist_clear+`
| kbd:[Alt+h], kbd:[Alt+m] | Aktuellen Puffer aus Hotlist entfernen. | `+/input hotlist_remove_buffer+`
| kbd:[Alt+h], kbd:[Alt+r] | stelle die letzte aus dem aktuellen Buffer entfernte Hotlist wieder her. | `+/input hotlist_restore_buffer+`
| kbd:[Alt+h], kbd:[Alt+Shift+R] | stelle die neueste Hotlist wieder her, die in allen Buffern entfernt wurde. | `+/input hotlist_restore_all+`
| kbd:[Alt+a] | wechselt zum nächsten Buffer mit Aktivität (nach Priorität: highlight, Nachricht, ...). | `+/buffer jump smart+`
| kbd:[Alt+h], kbd:[Alt+c] | Hotlist löschen (Aktivitätsbenachrichtigung bei Buffern). | `+/hotlist clear+`
| kbd:[Alt+h], kbd:[Alt+m] | Aktuellen Puffer aus Hotlist entfernen. | `+/hotlist remove+`
| kbd:[Alt+h], kbd:[Alt+r] | stelle die letzte aus dem aktuellen Buffer entfernte Hotlist wieder her. | `+/hotlist restore+`
| kbd:[Alt+h], kbd:[Alt+Shift+R] | stelle die neueste Hotlist wieder her, die in allen Buffern entfernt wurde. | `+/hotlist restore -all+`
|===
[[key_bindings_toggle_keys]]
@@ -1724,12 +1742,12 @@ wurde (Befehl: `+/mouse toggle+`).
[width="100%",cols="^.^3,^.^3,^.^3,.^8,.^8",options="header"]
|===
| Maustaste/Mausrad ^(1)^ | Mausgeste | Bereich | Beschreibung | Befehl
| Maustaste/Mausrad ^(1)^ | Mausgeste | Bereich | Beschreibung | Befehl
| ◾◽◽ | - | Chat | wechselt zum Fenster. | `+/window ${_window_number}+`
| ◾◽◽ | links | Chat | zum vorherigen Buffer springen. | `+/window ${_window_number};/buffer +1+`
| ◾◽◽ | rechts | Chat | zum nächsten Buffer springen. | `+/window ${_window_number};/buffer +1+`
| ◾◽◽ | links(lang) | Chat | wechselt zum ersten Buffer. | `+/window ${_window_number};/buffer 1+`
| ◾◽◽ | rechts(lang) | Chat | wechselt zum letzten Buffer. | `+/window ${_window_number};/input jump_last_buffer+`
| ◾◽◽ | rechts(lang) | Chat | wechselt zum letzten Buffer. | `+/window ${_window_number};/buffer ++`
| kbd:[▲] | - | Chat | mehrere Zeilen im Verlaufsspeicher des Buffer nach oben blättern. | `+/window scroll_up -window ${_window_number}+`
| kbd:[▼] | - | Chat | mehrere Zeilen im Verlaufsspeicher des Buffer nach unten blättern. | `+/window scroll_down -window ${_window_number}+`
| kbd:[Ctrl+▲] | - | Chat | horizontal, nach links scrollen. | `+/window scroll_horiz -window ${_window_number} -10%+`
@@ -1776,7 +1794,7 @@ Diese Tasten und Aktionen werden im fset-Buffer verwendet (siehe <<fset,Fset Erw
[width="100%",cols="^.^3,^.^2,.^8,.^5",options="header"]
|===
| Taste | Action ^(1)^ | Beschreibung | Befehl
| Taste | Action ^(1)^ | Beschreibung | Befehl
| kbd:[↑] | | einen Eintrag nach oben. | `+/fset -up+`
| kbd:[↓] | | einen Eintrag nach unten. | `+/fset -down+`
| kbd:[PgUp] | | eine Seite hoch blättern. | `+/window page_up+`
@@ -1822,7 +1840,7 @@ Diese Tasten und Aktionen werden im fset-Buffer verwendet (siehe <<script_manage
[width="100%",cols="^.^3,^.^2,.^8,.^5",options="header"]
|===
| Taste | Action ^(1)^ | Beschreibung | Befehl
| Taste | Action ^(1)^ | Beschreibung | Befehl
| kbd:[↑] | | eine Zeile nach oben. | `+/script up+`
| kbd:[↓] | | eine Zeile nach unten. | `+/script down+`
| kbd:[PgUp] | | eine Seite hoch blättern. | `+/window page_up+`
@@ -1934,23 +1952,23 @@ Basisfarben in WeeChat sind:
[[colors_extended]]
==== erweiterte Farbpalette
WeeChat belegt die Farbpaare dynamisch, sobald die Farbe genutzt werden sollte. Zum Beispiel
WeeChat belegt Farbpaarungen dynamisch, sobald die Farbe genutzt werden soll. Zum Beispiel,
um mit einer Farbe Buffer oder Bars zu nutzen.
Zu den Basisfarben können zusätzlich Farben zwischen eins und der maximalen Anzahl an Farben
genutzt werden die vom jeweiligen Terminal zur Verfügung gestellt werden.
genutzt werden, die vom jeweiligen Terminal zur Verfügung gestellt werden.
Mit dem `/color` Befehl kann man sich sowohl die aktuelle Farbpalette anzeigen lassen als
auch die Anzahl der zu nutzenden Farben. Mit kbd:[Alt+c] kann man vorübergehend zu den
Terminalfarben wechseln um eine Farbe auszuwählen.
Terminalfarben wechseln, um eine Farbe auszuwählen.
Um zum Beispiel die Uhrzeit in einem Buffer in einem schönen Orange darzustellen:
Um zum Beispiel die Uhrzeit in einem Buffer in einem schönen Orange darstellen zu lassen:
----
/set weechat.color.chat_time 214
----
oder falls man den Hintergrund der Statusbar in einm sehr dunklen Grün haben möchte:
oder falls man den Hintergrund der Statusleiste in einm sehr dunklen Grün haben möchte:
----
/set weechat.bar.status.color_bg 22
@@ -1959,7 +1977,7 @@ oder falls man den Hintergrund der Statusbar in einm sehr dunklen Grün haben m
[[colors_aliases]]
==== Alias
Man kann einer Farbe einen Alias zuordnen um diesen Alias anstelle einer Zahl in
Man kann einer Farbe einen Alias zuordnen um diesen Alias anstelle der Farbzahl in
die Optionen einzutragen. Um einen Alias zu definieren nutzt man den Befehl
`/color alias`.
@@ -1976,11 +1994,13 @@ Beispiel:
Er ist möglich einer Farbe ein Attribut hinzuzufügen. Dazu wird dem
Farbnamen oder der Farbnummer ein- oder mehrere Attribute vorangestellt.
* `+%+`: blinken
* `+.+`: "dim" (halb hell)
* `+*+` : fett
* `+!+` : invertierte Darstellung
* `+/+` : kursiven
* `+_+` : unterstrichen
* `+|+` : behält Attribut bei: fett, invertierte Darstellung, Unterstrichen wird beim Farbwechsel nicht zurückgesetzt
* `+|+`: Attribute beibehalten: blinken/dim/fett/invertierte Darstellung/kursiv/unterstrichen nicht zurücksetzen, wenn die Farbe geändert wird
Um zum Beispiel dem eigenen Nick die Farbe weiß und unterstrichen
zuzuordnen:
@@ -1989,7 +2009,7 @@ zuzuordnen:
/set weechat.color.chat_nick_self _white
----
oder um die Zeitanzeige in der Statusbar orange, fett und unterstrichen
oder um die Zeitanzeige in der Statuszeile orange, fett und unterstrichen
darzustellen:
----
@@ -2009,7 +2029,7 @@ Um der Vordergrundfarbe des Terminals das Attribut "fett" zuzuordnen:
[[charset]]
=== Charset
Die Charset Erweiterung übernimmt das de-/kodieren der Zeichensätze.
Die Charset-Erweiterung übernimmt das de-/kodieren der Zeichensätze.
Es existiert ein Standardzeichensatz zum de-/kodieren und spezielle Zeichensätze
für Buffer (oder Gruppen von Buffern).
@@ -2099,7 +2119,7 @@ Um sich alle genutzten Zeichensätze anzeigen zu lassen wird folgender Befehl ge
[[charset_troubleshooting]]
==== Fehlersuche
sollten Probleme bei der Zeichensatzdarstellung auftreten dann werfen Sie bitte
Sollten Probleme bei der Zeichensatzdarstellung auftreten dann werfen Sie bitte
einen Blick in die link:weechat_faq.de.html#charset[WeeChat FAQ / Charset ^↗^,window=_blank].
[[charset_commands]]
@@ -2206,14 +2226,44 @@ das Skript _buffer_autoset.py_: Um das Skript zu installieren `+/script install
und um eine Hilfe zu erhalten wie man es nutzt: `+/help buffer_autoset+`.
[[highlights]]
=== Highlights
=== Hervorhebungen
[[highlights_disable]]
==== Hervorhebungen deaktivieren
Hervorhebungen können mit der Option
<<option_weechat.look.highlight_disable_regex,weechat.look.highlight_disable_regex>>
(regulärer Ausdruck) deaktiviert werden. +
Wenn eine Hervorhebung mit dieser Option deaktiviert wird, werden die anderen
Hervorhebungsoptionen ignoriert.
Zum Beispiel, Nachrichten die eine Hervorhebung besitzen, wo die Nachricht
mit "flash" zwischen spitzen Klammern beginnt:
----
/set weechat.look.highlight_disable_regex "<flash.*>"
----
Dies kann auch mit der Buffereigenschaft „highlight_disable_regex“ eingestellt werden.
Gleiches Beispiel, spezifisch für den aktuellen Buffer:
----
/buffer set highlight_disable_regex <flash.*>
----
[NOTE]
Die Buffer-Eigenschaft "highlight_disable_regex" ist keine permanente Einstellung und wird nicht
in der Konfigurationsdatei gesichert. + Um diese Einstellung persistent zu machen benötigt man
das Skript _buffer_autoset.py_: Um das Skript zu installieren `+/script install buffer_autoset.py+`
und um eine Hilfe zu erhalten wie man es nutzt: `+/help buffer_autoset+`.
[[highlights_words]]
==== Worte als Highlights hinzufügen
Standardmäßig werden in WeeChat alle Nachrichten von anderen Personen als highlight
deklariert wenn diese den eigenen Nick beinhalten, deshalb ist ein highlight abhängig
vom jeweiligen Buffer (ein Nick kann in je nach Buffer unterschiedlich sein)
deklariert, falls diese den eigenen Nick beinhalten. Deshalb ist ein highlight abhängig
vom jeweiligen Buffer (ein Nick kann je nach Buffer unterschiedlich sein)
Es können weitere Wörter zu den highlights hinzugefügt werden, mit der Option
<<option_weechat.look.highlight,weechat.look.highlight>>, zum Beispiel um
@@ -2221,7 +2271,7 @@ neben dem eigenen Nick auch die Wörter "Wort1","Wort2" und alle Wörter die mit
"Test" beginnen zu highlighten:
----
/set weechat.look.highlight Wort1,Wort2,Test*
/set weechat.look.highlight "Wort1,Wort2,Test*"
----
Wird eine spezielle Regel benötigt, dann können reguläre Ausdrücke
@@ -2231,7 +2281,7 @@ um zum Beispiel die Wörter "flashcode", "flashcöde" und "flashy"
zu highlighten:
----
/set weechat.look.highlight_regex flashc[oö]de|flashy
/set weechat.look.highlight_regex "flashc[oö]de|flashy"
----
Die Trennzeichen die Wörter umschließen können angepasst werden, mit der
@@ -2260,7 +2310,7 @@ von Nicks die mit "toto" beginnen zu highlighten:
[[highlights_regex_buffer]]
==== Highlights mit regulärem Ausdruck für einen Buffer nutzen
Man kann reguläre Ausdrücke für Highlights in einem Buffer nutzen indem man
Man kann reguläre Ausdrücke für Highlights in einem Buffer nutzen, indem man
die Eigenschaft des Buffers mittels "highlight_regex" anpasst.
Um zum Beispiel jede Nachricht im aktuellen Buffer als Highlight-Nachricht einzustufen:
@@ -2417,6 +2467,49 @@ Erstellt eine Struktur in folgender Form:
...
....
[[logger_rotation_compression]]
==== Rotation und Kompressions
Es ist möglich, eine maximale Größe für Protokolldateien zu definieren, und wenn diese
erreicht ist, findet eine automatische Rotation der Protokolldatei statt.
Die rotierenden Protokolldateien können mit gzip kompromiert werden oder mit
https://facebook.github.io/zstd/[zstd ^↗^,window=_blank].
[NOTE]
Da die Komprimierung einer Datei einige Zeit in Anspruch nehmen kann, wird diese Aktion
im Hintergrund durchgeführt.
Beispiel mit einer maximalen Größe von 2 GB und einer Komprimierung mittels gzip
unter Verwendung einer guten Komprimierungsstufe (langsamer als die Standardeinstellung):
----
/set logger.file.rotation_compression_type gzip
/set logger.file.rotation_compression_level 80
/set logger.file.rotation_size_max "2g"
----
Wenn Sie eine Dezimalzahl verwenden möchten, können Sie die unten stehende Einheit verwenden
und mit 1000 multiplizieren, um beispielsweise die maximale Größe auf 2,5 GB festzulegen:
----
/set logger.file.rotation_size_max "2500m"
----
Mit diesen Einstellungen erhalten Sie eine Dateisktruktur wie die folgende (in diesem Beispiel
gibt es nur eine Rotation für das Protokoll des #weechat-Kanals):
....
~/.local/share/weechat
└── logs
├── core.weechat.weechatlog
├── irc.server.libera.weechatlog
├── irc.libera.#weechat.weechatlog
├── irc.libera.#weechat.weechatlog.1.gz
├── irc.libera.#weechat.weechatlog.2.gz
└── irc.libera.#weechat.weechatlog.3.gz
....
[[logger_commands]]
==== Befehle
@@ -3962,8 +4055,8 @@ mit dem entsprechenden Wert ersetzt:
| Platzhalter | Beschreibung | Wert/Beispiel
| $clientinfo | Liste der CTCP Antworten | `+ACTION DCC CLIENTINFO FINGER PING SOURCE TIME USERINFO VERSION+`
| $version | WeeChat Version | `+0.4.0-dev+`
| $versiongit | WeeChat Version + Git version ^(1)^ | `+0.4.0-dev (git: v0.3.9-104-g7eb5cc4)+`
| $git | Git Version ^(1)^ | `+v0.3.9-104-g7eb5cc4+`
| $versiongit | WeeChat Version + Git version ^(1)^ | `+0.4.0-dev (git: v0.3.9-104-g7eb5cc4)+`
| $git | Git Version ^(1)^ | `+v0.3.9-104-g7eb5cc4+`
| $compilation | Datum der Kompilierung | `+Dec 16 2012+`
| $osinfo | Info über das genutzte OS | `+Linux 2.6.32-5-amd64 / x86_64+`
| $site | WeeChat Seite | `+https://weechat.org/+`
@@ -4852,22 +4945,119 @@ ${tg_displayed} && (${tg_highlight} || ${tg_msg_pv})
----
[[trigger_regex]]
=== reguläre Ausdrücke
=== Reguläre Ausdrücke
Reguläre Ausdrücke werden verwendet um Variablen in einem Callback Hashtable zu ändern.
Der reguläre Ausdruck wird verwendet, um Variablen in der Callback-Hashtabelle zu ändern.
Das Format ist: "/regex/replace" oder "/regex/replace/var" (wobei _var_ eine
Variable eines Hashtable darstellt).
Format ist eines der folgenden:
Falls _var_ in der Hashtabelle nicht existieren sollte, wird diese automatisch mit einem
leeren Wert angelegt. Damit kann man temporär benutzerspezifische Variablen erstellen.
----
/string1/string2
/string1/string2/var
s/string1/string2
s/string1/string2/var
y/string1/string2
y/string1/string2/var
----
Sollte _var_ nicht näher spezifiziert sein, wird die Standard-Variable genutzt,
welche abhängig von dem genutzten Hook ist:
Felder:
* `s` oder `y`: ein Buchstabe mit dem Befehl; falls nicht vorhanden, ist der Standardbefehl `s`
und das erste Zeichen wird dann als Trennzeichen verwendet:
** `s`: Regex-Ersetzung: Die erste Zeichenfolge ist ein regulärer Ausdruck, die zweite Zeichenfolge
ist der Ersatz für jede passende Zeichenfolge
** `y`: Zeichenübersetzung: Die erste Zeichenfolge ist eine Reihe von Zeichen, die ersetzt werden
durch die Zeichen in der zweiten Zeichenfolge; einmal ausgewertet, muss jeder String haben
genau die gleiche Anzahl von UTF-8-Zeichen
* `/`: das Regex-Trennzeichen; das Zeichen "/" kann durch ein beliebiges Zeichen ersetzt werden
(ein oder mehrere identische Zeichen)
* `string1`: die erste Zeichenkette (Verwendung ist abhängig vom Befehl)
* `string2`: die zweite Zeichenkette (Verwendung ist abhängig vom Befehl)
* `var`: die zu aktualisierende Hashtable-Variable
Mehrere reguläre Ausdrücke können durch ein Leerzeichen getrennt werden, zum Beispiel:
----
s/regex1/replace1/var1 y/abcdef/ABDDEF/var2
----
[[trigger_regex_replace]]
==== Regex ersetzen
Für den Befehl `s` ist das Format: `s/regex/replace` oder `s/regex/replace/var`
(wobei _var_ eine Variable der Hashtabelle ist).
Da `s` der Standardbefehl ist, kann dieser weggelassen werden, also ist es auch `/regex/replace`
gültig (aber das erste Zeichen, das das Trennzeichen ist, darf kein Buchstabe sein).
Zutreffende Gruppen können in _replace_ verwendet werden:
* `+${re:0}+` nach `+${re:99}+`: `+${re:0}+` ist die ganze Trefferanzahl, `+${re:1}+` nach
`+${re:99}+` sind als Gruppen erfasst.
* `+${re:+}+`: das letzte Treffer (mit der höchsten Zahl)
* `+${hide:c,${re:N}}+`: Treffer "N" mit allen Zeichen die durch "c" ersetzt wurden
(Beispiele: `+${hide:*,${re:2}}+` ist die Gruppe #2, mit allen Zeichen die durch
`+*+` ersetzt wurden).
Beispiel: Verwenden Sie Fettschrift für Wörter zwischen `+*+`:
----
s/\*([^ ]+)\*/*${color:bold}${re:1}${color:-bold}*/
----
Beispiel: Der Standardtrigger _server_pass_ verwendet diesen regulären Ausdruck zum Ausblenden
des Passwortes in den Befehlen `/server` und `/connect` (Zeichen in Passwörtern werden ersetzt
durch `+*+`):
----
s==^(/(server|connect) .*-(sasl_)?password=)([^ ]+)(.*)==${re:1}${hide:*,${re:4}}${re:5}
----
[NOTE]
In diesem Beispiel ist das verwendete Trennzeichen "==", da ein "/" in dem
regulären Ausdruck vorhanden ist.
[[trigger_regex_translate_chars]]
==== Zeichen ersetzen
Für den Befehl „y“ ist das Format: „y/chars1/chars2“ oder „y/chars1/chars2/var“.
(wobei _var_ eine Variable der Hashtabelle ist).
Beispiel: ersetze "a", "b" und "c" durch Großbuchstaben:
----
y/abc/ABC/
----
Beispiel: rotiere Pfeile im Uhrzeigersinn:
----
y/←↑→↓/↑→↓←/
----
Beispiel: konvertiere alle Zeichen in Kleinbuchstaben:
----
y/${chars:upper}/${chars:lower}/
----
Beispiel: verschiebt jeden Buchstaben um eine Position, wobei die Groß- und Kleinschreibung erhalten bleibt: a→b, b→c … y→z, z→a:
----
y/${chars:a-z}${chars:A-Z}/${chars:b-z}a${chars:B-Z}A/
----
[[trigger_regex_variable]]
==== Variablen
Wenn _var_ nicht in der Hashtabelle vorhanden ist, wird es automatisch mit einem
leerer Wert erstellt. Dies ermöglicht das Erstellen benutzerdefinierter temporärer Variablen.
Wenn _var_ nicht angegeben ist, wird die Standardvariable verwendet, sie hängt vom Hook-Typ ab:
[width="100%",cols="2,3,7",options="header"]
|===
| Hook | Standard-Variable | Update allowed ^(1)^
| Hook | Standard-Variable | Update erlaubt ^(1)^
| signal | tg_signal_data |
| hsignal | |
| modifier | tg_string | tg_string
@@ -4887,40 +5077,6 @@ welche abhängig von dem genutzten Hook ist:
haben einen Einfluss auf den Wert der vom Trigger zurückgegeben wird und dann von
WeeChat genutzt wird.
Mehrere reguläre Ausdrücke können durch ein Leerzeichen voneinander
getrennt werden, zum Beispiel:
"/regex1/replace1/var1 /regex2/replace2/var2".
Das Zeichen "/" kann durch jedes andere Zeichen ersetzt werden (ein
oder mehrere identische Zeichen).
Matching groups können in "replace" genutzt werden:
* `+${re:0}+` bis `+${re:99}+`: `+${re:0}+` um alles zu matchen, `+${re:1}+` bis
`+${re:99}+` um Gruppen zu fangen
* `+${re:+}+`: der letzte match (mit der höchsten Nummer)
* `+${hide:c,${re:N}}+`: match "N" mit allen Zeichen die durch "c" ersetzt wurden
(Beispiel: `+${hide:*,${re:2}}+` ist die group #2 mit allen Zeichen die durch
`+*+` ersetzt wurden).
Beispiel: nutzte Fettschrift zwischen dem Zeichen `+*+`:
----
/\*([^ ]+)\*/*${color:bold}${re:1}${color:-bold}*/
----
Beispiel: der Standard-Trigger _server_pass_ nutzt folgenden regulären Ausdruck
um ein Passwort in den Befehlen `/server` und `/connect` zu verbergen (die
einzelnen Zeichen des Passwortes werden durch `+*+` ersetzt):
----
==^(/(server|connect) .*-(sasl_)?password=)([^ ]+)(.*)==${re:1}${hide:*,${re:4}}${re:5}
----
[NOTE]
In diesem Beispiel wird "==" als Trennzeichen verwendet, da ein "/" in
dem regulären Ausdruck genutzt wird.
[[trigger_command]]
=== Befehl
@@ -4964,6 +5120,7 @@ Alle Callbacks setzen folgende Variablen in das hashtable:
|===
| Variable | Typ | Beschreibung
| tg_trigger_name | string | Name des Trigger.
| tg_hook_type | string | Hook-Typ: "signal", "command", etc.
|===
[[trigger_data_signal]]
@@ -5089,7 +5246,7 @@ Variablen die mittels Tags in der Nachricht gesetzt werden:
| tg_tag_prefix_nick | string | Nickfarbe für Präfix (extrahier aus Tag "prefix_nick_ccc").
| tg_tag_host | string | Username und Host, Format: username@host (extrahiert aus Tag "host_xxx").
| tg_tag_notify | string | Benachrichtigungsstufe (_none_, _message_, _private_, _highlight_).
| tg_tag_irc_xxx | string | Tag einer IRC Nachricht (Schlüssel "xxx"). ^(1)^
| tg_tag_irc_xxx | string | Tag einer IRC Nachricht (Schlüssel "xxx"). ^(1)^
| tg_notify | string | Benachrichtigungsstufe, falls von _none_ abweichend.
| tg_msg_pv | string | "1" für eine private Nachricht, andernfalls "0".
|===
@@ -5131,7 +5288,7 @@ Variablen die mittels Tags in der Nachricht gesetzt werden:
| tg_tag_prefix_nick | string | Nickfarbe für Präfix (extrahier aus Tag "prefix_nick_ccc").
| tg_tag_host | string | Username und Host, Format: username@host (extrahiert aus Tag "host_xxx").
| tg_tag_notify | string | Benachrichtigungsstufe (_none_, _message_, _private_, _highlight_).
| tg_tag_irc_xxx | string | Tag einer IRC Nachricht (Schlüssel "xxx"). ^(1)^
| tg_tag_irc_xxx | string | Tag einer IRC Nachricht (Schlüssel "xxx"). ^(1)^
| tg_notify | string | Benachrichtigungsstufe, falls von _none_ abweichend.
| tg_msg_pv | string | "1" für eine private Nachricht, andernfalls "0".
|===
+19 -12
View File
@@ -1,6 +1,6 @@
#!/usr/bin/env python3
#
# Copyright (C) 2008-2022 Sébastien Helleu <flashcode@flashtux.org>
# 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
@@ -487,7 +487,8 @@ class AutogenDoc():
f'autogen_{name}.{self.locale[:2]}.adoc',
)
self.filename_tmp = f'{self.filename}.tmp'
self._file = open(self.filename_tmp, 'w')
# 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."""
@@ -612,15 +613,21 @@ class AutogenDoc():
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 bold, '
'\"!\" for reverse, \"/\" for italic, '
'\"_\" for underline')
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]',
@@ -782,7 +789,7 @@ class AutogenDoc():
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',
self.write('| %s | %s ^(1)^ | %s ^(2)^\n',
_('Option'), _('Type'), _('Constants'))
for option in url_options:
constants = option['constants']
+2 -2
View File
@@ -1,6 +1,6 @@
<!--
Custom styles for Asciidoctor
Copyright (C) 2016-2022 Sébastien Helleu <flashcode@flashtux.org>
Copyright (C) 2016-2023 Sébastien Helleu <flashcode@flashtux.org>
-->
<style>
@@ -42,7 +42,7 @@
/* light theme */
:root {
color-scheme: light;
--body-bg-color: ##fff;
--body-bg-color: #fff;
--body-color: #353535;
--body-font: system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";
--link-color: #3d6baf;
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2023 Sébastien Helleu <flashcode@flashtux.org>
#
# This file is part of WeeChat, the extensible chat client.
#
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
# 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.
@@ -582,6 +582,7 @@ _title_   (string) +
_own_lines_   (pointer, hdata: "lines") +
_mixed_lines_   (pointer, hdata: "lines") +
_lines_   (pointer, hdata: "lines") +
_next_line_id_   (integer) +
_time_for_each_line_   (integer) +
_chat_refresh_needed_   (integer) +
_nicklist_   (integer) +
@@ -631,6 +632,8 @@ _text_search_input_   (string) +
_highlight_words_   (string) +
_highlight_regex_   (string) +
_highlight_regex_compiled_   (pointer) +
_highlight_disable_regex_   (string) +
_highlight_disable_regex_compiled_   (pointer) +
_highlight_tags_restrict_   (string) +
_highlight_tags_restrict_count_   (integer) +
_highlight_tags_restrict_array_   (pointer, array_size: "highlight_tags_restrict_count") +
@@ -921,6 +924,7 @@ _next_line_   (pointer, hdata: "line") +
| structure with one line data
| -
| _buffer_   (pointer, hdata: "buffer") +
_id_   (integer) +
_y_   (integer) +
_date_   (time) +
_date_printed_   (time) +
+2 -2
View File
@@ -60,8 +60,6 @@
| php | php_version | version of the interpreter used | -
| python | python2_bin | path to Python 2.x interpreter (*deprecated* since version 2.6, scripts must use Python 3 only) | -
| python | python_eval | evaluation of source code | source code to execute
| python | python_interpreter | name of the interpreter used | -
@@ -128,6 +126,8 @@
| 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) | -
@@ -16,13 +16,13 @@
. xfer (7000)
. irc (6000)
. relay (5000)
. guile (4007)
. javascript (4006)
. lua (4005)
. perl (4004)
. php (4003)
. python (4002)
. ruby (4001)
. guile (4070)
. javascript (4060)
. lua (4050)
. perl (4040)
. php (4030)
. python (4020)
. ruby (4010)
. tcl (4000)
. script (3000)
. fset (2000)
+47 -21
View File
@@ -6,7 +6,7 @@
// tag::url_options[]
[width="100%",cols="2,^1,7",options="header"]
|===
| Option | Type ^(1)^ | Constants ^(2)^
| Option | Type ^(1)^ | Constants ^(2)^
| verbose | long |
@@ -48,10 +48,6 @@
| 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 |
@@ -82,15 +78,19 @@
| doh_url | string |
| protocols_str | string |
| redir_protocols_str | string |
| netrc | long | ignored, optional, required
| userpwd | string |
| proxyuserpwd | string |
| httpauth | mask | none, basic, digest, ntlm, any, anysafe, digest_ie, only, ntlm_wb, negotiate, gssapi, bearer
| httpauth | mask | none, basic, digest, ntlm, any, anysafe, digest_ie, only, ntlm_wb, negotiate, gssapi, bearer, aws_sigv4
| proxyauth | mask | none, basic, digest, ntlm, any, anysafe, digest_ie, only, ntlm_wb, negotiate, gssapi, bearer
| proxyauth | mask | none, basic, digest, ntlm, any, anysafe, digest_ie, only, ntlm_wb, negotiate, gssapi, bearer, aws_sigv4
| netrc_file | string |
@@ -108,6 +108,8 @@
| tlsauth_password | string |
| sasl_authzid | string |
| sasl_ir | long |
| xoauth2_bearer | string |
@@ -120,8 +122,6 @@
| followlocation | long |
| put | long |
| post | long |
| postfields | string |
@@ -144,7 +144,7 @@
| cookiejar | string |
| http_version | long | none, 1_0, 1_1, 2_0, 2, 2tls, 2_prior_knowledge
| http_version | long | none, 1_0, 1_1, 2_0, 2, 2tls, 2_prior_knowledge, 3
| cookiesession | long |
@@ -182,12 +182,20 @@
| request_target | string |
| http09_allowed | long |
| hsts | string |
| hsts_ctrl | mask | enable, readonlyfile
| mail_from | string |
| mail_rcpt | list |
| mail_auth | string |
| mail_rcpt_alllowfails | long |
| tftp_blksize | long |
| tftp_no_options | long |
@@ -206,8 +214,6 @@
| ftp_create_missing_dirs | long |
| ftp_response_timeout | long |
| ftpsslauth | long | default, ssl, tls
| ftp_account | string |
@@ -238,6 +244,8 @@
| rtsp_server_cseq | long |
| aws_sigv4 | string |
| crlf | long |
| range | string |
@@ -274,6 +282,8 @@
| upload_buffersize | long |
| mime_options | mask | formescape
| timeout | long |
| low_speed_limit | long |
@@ -298,6 +308,8 @@
| connecttimeout_ms | long |
| maxage_conn | long |
| maxconnects | long |
| use_ssl | long | none, try, control, all
@@ -322,6 +334,8 @@
| upkeep_interval_ms | long |
| maxlifetime_conn | long |
| sslcert | string |
| sslversion | long | default, tlsv1, sslv2, sslv3, tlsv1_0, tlsv1_1, tlsv1_2, tlsv1_3, max_default, max_none, max_tlsv1_0, max_tlsv1_1, max_tlsv1_2, max_tlsv1_3
@@ -330,10 +344,6 @@
| cainfo | string |
| random_file | string |
| egdsocket | string |
| ssl_verifyhost | long |
| ssl_cipher_list | string |
@@ -364,12 +374,10 @@
| gssapi_delegation | long | none, policy_flag, flag
| ssl_options | long | allow_beast, no_revoke, no_backends, ok, too_late, unknown_backend
| ssl_options | long | allow_beast, no_revoke, no_backends, ok, too_late, unknown_backend, no_partialchain, revoke_best_effort, native_ca, auto_client_cert
| ssl_enable_alpn | long |
| ssl_enable_npn | long |
| pinnedpublickey | string |
| ssl_verifystatus | long |
@@ -398,7 +406,7 @@
| proxy_ssl_cipher_list | list |
| proxy_ssl_options | long | allow_beast, no_revoke, no_backends, ok, too_late, unknown_backend
| proxy_ssl_options | long | allow_beast, no_revoke, no_backends, ok, too_late, unknown_backend, no_partialchain, revoke_best_effort, native_ca, auto_client_cert
| proxy_ssl_verifyhost | long |
@@ -414,6 +422,18 @@
| proxy_tls13_ciphers | list |
| proxy_issuercert | string |
| ssl_ec_curves | string |
| doh_ssl_verifyhost | long |
| doh_ssl_verifypeer | long |
| doh_ssl_verifystatus | long |
| ca_cache_timeout | long |
| ssh_auth_types | mask | none, policy_flag, flag
| ssh_public_keyfile | string |
@@ -426,11 +446,17 @@
| ssh_compression | long |
| ssh_host_public_key_sha256 | string |
| telnetoptions | list |
| ws_options | mask | binary, close, cont, offset, ping, pong, raw_mode, text
| new_file_perms | long |
| new_directory_perms | long |
| telnetoptions | list |
| quick_exit | long |
|===
// end::url_options[]
+106 -52
View File
@@ -176,7 +176,7 @@ Without argument, this command displays the ban list for current channel.
ls: list the capabilities supported by the server
list: list the capabilities currently enabled
req: request a capability
req: request a new capability or remove a capability (if starting with "-", for example: "-multi-prefix")
ack: acknowledge capabilities which require client-side acknowledgement
end: end the capability negotiation
@@ -187,8 +187,14 @@ Capabilities supported by WeeChat are: account-notify, away-notify, cap-notify,
The capabilities to automatically enable on servers can be set in option irc.server_default.capabilities (or by server in option irc.server.xxx.capabilities).
Examples:
/cap
/cap req multi-prefix away-notify
display supported and enabled capabilities:
/cap
request capabilities multi-prefix and away-notify:
/cap req multi-prefix away-notify
request capability extended-join, remove capability multi-prefix:
/cap req extended-join -multi-prefix
remove capability away-notify:
/cap req -away-notify
----
[[command_irc_connect]]
@@ -1098,6 +1104,19 @@ Examples:
// end::alias_commands[]
// tag::weechat_commands[]
[[command_weechat_allbuf]]
* `+allbuf+`: execute a command on all buffers
----
/allbuf <command>
command: command to execute (or text to send to buffer if command does not start with '/')
Examples:
set unread marker on all buffers:
/allbuf /buffer set unread
----
[[command_weechat_away]]
* `+away+`: set or remove away status
@@ -1174,6 +1193,8 @@ Examples:
unmerge [<number>|-all]
hide [<number>|<name>|-all [<number>|<name>...]]
unhide [<number>|<name>|-all [<number>|<name>...]]
switch [-previous]
zoom
renumber [<number1> [<number2> [<start>]]]
close [<n1>[-<n2>]|<name>...]
notify [<level>]
@@ -1182,6 +1203,7 @@ Examples:
delvar <name>
set <property> [<value>]
get <property>
jump smart|last_displayed|prev_visited|next_visited
<number>|-|+|<name>
list: list buffers (without argument, this list is displayed)
@@ -1195,6 +1217,8 @@ Examples:
unmerge: unmerge buffer from other buffers which have same number
hide: hide the buffer
unhide: unhide the buffer
switch: switch to next merged buffer (or to previous buffer with "-previous")
zoom: zoom on merged buffer
renumber: renumber buffers (works only if option weechat.look.buffer_auto_renumber is off)
close: close buffer (number/range or name is optional)
notify: display or set notify level for current buffer: this level determines whether buffer will be added to hotlist or not:
@@ -1208,6 +1232,11 @@ renumber: renumber buffers (works only if option weechat.look.buffer_auto_renumb
delvar: delete a local variable from the current buffer
set: set a property in the current buffer
get: display a property of current buffer
jump: jump to another buffer:
smart: next buffer with activity
last_displayed: last buffer displayed (before last jump to a buffer)
prev_visited: previously visited buffer
next_visited: jump to next visited buffer
number: jump to buffer by number, possible prefix:
'+': relative jump, add number to current
'-': relative jump, sub number to current
@@ -1337,6 +1366,7 @@ Examples:
mouse|cursor [verbose]
hdata [free]
time <command>
unicode <string>
list: list plugins with debug levels
set: set debug level for plugin
@@ -1358,6 +1388,13 @@ infolists: display infos about infolists
term: display infos about terminal
windows: display windows tree
time: measure time to execute a command or to send text to the current buffer
unicode: display information about string and unicode chars (evaluated, see /help eval)
Examples:
/debug set irc 1
/debug mouse verbose
/debug time /filter toggle
/debug unicode ${chars:${\u26C0}-${\u26CF}}
----
[[command_weechat_eval]]
@@ -1404,35 +1441,36 @@ To force a string comparison, you can add double quotes around each expression,
"50" > "100" ==> 1
Some variables are replaced in expression, using the format ${variable}, variable can be, by order of priority:
1. the string itself without evaluation (format: "raw:xxx")
2. a user-defined variable (format: "name")
3. an evaluated sub-string (format: "eval:xxx")
4. an evaluated condition (format: "eval_cond:xxx")
5. a string with escaped chars (format: "esc:xxx" or "\xxx")
6. a string converted to lower case (format: "lower:xxx")
7. a string converted to upper case (format: "upper:xxx")
8. a string with chars to hide (format: "hide:char,string")
9. a string with max chars (format: "cut:max,suffix,string" or "cut:+max,suffix,string")
- the string itself without evaluation (format: "raw:xxx")
- a user-defined variable (format: "name")
- an evaluated sub-string (format: "eval:xxx")
- an evaluated condition (format: "eval_cond:xxx")
- a string with escaped chars (format: "esc:xxx" or "\xxx")
- a string with a range of chars (format: "chars:xxx" or "chars:c1-c2" where "xxx" is one of: "digit", "xdigit", "lower", "upper", "alpha", "alnum")
- a string converted to lower case (format: "lower:xxx")
- a string converted to upper case (format: "upper:xxx")
- a string with chars to hide (format: "hide:char,string")
- a string with max chars (format: "cut:max,suffix,string" or "cut:+max,suffix,string")
or max chars displayed on screen (format: "cutscr:max,suffix,string" or "cutscr:+max,suffix,string")
10. a reversed string (format: "rev:xxx" or "revscr:xxx")
11. a repeated string (format: "repeat:count,string")
12. length of a string (format: "length:xxx" or "lengthscr:xxx")
13. split of a string (format: "split:number,separators,flags,xxx")
14. split of shell argmuents (format: "split_shell:number,xxx")
15. a color (format: "color:xxx", see "Plugin API reference", function "color")
16. a modifier (format: "modifier:name,data,string")
17. an info (format: "info:name,arguments", arguments are optional)
18. a base 16/32/64 encoded/decoded string (format: "base_encode:base,xxx" or "base_decode:base,xxx")
19. current date/time (format: "date" or "date:format")
20. an environment variable (format: "env:XXX")
21. a ternary operator (format: "if:condition?value_if_true:value_if_false")
22. result of an expression with parentheses and operators + - * / // % ** (format: "calc:xxx")
23. a random integer number (format: "random:min,max")
24. a translated string (format: "translate:xxx")
25. define a user variable (format: "define:name,value")
26. an option (format: "file.section.option")
27. a local variable in buffer
28. a hdata name/variable (the value is automatically converted to string), by default "window" and "buffer" point to current window/buffer.
- a reversed string (format: "rev:xxx" or "revscr:xxx")
- a repeated string (format: "repeat:count,string")
- length of a string (format: "length:xxx" or "lengthscr:xxx")
- split of a string (format: "split:number,separators,flags,xxx")
- split of shell argmuents (format: "split_shell:number,xxx")
- a color (format: "color:xxx", see "Plugin API reference", function "color")
- a modifier (format: "modifier:name,data,string")
- an info (format: "info:name,arguments", arguments are optional)
- a base 16/32/64 encoded/decoded string (format: "base_encode:base,xxx" or "base_decode:base,xxx")
- current date/time (format: "date" or "date:format")
- an environment variable (format: "env:XXX")
- a ternary operator (format: "if:condition?value_if_true:value_if_false")
- result of an expression with parentheses and operators + - * / // % ** (format: "calc:xxx")
- a random integer number (format: "random:min,max")
- a translated string (format: "translate:xxx")
- define a user variable (format: "define:name,value")
- an option (format: "file.section.option")
- a local variable in buffer
- a hdata name/variable (the value is automatically converted to string), by default "window" and "buffer" point to current window/buffer.
Format for hdata can be one of following:
hdata.var1.var2...: start with a hdata (pointer must be known), and ask variables one after one (other hdata can be followed)
hdata[list].var1.var2...: start with a hdata using a list/pointer/pointer name, for example:
@@ -1455,6 +1493,8 @@ Examples (simple strings):
/eval -n ${window.buffer.full_name} ==> core.weechat
/eval -n ${window.buffer.number} ==> 1
/eval -n ${\t} ==> <tab>
/eval -n ${chars:digit} ==> 0123456789
/eval -n ${chars:J-T} ==> JKLMNOPQRST
/eval -n ${lower:TEST} ==> test
/eval -n ${upper:test} ==> TEST
/eval -n ${hide:-,${relay.network.password}} ==> --------
@@ -1586,6 +1626,22 @@ clear: clear history
value: number of history entries to show
----
[[command_weechat_hotlist]]
* `+hotlist+`: manage hotlist
----
/hotlist add [low|message|private|highlight]
clear [<level>]
remove
restore [-all]
add: add current buffer in hotlist (default level: "low", conditions defined in option weechat.look.hotlist_add_conditions are NOT checked)
clear: clear hotlist
level: "lowest" to clear only lowest level in hotlist, highest" to clear only highest level in hotlist, or level mask: integer which is a combination of 1=join/part, 2=message, 4=private, 8=highlight)
remove: remove current buffer from hotlist
restore: restore latest hotlist removed in the current buffer (or all buffers with -all)
----
[[command_weechat_input]]
* `+input+`: functions for command line
@@ -1608,6 +1664,7 @@ list of actions:
delete_previous_char: delete previous char
delete_next_char: delete next char
delete_previous_word: delete previous word
delete_previous_word_whitespace: delete previous word (until whitespace)
delete_next_word: delete next word
delete_beginning_of_line: delete from beginning of line until cursor
delete_end_of_line: delete from cursor until end of line
@@ -1626,23 +1683,10 @@ list of actions:
history_next: recall next command in current buffer history
history_global_previous: recall previous command in global history
history_global_next: recall next command in global history
jump_smart: jump to next buffer with activity
jump_last_buffer_displayed: jump to last buffer displayed (before last jump to a buffer)
jump_previously_visited_buffer: jump to previously visited buffer
jump_next_visited_buffer: jump to next visited buffer
hotlist_clear: clear hotlist (optional argument: "lowest" to clear only lowest level in hotlist, "highest" to clear only highest level in hotlist, or level mask: integer which is a combination of 1=join/part, 2=message, 4=private, 8=highlight)
hotlist_remove_buffer: remove current buffer from hotlist
hotlist_restore_buffer: restore latest hotlist removed in the current buffer
hotlist_restore_all: restore latest hotlist removed in all buffers
grab_key: grab a key (optional argument: delay for end of grab, default is 500 milliseconds)
grab_key_command: grab a key with its associated command (optional argument: delay for end of grab, default is 500 milliseconds)
grab_mouse: grab mouse event code
grab_mouse_area: grab mouse event code with area
set_unread: set unread marker for all buffers
set_unread_current_buffer: set unread marker for current buffer
switch_active_buffer: switch to next merged buffer
switch_active_buffer_previous: switch to previous merged buffer
zoom_merged_buffer: zoom on merged buffer
insert: insert text in command line (escaped chars are allowed, see /help print)
send: send text to the buffer
paste_start: start paste (bracketed paste mode)
@@ -2116,19 +2160,22 @@ Examples:
----
[[command_weechat_upgrade]]
* `+upgrade+`: reload the WeeChat binary without disconnecting from servers
* `+upgrade+`: save WeeChat session and reload the WeeChat binary without disconnecting from servers
----
/upgrade [-yes] [<path_to_binary>|-quit]
/upgrade [-yes] [<path_to_binary>|-save|-quit]
-yes: required if option "weechat.look.confirm_upgrade" is enabled
path_to_binary: path to WeeChat binary (default is current binary)
-dummy: do nothing (option used to prevent accidental completion with "-quit")
-save: only save the session, do not quit nor reload WeeChat; the configuration files are not saved (if needed you can use /save before this command)
-quit: close *ALL* connections, save session and quit WeeChat, which makes possible a delayed restoration (see below)
This command upgrades and reloads a running WeeChat session. The new WeeChat binary must have been compiled or installed with a package manager before running this command.
Note: SSL connections are lost during upgrade, because reload of SSL sessions is currently not possible with GnuTLS. There is automatic reconnection after upgrade.
Note: SSL connections are lost during upgrade (except with -save), because the reload of SSL sessions is currently not possible with GnuTLS. There is automatic reconnection after upgrade.
Important: use of option -save can be dangerous, it is recommended to use only /upgrade (or with -quit) for a standard upgrade and a restart; the option -save can be used to save the session regularly and restore it in case of after abnormal exit (power outage, crash, etc.)
Upgrade process has 4 steps:
1. save session into files for core and plugins (buffers, history, ..)
@@ -2136,14 +2183,18 @@ Upgrade process has 4 steps:
3. save WeeChat configuration (weechat.conf)
4. execute new WeeChat binary and reload session.
With option "-quit", the process is slightly different:
With option "-quit", the process is:
1. close *ALL* connections (irc, xfer, relay, ...)
2. save session into files (*.upgrade)
3. unload all plugins
4. save WeeChat configuration
5. quit WeeChat
Then later you can restore session with command: weechat --upgrade
IMPORTANT: you must restore the session with exactly same configuration (files *.conf).
With option "-save", the process is:
1. save session into files (*.upgrade) with a disconnected state for IRC servers and Relay clients (but no disconnection is made)
With -quit or -save, you can restore the session later with this command: weechat --upgrade
IMPORTANT: you must restore the session with exactly same configuration (files *.conf) and if possible the same WeeChat version (or a more recent one).
It is possible to restore WeeChat session on another machine if you copy the content of WeeChat home directories (see /debug dirs).
----
@@ -2328,6 +2379,7 @@ The following variables can be used in these options:
- ${format_hotlist}: the formatted hotlist (evaluation of option buflist.format.hotlist)
- ${hotlist}: the raw hotlist
- ${hotlist_priority}: "none", "low", "message", "private" or "highlight"
- ${hotlist_priority_number}: -1 = none, 0 = low, 1 = message, 2 = private, 3 = highlight
- ${format_lag}: the lag for an IRC server buffer, empty if there's no lag (evaluation of option buflist.format.lag)
- ${format_tls_version}: indicator of TLS version for a server buffer, empty for channels (evaluation of option buflist.format.tls_version)
----
@@ -3049,7 +3101,7 @@ Examples:
----
/spell enable|disable|toggle
listdict
setdict <dict>[,<dict>...]
setdict -|<dict>[,<dict>...]
deldict
addword [<dict>] <word>
@@ -3057,7 +3109,7 @@ Examples:
disable: disable spell checker
toggle: toggle spell checker
listdict: show installed dictionaries
setdict: set dictionary for current buffer (multiple dictionaries can be separated by a comma)
setdict: set dictionary for current buffer (multiple dictionaries can be separated by a comma, the special value "-" disables spell checking on current buffer)
deldict: delete dictionary used on current buffer
addword: add a word in personal dictionary
@@ -3186,6 +3238,8 @@ Examples (you can also look at default triggers with /trigger listdefault):
/trigger add resize_big signal signal_sigwinch "${info:term_width} >= 100" "" "/bar show nicklist"
silently save config each hour:
/trigger add cfgsave timer 3600000;0;0 "" "" "/mute /save"
silently save WeeChat session at midnight (see /help upgrade):
/trigger add session_save signal day_changed "" "" "/mute /upgrade -save"
open trigger monitor and show only modifiers and triggers whose name starts with "resize":
/trigger monitor @modifier,resize*
----
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -100,7 +100,7 @@ $HOME/.local/share/weechat/weechat.log::
WeeChat is written by Sébastien Helleu and contributors (complete list is in
the AUTHORS.adoc file).
Copyright (C) 2003-2022 {author}
Copyright (C) 2003-2023 {author}
WeeChat is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
+15 -5
View File
@@ -405,6 +405,7 @@ WeeChat "core" is located in following directories:
|       core/ | Root of unit tests for core.
|          test-core-arraylist.cpp | Tests: arraylists.
|          test-core-calc.cpp | Tests: calculation of expressions.
|          test-core-command.cpp | Tests: commands.
|          test-core-config-file.cpp | Tests: configuration files.
|          test-core-crypto.cpp | Tests: cryptographic functions.
|          test-core-dir.cpp | Tests: directory/file functions.
@@ -426,6 +427,8 @@ WeeChat "core" is located in following directories:
|          test-gui-buffer.cpp | Tests: buffer functions.
|          test-gui-chat.cpp | Tests: chat functions.
|          test-gui-color.cpp | Tests: colors.
|          test-gui-filter.cpp | Tests: filters.
|          test-gui-input.cpp | Tests: input functions.
|          test-gui-line.cpp | Tests: lines.
|          test-gui-nick.cpp | Tests: nicks.
|       plugins/ | Root of unit tests for plugins.
@@ -453,6 +456,9 @@ 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.
|          xfer/ | Root of unit tests for Xfer plugin.
|             test-xfer-file.cpp | Tests: file functions.
|             test-xfer-network.cpp | Tests: network functions.
|===
[[documentation_translations]]
@@ -524,7 +530,7 @@ Example in C:
/*
* weechat.c - core functions for WeeChat
*
* Copyright (C) 2022 Your Name <your@email.com>
* Copyright (C) 2023 Your Name <your@email.com>
*
* This file is part of WeeChat, the extensible chat client.
*
@@ -916,6 +922,8 @@ In following table, these conventions are used:
* `EXT`: extended color (`+@+` + 5 digits)
* `(ATTR)EXT`: extended color with optional attributes (`+@+` + attributes + 5 digits)
* `(ATTR)`: one or more attribute chars:
** `+%+`: blink
** `+.+`: "dim" (half bright)
** `+*+`: bold
** `+!+`: reverse
** `+/+`: italic
@@ -926,6 +934,8 @@ In following table, these conventions are used:
** _0x02_: reverse
** _0x03_: italic
** _0x04_: underline
** _0x05_: blink
** _0x06_: "dim" (half bright)
All combinations are summarized in this table:
@@ -940,10 +950,10 @@ All combinations are summarized in this table:
| [hex]#19# + `B` + `EXT` | [hex]#19# `+B@00124+` | chat + bars | Set background (extended color).
| [hex]#19# + `*` + `(ATTR)STD` | [hex]#19# `+*05+` | chat + bars | Set foreground (WeeChat color).
| [hex]#19# + `*` + `(ATTR)EXT` | [hex]#19# `+*@00214+` | chat + bars | Set foreground (extended color).
| [hex]#19# + `*` + `(ATTR)STD` + `,` + `STD` ^(1)^ | [hex]#19# `+*08,05+` | chat + bars | Set foreground/background (WeeChat colors).
| [hex]#19# + `*` + `(ATTR)STD` + `,` + `EXT` ^(1)^ | [hex]#19# `+*01,@00214+` | chat + bars | Set foreground (WeeChat color) and background (extended color).
| [hex]#19# + `*` + `(ATTR)EXT` + `,` + `STD` ^(1)^ | [hex]#19# `+*@00214,05+` | chat + bars | Set foreground (extended color) and background (WeeChat color).
| [hex]#19# + `*` + `(ATTR)EXT` + `,` + `EXT` ^(1)^ | [hex]#19# `+*@00214,@00017+` | chat + bars | Set foreground/background (extended colors).
| [hex]#19# + `*` + `(ATTR)STD` + `,` + `STD` ^(1)^ | [hex]#19# `+*08,05+` | chat + bars | Set foreground/background (WeeChat colors).
| [hex]#19# + `*` + `(ATTR)STD` + `,` + `EXT` ^(1)^ | [hex]#19# `+*01,@00214+` | chat + bars | Set foreground (WeeChat color) and background (extended color).
| [hex]#19# + `*` + `(ATTR)EXT` + `,` + `STD` ^(1)^ | [hex]#19# `+*@00214,05+` | chat + bars | Set foreground (extended color) and background (WeeChat color).
| [hex]#19# + `*` + `(ATTR)EXT` + `,` + `EXT` ^(1)^ | [hex]#19# `+*@00214,@00017+` | chat + bars | Set foreground/background (extended colors).
| [hex]#19# + `*` + `(ATTR)STD` + `~` + `STD` | [hex]#19# `+*08~05+` | chat + bars | Set foreground/background (WeeChat colors).
| [hex]#19# + `*` + `(ATTR)STD` + `~` + `EXT` | [hex]#19# `+*01~@00214+` | chat + bars | Set foreground (WeeChat color) and background (extended color).
| [hex]#19# + `*` + `(ATTR)EXT` + `~` + `STD` | [hex]#19# `+*@00214~05+` | chat + bars | Set foreground (extended color) and background (WeeChat color).
+30 -111
View File
@@ -9,9 +9,6 @@
:docinfo1:
This document is written for WeeChat versions ≥ 0.3.0 but should preferably be
used with latest stable version of WeeChat.
toc::[]
@@ -187,18 +184,10 @@ windows.
[[buffers_list]]
=== How to display the buffers list on the left side?
With WeeChat ≥ 1.8, the plugin
link:weechat_user.en.html#buflist[buflist ^↗^,window=_blank]
The plugin link:weechat_user.en.html#buflist[buflist ^↗^,window=_blank]
is loaded and enabled by default.
With an older version, you can install script _buffers.pl_:
----
/script install buffers.pl
----
To limit size of bar (replace "buflist" by "buffers" if you're using the script
_buffers.pl_):
To limit size of bar:
----
/set weechat.bar.buflist.size_max 15
@@ -216,21 +205,6 @@ bar with your mouse wheel.
Default keys to scroll _buflist_ bar are kbd:[F1] (or kbd:[Ctrl+F1]), kbd:[F2]
(or kbd:[Ctrl+F2]), kbd:[Alt+F1] and kbd:[Alt+F2].
For script _buffers.pl_, you can define keys, similar to the existing keys to
scroll nicklist. +
For example to use kbd:[F1], kbd:[F2], kbd:[Alt+F1] and kbd:[Alt+F2]:
----
/key bind meta-OP /bar scroll buffers * -100%
/key bind meta-OQ /bar scroll buffers * +100%
/key bind meta-meta-OP /bar scroll buffers * b
/key bind meta-meta-OQ /bar scroll buffers * e
----
[NOTE]
Keys "meta-OP" and "meta-OQ" may be different in your terminal. To find key
code press kbd:[Alt+k] then key.
[[customize_buflist]]
=== How can I customize the list of buffers list, like the color of the active buffer?
@@ -346,9 +320,8 @@ any bar:
[[terminal_copy_paste]]
=== How can I copy/paste text without pasting nicklist?
With WeeChat ≥ 1.0, you can use the bare display (default key: kbd:[Alt+l] (`L`)),
which will show just the contents of the currently selected window,
without any formatting.
You can use the bare display (default key: kbd:[Alt+l] (`L`)), which shows
just the contents of the currently selected window, without any formatting.
You can use a terminal with rectangular selection (like rxvt-unicode,
konsole, gnome-terminal, etc.). Key is usually kbd:[Ctrl] + kbd:[Alt] + mouse
@@ -363,7 +336,7 @@ Another solution is to move nicklist to top or bottom, for example:
[[urls]]
=== How can I click on long URLs (more than one line)?
With WeeChat ≥ 1.0, you can use the bare display (default key: kbd:[Alt+l] (`L`)).
You can use the bare display (default key: kbd:[Alt+l] (`L`)).
To make opening URLs easier, you can:
@@ -373,7 +346,7 @@ To make opening URLs easier, you can:
/set weechat.bar.nicklist.position top
----
* disable alignment for multiline words (WeeChat ≥ 1.7):
* disable alignment for multiline words:
----
/set weechat.look.align_multiline_words off
@@ -385,9 +358,8 @@ To make opening URLs easier, you can:
/set weechat.look.align_end_of_lines time
----
With WeeChat ≥ 0.3.6, you can enable option "eat_newline_glitch", so that
new line char is not added at the end of each line displayed (it will not break
URL selection):
You can enable option "eat_newline_glitch", so that new line char is not added
at the end of each line displayed (it will not break URL selection):
----
/set weechat.look.eat_newline_glitch on
@@ -434,8 +406,6 @@ In WeeChat, the new value is immediately used:
[[use_256_colors]]
=== How can I use 256 colors in WeeChat?
256 colors are supported with WeeChat ≥ 0.3.4.
First check that your _TERM_ environment variable is correct, recommended values
are:
@@ -454,17 +424,15 @@ term screen-256color
----
If your _TERM_ variable has a wrong value and that WeeChat is already running,
you can change it with these two commands (with WeeChat ≥ 1.0):
you can change it with these two commands:
----
/set env TERM screen-256color
/upgrade
----
For version 0.3.4, you must use command `/color` to add new colors.
For versions ≥ 0.3.5, you can use any color number in options (optional: you
can add color aliases with command `/color`).
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]
for more information about colors management.
@@ -509,7 +477,7 @@ commands of your choice):
For example to mark buffers as read when the terminal loses the focus:
----
/key bind meta2-O /input set_unread
/key bind meta2-O /allbuf /buffer set unread
----
[[screen_paste]]
@@ -681,8 +649,6 @@ code press kbd:[Alt+k] then key.
[[mouse_not_working]]
=== Mouse is not working at all, what can I do?
Mouse is supported with WeeChat ≥ 0.3.6.
First try to enable mouse:
----
@@ -732,12 +698,6 @@ you have to use kbd:[Alt] instead of kbd:[Shift]).
If you are using macOS, you must install `openssl` from Homebrew.
A CA file will be bootstrapped using certificates from the system keychain.
With WeeChat ≤ 3.1, you can then set the path to system certificates:
----
/set weechat.network.gnutls_ca_file "/usr/local/etc/openssl/cert.pem"
----
If you see errors about gnutls handshake, you can try to use a smaller
Diffie-Hellman key (default is 2048):
@@ -762,8 +722,7 @@ should be, you can specify the fingerprint (SHA-512, SHA-256 or SHA-1):
[[irc_ssl_handshake_error]]
=== When connecting to server with SSL, I only see the error "TLS handshake failed", what can I do?
You can try a different priority string (WeeChat ≥ 0.3.5 only), replace "xxx"
by your server name:
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"
@@ -772,22 +731,8 @@ by your server name:
[[irc_ssl_libera]]
=== How can I connect to libera server using SSL?
With WeeChat ≤ 3.1, set option _weechat.network.gnutls_ca_file_ to file with
certificates:
----
/set weechat.network.gnutls_ca_file "/etc/ssl/certs/ca-certificates.crt"
----
Note: if you are running macOS with homebrew openssl installed, you can do:
----
/set weechat.network.gnutls_ca_file "/usr/local/etc/openssl/cert.pem"
----
[NOTE]
Check that you have this file on your system (commonly brought by package
"ca-certificates").
Check that you have certificates installed on your system, this is commonly
provided by the package "ca-certificates".
Setup server port, SSL, then connect:
@@ -848,8 +793,8 @@ For a single server:
/set irc.server.libera.autojoin_dynamic on
----
With WeeChat ≥ 3.5, you can also add the current channel in the "autojoin"
server option using the `/autojoin` command:
You can also add the current channel in the "autojoin" server option using the
`/autojoin` command:
----
/autojoin add
@@ -861,25 +806,7 @@ Or another channel:
/autojoin add #test
----
With WeeChat ≤ 3.4, you can use the `/set` command to edit the list of autojoin
channels, for example for the "libera" server:
----
/set irc.server.libera.autojoin [TAB]
----
[NOTE]
You can complete the name and value of option with the kbd:[Tab] key
(or kbd:[Shift+Tab] for partial completion, useful for the name). +
This way you don't have to type the whole list of channels.
You can also use the `/fset` command to edit the list of channels:
----
/fset autojoin
----
With WeeChat ≤ 3.4, another solution is to use a script:
There are also scripts:
----
/script search autojoin
@@ -924,9 +851,9 @@ link:weechat_user.en.html#irc_smart_filter_join_part_quit[User's guide / Smart f
[[filter_irc_join_channel_messages]]
=== How can I filter some messages displayed when I join an IRC channel?
With WeeChat ≥ 0.4.1, you can choose which messages are displayed when
joining a channel with the option _irc.look.display_join_message_ (see
`+/help irc.look.display_join_message+` for more info).
You can choose which messages are displayed when joining a channel with the
option _irc.look.display_join_message_ (see `+/help irc.look.display_join_message+`
for more info).
To hide messages (but keep them in buffer), you can filter them using the tag
(for example _irc_329_ for channel creation date). See `/help filter` for help
@@ -981,17 +908,13 @@ nicks:
/set irc.server_default.away_check_max_nicks 25
----
[NOTE]
For WeeChat ≤ 0.3.3, options are _irc.network.away_check_ and
_irc.network.away_check_max_nicks_.
[[highlight_notification]]
=== How can I be warned when someone highlights me on a channel?
With WeeChat ≥ 1.0, there is a default trigger "beep" which sends a _BEL_ to
the terminal on a highlight or private message. Thus you can configure your
terminal (or multiplexer like screen/tmux) to run a command or play a sound
when a _BEL_ occurs.
There is a default trigger "beep" which sends a _BEL_ to the terminal on
a highlight or private message. Thus you can configure your terminal
(or multiplexer like screen/tmux) to run a command or play a sound when
a _BEL_ occurs.
Or you can add a command in "beep" trigger:
@@ -1016,7 +939,7 @@ Other scripts on this subject:
[[disable_highlights_for_specific_nicks]]
=== How can I disable highlights for specific nicks?
With WeeChat ≥ 0.3.4 you can use the
You can use the
link:weechat_user.en.html#max_hotlist_level_nicks[hotlist_max_level_nicks_add ^↗^,window=_blank]
buffer property to set the max hotlist level for some nicks, per buffer,
or per group of buffers (like IRC servers).
@@ -1053,7 +976,7 @@ For more examples, see `+/help buffer_autoset+`.
[[irc_target_buffer]]
=== How can I change target buffer for commands on merged buffers (like buffer with servers)?
The default key is kbd:[Ctrl+x] (command is: `+/input switch_active_buffer+`).
The default key is kbd:[Ctrl+x] (command is: `+/buffer switch+`).
[[plugins_scripts]]
== Plugins / scripts
@@ -1073,8 +996,8 @@ You must set that up:
[[install_scripts]]
=== How can I install scripts? Are scripts compatible with other IRC clients?
With WeeChat ≥ 0.3.9 you can use the command `/script` to install and manage scripts
(see `/help script` for help). For older versions there is weeget.py and script.pl.
You can use the command `/script` to install and manage scripts (see `/help script`
for help).
Scripts are not compatible with other IRC clients.
@@ -1090,7 +1013,7 @@ $ rm ~/.cache/weechat/script/plugins.xml.gz
----
[NOTE]
With WeeChat ≤ 3.1, the path should be: _~/.weechat/script/plugins.xml.gz_.
If you are not using the XDG directories, the path could be: _~/.weechat/script/plugins.xml.gz_.
And update scripts again in WeeChat:
@@ -1132,10 +1055,6 @@ You have to reload the spell plugin:
/plugin reload spell
----
[NOTE]
With WeeChat ≤ 2.4, the "spell" plugin was named "aspell", so the command is:
`/plugin reload aspell`.
[[settings]]
== Settings
File diff suppressed because it is too large Load Diff
+2
View File
@@ -691,6 +691,8 @@ inl:
text_search_found: 0
text_search_input: None
highlight_words: None
highlight_disable_regex: None
highlight_disable_regex_compiled: '0x0'
highlight_regex: None
highlight_regex_compiled: '0x0'
highlight_tags_restrict: None
+24 -6
View File
@@ -134,10 +134,6 @@ receive a string of type `str` or `bytes` (this list is not exhaustive):
|===
In Python 2, which is now deprecated and should not be used any more, the
strings sent to callbacks are always of type `str`, and may contain invalid
UTF-8 data, in the cases mentioned above.
[[language_perl]]
==== Perl
@@ -195,12 +191,22 @@ Functions are called with `+weechat.xxx(arg1, arg2, ...)+`.
Functions are called with `+weechat::xxx arg1 arg2 ...+`.
[[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. To overcome this you can use the constant
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.
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].
[[language_guile]]
==== Guile (Scheme)
@@ -573,6 +579,7 @@ List of functions in script API:
string_has_highlight_regex +
string_mask_to_regex +
string_format_size +
string_parse_size +
string_color_code_size +
string_remove_color +
string_is_command_char +
@@ -1307,7 +1314,7 @@ The result is a hashtable with following keys
[width="100%",cols="3,^2,10,7",options="header"]
|===
| Key | Since WeeChat ^(1)^ | Description | Example
| Key | Since WeeChat ^(1)^ | Description | Example
| tags | 0.4.0
| The tags in message (can be empty).
@@ -1349,6 +1356,14 @@ The result is a hashtable with following keys
| The text (for example user message).
| `+hello!+`
| paramN | 3.4
| Command parameter (from 1 to N).
| `+#weechat+`
| num_params | 3.4
| Number of command parameters.
| `+2+`
| pos_command | 1.3
| The index of _command_ in message ("-1" if _command_ was not found).
| `+47+`
@@ -1387,6 +1402,9 @@ dict = weechat.info_get_hashtable(
# "channel": "#weechat",
# "arguments": "#weechat :hello!",
# "text": "hello!",
# "param1": "#weechat",
# "param2": "hello!",
# "num_params": "2",
# "pos_command": "65",
# "pos_arguments": "73",
# "pos_channel": "73",
+267 -108
View File
@@ -108,16 +108,38 @@ WeeChat:
[width="100%",cols="5,^3,.^15",options="header"]
|===
| Package ^(1)^ | Version | Feature
| C compiler (gcc / clang) | | Build.
| cmake | ≥ 3.0 | Build (autotools still possible, but CMake is recommended).
| pkg-config | | Detect installed libraries.
| libncursesw5-dev ^(2)^ | | Ncurses interface.
| libcurl4-gnutls-dev | | URL transfer.
| libgcrypt20-dev | | Secured data, IRC SASL authentication.
| libgnutls28-dev | ≥ 2.2.0 ^(3)^ | SSL connection to IRC server, support of SSL in relay plugin, IRC SASL authentication (ECDSA-NIST256P-CHALLENGE).
| zlib1g-dev | | Compression of messages (WeeChat -> client) with https://zlib.net/[zlib ^↗^,window=_blank] in relay plugin (weechat protocol), script plugin.
| libzstd-dev | | Compression of messages (WeeChat -> client) with https://facebook.github.io/zstd/[Zstandard ^↗^,window=_blank] in relay plugin (weechat protocol).
| Package ^(1)^ | Version | Features
| C compiler (gcc / clang) |
| Build.
| cmake | ≥ 3.0
| Build (autotools still possible, but CMake is recommended).
| pkg-config |
| Detect installed libraries.
| libncursesw5-dev ^(2)^ |
| Ncurses interface.
| libcurl4-gnutls-dev |
| URL transfer.
| libgcrypt20-dev |
| Secured data, IRC SASL authentication.
| libgnutls28-dev | ≥ 2.2.0 ^(3)^
| IRC plugin: support of TLS connections, IRC SASL authentication (ECDSA-NIST256P-CHALLENGE). +
Relay plugin: support of TLS connections.
| zlib1g-dev |
| Logger plugin: compression of rotated log files (gzip). +
Relay plugin: compression of messages (WeeChat -> client) with https://zlib.net/[zlib ^↗^,window=_blank] (weechat protocol). +
Script plugin: read of repository index file (gzip).
| libzstd-dev | ≥ 0.8.1
| Logger plugin: compression of rotated log files. +
Relay plugin: compression of messages (WeeChat -> client) with https://facebook.github.io/zstd/[Zstandard ^↗^,window=_blank] (weechat protocol).
|===
[NOTE]
@@ -134,12 +156,12 @@ WeeChat:
[width="100%",cols="5,^3,.^15",options="header"]
|===
| Package ^(1)^ | Version | Feature
| Package ^(1)^ | Version | Features
| {cpp} compiler (pass:[g++ / clang++]) | | Build and run tests, JavaScript plugin.
| gettext | | Internationalization (translation of messages; base language is English).
| ca-certificates | | Certificates for SSL connections.
| libaspell-dev / libenchant-dev | | Spell plugin.
| python3-dev ^(2)^ | | Python plugin.
| python3-dev | ≥ 3.0 | Python plugin.
| libperl-dev | | Perl plugin.
| ruby2.7, ruby2.7-dev | ≥ 1.9.1 | Ruby plugin.
| liblua5.4-dev | | Lua plugin.
@@ -158,9 +180,7 @@ WeeChat:
[NOTE]
^(1)^ Name comes from the Debian GNU/Linux Bullseye distribution, version and
name can be different in other distributions. +
^(2)^ By default Python 3.x is used. If you enable option `+ENABLE_PYTHON2+`
(see below), only the version 2.7 of Python is recommended.
name can be different in other distributions.
If you are using a Debian/Ubuntu based distribution, and if you have some
"deb-src" source entries in your file _/etc/apt/sources.list_, you can install
@@ -275,9 +295,6 @@ List of commonly used options:
| ENABLE_PYTHON | `ON`, `OFF` | ON
| Compile <<scripting_plugins,Python plugin>>.
| ENABLE_PYTHON2 | `ON`, `OFF` | OFF
| Compile <<scripting_plugins,Python plugin>> using Python 2 instead of Python 3.
| ENABLE_RELAY | `ON`, `OFF` | ON
| Compile <<relay,Relay plugin>>.
@@ -728,26 +745,26 @@ The WeeChat directories are:
[width="100%",cols="1m,3",options="header"]
|===
| Path ^(1)^ | Description
| Path ^(1)^ | Description
| ~/.config/weechat/ | WeeChat configuration files: `*.conf`, certificates, etc.
| ~/.local/share/weechat/ | WeeChat data files: logs, scripts, scripts data, xfer files, etc.
|    logs/ | Log files (one file per buffer).
|    python/ | Python scripts.
|       autoload/ | Python scripts auto-loaded on startup ^(2)^.
|       autoload/ | Python scripts auto-loaded on startup ^(2)^.
|    perl/ | Perl scripts.
|       autoload/ | Perl scripts auto-loaded on startup ^(2)^.
|       autoload/ | Perl scripts auto-loaded on startup ^(2)^.
|    ruby/ | Ruby scripts.
|       autoload/ | Ruby scripts auto-loaded on startup ^(2)^.
|       autoload/ | Ruby scripts auto-loaded on startup ^(2)^.
|    lua/ | Lua scripts.
|       autoload/ | Lua scripts auto-loaded on startup ^(2)^.
|       autoload/ | Lua scripts auto-loaded on startup ^(2)^.
|    tcl/ | Tcl scripts.
|       autoload/ | Tcl scripts auto-loaded on startup ^(2)^.
|       autoload/ | Tcl scripts auto-loaded on startup ^(2)^.
|    guile/ | Guile scripts.
|       autoload/ | Guile scripts auto-loaded on startup ^(2)^.
|       autoload/ | Guile scripts auto-loaded on startup ^(2)^.
|    javascript/ | JavaScript scripts.
|       autoload/ | JavaScript scripts auto-loaded on startup ^(2)^.
|       autoload/ | JavaScript scripts auto-loaded on startup ^(2)^.
|    php/ | PHP scripts.
|       autoload/ | PHP scripts auto-loaded on startup ^(2)^.
|       autoload/ | PHP scripts auto-loaded on startup ^(2)^.
| ~/.cache/weechat/ | WeeChat cache files: scripts cache.
| /run/user/1000/weechat/ | WeeChat runtime files: FIFO pipe, Relay UNIX sockets.
|===
@@ -1274,10 +1291,10 @@ Tags commonly used (non-exhaustive list):
| no_highlight | No highlight is possible on line.
| no_log | Line is not written in log file.
| log0 … log9 | Level of log for line (see `/help logger`).
| notify_none | The line must not be added to hotlist. ^(1)^
| notify_message | The line is a user message. ^(1)^
| notify_private | The line is a private message. ^(1)^
| notify_highlight | The line is a message with highlight. ^(1)^
| notify_none | The line must not be added to hotlist. ^(1)^
| notify_message | The line is a user message. ^(1)^
| notify_private | The line is a private message. ^(1)^
| notify_highlight | The line is a message with highlight. ^(1)^
| self_msg | Self message.
| nick_xxx | Message is from nick "xxx".
| prefix_nick_ccc | Prefix is a nick with color "ccc".
@@ -1495,27 +1512,28 @@ They can be changed and new ones can be added with the <<command_weechat_key,/ke
[width="100%",cols="^.^3,.^8,.^5",options="header"]
|===
| Key | Description | Command
| Key | Description | Command
| kbd:[Del] +
kbd:[Ctrl+d] | Delete next char in command line. | `+/input delete_next_char+`
kbd:[Ctrl+d] | Delete next char in command line. | `+/input delete_next_char+`
| kbd:[Backspace] +
kbd:[Ctrl+h] | Delete previous char in command line. | `+/input delete_previous_char+`
| kbd:[Ctrl+k] | Delete from cursor until end of command line (deleted string is copied to the internal clipboard). | `+/input delete_end_of_line+`
| kbd:[Ctrl+t] | Transpose chars. | `/input transpose_chars`
| kbd:[Ctrl+u] | Delete from cursor until beginning of command line (deleted string is copied to the internal clipboard). | `+/input delete_beginning_of_line+`
| kbd:[Ctrl+w] | Delete previous word of command line (deleted string is copied to the internal clipboard). | `+/input delete_previous_word+`
| kbd:[Ctrl+y] | Paste the internal clipboard content. | `+/input clipboard_paste+`
| kbd:[Ctrl+_] | Undo last action on command line. | `+/input undo+`
| kbd:[Alt+_] | Redo last action on command line. | `+/input redo+`
| kbd:[Tab] | Complete command or nick (kbd:[Tab] again: find next completion). | `+/input complete_next+`
| kbd:[Shift+Tab] | Without completion: do a partial completion, with pending completion: complete with previous completion. | `+/input complete_previous+`
kbd:[Ctrl+h] | Delete previous char in command line. | `+/input delete_previous_char+`
| kbd:[Ctrl+k] | Delete from cursor until end of command line (deleted string is copied to the internal clipboard). | `+/input delete_end_of_line+`
| kbd:[Ctrl+t] | Transpose chars. | `/input transpose_chars`
| kbd:[Ctrl+u] | Delete from cursor until beginning of command line (deleted string is copied to the internal clipboard). | `+/input delete_beginning_of_line+`
| kbd:[Alt+Backspace] | Delete previous word of command line (deleted string is copied to the internal clipboard). | `+/input delete_previous_word+`
| kbd:[Ctrl+w] | Delete previous word of command line until whitespace (deleted string is copied to the internal clipboard). | `+/input delete_previous_word_whitespace+`
| kbd:[Ctrl+y] | Paste the internal clipboard content. | `+/input clipboard_paste+`
| kbd:[Ctrl+_] | Undo last action on command line. | `+/input undo+`
| kbd:[Alt+_] | Redo last action on command line. | `+/input redo+`
| kbd:[Tab] | Complete command or nick (kbd:[Tab] again: find next completion). | `+/input complete_next+`
| kbd:[Shift+Tab] | Without completion: do a partial completion, with pending completion: complete with previous completion. | `+/input complete_previous+`
| kbd:[Enter] +
kbd:[Ctrl+j] +
kbd:[Ctrl+m] | Execute command or send message (in search mode: stop search). | `+/input return+`
| kbd:[Alt+Enter] | Insert a newline. | `+/input insert \n+`
| kbd:[Alt+d] | Delete next word in command line (deleted string is copied to the internal clipboard). | `+/input delete_next_word+`
| kbd:[Alt+k] | Grab a key and insert its code (and command bound if key exists) in command line. | `+/input grab_key_command+`
| kbd:[Alt+r] | Delete entire command line. | `+/input delete_line+`
kbd:[Ctrl+m] | Execute command or send message (in search mode: stop search). | `+/input return+`
| kbd:[Alt+Enter] | Insert a newline. | `+/input insert \n+`
| kbd:[Alt+d] | Delete next word in command line (deleted string is copied to the internal clipboard). | `+/input delete_next_word+`
| kbd:[Alt+k] | Grab a key and insert its code (and command bound if key exists) in command line. | `+/input grab_key_command+`
| kbd:[Alt+r] | Delete entire command line. | `+/input delete_line+`
|===
[[key_bindings_cmdline_color_codes]]
@@ -1551,9 +1569,9 @@ They can be changed and new ones can be added with the <<command_weechat_key,/ke
|===
| Key | Description | Command
| kbd:[Ctrl+r] | Search for text in buffer history (see <<key_bindings_search_context,keys for search context>>). | `+/input search_text_here+`
| kbd:[Ctrl+s], kbd:[Ctrl+u] | Set unread marker on all buffers. | `+/input set_unread+`
| kbd:[Ctrl+x] | Switch current buffer if buffers are merged with same number, for example switch to another IRC server buffer. | `+/input switch_active_buffer+`
| kbd:[Alt+x] | Zoom on merged buffer (kbd:[Alt+x] again: display all merged buffers). | `+/input zoom_merged_buffer+`
| kbd:[Ctrl+s], kbd:[Ctrl+u] | Set unread marker on all buffers. | `+/allbuf /buffer set unread+`
| kbd:[Ctrl+x] | Switch current buffer if buffers are merged with same number, for example switch to another IRC server buffer. | `+/buffer switch+`
| kbd:[Alt+x] | Zoom on merged buffer (kbd:[Alt+x] again: display all merged buffers). | `+/buffer zoom+`
| kbd:[PgUp] | Scroll up one page in buffer history. | `+/window page_up+`
| kbd:[PgDn] | Scroll down one page in buffer history. | `+/window page_down+`
| kbd:[Alt+PgUp] | Scroll up a few lines in buffer history. | `+/window scroll_up+`
@@ -1577,9 +1595,9 @@ They can be changed and new ones can be added with the <<command_weechat_key,/ke
| kbd:[Alt+n] | Scroll to next highlight. | `+/window scroll_next_highlight+`
| kbd:[Alt+p] | Scroll to previous highlight. | `+/window scroll_previous_highlight+`
| kbd:[Alt+u] | Scroll to first unread line in buffer. | `+/window scroll_unread+`
| kbd:[Alt+<] | Switch to previous buffer in list of visited buffers. | `+/input jump_previously_visited_buffer+`
| kbd:[Alt+>] | Switch to next buffer in list of visited buffers. | `+/input jump_next_visited_buffer+`
| kbd:[Alt+/] | Switch to last buffer displayed (before last jump to a buffer). | `+/input jump_last_buffer_displayed+`
| kbd:[Alt+<] | Switch to previous buffer in list of visited buffers. | `+/buffer jump prev_visited+`
| kbd:[Alt+>] | Switch to next buffer in list of visited buffers. | `+/buffer jump next_visited+`
| kbd:[Alt+/] | Switch to last buffer displayed (before last jump to a buffer). | `+/buffer jump last_displayed+`
|===
[[key_bindings_windows]]
@@ -1631,11 +1649,11 @@ They can be changed and new ones can be added with the <<command_weechat_key,/ke
[width="100%",cols="^.^3,.^8,.^5",options="header"]
|===
| Key | Description | Command
| kbd:[Alt+a] | Switch to next buffer with activity (with priority: highlight, message, other). | `+/input jump_smart+`
| kbd:[Alt+h], kbd:[Alt+c] | Clear hotlist (activity notification on buffers). | `+/input hotlist_clear+`
| kbd:[Alt+h], kbd:[Alt+m] | Remove current buffer from hotlist. | `+/input hotlist_remove_buffer+`
| kbd:[Alt+h], kbd:[Alt+r] | Restore latest hotlist removed in the current buffer. | `+/input hotlist_restore_buffer+`
| kbd:[Alt+h], kbd:[Alt+Shift+R] | Restore latest hotlist removed in all buffers. | `+/input hotlist_restore_all+`
| kbd:[Alt+a] | Switch to next buffer with activity (with priority: highlight, message, other). | `+/buffer jump smart+`
| kbd:[Alt+h], kbd:[Alt+c] | Clear hotlist (activity notification on buffers). | `+/hotlist clear+`
| kbd:[Alt+h], kbd:[Alt+m] | Remove current buffer from hotlist. | `+/hotlist remove+`
| kbd:[Alt+h], kbd:[Alt+r] | Restore latest hotlist removed in the current buffer. | `+/hotlist restore+`
| kbd:[Alt+h], kbd:[Alt+Shift+R] | Restore latest hotlist removed in all buffers. | `+/hotlist restore -all+`
|===
[[key_bindings_toggle_keys]]
@@ -1707,12 +1725,12 @@ These mouse actions are possible only if mouse is enabled with key kbd:[Alt+m]
[width="100%",cols="^.^3,^.^3,^.^3,.^8,.^8",options="header"]
|===
| Button/Wheel ^(1)^ | Gesture | Area | Description | Command
| Button/Wheel ^(1)^ | Gesture | Area | Description | Command
| ◾◽◽ | - | chat | Switch to window. | `+/window ${_window_number}+`
| ◾◽◽ | left | chat | Switch to previous buffer. | `+/window ${_window_number};/buffer +1+`
| ◾◽◽ | right | chat | Switch to next buffer. | `+/window ${_window_number};/buffer +1+`
| ◾◽◽ | left (long) | chat | Switch to first buffer. | `+/window ${_window_number};/buffer 1+`
| ◾◽◽ | right (long) | chat | Switch to last buffer. | `+/window ${_window_number};/input jump_last_buffer+`
| ◾◽◽ | right (long) | chat | Switch to last buffer. | `+/window ${_window_number};/buffer ++`
| kbd:[▲] | - | chat | Scroll up a few lines in buffer history. | `+/window scroll_up -window ${_window_number}+`
| kbd:[▼] | - | chat | Scroll down a few lines in buffer history. | `+/window scroll_down -window ${_window_number}+`
| kbd:[Ctrl+▲] | - | chat | Scroll horizontally to the left. | `+/window scroll_horiz -window ${_window_number} -10%+`
@@ -1759,7 +1777,7 @@ These keys and actions are used on the fset buffer (see <<fset,Fset plugin>>).
[width="100%",cols="^.^3,^.^2,.^8,.^5",options="header"]
|===
| Key | Action ^(1)^ | Description | Command
| Key | Action ^(1)^ | Description | Command
| kbd:[↑] | | Move one line up. | `+/fset -up+`
| kbd:[↓] | | Move one line down. | `+/fset -down+`
| kbd:[PgUp] | | Move one page up. | `+/window page_up+`
@@ -1805,7 +1823,7 @@ These keys and actions are used on the script buffer (see <<script_manager,scrip
[width="100%",cols="^.^3,^.^2,.^8,.^5",options="header"]
|===
| Key | Action ^(1)^ | Description | Command
| Key | Action ^(1)^ | Description | Command
| kbd:[↑] | | Move one line up. | `+/script up+`
| kbd:[↓] | | Move one line down. | `+/script down+`
| kbd:[PgUp] | | Move one page up. | `+/window page_up+`
@@ -1957,12 +1975,14 @@ For example:
It is possible to use some attributes for colors. One or more attributes can be
added before color name or number:
* `+%+`: blink
* `+.+`: "dim" (half bright)
* `+*+`: bold text
* `+!+`: reverse video
* `+/+`: italic
* `+_+`: underlined text
* `+|+`: keep attributes: do not reset bold/reverse/italic/underlined when
changing color
* `+|+`: keep attributes: do not reset blink/dim/bold/reverse/italic/underlined
when changing color
For example if you want self nick as white underlined, do:
@@ -2179,6 +2199,36 @@ with `+/script install buffer_autoset.py+` and get help with
[[highlights]]
=== Highlights
[[highlights_disable]]
==== Disable highlights
You can disable highlights with option
<<option_weechat.look.highlight_disable_regex,weechat.look.highlight_disable_regex>>
(regular expression). +
When a highlight is disabled with this option, the other highlight options are
ignored.
For example to disable any highlight on messages with a word beginning
with "flash" between chevrons:
----
/set weechat.look.highlight_disable_regex "<flash.*>"
----
This can also be set with the buffer property "highlight_disable_regex".
Same example, specific to the current buffer:
----
/buffer set highlight_disable_regex <flash.*>
----
[NOTE]
The buffer property "highlight_disable_regex" is not saved in configuration. +
You can easily save it with the script _buffer_autoset.py_: you can install it
with `+/script install buffer_autoset.py+` and get help with
`+/help buffer_autoset+`.
[[highlights_words]]
==== Add words to highlight
@@ -2191,7 +2241,7 @@ You can add other words to highlight with the option
highlight your nick and "word1", "word2" and all words beginning with "test":
----
/set weechat.look.highlight word1,word2,test*
/set weechat.look.highlight "word1,word2,test*"
----
If you need a more specific rule for the word, you can use regular expressions
@@ -2199,7 +2249,7 @@ with the option <<option_weechat.look.highlight_regex,weechat.look.highlight_reg
for example to highlight words "flashcode", "flashcöde" and "flashy":
----
/set weechat.look.highlight_regex flashc[oö]de|flashy
/set weechat.look.highlight_regex "flashc[oö]de|flashy"
----
The delimiters around words to highlight can be customized with the option
@@ -2377,6 +2427,48 @@ You'll have following files:
...
....
[[logger_rotation_compression]]
==== Rotation and compression
It is possible to define a max size for log files, and when it is reached,
there is automatic rotation of log file.
The rotated log files can be compressed with gzip or
https://facebook.github.io/zstd/[zstd ^↗^,window=_blank].
[NOTE]
As the compression of a file can take some time, it is performed in background.
Example with a max size of 2GB and compression with gzip, using good compression
level (slower than default one):
----
/set logger.file.rotation_compression_type gzip
/set logger.file.rotation_compression_level 80
/set logger.file.rotation_size_max "2g"
----
If you want to use a decimal number, you can use the unit below and multiply
by 1000, for example to set max size to 2.5GB:
----
/set logger.file.rotation_size_max "2500m"
----
With these settings, you'll end with files like these ones (in this example
there is rotation only for the log of #weechat channel):
....
~/.local/share/weechat
└── logs
├── core.weechat.weechatlog
├── irc.server.libera.weechatlog
├── irc.libera.#weechat.weechatlog
├── irc.libera.#weechat.weechatlog.1.gz
├── irc.libera.#weechat.weechatlog.2.gz
└── irc.libera.#weechat.weechatlog.3.gz
....
[[logger_commands]]
==== Commands
@@ -3885,8 +3977,8 @@ when replying to CTCP:
| Code | Description | Value/example
| $clientinfo | List of supported CTCP | `+ACTION DCC CLIENTINFO FINGER PING SOURCE TIME USERINFO VERSION+`
| $version | WeeChat version | `+0.4.0-dev+`
| $versiongit | WeeChat version + Git version ^(1)^ | `+0.4.0-dev (git: v0.3.9-104-g7eb5cc4)+`
| $git | Git version ^(1)^ | `+v0.3.9-104-g7eb5cc4+`
| $versiongit | WeeChat version + Git version ^(1)^ | `+0.4.0-dev (git: v0.3.9-104-g7eb5cc4)+`
| $git | Git version ^(1)^ | `+v0.3.9-104-g7eb5cc4+`
| $compilation | WeeChat compilation date | `+Dec 16 2012+`
| $osinfo | Info about OS | `+Linux 2.6.32-5-amd64 / x86_64+`
| $site | WeeChat site | `+https://weechat.org/+`
@@ -4570,8 +4662,8 @@ A trigger has the following options (names are
<<command_weechat_eval,/eval>>).
| regex | string
| One or more POSIX extended regular expressions, to change data received in the
hook callback (and some stuff added by trigger plugin), see
| One or more regex "commands" (similar to the `sed` command) to change data
received in the hook callback (and some stuff added by trigger plugin), see
<<trigger_regex,regular expression>>.
| command | string
@@ -4744,8 +4836,106 @@ ${tg_displayed} && (${tg_highlight} || ${tg_msg_pv})
The regular expression is used to change variables in callback hashtable.
The format is: "/regex/replace" or "/regex/replace/var" (where _var_ is a
variable of the hashtable).
Format is one of the following:
----
/string1/string2
/string1/string2/var
s/string1/string2
s/string1/string2/var
y/string1/string2
y/string1/string2/var
----
Fields:
* `s` or `y`: a letter with the command; if missing, default command is `s`
and the first char is then used as the delimiter:
** `s`: regex replacement: first string is a regular expression, second string
is the replacement for every matching string
** `y`: chars translation: first string is a set of characters that are replaced
by the characters in the second string; once evaluated, each string must have
exactly the same number of UTF-8 chars
* `/`: the regex delimiter; the char "/" can be replaced by any char
(one or more identical chars)
* `string1`: the first string (use depends on the command)
* `string2`: the second string (use depends on the command)
* `var`: the hashtable variable to update
Many regular expressions can be separated by a space, for example:
----
s/regex1/replace1/var1 y/abcdef/ABDDEF/var2
----
[[trigger_regex_replace]]
==== Regex replace
For the command `s`, the format is: `s/regex/replace` or `s/regex/replace/var`
(where _var_ is a variable of the hashtable).
As `s` is the default command, it can be omitted, so `/regex/replace` is also
valid (but the first char, which is the delimiter, must not be a letter).
Matching groups can be used in _replace_:
* `+${re:0}+` to `+${re:99}+`: `+${re:0}+` is the whole match, `+${re:1}+` to
`+${re:99}+` are groups captured
* `+${re:+}+`: the last match (with highest number)
* `+${hide:c,${re:N}}+`: match "N" with all chars replaced by "c"
(example: `+${hide:*,${re:2}}+` is the group #2 with all chars replaced by
`+*+`).
Example: use bold for words between `+*+`:
----
s/\*([^ ]+)\*/*${color:bold}${re:1}${color:-bold}*/
----
Example: default trigger _server_pass_ uses this regular expression to hide
password in commands `/server` and `/connect` (chars in passwords are replaced
by `+*+`):
----
s==^(/(server|connect) .*-(sasl_)?password=)([^ ]+)(.*)==${re:1}${hide:*,${re:4}}${re:5}
----
[NOTE]
In this example, the delimiter used is "==" because there is a "/" in the
regular expression.
[[trigger_regex_translate_chars]]
==== Translate chars
For the command `y`, the format is: `y/chars1/chars2` or `y/chars1/chars2/var`
(where _var_ is a variable of the hashtable).
Example: replace "a", "b" and "c" by upper case letter:
----
y/abc/ABC/
----
Example: rotate arrows clockwise:
----
y/←↑→↓/↑→↓←/
----
Example: convert all letters to lower case:
----
y/${chars:upper}/${chars:lower}/
----
Example: shift each letter by one position, preserving case: a→b, b→c … y→z, z→a:
----
y/${chars:a-z}${chars:A-Z}/${chars:b-z}a${chars:B-Z}A/
----
[[trigger_regex_variable]]
==== Variable
If _var_ does not exist in the hashtable, it is created automatically with an
empty value. This allows to create custom temporary variables.
@@ -4755,7 +4945,7 @@ type:
[width="100%",cols="2,3,7",options="header"]
|===
| Hook | Default variable | Update allowed ^(1)^
| Hook | Default variable | Update allowed ^(1)^
| signal | tg_signal_data |
| hsignal | |
| modifier | tg_string | tg_string
@@ -4774,38 +4964,6 @@ type:
^(1)^ All variables can be updated in the trigger, but only these variables
have an effect on the value returned by the trigger and used by WeeChat.
Many regular expressions can be separated by a space, for example:
"/regex1/replace1/var1 /regex2/replace2/var2".
The char "/" can be replaced by any char (one or more identical chars).
Matching groups can be used in "replace":
* `+${re:0}+` to `+${re:99}+`: `+${re:0}+` is the whole match, `+${re:1}+` to
`+${re:99}+` are groups captured
* `+${re:+}+`: the last match (with highest number)
* `+${hide:c,${re:N}}+`: match "N" with all chars replaced by "c"
(example: `+${hide:*,${re:2}}+` is the group #2 with all chars replaced by
`+*+`).
Example: use bold for words between `+*+`:
----
/\*([^ ]+)\*/*${color:bold}${re:1}${color:-bold}*/
----
Example: default trigger _server_pass_ uses this regular expression to hide
password in commands `/server` and `/connect` (chars in passwords are replaced
by `+*+`):
----
==^(/(server|connect) .*-(sasl_)?password=)([^ ]+)(.*)==${re:1}${hide:*,${re:4}}${re:5}
----
[NOTE]
In this example, the delimiter used is "==" because there is a "/" in the
regular expression.
[[trigger_command]]
=== Command
@@ -4846,6 +5004,7 @@ All callbacks set following variables in hashtable:
|===
| Variable | Type | Description
| tg_trigger_name | string | Name of trigger.
| tg_hook_type | string | Hook type: "signal", "command", etc.
|===
[[trigger_data_signal]]
@@ -4971,7 +5130,7 @@ Variables set using tags in message:
| tg_tag_prefix_nick | string | Color of nick in prefix (from tag "prefix_nick_ccc").
| tg_tag_host | string | User name and host, format: username@host (from tag "host_xxx").
| tg_tag_notify | string | Notify level (_none_, _message_, _private_, _highlight_).
| tg_tag_irc_xxx | string | IRC message tag (key "xxx"). ^(1)^
| tg_tag_irc_xxx | string | IRC message tag (key "xxx"). ^(1)^
| tg_notify | string | Notify level, if different from _none_.
| tg_msg_pv | string | "1" for a private message, otherwise "0".
|===
@@ -5013,7 +5172,7 @@ Variables set using tags in message:
| tg_tag_prefix_nick | string | Color of nick in prefix (from tag "prefix_nick_ccc").
| tg_tag_host | string | User name and host, format: username@host (from tag "host_xxx").
| tg_tag_notify | string | Notify level (_none_, _message_, _private_, _highlight_).
| tg_tag_irc_xxx | string | IRC message tag (key "xxx"). ^(1)^
| tg_tag_irc_xxx | string | IRC message tag (key "xxx"). ^(1)^
| tg_notify | string | Notify level, if different from _none_.
| tg_msg_pv | string | "1" for a private message, otherwise "0".
|===
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2012-2022 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2012-2023 Sébastien Helleu <flashcode@flashtux.org>
#
# This file is part of WeeChat, the extensible chat client.
#
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2012-2022 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2012-2023 Sébastien Helleu <flashcode@flashtux.org>
#
# This file is part of WeeChat, the extensible chat client.
#
+43 -113
View File
@@ -13,9 +13,6 @@ Traductores
* Victorhck <victorhck.mailbox.org>, 2021
Este documento está escrito para versiones de WeeChat ≥ 0.3.0 pero siempre es preferible
usar la última versión estable de WeeChat.
toc::[]
@@ -193,17 +190,10 @@ ventanas.
[[buffers_list]]
=== ¿Cómo mostrar un listado de los buffers en la parte izquierda?
Con WeeChat ≥ 1.8, el complemento link:weechat_user.en.html#buflist[buflist ^↗^,window=_blank]
El complemento link:weechat_user.en.html#buflist[buflist ^↗^,window=_blank]
está cargado y habilitado de manera predeterminada.
Con versiones anteriores, puede instalar el script _buffers.pl_:
----
/script install buffers.pl
----
Para limitar el tamaño de la barra (reemplace "buflist" por "buffers" si está utilizando el script
_buffers.pl_):
Para limitar el tamaño de la barra:
----
/set weechat.bar.buflist.size_max 15
@@ -221,21 +211,6 @@ con la rueda del ratón.
Las teclas predeterminadas para _hacer scroll_ en la barra son kbd:[F1] (o kbd:[Ctrl+F1]), kbd:[F2]
(o kbd:[Ctrl+F2]), kbd:[Alt+F1] y kbd:[Alt+F2].
Para el script _buffers.pl_, puede definir las teclas, similares a las teclas existentes para
hacer _scroll_ en la lista de apodos. +
Por ejemplo para utilizar kbd:[F1], kbd:[F2], kbd:[Alt+F1] y kbd:[Alt+F2]:
----
/key bind meta-OP /bar scroll buffers * -100%
/key bind meta-OQ /bar scroll buffers * +100%
/key bind meta-meta-OP /bar scroll buffers * b
/key bind meta-meta-OQ /bar scroll buffers * e
----
[NOTE]
Las teclas "meta-OP" y "meta-OQ" pueden ser diferentes en su terminal. Para encontrar el código
de la tecla, pulse kbd:[Alt+k] y después la tecla.
[[customize_buflist]]
=== ¿Cómo puedo personalizar la lista de lista de buffers, como el color del buffer activo?
@@ -352,9 +327,9 @@ en ninguna barra:
[[terminal_copy_paste]]
=== ¿Cómo puedo copiar/pegar texto sin pegar la lista de apodos?
Con WeeChat ≥ 1.0, puedes utilizar una visualización simple (la tecla predeterminada: kbd:[Alt+l] (`L`)),
que mostrará solo el contenido de la ventana actual seleccionada,
sin ningún tipo de formato de texto.
// TRANSLATION MISSING
You can use the bare display (default key: kbd:[Alt+l] (`L`)), which shows
just the contents of the currently selected window, without any formatting.
Puede utilizar una terminal con selección rectangualr (como rxvt-unicode,
konsole, gnome-terminal, etc.). La tecla normalmente es kbd:[Ctrl] + kbd:[Alt] + la selección
@@ -369,7 +344,8 @@ Otra solución es mover la lista de apodos a la parte superior o inferior, por e
[[urls]]
=== ¿Cómo puedo hacer clic sobre direcciones URL largas (de más de una línea)?
Con WeeChat ≥ 1.0, puede utilizar la visualización simple (la tecla predeterminada: kbd:[Alt+l] (`L`)).
// TRANSLATION MISSING
You can use the bare display (default key: kbd:[Alt+l] (`L`)).
Para abrir direcciones URL más fácilmente, puede:
@@ -379,7 +355,7 @@ Para abrir direcciones URL más fácilmente, puede:
/set weechat.bar.nicklist.position top
----
* inhabilitar la alineación de palabras multilínea (WeeChat ≥ 1.7):
* inhabilitar la alineación de palabras multilínea:
----
/set weechat.look.align_multiline_words off
@@ -391,9 +367,9 @@ Para abrir direcciones URL más fácilmente, puede:
/set weechat.look.align_end_of_lines time
----
Con WeeChat ≥ 0.3.6, puede habilitar la opción "eat_newline_glitch", así
el caracter de la nueva línea no es añadido al final de cada línea mostrada (esto no romperá
la selección de la dirección URL):
// TRANSLATION MISSING
You can enable option "eat_newline_glitch", so that new line char is not added
at the end of each line displayed (it will not break URL selection):
----
/set weechat.look.eat_newline_glitch on
@@ -440,8 +416,6 @@ En WeeChat, el nuevo valor es inmediatamente utilizado:
[[use_256_colors]]
=== ¿Cómo puedo utilizar 256 colors en WeeChat?
256 colors están admitidos con WeeChat ≥ 0.3.4.
Primero compruebe que su variable de entorno _TERM_ es correcta, los valores recomendados
son:
@@ -459,17 +433,16 @@ term screen-256color
----
Si su variable _TERM_ tiene un valor erróneo y ya WeeChat está ejecutándose,
puede cambiarlo con estos dos comandos (en WeeChat ≥ 1.0):
puede cambiarlo con estos dos comandos:
----
/set env TERM screen-256color
/upgrade
----
Para la versión 0.3.4, deberá utilizar el comando `/color` para añadir nuevos colores.
Para versiones ≥ 0.3.5, puede utilizar cualquier número de color en las opciones (opcional: puede
añadir alias al color con el comando `/color`).
// TRANSLATION MISSING
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
información sobre la gestión de los colores.
@@ -514,7 +487,7 @@ comandos que prefiera):
Por ejemplo, para marcar buffers como leidos cuando una terminal pierde el foco:
----
/key bind meta2-O /input set_unread
/key bind meta2-O /allbuf /buffer set unread
----
[[screen_paste]]
@@ -686,8 +659,6 @@ de la tecla pulse kbd:[Alt+k] y después la tecla.
[[mouse_not_working]]
=== El ratón no funciona en absoluto, ¿qué puedo hacer?
El ratón tiene soporte desde WeeChat ≥ 0.3.6.
Primero trate de habilitar el ratón:
----
@@ -737,12 +708,6 @@ tiene que utilizar kbd:[Alt] en vez de kbd:[Shift]).
Si está utilizando macOS, deberá instalar `openssl` desde Homebrew.
Se añadirá un archivo CA que utiliza los certificados del sistema.
Con WeeChat ≤ 3.1, puede establecer la ruta de los certificados del sistema:
----
/set weechat.network.gnutls_ca_file "/usr/local/etc/openssl/cert.pem"
----
Si ve errores en gnutls handshake, puede intentar utilizar una clave de cifrado menor
Diffie-Hellman (la predeterminada es 2048):
@@ -767,8 +732,8 @@ debería ser, puede especificar la huella (fingerprint) (SHA-512, SHA-256 or SHA
[[irc_ssl_handshake_error]]
=== Al conectar a un servidor con SSL, solo veo el error "TLS handshake failed", ¿qué puedo hacer?
Puede intentar una cadena de prioridad diferente (WeeChat ≥ 0.3.5 únicamente), reemplace "xxx"
por el nombre de su servidor:
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"
@@ -777,22 +742,9 @@ por el nombre de su servidor:
[[irc_ssl_libera]]
=== ¿Cómo puedo conectarme al servidor libera utilizando SSL?
Con WeeChat ≤ 3.1, establezca la opción _weechat.network.gnutls_ca_file_ en el archivo con
los certificados:
----
/set weechat.network.gnutls_ca_file "/etc/ssl/certs/ca-certificates.crt"
----
Nota: Si está ejecutando macOS con Homebrew openssl instalado, puede ejecutar:
----
/set weechat.network.gnutls_ca_file "/usr/local/etc/openssl/cert.pem"
----
[NOTE]
Compruebe que tiene este archivo en su sistema (normalmente viene ofrecido por el paquete
"ca-certificates").
// 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:
@@ -857,8 +809,8 @@ For a single server:
----
// TRANSLATION MISSING
With WeeChat ≥ 3.5, you can also add the current channel in the "autojoin"
server option using the `/autojoin` command:
You can also add the current channel in the "autojoin" server option using the
`/autojoin` command:
----
/autojoin add
@@ -872,26 +824,7 @@ Or another channel:
----
// TRANSLATION MISSING
With WeeChat ≤ 3.4, puede utilizar el comando `/set` para editar la lista de
canales con autojoin, por ejemplo, para el servidor "libera":
----
/set irc.server.libera.autojoin [TAB]
----
[NOTE]
Puede completar el nombre y el valor de la opción con la tecla kbd:[Tab]
(o kbd:[Shift+Tab] para completar el comando de manera parcial, útil para el nombre). +
De esta manera no tendrá que escribir la lista completa de canales.
También puede utilizar el comando `/fset` para editar la lista de canales:
----
/fset autojoin
----
// TRANSLATION MISSING
With WeeChat ≤ 3.4, otra solución es utilizar un script:
There are also scripts:
----
/script search autojoin
@@ -936,9 +869,10 @@ link:weechat_user.en.html#irc_smart_filter_join_part_quit[Guía del usuario / Fi
[[filter_irc_join_channel_messages]]
=== ¿Cómo puedo filtrar algunos mensajes mostrados cuando me uno a un canal IRC?
Con WeeChat ≥ 0.4.1, puede escoger qué mensajes son mostrados cuando
se une a un canal mediante la opción _irc.look.display_join_message_ (vea
`+/help irc.look.display_join_message+` para más información).
// TRANSLATION MISSING
You can choose which messages are displayed when joining a channel with the
option _irc.look.display_join_message_ (see `+/help irc.look.display_join_message+`
for more info).
Para ocultar mensajes (pero mantenerlos en el buffer), puede filtrarlos utilizando la etiqueta propia del mensaje
(por ejemplo _irc_329_ para la fecha de creación del canal). Vea `/help filter` para más información
@@ -993,17 +927,14 @@ apodos:
/set irc.server_default.away_check_max_nicks 25
----
[NOTE]
Para WeeChat ≤ 0.3.3, las opciones son _irc.network.away_check_ y
_irc.network.away_check_max_nicks_.
[[highlight_notification]]
=== ¿Cómo puedo ser advertido cuando alguien me menciona en un canal?
Con WeeChat ≥ 1.0, hay un disparador "beep" que envía un _BEL_ a
a la terminal cuando alguien le menciona o le manda un privado. Además puede configurar su
terminal (o multiplexador como screen/tmux) para ejecutar un comando o reproducir un sonido
cuando suceda un evento _BEL_.
// TRANSLATION MISSING
There is a default trigger "beep" which sends a _BEL_ to the terminal on
a highlight or private message. Thus you can configure your terminal
(or multiplexer like screen/tmux) to run a command or play a sound when
a _BEL_ occurs.
O puede añadir un comando al disparador "beep":
@@ -1028,10 +959,11 @@ Otros scripts para este tema:
[[disable_highlights_for_specific_nicks]]
=== ¿Cómo puedo inhabilitar las menciones de unos apodos específicos?
Con WeeChat ≥ 0.3.4 puede utilizar
// TRANSLATION MISSING
You can use the
link:weechat_user.en.html#max_hotlist_level_nicks[hotlist_max_level_nicks_add ^↗^,window=_blank]
esta propiedad del buffer para configurar el nivel máximo de la hotlist para algunos apodos, por buffer,
o por grupo de buffers (como servidores IRC).
buffer property to set the max hotlist level for some nicks, per buffer,
or per group of buffers (like IRC servers).
Para únicamente inhabilitar las notificaciones, debería establecerlo a 2:
@@ -1065,7 +997,7 @@ Para más ejemplos, vea `+/help buffer_autoset+`.
[[irc_target_buffer]]
=== ¿Cómo puedo cambiar el objetivo del buffer para comandos en buffers unidos (como en un buffer con servidores)?
La tecla predeterminada es kbd:[Ctrl+x] (el comando es: `+/input switch_active_buffer+`).
La tecla predeterminada es kbd:[Ctrl+x] (el comando es: `+/buffer switch+`).
[[plugins_scripts]]
== Complementos / scripts
@@ -1085,8 +1017,9 @@ Deberá configurar lo siguiente:
[[install_scripts]]
=== ¿Cómo puedo instalar scripts? ¿Son los scripts compatibles con otros clientes IRC?
Con WeeChat ≥ 0.3.9 puede utilizar el comando `/script` para instalar y gestionar los scripts
(vea `/help script` para obtener más ayuda). Para versiones anteriores existe weeget.py y script.pl.
// TRANSLATION MISSING
You can use the command `/script` to install and manage scripts (see `/help script`
for help).
Los scripts no son compatibles con otros clientes IRC.
@@ -1101,8 +1034,9 @@ Si todavía no funciona, trate de manera manual eliminar los archivos de scripts
$ rm ~/.cache/weechat/script/plugins.xml.gz
----
// TRANSLATION MISSING
[NOTE]
Con WeeChat ≤ 3.1, la ruta debería ser: _~/.weechat/script/plugins.xml.gz_.
If you are not using the XDG directories, the path could be: _~/.weechat/script/plugins.xml.gz_.
Y vuelva a actualitar los scripts de nuevo en WeeChat:
@@ -1145,10 +1079,6 @@ Deberá recargar el complemento spell:
/plugin reload spell
----
[NOTE]
Con WeeChat ≤ 2.4, el complemento "spell" fue renombrado a "aspell", así que el comando sería:
`/plugin reload aspell`.
[[settings]]
== Ajustes
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2023 Sébastien Helleu <flashcode@flashtux.org>
#
# This file is part of WeeChat, the extensible chat client.
#
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
# 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.
@@ -582,6 +582,7 @@ _title_   (string) +
_own_lines_   (pointer, hdata: "lines") +
_mixed_lines_   (pointer, hdata: "lines") +
_lines_   (pointer, hdata: "lines") +
_next_line_id_   (integer) +
_time_for_each_line_   (integer) +
_chat_refresh_needed_   (integer) +
_nicklist_   (integer) +
@@ -631,6 +632,8 @@ _text_search_input_   (string) +
_highlight_words_   (string) +
_highlight_regex_   (string) +
_highlight_regex_compiled_   (pointer) +
_highlight_disable_regex_   (string) +
_highlight_disable_regex_compiled_   (pointer) +
_highlight_tags_restrict_   (string) +
_highlight_tags_restrict_count_   (integer) +
_highlight_tags_restrict_array_   (pointer, array_size: "highlight_tags_restrict_count") +
@@ -921,6 +924,7 @@ _next_line_   (pointer, hdata: "line") +
| structure avec les données d'une ligne
| -
| _buffer_   (pointer, hdata: "buffer") +
_id_   (integer) +
_y_   (integer) +
_date_   (time) +
_date_printed_   (time) +
+2 -2
View File
@@ -60,8 +60,6 @@
| php | php_version | version de l'interpréteur utilisé | -
| python | python2_bin | chemin vers l'interpréteur Python 2.x (*obsolète* depuis la version 2.6, les scripts doivent utiliser seulement Python 3) | -
| python | python_eval | évaluation de code source | code source à exécuter
| python | python_interpreter | nom de l'interpréteur utilisé | -
@@ -128,6 +126,8 @@
| 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) | -
@@ -16,13 +16,13 @@
. xfer (7000)
. irc (6000)
. relay (5000)
. guile (4007)
. javascript (4006)
. lua (4005)
. perl (4004)
. php (4003)
. python (4002)
. ruby (4001)
. guile (4070)
. javascript (4060)
. lua (4050)
. perl (4040)
. php (4030)
. python (4020)
. ruby (4010)
. tcl (4000)
. script (3000)
. fset (2000)
+47 -21
View File
@@ -6,7 +6,7 @@
// tag::url_options[]
[width="100%",cols="2,^1,7",options="header"]
|===
| Option | Type ^(1)^ | Constantes ^(2)^
| Option | Type ^(1)^ | Constantes ^(2)^
| verbose | long |
@@ -48,10 +48,6 @@
| 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 |
@@ -82,15 +78,19 @@
| doh_url | string |
| protocols_str | string |
| redir_protocols_str | string |
| netrc | long | ignored, optional, required
| userpwd | string |
| proxyuserpwd | string |
| httpauth | mask | none, basic, digest, ntlm, any, anysafe, digest_ie, only, ntlm_wb, negotiate, gssapi, bearer
| httpauth | mask | none, basic, digest, ntlm, any, anysafe, digest_ie, only, ntlm_wb, negotiate, gssapi, bearer, aws_sigv4
| proxyauth | mask | none, basic, digest, ntlm, any, anysafe, digest_ie, only, ntlm_wb, negotiate, gssapi, bearer
| proxyauth | mask | none, basic, digest, ntlm, any, anysafe, digest_ie, only, ntlm_wb, negotiate, gssapi, bearer, aws_sigv4
| netrc_file | string |
@@ -108,6 +108,8 @@
| tlsauth_password | string |
| sasl_authzid | string |
| sasl_ir | long |
| xoauth2_bearer | string |
@@ -120,8 +122,6 @@
| followlocation | long |
| put | long |
| post | long |
| postfields | string |
@@ -144,7 +144,7 @@
| cookiejar | string |
| http_version | long | none, 1_0, 1_1, 2_0, 2, 2tls, 2_prior_knowledge
| http_version | long | none, 1_0, 1_1, 2_0, 2, 2tls, 2_prior_knowledge, 3
| cookiesession | long |
@@ -182,12 +182,20 @@
| request_target | string |
| http09_allowed | long |
| hsts | string |
| hsts_ctrl | mask | enable, readonlyfile
| mail_from | string |
| mail_rcpt | list |
| mail_auth | string |
| mail_rcpt_alllowfails | long |
| tftp_blksize | long |
| tftp_no_options | long |
@@ -206,8 +214,6 @@
| ftp_create_missing_dirs | long |
| ftp_response_timeout | long |
| ftpsslauth | long | default, ssl, tls
| ftp_account | string |
@@ -238,6 +244,8 @@
| rtsp_server_cseq | long |
| aws_sigv4 | string |
| crlf | long |
| range | string |
@@ -274,6 +282,8 @@
| upload_buffersize | long |
| mime_options | mask | formescape
| timeout | long |
| low_speed_limit | long |
@@ -298,6 +308,8 @@
| connecttimeout_ms | long |
| maxage_conn | long |
| maxconnects | long |
| use_ssl | long | none, try, control, all
@@ -322,6 +334,8 @@
| upkeep_interval_ms | long |
| maxlifetime_conn | long |
| sslcert | string |
| sslversion | long | default, tlsv1, sslv2, sslv3, tlsv1_0, tlsv1_1, tlsv1_2, tlsv1_3, max_default, max_none, max_tlsv1_0, max_tlsv1_1, max_tlsv1_2, max_tlsv1_3
@@ -330,10 +344,6 @@
| cainfo | string |
| random_file | string |
| egdsocket | string |
| ssl_verifyhost | long |
| ssl_cipher_list | string |
@@ -364,12 +374,10 @@
| gssapi_delegation | long | none, policy_flag, flag
| ssl_options | long | allow_beast, no_revoke, no_backends, ok, too_late, unknown_backend
| ssl_options | long | allow_beast, no_revoke, no_backends, ok, too_late, unknown_backend, no_partialchain, revoke_best_effort, native_ca, auto_client_cert
| ssl_enable_alpn | long |
| ssl_enable_npn | long |
| pinnedpublickey | string |
| ssl_verifystatus | long |
@@ -398,7 +406,7 @@
| proxy_ssl_cipher_list | list |
| proxy_ssl_options | long | allow_beast, no_revoke, no_backends, ok, too_late, unknown_backend
| proxy_ssl_options | long | allow_beast, no_revoke, no_backends, ok, too_late, unknown_backend, no_partialchain, revoke_best_effort, native_ca, auto_client_cert
| proxy_ssl_verifyhost | long |
@@ -414,6 +422,18 @@
| proxy_tls13_ciphers | list |
| proxy_issuercert | string |
| ssl_ec_curves | string |
| doh_ssl_verifyhost | long |
| doh_ssl_verifypeer | long |
| doh_ssl_verifystatus | long |
| ca_cache_timeout | long |
| ssh_auth_types | mask | none, policy_flag, flag
| ssh_public_keyfile | string |
@@ -426,11 +446,17 @@
| ssh_compression | long |
| ssh_host_public_key_sha256 | string |
| telnetoptions | list |
| ws_options | mask | binary, close, cont, offset, ping, pong, raw_mode, text
| new_file_perms | long |
| new_directory_perms | long |
| telnetoptions | list |
| quick_exit | long |
|===
// end::url_options[]
+113 -59
View File
@@ -176,7 +176,7 @@ Sans paramètre, cette commande affiche la liste des bannissements pour le canal
ls : lister les capacités supportées par le serveur
list : lister les capacités actuellement activées
req : demander une capacité
req : demander une nouvelle capacité ou supprimer une capacité (si elle commence par "-", par exemple : "-multi-prefix")
ack : accuser réception de capacités qui nécessitent un accusé de réception du client
end : terminer la négociation de capacité
@@ -187,8 +187,14 @@ Les capacités supportées par WeeChat sont : account-notify, away-notify, cap-
Les capacités à activer automatiquement sur les serveurs peuvent être définies dans l'option irc.server_default.capabilities (ou par serveur dans l'option irc.server.xxx.capabilities).
Exemples :
/cap
/cap req multi-prefix away-notify
afficher les capacités supportées et activées :
/cap
demander les capacités multi-prefix et away-notify :
/cap req multi-prefix away-notify
demander la capacité extended-join, supprimer la capacité multi-prefix :
/cap req extended-join -multi-prefix
supprimer la capacité away-notify :
/cap req -away-notify
----
[[command_irc_connect]]
@@ -1098,6 +1104,19 @@ Exemples :
// end::alias_commands[]
// tag::weechat_commands[]
[[command_weechat_allbuf]]
* `+allbuf+`: exécuter une commande sur tous les tampons
----
/allbuf <commande>
commande : commande à exécuter (ou texte à envoyer au tampon si la commande ne commence pas par '/')
Exemples :
définir le marqueur de lecture sur tous les tampons :
/allbuf /buffer set unread
----
[[command_weechat_away]]
* `+away+`: définir ou supprimer le statut d'absence
@@ -1174,6 +1193,8 @@ Exemples :
unmerge [<nombre>|-all]
hide [<nombre>|<nom>|-all [<nombre>|<nom>...]]
unhide [<nombre>|<nom>|-all [<nombre>|<nom>...]]
switch [-previous]
zoom
renumber <nombre1> [<nombre2> [<départ>]]
close [<n1>[-<n2>]|<nom>...]
notify [<niveau>]
@@ -1182,7 +1203,8 @@ Exemples :
delvar <nom>
set <propriété> [<valeur>]
get <propriété>
<nombre>|<nom>
jump smart|last_displayed|prev_visited|next_visited
<nombre>|-|+|<nom>
list : lister les tampons ouverts (sans paramètre, cette liste est affichée)
add : ajouter un nouveau tampon (il peut être fermé avec "/buffer close" ou l'entrée "q")
@@ -1195,6 +1217,8 @@ Exemples :
unmerge : détacher le tampon courant des autres tampons portant le même numéro
hide : masquer le tampon
unhide : démasquer le tampon
switch : basculer vers le tampon mélangé suivant (ou vers le tampon précédent avec -previous)
zoom : zoom sur le tampon mélangé
renumber : renuméroter des tampons (fonctionne seulement si l'option weechat.look.buffer_auto_renumber est désactivée)
close : fermer le tampon (nombre/intervalle ou nom optionnel)
notify : afficher ou définir le niveau de notification pour le tampon courant : ce niveau détermine si le tampon doit être ajouté à la hotlist ou pas :
@@ -1208,9 +1232,14 @@ renumber : renuméroter des tampons (fonctionne seulement si l'option weechat.l
delvar : supprimer une variable locale du tampon courant
set : modifier une propriété du tampon courant
get : afficher une propriété du tampon courant
jump : sauter vers un autre tampon :
smart : prochain tampon avec de l'activité
last_displayed : dernier tampon affiché (avant le dernier saut vers un tampon)
prev_visited : tampon visité précédemment
next_visited : tampon visité après
nombre : sauter au tampon qui a ce numéro, préfixe possible :
'+' : saut relatif, ajoute le numéro au courant,
'-' : saut relatif, soustrait le numéro au courant,
'+' : saut relatif, ajoute le numéro au courant
'-' : saut relatif, soustrait le numéro au courant
'*' : saut au numéro en utilisant l'option "jump_current_to_previous_buffer"
- : sauter au premier numéro de tampon
+ : sauter au dernier numéro de tampon
@@ -1337,6 +1366,7 @@ Exemples :
cursor|mouse [verbose]
hdata [free]
time <commande>
unicode <chaîne>
list : lister les extensions avec leur niveau de debug
set : définir le niveau de debug pour l'extension
@@ -1358,6 +1388,13 @@ infolists : afficher des infos sur les infolists
term : afficher des infos sur le terminal
windows : afficher l'arbre des fenêtres
time : mesurer le temps pour exécuter une commande ou pour envoyer du texte au tampon courant
unicode : afficher des informations sur la chaîne et les caractères unicode (évaluée, voir /help eval)
Exemples :
/debug set irc 1
/debug mouse verbose
/debug time /filter toggle
/debug unicode ${chars:${\u26C0}-${\u26CF}}
----
[[command_weechat_eval]]
@@ -1404,35 +1441,36 @@ Pour forcer une comparaison de chaînes, vous pouvez ajouter des guillemets auto
"50" > "100" ==> 1
Des variables sont remplacées dans l'expression, en utilisant le format ${variable}, la variable pouvant être, par ordre de priorité :
1. la chaîne elle-même sans évaluation (format : "raw:xxx")
2. une variable définie par l'utilisateur (format : "nom")
3. une sous-chaîne évaluée (format : "eval:xxx")
4. une condition évaluée (format : "eval_cond:xxx")
5. une chaîne avec les caractères échappés (format : "esc:xxx" ou "\xxx")
6. une chaîne convertie en minuscules (format : "lower:xxx")
7. une chaîne convertie en majuscules (format : "upper:xxx")
8. une chaîne avec des caractères à cacher (format : "hide:caractère,chaîne")
9. une chaîne avec un maximum de caractères (format : "cut:max,suffixe,chaîne" ou "cut:+max,suffixe,chaîne")
ou un maximum de caractères affichés à l'écran (format : "cutscr:max,suffixe,chaîne" ou "cutscr:+max,suffixe,chaîne")
10. une chaîne inversée (format : "rev:xxx" ou "revscr:xxx")
11. une chaîne répétée (format : "repeat:nombre,chaîne")
12. longueur d'une chaîne (format : "length:xxx" ou "lengthscr:xxx")
13. découpage d'une chaîne (format : "split:nombre,séparateurs,flags,xxx")
14. découpage de paramètres shell (format : "split_shell:nombre,xxx")
15. une couleur (format : "color:xxx", voir la "Référence API extension", fonction "color")
16. un modificateur (format : "modifier:nom,données,chaîne")
17. une info (format : "info:nom,paramètres", les paramètres sont optionnels)
18. une chaîne encodée/decodée en base 16, 32 ou 64 (format : "base_encode:base,xxx" ou "base_decode:base,xxx")
19. la date/heure courante (format : "date" ou "date:format")
20. une variable d'environnement (format : "env:XXX")
21. un opérateur ternaire (format : "if:condition?valeur_si_vrai:valeur_si_faux")
22. le résultat d'une expression avec parenthèses et les opérateurs + - * / // % ** (format : "calc:xxx")
23. un nombre entier aléatoire (format : "random:min,max")
24. une chaîne traduite (format : "translate:xxx")
25. déclaration d'une variable utilisateur (format : "define:nom,valeur")
26. une option (format : "fichier.section.option")
27. une variable locale du tampon
28. un hdata/variable (la valeur est automatiquement convertie en chaîne), par défaut "window" et "buffer" pointent vers la fenêtre et le tampon courants.
- la chaîne elle-même sans évaluation (format : "raw:xxx")
- une variable définie par l'utilisateur (format : "nom")
- une sous-chaîne évaluée (format : "eval:xxx")
- une condition évaluée (format : "eval_cond:xxx")
- une chaîne avec les caractères échappés (format : "esc:xxx" ou "\xxx")
- une chaîne avec un intervalle de caractères (format : "chars:xxx" ou "chars:c1-c2")
- une chaîne convertie en minuscules (format : "lower:xxx")
- une chaîne convertie en majuscules (format : "upper:xxx")
- une chaîne avec des caractères à cacher (format : "hide:caractère,chaîne")
- une chaîne avec un maximum de caractères (format : "cut:max,suffixe,chaîne" ou "cut:+max,suffixe,chaîne")
ou un maximum de caractères affichés à l'écran (format : "cutscr:max,suffixe,chaîne" ou "cutscr:+max,suffixe,chaîne")
- une chaîne inversée (format : "rev:xxx" ou "revscr:xxx")
- une chaîne répétée (format : "repeat:nombre,chaîne")
- longueur d'une chaîne (format : "length:xxx" ou "lengthscr:xxx")
- découpage d'une chaîne (format : "split:nombre,séparateurs,flags,xxx")
- découpage de paramètres shell (format : "split_shell:nombre,xxx")
- une couleur (format : "color:xxx", voir la "Référence API extension", fonction "color")
- un modificateur (format : "modifier:nom,données,chaîne")
- une info (format : "info:nom,paramètres", les paramètres sont optionnels)
- une chaîne encodée/decodée en base 16, 32 ou 64 (format : "base_encode:base,xxx" ou "base_decode:base,xxx")
- la date/heure courante (format : "date" ou "date:format")
- une variable d'environnement (format : "env:XXX")
- un opérateur ternaire (format : "if:condition?valeur_si_vrai:valeur_si_faux")
- le résultat d'une expression avec parenthèses et les opérateurs + - * / // % ** (format : "calc:xxx")
- un nombre entier aléatoire (format : "random:min,max")
- une chaîne traduite (format : "translate:xxx")
- déclaration d'une variable utilisateur (format : "define:nom,valeur")
- une option (format : "fichier.section.option")
- une variable locale du tampon
- un hdata/variable (la valeur est automatiquement convertie en chaîne), par défaut "window" et "buffer" pointent vers la fenêtre et le tampon courants.
Le format du hdata peut être le suivant :
hdata.var1.var2... : démarrer avec un hdata (le pointeur doit être connu), et demander les variables l'une après l'autre (d'autres hdata peuvent être suivis)
hdata[liste].var1.var2... : démarrer avec un hdata en utilisant une liste/pointeur/nom de pointeur, par exemple :
@@ -1455,6 +1493,8 @@ Exemples (chaînes simples) :
/eval -n ${window.buffer.full_name} ==> core.weechat
/eval -n ${window.buffer.number} ==> 1
/eval -n ${\t} ==> <tab>
/eval -n ${chars:digit} ==> 0123456789
/eval -n ${chars:J-T} ==> JKLMNOPQRST
/eval -n ${lower:TEST} ==> test
/eval -n ${upper:test} ==> TEST
/eval -n ${hide:-,${relay.network.password}} ==> --------
@@ -1586,6 +1626,22 @@ extension : lister les commandes de cette extension
valeur : nombre d'entrées dans l'historique à afficher
----
[[command_weechat_hotlist]]
* `+hotlist+`: gestion de la hotlist
----
/hotlist add [low|message|private|highlight]
clear [<niveau>]
remove
restore [-all]
add : ajouter le tampon courant dans la hotlist (niveau par défaut : "low", les conditions définies dans l'option weechat.look.hotlist_add_conditions ne sont PAS vérifiées)
clear : effacer la hotlist
niveau : "lowest" pour effacer seulement le plus petit niveau dans la hotlist, "highest" pour effacer seulement le niveau le plus haut dans la hotlist, ou un masque de niveaux : entier qui est une combinaison de 1=join/part, 2=message, 4=privé, 8=highlight
remove : supprimer le tampon courant de la hotlist
restore : restaurer la dernière hotlist supprimée dans le tampon courant (ou tous les tampons avec -all)
----
[[command_weechat_input]]
* `+input+`: fonctions pour la ligne de commande
@@ -1608,6 +1664,7 @@ liste des actions :
delete_previous_char : effacer le caractère précédent
delete_next_char : effacer le caractère suivant
delete_previous_word : effacer le mot précédent
delete_previous_word_whitespace : effacer le mot précédent (jusqu'à un espace)
delete_next_word : effacer le mot suivant
delete_beginning_of_line : effacer du début de la ligne jusqu'au curseur
delete_end_of_line : effacer du curseur jusqu'à la fin de la ligne
@@ -1626,29 +1683,16 @@ liste des actions :
history_next : rappeler la commande suivante dans l'historique du tampon courant
history_global_previous : rappeler la commande précédente dans l'historique global
history_global_next : rappeler la commande suivante dans l'historique global
jump_smart : sauter au prochain tampon avec de l'activité
jump_last_buffer_displayed : sauter au dernier tampon affiché (avant le dernier saut vers un tampon)
jump_previously_visited_buffer : sauter au tampon visité précédemment
jump_next_visited_buffer : sauter au tampon visité après
hotlist_clear : effacer la hotlist (paramètre facultatif : "lowest" pour effacer seulement le plus petit niveau dans la hotlist, "highest" pour effacer seulement le niveau le plus haut dans la hotlist, ou un masque de niveaux : entier qui est une combinaison de 1=join/part, 2=message, 4=privé, 8=highlight)
hotlist_remove_buffer : supprimer le tampon courant de la hotlist
hotlist_restore_buffer : restaurer la dernière hotlist supprimée dans le tampon courant
hotlist_restore_all : restaurer la dernière hotlist supprimée dans tous les tampons
grab_key : capturer une touche (paramètre facultatif : délai pour la fin de la capture, par défaut 500 millisecondes)
grab_key_command : capturer une touche avec sa commande associée (paramètre facultatif : délai pour la fin de la capture, par défaut 500 millisecondes)
grab_mouse : capturer un évènement de la souris
grab_mouse_area : capturer un évènement de la souris avec la zone
set_unread : définir le marqueur de données non lues pour tous les tampons
set_unread_current_buffer : définir le marqueur de données non lues pour le tampon courant
switch_active_buffer : basculer vers le tampon mélangé suivant
switch_active_buffer_previous : basculer vers le tampon mélangé précédent
zoom_merged_buffer : zoom sur le tampon mélangé
insert : insérer du texte dans la ligne de commande (les caractères échappés sont autorisés, voir /help print)
send : envoyer du texte au tampon
paste_start : début de collage (mode "bracketed paste")
paste_stop : fin de collage (mode "bracketed paste")
Cette commande est utilisé par les associations de touches ou les extensions.
Cette commande est utilisée par les associations de touches ou les extensions.
----
[[command_weechat_item]]
@@ -2116,34 +2160,41 @@ Exemples :
----
[[command_weechat_upgrade]]
* `+upgrade+`: relancer le binaire WeeChat sans se déconnecter des serveurs
* `+upgrade+`: sauvegarder la session WeeChat et relancer le binaire WeeChat sans se déconnecter des serveurs
----
/upgrade [-yes] [<chemin_vers_binaire>|-quit]
/upgrade [-yes] [<chemin_vers_binaire>|-save|-quit]
-yes : requis si l'option "weechat.look.confirm_upgrade" est activée
chemin_vers_binaire : chemin vers le binaire WeeChat (par défaut le binaire courant)
-dummy : ne rien faire (option utilisée pour éviter une complétion accidentelle avec "-quit")
-quit : fermer *TOUTES* les connexions, sauver la session et quitter, ce qui rend possible une restauration différée (voir ci-dessous)
-save : sauvegarder seulement la session, ne pas quitter ni relancer WeeChat ; les fichiers de configuration ne sont pas sauvegardés (si besoin vous pouvez utiliser /save avant cette commande)
-quit : fermer *TOUTES* les connexions, sauvegarder la session et quitter, ce qui rend possible une restauration différée (voir ci-dessous)
Cette commande met à jour et recharge une session de WeeChat qui tourne. Le nouveau binaire WeeChat doit avoir été compilé ou installé via un gestionnaire de paquet avant de lancer cette commande.
Note : les connexions SSL sont perdues durant la mise à jour, car le rechargement de session SSL n'est pas possible actuellement avec GnuTLS. Il y a une reconnexion automatique après la mise à jour.
Important : l'utilisation de l'option -save peut être dangereuse, il est recommandé d'utiliser seulement /upgrade (ou avec -quit) pour une mise à jour standard et un redémarrage ; l'option -save peut être utilisée pour sauvegarder régulièrement la session et la restaurer en cas de sortie anormale (panne de courant, crash, etc.).
Le processus de mise à jour comporte 4 étapes :
1. sauvegarder la session pour le cœur et les extensions (tampons, historique, ...)
2. décharger toutes les extensions (les fichiers de configuration (*.conf) sont écrits sur disque)
3. sauvegarder la configuration WeeChat (weechat.conf)
4. exécuter le nouveau binaire WeeChat et recharger la session.
Avec l'option "-quit", le processus est légèrement différent :
Avec l'option "-quit", le processus est le suivant :
1. fermer *TOUTES* les connexions
2. sauvegarder la session (fichiers *.upgrade)
3. décharger les extensions
4. sauvegarder la configuration WeeChat
5. quitter WeeChat
Et plus tard vous pouvez restaurer la session avec la commande : weechat --upgrade
IMPORTANT : vous devez restaurer la session avec exactement la même configuration (fichiers *.conf).
Avec l'option "-save", le processus est le suivant :
1. sauvegarder la session (fichiers *.upgrade) avec un état déconnecté pour les serveurs IRC et les clients Relay (mais aucune déconnexion n'est faite)
Avec "-quit" ou "-save", vous pouvez restaurer la session plus tard avec cette commande : weechat --upgrade
IMPORTANT : vous devez restaurer la session avec exactement la même configuration (fichiers *.conf) et si possible la même version de WeeChat (ou une plus récente).
Il est également possible de restaurer la session WeeChat sur une autre machine si vous y copiez le contenu des répertoires personnels de WeeChat (voir /debug dirs).
----
@@ -2243,7 +2294,7 @@ scroll_bottom : faire défiler jusqu'en bas du tampon
scroll_beyond_end : faire défiler au-delà de la fin du tampon
scroll_previous_highlight : faire défiler jusqu'au highlight précédent
scroll_next_highlight : faire défiler jusqu'au highlight suivant
scroll_unread : faire défiler jusqu'au marqueur de données non lues
scroll_unread : faire défiler jusqu'au marqueur de lecture
swap : échanger les tampons de deux fenêtres (avec une direction facultative pour la fenêtre cible)
zoom : zoomer sur la fenêtre
bare : activer/désactiver le mode d'affichage dépouillé (avec un délai facultatif en secondes pour un retour automatique au mode d'affichage standard)
@@ -2328,6 +2379,7 @@ Les variables suivantes peuvent être utilisées dans ces options :
- ${format_hotlist} : la hotlist formatée (évaluation de l'option buflist.format.hotlist)
- ${hotlist} : la hotlist brute
- ${hotlist_priority} : "none", "low", "message", "private" ou "highlight"
- ${hotlist_priority_number} : -1 = none, 0 = low, 1 = message, 2 = private, 3 = highlight
- ${format_lag} : le lag pour un tampon de serveur IRC, vide s'il n'y a pas de lag (évaluation de l'option buflist.format.lag)
- ${format_tls_version}: indicateur de la version de TLS pour le serveur courant, vide pour les canaux (évaluation de l'option buflist.format.tls_version)
----
@@ -3049,7 +3101,7 @@ Exemples :
----
/spell enable|disable|toggle
listdict
setdict <dict>[,<dict>...]
setdict -|<dict>[,<dict>...]
deldict
addword [<dict>] <mot>
@@ -3057,7 +3109,7 @@ Exemples :
disable : désactiver le vérificateur d'orthographe
toggle : activer/désactiver le vérificateur d'orthographe
listdict : afficher les dictionnaires installés
setdict : définir le dictionnaire pour le tampon courant (plusieurs dictionnaires peuvent être séparés par une virgule)
setdict : définir le dictionnaire pour le tampon courant (plusieurs dictionnaires peuvent être séparés par une virgule, la valeur spéciale "-" désactive la vérification orthographique sur le tampon courant)
deldict : supprimer le dictionnaire utilisé sur le tampon courant
addword : ajouter un mot dans le dictionnaire personnel
@@ -3184,8 +3236,10 @@ Exemples (vous pouvez aussi regarder les triggers par défaut avec /trigger list
cacher la barre de pseudos sur les petits terminaux :
/trigger add resize_small signal signal_sigwinch "${info:term_width} < 100" "" "/bar hide nicklist"
/trigger add resize_big signal signal_sigwinch "${info:term_width} >= 100" "" "/bar show nicklist"
sauver la configuration chaque heure (de manière silencieuse) :
sauver silencieusement la configuration chaque heure :
/trigger add cfgsave timer 3600000;0;0 "" "" "/mute /save"
sauver silencieusement la session WeeChat à minuit (voir /help upgrade) :
/trigger add session_save signal day_changed "" "" "/mute /upgrade -save"
ouvrir le tampon moniteur des triggers et afficher seulement les modificateurs et les triggers dont le nom commence par "resize" :
/trigger monitor @modifier,resize*
----
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -102,7 +102,7 @@ $HOME/.local/share/weechat/weechat.log::
WeeChat est écrit par Sébastien Helleu et des contributeurs (la liste complète
est dans le fichier AUTHORS.adoc).
Copyright (C) 2003-2022 {author}
Copyright (C) 2003-2023 {author}
WeeChat est un logiciel libre ; vous pouvez le redistribuer et/ou le modifier
sous les termes de la GNU General Public License telle que publiée par la
+15 -5
View File
@@ -407,6 +407,7 @@ Le cœur de WeeChat est situé dans les répertoires suivants :
|       core/ | Racine des tests unitaires pour le cœur.
|          test-core-arraylist.cpp | Tests : listes avec tableau (« arraylists »).
|          test-core-calc.cpp | Tests : calcul d'expressions.
|          test-core-command.cpp | Tests : commandes.
|          test-core-config-file.cpp | Tests : fichiers de configuration.
|          test-core-crypto.cpp | Tests : fonctions cryptographiques.
|          test-core-dir.cpp | Tests : répertoires/fichiers.
@@ -428,6 +429,8 @@ Le cœur de WeeChat est situé dans les répertoires suivants :
|          test-gui-buffer.cpp | Tests : fonctions de tampons.
|          test-gui-chat.cpp | Tests : fonctions de discussion.
|          test-gui-color.cpp | Tests : couleurs.
|          test-gui-filter.cpp | Tests : filtres.
|          test-gui-input.cpp | Tests : fonctions d'entrée.
|          test-gui-line.cpp | Tests : lignes.
|          test-gui-nick.cpp | Tests : pseudos.
|       plugins/ | Racine des tests unitaires pour les extensions.
@@ -455,6 +458,9 @@ 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.
|          xfer/ | Racine des tests unitaires pour l'extension Xfer.
|             test-xfer-file.cpp | Tests : fonctions sur les fichiers.
|             test-xfer-network.cpp | Tests : fonctions réseau.
|===
[[documentation_translations]]
@@ -526,7 +532,7 @@ Exemple en C :
/*
* weechat.c - core functions for WeeChat
*
* Copyright (C) 2022 Your Name <your@email.com>
* Copyright (C) 2023 Your Name <your@email.com>
*
* This file is part of WeeChat, the extensible chat client.
*
@@ -932,6 +938,8 @@ Dans le tableau qui suit, les conventions suivantes sont utilisées :
* `(ATTR)EXT` : couleur étendue avec des attributs facultatifs
(`+@+` + attributs + 5 digits)
* `(ATTR)` : un ou plusieurs caractères d'attribut :
** `+%+` : clignotement
** `+.+` : "dim" (demi-intensité)
** `+*+` : gras
** `+!+` : vidéo inverse
** `+/+` : italique
@@ -942,6 +950,8 @@ Dans le tableau qui suit, les conventions suivantes sont utilisées :
** _0x02_ : vidéo inverse
** _0x03_ : italique
** _0x04_ : souligné
** _0x05_ : clignotement
** _0x06_ : "dim" (demi-intensité)
Toutes les combinaisons sont résumées dans ce tableau :
@@ -956,10 +966,10 @@ Toutes les combinaisons sont résumées dans ce tableau :
| [hex]#19# + `B` + `EXT` | [hex]#19# `+B@00124+` | chat + barres | Définir le couleur de fond (couleur étendue).
| [hex]#19# + `*` + `(ATTR)STD` | [hex]#19# `+*05+` | chat + barres | Définir la couleur de texte (couleur WeeChat).
| [hex]#19# + `*` + `(ATTR)EXT` | [hex]#19# `+*@00214+` | chat + barres | Définir la couleur de texte (couleur étendue).
| [hex]#19# + `*` + `(ATTR)STD` + `,` + `STD` ^(1)^ | [hex]#19# `+*08,05+` | chat + barres | Définir la couleur de texte/fond (couleurs WeeChat).
| [hex]#19# + `*` + `(ATTR)STD` + `,` + `EXT` ^(1)^ | [hex]#19# `+*01,@00214+` | chat + barres | Définir la couleur de texte (couleur WeeChat) et de fond (couleur étendue).
| [hex]#19# + `*` + `(ATTR)EXT` + `,` + `STD` ^(1)^ | [hex]#19# `+*@00214,05+` | chat + barres | Définir la couleur de texte (couleur étendue) et de fond (couleur WeeChat).
| [hex]#19# + `*` + `(ATTR)EXT` + `,` + `EXT` ^(1)^ | [hex]#19# `+*@00214,@00017+` | chat + barres | Définir la couleur de texte/fond (couleurs étendues).
| [hex]#19# + `*` + `(ATTR)STD` + `,` + `STD` ^(1)^ | [hex]#19# `+*08,05+` | chat + barres | Définir la couleur de texte/fond (couleurs WeeChat).
| [hex]#19# + `*` + `(ATTR)STD` + `,` + `EXT` ^(1)^ | [hex]#19# `+*01,@00214+` | chat + barres | Définir la couleur de texte (couleur WeeChat) et de fond (couleur étendue).
| [hex]#19# + `*` + `(ATTR)EXT` + `,` + `STD` ^(1)^ | [hex]#19# `+*@00214,05+` | chat + barres | Définir la couleur de texte (couleur étendue) et de fond (couleur WeeChat).
| [hex]#19# + `*` + `(ATTR)EXT` + `,` + `EXT` ^(1)^ | [hex]#19# `+*@00214,@00017+` | chat + barres | Définir la couleur de texte/fond (couleurs étendues).
| [hex]#19# + `*` + `(ATTR)STD` + `~` + `STD` | [hex]#19# `+*08~05+` | chat + barres | Définir la couleur de texte/fond (couleurs WeeChat).
| [hex]#19# + `*` + `(ATTR)STD` + `~` + `EXT` | [hex]#19# `+*01~@00214+` | chat + barres | Définir la couleur de texte (couleur WeeChat) et de fond (couleur étendue).
| [hex]#19# + `*` + `(ATTR)EXT` + `~` + `STD` | [hex]#19# `+*@00214~05+` | chat + barres | Définir la couleur de texte (couleur étendue) et de fond (couleur WeeChat).
+35 -117
View File
@@ -10,9 +10,6 @@
:docinfo1:
Ce document est écrit pour les versions de WeeChat ≥ 0.3.0 mais devrait être
utilisé de préférence avec la dernière version stable de WeeChat.
toc::[]
@@ -196,17 +193,10 @@ fenêtres.
[[buffers_list]]
=== Comment afficher la liste des tampons sur la gauche ?
Avec WeeChat ≥ 1.8, l'extension link:weechat_user.fr.html#buflist[buflist ^↗^,window=_blank]
L'extension link:weechat_user.fr.html#buflist[buflist ^↗^,window=_blank]
est chargée et activée par défaut.
Avec une version plus ancienne, vous pouvez installer le script _buffers.pl_ :
----
/script install buffers.pl
----
Pour limiter la taille de la barre (remplacez "buflist" par "buffers" si vous
utilisez le script _buffers.pl_) :
Pour limiter la taille de la barre :
----
/set weechat.bar.buffers.size_max 15
@@ -224,21 +214,6 @@ vous pouvez faire défiler avec la roulette de votre souris.
Les touches par défaut pour faire défiler la barre _buflist_ sont kbd:[F1]
(ou kbd:[Ctrl+F1]), kbd:[F2] (ou kbd:[Ctrl+F2]), kbd:[Alt+F1] et kbd:[Alt+F2].
Pour le script _buffers.pl_, vous pouvez définir des touches, comme les touches
déjà existantes pour faire défiler la liste de pseudos. +
Par exemple pour utiliser kbd:[F1], kbd:[F2], kbd:[Alt+F1] et kbd:[Alt+F2] :
----
/key bind meta-OP /bar scroll buffers * -100%
/key bind meta-OQ /bar scroll buffers * +100%
/key bind meta-meta-OP /bar scroll buffers * b
/key bind meta-meta-OQ /bar scroll buffers * e
----
[NOTE]
Les touches "meta-OP" et "meta-OQ" peuvent être différentes dans votre terminal.
Pour trouver le code de la touche appuyez sur kbd:[Alt+k] puis la touche.
[[customize_buflist]]
=== Comment puis-je configurer la liste des tampons, comme la couleur du tampon actif ?
@@ -356,9 +331,9 @@ barre, WeeChat recréera automatiquement la barre par défaut "input" si l'objet
[[terminal_copy_paste]]
=== Comment puis-je copier/coller du texte sans coller la liste des pseudos ?
Avec WeeChat ≥ 1.0, vous pouvez utiliser l'affichage dépouillé (touche par
défaut : kbd:[Alt+l] (`L`)), qui affiche juste le contenu de la fenêtre
actuellement sélectionnée sans aucun formatage.
Vous pouvez utiliser l'affichage dépouillé (touche par défaut : kbd:[Alt+l] (`L`)),
qui affiche juste le contenu de la fenêtre actuellement sélectionnée sans aucun
formatage.
Vous pouvez utiliser un terminal qui propose la sélection rectangulaire (comme
rxvt-unicode, konsole, gnome-terminal, etc.). La touche est habituellement
@@ -374,8 +349,7 @@ exemple :
[[urls]]
=== Comment puis-je cliquer sur les longs URLs (plus d'une ligne) ?
Avec WeeChat ≥ 1.0, vous pouvez utiliser l'affichage dépouillé (touche par
défaut : kbd:[Alt+l] (`L`)).
Vous pouvez utiliser l'affichage dépouillé (touche par défaut : kbd:[Alt+l] (`L`)).
Pour rendre le clic d'URL plus facile, vous pouvez :
@@ -385,7 +359,7 @@ Pour rendre le clic d'URL plus facile, vous pouvez :
/set weechat.bar.nicklist.position top
----
* désactiver l'alignement pour les mots sur plusieurs lignes (WeeChat ≥ 1.7) :
* désactiver l'alignement pour les mots sur plusieurs lignes :
----
/set weechat.look.align_multiline_words off
@@ -397,9 +371,9 @@ Pour rendre le clic d'URL plus facile, vous pouvez :
/set weechat.look.align_end_of_lines time
----
Avec WeeChat ≥ 0.3.6, vous pouvez activer l'option "eat_newline_glitch", pour
éviter qu'un caractère de nouvelle ligne soit affiché après chaque ligne (donc
cela ne cassera pas la sélection d'une URL) :
Vous pouvez activer l'option "eat_newline_glitch", pour éviter qu'un caractère
de nouvelle ligne soit affiché après chaque ligne (donc cela ne cassera pas
la sélection d'une URL) :
----
/set weechat.look.eat_newline_glitch on
@@ -447,8 +421,6 @@ Dans WeeChat, la nouvelle valeur est immédiatement utilisée :
[[use_256_colors]]
=== Comment puis-je utiliser 256 couleurs sous WeeChat ?
Les 256 couleurs sont supportées avec WeeChat ≥ 0.3.4.
Premièrement vérifiez que votre variable d'environnement _TERM_ est correcte,
les valeurs recommandées sont :
@@ -469,19 +441,15 @@ term screen-256color
----
Si votre variable _TERM_ a une valeur erronée et que WeeChat est déjà lancé,
vous pouvez la changer avec ces deux commandes (avec WeeChat ≥ 1.0) :
vous pouvez la changer avec ces deux commandes :
----
/set env TERM screen-256color
/upgrade
----
Pour la version 0.3.4, vous devez utiliser la commande `/color` pour ajouter
des nouvelles couleurs.
Pour les versions ≥ 0.3.5, vous pouvez utiliser un numéro de couleur dans les
options (facultatif : vous pouvez ajouter des alias de couleurs avec la commande
`/color`).
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]
pour plus d'information sur la gestion des couleurs.
@@ -527,7 +495,7 @@ les commandes de votre choix) :
Par exemple pour marquer les tampons comme lus lorsque le terminal perd le focus :
----
/key bind meta2-O /input set_unread
/key bind meta2-O /allbuf /buffer set unread
----
[[screen_paste]]
@@ -701,8 +669,6 @@ Pour trouver le code de la touche appuyez sur kbd:[Alt+k] puis la touche.
[[mouse_not_working]]
=== La souris ne fonctionne pas du tout, que puis-je faire ?
La souris est supportée avec WeeChat ≥ 0.3.6.
Premièrement essayez d'activer la souris :
----
@@ -754,12 +720,6 @@ kbd:[Alt] au lieu de kbd:[Shift]).
Si vous utilisez macOS, vous devez installer `openssl` depuis Homebrew.
Un fichier CA sera installé avec le le trousseau système.
Avec WeeChat ≤ 3.1, vous pouvez définir le chemin vers les certificats système :
----
/set weechat.network.gnutls_ca_file "/usr/local/etc/openssl/cert.pem"
----
Si vous voyez des erreurs à propos de la poignée de main gnutls ("handshake"),
vous pouvez utiliser une valeur plus petite pour la clé Diffie-Hellman (par
défaut 2048) :
@@ -785,8 +745,8 @@ le certificat, vous pouvez spécifier l'empreinte (SHA-512, SHA-256 ou SHA-1) :
[[irc_ssl_handshake_error]]
=== Lors de la connexion SSL à un serveur, je vois juste une erreur "TLS handshake failed", que puis-je faire ?
Vous pouvez essayer une chaîne de priorité différente (WeeChat ≥ 0.3.5
seulement), remplacez "xxx" par le nom de votre serveur :
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"
@@ -795,23 +755,8 @@ seulement), remplacez "xxx" par le nom de votre serveur :
[[irc_ssl_libera]]
=== Comment puis-je me connecter à libera avec SSL ?
Avec WeeChat ≤ 3.1, positionnez l'option _weechat.network.gnutls_ca_file_ avec
le fichier des certificats :
----
/set weechat.network.gnutls_ca_file "/etc/ssl/certs/ca-certificates.crt"
----
Note : si vous êtes sous macOS avec le paquet homebrew openssl installé, vous
pouvez lancer :
----
/set weechat.network.gnutls_ca_file "/usr/local/etc/openssl/cert.pem"
----
[NOTE]
Vérifiez que vous avez bien ce fichier (fourni généralement par le paquet
"ca-certificates").
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 :
@@ -872,8 +817,8 @@ Pour un seul serveur :
/set irc.server.libera.autojoin_dynamic on
----
Avec WeeChat ≥ 3.5, vous pouvez aussi ajouter le canal coucant dans l'option
"autojoin" du serveur avec la commande `/autojoin` :
Vous pouvez aussi ajouter le canal coucant dans l'option "autojoin" du serveur
avec la commande `/autojoin` :
----
/autojoin add
@@ -885,26 +830,7 @@ Ou un autre canal :
/autojoin add #test
----
Avec WeeChat ≤ 3.4, vous pouvez utiliser la commande `/set` pour éditer la liste
des canaux de l'autojoin, par exemple pour le serveur libera :
----
/set irc.server.libera.autojoin [TAB]
----
[NOTE]
Vous pouvez compléter le nom et les valeurs de l'option avec la touche kbd:[Tab]
(ou kbd:[Shift+Tab] pour une complétion partielle, pratique pour le nom). +
De cette façon, vous n'avez pas à taper la liste complète des canaux.
Vous pouvez également utiliser la commande `/fset` pour éditer la liste
des canaux :
----
/fset autojoin
----
Avec WeeChat ≤ 3.4, une autre solution est d'utiliser un script :
Il y a aussi des scripts :
----
/script search autojoin
@@ -953,9 +879,9 @@ link:weechat_user.fr.html#irc_smart_filter_join_part_quit[Guide utilisateur / Fi
[[filter_irc_join_channel_messages]]
=== Comment puis-je filtrer certains messages affichés quand je rejoins un canal IRC ?
Avec WeeChat ≥ 0.4.1, vous pouvez choisir les messages affichés lorsque
vous rejoignez un canal avec l'option _irc.look.display_join_message_ (voir
`+/help irc.look.display_join_message+` pour plus d'informations).
Vous pouvez choisir les messages affichés lorsque vous rejoignez un canal avec
l'option _irc.look.display_join_message_ (voir `+/help irc.look.display_join_message+`
pour plus d'informations).
Pour cacher des messages (mais les garder dans le tampon), vous pouvez les
filtrer en utilisant l'étiquette (par exemple _irc_329_ pour la date de création
@@ -1013,17 +939,13 @@ canaux avec maximum 25 pseudos :
/set irc.server_default.away_check_max_nicks 25
----
[NOTE]
Pour WeeChat ≤ 0.3.3, les options sont _irc.network.away_check_ et
_irc.network.away_check_max_nicks_.
[[highlight_notification]]
=== Comment être averti lorsque quelqu'un prononce mon pseudo sur un canal ?
Avec WeeChat ≥ 1.0, il y a un trigger "beep" qui envoie _BEL_ au terminal sur
un highlight ou un message privé. Par conséquent vous pouvez configurer votre
terminal (ou multiplexeur comme screen/tmux) pour lancer une commande ou jouer
un son lorsque le _BEL_ se produit.
Il y a un trigger "beep" qui envoie _BEL_ au terminal sur un highlight ou
un message privé. Par conséquent vous pouvez configurer votre terminal
(ou multiplexeur comme screen/tmux) pour lancer une commande ou jouer un son
lorsque le _BEL_ se produit.
Ou vous pouvez ajouter une commande dans le trigger "beep" :
@@ -1049,8 +971,8 @@ Autres scripts sur ce sujet :
[[disable_highlights_for_specific_nicks]]
=== Comment puis-je désactiver le highlight pour des pseudos spécifiques ?
Avec WeeChat ≥ 0.3.4 vous pouvez utiliser la propriété de tampon
link:weechat_user.en.html#max_hotlist_level_nicks[hotlist_max_level_nicks_add ^↗^,window=_blank]
Vous pouvez utiliser la propriété de tampon
link:weechat_user.fr.html#max_hotlist_level_nicks[hotlist_max_level_nicks_add ^↗^,window=_blank]
pour définir le niveau maximum de hotlist pour certains pseudos, par tampon,
ou groupe de tampons (comme des serveurs IRC).
@@ -1087,7 +1009,7 @@ Pour plus d'exemples, voir `+/help buffer_autoset+`.
=== Comment puis-je changer le serveur cible pour les commandes avec des tampons mélangés (comme le tampon avec les serveurs) ?
La touche par défaut est kbd:[Ctrl+x] (la commande est :
`+/input switch_active_buffer+`).
`+/buffer switch+`).
[[plugins_scripts]]
== Extensions / scripts
@@ -1108,9 +1030,8 @@ Vous devez configurer ça :
[[install_scripts]]
=== Comment puis-je installer des scripts ? Les scripts sont-ils compatibles avec d'autres clients IRC ?
Avec WeeChat ≥ 0.3.9, vous pouvez utiliser la commande `/script` pour installer
et gérer les scripts (voir `/help script` pour de l'aide). Pour les versions
plus anciennes il y a weeget.py et script.pl.
Vous pouvez utiliser la commande `/script` pour installer et gérer les scripts
(voir `/help script` pour de l'aide).
Les scripts ne sont pas compatibles avec d'autres clients IRC.
@@ -1127,7 +1048,8 @@ $ rm ~/.cache/weechat/script/plugins.xml.gz
----
[NOTE]
Avec WeeChat ≤ 3.1, le chemin devrait être : _~/.weechat/script/plugins.xml.gz_.
Si vous n'utilisez pas les répertoires XDG, le chemin pourrait être :
_~/.weechat/script/plugins.xml.gz_.
Et mettez à jour les scripts à nouveau dans WeeChat :
@@ -1170,10 +1092,6 @@ Vous devez recharger l'extension spell :
/plugin reload spell
----
[NOTE]
Avec WeeChat ≤ 2.4, l'extension "spell" s'appelait "aspell", donc la commande est :
`/plugin reload aspell`.
[[settings]]
== Réglages
File diff suppressed because it is too large Load Diff
+2
View File
@@ -704,6 +704,8 @@ inl:
text_search_found: 0
text_search_input: None
highlight_words: None
highlight_disable_regex: None
highlight_disable_regex_compiled: '0x0'
highlight_regex: None
highlight_regex_compiled: '0x0'
highlight_tags_restrict: None
+30 -12
View File
@@ -67,7 +67,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.en.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 ^↗^,window=_blank].
[[languages_specificities]]
=== Spécificités des langages
@@ -143,10 +143,6 @@ pas exhaustive) :
|===
En Python 2, qui est déconseillé et ne devrait plus être utilisé, les chaînes
envoyées aux fonctions de rappel sont toujours de type `str`, et peuvent contenir
des données invalides UTF-8, dans les cas mentionnés ci-dessus.
[[language_perl]]
==== Perl
@@ -205,12 +201,22 @@ Les fonctions sont appelées par `+weechat.xxx(arg1, arg2, ...)+`.
Les fonctions sont appelées par `+weechat::xxx arg1 arg2 ...+`.
Étant donné que Tcl n'a que des types "string", il n'y a pas de type null à
donner comme paramètre quand une fonctionne accepte des valeurs nulles.
Pour surmonter cela vous pouvez utiliser la constante `$::weechat::WEECHAT_NULL`
qui agit comme la valeur nulle. Cette constante est définie avec la valeur
`\uFFFF\uFFFF\uFFFFWEECHAT_NULL\uFFFF\uFFFF\uFFFF`, il est donc très peu probable
qu'elle apparaisse de manière non intentionnelle.
// 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.
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].
[[language_guile]]
==== Guile (Scheme)
@@ -593,6 +599,7 @@ Liste des fonctions de l'API script :
string_has_highlight_regex +
string_mask_to_regex +
string_format_size +
string_parse_size +
string_color_code_size +
string_remove_color +
string_is_command_char +
@@ -1344,7 +1351,7 @@ Le résultat est une table de hachage avec les clés suivantes
[width="100%",cols="3,^2,10,7",options="header"]
|===
| Clé | Depuis WeeChat ^(1)^ | Description | Exemple
| Clé | Depuis WeeChat ^(1)^ | Description | Exemple
| tags | 0.4.0
| Les étiquettes dans le message (peut être vide).
@@ -1387,6 +1394,14 @@ Le résultat est une table de hachage avec les clés suivantes
| Le texte (par exemple un message utilisateur).
| `+hello!+`
| paramN | 3.4
| Paramètre de commande (de 1 à N).
| `+#weechat+`
| num_params | 3.4
| Nombre de paramètres de commande.
| `+2+`
| pos_command | 1.3
| La position de _command_ dans le message ("-1" si _command_ n'a pas été trouvé).
| `+47+`
@@ -1425,6 +1440,9 @@ dict = weechat.info_get_hashtable(
# "channel": "#weechat",
# "arguments": "#weechat :hello!",
# "text": "hello!",
# "param1": "#weechat",
# "param2": "hello!",
# "num_params": "2",
# "pos_command": "65",
# "pos_arguments": "73",
# "pos_channel": "73",
+269 -109
View File
@@ -109,16 +109,38 @@ Le tableau suivant liste les paquets *requis* pour compiler WeeChat :
[width="100%",cols="5,^3,.^15",options="header"]
|===
| Paquet ^(1)^ | Version | Fonctionnalité
| compilateur C (gcc / clang) | | Construction.
| cmake | ≥ 3.0 | Construction (autotools toujours possible, mais CMake est recommandé).
| pkg-config | | Détection des bibliothèques installées.
| libncursesw5-dev ^(2)^ | | Interface ncurses.
| libcurl4-gnutls-dev | | Transfert d'URL.
| libgcrypt20-dev | | Données sécurisées, authentification IRC SASL.
| libgnutls28-dev | ≥ 2.2.0 ^(3)^ | Connexion SSL au serveur IRC, support SSL dans l'extension relay, authentification IRC SASL (ECDSA-NIST256P-CHALLENGE).
| zlib1g-dev | | Compression des messages (WeeChat -> client) avec https://zlib.net/[zlib ^↗^,window=_blank] dans l'extension relay (protocole weechat), extension script.
| libzstd-dev | | Compression des messages (WeeChat -> client) avec https://facebook.github.io/zstd/[Zstandard ^↗^,window=_blank] dans l'extension relay (protocole weechat).
| Paquet ^(1)^ | Version | Fonctionnalités
| compilateur C (gcc / clang) |
| Construction.
| cmake | ≥ 3.0
| Construction (autotools toujours possible, mais CMake est recommandé).
| pkg-config |
| Détection des bibliothèques installées.
| libncursesw5-dev ^(2)^ |
| Interface ncurses.
| libcurl4-gnutls-dev |
| Transfert d'URL.
| libgcrypt20-dev |
| Données sécurisées, authentification IRC SASL.
| libgnutls28-dev | ≥ 2.2.0 ^(3)^
| Extension IRC : support des connexions TLS, authentification IRC SASL (ECDSA-NIST256P-CHALLENGE). +
Extension Relay : support des connexions TLS.
| zlib1g-dev |
| Extension Logger : compression des fichiers de log qui tournent (gzip). +
Extention Relay : compression des messages (WeeChat -> client) avec https://zlib.net/[zlib ^↗^,window=_blank] (protocole weechat). +
Extension Script : lecture du fichier d'index du dépôt (gzip).
| libzstd-dev | ≥ 0.8.1
| Extension Logger : compression des fichiers de log qui tournent. +
Extension Relay : compression des messages (WeeChat -> client) avec https://facebook.github.io/zstd/[Zstandard ^↗^,window=_blank] (protocole weechat).
|===
[NOTE]
@@ -135,12 +157,12 @@ Le tableau suivant liste les paquets optionnels pour compiler WeeChat :
[width="100%",cols="5,^3,.^15",options="header"]
|===
| Paquet ^(1)^ | Version | Fonctionnalité
| Paquet ^(1)^ | Version | Fonctionnalités
| compilateur {cpp} (pass:[g++ / clang++]) | | Construction et lancement des tests, extension JavaScript.
| gettext | | Internationalisation (traduction des messages ; la langue de base est l'anglais).
| ca-certificates | | Certificats pour les connexions SSL.
| libaspell-dev / libenchant-dev | | Extension spell.
| python3-dev ^(2)^ | | Extension python.
| python3-dev | ≥ 3.0 | Extension python.
| libperl-dev | | Extension perl.
| ruby2.7, ruby2.7-dev | ≥ 1.9.1 | Extension ruby.
| liblua5.4-dev | | Extension lua.
@@ -160,9 +182,6 @@ Le tableau suivant liste les paquets optionnels pour compiler WeeChat :
[NOTE]
^(1)^ Le nom provient de la distribution GNU/Linux Debian Bullseye, la version
et le nom peuvent être différents dans les autres distributions.
^(2)^ Par défaut Python 3.x est utilisé. Si vous activez l'option
`+ENABLE_PYTHON2+` (voir ci-dessous), seule la version 2.7 de Python est
recommandée.
Si vous utilisez une distribution basée sur Debian ou Ubuntu, et si vous avez
des entrées source "deb-src" dans votre fichier _/etc/apt/sources.list_, vous
@@ -277,10 +296,6 @@ Liste des options couramment utilisées :
| ENABLE_PYTHON | `ON`, `OFF` | ON
| Compiler <<scripting_plugins,l'extension Python>>.
| ENABLE_PYTHON2 | `ON`, `OFF` | OFF
| Compiler <<scripting_plugins,l'extension Python>> avec Python 2 au lieu de
Python 3.
| ENABLE_RELAY | `ON`, `OFF` | ON
| Compiler <<relay,l'extension Relay>>.
@@ -745,26 +760,26 @@ Les répertoires de WeeChat sont :
[width="100%",cols="1m,3",options="header"]
|===
| Chemin ^(1)^ | Description
| Chemin ^(1)^ | Description
| ~/.config/weechat/ | Fichiers de configuration WeeChat : `*.conf`, certificats, etc.
| ~/.local/share/weechat/ | Fichiers de données WeeChat : logs, scripts, données des scripts, fichiers xfer, etc.
|    logs/ | Fichiers de log (un fichier par tampon).
|    python/ | Scripts Python.
|       autoload/ | Scripts Python chargés automatiquement au démarrage ^(2)^.
|       autoload/ | Scripts Python chargés automatiquement au démarrage ^(2)^.
|    perl/ | Scripts Perl.
|       autoload/ | Scripts Perl chargés automatiquement au démarrage ^(2)^.
|       autoload/ | Scripts Perl chargés automatiquement au démarrage ^(2)^.
|    ruby/ | Scripts Ruby.
|       autoload/ | Scripts Ruby chargés automatiquement au démarrage ^(2)^.
|       autoload/ | Scripts Ruby chargés automatiquement au démarrage ^(2)^.
|    lua/ | Scripts Lua.
|       autoload/ | Scripts Lua chargés automatiquement au démarrage ^(2)^.
|       autoload/ | Scripts Lua chargés automatiquement au démarrage ^(2)^.
|    tcl/ | Scripts Tcl.
|       autoload/ | Scripts Tcl chargés automatiquement au démarrage ^(2)^.
|       autoload/ | Scripts Tcl chargés automatiquement au démarrage ^(2)^.
|    guile/ | Scripts Guile.
|       autoload/ | Scripts Guile chargés automatiquement au démarrage ^(2)^.
|       autoload/ | Scripts Guile chargés automatiquement au démarrage ^(2)^.
|    javascript/ | Scripts JavaScript.
|       autoload/ | Scripts JavaScript chargés automatiquement au démarrage ^(2)^.
|       autoload/ | Scripts JavaScript chargés automatiquement au démarrage ^(2)^.
|    php/ | Scripts PHP.
|       autoload/ | Scripts PHP chargés automatiquement au démarrage ^(2)^.
|       autoload/ | Scripts PHP chargés automatiquement au démarrage ^(2)^.
| ~/.cache/weechat/ | Fichiers de cache WeeChat : cache des scripts.
| /run/user/1000/weechat/ | Fichiers "runtime" WeeChat : tube FIFO, sockets UNIX Relay.
|===
@@ -1303,10 +1318,10 @@ Les étiquettes couramment utilisées (liste non exhaustive) :
| no_highlight | Aucun highlight n'est possible sur cette ligne.
| no_log | La ligne n'est pas écrite dans le fichier de log.
| log0 … log9 | Niveau de log pour la ligne (voir `/help logger`).
| notify_none | La ligne ne doit pas être ajoutée à la "hotlist". ^(1)^
| notify_message | La ligne est un message utilisateur. ^(1)^
| notify_private | La ligne est un message privé. ^(1)^
| notify_highlight | La ligne est un message avec un highlight. ^(1)^
| notify_none | La ligne ne doit pas être ajoutée à la "hotlist". ^(1)^
| notify_message | La ligne est un message utilisateur. ^(1)^
| notify_private | La ligne est un message privé. ^(1)^
| notify_highlight | La ligne est un message avec un highlight. ^(1)^
| self_msg | Message de soi-même.
| nick_xxx | Le message vient du pseudo "xxx".
| prefix_nick_ccc | Le préfixe est un pseudo avec la couleur "ccc".
@@ -1536,27 +1551,28 @@ Ils peuvent être modifiés et de nouveaux peuvent être ajoutés avec la comman
[width="100%",cols="^.^3,.^8,.^5",options="header"]
|===
| Touche | Description | Commande
| Touche | Description | Commande
| kbd:[Del] +
kbd:[Ctrl+d] | Effacer le caractère suivant sur la ligne de commande. | `+/input delete_next_char+`
kbd:[Ctrl+d] | Effacer le caractère suivant sur la ligne de commande. | `+/input delete_next_char+`
| kbd:[Backspace] +
kbd:[Ctrl+h] | Effacer le caractère précédent sur la ligne de commande. | `+/input delete_previous_char+`
| kbd:[Ctrl+k] | Effacer du curseur jusqu'à la fin de la ligne de commande (la chaîne supprimée est copiée dans le presse-papiers interne). | `+/input delete_end_of_line+`
| kbd:[Ctrl+t] | Inverser deux caractères. | `+/input transpose_chars+`
| kbd:[Ctrl+u] | Effacer du curseur jusqu'au début de la ligne de commande (la chaîne supprimée est copiée dans le presse-papiers interne). | `+/input delete_beginning_of_line+`
| kbd:[Ctrl+w] | Effacer le mot précédent sur la ligne de commande (la chaîne supprimée est copiée dans le presse-papiers interne). | `+/input delete_previous_word+`
| kbd:[Ctrl+y] | Coller le contenu du presse-papiers interne. | `+/input clipboard_paste+`
| kbd:[Ctrl+_] | Défaire la dernière action sur la ligne de commande. | `+/input undo+`
| kbd:[Alt+_] | Refaire la dernière action sur la ligne de commande. | `+/input redo+`
| kbd:[Tab] | Compléter la commande ou le pseudo (kbd:[Tab] de nouveau : trouver la complétion suivante). | `+/input complete_next+`
| kbd:[Shift+Tab] | Sans complétion, effectue une complétion partielle. Avec une complétion en cours, complète avec la complétion précédente. | `+/input complete_previous+`
kbd:[Ctrl+h] | Effacer le caractère précédent sur la ligne de commande. | `+/input delete_previous_char+`
| kbd:[Ctrl+k] | Effacer du curseur jusqu'à la fin de la ligne de commande (la chaîne supprimée est copiée dans le presse-papiers interne). | `+/input delete_end_of_line+`
| kbd:[Ctrl+t] | Inverser deux caractères. | `+/input transpose_chars+`
| kbd:[Ctrl+u] | Effacer du curseur jusqu'au début de la ligne de commande (la chaîne supprimée est copiée dans le presse-papiers interne). | `+/input delete_beginning_of_line+`
| kbd:[Alt+Backspace] | Effacer le mot précédent sur la ligne de commande (la chaîne supprimée est copiée dans le presse-papiers interne). | `+/input delete_previous_word+`
| kbd:[Ctrl+w] | Effacer le mot précédent sur la ligne de commande jusqu'à un espace (la chaîne supprimée est copiée dans le presse-papiers interne). | `+/input delete_previous_word_whitespace+`
| kbd:[Ctrl+y] | Coller le contenu du presse-papiers interne. | `+/input clipboard_paste+`
| kbd:[Ctrl+_] | faire la dernière action sur la ligne de commande. | `+/input undo+`
| kbd:[Alt+_] | Refaire la dernière action sur la ligne de commande. | `+/input redo+`
| kbd:[Tab] | Compléter la commande ou le pseudo (kbd:[Tab] de nouveau : trouver la complétion suivante). | `+/input complete_next+`
| kbd:[Shift+Tab] | Sans complétion, effectue une complétion partielle. Avec une complétion en cours, complète avec la complétion précédente. | `+/input complete_previous+`
| kbd:[Enter] +
kbd:[Ctrl+j] +
kbd:[Ctrl+m] | Exécuter la commande ou envoyer le message (en mode recherche : arrêter la recherche). | `+/input return+`
| kbd:[Alt+Enter] | Insérer une nouvelle ligne. | `+/input insert \n+`
| kbd:[Alt+d] | Effacer le mot suivant (la chaîne supprimée est copiée dans le presse-papiers interne). | `+/input delete_next_word+`
| kbd:[Alt+k] | Capturer une touche et insérer son code (et la commande associée si la commande existe) sur la ligne de commande. | `+/input grab_key_command+`
| kbd:[Alt+r] | Effacer entièrement la ligne de commande. | `+/input delete_line+`
kbd:[Ctrl+m] | Exécuter la commande ou envoyer le message (en mode recherche : arrêter la recherche). | `+/input return+`
| kbd:[Alt+Enter] | Insérer une nouvelle ligne. | `+/input insert \n+`
| kbd:[Alt+d] | Effacer le mot suivant (la chaîne supprimée est copiée dans le presse-papiers interne). | `+/input delete_next_word+`
| kbd:[Alt+k] | Capturer une touche et insérer son code (et la commande associée si la commande existe) sur la ligne de commande. | `+/input grab_key_command+`
| kbd:[Alt+r] | Effacer entièrement la ligne de commande. | `+/input delete_line+`
|===
[[key_bindings_cmdline_color_codes]]
@@ -1592,9 +1608,9 @@ Ils peuvent être modifiés et de nouveaux peuvent être ajoutés avec la comman
|===
| Touche | Description | Commande
| kbd:[Ctrl+r] | Chercher du texte dans l'historique du tampon (voir <<key_bindings_search_context,les touches pour le contexte de recherche>>). | `+/input search_text_here+`
| kbd:[Ctrl+s], kbd:[Ctrl+u] | Positionner le marqueur de données non lues sur tous les tampons. | `+/input set_unread+`
| kbd:[Ctrl+x] | Changer de tampon courant si plusieurs tampons sont mélangés avec le même numéro, par exemple basculer vers un autre tampon serveur IRC. | `+/input switch_active_buffer+`
| kbd:[Alt+x] | Zoomer sur le tampon mélangé (kbd:[Alt+x] de nouveau : afficher tous les tampons mélangés). | `+/input zoom_merged_buffer+`
| kbd:[Ctrl+s], kbd:[Ctrl+u] | Positionner le marqueur de données non lues sur tous les tampons. | `+/allbuf /buffer set unread+`
| kbd:[Ctrl+x] | Changer de tampon courant si plusieurs tampons sont mélangés avec le même numéro, par exemple basculer vers un autre tampon serveur IRC. | `+/buffer switch+`
| kbd:[Alt+x] | Zoomer sur le tampon mélangé (kbd:[Alt+x] de nouveau : afficher tous les tampons mélangés). | `+/buffer zoom+`
| kbd:[PgUp] | Monter d'une page dans l'historique du tampon. | `+/window page_up+`
| kbd:[PgDn] | Descendre d'une page dans l'historique du tampon. | `+/window page_down+`
| kbd:[Alt+PgUp] | Monter de quelques lignes dans l'historique du tampon. | `+/window scroll_up+`
@@ -1618,9 +1634,9 @@ Ils peuvent être modifiés et de nouveaux peuvent être ajoutés avec la comman
| kbd:[Alt+n] | Se positionner sur le highlight suivant. | `+/window scroll_next_highlight+`
| kbd:[Alt+p] | Se positionner sur le highlight précédent. | `+/window scroll_previous_highlight+`
| kbd:[Alt+u] | Se positionner sur la première ligne non lue du tampon. | `+/window scroll_unread+`
| kbd:[Alt+<] | Sauter au tampon précédent dans la liste des tampons visités. | `+/input jump_previously_visited_buffer+`
| kbd:[Alt+>] | Sauter au tampon suivant dans la liste des tampons visités. | `+/input jump_next_visited_buffer+`
| kbd:[Alt+/] | Sauter au dernier tampon affiché (avant le dernier saut vers un tampon). | `+/input jump_last_buffer_displayed+`
| kbd:[Alt+<] | Sauter au tampon précédent dans la liste des tampons visités. | `+/buffer jump prev_visited+`
| kbd:[Alt+>] | Sauter au tampon suivant dans la liste des tampons visités. | `+/buffer jump next_visited+`
| kbd:[Alt+/] | Sauter au dernier tampon affiché (avant le dernier saut vers un tampon). | `+/buffer jump last_displayed+`
|===
[[key_bindings_windows]]
@@ -1672,11 +1688,11 @@ Ils peuvent être modifiés et de nouveaux peuvent être ajoutés avec la comman
[width="100%",cols="^.^3,.^8,.^5",options="header"]
|===
| Touche | Description | Commande
| kbd:[Alt+a] | Sauter au prochain tampon avec activité (avec priorité : highlight, message, autre). | `+/input jump_smart+`
| kbd:[Alt+h], kbd:[Alt+c] | Vider la hotlist (notification d'activité sur les tampons). | `+/input hotlist_clear+`
| kbd:[Alt+h], kbd:[Alt+m] | Supprimer le tampon courant de la hotlist. | `+/input hotlist_remove_buffer+`
| kbd:[Alt+h], kbd:[Alt+r] | Restaurer la dernière hotlist supprimée dans le tampon courant. | `+/input hotlist_restore_buffer+`
| kbd:[Alt+h], kbd:[Alt+Shift+R] | Restaurer la dernière hotlist supprimée dans tous les tampons. | `+/input hotlist_restore_all+`
| kbd:[Alt+a] | Sauter au prochain tampon avec activité (avec priorité : highlight, message, autre). | `+/buffer jump smart+`
| kbd:[Alt+h], kbd:[Alt+c] | Vider la hotlist (notification d'activité sur les tampons). | `+/hotlist clear+`
| kbd:[Alt+h], kbd:[Alt+m] | Supprimer le tampon courant de la hotlist. | `+/hotlist remove+`
| kbd:[Alt+h], kbd:[Alt+r] | Restaurer la dernière hotlist supprimée dans le tampon courant. | `+/hotlist restore+`
| kbd:[Alt+h], kbd:[Alt+Shift+R] | Restaurer la dernière hotlist supprimée dans tous les tampons. | `+/hotlist restore -all+`
|===
[[key_bindings_toggle_keys]]
@@ -1749,12 +1765,12 @@ avec la touche kbd:[Alt+m] (commande : `+/mouse toggle+`).
[width="100%",cols="^.^3,^.^3,^.^3,.^8,.^8",options="header"]
|===
| Bouton/Roulette ^(1)^ | Geste | Zone | Description | Commande
| Bouton/Roulette ^(1)^ | Geste | Zone | Description | Commande
| ◾◽◽ | - | chat | Aller à la fenêtre. | `+/window ${_window_number}+`
| ◾◽◽ | left | chat | Aller au tampon précédent. | `+/window ${_window_number};/buffer +1+`
| ◾◽◽ | right | chat | Aller au tampon suivant. | `+/window ${_window_number};/buffer +1+`
| ◾◽◽ | left (long) | chat | Aller au premier tampon. | `+/window ${_window_number};/buffer 1+`
| ◾◽◽ | right (long) | chat | Aller au dernier tampon. | `+/window ${_window_number};/input jump_last_buffer+`
| ◾◽◽ | right (long) | chat | Aller au dernier tampon. | `+/window ${_window_number};/buffer ++`
| kbd:[▲] | - | chat | Monter de quelques lignes dans l'historique du tampon. | `+/window scroll_up -window ${_window_number}+`
| kbd:[▼] | - | chat | Descendre de quelques lignes dans l'historique du tampon. | `+/window scroll_down -window ${_window_number}+`
| kbd:[Ctrl+▲] | - | chat | Faire défiler horizontalement vers la gauche. | `+/window scroll_horiz -window ${_window_number} -10%+`
@@ -1802,7 +1818,7 @@ Ces touches et actions sont utilisées sur le tampon fset
[width="100%",cols="^.^3,^.^2,.^8,.^5",options="header"]
|===
| Touche | Action ^(1)^ | Description | Commande
| Touche | Action ^(1)^ | Description | Commande
| kbd:[↑] | | Monter d'une ligne. | `+/fset -up+`
| kbd:[↓] | | Descendre d'une ligne. | `+/fset -down+`
| kbd:[PgUp] | | Monter d'une page. | `+/window page_up+`
@@ -1849,7 +1865,7 @@ Ces touches et actions sont utilisées sur le tampon script
[width="100%",cols="^.^3,^.^2,.^8,.^5",options="header"]
|===
| Touche | Action ^(1)^ | Description | Commande
| Touche | Action ^(1)^ | Description | Commande
| kbd:[↑] | | Move one line up. | `+/script up+`
| kbd:[↓] | | Move one line down. | `+/script down+`
| kbd:[PgUp] | | Move one page up. | `+/window page_up+`
@@ -2003,12 +2019,14 @@ Par exemple :
Il est possible d'utiliser des attributs pour les couleurs. Un ou plusieurs
attributs peuvent être ajoutés avant le nom ou le numéro de la couleur :
* `+%+` : clignotement
* `+.+` : "dim" (demi-intensité)
* `+*+` : texte gras
* `+!+` : mode vidéo inverse
* `+/+` : italique
* `+_+` : texte souligné
* `+|+` : garder les attributs : ne pas réinitialiser gras/inverse/souligné lors
du changement de couleur
* `+|+` : garder les attributs : ne pas réinitialiser
clignotement/dim/gras/inverse/souligné lors du changement de couleur
Par exemple si vous voulez votre pseudo en blanc souligné, faites :
@@ -2240,6 +2258,37 @@ avec `+/help buffer_autoset+`.
[[highlights]]
=== Highlights
[[highlights_disable]]
==== Désactiver les highlights
Vous pouvez désactiver les highlights avec l'option
<<option_weechat.look.highlight_disable_regex,weechat.look.highlight_disable_regex>>
(expression régulière). +
Lorsqu'un highlight est désactivé avec cette option, les autres options de
highlight sont ignorées.
Par exemple pour désactiver tout highlight sur les messages avec un mot
commençant par "flash" entre chevrons :
----
/set weechat.look.highlight_disable_regex "<flash.*>"
----
Ceci peut aussi être défini avec la propriété de tampon "highlight_disable_regex".
Même exemple, spécifique au tampon courant :
----
/buffer set highlight_disable_regex <flash.*>
----
[NOTE]
La propriété de tampon "highlight_disable_regex" n'est pas sauvegardée dans la
configuration. +
Vous pouvez facilement la sauvegarder avec le script _buffer_autoset.py_ : vous
pouvez l'installer avec `+/script install buffer_autoset.py+` et obtenir de l'aide
avec `+/help buffer_autoset+`.
[[highlights_words]]
==== Ajouter des mots pour le « highlight »
@@ -2252,7 +2301,7 @@ Vous pouvez ajouter d'autres mots à mettre en valeur avec l'option
en valeur votre pseudo, "mot1", "mot2" et tous les mots commençants par "test" :
----
/set weechat.look.highlight mot1,mot2,test*
/set weechat.look.highlight "mot1,mot2,test*"
----
Si vous avez besoin d'une règle plus spécifique pour un mot, vous pouvez utiliser
@@ -2261,7 +2310,7 @@ des expressions régulières avec l'option
par exemple pour mettre en valeur les mots "flashcode", "flashcöde" et "flashy" :
----
/set weechat.look.highlight_regex flashc[oö]de|flashy
/set weechat.look.highlight_regex "flashc[oö]de|flashy"
----
Les délimiteurs autour des mots à mettre en valeur peuvent être paramétrés avec
@@ -2444,6 +2493,49 @@ Vous obtiendrez les fichiers suivants :
...
....
[[logger_rotation_compression]]
==== Rotation et compression
Il est possible de définir une taille maximale pour les fichiers de logs, et
lorsqu'elle est atteinte, il y a une rotation automatique du fichier de log.
Les fichiers de logs qui ont tourné peuvent être compressés avec gzip ou
https://facebook.github.io/zstd/[zstd ^↗^,window=_blank].
[NOTE]
La compression du fichier pouvant prendre du temps, elle est exécutée en tâche
de fond.
Exemple avec une taille maximale de 2 Go et la compression avec gzip, en utilisant
un bon niveau de compression (plus lent que celui par défaut) :
----
/set logger.file.rotation_compression_type gzip
/set logger.file.rotation_compression_level 80
/set logger.file.rotation_size_max "2g"
----
Si vous voulez utiliser un nombre décimal, vous pouvez utiliser l'unité en
dessous et multiplier par 1000, par exemple pour une taille maximale de 2,5 Go :
----
/set logger.file.rotation_size_max "2500m"
----
Avec cette configuration, vous aurez des fichiers comme ceux-ci (dans cet exemple
il y a eu une rotation seulement pour le log du canal "#weechat"):
....
~/.local/share/weechat
└── logs
├── core.weechat.weechatlog
├── irc.server.libera.weechatlog
├── irc.libera.#weechat.weechatlog
├── irc.libera.#weechat.weechatlog.1.gz
├── irc.libera.#weechat.weechatlog.2.gz
└── irc.libera.#weechat.weechatlog.3.gz
....
[[logger_commands]]
==== Commandes
@@ -4006,8 +4098,8 @@ automatiquement remplacées par WeeChat lors de la réponse au CTCP :
| Code | Description | Valeur / exemple
| $clientinfo | Liste des CTCP supportés | `+ACTION DCC CLIENTINFO FINGER PING SOURCE TIME USERINFO VERSION+`
| $version | Version de WeeChat | `+0.4.0-dev+`
| $versiongit | Version de WeeChat + version Git ^(1)^ | `+0.4.0-dev (git: v0.3.9-104-g7eb5cc4)+`
| $git | Version Git ^(1)^ | `+v0.3.9-104-g7eb5cc4+`
| $versiongit | Version de WeeChat + version Git ^(1)^ | `+0.4.0-dev (git: v0.3.9-104-g7eb5cc4)+`
| $git | Version Git ^(1)^ | `+v0.3.9-104-g7eb5cc4+`
| $compilation | Date de compilation WeeChat | `+Dec 16 2012+`
| $osinfo | Information sur l'OS | `+Linux 2.6.32-5-amd64 / x86_64+`
| $site | Site WeeChat | `+https://weechat.org/+`
@@ -4807,7 +4899,7 @@ points-virgules.
`+*;irc.libera.*+` +
`+*;irc.libera.#weechat+` +
`+formatted;irc.libera.#weechat;irc_notice+`
| link:weechat_plugin_api.en.html#_hook_line[hook_line ^↗^,window=_blank]
| link:weechat_plugin_api.fr.html#_hook_line[hook_line ^↗^,window=_blank]
| print
| 1. nom de tampon +
@@ -4899,8 +4991,108 @@ ${tg_displayed} && (${tg_highlight} || ${tg_msg_pv})
L'expression régulière est utilisée pour modifier des variables dans la table
de hachage de la fonction de rappel.
Le format est : "/regex/remplacement" ou "/regex/remplacement/var" (où _var_ est
une variable de la table de hachage).
Le format est l'un des suivants :
----
/chaîne1/chaîne2
/chaîne1/chaîne2/var
s/chaîne1/chaîne2
s/chaîne1/chaîne2/var
y/chaîne1/chaîne2
y/chaîne1/chaîne2/var
----
Champs :
* `s` ou `y` : une lettre avec la commande ; si manquante, la commande par défaut
est `s` et le premier caractère est alors utilisé comme délimiteur :
** `s` : remplacement par expression régulière : la première chaîne est l'expression
régulière, la seconde chaîne est le remplacement pour chaque chaîne trouvée
** `y` : traduction de caractères : la première chaîne est un ensemble de caractères
qui sont remplacés par les caractères de la seconde chaîne ; une fois évaluée,
chaque chaîne doit contenir exactement le même nombre de caractères UTF-8
* `/` : le délimiteur d'expression régulière ; le caractère "/" peut être remplacé
par n'importe quel caractère (un ou plusieurs caractères identiques)
* `chaîne1` : la première chaîne (l'utilisation dépend de la commande)
* `chaîne2` : la seconde chaîne (l'utilisation dépend de la commande)
* `var` : la table de hachage avec la variable à mettre à jour
Plusieurs expressions régulières peuvent être séparées par un espace, par exemple :
----
s/regex1/remplacement1/var1 y/abcdef/ABDDEF/var2
----
[[trigger_regex_replace]]
==== Regex replace
Pour la commande `s`, le format est : `s/regex/remplacement` ou
`s/regex/remplacement/var` (où _var_ est une variable de la table de hachage).
Comme `s` est la commande par défaut, elle peut être omise, donc `/regex/replace`
est également valide (mais le premier caractère, qui est le délimiteur, ne doit
pas être une lettre).
Les groupes de correspondance peuvent être utilisés dans le _remplacement_ :
* `+${re:0}+` à `+${re:99}+` : `+${re:0}+` est la correspondance complète, `+${re:1}+`
à `+${re:99}+` sont les groupes capturés
* `+${re:+}+` : la dernière correspondance (avec le numéro le plus élevé)
* `+${hide:c,${re:N}}+` : la correspondance "N" avec tous les caractères
remplacés par "c" (exemple : `+${hide:*,${re:2}}+` est le groupe n°2 avec tous
les caractères remplacés par `+*+`).
Exemple : utiliser du gras pour les mots entre `+*+` :
----
s/\*([^ ]+)\*/*${color:bold}${re:1}${color:-bold}*/
----
Exemple : le trigger par défaut _server_pass_ utilise cette expression régulière
pour cacher le mot de passe dans les commandes `/server` et `/connect` (les
caractères des mots de passe sont remplacés par `+*+`) :
----
s==^(/(server|connect) .*-(sasl_)?password=)([^ ]+)(.*)==${re:1}${hide:*,${re:4}}${re:5}
----
[NOTE]
Dans cet exemple, le séparateur utilisé est "==" car il y a "/" dans
l'expression régulière.
[[trigger_regex_translate_chars]]
==== Translate chars
Pour la commande `y`, le format est : `y/caractères1/caractères2` ou
`y/caractères1/caractères2/var` (où _var_ est une variable de la table de hachage).
Exemple : remplacer "a", "b" et "c" par la lettre en majuscules :
----
y/abc/ABC/
----
Exemple : faire tourner une flèche dans le sens horaire :
----
y/←↑→↓/↑→↓←/
----
Exemple : convertir toutes les lettres en minuscules :
----
y/${chars:upper}/${chars:lower}/
----
Exemple : décaler toutes les lettres d'une position, en préservant la casse :
a→b, b→c … y→z, z→a :
----
y/${chars:a-z}${chars:A-Z}/${chars:b-z}a${chars:B-Z}A/
----
[[trigger_regex_variable]]
==== Variable
Si _var_ n'existe pas dans la table de hachage, elle est automatiquement créée
avec une valeur vide. Cela permet de créer des variables temporaires.
@@ -4910,7 +5102,7 @@ du type de hook :
[width="100%",cols="2,3,7",options="header"]
|===
| Hook | Variable par défaut | Mise à jour autorisée ^(1)^
| Hook | Variable par défaut | Mise à jour autorisée ^(1)^
| signal | tg_signal_data |
| hsignal | |
| modifier | tg_string | tg_string
@@ -4930,39 +5122,6 @@ du type de hook :
seulement ces variables ont un effet sur la valeur retournée par le trigger
et utilisée par WeeChat.
Plusieurs expressions régulières peuvent être séparées par un espace, par
exemple : "/regex1/remplacement1/var1 /regex2/remplacement2/var2".
Le caractère "/" peut être remplacé par tout caractère (un ou plusieurs
caractères identiques).
Les groupes de correspondance peuvent être utilisés dans le "remplacement" :
* `+${re:0}+` à `+${re:99}+` : `+${re:0}+` est la correspondance complète, `+${re:1}+`
à `+${re:99}+` sont les groupes capturés
* `+${re:+}+` : la dernière correspondance (avec le numéro le plus élevé)
* `+${hide:c,${re:N}}+` : la correspondance "N" avec tous les caractères
remplacés par "c" (exemple : `+${hide:*,${re:2}}+` est le groupe n°2 avec tous
les caractères remplacés par `+*+`).
Exemple : utiliser du gras pour les mots entre `+*+` :
----
/\*([^ ]+)\*/*${color:bold}${re:1}${color:-bold}*/
----
Exemple : le trigger par défaut _server_pass_ utilise cette expression régulière
pour cacher le mot de passe dans les commandes `/server` et `/connect` (les
caractères des mots de passe sont remplacés par `+*+`) :
----
==^(/(server|connect) .*-(sasl_)?password=)([^ ]+)(.*)==${re:1}${hide:*,${re:4}}${re:5}
----
[NOTE]
Dans cet exemple, le séparateur utilisé est "==" car il y a "/" dans
l'expression régulière.
[[trigger_command]]
=== Commande
@@ -5007,6 +5166,7 @@ de hachage :
|===
| Variable | Type | Description
| tg_trigger_name | chaîne | Nom du trigger.
| tg_hook_type | chaîne | Type de hook : "signal", "command", etc.
|===
[[trigger_data_signal]]
@@ -5139,7 +5299,7 @@ Variables définies avec les étiquettes du message :
| tg_tag_prefix_nick | chaîne | Couleur du pseudo dans le préfixe (depuis l'étiquette "prefix_nick_ccc").
| tg_tag_host | chaîne | Nom d'utilisateur et hôte, format : utilisateur@hôte (depuis l'étiquette "host_xxx").
| tg_tag_notify | chaîne | Niveau de notification (_none_, _message_, _private_, _highlight_).
| tg_tag_irc_xxx | chaîne | Étiquette de message IRC (clé "xxx"). ^(1)^
| tg_tag_irc_xxx | chaîne | Étiquette de message IRC (clé "xxx"). ^(1)^
| tg_notify | chaîne | Niveau de notification, si différent de _none_.
| tg_msg_pv | chaîne | "1" pour un message privé, sinon "0".
|===
@@ -5182,7 +5342,7 @@ Variables définies avec les étiquettes du message :
| tg_tag_prefix_nick | chaîne | Couleur du pseudo dans le préfixe (depuis l'étiquette "prefix_nick_ccc").
| tg_tag_host | chaîne | Nom d'utilisateur et hôte, format : utilisateur@hôte (depuis l'étiquette "host_xxx").
| tg_tag_notify | chaîne | Niveau de notification (_none_, _message_, _private_, _highlight_).
| tg_tag_irc_xxx | chaîne | Étiquette de message IRC (clé "xxx"). ^(1)^
| tg_tag_irc_xxx | chaîne | Étiquette de message IRC (clé "xxx"). ^(1)^
| tg_notify | chaîne | Niveau de notification, si différent de _none_.
| tg_msg_pv | chaîne | "1" pour un message privé, sinon "0".
|===
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2023 Sébastien Helleu <flashcode@flashtux.org>
#
# This file is part of WeeChat, the extensible chat client.
#
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2023 Sébastien Helleu <flashcode@flashtux.org>
#
# This file is part of WeeChat, the extensible chat client.
#
@@ -582,6 +582,7 @@ _title_   (string) +
_own_lines_   (pointer, hdata: "lines") +
_mixed_lines_   (pointer, hdata: "lines") +
_lines_   (pointer, hdata: "lines") +
_next_line_id_   (integer) +
_time_for_each_line_   (integer) +
_chat_refresh_needed_   (integer) +
_nicklist_   (integer) +
@@ -631,6 +632,8 @@ _text_search_input_   (string) +
_highlight_words_   (string) +
_highlight_regex_   (string) +
_highlight_regex_compiled_   (pointer) +
_highlight_disable_regex_   (string) +
_highlight_disable_regex_compiled_   (pointer) +
_highlight_tags_restrict_   (string) +
_highlight_tags_restrict_count_   (integer) +
_highlight_tags_restrict_array_   (pointer, array_size: "highlight_tags_restrict_count") +
@@ -921,6 +924,7 @@ _next_line_   (pointer, hdata: "line") +
| struttura con una riga di dati
| -
| _buffer_   (pointer, hdata: "buffer") +
_id_   (integer) +
_y_   (integer) +
_date_   (time) +
_date_printed_   (time) +
+2 -2
View File
@@ -60,8 +60,6 @@
| php | php_version | version of the interpreter used | -
| python | python2_bin | path to Python 2.x interpreter (*deprecated* since version 2.6, scripts must use Python 3 only) | -
| python | python_eval | evaluation of source code | source code to execute
| python | python_interpreter | name of the interpreter used | -
@@ -128,6 +126,8 @@
| 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) | -
@@ -16,13 +16,13 @@
. xfer (7000)
. irc (6000)
. relay (5000)
. guile (4007)
. javascript (4006)
. lua (4005)
. perl (4004)
. php (4003)
. python (4002)
. ruby (4001)
. guile (4070)
. javascript (4060)
. lua (4050)
. perl (4040)
. php (4030)
. python (4020)
. ruby (4010)
. tcl (4000)
. script (3000)
. fset (2000)
+47 -21
View File
@@ -6,7 +6,7 @@
// tag::url_options[]
[width="100%",cols="2,^1,7",options="header"]
|===
| Opzione | Tipo ^(1)^ | Costanti ^(2)^
| Opzione | Tipo ^(1)^ | Costanti ^(2)^
| verbose | long |
@@ -48,10 +48,6 @@
| 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 |
@@ -82,15 +78,19 @@
| doh_url | string |
| protocols_str | string |
| redir_protocols_str | string |
| netrc | long | ignored, optional, required
| userpwd | string |
| proxyuserpwd | string |
| httpauth | mask | none, basic, digest, ntlm, any, anysafe, digest_ie, only, ntlm_wb, negotiate, gssapi, bearer
| httpauth | mask | none, basic, digest, ntlm, any, anysafe, digest_ie, only, ntlm_wb, negotiate, gssapi, bearer, aws_sigv4
| proxyauth | mask | none, basic, digest, ntlm, any, anysafe, digest_ie, only, ntlm_wb, negotiate, gssapi, bearer
| proxyauth | mask | none, basic, digest, ntlm, any, anysafe, digest_ie, only, ntlm_wb, negotiate, gssapi, bearer, aws_sigv4
| netrc_file | string |
@@ -108,6 +108,8 @@
| tlsauth_password | string |
| sasl_authzid | string |
| sasl_ir | long |
| xoauth2_bearer | string |
@@ -120,8 +122,6 @@
| followlocation | long |
| put | long |
| post | long |
| postfields | string |
@@ -144,7 +144,7 @@
| cookiejar | string |
| http_version | long | none, 1_0, 1_1, 2_0, 2, 2tls, 2_prior_knowledge
| http_version | long | none, 1_0, 1_1, 2_0, 2, 2tls, 2_prior_knowledge, 3
| cookiesession | long |
@@ -182,12 +182,20 @@
| request_target | string |
| http09_allowed | long |
| hsts | string |
| hsts_ctrl | mask | enable, readonlyfile
| mail_from | string |
| mail_rcpt | list |
| mail_auth | string |
| mail_rcpt_alllowfails | long |
| tftp_blksize | long |
| tftp_no_options | long |
@@ -206,8 +214,6 @@
| ftp_create_missing_dirs | long |
| ftp_response_timeout | long |
| ftpsslauth | long | default, ssl, tls
| ftp_account | string |
@@ -238,6 +244,8 @@
| rtsp_server_cseq | long |
| aws_sigv4 | string |
| crlf | long |
| range | string |
@@ -274,6 +282,8 @@
| upload_buffersize | long |
| mime_options | mask | formescape
| timeout | long |
| low_speed_limit | long |
@@ -298,6 +308,8 @@
| connecttimeout_ms | long |
| maxage_conn | long |
| maxconnects | long |
| use_ssl | long | none, try, control, all
@@ -322,6 +334,8 @@
| upkeep_interval_ms | long |
| maxlifetime_conn | long |
| sslcert | string |
| sslversion | long | default, tlsv1, sslv2, sslv3, tlsv1_0, tlsv1_1, tlsv1_2, tlsv1_3, max_default, max_none, max_tlsv1_0, max_tlsv1_1, max_tlsv1_2, max_tlsv1_3
@@ -330,10 +344,6 @@
| cainfo | string |
| random_file | string |
| egdsocket | string |
| ssl_verifyhost | long |
| ssl_cipher_list | string |
@@ -364,12 +374,10 @@
| gssapi_delegation | long | none, policy_flag, flag
| ssl_options | long | allow_beast, no_revoke, no_backends, ok, too_late, unknown_backend
| ssl_options | long | allow_beast, no_revoke, no_backends, ok, too_late, unknown_backend, no_partialchain, revoke_best_effort, native_ca, auto_client_cert
| ssl_enable_alpn | long |
| ssl_enable_npn | long |
| pinnedpublickey | string |
| ssl_verifystatus | long |
@@ -398,7 +406,7 @@
| proxy_ssl_cipher_list | list |
| proxy_ssl_options | long | allow_beast, no_revoke, no_backends, ok, too_late, unknown_backend
| proxy_ssl_options | long | allow_beast, no_revoke, no_backends, ok, too_late, unknown_backend, no_partialchain, revoke_best_effort, native_ca, auto_client_cert
| proxy_ssl_verifyhost | long |
@@ -414,6 +422,18 @@
| proxy_tls13_ciphers | list |
| proxy_issuercert | string |
| ssl_ec_curves | string |
| doh_ssl_verifyhost | long |
| doh_ssl_verifypeer | long |
| doh_ssl_verifystatus | long |
| ca_cache_timeout | long |
| ssh_auth_types | mask | none, policy_flag, flag
| ssh_public_keyfile | string |
@@ -426,11 +446,17 @@
| ssh_compression | long |
| ssh_host_public_key_sha256 | string |
| telnetoptions | list |
| ws_options | mask | binary, close, cont, offset, ping, pong, raw_mode, text
| new_file_perms | long |
| new_directory_perms | long |
| telnetoptions | list |
| quick_exit | long |
|===
// end::url_options[]
+107 -53
View File
@@ -176,7 +176,7 @@ Without argument, this command displays the ban list for current channel.
ls: list the capabilities supported by the server
list: list the capabilities currently enabled
req: request a capability
req: request a new capability or remove a capability (if starting with "-", for example: "-multi-prefix")
ack: acknowledge capabilities which require client-side acknowledgement
end: end the capability negotiation
@@ -187,8 +187,14 @@ Capabilities supported by WeeChat are: account-notify, away-notify, cap-notify,
The capabilities to automatically enable on servers can be set in option irc.server_default.capabilities (or by server in option irc.server.xxx.capabilities).
Examples:
/cap
/cap req multi-prefix away-notify
display supported and enabled capabilities:
/cap
request capabilities multi-prefix and away-notify:
/cap req multi-prefix away-notify
request capability extended-join, remove capability multi-prefix:
/cap req extended-join -multi-prefix
remove capability away-notify:
/cap req -away-notify
----
[[command_irc_connect]]
@@ -1098,6 +1104,19 @@ Examples:
// end::alias_commands[]
// tag::weechat_commands[]
[[command_weechat_allbuf]]
* `+allbuf+`: execute a command on all buffers
----
/allbuf <command>
command: command to execute (or text to send to buffer if command does not start with '/')
Examples:
set unread marker on all buffers:
/allbuf /buffer set unread
----
[[command_weechat_away]]
* `+away+`: imposta o elimina lo stato di assenza
@@ -1174,6 +1193,8 @@ Examples:
unmerge [<number>|-all]
hide [<number>|<name>|-all [<number>|<name>...]]
unhide [<number>|<name>|-all [<number>|<name>...]]
switch [-previous]
zoom
renumber [<number1> [<number2> [<start>]]]
close [<n1>[-<n2>]|<name>...]
notify [<level>]
@@ -1182,6 +1203,7 @@ Examples:
delvar <name>
set <property> [<value>]
get <property>
jump smart|last_displayed|prev_visited|next_visited
<number>|-|+|<name>
list: list buffers (without argument, this list is displayed)
@@ -1195,6 +1217,8 @@ Examples:
unmerge: unmerge buffer from other buffers which have same number
hide: hide the buffer
unhide: unhide the buffer
switch: switch to next merged buffer (or to previous buffer with "-previous")
zoom: zoom on merged buffer
renumber: renumber buffers (works only if option weechat.look.buffer_auto_renumber is off)
close: close buffer (number/range or name is optional)
notify: display or set notify level for current buffer: this level determines whether buffer will be added to hotlist or not:
@@ -1208,6 +1232,11 @@ renumber: renumber buffers (works only if option weechat.look.buffer_auto_renumb
delvar: delete a local variable from the current buffer
set: set a property in the current buffer
get: display a property of current buffer
jump: jump to another buffer:
smart: next buffer with activity
last_displayed: last buffer displayed (before last jump to a buffer)
prev_visited: previously visited buffer
next_visited: jump to next visited buffer
number: jump to buffer by number, possible prefix:
'+': relative jump, add number to current
'-': relative jump, sub number to current
@@ -1337,6 +1366,7 @@ Examples:
mouse|cursor [verbose]
hdata [free]
time <command>
unicode <string>
list: list plugins with debug levels
set: set debug level for plugin
@@ -1358,6 +1388,13 @@ infolists: display infos about infolists
term: display infos about terminal
windows: display windows tree
time: measure time to execute a command or to send text to the current buffer
unicode: display information about string and unicode chars (evaluated, see /help eval)
Examples:
/debug set irc 1
/debug mouse verbose
/debug time /filter toggle
/debug unicode ${chars:${\u26C0}-${\u26CF}}
----
[[command_weechat_eval]]
@@ -1404,35 +1441,36 @@ To force a string comparison, you can add double quotes around each expression,
"50" > "100" ==> 1
Some variables are replaced in expression, using the format ${variable}, variable can be, by order of priority:
1. the string itself without evaluation (format: "raw:xxx")
2. a user-defined variable (format: "name")
3. an evaluated sub-string (format: "eval:xxx")
4. an evaluated condition (format: "eval_cond:xxx")
5. a string with escaped chars (format: "esc:xxx" or "\xxx")
6. a string converted to lower case (format: "lower:xxx")
7. a string converted to upper case (format: "upper:xxx")
8. a string with chars to hide (format: "hide:char,string")
9. a string with max chars (format: "cut:max,suffix,string" or "cut:+max,suffix,string")
- the string itself without evaluation (format: "raw:xxx")
- a user-defined variable (format: "name")
- an evaluated sub-string (format: "eval:xxx")
- an evaluated condition (format: "eval_cond:xxx")
- a string with escaped chars (format: "esc:xxx" or "\xxx")
- a string with a range of chars (format: "chars:xxx" or "chars:c1-c2" where "xxx" is one of: "digit", "xdigit", "lower", "upper", "alpha", "alnum")
- a string converted to lower case (format: "lower:xxx")
- a string converted to upper case (format: "upper:xxx")
- a string with chars to hide (format: "hide:char,string")
- a string with max chars (format: "cut:max,suffix,string" or "cut:+max,suffix,string")
or max chars displayed on screen (format: "cutscr:max,suffix,string" or "cutscr:+max,suffix,string")
10. a reversed string (format: "rev:xxx" or "revscr:xxx")
11. a repeated string (format: "repeat:count,string")
12. length of a string (format: "length:xxx" or "lengthscr:xxx")
13. split of a string (format: "split:number,separators,flags,xxx")
14. split of shell argmuents (format: "split_shell:number,xxx")
15. a color (format: "color:xxx", see "Plugin API reference", function "color")
16. a modifier (format: "modifier:name,data,string")
17. an info (format: "info:name,arguments", arguments are optional)
18. a base 16/32/64 encoded/decoded string (format: "base_encode:base,xxx" or "base_decode:base,xxx")
19. current date/time (format: "date" or "date:format")
20. an environment variable (format: "env:XXX")
21. a ternary operator (format: "if:condition?value_if_true:value_if_false")
22. result of an expression with parentheses and operators + - * / // % ** (format: "calc:xxx")
23. a random integer number (format: "random:min,max")
24. a translated string (format: "translate:xxx")
25. define a user variable (format: "define:name,value")
26. an option (format: "file.section.option")
27. a local variable in buffer
28. a hdata name/variable (the value is automatically converted to string), by default "window" and "buffer" point to current window/buffer.
- a reversed string (format: "rev:xxx" or "revscr:xxx")
- a repeated string (format: "repeat:count,string")
- length of a string (format: "length:xxx" or "lengthscr:xxx")
- split of a string (format: "split:number,separators,flags,xxx")
- split of shell argmuents (format: "split_shell:number,xxx")
- a color (format: "color:xxx", see "Plugin API reference", function "color")
- a modifier (format: "modifier:name,data,string")
- an info (format: "info:name,arguments", arguments are optional)
- a base 16/32/64 encoded/decoded string (format: "base_encode:base,xxx" or "base_decode:base,xxx")
- current date/time (format: "date" or "date:format")
- an environment variable (format: "env:XXX")
- a ternary operator (format: "if:condition?value_if_true:value_if_false")
- result of an expression with parentheses and operators + - * / // % ** (format: "calc:xxx")
- a random integer number (format: "random:min,max")
- a translated string (format: "translate:xxx")
- define a user variable (format: "define:name,value")
- an option (format: "file.section.option")
- a local variable in buffer
- a hdata name/variable (the value is automatically converted to string), by default "window" and "buffer" point to current window/buffer.
Format for hdata can be one of following:
hdata.var1.var2...: start with a hdata (pointer must be known), and ask variables one after one (other hdata can be followed)
hdata[list].var1.var2...: start with a hdata using a list/pointer/pointer name, for example:
@@ -1455,6 +1493,8 @@ Examples (simple strings):
/eval -n ${window.buffer.full_name} ==> core.weechat
/eval -n ${window.buffer.number} ==> 1
/eval -n ${\t} ==> <tab>
/eval -n ${chars:digit} ==> 0123456789
/eval -n ${chars:J-T} ==> JKLMNOPQRST
/eval -n ${lower:TEST} ==> test
/eval -n ${upper:test} ==> TEST
/eval -n ${hide:-,${relay.network.password}} ==> --------
@@ -1586,6 +1626,22 @@ Examples:
valore: numero delle voci nella cronologia da mostrare
----
[[command_weechat_hotlist]]
* `+hotlist+`: manage hotlist
----
/hotlist add [low|message|private|highlight]
clear [<level>]
remove
restore [-all]
add: add current buffer in hotlist (default level: "low", conditions defined in option weechat.look.hotlist_add_conditions are NOT checked)
clear: clear hotlist
level: "lowest" to clear only lowest level in hotlist, highest" to clear only highest level in hotlist, or level mask: integer which is a combination of 1=join/part, 2=message, 4=private, 8=highlight)
remove: remove current buffer from hotlist
restore: restore latest hotlist removed in the current buffer (or all buffers with -all)
----
[[command_weechat_input]]
* `+input+`: funzioni per la riga di comando
@@ -1608,6 +1664,7 @@ list of actions:
delete_previous_char: delete previous char
delete_next_char: delete next char
delete_previous_word: delete previous word
delete_previous_word_whitespace: delete previous word (until whitespace)
delete_next_word: delete next word
delete_beginning_of_line: delete from beginning of line until cursor
delete_end_of_line: delete from cursor until end of line
@@ -1626,23 +1683,10 @@ list of actions:
history_next: recall next command in current buffer history
history_global_previous: recall previous command in global history
history_global_next: recall next command in global history
jump_smart: jump to next buffer with activity
jump_last_buffer_displayed: jump to last buffer displayed (before last jump to a buffer)
jump_previously_visited_buffer: jump to previously visited buffer
jump_next_visited_buffer: jump to next visited buffer
hotlist_clear: clear hotlist (optional argument: "lowest" to clear only lowest level in hotlist, "highest" to clear only highest level in hotlist, or level mask: integer which is a combination of 1=join/part, 2=message, 4=private, 8=highlight)
hotlist_remove_buffer: remove current buffer from hotlist
hotlist_restore_buffer: restore latest hotlist removed in the current buffer
hotlist_restore_all: restore latest hotlist removed in all buffers
grab_key: grab a key (optional argument: delay for end of grab, default is 500 milliseconds)
grab_key_command: grab a key with its associated command (optional argument: delay for end of grab, default is 500 milliseconds)
grab_mouse: grab mouse event code
grab_mouse_area: grab mouse event code with area
set_unread: set unread marker for all buffers
set_unread_current_buffer: set unread marker for current buffer
switch_active_buffer: switch to next merged buffer
switch_active_buffer_previous: switch to previous merged buffer
zoom_merged_buffer: zoom on merged buffer
insert: insert text in command line (escaped chars are allowed, see /help print)
send: send text to the buffer
paste_start: start paste (bracketed paste mode)
@@ -2116,19 +2160,22 @@ Examples:
----
[[command_weechat_upgrade]]
* `+upgrade+`: reload the WeeChat binary without disconnecting from servers
* `+upgrade+`: save WeeChat session and reload the WeeChat binary without disconnecting from servers
----
/upgrade [-yes] [<path_to_binary>|-quit]
/upgrade [-yes] [<path_to_binary>|-save|-quit]
-yes: required if option "weechat.look.confirm_upgrade" is enabled
path_to_binary: path to WeeChat binary (default is current binary)
-dummy: do nothing (option used to prevent accidental completion with "-quit")
-save: only save the session, do not quit nor reload WeeChat; the configuration files are not saved (if needed you can use /save before this command)
-quit: close *ALL* connections, save session and quit WeeChat, which makes possible a delayed restoration (see below)
This command upgrades and reloads a running WeeChat session. The new WeeChat binary must have been compiled or installed with a package manager before running this command.
Note: SSL connections are lost during upgrade, because reload of SSL sessions is currently not possible with GnuTLS. There is automatic reconnection after upgrade.
Note: SSL connections are lost during upgrade (except with -save), because the reload of SSL sessions is currently not possible with GnuTLS. There is automatic reconnection after upgrade.
Important: use of option -save can be dangerous, it is recommended to use only /upgrade (or with -quit) for a standard upgrade and a restart; the option -save can be used to save the session regularly and restore it in case of after abnormal exit (power outage, crash, etc.)
Upgrade process has 4 steps:
1. save session into files for core and plugins (buffers, history, ..)
@@ -2136,14 +2183,18 @@ Upgrade process has 4 steps:
3. save WeeChat configuration (weechat.conf)
4. execute new WeeChat binary and reload session.
With option "-quit", the process is slightly different:
With option "-quit", the process is:
1. close *ALL* connections (irc, xfer, relay, ...)
2. save session into files (*.upgrade)
3. unload all plugins
4. save WeeChat configuration
5. quit WeeChat
Then later you can restore session with command: weechat --upgrade
IMPORTANT: you must restore the session with exactly same configuration (files *.conf).
With option "-save", the process is:
1. save session into files (*.upgrade) with a disconnected state for IRC servers and Relay clients (but no disconnection is made)
With -quit or -save, you can restore the session later with this command: weechat --upgrade
IMPORTANT: you must restore the session with exactly same configuration (files *.conf) and if possible the same WeeChat version (or a more recent one).
It is possible to restore WeeChat session on another machine if you copy the content of WeeChat home directories (see /debug dirs).
----
@@ -2328,6 +2379,7 @@ The following variables can be used in these options:
- ${format_hotlist}: the formatted hotlist (evaluation of option buflist.format.hotlist)
- ${hotlist}: the raw hotlist
- ${hotlist_priority}: "none", "low", "message", "private" or "highlight"
- ${hotlist_priority_number}: -1 = none, 0 = low, 1 = message, 2 = private, 3 = highlight
- ${format_lag}: the lag for an IRC server buffer, empty if there's no lag (evaluation of option buflist.format.lag)
- ${format_tls_version}: indicator of TLS version for a server buffer, empty for channels (evaluation of option buflist.format.tls_version)
----
@@ -3049,15 +3101,15 @@ Examples:
----
/spell enable|disable|toggle
listdict
setdict <dizionario>[,<dizionario>...]
setdict -|<dict>[,<dict>...]
deldict
addword [<dizionario>] <parola>
addword [<dict>] <word>
enable: enable spell checker
disable: disable spell checker
toggle: toggle spell checker
listdict: show installed dictionaries
setdict: set dictionary for current buffer (multiple dictionaries can be separated by a comma)
setdict: set dictionary for current buffer (multiple dictionaries can be separated by a comma, the special value "-" disables spell checking on current buffer)
deldict: delete dictionary used on current buffer
addword: add a word in personal dictionary
@@ -3186,6 +3238,8 @@ Examples (you can also look at default triggers with /trigger listdefault):
/trigger add resize_big signal signal_sigwinch "${info:term_width} >= 100" "" "/bar show nicklist"
silently save config each hour:
/trigger add cfgsave timer 3600000;0;0 "" "" "/mute /save"
silently save WeeChat session at midnight (see /help upgrade):
/trigger add session_save signal day_changed "" "" "/mute /upgrade -save"
open trigger monitor and show only modifiers and triggers whose name starts with "resize":
/trigger monitor @modifier,resize*
----
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -103,7 +103,7 @@ $HOME/.local/share/weechat/weechat.log::
WeeChat is written by Sébastien Helleu and contributors (complete list is in
the AUTHORS.adoc file).
Copyright (C) 2003-2022 {author}
Copyright (C) 2003-2023 {author}
WeeChat is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
+35 -117
View File
@@ -10,9 +10,6 @@
:docinfo1:
Questo documento è stato scritto per le versioni di WeeChat ≥ 0.3.0, ma dovrebbe
essere usato preferibilmente con l'ultima versione stabile di WeeChat.
// TRANSLATION MISSING
Translators:
@@ -215,17 +212,10 @@ windows.
[[buffers_list]]
=== Come si può visualizzare la lista dei buffer sulla sinistra?
With WeeChat ≥ 1.8, the plugin link:weechat_user.it.html#buflist[buflist ^↗^,window=_blank]
The plugin link:weechat_user.it.html#buflist[buflist ^↗^,window=_blank]
is loaded and enabled by default.
With an older version, you can install script _buffers.pl_:
----
/script install buffers.pl
----
To limit size of bar (replace "buflist" by "buffers" if you're using the script
_buffers.pl_):
To limit size of bar:
----
/set weechat.bar.buflist.size_max 15
@@ -243,21 +233,6 @@ bar with your mouse wheel.
Default keys to scroll _buflist_ bar are kbd:[F1] (or kbd:[Ctrl+F1]), kbd:[F2]
(or kbd:[Ctrl+F2]), kbd:[Alt+F1] and kbd:[Alt+F2].
For script _buffers.pl_, you can define keys, similar to the existing keys to
scroll nicklist. +
For example to use kbd:[F1], kbd:[F2], kbd:[Alt+F1] and kbd:[Alt+F2]:
----
/key bind meta-OP /bar scroll buffers * -100%
/key bind meta-OQ /bar scroll buffers * +100%
/key bind meta-meta-OP /bar scroll buffers * b
/key bind meta-meta-OQ /bar scroll buffers * e
----
[NOTE]
I tasti "meta-OP" e "meta-OQ" possono essere differenti nel proprio terminale.
Per trovare il codice tasto digitare kbd:[Alt+k] poi il tast.
// TRANSLATION MISSING
[[customize_buflist]]
=== How can I customize the list of buffers list, like the color of the active buffer?
@@ -378,9 +353,8 @@ non viene usato da un'altra barra:
=== Come posso copiare/incollare testo senza incollare la lista nick?
// TRANSLATION MISSING
With WeeChat ≥ 1.0, you can use the bare display (default key: kbd:[Alt+l] (`L`)),
which will show just the contents of the currently selected window,
without any formatting.
You can use the bare display (default key: kbd:[Alt+l] (`L`)), which shows
just the contents of the currently selected window, without any formatting.
È possibile usare un terminale con la selezione rettangolare (come
rxvt-unicode, konsole, gnome-terminal, ...). La combinazione tasti in
@@ -396,7 +370,7 @@ Un'altra soluzione è spostare la lista nick in alto o in basso, per esempio:
=== Come posso cliccare su URL lunghi (più di una riga)?
// TRANSLATION MISSING
With WeeChat ≥ 1.0, you can use the bare display (default key: kbd:[Alt+l] (`L`)).
You can use the bare display (default key: kbd:[Alt+l] (`L`)).
// TRANSLATION MISSING
To make opening URLs easier, you can:
@@ -409,7 +383,7 @@ To make opening URLs easier, you can:
----
// TRANSLATION MISSING
* disable alignment for multiline words (WeeChat ≥ 1.7):
* disable alignment for multiline words:
----
/set weechat.look.align_multiline_words off
@@ -422,9 +396,9 @@ To make opening URLs easier, you can:
/set weechat.look.align_end_of_lines time
----
Con WeeChat ≥ 0.3.6, si può abilitare l'opzione "eat_newline_glitch", in
modo che non venga aggiunto il carattere di nuova riga all'inizio di ogni riga
visualizzata (non interferisce con la selezione delle url):
// TRANSLATION MISSING
You can enable option "eat_newline_glitch", so that new line char is not added
at the end of each line displayed (it will not break URL selection):
----
/set weechat.look.eat_newline_glitch on
@@ -476,8 +450,6 @@ In WeeChat, the new value is immediately used:
[[use_256_colors]]
=== Come posso usare 256 colori in WeeChat?
I 256 colori sono supportati nelle versioni di WeeChat ≥ 0.3.4.
Per prima cosa verificare che la variabile di ambiente _TERM_ sia corretta, i
valori raccomandati sono:
@@ -500,17 +472,16 @@ term screen-256color
// TRANSLATION MISSING
If your _TERM_ variable has wrong value and that WeeChat is already running,
you can change it with these two commands (with WeeChat ≥ 1.0):
you can change it with these two commands:
----
/set env TERM screen-256color
/upgrade
----
Per la versione 0.3.4, bisogna usare il comando `/color` per aggiungere nuovi colori.
Per le versioni ≥ 0.3.5, è possibile usare qualsiasi numero di colore nelle
opzioni (opzionale: si possono aggiungere gli alias ai colori con il comando `/color`).
// TRANSLATION MISSING
You can use any color number in options (optional: you can add color aliases
with command `/color`).
// TRANSLATION MISSING
Please read the link:weechat_user.it.html#colors[User's guide / Colors ^↗^,window=_blank]
@@ -559,7 +530,7 @@ commands of your choice):
For example to mark buffers as read when the terminal loses the focus:
----
/key bind meta2-O /input set_unread
/key bind meta2-O /allbuf /buffer set unread
----
// TRANSLATION MISSING
@@ -740,8 +711,6 @@ Per trovare il codice tasto digitare kbd:[Alt+k] poi il tast.
[[mouse_not_working]]
=== Il mouse non funziona affatto, cosa posso fare?
Il mouse è supportato con le versioni di WeeChat ≥ 0.3.6.
Per prima cosa provare ad abilitare il mouse:
----
@@ -794,13 +763,6 @@ kbd:[Shift]).
If you are using macOS, you must install `openssl` from Homebrew.
A CA file will be bootstrapped using certificates from the system keychain.
// TRANSLATION MISSING
With WeeChat ≤ 3.1, you can set the path to system certificates:
----
/set weechat.network.gnutls_ca_file "/usr/local/etc/openssl/cert.pem"
----
Se si verificano problemi con l'handshake gnutls, si può cercare di
usare una chiave Diffie-Hellman più piccola (la predefinita è 2048):
@@ -826,8 +788,7 @@ should be, you can specify the fingerprint (SHA-512, SHA-256 or SHA-1):
[[irc_ssl_handshake_error]]
=== Alla connessione al server con SSL ottengo solo l'errore "handshake TLS fallito", cosa posso fare?
Provare una stringa di priorità diversa (solo WeeChat ≥ 0.3.5), sostituendo
"xxx" con il nome del server:
Provare una stringa di priorità diversa, sostituendo "xxx" con il nome del server:
----
/set irc.server.xxx.ssl_priorities "NORMAL:-VERS-TLS-ALL:+VERS-TLS1.0:+VERS-SSL3.0:%COMPAT"
@@ -837,23 +798,8 @@ Provare una stringa di priorità diversa (solo WeeChat ≥ 0.3.5), sostituendo
=== Come ci si può connettere al server libera via SSL?
// TRANSLATION MISSING
With WeeChat ≤ 3.1, set option _weechat.network.gnutls_ca_file_ to file with
certificates:
----
/set weechat.network.gnutls_ca_file "/etc/ssl/certs/ca-certificates.crt"
----
// TRANSLATION MISSING
Note: if you are running macOS with homebrew openssl installed, you can do:
----
/set weechat.network.gnutls_ca_file "/usr/local/etc/openssl/cert.pem"
----
[NOTE]
Verificare la presenza di questo file sul sistema (solitamente installato dal
pacchetto "ca-certificates").
Check that you have certificates installed on your system, this is commonly
provided by the package "ca-certificates".
Impostare la porta del server, SSL, poi riconnettersi:
@@ -920,8 +866,8 @@ For a single server:
----
// TRANSLATION MISSING
With WeeChat ≥ 3.5, you can also add the current channel in the "autojoin"
server option using the `/autojoin` command:
You can also add the current channel in the "autojoin" server option using the
`/autojoin` command:
----
/autojoin add
@@ -935,28 +881,7 @@ Or another channel:
----
// TRANSLATION MISSING
With WeeChat ≤ 3.4, you can use the `/set` command to edit the list of autojoin
channels, for example for the "libera" server:
----
/set irc.server.libera.autojoin [TAB]
----
// TRANSLATION MISSING
[NOTE]
You can complete the name and value of option with the kbd:[Tab] key
(or kbd:[Shift+Tab] for partial completion, useful for the name). +
This way you don't have to type the whole list of channels.
// TRANSLATION MISSING
You can also use the `/fset` command to edit the list of channels:
----
/fset autojoin
----
// TRANSLATION MISSING
With WeeChat ≤ 3.4, another solution is to use a script:
There are also scripts:
----
/script search autojoin
@@ -1007,9 +932,9 @@ link:weechat_user.it.html#irc_smart_filter_join_part_quit[Guida per lUtente /
=== Come posso filtrare i messaggi visualizzati all'ingresso su un canale IRC?
// TRANSLATION MISSING
With WeeChat ≥ 0.4.1, you can choose which messages are displayed when
joining a channel with the option _irc.look.display_join_message_ (see
`+/help irc.look.display_join_message+` for more info).
You can choose which messages are displayed when joining a channel with the
option _irc.look.display_join_message_ (see `+/help irc.look.display_join_message+`
for more info).
// TRANSLATION MISSING
To hide messages (but keep them in buffer), you can filter them using the tag
@@ -1067,18 +992,14 @@ massimo 25 nick:
/set irc.server_default.away_check_max_nicks 25
----
[NOTE]
Per WeeChat ≤ 0.3.3, le opzioni sono _irc.network.away_check_ e
_irc.network.away_check_max_nicks_.
[[highlight_notification]]
=== Come posso essere avvisato quando qualcuno mi cerca in un canale?
// TRANSLATION MISSING
With WeeChat ≥ 1.0, there is a default trigger "beep" which sends a _BEL_ to
the terminal on a highlight or private message. Thus you can configure your
terminal (or multiplexer like screen/tmux) to run a command or play a sound
when a _BEL_ occurs.
There is a default trigger "beep" which sends a _BEL_ to the terminal on
a highlight or private message. Thus you can configure your terminal
(or multiplexer like screen/tmux) to run a command or play a sound when
a _BEL_ occurs.
// TRANSLATION MISSING
Or you can add a command in "beep" trigger:
@@ -1106,8 +1027,9 @@ Altri script correlati:
[[disable_highlights_for_specific_nicks]]
=== How can I disable highlights for specific nicks?
With WeeChat ≥ 0.3.4 you can use the
link:weechat_user.en.html#max_hotlist_level_nicks[hotlist_max_level_nicks_add ^↗^,window=_blank]
// TRANSLATION MISSING
You can use the
link:weechat_user.it.html#max_hotlist_level_nicks[hotlist_max_level_nicks_add ^↗^,window=_blank]
buffer property to set the max hotlist level for some nicks, per buffer,
or per group of buffers (like IRC servers).
@@ -1143,7 +1065,7 @@ For more examples, see `+/help buffer_autoset+`.
[[irc_target_buffer]]
=== Come si può modificare il buffer destinazione per i comandi sui buffer uniti (come i buffer con i server)?
Il tasto predefinito è kbd:[Ctrl+x] (il comando è: `+/input switch_active_buffer+`).
Il tasto predefinito è kbd:[Ctrl+x] (il comando è: `+/buffer switch+`).
[[plugins_scripts]]
== Plugin / script
@@ -1165,8 +1087,8 @@ Si deve impostare in questo modo:
=== How can I install scripts? Are scripts compatible with other IRC clients?
// TRANSLATION MISSING
With WeeChat ≥ 0.3.9 you can use the command `/script` to install and manage scripts
(see `/help script` for help). For older versions there is weeget.py and script.pl.
You can use the command `/script` to install and manage scripts (see `/help script`
for help).
Gli script non sono compatibili con altri client IRC.
@@ -1182,8 +1104,9 @@ If still not working, try to manually delete the scripts file (in your shell):
$ rm ~/.cache/weechat/script/plugins.xml.gz
----
// TRANSLATION MISSING
[NOTE]
With WeeChat ≤ 3.1, the path should be: _~/.weechat/script/plugins.xml.gz_.
If you are not using the XDG directories, the path could be: _~/.weechat/script/plugins.xml.gz_.
And update scripts again in WeeChat:
@@ -1228,11 +1151,6 @@ You have to reload the spell plugin:
/plugin reload spell
----
// TRANSLATION MISSING
[NOTE]
With WeeChat ≤ 2.4, the "spell" plugin was named "aspell", so the command is:
`/plugin reload aspell`.
[[settings]]
== Impostazioni
File diff suppressed because it is too large Load Diff
+27 -6
View File
@@ -147,10 +147,6 @@ receive a string of type `str` or `bytes` (this list is not exhaustive):
|===
In Python 2, which is now deprecated and should not be used any more, the
strings sent to callbacks are always of type `str`, and may contain invalid
UTF-8 data, in the cases mentioned above.
[[language_perl]]
==== Perl
@@ -214,12 +210,23 @@ Functions are called with `+weechat.xxx(arg1, arg2, ...)+`.
Functions are called with `+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. To overcome this you can use the constant
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.
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].
[[language_guile]]
==== Guile (Scheme)
@@ -603,6 +610,7 @@ Elenco di funzioni nelle API per gli script:
string_has_highlight_regex +
string_mask_to_regex +
string_format_size +
string_parse_size +
string_color_code_size +
string_remove_color +
string_is_command_char +
@@ -1374,7 +1382,7 @@ The result is a hashtable with following keys
[width="100%",cols="3,^2,10,7",options="header"]
|===
| Key | Since WeeChat ^(1)^ | Description | Example
| Key | Since WeeChat ^(1)^ | Description | Example
| tags | 0.4.0
| The tags in message (can be empty).
@@ -1418,6 +1426,16 @@ The result is a hashtable with following keys
| The text (for example user message).
| `+hello!+`
// TRANSLATION MISSING
| paramN | 3.4
| Command parameter (from 1 to N).
| `+#weechat+`
// TRANSLATION MISSING
| num_params | 3.4
| Number of command parameters.
| `+2+`
| pos_command | 1.3
| The index of _command_ in message ("-1" if _command_ was not found).
| `+47+`
@@ -1457,6 +1475,9 @@ dict = weechat.info_get_hashtable(
# "channel": "#weechat",
# "arguments": "#weechat :hello!",
# "text": "hello!",
# "param1": "#weechat",
# "param2": "hello!",
# "num_params": "2",
# "pos_command": "65",
# "pos_arguments": "73",
# "pos_channel": "73",
+274 -109
View File
@@ -131,22 +131,45 @@ WeeChat:
[width="100%",cols="5,^3,.^15",options="header"]
|===
| Pacchetto ^(1)^ | Versione | Caratteristica
// TRANSLATION MISSING
| C compiler (gcc / clang) | | Build.
| cmake | ≥ 3.0 | Compilazione (ancora possibile con autotools, ma si raccomanda CMake).
| Pacchetto ^(1)^ | Versione | Features
// TRANSLATION MISSING
| pkg-config | | Detect installed libraries.
| libncursesw5-dev ^(2)^ | | Interfaccia ncurses.
| libcurl4-gnutls-dev | | Trasferimento URL.
| C compiler (gcc / clang) |
| Build.
| cmake | ≥ 3.0
| Compilazione (ancora possibile con autotools, ma si raccomanda CMake).
// TRANSLATION MISSING
| libgcrypt20-dev | | Secured data, IRC SASL authentication.
| pkg-config |
| Detect installed libraries.
| libncursesw5-dev ^(2)^ |
| Interfaccia ncurses.
| libcurl4-gnutls-dev |
| Trasferimento URL.
// TRANSLATION MISSING
| libgnutls28-dev | ≥ 2.2.0 ^(3)^ | Connessione SSL al server IRC, support of SSL in relay plugin, IRC SASL authentication (ECDSA-NIST256P-CHALLENGE).
| libgcrypt20-dev |
| Secured data, IRC SASL authentication.
// TRANSLATION MISSING
| zlib1g-dev | | Compression of messages (WeeChat -> client) with https://zlib.net/[zlib ^↗^,window=_blank] in relay plugin (weechat protocol), script plugin.
| libgnutls28-dev | ≥ 2.2.0 ^(3)^
| IRC plugin: support of TLS connections, IRC SASL authentication (ECDSA-NIST256P-CHALLENGE). +
Relay plugin: support of TLS connections.
// TRANSLATION MISSING
| libzstd-dev | | Compression of messages (WeeChat -> client) with https://facebook.github.io/zstd/[Zstandard ^↗^,window=_blank] in relay plugin (weechat protocol).
| zlib1g-dev |
| Logger plugin: compression of rotated log files (gzip). +
Relay plugin: compression of messages (WeeChat -> client) with https://zlib.net/[zlib ^↗^,window=_blank] (weechat protocol). +
Script plugin: read of repository index file (gzip).
// TRANSLATION MISSING
| libzstd-dev | ≥ 0.8.1
| Logger plugin: compression of rotated log files. +
Relay plugin: compression of messages (WeeChat -> client) with https://facebook.github.io/zstd/[Zstandard ^↗^,window=_blank] (weechat protocol).
|===
[NOTE]
@@ -167,13 +190,14 @@ WeeChat:
[width="100%",cols="5,^3,.^15",options="header"]
|===
| Pacchetto ^(1)^ | Versione | Caratteristica
// TRANSLATION MISSING
| Pacchetto ^(1)^ | Versione | Features
// TRANSLATION MISSING
| {cpp} compiler (pass:[g++ / clang++]) | | Build and run tests, plugin JavaScript.
| gettext | | Internazionalizzazione (traduzione dei messaggi; la lingua base è l'inglese).
| ca-certificates | | Certificati per le connessioni SSL.
| libaspell-dev / libenchant-dev | | Plugin spell.
| python3-dev ^(2)^ | | Plugin python.
| python3-dev | ≥ 3.0 | Plugin python.
| libperl-dev | | Plugin perl.
| ruby2.7, ruby2.7-dev | ≥ 1.9.1 | Plugin ruby.
| liblua5.4-dev | | Plugin lua.
@@ -198,10 +222,7 @@ WeeChat:
[NOTE]
// TRANSLATION MISSING
^(1)^ Name comes from the Debian GNU/Linux Bullseye distribution, version and
name can be different in other distributions. +
// TRANSLATION MISSING
^(2)^ By default Python 3.x is used. If you enable option `+ENABLE_PYTHON2+` (see
below), only the version 2.7 of Python is recommended.
name can be different in other distributions.
// TRANSLATION MISSING
If you are using a Debian/Ubuntu based distribution, and if you have some
@@ -322,10 +343,6 @@ List of commonly used options:
| ENABLE_PYTHON | `ON`, `OFF` | ON
| Compile <<scripting_plugins,Python plugin>>.
// TRANSLATION MISSING
| ENABLE_PYTHON2 | `ON`, `OFF` | OFF
| Compile <<scripting_plugins,Python plugin>> using Python 2 instead of Python 3.
| ENABLE_RELAY | `ON`, `OFF` | ON
| Compile <<relay,Relay plugin>>.
@@ -808,26 +825,26 @@ The WeeChat directories are:
[width="100%",cols="1m,3",options="header"]
|===
| Path ^(1)^ | Description
| Path ^(1)^ | Description
| ~/.config/weechat/ | WeeChat configuration files: `*.conf`, certificates, etc.
| ~/.local/share/weechat/ | WeeChat data files: logs, scripts, scripts data, xfer files, etc.
|    logs/ | Log files (one file per buffer).
|    python/ | Python scripts.
|       autoload/ | Python scripts auto-loaded on startup ^(2)^.
|       autoload/ | Python scripts auto-loaded on startup ^(2)^.
|    perl/ | Perl scripts.
|       autoload/ | Perl scripts auto-loaded on startup ^(2)^.
|       autoload/ | Perl scripts auto-loaded on startup ^(2)^.
|    ruby/ | Ruby scripts.
|       autoload/ | Ruby scripts auto-loaded on startup ^(2)^.
|       autoload/ | Ruby scripts auto-loaded on startup ^(2)^.
|    lua/ | Lua scripts.
|       autoload/ | Lua scripts auto-loaded on startup ^(2)^.
|       autoload/ | Lua scripts auto-loaded on startup ^(2)^.
|    tcl/ | Tcl scripts.
|       autoload/ | Tcl scripts auto-loaded on startup ^(2)^.
|       autoload/ | Tcl scripts auto-loaded on startup ^(2)^.
|    guile/ | Guile scripts.
|       autoload/ | Guile scripts auto-loaded on startup ^(2)^.
|       autoload/ | Guile scripts auto-loaded on startup ^(2)^.
|    javascript/ | JavaScript scripts.
|       autoload/ | JavaScript scripts auto-loaded on startup ^(2)^.
|       autoload/ | JavaScript scripts auto-loaded on startup ^(2)^.
|    php/ | PHP scripts.
|       autoload/ | PHP scripts auto-loaded on startup ^(2)^.
|       autoload/ | PHP scripts auto-loaded on startup ^(2)^.
| ~/.cache/weechat/ | WeeChat cache files: scripts cache.
| /run/user/1000/weechat/ | WeeChat runtime files: FIFO pipe, Relay UNIX sockets.
|===
@@ -1386,13 +1403,13 @@ Tag usati di frequente (elenco non esaustivo):
| no_log | La riga non viene scritta nel file di log.
| log0 … log9 | Livello di log per la riga (consultare `/help logger`).
// TRANSLATION MISSING
| notify_none | The line must not be added to hotlist. ^(1)^
| notify_none | The line must not be added to hotlist. ^(1)^
// TRANSLATION MISSING
| notify_message | The line is a user message. ^(1)^
| notify_message | The line is a user message. ^(1)^
// TRANSLATION MISSING
| notify_private | The line is a private message. ^(1)^
| notify_private | The line is a private message. ^(1)^
// TRANSLATION MISSING
| notify_highlight | The line is a message with highlight. ^(1)^
| notify_highlight | The line is a message with highlight. ^(1)^
// TRANSLATION MISSING
| self_msg | Self message.
| nick_xxx | Il messaggio viene dal nick "xxx".
@@ -1623,33 +1640,35 @@ They can be changed and new ones can be added with the <<command_weechat_key,/ke
[width="100%",cols="^.^3,.^8,.^5",options="header"]
|===
| Tasti | Descrizione | Comando
| Tasti | Descrizione | Comando
| kbd:[Del] +
kbd:[Ctrl+d] | Elimina il carattere successivo nella riga di comando. | `+/input delete_next_char+`
kbd:[Ctrl+d] | Elimina il carattere successivo nella riga di comando. | `+/input delete_next_char+`
| kbd:[Backspace] +
kbd:[Ctrl+h] | Elimina il carattere precedente nella riga di comando. | `+/input delete_previous_char+`
kbd:[Ctrl+h] | Elimina il carattere precedente nella riga di comando. | `+/input delete_previous_char+`
// TRANSLATION MISSING
| kbd:[Ctrl+k] | Elimina dal cursore fino alla fine della riga di comando (deleted string is copied to the internal clipboard). | `+/input delete_end_of_line+`
| kbd:[Ctrl+t] | Inverti caratteri. | `+/input transpose_chars+`
| kbd:[Ctrl+k] | Elimina dal cursore fino alla fine della riga di comando (deleted string is copied to the internal clipboard). | `+/input delete_end_of_line+`
| kbd:[Ctrl+t] | Inverti caratteri. | `+/input transpose_chars+`
// TRANSLATION MISSING
| kbd:[Ctrl+u] | Elimina dal cursore fino all'inizio della riga di comando (deleted string is copied to the internal clipboard). | `+/input delete_beginning_of_line+`
| kbd:[Ctrl+u] | Elimina dal cursore fino all'inizio della riga di comando (deleted string is copied to the internal clipboard). | `+/input delete_beginning_of_line+`
// TRANSLATION MISSING
| kbd:[Ctrl+w] | Elimina la parola precedente nella riga di comando (deleted string is copied to the internal clipboard). | `+/input delete_previous_word+`
| kbd:[Alt+Backspace] | Elimina la parola precedente nella riga di comando (deleted string is copied to the internal clipboard). | `+/input delete_previous_word+`
// TRANSLATION MISSING
| kbd:[Ctrl+y] | Paste the internal clipboard content. | `+/input clipboard_paste+`
| kbd:[Ctrl+_] | Annulla l'ultima azione sulla riga di comando. | `+/input undo+`
| kbd:[Alt+_] | Ripete l'ultima azione sulla riga di comando. | `+/input redo+`
| kbd:[Tab] | Completa comando o nick (kbd:[Tab] di nuovo: trova prossimo completamento). | `+/input complete_next+`
| kbd:[Shift+Tab] | Senza completamento: effettua un completamento parziale, con completamento in sospeso: completa con il completamento precedente. | `+/input complete_previous+`
| kbd:[Ctrl+w] | Delete previous word of command line until whitespace (deleted string is copied to the internal clipboard). | `+/input delete_previous_word_whitespace+`
// TRANSLATION MISSING
| kbd:[Ctrl+y] | Paste the internal clipboard content. | `+/input clipboard_paste+`
| kbd:[Ctrl+_] | Annulla l'ultima azione sulla riga di comando. | `+/input undo+`
| kbd:[Alt+_] | Ripete l'ultima azione sulla riga di comando. | `+/input redo+`
| kbd:[Tab] | Completa comando o nick (kbd:[Tab] di nuovo: trova prossimo completamento). | `+/input complete_next+`
| kbd:[Shift+Tab] | Senza completamento: effettua un completamento parziale, con completamento in sospeso: completa con il completamento precedente. | `+/input complete_previous+`
| kbd:[Invio] +
kbd:[Ctrl+j] +
kbd:[Ctrl+m] | Esegue comando o invia messaggio (in modalità ricerca: ferma ricerca). | `+/input return+`
kbd:[Ctrl+m] | Esegue comando o invia messaggio (in modalità ricerca: ferma ricerca). | `+/input return+`
// TRANSLATION MISSING
| kbd:[Alt+Enter] | Insert a newline. | `+/input insert \n+`
| kbd:[Alt+Enter] | Insert a newline. | `+/input insert \n+`
// TRANSLATION MISSING
| kbd:[Alt+d] | Elimina la parola successiva nella riga di comando (deleted string is copied to the internal clipboard). | `+/input delete_next_word+`
| kbd:[Alt+k] | Cattura un tasto ed inserisce il suo codice (e il comando associato se il tasto esiste) nella riga di comando. | `+/input grab_key_command+`
| kbd:[Alt+r] | Elimina l'intera riga di comando. | `+/input delete_line+`
| kbd:[Alt+d] | Elimina la parola successiva nella riga di comando (deleted string is copied to the internal clipboard). | `+/input delete_next_word+`
| kbd:[Alt+k] | Cattura un tasto ed inserisce il suo codice (e il comando associato se il tasto esiste) nella riga di comando. | `+/input grab_key_command+`
| kbd:[Alt+r] | Elimina l'intera riga di comando. | `+/input delete_line+`
|===
// TRANSLATION MISSING
@@ -1688,11 +1707,11 @@ They can be changed and new ones can be added with the <<command_weechat_key,/ke
|===
| Tasti | Descrizione | Comando
| kbd:[Ctrl+r] | Cerca del testo nella cronologia del buffer (consultare <<key_bindings_search_context,tasti per il contesto search>>). | `+/input search_text_here+`
| kbd:[Ctrl+s], kbd:[Ctrl+u] | Imposta l'evidenziatore dei messaggi non letti su tutti i buffer. | `+/input set_unread+`
| kbd:[Ctrl+s], kbd:[Ctrl+u] | Imposta l'evidenziatore dei messaggi non letti su tutti i buffer. | `+/allbuf /buffer set unread+`
// TRANSLATION MISSING
| kbd:[Ctrl+x] | Switch current buffer if buffers are merged with same number, for example switch to another IRC server buffer. | `+/input switch_active_buffer+`
| kbd:[Ctrl+x] | Switch current buffer if buffers are merged with same number, for example switch to another IRC server buffer. | `+/buffer switch+`
// TRANSLATION MISSING
| kbd:[Alt+x] | Zoom on merged buffer (kbd:[Alt+x] again: display all merged buffers). | `+/input zoom_merged_buffer+`
| kbd:[Alt+x] | Zoom on merged buffer (kbd:[Alt+x] again: display all merged buffers). | `+/buffer zoom+`
| kbd:[PgUp] | Scorre in alto di una pagina nella cronologia del buffer. | `+/window page_up+`
| kbd:[PgDn] | Scorre di una pagina in basso nella cronologia del buffer. | `+/window page_down+`
| kbd:[Alt+PgUp] | Scorre di qualche riga in alto nella cronologia del buffer. | `+/window scroll_up+`
@@ -1717,9 +1736,9 @@ They can be changed and new ones can be added with the <<command_weechat_key,/ke
| kbd:[Alt+n] | Scorre fino alla notifica successiva. | `+/window scroll_next_highlight+`
| kbd:[Alt+p] | Scorre fino alla notifica precedente. | `+/window scroll_previous_highlight+`
| kbd:[Alt+u] | Scorre fino alla prima riga non letta nel buffer. | `+/window scroll_unread+`
| kbd:[Alt+<] | Passa al buffer precedente nella lista dei buffer visitati. | `+/input jump_previously_visited_buffer+`
| kbd:[Alt+>] | Passa al buffer successivo nella lista dei buffer visitati. | `+/input jump_next_visited_buffer+`
| kbd:[Alt+/] | Passa all'ultimo buffer mostrato (prima dell'ultimo passaggio ad un buffer). | `+/input jump_last_buffer_displayed+`
| kbd:[Alt+<] | Passa al buffer precedente nella lista dei buffer visitati. | `+/buffer jump prev_visited+`
| kbd:[Alt+>] | Passa al buffer successivo nella lista dei buffer visitati. | `+/buffer jump next_visited+`
| kbd:[Alt+/] | Passa all'ultimo buffer mostrato (prima dell'ultimo passaggio ad un buffer). | `+/buffer jump last_displayed+`
|===
// TRANSLATION MISSING
@@ -1779,15 +1798,15 @@ They can be changed and new ones can be added with the <<command_weechat_key,/ke
[width="100%",cols="^.^3,.^8,.^5",options="header"]
|===
| Tasti | Descrizione | Comando
| kbd:[Alt+a] | Passa al buffer successivo con attività (con priorità: highligh, messagge, altro). | `+/input jump_smart+`
| kbd:[Alt+a] | Passa al buffer successivo con attività (con priorità: highligh, messagge, altro). | `+/buffer jump smart+`
// TRANSLATION MISSING
| kbd:[Alt+h], kbd:[Alt+c] | Clear hotlist (activity notification on buffers). | `+/input hotlist_clear+`
| kbd:[Alt+h], kbd:[Alt+c] | Clear hotlist (activity notification on buffers). | `+/hotlist clear+`
// TRANSLATION MISSING
| kbd:[Alt+h], kbd:[Alt+m] | Remove current buffer from hotlist. | `+/input hotlist_remove_buffer+`
| kbd:[Alt+h], kbd:[Alt+m] | Remove current buffer from hotlist. | `+/hotlist remove+`
// TRANSLATION MISSING
| kbd:[Alt+h], kbd:[Alt+r] | Restore latest hotlist removed in the current buffer. | `+/input hotlist_restore_buffer+`
| kbd:[Alt+h], kbd:[Alt+r] | Restore latest hotlist removed in the current buffer. | `+/hotlist restore+`
// TRANSLATION MISSING
| kbd:[Alt+h], kbd:[Alt+Shift+R] | Restore latest hotlist removed in all buffers. | `+/input hotlist_restore_all+`
| kbd:[Alt+h], kbd:[Alt+Shift+R] | Restore latest hotlist removed in all buffers. | `+/hotlist restore -all+`
|===
// TRANSLATION MISSING
@@ -1873,12 +1892,12 @@ These mouse actions are possible only if mouse is enabled with key kbd:[Alt+m]
[width="100%",cols="^.^3,^.^3,^.^3,.^8,.^8",options="header"]
|===
// TRANSLATION MISSING
| Tasto/Wheel ^(1)^ | Azione | Zona | Descrizione | Comando
| Tasto/Wheel ^(1)^ | Azione | Zona | Descrizione | Comando
| ◾◽◽ | - | chat | Passa alla finestra. | `+/window ${_window_number}+`
| ◾◽◽ | sinistra | chat | Passa al buffer precedente. | `+/window ${_window_number};/buffer +1+`
| ◾◽◽ | destra | chat | Passa al buffer successivo. | `+/window ${_window_number};/buffer +1+`
| ◾◽◽ | sinistra (lungo) | chat | Switch to first buffer. | `+/window ${_window_number};/buffer 1+`
| ◾◽◽ | destra (lungo) | chat | Passa all'ultimo buffer. | `+/window ${_window_number};/input jump_last_buffer+`
| ◾◽◽ | destra (lungo) | chat | Passa all'ultimo buffer. | `+/window ${_window_number};/buffer ++`
| kbd:[▲] | - | chat | Scorre di qualche riga in alto nella cronologia del buffer. | `+/window scroll_up -window ${_window_number}+`
| kbd:[▼] | - | chat | Scorre di qualche riga in basso nella cronologia del buffer. | `+/window scroll_down -window ${_window_number}+`
| kbd:[Ctrl+▲] | - | chat | Scroll horizontally to the left. | `+/window scroll_horiz -window ${_window_number} -10%+`
@@ -1946,7 +1965,7 @@ These keys and actions are used on the fset buffer (see <<fset,Fset plugin>>).
// TRANSLATION MISSING
[width="100%",cols="^.^3,^.^2,.^8,.^5",options="header"]
|===
| Key | Action ^(1)^ | Description | Command
| Key | Action ^(1)^ | Description | Command
| kbd:[↑] | | Move one line up. | `+/fset -up+`
| kbd:[↓] | | Move one line down. | `+/fset -down+`
| kbd:[PgUp] | | Move one page up. | `+/window page_up+`
@@ -1996,7 +2015,7 @@ These keys and actions are used on the script buffer (see <<script_manager,scrip
// TRANSLATION MISSING
[width="100%",cols="^.^3,^.^2,.^8,.^5",options="header"]
|===
| Key | Action ^(1)^ | Description | Command
| Key | Action ^(1)^ | Description | Command
| kbd:[↑] | | Move one line up. | `+/script up+`
| kbd:[↓] | | Move one line down. | `+/script down+`
| kbd:[PgUp] | | Move one page up. | `+/window page_up+`
@@ -2156,12 +2175,17 @@ Ad esempio:
Esistono alcuni attributi per i colori. Uno o più attributi vanno aggiunti prima
del nome o del numero del colore:
// TRANSLATION MISSING
* `+%+`: blink
// TRANSLATION MISSING
* `+.+`: "dim" (half bright)
* `+*+` : testo in grassetto
* `+!+` : video inverso
* `+/+` : testo in corsivo
* `+_+` : testo sottolineato
* `+|+` : mantiene attributi: non ripristina grassetto/inverso/sottolineato
al cambio di colore
// TRANSLATION MISSING
* `+|+`: keep attributes: do not reset blink/dim/bold/reverse/italic/underlined
when changing color
Ad esempio se si vuole il proprio nick bianco e sottolineato:
@@ -2393,6 +2417,37 @@ with `+/script install buffer_autoset.py+` and get help with `+/help buffer_auto
[[highlights]]
=== Highlights
// TRANSLATION MISSING
[[highlights_disable]]
==== Disable highlights
You can disable highlights with option
<<option_weechat.look.highlight_disable_regex,weechat.look.highlight_disable_regex>>
(regular expression). +
When a highlight is disabled with this option, the other highlight options are
ignored.
For example to disable any highlight on messages with a word beginning
with "flash" between chevrons:
----
/set weechat.look.highlight_disable_regex "<flash.*>"
----
This can also be set with the buffer property "highlight_disable_regex".
Same example, specific to the current buffer:
----
/buffer set highlight_disable_regex <flash.*>
----
[NOTE]
The buffer property "highlight_disable_regex" is not saved in configuration. +
You can easily save it with the script _buffer_autoset.py_: you can install it
with `+/script install buffer_autoset.py+` and get help with
`+/help buffer_autoset+`.
[[highlights_words]]
==== Add words to highlight
@@ -2405,7 +2460,7 @@ You can add other words to highlight with the option
highlight your nick and "word1", "word2" and all words beginning with "test":
----
/set weechat.look.highlight word1,word2,test*
/set weechat.look.highlight "word1,word2,test*"
----
If you need a more specific rule for the word, you can use regular expressions
@@ -2413,7 +2468,7 @@ with the option <<option_weechat.look.highlight_regex,weechat.look.highlight_reg
for example to highlight words "flashcode", "flashcöde" and "flashy":
----
/set weechat.look.highlight_regex flashc[oö]de|flashy
/set weechat.look.highlight_regex "flashc[oö]de|flashy"
----
The delimiters around words to highlight can be customized with the option
@@ -2595,6 +2650,49 @@ Si avranno i seguenti file:
...
....
// TRANSLATION MISSING
[[logger_rotation_compression]]
==== Rotation and compression
It is possible to define a max size for log files, and when it is reached,
there is automatic rotation of log file.
The rotated log files can be compressed with gzip or
https://facebook.github.io/zstd/[zstd ^↗^,window=_blank].
[NOTE]
As the compression of a file can take some time, it is performed in background.
Example with a max size of 2GB and compression with gzip, using good compression
level (slower than default one):
----
/set logger.file.rotation_compression_type gzip
/set logger.file.rotation_compression_level 80
/set logger.file.rotation_size_max "2g"
----
If you want to use a decimal number, you can use the unit below and multiply
by 1000, for example to set max size to 2.5GB:
----
/set logger.file.rotation_size_max "2500m"
----
With these settings, you'll end with files like these ones (in this example
there is rotation only for the log of #weechat channel):
....
~/.local/share/weechat
└── logs
├── core.weechat.weechatlog
├── irc.server.libera.weechatlog
├── irc.libera.#weechat.weechatlog
├── irc.libera.#weechat.weechatlog.1.gz
├── irc.libera.#weechat.weechatlog.2.gz
└── irc.libera.#weechat.weechatlog.3.gz
....
[[logger_commands]]
==== Comandi
@@ -4180,8 +4278,8 @@ automaticamente da WeeChat quando si risponde alle CTCP
| Codice | Descrizione | Valore/esempio
| $clientinfo | Elenco di CTCP supportate | `+ACTION DCC CLIENTINFO FINGER PING SOURCE TIME USERINFO VERSION+`
| $version | Versione di WeeChat | `+0.4.0-dev+`
| $versiongit | Versione di WeeChat + Git version ^(1)^ | `+0.4.0-dev (git: v0.3.9-104-g7eb5cc4)+`
| $git | Git version ^(1)^ | `+v0.3.9-104-g7eb5cc4+`
| $versiongit | Versione di WeeChat + Git version ^(1)^ | `+0.4.0-dev (git: v0.3.9-104-g7eb5cc4)+`
| $git | Git version ^(1)^ | `+v0.3.9-104-g7eb5cc4+`
| $compilation | Data di compilazione di WeeChat | `+Dec 16 2012+`
| $osinfo | Informazioni sull'OS | `+Linux 2.6.32-5-amd64 / x86_64+`
| $site | Sito di WeeChat | `+https://weechat.org/+`
@@ -4995,7 +5093,7 @@ The arguments depend on the hook used. They are separated by semicolons.
`+*;irc.libera.*+` +
`+*;irc.libera.#weechat+` +
`+formatted;irc.libera.#weechat;irc_notice+`
| link:weechat_plugin_api.en.html#_hook_line[hook_line ^↗^,window=_blank]
| link:weechat_plugin_api.it.html#_hook_line[hook_line ^↗^,window=_blank]
| print
| 1. buffer name +
@@ -5084,8 +5182,106 @@ ${tg_displayed} && (${tg_highlight} || ${tg_msg_pv})
The regular expression is used to change variables in callback hashtable.
The format is: "/regex/replace" or "/regex/replace/var" (where _var_ is a
variable of the hashtable).
Format is one of the following:
----
/string1/string2
/string1/string2/var
s/string1/string2
s/string1/string2/var
y/string1/string2
y/string1/string2/var
----
Fields:
* `s` or `y`: a letter with the command; if missing, default command is `s`
and the first char is then used as the delimiter:
** `s`: regex replacement: first string is a regular expression, second string
is the replacement for every matching string
** `y`: chars translation: first string is a set of characters that are replaced
by the characters in the second string; once evaluated, each string must have
exactly the same number of UTF-8 chars
* `/`: the regex delimiter; the char "/" can be replaced by any char
(one or more identical chars)
* `string1`: the first string (use depends on the command)
* `string2`: the second string (use depends on the command)
* `var`: the hashtable variable to update
Many regular expressions can be separated by a space, for example:
----
s/regex1/replace1/var1 y/abcdef/ABDDEF/var2
----
[[trigger_regex_replace]]
==== Regex replace
For the command `s`, the format is: `s/regex/replace` or `s/regex/replace/var`
(where _var_ is a variable of the hashtable).
As `s` is the default command, it can be omitted, so `/regex/replace` is also
valid (but the first char, which is the delimiter, must not be a letter).
Matching groups can be used in _replace_:
* `+${re:0}+` to `+${re:99}+`: `+${re:0}+` is the whole match, `+${re:1}+` to
`+${re:99}+` are groups captured
* `+${re:+}+`: the last match (with highest number)
* `+${hide:c,${re:N}}+`: match "N" with all chars replaced by "c"
(example: `+${hide:*,${re:2}}+` is the group #2 with all chars replaced by
`+*+`).
Example: use bold for words between `+*+`:
----
s/\*([^ ]+)\*/*${color:bold}${re:1}${color:-bold}*/
----
Example: default trigger _server_pass_ uses this regular expression to hide
password in commands `/server` and `/connect` (chars in passwords are replaced
by `+*+`):
----
s==^(/(server|connect) .*-(sasl_)?password=)([^ ]+)(.*)==${re:1}${hide:*,${re:4}}${re:5}
----
[NOTE]
In this example, the delimiter used is "==" because there is a "/" in the
regular expression.
[[trigger_regex_translate_chars]]
==== Translate chars
For the command `y`, the format is: `y/chars1/chars2` or `y/chars1/chars2/var`
(where _var_ is a variable of the hashtable).
Example: replace "a", "b" and "c" by upper case letter:
----
y/abc/ABC/
----
Example: rotate arrows clockwise:
----
y/←↑→↓/↑→↓←/
----
Example: convert all letters to lower case:
----
y/${chars:upper}/${chars:lower}/
----
Example: shift each letter by one position, preserving case: a→b, b→c … y→z, z→a:
----
y/${chars:a-z}${chars:A-Z}/${chars:b-z}a${chars:B-Z}A/
----
[[trigger_regex_variable]]
==== Variable
If _var_ does not exist in the hashtable, it is created automatically with an
empty value. This allows to create custom temporary variables.
@@ -5095,7 +5291,7 @@ type:
[width="100%",cols="2,3,7",options="header"]
|===
| Hook | Default variable | Update allowed ^(1)^
| Hook | Default variable | Update allowed ^(1)^
| signal | tg_signal_data |
| hsignal | |
| modifier | tg_string | tg_string
@@ -5114,38 +5310,6 @@ type:
^(1)^ All variables can be updated in the trigger, but only these variables
have an effect on the value returned by the trigger and used by WeeChat.
Many regular expressions can be separated by a space, for example:
"/regex1/replace1/var1 /regex2/replace2/var2".
The char "/" can be replaced by any char (one or more identical chars).
Matching groups can be used in "replace":
* `+${re:0}+` to `+${re:99}+`: `+${re:0}+` is the whole match, `+${re:1}+` to
`+${re:99}+` are groups captured
* `+${re:+}+`: the last match (with highest number)
* `+${hide:c,${re:N}}+`: match "N" with all chars replaced by "c"
(example: `+${hide:*,${re:2}}+` is the group #2 with all chars replaced by
`+*+`).
Example: use bold for words between `+*+`:
----
/\*([^ ]+)\*/*${color:bold}${re:1}${color:-bold}*/
----
Example: default trigger _server_pass_ uses this regular expression to hide
password in commands `/server` and `/connect` (chars in passwords are replaced
by `+*+`):
----
==^(/(server|connect) .*-(sasl_)?password=)([^ ]+)(.*)==${re:1}${hide:*,${re:4}}${re:5}
----
[NOTE]
In this example, the delimiter used is "==" because there is a "/" in the
regular expression.
[[trigger_command]]
=== Command
@@ -5186,6 +5350,7 @@ All callbacks set following variables in hashtable:
|===
| Variable | Type | Description
| tg_trigger_name | string | Name of trigger.
| tg_hook_type | string | Hook type: "signal", "command", etc.
|===
[[trigger_data_signal]]
@@ -5311,7 +5476,7 @@ Variables set using tags in message:
| tg_tag_prefix_nick | string | Color of nick in prefix (from tag "prefix_nick_ccc").
| tg_tag_host | string | User name and host, format: username@host (from tag "host_xxx").
| tg_tag_notify | string | Notify level (_none_, _message_, _private_, _highlight_).
| tg_tag_irc_xxx | string | IRC message tag (key "xxx"). ^(1)^
| tg_tag_irc_xxx | string | IRC message tag (key "xxx"). ^(1)^
| tg_notify | string | Notify level, if different from _none_.
| tg_msg_pv | string | "1" for a private message, otherwise "0".
|===
@@ -5353,7 +5518,7 @@ Variables set using tags in message:
| tg_tag_prefix_nick | string | Color of nick in prefix (from tag "prefix_nick_ccc").
| tg_tag_host | string | User name and host, format: username@host (from tag "host_xxx").
| tg_tag_notify | string | Notify level (_none_, _message_, _private_, _highlight_).
| tg_tag_irc_xxx | string | IRC message tag (key "xxx"). ^(1)^
| tg_tag_irc_xxx | string | IRC message tag (key "xxx"). ^(1)^
| tg_notify | string | Notify level, if different from _none_.
| tg_msg_pv | string | "1" for a private message, otherwise "0".
|===
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2023 Sébastien Helleu <flashcode@flashtux.org>
#
# This file is part of WeeChat, the extensible chat client.
#
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2023 Sébastien Helleu <flashcode@flashtux.org>
#
# This file is part of WeeChat, the extensible chat client.
#
@@ -582,6 +582,7 @@ _title_   (string) +
_own_lines_   (pointer, hdata: "lines") +
_mixed_lines_   (pointer, hdata: "lines") +
_lines_   (pointer, hdata: "lines") +
_next_line_id_   (integer) +
_time_for_each_line_   (integer) +
_chat_refresh_needed_   (integer) +
_nicklist_   (integer) +
@@ -631,6 +632,8 @@ _text_search_input_   (string) +
_highlight_words_   (string) +
_highlight_regex_   (string) +
_highlight_regex_compiled_   (pointer) +
_highlight_disable_regex_   (string) +
_highlight_disable_regex_compiled_   (pointer) +
_highlight_tags_restrict_   (string) +
_highlight_tags_restrict_count_   (integer) +
_highlight_tags_restrict_array_   (pointer, array_size: "highlight_tags_restrict_count") +
@@ -921,6 +924,7 @@ _next_line_   (pointer, hdata: "line") +
| 1 行データ構造
| -
| _buffer_   (pointer, hdata: "buffer") +
_id_   (integer) +
_y_   (integer) +
_date_   (time) +
_date_printed_   (time) +
+2 -2
View File
@@ -60,8 +60,6 @@
| php | php_version | 使用中のインタプリタのバージョン | -
| python | python2_bin | path to Python 2.x interpreter (*deprecated* since version 2.6, scripts must use Python 3 only) | -
| python | python_eval | ソースコードの評価 | 実行するソースコード
| python | python_interpreter | 使用中のインタプリタの名前 | -
@@ -128,6 +126,8 @@
| weechat | uptime | WeeChat 連続稼働時間 (書式: "days:hh:mm:ss") | "days" (日数) または "seconds" (秒数) (任意)
| weechat | uptime_current | WeeChat uptime for the current process only (upgrades with /upgrade command are ignored) (format: "days:hh:mm:ss") | "days" (日数) または "seconds" (秒数) (任意)
| weechat | version | WeeChat のバージョン | -
| weechat | version_git | WeeChat の git バージョン (開発バージョンではコマンド "git describe" の出力、安定版リリースでは空文字が出力されます) | -

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