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

Compare commits

..

150 Commits

Author SHA1 Message Date
Sébastien Helleu 7d5dc53cd9 Version 2.8 2020-03-29 09:39:36 +02:00
Sébastien Helleu e086bc44f5 core: add version 2.7.1 in weechat.spec 2020-03-29 09:30:35 +02:00
Sébastien Helleu 8738196b68 tests: add tests on remaining IRC protocol functions and callbacks 2020-03-28 16:06:45 +01:00
Sébastien Helleu f072eb8d78 tests: add tests on function irc_protocol_get_message_tags 2020-03-28 13:40:39 +01:00
Sébastien Helleu 03ffd396a4 irc: move functions irc_protocol_get_message_tags and irc_protocol_parse_time before protocol callbacks 2020-03-28 13:39:48 +01:00
Sébastien Helleu 2efad93220 irc: remove empty lines 2020-03-28 10:36:10 +01:00
Sébastien Helleu 349251feb1 irc: fix typo in description of message 001 2020-03-27 22:51:15 +01:00
Sébastien Helleu 0834286843 irc: add examples of NOTICE and PRIVMSG messages to channel ops 2020-03-27 22:50:52 +01:00
Sébastien Helleu 4245641767 tests: add tests on function irc_protocol_cb_ping 2020-03-26 23:05:34 +01:00
Nils Görs 359253f610 doc: update German documentation 2020-03-26 11:09:12 +01:00
Sébastien Helleu b82a887f2a tests: add tests on function irc_protocol_cb_part 2020-03-25 20:48:54 +01:00
Sébastien Helleu cecbad1803 tests: add test with no arguments for AWAY command 2020-03-24 16:58:11 +01:00
Sébastien Helleu 9fac350b3f tests: add tests on IRC protocol functions with not enough arguments 2020-03-24 16:56:57 +01:00
Sébastien Helleu fa931b46eb core: fix compiler warnings on Cygwin 2020-03-23 07:23:08 +01:00
Sébastien Helleu e6723bb5a8 doc: add question about configuration for a small terminal size in FAQ 2020-03-22 19:23:37 +01:00
Sébastien Helleu dcebdd6a55 doc: fix font size in literal blocks 2020-03-22 19:10:25 +01:00
Sébastien Helleu 186a465575 doc: update German auto-generated file 2020-03-22 14:25:44 +01:00
Nils Görs c6c485df43 core: update German translations 2020-03-22 14:09:43 +01:00
Sébastien Helleu d8f57628b7 Version 2.8-rc1 2020-03-22 11:10:15 +01:00
Sébastien Helleu d2f3e98f37 core: fix C++ compiler flags with autotools 2020-03-22 11:09:27 +01:00
Sébastien Helleu 8a9b6c1554 php: add detection of PHP 7.4 in autotools
Support of PHP 7.4 was added for CMake (in commit
72b107a970) but was still missing in autotools.
2020-03-22 10:58:09 +01:00
Sébastien Helleu 5ca64fc389 ruby: fix compiler warning on third argument of function weechat_ruby_hash_foreach_cb 2020-03-22 10:29:53 +01:00
Sébastien Helleu c14d5ba004 irc: use larger buffer for message in function irc_message_split_authenticate, just in case 2020-03-21 14:31:53 +01:00
Sébastien Helleu 4480c7b7cc irc: split AUTHENTICATE message in 400-byte chunks (closes #1459) 2020-03-21 14:28:53 +01:00
Sébastien Helleu bf42a1ebc5 irc: replace "char *" by "const char *" in arguments of split functions 2020-03-21 14:27:47 +01:00
Sébastien Helleu c29b45a0f2 api: add info "auto_connect" (closes #1453) 2020-03-20 20:42:05 +01:00
Sébastien Helleu c05cb595dc doc: add note about call to "free" on result of info_get (plugin API reference) 2020-03-20 07:08:14 +01:00
Sébastien Helleu 5c1dfcbe5b tests: add tests on functions irc_protocol_cb_mode and irc_protocol_cb_nick 2020-03-19 23:01:59 +01:00
Sébastien Helleu b45d461c3a tests: add tests on functions irc_protocol_cb_kick and irc_protocol_cb_kill 2020-03-18 22:27:15 +01:00
Sébastien Helleu a709dd05a6 tests: add tests on function irc_protocol_cb_join 2020-03-17 20:54:07 +01:00
Sébastien Helleu 332a4adc26 tests: add tests on function irc_protocol_cb_chghost 2020-03-16 20:49:50 +01:00
Sébastien Helleu f33cfc89a0 doc: update German auto-generated file 2020-03-15 07:20:57 +01:00
Sébastien Helleu e3ffe8c785 irc: set channel modes to NULL instead of "+" when no modes are remaining 2020-03-15 07:19:16 +01:00
Sébastien Helleu 851d1fb00a tests: rename function run_cmd_server to server_recv 2020-03-15 07:19:16 +01:00
Sébastien Helleu 4033c55fa2 irc: add another example of MODE message 2020-03-15 07:19:16 +01:00
Sébastien Helleu 00913de02f irc: remove unused variable "modes" from function irc_bar_item_buffer_name_content 2020-03-15 07:19:16 +01:00
Nils Görs 042c8fb02f core: update German translations 2020-03-14 21:20:12 +01:00
Sébastien Helleu aa3941fee2 tests: always run callback in calls to function config_file_option_set 2020-03-13 23:12:22 +01:00
Sébastien Helleu ba70173a2e irc: fix variable name in function irc_server_connect when GnuTLS is disabled 2020-03-12 07:35:04 +01:00
Sébastien Helleu 9545d37ab0 tests: add tests on IRC protocol functions and some callbacks
Functions tested:

* irc_protocol_is_numeric_command
* irc_protocol_log_level_for_command
* irc_protocol_tags
* irc_protocol_nick_address
* irc_protocol_cb_account
* irc_protocol_cb_away
* irc_protocol_cb_001
* irc_protocol_cb_005
2020-03-11 20:53:49 +01:00
Sébastien Helleu 5f94636b91 irc: rename argument in function irc_protocol_is_numeric_command 2020-03-10 19:19:38 +01:00
Sébastien Helleu 2fe27584ff irc: return 0 in function irc_protocol_is_numeric_command if the command is NULL or empty 2020-03-10 19:15:59 +01:00
Sébastien Helleu 8a5046f0a1 irc: add support of fake servers (no I/O, for testing purposes) 2020-03-09 21:09:55 +01:00
Sébastien Helleu 3590302183 irc: copy temporary server flag in command /server copy 2020-03-08 13:56:30 +01:00
Sébastien Helleu dcd10657b1 tests: add tests on functions weecrypto_totp_generate and weecrypto_totp_validate 2020-03-05 22:21:48 +01:00
Sébastien Helleu dabf32f213 tests: add tests on functions weecrypto_hash and weecrypto_hash_pbkdf2 with NULL hash 2020-03-04 08:24:46 +01:00
Sébastien Helleu c48815673d core: update ChangeLog (issue #1455) 2020-03-03 21:51:03 +01:00
Sébastien Helleu 91fe8da039 core: add detection of Ruby 2.7 in autotools 2020-03-03 21:50:17 +01:00
Lucas Kanashiro 60e86f929d core: add detection for Ruby 2.7 2020-03-03 21:49:32 +01:00
Sébastien Helleu 4afaacd34e tests: add tests on function weecrypto_get_hash_algo 2020-03-03 21:29:44 +01:00
Sébastien Helleu 7af8e6c652 core: add minimum libgcypt version 1.7.0 for SHA3 algorithms in comment of function weecrypto_hash 2020-03-02 22:57:44 +01:00
Sébastien Helleu 8ffe9be8a7 core: fix ChangeLog entry 2020-03-02 22:57:44 +01:00
Sébastien Helleu 3604abba7d core: fix copyright date in wee-crypto sources 2020-03-02 22:57:39 +01:00
Sébastien Helleu 2d7829b2d5 core: require libgcrypt >= 1.7.0 for SHA3 algorithms 2020-03-02 21:49:30 +01:00
Sébastien Helleu c6757f642f tests: fix generation of test scripts with Python 3.8 2020-03-02 21:39:27 +01:00
Sébastien Helleu dc7f1e81fb core: add CVE ids in ChangeLog 2020-03-02 20:42:26 +01:00
Sébastien Helleu 2d2b49bfaa relay: accept hash of password in init command with option "password_hash"
Allowed algorithms are:

* PBKDF2 (SHA256 or SHA512, salt, iterations)
* SHA256
* SHA512
2020-03-02 00:46:10 +01:00
Sébastien Helleu 1882686f8a script: rename variable length_hash to hash_size 2020-03-01 23:14:55 +01:00
Sébastien Helleu 0271eacbe5 relay: rename variable length_hash to hash_size 2020-03-01 23:14:55 +01:00
Sébastien Helleu 3157d1f06e api: add function crypto_hash_pbkdf2 2020-03-01 23:14:55 +01:00
Sébastien Helleu 9a6a27ef58 core: move crypto functions to wee-crypto.c, rename API function string_hash to crypto_hash 2020-03-01 21:24:27 +01:00
Sébastien Helleu c4ef3d6c2e core: merge functions string_hash_binary and string_hash into a single function string_hash 2020-03-01 16:41:28 +01:00
Sébastien Helleu 1ae2591458 core: add function secure_hash_pbkdf2 2020-03-01 14:26:24 +01:00
Sébastien Helleu 3472793d24 script: call function string_hash in script_repo_sha512sum_file to compute SHA512 hash
This removes dependency on libgcrypt in script plugin.
2020-03-01 09:08:48 +01:00
Sébastien Helleu bb363ab27f relay: call function string_hash_binary in relay_websocket_build_handshake to compute SHA1 hash
This removes dependency on libgcrypt in relay plugin.
2020-03-01 09:03:49 +01:00
Sébastien Helleu 7449bc8827 core: add support of CRC32 algorithm in hash functions 2020-02-29 21:12:13 +01:00
Sébastien Helleu 410a5b341f api: add functions string_hash_binary and string_hash 2020-02-29 21:02:42 +01:00
Sébastien Helleu 7e808e2ef7 core: call function secure_hash_binary in secure_derive_key to compute SHA512 hash 2020-02-29 15:46:25 +01:00
Sébastien Helleu 600c43dcf5 tests: add tests on function secure_derive_key 2020-02-29 15:46:25 +01:00
Sébastien Helleu 45fd04ee72 core: return 0 in case of invalid parameters received in function secure_derive_key 2020-02-29 15:46:25 +01:00
Sébastien Helleu e2135fc3eb core: add functions to compute binary/hex hash of data 2020-02-29 15:46:25 +01:00
Sébastien Helleu 91701cbdb4 php: fix crash when loading script with PHP 7.4 (closes #1452) 2020-02-28 21:28:29 +01:00
Nils Görs 3f67cfecc8 django.po: Update German translations 2020-02-26 15:38:23 +01:00
Sébastien Helleu 5655778afa core: update stable version in version.sh 2020-02-21 16:09:22 +01:00
Sébastien Helleu ff4e9d6e69 core: add version 2.7.1 in release notes 2020-02-20 22:17:05 +01:00
Sébastien Helleu a4fcd5570f core: add version 2.7.1 in ChangeLog 2020-02-20 22:14:28 +01:00
Sébastien Helleu 7352ddfcf0 build: ignore file usr/share/applications/weechat.desktop in Cygwin build 2020-02-20 22:09:12 +01:00
Sébastien Helleu 6daa09b0b8 script: fix memory leak in read of script repository file if it has invalid content 2020-02-18 21:04:21 +01:00
Sébastien Helleu c6e9e18aaa script: fix unexpected display of scripts list in buffer with command /script list -i 2020-02-16 08:04:58 +01:00
Sébastien Helleu 3fc0f1957e script: remove dead assignment of variable length in function script_action_list_input 2020-02-16 07:59:02 +01:00
Sébastien Helleu 4cb0e2dc55 doc: update auto-generated files 2020-02-15 07:39:41 +01:00
Nils Görs 774345cea9 core: update German translations 2020-02-14 18:54:36 +01:00
Sébastien Helleu 09aa6dbf06 core: add CVE-2020-8955 in ChangeLog 2020-02-14 07:41:56 +01:00
Sébastien Helleu 230f648584 irc: use irc_server_prefix_chars_default if server->prefix_chars is NULL 2020-02-10 21:18:47 +01:00
Sébastien Helleu 9904cb6d2e irc: fix crash when receiving a malformed message 352 (who)
Thanks to Stuart Nevans Locke for reporting the issue.
2020-02-10 07:37:11 +01:00
Sébastien Helleu 40ccacb433 irc: fix crash when a new message 005 is received with longer nick prefixes
Thanks to Stuart Nevans Locke for reporting the issue.
2020-02-09 20:04:45 +01:00
Sébastien Helleu 5edbeea338 core: fix unlikely memory leak in completion 2020-02-09 06:56:53 +01:00
Sébastien Helleu 7fde75797c doc: remove reference to obsolete script shell.py in FAQ 2020-02-08 21:59:14 +01:00
Sébastien Helleu 40e8e928cd doc: add question about timezone in FAQ 2020-02-08 21:59:14 +01:00
Sébastien Helleu 6f4f147d8e irc: fix crash when receiving a malformed message 324 (channel mode)
Thanks to Stuart Nevans Locke for reporting the issue.
2020-02-08 20:24:50 +01:00
Sébastien Helleu 39f2591cf5 tests: add tests on ANSI default text/background colors 2020-02-08 10:29:07 +01:00
Sébastien Helleu 2769989751 irc: remove nested switches in function irc_color_decode_ansi_cb 2020-02-07 21:29:46 +01:00
Sébastien Helleu b8d7af54e3 doc: add keys and actions on fset and script buffers in user's guide 2020-02-06 21:17:54 +01:00
Sébastien Helleu 60f2734184 irc: use dynamic string in function irc_color_encode 2020-02-05 21:51:11 +01:00
Sébastien Helleu 5b902eb804 irc: replace realloc by dynamic string in function irc_color_decode 2020-02-05 21:50:39 +01:00
Sébastien Helleu 6f69d98ee9 core: fix typo in French translation of /help fset 2020-02-04 22:04:18 +01:00
Sébastien Helleu 84648a5cd8 tests: add eval tests with debug enabled 2020-02-04 20:56:59 +01:00
Sébastien Helleu 15f7d7aeb1 core: update ChangeLog 2020-02-03 21:41:25 +01:00
Sébastien Helleu f76a5a8b57 tests: add unit tests on function util_file_get_content 2020-02-03 21:39:06 +01:00
Sébastien Helleu 3edae5af86 tests: add unit tests on function util_get_time_diff 2020-02-02 13:58:35 +01:00
Sébastien Helleu 27266ccd02 core: rename function util_get_uptime to util_get_time_diff
The two times must be sent as parameters, which makes the function not specific
to uptime. It is now easier to test the function in unit tests.
2020-02-02 13:57:39 +01:00
Sébastien Helleu 4e2718d234 irc: add nick changes in the hotlist (except self nick change) 2020-02-01 23:02:55 +01:00
Sébastien Helleu 95e34c71d6 core: update ChangeLog (issue #1442) 2020-01-30 22:07:32 +01:00
orbea 6d2d304136 Fix the build with guile-3.0.0.
v2: Update configure.ac too.

Signed-off-by: orbea <orbea@riseup.net>
2020-01-30 22:05:43 +01:00
Sébastien Helleu d2dda92daf tests: add eval tests with hdata variables of different types 2020-01-27 23:04:24 +01:00
Sébastien Helleu b7c09ed084 tests: add eval tests on conditions with text after closing parenthesis 2020-01-27 23:04:24 +01:00
Sébastien Helleu a6a6fb74c2 tests: add eval tests on conditions with leading and trailing spaces (ignored) 2020-01-27 23:04:24 +01:00
Sébastien Helleu 2839dc7ddf tests: add eval tests on "regex not matching" comparison 2020-01-27 23:04:24 +01:00
Sébastien Helleu 0975c407e0 tests: add eval tests with hdata list name and pointer 2020-01-27 23:04:24 +01:00
Sébastien Helleu 201b4da169 tests: add eval tests with buffer local variables 2020-01-27 23:04:24 +01:00
Sébastien Helleu 8107b5d162 tests: add eval tests on options with different types 2020-01-27 23:04:24 +01:00
Sébastien Helleu dd13393896 tests: add eval test with empty value for "date:" 2020-01-27 23:04:24 +01:00
Sébastien Helleu 70f0c81a2c tests: add eval tests with invalid values for "modifier:" 2020-01-27 23:04:24 +01:00
Sébastien Helleu 6d9a247df3 tests: add eval tests with invalid values for "repeat:" 2020-01-27 23:04:24 +01:00
Sébastien Helleu 1914ceb74f tests: add eval tests with invalid values for "cut:" and "cutscr:" 2020-01-27 23:04:22 +01:00
Sébastien Helleu 34bb43379a tests: add eval test with invalid value for "hide:" 2020-01-27 21:21:01 +01:00
Sébastien Helleu 070e86bd6e tests: add eval test with invalid regex group 2020-01-27 21:17:17 +01:00
Sébastien Helleu 1d77b9742e tests: add evaluation tests with ternary operator and escape of prefix ("$") 2020-01-27 21:09:54 +01:00
Sébastien Helleu d91d1ebb8c tests: add other calc tests with multiple operators
The order of operators are different from the initial test, so this increases
the code coverage in wee-calc.c.
2020-01-27 20:54:23 +01:00
Sébastien Helleu f980820395 logger: fix crash when disabling logging on a buffer (closes #1444)
Crash happens if the log file was deleted before disabling logging and if the
option logger.file.info_lines is on.
2020-01-25 13:42:12 +01:00
Sébastien Helleu 4d67af399d core: flush stdout/stderr before forking in hook_process function (closes #1441) 2020-01-20 21:15:15 +01:00
Sébastien Helleu 7cd566e8d3 core: reset variable "old_full_name" after send of signal "buffer_renamed" (issue #1428) 2020-01-12 17:09:47 +01:00
Sébastien Helleu b79cd6d546 relay: update buffers synchronization when buffers are renamed (closes #1428) 2020-01-12 17:03:16 +01:00
Sébastien Helleu 1fac6fd404 core: add variable "old_full_name" in buffer, set before the buffer is renamed (issue #1428) 2020-01-12 16:57:08 +01:00
Sébastien Helleu 4f9c4fecd3 irc: case-insensitive comparison on incoming CTCP command, force upper case on CTCP replies (closes #1439) 2020-01-11 11:02:41 +01:00
Sébastien Helleu 4f42f407c1 doc: remove space in example of hsignal irc_redirect_command (plugin API reference) 2020-01-05 09:15:40 +01:00
Sébastien Helleu 9ac4639c8c xfer: send signal "xfer_ended" after the received file has been renamed (closes #1438) 2020-01-04 11:19:47 +01:00
Sébastien Helleu feb6258910 core: update copyright dates 2020-01-04 10:41:26 +01:00
Sébastien Helleu 481da803cb buflist: add pointer "window" in bar item evaluation 2019-12-26 22:44:19 +01:00
Sébastien Helleu e11075e2cd doc: update German auto-generated file 2019-12-23 22:14:33 +01:00
Nils Görs cc7ac1284d core: update German translations 2019-12-23 20:00:02 +01:00
Sébastien Helleu 330149b9b6 relay: reject client with weechat protocol if password or totp is received in init command but not set in WeeChat (closes #1435) 2019-12-21 10:47:35 +01:00
Sébastien Helleu e612e63140 core: fix evaluation of condition with nested "if" (closes #1434) 2019-12-18 21:22:36 +01:00
Sébastien Helleu a13099aa63 core: add debug option "-d" in command /eval (issue #1434) 2019-12-18 21:18:59 +01:00
Sébastien Helleu 7e833ee60b core: add missing variable "proxy" in function hook_connect_print_log 2019-12-18 07:55:39 +01:00
Sébastien Helleu 72da71880c doc: update German auto-generated files 2019-12-15 21:22:51 +01:00
Nils Görs b341432887 core: update German translations 2019-12-15 21:17:33 +01:00
Sébastien Helleu bb62485aa9 irc: fix memory leak when the channel topic is changed 2019-12-15 07:27:45 +01:00
Sébastien Helleu 72b107a970 php: add detection of PHP 7.4 2019-12-14 11:25:07 +01:00
Sébastien Helleu 019bc79b0f core: update ChangeLog (issue #1433) 2019-12-13 21:34:01 +01:00
Sébastien Helleu 517bdaa4a8 core: update translations (issue #1433) 2019-12-13 21:33:48 +01:00
Sébastien Helleu 00485af7c9 core: add contributor in AUTHORS.adoc (issue #1433) 2019-12-13 21:31:30 +01:00
Matthew Horan f966329862 api: add info "weechat_headless" 2019-12-13 21:30:54 +01:00
Sébastien Helleu 5ae0485404 core: fix version in ChangeLog 2019-12-13 21:27:02 +01:00
Sébastien Helleu 60fa5a7555 core: update ChangeLog (issue #1431) 2019-12-13 21:22:45 +01:00
Sébastien Helleu 8d107912d6 core: update translations 2019-12-13 21:21:02 +01:00
Simmo Saan c487965e8b irc: add GnuTLS >= 3.1.0 requirement to ssl_password option help (issue #115) 2019-12-13 21:18:22 +01:00
Simmo Saan 139a7053e4 irc: fix compilation with GnuTLS < 3.1.0 (issue #115)
Due to this ssl_password will be partially unused with GnuTLS < 3.1.0.
In that case an encrypted SSL client cert import will simply fail.
2019-12-13 21:18:22 +01:00
Sébastien Helleu 9c227de6bf core: add directory /usr/share/applications/ in cygwin package "weechat" 2019-12-08 15:56:23 +01:00
Sébastien Helleu da28c392ea Version 2.8-dev 2019-12-08 10:18:33 +01:00
644 changed files with 9220 additions and 2417 deletions
+1
View File
@@ -77,6 +77,7 @@ Alphabetically:
* Marco Paolone
* Mateusz Poszwa
* Matt Robinson
* Matthew Horan
* Matthew Martin
* Max Anton Teufel
* Maxim Baz
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2019 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2020 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2007-2008 Julien Louis <ptitlouis@sysif.net>
# Copyright (C) 2008-2009 Emmanuel Bouthenot <kolter@openics.org>
#
+49 -2
View File
@@ -15,13 +15,60 @@ https://weechat.org/files/releasenotes/ReleaseNotes-devel.html[release notes]
(file _ReleaseNotes.adoc_ in sources).
[[v2.8]]
== Version 2.8 (2020-03-29)
New features::
* core: add variable "old_full_name" in buffer, set during buffer renaming (issue #1428)
* core: add debug option "-d" in command /eval (issue #1434)
* api: add functions crypto_hash and crypto_hash_pbkdf2
* api: add info "auto_connect" (issue #1453)
* api: add info "weechat_headless" (issue #1433)
* buflist: add pointer "window" in bar item evaluation
* irc: add support of fake servers (no I/O, for testing purposes)
* relay: accept hash of password in init command of weechat protocol with option "password_hash" (PBKDF2, SHA256, SHA512)
* relay: reject client with weechat protocol if password or totp is received in init command but not set in WeeChat (issue #1435)
Bug fixes::
* core: fix memory leak in completion
* core: flush stdout/stderr before forking in hook_process function (issue #1441)
* core: fix evaluation of condition with nested "if" (issue #1434)
* irc: split AUTHENTICATE message in 400-byte chunks (issue #1459)
* irc: copy temporary server flag in command /server copy
* irc: add nick changes in the hotlist (except self nick change)
* irc: case-insensitive comparison on incoming CTCP command, force upper case on CTCP replies (issue #1439)
* irc: fix memory leak when the channel topic is changed
* logger: fix crash when logging is disabled on a buffer and the log file was deleted in the meanwhile, when option logger.file.info_lines is on (issue #1444)
* php: fix crash when loading script with PHP 7.4 (issue #1452)
* relay: update buffers synchronization when buffers are renamed (issue #1428)
* script: fix memory leak in read of script repository file if it has invalid content
* script: fix unexpected display of scripts list in buffer with command /script list -i
* xfer: send signal "xfer_ended" after the received file has been renamed (issue #1438)
Tests::
* scripts: fix generation of test scripts with Python 3.8
* unit: add tests on IRC protocol functions and callbacks
* unit: add tests on function secure_derive_key
* unit: add tests on functions util_get_time_diff and util_file_get_content
Build::
* core: fix Cygwin build
* guile: add detection of Guile 3.0.0 (issue #1442)
* irc: fix build with GnuTLS < 3.1.0 (issue #1431)
* php: add detection of PHP 7.4
* ruby: add detection of Ruby 2.7 (issue #1455)
[[v2.7.1]]
== Version 2.7.1 (2020-02-20)
Bug fixes::
* irc: fix crash when receiving a malformed message 352 (who)
* irc: fix crash when a new message 005 is received with longer nick prefixes
* irc: fix crash when a new message 005 is received with longer nick prefixes (CVE-2020-9760)
* irc: fix crash when receiving a malformed message 352 (who) (CVE-2020-9759)
* irc: fix crash when receiving a malformed message 324 (channel mode) (CVE-2020-8955)
[[v2.7]]
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2019 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2020 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2005 Julien Louis <ptitlouis@sysif.net>
# Copyright (C) 2006-2009 Emmanuel Bouthenot <kolter@openics.org>
#
+1 -1
View File
@@ -114,7 +114,7 @@ $ ctest -V
== Copyright
Copyright (C) 2003-2019 Sébastien Helleu <flashcode@flashtux.org>
Copyright (C) 2003-2020 Sébastien Helleu <flashcode@flashtux.org>
This file is part of WeeChat, the extensible chat client.
+34
View File
@@ -17,6 +17,40 @@ https://weechat.org/files/changelog/ChangeLog-devel.html[ChangeLog]
(file _ChangeLog.adoc_ in sources).
[[v2.8]]
== Version 2.8 (2020-03-29)
[[v2.8_auto_connection_to_servers]]
=== Auto connection to servers
The command line option `-a` (or `--no-connect`), which can also be used in the
`/plugin` command, is now used to set a new info called `auto_connect`
(see the function "info_get" in the Plugin API reference).
Therefore, the option is not sent any more to the function `weechat_plugin_init`
of plugins. +
The plugins using this option must now get the info `auto_connect` and check
if the value is "1" (a string with just `1`).
The purpose of this change is to allow scripts as well to check this info on
startup, and connect or not, depending on the value (see issue #1453).
To be compatible with WeeChat ≤ 2.7, the script can do this, for example
in Python:
[source,python]
----
auto_connect = weechat.info_get("auto_connect", "") != "0"
----
The variable `auto_connect` will be set like that, depending on the WeeChat
version:
* WeeChat ≤ 2.7: always `True` because the info is an empty string (it does not
exist), which is different from "0",
* WeeChat ≥ 2.8: `True` by default, and `False` if `-a` or `--no-connect` is
given by the user (either on command line or when loading the plugin).
[[v2.7.1]]
== Version 2.7.1 (2020-02-20)
+1 -1
View File
@@ -1,6 +1,6 @@
#!/bin/sh
#
# Copyright (C) 2003-2019 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2020 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2005 Julien Louis <ptitlouis@sysif.net>
# Copyright (C) 2005-2006 Emmanuel Bouthenot <kolter@openics.org>
#
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2019 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2020 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-2019 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2020 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-2019 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2014-2020 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-2019 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2020 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-2019 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2020 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-2019 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2020 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2009 Emmanuel Bouthenot <kolter@openics.org>
#
# This file is part of WeeChat, the extensible chat client.
+2 -2
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2011-2019 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2011-2020 Sébastien Helleu <flashcode@flashtux.org>
#
# This file is part of WeeChat, the extensible chat client.
#
@@ -33,7 +33,7 @@ endif()
find_package(PkgConfig)
if(PKG_CONFIG_FOUND)
pkg_search_module(GUILE guile-2.2 guile-2.0)
pkg_search_module(GUILE guile-3.0 guile-2.2 guile-2.0)
if(GUILE_FOUND)
# check if variable "scm_install_gmp_memory_functions" exists
set(CMAKE_REQUIRED_INCLUDES ${GUILE_INCLUDE_DIRS})
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2019 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2020 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-2019 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2020 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-2019 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2020 Sébastien Helleu <flashcode@flashtux.org>
#
# This file is part of WeeChat, the extensible chat client.
#
+4 -2
View File
@@ -1,5 +1,6 @@
#
# Copyright (C) 2003-2017 Adam Saponara <as@php.net>
# Copyright (C) 2017 Adam Saponara <as@php.net>
# Copyright (C) 2017-2020 Sébastien Helleu <flashcode@flashtux.org>
#
# This file is part of WeeChat, the extensible chat client.
#
@@ -28,6 +29,7 @@ endif()
if(NOT PHP_FOUND)
find_program(PHP_CONFIG_EXECUTABLE NAMES
php-config7.4 php-config74
php-config7.3 php-config73
php-config7.2 php-config72
php-config7.1 php-config71
@@ -41,7 +43,7 @@ if(NOT PHP_FOUND)
execute_process(COMMAND ${PHP_CONFIG_EXECUTABLE} --version OUTPUT_VARIABLE PHP_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE)
if(${PHP_VERSION} MATCHES "^7")
find_library(PHP_LIB
NAMES php7.3 php7.2 php7.1 php7.0 php7
NAMES php7.4 php7.3 php7.2 php7.1 php7.0 php7
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-2019 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2020 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-2019 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2020 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2009 Julien Louis <ptitlouis@sysif.net>
#
# This file is part of WeeChat, the extensible chat client.
+3 -3
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2019 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2020 Sébastien Helleu <flashcode@flashtux.org>
#
# This file is part of WeeChat, the extensible chat client.
#
@@ -33,7 +33,7 @@ endif()
find_package(PkgConfig)
if(PKG_CONFIG_FOUND)
pkg_search_module(RUBY ruby-2.6 ruby-2.5 ruby-2.4 ruby-2.3 ruby-2.2 ruby-2.1 ruby-2.0 ruby-1.9)
pkg_search_module(RUBY 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)
endif()
if(RUBY_FOUND)
@@ -41,7 +41,7 @@ if(RUBY_FOUND)
mark_as_advanced(RUBY_LIB)
else()
find_program(RUBY_EXECUTABLE
NAMES ruby2.6.0 ruby260 ruby2.6 ruby2.5.0 ruby250 ruby2.5 ruby2.4.0 ruby240 ruby2.4 ruby2.3.0 ruby230 ruby2.3 ruby23 ruby2.2.3 ruby223 ruby2.2.2 ruby222 ruby2.2.1 ruby221 ruby2.2.0 ruby220 ruby2.2 ruby22 ruby2.1.7 ruby217 ruby2.1.6 ruby216 ruby2.1.5 ruby215 ruby2.1.4 ruby214 ruby2.1.3 ruby213 ruby2.1.2 ruby212 ruby2.1.1 ruby211 ruby2.1.0 ruby210 ruby2.1 ruby21 ruby2.0 ruby20 ruby1.9.3 ruby193 ruby1.9.2 ruby192 ruby1.9.1 ruby191 ruby1.9 ruby19 ruby
NAMES ruby2.7.0 ruby270 ruby2.7 ruby2.6.0 ruby260 ruby2.6 ruby2.5.0 ruby250 ruby2.5 ruby2.4.0 ruby240 ruby2.4 ruby2.3.0 ruby230 ruby2.3 ruby23 ruby2.2.3 ruby223 ruby2.2.2 ruby222 ruby2.2.1 ruby221 ruby2.2.0 ruby220 ruby2.2 ruby22 ruby2.1.7 ruby217 ruby2.1.6 ruby216 ruby2.1.5 ruby215 ruby2.1.4 ruby214 ruby2.1.3 ruby213 ruby2.1.2 ruby212 ruby2.1.1 ruby211 ruby2.1.0 ruby210 ruby2.1 ruby21 ruby2.0 ruby20 ruby1.9.3 ruby193 ruby1.9.2 ruby192 ruby1.9.1 ruby191 ruby1.9 ruby19 ruby
PATHS /usr/bin /usr/local/bin /usr/pkg/bin
)
if(RUBY_EXECUTABLE)
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2015-2019 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2015-2020 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-2019 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2020 Sébastien Helleu <flashcode@flashtux.org>
#
# This file is part of WeeChat, the extensible chat client.
#
+29 -15
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2019 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2020 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>
@@ -47,10 +47,12 @@ AC_CONFIG_FILES([weechat-${VERSION}-1.cygport:weechat.cygport.in])
case "$host_os" in
freebsd* | openbsd*)
CFLAGS="$CFLAGS -I/usr/local/include"
CXXFLAGS="$CXXFLAGS -I/usr/local/include"
LDFLAGS="$LDFLAGS -L/usr/local/lib"
;;
netbsd*)
CFLAGS="$CFLAGS -I/usr/pkg/include"
CXXFLAGS="$CXXFLAGS -I/usr/pkg/include"
LDFLAGS="$LDFLAGS -L/usr/pkg/lib"
;;
solaris*)
@@ -508,7 +510,7 @@ RUBY_VERSION=
if test "x$enable_ruby" = "xyes" ; then
RUBY_CFLAGS=""
RUBY_LFLAGS=""
for v in "2.6" "2.5" "2.4" "2.3" "2.2" "2.1" "2.0" "1.9" "1.8" ; do
for v in "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`
@@ -562,7 +564,7 @@ fi
LUA_VERSION=
if test "x$enable_lua" = "xyes" ; then
ac_save_CPPFLAGS="$CPPFLAGS"
ac_save_CXXFLAGS="$CXXFLAGS"
ac_save_CFLAGS="$CFLAGS"
ac_save_LDFLAGS="$LDFLAGS"
@@ -571,7 +573,7 @@ if test "x$enable_lua" = "xyes" ; then
if test -n "$lua_inc"; then
CFLAGS="$CFLAGS -I$lua_inc"
CPPFLAGS="$CPPFLAGS -I$lua_inc"
CXXFLAGS="$CXXFLAGS -I$lua_inc"
fi
if test -n "$lua_lib"; then
LDFLAGS="$LDFLAGS -L$lua_lib"
@@ -668,7 +670,7 @@ if test "x$enable_lua" = "xyes" ; then
fi
CFLAGS="$ac_save_CFLAGS"
CPPFLAGS="$ac_save_CPPFLAGS"
CXXFLAGS="$ac_save_CXXFLAGS"
LDFLAGS="$ac_save_LDFLAGS"
else
not_asked="$not_asked lua"
@@ -730,7 +732,7 @@ if test "x$enable_guile" = "xyes" ; then
guile_found="no"
AC_MSG_CHECKING(for Guile headers and libraries)
echo
for v in "2.2" "2.0" ; do
for v in "3.0" "2.2" "2.0" ; do
pkgconfig_guile_found=`$PKGCONFIG --exists guile-$v 2>/dev/null`
if test "x$?" = "x0" ; then
GUILE_VERSION=`$PKGCONFIG --modversion guile-$v`
@@ -834,7 +836,7 @@ AC_LANG_POP
PHP_VERSION=
if test "x$enable_php" = "xyes" ; then
ac_save_CPPFLAGS="$CPPFLAGS"
ac_save_CXXFLAGS="$CXXFLAGS"
ac_save_CFLAGS="$CFLAGS"
ac_save_LDFLAGS="$LDFLAGS"
@@ -843,7 +845,7 @@ if test "x$enable_php" = "xyes" ; then
if test -n "$php_inc"; then
CFLAGS="$CFLAGS -I$php_inc"
CPPFLAGS="$CPPFLAGS -I$php_inc"
CXXFLAGS="$CXXFLAGS -I$php_inc"
fi
if test -n "$php_lib"; then
LDFLAGS="$LDFLAGS -L$php_lib"
@@ -852,7 +854,7 @@ if test "x$enable_php" = "xyes" ; then
if test "x$PHP_CFLAGS" = "x" -o "x$PHP_LFLAGS" = "x" ; then
AC_MSG_CHECKING(for PHP headers and libraries with pkg-config)
echo
for l in "7.3" "73" "7.2" "72" "7.1" "71" "7.0" "70" "7" "$php_suffix" "" ; do
for l in "7.4" "74" "7.3" "73" "7.2" "72" "7.1" "71" "7.0" "70" "7" "$php_suffix" "" ; do
pkgconfig_php_found=`$PKGCONFIG --exists php$l 2>/dev/null`
if test "x$?" = "x0" ; then
pkgconfig_php_found=`$PKGCONFIG --atleast-version=7 php$l 2>/dev/null`
@@ -869,7 +871,7 @@ if test "x$enable_php" = "xyes" ; then
if test "x$PHP_CFLAGS" = "x" -o "x$PHP_LFLAGS" = "x" ; then
PHPCONFIG=""
AC_MSG_CHECKING(for PHP headers and libraries with php-config)
for l in "7.3" "73" "7.2" "72" "7.1" "71" "7.0" "70" "7" "$php_suffix" "" ; do
for l in "7.4" "74" "7.3" "73" "7.2" "72" "7.1" "71" "7.0" "70" "7" "$php_suffix" "" ; do
AC_CHECK_PROG(PHPCONFIG, "php-config$l", "php-config$l")
if test "x$PHPCONFIG" != "x" ; then
php_config_version=`$PHPCONFIG --version`
@@ -890,7 +892,7 @@ if test "x$enable_php" = "xyes" ; then
if test "x$ac_found_php_header" = "xyes" ; then
PHP_CFLAGS="$CFLAGS"
fi
for l in "7.3" "73" "7.2" "72" "7.1" "71" "7.0" "70" "7" "$php_suffix" "" ; do
for l in "7.4" "74" "7.3" "73" "7.2" "72" "7.1" "71" "7.0" "70" "7" "$php_suffix" "" ; do
AC_CHECK_LIB(php$l,php_execute_script,ac_found_php_lib="yes",ac_found_php_lib="no")
if test "x$ac_found_php_lib" = "xyes" ; then
PHP_VERSION=">=7.0.0"
@@ -925,7 +927,7 @@ if test "x$enable_php" = "xyes" ; then
fi
CFLAGS="$ac_save_CFLAGS"
CPPFLAGS="$ac_save_CPPFLAGS"
CXXFLAGS="$ac_save_CXXFLAGS"
LDFLAGS="$ac_save_LDFLAGS"
else
not_asked="$not_asked php"
@@ -1109,6 +1111,7 @@ fi
if test "x$enable_largefile" = "xyes" ; then
CFLAGS="$CFLAGS -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -D_LARGE_FILES"
CXXFLAGS="$CXXFLAGS -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -D_LARGE_FILES"
else
not_asked="$not_asked largefile"
fi
@@ -1288,10 +1291,13 @@ weechat_libdir=${libdir}/weechat
AC_SUBST(weechat_libdir)
COMMON_CFLAGS="-fsigned-char -Wall -Wextra -Werror-implicit-function-declaration"
COMMON_CXXFLAGS="-fsigned-char -Wall -Wextra"
AC_MSG_CHECKING([whether we have GNU assembler])
GAS=`as --version < /dev/null 2>/dev/null | grep GNU`
if test "$GAS"; then
COMMON_CFLAGS="${COMMON_CFLAGS} -pipe"
COMMON_CXXFLAGS="${COMMON_CXXFLAGS} -pipe"
AC_MSG_RESULT(yes)
else
AC_MSG_RESULT(no)
@@ -1301,10 +1307,18 @@ CFLAGS=`echo $CFLAGS | sed 's/ -g / /g'`
CFLAGS=`echo $CFLAGS | sed 's/^-g //g'`
CFLAGS=`echo $CFLAGS | sed 's/ -g$//g'`
CFLAGS=`echo $CFLAGS | sed 's/^-g$//g'`
CXXFLAGS=`echo $CXXFLAGS | sed 's/ -g / /g'`
CXXFLAGS=`echo $CXXFLAGS | sed 's/^-g //g'`
CXXFLAGS=`echo $CXXFLAGS | sed 's/ -g$//g'`
CXXFLAGS=`echo $CXXFLAGS | sed 's/^-g$//g'`
if test "x$debug" = "x0" ; then
CFLAGS="$COMMON_CFLAGS $CFLAGS"
CXXFLAGS="$COMMON_CXXFLAGS $CXXFLAGS"
else
CFLAGS="$COMMON_CFLAGS $CFLAGS -g -O0"
CXXFLAGS="$COMMON_CXXFLAGS $CXXFLAGS -g -O0"
fi
LIBS="$LIBS $INTLLIBS"
@@ -1314,7 +1328,7 @@ freebsd*)
if test "x$enable_perl" = "xyes" -o "x$enable_python" = "xyes" ; then
CFLAGS="$CFLAGS -pthread"
fi
CFLAGS="$CFLAGS $CPPFLAGS"
CFLAGS="$CFLAGS $CXXFLAGS"
;;
openbsd*)
if test "x$enable_python" = "xyes" ; then
@@ -1325,7 +1339,7 @@ netbsd*)
if test "x$enable_perl" = "xyes" -o "x$enable_python" = "xyes" ; then
CFLAGS="$CFLAGS -pthread"
fi
CFLAGS="$CFLAGS $CPPFLAGS"
CFLAGS="$CFLAGS $CXXFLAGS"
;;
gnu*)
LDFLAGS="$LDFLAGS -lpthread"
@@ -1338,7 +1352,7 @@ haiku*)
esac
CFLAGS="$CFLAGS -DWEECHAT_VERSION=\\\"$VERSION\\\" -DWEECHAT_LICENSE=\\\"$LICENSE\\\""
CPPFLAGS="$CPPFLAGS -DWEECHAT_VERSION=\\\"$VERSION\\\" -DWEECHAT_LICENSE=\\\"$LICENSE\\\""
CXXFLAGS="$CXXFLAGS -DWEECHAT_VERSION=\\\"$VERSION\\\" -DWEECHAT_LICENSE=\\\"$LICENSE\\\""
# ------------------------------------------------------------------------------
# output Makefiles
+1 -1
View File
@@ -4,7 +4,7 @@ Upstream-Contact: Sébastien Helleu <flashcode@flashtux.org>
Source: https://weechat.org/
Files: *
Copyright: 2003-2019, Sébastien Helleu <flashcode@flashtux.org>
Copyright: 2003-2020, 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-2019 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2020 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-2019 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2020 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-2019 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2020 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-2019 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2020 Sébastien Helleu <flashcode@flashtux.org>
#
# This file is part of WeeChat, the extensible chat client.
#
+1 -1
View File
@@ -1,7 +1,7 @@
WeeChat je napsán Sébastienem Helleu a přispěvovateli (kompletní seznam je v
souboru AUTHORS.adoc).
Copyright (C) 2003-2019 {author}
Copyright (C) 2003-2020 {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-2019 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2020 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-2019 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2020 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2006 Julien Louis <ptitlouis@sysif.net>
#
# This file is part of WeeChat, the extensible chat client.
+2
View File
@@ -213,6 +213,7 @@ _last_irc_server_ +
| _name_   (string) +
_options_   (pointer) +
_temp_server_   (integer) +
_fake_server_   (integer) +
_reloading_from_config_   (integer) +
_reloaded_from_config_   (integer) +
_addresses_eval_   (string) +
@@ -546,6 +547,7 @@ _layout_number_   (integer) +
_layout_number_merge_order_   (integer) +
_name_   (string) +
_full_name_   (string) +
_old_full_name_   (string) +
_short_name_   (string) +
_type_   (integer) +
_notify_   (integer) +
+5 -1
View File
@@ -80,11 +80,13 @@
| tcl | tcl_version | Version des verwendeten Interpreters | -
| weechat | auto_connect | 1, falls die automatische Verbindung zu Servern aktiviert ist, 0, wenn sie vom Benutzer deaktiviert wurde (Option "-a" oder "--no-connect") | -
| weechat | charset_internal | Interner WeeChat Zeichensatz | -
| weechat | charset_terminal | Terminal Zeichensatz | -
| weechat | color_ansi_regex | erweiterte reguläre POSIX Ausdrücke um ANSI Escapesequenz zu suchen | -
| weechat | color_ansi_regex | Erweiterte reguläre POSIX Ausdrücke um ANSI Escapesequenz zu suchen | -
| weechat | color_rgb2term | RGB Farbe wurde umgewandelt in Terminalfarbe (0-255) | RGB,limit (Obergrenze ist optional und ist Standardmäßig 256)
@@ -130,6 +132,8 @@
| weechat | weechat_dir | WeeChat Verzeichnis | -
| weechat | weechat_headless | 1, falls WeeChat im Hintergrundmodus ausgeführt wird | -
| weechat | weechat_libdir | WeeChat "lib" Verzeichnis | -
| weechat | weechat_localedir | "lokales" Verzeichnis von WeeChat | -
@@ -20,6 +20,9 @@ Jede Zeile die einen Buffer anzeigt wird mittels Zeichenketten-Evaluation darges
Die folgenden Variablen können in den obigen Optionen genutzt werden:
- bar item data (siehe hdata "bar_item" in API Dokumentation für eine vollständige Liste), zum Beispiel:
- ${bar_item.name}
- window data, wo das Bar-Item dargestellt werden soll (in "root" Bars existieren keine Fenster, siehe hdata "window" in API Dokumentation für eine vollständige Liste), zum Beispiel:
- ${window.number}
- ${window.buffer.full_name}
- buffer data (siehe hdata "buffer" in API Dokumentation für eine vollständige Liste), zum Beispiel:
- ${buffer.number}
- ${buffer.name}
+2 -2
View File
@@ -117,7 +117,7 @@ Tasten und Eingaben um Optionen im fset Buffer zu editieren:
alt+enter s Wert setzen
alt+f, alt+n n ein neuer Wert wird gesetzt, der alte Wert wird gelöscht
alt+f, alt+a a dem Wert was hinzufügen
alt+',' , markieren/demarkieren einer Option
alt+',' , markieren/demarkieren einer Option
shift+hoch eine Zeile nach oben und markiert/demarkiert Option
shift+runter markiert/demarkiert Option und geht eine Zeile nach unten
m:xxx markiert Optionen welche angezeigt werden und auf die der Filter "xxx" zutrifft (jeder Filter für Option oder Wert ist erlaubt, siehe Filterung weiter oben)
@@ -127,7 +127,7 @@ weitere Tasten und Eingaben im fset Buffer:
ctrl+L der Bildschirm wird neu gezeichnet (Befehl: /fset -refresh)
$ Optionen neu einlesen (markierte Optionen werden beibehalten)
$$ Optionen neu einlesen (Markierungen von Optionen werden dabei gelöscht)
alt+p p umschalten zwischen Beschreibung von Erweiterungen (plugins.desc.*)
alt+p p Umschalten der Beschreibung von Erweiterungen (plugins.desc.*)
alt+v v Hilfe-Bar Ein-/Ausschalten
s:x,y sortiert Optionen nach Bereichen x,y (siehe /help fset.look.sort)
s: setzt Sortierung wieder auf Standardwerte (siehe /help fset.look.sort)
+4 -4
View File
@@ -243,10 +243,10 @@ target: Servername
----
/disconnect [<server>|-all|-pending [<reason>]]
server: interner Name des Servers
-all: Verbindung zu allen Servern trennen
-pending: bricht eine automatische Wiederverbindung für Server ab, zu denen gerade eine erneute Verbindung aufgebaut werden soll
reason: Begründung der Trennung
server: interner Name des Servers
-all: Verbindung zu allen Servern trennen
-pending: bricht eine automatische Wiederverbindung zu Servern ab, zu denen gerade eine erneute Verbindung aufgebaut werden soll
reason: Begründung für die Trennung
----
[[command_irc_halfop]]
+1 -1
View File
@@ -765,7 +765,7 @@
** Standardwert: `+""+`
* [[option_irc.server_default.ssl_password]] *irc.server_default.ssl_password*
** Beschreibung: pass:none[Passwort für SSL Zertifikat des privaten Schlüssels (Hinweis: Inhalt wird evaluiert, siehe /help eval; Serveroptionen sind mittels ${irc_server.xxx} evaluiert und ${server} wird durch den eigentlichen Servernamen ersetzt)]
** Beschreibung: pass:none[Passwort für SSL Zertifikat des privaten Schlüssels, nur unter gnutls Version >= 3.1.0 (Hinweis: Inhalt wird evaluiert, siehe /help eval; Serveroptionen sind mittels ${irc_server.xxx} evaluiert und ${server} wird durch den eigentlichen Servernamen ersetzt)]
** Typ: Zeichenkette
** Werte: beliebige Zeichenkette
** Standardwert: `+""+`
+2 -2
View File
@@ -111,7 +111,7 @@
** Standardwert: `+off+`
* [[option_relay.network.allowed_ips]] *relay.network.allowed_ips*
** Beschreibung: pass:none[erweiterter regulärer POSIX Ausdruck für IPs die von relay akzeptiert werden (Groß- und Kleinschreibung wird ignoriert. Um zwischen Groß- und Kleinschreibung zu unterscheiden muss die Zeichenkette mit "(?-i)" eingeleitet werden), Beispiele: "^(123\.45\.67\.89|192\.160\..*)$"]
** Beschreibung: pass:none[Erweiterter regulärer POSIX Ausdruck für IPs die von relay akzeptiert werden (Groß- und Kleinschreibung wird ignoriert. Um zwischen Groß- und Kleinschreibung zu unterscheiden muss die Zeichenkette mit "(?-i)" eingeleitet werden), Beispiele: "^(123\.45\.67\.89|192\.160\..*)$"]
** Typ: Zeichenkette
** Werte: beliebige Zeichenkette
** Standardwert: `+""+`
@@ -177,7 +177,7 @@
** Standardwert: `+0+`
* [[option_relay.network.websocket_allowed_origins]] *relay.network.websocket_allowed_origins*
** Beschreibung: pass:none[erweiterter regulärer POSIX Ausdruck für Origins in WebSockets (Groß- und Kleinschreibung wird ignoriert. Um Groß- und Kleinschreibung zu unterscheiden kann "(?-i)" vorangestellt werden), Beispiel: ^https?://(www\.)?example\.(com|org)"]
** Beschreibung: pass:none[Erweiterter regulärer POSIX Ausdruck für Origins in WebSockets (Groß- und Kleinschreibung wird ignoriert. Um Groß- und Kleinschreibung zu unterscheiden kann "(?-i)" vorangestellt werden), Beispiel: ^https?://(www\.)?example\.(com|org)"]
** Typ: Zeichenkette
** Werte: beliebige Zeichenkette
** Standardwert: `+""+`
+3 -2
View File
@@ -263,11 +263,12 @@ infolists: zeigt Information über die Infolists an
* `+eval+`: evaluierter Ausdruck
----
/eval [-n|-s] <expression>
[-n] -c <expression1> <operator> <expression2>
/eval [-n|-s] [-d] <expression>
[-n] [-d] -c <expression1> <operator> <expression2>
-n: gibt das Ergebnis aus, ohne dass dieses in den Buffer gesendet wird (debug Modus)
-s: teilt Ausdrücke, bevor sie evaluiert werden (mehrere Befehle können durch Semikolon getrennt werden)
-d: eine Debug-Ausgabe nach Auswertung anzeigen
-c: Auswertung als Bedingung: nutzt Operatoren und runde Klammern, Rückgabewert als Boolean-Wert ("0" oder "1")
expression: Ausdruck welcher verarbeitet werden soll. Variablen im Format ${variable} werden ersetzt (siehe unten); mehrere Befehle werden durch ein Semikolon voneinander getrennt
operator: ein logischer oder vergleichender Operand:
+1 -1
View File
@@ -1,7 +1,7 @@
WeeChat wird programmiert von Sébastien Helleu und weiteren Beteiligten (eine vollständige Auflistung
findet man in der AUTHORS.adoc Datei).
Copyright (C) 2003-2019 {author}
Copyright (C) 2003-2020 {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
+96 -5
View File
@@ -406,19 +406,29 @@ Eine weitere Möglichkeit ist, ein Skript zu nutzen:
[[change_locale_without_quit]]
=== Ich möchte die Meldungen von WeeChat in einer anderen Sprache ausgeben lassen, ohne WeeChat zu beenden. Ist dies möglich?
Ja, mit WeeChat ≥ 1.0:
Natürlich ist das möglich:
----
/set env LANG de_DE.UTF-8
/upgrade
----
Mit einer älteren Version von WeeChat:
[[timezone]]
=== Wie kann ich die Zeitzone ändern?
Es gibt in WeeChat keine Option um die Zeitzone einzustellen. Die
Umgebungsvariable `TZ` muss auf einen entsprechenden Wert eingestellt werden.
Am Besten machen Sie dies in Ihrer Shell-Initialisierungsdatei oder in der
Befehlszeile, bevor Sie WeeChat starten:
----
/script install shell.py
/shell setenv LANG=de_DE.UTF-8
/upgrade
export TZ=Europe/Berlin
----
In WeeChat wird der neue Wert umgehend genutzt:
----
/set env TZ Europe/Berlin
----
[[use_256_colors]]
@@ -521,6 +531,87 @@ Der bracketed paste Modus kann wie folgt deaktiviert werden:
/set weechat.look.paste_bracketed off
----
[[small_terminal]]
=== Wie kann ich die Anzeige bei sehr kleinen Terminalgrößen (wie 80 x 25) optimieren, um keinen Platz zu verschwenden?
Sie können die seitlichen Bars (Buflist und Nicklist) entfernen und das Zeitformat im Buffer anpassen,
sodass nur Stunden und Sekunden angezeigt werden. Die Ausrichtung von Nachrichten sollte deaktiviert
und der Präfix/Suffix für Nicks gesetzt werden:
----
/set buflist.look.enabled off
/bar hide nicklist
/set weechat.look.buffer_time_format "%H:%M"
/set weechat.look.prefix_align none
/set weechat.look.align_end_of_lines prefix
/set weechat.look.nick_suffix ">"
/set weechat.look.nick_prefix "<"
----
Terminal 80x25, mit Standardkonfiguration:
....
┌────────────────────────────────────────────────────────────────────────────────┐
│1.local │Welcome on WeeChat channel! │
│ weechat │16:27:16 --> | FlashCode (~flashcode@localhost) │@FlashCode│
│2. #weechat│ | has joined #weechat │ bob │
│ │16:27:16 -- | Mode #weechat [+nt] by hades.arpa │ │
│ │16:27:16 -- | Channel #weechat: 1 nick (1 op, 0 │ │
│ │ | voices, 0 normals) │ │
│ │16:27:18 -- | Channel created on Sun, 22 Mar │ │
│ │ | 2020 16:27:16 │ │
│ │17:02:28 --> | bob (~bob_user@localhost) has │ │
│ │ | joined #weechat │ │
│ │17:03:12 @FlashCode | hi bob, you're the first user │ │
│ │ | here, welcome on the WeeChat │ │
│ │ | support channel! │ │
│ │17:03:33 bob | hi FlashCode │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │[17:04] [2] [irc/local] 2:#weechat(+nt){2} │
│ │[@FlashCode(i)] █ │
└────────────────────────────────────────────────────────────────────────────────┘
....
Terminal 80x25, nach obiger Anpassung:
....
┌────────────────────────────────────────────────────────────────────────────────┐
│Welcome on WeeChat channel! │
│16:27 --> FlashCode (~flashcode@localhost) has joined #weechat │
│16:27 -- Mode #weechat [+nt] by hades.arpa │
│16:27 -- Channel #weechat: 1 nick (1 op, 0 voices, 0 normals) │
│16:27 -- Channel created on Sun, 22 Mar 2020 16:27:16 │
│17:02 --> bob (~bob_user@localhost) has joined #weechat │
│17:03 <@FlashCode> hi bob, you're the first user here, welcome on the WeeChat │
│ support channel! │
│17:03 <bob> hi FlashCode │
│ │
│ │
│ │
│ │
│ │
│ │
│ │
│ │
│ │
│ │
│ │
│ │
│ │
│ │
│[17:04] [2] [irc/local] 2:#weechat(+nt){2} │
│[@FlashCode(i)] █ │
└────────────────────────────────────────────────────────────────────────────────┘
....
[[key_bindings]]
== Tastaturbelegung
+115 -34
View File
@@ -108,7 +108,7 @@ zu kompilieren und welche Pakete optional genutzt werden können.
| libncursesw5-dev ^(2)^ | | *ja* | Ncurses Oberfläche.
| libcurl4-gnutls-dev | | *ja* | URL Transfer.
| zlib1g-dev | | *ja* | Kompression für Pakete, die mittels Relay- (WeeChat Protokoll), Script-Erweiterung übertragen werden.
| libgcrypt20-dev | | *ja* | Geschützte Daten, IRC SASL Authentifikation (DH-BLOWFISH/DH-AES), Skript-Erweiterung.
| libgcrypt20-dev | | *ja* | Geschützte Daten, IRC SASL Authentifikation (DH-BLOWFISH/DH-AES).
| 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).
| gettext | | | Internationalisierung (Übersetzung der Mitteilungen; Hauptsprache ist englisch).
| ca-certificates | | | Zertifikate für SSL Verbindungen.
@@ -1812,44 +1812,125 @@ Diese Tasten werden im Kontext "mouse" verwendet, wenn eine Mausfunktion genutzt
[width="100%",cols="^.^3,^.^3,^.^3,.^8,.^8",options="header"]
|===
| 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`
| ◾◽◽ | - | chat (script buffer) | wählt einen Eintrag im Script-Buffer aus. | `/script go ${_chat_line_y}`
| ◽◽◾ | - | chat (script buffer) | installiert/entfernt ein Skript. | `/script go ${_chat_line_y};/script installremove -q ${script_name_with_extension}`
| 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:[▲] | - | chat (script buffer) | fünf Zeilen nach oben blättern, im Script-Buffer. | `/script up 5`
| kbd:[▼] | - | chat (script buffer) | fünf Zeilen nach unten blättern, im Script-Buffer. | `/script down 5`
| kbd:[Ctrl+▲] | - | chat | horizontal, nach links scrollen. | `/window scroll_horiz -window ${_window_number} -10%`
| kbd:[Ctrl+▼] | - | chat | horizontal, nach rechts scrollen. | `/window scroll_horiz -window ${_window_number} +10%`
| ◽◽ | up / left | buflist | verschiebt Buffer in der Reihenfolge nach unten. | Signal `buflist_mouse`.
| ◽◽ | down / right | buflist | verschiebt Buffer in der Reihenfolge nach oben. | Signal `buflist_mouse`.
| ◽◽ | - | buflist | wechselt zum Buffer (oder zum vorherigen Buffer, falls der aktuell genutzte Buffer angewählt wurde). | Signal `buflist_mouse`.
| ◽◽◾ | - | buflist | wechselt zum nächsten Buffer, falls der aktuell genutzte Buffer angewählt wurde. | Signal `buflist_mouse`.
| kbd:[Ctrl+▲] | - | buflist | wechselt zum vorherigen Buffer. | Signal `buflist_mouse`.
| kbd:[Ctrl+▼] | - | buflist | wechselt zum nächsten Buffer. | Signal `buflist_mouse`.
| ◽◽ | hoch | Benutzerliste | Benutzerliste um eine Seite nach oben blättern. | `/bar scroll nicklist ${_window_number} -100%`
| ◾◽◽ | runter | Benutzerliste | Benutzerliste um eine Seite nach unten blättern. | `/bar scroll nicklist ${_window_number} +100%`
| ◾◽◽ | hoch(lang) | Benutzerliste | springt zum Anfang der Benutzerliste. | `/bar scroll nicklist ${_window_number} b`
| ◾◽◽ | runter(lang) | Benutzerliste | springt zum Ende der Benutzerliste. | `/bar scroll nicklist ${_window_number} e`
| ◽◽ | - | Benutzerliste | öffnet privaten Chat mit Nick. | `/window ${_window_number};/query ${nick}`
| ◽◽◾ | - | Benutzerliste | führt einen whois für Nick aus. | `/window ${_window_number};/whois ${nick}`
| ◾◽◽ | links | Benutzerliste | kickt Nick. | `/window ${_window_number};/kick ${nick}`
| ◾◽◽ | links(lang) | Benutzerliste | kickt und verbannt Nick. | `/window ${_window_number};/kickban ${nick}`
| ◽◽ | links | Benutzerliste | verbannt Nick. | `/window ${_window_number};/ban ${nick}`
| ◽◽ | - | Input | fängt ein Mausereignis und fügt dieses in die Befehlszeile ein. | `/input grab_mouse_area`
| kbd:[▲] | - | jede Bar | blättert Bar um 20% nach oben. | `/bar scroll ${_bar_name} ${_window_number} -20%`
| kbd:[▼] | - | jede Bar | blättert Bar um 20% nach unten. | `/bar scroll ${_bar_name} ${_window_number} +20%`
| ◽◽ | - | überall | aktiviert den Cursor-Modus an dieser Position. | `/cursor go ${_x},${_y}`
| 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`
| 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%`
| kbd:[Ctrl+▼] | - | chat | horizontal, nach rechts scrollen. | `/window scroll_horiz -window ${_window_number} +10%`
| kbd:[▲] | - | chat: fset Buffer | Auswahl wird fünf Einträge nach oben bewegt, im fset Buffer. | `/fset -up 5`
| kbd:[▼] | - | chat: fset buffer | Auswahl wird fünf Einträge nach unten bewegt, im fset Buffer. | `/fset -down 5`
| ◾◽◽ | - | chat: fset buffer | springt zu einem Eintrag im fset Buffer. | `/window ${_window_number};/fset -go ${_chat_line_y}`
| ◽◽◾ | - | chat: fset buffer | Boolean-Wert wird umgeschaltet (an/aus) oder editiere den Wert einer Option. | `hsignal:fset_mouse`
| ◽◽ | left | chat: fset buffer | Integer/Farbwerte werden verringert, andere Variabletypen werden in die Eingabezeile kopiert. | `hsignal:fset_mouse`
| ◽◽ | right | chat: fset buffer | Integer/Farbwerte werden erhöht, andere Variabletypen werden in die Eingabezeile kopiert. | `hsignal:fset_mouse`
| ◽◽ | up / down | chat: fset buffer | markieren/demarkieren von mehreren Optionen. | `hsignal:fset_mouse`
| kbd:[▲] | - | chat: script buffer | fünf Zeilen nach oben blättern, im Script-Buffer. | `/script up 5`
| kbd:[▼] | - | chat: script buffer | fünf Zeilen nach unten blättern, im Script-Buffer. | `/script down 5`
| ◾◽◽ | - | chat: script buffer | wählt einen Eintrag im Script-Buffer aus. | `/script go ${_chat_line_y}`
| ◽◽ | - | chat: script buffer | installiert/entfernt ein Skript. | `/script go ${_chat_line_y};/script installremove -q ${script_name_with_extension}`
| ◾◽◽ | up / left | buflist | verschiebt Buffer in der Reihenfolge nach unten. | Signal `buflist_mouse`.
| ◾◽◽ | down / right | buflist | verschiebt Buffer in der Reihenfolge nach oben. | Signal `buflist_mouse`.
| ◾◽◽ | - | buflist | wechselt zum Buffer (oder zum vorherigen Buffer, falls der aktuell genutzte Buffer angewählt wurde). | Signal `buflist_mouse`.
| ◽◽ | - | buflist | wechselt zum nächsten Buffer, falls der aktuell genutzte Buffer angewählt wurde. | Signal `buflist_mouse`.
| kbd:[Ctrl+▲] | - | buflist | wechselt zum vorherigen Buffer. | Signal `buflist_mouse`.
| kbd:[Ctrl+▼] | - | buflist | wechselt zum nächsten Buffer. | Signal `buflist_mouse`.
| ◾◽◽ | hoch | Benutzerliste | Benutzerliste um eine Seite nach oben blättern. | `/bar scroll nicklist ${_window_number} -100%`
| ◽◽ | runter | Benutzerliste | Benutzerliste um eine Seite nach unten blättern. | `/bar scroll nicklist ${_window_number} +100%`
| ◽◽ | hoch(lang) | Benutzerliste | springt zum Anfang der Benutzerliste. | `/bar scroll nicklist ${_window_number} b`
| ◾◽◽ | runter(lang) | Benutzerliste | springt zum Ende der Benutzerliste. | `/bar scroll nicklist ${_window_number} e`
| ◾◽◽ | - | Benutzerliste | öffnet privaten Chat mit Nick. | `/window ${_window_number};/query ${nick}`
| ◽◽ | - | Benutzerliste | führt einen whois für Nick aus. | `/window ${_window_number};/whois ${nick}`
| ◾◽◽ | links | Benutzerliste | kickt Nick. | `/window ${_window_number};/kick ${nick}`
| ◾◽◽ | links(lang) | Benutzerliste | kickt und verbannt Nick. | `/window ${_window_number};/kickban ${nick}`
| ◽◽◾ | links | Benutzerliste | verbannt Nick. | `/window ${_window_number};/ban ${nick}`
| ◽◽◾ | - | Input | fängt ein Mausereignis und fügt dieses in die Befehlszeile ein. | `/input grab_mouse_area`
| kbd:[▲] | - | jede Bar | blättert Bar um 20% nach oben. | `/bar scroll ${_bar_name} ${_window_number} -20%`
| kbd:[▼] | - | jede Bar | blättert Bar um 20% nach unten. | `/bar scroll ${_bar_name} ${_window_number} +20%`
| ◽◾◽ | - | überall | aktiviert den Cursor-Modus an dieser Position. | `/cursor go ${_x},${_y}`
|===
[NOTE]
^(1)^ kbd:[▲] und kbd:[▼] sind Symbole für Mausrad hoch/runter.
[[key_bindings_fset_buffer]]
==== Tasten für den fset Buffer
Diese Tasten und Aktionen werden im fset-Buffer verwendet (siehe <<fset_plugin,Fset Erweiterung>>).
[width="100%",cols="^.^3,^.^2,.^8,.^5",options="header"]
|===
| 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`
| kbd:[PgDn] | | eine Seite runter blättern. | `/window page_down`
| kbd:[Alt+Home] | `pass:[<<]` | springt zum ersten Eintrag. | `/fset -go 0`
| kbd:[Alt+End] | `pass:[>>]` | springt zum letzten Eintrag. | `/fset -go end`
| kbd:[F11] | `pass:[<]` | scrollt horizontal nach links. | `/fset -left`
| kbd:[F12] | `pass:[>]` | scrollt horizontal nach rechts. | `/fset -right`
| kbd:[Alt+Space] | `t` | Boolean Wert ein/ausschalten. | `/fset -toggle`
| kbd:[Alt+-] | `-` | subtrahiert 1 vom Wert bei Integer/Farboptionen, bei anderen Typen kann der Wert editiert werden. | `/fset -add -1`
| kbd:[Alt++] | `+` | addiert 1 zum Wert bei Integer/Farboptionen, bei anderen Typen kann der Wert editiert werden. | `/fset -add 1`
| kbd:[Alt+f],
kbd:[Alt+r] | `r` | Wert resetten. | `/fset -reset`
| kbd:[Alt+f],
kbd:[Alt+u] | `u` | Wert zurücksetzen. | `/fset -unset`
| kbd:[Alt+Enter] | `s` | Wert setzen. | `/fset -set`
| kbd:[Alt+f],
kbd:[Alt+n] | `n` | ein neuer Wert wird gesetzt, der alte Wert wird gelöscht. | `/fset -setnew`
| kbd:[Alt+f],
kbd:[Alt+a] | `a` | dem Wert was hinzufügen. | `/fset -append`
| kbd:[Alt+,] | `,` | markieren/demarkieren einer Option. | `/fset -mark 1`
| kbd:[Shift+↑] | | eine Zeile nach oben und markiert/demarkiert Option. | `/fset -up; /fset -mark`
| kbd:[Shift+↓] | | markiert/demarkiert Option und geht eine Zeile nach unten. | `/fset -mark; /fset -down`
| | `m:xxx` | markiert Optionen welche angezeigt werden und auf die der Filter "xxx" zutrifft (jeder Filter für Option oder Wert ist erlaubt, siehe <<command_fset_fset,fset command>>). |
| | `u:xxx` | demarkiert Optionen welche angezeigt werden und auf die der Filter "xxx" zutrifft (jeder Filter für Option oder Wert ist erlaubt, siehe <<command_fset_fset,fset command>>). |
| kbd:[Ctrl+l] (`L`) | | der Bildschirm wird neu gezeichnet. | `/fset -refresh`
| | `$` | Optionen neu einlesen (markierte Optionen werden beibehalten). |
| | `$$` | Optionen neu einlesen (Markierungen von Optionen werden dabei gelöscht). |
| kbd:[Alt+p] | | Umschalten der Beschreibung von Erweiterungen (`pass:[plugins.desc.*]`). | `/mute /set fset.look.show_plugins_desc toggle`
| kbd:[Alt+v] | | Hilfe-Bar Ein-/Ausschalten. | `/bar toggle fset`
| | `s:x,y` | sortiert Optionen nach Bereichen x,y (siehe Option <<option_fset.look.sort,fset.look.sort>>). | `/mute /set fset.look.sort x,y`
| | `s:` | setzt Sortierung wieder auf Standardwerte (siehe Option <<option_fset.look.sort,fset.look.sort>>). | `/mute /unset fset.look.sort`
| | `w:xxx` | exportiert Optionen in Datei "xxx". | `/fset -export xxx`
| | `w-:xxx` | exportiert Optionen in Datei "xxx", ohne Hilfstext. | `/fset -export -nohelp xxx`
| | `w+:xxx` | exportiert Optionen in Datei "xxx", mit Hilfstext. | `/fset -export -help xxx`
| kbd:[Ctrl+x] | `x` | Umschalten zwischen der Darstellung von Optionen. | `/fset -format`
| | `q` | fset Buffer schließen. | `/buffer close`
|===
[NOTE]
^(1)^ Die Aktion muss als Eingabe in die Befehlszeile eingegeben werden, gefolgt von kbd:[Enter].
[[key_bindings_script_buffer]]
==== Tasten für Skript Buffer
Diese Tasten und Aktionen werden im fset-Buffer verwendet (siehe <<scripts_plugins,Skript Erweiterung>>).
[width="100%",cols="^.^3,^.^2,.^8,.^5",options="header"]
|===
| Taste | Action ^(1)^ | Beschreibung | Befehl
| kbd:[↑] | | eine Zeile nach oben. | `/script up`
| kbd:[↓] | | eine Zeile nach unten. | `/script down`
| kbd:[PgUp] | | eine Seite hoch blättern. | `/window page_up`
| kbd:[PgDn] | | eine Seite nach unten blättern. | `/window page_down`
| kbd:[Alt+i] | `i` | Skript installieren. | `/script install`
| kbd:[Alt+r] | `r` | Skript entfernen. | `/script remove`
| kbd:[Alt+l] (`L`) | `l` | Skript laden. | `/script load`
| kbd:[Alt+u] | `u` | Skript wird beendet. | `/script unload`
| kbd:[Alt+Shift+A] | `A` | das Skript wird in das autoload-Verzeichnis eingebunden. | `/script toggleautoload`
| kbd:[Alt+h] | `h` | Skript wird gehalten bzw. freigegeben. | `/script hold`
| kbd:[Alt+v] | `v` | Skript Quelltext anzeigen. | `/script show`
|===
[NOTE]
^(1)^ Die Aktion muss als Eingabe in die Befehlszeile eingegeben werden, gefolgt von kbd:[Enter].
[[mouse]]
=== Mausunterstützung
+1 -1
View File
@@ -1,6 +1,6 @@
# -*- coding: utf-8 -*-
#
# Copyright (C) 2008-2019 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2008-2020 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
+1 -2
View File
@@ -1,6 +1,6 @@
<!--
Custom styles for Asciidoctor
Copyright (C) 2016-2019 Sébastien Helleu <flashcode@flashtux.org>
Copyright (C) 2016-2020 Sébastien Helleu <flashcode@flashtux.org>
-->
<style>
#header,#content,#footnotes,#footer {
@@ -17,7 +17,6 @@ h1,h2,h3,h4,h5 {
.literalblock pre {
font-family: monospace, 'Courier New', Courier;
line-height: normal;
font-size: .95em;
}
kbd {
font-size: .9em;
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2019 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2020 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-2019 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2020 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2006 Julien Louis <ptitlouis@sysif.net>
#
# This file is part of WeeChat, the extensible chat client.
+2
View File
@@ -213,6 +213,7 @@ _last_irc_server_ +
| _name_   (string) +
_options_   (pointer) +
_temp_server_   (integer) +
_fake_server_   (integer) +
_reloading_from_config_   (integer) +
_reloaded_from_config_   (integer) +
_addresses_eval_   (string) +
@@ -546,6 +547,7 @@ _layout_number_   (integer) +
_layout_number_merge_order_   (integer) +
_name_   (string) +
_full_name_   (string) +
_old_full_name_   (string) +
_short_name_   (string) +
_type_   (integer) +
_notify_   (integer) +
+4
View File
@@ -80,6 +80,8 @@
| tcl | tcl_version | version of the interpreter used | -
| weechat | auto_connect | 1 if automatic connection to servers is enabled, 0 if it has been disabled by the user (option "-a" or "--no-connect") | -
| weechat | charset_internal | WeeChat internal charset | -
| weechat | charset_terminal | terminal charset | -
@@ -130,6 +132,8 @@
| weechat | weechat_dir | WeeChat directory | -
| weechat | weechat_headless | 1 if WeeChat is running headless | -
| weechat | weechat_libdir | WeeChat "lib" directory | -
| weechat | weechat_localedir | WeeChat "locale" directory | -
@@ -20,6 +20,9 @@ The lines with buffers are displayed using string evaluation (see /help eval for
The following variables can be used in these options:
- bar item data (see hdata "bar_item" in API doc for a complete list), for example:
- ${bar_item.name}
- window data, where the bar item is displayed (there's no window in root bars, see hdata "window" in API doc for a complete list), for example:
- ${window.number}
- ${window.buffer.full_name}
- buffer data (see hdata "buffer" in API doc for a complete list), for example:
- ${buffer.number}
- ${buffer.name}
+1 -1
View File
@@ -765,7 +765,7 @@
** default value: `+""+`
* [[option_irc.server_default.ssl_password]] *irc.server_default.ssl_password*
** description: pass:none[password for SSL certificate's private key (note: content is evaluated, see /help eval; server options are evaluated with ${irc_server.xxx} and ${server} is replaced by the server name)]
** description: pass:none[password for SSL certificate's private key; only used with gnutls version >= 3.1.0 (note: content is evaluated, see /help eval; server options are evaluated with ${irc_server.xxx} and ${server} is replaced by the server name)]
** type: string
** values: any string
** default value: `+""+`
+3 -2
View File
@@ -263,11 +263,12 @@ infolists: display infos about infolists
* `+eval+`: evaluate expression
----
/eval [-n|-s] <expression>
[-n] -c <expression1> <operator> <expression2>
/eval [-n|-s] [-d] <expression>
[-n] [-d] -c <expression1> <operator> <expression2>
-n: display result without sending it to buffer (debug mode)
-s: split expression before evaluating it (many commands can be separated by semicolons)
-d: display debug output after evaluation
-c: evaluate as condition: use operators and parentheses, return a boolean value ("0" or "1")
expression: expression to evaluate, variables with format ${variable} are replaced (see below); many commands can be separated by semicolons
operator: a logical or comparison operator:
+1 -1
View File
@@ -1,7 +1,7 @@
WeeChat is written by Sébastien Helleu and contributors (complete list is in
the AUTHORS.adoc file).
Copyright (C) 2003-2019 {author}
Copyright (C) 2003-2020 {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
+51 -46
View File
@@ -58,7 +58,7 @@ This manual documents only _weechat_ repository.
The main WeeChat directories are:
[width="100%",cols="1m,3",options="header"]
[width="100%",cols="1m,2",options="header"]
|===
| Directory | Description
| src/ | Root of sources.
@@ -114,7 +114,7 @@ WeeChat "core" is located in following directories:
* _src/core/_: core functions (for data manipulation)
* _src/gui/_: functions about interface (buffers, windows, ...)
[width="100%",cols="1m,3",options="header"]
[width="100%",cols="1m,2",options="header"]
|===
| Path/file | Description
| core/ | Core functions: entry point, internal structures.
@@ -125,6 +125,7 @@ WeeChat "core" is located in following directories:
|    wee-completion.c | Default completions.
|    wee-config-file.c | Configuration file management.
|    wee-config.c | Configuration options for WeeChat core (file weechat.conf).
|    wee-crypto.c | Cryptographic functions.
|    wee-debug.c | Some debug functions.
|    wee-eval.c | Evaluation of expressions with references to internal vars.
|    wee-hashtable.c | Hashtables.
@@ -206,7 +207,7 @@ WeeChat "core" is located in following directories:
[[sources_plugins]]
==== Plugins
[width="100%",cols="1m,3",options="header"]
[width="100%",cols="1m,2",options="header"]
|===
| Path/file | Description
| plugins/ | Root of plugins.
@@ -375,46 +376,50 @@ WeeChat "core" is located in following directories:
[[sources_tests]]
==== Tests
[width="100%",cols="1m,3",options="header"]
[width="100%",cols="1m,2",options="header"]
|===
| Path/file | Description
| tests/ | Root of tests.
|    tests.cpp | Program used to run all tests.
|    scripts/ | Root of scripting API tests.
|       test-scripts.cpp | Program used to run the scripting API tests.
|       python/ | Python scripts to generate and run the scripting API tests.
|          testapigen.py | Python script generating scripts in all languages to test the scripting API.
|          testapi.py | Python script with scripting API tests, used by script testapigen.py.
|          unparse.py | Convert Python code to other languages, used by script testapigen.py.
|    unit/ | Root of unit tests.
|       test-plugins.cpp | Tests: plugins.
|       core/ | Root of unit tests for core.
|          test-core-arraylist.cpp | Tests: arraylists.
|          test-core-calc.cpp | Tests: calculation of expressions.
|          test-core-eval.cpp | Tests: evaluation of expressions.
|          test-core-hashtble.cpp | Tests: hashtables.
|          test-core-hdata.cpp | Tests: hdata.
|          test-core-hook.cpp | Tests: hooks.
|          test-core-infolist.cpp | Tests: infolists.
|          test-core-list.cpp | Tests: lists.
|          test-core-secure.cpp | Tests: secured data.
|          test-core-string.cpp | Tests: strings.
|          test-core-url.cpp | Tests: URLs.
|          test-core-utf8.cpp | Tests: UTF-8.
|          test-core-util.cpp | Tests: utility functions.
|       gui/ | Root of unit tests for interfaces.
|          test-gui-color.cpp | Tests: colors.
|          test-gui-line.cpp | Tests: lines.
|          test-gui-nick.cpp | Tests: nicks.
|       plugins/ | Root of unit tests for plugins.
|          irc/ | Root of unit tests for IRC plugin.
|             test-irc-color.cpp | Tests: IRC colors.
|             test-irc-config.cpp | Tests: IRC configuration.
|             test-irc-ignore.cpp | Tests: IRC ignores.
|             test-irc-message.cpp | Tests: IRC messages.
|             test-irc-mode.cpp | Tests: IRC modes.
|             test-irc-nick.cpp | Tests: IRC nicks.
|             test-irc-protocol.cpp | Tests: IRC protocol.
| Path/file | Description
| tests/ | Root of tests.
|    tests.cpp | Program used to run all tests.
|    scripts/ | Root of scripting API tests.
|       test-scripts.cpp | Program used to run the scripting API tests.
|       python/ | Python scripts to generate and run the scripting API tests.
|          testapigen.py | Python script generating scripts in all languages to test the scripting API.
|          testapi.py | Python script with scripting API tests, used by script testapigen.py.
|          unparse.py | Convert Python code to other languages, used by script testapigen.py.
|    unit/ | Root of unit tests.
|       test-plugins.cpp | Tests: plugins.
|       core/ | Root of unit tests for core.
|          test-core-arraylist.cpp | Tests: arraylists.
|          test-core-calc.cpp | Tests: calculation of expressions.
|          test-core-crypto.cpp | Tests: cryptographic functions.
|          test-core-eval.cpp | Tests: evaluation of expressions.
|          test-core-hashtble.cpp | Tests: hashtables.
|          test-core-hdata.cpp | Tests: hdata.
|          test-core-hook.cpp | Tests: hooks.
|          test-core-infolist.cpp | Tests: infolists.
|          test-core-list.cpp | Tests: lists.
|          test-core-secure.cpp | Tests: secured data.
|          test-core-string.cpp | Tests: strings.
|          test-core-url.cpp | Tests: URLs.
|          test-core-utf8.cpp | Tests: UTF-8.
|          test-core-util.cpp | Tests: utility functions.
|       gui/ | Root of unit tests for interfaces.
|          test-gui-color.cpp | Tests: colors.
|          test-gui-line.cpp | Tests: lines.
|          test-gui-nick.cpp | Tests: nicks.
|       plugins/ | Root of unit tests for plugins.
|          irc/ | Root of unit tests for IRC plugin.
|             test-irc-color.cpp | Tests: IRC colors.
|             test-irc-config.cpp | Tests: IRC configuration.
|             test-irc-ignore.cpp | Tests: IRC ignores.
|             test-irc-message.cpp | Tests: IRC messages.
|             test-irc-mode.cpp | Tests: IRC modes.
|             test-irc-nick.cpp | Tests: IRC nicks.
|             test-irc-protocol.cpp | Tests: IRC protocol.
|          relay/ | Root of unit tests for Relay plugin.
|             weechat/ | Root of unit tests for weechat protocol.
|                test-relay-weechat-protocol.cpp | Tests: weechat protocol.
|===
@@ -423,7 +428,7 @@ WeeChat "core" is located in following directories:
Documentation files:
[width="100%",cols="1m,3",options="header"]
[width="100%",cols="1m,2",options="header"]
|===
| Path/file | Description
| doc/ | Documentation.
@@ -449,7 +454,7 @@ Documentation files:
Translations for WeeChat and plugins are done with gettext, files are in _po/_
directory:
[width="100%",cols="1m,3",options="header"]
[width="100%",cols="1m,2",options="header"]
|===
| Path/file | Description
| po/ | Translation files (gettext).
@@ -479,7 +484,7 @@ Example in C:
/*
* weechat.c - core functions for WeeChat
*
* Copyright (C) 2019 Your Name <your@email.com>
* Copyright (C) 2020 Your Name <your@email.com>
*
* This file is part of WeeChat, the extensible chat client.
*
@@ -714,7 +719,7 @@ _irc.c_ in irc plugin.
Examples:
[width="100%",cols="1m,3",options="header"]
[width="100%",cols="1m,2",options="header"]
|===
| Directory | Files
| src/core/ | weechat.c, wee-backtrace.c, wee-command.c, ...
+96 -5
View File
@@ -374,19 +374,29 @@ Other solution is to use a script:
[[change_locale_without_quit]]
=== I want to change the language used by WeeChat for messages, but without exiting WeeChat, is it possible?
Yes, with WeeChat ≥ 1.0:
Sure it is possible:
----
/set env LANG en_US.UTF-8
/upgrade
----
With older WeeChat:
[[timezone]]
=== How can I change the timezone?
There is no option in WeeChat to change the timezone, the environment variable
`TZ` must be set to the appropriate value.
In your shell initialization file or on command line, before starting WeeChat:
----
/script install shell.py
/shell setenv LANG=en_US.UTF-8
/upgrade
export TZ=America/New_York
----
In WeeChat, the new value is immediately used:
----
/set env TZ America/New_York
----
[[use_256_colors]]
@@ -482,6 +492,87 @@ You can just disable bracketed paste mode:
/set weechat.look.paste_bracketed off
----
[[small_terminal]]
=== How can I customize display for very small terminal size (like 80x25), to not waste space?
You can remove side bars (buflist and nicklist), change time format to display
only hours and seconds, disable alignment of messages and set a char for nick
prefix/suffix:
----
/set buflist.look.enabled off
/bar hide nicklist
/set weechat.look.buffer_time_format "%H:%M"
/set weechat.look.prefix_align none
/set weechat.look.align_end_of_lines prefix
/set weechat.look.nick_suffix ">"
/set weechat.look.nick_prefix "<"
----
Terminal 80x25, with default configuration:
....
┌────────────────────────────────────────────────────────────────────────────────┐
│1.local │Welcome on WeeChat channel! │
│ weechat │16:27:16 --> | FlashCode (~flashcode@localhost) │@FlashCode│
│2. #weechat│ | has joined #weechat │ bob │
│ │16:27:16 -- | Mode #weechat [+nt] by hades.arpa │ │
│ │16:27:16 -- | Channel #weechat: 1 nick (1 op, 0 │ │
│ │ | voices, 0 normals) │ │
│ │16:27:18 -- | Channel created on Sun, 22 Mar │ │
│ │ | 2020 16:27:16 │ │
│ │17:02:28 --> | bob (~bob_user@localhost) has │ │
│ │ | joined #weechat │ │
│ │17:03:12 @FlashCode | hi bob, you're the first user │ │
│ │ | here, welcome on the WeeChat │ │
│ │ | support channel! │ │
│ │17:03:33 bob | hi FlashCode │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │[17:04] [2] [irc/local] 2:#weechat(+nt){2} │
│ │[@FlashCode(i)] █ │
└────────────────────────────────────────────────────────────────────────────────┘
....
Terminal 80x25, after changes:
....
┌────────────────────────────────────────────────────────────────────────────────┐
│Welcome on WeeChat channel! │
│16:27 --> FlashCode (~flashcode@localhost) has joined #weechat │
│16:27 -- Mode #weechat [+nt] by hades.arpa │
│16:27 -- Channel #weechat: 1 nick (1 op, 0 voices, 0 normals) │
│16:27 -- Channel created on Sun, 22 Mar 2020 16:27:16 │
│17:02 --> bob (~bob_user@localhost) has joined #weechat │
│17:03 <@FlashCode> hi bob, you're the first user here, welcome on the WeeChat │
│ support channel! │
│17:03 <bob> hi FlashCode │
│ │
│ │
│ │
│ │
│ │
│ │
│ │
│ │
│ │
│ │
│ │
│ │
│ │
│ │
│[17:04] [2] [irc/local] 2:#weechat(+nt){2} │
│[@FlashCode(i)] █ │
└────────────────────────────────────────────────────────────────────────────────┘
....
[[key_bindings]]
== Key bindings
+123 -1
View File
@@ -3326,6 +3326,127 @@ free (string);
[NOTE]
This function is not available in scripting API.
[[crypto]]
=== Cryptography
Some cryptographic functions.
==== crypto_hash
_WeeChat ≥ 2.8._
Compute hash of data.
Prototype:
[source,C]
----
int weechat_crypto_hash (const void *data, int data_size, const char *hash_algo,
void *hash, int *hash_size);
----
Arguments:
* _data_: the data to hash
* _data_size_: number of bytes to hash in _data_
* _hash_algo_: the hash algorithm, see table below
* _hash_: pointer to the hash variable, which is used to store the resulting hash
(the buffer must be large enough, according to the algorithm, see table below)
* _hash_size_: pointer to a variable used to store the size of the hash computed
(in bytes) (can be NULL)
[[crypto_hash_algorithms]]
Supported hash algorithms:
[width="100%",cols="2,2,3,6",options="header"]
|===
| Value | Algorithm | Hash size | Notes
| `+crc32+` | CRC32 | 4 bytes (32 bits) | Not a hash algorithm in the cryptographic sense.
| `+md5+` | MD5 | 16 bytes (128 bits) | *Weak*, not recommended for cryptography usage.
| `+sha1+` | SHA-1 | 20 bytes (160 bits) | *Weak*, not recommended for cryptography usage.
| `+sha224+` | SHA-224 | 28 bytes (224 bits) |
| `+sha256+` | SHA-256 | 32 bytes (256 bits) |
| `+sha384+` | SHA-384 | 48 bytes (384 bits) |
| `+sha512+` | SHA-512 | 64 bytes (512 bits) |
| `+sha3-224+` | SHA3-224 | 28 bytes (224 bits) | Algorithm available with libgcrypt ≥ 1.7.0.
| `+sha3-256+` | SHA3-256 | 32 bytes (256 bits) | Algorithm available with libgcrypt ≥ 1.7.0.
| `+sha3-384+` | SHA3-384 | 48 bytes (384 bits) | Algorithm available with libgcrypt ≥ 1.7.0.
| `+sha3-512+` | SHA3-512 | 64 bytes (512 bits) | Algorithm available with libgcrypt ≥ 1.7.0.
|===
Return value:
* 1 if OK, 0 if error
C example:
[source,C]
----
const char *data = "abcdefghijklmnopqrstuvwxyz";
char hash[256 / 8];
int rc, hash_size;
rc = weechat_crypto_hash (data, strlen (data), "sha256", hash, &hash_size);
/* rc == 1, hash_size == 32 and hash is a buffer with:
71 c4 80 df 93 d6 ae 2f 1e fa d1 44 7c 66 c9 52 5e 31 62 18 cf 51 fc 8d 9e d8 32 f2 da f1 8b 73 */
----
[NOTE]
This function is not available in scripting API.
==== crypto_hash_pbkdf2
_WeeChat ≥ 2.8._
Compute PKCS#5 Passphrase Based Key Derivation Function number 2 (PBKDF2) hash
of data.
Prototype:
[source,C]
----
int weechat_crypto_hash_pbkdf2 (const void *data, int data_size,
const char *hash_algo,
const void *salt, int salt_size,
int iterations,
void *hash, int *hash_size);
----
Arguments:
* _data_: the data to hash
* _data_size_: number of bytes to hash in _data_
* _hash_algo_: hash algorithm used by the key derivation function, see table
in function <<crypto_hash_algorithms,crypto_hash>>
* _salt_: the salt
* _salt_size_: number of bytes in _salt_
* _iterations_: number of iterations
* _hash_: pointer to the hash variable, which is used to store the resulting hash
(the buffer must be large enough, according to the algorithm, see table in
function <<crypto_hash_algorithms,crypto_hash>>)
* _hash_size_: pointer to a variable used to store the size of the hash computed
(in bytes) (can be NULL)
Return value:
* 1 if OK, 0 if error
C example:
[source,C]
----
const char *data = "abcdefghijklmnopqrstuvwxyz";
const char *salt = "12345678901234567890123456789012"; /* 32 bytes */
char hash[256 / 8];
int rc, hash_size;
rc = weechat_crypto_hash_pbkdf2 (data, strlen (data), "sha256", salt, strlen (salt), 100000,
hash, &hash_size);
/* rc == 1, hash_size == 32 and hash is a buffer with:
99 b3 5e 42 53 d1 a7 a8 49 c1 dc 2c e2 53 c2 b6 6d a1 8b dc 6e 78 a7 06 e0 ef 34 db 0a 7a a2 bb */
----
[NOTE]
This function is not available in scripting API.
[[directories]]
=== Directories
@@ -11170,7 +11291,7 @@ def test_whois_cb(data, signal, hashtable):
weechat.prnt("", "output = %s" % hashtable["output"])
return weechat.WEECHAT_RC_OK
weechat.hook_hsignal ("irc_redirection_test_whois", "test_whois_cb", "")
weechat.hook_hsignal("irc_redirection_test_whois", "test_whois_cb", "")
weechat.hook_hsignal_send("irc_redirect_command",
{"server": "freenode", "pattern": "whois", "signal": "test",
"string": "FlashCode"})
@@ -14949,6 +15070,7 @@ Arguments:
Return value:
* string with info asked, NULL if an error occurred
(must be freed by calling "free" after use)
[NOTE]
With WeeChat ≥ 2.5, the value returned is an allocated string
+23
View File
@@ -116,6 +116,9 @@ Arguments:
* _option_: one of following options:
** _password_: password used to authenticate on _relay_
(option _relay.network.password_ in WeeChat)
** _password_hash_: hash of password used to authenticate on _relay_
(option _relay.network.password_ in WeeChat), see below for the format
_(WeeChat ≥ 2.8)_
** _totp_: Time-based One-Time Password (TOTP) used as secondary authentication
factor, in addition to the password
(option _relay.network.totp_secret_ in WeeChat)
@@ -129,6 +132,17 @@ Arguments:
With WeeChat ≥ 1.6, commas can be escaped in the value, for example
`init password=foo\,bar` to send the password "foo,bar".
Format of hashed password is one of the following, where _hash_ is the hashed
password as hexadecimal:
* `+sha256:hash+`
* `+sha512:hash+`
* `+pbkdf2:algorithm:salt:iterations:hash+` with:
** _algorithm_: _sha256_ or _sha512_
** _salt_: salt (hexadecimal)
** _iterations_: number of iterations
** _hash_: the hashed password (hexadecimal)
Examples:
----
@@ -143,6 +157,15 @@ init password=mypass,totp=123456
# initialize and disable compression
init password=mypass,compression=off
# initialize with hashed password (SHA256) (WeeChat ≥ 2.8)
init password_hash=sha256:b9a4c3393dfac4330736684510378851e581c68add8eca84110c31a33e694676
# initialize with hashed password (SHA512) (WeeChat ≥ 2.8)
init password_hash=sha512:4469190d4e0d1fdc0afb6f408d9873c89b8ce89cc4db79fe058255c55ad6821fa5e9bb068f9e578c8ae7cc825d85ff99c439d59e439bc589d95620a1e6b8ae6e
# initialize with hashed password (PBKDF2: SHA256, salt="ABCDEFGHIJKLMNOP", 100000 iterations) (WeeChat ≥ 2.8)
init password_hash=pbkdf2:sha256:4142434445464748494a4b4c4d4e4f50:100000:01757d53157ca14a1419e3a8cc1563536520a60b76d2d48e7f9ac09afc945a1c
----
[[command_hdata]]
+115 -34
View File
@@ -102,7 +102,7 @@ compile WeeChat.
| libncursesw5-dev ^(2)^ | | *yes* | Ncurses interface.
| libcurl4-gnutls-dev | | *yes* | URL transfer.
| zlib1g-dev | | *yes* | Compression of packets in relay plugin (weechat protocol), script plugin.
| libgcrypt20-dev | | *yes* | Secured data, IRC SASL authentication (DH-BLOWFISH/DH-AES), script plugin.
| libgcrypt20-dev | | *yes* | Secured data, IRC SASL authentication (DH-BLOWFISH/DH-AES).
| libgnutls28-dev | ≥ 2.2.0 ^(3)^ | | SSL connection to IRC server, support of SSL in relay plugin, IRC SASL authentication (ECDSA-NIST256P-CHALLENGE).
| gettext | | | Internationalization (translation of messages; base language is English).
| ca-certificates | | | Certificates for SSL connections.
@@ -1777,44 +1777,125 @@ These keys are used in context "mouse", namely when a mouse event occurs.
[width="100%",cols="^.^3,^.^3,^.^3,.^8,.^8",options="header"]
|===
| 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`
| ◾◽◽ | - | chat (script buffer) | Select line in script buffer. | `/script go ${_chat_line_y}`
| ◽◽◾ | - | chat (script buffer) | Install/remove script. | `/script go ${_chat_line_y};/script installremove -q ${script_name_with_extension}`
| 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:[▲] | - | chat (script buffer) | Move 5 lines up in script buffer. | `/script up 5`
| kbd:[▼] | - | chat (script buffer) | Move 5 lines down in script buffer. | `/script down 5`
| kbd:[Ctrl+▲] | - | chat | Scroll horizontally to the left. | `/window scroll_horiz -window ${_window_number} -10%`
| kbd:[Ctrl+▼] | - | chat | Scroll horizontally to the right. | `/window scroll_horiz -window ${_window_number} +10%`
| ◽◽ | up / left | buflist | Move buffer to a lower number. | Signal `buflist_mouse`.
| ◽◽ | down / right | buflist | Move buffer to a higher number. | Signal `buflist_mouse`.
| ◽◽ | - | buflist | Switch to buffer (previously visited buffer if the buffer is the current one). | Signal `buflist_mouse`.
| ◽◽◾ | - | buflist | Switch to next visited buffer if the buffer is the current one. | Signal `buflist_mouse`.
| kbd:[Ctrl+▲] | - | buflist | Switch to previous buffer. | Signal `buflist_mouse`.
| kbd:[Ctrl+▼] | - | buflist | Switch to next buffer. | Signal `buflist_mouse`.
| ◽◽ | up | nicklist | Scroll up one page in nicklist. | `/bar scroll nicklist ${_window_number} -100%`
| ◾◽◽ | down | nicklist | Scroll down one page in nicklist. | `/bar scroll nicklist ${_window_number} +100%`
| ◾◽◽ | up (long) | nicklist | Go to the beginning of nicklist. | `/bar scroll nicklist ${_window_number} b`
| ◾◽◽ | down (long) | nicklist | Go to the end of nicklist. | `/bar scroll nicklist ${_window_number} e`
| ◽◽ | - | nicklist | Open query with nick. | `/window ${_window_number};/query ${nick}`
| ◽◽◾ | - | nicklist | Do a whois on nick. | `/window ${_window_number};/whois ${nick}`
| ◾◽◽ | left | nicklist | Kick nick. | `/window ${_window_number};/kick ${nick}`
| ◾◽◽ | left (long) | nicklist | Kick and ban nick. | `/window ${_window_number};/kickban ${nick}`
| ◽◽ | left | nicklist | Ban nick. | `/window ${_window_number};/ban ${nick}`
| ◽◽ | - | input | Grab a mouse event and insert its code in command line. | `/input grab_mouse_area`
| kbd:[▲] | - | any bar | Scroll bar by -20%. | `/bar scroll ${_bar_name} ${_window_number} -20%`
| kbd:[▼] | - | any bar | Scroll bar by +20%. | `/bar scroll ${_bar_name} ${_window_number} +20%`
| ◽◽ | - | anywhere | Start cursor mode at this point. | `/cursor go ${_x},${_y}`
| 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`
| 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%`
| kbd:[Ctrl+▼] | - | chat | Scroll horizontally to the right. | `/window scroll_horiz -window ${_window_number} +10%`
| kbd:[▲] | - | chat: fset buffer | Move five lines up in fset buffer. | `/fset -up 5`
| kbd:[▼] | - | chat: fset buffer | Move five lines down in fset buffer. | `/fset -down 5`
| ◾◽◽ | - | chat: fset buffer | Select line in fset buffer. | `/window ${_window_number};/fset -go ${_chat_line_y}`
| ◽◽◾ | - | chat: fset buffer | Toggle boolean (on/off) or edit the option value. | `hsignal:fset_mouse`
| ◽◽ | left | chat: fset buffer | Decrease value for integer/color, set/append to value for other types. | `hsignal:fset_mouse`
| ◽◽ | right | chat: fset buffer | Increase value for integer/color, set/append to value for other types. | `hsignal:fset_mouse`
| ◽◽ | up / down | chat: fset buffer | Mark/unmark multiple options. | `hsignal:fset_mouse`
| kbd:[▲] | - | chat: script buffer | Move five lines up in script buffer. | `/script up 5`
| kbd:[▼] | - | chat: script buffer | Move five lines down in script buffer. | `/script down 5`
| ◾◽◽ | - | chat: script buffer | Select line in script buffer. | `/script go ${_chat_line_y}`
| ◽◽ | - | chat: script buffer | Install/remove script. | `/script go ${_chat_line_y};/script installremove -q ${script_name_with_extension}`
| ◾◽◽ | up / left | buflist | Move buffer to a lower number. | Signal `buflist_mouse`.
| ◾◽◽ | down / right | buflist | Move buffer to a higher number. | Signal `buflist_mouse`.
| ◾◽◽ | - | buflist | Switch to buffer (previously visited buffer if the buffer is the current one). | Signal `buflist_mouse`.
| ◽◽ | - | buflist | Switch to next visited buffer if the buffer is the current one. | Signal `buflist_mouse`.
| kbd:[Ctrl+▲] | - | buflist | Switch to previous buffer. | Signal `buflist_mouse`.
| kbd:[Ctrl+▼] | - | buflist | Switch to next buffer. | Signal `buflist_mouse`.
| ◾◽◽ | up | nicklist | Scroll up one page in nicklist. | `/bar scroll nicklist ${_window_number} -100%`
| ◽◽ | down | nicklist | Scroll down one page in nicklist. | `/bar scroll nicklist ${_window_number} +100%`
| ◽◽ | up (long) | nicklist | Go to the beginning of nicklist. | `/bar scroll nicklist ${_window_number} b`
| ◾◽◽ | down (long) | nicklist | Go to the end of nicklist. | `/bar scroll nicklist ${_window_number} e`
| ◾◽◽ | - | nicklist | Open query with nick. | `/window ${_window_number};/query ${nick}`
| ◽◽ | - | nicklist | Do a whois on nick. | `/window ${_window_number};/whois ${nick}`
| ◾◽◽ | left | nicklist | Kick nick. | `/window ${_window_number};/kick ${nick}`
| ◾◽◽ | left (long) | nicklist | Kick and ban nick. | `/window ${_window_number};/kickban ${nick}`
| ◽◽◾ | left | nicklist | Ban nick. | `/window ${_window_number};/ban ${nick}`
| ◽◽◾ | - | input | Grab a mouse event and insert its code in command line. | `/input grab_mouse_area`
| kbd:[▲] | - | any bar | Scroll bar by -20%. | `/bar scroll ${_bar_name} ${_window_number} -20%`
| kbd:[▼] | - | any bar | Scroll bar by +20%. | `/bar scroll ${_bar_name} ${_window_number} +20%`
| ◽◾◽ | - | anywhere | Start cursor mode at this point. | `/cursor go ${_x},${_y}`
|===
[NOTE]
^(1)^ kbd:[▲] and kbd:[▼] are wheel up and down.
[[key_bindings_fset_buffer]]
==== Keys for fset buffer
These keys and actions are used on the fset buffer (see <<fset_plugin,Fset plugin>>).
[width="100%",cols="^.^3,^.^2,.^8,.^5",options="header"]
|===
| 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`
| kbd:[PgDn] | | Move one page down. | `/window page_down`
| kbd:[Alt+Home] | `pass:[<<]` | Move to first line. | `/fset -go 0`
| kbd:[Alt+End] | `pass:[>>]` | Move to last line. | `/fset -go end`
| kbd:[F11] | `pass:[<]` | Scroll horizontally on the left. | `/fset -left`
| kbd:[F12] | `pass:[>]` | Scroll horizontally on the right. | `/fset -right`
| kbd:[Alt+Space] | `t` | Toggle boolean value. | `/fset -toggle`
| kbd:[Alt+-] | `-` | Subtract 1 from value for integer/color, set value for other types. | `/fset -add -1`
| kbd:[Alt++] | `+` | Add 1 to value for integer/color, append to value for other types. | `/fset -add 1`
| kbd:[Alt+f],
kbd:[Alt+r] | `r` | Reset value. | `/fset -reset`
| kbd:[Alt+f],
kbd:[Alt+u] | `u` | Unset value. | `/fset -unset`
| kbd:[Alt+Enter] | `s` | Set value. | `/fset -set`
| kbd:[Alt+f],
kbd:[Alt+n] | `n` | Set new value. | `/fset -setnew`
| kbd:[Alt+f],
kbd:[Alt+a] | `a` | Append to value. | `/fset -append`
| kbd:[Alt+,] | `,` | Mark/unmark option. | `/fset -mark 1`
| kbd:[Shift+↑] | | Move one line up and mark/unmark option. | `/fset -up; /fset -mark`
| kbd:[Shift+↓] | | Mark/unmark option and move one line down. | `/fset -mark; /fset -down`
| | `m:xxx` | Mark options displayed that are matching filter "xxx" (any filter on option or value is allowed, see <<command_fset_fset,fset command>>). |
| | `u:xxx` | Unmark options displayed that are matching filter "xxx" (any filter on option or value is allowed, see <<command_fset_fset,fset command>>). |
| kbd:[Ctrl+l] (`L`) | | Refresh options and whole screen. | `/fset -refresh`
| | `$` | Refresh options (keep marked options). |
| | `$$` | Refresh options (unmark all options). |
| kbd:[Alt+p] | | Toggle plugin description options (`pass:[plugins.desc.*]`). | `/mute /set fset.look.show_plugins_desc toggle`
| kbd:[Alt+v] | | Toggle help bar. | `/bar toggle fset`
| | `s:x,y` | Sort options by fields x,y (see option <<option_fset.look.sort,fset.look.sort>>). | `/mute /set fset.look.sort x,y`
| | `s:` | Reset sort to its default value (see option <<option_fset.look.sort,fset.look.sort>>). | `/mute /unset fset.look.sort`
| | `w:xxx` | Export options in file "xxx". | `/fset -export xxx`
| | `w-:xxx` | Export options in file "xxx" without help. | `/fset -export -nohelp xxx`
| | `w+:xxx` | Export options in file "xxx" with help. | `/fset -export -help xxx`
| kbd:[Ctrl+x] | `x` | Switch the format used to display options. | `/fset -format`
| | `q` | Close fset buffer. | `/buffer close`
|===
[NOTE]
^(1)^ The action must be entered as input on the command line, followed by kbd:[Enter].
[[key_bindings_script_buffer]]
==== Keys for script buffer
These keys and actions are used on the script buffer (see <<scripts_plugins,Script plugin>>).
[width="100%",cols="^.^3,^.^2,.^8,.^5",options="header"]
|===
| Key | Action ^(1)^ | Description | Command
| kbd:[↑] | | Move one line up. | `/script up`
| kbd:[↓] | | Move one line down. | `/script down`
| kbd:[PgUp] | | Move one page up. | `/window page_up`
| kbd:[PgDn] | | Move one page down. | `/window page_down`
| kbd:[Alt+i] | `i` | Install script. | `/script install`
| kbd:[Alt+r] | `r` | Remove script. | `/script remove`
| kbd:[Alt+l] (`L`) | `l` | Load script. | `/script load`
| kbd:[Alt+u] | `u` | Unload script. | `/script unload`
| kbd:[Alt+Shift+A] | `A` | Autoload script. | `/script toggleautoload`
| kbd:[Alt+h] | `h` | Hold/unhold script. | `/script hold`
| kbd:[Alt+v] | `v` | View script. | `/script show`
|===
[NOTE]
^(1)^ The action must be entered as input on the command line, followed by kbd:[Enter].
[[mouse]]
=== Mouse support
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2012-2019 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2012-2020 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-2019 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2012-2020 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-2019 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2020 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-2019 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2020 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2006 Julien Louis <ptitlouis@sysif.net>
#
# This file is part of WeeChat, the extensible chat client.
+2
View File
@@ -213,6 +213,7 @@ _last_irc_server_ +
| _name_   (string) +
_options_   (pointer) +
_temp_server_   (integer) +
_fake_server_   (integer) +
_reloading_from_config_   (integer) +
_reloaded_from_config_   (integer) +
_addresses_eval_   (string) +
@@ -546,6 +547,7 @@ _layout_number_   (integer) +
_layout_number_merge_order_   (integer) +
_name_   (string) +
_full_name_   (string) +
_old_full_name_   (string) +
_short_name_   (string) +
_type_   (integer) +
_notify_   (integer) +
+4
View File
@@ -80,6 +80,8 @@
| tcl | tcl_version | version de l'interpréteur utilisé | -
| weechat | auto_connect | 1 si la connexion automatique aux serveurs est activée, 0 si elle a été désactivée par l'utilisateur (option "-a" ou "--no-connect") | -
| weechat | charset_internal | charset interne à WeeChat | -
| weechat | charset_terminal | charset du terminal | -
@@ -130,6 +132,8 @@
| weechat | weechat_dir | répertoire de WeeChat | -
| weechat | weechat_headless | 1 si WeeChat tourne sans interface | -
| weechat | weechat_libdir | répertoire "lib" de WeeChat | -
| weechat | weechat_localedir | répertoire "locale" de WeeChat | -
@@ -20,6 +20,9 @@ Les lignes avec les tampons sont affichées en utilisant l'évaluation de chaîn
Les variables suivantes peuvent être utilisées dans ces options :
- données de l'objet de barre (voir le hdata "bar_item" dans la doc API pour une liste complète), par exemple :
- ${bar_item.name}
- données de la fenêtre ("window"), où l'objet de barre est affiché (il n'y a pas de fenêtre pour les barres de type "root", voir le hdata "window" dans la doc API pour une liste complète), par exemple :
- ${window.number}
- ${window.buffer.full_name}
- données du tampon (voir le hdata "buffer" dans la doc API pour une liste complète), par exemple :
- ${buffer.number}
- ${buffer.name}
+1 -1
View File
@@ -115,7 +115,7 @@ Touches et entrées pour définir les options sur le tampon fset :
alt+f, alt+r r réinitialiser la valeur
alt+f, alt+u u supprimer/réinitialiser la valeur
alt+entrée s définir la valeur
alt+f, alt+n n définie une nouvelle valeur
alt+f, alt+n n définir une nouvelle valeur
alt+f, alt+a a ajouter à la valeur
alt+',' , marquer/démarquer l'option
shift+haut se déplacer d'une ligne vers le haut et marquer/démarquer l'option
+1 -1
View File
@@ -765,7 +765,7 @@
** valeur par défaut: `+""+`
* [[option_irc.server_default.ssl_password]] *irc.server_default.ssl_password*
** description: pass:none[mot de passe pour la clé privée du certificat SSL (note : le contenu est évalué, voir /help eval ; les options de serveur sont évaluées avec ${irc_server.xxx} et ${server} est remplacé par le nom du serveur)]
** description: pass:none[mot de passe pour la clé privée du certificat SSL ; utilisé seulement avec gnutls >= 3.1.0 (note : le contenu est évalué, voir /help eval ; les options de serveur sont évaluées avec ${irc_server.xxx} et ${server} est remplacé par le nom du serveur)]
** type: chaîne
** valeurs: toute chaîne
** valeur par défaut: `+""+`
+3 -2
View File
@@ -263,11 +263,12 @@ infolists : afficher des infos sur les infolists
* `+eval+`: évaluer une expression
----
/eval [-n|-s] <expression>
[-n] -c <expression1> <opérateur> <expression2>
/eval [-n|-s] [-d] <expression>
[-n] [-d] -c <expression1> <opérateur> <expression2>
-n : afficher le résultat sans envoyer au tampon (mode debug)
-s : découper l'expression avant de l'évaluer (plusieurs commandes peuvent être séparées par des points-virgules)
-d : afficher la sortie de debug après l'évaluation
-c : évaluer comme une condition : utiliser les opérateurs et les parenthèses, retourner une valeur booléenne ("0" ou "1")
expression : expression à évaluer, les variables avec le format ${variable} sont remplacées (voir ci-dessous) ; plusieurs commandes peuvent être séparées par des points-virgules
opérateur : un opérateur logique ou de comparaison :
+1 -1
View File
@@ -1,7 +1,7 @@
WeeChat est écrit par Sébastien Helleu et des contributeurs (la liste complète
est dans le fichier AUTHORS.adoc).
Copyright (C) 2003-2019 {author}
Copyright (C) 2003-2020 {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
+51 -46
View File
@@ -60,7 +60,7 @@ Ce manuel documente seulement le dépôt _weechat_.
Les répertoires principaux de WeeChat sont :
[width="100%",cols="1m,3",options="header"]
[width="100%",cols="1m,2",options="header"]
|===
| Répertoire | Description
| src/ | Racine des sources.
@@ -116,7 +116,7 @@ Le cœur de WeeChat est situé dans les répertoires suivants :
* _src/core/_ : fonctions du cœur (pour manipuler des données)
* _src/gui/_ : fonctions pour l'interface (tampons, fenêtres, ...)
[width="100%",cols="1m,3",options="header"]
[width="100%",cols="1m,2",options="header"]
|===
| Chemin/fichier | Description
| core/ | Fonctions du cœur : point d'entrée, structures internes.
@@ -127,6 +127,7 @@ Le cœur de WeeChat est situé dans les répertoires suivants :
|    wee-completion.c | Complétions par défaut.
|    wee-config-file.c | Gestion des fichiers de configuration.
|    wee-config.c | Options de configuration du cœur de WeeChat (fichier weechat.conf).
|    wee-crypto.c | Fonctions de cryptographie.
|    wee-debug.c | Quelques fonctions de debug.
|    wee-eval.c | Évaluation d'expressions avec des références à des variables internes.
|    wee-hashtable.c | Tables de hachage.
@@ -208,7 +209,7 @@ Le cœur de WeeChat est situé dans les répertoires suivants :
[[sources_plugins]]
==== Extensions
[width="100%",cols="1m,3",options="header"]
[width="100%",cols="1m,2",options="header"]
|===
| Chemin/fichier | Description
| plugins/ | Racine des extensions.
@@ -377,46 +378,50 @@ Le cœur de WeeChat est situé dans les répertoires suivants :
[[sources_tests]]
==== Tests
[width="100%",cols="1m,3",options="header"]
[width="100%",cols="1m,2",options="header"]
|===
| Chemin/fichier | Description
| tests/ | Racine des tests.
|    tests.cpp | Programme utilisé pour lancer tous les tests.
|    scripts/ | Racine des tests de l'API script.
|       test-scripts.cpp | Programme utilisé pour lancer les tests de l'API script.
|       python/ | Scripts Python pour générer et lancer les tests de l'API script.
|          testapigen.py | Script Python générant des scripts dans tous les languages pour tester l'API script.
|          testapi.py | Script Python avec les tests API, utilisé par le script testapigen.py.
|          unparse.py | Conversion de code Python vers d'autres langages, utilisé par le script testapigen.py.
|    unit/ | Racine des tests unitaires.
|       test-plugins.cpp | Tests : extensions.
|       core/ | Racine des tests unitaires pour le cœur.
|          test-core-arraylist.cpp | Tests : listes avec tableau (« arraylists »).
|          test-core-calc.cpp | Tests : calcul d'expressions.
|          test-core-eval.cpp | Tests : évaluation d'expressions.
|          test-core-hashtble.cpp | Tests : tables de hachage.
|          test-core-hdata.cpp | Tests : hdata.
|          test-core-hook.cpp | Tests : hooks.
|          test-core-infolist.cpp | Tests : infolists.
|          test-core-list.cpp | Tests : listes.
|          test-core-secure.cpp | Tests : données sécurisées.
|          test-core-string.cpp | Tests : chaînes.
|          test-core-url.cpp | Tests : URLs.
|          test-core-utf8.cpp | Tests : UTF-8.
|          test-core-util.cpp | Tests : fonctions utiles.
|       gui/ | Racine des tests unitaires pour les interfaces.
|          test-gui-color.cpp | Tests : couleurs.
|          test-gui-line.cpp | Tests : lignes.
|          test-gui-nick.cpp | Tests : pseudos.
|       plugins/ | Racine des tests unitaires pour les extensions.
|          irc/ | Racine des tests unitaires pour l'extension IRC.
|             test-irc-color.cpp | Tests : couleurs IRC.
|             test-irc-config.cpp | Tests : configuration IRC.
|             test-irc-ignore.cpp | Tests : ignores IRC.
|             test-irc-message.cpp | Tests : messages IRC.
|             test-irc-mode.cpp | Tests : modes IRC.
|             test-irc-nick.cpp | Tests : pseudos IRC.
|             test-irc-protocol.cpp | Tests : protocole IRC.
| Chemin/fichier | Description
| tests/ | Racine des tests.
|    tests.cpp | Programme utilisé pour lancer tous les tests.
|    scripts/ | Racine des tests de l'API script.
|       test-scripts.cpp | Programme utilisé pour lancer les tests de l'API script.
|       python/ | Scripts Python pour générer et lancer les tests de l'API script.
|          testapigen.py | Script Python générant des scripts dans tous les languages pour tester l'API script.
|          testapi.py | Script Python avec les tests API, utilisé par le script testapigen.py.
|          unparse.py | Conversion de code Python vers d'autres langages, utilisé par le script testapigen.py.
|    unit/ | Racine des tests unitaires.
|       test-plugins.cpp | Tests : extensions.
|       core/ | Racine des tests unitaires pour le cœur.
|          test-core-arraylist.cpp | Tests : listes avec tableau (« arraylists »).
|          test-core-calc.cpp | Tests : calcul d'expressions.
|          test-core-crypto.cpp | Tests : fonctions cryptographiques.
|          test-core-eval.cpp | Tests : évaluation d'expressions.
|          test-core-hashtble.cpp | Tests : tables de hachage.
|          test-core-hdata.cpp | Tests : hdata.
|          test-core-hook.cpp | Tests : hooks.
|          test-core-infolist.cpp | Tests : infolists.
|          test-core-list.cpp | Tests : listes.
|          test-core-secure.cpp | Tests : données sécurisées.
|          test-core-string.cpp | Tests : chaînes.
|          test-core-url.cpp | Tests : URLs.
|          test-core-utf8.cpp | Tests : UTF-8.
|          test-core-util.cpp | Tests : fonctions utiles.
|       gui/ | Racine des tests unitaires pour les interfaces.
|          test-gui-color.cpp | Tests : couleurs.
|          test-gui-line.cpp | Tests : lignes.
|          test-gui-nick.cpp | Tests : pseudos.
|       plugins/ | Racine des tests unitaires pour les extensions.
|          irc/ | Racine des tests unitaires pour l'extension IRC.
|             test-irc-color.cpp | Tests : couleurs IRC.
|             test-irc-config.cpp | Tests : configuration IRC.
|             test-irc-ignore.cpp | Tests : ignores IRC.
|             test-irc-message.cpp | Tests : messages IRC.
|             test-irc-mode.cpp | Tests : modes IRC.
|             test-irc-nick.cpp | Tests : pseudos IRC.
|             test-irc-protocol.cpp | Tests : protocole IRC.
|          relay/ | Racine des tests unitaires pour l'extension Relay.
|             weechat/ | Racine des tests unitaires pour le protocole weechat.
|                test-relay-weechat-protocol.cpp | Tests : protocole weechat.
|===
[[documentation_translations]]
@@ -424,7 +429,7 @@ Le cœur de WeeChat est situé dans les répertoires suivants :
Fichiers de documentation :
[width="100%",cols="1m,3",options="header"]
[width="100%",cols="1m,2",options="header"]
|===
| Chemin/fichier | Description
| doc/ | Documentation.
@@ -450,7 +455,7 @@ Fichiers de documentation :
Les traductions pour WeeChat et les extensions sont effectuées avec gettext, les
fichiers sont dans le répertoire _po/_ :
[width="100%",cols="1m,3",options="header"]
[width="100%",cols="1m,2",options="header"]
|===
| Chemin/fichier | Description
| po/ | Fichiers de traduction (gettext).
@@ -480,7 +485,7 @@ Exemple en C :
/*
* weechat.c - core functions for WeeChat
*
* Copyright (C) 2019 Your Name <your@email.com>
* Copyright (C) 2020 Your Name <your@email.com>
*
* This file is part of WeeChat, the extensible chat client.
*
@@ -724,7 +729,7 @@ par exemple _irc.c_ pour l'extension irc.
Exemples :
[width="100%",cols="1m,3",options="header"]
[width="100%",cols="1m,2",options="header"]
|===
| Répertoire | Fichiers
| src/core/ | weechat.c, wee-backtrace.c, wee-command.c, ...
+97 -5
View File
@@ -388,19 +388,30 @@ Une autre solution est d'utiliser un script :
[[change_locale_without_quit]]
=== Je souhaite changer la langue des messages affichés par WeeChat, mais sans quitter WeeChat, est-ce possible ?
Oui, avec WeeChat ≥ 1.0 :
Bien sûr, cela est possible :
----
/set env LANG fr_FR.UTF-8
/upgrade
----
Avec un ancien WeeChat :
[[timezone]]
=== Comment puis-je changer le fuseau horaire ?
Il n'y a pas d'option pour changer le fuseau horaire dans WeeChat, la variable
d'environnement `TZ` doit être positionnée à la valeur appropriée.
Dans votre fichier d'initialisation du shell ou sur la ligne de commande, avant
de démarrer WeeChat :
----
/script install shell.py
/shell setenv LANG=fr_FR.UTF-8
/upgrade
export TZ=Europe/Paris
----
Dans WeeChat, la nouvelle valeur est immédiatement utilisée :
----
/set env TZ Europe/Paris
----
[[use_256_colors]]
@@ -501,6 +512,87 @@ Vous pouvez simplement désactiver le mode "bracketed paste" :
/set weechat.look.paste_bracketed off
----
[[small_terminal]]
=== Comment puis-je personnaliser l'affichage pour un tout petit terminal (comme 80x25), pour ne pas perdre de place ?
Vous pouvez retirer les barres latérales (buflist et nicklist), changer le format
de l'heure pour n'afficher que les heures et les secondes, désactiver l'alignement
des messages et définir un caractère de préfixe/suffixe pour les pseudos :
----
/set buflist.look.enabled off
/bar hide nicklist
/set weechat.look.buffer_time_format "%H:%M"
/set weechat.look.prefix_align none
/set weechat.look.align_end_of_lines prefix
/set weechat.look.nick_suffix ">"
/set weechat.look.nick_prefix "<"
----
Terminal 80x25, avec la configuration par défaut :
....
┌────────────────────────────────────────────────────────────────────────────────┐
│1.local │Welcome on WeeChat channel! │
│ weechat │16:27:16 --> | FlashCode (~flashcode@localhost) │@FlashCode│
│2. #weechat│ | has joined #weechat │ bob │
│ │16:27:16 -- | Mode #weechat [+nt] by hades.arpa │ │
│ │16:27:16 -- | Channel #weechat: 1 nick (1 op, 0 │ │
│ │ | voices, 0 normals) │ │
│ │16:27:18 -- | Channel created on Sun, 22 Mar │ │
│ │ | 2020 16:27:16 │ │
│ │17:02:28 --> | bob (~bob_user@localhost) has │ │
│ │ | joined #weechat │ │
│ │17:03:12 @FlashCode | hi bob, you're the first user │ │
│ │ | here, welcome on the WeeChat │ │
│ │ | support channel! │ │
│ │17:03:33 bob | hi FlashCode │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │[17:04] [2] [irc/local] 2:#weechat(+nt){2} │
│ │[@FlashCode(i)] █ │
└────────────────────────────────────────────────────────────────────────────────┘
....
Terminal 80x25, après les changements :
....
┌────────────────────────────────────────────────────────────────────────────────┐
│Welcome on WeeChat channel! │
│16:27 --> FlashCode (~flashcode@localhost) has joined #weechat │
│16:27 -- Mode #weechat [+nt] by hades.arpa │
│16:27 -- Channel #weechat: 1 nick (1 op, 0 voices, 0 normals) │
│16:27 -- Channel created on Sun, 22 Mar 2020 16:27:16 │
│17:02 --> bob (~bob_user@localhost) has joined #weechat │
│17:03 <@FlashCode> hi bob, you're the first user here, welcome on the WeeChat │
│ support channel! │
│17:03 <bob> hi FlashCode │
│ │
│ │
│ │
│ │
│ │
│ │
│ │
│ │
│ │
│ │
│ │
│ │
│ │
│ │
│[17:04] [2] [irc/local] 2:#weechat(+nt){2} │
│[@FlashCode(i)] █ │
└────────────────────────────────────────────────────────────────────────────────┘
....
[[key_bindings]]
== Raccourcis clavier
+124 -1
View File
@@ -3385,6 +3385,128 @@ free (str);
[NOTE]
Cette fonction n'est pas disponible dans l'API script.
[[crypto]]
=== Cryptographie
Fonctions de cryptographie.
==== crypto_hash
_WeeChat ≥ 2.8._
Calculer le hachage des données.
Prototype :
[source,C]
----
int weechat_crypto_hash (const void *data, int data_size, const char *hash_algo,
void *hash, int *hash_size);
----
Paramètres :
* _data_ : les données à hacher
* _data_size_ : nombre d'octets à hacher dans _data_
* _hash_algo_ : l'algorithme de hachage, voir le tableau ci-dessous
* _hash_ : pointeur vers la variable de hachage, qui est utilisée pour stocker
le résultat du hachage (le tampon doit être suffisamment grand, selon
l'algorithme, voir le tableau ci-dessous)
* _hash_size_ : pointeur vers une variable utiliser pour stocker la longueur
du résultat du hachage (en octets) (peut être NULL)
[[crypto_hash_algorithms]]
Algorithmes de hachage supportés :
[width="100%",cols="2,2,3,6",options="header"]
|===
| Valeur | Algorithme | Taille du haché | Notes
| `+crc32+` | CRC32 | 4 octets (32 bits) | Pas un algorithme de hachage au sens cryptographique.
| `+md5+` | MD5 | 16 octets (128 bits) | *Faible*, non recommandé pour un usage cryptographique.
| `+sha1+` | SHA-1 | 20 octets (160 bits) | *Faible*, non recommandé pour un usage cryptographique.
| `+sha224+` | SHA-224 | 28 octets (224 bits) |
| `+sha256+` | SHA-256 | 32 octets (256 bits) |
| `+sha384+` | SHA-384 | 48 octets (384 bits) |
| `+sha512+` | SHA-512 | 64 octets (512 bits) |
| `+sha3-224+` | SHA3-224 | 28 octets (224 bits) | Algorithme disponible avec libgcrypt ≥ 1.7.0.
| `+sha3-256+` | SHA3-256 | 32 octets (256 bits) | Algorithme disponible avec libgcrypt ≥ 1.7.0.
| `+sha3-384+` | SHA3-384 | 48 octets (384 bits) | Algorithme disponible avec libgcrypt ≥ 1.7.0.
| `+sha3-512+` | SHA3-512 | 64 octets (512 bits) | Algorithme disponible avec libgcrypt ≥ 1.7.0.
|===
Valeur de retour :
* 1 si OK, 0 si erreur
Exemple en C :
[source,C]
----
const char *data = "abcdefghijklmnopqrstuvwxyz";
char hash[256 / 8];
int rc, hash_size;
rc = weechat_crypto_hash (data, strlen (data), "sha256", hash, &hash_size);
/* rc == 1, hash_size == 32 et hash est un tampon avec :
71 c4 80 df 93 d6 ae 2f 1e fa d1 44 7c 66 c9 52 5e 31 62 18 cf 51 fc 8d 9e d8 32 f2 da f1 8b 73 */
----
[NOTE]
Cette fonction n'est pas disponible dans l'API script.
==== crypto_hash_pbkdf2
_WeeChat ≥ 2.8._
Calculer le hachage PBKDF2 (PKCS#5 Passphrase Based Key Derivation Function number 2)
des données.
Prototype :
[source,C]
----
int weechat_crypto_hash_pbkdf2 (const void *data, int data_size,
const char *hash_algo,
const void *salt, int salt_size,
int iterations,
void *hash, int *hash_size);
----
Paramètres :
* _data_ : les données à hacher
* _data_size_ : nombre d'octets à hacher dans _data_
* _hash_algo_ : algorithme de hachage utilisé dans la fonction de dérivation
de clé, voir le tableau dans la fonction <<crypto_hash_algorithms,crypto_hash>>
* _salt_ : le sel
* _salt_size_ : nombre d'octets dans _salt_
* _iterations_ : nombre d'itérations
* _hash_ : pointeur vers la variable de hachage, qui est utilisée pour stocker
le résultat du hachage (le tampon doit être suffisamment grand, selon
l'algorithme, voir le tableau dans la fonction <<crypto_hash_algorithms,crypto_hash>>)
* _hash_size_ : pointeur vers une variable utiliser pour stocker la longueur
du résultat du hachage (en octets) (peut être NULL)
Valeur de retour :
* 1 si OK, 0 si erreur
Exemple en C :
[source,C]
----
const char *data = "abcdefghijklmnopqrstuvwxyz";
const char *salt = "12345678901234567890123456789012"; /* 32 octets */
char hash[256 / 8];
int rc, hash_size;
rc = weechat_crypto_hash_pbkdf2 (data, strlen (data), "sha256", salt, strlen (salt), 100000,
hash, &hash_size);
/* rc == 1, hash_size == 32 et hash est un tampon avec :
99 b3 5e 42 53 d1 a7 a8 49 c1 dc 2c e2 53 c2 b6 6d a1 8b dc 6e 78 a7 06 e0 ef 34 db 0a 7a a2 bb */
----
[NOTE]
Cette fonction n'est pas disponible dans l'API script.
[[directories]]
=== Répertoires
@@ -11391,7 +11513,7 @@ def test_whois_cb(data, signal, hashtable):
weechat.prnt("", "sortie = %s" % hashtable["output"])
return weechat.WEECHAT_RC_OK
weechat.hook_hsignal ("irc_redirection_test_whois", "test_whois_cb", "")
weechat.hook_hsignal("irc_redirection_test_whois", "test_whois_cb", "")
weechat.hook_hsignal_send("irc_redirect_command",
{"server": "freenode", "pattern": "whois", "signal": "test",
"string": "FlashCode"})
@@ -15267,6 +15389,7 @@ Paramètres :
Valeur de retour :
* chaîne avec l'information demandée, NULL en cas d'erreur
(doit être supprimée par un appel à "free" après utilisation)
[NOTE]
Avec WeeChat ≥ 2.5, la valeur retournée est une chaîne allouée
+23
View File
@@ -121,6 +121,9 @@ Paramètres :
* _option_ : une des options suivantes :
** _password_ : mot de passe utilisé pour s'authentifier avec _relay_
(option _relay.network.password_ dans WeeChat)
** _password_hash_ : mot de passe haché utilisé pour s'authentifier avec _relay_
(option _relay.network.password_ dans WeeChat), voir ci-dessous pour le format
_(WeeChat ≥ 2.8)_
** _totp_ : mot de passe à usage unique basé sur le temps (TOTP : Time-based
One-Time Password) utilisé comme second facteur d'authentification, en plus
du mot de passe (option _relay.network.totp_secret_ dans WeeChat)
@@ -134,6 +137,17 @@ Paramètres :
Avec WeeChat ≥ 1.6, les virgules peuvent être échappées dans la valeur,
par exemple `init password=foo\,bar` pour envoyer le mot de passe "foo,bar".
Le format du mot de passe haché est l'un des suivants, où _hash_ est le mot
de passe haché en hexadécimal :
* `+sha256:hash+`
* `+sha512:hash+`
* `+pbkdf2:algorithme:sel:itérations:hash+` avec :
** _algorithme_ : _sha256_ ou _sha512_
** _sel_ : sel (hexadécimal)
** _iterations_ : nombre d'itérations
** _hash_ : le mot de passe haché (hexadécimal)
Exemples :
----
@@ -148,6 +162,15 @@ init password=mypass,totp=123456
# initialiser et désactiver la compression
init password=mypass,compression=off
# initialiser avec un mot de passe haché (SHA256) (WeeChat ≥ 2.8)
init password_hash=sha256:b9a4c3393dfac4330736684510378851e581c68add8eca84110c31a33e694676
# initialiser avec un mot de passe haché (SHA512) (WeeChat ≥ 2.8)
init password_hash=sha512:4469190d4e0d1fdc0afb6f408d9873c89b8ce89cc4db79fe058255c55ad6821fa5e9bb068f9e578c8ae7cc825d85ff99c439d59e439bc589d95620a1e6b8ae6e
# initialiser avec un mot de passe haché (PBKDF2: SHA256, sel="ABCDEFGHIJKLMNOP", 100000 itérations) (WeeChat ≥ 2.8)
init password_hash=pbkdf2:sha256:4142434445464748494a4b4c4d4e4f50:100000:01757d53157ca14a1419e3a8cc1563536520a60b76d2d48e7f9ac09afc945a1c
----
[[command_hdata]]
+89 -6
View File
@@ -105,7 +105,7 @@ compiler WeeChat.
| libncursesw5-dev ^(2)^ | | *oui* | Interface ncurses.
| libcurl4-gnutls-dev | | *oui* | Transfert d'URL.
| zlib1g-dev | | *oui* | Compression des paquets dans l'extension relay (protocole weechat), extension script.
| libgcrypt20-dev | | *oui* | Données sécurisées, authentification IRC SASL (DH-BLOWFISH/DH-AES), extension script.
| libgcrypt20-dev | | *oui* | Données sécurisées, authentification IRC SASL (DH-BLOWFISH/DH-AES).
| libgnutls28-dev | ≥ 2.2.0 ^(3)^ | | Connexion SSL au serveur IRC, support SSL dans l'extension relay, authentification IRC SASL (ECDSA-NIST256P-CHALLENGE).
| gettext | | | Internationalisation (traduction des messages; la langue de base est l'anglais).
| ca-certificates | | | Certificats pour les connexions SSL.
@@ -1835,20 +1835,27 @@ Ces touches sont utilisées dans le contexte "mouse", c'est-à-dire lorsqu'un
[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`
| ◾◽◽ | - | chat (tampon script) | Sélectionner la ligne dans le tampon script. | `/script go ${_chat_line_y}`
| ◽◽◾ | - | chat (tampon script) | Installer/supprimer un script. | `/script go ${_chat_line_y};/script installremove -q ${script_name_with_extension}`
| 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:[▲] | - | chat (tampon script) | Monter de 5 lignes dans le tampon script. | `/script up 5`
| kbd:[▼] | - | chat (tampon script) | Descendre de 5 lignes dans le tampon script. | `/script down 5`
| kbd:[Ctrl+▲] | - | chat | Faire défiler horizontalement vers la gauche. | `/window scroll_horiz -window ${_window_number} -10%`
| kbd:[Ctrl+▼] | - | chat | Faire défiler horizontalement vers la droite. | `/window scroll_horiz -window ${_window_number} +10%`
| kbd:[▲] | - | chat : tampon fset | Monter de cinq lignes dans le tampon fset. | `/fset -up 5`
| kbd:[▼] | - | chat : tampon fset | Descendre de cinq lignes dans le tampon fset. | `/fset -down 5`
| ◾◽◽ | - | chat : tampon fset | Sélectionner la ligne dans le tampon fset. | `/window ${_window_number};/fset -go ${_chat_line_y}`
| ◽◽◾ | - | chat : tampon fset | Basculer le booléen (on/off) ou éditer la valeur de l'option. | `hsignal:fset_mouse`
| ◽◽◾ | left | chat : tampon fset | Décrémenter la valeur de l'entier/couleur, définir/ajouter à la valeur pour les autres types. | `hsignal:fset_mouse`
| ◽◽◾ | right | chat : tampon fset | Incrémenter la valeur de l'entier/couleur, définir/ajouter à la valeur pour les autres types. | `hsignal:fset_mouse`
| ◽◽◾ | up / down | chat : tampon fset | Marquer/démarquer de multiples options. | `hsignal:fset_mouse`
| kbd:[▲] | - | chat : tampon script | Monter de 5 lignes dans le tampon script. | `/script up 5`
| kbd:[▼] | - | chat : tampon script | Descendre de 5 lignes dans le tampon script. | `/script down 5`
| ◾◽◽ | - | chat : tampon script | Sélectionner la ligne dans le tampon script. | `/script go ${_chat_line_y}`
| ◽◽◾ | - | chat : tampon script | Installer/supprimer un script. | `/script go ${_chat_line_y};/script installremove -q ${script_name_with_extension}`
| ◾◽◽ | up / left | buflist | Déplacer le tampon vers un numéro inférieur. | Signal `buflist_mouse`.
| ◾◽◽ | down / right | buflist | Déplacer le tampon vers un numéro supérieur. | Signal `buflist_mouse`.
| ◾◽◽ | - | buflist | Aller au tampon (tampon précédent dans la liste des tampons visités si le tampon est le courant). | Signal `buflist_mouse`.
@@ -1873,6 +1880,82 @@ Ces touches sont utilisées dans le contexte "mouse", c'est-à-dire lorsqu'un
[NOTE]
^(1)^ kbd:[▲] et kbd:[▼] sont la roulette vers le haut et le bas.
[[key_bindings_fset_buffer]]
==== Touches pour le tampon fset
Ces touches et actions sont utilisées sur le tampon fset
(voir <<fset_plugin,l'extension Fset>>).
[width="100%",cols="^.^3,^.^2,.^8,.^5",options="header"]
|===
| 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`
| kbd:[PgDn] | | Descendre d'une page. | `/window page_down`
| kbd:[Alt+Home] | `pass:[<<]` | Aller à la première ligne. | `/fset -go 0`
| kbd:[Alt+End] | `pass:[>>]` | Aller à la dernière ligne. | `/fset -go end`
| kbd:[F11] | `pass:[<]` | Faire défiler horizontalement vers la gauche. | `/fset -left`
| kbd:[F12] | `pass:[>]` | Faire défiler horizontalement vers la droite. | `/fset -right`
| kbd:[Alt+Space] | `t` | Basculer la valeur booléenne. | `/fset -toggle`
| kbd:[Alt+-] | `-` | Soustraire 1 de la valeur de l'entier/couleur, définir la valeur pour les autres types. | `/fset -add -1`
| kbd:[Alt++] | `+` | Ajouter 1 à la valeur de l'entier/couleur, ajouter à la valeur pour les autres types. | `/fset -add 1`
| kbd:[Alt+f],
kbd:[Alt+r] | `r` | Réinitialiser la valeur. | `/fset -reset`
| kbd:[Alt+f],
kbd:[Alt+u] | `u` | Supprimer/réinitialiser la valeur. | `/fset -unset`
| kbd:[Alt+Enter] | `s` | Définir la valeur. | `/fset -set`
| kbd:[Alt+f],
kbd:[Alt+n] | `n` | Définir une nouvelle valeur. | `/fset -setnew`
| kbd:[Alt+f],
kbd:[Alt+a] | `a` | Ajouter à la valeur. | `/fset -append`
| kbd:[Alt+,] | `,` | Marquer/démarquer l'option. | `/fset -mark 1`
| kbd:[Shift+↑] | | Se déplacer d'une ligne vers le haut et marquer/démarquer l'option. | `/fset -up; /fset -mark`
| kbd:[Shift+↓] | | Marquer/démarquer l'option et se déplacer d'une ligne vers le bas. | `/fset -mark; /fset -down`
| | `m:xxx` | Marquer les options affichées qui correspondent au filtre "xxx" (tout filtre sur une option ou valeur est autorisé, voir la <<command_fset_fset,commande fset>>). |
| | `u:xxx` | Démarquer les options affichées qui correspondent au filtre "xxx" (tout filtre sur une option ou valeur est autorisé, voir la <<command_fset_fset,commande fset>>). |
| kbd:[Ctrl+l] (`L`) | | Rafraîchir les options et l'écran entier. | `/fset -refresh`
| | `$` | Rafraîchir les options (garder les options marquées). |
| | `$$` | Rafraîchir les options (démarquer toutes les options). |
| kbd:[Alt+p] | | Activer/désactiver la description des options d'extensions (`pass:[plugins.desc.*]`). | `/mute /set fset.look.show_plugins_desc toggle`
| kbd:[Alt+v] | | Activer/désactiver la barre d'aide. | `/bar toggle fset`
| | `s:x,y` | Trier les options par les champs x,y (voir l'option <<option_fset.look.sort,fset.look.sort>>). | `/mute /set fset.look.sort x,y`
| | `s:` | Réinitialiser le tri à sa valeur par défaut (voir l'option <<option_fset.look.sort,fset.look.sort>>). | `/mute /unset fset.look.sort`
| | `w:xxx` | Exporter les options dans le fichier "xxx". | `/fset -export xxx`
| | `w-:xxx` | Exporter les options dans le fichier "xxx" sans aide. | `/fset -export -nohelp xxx`
| | `w+:xxx` | Exporter les options dans le fichier "xxx" avec aide. | `/fset -export -help xxx`
| kbd:[Ctrl+x] | `x` | Basculer le format utilisé pour afficher les options. | `/fset -format`
| | `q` | Fermer le tampon fset. | `/buffer close`
|===
[NOTE]
^(1)^ L'action doit être tapée comme entrée dans la ligne de commande, suivie de kbd:[Enter].
[[key_bindings_script_buffer]]
==== Touches pour le tampon script
Ces touches et actions sont utilisées sur le tampon script
(voir <<scripts_plugins,l'extension Script>>).
[width="100%",cols="^.^3,^.^2,.^8,.^5",options="header"]
|===
| 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`
| kbd:[PgDn] | | Move one page down. | `/window page_down`
| kbd:[Alt+i] | `i` | Install script. | `/script install`
| kbd:[Alt+r] | `r` | Remove script. | `/script remove`
| kbd:[Alt+l] (`L`) | `l` | Load script. | `/script load`
| kbd:[Alt+u] | `u` | Unload script. | `/script unload`
| kbd:[Alt+Shift+A] | `A` | Autoload script. | `/script toggleautoload`
| kbd:[Alt+h] | `h` | Hold/unhold script. | `/script hold`
| kbd:[Alt+v] | `v` | View script. | `/script show`
|===
[NOTE]
^(1)^ L'action doit être tapée comme entrée dans la ligne de commande, suivie de kbd:[Enter].
[[mouse]]
=== Support souris
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2019 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2020 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-2019 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2020 Sébastien Helleu <flashcode@flashtux.org>
#
# This file is part of WeeChat, the extensible chat client.
#
+2
View File
@@ -213,6 +213,7 @@ _last_irc_server_ +
| _name_   (string) +
_options_   (pointer) +
_temp_server_   (integer) +
_fake_server_   (integer) +
_reloading_from_config_   (integer) +
_reloaded_from_config_   (integer) +
_addresses_eval_   (string) +
@@ -546,6 +547,7 @@ _layout_number_   (integer) +
_layout_number_merge_order_   (integer) +
_name_   (string) +
_full_name_   (string) +
_old_full_name_   (string) +
_short_name_   (string) +
_type_   (integer) +
_notify_   (integer) +
+4
View File
@@ -80,6 +80,8 @@
| tcl | tcl_version | version of the interpreter used | -
| weechat | auto_connect | 1 if automatic connection to servers is enabled, 0 if it has been disabled by the user (option "-a" or "--no-connect") | -
| weechat | charset_internal | set caratteri interno di WeeChat | -
| weechat | charset_terminal | set caratteri terminale | -
@@ -130,6 +132,8 @@
| weechat | weechat_dir | directory WeeChat | -
| weechat | weechat_headless | 1 if WeeChat is running headless | -
| weechat | weechat_libdir | directory "lib" di WeeChat | -
| weechat | weechat_localedir | directory "locale" di WeeChat | -
@@ -20,6 +20,9 @@ The lines with buffers are displayed using string evaluation (see /help eval for
The following variables can be used in these options:
- bar item data (see hdata "bar_item" in API doc for a complete list), for example:
- ${bar_item.name}
- window data, where the bar item is displayed (there's no window in root bars, see hdata "window" in API doc for a complete list), for example:
- ${window.number}
- ${window.buffer.full_name}
- buffer data (see hdata "buffer" in API doc for a complete list), for example:
- ${buffer.number}
- ${buffer.name}
+1 -1
View File
@@ -765,7 +765,7 @@
** valore predefinito: `+""+`
* [[option_irc.server_default.ssl_password]] *irc.server_default.ssl_password*
** descrizione: pass:none[password for SSL certificate's private key (note: content is evaluated, see /help eval; server options are evaluated with ${irc_server.xxx} and ${server} is replaced by the server name)]
** descrizione: pass:none[password for SSL certificate's private key; only used with gnutls version >= 3.1.0 (note: content is evaluated, see /help eval; server options are evaluated with ${irc_server.xxx} and ${server} is replaced by the server name)]
** tipo: stringa
** valori: qualsiasi stringa
** valore predefinito: `+""+`
+3 -2
View File
@@ -263,11 +263,12 @@ infolists: display infos about infolists
* `+eval+`: evaluate expression
----
/eval [-n|-s] <expression>
[-n] -c <expression1> <operator> <expression2>
/eval [-n|-s] [-d] <expression>
[-n] [-d] -c <expression1> <operator> <expression2>
-n: display result without sending it to buffer (debug mode)
-s: split expression before evaluating it (many commands can be separated by semicolons)
-d: display debug output after evaluation
-c: evaluate as condition: use operators and parentheses, return a boolean value ("0" or "1")
expression: expression to evaluate, variables with format ${variable} are replaced (see below); many commands can be separated by semicolons
operator: a logical or comparison operator:
+1 -1
View File
@@ -2,7 +2,7 @@
WeeChat is written by Sébastien Helleu and contributors (complete list is in
the AUTHORS.adoc file).
Copyright (C) 2003-2019 {author}
Copyright (C) 2003-2020 {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
+103 -5
View File
@@ -413,7 +413,7 @@ Una soluzione alternativa è usare uno script:
=== Voglio cambiare la lingua utilizzata da WeeChat per i messaggi, ma senza uscire da WeeChat, è possibile?
// TRANSLATION MISSING
Yes, with WeeChat ≥ 1.0:
Sure it is possible:
----
/set env LANG it_IT.UTF-8
@@ -421,12 +421,25 @@ Yes, with WeeChat ≥ 1.0:
----
// TRANSLATION MISSING
With older WeeChat:
[[timezone]]
=== How can I change the timezone?
// TRANSLATION MISSING
There is no option in WeeChat to change the timezone, the environment variable
`TZ` must be set to the appropriate value.
// TRANSLATION MISSING
In your shell initialization file or on command line, before starting WeeChat:
----
/script install shell.py
/shell setenv LANG=it_IT.UTF-8
/upgrade
export TZ=Europe/Rome
----
// TRANSLATION MISSING
In WeeChat, the new value is immediately used:
----
/set env TZ Europe/Rome
----
[[use_256_colors]]
@@ -531,6 +544,91 @@ You can just disable bracketed paste mode:
/set weechat.look.paste_bracketed off
----
// TRANSLATION MISSING
[[small_terminal]]
=== How can I customize display for very small terminal size (like 80x25), to not waste space?
// TRANSLATION MISSING
You can remove side bars (buflist and nicklist), change time format to display
only hours and seconds, disable alignment of messages and set a char for nick
prefix/suffix:
----
/set buflist.look.enabled off
/bar hide nicklist
/set weechat.look.buffer_time_format "%H:%M"
/set weechat.look.prefix_align none
/set weechat.look.align_end_of_lines prefix
/set weechat.look.nick_suffix ">"
/set weechat.look.nick_prefix "<"
----
// TRANSLATION MISSING
Terminal 80x25, with default configuration:
....
┌────────────────────────────────────────────────────────────────────────────────┐
│1.local │Welcome on WeeChat channel! │
│ weechat │16:27:16 --> | FlashCode (~flashcode@localhost) │@FlashCode│
│2. #weechat│ | has joined #weechat │ bob │
│ │16:27:16 -- | Mode #weechat [+nt] by hades.arpa │ │
│ │16:27:16 -- | Channel #weechat: 1 nick (1 op, 0 │ │
│ │ | voices, 0 normals) │ │
│ │16:27:18 -- | Channel created on Sun, 22 Mar │ │
│ │ | 2020 16:27:16 │ │
│ │17:02:28 --> | bob (~bob_user@localhost) has │ │
│ │ | joined #weechat │ │
│ │17:03:12 @FlashCode | hi bob, you're the first user │ │
│ │ | here, welcome on the WeeChat │ │
│ │ | support channel! │ │
│ │17:03:33 bob | hi FlashCode │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │[17:04] [2] [irc/local] 2:#weechat(+nt){2} │
│ │[@FlashCode(i)] █ │
└────────────────────────────────────────────────────────────────────────────────┘
....
// TRANSLATION MISSING
Terminal 80x25, after changes:
....
┌────────────────────────────────────────────────────────────────────────────────┐
│Welcome on WeeChat channel! │
│16:27 --> FlashCode (~flashcode@localhost) has joined #weechat │
│16:27 -- Mode #weechat [+nt] by hades.arpa │
│16:27 -- Channel #weechat: 1 nick (1 op, 0 voices, 0 normals) │
│16:27 -- Channel created on Sun, 22 Mar 2020 16:27:16 │
│17:02 --> bob (~bob_user@localhost) has joined #weechat │
│17:03 <@FlashCode> hi bob, you're the first user here, welcome on the WeeChat │
│ support channel! │
│17:03 <bob> hi FlashCode │
│ │
│ │
│ │
│ │
│ │
│ │
│ │
│ │
│ │
│ │
│ │
│ │
│ │
│ │
│[17:04] [2] [irc/local] 2:#weechat(+nt){2} │
│[@FlashCode(i)] █ │
└────────────────────────────────────────────────────────────────────────────────┘
....
[[key_bindings]]
== Associazioni dei tasti
+126 -1
View File
@@ -3466,6 +3466,130 @@ free (string);
[NOTE]
Questa funzione non è disponibile nelle API per lo scripting.
// TRANSLATION MISSING
[[crypto]]
=== Cryptography
Some cryptographic functions.
// TRANSLATION MISSING
==== crypto_hash
_WeeChat ≥ 2.8._
Compute hash of data.
Prototipo:
[source,C]
----
int weechat_crypto_hash (const void *data, int data_size, const char *hash_algo,
void *hash, int *hash_size);
----
Argomenti:
* _data_: the data to hash
* _data_size_: number of bytes to hash in _data_
* _hash_algo_: the hash algorithm, see table below
* _hash_: pointer to the hash variable, which is used to store the resulting hash
(the buffer must be large enough, according to the algorithm, see table below)
* _hash_size_: pointer to a variable used to store the length of the hash computed
(in bytes) (can be NULL)
[[crypto_hash_algorithms]]
Supported hash algorithms:
[width="100%",cols="2,2,3,6",options="header"]
|===
| Value | Algorithm | Hash size | Notes
| `+crc32+` | CRC32 | 4 bytes (32 bits) | Not a hash algorithm in the cryptographic sense.
| `+md5+` | MD5 | 16 bytes (128 bits) | *Weak*, not recommended for cryptography usage.
| `+sha1+` | SHA-1 | 20 bytes (160 bits) | *Weak*, not recommended for cryptography usage.
| `+sha224+` | SHA-224 | 28 bytes (224 bits) |
| `+sha256+` | SHA-256 | 32 bytes (256 bits) |
| `+sha384+` | SHA-384 | 48 bytes (384 bits) |
| `+sha512+` | SHA-512 | 64 bytes (512 bits) |
| `+sha3-224+` | SHA3-224 | 28 bytes (224 bits) | Algorithm available with libgcrypt ≥ 1.7.0.
| `+sha3-256+` | SHA3-256 | 32 bytes (256 bits) | Algorithm available with libgcrypt ≥ 1.7.0.
| `+sha3-384+` | SHA3-384 | 48 bytes (384 bits) | Algorithm available with libgcrypt ≥ 1.7.0.
| `+sha3-512+` | SHA3-512 | 64 bytes (512 bits) | Algorithm available with libgcrypt ≥ 1.7.0.
|===
Valore restituito:
* 1 if OK, 0 if error
Esempio in C:
[source,C]
----
const char *data = "abcdefghijklmnopqrstuvwxyz";
char hash[256 / 8];
int rc, hash_size;
rc = weechat_crypto_hash (data, strlen (data), "sha256", hash, &hash_size);
/* rc == 1, hash_size == 32 and hash is a buffer with:
71 c4 80 df 93 d6 ae 2f 1e fa d1 44 7c 66 c9 52 5e 31 62 18 cf 51 fc 8d 9e d8 32 f2 da f1 8b 73 */
----
[NOTE]
Questa funzione non è disponibile nelle API per lo scripting.
// TRANSLATION MISSING
==== crypto_hash_pbkdf2
_WeeChat ≥ 2.8._
Compute PKCS#5 Passphrase Based Key Derivation Function number 2 (PBKDF2) hash
of data.
Prototipo:
[source,C]
----
int weechat_crypto_hash_pbkdf2 (const void *data, int data_size,
const char *hash_algo,
const void *salt, int salt_size,
int iterations,
void *hash, int *hash_size);
----
Argomenti:
* _data_: the data to hash
* _data_size_: number of bytes to hash in _data_
* _hash_algo_: hash algorithm used by the key derivation function, see table
in function <<crypto_hash_algorithms,crypto_hash>>
* _salt_: the salt
* _salt_size_: number of bytes in _salt_
* _iterations_: number of iterations
* _hash_: pointer to the hash variable, which is used to store the resulting hash
(the buffer must be large enough, according to the algorithm, see table in
function <<crypto_hash_algorithms,crypto_hash>>)
* _hash_size_: pointer to a variable used to store the size of the hash computed
(in bytes) (can be NULL)
Valore restituito:
* 1 if OK, 0 if error
Esempio in C:
[source,C]
----
const char *data = "abcdefghijklmnopqrstuvwxyz";
const char *salt = "12345678901234567890123456789012"; /* 32 bytes */
char hash[256 / 8];
int rc, hash_size;
rc = weechat_crypto_hash_pbkdf2 (data, strlen (data), "sha256", salt, strlen (salt), 100000,
hash, &hash_size);
/* rc == 1, hash_size == 32 and hash is a buffer with:
99 b3 5e 42 53 d1 a7 a8 49 c1 dc 2c e2 53 c2 b6 6d a1 8b dc 6e 78 a7 06 e0 ef 34 db 0a 7a a2 bb */
----
[NOTE]
Questa funzione non è disponibile nelle API per lo scripting.
[[directories]]
=== Cartelle
@@ -11612,7 +11736,7 @@ def test_whois_cb(data, signal, hashtable):
weechat.prnt("", "output = %s" % hashtable["output"])
return weechat.WEECHAT_RC_OK
weechat.hook_hsignal ("irc_redirection_test_whois", "test_whois_cb", "")
weechat.hook_hsignal("irc_redirection_test_whois", "test_whois_cb", "")
weechat.hook_hsignal_send("irc_redirect_command",
{"server": "freenode", "pattern": "whois", "signal": "test",
"string": "FlashCode"})
@@ -15553,6 +15677,7 @@ Argomenti:
Valore restituito:
* stringa con l'informazione richiesta, NULL in caso di errore
(deve essere liberata richiamando "free" dopo l'utilizzo)
// TRANSLATION MISSING
[NOTE]
+134 -34
View File
@@ -123,7 +123,7 @@ compilare WeeChat.
// TRANSLATION MISSING
| zlib1g-dev | | *sì* | Compression of packets in relay plugin (weechat protocol), script plugin.
// TRANSLATION MISSING
| libgcrypt20-dev | | *sì* | Secured data, IRC SASL authentication (DH-BLOWFISH/DH-AES), script plugin.
| libgcrypt20-dev | | *sì* | Secured data, IRC SASL authentication (DH-BLOWFISH/DH-AES).
// 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).
| gettext | | | Internazionalizzazione (traduzione dei messaggi; la lingua base è l'inglese).
@@ -1892,51 +1892,151 @@ evento del mouse.
[width="100%",cols="^.^3,^.^3,^.^3,.^8,.^8",options="header"]
|===
// TRANSLATION MISSING
| 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`
| ◾◽◽ | - | chat (script buffer) | Select line in script buffer. | `/script go ${_chat_line_y}`
| ◽◽◾ | - | chat (script buffer) | Install/remove script. | `/script go ${_chat_line_y};/script installremove -q ${script_name_with_extension}`
| 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:[▲] | - | chat (script buffer) | Move 5 lines up in script buffer. | `/script up 5`
| kbd:[▼] | - | chat (script buffer) | Move 5 lines down in script buffer. | `/script down 5`
| kbd:[Ctrl+▲] | - | chat | Scroll horizontally to the left. | `/window scroll_horiz -window ${_window_number} -10%`
| kbd:[Ctrl+▼] | - | chat | Scroll horizontally to the right. | `/window scroll_horiz -window ${_window_number} +10%`
| 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`
| 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%`
| kbd:[Ctrl+▼] | - | chat | Scroll horizontally to the right. | `/window scroll_horiz -window ${_window_number} +10%`
// TRANSLATION MISSING
| ◾◽◽ | up / left | buflist | Move buffer to a lower number. | Signal `buflist_mouse`.
| kbd:[▲] | - | chat: fset buffer | Move five lines up in fset buffer. | `/fset -up 5`
// TRANSLATION MISSING
| ◾◽◽ | down / right | buflist | Move buffer to a higher number. | Signal `buflist_mouse`.
| kbd:[▼] | - | chat: fset buffer | Move five lines down in fset buffer. | `/fset -down 5`
// TRANSLATION MISSING
| ◾◽◽ | - | buflist | Switch to buffer (previously visited buffer if the buffer is the current one). | Signal `buflist_mouse`.
| ◾◽◽ | - | chat: fset buffer | Select line in fset buffer. | `/window ${_window_number};/fset -go ${_chat_line_y}`
// TRANSLATION MISSING
| ◽◽◾ | - | buflist | Switch to next visited buffer if the buffer is the current one. | Signal `buflist_mouse`.
| ◽◽◾ | - | chat: fset buffer | Toggle boolean (on/off) or edit the option value. | `hsignal:fset_mouse`
// TRANSLATION MISSING
| kbd:[Ctrl+▲] | - | buflist | Switch to previous buffer. | Signal `buflist_mouse`.
| ◽◽◾ | left | chat: fset buffer | Decrease value for integer/color, set/append to value for other types. | `hsignal:fset_mouse`
// TRANSLATION MISSING
| kbd:[Ctrl+▼] | - | buflist | Switch to next buffer. | Signal `buflist_mouse`.
| ◾◽◽ | su | lista nick | Scorre di una pagina in alto nella lista nick. | `/bar scroll nicklist ${_window_number} -100%`
| ◽◽ | giù | lista nick | Scorre di una pagina in basso nella lista nick. | `/bar scroll nicklist ${_window_number} +100%`
| ◾◽◽ | up (lungo) | lista nick | Sposta all'inizio della lista nick. | `/bar scroll nicklist ${_window_number} b`
| ◾◽◽ | giù (lungo) | lista nick | Sposta alla fine della lista nick. | `/bar scroll nicklist ${_window_number} e`
| ◾◽◽ | - | lista nick | Apre una query con un nick. | `/window ${_window_number};/query ${nick}`
| ◽◽◾ | - | lista nick | Effettua un whois su un nick. | `/window ${_window_number};/whois ${nick}`
| ◾◽◽ | sinistra | lista nick | Kick di un nick. | `/window ${_window_number};/kick ${nick}`
| ◾◽◽ | sinistra (lungo) | lista nick | Kick e ban di un nick. | `/window ${_window_number};/kickban ${nick}`
| ◽◽◾ | sinistra | lista nick | Ban di un nick. | `/window ${_window_number};/ban ${nick}`
| ◽◽◾ | - | input | Cattura un evento del mouse e inserisce il codice nella riga di comando. | `/input grab_mouse_area`
| kbd:[▲] | - | ogni barra | Scorre la barra del -20%. | `/bar scroll ${_bar_name} ${_window_number} -20%`
| kbd:[▼] | - | ogni barra | Scorre la barra del +20%. | `/bar scroll ${_bar_name} ${_window_number} +20%`
| ◽◾◽ | - | ovunque | Avvia la modalità cursore in questo punto. | `/cursor go ${_x},${_y}`
| ◽◽◾ | right | chat: fset buffer | Increase value for integer/color, set/append to value for other types. | `hsignal:fset_mouse`
// TRANSLATION MISSING
| ◽◽ | up / down | chat: fset buffer | Mark/unmark multiple options. | `hsignal:fset_mouse`
// TRANSLATION MISSING
| kbd:[▲] | - | chat: script buffer | Move 5 lines up in script buffer. | `/script up 5`
// TRANSLATION MISSING
| kbd:[▼] | - | chat: script buffer | Move 5 lines down in script buffer. | `/script down 5`
// TRANSLATION MISSING
| ◾◽◽ | - | chat: script buffer | Select line in script buffer. | `/script go ${_chat_line_y}`
// TRANSLATION MISSING
| ◽◽◾ | - | chat: script buffer | Install/remove script. | `/script go ${_chat_line_y};/script installremove -q ${script_name_with_extension}`
// TRANSLATION MISSING
| ◾◽◽ | up / left | buflist | Move buffer to a lower number. | Signal `buflist_mouse`.
// TRANSLATION MISSING
| ◾◽◽ | down / right | buflist | Move buffer to a higher number. | Signal `buflist_mouse`.
// TRANSLATION MISSING
| ◾◽◽ | - | buflist | Switch to buffer (previously visited buffer if the buffer is the current one). | Signal `buflist_mouse`.
// TRANSLATION MISSING
| ◽◽◾ | - | buflist | Switch to next visited buffer if the buffer is the current one. | Signal `buflist_mouse`.
// TRANSLATION MISSING
| kbd:[Ctrl+▲] | - | buflist | Switch to previous buffer. | Signal `buflist_mouse`.
// TRANSLATION MISSING
| kbd:[Ctrl+▼] | - | buflist | Switch to next buffer. | Signal `buflist_mouse`.
| ◾◽◽ | su | lista nick | Scorre di una pagina in alto nella lista nick. | `/bar scroll nicklist ${_window_number} -100%`
| ◾◽◽ | giù | lista nick | Scorre di una pagina in basso nella lista nick. | `/bar scroll nicklist ${_window_number} +100%`
| ◾◽◽ | up (lungo) | lista nick | Sposta all'inizio della lista nick. | `/bar scroll nicklist ${_window_number} b`
| ◾◽◽ | giù (lungo) | lista nick | Sposta alla fine della lista nick. | `/bar scroll nicklist ${_window_number} e`
| ◾◽◽ | - | lista nick | Apre una query con un nick. | `/window ${_window_number};/query ${nick}`
| ◽◽◾ | - | lista nick | Effettua un whois su un nick. | `/window ${_window_number};/whois ${nick}`
| ◾◽◽ | sinistra | lista nick | Kick di un nick. | `/window ${_window_number};/kick ${nick}`
| ◾◽◽ | sinistra (lungo) | lista nick | Kick e ban di un nick. | `/window ${_window_number};/kickban ${nick}`
| ◽◽◾ | sinistra | lista nick | Ban di un nick. | `/window ${_window_number};/ban ${nick}`
| ◽◽◾ | - | input | Cattura un evento del mouse e inserisce il codice nella riga di comando. | `/input grab_mouse_area`
| kbd:[▲] | - | ogni barra | Scorre la barra del -20%. | `/bar scroll ${_bar_name} ${_window_number} -20%`
| kbd:[▼] | - | ogni barra | Scorre la barra del +20%. | `/bar scroll ${_bar_name} ${_window_number} +20%`
| ◽◾◽ | - | ovunque | Avvia la modalità cursore in questo punto. | `/cursor go ${_x},${_y}`
|===
// TRANSLATION MISSING
[NOTE]
^(1)^ kbd:[▲] and kbd:[▼] are wheel up and down.
// TRANSLATION MISSING
[[key_bindings_fset_buffer]]
==== Keys for fset buffer
// TRANSLATION MISSING
These keys and actions are used on the fset buffer (see <<fset_plugin,Fset plugin>>).
// TRANSLATION MISSING
[width="100%",cols="^.^3,^.^2,.^8,.^5",options="header"]
|===
| 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`
| kbd:[PgDn] | | Move one page down. | `/window page_down`
| kbd:[Alt+Home] | `pass:[<<]` | Move to first line. | `/fset -go 0`
| kbd:[Alt+End] | `pass:[>>]` | Move to last line. | `/fset -go end`
| kbd:[F11] | `pass:[<]` | Scroll horizontally on the left. | `/fset -left`
| kbd:[F12] | `pass:[>]` | Scroll horizontally on the right. | `/fset -right`
| kbd:[Alt+Space] | `t` | Toggle boolean value. | `/fset -toggle`
| kbd:[Alt+-] | `-` | Subtract 1 from value for integer/color, set value for other types. | `/fset -add -1`
| kbd:[Alt++] | `+` | Add 1 to value for integer/color, append to value for other types. | `/fset -add 1`
| kbd:[Alt+f],
kbd:[Alt+r] | `r` | Reset value. | `/fset -reset`
| kbd:[Alt+f],
kbd:[Alt+u] | `u` | Unset value. | `/fset -unset`
| kbd:[Alt+Enter] | `s` | Set value. | `/fset -set`
| kbd:[Alt+f],
kbd:[Alt+n] | `n` | Set new value. | `/fset -setnew`
| kbd:[Alt+f],
kbd:[Alt+a] | `a` | Append to value. | `/fset -append`
| kbd:[Alt+,] | `,` | Mark/unmark option. | `/fset -mark 1`
| kbd:[Shift+↑] | | Move one line up and mark/unmark option. | `/fset -up; /fset -mark`
| kbd:[Shift+↓] | | Mark/unmark option and move one line down. | `/fset -mark; /fset -down`
| | `m:xxx` | Mark options displayed that are matching filter "xxx" (any filter on option or value is allowed, see <<command_fset_fset,fset command>>). |
| | `u:xxx` | Unmark options displayed that are matching filter "xxx" (any filter on option or value is allowed, see <<command_fset_fset,fset command>>). |
| kbd:[Ctrl+l] (`L`) | | Refresh options and whole screen. | `/fset -refresh`
| | `$` | Refresh options (keep marked options). |
| | `$$` | Refresh options (unmark all options). |
| kbd:[Alt+p] | | Toggle plugin description options (`pass:[plugins.desc.*]`). | `/mute /set fset.look.show_plugins_desc toggle`
| kbd:[Alt+v] | | Toggle help bar. | `/bar toggle fset`
| | `s:x,y` | Sort options by fields x,y (see option <<option_fset.look.sort,fset.look.sort>>). | `/mute /set fset.look.sort x,y`
| | `s:` | Reset sort to its default value (see option <<option_fset.look.sort,fset.look.sort>>). | `/mute /unset fset.look.sort`
| | `w:xxx` | Export options in file "xxx". | `/fset -export xxx`
| | `w-:xxx` | Export options in file "xxx" without help. | `/fset -export -nohelp xxx`
| | `w+:xxx` | Export options in file "xxx" with help. | `/fset -export -help xxx`
| kbd:[Ctrl+x] | `x` | Switch the format used to display options. | `/fset -format`
| | `q` | Close fset buffer. | `/buffer close`
|===
// TRANSLATION MISSING
[NOTE]
^(1)^ The action must be entered as input on the command line, followed by kbd:[Enter].
// TRANSLATION MISSING
[[key_bindings_script_buffer]]
==== Keys for script buffer
// TRANSLATION MISSING
These keys and actions are used on the script buffer (see <<scripts_plugins,Script plugin>>).
// TRANSLATION MISSING
[width="100%",cols="^.^3,^.^2,.^8,.^5",options="header"]
|===
| Key | Action ^(1)^ | Description | Command
| kbd:[↑] | | Move one line up. | `/script up`
| kbd:[↓] | | Move one line down. | `/script down`
| kbd:[PgUp] | | Move one page up. | `/window page_up`
| kbd:[PgDn] | | Move one page down. | `/window page_down`
| kbd:[Alt+i] | `i` | Install script. | `/script install`
| kbd:[Alt+r] | `r` | Remove script. | `/script remove`
| kbd:[Alt+l] (`L`) | `l` | Load script. | `/script load`
| kbd:[Alt+u] | `u` | Unload script. | `/script unload`
| kbd:[Alt+Shift+A] | `A` | Autoload script. | `/script toggleautoload`
| kbd:[Alt+h] | `h` | Hold/unhold script. | `/script hold`
| kbd:[Alt+v] | `v` | View script. | `/script show`
|===
// TRANSLATION MISSING
[NOTE]
^(1)^ The action must be entered as input on the command line, followed by kbd:[Enter].
[[mouse]]
=== Supporto del mouse
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2019 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2020 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-2019 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2020 Sébastien Helleu <flashcode@flashtux.org>
#
# This file is part of WeeChat, the extensible chat client.
#
+2
View File
@@ -213,6 +213,7 @@ _last_irc_server_ +
| _name_   (string) +
_options_   (pointer) +
_temp_server_   (integer) +
_fake_server_   (integer) +
_reloading_from_config_   (integer) +
_reloaded_from_config_   (integer) +
_addresses_eval_   (string) +
@@ -546,6 +547,7 @@ _layout_number_   (integer) +
_layout_number_merge_order_   (integer) +
_name_   (string) +
_full_name_   (string) +
_old_full_name_   (string) +
_short_name_   (string) +
_type_   (integer) +
_notify_   (integer) +
+4
View File
@@ -80,6 +80,8 @@
| tcl | tcl_version | 使用中のインタプリタのバージョン | -
| weechat | auto_connect | 1 if automatic connection to servers is enabled, 0 if it has been disabled by the user (option "-a" or "--no-connect") | -
| weechat | charset_internal | WeeChat 内部文字セット | -
| weechat | charset_terminal | 端末の文字セット | -
@@ -130,6 +132,8 @@
| weechat | weechat_dir | WeeChat ディレクトリ | -
| weechat | weechat_headless | 1 if WeeChat is running headless | -
| weechat | weechat_libdir | WeeChat "lib" ディレクトリ | -
| weechat | weechat_localedir | WeeChat "locale" ディレクトリ | -
+33 -30
View File
@@ -9,42 +9,45 @@
/buflist bar
refresh
bar: "buflist" バーを追加します
refresh: 強制的にバー要素 (buflistbuflist2buflist3) の内容を最新の状態に更新します
bar: add the "buflist" bar
refresh: force the refresh of the bar items (buflist, buflist2 and buflist3)
各バッファエントリは文字列評価 (書式は /help eval を参照してください) を使って表示されます、以下のオプションで指定します:
- buflist.look.display_conditions: バッファをリスト内に表示する条件
- buflist.format.buffer: 現在のバッファ以外のバッファを表示する書式
- buflist.format.buffer_current: 現在のバッファを表示する書式
The lines with buffers are displayed using string evaluation (see /help eval for the format), with these options:
- buflist.look.display_conditions: conditions to display a buffer in the list
- buflist.format.buffer: format for a buffer which is not current buffer
- buflist.format.buffer_current: format for the current buffer
以下は上記オプションで使用可能な変数です:
- バー要素データ (完全なリストは API リファレンスの hdata "bar_item" を参照してください)、例:
The following variables can be used in these options:
- bar item data (see hdata "bar_item" in API doc for a complete list), for example:
- ${bar_item.name}
- バッファデータ (完全なリストは API リファレンスの hdata "buffer" を参照してください)、例:
- window data, where the bar item is displayed (there's no window in root bars, see hdata "window" in API doc for a complete list), for example:
- ${window.number}
- ${window.buffer.full_name}
- buffer data (see hdata "buffer" in API doc for a complete list), for example:
- ${buffer.number}
- ${buffer.name}
- ${buffer.full_name}
- ${buffer.short_name}
- ${buffer.nicklist_nicks_count}
- irc_server: IRC サーバデータ、IRC バッファのみで定義 (API リファレンスの hdata "irc_server" を参照してください)
- irc_channel: IRC チャンネルデータ、IRC チャンネルバッファのみで定義 (API リファレンスの hdata "irc_channel" を参照してください)
- buflist プラグインが利便性向上の目的で追加した変数:
- ${format_buffer}: buflist.format.buffer オプションの評価結果; 例えば単に背景色を変えるなどの目的で、この変数を buflist.format.buffer_current オプションの中で使うことも可能です。
- ${current_buffer}: ブール値 ("0" または "1")、対象のバッファが現在のバッファの場合に "1"; 次のように条件中で使うことができます: ${if:${current_buffer}?...:...}
- ${merged}: ブール値 ("0" または "1")、対象のバッファが他のバッファとマージされていた場合に "1"; 次のように条件中で使うことができます: ${if:${merged}?...:...}
- ${format_number}: 区切り文字を付けたインデント済み番号 (buflist.format.number オプションの評価結果)
- ${number}: インデント済み番号、例えば 10 から 99 番のバッファがある場合に " 1"; マージされたバッファの場合、この値は空白で区切られたバッファ番号になります
- ${number2}: インデント済み番号、例えば 10 から 99 番のバッファがある場合に " 1"
- ${number_displayed}: 番号が表示される場合に "1"、それ以外の場合に "0"
- ${indent}: 名前用のインデント (チャンネルとプライベートバッファがインデントされます)
- ${format_nick_prefix}: チャンネルにおける色付きニックネームプレフィックス (buflist.format.nick_prefix オプションの評価結果)
- ${color_nick_prefix}: チャンネルにおけるニックネームプレフィックスの色 (buflist.look.nick_prefix オプションが有効化された場合のみ設定されます)
- ${nick_prefix}: チャンネルにおけるニックネームプレフィックス (buflist.look.nick_prefix オプションが有効化された場合のみ設定されます)
- ${format_name}: 書式化済みのニックネーム (buflist.format.name オプションを評価した後の値)
- ${name}: 短縮名 (設定済みの場合)、未設定の場合には名前
- ${color_hotlist}: 対象バッファのホットリストレベルの最大値に対応する色 (buflist.format.hotlist_xxx オプションの評価結果、xxx がレベル)
- ${format_hotlist}: 評価後のホットリスト (buflist.format.hotlist オプションの評価結果)
- ${hotlist}: 評価前のホットリスト
- ${hotlist_priority}: "none""low""message""private""highlight"
- ${format_lag}: IRC サーババッファの遅延時間、遅延がない場合は空 (buflist.format.lag オプションの評価結果)
- irc_server: IRC server data, defined only on an IRC buffer (see hdata "irc_server" in API doc)
- irc_channel: IRC channel data, defined only on an IRC channel buffer (see hdata "irc_channel" in API doc)
- extra variables added by buflist for convenience:
- ${format_buffer}: the evaluated value of option buflist.format.buffer; this can be used in option buflist.format.buffer_current to just change the background color for example
- ${current_buffer}: a boolean ("0" or "1"), "1" if this is the current buffer; it can be used in a condition: ${if:${current_buffer}?...:...}
- ${merged}: a boolean ("0" or "1"), "1" if the buffer is merged with at least another buffer; it can be used in a condition: ${if:${merged}?...:...}
- ${format_number}: indented number with separator (evaluation of option buflist.format.number)
- ${number}: indented number, for example " 1" if there are between 10 and 99 buffers; for merged buffers, this variable is set with number for the first buffer and spaces for the next buffers with same number
- ${number2}: indented number, for example " 1" if there are between 10 and 99 buffers
- ${number_displayed}: "1" if the number is displayed, otherwise "0"
- ${indent}: indentation for name (channel and private buffers are indented) (evaluation of option buflist.format.indent)
- ${format_nick_prefix}: colored nick prefix for a channel (evaluation of option buflist.format.nick_prefix)
- ${color_nick_prefix}: color of nick prefix for a channel (set only if the option buflist.look.nick_prefix is enabled)
- ${nick_prefix}: nick prefix for a channel (set only if the option buflist.look.nick_prefix is enabled)
- ${format_name}: formatted name (evaluation of option buflist.format.name)
- ${name}: the short name (if set), with a fallback on the name
- ${color_hotlist}: the color depending on the highest hotlist level for the buffer (evaluation of option buflist.format.hotlist_xxx where xxx is the level)
- ${format_hotlist}: the formatted hotlist (evaluation of option buflist.format.hotlist)
- ${hotlist}: the raw hotlist
- ${hotlist_priority}: "none", "low", "message", "private" or "highlight"
- ${format_lag}: the lag for an IRC server buffer, empty if there's no lag (evaluation of option buflist.format.lag)
----
+1 -1
View File
@@ -765,7 +765,7 @@
** デフォルト値: `+""+`
* [[option_irc.server_default.ssl_password]] *irc.server_default.ssl_password*
** 説明: pass:none[password for SSL certificate's private key (note: content is evaluated, see /help eval; server options are evaluated with ${irc_server.xxx} and ${server} is replaced by the server name)]
** 説明: pass:none[password for SSL certificate's private key; only used with gnutls version >= 3.1.0 (note: content is evaluated, see /help eval; server options are evaluated with ${irc_server.xxx} and ${server} is replaced by the server name)]
** タイプ: 文字列
** 値: 未制約文字列
** デフォルト値: `+""+`
+3 -2
View File
@@ -263,11 +263,12 @@ infolists: インフォリストに関する情報を表示
* `+eval+`: 式を評価
----
/eval [-n|-s] <expression>
[-n] -c <expression1> <operator> <expression2>
/eval [-n|-s] [-d] <expression>
[-n] [-d] -c <expression1> <operator> <expression2>
-n: display result without sending it to buffer (debug mode)
-s: split expression before evaluating it (many commands can be separated by semicolons)
-d: display debug output after evaluation
-c: evaluate as condition: use operators and parentheses, return a boolean value ("0" or "1")
expression: expression to evaluate, variables with format ${variable} are replaced (see below); many commands can be separated by semicolons
operator: a logical or comparison operator:
+1 -1
View File
@@ -1,7 +1,7 @@
WeeChat は Sébastien Helleu さんと貢献者によって作成されています
(完全なリストは AUTHORS.adoc ファイルを参照してください)。
著作権 (C) 2003-2019 {author}
著作権 (C) 2003-2020 {author}
WeeChat はフリーソフトウェアです。あなたはこれを、フリーソフトウェア財団によって発行された
GNU 一般公衆利用許諾契約書 (バージョン 2 か、希望によってはそれ以降のバージョンのうちどれか)
+56 -46
View File
@@ -64,7 +64,7 @@ qweechat::
主な WeeChat ディレクトリは:
[width="100%",cols="1m,3",options="header"]
[width="100%",cols="1m,2",options="header"]
|===
| ディレクトリ | 説明
| src/ | ソースコードのルートディレクトリ
@@ -120,7 +120,7 @@ WeeChat "core" は以下のディレクトリに配置されています:
* _src/core/_: コア関数 (データ操作用)
* _src/gui/_: インターフェースの関数 (バッファ、ウィンドウ、...)
[width="100%",cols="1m,3",options="header"]
[width="100%",cols="1m,2",options="header"]
|===
| パス/ファイル名 | 説明
| core/ | コア関数: エントリポイント、内部構造体
@@ -132,6 +132,8 @@ WeeChat "core" は以下のディレクトリに配置されています:
|    wee-completion.c | デフォルト補完
|    wee-config-file.c | 設定ファイル管理
|    wee-config.c | WeeChat コアの設定オプション (weechat.conf ファイル)
// TRANSLATION MISSING
|    wee-crypto.c | Cryptographic functions.
|    wee-debug.c | デバッグ用関数
|    wee-eval.c | 内部変数へのリファレンスを含む式を評価
|    wee-hashtable.c | ハッシュテーブル
@@ -213,7 +215,7 @@ WeeChat "core" は以下のディレクトリに配置されています:
[[sources_plugins]]
==== プラグイン
[width="100%",cols="1m,3",options="header"]
[width="100%",cols="1m,2",options="header"]
|===
| パス/ファイル名 | 説明
| plugins/ | プラグインのルートディレクトリ
@@ -383,54 +385,62 @@ WeeChat "core" は以下のディレクトリに配置されています:
[[sources_tests]]
==== テスト
[width="100%",cols="1m,3",options="header"]
[width="100%",cols="1m,2",options="header"]
|===
| パス/ファイル名 | 説明
| tests/ | テスト用のルートディレクトリ
|    tests.cpp | 全テストの実行時に使われるプログラム
|    scripts/ | スクリプト API テスト用のルートディレクトリ
|       test-scripts.cpp | スクリプト API テストの実行時に使われるプログラム
|       python/ | スクリプト API テストを生成、実行する Python スクリプト
|          testapigen.py | スクリプト API のテスト時にすべての言語に関するスクリプトを生成する Python スクリプト
|          testapi.py | スクリプト API テスト時に使われる Python スクリプト (スクリプト testapigen.py から使われます)
|          unparse.py | Python コードを別の言語に変換 (スクリプト testapigen.py から使われます)
|    unit/ | 単体テスト用のルートディレクトリ
|       test-plugins.cpp | テスト: プラグイン
|       core/ | core 向け単体テスト用のルートディレクトリ
|          test-core-arraylist.cpp | テスト: 配列リスト
| パス/ファイル名 | 説明
| tests/ | テスト用のルートディレクトリ
|    tests.cpp | 全テストの実行時に使われるプログラム
|    scripts/ | スクリプト API テスト用のルートディレクトリ
|       test-scripts.cpp | スクリプト API テストの実行時に使われるプログラム
|       python/ | スクリプト API テストを生成、実行する Python スクリプト
|          testapigen.py | スクリプト API のテスト時にすべての言語に関するスクリプトを生成する Python スクリプト
|          testapi.py | スクリプト API テスト時に使われる Python スクリプト (スクリプト testapigen.py から使われます)
|          unparse.py | Python コードを別の言語に変換 (スクリプト testapigen.py から使われます)
|    unit/ | 単体テスト用のルートディレクトリ
|       test-plugins.cpp | テスト: プラグイン
|       core/ | core 向け単体テスト用のルートディレクトリ
|          test-core-arraylist.cpp | テスト: 配列リスト
// TRANSLATION MISSING
|          test-core-calc.cpp | Tests: calculation of expressions.
|          test-core-eval.cpp | テスト: 式の評価
|          test-core-hashtble.cpp | テスト: ハッシュテーブル
|          test-core-hdata.cpp | テスト: hdata
|          test-core-hook.cpp | テスト: フック
|          test-core-infolist.cpp | テスト: インフォリスト
|          test-core-list.cpp | テスト: リスト
|          test-core-secure.cpp | テスト: データ保護
|          test-core-string.cpp | テスト: 文字列
|          test-core-url.cpp | テスト: URL
|          test-core-utf8.cpp | テスト: UTF-8
|          test-core-util.cpp | テスト: ユーティリティ関数
|       gui/ | インターフェースの単体テストを収める最上位ディレクトリ
|          test-core-calc.cpp | Tests: calculation of expressions.
// TRANSLATION MISSING
|          test-gui-color.cpp | Tests: colors.
|          test-gui-line.cpp | テスト:
|          test-core-crypto.cpp | Tests: cryptographic functions.
|          test-core-eval.cpp | テスト: 式の評価
|          test-core-hashtble.cpp | テスト: ハッシュテーブル
|          test-core-hdata.cpp | テスト: hdata
|          test-core-hook.cpp | テスト: フック
|          test-core-infolist.cpp | テスト: インフォリスト
|          test-core-list.cpp | テスト: リスト
|          test-core-secure.cpp | テスト: データ保護
|          test-core-string.cpp | テスト: 文字列
|          test-core-url.cpp | テスト: URL
|          test-core-utf8.cpp | テスト: UTF-8
|          test-core-util.cpp | テスト: ユーティリティ関数
|       gui/ | インターフェースの単体テストを収める最上位ディレクトリ
// TRANSLATION MISSING
|          test-gui-nick.cpp | テスト: nicks
|       plugins/ | プラグインの単体テストを収める最上位ディレクトリ
|          irc/ | IRC プラグインの単体テストを収める最上位ディレクトリ
|          test-gui-color.cpp | Tests: colors.
|          test-gui-line.cpp | テスト: 行
// TRANSLATION MISSING
|             test-irc-color.cpp | Tests: IRC colors.
|             test-irc-config.cpp | テスト: IRC 設定
|          test-gui-nick.cpp | テスト: nicks
|       plugins/ | プラグインの単体テストを収める最上位ディレクトリ
|          irc/ | IRC プラグインの単体テストを収める最上位ディレクトリ
// TRANSLATION MISSING
|             test-irc-ignore.cpp | Tests: IRC ignores.
|             test-irc-color.cpp | Tests: IRC colors.
|             test-irc-config.cpp | テスト: IRC 設定
// TRANSLATION MISSING
|             test-irc-message.cpp | Tests: IRC messages.
|             test-irc-ignore.cpp | Tests: IRC ignores.
// TRANSLATION MISSING
|             test-irc-mode.cpp | Tests: IRC modes.
|             test-irc-message.cpp | Tests: IRC messages.
// TRANSLATION MISSING
|             test-irc-nick.cpp | Tests: IRC nicks.
|             test-irc-protocol.cpp | テスト: IRC プロトコル
|             test-irc-mode.cpp | Tests: IRC modes.
// TRANSLATION MISSING
|             test-irc-nick.cpp | Tests: IRC nicks.
|             test-irc-protocol.cpp | テスト: IRC プロトコル
// TRANSLATION MISSING
|          relay/ | Root of unit tests for Relay plugin.
// TRANSLATION MISSING
|             weechat/ | Root of unit tests for weechat protocol.
// TRANSLATION MISSING
|                test-relay-weechat-protocol.cpp | Tests: weechat protocol.
|===
[[documentation_translations]]
@@ -438,7 +448,7 @@ WeeChat "core" は以下のディレクトリに配置されています:
文書ファイル:
[width="100%",cols="1m,3",options="header"]
[width="100%",cols="1m,2",options="header"]
|===
| パス/ファイル名 | 説明
| doc/ | 文書
@@ -463,7 +473,7 @@ WeeChat "core" は以下のディレクトリに配置されています:
WeeChat とプラグインの翻訳は gettext で行います、ファイルは _po/_ ディレクトリに含まれています:
[width="100%",cols="1m,3",options="header"]
[width="100%",cols="1m,2",options="header"]
|===
| パス/ファイル名 | 説明
| po/ | 翻訳ファイル (gettext)
@@ -491,7 +501,7 @@ WeeChat とプラグインの翻訳は gettext で行います、ファイルは
/*
* weechat.c - core functions for WeeChat
*
* Copyright (C) 2019 Your Name <your@email.com>
* Copyright (C) 2020 Your Name <your@email.com>
*
* This file is part of WeeChat, the extensible chat client.
*
@@ -725,7 +735,7 @@ irc プラグインの _irc.c_ など。
例:
[width="100%",cols="1m,3",options="header"]
[width="100%",cols="1m,2",options="header"]
|===
| ディレクトリ | ファイル
| src/core/ | weechat.c、wee-backtrace.c、wee-command.c、...
+105 -5
View File
@@ -370,19 +370,34 @@ WeeChat バージョン 0.3.6 以上の場合、"eat_newline_glitch"
[[change_locale_without_quit]]
=== WeeChat が出力するメッセージの言語を、再起動せずに変更したいです。このようなことは可能ですか。
WeeChat バージョン 1.0 以上の場合、再起動せずに変更できます:
// TRANSLATION MISSING
Sure it is possible:
----
/set env LANG ja_JP.UTF-8
/upgrade
----
古い WeeChat をお使いの場合は:
// TRANSLATION MISSING
[[timezone]]
=== How can I change the timezone?
// TRANSLATION MISSING
There is no option in WeeChat to change the timezone, the environment variable
`TZ` must be set to the appropriate value.
// TRANSLATION MISSING
In your shell initialization file or on command line, before starting WeeChat:
----
/script install shell.py
/shell setenv LANG=ja_JP.UTF-8
/upgrade
export TZ=Asia/Tokyo
----
// TRANSLATION MISSING
In WeeChat, the new value is immediately used:
----
/set env TZ Asia/Tokyo
----
[[use_256_colors]]
@@ -476,6 +491,91 @@ scrreen
/set weechat.look.paste_bracketed off
----
// TRANSLATION MISSING
[[small_terminal]]
=== How can I customize display for very small terminal size (like 80x25), to not waste space?
// TRANSLATION MISSING
You can remove side bars (buflist and nicklist), change time format to display
only hours and seconds, disable alignment of messages and set a char for nick
prefix/suffix:
----
/set buflist.look.enabled off
/bar hide nicklist
/set weechat.look.buffer_time_format "%H:%M"
/set weechat.look.prefix_align none
/set weechat.look.align_end_of_lines prefix
/set weechat.look.nick_suffix ">"
/set weechat.look.nick_prefix "<"
----
// TRANSLATION MISSING
Terminal 80x25, with default configuration:
....
┌────────────────────────────────────────────────────────────────────────────────┐
│1.local │Welcome on WeeChat channel! │
│ weechat │16:27:16 --> | FlashCode (~flashcode@localhost) │@FlashCode│
│2. #weechat│ | has joined #weechat │ bob │
│ │16:27:16 -- | Mode #weechat [+nt] by hades.arpa │ │
│ │16:27:16 -- | Channel #weechat: 1 nick (1 op, 0 │ │
│ │ | voices, 0 normals) │ │
│ │16:27:18 -- | Channel created on Sun, 22 Mar │ │
│ │ | 2020 16:27:16 │ │
│ │17:02:28 --> | bob (~bob_user@localhost) has │ │
│ │ | joined #weechat │ │
│ │17:03:12 @FlashCode | hi bob, you're the first user │ │
│ │ | here, welcome on the WeeChat │ │
│ │ | support channel! │ │
│ │17:03:33 bob | hi FlashCode │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │[17:04] [2] [irc/local] 2:#weechat(+nt){2} │
│ │[@FlashCode(i)] █ │
└────────────────────────────────────────────────────────────────────────────────┘
....
// TRANSLATION MISSING
Terminal 80x25, after changes:
....
┌────────────────────────────────────────────────────────────────────────────────┐
│Welcome on WeeChat channel! │
│16:27 --> FlashCode (~flashcode@localhost) has joined #weechat │
│16:27 -- Mode #weechat [+nt] by hades.arpa │
│16:27 -- Channel #weechat: 1 nick (1 op, 0 voices, 0 normals) │
│16:27 -- Channel created on Sun, 22 Mar 2020 16:27:16 │
│17:02 --> bob (~bob_user@localhost) has joined #weechat │
│17:03 <@FlashCode> hi bob, you're the first user here, welcome on the WeeChat │
│ support channel! │
│17:03 <bob> hi FlashCode │
│ │
│ │
│ │
│ │
│ │
│ │
│ │
│ │
│ │
│ │
│ │
│ │
│ │
│ │
│[17:04] [2] [irc/local] 2:#weechat(+nt){2} │
│[@FlashCode(i)] █ │
└────────────────────────────────────────────────────────────────────────────────┘
....
[[key_bindings]]
== キー割り当て
+125 -1
View File
@@ -3343,6 +3343,129 @@ free (string);
[NOTE]
スクリプト API ではこの関数を利用できません。
// TRANSLATION MISSING
[[crypto]]
=== Cryptography
Some cryptographic functions.
// TRANSLATION MISSING
==== crypto_hash
_WeeChat バージョン 2.8 以上で利用可。_
Compute hash of data.
プロトタイプ:
[source,C]
----
int weechat_crypto_hash (const void *data, int data_size, const char *hash_algo,
void *hash, int *hash_size);
----
引数:
* _data_: the data to hash
* _data_size_: number of bytes to hash in _data_
* _hash_algo_: the hash algorithm, see table below
* _hash_: pointer to the hash variable, which is used to store the resulting hash
(the buffer must be large enough, according to the algorithm, see table below)
* _hash_size_: pointer to a variable used to store the length of the hash computed
(in bytes) (can be NULL)
[[crypto_hash_algorithms]]
Supported hash algorithms:
[width="100%",cols="2,2,3,6",options="header"]
|===
| Value | Algorithm | Hash size | Notes
| `+crc32+` | CRC32 | 4 bytes (32 bits) | Not a hash algorithm in the cryptographic sense.
| `+md5+` | MD5 | 16 bytes (128 bits) | *Weak*, not recommended for cryptography usage.
| `+sha1+` | SHA-1 | 20 bytes (160 bits) | *Weak*, not recommended for cryptography usage.
| `+sha224+` | SHA-224 | 28 bytes (224 bits) |
| `+sha256+` | SHA-256 | 32 bytes (256 bits) |
| `+sha384+` | SHA-384 | 48 bytes (384 bits) |
| `+sha512+` | SHA-512 | 64 bytes (512 bits) |
| `+sha3-224+` | SHA3-224 | 28 bytes (224 bits) | Algorithm available with libgcrypt ≥ 1.7.0.
| `+sha3-256+` | SHA3-256 | 32 bytes (256 bits) | Algorithm available with libgcrypt ≥ 1.7.0.
| `+sha3-384+` | SHA3-384 | 48 bytes (384 bits) | Algorithm available with libgcrypt ≥ 1.7.0.
| `+sha3-512+` | SHA3-512 | 64 bytes (512 bits) | Algorithm available with libgcrypt ≥ 1.7.0.
|===
戻り値:
* 成功した場合は 1、失敗した場合は 0
C 言語での使用例:
[source,C]
----
const char *data = "abcdefghijklmnopqrstuvwxyz";
char hash[256 / 8];
int rc, hash_size;
rc = weechat_crypto_hash (data, strlen (data), "sha256", hash, &hash_size);
/* rc == 1, hash_size == 32 and hash is a buffer with:
71 c4 80 df 93 d6 ae 2f 1e fa d1 44 7c 66 c9 52 5e 31 62 18 cf 51 fc 8d 9e d8 32 f2 da f1 8b 73 */
----
[NOTE]
スクリプト API ではこの関数を利用できません。
==== crypto_hash_pbkdf2
_WeeChat バージョン 2.8 以上で利用可。_
Compute PKCS#5 Passphrase Based Key Derivation Function number 2 (PBKDF2) hash
of data.
プロトタイプ:
[source,C]
----
int weechat_crypto_hash_pbkdf2 (const void *data, int data_size,
const char *hash_algo,
const void *salt, int salt_size,
int iterations,
void *hash, int *hash_size);
----
引数:
* _data_: the data to hash
* _data_size_: number of bytes to hash in _data_
* _hash_algo_: hash algorithm used by the key derivation function, see table
in function <<crypto_hash_algorithms,crypto_hash>>
* _salt_: the salt
* _salt_size_: number of bytes in _salt_
* _iterations_: number of iterations
* _hash_: pointer to the hash variable, which is used to store the resulting hash
(the buffer must be large enough, according to the algorithm, see table in
function <<crypto_hash_algorithms,crypto_hash>>)
* _hash_size_: pointer to a variable used to store the size of the hash computed
(in bytes) (can be NULL)
戻り値:
* 成功した場合は 1、失敗した場合は 0
C 言語での使用例:
[source,C]
----
const char *data = "abcdefghijklmnopqrstuvwxyz";
const char *salt = "12345678901234567890123456789012"; /* 32 bytes */
char hash[256 / 8];
int rc, hash_size;
rc = weechat_crypto_hash_pbkdf2 (data, strlen (data), "sha256", salt, strlen (salt), 100000,
hash, &hash_size);
/* rc == 1, hash_size == 32 and hash is a buffer with:
99 b3 5e 42 53 d1 a7 a8 49 c1 dc 2c e2 53 c2 b6 6d a1 8b dc 6e 78 a7 06 e0 ef 34 db 0a 7a a2 bb */
----
[NOTE]
スクリプト API ではこの関数を利用できません。
[[directories]]
=== ディレクトリ
@@ -11150,7 +11273,7 @@ def test_whois_cb(data, signal, hashtable):
weechat.prnt("", "output = %s" % hashtable["output"])
return weechat.WEECHAT_RC_OK
weechat.hook_hsignal ("irc_redirection_test_whois", "test_whois_cb", "")
weechat.hook_hsignal("irc_redirection_test_whois", "test_whois_cb", "")
weechat.hook_hsignal_send("irc_redirect_command",
{"server": "freenode", "pattern": "whois", "signal": "test",
"string": "FlashCode"})
@@ -14929,6 +15052,7 @@ char *weechat_info_get (const char *info_name, const char *arguments);
戻り値:
* 指定したインフォを含む文字列、エラーが起きた場合は NULL
(使用後には必ず "free" を呼び出して領域を開放してください)
[NOTE]
WeeChat バージョン 2.5 以上の場合、返却される値は確保された文字列です
+26
View File
@@ -123,6 +123,10 @@ init [<option>=<value>,[<option>=<value>,...]]
* _option_: 以下のうちの 1 つ:
** _password_: _リレー_ の認証用パスワード
(WeeChat の _relay.network.password_ オプション)
// TRANSLATION MISSING
** _password_hash_: hash of password used to authenticate on _relay_
(option _relay.network.password_ in WeeChat), see below for the format
_(WeeChat バージョン 2.8 で利用可能)_
** _totp_: パスワードに加えた二要素認証で利用する時間ベースのワンタイムパスワード (TOTP)
(WeeChat の _relay.network.totp_secret_ オプション)
_(WeeChat バージョン 2.4 で利用可能)_
@@ -135,6 +139,19 @@ init [<option>=<value>,[<option>=<value>,...]]
WeeChat バージョン 1.6 以上の場合、コンマをエスケープすることで value にコンマを設定可能です。例えば
"foo,bar" というパスワードを送信するには `init password=foo\,bar` のように設定してください。
// TRANSLATION MISSING
Format of hashed password is one of the following, where _hash_ is the hashed
password as hexadecimal:
* `+sha256:hash+`
* `+sha512:hash+`
* `+pbkdf2:algorithm:salt:iterations:hash+` with:
** _algorithm_: _sha256_ or _sha512_
** _salt_: salt (hexadecimal)
** _iterations_: number of iterations
** _hash_: the hashed password (hexadecimal)
// TRANSLATION MISSING
例:
----
@@ -149,6 +166,15 @@ init password=mypass,totp=123456
# 圧縮を使わない例
init password=mypass,compression=off
# initialize with hashed password (SHA256) (WeeChat バージョン 2.8 以上の場合)
init password_hash=sha256:b9a4c3393dfac4330736684510378851e581c68add8eca84110c31a33e694676
# initialize with hashed password (SHA512) (WeeChat バージョン 2.8 以上の場合)
init password_hash=sha512:4469190d4e0d1fdc0afb6f408d9873c89b8ce89cc4db79fe058255c55ad6821fa5e9bb068f9e578c8ae7cc825d85ff99c439d59e439bc589d95620a1e6b8ae6e
# initialize with hashed password (PBKDF2: SHA256, salt="ABCDEFGHIJKLMNOP", 100000 iterations) (WeeChat バージョン 2.8 以上の場合)
init password_hash=pbkdf2:sha256:4142434445464748494a4b4c4d4e4f50:100000:01757d53157ca14a1419e3a8cc1563536520a60b76d2d48e7f9ac09afc945a1c
----
[[command_hdata]]
+130 -34
View File
@@ -107,7 +107,7 @@ macOS では https://brew.sh/[Homebrew] を使ってください:
| libncursesw5-dev ^(2)^ | | *必須* | ncurses インターフェース
| libcurl4-gnutls-dev | | *必須* | URL 転送
| zlib1g-dev | | *必須* | relay プラグインでパケットを圧縮 (weechat プロトコル)、スクリプトプラグイン
| libgcrypt20-dev | | *必須* | 保護データ、IRC SASL 認証 (DH-BLOWFISH/DH-AES)、スクリプトプラグイン
| libgcrypt20-dev | | *必須* | 保護データ、IRC SASL 認証 (DH-BLOWFISH/DH-AES)
| libgnutls28-dev | 2.2.0 以上 ^(3)^ | | IRC サーバへの SSL 接続、IRC SASL 認証 (ECDSA-NIST256P-CHALLENGE)
| gettext | | | 国際化 (メッセージの翻訳; ベース言語は英語です)
| ca-certificates | | | SSL 接続に必要な証明書、relay プラグインで SSL サポート
@@ -1789,44 +1789,140 @@ kbd:[Ctrl+r] が押された状態) でのみ有効です。
[width="100%",cols="^.^3,^.^3,^.^3,.^8,.^8",options="header"]
|===
| ボタン/ホイール ^(1)^ | ジェスチャー | エリア | 説明 | コマンド
| ◾◽◽ | - | チャット | ウィンドウに移動 | `/window ${_window_number}`
| ◾◽◽ | 左 | チャット | 前のバッファに移動 | `/window ${_window_number};/buffer +1`
| ◾◽◽ | 右 | チャット | 次のバッファに移動 | `/window ${_window_number};/buffer +1`
| ◾◽◽ | 左 (長く) | チャット | 最初のバッファに移動 | `/window ${_window_number};/buffer 1`
| ◾◽◽ | 右 (長く) | チャット | 最後のバッファに移動 | `/window ${_window_number};/input jump_last_buffer`
| ◾◽◽ | - | チャット (スクリプトバッファ) | スクリプトバッファで行選択 | `/script go ${_chat_line_y}`
| ◽◽◾ | - | チャット (スクリプトバッファ) | スクリプトのインストール `/ 削除 | /script go ${_chat_line_y};/script installremove ${script_name_with_extension}`
| kbd:[▲] | - | チャット | バッファ履歴を上方向にスクロール | `/window scroll_up -window ${_window_number}`
| kbd:[▼] | - | チャット | バッファ履歴を下方向にスクロール | `/window scroll_down -window ${_window_number}`
| kbd:[▲] | - | チャット (スクリプトバッファ) | スクリプトバッファを 5 行上方向にスクロール | `/script up 5`
| kbd:[] | - | チャット (スクリプトバッファ) | スクリプトバッファで 5 行下方向にスクロール | `/script down 5`
| kbd:[Ctrl+▲] | - | チャット | 水平左方向にスクロール | `/window scroll_horiz -window ${_window_number} -10%`
| kbd:[Ctrl+▼] | - | チャット | 水平右方向にスクロール | `/window scroll_horiz -window ${_window_number} +10%`
| ◾◽◽ | 上 / 左 | バッファリスト | 指定したバッファを下の番号に移動 | `buflist_mouse` シグナル
| ◾◽◽ | 下 / 右 | バッファリスト | 指定したバッファを上の番号に移動 | `buflist_mouse` シグナル
| ◾◽◽ | - | バッファリスト | 指定したバッファに切り替える (現在のバッファを指定した場合、バッファ切り替え履歴で前のバッファに切り替える) | `buflist_mouse` シグナル
| ◽◽◾ | - | バッファリスト | 現在のバッファを指定した場合、バッファ切り替え履歴で次のバッファに切り替える | `buflist_mouse` シグナル
| kbd:[Ctrl+▲] | - | バッファリスト | バッファ切り替え履歴で前のバッファに切り替える | `buflist_mouse` シグナル
| kbd:[Ctrl+▼] | - | バッファリスト | バッファ切り替え履歴で次のバッファに切り替える | `buflist_mouse` シグナル
| ◾◽◽ | 上 | ニックネームリスト | ニックネームリストを 1 ページ分上方向にスクロール | `/bar scroll nicklist ${_window_number} -100%`
| ◽◽ | | ニックネームリスト | ニックネームリストを 1 ページ分下方向にスクロール | `/bar scroll nicklist ${_window_number} +100%`
| ◾◽◽ | 上 (長く) | ニックネームリスト | ニックネームリストの最初に移動 | `/bar scroll nicklist ${_window_number} b`
| ◽◽ | 下 (長く) | ニックネームリスト | ニックネームリストの最後に移動 | `/bar scroll nicklist ${_window_number} e`
| ◾◽◽ | - | ニックネームリスト | ニックネームに対するクエリを開く | `/window ${_window_number};/query ${nick}`
| ◽◽◾ | - | ニックネームリスト | ニックネームに対する whois を行う | `/window ${_window_number};/whois ${nick}`
| ◾◽◽ | | ニックネームリスト | ニックネームをキックする | `/window ${_window_number};/kick ${nick}`
| ◽◽ | 左 (長く) | ニックネームリスト | ニックネームをキックとバンする | `/window ${_window_number};/kickban ${nick}`
| ◽◽ | 左 | ニックネームリスト | ニックネームをバンする | `/window ${_window_number};/ban ${nick}`
| ◽◽ | - | 入力 | マウスイベントを奪ってコマンドラインにコードを入力 | `/input grab_mouse_area`
| kbd:[▲] | - | 任意のバー | バーを -20% スクロール | `/bar scroll ${_bar_name} ${_window_number} -20%`
| kbd:[▼] | - | 任意のバー | バーを +20% スクロール | `/bar scroll ${_bar_name} ${_window_number} +20%`
| ◽◾◽ | - | 任意の場所 | この場所でカーソルモードを開始 | `/cursor go ${_x},${_y}`
| ボタン/ホイール ^(1)^ | ジェスチャー | エリア | 説明 | コマンド
| ◾◽◽ | - | チャット | ウィンドウに移動 | `/window ${_window_number}`
| ◾◽◽ | 左 | チャット | 前のバッファに移動 | `/window ${_window_number};/buffer +1`
| ◾◽◽ | 右 | チャット | 次のバッファに移動 | `/window ${_window_number};/buffer +1`
| ◾◽◽ | 左 (長く) | チャット | 最初のバッファに移動 | `/window ${_window_number};/buffer 1`
| ◾◽◽ | 右 (長く) | チャット | 最後のバッファに移動 | `/window ${_window_number};/input jump_last_buffer`
| kbd:[▲] | - | チャット | バッファ履歴を上方向にスクロール | `/window scroll_up -window ${_window_number}`
| kbd:[▼] | - | チャット | バッファ履歴を下方向にスクロール | `/window scroll_down -window ${_window_number}`
| kbd:[Ctrl+▲] | - | チャット | 水平左方向にスクロール | `/window scroll_horiz -window ${_window_number} -10%`
| kbd:[Ctrl+▼] | - | チャット | 水平右方向にスクロール | `/window scroll_horiz -window ${_window_number} +10%`
// TRANSLATION MISSING
| kbd:[] | - | chat: fset buffer | Move five lines up in fset buffer. | `/fset -up 5`
// TRANSLATION MISSING
| kbd:[▼] | - | chat: fset buffer | Move five lines down in fset buffer. | `/fset -down 5`
// TRANSLATION MISSING
| ◾◽◽ | - | chat: fset buffer | Select line in fset buffer. | `/window ${_window_number};/fset -go ${_chat_line_y}`
// TRANSLATION MISSING
| ◽◽◾ | - | chat: fset buffer | Toggle boolean (on/off) or edit the option value. | `hsignal:fset_mouse`
// TRANSLATION MISSING
| ◽◽◾ | left | chat: fset buffer | Decrease value for integer/color, set/append to value for other types. | `hsignal:fset_mouse`
// TRANSLATION MISSING
| ◽◽ | right | chat: fset buffer | Increase value for integer/color, set/append to value for other types. | `hsignal:fset_mouse`
// TRANSLATION MISSING
| ◽◽ | up / down | chat: fset buffer | Mark/unmark multiple options. | `hsignal:fset_mouse`
| kbd:[▲] | - | チャット: スクリプトバッファ | スクリプトバッファを 5 行上方向にスクロール | `/script up 5`
| kbd:[▼] | - | チャット: スクリプトバッファ | スクリプトバッファで 5 行下方向にスクロール | `/script down 5`
| ◾◽◽ | - | チャット: スクリプトバッファ | スクリプトバッファで行選択 | `/script go ${_chat_line_y}`
| ◽◽ | - | チャット: スクリプトバッファ | スクリプトのインストール `/ 削除 | /script go ${_chat_line_y};/script installremove ${script_name_with_extension}`
| ◽◽ | 上 / 左 | バッファリスト | 指定したバッファを下の番号に移動 | `buflist_mouse` シグナル
| ◽◽ | 下 / 右 | バッファリスト | 指定したバッファを上の番号に移動 | `buflist_mouse` シグナル
| ◾◽◽ | - | バッファリスト | 指定したバッファに切り替える (現在のバッファを指定した場合、バッファ切り替え履歴で前のバッファに切り替える) | `buflist_mouse` シグナル
| ◽◽◾ | - | バッファリスト | 現在のバッファを指定した場合、バッファ切り替え履歴で次のバッファに切り替える | `buflist_mouse` シグナル
| kbd:[Ctrl+▲] | - | バッファリスト | バッファ切り替え履歴で前のバッファに切り替える | `buflist_mouse` シグナル
| kbd:[Ctrl+▼] | - | バッファリスト | バッファ切り替え履歴で次のバッファに切り替える | `buflist_mouse` シグナル
| ◾◽◽ | 上 | ニックネームリスト | ニックネームリストを 1 ページ分上方向にスクロール | `/bar scroll nicklist ${_window_number} -100%`
| ◾◽◽ | 下 | ニックネームリスト | ニックネームリストを 1 ページ分下方向にスクロール | `/bar scroll nicklist ${_window_number} +100%`
| ◾◽◽ | 上 (長く) | ニックネームリスト | ニックネームリストの最初に移動 | `/bar scroll nicklist ${_window_number} b`
| ◾◽◽ | 下 (長く) | ニックネームリスト | ニックネームリストの最後に移動 | `/bar scroll nicklist ${_window_number} e`
| ◾◽◽ | - | ニックネームリスト | ニックネームに対するクエリを開く | `/window ${_window_number};/query ${nick}`
| ◽◽◾ | - | ニックネームリスト | ニックネームに対する whois を行う | `/window ${_window_number};/whois ${nick}`
| ◾◽◽ | 左 | ニックネームリスト | ニックネームをキックする | `/window ${_window_number};/kick ${nick}`
| ◾◽◽ | 左 (長く) | ニックネームリスト | ニックネームをキックとバンする | `/window ${_window_number};/kickban ${nick}`
| ◽◽◾ | 左 | ニックネームリスト | ニックネームをバンする | `/window ${_window_number};/ban ${nick}`
| ◽◽◾ | - | 入力 | マウスイベントを奪ってコマンドラインにコードを入力 | `/input grab_mouse_area`
| kbd:[▲] | - | 任意のバー | バーを -20% スクロール | `/bar scroll ${_bar_name} ${_window_number} -20%`
| kbd:[▼] | - | 任意のバー | バーを +20% スクロール | `/bar scroll ${_bar_name} ${_window_number} +20%`
| ◽◾◽ | - | 任意の場所 | この場所でカーソルモードを開始 | `/cursor go ${_x},${_y}`
|===
[NOTE]
^(1)^ kbd:[▲] と kbd:[▼] はホイールの上方向回転と下方向回転に対応します。
// TRANSLATION MISSING
[[key_bindings_fset_buffer]]
==== Keys for fset buffer
// TRANSLATION MISSING
These keys and actions are used on the fset buffer (see <<fset_plugin,Fset plugin>>).
// TRANSLATION MISSING
[width="100%",cols="^.^3,^.^2,.^8,.^5",options="header"]
|===
| 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`
| kbd:[PgDn] | | Move one page down. | `/window page_down`
| kbd:[Alt+Home] | `pass:[<<]` | Move to first line. | `/fset -go 0`
| kbd:[Alt+End] | `pass:[>>]` | Move to last line. | `/fset -go end`
| kbd:[F11] | `pass:[<]` | Scroll horizontally on the left. | `/fset -left`
| kbd:[F12] | `pass:[>]` | Scroll horizontally on the right. | `/fset -right`
| kbd:[Alt+Space] | `t` | Toggle boolean value. | `/fset -toggle`
| kbd:[Alt+-] | `-` | Subtract 1 from value for integer/color, set value for other types. | `/fset -add -1`
| kbd:[Alt++] | `+` | Add 1 to value for integer/color, append to value for other types. | `/fset -add 1`
| kbd:[Alt+f],
kbd:[Alt+r] | `r` | Reset value. | `/fset -reset`
| kbd:[Alt+f],
kbd:[Alt+u] | `u` | Unset value. | `/fset -unset`
| kbd:[Alt+Enter] | `s` | Set value. | `/fset -set`
| kbd:[Alt+f],
kbd:[Alt+n] | `n` | Set new value. | `/fset -setnew`
| kbd:[Alt+f],
kbd:[Alt+a] | `a` | Append to value. | `/fset -append`
| kbd:[Alt+,] | `,` | Mark/unmark option. | `/fset -mark 1`
| kbd:[Shift+↑] | | Move one line up and mark/unmark option. | `/fset -up; /fset -mark`
| kbd:[Shift+↓] | | Mark/unmark option and move one line down. | `/fset -mark; /fset -down`
| | `m:xxx` | Mark options displayed that are matching filter "xxx" (any filter on option or value is allowed, see <<command_fset_fset,fset command>>). |
| | `u:xxx` | Unmark options displayed that are matching filter "xxx" (any filter on option or value is allowed, see <<command_fset_fset,fset command>>). |
| kbd:[Ctrl+l] (`L`) | | Refresh options and whole screen. | `/fset -refresh`
| | `$` | Refresh options (keep marked options). |
| | `$$` | Refresh options (unmark all options). |
| kbd:[Alt+p] | | Toggle plugin description options (`pass:[plugins.desc.*]`). | `/mute /set fset.look.show_plugins_desc toggle`
| kbd:[Alt+v] | | Toggle help bar. | `/bar toggle fset`
| | `s:x,y` | Sort options by fields x,y (see option <<option_fset.look.sort,fset.look.sort>>). | `/mute /set fset.look.sort x,y`
| | `s:` | Reset sort to its default value (see option <<option_fset.look.sort,fset.look.sort>>). | `/mute /unset fset.look.sort`
| | `w:xxx` | Export options in file "xxx". | `/fset -export xxx`
| | `w-:xxx` | Export options in file "xxx" without help. | `/fset -export -nohelp xxx`
| | `w+:xxx` | Export options in file "xxx" with help. | `/fset -export -help xxx`
| kbd:[Ctrl+x] | `x` | Switch the format used to display options. | `/fset -format`
| | `q` | Close fset buffer. | `/buffer close`
|===
// TRANSLATION MISSING
[NOTE]
^(1)^ The action must be entered as input on the command line, followed by kbd:[Enter].
// TRANSLATION MISSING
[[key_bindings_script_buffer]]
==== Keys for script buffer
// TRANSLATION MISSING
These keys and actions are used on the script buffer (see <<scripts_plugins,Script plugin>>).
// TRANSLATION MISSING
[width="100%",cols="^.^3,^.^2,.^8,.^5",options="header"]
|===
| Key | Action ^(1)^ | Description | Command
| kbd:[↑] | | Move one line up. | `/script up`
| kbd:[↓] | | Move one line down. | `/script down`
| kbd:[PgUp] | | Move one page up. | `/window page_up`
| kbd:[PgDn] | | Move one page down. | `/window page_down`
| kbd:[Alt+i] | `i` | Install script. | `/script install`
| kbd:[Alt+r] | `r` | Remove script. | `/script remove`
| kbd:[Alt+l] (`L`) | `l` | Load script. | `/script load`
| kbd:[Alt+u] | `u` | Unload script. | `/script unload`
| kbd:[Alt+Shift+A] | `A` | Autoload script. | `/script toggleautoload`
| kbd:[Alt+h] | `h` | Hold/unhold script. | `/script hold`
| kbd:[Alt+v] | `v` | View script. | `/script show`
|===
// TRANSLATION MISSING
[NOTE]
^(1)^ The action must be entered as input on the command line, followed by kbd:[Enter].
[[mouse]]
=== マウスサポート
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2019 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2020 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-2019 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2020 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2006 Julien Louis <ptitlouis@sysif.net>
#
# This file is part of WeeChat, the extensible chat client.

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