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

Compare commits

..

345 Commits

Author SHA1 Message Date
Sébastien Helleu 82f4f83f2e Version 4.2.3 2024-05-31 13:17:00 +02:00
Sébastien Helleu fc4eeeec97 core: add release notes 2024-05-31 13:15:29 +02:00
Sébastien Helleu 101ed2b56a xfer: fix send of data on the DCC chat buffer after /upgrade if the buffer was opened before the upgrade (issue #2092) 2024-05-31 08:11:55 +02:00
Sébastien Helleu d8e3dee0d3 core, relay: fix include directory of libzstd 2024-05-26 23:53:00 +02:00
Sébastien Helleu 46f671abe4 irc: fix crash in split of IRC message containing a newline if the server is not given 2024-05-25 19:54:35 +02:00
Sébastien Helleu 88b0e90295 Version 4.2.3-dev 2024-04-07 18:42:03 +02:00
Sébastien Helleu abb13d6bcc Version 4.2.2 2024-04-07 18:37:29 +02:00
Sébastien Helleu 0e074aa4bb relay: set the last IRC client disconnection time only after a successful connection (issue #2103) 2024-04-07 18:16:17 +02:00
Sébastien Helleu ea87d42b49 exec: remove trailing space on buffers with free content when line numbers are not displayed 2024-04-07 18:10:08 +02:00
Sébastien Helleu 88cd804eb7 exec: add missing exec tags in lines of buffers with free content (issue #2086) 2024-04-07 18:09:03 +02:00
Sébastien Helleu 3d5d5a64ee core: fix tests on function strftimeval on Alpine 2024-03-24 21:02:08 +01:00
Trygve Aaberge fe14cedf92 core: make search_stop scroll to search start position (issue #2093)
When you run /input search_stop it should scroll to the scroll position
the buffer was at before starting the search, rather than to the bottom
of the buffer.

Fixes a regression introduced in commit b83b428c5c

Fixes #2093
2024-03-13 13:52:42 +01:00
Sébastien Helleu 90b96f9cdd python: fix truncation of unsigned long long integer returned by function string_parse_size 2024-02-25 17:12:41 +01:00
Sébastien Helleu c6e11ac95b tcl: fix truncation of long integer returned by function hdata_long 2024-02-25 16:16:42 +01:00
Sébastien Helleu 4f6af9cf81 core: add missing mouse events "alt-ctrl-button2" and "alt-ctrl-button3" 2024-02-25 13:49:13 +01:00
Sébastien Helleu 641f477c3c script: always display list of scripts when searching scripts with /script search (issue #2077) 2024-02-21 21:40:09 +01:00
Sébastien Helleu 0762856b85 script: fix default mouse keys (issue #2076)
Some parameters of command `/script` were renamed in commit
85b5bacfe3 but the default mouse keys were not
changed and still using the old parameters names.
2024-02-21 21:20:41 +01:00
Sébastien Helleu c576af67b3 irc: add missing tags on self action messages when capability echo-message is enabled (issue #2074) 2024-02-16 21:06:37 +01:00
Sébastien Helleu 9aa2cbd365 core: move lines from 4.1.0 to 4.2.0 in ChangeLog 2024-02-11 14:37:26 +01:00
Sébastien Helleu 798e6fe4cc core: add again line about function hook_url in ChangeLog (issue #1723) 2024-02-11 14:23:16 +01:00
Sébastien Helleu 65a7d92b93 trigger: fix memory leak when adding a new trigger with /trigger command 2024-02-10 18:00:51 +01:00
Sébastien Helleu b43fcac7d6 ci: remove tests on macOS 11 2024-02-04 14:06:14 +01:00
Sébastien Helleu 9b846cb947 scripts: fix crash on script unload when a hook is created in a buffer close callback (issue #2067) 2024-02-04 13:59:44 +01:00
Sébastien Helleu 61bcf8dc02 Version 4.2.2-dev 2024-02-04 13:58:53 +01:00
Sébastien Helleu 9ad62dec1e Version 4.2.1 2024-01-22 18:46:53 +01:00
Sébastien Helleu f9cc10005c irc: fix random date displayed when a received message contains tags but no "time" (issue #2064) 2024-01-22 13:59:46 +01:00
Sébastien Helleu e42e632408 Version 4.2.1-dev 2024-01-22 13:09:45 +01:00
Sébastien Helleu 017d9bd975 Version 4.2.0 2024-01-21 09:33:14 +01:00
Sébastien Helleu 05fdb2929f tests: add missing format string in calls to snprintf 2024-01-21 09:17:11 +01:00
Sébastien Helleu d5b61f565e core: add versions 4.0.8 and 4.1.3 in ChangeLog and release notes 2024-01-20 09:27:35 +01:00
Ivan Pešić ff1c3d37d1 core: Update Serbian messages 2024-01-15 10:25:17 +01:00
Ivan Pešić f5a0a6c507 doc: Update Serbian translation 2024-01-15 10:25:17 +01:00
Nils Görs bee3fb311b core: update German translations 2024-01-15 07:44:28 +01:00
Sébastien Helleu 3efcdbd521 doc/dev: remove conflict marker in Serbian doc 2024-01-14 00:29:47 +01:00
Sébastien Helleu 869fba9f74 irc: add tests on info functions (issue #2059) 2024-01-12 17:58:36 +01:00
Sébastien Helleu becdf76224 irc: check if arguments are not NULL in some infos
Affected infos:

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

  nick | #channel :this is a test

instead of:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

A server name is added in the two infos and is optional, for backward
compatibility.
2023-08-24 09:24:51 +02:00
Sébastien Helleu c2426e88c9 irc: add functions to convert strings to lower/upper case (following casemapping) (issue #194) 2023-08-24 09:24:42 +02:00
Sébastien Helleu 09eae3e2af irc: add tests on server functions 2023-08-23 15:33:34 +02:00
Sébastien Helleu 25b3f2eae7 irc: fix string comparison when CASEMAPPING is set to "ascii" 2023-08-23 15:33:34 +02:00
Sébastien Helleu 9462c87ce5 tests: add tests on string comparison functions with range of 29 chars 2023-08-23 12:14:07 +02:00
Sébastien Helleu 03927a3283 irc: check that server is not NULL in function irc_server_eval_fingerprint 2023-08-23 12:08:59 +02:00
Sébastien Helleu 7afc43901d irc: move function irc_server_fingerprint_search_algo_with_size 2023-08-23 12:06:59 +02:00
676 changed files with 93573 additions and 67359 deletions
-43
View File
@@ -1,43 +0,0 @@
---
name: Bug report
about: Create a bug report (please do not report security issues here)
labels: bug
---
<!-- Please do not report any security issue here, see file Contributing.adoc -->
## Bug summary
## Steps to reproduce
1. 
2. 
3. 
## Current behavior
## Expected behavior
## Suggested solutions
## Additional information
---
<!-- MANDATORY INFO: -->
- WeeChat version: 
- OS, distribution and version: 
- Terminal: 
- Terminal multiplexer (screen/tmux/…/none): 
+110
View File
@@ -0,0 +1,110 @@
name: Bug report
description: Create a bug report
labels: ["bug"]
body:
- type: markdown
attributes:
value: |
Before submitting a bug, please check that it has not already been reported by searching in [open and closed bugs](https://github.com/weechat/weechat/issues?q=is%3Aissue+label%3Abug).
If you don't use the latest version, please try if possible with the latest stable release to be sure the issue is still present and report the issue on this version.
**IMPORTANT**: please do not report any security issue here, see [Contributing.adoc](https://github.com/weechat/weechat/blob/master/Contributing.adoc#security-reports).
- type: textarea
id: bug-description
attributes:
label: Describe the bug
description: A clear and concise description of what the bug is.
validations:
required: true
- type: textarea
id: steps-to-reproduce
attributes:
label: Steps to reproduce
description: |
Steps to reproduce the issue.
If possible, please try to reproduce with a default configuration and no scripts loaded (`weechat -t`). If the issue is related to a script, please mention the list of all scripts loaded.
placeholder: |
1.
2.
3.
validations:
required: true
- type: textarea
id: current-behavior
attributes:
label: Current behavior
description: |
What currently happens.
validations:
required: true
- type: textarea
id: expected-behavior
attributes:
label: Expected behavior
description: What is actually supposed to happen.
validations:
required: true
- type: textarea
id: suggested-solutions
attributes:
label: Suggested solutions
description: How you think this issue can be resolved.
validations:
required: false
- type: textarea
id: additional-information
attributes:
label: Additional information
description: |
For a crash, please include a backtrace from gdb, see the [User's guide](https://weechat.org/doc/weechat/user/#report_crashes).
For a display issue, please add a screenshot if it makes sense.
Please mention if other versions are affected as well and if some versions are not affected (regression?).
And any additional information you deem relevant.
validations:
required: false
- type: input
id: weechat-version
attributes:
label: WeeChat version
description: |
For a stable release: output of `weechat --version`.
For the development version: output of command `/v` in WeeChat.
placeholder: "4.1.1"
validations:
required: true
- type: input
id: os-version
attributes:
label: What OS are you using?
description: Name of the operating system and its version.
placeholder: Debian 12, Ubuntu 23.10, MacOS 14, ...
validations:
required: true
- type: input
id: terminal
attributes:
label: On which terminal are you running WeeChat?
description: The name of terminal if you think it can be related to the issue (mainly for display issues).
placeholder: Terminator, Xterm, GNOME Terminal, Urxvt, ...
validations:
required: false
- type: input
id: terminal-multiplexer
attributes:
label: Which terminal multiplexer are you using?
description: The name of the terminal multiplexer if you think it can be related to the issue (mainly for display issues).
placeholder: none, tmux, screen, ...
validations:
required: false
@@ -1,8 +0,0 @@
---
name: Feature request
about: Request a new feature / enhancement
labels: feature
---
## Feature description
@@ -0,0 +1,17 @@
name: Feature request
description: Request a new feature / enhancement
labels: ["feature"]
body:
- type: markdown
attributes:
value: |
Before submitting a feature request, please check that it has not already been reported by searching in [open and closed feature requests](https://github.com/weechat/weechat/issues?q=is%3Aissue+label%3Afeature).
- type: textarea
id: feature
attributes:
label: Feature description
description: A description of the feature you would like.
validations:
required: true
-19
View File
@@ -1,19 +0,0 @@
---
name: Question
about: >
Ask a question (please read first FAQ and docs and ask on #weechat channel
before opening any question issue)
labels: question
---
<!-- Please read first FAQ/docs and ask on #weechat channel before opening any question issue -->
## Question
---
- WeeChat version: 
- OS, distribution and version: 
+19
View File
@@ -0,0 +1,19 @@
name: Question
description: Ask a question
labels: ["question"]
body:
- type: markdown
attributes:
value: |
Before opening an issue with a question:
- please read the [FAQ](https://weechat.org/doc/weechat/faq) and [documentation](https://weechat.org/doc/weechat/)
- please ask on #weechat channel (on server irc.libera.chat).
- type: textarea
id: question
attributes:
label: Question
description: Your question.
validations:
required: true
+3 -1
View File
@@ -19,6 +19,7 @@ jobs:
- { name: "gcc", cc: "gcc", cxx: "g++", buildargs: "" }
- { name: "gcc_ninja", cc: "gcc", cxx: "g++", buildargs: "-G Ninja" }
- { name: "gcc_no_nls", cc: "gcc", cxx: "g++", buildargs: "-DENABLE_NLS=OFF -DENABLE_DOC=OFF" }
- { name: "gcc_no_zstd", cc: "gcc", cxx: "g++", buildargs: "-DENABLE_ZSTD=OFF -DENABLE_DOC=OFF" }
- { name: "gcc_coverage", cc: "gcc", cxx: "g++", buildargs: "-DENABLE_CODE_COVERAGE=ON" }
- { name: "clang", cc: "clang", cxx: "clang++", buildargs: "" }
@@ -33,6 +34,8 @@ jobs:
run: |
sudo apt-get update -qq
sudo apt-get --yes --no-install-recommends install ${{ env.WEECHAT_DEPENDENCIES }}
# uninstall php imagick as is causes a crash when loading php plugin (see #2009)
sudo apt-get --yes purge php8.1-imagick
sudo -H pip3 install --ignore-installed msgcheck
- name: Check gettext files
@@ -82,7 +85,6 @@ jobs:
matrix:
os:
- macos-12
- macos-11
config:
- { name: "gcc", cc: "gcc", cxx: "g++" }
- { name: "clang", cc: "clang", cxx: "clang++" }
+2
View File
@@ -81,10 +81,12 @@ Alphabetically:
* Lázaro A.
* Leonid Evdokimov
* Linus Heckemann
* LuK1337
* Maarten de Vries
* Mantas Mikulėnas (grawity)
* Marco Paolone
* Marco Sirabella
* Mario Campos
* Mateusz Poszwa
* Matt Robinson
* Matthew Horan
+12 -16
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2023 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2024 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2007-2008 Julien Louis <ptitlouis@sysif.net>
# Copyright (C) 2008-2009 Emmanuel Bouthenot <kolter@openics.org>
#
@@ -99,6 +99,7 @@ option(ENABLE_NCURSES "Compile the Ncurses interface" ON)
option(ENABLE_HEADLESS "Compile the headless binary" ON)
option(ENABLE_NLS "Enable Native Language Support" ON)
option(ENABLE_LARGEFILE "Enable Large File Support" ON)
option(ENABLE_ZSTD "Enable Zstandard compression" ON)
option(ENABLE_ALIAS "Enable Alias plugin" ON)
option(ENABLE_BUFLIST "Enable Buflist plugin" ON)
option(ENABLE_CHARSET "Enable Charset plugin" ON)
@@ -200,20 +201,6 @@ if(ENABLE_LARGEFILE)
add_definitions(-D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -D_LARGE_FILES)
endif()
# Check for Gettext
if(ENABLE_NLS)
find_package(Gettext)
if(GETTEXT_FOUND)
add_definitions(-DENABLE_NLS)
find_package(Intl)
if(Intl_FOUND)
list(APPEND EXTRA_LIBS "${Intl_LIBRARIES}")
endif()
else()
message(SEND_ERROR "Gettext not found")
endif()
endif()
# Check for libgcrypt
find_package(GCRYPT REQUIRED)
add_definitions(-DHAVE_GCRYPT)
@@ -230,7 +217,10 @@ list(APPEND EXTRA_LIBS gnutls)
find_package(ZLIB REQUIRED)
# Check for zstd
pkg_check_modules(LIBZSTD REQUIRED libzstd)
if(ENABLE_ZSTD)
pkg_check_modules(LIBZSTD REQUIRED libzstd)
add_definitions(-DHAVE_ZSTD)
endif()
# Check for iconv
find_package(Iconv)
@@ -258,7 +248,13 @@ endif()
add_subdirectory(icons)
if(ENABLE_NLS)
find_package(Gettext REQUIRED)
add_definitions(-DENABLE_NLS)
find_package(Intl REQUIRED)
list(APPEND EXTRA_LIBS "${Intl_LIBRARIES}")
add_subdirectory(po)
else()
add_custom_target(translations COMMAND true)
endif()
add_subdirectory(src)
+247 -7
View File
@@ -10,18 +10,179 @@ This document lists all the changes for each version. +
For a list of important changes that require manual actions, please look at release notes.
[[v4.1.0]]
== Version 4.1.0 (under dev)
[[v4.2.3]]
== Version 4.2.3 (2024-05-31)
Bug fixes::
* xfer: fix send of data on the DCC chat buffer after `/upgrade` if the buffer was opened before the upgrade (issue #2092)
* irc: fix crash in split of IRC message containing a newline if the server is not given
* core, relay: fix include directory of libzstd
[[v4.2.2]]
== Version 4.2.2 (2024-04-07)
Bug fixes::
* core: fix reset to initial scroll position after search of text in buffer (issue #2093)
* core: add missing mouse events "alt-ctrl-button2" and "alt-ctrl-button3"
* exec: remove trailing space on buffers with free content when line numbers are not displayed
* exec: add missing exec tags in lines of buffers with free content (issue #2086)
* irc: add missing tags on self action messages when capability echo-message is enabled (issue #2074)
* python: fix truncation of unsigned long long integer returned by function string_parse_size
* relay: set the last IRC client disconnection time only after a successful connection (issue #2103)
* script: always display list of scripts when searching scripts with `/script search` (issue #2077)
* script: fix default mouse keys (issue #2076)
* scripts: fix crash on script unload when a hook is created in a buffer close callback (issue #2067)
* tcl: fix truncation of long integer returned by function hdata_long
* trigger: fix memory leak when adding a new trigger with `/trigger` command
Tests::
* core: fix tests on function strftimeval on Alpine
[[v4.2.1]]
== Version 4.2.1 (2024-01-22)
Bug fixes::
* irc: fix random date displayed when a received message contains tags but no "time" (issue #2064)
[[v4.2.0]]
== Version 4.2.0 (2024-01-21)
New features::
* core: add variable "opening" in buffer, do not send buffer signals when the buffer is opening
* core: store microseconds in buffer lines (issue #649)
* core: evaluate expressions even when the suffix is missing ("}" by default) (issue #2042, issue #1714)
* core: add syntax highlighting in evaluation of expressions with `raw_hl:string` and `hl:string`, add option weechat.color.eval_syntax_colors (issue #2042)
* core: add option `search_history` in command `/input`, add key kbd:[Ctrl+r] to search in commands history, add key context "histsearch" (issue #2040)
* core: add option weechat.look.buffer_search_history (issue #2040)
* core: add key kbd:[Ctrl+o] to send command found and insert next one in input (issue #2040)
* core: add buffer variables "text_search_direction", "text_search_history" and "text_search_ptr_history" (issue #2040)
* core: move key kbd:[Ctrl+r] to kbd:[Ctrl+s] (issue #2040)
* core: move key kbd:[Ctrl+s], kbd:[Ctrl+u] to kbd:[Alt+Shift+U] (issue #2040)
* core: display only version with command `/version`, add options `-o` and `-ol` in command `/upgrade`
* core: add number of processes in command `/sys waitpid`
* core, alias, trigger: allow wildcard in commands `/bar`, `/item`, `/proxy`, `/alias` and `/trigger` (issue #1956)
* api: add support of format/translation of command arguments description line by line (issue #2005)
* api: add function string_concat (issue #2005)
* api: add functions util_strftimeval, util_parse_time, printf_datetime_tags, printf_y_datetime_tags (issue #649)
* api: add argument "date_usec" in hook_print callback (issue #649)
* api: add property "type" in function buffer_get_string
* api: add info "mouse"
* buflist: jump to previous/next buffer displayed in buflist item with ctrl+wheel up/down on a buflist item (issue #1473)
* irc: add option irc.look.display_host_wallops
* irc: add server option "anti_flood" (now in milliseconds), remove server options "anti_flood_prio_{high|low}" (issue #1039)
* irc: add option irc.look.list_buffer
* irc: change default value of server option "tls_priorities" to `NORMAL`
* irc: add support of RGB colors in messages, add option irc.color.term_remap (issue #2025)
* irc: add tags "nick_xxx" and "host_xxx" in all messages, including self and server messages
* irc: add option irc.look.ignore_tag_messages (issue #989)
* relay: change default value of option relay.network.tls_priorities to `NORMAL`
* trigger: change format of variables `${tg_date}` from "%Y-%m-%d %H:%M:%S" to "%FT%T.%f" (issue #649)
* trigger: rename local variable "trigger_filter" to "filter" on monitor buffer (issue #2037)
Bug fixes::
* core: fix crash on plugin reload when using musl libc (issue #2052)
* core: fix infinite loop in display when the chat area is too small (issue #2053)
* core: fix value of buffer variable "num_history" when the value defined in option weechat.history.max_commands is reached
* core: remove incorrect warning when binding keys kbd:[F10] to kbd:[F20] (issue #2039)
* core: call hook config when options are removed
* core: display an error with command `/history N` when N is not a valid integer
* core: fix memory leak when config version is invalid or not supported
* core: fix crash when "config_version" is present in a configuration file without a value
* core: display an error on startup if environment variable "HOME" is not set
* core: fix crash when a custom bar item name is already used by a default bar item (issue #2034)
* core: fix random timeouts when a lot of concurrent processes are launched with hook_process (issue #2033)
* api: return NULL instead of empty infolist "key" when context is not found
* irc: check if arguments are not NULL in some infos
* irc: fix info "irc_is_message_ignored" (issue #2059)
* irc: fix display of self messages when the message split fails due to inconsistent max lengths sent by the server in message 005
* irc: display messages 730/731 (monitored nicks online/offline) even if command `/notify` was not used (issue #2049)
* irc: remove trailing "\r\n" in signals "irc_out" and "irc_outtags" when messages are queued
* irc: fix target buffer of IRC message 337 (whois reply: "is hiding their idle time")
* irc: revert compute of nick colors to case sensitive way, deprecate again infos "irc_nick_color" and "irc_nick_color_name" (issue #194, issue #2032)
* relay: close properly connection with the IRC client in case of server disconnection (issue #2038)
* ruby: fix use of NULL variable when displaying exception
Tests::
* core: add tests on plugin config and plugin API info functions
* irc: add tests on info functions
Build::
* core: make libintl.h required if CMake option ENABLE_NLS is enabled (issue #2031)
* ruby: add detection of Ruby 3.3
[[v4.1.3]]
== Version 4.1.3 (2024-01-20)
Bug fixes::
* core: fix crash on plugin reload when using musl libc (issue #2052)
* core: fix infinite loop in display when the chat area is too small (issue #2053)
* irc: check if arguments are not NULL in some infos
* irc: fix info "irc_is_message_ignored" (issue #2059)
* irc: fix display of self messages when the message split fails due to inconsistent max lengths sent by the server in message 005
[[v4.1.2]]
== Version 4.1.2 (2023-12-03)
Bug fixes::
* core: fix value of buffer variable "num_history" when the value defined in option weechat.history.max_commands is reached
* core: remove incorrect warning when binding keys kbd:[F10] to kbd:[F20] (issue #2039)
* core: fix memory leak when config version is invalid or not supported
* core: fix crash when "config_version" is present in a configuration file without a value
* core: display an error on startup if environment variable "HOME" is not set
* irc: remove trailing "\r\n" in signals "irc_out" and "irc_outtags" when messages are queued
* irc: fix target buffer of IRC message 337 (whois reply: "is hiding their idle time")
* relay: close properly connection with the IRC client in case of server disconnection (issue #2038)
* ruby: fix use of NULL variable when displaying exception
[[v4.1.1]]
== Version 4.1.1 (2023-10-26)
Bug fixes::
* core: fix crash when a custom bar item name is already used by a default bar item (issue #2034)
* core: fix random timeouts when a lot of concurrent processes are launched with hook_process (issue #2033)
* irc: revert compute of nick colors to case sensitive way, deprecate again infos "irc_nick_color" and "irc_nick_color_name" (issue #194, issue #2032)
Build::
* core: make libintl.h required if CMake option ENABLE_NLS is enabled (issue #2031)
[[v4.1.0]]
== Version 4.1.0 (2023-10-15)
New features::
* core: add completion "eval_variables", used in completion of `/eval`
* core: add command `/sys` to show resource limits/usage and suspend WeeChat process, add key kbd:[Ctrl+z] to suspend WeeChat (issue #985)
* core: ignore key bindings with empty command
* core: add support of quotes in commands `/key bind` and `/key bindctxt`
* core: evaluate command given to `/repeat` with contextual variables (issue #2007)
* core: add option `callbacks` in command `/debug`
* core: add option type "enum" (issue #1973)
* core: add options weechat.buffer.* to save buffer properties set by user, add option `setauto` in command `/buffer` (issue #352)
* core: add parameters and key bindings to move to edges of current area with commands `/cursor go` and `/cursor move` (issue #1282)
* core: add variables "_chat_focused_line_bol" and "_chat_focused_line_eol" in focus data (issue #1955)
* api: add function hook_url, add option `url` in command `/debug` (issue #1723)
* api: add support of path to variable and hashtable comparison in function hdata_compare (issue #1066)
* api: add infos "nick_color_ignore_case" and "nick_color_name_ignore_case" (issue #194)
* api: add info "buffer" (issue #1962)
* buflist: add support of item names in command `/buflist refresh`, add completions "buflist_items" and "buflist_items_used"
* buflist: increase max number of buflist items from 3 to 5 (issue #1703)
* fset: add variable `allowed_values` in options, add options fset.color.allowed_values and fset.color.allowed_values_selected
* fset: allow long type name in type filter
* irc: add count for all nick modes in output of `/names` (issue #97, issue #2020)
* irc: add count and mode filter in command `/names` (issue #98)
* irc: compute color in case insensitive way, reintroduce infos "irc_nick_color" and "irc_nick_color_name", add support of server name (issue #194)
* irc: add buffer for /list reply, add options irc.color.list_buffer_line_selected, irc.color.list_buffer_line_selected_bg, irc.look.list_buffer_sort, irc.look.list_buffer_scroll_horizontal, irc.look.new_list_position, irc.look.list_buffer_topic_strip_colors (issue #1972)
* irc: display commands 716/717 in private buffer (if present) (issue #146)
* irc: create default options irc.ctcp.* when file irc.conf is created (issue #1974)
@@ -29,29 +190,108 @@ New features::
* irc: build dynamically the list of CTCPs supported in reply to "CTCP CLIENTINFO" (issue #1974)
* irc: remove Git revision and compilation date from CTCP VERSION reply (issue #1974)
* irc: remove default CTCP replies FINGER and USERINFO (issue #1974)
* script: allow jump to the last script with command `/script go end`
* irc, xfer: add support of passive DCC (issue #2004, issue #487)
* script: rename parameters up/down/go to -up/-down/-go in command `/script`
* script: allow jump to the last script with command `/script -go end`
* script: allow commands `/script autoload`, `/script noautoload`, `/script toggleautoload` with scripts not present in the repository (issue #1980)
* trigger: add options `-o`, `-ol`, `-i` and `-il` in command `/trigger list` (issue #1953)
Bug fixes::
* core: fix zombie processes after fork (hook process or connect) (issue #1994)
* core: fix generation of TOTP on Big Endian systems (issue #2021)
* core: fix cursor position after `/plugin list -i` or `/plugin list -il`
* core: display focus hashtable for debug even if no key is matching
* fset: add local key bindings during the buffer creation
* fset: remove extra spaces between min and max values when second format is used
* fset: fix mouse actions when second format is used
* fset: apply option fset.color.help_description (issue #1988)
* irc: move value `-all` at the end of completions for command `/ignore del`
* irc: fix memory leak when joining channels with keys
* irc: fix unexpected message sent to server when part of the second line of an IRC command (issue #1992)
* irc: fix display of country code in message 344 received as whois geo info (issue #1736)
* irc: add missing "account-tag" in list of supported capabilities
* irc: add channel in "autojoin" server option only when the channel is actually joined (issue #1990)
* relay: synchronize nick modes with IRC client upon connection (issue #1984)
* script: add local key bindings during the buffer creation
* script: add parameters up/down/go in `/help script` and command completion
* script: fix cursor position after `/script list -i` or `/script list -il`
* script: fix buffer used by command `/script list -i|-il|-o|-ol`
* xfer: display an error message when opening file for read or write fails (issue #2010)
Tests::
* core: add tests on GUI buffer functions
Build::
* core: fix build error if CMake option ENABLE_NLS is turned to off or if required dependencies are not found (issue #2026)
* core, logger, relay: make zstd dependency optional (issue #2024)
[[v4.0.8]]
== Version 4.0.8 (2024-01-20)
Bug fixes::
* core: fix crash on plugin reload when using musl libc (issue #2052)
* core: fix infinite loop in display when the chat area is too small (issue #2053)
* irc: check if arguments are not NULL in some infos
* irc: fix info "irc_is_message_ignored" (issue #2059)
* irc: fix display of self messages when the message split fails due to inconsistent max lengths sent by the server in message 005
[[v4.0.7]]
== Version 4.0.7 (2023-12-03)
Bug fixes::
* core: fix value of buffer variable "num_history" when the value defined in option weechat.history.max_commands is reached
* core: remove incorrect warning when binding keys kbd:[F10] to kbd:[F20] (issue #2039)
* core: fix memory leak when config version is invalid or not supported
* core: fix crash when "config_version" is present in a configuration file without a value
* core: display an error on startup if environment variable "HOME" is not set
* irc: remove trailing "\r\n" in signals "irc_out" and "irc_outtags" when messages are queued
* irc: fix target buffer of IRC message 337 (whois reply: "is hiding their idle time")
* relay: close properly connection with the IRC client in case of server disconnection (issue #2038)
* ruby: fix use of NULL variable when displaying exception
[[v4.0.6]]
== Version 4.0.6 (2023-10-26)
Bug fixes::
* core: fix crash when a custom bar item name is already used by a default bar item (issue #2034)
* core: fix generation of TOTP on Big Endian systems (issue #2021)
* irc: move value `-all` at the end of completions for command `/ignore del`
* irc: fix memory leak when joining channels with keys
Build::
* core: fix build error if CMake option ENABLE_NLS is turned to off or if required dependencies are not found (issue #2026, issue #2031)
[[v4.0.5]]
== Version 4.0.5 (2023-09-24)
New features::
* core: automatically backup config file read if it has an unsupported version (issue #2013)
* core: display a message when a configuration file is updated to a newer version
* python: make stub (weechat.pyi) compatible with Python 3.8 and 3.9 (issue #2006)
Bug fixes::
* irc: add option irc.look.open_pv_buffer_echo_msg to open private buffer on self message when capability echo-message is enabled (issue #2016)
* irc: fix title of private buffers wrongly set to own address when capability echo-message is enabled (issue #2016)
* irc: fix autojoin of channels when private buffers are opened (issue #2012)
* irc: fix string comparison when CASEMAPPING is set to "ascii"
* script: fix removal of script in system directory while trying to install a script (issue #2019)
* script: fix autoload of multiple scripts at once with `/script autoload` (issue #2018)
* script: fix crash when a `/script` command triggers another `/script` command (issue #923)
* xfer: fix memory leak on plugin unload
Tests::
* irc: add tests on server functions
[[v4.0.4]]
== Version 4.0.4 (2023-08-22)
@@ -97,8 +337,8 @@ Bug fixes::
* core: fix renaming of options with command `/item rename` (issue #1978)
* core: don't send "key_pressed" signal again for the same key press (issue #1976)
* core: don't send "key_combo_*" signals for incomplete keys (issue #1976)
* core: add key ctrl-backspace in /help key (issue #1975)
* core: keep keys ctrl-H and ctrl-? (in lower case) if they were manually bound to custom commands in a previous version
* core: add key kbd:[Ctrl+Backspace] in /help key (issue #1975)
* core: keep keys `ctrl-H` and `ctrl-?` (in lower case) if they were manually bound to custom commands in a previous version
Tests::
@@ -134,7 +374,7 @@ New features::
* core: insert multiple pasted lines in input instead of sending immediately, add keys to move and delete in a single line and whole input, add option weechat.look.input_multiline_lead_linebreak (issue #1502, issue #1503, issue #1504)
* core: render newline characters in chat line messages (issue #1908)
* core: don't split on newline characters in printf_date_tags when input_multiline is set (issue #1909)
* core: add key @kbd:[l] in cursor mode to quote line, add variable "_chat_focused_line" in function hashtable sent to hook_focus callback (issue #1913, issue #1914)
* core: add key kbd:[l] (lower `L`) in cursor mode to quote line, add variable "_chat_focused_line" in function hashtable sent to hook_focus callback (issue #1913, issue #1914)
* core: add option `split_return` in command `/input` (issue #1916)
* core: send all command line parameters not beginning with a dash to all plugins
* core: add command `/reset` to reset options to their default values
@@ -1748,7 +1988,7 @@ New features::
* core: add option weechat.look.hotlist_add_conditions, remove option weechat.look.hotlist_add_buffer_if_away
* core: add option weechat.look.hotlist_remove (issue #99)
* core: add options `-beep` and `-current` in command `/print`
* core: add bare display mode for easy text selection and click on URLs, new key: kbd:[Alt+l] (`L`), new option "bare" in command `/window`, new options: weechat.look.bare_display_exit_on_input and weechat.look.bare_display_time_format
* core: add bare display mode for easy text selection and click on URLs, new key: kbd:[Alt+l] (lower `L`), new option "bare" in command `/window`, new options: weechat.look.bare_display_exit_on_input and weechat.look.bare_display_time_format
* core: add signals "key_combo_{default|search|cursor}"
* core: add terabyte unit for size displayed
* core: display a warning in case of inconsistency between the options weechat.look.save_{config|layout}_on_exit
+2 -2
View File
@@ -5,8 +5,8 @@
pass:[<p align="center">] image:https://weechat.org/media/images/weechat_logo_large.png[align="center"] pass:[</p>]
image:https://img.shields.io/badge/diaspora*-follow-blue.svg["Diaspora*", link="https://diasp.eu/u/weechat"]
image:https://img.shields.io/badge/mastodon-follow-blue.svg["Mastodon", link="https://hostux.social/@weechat"]
image:https://img.shields.io/badge/diaspora*-follow-blue.svg["Diaspora*", link="https://diasp.eu/u/weechat"]
image:https://img.shields.io/badge/twitter-follow-blue.svg["Twitter", link="https://twitter.com/WeeChatClient"]
image:https://img.shields.io/badge/devel%20blog-follow-blue.svg["Devel blog", link="https://blog.weechat.org/"]
image:https://img.shields.io/badge/slant-recommend-28acad.svg["Slant", link="https://www.slant.co/topics/1323/~best-irc-clients-for-linux"]
@@ -49,7 +49,7 @@ WeeChat is following a "practical" semantic versioning, see file link:Contributi
== Copyright
Copyright (C) 2003-2023 Sébastien Helleu <flashcode@flashtux.org>
Copyright (C) 2003-2024 Sébastien Helleu <flashcode@flashtux.org>
This file is part of WeeChat, the extensible chat client.
+207 -1
View File
@@ -11,8 +11,150 @@ It is recommended to read it when upgrading to a new stable version. +
For a complete list of changes, please look at ChangeLog.
[[v4.2.3]]
== Version 4.2.3 (2024-05-31)
No release notes.
[[v4.2.2]]
== Version 4.2.2 (2024-04-07)
[[v4.2.2_script_keys]]
=== Script keys
Some arguments to the `/script` command were renamed in version 4.1.0, but the
keys using these arguments were not changed at same time.
They're now using the new arguments by default, but you must reset manually
the keys with the following commands:
----
/reset weechat.key_mouse.@chat(script.scripts):button1
/reset weechat.key_mouse.@chat(script.scripts):button2
/reset weechat.key_mouse.@chat(script.scripts):wheeldown
/reset weechat.key_mouse.@chat(script.scripts):wheelup
----
[[v4.2.1]]
== Version 4.2.1 (2024-01-22)
No release notes.
[[v4.2.0]]
== Version 4.2.0 (2024-01-21)
[[v4.2.0_lines_microseconds]]
=== Microseconds in buffer lines
Microseconds have been added in buffer lines (for both date and printed date).
Here are the changes that could affect plugins and scripts:
* hook_print: the C callback receives a new argument "date_usec" (microseconds
of date), after the argument "date" (scripting API is unchanged: the
microseconds are not available)
* trigger of types "print" and "timer": the format of variable `${tg_date}` is
changed from `%Y-%m-%d %H:%M:%S` to `%FT%T.%f` (where `%f` is the number of
microseconds on 6 digits)
[[v4.2.0_irc_anti_flood]]
=== IRC anti-flood
The anti-flood mechanism in IRC plugin has been improved and is now configured
in milliseconds instead of seconds. +
It is done with a single option `irc.server_default.anti_flood` (and same option
in servers), which replaces both options `anti_flood_prio_high` and
`anti_flood_prio_low`.
The default value is 2000 (2 seconds), and for example if you want to set
a delay of 0.5 seconds between your messages sent:
----
/set irc.server_default.anti_flood 500
----
When upgrading from an old WeeChat version, you'll see such messages, which are
perfectly normal (they're displayed to warn you about unknown options, and then
you have to set the new option if needed):
----
=!= | Warning: /home/user/.config/weechat/irc.conf, line 131: ignoring unknown option for section "server_default": anti_flood_prio_high = 2
=!= | Warning: /home/user/.config/weechat/irc.conf, line 132: ignoring unknown option for section "server_default": anti_flood_prio_low = 2
=!= | Warning: /home/user/.config/weechat/irc.conf, line 212: ignoring invalid value for option in section "server": libera.anti_flood_prio_high
=!= | Warning: //home/user/.config/weechat/irc.conf, line 213: ignoring invalid value for option in section "server": libera.anti_flood_prio_low
----
[[v4.2.0_search_commands_history]]
=== Search in commands history
Search in commands history has been added with new keys and a new key context
called "histsearch".
Some existing keys have been moved as well.
New keys can be changed and added with the following commands after upgrade
from an old WeeChat version:
----
/key missing
/key unbind ctrl-s,ctrl-u
/key bind meta-U /allbuf /buffer set unread
/key bind ctrl-r /input search_history
/key bindctxt search ctrl-r /input search_previous
----
[[v4.2.0_irc_rgb_colors]]
=== RGB colors in IRC messages
Support for RGB colors in IRC messages has been added and a new key
kbd:[Ctrl+c], kbd:[d] is available to insert this color code in command line.
You can add this key with this command:
----
/key missing
----
[[v4.2.0_custom_bar_items]]
=== Custom bar items
Custom bar items must now have a different name than default bar items
(for example the custom bar item name `time` is now forbidden). +
If you have such names in your config, WeeChat will now fail to load them
(this should not happen anyway, since such bar items can not be properly used
or can cause a crash of WeeChat).
[[v4.2.0_nick_color_infos]]
=== Nick color infos
The infos irc_nick_color and irc_nick_color_name are deprecated again, and the
algorithm to compute IRC nick colors has been reverted to case sensitive. +
The server name has been removed from arguments.
[[v4.1.3]]
== Version 4.1.3 (2024-01-20)
No release notes.
[[v4.1.2]]
== Version 4.1.2 (2023-12-03)
No release notes.
[[v4.1.1]]
== Version 4.1.1 (2023-10-26)
[[v4.1.1_custom_bar_items]]
=== Custom bar items
Custom bar items must now have a different name than default bar items
(for example the custom bar item name `time` is now forbidden). +
If you have such names in your config, WeeChat will now fail to load them
(this should not happen anyway, since such bar items can not be properly used
or can cause a crash of WeeChat).
[[v4.1.0]]
== Version 4.1.0 (under dev)
== Version 4.1.0 (2023-10-15)
[[v4.1.0_cursor_mode_keys]]
=== New keys to move in cursor mode
@@ -59,6 +201,42 @@ back with the two following commands:
They will then be advertised in reply to "CTCP CLIENTINFO", which is now built
dynamically with these options.
[[v4.1.0_nick_color_infos]]
=== Nick color infos
Two infos to get nick colors have been added: nick_color_ignore_case and
nick_color_name_ignore_case. +
They are similar to nick_color and nick_color_name, except they take as second
argument a range of chars to apply on the nick: the nick is converted to lower
case using this range of chars.
The infos irc_nick_color and irc_nick_color_name, that were deprecated since
version 1.5 are now used again, with a change in parameter: the server is now
optional before the nick: "server,nick". +
The nick is first converted to lower case, following the value of CASEMAPPING
on the server, then hashed to compute the color. +
That means the color for a nick is now case insensitive (in the way IRC servers
are case insensitive, so with a limited range of chars only).
If a script was using this info with a comma in nickname (which should not happen
anyway), this is now interpreted as the server name, and the script must be
modified. +
Anyway, it is recommended to always give the server name to respect the
CASEMAPPING of the server and prevent any issue with a comma in the nickname.
For example nick color of "alice" and "ALICE" is now always guaranteed to be the
same:
----
# with server name (recommended)
weechat.info_get("irc_nick_color", "libera,alice") == weechat.info_get("irc_nick_color", "libera,ALICE")
weechat.info_get("irc_nick_color_name", "libera,alice") == weechat.info_get("irc_nick_color_name", "libera,ALICE")
# without server name (allowed but not recommended, kept for compatibility)
weechat.info_get("irc_nick_color", "alice") == weechat.info_get("irc_nick_color", "ALICE")
weechat.info_get("irc_nick_color_name", "alice") == weechat.info_get("irc_nick_color_name", "ALICE")
----
[[v4.1.0_fset_allowed_values]]
=== Allowed values for options on fset buffer
@@ -84,6 +262,34 @@ You can reset it with this command:
/reset weechat.key_mouse.@chat(fset.fset):button1
----
[[v4.0.8]]
== Version 4.0.8 (2024-01-20)
No release notes.
[[v4.0.7]]
== Version 4.0.7 (2023-12-03)
No release notes.
[[v4.0.6]]
== Version 4.0.6 (2023-10-26)
[[v4.0.6_custom_bar_items]]
=== Custom bar items
Custom bar items must now have a different name than default bar items
(for example the custom bar item name `time` is now forbidden).
If you have such names in your config, WeeChat will now fail to load them
(this should not happen anyway, since such bar items can not be properly used
and can cause a crash of WeeChat).
[[v4.0.5]]
== Version 4.0.5 (2023-09-24)
No release notes.
[[v4.0.4]]
== Version 4.0.4 (2023-08-22)
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2023 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2024 Sébastien Helleu <flashcode@flashtux.org>
#
# This file is part of WeeChat, the extensible chat client.
#
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2023 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2024 Sébastien Helleu <flashcode@flashtux.org>
#
# This file is part of WeeChat, the extensible chat client.
#
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2014-2023 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2014-2024 Sébastien Helleu <flashcode@flashtux.org>
#
# This file is part of WeeChat, the extensible chat client.
#
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2023 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2024 Sébastien Helleu <flashcode@flashtux.org>
#
# This file is part of WeeChat, the extensible chat client.
#
+23 -21
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2023 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2024 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2007 Julien Louis <ptitlouis@sysif.net>
# Copyright (C) 2009 Emmanuel Bouthenot <kolter@openics.org>
#
@@ -45,26 +45,28 @@ set(CMAKE_REQUIRED_INCLUDES ${LIBINTL_INCLUDE})
check_include_files(libintl.h HAVE_LIBINTL_H)
if(HAVE_LIBINTL_H)
check_function_exists(dgettext LIBC_HAS_DGETTEXT)
if(LIBC_HAS_DGETTEXT)
set(GETTEXT_FOUND TRUE)
else()
find_library(LIBINTL_LIBRARY NAMES intl
PATHS
/usr/local/lib
/usr/lib
)
if(LIBINTL_LIBRARY)
if(${CMAKE_SYSTEM_NAME} STREQUAL "OpenBSD")
set(CMAKE_REQUIRED_LIBRARIES "iconv")
check_library_exists(${LIBINTL_LIBRARY} "libintl_dgettext" "" LIBINTL_HAS_DGETTEXT)
else()
check_library_exists(${LIBINTL_LIBRARY} "dgettext" "" LIBINTL_HAS_DGETTEXT)
endif()
if(LIBINTL_HAS_DGETTEXT)
set(GETTEXT_FOUND TRUE)
endif()
if(NOT HAVE_LIBINTL_H)
message(SEND_ERROR "Header libintl.h not found, required if ENABLE_NLS is enabled")
endif()
check_function_exists(dgettext LIBC_HAS_DGETTEXT)
if(LIBC_HAS_DGETTEXT)
set(GETTEXT_FOUND TRUE)
else()
find_library(LIBINTL_LIBRARY NAMES intl
PATHS
/usr/local/lib
/usr/lib
)
if(LIBINTL_LIBRARY)
if(${CMAKE_SYSTEM_NAME} STREQUAL "OpenBSD")
set(CMAKE_REQUIRED_LIBRARIES "iconv")
check_library_exists(${LIBINTL_LIBRARY} "libintl_dgettext" "" LIBINTL_HAS_DGETTEXT)
else()
check_library_exists(${LIBINTL_LIBRARY} "dgettext" "" LIBINTL_HAS_DGETTEXT)
endif()
if(LIBINTL_HAS_DGETTEXT)
set(GETTEXT_FOUND TRUE)
endif()
endif()
endif()
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2023 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2024 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2009 Emmanuel Bouthenot <kolter@openics.org>
#
# This file is part of WeeChat, the extensible chat client.
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2011-2023 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2011-2024 Sébastien Helleu <flashcode@flashtux.org>
#
# This file is part of WeeChat, the extensible chat client.
#
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2023 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2024 Sébastien Helleu <flashcode@flashtux.org>
#
# This file is part of WeeChat, the extensible chat client.
#
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2023 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2024 Sébastien Helleu <flashcode@flashtux.org>
#
# This file is part of WeeChat, the extensible chat client.
#
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2023 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2024 Sébastien Helleu <flashcode@flashtux.org>
#
# This file is part of WeeChat, the extensible chat client.
#
+1 -1
View File
@@ -1,6 +1,6 @@
#
# Copyright (C) 2017 Adam Saponara <as@php.net>
# Copyright (C) 2017-2023 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2017-2024 Sébastien Helleu <flashcode@flashtux.org>
#
# This file is part of WeeChat, the extensible chat client.
#
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2023 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2024 Sébastien Helleu <flashcode@flashtux.org>
#
# This file is part of WeeChat, the extensible chat client.
#
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2023 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2024 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2009 Julien Louis <ptitlouis@sysif.net>
#
# This file is part of WeeChat, the extensible chat client.
+2 -2
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2023 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2024 Sébastien Helleu <flashcode@flashtux.org>
#
# This file is part of WeeChat, the extensible chat client.
#
@@ -37,7 +37,7 @@ if(PKG_CONFIG_FOUND)
# set specific search path for macOS
set(ENV{PKG_CONFIG_PATH} "$ENV{PKG_CONFIG_PATH}:/usr/local/opt/ruby/lib/pkgconfig")
endif()
pkg_search_module(RUBY ruby-3.2 ruby-3.1 ruby-3.0 ruby-2.7 ruby-2.6 ruby-2.5 ruby-2.4 ruby-2.3 ruby-2.2 ruby-2.1 ruby-2.0 ruby-1.9 ruby)
pkg_search_module(RUBY ruby-3.3 ruby-3.2 ruby-3.1 ruby-3.0 ruby-2.7 ruby-2.6 ruby-2.5 ruby-2.4 ruby-2.3 ruby-2.2 ruby-2.1 ruby-2.0 ruby-1.9 ruby)
if(RUBY_FOUND AND ${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
# FIXME: weird hack: hardcoding the Ruby lib location on macOS
set(RUBY_LDFLAGS "${RUBY_LDFLAGS} -L/usr/local/opt/ruby/lib")
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2015-2023 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2015-2024 Sébastien Helleu <flashcode@flashtux.org>
#
# This file is part of WeeChat, the extensible chat client.
#
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2023 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2024 Sébastien Helleu <flashcode@flashtux.org>
#
# This file is part of WeeChat, the extensible chat client.
#
-1
View File
@@ -1,4 +1,3 @@
#cmakedefine HAVE_LIBINTL_H
#cmakedefine HAVE_SYS_RESOURCE_H
#cmakedefine HAVE_FLOCK
#cmakedefine HAVE_LANGINFO_CODESET
+3
View File
@@ -0,0 +1,3 @@
tar-ignore = ".git"
tar-ignore = "build"
tar-ignore = "release"
+6
View File
@@ -1,3 +1,9 @@
weechat (4.0.5-1) unstable; urgency=medium
* New upstream release
-- Emmanuel Bouthenot <kolter@debian.org> Sun, 24 Sep 2023 07:49:41 +0000
weechat (4.0.2-1) unstable; urgency=medium
* New upstream release (Closes: #1040248)
+1 -1
View File
@@ -4,7 +4,7 @@ Upstream-Contact: Sébastien Helleu <flashcode@flashtux.org>
Source: https://weechat.org/
Files: *
Copyright: 2003-2023, Sébastien Helleu <flashcode@flashtux.org>
Copyright: 2003-2024, Sébastien Helleu <flashcode@flashtux.org>
License: GPL-3+
Files: src/core/wee-command.c
+3
View File
@@ -0,0 +1,3 @@
tar-ignore = ".git"
tar-ignore = "build"
tar-ignore = "release"
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2023 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2024 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2009 Emmanuel Bouthenot <kolter@openics.org>
#
# This file is part of WeeChat, the extensible chat client.
+1 -1
View File
@@ -99,7 +99,7 @@ $HOME/.local/share/weechat/weechat.log::
WeeChat je napsán Sébastienem Helleu a přispěvovateli (kompletní seznam je v
souboru AUTHORS.adoc).
Copyright (C) 2003-2023 {author}
Copyright (C) 2003-2024 {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
@@ -100,7 +100,7 @@ $HOME/.local/share/weechat/weechat.log::
WeeChat wird programmiert von Sébastien Helleu und weiteren Beteiligten (eine vollständige Auflistung
findet man in der AUTHORS.adoc Datei).
Copyright (C) 2003-2023 {author}
Copyright (C) 2003-2024 {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
+58 -28
View File
@@ -613,6 +613,30 @@ Sollte die macOS Terminal Applikation genutzt werden, empfiehlt es sich,
die Option "Use option as meta key" in den Menü-Einstellungen zu aktivieren.
Dadurch kann man die kbd:[Option] Taste als Meta-Taste verwenden.
[[enter_key]]
=== Einige Tasten, einschließlich Enter, funktionieren nicht. Weshalb?
Wenn eine WeeChat Version < 4.0.0 mit Konfigurationsdateien ausgeführt wird,
die von einer Weechat Version ≥ 4.0.0 erstellt wurde, sind die Tastennamen ungültig und viele Tasten funktionieren überhaupt nicht mehr. +
Um dies zu reparieren, muss WeeChat beendet und alle Einträge aus dem Abschnitt `[key*]` innerhalb der weechat.conf entfernt werden.
Wenn WeeChat erneut gestartet wird, wird die Standardtastenbelegung neu erstellt.
[[key_f11]]
=== Die Taste F11 maximiert das Terminalfenster. Wie kann ich aber in der Nicklist nach oben scrollen?
Die kbd:[F11] Taste wird häufig von Terminals verwendet, um das Fenster zu maximieren. Aber
kbd:[F11]/kbd:[F12] sind ebenso die Standardtasten, in WeeChat, um in der Nickliste zu scrollen.
Man kann andere Tasten nutzen, zum Beispiel kbd:[Shift+F11] und kbd:[Shift+F12],
mit WeeChat ≥ 4.0.0:
----
/key bind shift-f11 /bar scroll nicklist * -100%
/key bind shift-f12 /bar scroll nicklist * +100%
----
Eine andere Möglichkeit besteht darin, die Maus zu aktivieren (Taste: kbd:[Alt+m]) und mit dem Mausrad zu scrollen (siehe auch Fragen zu <<mouse,mouse>>).
[[customize_key_bindings]]
=== Wie kann ich die Tastaturbelegung anpassen?
@@ -993,35 +1017,19 @@ die Buffer-Eigenschaft genutzt werden, um das maximale Hotlist-Level für einige
oder pro Gruppe von Buffern (wie IRC-Server).
Um nun Highlights (Hervorhebungen) für bestimmte Nicks zu deaktivieren, muss
man die entsprechende Eigenschaft auf 2 setzen:
man die entsprechende Eigenschaft auf 2 setzen.
Für den aktuellen Buffer:
----
/buffer set hotlist_max_level_nicks_add joe:2,mike:2
/buffer setauto hotlist_max_level_nicks_add joe:2,mike:2
----
Diese Buffereigenschaft wird aber nicht permanent in der Konfiguration
gespeichert. Um diese Eigenschaften permanent zu verwenden, muss man
das Skript _buffer_autoset.py_ nutzen:
Für alle Kanäle auf dem Server "libera":
----
/script install buffer_autoset.py
/set weechat.buffer.irc.libera.*.hotlist_max_level_nicks_add joe:2,mike:2
----
Um zum Beispiel Highlights (Hervorhebungen) von Nick "mike" im Kanal
#weechat auf dem IRC Server libera zu deaktivieren:
----
/buffer_autoset add irc.libera.#weechat hotlist_max_level_nicks_add mike:2
----
Um dies auf den kompletten libera Server anzuwenden:
----
/buffer_autoset add irc.libera hotlist_max_level_nicks_add mike:2
----
Für weitere Beispiele, siehe `+/help buffer_autoset+`.
[[irc_target_buffer]]
=== Wie kann ich bei zusammengefügten Buffern den Zielbuffer ändern (z.B. bei einem Server-Buffer)?
@@ -1154,10 +1162,8 @@ Damit WeeChat weniger Speicher benötigt, solltest Du folgende Tipps umsetzen:
Man sollte sich die Tipps zum <<memory_usage,Speicherverbrauch>> ansehen
und zusätzlich diese Tipps beherzigen:
// TRANSLATION MISSING
* "nicklist"-Bar sollte versteckt werden: `/bar hide nicklist` (key: kbd:[Alt+Shift+N]).
// TRANSLATION MISSING
* Disable "buflist": `/buflist disable` (key: kbd:[Alt+Shift+B]).
* "nicklist"-Bar sollte versteckt werden: `/bar hide nicklist` (Taste: kbd:[Alt+Shift+N]).
* deaktiviere "buflist": `/buflist disable` (Taste: kbd:[Alt+Shift+B]).
* die Sekundenanzeigen in der Statusbar sollte deaktiviert werden:
`+/set weechat.look.item_time_format "%H:%M"+` (dies ist die Standardeinstellung)
* die Echtzeit Rechtschreibkorrektur sollte deaktiviert werden (falls sie aktiviert wurde):
@@ -1185,9 +1191,7 @@ Deaktiviere die automatische Antwort für alle CTCP Anfragen:
/set irc.ctcp.ping ""
----
// TRANSLATION MISSING
With WeeChat < 4.1.0, other CTCP queries were replied by default and must be
disabled as well:
Mit WeeChat < 4.1.0 wurden andere CTCP-Anfragen standardmäßig beantwortet und müssen ebenfalls deaktiviert werden:
----
/set irc.ctcp.finger ""
@@ -1229,6 +1233,32 @@ Kennwörter (sofern sie nicht mit dem Befehl `/secure` in _sec.conf_ gesichert w
Siehe link:weechat_user.de.html#files_and_directories[Benutzerhandbuch / Dateien und Verzeichnisse ^↗^^]
für weitere Informationen über Konfigurationsdateien.
[[move_to_another_device]]
=== Ich möchte mein WeeChat auf ein anderes Gerät verschieben und meine Konfiguration behalten. Was muss ich kopieren?
Überprüfen Sie zunächst die von WeeChat verwendeten Verzeichnisse mit diesem Befehl: `/debug dirs`. +
Die Verzeichnisse home/config und home/data müssen kopiert werden (alle Dateien und Unterverzeichnisse).
Falls beispielsweise XDG-Verzeichnisse verwendet werden (Standard bei WeeChat ≥ 3.2), sollten die
Verzeichnisse `$HOME/.config/weechat` und `$HOME/.local/share/weechat` lauten. +
Sollte ein einzelnes Verzeichnis verwenden werden (Standard bei WeeChat < 3.2), sollte das Verzeichnis
`$HOME/.weechat` lauuten.
[IMPORTANT]
Die WeeChat-Version auf dem Zielgerät muss größer oder gleich der Version sein des Ausganggerätes. +
Ein Downgrade der WeeChat-Konfiguration wird *NICHT UNTERSTÜTZT* und kann zu Schäden führen und ein
unbrauchbares WeeChat verursachen.
Schritte:
. Weechat beenden: `/quit` (oder `/upgrade -quit`, falls eine Sitzung fortgesetzt werden soll,
einschließlich des Inhalts aller Buffer).
. Kopieren Sie alle Verzeichnisse, Unterverzeichnisse und Dateien auf das neue Gerät und behalten Sie die
Namen und Berechtigungen bei.
. Optional: Kopieren Sie alle Dateien außerhalb dieser Verzeichnisse, die auf Ihre Konfiguration verweisen
(es wird nicht empfohlen, Dateien außerhalb von WeeChat-Verzeichnissen zu verwenden).
. WeeChat auf dem neuen Gerät starten: `weechat` (oder `weechat --upgrade`, falls die Sitzung gesichert wurde).
[[development]]
== Entwicklung
+2
View File
@@ -664,8 +664,10 @@ Liste der Skript API Funktionen:
color +
print (für Python: prnt) +
print_date_tags (für Python: prnt_date_tags) +
print_datetime_tags (für Python: prnt_datetime_tags) +
print_y (für Python: prnt_y) +
print_y_date_tags (für Python: prnt_y_date_tags) +
print_y_datetime_tags (für Python: prnt_y_datetime_tags) +
log_print
| Hooks
+195 -100
View File
@@ -135,10 +135,6 @@ Die folgende Tabelle zeigt eine Auflistung der Pakete, die zum Erstellen von Wee
| Logger-Erweitertung: Kompression von rotierenden Protokolldateien (gzip). +
Relay-Erweiterung: Kompression von Nachrichten (WeeChat -> client) with https://zlib.net/[zlib ^↗^^] (weechat protocol). +
Script-Erweiterung: Lesen der Repository-Indexdatei (gzip).
| libzstd-dev | ≥ 0.8.1
| Logger-Erweiterung: Kompression von rotierenden Protokolldateien. +
Relay-Erweiterung: Kompression von Nachrichten (WeeChat -> client) with https://facebook.github.io/zstd/[Zstandard ^↗^^] (weechat protocol).
|===
[NOTE]
@@ -152,26 +148,68 @@ WeeChat optional sind:
[width="100%",cols="5,^3,.^15",options="header"]
|===
| Paket ^(1)^ | Version | Funktionen
| {cpp} compiler (pass:[g++ / clang++]) | | zum Erstellen der Binärdatei und um Test auszuführen, JavaScript Erweiterung.
| gettext | | Internationalisierung (Übersetzung der Mitteilungen; Hauptsprache ist englisch).
| ca-certificates | | Zertifikate für TLS Verbindungen.
| libaspell-dev / libenchant-dev | | Spell Erweiterung.
| python3-dev | ≥ 3.0 | Python Erweiterung.
| libperl-dev | | Perl Erweiterung.
| ruby3.1, ruby3.1-dev | ≥ 1.9.1 | Ruby Erweiterung.
| liblua5.4-dev | | Lua Erweiterung.
| tcl-dev | ≥ 8.5 | Tcl Erweiterung.
| guile-3.0-dev | ≥ 2.0 | Guile (scheme) Erweiterung.
| libv8-dev | ≤ 3.24.3 | JavaScript Erweiterung.
| php-dev | ≥ 7.0 | PHP Erweiterung.
| libphp-embed | ≥ 7.0 | PHP Erweiterung.
| libxml2-dev | | PHP Erweiterung.
| libargon2-dev | | PHP Erweiterung (wenn PHP ≥ 7.2).
| libsodium-dev | | PHP Erweiterung (wenn PHP ≥ 7.2).
| asciidoctor | ≥ 1.5.4 | zum Erstellen der man page und der Dokumentation.
| ruby-pygments.rb | | Build Dokumentation.
| libcpputest-dev | ≥ 3.4 | zum Erstellen und um Test auszuführen.
| Paket ^(1)^ | Version | Funktionen
| {cpp} compiler (pass:[g++ / clang++]) |
| zum Erstellen der Binärdatei und um Test auszuführen, JavaScript Erweiterung.
| gettext |
| Internationalisierung (Übersetzung der Mitteilungen; Hauptsprache ist englisch).
| ca-certificates |
| Zertifikate für TLS Verbindungen.
| libzstd-dev | ≥ 0.8.1
| Logger-Erweiterung: Kompression von rotierenden Protokolldateien (zstandard). +
Relay-Erweiterung: Kompression von Nachrichten (WeeChat -> client) with https://facebook.github.io/zstd/[Zstandard ^↗^^] (weechat protocol).
| libaspell-dev / libenchant-dev |
| Spell Erweiterung.
| python3-dev | ≥ 3.0
| Python Erweiterung.
| libperl-dev |
| Perl Erweiterung.
| ruby3.1, ruby3.1-dev | ≥ 1.9.1
| Ruby Erweiterung.
| liblua5.4-dev |
| Lua Erweiterung.
| tcl-dev | ≥ 8.5
| Tcl Erweiterung.
| guile-3.0-dev | ≥ 2.0
| Guile (scheme) Erweiterung.
| libv8-dev | ≤ 3.24.3
| JavaScript Erweiterung.
| php-dev | ≥ 7.0
| PHP Erweiterung.
| libphp-embed | ≥ 7.0
| PHP Erweiterung.
| libxml2-dev |
| PHP Erweiterung.
| libargon2-dev |
| PHP Erweiterung (wenn PHP ≥ 7.2).
| libsodium-dev |
| PHP Erweiterung (wenn PHP ≥ 7.2).
| asciidoctor | ≥ 1.5.4
| zum Erstellen der man page und der Dokumentation.
| ruby-pygments.rb |
| Build Dokumentation.
| libcpputest-dev | ≥ 3.4
| zum Erstellen und um Test auszuführen.
|===
[NOTE]
@@ -212,7 +250,7 @@ $ make install
Optionen für CMake können mit dem Format, `-DOPTION=VALUE`, genutzt werden.
Liste von häufig verwendeten Optionen:
Liste der verfügbaren Optionen:
[width="100%",cols="3m,3,3m,10",options="header"]
|===
@@ -266,6 +304,9 @@ Liste von häufig verwendeten Optionen:
| ENABLE_GUILE | `ON`, `OFF` | ON
| kompiliert <<scripting_plugins,Guile Erweiterung>> (Scheme).
| ENABLE_HEADLESS | `ON`, `OFF` | ON
| Kompilieren der headless Binärdatei.
| ENABLE_IRC | `ON`, `OFF` | ON
| kompiliert <<irc,IRC Erweiterung>>.
@@ -324,6 +365,9 @@ Liste von häufig verwendeten Optionen:
| ENABLE_XFER | `ON`, `OFF` | ON
| kompiliert <<xfer,Xfer Erweiterung>>.
| ENABLE_ZSTD | `ON`, `OFF` | ON
| aktiviere https://facebook.github.io/zstd/[Zstandard ^↗^^] Kompression.
| ENABLE_TESTS | `ON`, `OFF` | OFF
| kompiliert Testumgebung.
@@ -876,11 +920,30 @@ In der _input_ Bar lautet die Standardeinstellung:
| Item | Beispiel | Beschreibung
| input_prompt | `[@Flashy(i)]` | Input prompt, für irc: Nick und Modi (Modus "+i" bedeutet auf libera, unsichtbar).
| away | `(away)` | Abwesenheitsanzeige.
| input_search | `[Search (~ str,msg)]` | Suchindikatoren ("`~`": Groß-und Kleinschreibung ignorieren, "`==`": Groß-und Kleinschreibung berücksichtigen, "`str`": einfache Textsuche, "`regex`": suche mit regulären Ausdrücken, "`msg`": Suche in Nachrichten, "`pre`": Suche in Präfix, "`pre\|msg`": Suche in Präfix und Nachrichten).
| input_paste | `[Paste 7 lines ? [ctrl-y] Ja [ctrl-n] Nein]` | Nachfrage ob sieben Zeilen eingefügt werden sollen.
| input_search | `[Search lines (~ str,msg)]` | Suchindikatoren ("`~`": Groß-und Kleinschreibung ignorieren, "`==`": Groß-und Kleinschreibung berücksichtigen, "`str`": einfache Textsuche, "`regex`": suche mit regulären Ausdrücken, "`msg`": Suche in Nachrichten, "`pre`": Suche in Präfix, "`pre\|msg`": Suche in Präfix und Nachrichten).
| input_paste | `[Paste 7 lines ? [ctrl-y] Ja [ctrl-n] Nein]` | Nachfrage, ob sieben Zeilen eingefügt werden sollen.
| input_text | `hi peter!` | Text der eingegeben wird.
|===
Es existieren zwei Suchmodi:
* Suche in Zeilen, zum Beispiel `[Search lines (~ str,msg)]`, mit folgenden Infos:
** `~`: Groß-und Kleinschreibung ignorieren
** `==`: Groß-und Kleinschreibung berücksichtigen
** `str`: einfache Textsuche
** `regex`: suche mit regulären Ausdrücken
** `msg`: Suche in Nachrichten
** `pre`: Suche in Präfix
** `pre\|msg`: Suche in Präfix und Nachrichten
* Suche im Befehlsverlauf, zum Beispiel `[Search command (~ str,local)]`,
mit den folgenden Informationen:
** `~`: Groß-und Kleinschreibung ignorieren
** `==`: Groß-und Kleinschreibung berücksichtigen
** `str`: einfache Textsuche
** `regex`: suche mit regulären Ausdrücken
** `local`: suche im lokalen Bufferverlauf
** `global`: suche im globalen Verlauf
In der _nicklist_ Bar lautet die Standardeinstellung:
[width="100%",cols="^3,^3,9",options="header"]
@@ -899,8 +962,10 @@ andere Items die zur Verfügung stehen (die aber nicht standardmäßig in einer
| buffer_nicklist_count_all | `4` | Anzahl der sichtbaren Gruppen und Nicks in der Nickliste.
| buffer_nicklist_count_groups | `0` | Anzahl der sichtbaren Gruppen in der Nickliste.
| buffer_short_name | `#test` | Kurzname des aktuellen Buffers.
| buflist2 | `1.weechat` | List der Buffer, zweites Bar-Item (siehe Option <<option_buflist.look.use_items,buflist.look.use_items>>).
| buflist3 | `1.weechat` | List der Buffer, drittes Bar-Item (siehe Option <<option_buflist.look.use_items,buflist.look.use_items>>).
| buflist2 | `1.weechat` | Liste der Buffer, zweites Bar-Item (siehe Option <<option_buflist.look.use_items,buflist.look.use_items>>).
| buflist3 | `1.weechat` | Liste der Buffer, drittes Bar-Item (siehe Option <<option_buflist.look.use_items,buflist.look.use_items>>).
| buflist4 | `1.weechat` | Liste der Buffer, viertes Bar-Item (siehe Option <<option_buflist.look.use_items,buflist.look.use_items>>).
| buflist5 | `1.weechat` | Liste der Buffer, fünftes Bar-Item (siehe Option <<option_buflist.look.use_items,buflist.look.use_items>>).
| fset | `+buflist.look.sort: …+` | Hilfstext zur aktuell ausgewählten Option im Fset-Buffer.
| irc_channel | `#test` | aktueller Name des IRC Kanals.
| irc_host | `+user@host.com+` | aktueller IRC Host.
@@ -970,6 +1035,11 @@ Zeichen, genutzt werden:
| kbd:[Ctrl+c], kbd:[c],
kbd:[xx], kbd:[,],
kbd:[yy] | Textfarbe `xx` und Hintergrundfarbe `yy` (siehe Farbtabelle).
| kbd:[Ctrl+c], kbd:[d],
kbd:[xxxxxx] | Textfarbe `xxxxxx` (RGB als hexadezimale Zahl, zum Beispiel `FF0000` für rot).
| kbd:[Ctrl+c], kbd:[d],
kbd:[xxxxxx], kbd:[,],
kbd:[yyyyyy] | Textfarbe `xxxxxx` und Hintergrundfarbe `yyyyyy` (RGB als hexadezimale Zahl).
| kbd:[Ctrl+c], kbd:[i] | Text wird kursiv dargestellt.
| kbd:[Ctrl+c], kbd:[o] | deaktiviert Farben und Attribute.
| kbd:[Ctrl+c], kbd:[v] | Farben umkehren (kehrt Textfarbe und Hintergrundfarbe um).
@@ -977,8 +1047,8 @@ Zeichen, genutzt werden:
|===
[NOTE]
Der selbe Befehl (ohne den Wert für kbd:[Ctrl+c], kbd:[c]) sollte genutzt werden
um die Farbkodierungen bzw. Attribute zu deaktivieren.
Der selbe Code (ohne Nummer für kbd:[Ctrl+c], kbd:[c] und kbd:[Ctrl+c], kbd:[d])
kann verwendet werden, um das Attribut zu stoppen.
Farbtabelle für kbd:[Ctrl+c], kbd:[c]:
@@ -1427,7 +1497,8 @@ Externe Erweitertungen und Skripte können andere lokale Variablen definieren un
=== Liste der Buffer
Die Buflist-Erweiterung dient dazu eine Liste der geöffneten Buffer in einer Bar-Item, mit Namen
"buflist", darzustellen (zwei weiere Bar-Items "buflist2" und "buflist3" sind zusätzlich verfügbar). +
"buflist", darzustellen (vier weitere Bar-Items sind dabei verfügbar "buflist2", "buflist3", "buflist4"
und "buflist5"). +
Eine Standardbar, "buflist", wird beim Programmstart automatisch mit folgendem Inhalt erstellt.
[[buflist_commands]]
@@ -1540,6 +1611,7 @@ Sie können mit dem Befehl <<command_weechat_key,/key>> geändert und neue hinzu
| Taste | Beschreibung | Befehl
| kbd:[Ctrl+c], kbd:[b] | fügt Steuerzeichen für fett geschrieben Text ein. | `+/input insert \x02+`
| kbd:[Ctrl+c], kbd:[c] | fügt Steuerzeichen für Textfarbe ein. | `+/input insert \x03+`
| kbd:[Ctrl+c], kbd:[d] | fügt Steuerzeichen für Textfarbe ein (RGB Farbe, als hexadezimale Zahl). | `+/input insert \x04+`
| kbd:[Ctrl+c], kbd:[i] | fügt Steuerzeichen für kursiven Text ein. | `+/input insert \x1D+`
| kbd:[Ctrl+c], kbd:[o] | fügt Steuerzeichen für Standardfarbe ein. | `+/input insert \x0F+`
| kbd:[Ctrl+c], kbd:[v] | fügt Steuerzeichen für Hintergrundfarbe ein. | `+/input insert \x16+`
@@ -1558,14 +1630,23 @@ Sie können mit dem Befehl <<command_weechat_key,/key>> geändert und neue hinzu
| kbd:[Ctrl+↓] | ruft nächsten Befehl/Nachricht aus dem globalen Verlaufsspeicher auf (für alle Buffer). | `+/input history_global_next+`
|===
[[key_bindings_cmdline_system]]
==== System
[width="100%",cols="^.^3,.^8,.^5",options="header"]
|===
| Taste | Beschreibung | Befehl
| kbd:[Ctrl+z] | Breche den Weechat-Prozess ab | `+/sys suspend+`
|===
[[key_bindings_buffers]]
=== Buffer
[width="100%",cols="^.^3,.^8,.^5",options="header"]
|===
| Taste | Beschreibung | Befehl
| kbd:[Ctrl+r] | Textsuche im Verlaufsspeicher des Buffers (siehe <<key_bindings_search_context,Tasten für Such-Kontext>>). | `+/input search_text_here+`
| kbd:[Ctrl+s], kbd:[Ctrl+u] | setzt für alle Buffer die Markierung für ungelesene Nachrichten. | `+/allbuf /buffer set unread+`
| kbd:[Ctrl+r] | sucht nach Text im Befehlsverlauf (siehe <<key_bindings_histsearch_context,keys for context "histsearch">>). | `+/input search_history+`
| kbd:[Ctrl+s] | sucht nach Text in Bufferzeilen (siehe <<key_bindings_search_context,keys for context "search">>). | `+/input search_text_here+`
| kbd:[Ctrl+x] | Wechseln Sie den aktuellen Buffer, wenn diese zusammengefügt worden sind, z.B. zwischen IRC-Serverbuffer wechseln. | `+/buffer switch+`
| kbd:[Alt+x] | Zoom eines zusammengefügten Buffers (kbd:[Alt+x] ein zweites mal: alle zusammengefügten Buffer werden angezeigt). | `+/buffer zoom+`
| kbd:[PgUp] | eine Seite im Verlaufsspeicher des Buffers nach oben blättern. | `+/window page_up+`
@@ -1591,6 +1672,7 @@ Sie können mit dem Befehl <<command_weechat_key,/key>> geändert und neue hinzu
| kbd:[Alt+n] | springt zur nächsten Highlight Nachricht. | `+/window scroll_next_highlight+`
| kbd:[Alt+p] | springt zur vorherigen Highlight Nachricht. | `+/window scroll_previous_highlight+`
| kbd:[Alt+u] | springt zur ersten ungelesenen Zeile im Buffer. | `+/window scroll_unread+`
| kbd:[Alt+Shift+U] | setzt für alle Buffer die Markierung für ungelesene Nachrichten. | `+/allbuf /buffer set unread+`
| kbd:[Alt+<] | springt zum letzten besuchten Buffer. | `+/buffer jump prev_visited+`
| kbd:[Alt+>] | springt zum nächsten besuchten Buffer. | `+/buffer jump next_visited+`
| kbd:[Alt+/] | wechselt zum jeweils zuletzt angezeigten Buffern. | `+/buffer jump last_displayed+`
@@ -1667,23 +1749,48 @@ Sie können mit dem Befehl <<command_weechat_key,/key>> geändert und neue hinzu
[[key_bindings_search_context]]
=== Suchkontext
Diese Tasten werden im Kontext "search" verwendet (wenn kbd:[Ctrl+r] genutzt wird um
in einem Buffer nach einem Text zu suchen).
Diese Tasten werden im Kontext "search" verwendet (wenn kbd:[Ctrl+s] gedrückt wird, um Text
in Bufferzeilen zu suchen).
[width="100%",cols="^.^3,.^8,.^5",options="header"]
|===
| Taste | Beschreibung | Befehl
| kbd:[Ctrl+r] | Wechsel des Suchmodus: einfache Textsuche (Standard), reguläre Ausdrücke. | `+/input search_switch_regex+`
| kbd:[Ctrl+x] | Wechsel des Suchmodus: einfache Textsuche (Standard), reguläre Ausdrücke. | `+/input search_switch_regex+`
| kbd:[Alt+c] | auf Groß-/Kleinschreibung umschalten. | `+/input search_switch_case+`
| kbd:[Tab] | wechselt Suche in: Nachricht (Standard), im Präfix, Präfix + Nachricht. | `+/input search_switch_where+`
| kbd:[↑] | sucht vorheriger Zeile. | `+/input search_previous+`
| kbd:[] | sucht nächste Zeile . | `+/input search_next+`
| kbd:[Ctrl+r] +
kbd:[] | sucht vorheriger Zeile. | `+/input search_previous+`
| kbd:[Ctrl+s] +
kbd:[↓] | sucht nächste Zeile . | `+/input search_next+`
| kbd:[Enter] +
kbd:[Ctrl+j] +
kbd:[Ctrl+m] | beendet Suche ab aktueller Position. | `+/input search_stop_here+`
| kbd:[Ctrl+q] | Suche wird abgebrochen und der Bildlauf wird auf die Vortextsuche zurückgesetzt. | `+/input search_stop+`
|===
[[key_bindings_histsearch_context]]
=== Kontext der Verlaufssuche
Diese Tasten werden im Kontext "histsearch" verwendet (wenn kbd:[Ctrl+r] gedrückt wird, um Text
im Befehlsverlauf zu suchen).
[width="100%",cols="^.^3,.^8,.^5",options="header"]
|===
| Taste | Beschreibung | Befehl
| kbd:[Ctrl+x] | Wechsel des Suchmodus: einfache Textsuche (Standard), reguläre Ausdrücke. | `+/input search_switch_regex+`
| kbd:[Alt+c] | auf Groß-/Kleinschreibung umschalten. | `+/input search_switch_case+`
| kbd:[Tab] | umschalten der Suche für: lokaler Bufferverlauf (Standard), globaler Verlauf. | `+/input search_switch_where+`
| kbd:[Ctrl+r] +
kbd:[↑] | Suche in vorherigen (älteren) Verlaufseinträgen. | `+/input search_previous+`
| kbd:[Ctrl+s] +
kbd:[↓] | Suche in nachfolgenden (neueren) Verlaufseinträgen. | `+/input search_next+`
| kbd:[Enter] +
kbd:[Ctrl+j] +
kbd:[Ctrl+m] | Suche stoppen und übereinstimmende Eingaben verwenden. | `+/input search_stop_here+`
| kbd:[Ctrl+o] | führt den im Verlauf gefundenen Befehl aus und fügt den nächsten in die Befehlszeile ein. | `+/input history_use_get_next+`
| kbd:[Ctrl+q] | stoppt die Suche und stellt die Eingabe auf ihren ursprünglichen Wert zurück. | `+/input search_stop+`
|===
[[key_bindings_cursor_context]]
=== Cursor-Kontext
@@ -1750,10 +1857,10 @@ wurde (Befehl: `+/mouse toggle+`).
| kbd:[▼] | - | chat: /list buffer | gehe fünf Zeilen im /list-Buffer nach unten. | `+/list -down 5+`
| kbd:[■ □ □] | - | chat: /list buffer | Zeile im /list-Buffer auswählen. | `+/window ${_window_number};/list -go ${_chat_line_y}+`
| kbd:[□ □ ■] | - | chat: /list buffer | tritt dem IRC-Kanal, in der ausgewählten Zeile, bei. | `+hsignal:irc_list_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+`
| kbd:[■ □ □] | - | chat: script buffer | wählt einen Eintrag im Script-Buffer aus. | `+/script go ${_chat_line_y}+`
| kbd:[□ □ ■] | - | chat: script buffer | installiert/entfernt ein Skript. | `+/script go ${_chat_line_y};/script installremove -q ${script_name_with_extension}+`
| 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:[■ □ □] | - | chat: script buffer | wählt einen Eintrag im Script-Buffer aus. | `+/script -go ${_chat_line_y}+`
| kbd:[□ □ ■] | - | chat: script buffer | installiert/entfernt ein Skript. | `+/script -go ${_chat_line_y};/script installremove -q ${script_name_with_extension}+`
| kbd:[■ □ □] | up / left | buflist | verschiebt Buffer in der Reihenfolge nach unten. | Signal `+buflist_mouse+`.
| kbd:[■ □ □] | down / right | buflist | verschiebt Buffer in der Reihenfolge nach oben. | Signal `+buflist_mouse+`.
| kbd:[■ □ □] | - | buflist | wechselt zum Buffer (oder zum vorherigen Buffer, falls der aktuell genutzte Buffer angewählt wurde). | Signal `+buflist_mouse+`.
@@ -1816,8 +1923,8 @@ Diese Tasten und Aktionen werden im fset-Buffer verwendet (siehe <<fset,Fset Erw
| 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+`
| kbd:[Alt+p] | `p` | Umschalten der Beschreibung von Erweiterungen (`pass:[plugins.desc.*]`). | `+/mute /set fset.look.show_plugins_desc toggle+`
| kbd:[Alt+v] | `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+`
@@ -1871,17 +1978,22 @@ Diese Tasten und Aktionen werden im fset-Buffer verwendet (siehe <<script_manage
[width="100%",cols="^.^3,^.^2,.^8,.^5",options="header"]
|===
| Taste | Action ^(1)^ | Beschreibung | Befehl
| kbd:[↑] | | eine Zeile nach oben. | `+/script up+`
| kbd:[↓] | | eine Zeile nach unten. | `+/script down+`
| 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+l] | `l` | Skript laden. | `+/script load+`
| kbd:[Alt+L] | `L` | Skript neu laden. | `+/script reload+`
| 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+`
| | `s:x,y` | Sortiert Skrips nach Feldern x,y (siehe Option <<option_script.look.sort,script.look.sort>>). |
| | `s:` | Sortierung auf den Standardwert zurücksetzen (siehe Option <<option_script.look.sort,script.look.sort>>). |
| | `$` | Liste aktualisieren. |
| | `q` | Buffer schließen. | `+/buffer close+`
|===
[NOTE]
@@ -2246,15 +2358,9 @@ und für jeden einzelen Nick kann ein maximler Hotlist-Level eingestellt wertden
Um zum Beispiel Highlights von "joe" und "mike" im aktuellen Buffer zu deaktivieren:
----
/buffer set hotlist_max_level_nicks_add joe:2,mike:2
/buffer setauto hotlist_max_level_nicks_add joe:2,mike:2
----
[NOTE]
Die Buffer-Eigenschaft "hotlist_max_level_nicks" ist keine permanente Einstellung und wird nicht
in der Konfigurationsdatei gesichert. + Um diese Einstellung persistent zu machen benötigt man
das Skript _buffer_autoset.py_: Um das Skript zu installieren `+/script install buffer_autoset.py+`
und um eine Hilfe zu erhalten wie man es nutzt: `+/help buffer_autoset+`.
[[highlights]]
=== Hervorhebungen
@@ -2279,15 +2385,9 @@ Dies kann auch mit der Buffereigenschaft „highlight_disable_regex“ eingestel
Gleiches Beispiel, spezifisch für den aktuellen Buffer:
----
/buffer set highlight_disable_regex <flash.*>
/buffer setauto highlight_disable_regex <flash.*>
----
[NOTE]
Die Buffer-Eigenschaft "highlight_disable_regex" ist keine permanente Einstellung und wird nicht
in der Konfigurationsdatei gesichert. + Um diese Einstellung persistent zu machen benötigt man
das Skript _buffer_autoset.py_: Um das Skript zu installieren `+/script install buffer_autoset.py+`
und um eine Hilfe zu erhalten wie man es nutzt: `+/help buffer_autoset+`.
[[highlights_words]]
==== Worte als Highlights hinzufügen
@@ -2346,15 +2446,9 @@ die Eigenschaft des Buffers mittels "highlight_regex" anpasst.
Um zum Beispiel jede Nachricht im aktuellen Buffer als Highlight-Nachricht einzustufen:
----
/buffer set highlight_regex .*
/buffer setauto highlight_regex .*
----
[NOTE]
Die Buffer-Eigenschaft "highlight_regex" ist keine permanente Einstellung und wird nicht
in der Konfigurationsdatei gesichert. + Um diese Einstellung persistent zu machen benötigt man
das Skript _buffer_autoset.py_: Um das Skript zu installieren `+/script install buffer_autoset.py+`
und um eine Hilfe zu erhalten wie man es nutzt: `+/help buffer_autoset+`.
[[buffer_logging]]
=== Bufferprotokollierung
@@ -3261,30 +3355,31 @@ Sektion in Datei _weechat.conf_:
[width="100%",cols="3m,6m,16",options="header"]
|===
| Sektion | Steuerbefehl | Beschreibung
| debug | <<command_weechat_debug,/debug set>> +
/set weechat.debug.* | Debug level, für Core und Erweitertungen (Optionen können in Sektion hinzugefügt/entfernt werden).
| startup | /set weechat.startup.* | Optionen die nach dem Programmstart ausgeführt werden.
| look | /set weechat.look.* | Erscheinungsbild.
| palette | <<command_weechat_color,/color alias>> +
/set weechat.palette.* | Alternativnamen für Farben (Optionen können in Sektion hinzugefügt/entfernt werden).
| color | /set weechat.color.* | Farben.
| completion | /set weechat.completion.* | Optionen für Vervollständigung.
| history | /set weechat.history.* | Optionen für Befehlsverlauf (Befehle und Buffer).
| proxy | <<command_weechat_proxy,/proxy>> +
/set weechat.proxy.* | Proxy Optionen.
| network | /set weechat.network.* | Netzwerk/TLS Optionen.
| plugin | /set weechat.plugin.* | Optionen für Erweiterungen.
| signal | /set weechat.signal.* | Optionen für Signale.
| bar | <<command_weechat_bar,/bar>> +
/set weechat.bar.* | Optionen für die Bars.
| layout | <<command_weechat_layout,/layout>> | Layouts.
| notify | <<command_weechat_buffer,/buffer notify>> | Benachrichtigungsstufe für Buffer (Optionen können in Sektion hinzugefügt/entfernt werden).
| filter | <<command_weechat_filter,/filter>> | Filter.
| key | <<command_weechat_key,/key>> | Tastenbefehle in default context.
| key_search | <<command_weechat_key,/key>> | Tastenbefehle in search context.
| key_cursor | <<command_weechat_key,/key>> | Tastenbefehle in cursor context.
| key_mouse | <<command_weechat_key,/key>> | Tastenbefehle in mouse context.
| Sektion | Steuerbefehl | Beschreibung
| debug | <<command_weechat_debug,/debug set>> +
/set weechat.debug.* | Debug level, für Core und Erweitertungen (Optionen können in Sektion hinzugefügt/entfernt werden).
| startup | /set weechat.startup.* | Optionen die nach dem Programmstart ausgeführt werden.
| look | /set weechat.look.* | Erscheinungsbild.
| palette | <<command_weechat_color,/color alias>> +
/set weechat.palette.* | Alternativnamen für Farben (Optionen können in Sektion hinzugefügt/entfernt werden).
| color | /set weechat.color.* | Farben.
| completion | /set weechat.completion.* | Optionen für Vervollständigung.
| history | /set weechat.history.* | Optionen für Befehlsverlauf (Befehle und Buffer).
| proxy | <<command_weechat_proxy,/proxy>> +
/set weechat.proxy.* | Proxy Optionen.
| network | /set weechat.network.* | Netzwerk/TLS Optionen.
| plugin | /set weechat.plugin.* | Optionen für Erweiterungen.
| signal | /set weechat.signal.* | Optionen für Signale.
| bar | <<command_weechat_bar,/bar>> +
/set weechat.bar.* | Optionen für die Bars.
| layout | <<command_weechat_layout,/layout>> | Layouts.
| buffer | <<command_weechat_buffer,/buffer setauto>> | Eigenschaften, die beim Öffnen des Buffers automatisch angewendet werden.
| notify | <<command_weechat_buffer,/buffer notify>> | Benachrichtigungsstufe für Buffer (Optionen können in Sektion hinzugefügt/entfernt werden).
| filter | <<command_weechat_filter,/filter>> | Filter.
| key | <<command_weechat_key,/key>> | Tastenbefehle in default context.
| key_search | <<command_weechat_key,/key>> | Tastenbefehle in search context.
| key_cursor | <<command_weechat_key,/key>> | Tastenbefehle in cursor context.
| key_mouse | <<command_weechat_key,/key>> | Tastenbefehle in mouse context.
|===
Optionen:
@@ -4168,7 +4263,7 @@ die folgenden zusätzlichen Variablen sind verfügbar:
[width="100%",cols="2,4,8",options="header"]
|===
| Variable | Beschreibung | Wert/Beispiel
| `+${clientinfo}+` | Liste der CTCP Antworten | `+ACTION DCC CLIENTINFO FINGER PING SOURCE TIME USERINFO VERSION+`
| `+${clientinfo}+` | Liste der CTCP Antworten | `+ACTION DCC CLIENTINFO PING SOURCE TIME VERSION+`
| `+${version}+` | WeeChat Version | `+4.1.0-dev+`
| `+${versiongit}+` | WeeChat Version + Git version ^(1)^ | `+4.1.0-dev (git: v4.0.0-51-g8f98b922a)+`
| `+${git}+` | Git Version ^(1)^ | `+v4.0.0-51-g8f98b922a+`
@@ -4191,11 +4286,9 @@ Die Standard-CTCP-Antworten sind:
[width="100%",cols="2,4,8",options="header"]
|===
| CTCP | Antwortformat | Beispiel
| CLIENTINFO | `+${clientinfo}+` | `+ACTION DCC CLIENTINFO FINGER PING SOURCE TIME USERINFO VERSION+`
| FINGER | `+WeeChat ${version}+` | `+WeeChat 4.1.0-dev+`
| CLIENTINFO | `+${clientinfo}+` | `+ACTION DCC CLIENTINFO PING SOURCE TIME VERSION+`
| SOURCE | `+${download}+` | `+https://weechat.org/download/+`
| TIME | `+${time}+` | `+Sat, 08 Jul 2023 21:11:19 +0200+`
| USERINFO | `+${username} (${realname})+` | `+Name (John Doe)+`
| VERSION | `+WeeChat ${version}+` | `+WeeChat 4.1.0-dev+`
|===
@@ -5191,7 +5284,7 @@ Wenn _var_ nicht angegeben ist, wird die Standardvariable verwendet, sie hängt
| signal | tg_signal_data |
| hsignal | |
| modifier | tg_string | tg_string
| line | message | buffer, buffer_name, y, date, date_printed, str_time, tags, notify_level, highlight, prefix, message
| line | message | buffer, buffer_name, y, date, date_usec, date_printed, date_usec_printed, str_time, tags, notify_level, highlight, prefix, message
| print | tg_message |
| command | tg_argv_eol1 |
| command_run | tg_command |
@@ -5354,7 +5447,9 @@ Der Callback von "line" legt folgende Variablen in der Hashtable an:
| buffer_type | string | Buffertyp ("formatted" oder "free").
| y | string | Zeilennummer bei einem Buffer mit freier Einteilung (≥ 0), -1 für einen Buffer mit formatiertem Inhalt.
| date | string | Datum der Zeile (Zeitstempel).
| date_usec | string | Mikrosekunden des Zeilendatums.
| date_printed | string | Datum wann die Zeile dargestellt wurde (Zeitstempel).
| date_usec_printed | string | Mikrosekunden des Datums, an dem die Zeile angezeigt wurde.
| str_time | string | Datum für Darstellung. Kann Farbkodierungen erhalten.
| tags | string | Tags einer Nachricht (Komma wird automatisch zu Beginn und Ende den Tags hinzugefügt).
| displayed | string | "1" wenn Zeile dargestellt wird, "0" wenn Zeile gefiltert wird.
@@ -5393,7 +5488,7 @@ Der Callback von "print" legt folgende Variablen in der Hashtable an:
|===
| Variable | Typ | Beschreibung
| buffer | pointer | Buffer.
| tg_date | string | Datum/Uhrzeit der Nachricht (Format: `YYYY-MM-DD hh:mm:ss`).
| tg_date | string | Datum/Uhrzeit der Nachricht (Format: `%FT%T.%f`, siehe link:weechat_plugin_api.en.html#_util_strftimeval[WeeChat plugin API reference / util_strftimeval ^↗^^]).
| tg_displayed | string | "1" wenn Nachricht dargestellt wird, "0" falls Nachricht gefiltert wird.
| tg_highlight | string | "1" falls es sich um eine Highlight-Nachricht handelt, andernfalls "0".
| tg_prefix | string | Präfix.
@@ -5458,7 +5553,7 @@ Der Callback von "timer" legt folgende Variablen in der Hashtable an:
|===
| Variable | Typ | Beschreibung
| tg_remaining_calls | string | Anzahl der noch ausstehenden Aufrufe.
| tg_date | string | aktuelles Datum und Uhrzeit (Format: `YYYY-MM-DD hh:mm:ss`).
| tg_date | string | aktuelles Datum und Uhrzeit (Format: `%FT%T.%f`, siehe link:weechat_plugin_api.en.html#_util_strftimeval[WeeChat plugin API reference / util_strftimeval ^↗^^]).
|===
[[trigger_data_config]]
+1 -1
View File
@@ -1,6 +1,6 @@
<!--
Custom styles for Asciidoctor
Copyright (C) 2016-2023 Sébastien Helleu <flashcode@flashtux.org>
Copyright (C) 2016-2024 Sébastien Helleu <flashcode@flashtux.org>
-->
<style>
+1 -1
View File
@@ -100,7 +100,7 @@ $HOME/.local/share/weechat/weechat.log::
WeeChat is written by Sébastien Helleu and contributors (complete list is in
the AUTHORS.adoc file).
Copyright (C) 2003-2023 {author}
Copyright (C) 2003-2024 {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
+10 -1
View File
@@ -140,6 +140,7 @@ WeeChat "core" is located in following directories:
|    wee-secure-config.c | Secured data options (file sec.conf).
|    wee-signal.c | Signal functions.
|    wee-string.c | Functions on strings.
|    wee-sys.c | System functions.
|    wee-upgrade-file.c | Internal upgrade system.
|    wee-upgrade.c | Upgrade for WeeChat core (buffers, lines, history, ...).
|    wee-url.c | URL transfer (using libcurl).
@@ -166,6 +167,7 @@ WeeChat "core" is located in following directories:
|       wee-hook-process.c | Hook "process".
|       wee-hook-signal.c | Hook "signal".
|       wee-hook-timer.c | Hook "timer".
|       wee-hook-url.c | Hook "url".
| gui/ | Functions for buffers, windows, ... (used by all interfaces).
|    gui-bar-item.c | Bar items.
|    gui-bar-window.c | Bar windows.
@@ -236,6 +238,7 @@ WeeChat "core" is located in following directories:
|       buflist.c | Main buflist functions.
|       buflist-bar-item.c | Buflist bar items.
|       buflist-command.c | Buflist commands.
|       buflist-completion.c | Buflist completions.
|       buflist-config.c | Buflist config options (file buflist.conf).
|       buflist-info.c | Buflist info/infolists/hdata.
|       buflist-mouse.c | Buflist mouse actions.
@@ -400,6 +403,8 @@ WeeChat "core" is located in following directories:
|          unparse.py | Convert Python code to other languages, used by script testapigen.py.
|    unit/ | Root of unit tests.
|       test-plugins.cpp | Tests: plugins.
|       test-plugin-api-info.cpp | Tests: plugin API info functions.
|       test-plugin-config.cpp | Tests: plugin config functions.
|       core/ | Root of unit tests for core.
|          test-core-arraylist.cpp | Tests: arraylists.
|          test-core-calc.cpp | Tests: calculation of expressions.
@@ -420,6 +425,9 @@ WeeChat "core" is located in following directories:
|          test-core-url.cpp | Tests: URLs.
|          test-core-utf8.cpp | Tests: UTF-8.
|          test-core-util.cpp | Tests: utility functions.
|          test-core-sys.cpp | Tests: system functions.
|          hook/ | Root of unit tests for hooks.
|             test-hook-command.cpp | Tests: hooks "command".
|       gui/ | Root of unit tests for interfaces.
|          test-gui-bar-window.cpp | Tests: bar window functions.
|          test-gui-buffer.cpp | Tests: buffer functions.
@@ -439,6 +447,7 @@ WeeChat "core" is located in following directories:
|             test-irc-config.cpp | Tests: IRC configuration.
|             test-irc-ctcp.cpp | Tests: IRC CTCP.
|             test-irc-ignore.cpp | Tests: IRC ignores.
|             test-irc-info.cpp | Tests: IRC info.
|             test-irc-join.cpp | Tests: IRC join functions.
|             test-irc-list.cpp | Tests: IRC buffer for reply to /list command.
|             test-irc-message.cpp | Tests: IRC messages.
@@ -524,7 +533,7 @@ Example in C:
/*
* weechat.c - core functions for WeeChat
*
* Copyright (C) 2023 Your Name <your@email.com>
* Copyright (C) 2024 Your Name <your@email.com>
*
* This file is part of WeeChat, the extensible chat client.
*
+59 -21
View File
@@ -583,6 +583,31 @@ If you are using the macOS Terminal app, enable the option
"Use option as meta key" in menu Settings/Keyboard after which you can use the
kbd:[Option] key as meta key.
[[enter_key]]
=== Some keys including Enter are not working, why?
If you run a WeeChat < 4.0.0 with configuration files created by any
version ≥ 4.0.0, the keys names become invalid and many keys won't work at all. +
To repair them, exit WeeChat, remove all sections `[key*]` from weechat.conf
and start WeeChat again: all default keys will be created.
[[key_f11]]
=== Key F11 maximizes the terminal window, how can I scroll up the nicklist?
The key kbd:[F11] is commonly used by terminals to maximize the window, and
kbd:[F11]/kbd:[F12] are the default keys in WeeChat to scroll the nicklist.
You can bind other keys, for example kbd:[Shift+F11] and kbd:[Shift+F12],
with WeeChat ≥ 4.0.0:
----
/key bind shift-f11 /bar scroll nicklist * -100%
/key bind shift-f12 /bar scroll nicklist * +100%
----
Other solution is to enable mouse (key: kbd:[Alt+m]) and scroll with the mouse
wheel (see also questions about <<mouse,mouse>>).
[[customize_key_bindings]]
=== How can I customize key bindings?
@@ -925,35 +950,20 @@ link:weechat_user.en.html#max_hotlist_level_nicks[hotlist_max_level_nicks_add ^
buffer property to set the max hotlist level for some nicks, per buffer,
or per group of buffers (like IRC servers).
To only disable highlights, you'd have to set it to 2:
To only disable highlights, you'd have to set it to 2.
For the current buffer:
----
/buffer set hotlist_max_level_nicks_add joe:2,mike:2
/buffer setauto hotlist_max_level_nicks_add joe:2,mike:2
----
This buffer property isn't stored in the configuration though.
To automatically reapply these buffer properties, you would need the
_buffer_autoset.py_ script:
For all channels on server "libera":
----
/script install buffer_autoset.py
/set weechat.buffer.irc.libera.*.hotlist_max_level_nicks_add joe:2,mike:2
----
For example, to permanently disable highlights from "mike" on #weechat
on the IRC server libera:
----
/buffer_autoset add irc.libera.#weechat hotlist_max_level_nicks_add mike:2
----
To apply it to the entire libera server instead:
----
/buffer_autoset add irc.libera hotlist_max_level_nicks_add mike:2
----
For more examples, see `+/help buffer_autoset+`.
[[irc_target_buffer]]
=== How can I change target buffer for commands on merged buffers (like buffer with servers)?
@@ -1151,6 +1161,34 @@ stored in _sec.conf_ with the `/secure` command).
See the link:weechat_user.en.html#files_and_directories[User's guide / Files and directories ^↗^^]
for more information about configuration files.
[[move_to_another_device]]
=== I want to move my WeeChat to another device and keep my config, what should I copy?
First check directories used by WeeChat with this command: `/debug dirs`. +
Directories home/config and home/data must be copied (all files and sub-directories).
For example if you're using XDG directories (default with WeeChat ≥ 3.2),
the directories should be `$HOME/.config/weechat` and `$HOME/.local/share/weechat`. +
If you're using a single directory (default with WeeChat < 3.2), the directory
should be `$HOME/.weechat`.
[IMPORTANT]
The WeeChat version on the new device must be greater than or equal to the version
on the initial device. +
Downgrading WeeChat configuration is *NOT SUPPORTED* and can break it,
leading to unusable WeeChat.
Steps:
. Quit Weechat: `/quit` (or `/upgrade -quit` if you want to resume the session,
which includes content of all buffers).
. Copy all directories, sub-directories and files to the new device, keeping
same names and permissions.
. Optional: copy any file outside these directories that you refer to in your
configuration (it's not recommended to use files outside WeeChat directories).
. Start WeeChat on the new device: `weechat` (or `weechat --upgrade` if you
saved the session).
[[development]]
== Development
+529 -94
View File
@@ -2567,7 +2567,7 @@ str3 = weechat.string_input_for_buffer("//test") # "/test"
==== string_eval_expression
_WeeChat ≥ 0.4.0, updated in 0.4.2, 0.4.3, 1.0, 1.1, 1.2, 1.3, 1.6, 1.8, 2.0,
2.2, 2.3, 2.7, 2.9, 3.1, 3.2, 3.3, 3.4, 3.6, 3.8, 4.0.0._
2.2, 2.3, 2.7, 2.9, 3.1, 3.2, 3.3, 3.4, 3.6, 3.8, 4.0.0, 4.2.0._
Evaluate an expression and return result as a string.
Special variables with format `+${variable}+` are expanded (see table below).
@@ -2900,11 +2900,21 @@ expanded to last):
|===
| Format | Min WeeChat | Description | Examples
| `+${raw_hl:xxx}+` | 4.2.0
| Raw string (not evaluated), with syntax highlighting (using colors).
| >> `+${raw_hl:${cut:1,,${rev:hello}}}+` +
== `+${cut:1,,${rev:hello}}+` (with colors)
| `+${raw:xxx}+` | 3.1
| Raw string (not evaluated).
| >> `+${raw:${info:version}}+` +
== `+${info:version}+`
| `+${hl:xxx}+` | 4.2.0
| String with syntax highlighting (using colors).
| >> `+${hl:${file.section.option}}+` +
== `+test ${variable}+` (with colors)
| `+${name}+` | 3.4
| User variable (defined with `+${define:name,value}+`).
| >> `+${name}+` +
@@ -3476,6 +3486,46 @@ weechat_string_dyn_free (string, 1);
[NOTE]
This function is not available in scripting API.
==== string_concat
_WeeChat ≥ 4.2.0._
Concatenate multiple strings using a separator.
Prototype:
[source,c]
----
const char *weechat_string_concat (const char *separator, ...);
----
Arguments:
* _separator_: the separator string which is inserted between concatenated
strings (can be NULL or empty string)
[NOTE]
Last argument *MUST* always be NULL. +
A macro called `WEECHAT_STR_CONCAT` can be used, where the final NULL value is
not needed (usage of this macro is recommended).
Return value:
* concatenated string
C example:
[source,c]
----
const char *result = weechat_string_concat (" / ", "abc", "def", "ghi", NULL); /* result == "abc / def / ghi" */
/* with macro */
const char *result = WEECHAT_STR_CONCAT(" / ", "abc", "def", "ghi"); /* result == "abc / def / ghi" */
----
[NOTE]
This function is not available in scripting API.
[[utf-8]]
=== UTF-8
@@ -4028,18 +4078,28 @@ 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.
| 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) |
| `+sha512-224+` | SHA-512/224 | 28 bytes (224 bits) | Algorithm available with libgcrypt ≥ 1.9.4.
| `+sha512-256+` | SHA-512/256 | 32 bytes (256 bits) | Algorithm available with libgcrypt ≥ 1.9.4.
| `+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.
| `+blake2b-160+` | BLAKE2B-160 | 20 bytes (160 bits) | Algorithm available with libgcrypt ≥ 1.8.0.
| `+blake2b-256+` | BLAKE2B-256 | 32 bytes (256 bits) | Algorithm available with libgcrypt ≥ 1.8.0.
| `+blake2b-384+` | BLAKE2B-384 | 48 bytes (384 bits) | Algorithm available with libgcrypt ≥ 1.8.0.
| `+blake2b-512+` | BLAKE2B-512 | 64 bytes (512 bits) | Algorithm available with libgcrypt ≥ 1.8.0.
| `+blake2s-128+` | BLAKE2S-128 | 16 bytes (128 bits) | Algorithm available with libgcrypt ≥ 1.8.0.
| `+blake2s-160+` | BLAKE2S-160 | 20 bytes (160 bits) | Algorithm available with libgcrypt ≥ 1.8.0.
| `+blake2s-224+` | BLAKE2S-224 | 28 bytes (224 bits) | Algorithm available with libgcrypt ≥ 1.8.0.
| `+blake2s-256+` | BLAKE2S-256 | 32 bytes (256 bits) | Algorithm available with libgcrypt ≥ 1.8.0.
|===
Return value:
@@ -4474,7 +4534,8 @@ Arguments:
* _to_: destination file
* _compressor_: the compressor to use, one of:
** _gzip_: gzip compression
** _zstd_: zstandard compression
** _zstd_: zstandard compression (available only if zstd was enabled when
WeeChat was compiled)
* _compression_level_: compression level, between 1 (fast, low compression) to
100 (slow, best compression)
@@ -4635,6 +4696,81 @@ weechat_printf (NULL, "date: %s",
[NOTE]
This function is not available in scripting API.
==== util_strftimeval
_WeeChat ≥ 4.2.0._
Format date and time like function `strftime` in C library, using `struct timeval`
as input, and supporting extra specifiers for microseconds.
Prototype:
[source,c]
----
int weechat_util_strftimeval (char *string, int max, const char *format, struct timeval *tv);
----
Arguments:
* _string_: buffer where the formatted string is stored
* _max_: string size
* _format_: format, the same as _strftime_ function, with these extra specifiers:
** `%.N` where `N` is between 1 and 6: zero-padded microseconds on N digits
(for example `%.3` for milliseconds)
** `%f`: alias of `%.6`
Return value:
* number of bytes put in _string_ (value returned from _strftime_ function)
C example:
[source,c]
----
char time[256];
struct timeval tv;
gettimeofday (&tv, NULL);
weechat_util_strftimeval (time, sizeof (time), "%FT%T.%f", &tv);
/* result: 2023-12-26T18:10:04.460509 */
----
[NOTE]
This function is not available in scripting API.
==== util_parse_time
_WeeChat ≥ 4.2.0._
Parse date/time with support of microseconds.
Prototype:
[source,c]
----
int util_parse_time (const char *datetime, struct timeval *tv);
----
Arguments:
* _date_: date/time
* _tv_: parsed date/time ("timeval" structure)
Return value:
* 1 if OK, 0 if error
C example:
[source,c]
----
struct timeval tv;
weechat_util_parse_time ("2023-12-25T10:29:09.456789Z", &tv); /* == 1 */
/* result: tv.tv_sec == 1703500149, tv.tv_usec = 456789 */
----
[NOTE]
This function is not available in scripting API.
==== util_version_number
_WeeChat ≥ 0.3.9._
@@ -6796,7 +6932,7 @@ def config_new_section(config_file: str, name: str,
callback_delete_option: str, callback_delete_option_data: str) -> str: ...
# example
def my_section_read_cb(data: str, config_file: str, section: str, option_name: str, value: str | None) -> int:
def my_section_read_cb(data: str, config_file: str, section: str, option_name: str, value: Union[str, None]) -> int:
# ...
return weechat.WEECHAT_CONFIG_OPTION_SET_OK_CHANGED
# return weechat.WEECHAT_CONFIG_OPTION_SET_OK_SAME_VALUE
@@ -6815,7 +6951,7 @@ def my_section_write_default_cb(data: str, config_file: str, section_name: str)
# return weechat.WEECHAT_CONFIG_WRITE_ERROR
# return weechat.WEECHAT_CONFIG_WRITE_MEMORY_ERROR
def my_section_create_option_cb(data: str, config_file: str, section: str, option_name: str, value: str | None) -> int:
def my_section_create_option_cb(data: str, config_file: str, section: str, option_name: str, value: Union[str, None]) -> int:
# ...
return weechat.WEECHAT_CONFIG_OPTION_SET_OK_CHANGED
# return weechat.WEECHAT_CONFIG_OPTION_SET_OK_SAME_VALUE
@@ -7057,7 +7193,7 @@ Script (Python):
# prototype
def config_new_option(config_file: str, section: str, name: str, type: str, description: str,
string_values: str, min: int, max: int,
default_value: str | None, value: str | None, null_value_allowed: int,
default_value: Union[str, None], value: Union[str, None], null_value_allowed: int,
callback_check_value: str, callback_check_value_data: str,
callback_change: str, callback_change_data: str,
callback_delete: str, callback_delete_data: str) -> str: ...
@@ -9209,13 +9345,13 @@ Prototype:
void weechat_printf (struct t_gui_buffer *buffer, const char *message, ...);
----
This function is a shortcut for function printf_date_tags. These two calls give
exactly same result:
This function is a shortcut for function printf_datetime_tags. +
These two calls give exactly same result:
[source,c]
----
weechat_printf (buffer, "message");
weechat_printf_date_tags (buffer, 0, NULL, "message");
weechat_printf_datetime_tags (buffer, 0, 0, NULL, "message");
----
Arguments:
@@ -9277,6 +9413,15 @@ void weechat_printf_date_tags (struct t_gui_buffer *buffer, time_t date,
const char *tags, const char *message, ...);
----
This function is a shortcut for function printf_datetime_tags. +
These two calls give exactly same result:
[source,c]
----
weechat_printf_date_tags (buffer, 0, NULL, "message");
weechat_printf_datetime_tags (buffer, 0, 0, NULL, "message");
----
Arguments:
* _buffer_: buffer pointer, if NULL, message is displayed on WeeChat buffer
@@ -9311,6 +9456,62 @@ weechat.prnt_date_tags("", time - 120, "notify_message",
[NOTE]
Function is called "print_date_tags" in scripts ("prnt_date_tags" in Python).
==== printf_datetime_tags
_WeeChat ≥ 4.2.0._
Display a message on a buffer, using a custom date/time (with microseconds)
and tags.
Prototype:
[source,c]
----
void weechat_printf_datetime_tags (struct t_gui_buffer *buffer, time_t date,
int date_usec, const char *tags, const char *message, ...);
----
Arguments:
* _buffer_: buffer pointer, if NULL, message is displayed on WeeChat buffer
* _date_: date for message (0 means current date/time)
* _date_usec_: microseconds of date (between 0 and 999999)
* _tags_: comma separated list of tags (NULL means no tags)
* _message_: message to display
See the link:weechat_user.en.html#lines_tags[WeeChat user's guide / Lines tags ^↗^^]
for a list of commonly used tags in WeeChat.
C example:
[source,c]
----
struct timeval tv_now;
gettimeofday (&tv_now, NULL);
weechat_printf_datetime_tags (NULL, tv_now.tv_sec - 120, tv_now.tv_usec,
"notify_message",
"Message 2 minutes ago, with a tag 'notify_message'");
----
Script (Python):
[source,python]
----
# prototype
def prnt_datetime_tags(buffer: str, date: int, date_usec: int, tags: str, message: str) -> int: ...
# example
now = time.time()
time_sec = int(now)
time_usec = int((now * 1000000) % 1000000)
weechat.prnt_datetime_tags("", time_sec - 120, time_usec, "notify_message",
"Message 2 minutes ago, with a tag 'notify_message'")
----
[NOTE]
Function is called "print_datetime_tags" in scripts ("prnt_datetime_tags" in Python).
==== printf_y
Display a message on a line of a buffer with free content.
@@ -9319,8 +9520,16 @@ Prototype:
[source,c]
----
void weechat_printf_y (struct t_gui_buffer *buffer, int y,
const char *message, ...);
void weechat_printf_y (struct t_gui_buffer *buffer, int y, const char *message, ...);
----
This function is a shortcut for function printf_y_datetime_tags. +
These two calls give exactly same result:
[source,c]
----
weechat_printf_y (buffer, 0, "message");
weechat_printf_y_datetime_tags (buffer, 0, 0, 0, NULL, "message");
----
Arguments:
@@ -9368,6 +9577,15 @@ void weechat_printf_y_date_tags (struct t_gui_buffer *buffer, int y, time_t date
const char *tags, const char *message, ...);
----
This function is a shortcut for function printf_y_datetime_tags. +
These two calls give exactly same result:
[source,c]
----
weechat_printf_y_date_tags (buffer, 0, 0, NULL, "message");
weechat_printf_y_datetime_tags (buffer, 0, 0, 0, NULL, "message");
----
Arguments:
* _buffer_: buffer pointer
@@ -9399,6 +9617,53 @@ weechat.prnt_y_date_tags("", 2, 0, "my_tag", "My message on third line with a ta
[NOTE]
Function is called "print_y_date_tags" in scripts ("prnt_y_date_tags" in Python).
==== printf_y_datetime_tags
_WeeChat ≥ 4.2.0._
Display a message on a line of a buffer with free content, using a custom
date/time (with microseconds) and tags.
Prototype:
[source,c]
----
void weechat_printf_y_datetime_tags (struct t_gui_buffer *buffer, int y, time_t date,
int date_usec, const char *tags, const char *message, ...);
----
Arguments:
* _buffer_: buffer pointer
* _y_: line number (first line is 0); a negative value adds a line after last
line displayed: absolute value of _y_ is the number of lines after last line
(for example -1 is immediately after last line, -2 is 2 lines after last line)
* _date_: date for message (0 means current date/time)
* _date_usec_: microseconds of date (between 0 and 999999)
* _tags_: comma separated list of tags (NULL means no tags)
* _message_: message to display
C example:
[source,c]
----
weechat_printf_y_datetime_tags (buffer, 2, 0, 0, "my_tag", "My message on third line with a tag");
----
Script (Python):
[source,python]
----
# prototype
def prnt_y_datetime_tags(buffer: str, y: int, date: int, date_usec: int, tags: str, message: str) -> int: ...
# example
weechat.prnt_y_datetime_tags("", 2, 0, 0, "my_tag", "My message on third line with a tag")
----
[NOTE]
Function is called "print_y_datetime_tags" in scripts ("prnt_y_datetime_tags" in Python).
==== log_printf
Write a message in WeeChat log file (weechat.log).
@@ -10015,7 +10280,6 @@ struct t_hook *weechat_hook_process (const char *command,
void *callback_data);
----
Arguments:
* _command_: command to launch in child process, URL _(WeeChat ≥ 0.3.7)_ or
@@ -10267,22 +10531,7 @@ available:
_/dev/null_.
|===
For command "url:...", following options are available (see
`+man curl_easy_setopt+` for a description of each option):
include::{autogendir}/autogen_api_url_options.en.adoc[tag=url_options]
[NOTE]
^(1)^ For options with type "mask", format is: "value1+value2+value3";
for options with type "list", the list items must be separated by a newline
(`\n`). +
^(2)^ When constants are available they must be used as value for option.
For URL, two extra options (strings) are allowed for input/output file:
* _file_in_: file to read and send with URLs (post file)
* _file_out_: write downloaded URL/file in this file (instead of standard
output)
For command "url:...", see available options in function <<_hook_url,hook_url>>.
Return value:
@@ -10442,6 +10691,156 @@ hook4 = weechat.hook_process_hashtable("sh",
20000, "my_process_cb", "")
----
==== hook_url
_WeeChat ≥ 4.1.0._
URL transfer.
Prototype:
[source,c]
----
struct t_hook *weechat_hook_url (const char *url,
struct t_hashtable *options,
int timeout,
int (*callback)(const void *pointer,
void *data,
const char *url,
struct t_hashtable *options,
struct t_hashtable *output),
const void *callback_pointer,
void *callback_data);
----
Arguments:
* _url_: URL
* _options_: options for URL transfer (see below); the hashtable is duplicated in
function, so it's safe to free it after this call
* _timeout_: timeout for URL transfer (in milliseconds): after this timeout,
the transfer is stopped (0 means no timeout)
* _callback_: function called when the transfer has ended, arguments and return
value:
** _const void *pointer_: pointer
** _void *data_: pointer
** _const char *url_: URL
** _struct t_hashtable *options_: options
** _struct t_hashtable *output_: result (keys and values are strings), which may
contain the following keys:
*** _response_code_: HTTP response code
*** _headers_: HTTP headers in response
*** _output_: standard output (set only if _file_out_ was not set in options)
*** _error_: error message (set only in case of error)
** return value:
*** _WEECHAT_RC_OK_
*** _WEECHAT_RC_ERROR_
* _callback_pointer_: pointer given to callback when it is called by WeeChat
* _callback_data_: pointer given to callback when it is called by WeeChat;
if not NULL, it must have been allocated with malloc (or similar function)
and it is automatically freed when the hook is deleted
The following Curl options are available (see `+man curl_easy_setopt+` for
a description of each option):
include::{autogendir}/autogen_api_url_options.en.adoc[tag=url_options]
[NOTE]
^(1)^ For options with type "mask", format is: "value1+value2+value3";
for options with type "list", the list items must be separated by a newline
(`\n`). +
^(2)^ When constants are available they must be used as value for option.
These two extra options (strings) are allowed for input/output file:
[width="100%",cols="2,^1,7",options="header"]
|===
| Option | Type | Description
| file_in | string | file to read and send with URLs (post file)
| file_out | string | write downloaded URL/file in this file (instead of standard output)
|===
Return value:
* pointer to new hook, NULL if error occurred
C example:
[source,c]
----
int
my_url_cb (const void *pointer, void *data, const char *url,
struct t_hashtable *options, struct t_hashtable *output)
{
weechat_printf (NULL, "response_code: %s", weechat_hashtable_get (output, "response_code"));
weechat_printf (NULL, "headers: %s", weechat_hashtable_get (output, "headers"));
weechat_printf (NULL, "output: %s", weechat_hashtable_get (output, "output"));
weechat_printf (NULL, "error: %s", weechat_hashtable_get (output, "error"));
return WEECHAT_RC_OK;
}
/* example 1: output to a file */
struct t_hashtable *options_url1 = weechat_hashtable_new (8,
WEECHAT_HASHTABLE_STRING,
WEECHAT_HASHTABLE_STRING,
NULL,
NULL);
if (options_url1)
{
weechat_hashtable_set (options_url1, "file_out", "/tmp/weechat.org.html");
struct t_hook *my_url_hook = weechat_hook_url ("https://weechat.org/",
options_url1,
20000,
&my_url_cb, NULL, NULL);
weechat_hashtable_free (options_url1);
}
/* example 2: custom HTTP headers, output sent to callback */
struct t_hashtable *options_url2 = weechat_hashtable_new (8,
WEECHAT_HASHTABLE_STRING,
WEECHAT_HASHTABLE_STRING,
NULL,
NULL);
if (options_url2)
{
weechat_hashtable_set (options_url2, "httpheader",
"Header1: value1\n"
"Header2: value2");
struct t_hook *my_url_hook = weechat_hook_url ("http://localhost:8080/",
options_url2,
20000,
&my_url_cb, NULL, NULL);
weechat_hashtable_free (options_url2);
}
----
Script (Python):
[source,python]
----
# prototype
def hook_url(url: str, options: Dict[str, str], timeout: int, callback: str, callback_data: str) -> str: ...
# example
def my_url_cb(data: str, url: str, options: Dict[str, str], output: Dict[str, str]) -> int:
weechat.prnt("", "output: %s" % output)
return weechat.WEECHAT_RC_OK
# example 1: output to a file
hook1 = weechat.hook_url("https://weechat.org/",
{"file_out": "/tmp/weechat.org.html"},
20000, "my_url_cb", "")
# example 2: custom HTTP headers, output sent to callback
options = {
"httpheader": "\n".join([
"Header1: value1",
"Header2: value2",
]),
}
hook2 = weechat.hook_url("http://localhost:8080/", options, 20000, "my_url_cb", "")
----
==== hook_connect
_Updated in 1.5, 2.0._
@@ -10628,7 +11027,7 @@ hook = weechat.hook_connect("", "my.server.org", 1234, 1, 0, "",
==== hook_line
_WeeChat ≥ 2.3, updated in 3.7, 4.1.0._
_WeeChat ≥ 2.3, updated in 4.2.0._
Hook a line to be printed in a buffer.
@@ -10699,13 +11098,13 @@ Line data sent to the callback is a hashtable, with following values
| Key | Value (formatted buffer) | Value (free buffer) | Examples
| buffer
| Comma-separated list of buffer pointers.
| Comma-separated list of buffer pointers.
| Buffer pointer.
| Buffer pointer.
| `+0x1234abcd+`
| buffer_name
| Comma-separated list of buffer names.
| Comma-separated list of buffer names.
| Buffer name.
| Buffer name.
| `+core.weechat+` +
`+irc.server.libera+` +
`+irc.libera.#weechat+`
@@ -10727,11 +11126,21 @@ Line data sent to the callback is a hashtable, with following values
| N/A ("0").
| `+1533792000+`
| date_usec
| Microseconds of line date (between 0 and 999999).
| N/A ("0").
| `+123456+`
| date_printed
| Date when line was displayed (timestamp).
| N/A ("0").
| `+1533792012+`
| date_usec_printed
| Microseconds of date when line was displayed (between 0 and 999999).
| N/A ("0").
| `+654321+`
| str_time
| Date for display (possible color codes inside).
| N/A (empty string).
@@ -10793,20 +11202,16 @@ in this hashtable):
| Key | Allowed value (formatted buffer) | Allowed value (free buffer) | Result
| buffer
| Comma-separated list buffer pointers (with formatted content)
(multiple buffers are supported only with WeeChat ≥ 4.1.0).
| Comma-separated list buffer pointers (with free content)
(multiple buffers are supported only with WeeChat ≥ 4.1.0).
| The line is displayed on these buffers. +
| Pointer of a buffer with formatted content.
| Pointer of a buffer with free content.
| The line is displayed on this buffer. +
If the value is empty, the line is deleted (anything else in the hashtable
is then ignored); the next hooks of type "line" are not called.
| buffer_name
| Comma-separated list buffer names (with formatted content)
(multiple buffers are supported only with WeeChat ≥ 4.1.0).
| Comma-separated list buffer names (with free content)
(multiple buffers are supported only with WeeChat ≥ 4.1.0).
| The line is displayed on these buffers. +
| Name of a buffer with formatted content.
| Name of a buffer with free content.
| The line is displayed on this buffer. +
If `buffer` is also set, the value of `+buffer_name+` has higher priority and is used. +
If the value is empty, the line is deleted (anything else in the hashtable
is then ignored); the next hooks of type "line" are not called.
@@ -10822,11 +11227,22 @@ in this hashtable):
| The date is set to this value. +
The value of `+str_time+` is updated accordingly.
| date_usec
| Integer ("0" to "999999").
| N/A.
| The microseconds of line date is set to this value. +
The value of `+str_time+` is updated accordingly.
| date_printed
| Timestamp.
| N/A.
| The printed date is set to this timestamp (not displayed).
| date_usec_printed
| Integer ("0" to "999999").
| N/A.
| The microseconds of printed date is set to this value.
| str_time
| String.
| N/A.
@@ -10907,7 +11323,7 @@ hook = weechat.hook_line("", "", "irc_join", "my_line_cb", "")
==== hook_print
_Updated in 0.4.3, 1.0, 1.5._
_Updated in 0.4.3, 1.0, 1.5, 4.2.0._
Hook a message printed. It is called when a line has been added in a buffer
with formatted content.
@@ -10927,6 +11343,7 @@ struct t_hook *weechat_hook_print (struct t_gui_buffer *buffer,
void *data,
struct t_gui_buffer *buffer,
time_t date,
int date_usec,
int tags_count,
const char **tags,
int displayed,
@@ -10956,6 +11373,7 @@ Arguments:
** _void *data_: pointer
** _struct t_gui_buffer *buffer_: buffer pointer
** _time_t date_: date
** _int date_usec_: microseconds of date
** _int tags_count_: number of tags for line
** _const char **tags_: array with tags for line
** _int displayed_: 1 if line is displayed, 0 if it is filtered (hidden)
@@ -10986,7 +11404,7 @@ C example:
----
int
my_print_cb (const void *pointer, void *data, struct t_gui_buffer *buffer,
time_t date, int tags_count, const char **tags,
time_t date, int date_usec, int tags_count, const char **tags,
int displayed, int highlight,
const char *prefix, const char *message)
{
@@ -13101,9 +13519,15 @@ Content of hashtable sent to callback (keys and values are of type "string"):
| _chat_line_date | Line date/time.
| "1313237175" | "0"
| _chat_line_date_usec | Microseconds of line date/time.
| "123456" | "0"
| _chat_line_date_printed | Line date/time ^(4)^.
| "1313237175" | "0"
| _chat_line_date_usec_printed | Microseconds of line printed date/time ^(4)^.
| "123456" | "0"
| _chat_line_time | Time displayed.
| "14:06:15" | ""
@@ -13891,6 +14315,7 @@ Arguments:
* _buffer_: buffer pointer
* _property_: property name:
** _opening_: 1 if buffer is opening, otherwise 0 _(WeeChat ≥ 4.2.0)_
** _number_: number of buffer (starts to 1)
** _layout_number_: number of buffer saved in layout
** _layout_number_merge_order_: order in merge for layout
@@ -13898,24 +14323,18 @@ Arguments:
** _type_: buffer type (0: formatted, 1: free content)
** _notify_: notify level for buffer
** _num_displayed_: number of windows displaying buffer
** _active_: 2 if buffer is the only active (merged), 1 if buffer is active,
0 if buffer is merged and not selected
** _hidden_: 1 if buffer is hidden, otherwise 0
_(WeeChat ≥ 1.0)_
** _zoomed_: 1 if buffer is merged and zoomed, otherwise 0
_(WeeChat ≥ 1.0)_
** _active_: 2 if buffer is the only active (merged), 1 if buffer is active, 0 if buffer is merged and not selected
** _hidden_: 1 if buffer is hidden, otherwise 0 _(WeeChat ≥ 1.0)_
** _zoomed_: 1 if buffer is merged and zoomed, otherwise 0 _(WeeChat ≥ 1.0)_
** _print_hooks_enabled_: 1 if print hooks are enabled, otherwise 0
** _day_change_: 1 if messages for the day change are displayed, otherwise 0
_(WeeChat ≥ 0.4.3)_
** _clear_: 1 if buffer can be cleared with command `/buffer clear`, otherwise 0
_(WeeChat ≥ 1.0)_
** _filter_: 1 if filters are enabled on buffer, otherwise 0
_(WeeChat ≥ 1.0)_
** _lines_hidden_: 1 if at least one line is hidden on buffer (filtered), or 0
if all lines are displayed
** _day_change_: 1 if messages for the day change are displayed, otherwise 0 _(WeeChat ≥ 0.4.3)_
** _clear_: 1 if buffer can be cleared with command `/buffer clear`, otherwise 0 _(WeeChat ≥ 1.0)_
** _filter_: 1 if filters are enabled on buffer, otherwise 0 _(WeeChat ≥ 1.0)_
** _closing_: 1 if buffer is closing, otherwise 0 _(WeeChat ≥ 1.0)_
** _lines_hidden_: 1 if at least one line is hidden on buffer (filtered), or 0 if all lines are displayed
** _prefix_max_length_: max length for prefix in this buffer
** _time_for_each_line_: 1 if time is displayed for each line in buffer
(default), otherwise 0
** _next_line_id_: next line id in buffer _(WeeChat ≥ 3.8)_
** _time_for_each_line_: 1 if time is displayed for each line in buffer (default), otherwise 0
** _nicklist_: 1 if nicklist is enabled, otherwise 0
** _nicklist_case_sensitive_: 1 if nicks are case sensitive, otherwise 0
** _nicklist_max_length_: max length for a nick
@@ -13923,15 +14342,13 @@ Arguments:
** _nicklist_count_: number of nicks and groups in nicklist
** _nicklist_visible_count_: number of nicks/groups displayed
** _nicklist_groups_count_: number of groups in nicklist
** _nicklist_visible_groups_count_: number of groups displayed
** _nicklist_groups_visible_count_: number of groups displayed
** _nicklist_nicks_count_: number of nicks in nicklist
** _nicklist_visible_nicks_count_: number of nicks displayed
** _nicklist_nicks_visible_count_: number of nicks displayed
** _input_: 1 if input is enabled, otherwise 0
** _input_get_unknown_commands_: 1 if unknown commands are sent to input
callback, otherwise 0
** _input_get_unknown_commands_: 1 if unknown commands are sent to input callback, otherwise 0
** _input_get_empty_: 1 if empty input is sent to input callback, otherwise 0
** _input_multiline_: 1 if multiple lines are sent as one message to input
callback, otherwise 0
** _input_multiline_: 1 if multiple lines are sent as one message to input callback, otherwise 0
** _input_size_: input size (in bytes)
** _input_length_: input length (number of chars)
** _input_pos_: cursor position in buffer input
@@ -13939,9 +14356,22 @@ Arguments:
** _num_history_: number of commands in history
** _text_search_: text search type:
*** 0: no search at this moment
*** 1: backward search (direction: oldest messages)
*** 2: forward search (direction: newest messages)
*** 1: search in buffer lines
*** 2: search in commands history
** _text_search_direction_: direction for search:
*** 0: backward search (direction: oldest messages/commands)
*** 1: forward search (direction: newest messages/commands)
** _text_search_exact_: 1 if text search is case sensitive
** _text_search_regex_: 1 if searching with a regular expression
** _text_search_where_:
*** 0: no search at this moment
*** 1: search in message
*** 2: search in prefix
*** 3: search in prefix and message
** _text_search_history_:
*** 0: no search at this moment
*** 1: search in buffer local history
*** 2: search in global history
** _text_search_found_: 1 if text found, otherwise 0
Return value:
@@ -13983,13 +14413,12 @@ Arguments:
* _buffer_: buffer pointer
* _property_: property name:
** _plugin_: name of plugin which created this buffer ("core" for WeeChat main
buffer)
** _plugin_: name of plugin which created this buffer ("core" for WeeChat main buffer)
** _name_: name of buffer
** _full_name_: full name of buffer ("plugin.name") _(WeeChat ≥ 0.3.7)_
** _short_name_: short name of buffer (note: used for display only and can be
changed by user, this must not be used to find name of buffer, use instead
_name_, _full_name_ or local variable _channel_)
** _old_full_name_: old full name of buffer ("plugin.name"), set before the buffer is renamed _(WeeChat ≥ 2.8)_
** _short_name_: short name of buffer (note: used for display only and can be changed by user, this must not be used to find name of buffer, use instead _name_, _full_name_ or local variable _channel_)
** _type_: type of buffer: "formatted" or "free" _(WeeChat ≥ 4.2.0)_
** _title_: title of buffer
** _input_: input text
** _text_search_input_: input saved before text search
@@ -13999,8 +14428,7 @@ Arguments:
** _highlight_tags_restrict_: restrict highlights to messages with these tags
** _highlight_tags_: force highlight on messages with these tags
** _hotlist_max_level_nicks_: max hotlist level for some nicks
** _localvar_xxx_: get content of local variable "xxx" (replace "xxx" by the
name of variable to read)
** _localvar_xxx_: get content of local variable "xxx" (replace "xxx" by the name of variable to read)
Return value:
@@ -14044,8 +14472,9 @@ Arguments:
* _buffer_: buffer pointer
* _property_: property name:
** _plugin_: pointer to plugin which created this buffer (NULL for WeeChat main
buffer)
** _plugin_: pointer to plugin which created this buffer (NULL for WeeChat main buffer)
** _text_search_regex_compiled_: compiled regular expression
** _text_search_ptr_history_: history found
** _highlight_disable_regex_compiled_: regular expression _highlight_disable_regex_ compiled
** _highlight_regex_compiled_: regular expression _highlight_regex_ compiled
@@ -18593,7 +19022,7 @@ for key in hash:
==== hdata_compare
_WeeChat ≥ 1.9._
_WeeChat ≥ 1.9, updated in 4.1.0._
Compare a hdata variable of two objects.
@@ -18609,8 +19038,8 @@ Arguments:
* _hdata_: hdata pointer
* _pointer1_: pointer to first WeeChat/plugin object
* _pointer2_: pointer to second WeeChat/plugin object
* _name_: variable name; for arrays, the name can be "N|name" where N is
the index in array (starting at 0), for example: "2|name"
* _name_: variable name or path to a variable name; for arrays, the name can be
"N|name" where N is the index in array (starting at 0), for example: "2|name"
* _case_sensitive_: 1 for case sensitive comparison of strings, otherwise 0
Return value:
@@ -18626,8 +19055,12 @@ C example:
struct t_hdata *hdata = weechat_hdata_get ("buffer");
struct t_gui_buffer *buffer1 = weechat_buffer_search ("irc", "libera.#weechat");
struct t_gui_buffer *buffer2 = weechat_buffer_search ("irc", "libera.#weechat-fr");
weechat_printf (NULL, "number comparison = %d",
weechat_printf (NULL, "comparison of buffer number = %d",
weechat_hdata_compare (hdata, buffer1, buffer2, "number", 0));
weechat_printf (NULL, "comparison of number of lines = %d",
weechat_hdata_compare (hdata, buffer1, buffer2, "own_lines.lines_count", 0));
weechat_printf (NULL, "comparison of local variable = %d",
weechat_hdata_compare (hdata, buffer1, buffer2, "local_variables.myvar", 0));
----
Script (Python):
@@ -18641,7 +19074,9 @@ def hdata_compare(hdata: str, pointer1: str, pointer2: str, name: str, case_sens
hdata = weechat.hdata_get("buffer")
buffer1 = weechat.buffer_search("irc", "libera.#weechat")
buffer2 = weechat.buffer_search("irc", "libera.#weechat-fr")
weechat.prnt("", "number comparison = %d" % weechat.hdata_compare(hdata, buffer1, buffer2, "number", 0))
weechat.prnt("", "comparison of buffer number = %d" % weechat.hdata_compare(hdata, buffer1, buffer2, "number", 0))
weechat.prnt("", "comparison of number of lines = %d" % weechat.hdata_compare(hdata, buffer1, buffer2, "own_lines.lines_count", 0))
weechat.prnt("", "comparison of local variable = %d" % weechat.hdata_compare(hdata, buffer1, buffer2, "local_variables.myvar", 0))
----
==== hdata_set
+25 -10
View File
@@ -488,7 +488,9 @@ hda:
'buffer': 'ptr',
'y': 'int',
'date': 'tim',
'date_usec': 'int',
'date_printed': 'tim',
'date_usec_printed': 'int',
'str_time': 'str',
'tags_count': 'int',
'tags_array': 'arr',
@@ -506,7 +508,9 @@ hda:
buffer: '0x558d61ea3e60'
y: -1
date: 1588404926
date_usec: 118712
date_printed: 1588404926
date_usec_printed: 118712
str_time: 'F@0025209F@0024535F@0024026'
tags_count: 0
tags_array: []
@@ -522,7 +526,9 @@ hda:
buffer: '0x558d61ea3e60'
y: -1
date: 1588404930
date_usec: 25
date_printed: 1588404930
date_usec_printed: 25
str_time: 'F@0025209F@0024535F@0024030'
tags_count: 0
tags_array: []
@@ -712,11 +718,14 @@ inl:
input_buffer_1st_display: 0
num_history: 0
text_search: 0
text_search_direction: 0
text_search_exact: 0
text_search_regex: 0
text_search_regex_compiled: '0x0'
text_search_where: 0
text_search_history: 0
text_search_found: 0
text_search_ptr_history: '0x0'
text_search_input: None
highlight_words: None
highlight_disable_regex: None
@@ -2047,16 +2056,18 @@ Data sent as hdata:
[width="100%",cols="3m,2,10",options="header"]
|===
| Name | Type | Description
| buffer | pointer | Buffer pointer.
| date | time | Date of message.
| date_printed | time | Date when WeeChat displayed message.
| displayed | char | 1 if message is displayed, 0 if message is filtered (hidden).
| notify_level | char | Notify level: -1 = notify disabled, 0 = low, 1 = message, 2 = private, 3 = highlight.
| highlight | char | 1 if line has a highlight, otherwise 0.
| tags_array | array of strings | List of tags for line.
| prefix | string | Prefix.
| message | string | Message.
| Name | Type | Description
| buffer | pointer | Buffer pointer.
| date | time | Date of message.
| date_usec | integer | Microseconds of date.
| date_printed | time | Date when WeeChat displayed message.
| date_usec_printed | integer | Microseconds of date when WeeChat displayed message.
| displayed | char | 1 if message is displayed, 0 if message is filtered (hidden).
| notify_level | char | Notify level: -1 = notify disabled, 0 = low, 1 = message, 2 = private, 3 = highlight.
| highlight | char | 1 if line has a highlight, otherwise 0.
| tags_array | array of strings | List of tags for line.
| prefix | string | Prefix.
| message | string | Message.
|===
Example: new message _hello!_ from nick _FlashCode_ on buffer _irc.libera.#weechat_:
@@ -2068,7 +2079,9 @@ hda:
keys: {
'buffer': 'ptr',
'date': 'tim',
'date_usec': 'int',
'date_printed': 'tim',
'date_usec_printed': 'int',
'displayed': 'chr',
'notify_level': 'chr',
'highlight': 'chr',
@@ -2081,7 +2094,9 @@ hda:
__path: ['0x4a49600']
buffer: '0x4a715d0'
date: 1362728993
date_usec: 902765
date_printed: 1362728993
date_usec_printed: 902765
displayed: 1
notify_level: 1
highlight: 0
+2
View File
@@ -649,8 +649,10 @@ List of functions in script API:
color +
print (for python: prnt) +
print_date_tags (for python: prnt_date_tags) +
print_datetime_tags (for python: prnt_datetime_tags) +
print_y (for python: prnt_y) +
print_y_date_tags (for python: prnt_y_date_tags) +
print_y_datetime_tags (for python: prnt_y_datetime_tags) +
log_print
| hooks
+193 -97
View File
@@ -130,10 +130,6 @@ WeeChat:
| Logger plugin: compression of rotated log files (gzip). +
Relay plugin: compression of messages (WeeChat -> client) with https://zlib.net/[zlib ^↗^^] (weechat protocol). +
Script plugin: read of repository index file (gzip).
| libzstd-dev | ≥ 0.8.1
| Logger plugin: compression of rotated log files. +
Relay plugin: compression of messages (WeeChat -> client) with https://facebook.github.io/zstd/[Zstandard ^↗^^] (weechat protocol).
|===
[NOTE]
@@ -147,26 +143,68 @@ WeeChat:
[width="100%",cols="5,^3,.^15",options="header"]
|===
| Package ^(1)^ | Version | Features
| {cpp} compiler (pass:[g++ / clang++]) | | Build and run tests, JavaScript plugin.
| gettext | | Internationalization (translation of messages; base language is English).
| ca-certificates | | Certificates for TLS connections.
| libaspell-dev / libenchant-dev | | Spell plugin.
| python3-dev | ≥ 3.0 | Python plugin.
| libperl-dev | | Perl plugin.
| ruby3.1, ruby3.1-dev | ≥ 1.9.1 | Ruby plugin.
| liblua5.4-dev | | Lua plugin.
| tcl-dev | ≥ 8.5 | Tcl plugin.
| guile-3.0-dev | ≥ 2.0 | Guile (scheme) plugin.
| libv8-dev | ≤ 3.24.3 | JavaScript plugin.
| php-dev | ≥ 7.0 | PHP plugin.
| libphp-embed | ≥ 7.0 | PHP plugin.
| libxml2-dev | | PHP plugin.
| libargon2-dev | | PHP plugin (if PHP ≥ 7.2).
| libsodium-dev | | PHP plugin (if PHP ≥ 7.2).
| asciidoctor | ≥ 1.5.4 | Build man page and documentation.
| ruby-pygments.rb | | Build documentation.
| libcpputest-dev | ≥ 3.4 | Build and run tests.
| Package ^(1)^ | Version | Features
| {cpp} compiler (pass:[g++ / clang++]) |
| Build and run tests, JavaScript plugin.
| gettext |
| Internationalization (translation of messages; base language is English).
| ca-certificates |
| Certificates for TLS connections.
| libzstd-dev | ≥ 0.8.1
| Logger plugin: compression of rotated log files (zstandard). +
Relay plugin: compression of messages (WeeChat -> client) with https://facebook.github.io/zstd/[Zstandard ^↗^^] (weechat protocol).
| libaspell-dev / libenchant-dev |
| Spell plugin.
| python3-dev | ≥ 3.0
| Python plugin.
| libperl-dev |
| Perl plugin.
| ruby3.1, ruby3.1-dev | ≥ 1.9.1
| Ruby plugin.
| liblua5.4-dev |
| Lua plugin.
| tcl-dev | ≥ 8.5
| Tcl plugin.
| guile-3.0-dev | ≥ 2.0
| Guile (scheme) plugin.
| libv8-dev | ≤ 3.24.3
| JavaScript plugin.
| php-dev | ≥ 7.0
| PHP plugin.
| libphp-embed | ≥ 7.0
| PHP plugin.
| libxml2-dev |
| PHP plugin.
| libargon2-dev |
| PHP plugin (if PHP ≥ 7.2).
| libsodium-dev |
| PHP plugin (if PHP ≥ 7.2).
| asciidoctor | ≥ 1.5.4
| Build man page and documentation.
| ruby-pygments.rb |
| Build documentation.
| libcpputest-dev | ≥ 3.4
| Build and run tests.
|===
[NOTE]
@@ -206,7 +244,7 @@ $ make install
Options can be used for CMake, with format: `-DOPTION=VALUE`.
List of commonly used options:
List of available options:
[width="100%",cols="3m,3,3m,10",options="header"]
|===
@@ -260,6 +298,9 @@ List of commonly used options:
| ENABLE_GUILE | `ON`, `OFF` | ON
| Compile <<scripting_plugins,Guile plugin>> (Scheme).
| ENABLE_HEADLESS | `ON`, `OFF` | ON
| Compile headless binary.
| ENABLE_IRC | `ON`, `OFF` | ON
| Compile <<irc,IRC plugin>>.
@@ -318,6 +359,9 @@ List of commonly used options:
| ENABLE_XFER | `ON`, `OFF` | ON
| Compile <<xfer,Xfer plugin>>.
| ENABLE_ZSTD | `ON`, `OFF` | ON
| Enable https://facebook.github.io/zstd/[Zstandard ^↗^^] compression.
| ENABLE_TESTS | `ON`, `OFF` | OFF
| Compile tests.
@@ -870,11 +914,30 @@ Bar _input_ has following default items:
| Item | Example | Description
| input_prompt | `[@Flashy(i)]` | Input prompt, for irc: nick and modes (mode "+i" means invisible on libera).
| away | `(away)` | Away indicator.
| input_search | `[Search (~ str,msg)]` | Search indicator ("`~`": case insensitive, "`==`": case sensitive, "`str`": search string, "`regex`": search regular expression, "`msg`": search in messages, "`pre`": search in prefixes, "`pre\|msg`": search in prefixes and messages).
| input_search | `[Search lines (~ str,msg)]` | Search indicator (see below)
| input_paste | `[Paste 7 lines ? [ctrl-y] Yes [ctrl-n] No]` | Question to user for pasting lines.
| input_text | `hi peter!` | Input text.
|===
There are two search modes:
* search in lines, for example `[Search lines (~ str,msg)]`, with the following info:
** `~`: case insensitive
** `==`: case sensitive
** `str`: search string
** `regex`: search regular expression
** `msg`: search in messages
** `pre`: search in prefixes
** `pre\|msg`: search in prefixes and messages.
* search in commands history, for example `[Search command (~ str,local)]`,
with the following info:
** `~`: case insensitive
** `==`: case sensitive
** `str`: search string
** `regex`: search regular expression
** `local`: search in buffer local history
** `global`: search in global history.
Bar _nicklist_ has following default items:
[width="100%",cols="^3,^3,9",options="header"]
@@ -895,6 +958,8 @@ Other items available (not used in bars by default):
| buffer_short_name | `#test` | Current buffer short name.
| buflist2 | `1.weechat` | List of buffers, second bar item (see option <<option_buflist.look.use_items,buflist.look.use_items>>).
| buflist3 | `1.weechat` | List of buffers, third bar item (see option <<option_buflist.look.use_items,buflist.look.use_items>>).
| buflist4 | `1.weechat` | List of buffers, fourth bar item (see option <<option_buflist.look.use_items,buflist.look.use_items>>).
| buflist5 | `1.weechat` | List of buffers, fifth bar item (see option <<option_buflist.look.use_items,buflist.look.use_items>>).
| fset | `+buflist.look.sort: …+` | Help on currently selected option on fset buffer.
| irc_channel | `#test` | Current IRC channel name.
| irc_host | `+user@host.com+` | Current IRC host.
@@ -961,6 +1026,11 @@ follow (press kbd:[Ctrl+c] then following letter, with optional value):
| kbd:[Ctrl+c], kbd:[c],
kbd:[xx], kbd:[,],
kbd:[yy] | Text color `xx` and background `yy` (see list of colors below).
| kbd:[Ctrl+c], kbd:[d],
kbd:[xxxxxx] | Text color `xxxxxx` (RGB as hexadecimal, for example `FF0000` for red).
| kbd:[Ctrl+c], kbd:[d],
kbd:[xxxxxx], kbd:[,],
kbd:[yyyyyy] | Text color `xxxxxx` and background `yyyyyy` (RGB as hexadecimal).
| kbd:[Ctrl+c], kbd:[i] | Italic text.
| kbd:[Ctrl+c], kbd:[o] | Disable color and attributes.
| kbd:[Ctrl+c], kbd:[v] | Reverse video (revert text color with background).
@@ -968,8 +1038,8 @@ follow (press kbd:[Ctrl+c] then following letter, with optional value):
|===
[NOTE]
The same code (without number for kbd:[Ctrl+c], kbd:[c]) can be used to stop the
attribute.
The same code (without number for kbd:[Ctrl+c], kbd:[c] and kbd:[Ctrl+c], kbd:[d])
can be used to stop the attribute.
Color codes for kbd:[Ctrl+c], kbd:[c] are:
@@ -1413,7 +1483,8 @@ External plugins and scripts can define and use other local variables.
=== List of buffers
Buflist plugin displays a list of buffers in a bar item called "buflist"
(two other bar items "buflist2" and "buflist3" are available as well). +
(four other bar items "buflist2", "buflist3", "buflist4" and "buflist5" are
available as well). +
A default bar "buflist" is created on startup with this item.
[[buflist_commands]]
@@ -1512,6 +1583,7 @@ They can be changed and new ones can be added with the <<command_weechat_key,/ke
| kbd:[Enter] +
kbd:[Ctrl+j] +
kbd:[Ctrl+m] | Execute command or send message (in search mode: stop search). | `+/input return+`
| kbd:[Ctrl+o] | Execute the command found in history and insert the next one in the command line. | `+/input history_use_get_next+`
| kbd:[Alt+Enter] | Insert a newline. | `+/input insert \n+`
| kbd:[Alt+d] | Delete next word in command line (deleted string is copied to the internal clipboard). | `+/input delete_next_word+`
| kbd:[Alt+k] | Grab a key and insert its code (and command bound if key exists) in command line. | `+/input grab_key_command+`
@@ -1527,6 +1599,7 @@ They can be changed and new ones can be added with the <<command_weechat_key,/ke
| Key | Description | Command
| kbd:[Ctrl+c], kbd:[b] | Insert code for bold text. | `+/input insert \x02+`
| kbd:[Ctrl+c], kbd:[c] | Insert code for colored text. | `+/input insert \x03+`
| kbd:[Ctrl+c], kbd:[d] | Insert code for colored text (RGB color, as hexadecimal). | `+/input insert \x04+`
| kbd:[Ctrl+c], kbd:[i] | Insert code for italic text. | `+/input insert \x1D+`
| kbd:[Ctrl+c], kbd:[o] | Insert code for color reset. | `+/input insert \x0F+`
| kbd:[Ctrl+c], kbd:[v] | Insert code for reverse color. | `+/input insert \x16+`
@@ -1545,14 +1618,23 @@ They can be changed and new ones can be added with the <<command_weechat_key,/ke
| kbd:[Ctrl+↓] | Call next command/message in global history (common for all buffers). | `+/input history_global_next+`
|===
[[key_bindings_cmdline_system]]
==== System
[width="100%",cols="^.^3,.^8,.^5",options="header"]
|===
| Key | Description | Command
| kbd:[Ctrl+z] | Suspend WeeChat process. | `+/sys suspend+`
|===
[[key_bindings_buffers]]
=== Buffers
[width="100%",cols="^.^3,.^8,.^5",options="header"]
|===
| Key | Description | Command
| kbd:[Ctrl+r] | Search for text in buffer history (see <<key_bindings_search_context,keys for search context>>). | `+/input search_text_here+`
| kbd:[Ctrl+s], kbd:[Ctrl+u] | Set unread marker on all buffers. | `+/allbuf /buffer set unread+`
| kbd:[Ctrl+r] | Search for text in commands history (see <<key_bindings_histsearch_context,keys for context "histsearch">>). | `+/input search_history+`
| kbd:[Ctrl+s] | Search for text in buffer lines (see <<key_bindings_search_context,keys for context "search">>). | `+/input search_text_here+`
| kbd:[Ctrl+x] | Switch current buffer if buffers are merged with same number, for example switch to another IRC server buffer. | `+/buffer switch+`
| kbd:[Alt+x] | Zoom on merged buffer (kbd:[Alt+x] again: display all merged buffers). | `+/buffer zoom+`
| kbd:[PgUp] | Scroll up one page in buffer history. | `+/window page_up+`
@@ -1578,6 +1660,7 @@ They can be changed and new ones can be added with the <<command_weechat_key,/ke
| kbd:[Alt+n] | Scroll to next highlight. | `+/window scroll_next_highlight+`
| kbd:[Alt+p] | Scroll to previous highlight. | `+/window scroll_previous_highlight+`
| kbd:[Alt+u] | Scroll to first unread line in buffer. | `+/window scroll_unread+`
| kbd:[Alt+Shift+U] | Set unread marker on all buffers. | `+/allbuf /buffer set unread+`
| kbd:[Alt+<] | Switch to previous buffer in list of visited buffers. | `+/buffer jump prev_visited+`
| kbd:[Alt+>] | Switch to next buffer in list of visited buffers. | `+/buffer jump next_visited+`
| kbd:[Alt+/] | Switch to last buffer displayed (before last jump to a buffer). | `+/buffer jump last_displayed+`
@@ -1654,23 +1737,48 @@ They can be changed and new ones can be added with the <<command_weechat_key,/ke
[[key_bindings_search_context]]
=== Search context
These keys are used in context "search" (when kbd:[Ctrl+r] is pressed to search
text in buffer).
These keys are used in context "search" (when kbd:[Ctrl+s] is pressed to search
text in buffer lines).
[width="100%",cols="^.^3,.^8,.^5",options="header"]
|===
| Key | Description | Command
| kbd:[Ctrl+r] | Switch search type: string (default), regular expression. | `+/input search_switch_regex+`
| kbd:[Ctrl+x] | Switch search type: string (default), regular expression. | `+/input search_switch_regex+`
| kbd:[Alt+c] | Switch exact case for search. | `+/input search_switch_case+`
| kbd:[Tab] | Switch search in: messages (default), prefixes, prefixes + messages. | `+/input search_switch_where+`
| kbd:[↑] | Search previous line. | `+/input search_previous+`
| kbd:[] | Search next line. | `+/input search_next+`
| kbd:[Ctrl+r] +
kbd:[] | Search previous line. | `+/input search_previous+`
| kbd:[Ctrl+s] +
kbd:[↓] | Search next line. | `+/input search_next+`
| kbd:[Enter] +
kbd:[Ctrl+j] +
kbd:[Ctrl+m] | Stop search at current position. | `+/input search_stop_here+`
| kbd:[Ctrl+q] | Stop search and reset scroll to pre-text search state. | `+/input search_stop+`
|===
[[key_bindings_histsearch_context]]
=== History search context
These keys are used in context "histsearch" (when kbd:[Ctrl+r] is pressed to
search text in commands history).
[width="100%",cols="^.^3,.^8,.^5",options="header"]
|===
| Key | Description | Command
| kbd:[Ctrl+x] | Switch search type: string (default), regular expression. | `+/input search_switch_regex+`
| kbd:[Alt+c] | Switch exact case for search. | `+/input search_switch_case+`
| kbd:[Tab] | Switch search in: buffer local history (default), global history. | `+/input search_switch_where+`
| kbd:[Ctrl+r] +
kbd:[↑] | Search in previous (older) history entries. | `+/input search_previous+`
| kbd:[Ctrl+s] +
kbd:[↓] | Search in next (newer) history entries. | `+/input search_next+`
| kbd:[Enter] +
kbd:[Ctrl+j] +
kbd:[Ctrl+m] | Stop search and use matching input. | `+/input search_stop_here+`
| kbd:[Ctrl+o] | Execute the command found in history and insert the next one in the command line. | `+/input history_use_get_next+`
| kbd:[Ctrl+q] | Stop search and restore input to its initial value. | `+/input search_stop+`
|===
[[key_bindings_cursor_context]]
=== Cursor context
@@ -1737,10 +1845,10 @@ These mouse actions are possible only if mouse is enabled with key kbd:[Alt+m]
| kbd:[▼] | - | chat: /list buffer | Move five lines down in /list buffer. | `+/list -down 5+`
| kbd:[■ □ □] | - | chat: /list buffer | Select line in /list buffer. | `+/window ${_window_number};/list -go ${_chat_line_y}+`
| kbd:[□ □ ■] | - | chat: /list buffer | Join IRC channel on selected line. | `+hsignal:irc_list_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+`
| kbd:[■ □ □] | - | chat: script buffer | Select line in script buffer. | `+/script go ${_chat_line_y}+`
| kbd:[□ □ ■] | - | chat: script buffer | Install/remove script. | `+/script go ${_chat_line_y};/script installremove -q ${script_name_with_extension}+`
| 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+`
| kbd:[■ □ □] | - | chat: script buffer | Select line in script buffer. | `+/script -go ${_chat_line_y}+`
| kbd:[□ □ ■] | - | chat: script buffer | Install/remove script. | `+/script -go ${_chat_line_y};/script installremove -q ${script_name_with_extension}+`
| kbd:[■ □ □] | up / left | buflist | Move buffer to a lower number. | Signal `+buflist_mouse+`.
| kbd:[■ □ □] | down / right | buflist | Move buffer to a higher number. | Signal `+buflist_mouse+`.
| kbd:[■ □ □] | - | buflist | Switch to buffer (previously visited buffer if the buffer is the current one). | Signal `+buflist_mouse+`.
@@ -1803,8 +1911,8 @@ These keys and actions are used on the fset buffer (see <<fset,Fset plugin>>).
| 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+`
| kbd:[Alt+p] | `p` | Toggle plugin description options (`pass:[plugins.desc.*]`). | `+/mute /set fset.look.show_plugins_desc toggle+`
| kbd:[Alt+v] | `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+`
@@ -1858,17 +1966,22 @@ These keys and actions are used on the script buffer (see <<script_manager,scrip
[width="100%",cols="^.^3,^.^2,.^8,.^5",options="header"]
|===
| Key | Action ^(1)^ | Description | Command
| kbd:[↑] | | Move one line up. | `+/script up+`
| kbd:[↓] | | Move one line down. | `+/script down+`
| 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+l] | `l` | Load script. | `+/script load+`
| kbd:[Alt+L] | `L` | Reload script. | `+/script reload+`
| 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+`
| | `s:x,y` | Sort scripts by fields x,y (see option <<option_script.look.sort,script.look.sort>>). |
| | `s:` | Reset sort to its default value (see option <<option_script.look.sort,script.look.sort>>). |
| | `$` | Refresh list. |
| | `q` | Close buffer. | `+/buffer close+`
|===
[NOTE]
@@ -2221,15 +2334,9 @@ and for each nick the max hotlist level to trigger, possible levels are:
For example to disable highlights from "joe" and "mike" on current buffer:
----
/buffer set hotlist_max_level_nicks_add joe:2,mike:2
/buffer setauto hotlist_max_level_nicks_add joe:2,mike:2
----
[NOTE]
The buffer property "hotlist_max_level_nicks" is not saved in configuration. +
You can easily save it with the script _buffer_autoset.py_: you can install it
with `+/script install buffer_autoset.py+` and get help with
`+/help buffer_autoset+`.
[[highlights]]
=== Highlights
@@ -2254,15 +2361,9 @@ This can also be set with the buffer property "highlight_disable_regex".
Same example, specific to the current buffer:
----
/buffer set highlight_disable_regex <flash.*>
/buffer setauto highlight_disable_regex <flash.*>
----
[NOTE]
The buffer property "highlight_disable_regex" is not saved in configuration. +
You can easily save it with the script _buffer_autoset.py_: you can install it
with `+/script install buffer_autoset.py+` and get help with
`+/help buffer_autoset+`.
[[highlights_words]]
==== Add words to highlight
@@ -2317,15 +2418,9 @@ You can force highlight using a regular expression with the buffer property
For example to force the highlight on all messages in the current buffer:
----
/buffer set highlight_regex .*
/buffer setauto highlight_regex .*
----
[NOTE]
The buffer property "highlight_regex" is not saved in configuration. +
You can easily save it with the script _buffer_autoset.py_: you can install it
with `+/script install buffer_autoset.py+` and get help with
`+/help buffer_autoset+`.
[[buffer_logging]]
=== Buffer logging
@@ -3204,30 +3299,31 @@ Sections in file _weechat.conf_:
[width="100%",cols="3m,6m,16",options="header"]
|===
| Section | Control command | Description
| debug | <<command_weechat_debug,/debug set>> +
/set weechat.debug.* | Debug level, for core and plugins (options can be added/removed in section).
| startup | /set weechat.startup.* | Startup options.
| look | /set weechat.look.* | Look and feel.
| palette | <<command_weechat_color,/color alias>> +
/set weechat.palette.* | Color aliases (options can be added/removed in section).
| color | /set weechat.color.* | Colors.
| completion | /set weechat.completion.* | Completion options.
| history | /set weechat.history.* | History options (commands and buffers).
| proxy | <<command_weechat_proxy,/proxy>> +
/set weechat.proxy.* | Proxy options.
| network | /set weechat.network.* | Network/TLS options.
| plugin | /set weechat.plugin.* | Options on plugins.
| signal | /set weechat.signal.* | Options on signals.
| bar | <<command_weechat_bar,/bar>> +
/set weechat.bar.* | Bar options.
| layout | <<command_weechat_layout,/layout>> | Layouts.
| notify | <<command_weechat_buffer,/buffer notify>> | Notify levels for buffers (options can be added/removed in section).
| filter | <<command_weechat_filter,/filter>> | Filters.
| key | <<command_weechat_key,/key>> | Keys in default context.
| key_search | <<command_weechat_key,/key>> | Keys in search context.
| key_cursor | <<command_weechat_key,/key>> | Keys in cursor context.
| key_mouse | <<command_weechat_key,/key>> | Keys in mouse context.
| Section | Control command | Description
| debug | <<command_weechat_debug,/debug set>> +
/set weechat.debug.* | Debug level, for core and plugins (options can be added/removed in section).
| startup | /set weechat.startup.* | Startup options.
| look | /set weechat.look.* | Look and feel.
| palette | <<command_weechat_color,/color alias>> +
/set weechat.palette.* | Color aliases (options can be added/removed in section).
| color | /set weechat.color.* | Colors.
| completion | /set weechat.completion.* | Completion options.
| history | /set weechat.history.* | History options (commands and buffers).
| proxy | <<command_weechat_proxy,/proxy>> +
/set weechat.proxy.* | Proxy options.
| network | /set weechat.network.* | Network/TLS options.
| plugin | /set weechat.plugin.* | Options on plugins.
| signal | /set weechat.signal.* | Options on signals.
| bar | <<command_weechat_bar,/bar>> +
/set weechat.bar.* | Bar options.
| layout | <<command_weechat_layout,/layout>> | Layouts.
| buffer | <<command_weechat_buffer,/buffer setauto>> | Properties auto-applied on buffers when they are opened.
| notify | <<command_weechat_buffer,/buffer notify>> | Notify levels for buffers (options can be added/removed in section).
| filter | <<command_weechat_filter,/filter>> | Filters.
| key | <<command_weechat_key,/key>> | Keys in default context.
| key_search | <<command_weechat_key,/key>> | Keys in search context.
| key_cursor | <<command_weechat_key,/key>> | Keys in cursor context.
| key_mouse | <<command_weechat_key,/key>> | Keys in mouse context.
|===
Options:
@@ -4095,7 +4191,7 @@ the following extra variables are available:
[width="100%",cols="2,4,8",options="header"]
|===
| Variable | Description | Value/example
| `+${clientinfo}+` | List of supported CTCP | `+ACTION DCC CLIENTINFO FINGER PING SOURCE TIME USERINFO VERSION+`
| `+${clientinfo}+` | List of supported CTCP | `+ACTION DCC CLIENTINFO PING SOURCE TIME VERSION+`
| `+${version}+` | WeeChat version | `+4.1.0-dev+`
| `+${versiongit}+` | WeeChat version + Git version ^(1)^ | `+4.1.0-dev (git: v4.0.0-51-g8f98b922a)+`
| `+${git}+` | Git version ^(1)^ | `+v4.0.0-51-g8f98b922a+`
@@ -4117,11 +4213,9 @@ The default CTCP replies are:
[width="100%",cols="2,4,8",options="header"]
|===
| CTCP | Reply format | Example
| CLIENTINFO | `+${clientinfo}+` | `+ACTION DCC CLIENTINFO FINGER PING SOURCE TIME USERINFO VERSION+`
| FINGER | `+WeeChat ${version}+` | `+WeeChat 4.1.0-dev+`
| CLIENTINFO | `+${clientinfo}+` | `+ACTION DCC CLIENTINFO PING SOURCE TIME VERSION+`
| SOURCE | `+${download}+` | `+https://weechat.org/download/+`
| TIME | `+${time}+` | `+Sat, 08 Jul 2023 21:11:19 +0200+`
| USERINFO | `+${username} (${realname})+` | `+name (John Doe)+`
| VERSION | `+WeeChat ${version}+` | `+WeeChat 4.1.0-dev+`
|===
@@ -5084,7 +5178,7 @@ type:
| signal | tg_signal_data |
| hsignal | |
| modifier | tg_string | tg_string
| line | message | buffer, buffer_name, y, date, date_printed, str_time, tags, notify_level, highlight, prefix, message
| line | message | buffer, buffer_name, y, date, date_usec, date_printed, date_usec_printed, str_time, tags, notify_level, highlight, prefix, message
| print | tg_message |
| command | tg_argv_eol1 |
| command_run | tg_command |
@@ -5243,7 +5337,9 @@ The "line" callback sets following variables in hashtable:
| buffer_type | string | Buffer type ("formatted" or "free").
| y | string | Line number for a buffer with free content (≥ 0), -1 for a buffer with formatted content.
| date | string | Line date (timestamp).
| date_usec | string | Microseconds of line date.
| date_printed | string | Date when line was displayed (timestamp).
| date_usec_printed | string | Microseconds of date when line was displayed.
| str_time | string | Date for display. It may contain color codes.
| tags | string | Tags of message (with comma added at beginning/end of string).
| displayed | string | "1" if displayed, "0" if line filtered.
@@ -5282,7 +5378,7 @@ The "print" callback sets following variables in hashtable:
|===
| Variable | Type | Description
| buffer | pointer | Buffer.
| tg_date | string | Message date/time (format: `YYYY-MM-DD hh:mm:ss`).
| tg_date | string | Message date/time (format: `%FT%T.%f`, see link:weechat_plugin_api.en.html#_util_strftimeval[WeeChat plugin API reference / util_strftimeval ^↗^^]).
| tg_displayed | string | "1" if displayed, "0" if line filtered.
| tg_highlight | string | "1" if highlight, otherwise "0".
| tg_prefix | string | Prefix.
@@ -5347,7 +5443,7 @@ The "timer" callback sets following variables in hashtable:
|===
| Variable | Type | Description
| tg_remaining_calls | string | Number of remaining calls.
| tg_date | string | Current date/time (format: `YYYY-MM-DD hh:mm:ss`).
| tg_date | string | Current date/time (format: `%FT%T.%f`, see link:weechat_plugin_api.en.html#_util_strftimeval[WeeChat plugin API reference / util_strftimeval ^↗^^]).
|===
[[trigger_data_config]]
+64 -21
View File
@@ -598,6 +598,33 @@ Si está utilizando aplicación Terminal de macOS, habilite la opción
"Use option as meta key" en el menú Settings/Keyboard después de la cual puede utilizar la tecla
kbd:[Option] como tecla meta.
// TRANSLATION MISSING
[[enter_key]]
=== Some keys including Enter are not working, why?
If you run a WeeChat < 4.0.0 with configuration files created by any
version ≥ 4.0.0, the keys names become invalid and many keys won't work at all. +
To repair them, exit WeeChat, remove all sections `[key*]` from weechat.conf
and start WeeChat again: all default keys will be created.
// TRANSLATION MISSING
[[key_f11]]
=== Key F11 maximizes the terminal window, how can I scroll up the nicklist?
The key kbd:[F11] is commonly used by terminals to maximize the window, and
kbd:[F11]/kbd:[F12] are the default keys in WeeChat to scroll the nicklist.
You can bind other keys, for example kbd:[Shift+F11] and kbd:[Shift+F12],
with WeeChat ≥ 4.0.0:
----
/key bind shift-f11 /bar scroll nicklist * -100%
/key bind shift-f12 /bar scroll nicklist * +100%
----
Other solution is to enable mouse (key: kbd:[Alt+m]) and scroll with the mouse
wheel (see also questions about <<mouse,mouse>>).
[[customize_key_bindings]]
=== ¿Cómo puedo personalizar los atajos de teclado?
@@ -954,35 +981,22 @@ link:weechat_user.en.html#max_hotlist_level_nicks[hotlist_max_level_nicks_add ^
buffer property to set the max hotlist level for some nicks, per buffer,
or per group of buffers (like IRC servers).
Para únicamente inhabilitar las notificaciones, debería establecerlo a 2:
Para únicamente inhabilitar las notificaciones, debería establecerlo a 2.
// TRANSLATION MISSING
For the current buffer:
----
/buffer set hotlist_max_level_nicks_add joe:2,mike:2
/buffer setauto hotlist_max_level_nicks_add joe:2,mike:2
----
Esta propiedad del buffer no es almacenada en la configuración.
Para volver a aplicar automáticamente estas propiedades del buffer, necesitaría el script
_buffer_autoset.py_:
// TRANSLATION MISSING
For all channels on server "libera":
----
/script install buffer_autoset.py
/set weechat.buffer.irc.libera.*.hotlist_max_level_nicks_add joe:2,mike:2
----
Por ejemplo, para inhabilitar automáticamente las menciones de "mike" en #weechat
en el servidor IRC de libera:
----
/buffer_autoset add irc.libera.#weechat hotlist_max_level_nicks_add mike:2
----
Para aplicarlo al servidor completo de libera:
----
/buffer_autoset add irc.libera hotlist_max_level_nicks_add mike:2
----
Para más ejemplos, vea `+/help buffer_autoset+`.
[[irc_target_buffer]]
=== ¿Cómo puedo cambiar el objetivo del buffer para comandos en buffers unidos (como en un buffer con servidores)?
@@ -1186,6 +1200,35 @@ almacenadas en _sec.conf_ con el comando `/secure`).
Vea la link:weechat_user.en.html#files_and_directories[Guía del usuario / Archivos y directorios ^↗^^]
para más información relacionada con los archivos de configuración.
// TRANSLATION MISSING
[[move_to_another_device]]
=== I want to move my WeeChat to another device and keep my config, what should I copy?
First check directories used by WeeChat with this command: `/debug dirs`. +
Directories home/config and home/data must be copied (all files and sub-directories).
For example if you're using XDG directories (default with WeeChat ≥ 3.2),
the directories should be `$HOME/.config/weechat` and `$HOME/.local/share/weechat`. +
If you're using a single directory (default with WeeChat < 3.2), the directory
should be `$HOME/.weechat`.
[IMPORTANT]
The WeeChat version on the new device must be greater than or equal to the version
on the initial device. +
Downgrading WeeChat configuration is *NOT SUPPORTED* and can break it,
leading to unusable WeeChat.
Steps:
. Quit Weechat: `/quit` (or `/upgrade -quit` if you want to resume the session,
which includes content of all buffers).
. Copy all directories, sub-directories and files to the new device, keeping
same names and permissions.
. Optional: copy any file outside these directories that you refer to in your
configuration (it's not recommended to use files outside WeeChat directories).
. Start WeeChat on the new device: `weechat` (or `weechat --upgrade` if you
saved the session).
[[development]]
== Desarrollo
+1 -1
View File
@@ -102,7 +102,7 @@ $HOME/.local/share/weechat/weechat.log::
WeeChat est écrit par Sébastien Helleu et des contributeurs (la liste complète
est dans le fichier AUTHORS.adoc).
Copyright (C) 2003-2023 {author}
Copyright (C) 2003-2024 {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
+11 -2
View File
@@ -142,6 +142,7 @@ Le cœur de WeeChat est situé dans les répertoires suivants :
|    wee-secure-config.c | Options des données sécurisées (fichier sec.conf).
|    wee-signal.c | Fonctions sur les signaux.
|    wee-string.c | Fonctions sur les chaînes de caractères.
|    wee-sys.c | Fonctions système.
|    wee-upgrade-file.c | Système de mise à jour interne.
|    wee-upgrade.c | Mise à jour du cœur de WeeChat (tampons, lignes, historique, ...).
|    wee-url.c | Transfert d'URL (en utilisant libcurl).
@@ -149,7 +150,7 @@ Le cœur de WeeChat est situé dans les répertoires suivants :
|    wee-util.c | Quelques autres fonctions utilitaires.
|    wee-version.c | Fonctions pour la version de WeeChat.
|    weechat.c | Fonctions principales : options de ligne de commande, démarrage.
|    hook/ | Hook functions.
|    hook/ | Fonctions "hook".
|       wee-hook-command-run.c | Hook "command_run".
|       wee-hook-command.c | Hook "command".
|       wee-hook-completion.c | Hook "completion".
@@ -168,6 +169,7 @@ Le cœur de WeeChat est situé dans les répertoires suivants :
|       wee-hook-process.c | Hook "process".
|       wee-hook-signal.c | Hook "signal".
|       wee-hook-timer.c | Hook "timer".
|       wee-hook-url.c | Hook "url".
| gui/ | Fonctions pour les tampons, fenêtres, ... (utilisées par toutes les interfaces).
|    gui-bar-item.c | Objets de barre.
|    gui-bar-window.c | Fenêtres de barre.
@@ -238,6 +240,7 @@ Le cœur de WeeChat est situé dans les répertoires suivants :
|       buflist.c | Fonctions principales de Buflist.
|       buflist-bar-item.c | Objets de barre Buflist.
|       buflist-command.c | Commandes pour Buflist.
|       buflist-completion.c | Complétions pour Buflist.
|       buflist-config.c | Options de configuration pour Buflist (fichier buflist.conf).
|       buflist-info.c | Info/infolists/hdata pour Buflist.
|       buflist-mouse.c | Actions souris pour Buflist.
@@ -402,6 +405,8 @@ Le cœur de WeeChat est situé dans les répertoires suivants :
|          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.
|       test-plugin-api-info.cpp | Tests : fonctions info de l'API extension.
|       test-plugin-config.cpp | Tests : fonctions config de l'extension.
|       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.
@@ -422,6 +427,9 @@ Le cœur de WeeChat est situé dans les répertoires suivants :
|          test-core-url.cpp | Tests : URLs.
|          test-core-utf8.cpp | Tests : UTF-8.
|          test-core-util.cpp | Tests : fonctions utiles.
|          test-core-sys.cpp | Tests : fonctions système.
|          hook/ | Racine des tests pour les hooks.
|             test-hook-command.cpp | Tests : hooks "command".
|       gui/ | Racine des tests unitaires pour les interfaces.
|          test-gui-bar-window.cpp | Tests : fonctions de fenêtres de barre.
|          test-gui-buffer.cpp | Tests : fonctions de tampons.
@@ -441,6 +449,7 @@ Le cœur de WeeChat est situé dans les répertoires suivants :
|             test-irc-config.cpp | Tests : configuration IRC.
|             test-irc-ctcp.cpp | Tests : CTCP IRC.
|             test-irc-ignore.cpp | Tests : ignores IRC.
|             test-irc-info.cpp | Tests : infos IRC.
|             test-irc-join.cpp | Tests : fonctions de join IRC.
|             test-irc-list.cpp | Tests : tampon IRC pour la réponse à la commande /list.
|             test-irc-message.cpp | Tests : messages IRC.
@@ -526,7 +535,7 @@ Exemple en C :
/*
* weechat.c - core functions for WeeChat
*
* Copyright (C) 2023 Your Name <your@email.com>
* Copyright (C) 2024 Your Name <your@email.com>
*
* This file is part of WeeChat, the extensible chat client.
*
+65 -21
View File
@@ -601,6 +601,34 @@ Si vous utilisez l'application Terminal sous macOS, activez l'option
"Use option as meta key" dans le menu Réglages/Clavier. Vous pouvez alors
utiliser la touche kbd:[Option] comme touche meta.
[[enter_key]]
=== Quelques touches comme Entrée ne fonctionnent pas, pourquoi ?
Si vous lancez WeeChat < 4.0.0 avec des fichiers de configuration créés par toute
version ≥ 4.0.0, les noms des touches sont invalides et de nombreuses touches
ne fonctionneront plus. +
Pour les réparer, quittez WeeChat, supprimez toutes les sections `[key*]` de
weechat.conf et démarrez WeeChat à nouveau : toutes les touches par défaut
seront recréées.
[[key_f11]]
=== La touche F11 maximise la fenêtre du terminal, comment puis-je faire défiler la liste de pseudos vers le haut ?
La touche kbd:[F11] est fréquemment utilisée par les terminaux pour maximiser
la fenêtre, et kbd:[F11]/kbd:[F12] sont les touches par défaut dans WeeChat
pour faire défiler la liste des pseudos.
Vous pouvez associer d'autres touches, par exemple kbd:[Shift+F11] et kbd:[Shift+F12],
avec WeeChat ≥ 4.0.0 :
----
/key bind shift-f11 /bar scroll nicklist * -100%
/key bind shift-f12 /bar scroll nicklist * +100%
----
Une autre solution est d'activer la souris (touche : kbd:[Alt+m]) et faire défiler
avec la roulette de la souris (voir aussi les questions sur la <<mouse,souris>>).
[[customize_key_bindings]]
=== Comment puis-je configurer les raccourcis clavier ?
@@ -955,35 +983,20 @@ link:weechat_user.fr.html#max_hotlist_level_nicks[hotlist_max_level_nicks_add ^
pour définir le niveau maximum de hotlist pour certains pseudos, par tampon,
ou groupe de tampons (comme des serveurs IRC).
Pour désactiver seulement les highlights, vous pouvez positionner la valeur à 2 :
Pour désactiver seulement les highlights, vous pouvez positionner la valeur à 2.
Pour le tampon courant :
----
/buffer set hotlist_max_level_nicks_add joe:2,mike:2
/buffer setauto hotlist_max_level_nicks_add joe:2,mike:2
----
Cependant, cette propriété de tampon n'est pas sauvegardée dans la configuration.
Pour automatiquement réappliquer ces propriétés de tampons, vous aurez besoin
du script _buffer_autoset.py_ :
Pour tous les canaux sur le serveur "libera":
----
/script install buffer_autoset.py
/set weechat.buffer.irc.libera.*.hotlist_max_level_nicks_add joe:2,mike:2
----
Par exemple, pour désactiver de manière permanente les highlights de "mike" sur
#weechat sur le serveur IRC libera :
----
/buffer_autoset add irc.libera.#weechat hotlist_max_level_nicks_add mike:2
----
Pour l'appliquer à l'ensemble du serveur libera :
----
/buffer_autoset add irc.libera hotlist_max_level_nicks_add mike:2
----
Pour plus d'exemples, voir `+/help buffer_autoset+`.
[[irc_target_buffer]]
=== Comment puis-je changer le serveur cible pour les commandes avec des tampons mélangés (comme le tampon avec les serveurs) ?
@@ -1195,6 +1208,37 @@ des mots de passes (s'ils ne sont pas stockés dans _sec.conf_ avec la commande
Voir le link:weechat_user.fr.html#files_and_directories[Guide utilisateur / Fichiers et répertoires ^↗^^]
pour plus d'informations sur les fichiers de configuration.
[[move_to_another_device]]
=== Je souhaite déplacer mon WeeChat vers une autre machine et garder ma configuration, que dois-je copier ?
Premièrement, vérifiez les répertoires utilisés par WeeChat avec cette commande :
`/debug dirs`. +
Les répertoires home/config et home/data doivent être copiés (tous les fichiers
et sous-répertoires).
Par exemple si vous utilisez les répertoires XDG (par défaut avec WeeChat ≥ 3.2),
les répertoires devraient être `$HOME/.config/weechat` et `$HOME/.local/share/weechat`. +
Si vous utilisez un répertoire unique (par défaut avec WeeChat < 3.2), le répertoire
devrait être `$HOME/.weechat`.
[IMPORTANT]
La version de WeeChat sur la nouvelle machine doit être supérieure ou égale
à celle de la machine initiale. +
La rétrogradation de la configuration n'est *PAS SUPPORTÉE* et pourrait la casser,
rendant WeeChat inutilisable.
Étapes :
. Quitter Weechat : `/quit` (ou `/upgrade -quit` si vous souhaitez restaurer
la session, qui inclut le contenu de tous les tampons).
. Copier tous les répertoires, fichiers et sous-répertoires vers la nouvelle machine
au même endroit, en préservant les noms et les permissions.
. Facultatif : copier tout fichier en dehors de ces répertoires que vous référencez
dans votre configuration (il n'est pas recommandé d'utiliser des fichiers en
dehors des répertoires WeeChat).
. Démarrer WeeChat sur la nouvelle machine : `weechat` (ou `weechat --upgrade`
si vous avez sauvé la session).
[[development]]
== Développement
+561 -113
View File
@@ -2613,7 +2613,7 @@ str3 = weechat.string_input_for_buffer("//test") # "/test"
==== string_eval_expression
_WeeChat ≥ 0.4.0, mis à jour dans la 0.4.2, 0.4.3, 1.0, 1.1, 1.2, 1.3, 1.6, 1.8,
2.0, 2.2, 2.3, 2.7, 2.9, 3.1, 3.2, 3.3, 3.4, 3.6, 3.8, 4.0.0._
2.0, 2.2, 2.3, 2.7, 2.9, 3.1, 3.2, 3.3, 3.4, 3.6, 3.8, 4.0.0, 4.2.0._
Évaluer l'expression et retourner le résultat sous forme de chaîne.
Les variables spéciales avec le format `+${variable}+` sont étendues (voir le
@@ -2952,11 +2952,22 @@ première étendue à la dernière) :
|===
| Format | WeeChat mini | Description | Exemples
| `+${raw_hl:xxx}+` | 4.2.0
| Chaîne brute (non évaluée), avec mise en évidence de la syntaxe (en utilisant
des couleurs).
| >> `+${raw_hl:${cut:1,,${rev:hello}}}+` +
== `+${cut:1,,${rev:hello}}+` (avec des couleurs)
| `+${raw:xxx}+` | 3.1
| Chaîne brute (non évaluée).
| >> `+${raw:${info:version}}+` +
== `+${info:version}+`
| `+${hl:xxx}+` | 4.2.0
| Chaîne avec mise en évidence de la syntaxe (en utilisant des couleurs).
| >> `+${hl:${fichier.section.option}}+` +
== `+test ${variable}+` (avec des couleurs)
| `+${nom}+` | 3.4
| Variable définie par l'utilisateur (avec `+${define:nom,valeur}+`).
| >> `+${nom}+` +
@@ -3533,6 +3544,46 @@ weechat_string_dyn_free (string, 1);
[NOTE]
Cette fonction n'est pas disponible dans l'API script.
==== string_concat
_WeeChat ≥ 4.2.0._
Concaténer plusieurs chaînes de caractères en utilisant un séparateur.
Prototype :
[source,c]
----
const char *weechat_string_concat (const char *separator, ...);
----
Paramètres :
* _separator_ : la chaîne de séparation qui est insérée entre les chaînes
concaténées (peut être NULL ou une chaîne vide)
[NOTE]
Le dernier paramètre *DOIT* toujours être NULL. +
Une macro nommée `WEECHAT_STR_CONCAT` peut être utilisée, où la valeur finale
NULL n'est pas nécessaire (l'utilisation de cette macro est recommandée).
Valeur de retour :
* chaîne concaténée
Exemple en C :
[source,c]
----
const char *result = weechat_string_concat (" / ", "abc", "def", "ghi", NULL); /* result == "abc / def / ghi" */
/* with macro */
const char *result = WEECHAT_STR_CONCAT(" / ", "abc", "def", "ghi"); /* result == "abc / def / ghi" */
----
[NOTE]
Cette fonction n'est pas disponible dans l'API script.
[[utf-8]]
=== UTF-8
@@ -4100,18 +4151,28 @@ 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 | 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) |
| `+sha512-224+` | SHA-512/224 | 28 octets (224 bits) | Algorithme disponible avec libgcrypt ≥ 1.9.4.
| `+sha512-256+` | SHA-512/256 | 32 octets (256 bits) | Algorithme disponible avec libgcrypt ≥ 1.9.4.
| `+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.
| `+blake2b-160+` | BLAKE2B-160 | 20 octets (160 bits) | Algorithme disponible avec libgcrypt ≥ 1.8.0.
| `+blake2b-256+` | BLAKE2B-256 | 32 octets (256 bits) | Algorithme disponible avec libgcrypt ≥ 1.8.0.
| `+blake2b-384+` | BLAKE2B-384 | 48 octets (384 bits) | Algorithme disponible avec libgcrypt ≥ 1.8.0.
| `+blake2b-512+` | BLAKE2B-512 | 64 octets (512 bits) | Algorithme disponible avec libgcrypt ≥ 1.8.0.
| `+blake2s-128+` | BLAKE2S-128 | 16 octets (128 bits) | Algorithme disponible avec libgcrypt ≥ 1.8.0.
| `+blake2s-160+` | BLAKE2S-160 | 20 octets (160 bits) | Algorithme disponible avec libgcrypt ≥ 1.8.0.
| `+blake2s-224+` | BLAKE2S-224 | 28 octets (224 bits) | Algorithme disponible avec libgcrypt ≥ 1.8.0.
| `+blake2s-256+` | BLAKE2S-256 | 32 octets (256 bits) | Algorithme disponible avec libgcrypt ≥ 1.8.0.
|===
Valeur de retour :
@@ -4552,7 +4613,8 @@ Paramètres :
* _to_ : fichier cible
* _compressor_ : le compresseur à utiliser, un parmi :
** _gzip_ : compression gzip
** _zstd_ : compression zstandard
** _zstd_ : compression zstandard (disponible seulement si zstd a été activé
lors de la compilation de WeeChat)
* _compression_level_ : niveau de compression, entre 1 (rapide, peu de
compression) à 100 (lent, meilleure compression)
@@ -4713,6 +4775,83 @@ weechat_printf (NULL, "date : %s",
[NOTE]
Cette fonction n'est pas disponible dans l'API script.
==== util_strftimeval
_WeeChat ≥ 4.2.0._
Formatter la date et l'heure comme la fonction `strftime` de la bibliothèque C,
en utilisant un `struct timeval` en entrée et en supportant des caractères de
conversion pour les microsecondes.
Prototype :
[source,c]
----
int weechat_util_strftimeval (char *string, int max, const char *format, struct timeval *tv);
----
Paramètres :
* _string_ : tampon où stocker la chaîne formattée
* _max_ : taille de la chaîne
* _format_ : format, le même que celui de la fonction _strftime_, avec des
caractères de conversion supplémentaires :
** `%.N` où `N` est entre 1 and 6: microsecondes remplies avec des zéros sur
N chiffres (par exemple `%.3` pour les millisecondes)
** `%f` : alias de `%.6`
Valeur de retour :
* nombre d'octets placés dans _string_ (valeur retournée par la fonction _strftime_).
Exemple en C :
[source,c]
----
char time[256];
struct timeval tv;
gettimeofday (&tv, NULL);
weechat_util_strftimeval (time, sizeof (time), "%FT%T.%f", &tv);
/* résultat : 2023-12-26T18:10:04.460509 */
----
[NOTE]
Cette fonction n'est pas disponible dans l'API script.
==== util_parse_time
_WeeChat ≥ 4.2.0._
Analyser la date/heure avec le support des microsecondes.
Prototype :
[source,c]
----
int util_parse_time (const char *datetime, struct timeval *tv);
----
Paramètres :
* _date_ : date/heure
* _tv_: date/heure analysée (structure "timeval")
Valeur de retour :
* 1 si OK, 0 si erreur
Exemple en C :
[source,c]
----
struct timeval tv;
weechat_util_parse_time ("2023-12-25T10:29:09.456789Z", &tv); /* == 1 */
/* result: tv.tv_sec == 1703500149, tv.tv_usec = 456789 */
----
[NOTE]
Cette fonction n'est pas disponible dans l'API script.
==== util_version_number
_WeeChat ≥ 0.3.9._
@@ -5651,7 +5790,7 @@ Paramètres :
Valeur de retour :
* 1 if OK, 0 if error
* 1 si OK, 0 si erreur
Exemple en C :
@@ -6819,9 +6958,10 @@ my_section_read_cb (const void *pointer, void *data,
{
/* ... */
return WEECHAT_CONFIG_READ_OK;
/* return WEECHAT_CONFIG_READ_MEMORY_ERROR; */
/* return WEECHAT_CONFIG_READ_FILE_NOT_FOUND; */
return WEECHAT_CONFIG_OPTION_SET_OK_CHANGED;
/* return WEECHAT_CONFIG_OPTION_SET_OK_SAME_VALUE; */
/* return WEECHAT_CONFIG_OPTION_SET_ERROR; */
/* return WEECHAT_CONFIG_OPTION_SET_OPTION_NOT_FOUND; */
}
int
@@ -6911,7 +7051,7 @@ def config_new_section(config_file: str, name: str,
callback_delete_option: str, callback_delete_option_data: str) -> str: ...
# exemple
def my_section_read_cb(data: str, config_file: str, section: str, option_name: str, value: str | None) -> int:
def my_section_read_cb(data: str, config_file: str, section: str, option_name: str, value: Union[str, None]) -> int:
# ...
return weechat.WEECHAT_CONFIG_OPTION_SET_OK_CHANGED
# return weechat.WEECHAT_CONFIG_OPTION_SET_OK_SAME_VALUE
@@ -6930,7 +7070,7 @@ def my_section_write_default_cb(data: str, config_file: str, section_name: str)
# return weechat.WEECHAT_CONFIG_WRITE_ERROR
# return weechat.WEECHAT_CONFIG_WRITE_MEMORY_ERROR
def my_section_create_option_cb(data: str, config_file: str, section: str, option_name: str, value: str | None) -> int:
def my_section_create_option_cb(data: str, config_file: str, section: str, option_name: str, value: Union[str, None]) -> int:
# ...
return weechat.WEECHAT_CONFIG_OPTION_SET_OK_CHANGED
# return weechat.WEECHAT_CONFIG_OPTION_SET_OK_SAME_VALUE
@@ -7177,7 +7317,7 @@ Script (Python) :
# prototype
def config_new_option(config_file: str, section: str, name: str, type: str, description: str,
string_values: str, min: int, max: int,
default_value: str | None, value: str | None, null_value_allowed: int,
default_value: Union[str, None], value: Union[str, None], null_value_allowed: int,
callback_check_value: str, callback_check_value_data: str,
callback_change: str, callback_change_data: str,
callback_delete: str, callback_delete_data: str) -> str: ...
@@ -9356,13 +9496,13 @@ Prototype :
void weechat_printf (struct t_gui_buffer *buffer, const char *message, ...);
----
Cette fonction est un raccourci vers la fonction printf_date_tags. Ces deux appels
donnent exactement le même résultat :
Cette fonction est un raccourci vers la fonction printf_datetime_tags. +
Ces deux appels donnent exactement le même résultat :
[source,c]
----
weechat_printf (buffer, "message");
weechat_printf_date_tags (buffer, 0, NULL, "message");
weechat_printf_datetime_tags (buffer, 0, 0, NULL, "message");
----
Paramètres :
@@ -9427,6 +9567,15 @@ void weechat_printf_date_tags (struct t_gui_buffer *buffer, time_t date,
const char *tags, const char *message, ...);
----
Cette fonction est un raccourci vers la fonction printf_datetime_tags. +
Ces deux appels donnent exactement le même résultat :
[source,c]
----
weechat_printf_date_tags (buffer, 0, NULL, "message");
weechat_printf_datetime_tags (buffer, 0, 0, NULL, "message");
----
Paramètres :
* _buffer_ : pointeur vers le tampon, si NULL, le message est affiché sur le
@@ -9464,6 +9613,65 @@ weechat.prnt_date_tags("", time - 120, "notify_message",
La fonction s'appelle "print_date_tags" dans les scripts ("prnt_date_tags" en
Python).
==== printf_datetime_tags
_WeeChat ≥ 4.2.0._
Afficher un message sur un tampon, en utilisant une date/heure (avec microsecondes)
et des étiquettes personnalisées.
Prototype :
[source,c]
----
void weechat_printf_datetime_tags (struct t_gui_buffer *buffer, time_t date,
int date_usec, const char *tags, const char *message, ...);
----
Paramètres :
* _buffer_ : pointeur vers le tampon, si NULL, le message est affiché sur le
tampon WeeChat
* _date_ : date pour le message (0 signifie la date/heure courante)
* _date_usec_ : microsecondes de la date (entre 0 et 999999)
* _tags_ : liste d'étiquettes séparées par des virgules (NULL signifie aucune
étiquette)
* _message_ : message à afficher
Voir le link:weechat_user.fr.html#lines_tags[Guide utilisateur WeeChat / Étiquettes des lignes ^↗^^]
pour une liste des étiquettes couramment utilisées dans WeeChat.
Exemple en C :
[source,c]
----
struct timeval tv_now;
gettimeofday (&tv_now, NULL);
weechat_printf_datetime_tags (NULL, tv_now.tv_sec - 120, tv_now.tv_usec,
"notify_message",
"Message il y a 2 minutes avec une étiquette 'notify_message'");
----
Script (Python) :
[source,python]
----
# prototype
def prnt_datetime_tags(buffer: str, date: int, date_usec: int, tags: str, message: str) -> int: ...
# exemple
now = time.time()
time_sec = int(now)
time_usec = int((now * 1000000) % 1000000)
weechat.prnt_datetime_tags("", time_sec - 120, time_usec, "notify_message",
"Message il y a 2 minutes avec une étiquette 'notify_message'")
----
[NOTE]
La fonction s'appelle "print_datetime_tags" dans les scripts ("prnt_datetime_tags"
en Python).
==== printf_y
Afficher un message sur une ligne d'un tampon avec contenu libre.
@@ -9472,8 +9680,16 @@ Prototype :
[source,c]
----
void weechat_printf_y (struct t_gui_buffer *buffer, int y,
const char *message, ...);
void weechat_printf_y (struct t_gui_buffer *buffer, int y, const char *message, ...);
----
Cette fonction est un raccourci vers la fonction printf_y_datetime_tags. +
Ces deux appels donnent exactement le même résultat :
[source,c]
----
weechat_printf_y (buffer, 0, "message");
weechat_printf_y_datetime_tags (buffer, 0, 0, 0, NULL, "message");
----
Paramètres :
@@ -9522,6 +9738,15 @@ void weechat_printf_y_date_tags (struct t_gui_buffer *buffer, int y, time_t date
const char *tags, const char *message, ...);
----
Cette fonction est un raccourci vers la fonction printf_y_datetime_tags. +
Ces deux appels donnent exactement le même résultat :
[source,c]
----
weechat_printf_y_date_tags (buffer, 0, 0, NULL, "message");
weechat_printf_y_datetime_tags (buffer, 0, 0, 0, NULL, "message");
----
Paramètres :
* _buffer_ : pointeur vers le tampon
@@ -9556,6 +9781,56 @@ weechat.prnt_y_date_tags("", 2, 0, "mon_etiquette", "Mon message sur la 3ème li
La fonction s'appelle "print_y_date_tags" dans les scripts ("prnt_y_date_tags"
en Python).
==== printf_y_datetime_tags
_WeeChat ≥ 4.2.0._
Afficher un message sur une ligne d'un tampon avec contenu libre, en utilisant
une date/heure (avec microsecondes) et des étiquettes personnalisées.
Prototype :
[source,c]
----
void weechat_printf_y_datetime_tags (struct t_gui_buffer *buffer, int y, time_t date,
int date_usec, const char *tags, const char *message, ...);
----
Paramètres :
* _buffer_ : pointeur vers le tampon
* _y_ : numéro de ligne (la première ligne est 0); une valeur négative affiche
une ligne après la dernière ligne affichée : la valeur absolue de _y_ est le
nombre de lignes après la dernière ligne (par exemple -1 est immédiatement
après la dernière ligne, -2 est 2 lignes après la dernière ligne)
* _date_ : date pour le message (0 signifie la date/heure courante)
* _date_usec_ : microsecondes de la date (entre 0 et 999999)
* _tags_ : liste d'étiquettes séparées par des virgules (NULL signifie aucune
étiquette)
* _message_ : message à afficher
Exemple en C :
[source,c]
----
weechat_printf_y_datetime_tags (buffer, 2, 0, 0, "mon_etiquette", "Mon message sur la 3ème ligne avec une étiquette");
----
Script (Python) :
[source,python]
----
# prototype
def prnt_y_datetime_tags(buffer: str, y: int, date: int, date_usec: int, tags: str, message: str) -> int: ...
# exemple
weechat.prnt_y_datetime_tags("", 2, 0, 0, "mon_etiquette", "Mon message sur la 3ème ligne avec une étiquette")
----
[NOTE]
La fonction s'appelle "print_y_datetime_tags" dans les scripts
("prnt_y_datetime_tags" en Python).
==== log_printf
Écrire un message dans le fichier de log WeeChat (weechat.log).
@@ -10196,7 +10471,6 @@ struct t_hook *weechat_hook_process (const char *command,
void *callback_data);
----
Paramètres :
* _command_ : commande à lancer dans le processus fils, URL _(WeeChat ≥ 0.3.7)_
@@ -10430,7 +10704,7 @@ struct t_hook *weechat_hook_process_hashtable (const char *command,
Les paramètres sont les mêmes que ceux de la fonction
<<_hook_process,hook_process>>, avec un paramètre supplémentaire :
* _options_ : options pour la commande exécutée; la table de hachage est
* _options_ : options pour la commande exécutée ; la table de hachage est
dupliquée dans la fonction, donc il est possible de la supprimer après cet
appel
@@ -10460,25 +10734,8 @@ sont disponibles :
_/dev/null_.
|===
Pour la commande "url:...", les options suivantes sont disponibles (voir
`+man curl_easy_setopt+` pour une description de chaque option) :
include::{autogendir}/autogen_api_url_options.fr.adoc[tag=url_options]
[NOTE]
^(1)^ Pour les options avec le type "mask", le format est :
"value1+value2+value3" ;
pour les options avec le type "list", les éléments de la liste doivent être
séparés par un retour à la ligne (`\n`). +
^(2)^ Lorsque des constantes sont disponibles, elles doivent être utilisées
comme valeur pour l'option.
Pour l'URL, deux options supplémentaires (chaînes) sont autorisées, pour le
fichier en entrée/sortie :
* _file_in_ : fichier à lire pour envoyer avec l'URL (envoi de fichier "post")
* _file_out_ : écrire l'URL/fichier dans ce fichier (au lieu de la sortie
standard)
Pour la commande "url:...", voir les options disponibles dans la fonction
<<_hook_url,hook_url>>.
Valeur de retour :
@@ -10638,6 +10895,163 @@ hook4 = weechat.hook_process_hashtable("sh",
20000, "my_process_cb", "")
----
==== hook_url
_WeeChat ≥ 4.1.0._
Transfert d'URL.
Prototype :
[source,c]
----
struct t_hook *weechat_hook_url (const char *url,
struct t_hashtable *options,
int timeout,
int (*callback)(const void *pointer,
void *data,
const char *url,
struct t_hashtable *options,
struct t_hashtable *output),
const void *callback_pointer,
void *callback_data);
----
Paramètres :
* _url_ : URL
* _options_ : options pour le transfert d'URL (voir ci-dessous) ; la table de
hachage est dupliquée dans la fonction, donc il est possible de la supprimer
après cet appel
* _timeout_ : timeout pour le transfert d'URL (en millisecondes) : après de délai,
le transfert est stoppé (0 signifie pas de limite)
* _callback_ : fonction appelée lorsque le transfert est terminé, paramètres et
valeur de retour :
** _const void *pointer_ : pointeur
** _void *data_ : pointeur
** _const char *url_ : URL
** _struct t_hashtable *options_ : options
** _struct t_hashtable *output_ : résultat (les clés et valeurs sont des chaînes),
qui peut contenir les clés suivantes :
*** _response_code_ : code réponse HTTP
*** _headers_ : en-têtes HTTP dans la réponse
*** _output_ : sortie standard (défini seulement si _file_out_ n'était pas défini
dans les options)
*** _error_ : message d'erreur (défini seulement en cas d'erreur)
** valeur de retour :
*** _WEECHAT_RC_OK_
*** _WEECHAT_RC_ERROR_
* _callback_pointer_ : pointeur donné à la fonction de rappel lorsqu'elle est
appelée par WeeChat
* _callback_data_ : pointeur donné à la fonction de rappel lorsqu'elle est
appelée par WeeChat; si non NULL, doit avoir été alloué par malloc (ou une
fonction similaire) et est automatiquement libéré (par free) lorsque le
"hook" est supprimé
Les options Curl suivantes sont disponibles (voir `+man curl_easy_setopt+` pour
une description de chaque option) :
include::{autogendir}/autogen_api_url_options.fr.adoc[tag=url_options]
[NOTE]
^(1)^ Pour les options avec le type "mask", le format est :
"value1+value2+value3" ;
pour les options avec le type "list", les éléments de la liste doivent être
séparés par un retour à la ligne (`\n`). +
^(2)^ Lorsque des constantes sont disponibles, elles doivent être utilisées
comme valeur pour l'option.
Ces deux options supplémentaires (chaînes) sont autorisées, pour le fichier en
entrée/sortie :
[width="100%",cols="2,^1,7",options="header"]
|===
| Option | Type | Description
| file_in | string | fichier à lire pour envoyer avec l'URL (envoi de fichier "post")
| file_out | string | écrire l'URL/fichier dans ce fichier (au lieu de la sortie standard)
|===
Valeur de retour :
* pointeur vers le nouveau "hook", NULL en cas d'erreur
Exemple en C :
[source,c]
----
int
my_url_cb (const void *pointer, void *data, const char *url,
struct t_hashtable *options, struct t_hashtable *output)
{
weechat_printf (NULL, "response_code : %s", weechat_hashtable_get (output, "response_code"));
weechat_printf (NULL, "headers : %s", weechat_hashtable_get (output, "headers"));
weechat_printf (NULL, "output : %s", weechat_hashtable_get (output, "output"));
weechat_printf (NULL, "error : %s", weechat_hashtable_get (output, "error"));
return WEECHAT_RC_OK;
}
/* example 1: sortie dans un fichier */
struct t_hashtable *options_url1 = weechat_hashtable_new (8,
WEECHAT_HASHTABLE_STRING,
WEECHAT_HASHTABLE_STRING,
NULL,
NULL);
if (options_url1)
{
weechat_hashtable_set (options_url1, "file_out", "/tmp/weechat.org.html");
struct t_hook *my_url_hook = weechat_hook_url ("https://weechat.org/",
options_url1,
20000,
&my_url_cb, NULL, NULL);
weechat_hashtable_free (options_url1);
}
/* example 2: en-têtes HTTP personnalisés, sortie envoyée à la fonction de rappel */
struct t_hashtable *options_url2 = weechat_hashtable_new (8,
WEECHAT_HASHTABLE_STRING,
WEECHAT_HASHTABLE_STRING,
NULL,
NULL);
if (options_url2)
{
weechat_hashtable_set (options_url2, "httpheader",
"Header1: valeur1\n"
"Header2: valeur2");
struct t_hook *my_url_hook = weechat_hook_url ("http://localhost:8080/",
options_url2,
20000,
&my_url_cb, NULL, NULL);
weechat_hashtable_free (options_url2);
}
----
Script (Python) :
[source,python]
----
# prototype
def hook_url(url: str, options: Dict[str, str], timeout: int, callback: str, callback_data: str) -> str: ...
# exemple
def my_url_cb(data: str, url: str, options: Dict[str, str], output: Dict[str, str]) -> int:
weechat.prnt("", "output: %s" % output)
return weechat.WEECHAT_RC_OK
# exemple 1 : sortie dans un fichier
hook1 = weechat.hook_url("https://weechat.org/",
{"file_out": "/tmp/weechat.org.html"},
20000, "my_url_cb", "")
# exemple 2 : en-têtes HTTP personnalisés, sortie envoyée à la fonction de rappel
options = {
"httpheader": "\n".join([
"Header1: valeur1",
"Header2: valeur2",
]),
}
hook2 = weechat.hook_url("http://localhost:8080/", options, 20000, "my_url_cb", "")
----
==== hook_connect
_Mis à jour dans la 1.5, 2.0._
@@ -10831,7 +11245,7 @@ hook = weechat.hook_connect("", "my.server.org", 1234, 1, 0, "",
==== hook_line
_WeeChat ≥ 2.3, mis à jour dans la 3.7, 4.1.0._
_WeeChat ≥ 2.3, mis à jour dans la 4.2.0._
Intercepter une ligne sur le point d'être affichée dans un tampon.
@@ -10909,13 +11323,13 @@ de hachage, avec les valeurs suivantes (les clés et valeurs sont des chaînes)
| Clé | Valeur (tampon formaté) | Valeur (tampon libre) | Exemples
| buffer
| Liste de pointeurs vers les tampons, séparés par des virgules.
| Liste de pointeurs vers les tampons, séparés par des virgules.
| Pointeur vers le tampon.
| Pointeur vers le tampon.
| `+0x1234abcd+`
| buffer_name
| Liste de noms de tampons, séparés par des virgules.
| Liste de noms de tampons, séparés par des virgules.
| Nom du tampon.
| Nom du tampon.
| `+core.weechat+` +
`+irc.server.libera+` +
`+irc.libera.#weechat+`
@@ -10937,11 +11351,21 @@ de hachage, avec les valeurs suivantes (les clés et valeurs sont des chaînes)
| N/A ("0").
| `+1533792000+`
| date_usec
| Microsecondes de la date de la ligne (entre 0 et 999999).
| N/A ("0").
| `+123456+`
| date_printed
| Date d'affichage de la ligne (horodatage).
| N/A ("0").
| `+1533792012+`
| date_usec_printed
| Microsecondes de la date d'affichage de la ligne (entre 0 et 999999).
| N/A ("0").
| `+654321+`
| str_time
| Date pour l'affichage (elle peut contenir des codes couleur).
| N/A (chaîne vide).
@@ -11004,20 +11428,16 @@ valeurs sont des chaînes dans cette table de hachage) :
| Clé | Valeur autorisée (tampon formaté) | Valeur autorisée (tampon libre) | Résultat
| buffer
| Liste de pointeurs vers les tampons, séparés par des virgules (avec contenu formaté)
(plusieurs tampons sont supportés seulement avec WeeChat ≥ 4.1.0).
| Liste de pointeurs vers les tampons, séparés par des virgules (avec contenu libre)
(plusieurs tampons sont supportés seulement avec WeeChat ≥ 4.1.0).
| La ligne est affichée sur ces tampons. +
| Pointeur vers un tampon avec contenu formaté.
| Pointeur vers un tampon avec contenu libre.
| La ligne est affichée sur ce tampon. +
Si la valeur est vide, la ligne est supprimée (le reste de la table de hachage
est alors ignoré) ; les "hooks" suivants de type "line" ne sont pas appelés.
| buffer_name
| Liste de noms de tampons, séparés par des virgules (avec contenu formaté)
(multiple buffers are supported only with WeeChat ≥ 4.1.0).
| Liste de noms de tampons, séparés par des virgules (avec contenu libre)
(multiple buffers are supported only with WeeChat ≥ 4.1.0).
| La ligne est affichée sur ces tampons. +
| Nom d'un tampon avec contenu formaté.
| Nom d'un tampon avec contenu libre.
| La ligne est affichée sur ce tampon. +
Si `buffer` est également défini, la valeur de `+buffer_name+` a une priorité
plus haute est est utilisée. +
Si la valeur est vide, la ligne est supprimée (le reste de la table de hachage
@@ -11034,11 +11454,22 @@ valeurs sont des chaînes dans cette table de hachage) :
| La date est positionnée à cet horodatage. +
La valeur de `+str_time+` est mise à jour en conséquence.
| date_usec
| Entier ("0" à "999999").
| N/A.
| Les microsecondes de la date sont positionnées à cette valeur. +
La valeur de `+str_time+` est mise à jour en conséquence.
| date_printed
| Horodatage.
| N/A.
| La date d'affichage est positionnée à cet horodatage (non affichée).
| date_usec_printed
| Entier ("0" à "999999").
| N/A.
| Les microsecondes de la date d'affichage sont positionnées à cette valeur.
| str_time
| Chaîne.
| N/A.
@@ -11122,7 +11553,7 @@ hook = weechat.hook_line("", "", "irc_join", "my_line_cb", "")
==== hook_print
_Mis à jour dans la 0.4.3, 1.0, 1.5._
_Mis à jour dans la 0.4.3, 1.0, 1.5, 4.2.0._
Intercepter un message affiché. Il est appelée quand une ligne a été ajoutée
dans un tampon avec contenu formaté.
@@ -11142,6 +11573,7 @@ struct t_hook *weechat_hook_print (struct t_gui_buffer *buffer,
void *data,
struct t_gui_buffer *buffer,
time_t date,
int date_usec,
int tags_count,
const char **tags,
int displayed,
@@ -11173,6 +11605,7 @@ Paramètres :
** _void *data_ : pointeur
** _struct t_gui_buffer *buffer_ : pointeur vers le tampon
** _time_t date_ : date
** _int date_usec_ : microsecondes de la date
** _int tags_count_ : nombre d'étiquettes de la ligne
** _const char **tags_ : tableau avec les étiquettes de la ligne
** _int displayed_ : 1 si la ligne est affichée, 0 si elle est filtrée (cachée)
@@ -11207,7 +11640,7 @@ Exemple en C :
----
int
my_print_cb (const void *pointer, void *data, struct t_gui_buffer *buffer,
time_t date, int tags_count, const char **tags,
time_t date, int date_usec, int tags_count, const char **tags,
int displayed, int highlight,
const char *prefix, const char *message)
{
@@ -13396,9 +13829,15 @@ valeurs sont de type "string") :
| _chat_line_date | Date/heure de la ligne.
| "1313237175" | "0"
| _chat_line_date_usec | Microsecondes de la date/heure de la ligne.
| "123456" | "0"
| _chat_line_date_printed | Date/heure de la ligne ^(4)^.
| "1313237175" | "0"
| _chat_line_date_usec_printed | Microsecondes de la date/heure de la ligne ^(4)^.
| "123456" | "0"
| _chat_line_time | Heure affichée.
| "14:06:15" | ""
@@ -14192,6 +14631,7 @@ Paramètres :
* _buffer_ : pointeur vers le tampon
* _property_ : nom de la propriété :
** _opening_ : 1 si le tampon est en cours d'ouverture, sinon 0 _(WeeChat ≥ 4.2.0)_
** _number_ : numéro du tampon (commence à 1)
** _layout_number_ : numéro du tampon sauvegardé dans le "layout"
** _layout_number_merge_order_ : ordre du tampon mélangé pour le "layout"
@@ -14199,40 +14639,32 @@ Paramètres :
** _type_ : type de tampon (0 : formaté, 1 : contenu libre)
** _notify_ : niveau de notification du tampon
** _num_displayed_ : nombre de fenêtres affichant ce tampon
** _active_ : 2 si le tampon est le seul actif (mélangé), 1 si le tampon est
actif, 0 si le tampon est mélangé et n'est pas sélectionné
** _hidden_ : 1 si le tampon est caché, sinon 0
_(WeeChat ≥ 1.0)_
** _zoomed_ : 1 si le tampon est mélangé et zoomé, sinon 0
_(WeeChat ≥ 1.0)_
** _active_ : 2 si le tampon est le seul actif (mélangé), 1 si le tampon est actif, 0 si le tampon est mélangé et n'est pas sélectionné
** _hidden_ : 1 si le tampon est caché, sinon 0 _(WeeChat ≥ 1.0)_
** _zoomed_ : 1 si le tampon est mélangé et zoomé, sinon 0 _(WeeChat ≥ 1.0)_
** _print_hooks_enabled_ : 1 si les hooks "print" sont activés, sinon 0
** _day_change_ : 1 si les messages de changement de jour sont affichés, sinon 0
_(WeeChat ≥ 0.4.3)_
** _clear_ : 1 si le tampon peut être effacé avec la commande `/buffer clear`,
sinon 0 _(WeeChat ≥ 1.0)_
** _filter_ : 1 si les filtres sont activés sur le tampon, sinon 0
_(WeeChat ≥ 1.0)_
** _lines_hidden_ : 1 si au moins une ligne est cachée dans le tampon
(filtrée), ou 0 si toutes les lignes sont affichées
** _day_change_ : 1 si les messages de changement de jour sont affichés, sinon 0 _(WeeChat ≥ 0.4.3)_
** _clear_ : 1 si le tampon peut être effacé avec la commande `/buffer clear`, sinon 0 _(WeeChat ≥ 1.0)_
** _filter_ : 1 si les filtres sont activés sur le tampon, sinon 0 _(WeeChat ≥ 1.0)_
** _closing_ : 1 si le tampon est en cours de fermeture, sinon 0 _(WeeChat ≥ 1.0)_
** _lines_hidden_ : 1 si au moins une ligne est cachée dans le tampon (filtrée), ou 0 si toutes les lignes sont affichées
** _prefix_max_length_ : longueur maximale du préfixe dans ce tampon
** _time_for_each_line_ : 1 si l'heure est affichée pour chaque ligne du tampon
(par défaut), sinon 0
** _next_line_id_ : prochain identifiant de ligne dans le tampon _(WeeChat ≥ 3.8)_
** _time_for_each_line_ : 1 si l'heure est affichée pour chaque ligne du tampon (par défaut), sinon 0
** _nicklist_ : 1 si la liste de pseudos est activée, sinon 0
** _nicklist_case_sensitive_ : 1 si les pseudos sont sensibles à la casse,
sinon 0
** _nicklist_case_sensitive_ : 1 si les pseudos sont sensibles à la casse, sinon 0
** _nicklist_max_length_ : longueur maximale d'un pseudo
** _nicklist_display_groups_ : 1 si les groupes sont affichés, sinon 0
** _nicklist_count_ : nombre de pseudos et groupes dans la liste de pseudos
** _nicklist_groups_count_ : nombre de groupes dans la liste de pseudos
** _nicklist_nicks_count_ : nombre de pseudos dans la liste de pseudos
** _nicklist_visible_count_ : nombre de pseudos/groupes affichés
** _nicklist_groups_count_ : nombre de groupes dans la liste de pseudos
** _nicklist_groups_visible_count_ : nombre de groupes affichés
** _nicklist_nicks_count_ : nombre de pseudos dans la liste de pseudos
** _nicklist_nicks_visible_count_ : nombre de pseudos affichés
** _input_ : 1 si la zone de saisie est activée, sinon 0
** _input_get_unknown_commands_ : 1 si les commandes inconnues sont envoyées
à la fonction de rappel "input", sinon 0
** _input_get_empty_ : 1 si une entrée vide est envoyée à la fonction de rappel
"input", sinon 0
** _input_multiline_ : 1 si plusieurs lignes sont envoyées comme un seul message
à la fonction de rappel "input", sinon 0
** _input_get_unknown_commands_ : 1 si les commandes inconnues sont envoyées à la fonction de rappel "input", sinon 0
** _input_get_empty_ : 1 si une entrée vide est envoyée à la fonction de rappel "input", sinon 0
** _input_multiline_ : 1 si plusieurs lignes sont envoyées comme un seul message à la fonction de rappel "input", sinon 0
** _input_size_ : taille de la zone de saisie (en octets)
** _input_length_ : longueur de la zone de saisie (nombre de caractères)
** _input_pos_ : position du curseur dans la zone de saisie
@@ -14240,9 +14672,22 @@ Paramètres :
** _num_history_ : nombre de commandes dans l'historique
** _text_search_ : type de recherche de texte :
*** 0 : pas de recherche en cours
*** 1 : recherche arrière (vers les messages les plus anciens)
*** 2 : recherche avant (vers les messages les plus récents)
*** 1 : recherche dans les lignes du tampon
*** 2 : recherche dans l'historique de commandes
** _text_search_direction_ : direction pour la recherche :
*** 0 : recherche arrière (vers les messages/commandes plus anciens)
*** 1 : recherche avant (vers les messages/commandes plus récents)
** _text_search_exact_ : 1 si la recherche de texte est sensible à la casse
** _text_search_regex_ : 1 si la recherche est avec une expression régulière
** _text_search_where_ :
*** 0 : pas de recherche en cours
*** 1 : recherche dans le message
*** 2 : recherche dans le préfixe
*** 3 : recherche dans le préfixe et le message
** _text_search_history_:
*** 0 : pas de recherche en cours
*** 1 : recherche dans l'historique local du tampon
*** 2 : recherche dans l'historique global
** _text_search_found_ : 1 si du texte a été trouvé, sinon 0
Valeur de retour :
@@ -14284,28 +14729,22 @@ Paramètres :
* _buffer_ : pointeur vers le tampon
* _property_ : nom de la propriété :
** _plugin_ : nom de l'extension qui a créé ce tampon ("core" pour le tampon
principal WeeChat)
** _plugin_ : nom de l'extension qui a créé ce tampon ("core" pour le tampon principal WeeChat)
** _name_ : nom du tampon
** _full_name_ : nom complet du tampon ("extension.nom") _(WeeChat ≥ 0.3.7)_
** _short_name_ : nom court du tampon (note : utilisé pour l'affichage
seulement et peut être changé par l'utilisateur, il ne doit pas être utilisé
pour trouver le nom du tampon, utilisez à la place _name_, _full_name_ ou
bien la variable locale _channel_)
** _old_full_name_ : ancien nom complet du tampon ("extension.nom"), défini avant que le tampon ne soit renommé _(WeeChat ≥ 2.8)_
** _short_name_ : nom court du tampon (note : utilisé pour l'affichage seulement et peut être changé par l'utilisateur, il ne doit pas être utilisé pour trouver le nom du tampon, utilisez à la place _name_, _full_name_ ou bien la variable locale _channel_)
** _type_ : type de tampon : "formatted" (formaté) ou "free" (contenu libre) _(WeeChat ≥ 4.2.0)_
** _title_ : titre du tampon
** _input_ : texte saisi
** _text_search_input_ : texte saisi sauvegardé avant la recherche de texte
** _highlight_words_ : liste des mots pour le highlight
** _highlight_disable_regex_ : expression régulière POSIX étendue pour désactiver
le highlight
** _highlight_disable_regex_ : expression régulière POSIX étendue pour désactiver le highlight
** _highlight_regex_ : expression régulière POSIX étendue pour le highlight
** _highlight_tags_restrict_ : restreindre les highlights aux messages
comportant ces étiquettes
** _highlight_tags_restrict_ : restreindre les highlights aux messages comportant ces étiquettes
** _highlight_tags_ : forcer le highlight pour les messages avec ces étiquettes
** _hotlist_max_level_nicks_ : niveau maximum pour la hotlist pour certains
pseudos
** _localvar_xxx_ : contenu de la variable locale "xxx" (remplacer "xxx" par le
nom de la variable locale à lire)
** _hotlist_max_level_nicks_ : niveau maximum pour la hotlist pour certains pseudos
** _localvar_xxx_ : contenu de la variable locale "xxx" (remplacer "xxx" par le nom de la variable locale à lire)
Valeur de retour :
@@ -14349,8 +14788,9 @@ Paramètres :
* _buffer_ : pointeur vers le tampon
* _property_ : nom de la propriété :
** _plugin_ : pointeur vers l'extension qui a créé le tampon (NULL pour le
tampon principal WeeChat)
** _plugin_ : pointeur vers l'extension qui a créé le tampon (NULL pour le tampon principal WeeChat)
** _text_search_regex_compiled_ : expression régulière compilée
** _text_search_ptr_history_ : entrée d'historique trouvée
** _highlight_disable_regex_compiled_ : expression régulière _highlight_disable_regex_ compilée
** _highlight_regex_compiled_ : expression régulière _highlight_regex_ compilée
@@ -18986,7 +19426,7 @@ for key in hash:
==== hdata_compare
_WeeChat ≥ 1.9._
_WeeChat ≥ 1.9, mis à jour dans la 4.1.0._
Comparer une variable hdata de deux objets.
@@ -19002,8 +19442,9 @@ Paramètres :
* _hdata_ : pointeur vers le hdata
* _pointer1_ : pointeur vers le premier objet WeeChat ou d'une extension
* _pointer2_ : pointeur vers le second objet WeeChat ou d'une extension
* _name_ : nom de la variable ; pour les tableaux, le nom peut être "N|name" où N
est un index dans le tableau (démarrant à 0), par exemple : "2|name"
* _name_ : nom de la variable ou chemin vers le nom de la variable ; pour les
tableaux, le nom peut être "N|name" où N est un index dans le tableau
(démarrant à 0), par exemple : "2|name"
* _case_sensitive_ : 1 pour une comparaison tenant compte de la casse pour les chaînes,
sinon 0
@@ -19020,7 +19461,12 @@ Exemple en C :
struct t_hdata *hdata = weechat_hdata_get ("buffer");
struct t_gui_buffer *buffer1 = weechat_buffer_search ("irc", "libera.#weechat");
struct t_gui_buffer *buffer2 = weechat_buffer_search ("irc", "libera.#weechat-fr");
weechat_printf (NULL, "comparaison de numéro = %d", weechat_hdata_compare (hdata, buffer1, buffer2, "number", 0));
weechat_printf (NULL, "comparaison de numéro de tampon = %d",
weechat_hdata_compare (hdata, buffer1, buffer2, "number", 0));
weechat_printf (NULL, "comparaison du nombre de lignes = %d",
weechat_hdata_compare (hdata, buffer1, buffer2, "own_lines.lines_count", 0));
weechat_printf (NULL, "comparaison de variable locale = %d",
weechat_hdata_compare (hdata, buffer1, buffer2, "local_variables.myvar", 0));
----
Script (Python) :
@@ -19034,7 +19480,9 @@ def hdata_compare(hdata: str, pointer1: str, pointer2: str, name: str, case_sens
hdata = weechat.hdata_get("buffer")
buffer1 = weechat.buffer_search("irc", "libera.#weechat")
buffer2 = weechat.buffer_search("irc", "libera.#weechat-fr")
weechat.prnt("", "comparaison de numéro = %d" % weechat.hdata_compare(hdata, buffer1, buffer2, "number", 0))
weechat.prnt("", "comparaison de numéro de tampon = %d" % weechat.hdata_compare(hdata, buffer1, buffer2, "number", 0))
weechat.prnt("", "comparaison du nombre de lignes = %d" % weechat.hdata_compare(hdata, buffer1, buffer2, "own_lines.lines_count", 0))
weechat.prnt("", "comparaison de variable locale = %d" % weechat.hdata_compare(hdata, buffer1, buffer2, "local_variables.myvar", 0))
----
==== hdata_set
+25 -10
View File
@@ -503,7 +503,9 @@ hda:
'buffer': 'ptr',
'y': 'int',
'date': 'tim',
'date_usec': 'int',
'date_printed': 'tim',
'date_usec_printed': 'int',
'str_time': 'str',
'tags_count': 'int',
'tags_array': 'arr',
@@ -521,7 +523,9 @@ hda:
buffer: '0x558d61ea3e60'
y: -1
date: 1588404926
date_usec: 118712
date_printed: 1588404926
date_usec_printed: 118712
str_time: 'F@0025209F@0024535F@0024026'
tags_count: 0
tags_array: []
@@ -537,7 +541,9 @@ hda:
buffer: '0x558d61ea3e60'
y: -1
date: 1588404930
date_usec: 25
date_printed: 1588404930
date_usec_printed: 25
str_time: 'F@0025209F@0024535F@0024030'
tags_count: 0
tags_array: []
@@ -728,11 +734,14 @@ inl:
input_buffer_1st_display: 0
num_history: 0
text_search: 0
text_search_direction: 0
text_search_exact: 0
text_search_regex: 0
text_search_regex_compiled: '0x0'
text_search_where: 0
text_search_history: 0
text_search_found: 0
text_search_ptr_history: '0x0'
text_search_input: None
highlight_words: None
highlight_disable_regex: None
@@ -2075,16 +2084,18 @@ Données envoyées dans le hdata :
[width="100%",cols="3m,2,10",options="header"]
|===
| Nom | Type | Description
| buffer | pointeur | Pointeur vers le tampon.
| date | date/heure | Date du message.
| date_printed | date/heure | Date d'affichage du message.
| displayed | caractère | 1 si le message est affiché, 0 si le message est filtré (caché).
| notify_level | caractère | Niveau de notification : -1 = notification désactivée, 0 = bas, 1 = message, 2 = privé, 3 = highlight.
| highlight | caractère | 1 si la ligne a un highlight, sinon 0.
| tags_array | tableau de chaînes | Liste des étiquettes de la ligne.
| prefix | chaîne | Préfixe.
| message | chaîne | Message.
| Nom | Type | Description
| buffer | pointeur | Pointeur vers le tampon.
| date | date/heure | Date du message.
| date_usec | entier | Microsecondes de la date.
| date_printed | date/heure | Date d'affichage du message.
| date_usec_printed | entier | Microsecondes de la date d'affichage du message.
| displayed | caractère | 1 si le message est affiché, 0 si le message est filtré (caché).
| notify_level | caractère | Niveau de notification : -1 = notification désactivée, 0 = bas, 1 = message, 2 = privé, 3 = highlight.
| highlight | caractère | 1 si la ligne a un highlight, sinon 0.
| tags_array | tableau de chaînes | Liste des étiquettes de la ligne.
| prefix | chaîne | Préfixe.
| message | chaîne | Message.
|===
Exemple : nouveau message _hello!_ du pseudo _FlashCode_ sur le tampon
@@ -2097,7 +2108,9 @@ hda:
keys: {
'buffer': 'ptr',
'date': 'tim',
'date_usec': 'int',
'date_printed': 'tim',
'date_usec_printed': 'int',
'displayed': 'chr',
'notify_level': 'chr',
'highlight': 'chr',
@@ -2110,7 +2123,9 @@ hda:
__path: ['0x4a49600']
buffer: '0x4a715d0'
date: 1362728993
date_usec: 902765
date_printed: 1362728993
date_usec_printed: 902765
displayed: 1
notify_level: 1
highlight: 0
+2
View File
@@ -670,8 +670,10 @@ Liste des fonctions de l'API script :
color +
print (pour python : prnt) +
print_date_tags (pour python : prnt_date_tags) +
print_datetime_tags (pour python : prnt_datetime_tags) +
print_y (pour python : prnt_y) +
print_y_date_tags (pour python : prnt_y_date_tags) +
print_y_datetime_tags (pour python : prnt_y_datetime_tags) +
log_print
| hooks
+201 -109
View File
@@ -130,10 +130,6 @@ Le tableau suivant liste les paquets *requis* pour construire WeeChat :
| Extension Logger : compression des fichiers de log qui tournent (gzip). +
Extention Relay : compression des messages (WeeChat -> client) avec https://zlib.net/[zlib ^↗^^] (protocole weechat). +
Extension Script : lecture du fichier d'index du dépôt (gzip).
| libzstd-dev | ≥ 0.8.1
| Extension Logger : compression des fichiers de log qui tournent. +
Extension Relay : compression des messages (WeeChat -> client) avec https://facebook.github.io/zstd/[Zstandard ^↗^^] (protocole weechat).
|===
[NOTE]
@@ -146,26 +142,68 @@ Le tableau suivant liste les paquets optionnels pour compiler WeeChat :
[width="100%",cols="5,^3,.^15",options="header"]
|===
| Paquet ^(1)^ | Version | Fonctionnalités
| compilateur {cpp} (pass:[g++ / clang++]) | | Construction et lancement des tests, extension JavaScript.
| gettext | | Internationalisation (traduction des messages ; la langue de base est l'anglais).
| ca-certificates | | Certificats pour les connexions TLS.
| libaspell-dev / libenchant-dev | | Extension spell.
| python3-dev | ≥ 3.0 | Extension python.
| libperl-dev | | Extension perl.
| ruby3.1, ruby3.1-dev | ≥ 1.9.1 | Extension ruby.
| liblua5.4-dev | | Extension lua.
| tcl-dev | ≥ 8.5 | Extension tcl.
| guile-3.0-dev | ≥ 2.0 | Extension guile (scheme).
| libv8-dev | ≤ 3.24.3 | Extension javascript.
| php-dev | ≥ 7.0 | Extension PHP.
| libphp-embed | ≥ 7.0 | Extension PHP.
| libxml2-dev | | Extension PHP.
| libargon2-dev | | Extension PHP (si PHP ≥ 7.2).
| libsodium-dev | | Extension PHP (si PHP ≥ 7.2).
| asciidoctor | ≥ 1.5.4 | Construction de la page man et de la documentation.
| ruby-pygments.rb | | Construction de la documentation.
| libcpputest-dev | ≥ 3.4 | Construction et lancement des tests.
| Paquet ^(1)^ | Version | Fonctionnalités
| compilateur {cpp} (pass:[g++ / clang++]) |
| Construction et lancement des tests, extension JavaScript.
| gettext |
| Internationalisation (traduction des messages ; la langue de base est l'anglais).
| ca-certificates |
| Certificats pour les connexions TLS.
| libzstd-dev | ≥ 0.8.1
| Extension Logger : compression des fichiers de log qui tournent (zstandard). +
Extension Relay : compression des messages (WeeChat -> client) avec https://facebook.github.io/zstd/[Zstandard ^↗^^] (protocole weechat).
| libaspell-dev / libenchant-dev |
| Extension spell.
| python3-dev | ≥ 3.0
| Extension python.
| libperl-dev |
| Extension perl.
| ruby3.1, ruby3.1-dev | ≥ 1.9.1
| Extension ruby.
| liblua5.4-dev |
| Extension lua.
| tcl-dev | ≥ 8.5
| Extension tcl.
| guile-3.0-dev | ≥ 2.0
| Extension guile (scheme).
| libv8-dev | ≤ 3.24.3
| Extension javascript.
| php-dev | ≥ 7.0
| Extension PHP.
| libphp-embed | ≥ 7.0
| Extension PHP.
| libxml2-dev |
| Extension PHP.
| libargon2-dev |
| Extension PHP (si PHP ≥ 7.2).
| libsodium-dev |
| Extension PHP (si PHP ≥ 7.2).
| asciidoctor | ≥ 1.5.4
| Construction de la page man et de la documentation.
| ruby-pygments.rb |
| Construction de la documentation.
| libcpputest-dev | ≥ 3.4
| Construction et lancement des tests.
|===
[NOTE]
@@ -205,7 +243,7 @@ $ make install
Des options peuvent être utilisées pour CMake, avec le format : `-DOPTION=VALUE`.
Liste des options couramment utilisées :
Liste des options disponibles :
[width="100%",cols="3m,3,3m,10",options="header"]
|===
@@ -259,6 +297,9 @@ Liste des options couramment utilisées :
| ENABLE_GUILE | `ON`, `OFF` | ON
| Compiler <<scripting_plugins,l'extension Guile>> (Scheme).
| ENABLE_HEADLESS | `ON`, `OFF` | ON
| Compiler le binaire sans interface (« headless »).
| ENABLE_IRC | `ON`, `OFF` | ON
| Compiler <<irc,l'extension IRC>>.
@@ -317,6 +358,9 @@ Liste des options couramment utilisées :
| ENABLE_XFER | `ON`, `OFF` | ON
| Compiler <<xfer,l'extension Xfer>>.
| ENABLE_ZSTD | `ON`, `OFF` | ON
| Activer la compression https://facebook.github.io/zstd/[Zstandard ^↗^^].
| ENABLE_TESTS | `ON`, `OFF` | OFF
| Compiler les tests.
@@ -884,11 +928,31 @@ La barre _input_ contient les objets (items) suivants par défaut :
| Objet (item) | Exemple | Description
| input_prompt | `[@Flashy(i)]` | Prompt, pour irc : pseudo et modes (le mode "+i" signifie invisible sur libera).
| away | `(absent)` | Indicateur d'absence.
| input_search | `[Recherche (~ str,msg)]` | Indicateur de recherche de texte ("`~`" : insensible à la casse, "`==`" : sensible à la casse, "`str`" : recherche de chaîne, "`regex`" : recherche d'expression régulière, "`msg`" : recherche dans les messages, "`pre`" : recherche dans les préfixes, "`pre\|msg`" : recherche dans les préfixes et messages).
| input_search | `[Recherche lignes (~ str,msg)]` | Indicateur de recherche de texte (voir ci-dessous).
| input_paste | `[Coller 7 lignes ? [ctrl-y] Oui [ctrl-n] Non]` | Question à l'utilisateur pour coller des lignes.
| input_text | `salut peter !` | Texte entré.
|===
Il y a deux modes de recherche :
* recherche dans les lignes, par exemple `[Recherche lignes (~ str,msg)]`,
avec les informations suivantes :
** `~` : insensible à la casse
** `==` : sensible à la casse
** `str` : recherche de chaîne
** `regex` : recherche d'expression régulière
** `msg` : recherche dans les messages
** `pre` : recherche dans les préfixes
** `pre\|msg` : recherche dans les préfixes et messages
* recherche dans l'historique de commandes, par exemple `[Recherche commande (~ str,local)]`,
avec les informations suivantes :
** `~` : insensible à la casse
** `==` : sensible à la casse
** `str` : recherche de chaîne
** `regex` : recherche d'expression régulière
** `local` : recherche dans l'historique local du tampon
** `global` : recherche dans l'historique global.
La barre _nicklist_ contient les objets (items) suivants par défaut :
[width="100%",cols="^3,^3,9",options="header"]
@@ -909,6 +973,8 @@ Autres objets (non utilisés dans des barres par défaut) :
| buffer_short_name | `#test` | Nom court du tampon courant.
| buflist2 | `1.weechat` | Liste des tampons, deuxième objet de barre (voir l'option <<option_buflist.look.use_items,buflist.look.use_items>>).
| buflist3 | `1.weechat` | Liste des tampons, troisième objet de barre (voir l'option <<option_buflist.look.use_items,buflist.look.use_items>>).
| buflist4 | `1.weechat` | Liste des tampons, quatrième objet de barre (voir l'option <<option_buflist.look.use_items,buflist.look.use_items>>).
| buflist5 | `1.weechat` | Liste des tampons, cinquième objet de barre (voir l'option <<option_buflist.look.use_items,buflist.look.use_items>>).
| fset | `+buflist.look.sort: …+` | Aide sur l'option sélectionnée dans le tampon fset.
| irc_channel | `#test` | Nom de canal IRC courant.
| irc_host | `+user@host.com+` | Hôte sur IRC.
@@ -976,6 +1042,11 @@ suit et éventuellement une valeur) :
| kbd:[Ctrl+c], kbd:[c],
kbd:[xx], kbd:[,],
kbd:[yy] | Couleur du texte `xx` et du fond `yy` (voir la liste des couleurs ci-dessous).
| kbd:[Ctrl+c], kbd:[d],
kbd:[xxxxxx] | Couleur du texte `xxxxxx` (RGB en hexadécimal, par exemple `FF0000` pour du rouge).
| kbd:[Ctrl+c], kbd:[d],
kbd:[xxxxxx], kbd:[,],
kbd:[yyyyyy] | Couleur du texte `xxxxxx` et du fond `yyyyyy` (RGB en hexadécimal).
| kbd:[Ctrl+c], kbd:[i] | Texte en italique.
| kbd:[Ctrl+c], kbd:[o] | Désactiver la couleur et tous les attributs.
| kbd:[Ctrl+c], kbd:[v] | Vidéo inverse (inversion de la couleur d'écriture et du fond).
@@ -983,8 +1054,8 @@ suit et éventuellement une valeur) :
|===
[NOTE]
Le même code (sans le numéro pour kbd:[Ctrl+c], kbd:[c]) peut être utilisé pour
stopper l'attribut défini.
Le même code (sans le numéro pour kbd:[Ctrl+c], kbd:[c] et kbd:[Ctrl+c], kbd:[d])
peut être utilisé pour stopper l'attribut défini.
Les codes couleur pour kbd:[Ctrl+c], kbd:[c] sont :
@@ -1444,8 +1515,8 @@ variables locales.
=== Liste des tampons
L'extension Buflist affiche une liste des tampons dans un objet de barre appelé
"buflist" (deux autres objets de barre "buflist2" et "buflist3" sont également
disponibles). +
"buflist" (quatre autres objets de barre "buflist2", "buflist3", "buflist4" et
"buflist5" sont également disponibles). +
Une barre par défaut "buflist" est créée au démarrage avec cet objet de barre.
[[buflist_commands]]
@@ -1563,6 +1634,7 @@ Ils peuvent être modifiés et de nouveaux peuvent être ajoutés avec la comman
| Touche | Description | Commande
| kbd:[Ctrl+c], kbd:[b] | Insérer le code pour mettre le texte en gras. | `+/input insert \x02+`
| kbd:[Ctrl+c], kbd:[c] | Insérer le code pour écrire en couleur. | `+/input insert \x03+`
| kbd:[Ctrl+c], kbd:[d] | Insérer le code pour écrire en couleur (couleur RGB, en hexadécimal). | `+/input insert \x04+`
| kbd:[Ctrl+c], kbd:[i] | Insérer le code pour mettre le texte en italique. | `+/input insert \x1D+`
| kbd:[Ctrl+c], kbd:[o] | Insérer le code pour réinitialiser la couleur. | `+/input insert \x0F+`
| kbd:[Ctrl+c], kbd:[v] | Insérer le code pour écrire en couleur inversée. | `+/input insert \x16+`
@@ -1581,14 +1653,23 @@ Ils peuvent être modifiés et de nouveaux peuvent être ajoutés avec la comman
| kbd:[Ctrl+↓] | Rappeler la commande suivante dans l'historique global (commun à tous les tampons). | `+/input history_global_next+`
|===
[[key_bindings_cmdline_system]]
==== Système
[width="100%",cols="^.^3,.^8,.^5",options="header"]
|===
| Touche | Description | Commande
| kbd:[Ctrl+z] | Suspendre le processus WeeChat. | `+/sys suspend+`
|===
[[key_bindings_buffers]]
=== Tampons
[width="100%",cols="^.^3,.^8,.^5",options="header"]
|===
| Touche | Description | Commande
| kbd:[Ctrl+r] | Chercher du texte dans l'historique du tampon (voir <<key_bindings_search_context,les touches pour le contexte de recherche>>). | `+/input search_text_here+`
| kbd:[Ctrl+s], kbd:[Ctrl+u] | Positionner le marqueur de données non lues sur tous les tampons. | `+/allbuf /buffer set unread+`
| kbd:[Ctrl+r] | Chercher du texte dans l'historique de commandes (voir <<key_bindings_histsearch_context,les touches pour le contexte "histsearch">>). | `+/input search_history+`
| kbd:[Ctrl+s] | Chercher du texte dans les lignes du tampon (voir <<key_bindings_search_context,les touches pour le contexte "search">>). | `+/input search_text_here+`
| kbd:[Ctrl+x] | Changer de tampon courant si plusieurs tampons sont mélangés avec le même numéro, par exemple basculer vers un autre tampon serveur IRC. | `+/buffer switch+`
| kbd:[Alt+x] | Zoomer sur le tampon mélangé (kbd:[Alt+x] de nouveau : afficher tous les tampons mélangés). | `+/buffer zoom+`
| kbd:[PgUp] | Monter d'une page dans l'historique du tampon. | `+/window page_up+`
@@ -1614,6 +1695,7 @@ Ils peuvent être modifiés et de nouveaux peuvent être ajoutés avec la comman
| kbd:[Alt+n] | Se positionner sur le highlight suivant. | `+/window scroll_next_highlight+`
| kbd:[Alt+p] | Se positionner sur le highlight précédent. | `+/window scroll_previous_highlight+`
| kbd:[Alt+u] | Se positionner sur la première ligne non lue du tampon. | `+/window scroll_unread+`
| kbd:[Alt+Shift+U] | Positionner le marqueur de données non lues sur tous les tampons. | `+/allbuf /buffer set unread+`
| kbd:[Alt+<] | Sauter au tampon précédent dans la liste des tampons visités. | `+/buffer jump prev_visited+`
| kbd:[Alt+>] | Sauter au tampon suivant dans la liste des tampons visités. | `+/buffer jump next_visited+`
| kbd:[Alt+/] | Sauter au dernier tampon affiché (avant le dernier saut vers un tampon). | `+/buffer jump last_displayed+`
@@ -1690,23 +1772,48 @@ Ils peuvent être modifiés et de nouveaux peuvent être ajoutés avec la comman
[[key_bindings_search_context]]
=== Contexte de recherche
Ces touches sont utilisées dans le contexte "search" (lorsque kbd:[Ctrl+r] est
pressé pour chercher du texte dans le tampon).
Ces touches sont utilisées dans le contexte "search" (lorsque kbd:[Ctrl+s] est
pressé pour chercher du texte dans les lignes du tampon).
[width="100%",cols="^.^3,.^8,.^5",options="header"]
|===
| Touche | Description | Commande
| kbd:[Ctrl+r] | Basculer le type de recherche : chaîne (par défaut), expression régulière. | `+/input search_switch_regex+`
| kbd:[Ctrl+x] | Basculer le type de recherche : chaîne (par défaut), expression régulière. | `+/input search_switch_regex+`
| kbd:[Alt+c] | Basculer la casse exacte pour la recherche. | `+/input search_switch_case+`
| kbd:[Tab] | Basculer la recherche dans : les messages (par défaut), les préfixes, les préfixes + messages. | `+/input search_switch_where+`
| kbd:[↑] | Chercher la ligne précédente. | `+/input search_previous+`
| kbd:[] | Chercher la ligne suivante. | `+/input search_next+`
| kbd:[Ctrl+r] +
kbd:[] | Chercher la ligne précédente. | `+/input search_previous+`
| kbd:[Ctrl+s] +
kbd:[↓] | Chercher la ligne suivante. | `+/input search_next+`
| kbd:[Enter] +
kbd:[Ctrl+j] +
kbd:[Ctrl+m] | Arrêter la recherche à la position courante. | `+/input search_stop_here+`
| kbd:[Ctrl+q] | Arrêter la recherche et réinitialiser le défilement à l'état antérieur à la recherche de texte. | `+/input search_stop+`
|===
[[key_bindings_histsearch_context]]
=== Contexte de recherche dans l'historique
Ces touches sont utilisées dans le contexte "histsearch" (lorsque kbd:[Ctrl+r]
est pressé pour chercher du texte dans l'historique des commandes).
[width="100%",cols="^.^3,.^8,.^5",options="header"]
|===
| Touche | Description | Commande
| kbd:[Ctrl+x] | Basculer le type de recherche : chaîne (par défaut), expression régulière. | `+/input search_switch_regex+`
| kbd:[Alt+c] | Basculer la casse exacte pour la recherche. | `+/input search_switch_case+`
| kbd:[Tab] | Basculer la recherche dans : l'historique local du tampon (par défaut), l'historique global. | `+/input search_switch_where+`
| kbd:[Ctrl+r] +
kbd:[↑] | Chercher dans les entrées précédentes (plus anciennes) de l'historique. | `+/input search_previous+`
| kbd:[Ctrl+s] +
kbd:[↓] | Chercher dans les entrées suivantes (plus récentes) de l'historique. | `+/input search_next+`
| kbd:[Enter] +
kbd:[Ctrl+j] +
kbd:[Ctrl+m] | Arrêter la recherche et utiliser la commande trouvée. | `+/input search_stop_here+`
| kbd:[Ctrl+o] | Exécuter la commande trouvée dans l'historique et insérer la suivante sur la ligne de commande. | `+/input history_use_get_next+`
| kbd:[Ctrl+q] | Arrêter la recherche et restaurer la ligne de commande à sa valeur initiale. | `+/input search_stop+`
|===
[[key_bindings_cursor_context]]
=== Contexte curseur
@@ -1773,10 +1880,10 @@ avec la touche kbd:[Alt+m] (commande : `+/mouse toggle+`).
| kbd:[▼] | - | chat : tampon /list | Descendre de cinq lignes dans le tampon /list. | `+/list -down 5+`
| kbd:[■ □ □] | - | chat : tampon /list | Sélectionner la ligne dans le tampon /list. | `+/window ${_window_number};/list -go ${_chat_line_y}+`
| kbd:[□ □ ■] | - | chat : tampon /list | Rejoindre le canal IRC sur la ligne sélectionnée. | `+hsignal:irc_list_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+`
| kbd:[■ □ □] | - | chat : tampon script | Sélectionner la ligne dans le tampon script. | `+/script go ${_chat_line_y}+`
| kbd:[□ □ ■] | - | chat : tampon script | Installer/supprimer un script. | `+/script go ${_chat_line_y};/script installremove -q ${script_name_with_extension}+`
| 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:[■ □ □] | - | chat : tampon script | Sélectionner la ligne dans le tampon script. | `+/script -go ${_chat_line_y}+`
| kbd:[□ □ ■] | - | chat : tampon script | Installer/supprimer un script. | `+/script -go ${_chat_line_y};/script installremove -q ${script_name_with_extension}+`
| kbd:[■ □ □] | haut / gauche | buflist | Déplacer le tampon vers un numéro inférieur. | Signal `+buflist_mouse+`.
| kbd:[■ □ □] | bas / droit | buflist | Déplacer le tampon vers un numéro supérieur. | Signal `+buflist_mouse+`.
| kbd:[■ □ □] | - | buflist | Aller au tampon (tampon précédent dans la liste des tampons visités si le tampon est le courant). | Signal `+buflist_mouse+`.
@@ -1840,8 +1947,8 @@ Ces touches et actions sont utilisées sur le tampon 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+`
| kbd:[Alt+p] | `p` | Activer/désactiver la description des options d'extensions (`pass:[plugins.desc.*]`). | `+/mute /set fset.look.show_plugins_desc toggle+`
| kbd:[Alt+v] | `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+`
@@ -1897,17 +2004,22 @@ Ces touches et actions sont utilisées sur le tampon script
[width="100%",cols="^.^3,^.^2,.^8,.^5",options="header"]
|===
| Touche | Action ^(1)^ | Description | Commande
| 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+`
| kbd:[↑] | | Monter d'une ligne. | `+/script -up+`
| kbd:[↓] | | Descendre d'une ligne. | `+/script -down+`
| kbd:[PgUp] | | Monter d'une page. | `+/window page_up+`
| kbd:[PgDn] | | Descendre d'une page. | `+/window page_down+`
| kbd:[Alt+i] | `i` | Installer le script. | `+/script install+`
| kbd:[Alt+r] | `r` | Supprimer le script. | `+/script remove+`
| kbd:[Alt+l] | `l` | Charger le script. | `+/script load+`
| kbd:[Alt+L] | `L` | Recharger le script. | `+/script reload+`
| kbd:[Alt+u] | `u` | Décharger le script. | `+/script unload+`
| kbd:[Alt+Shift+A] | `A` | Charger automatiquement le script. | `+/script toggleautoload+`
| kbd:[Alt+h] | `h` | Figer/défiger le script. | `+/script hold+`
| kbd:[Alt+v] | `v` | Voir le script. | `+/script show+`
| | `s:x,y` | Trier les scripts par les champs x,y (voir l'option <<option_script.look.sort,script.look.sort>>). |
| | `s:` | Reset sort to its default value (voir l'option <<option_script.look.sort,script.look.sort>>). |
| | `$` | Rafraîchir la liste. |
| | `q` | Fermer le tampon. | `+/buffer close+`
|===
[NOTE]
@@ -2276,16 +2388,9 @@ Par exemple pour désactiver les « highlights » de "joe" et "mike" sur le ta
courant :
----
/buffer set hotlist_max_level_nicks_add joe:2,mike:2
/buffer setauto hotlist_max_level_nicks_add joe:2,mike:2
----
[NOTE]
La propriété de tampon "hotlist_max_level_nicks" n'est pas sauvegardée dans la
configuration. +
Vous pouvez facilement la sauvegarder avec le script _buffer_autoset.py_ : vous
pouvez l'installer avec `+/script install buffer_autoset.py+` et obtenir de l'aide
avec `+/help buffer_autoset+`.
[[highlights]]
=== Highlights
@@ -2310,16 +2415,9 @@ Ceci peut aussi être défini avec la propriété de tampon "highlight_disable_r
Même exemple, spécifique au tampon courant :
----
/buffer set highlight_disable_regex <flash.*>
/buffer setauto highlight_disable_regex <flash.*>
----
[NOTE]
La propriété de tampon "highlight_disable_regex" n'est pas sauvegardée dans la
configuration. +
Vous pouvez facilement la sauvegarder avec le script _buffer_autoset.py_ : vous
pouvez l'installer avec `+/script install buffer_autoset.py+` et obtenir de l'aide
avec `+/help buffer_autoset+`.
[[highlights_words]]
==== Ajouter des mots pour le « highlight »
@@ -2377,16 +2475,9 @@ Par exemple pour forcer le highlight sur tous les messages dans le canal
courant :
----
/buffer set highlight_regex .*
/buffer setauto highlight_regex .*
----
[NOTE]
La propriété de tampon "highlight_regex" n'est pas sauvegardée dans la
configuration. +
Vous pouvez facilement la sauvegarder avec le script _buffer_autoset.py_ : vous
pouvez l'installer avec `+/script install buffer_autoset.py+` et obtenir de l'aide
avec `+/help buffer_autoset+`.
[[buffer_logging]]
=== Enregistrement des tampons
@@ -3302,30 +3393,31 @@ Sections dans le fichier _weechat.conf_ :
[width="100%",cols="3m,6m,16",options="header"]
|===
| Section | Commande de contrôle | Description
| debug | <<command_weechat_debug,/debug set>> +
/set weechat.debug.* | Niveau de debug, pour le cœur et les extensions (les options peuvent être ajoutées/supprimées dans la section).
| startup | /set weechat.startup.* | Options de démarrage.
| look | /set weechat.look.* | Aspect/présentation.
| palette | <<command_weechat_color,/color alias>> +
/set weechat.palette.* | Alias de couleurs (les options peuvent être ajoutées/supprimées dans la section).
| color | /set weechat.color.* | Couleurs.
| completion | /set weechat.completion.* | Options de complétion.
| history | /set weechat.history.* | Options d'historique (commandes et tampons).
| proxy | <<command_weechat_proxy,/proxy>> +
/set weechat.proxy.* | Options des proxies.
| network | /set weechat.network.* | Options réseau/TLS.
| plugin | /set weechat.plugin.* | Options sur les extensions.
| signal | /set weechat.signal.* | Options sur les signaux.
| bar | <<command_weechat_bar,/bar>> +
/set weechat.bar.* | Options des barres.
| layout | <<command_weechat_layout,/layout>> | Dispositions.
| notify | <<command_weechat_buffer,/buffer notify>> | Niveaux de notification des tampons (les options peuvent être ajoutées/supprimées dans la section).
| filter | <<command_weechat_filter,/filter>> | Filtres.
| key | <<command_weechat_key,/key>> | Touches pour le contexte "default".
| key_search | <<command_weechat_key,/key>> | Touches pour le contexte "search".
| key_cursor | <<command_weechat_key,/key>> | Touches pour le contexte "cursor".
| key_mouse | <<command_weechat_key,/key>> | Touches pour le contexte "mouse".
| Section | Commande de contrôle | Description
| debug | <<command_weechat_debug,/debug set>> +
/set weechat.debug.* | Niveau de debug, pour le cœur et les extensions (les options peuvent être ajoutées/supprimées dans la section).
| startup | /set weechat.startup.* | Options de démarrage.
| look | /set weechat.look.* | Aspect/présentation.
| palette | <<command_weechat_color,/color alias>> +
/set weechat.palette.* | Alias de couleurs (les options peuvent être ajoutées/supprimées dans la section).
| color | /set weechat.color.* | Couleurs.
| completion | /set weechat.completion.* | Options de complétion.
| history | /set weechat.history.* | Options d'historique (commandes et tampons).
| proxy | <<command_weechat_proxy,/proxy>> +
/set weechat.proxy.* | Options des proxies.
| network | /set weechat.network.* | Options réseau/TLS.
| plugin | /set weechat.plugin.* | Options sur les extensions.
| signal | /set weechat.signal.* | Options sur les signaux.
| bar | <<command_weechat_bar,/bar>> +
/set weechat.bar.* | Options des barres.
| layout | <<command_weechat_layout,/layout>> | Dispositions.
| buffer | <<command_weechat_buffer,/buffer setauto>> | Propriétés appliquées automatiquement sur les tampons lorsqu'ils sont ouverts.
| notify | <<command_weechat_buffer,/buffer notify>> | Niveaux de notification des tampons (les options peuvent être ajoutées/supprimées dans la section).
| filter | <<command_weechat_filter,/filter>> | Filtres.
| key | <<command_weechat_key,/key>> | Touches pour le contexte "default".
| key_search | <<command_weechat_key,/key>> | Touches pour le contexte "search".
| key_cursor | <<command_weechat_key,/key>> | Touches pour le contexte "cursor".
| key_mouse | <<command_weechat_key,/key>> | Touches pour le contexte "mouse".
|===
Options :
@@ -4219,7 +4311,7 @@ et les variables supplémentaires suivantes sont disponibles :
[width="100%",cols="2,4,8",options="header"]
|===
| Variable | Description | Valeur / exemple
| `+${clientinfo}+` | Liste des CTCP supportés | `+ACTION DCC CLIENTINFO FINGER PING SOURCE TIME USERINFO VERSION+`
| `+${clientinfo}+` | Liste des CTCP supportés | `+ACTION DCC CLIENTINFO PING SOURCE TIME VERSION+`
| `+${version}+` | Version de WeeChat | `+4.1.0-dev+`
| `+${versiongit}+` | Version de WeeChat + version Git ^(1)^ | `+4.1.0-dev (git: v4.0.0-51-g8f98b922a)+`
| `+${git}+` | Version Git ^(1)^ | `+v4.0.0-51-g8f98b922a+`
@@ -4242,11 +4334,9 @@ Les réponses CTCP par défaut sont :
[width="100%",cols="2,4,8",options="header"]
|===
| CTCP | Format de réponse | Exemple
| CLIENTINFO | `+${clientinfo}+` | `+ACTION DCC CLIENTINFO FINGER PING SOURCE TIME USERINFO VERSION+`
| FINGER | `+WeeChat ${version}+` | `+WeeChat 4.1.0-dev+`
| CLIENTINFO | `+${clientinfo}+` | `+ACTION DCC CLIENTINFO PING SOURCE TIME VERSION+`
| SOURCE | `+${download}+` | `+https://weechat.org/download/+`
| TIME | `+${time}+` | `+Sat, 08 Jul 2023 21:11:19 +0200+`
| USERINFO | `+${username} (${realname})+` | `+nom (John Doe)+`
| VERSION | `+WeeChat ${version}+` | `+WeeChat 4.1.0-dev+`
|===
@@ -5244,7 +5334,7 @@ du type de hook :
| signal | tg_signal_data |
| hsignal | |
| modifier | tg_string | tg_string
| line | message | buffer, buffer_name, y, date, date_printed, str_time, tags, notify_level, highlight, prefix, message
| line | message | buffer, buffer_name, y, date, date_usec, date_printed, date_usec_printed, str_time, tags, notify_level, highlight, prefix, message
| print | tg_message |
| command | tg_argv_eol1 |
| command_run | tg_command |
@@ -5415,7 +5505,9 @@ de hachage :
| buffer_type | chaîne | Type de tampon ("formatted" ou "free").
| y | chaîne | Numéro de ligne pour un tampon avec contenu libre (≥ 0), -1 pour un tampon avec contenu formaté.
| date | chaîne | Date de la ligne (horodatage).
| date_usec | chaîne | Microsecondes de la date de la ligne.
| date_printed | chaîne | Date d'affichage de la ligne (horodatage).
| date_usec_printed | chaîne | Microsecondes de la date d'affichage de la ligne.
| str_time | chaîne | Date pour l'affichage. Elle peut contenir des codes couleur.
| tags | chaîne | Étiquettes du message (avec une virgule en début/fin de chaîne).
| displayed | chaîne | "1" si affichée, "0" si la ligne est filtrée.
@@ -5456,7 +5548,7 @@ hachage :
|===
| Variable | Type | Description
| buffer | pointeur | Tampon.
| tg_date | chaîne | Date/heure du message (format : `YYYY-MM-DD hh:mm:ss`).
| tg_date | chaîne | Date/heure du message (format : `%FT%T.%f`, voir la link:weechat_plugin_api.fr.html#_util_strftimeval[Référence API extension WeeChat / util_strftimeval ^↗^^]).
| tg_displayed | chaîne | "1" si affiché, "0" si ligne filtrée.
| tg_highlight | chaîne | "1" si highlight, sinon "0".
| tg_prefix | chaîne | Préfixe.
@@ -5525,7 +5617,7 @@ hachage :
|===
| Variable | Type | Description
| tg_remaining_calls | chaîne | Nombre d'appels restants.
| tg_date | chaîne | Date/heure courante (format : `YYYY-MM-DD hh:mm:ss`).
| tg_date | chaîne | Date/heure courante (format : `%FT%T.%f`, voir la link:weechat_plugin_api.fr.html#_util_strftimeval[Référence API extension WeeChat / util_strftimeval ^↗^^]).
|===
[[trigger_data_config]]
+1 -1
View File
@@ -103,7 +103,7 @@ $HOME/.local/share/weechat/weechat.log::
WeeChat is written by Sébastien Helleu and contributors (complete list is in
the AUTHORS.adoc file).
Copyright (C) 2003-2023 {author}
Copyright (C) 2003-2024 {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
+62 -22
View File
@@ -644,6 +644,33 @@ If you are using the macOS Terminal app, enable the option
"Use option as meta key" in menu Settings/Keyboard. And then you can use the
kbd:[Option] key as meta key.
// TRANSLATION MISSING
[[enter_key]]
=== Some keys including Enter are not working, why?
If you run a WeeChat < 4.0.0 with configuration files created by any
version ≥ 4.0.0, the keys names become invalid and many keys won't work at all. +
To repair them, exit WeeChat, remove all sections `[key*]` from weechat.conf
and start WeeChat again: all default keys will be created.
// TRANSLATION MISSING
[[key_f11]]
=== Key F11 maximizes the terminal window, how can I scroll up the nicklist?
The key kbd:[F11] is commonly used by terminals to maximize the window, and
kbd:[F11]/kbd:[F12] are the default keys in WeeChat to scroll the nicklist.
You can bind other keys, for example kbd:[Shift+F11] and kbd:[Shift+F12],
with WeeChat ≥ 4.0.0:
----
/key bind shift-f11 /bar scroll nicklist * -100%
/key bind shift-f12 /bar scroll nicklist * +100%
----
Other solution is to enable mouse (key: kbd:[Alt+m]) and scroll with the mouse
wheel (see also questions about <<mouse,mouse>>).
[[customize_key_bindings]]
=== Come posso personalizzare le associazioni dei tasti?
@@ -1012,41 +1039,25 @@ Altri script correlati:
[[disable_highlights_for_specific_nicks]]
=== How can I disable highlights for specific nicks?
// TRANSLATION MISSING
You can use the
link:weechat_user.it.html#max_hotlist_level_nicks[hotlist_max_level_nicks_add ^↗^^]
buffer property to set the max hotlist level for some nicks, per buffer,
or per group of buffers (like IRC servers).
To only disable highlights, you'd have to set it to 2:
To only disable highlights, you'd have to set it to 2.
For the current buffer:
----
/buffer set hotlist_max_level_nicks_add joe:2,mike:2
/buffer setauto hotlist_max_level_nicks_add joe:2,mike:2
----
This buffer property isn't stored in the configuration though.
To automatically reapply these buffer properties, you would need the
_buffer_autoset.py_ script:
For all channels on server "libera":
----
/script install buffer_autoset.py
/set weechat.buffer.irc.libera.*.hotlist_max_level_nicks_add joe:2,mike:2
----
For example, to permanently disable highlights from "mike" on #weechat
on the IRC server libera:
----
/buffer_autoset add irc.libera.#weechat hotlist_max_level_nicks_add mike:2
----
To apply it to the entire libera server instead:
----
/buffer_autoset add irc.libera hotlist_max_level_nicks_add mike:2
----
For more examples, see `+/help buffer_autoset+`.
[[irc_target_buffer]]
=== Come si può modificare il buffer destinazione per i comandi sui buffer uniti (come i buffer con i server)?
@@ -1267,6 +1278,35 @@ stored in _sec.conf_ with the `/secure` command).
See the link:weechat_user.it.html#files_and_directories[User's guide / Files and directories ^↗^^]
for more information about configuration files.
// TRANSLATION MISSING
[[move_to_another_device]]
=== I want to move my WeeChat to another device and keep my config, what should I copy?
First check directories used by WeeChat with this command: `/debug dirs`. +
Directories home/config and home/data must be copied (all files and sub-directories).
For example if you're using XDG directories (default with WeeChat ≥ 3.2),
the directories should be `$HOME/.config/weechat` and `$HOME/.local/share/weechat`. +
If you're using a single directory (default with WeeChat < 3.2), the directory
should be `$HOME/.weechat`.
[IMPORTANT]
The WeeChat version on the new device must be greater than or equal to the version
on the initial device. +
Downgrading WeeChat configuration is *NOT SUPPORTED* and can break it,
leading to unusable WeeChat.
Steps:
. Quit Weechat: `/quit` (or `/upgrade -quit` if you want to resume the session,
which includes content of all buffers).
. Copy all directories, sub-directories and files to the new device, keeping
same names and permissions.
. Optional: copy any file outside these directories that you refer to in your
configuration (it's not recommended to use files outside WeeChat directories).
. Start WeeChat on the new device: `weechat` (or `weechat --upgrade` if you
saved the session).
[[development]]
== Sviluppo
+582 -102
View File
@@ -2717,7 +2717,7 @@ str3 = weechat.string_input_for_buffer("//test") # "/test"
==== string_eval_expression
_WeeChat ≥ 0.4.0, updated in 0.4.2, 0.4.3, 1.0, 1.1, 1.2, 1.3, 1.6, 1.8, 2.0,
2.2, 2.3, 2.7, 2.9, 3.1, 3.2, 3.3, 3.4, 3.6, 3.8, 4.0.0._
2.2, 2.3, 2.7, 2.9, 3.1, 3.2, 3.3, 3.4, 3.6, 3.8, 4.0.0, 4.2.0._
Evaluate an expression and return result as a string.
Special variables with format `+${variable}+` are expanded (see table below).
@@ -3050,11 +3050,21 @@ expanded to last):
|===
| Format | Min WeeChat | Description | Examples
| `+${raw_hl:xxx}+` | 4.2.0
| Raw string (not evaluated), with syntax highlighting (using colors).
| >> `+${raw_hl:${cut:1,,${rev:hello}}}+` +
== `+${cut:1,,${rev:hello}}+` (with colors)
| `+${raw:xxx}+` | 3.1
| Raw string (not evaluated).
| >> `+${raw:${info:version}}+` +
== `+${info:version}+`
| `+${hl:xxx}+` | 4.2.0
| String with syntax highlighting (using colors).
| >> `+${hl:${file.section.option}}+` +
== `+test ${variable}+` (with colors)
| `+${name}+` | 3.4
| User variable (defined with `+${define:name,value}+`).
| >> `+${name}+` +
@@ -3641,6 +3651,51 @@ weechat_string_dyn_free (string, 1);
[NOTE]
Questa funzione non è disponibile nelle API per lo scripting.
==== string_concat
_WeeChat ≥ 4.2.0._
// TRANSLATION MISSING
Concatenate multiple strings using a separator.
Prototipo:
[source,c]
----
const char *weechat_string_concat (const char *separator, ...);
----
Argomenti:
// TRANSLATION MISSING
* _separator_: the separator string which is inserted between concatenated
strings (can be NULL or empty string)
// TRANSLATION MISSING
[NOTE]
Last argument *MUST* always be NULL. +
A macro called `WEECHAT_STR_CONCAT` can be used, where the final NULL value is
not needed (usage of this macro is recommended).
Valore restituito:
// TRANSLATION MISSING
* concatenated string
Esempio in C:
// TRANSLATION MISSING
[source,c]
----
const char *result = weechat_string_concat (" / ", "abc", "def", "ghi", NULL); /* result == "abc / def / ghi" */
/* with macro */
const char *result = WEECHAT_STR_CONCAT(" / ", "abc", "def", "ghi"); /* result == "abc / def / ghi" */
----
[NOTE]
Questa funzione non è disponibile nelle API per lo scripting.
[[utf-8]]
=== UTF-8
@@ -4219,18 +4274,28 @@ 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.
| 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) |
| `+sha512-224+` | SHA-512/224 | 28 bytes (224 bits) | Algorithm available with libgcrypt ≥ 1.9.4.
| `+sha512-256+` | SHA-512/256 | 32 bytes (256 bits) | Algorithm available with libgcrypt ≥ 1.9.4.
| `+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.
| `+blake2b-160+` | BLAKE2B-160 | 20 bytes (160 bits) | Algorithm available with libgcrypt ≥ 1.8.0.
| `+blake2b-256+` | BLAKE2B-256 | 32 bytes (256 bits) | Algorithm available with libgcrypt ≥ 1.8.0.
| `+blake2b-384+` | BLAKE2B-384 | 48 bytes (384 bits) | Algorithm available with libgcrypt ≥ 1.8.0.
| `+blake2b-512+` | BLAKE2B-512 | 64 bytes (512 bits) | Algorithm available with libgcrypt ≥ 1.8.0.
| `+blake2s-128+` | BLAKE2S-128 | 16 bytes (128 bits) | Algorithm available with libgcrypt ≥ 1.8.0.
| `+blake2s-160+` | BLAKE2S-160 | 20 bytes (160 bits) | Algorithm available with libgcrypt ≥ 1.8.0.
| `+blake2s-224+` | BLAKE2S-224 | 28 bytes (224 bits) | Algorithm available with libgcrypt ≥ 1.8.0.
| `+blake2s-256+` | BLAKE2S-256 | 32 bytes (256 bits) | Algorithm available with libgcrypt ≥ 1.8.0.
|===
Valore restituito:
@@ -4675,7 +4740,8 @@ Argomenti:
* _to_: destination file
* _compressor_: the compressor to use, one of:
** _gzip_: gzip compression
** _zstd_: zstandard compression
** _zstd_: zstandard compression (available only if zstd was enabled when
WeeChat was compiled)
* _compression_level_: compression level, between 1 (fast, low compression) to
100 (slow, best compression)
@@ -4847,6 +4913,83 @@ weechat_printf (NULL, "date: %s",
[NOTE]
Questa funzione non è disponibile nelle API per lo scripting.
// TRANSLATION MISSING
==== util_strftimeval
_WeeChat ≥ 4.2.0._
Format date and time like function `strftime` in C library, using `struct timeval`
as input, and supporting extra specifiers for microseconds.
Prototype:
[source,c]
----
int weechat_util_strftimeval (char *string, int max, const char *format, struct timeval *tv);
----
Arguments:
* _string_: buffer where the formatted string is stored
* _max_: string size
* _format_: format, the same as _strftime_ function, with these extra specifiers:
** `%.N` where `N` is between 1 and 6: zero-padded microseconds on N digits
(for example `%.3` for milliseconds)
** `%f`: alias of `%.6`
Return value:
* number of bytes put in _string_ (value returned from _strftime_ function)
C example:
[source,c]
----
char time[256];
struct timeval tv;
gettimeofday (&tv, NULL);
weechat_util_strftimeval (time, sizeof (time), "%FT%T.%f", &tv);
/* result: 2023-12-26T18:10:04.460509 */
----
[NOTE]
Questa funzione non è disponibile nelle API per lo scripting.
// TRANSLATION MISSING
==== util_parse_time
_WeeChat ≥ 4.2.0._
Parse date/time with support of microseconds.
Prototype:
[source,c]
----
int util_parse_time (const char *datetime, struct timeval *tv);
----
Arguments:
* _date_: date/time
* _tv_: parsed date/time ("timeval" structure)
Return value:
* 1 if OK, 0 if error
C example:
[source,c]
----
struct timeval tv;
weechat_util_parse_time ("2023-12-25T10:29:09.456789Z", &tv); /* == 1 */
/* result: tv.tv_sec == 1703500149, tv.tv_usec = 456789 */
----
[NOTE]
Questa funzione non è disponibile nelle API per lo scripting.
==== util_version_number
_WeeChat ≥ 0.3.9._
@@ -6980,9 +7123,10 @@ my_section_read_cb (const void *pointer, void *data,
{
/* ... */
return WEECHAT_CONFIG_READ_OK;
/* return WEECHAT_CONFIG_READ_MEMORY_ERROR; */
/* return WEECHAT_CONFIG_READ_FILE_NOT_FOUND; */
return WEECHAT_CONFIG_OPTION_SET_OK_CHANGED;
/* return WEECHAT_CONFIG_OPTION_SET_OK_SAME_VALUE; */
/* return WEECHAT_CONFIG_OPTION_SET_ERROR; */
/* return WEECHAT_CONFIG_OPTION_SET_OPTION_NOT_FOUND; */
}
int
@@ -7072,7 +7216,7 @@ def config_new_section(config_file: str, name: str,
callback_delete_option: str, callback_delete_option_data: str) -> str: ...
# esempio
def my_section_read_cb(data: str, config_file: str, section: str, option_name: str, value: str | None) -> int:
def my_section_read_cb(data: str, config_file: str, section: str, option_name: str, value: Union[str, None]) -> int:
# ...
return weechat.WEECHAT_CONFIG_OPTION_SET_OK_CHANGED
# return weechat.WEECHAT_CONFIG_OPTION_SET_OK_SAME_VALUE
@@ -7091,7 +7235,7 @@ def my_section_write_default_cb(data: str, config_file: str, section_name: str)
# return weechat.WEECHAT_CONFIG_WRITE_ERROR
# return weechat.WEECHAT_CONFIG_WRITE_MEMORY_ERROR
def my_section_create_option_cb(data: str, config_file: str, section: str, option_name: str, value: str | None) -> int:
def my_section_create_option_cb(data: str, config_file: str, section: str, option_name: str, value: Union[str, None]) -> int:
# ...
return weechat.WEECHAT_CONFIG_OPTION_SET_OK_CHANGED
# return weechat.WEECHAT_CONFIG_OPTION_SET_OK_SAME_VALUE
@@ -7340,7 +7484,7 @@ Script (Python):
# prototipo
def config_new_option(config_file: str, section: str, name: str, type: str, description: str,
string_values: str, min: int, max: int,
default_value: str | None, value: str | None, null_value_allowed: int,
default_value: Union[str, None], value: Union[str, None], null_value_allowed: int,
callback_check_value: str, callback_check_value_data: str,
callback_change: str, callback_change_data: str,
callback_delete: str, callback_delete_data: str) -> str: ...
@@ -9544,13 +9688,13 @@ void weechat_printf (struct t_gui_buffer *buffer, const char *message, ...);
----
// TRANSLATION MISSING
This function is a shortcut for function printf_date_tags. These two calls give
exactly same result:
This function is a shortcut for function printf_datetime_tags. +
These two calls give exactly same result:
[source,c]
----
weechat_printf (buffer, "message");
weechat_printf_date_tags (buffer, 0, NULL, "message");
weechat_printf_datetime_tags (buffer, 0, 0, NULL, "message");
----
Argomenti:
@@ -9616,6 +9760,16 @@ void weechat_printf_date_tags (struct t_gui_buffer *buffer, time_t date,
const char *tags, const char *message, ...);
----
// TRANSLATION MISSING
This function is a shortcut for function printf_datetime_tags. +
These two calls give exactly same result:
[source,c]
----
weechat_printf_date_tags (buffer, 0, NULL, "message");
weechat_printf_datetime_tags (buffer, 0, 0, NULL, "message");
----
Argomenti:
* _buffer_: puntatore al buffer, se NULL il messaggio viene visualizzato
@@ -9653,6 +9807,67 @@ weechat.prnt_date_tags("", time - 120, "notify_message",
[NOTE]
La funzione è chiamata "print_date_tags" negli script ("prnt_date_tags" in Python).
==== printf_datetime_tags
_WeeChat ≥ 4.2.0._
// TRANSLATION MISSING
Display a message on a buffer, using a custom date/time (with microseconds)
and tags.
Prototipo:
[source,c]
----
void weechat_printf_datetime_tags (struct t_gui_buffer *buffer, time_t date,
int date_usec, const char *tags, const char *message, ...);
----
Argomenti:
* _buffer_: puntatore al buffer, se NULL il messaggio viene visualizzato
sul buffer di WeeChat
* _date_: data per il messaggio (0 indica data/ora corrente)
// TRANSLATION MISSING
* _date_usec_: microseconds of date (between 0 and 999999)
// TRANSLATION MISSING
* _tags_: lista di tag separati da virgole (NULL means no tags)
* _message_: messaggio da visualizzare
// TRANSLATION MISSING
See the link:weechat_user.it.html#lines_tags[WeeChat user's guide / Lines tags ^↗^^]
for a list of commonly used tags in WeeChat.
Esempio in C:
[source,c]
----
struct timeval tv_now;
gettimeofday (&tv_now, NULL);
weechat_printf_datetime_tags (NULL, tv_now.tv_sec - 120, tv_now.tv_usec,
"notify_message",
"Messaggio 2 minuti fa, con tag 'notify_message'");
----
Script (Python):
[source,python]
----
# prototipo
def prnt_datetime_tags(buffer: str, date: int, date_usec: int, tags: str, message: str) -> int: ...
# esempio
now = time.time()
time_sec = int(now)
time_usec = int((now * 1000000) % 1000000)
weechat.prnt_datetime_tags("", time_sec - 120, time_usec, "notify_message",
"Messaggio 2 minuti fa, con tag 'notify_message'")
----
[NOTE]
La funzione è chiamata "print_datetime_tags" negli script ("prnt_datetime_tags" in Python).
==== printf_y
Visualizza un messaggio sulla riga di un buffer con contenuto libero.
@@ -9661,8 +9876,17 @@ Prototipo:
[source,c]
----
void weechat_printf_y (struct t_gui_buffer *buffer, int y,
const char *message, ...);
void weechat_printf_y (struct t_gui_buffer *buffer, int y, const char *message, ...);
----
// TRANSLATION MISSING
This function is a shortcut for function printf_y_datetime_tags. +
These two calls give exactly same result:
[source,c]
----
weechat_printf_y (buffer, 0, "message");
weechat_printf_y_datetime_tags (buffer, 0, 0, 0, NULL, "message");
----
Argomenti:
@@ -9712,6 +9936,16 @@ void weechat_printf_y_date_tags (struct t_gui_buffer *buffer, int y, time_t date
const char *tags, const char *message, ...);
----
// TRANSLATION MISSING
This function is a shortcut for function printf_y_datetime_tags. +
These two calls give exactly same result:
[source,c]
----
weechat_printf_y_date_tags (buffer, 0, 0, NULL, "message");
weechat_printf_y_datetime_tags (buffer, 0, 0, 0, NULL, "message");
----
Argomenti:
* _buffer_: puntatore al buffer
@@ -9746,6 +9980,58 @@ weechat.prnt_y_date_tags("", 2, 0, "my_tag", "My message on third line with a ta
[NOTE]
La funzione è chiamata "print_y_date_tags" negli script ("prnt_y_date_tags in Python).
==== printf_y_datetime_tags
_WeeChat ≥ 4.2.0._
// TRANSLATION MISSING
Display a message on a line of a buffer with free content, using a custom
date/time (with microseconds) and tags.
Prototipo:
[source,c]
----
void weechat_printf_y_datetime_tags (struct t_gui_buffer *buffer, int y, time_t date,
int date_usec, const char *tags, const char *message, ...);
----
Argomenti:
* _buffer_: puntatore al buffer
// TRANSLATION MISSING
* _y_: numero di riga (la prima riga è 0); a negative value adds a line after
last line displayed: absolute value of _y_ is the number of lines after last
line (for example -1 is immediately after last line, -2 is 2 lines after last
line)
* _date_: data per il messaggio (0 indica data/ora corrente)
// TRANSLATION MISSING
* _date_usec_: microseconds of date (between 0 and 999999)
// TRANSLATION MISSING
* _tags_: lista di tag separati da virgole (NULL means no tags)
* _message_: messaggio da visualizzare
Esempio in C:
[source,c]
----
weechat_printf_y_datetime_tags (buffer, 2, 0, 0, "my_tag", "My message on third line with a tag");
----
Script (Python):
[source,python]
----
# prototipo
def prnt_y_datetime_tags(buffer: str, y: int, date: int, date_usec: int, tags: str, message: str) -> int: ...
# esempio
weechat.prnt_y_datetime_tags("", 2, 0, 0, "my_tag", "My message on third line with a tag")
----
[NOTE]
La funzione è chiamata "print_y_datetime_tags" negli script ("prnt_y_datetime_tags in Python).
==== log_printf
Scrive un messaggio nel file di log di WeeChat (weechat.log).
@@ -10374,7 +10660,6 @@ struct t_hook *weechat_hook_process (const char *command,
void *callback_data);
----
Argomenti:
// TRANSLATION MISSING
@@ -10644,25 +10929,8 @@ available:
_/dev/null_.
|===
Per il comando "url:..." sono disponibili le seguenti opzioni (consultare
`+man curl_easy_setopt+` per la descrizione di ogni opzione):
include::{autogendir}/autogen_api_url_options.it.adoc[tag=url_options]
// TRANSLATION MISSING
[NOTE]
^(1)^ Per le opzioni con il tipo "mask" il formato è: "value1+value2+value3";
for options with type "list", the list items must be separated by a newline
(`\n`). +
^(2)^ Quando sono disponibili le costanti, esse vanno usate come valore per
l'opzione.
Per un URL, sono consentite due opzioni aggiuntive (stringhe) per il file in
input/output:
* _file_in_: file da leggere e inviare con gli URL (invio del file "post")
* _file_out_: scrive URL scaricato/file in questo file (invece dello standard
* output)
For command "url:...", see available options in function <<_hook_url,hook_url>>.
Valore restituito:
@@ -10822,6 +11090,159 @@ hook4 = weechat.hook_process_hashtable("sh",
20000, "my_process_cb", "")
----
// TRANSLATION MISSING
==== hook_url
_WeeChat ≥ 4.1.0._
URL transfer.
Prototipo:
[source,c]
----
struct t_hook *weechat_hook_url (const char *url,
struct t_hashtable *options,
int timeout,
int (*callback)(const void *pointer,
void *data,
const char *url,
struct t_hashtable *options,
struct t_hashtable *output),
const void *callback_pointer,
void *callback_data);
----
Argomenti:
* _url_: URL
* _options_: options for URL transfer (see below); la tabella hash è duplicata
nella funzione, per cui è possibile liberarla dopo questa chiamata
* _timeout_: timeout for URL transfer (in milliseconds): after this timeout,
the transfer is stopped (0 means no timeout)
* _callback_: function called when the transfer has ended, arguments and return
value:
** _const void *pointer_: pointer
** _void *data_: pointer
** _const char *url_: URL
** _struct t_hashtable *options_: options
** _struct t_hashtable *output_: result (keys and values are strings), which may
contain the following keys:
*** _response_code_: HTTP response code
*** _headers_: HTTP headers in response
*** _output_: standard output (set only if _file_out_ was not set in options)
*** _error_: error message (set only in case of error)
** return value:
*** _WEECHAT_RC_OK_
*** _WEECHAT_RC_ERROR_
* _callback_pointer_: puntatore fornito alla callback quando chiamata da WeeChat
* _callback_data_: puntatore fornito alla callback quando chiamata da WeeChat;
if not NULL, it must have been allocated with malloc (or similar function)
and it is automatically freed when the hook is deleted
The following Curl options are available (see `+man curl_easy_setopt+` for
a description of each option):
include::{autogendir}/autogen_api_url_options.it.adoc[tag=url_options]
// TRANSLATION MISSING
[NOTE]
^(1)^ Per le opzioni con il tipo "mask" il formato è: "value1+value2+value3";
for options with type "list", the list items must be separated by a newline
(`\n`). +
^(2)^ Quando sono disponibili le costanti, esse vanno usate come valore per
l'opzione.
These two extra options (strings) are allowed for input/output file:
[width="100%",cols="2,^1,7",options="header"]
|===
| Option | Type | Description
| file_in | string | file da leggere e inviare con gli URL (invio del file "post")
| file_out | string | scrive URL scaricato/file in questo file (invece dello standard output)
|===
Valore restituito:
* puntatore al nuovo hook, NULL in caso di errore
Esempio in C:
[source,c]
----
int
my_url_cb (const void *pointer, void *data, const char *url,
struct t_hashtable *options, struct t_hashtable *output)
{
weechat_printf (NULL, "response_code: %s", weechat_hashtable_get (output, "response_code"));
weechat_printf (NULL, "headers: %s", weechat_hashtable_get (output, "headers"));
weechat_printf (NULL, "output: %s", weechat_hashtable_get (output, "output"));
weechat_printf (NULL, "error: %s", weechat_hashtable_get (output, "error"));
return WEECHAT_RC_OK;
}
/* example 1: output to a file */
struct t_hashtable *options_url1 = weechat_hashtable_new (8,
WEECHAT_HASHTABLE_STRING,
WEECHAT_HASHTABLE_STRING,
NULL,
NULL);
if (options_url1)
{
weechat_hashtable_set (options_url1, "file_out", "/tmp/weechat.org.html");
struct t_hook *my_url_hook = weechat_hook_url ("https://weechat.org/",
options_url1,
20000,
&my_url_cb, NULL, NULL);
weechat_hashtable_free (options_url1);
}
/* example 2: custom HTTP headers, output sent to callback */
struct t_hashtable *options_url2 = weechat_hashtable_new (8,
WEECHAT_HASHTABLE_STRING,
WEECHAT_HASHTABLE_STRING,
NULL,
NULL);
if (options_url2)
{
weechat_hashtable_set (options_url2, "httpheader",
"Header1: value1\n"
"Header2: value2");
struct t_hook *my_url_hook = weechat_hook_url ("http://localhost:8080/",
options_url2,
20000,
&my_url_cb, NULL, NULL);
weechat_hashtable_free (options_url2);
}
----
Script (Python):
[source,python]
----
# prototipo
def hook_url(url: str, options: Dict[str, str], timeout: int, callback: str, callback_data: str) -> str: ...
# esempio
def my_url_cb(data: str, url: str, options: Dict[str, str], output: Dict[str, str]) -> int:
weechat.prnt("", "output: %s" % output)
return weechat.WEECHAT_RC_OK
# example 1: output to a file
hook1 = weechat.hook_url("https://weechat.org/",
{"file_out": "/tmp/weechat.org.html"},
20000, "my_url_cb", "")
# example 2: custom HTTP headers, output sent to callback
options = {
"httpheader": "\n".join([
"Header1: value1",
"Header2: value2",
]),
}
hook2 = weechat.hook_url("http://localhost:8080/", options, 20000, "my_url_cb", "")
----
==== hook_connect
// TRANSLATION MISSING
@@ -11016,7 +11437,7 @@ hook = weechat.hook_connect("", "my.server.org", 1234, 1, 0, "",
// TRANSLATION MISSING
==== hook_line
_WeeChat ≥ 2.3, updated in 3.7, 4.1.0._
_WeeChat ≥ 2.3, updated in 4.2.0._
Hook a line to be printed in a buffer.
@@ -11087,13 +11508,13 @@ Line data sent to the callback is a hashtable, with following values
| Key | Value (formatted buffer) | Value (free buffer) | Examples
| buffer
| Comma-separated list of buffer pointers.
| Comma-separated list of buffer pointers.
| Buffer pointer.
| Buffer pointer.
| `+0x1234abcd+`
| buffer_name
| Comma-separated list of buffer names.
| Comma-separated list of buffer names.
| Buffer name.
| Buffer name.
| `+core.weechat+` +
`+irc.server.libera+` +
`+irc.libera.#weechat+`
@@ -11115,11 +11536,21 @@ Line data sent to the callback is a hashtable, with following values
| N/A ("0").
| `+1533792000+`
| date_usec
| Microseconds of line date (between 0 and 999999).
| N/A ("0").
| `+123456+`
| date_printed
| Date when line was displayed (timestamp).
| N/A ("0").
| `+1533792012+`
| date_usec_printed
| Microseconds of date when line was displayed (between 0 and 999999).
| N/A ("0").
| `+654321+`
| str_time
| Date for display (possible color codes inside).
| N/A (empty string).
@@ -11181,20 +11612,16 @@ in this hashtable):
| Key | Allowed value (formatted buffer) | Allowed value (free buffer) | Result
| buffer
| Comma-separated list buffer pointers (with formatted content)
(multiple buffers are supported only with WeeChat ≥ 4.1.0).
| Comma-separated list buffer pointers (with free content)
(multiple buffers are supported only with WeeChat ≥ 4.1.0).
| The line is displayed on these buffers. +
| Pointer of a buffer with formatted content.
| Pointer of a buffer with free content.
| The line is displayed on this buffer. +
If the value is empty, the line is deleted (anything else in the hashtable
is then ignored); the next hooks of type "line" are not called.
| buffer_name
| Comma-separated list buffer names (with formatted content)
(multiple buffers are supported only with WeeChat ≥ 4.1.0).
| Comma-separated list buffer names (with free content)
(multiple buffers are supported only with WeeChat ≥ 4.1.0).
| The line is displayed on these buffers. +
| Name of a buffer with formatted content.
| Name of a buffer with free content.
| The line is displayed on this buffer. +
If `buffer` is also set, the value of `+buffer_name+` has higher priority and is used. +
If the value is empty, the line is deleted (anything else in the hashtable
is then ignored); the next hooks of type "line" are not called.
@@ -11210,11 +11637,22 @@ in this hashtable):
| The date is set to this value. +
The value of `+str_time+` is updated accordingly.
| date_usec
| Integer ("0" to "999999").
| N/A.
| The microseconds of line date is set to this value. +
The value of `+str_time+` is updated accordingly.
| date_printed
| Timestamp.
| N/A.
| The printed date is set to this timestamp (not displayed).
| date_usec_printed
| Integer ("0" to "999999").
| N/A.
| The microseconds of printed date is set to this value.
| str_time
| String.
| N/A.
@@ -11296,7 +11734,7 @@ hook = weechat.hook_line("", "", "irc_join", "my_line_cb", "")
==== hook_print
// TRANSLATION MISSING
_Updated in 0.4.3, 1.0, 1.5._
_Updated in 0.4.3, 1.0, 1.5, 4.2.0._
// TRANSLATION MISSING
Hook su un messaggio stampato. It is called when a line has been added in
@@ -11318,6 +11756,7 @@ struct t_hook *weechat_hook_print (struct t_gui_buffer *buffer,
void *data,
struct t_gui_buffer *buffer,
time_t date,
int date_usec,
int tags_count,
const char **tags,
int displayed,
@@ -11351,6 +11790,8 @@ Argomenti:
** _void *data_: puntatore
** _struct t_gui_buffer *buffer_: puntatore al buffer
** _time_t date_: data
// TRANSLATION MISSING
** _int date_usec_: microseconds of date
** _int tags_count_: numero di tag per riga
** _const char **tags_: array con tag per riga
** _int displayed_: 1 se la riga è visualizzata, 0 se filtrata (nascosta)
@@ -11383,7 +11824,7 @@ Esempio in C:
----
int
my_print_cb (const void *pointer, void *data, struct t_gui_buffer *buffer,
time_t date, int tags_count, const char **tags,
time_t date, int date_usec, int tags_count, const char **tags,
int displayed, int highlight,
const char *prefix, const char *message)
{
@@ -13693,9 +14134,17 @@ Contenuto della tabella hash inviata alla callback (tasti e valori sono di tipo
| _chat_line_date | Riga con data/ora.
| "1313237175" | "0"
// TRANSLATION MISSING
| _chat_line_date_usec | Microseconds of line date/time.
| "123456" | "0"
| _chat_line_date_printed | Riga con data/ora ^(4)^.
| "1313237175" | "0"
// TRANSLATION MISSING
| _chat_line_date_usec_printed | Microseconds of line printed date/time ^(4)^.
| "123456" | "0"
| _chat_line_time | Ora visualizzata.
| "14:06:15" | ""
@@ -14520,6 +14969,8 @@ Argomenti:
* _buffer_: puntatore al buffer
* _property_: nome della proprietà:
// TRANSLATION MISSING
** _opening_: 1 if buffer is opening, otherwise 0 _(WeeChat ≥ 4.2.0)_
** _number_: numero del buffer (inizia da 1)
** _layout_number_: numero del buffer salvato nel layout
** _layout_number_merge_order_: ordine di unione per i layout
@@ -14528,50 +14979,46 @@ Argomenti:
** _notify_: livello di notifica per il buffer
** _num_displayed_: numero delle finestre che visualizzano il buffer
// TRANSLATION MISSING
** _active_: 2 if buffer is the only active (merged), 1 se il buffer è attivo,
0 se il buffer è unito e non selezionato
** _active_: 2 if buffer is the only active (merged), 1 se il buffer è attivo, 0 se il buffer è unito e non selezionato
// TRANSLATION MISSING
** _hidden_: 1 if buffer is hidden, otherwise 0
_(WeeChat ≥ 1.0)_
** _hidden_: 1 if buffer is hidden, otherwise 0 _(WeeChat ≥ 1.0)_
// TRANSLATION MISSING
** _zoomed_: 1 if buffer is merged and zoomed, otherwise 0
_(WeeChat ≥ 1.0)_
** _print_hooks_enabled_: 1 se gli hook sulla stampa sono abilitati,
altrimenti 0
** _zoomed_: 1 if buffer is merged and zoomed, otherwise 0 _(WeeChat ≥ 1.0)_
** _print_hooks_enabled_: 1 se gli hook sulla stampa sono abilitati, altrimenti 0
// TRANSLATION MISSING
** _day_change_: 1 if messages for the day change are displayed, otherwise 0
_(WeeChat ≥ 0.4.3)_
** _day_change_: 1 if messages for the day change are displayed, otherwise 0 _(WeeChat ≥ 0.4.3)_
// TRANSLATION MISSING
** _clear_: 1 if buffer can be cleared with command `/buffer clear`, otherwise 0
_(WeeChat ≥ 1.0)_
** _clear_: 1 if buffer can be cleared with command `/buffer clear`, otherwise 0 _(WeeChat ≥ 1.0)_
// TRANSLATION MISSING
** _filter_: 1 if filters are enabled on buffer, otherwise 0
_(WeeChat ≥ 1.0)_
** _lines_hidden_: 1 se almeno una riga è nascosta sul buffer (filtrata),
oppure 0 se vengono visualizzate tutte le righe
** _filter_: 1 if filters are enabled on buffer, otherwise 0 _(WeeChat ≥ 1.0)_
// TRANSLATION MISSING
** _closing_: 1 if buffer is closing, otherwise 0 _(WeeChat ≥ 1.0)_
** _lines_hidden_: 1 se almeno una riga è nascosta sul buffer (filtrata), oppure 0 se vengono visualizzate tutte le righe
** _prefix_max_length_: lunghezza massima del prefisso in questo buffer
** _time_for_each_line_: 1 se l'ora è visualizzata per ogni riga nel buffer
(predefinito), altrimenti 0
// TRANSLATION MISSING
** _next_line_id_: next line id in buffer _(WeeChat ≥ 3.8)_
** _time_for_each_line_: 1 se l'ora è visualizzata per ogni riga nel buffer (predefinito), altrimenti 0
** _nicklist_: 1 se la lista nick è abilitata, altrimenti 0
** _nicklist_case_sensitive_: 1 se i nick sono sensibili alle maiuscole,
altrimenti 0
** _nicklist_case_sensitive_: 1 se i nick sono sensibili alle maiuscole, altrimenti 0
** _nicklist_max_length_: lunghezza massima per un nick
** _nicklist_display_groups_: 1 se i gruppi vengono visualizzati, altrimenti 0
// TRANSLATION MISSING
** _nicklist_count_: number of nicks and groups in nicklist
// TRANSLATION MISSING
** _nicklist_visible_count_: numero di nick/gruppi visualizzati
** _nicklist_groups_count_: number of groups in nicklist
// TRANSLATION MISSING
** _nicklist_groups_visible_count_: number of groups displayed
// TRANSLATION MISSING
** _nicklist_nicks_count_: number of nicks in nicklist
** _nicklist_visible_count_: numero di nick/gruppi visualizzati
// TRANSLATION MISSING
** _nicklist_nicks_visible_count_: number of nicks displayed
** _input_: 1 se l'input è abilitato, altrimenti 0
** _input_get_unknown_commands_: 1 se i comandi sconosciuti vengono inviati
alla callback di input, altrimenti 0
** _input_get_unknown_commands_: 1 se i comandi sconosciuti vengono inviati alla callback di input, altrimenti 0
// TRANSLATION MISSING
** _input_get_empty_: 1 if empty input is sent to input callback, otherwise 0
// TRANSLATION MISSING
** _input_multiline_: 1 if multiple lines are sent as one message to input
callback, otherwise 0
** _input_multiline_: 1 if multiple lines are sent as one message to input callback, otherwise 0
** _input_size_: dimensione per l'input (in byte)
** _input_length_: lunghezza dell'input (numero di caratteri)
** _input_pos_: posizione del cursore nell'input del buffer
@@ -14579,9 +15026,33 @@ Argomenti:
** _num_history_: numero di comandi nella cronologia
** _text_search_: tipo di ricerca nel testo:
*** 0: nessuna ricerca in questo momento
*** 1: ricerca all'indietro (direzione: messaggi più vecchi)
*** 2: ricerca in avanti (direzione: messaggi più nuovi)
// TRANSLATION MISSING
*** 1: search in buffer lines
// TRANSLATION MISSING
*** 2: search in commands history
// TRANSLATION MISSING
** _text_search_direction_: direction for search:
// TRANSLATION MISSING
*** 0: backward search (direction: oldest messages/commands)
// TRANSLATION MISSING
*** 1: forward search (direction: newest messages/commands)
** _text_search_exact_: 1 se la ricerca testo è esatta
// TRANSLATION MISSING
** _text_search_regex_: 1 if searching with a regular expression
** _text_search_where_:
*** 0: nessuna ricerca in questo momento
// TRANSLATION MISSING
*** 1: search in message
// TRANSLATION MISSING
*** 2: search in prefix
// TRANSLATION MISSING
*** 3: search in prefix and message
** _text_search_history_:
*** 0: nessuna ricerca in questo momento
// TRANSLATION MISSING
*** 1: search in buffer local history
// TRANSLATION MISSING
*** 2: search in global history
** _text_search_found_: 1 se il testo viene trovato, altrimenti 0
Valore restituito:
@@ -14623,13 +15094,14 @@ Argomenti:
* _buffer_: puntatore al buffer
* _property_: nome proprietà:
** _plugin_: nome del plugin che ha creato questo buffer ("core"
per il buffer principale di WeeChat)
** _plugin_: nome del plugin che ha creato questo buffer ("core" per il buffer principale di WeeChat)
** _name_: nome del buffer
** _full_name_: nome completo del buffer ("plugin.nome") _(WeeChat ≥ 0.3.7)_
** _short_name_: nome breve del buffer (nota: usato solo per il display e può
essere cambiato dall'utente, questo nome non va usato per trovare il nome del
buffer, utilizzare invece _name_, _fullname_ o la variabile locale _channel_)
// TRANSLATION MISSING
** _old_full_name_: old full name of buffer ("plugin.name"), set before the buffer is renamed _(WeeChat ≥ 2.8)_
** _short_name_: nome breve del buffer (nota: usato solo per il display e può essere cambiato dall'utente, questo nome non va usato per trovare il nome del buffer, utilizzare invece _name_, _fullname_ o la variabile locale _channel_)
// TRANSLATION MISSING
** _type_: type of buffer: "formatted" or "free" _(WeeChat ≥ 4.2.0)_
** _title_: titolo del buffer
** _input_: testo in ingresso
** _text_search_input_: input salvato prima della ricerca nel testo
@@ -14643,8 +15115,7 @@ Argomenti:
// TRANSLATION MISSING
** _highlight_tags_: force highlight on messages with these tags
** _hotlist_max_level_nicks_: livello massimo della hotlist per alcuni nick
** _localvar_xxx_: ottiene il contenuto della variabile locale "xxx"
(sostituire "xxx" con il nome della variabile da leggere)
** _localvar_xxx_: ottiene il contenuto della variabile locale "xxx" (sostituire "xxx" con il nome della variabile da leggere)
Valore restituito:
@@ -14688,8 +15159,11 @@ Argomenti:
* _buffer_: puntatore al buffer
* _property_: nome proprietà:
** _plugin_: puntatore al plugin che ha creato questo buffer (NULL
per il buffer principale di WeeChat)
** _plugin_: puntatore al plugin che ha creato questo buffer (NULL per il buffer principale di WeeChat)
// TRANSLATION MISSING
** _text_search_regex_compiled_: compiled regular expression
// TRANSLATION MISSING
** _text_search_ptr_history_: history found
** _highlight_disable_regex_compiled_: espressione regolare _highlight_disable_regex_ compilata
** _highlight_regex_compiled_: espressione regolare _highlight_regex_ compilata
@@ -19412,7 +19886,7 @@ for key in hash:
// TRANSLATION MISSING
==== hdata_compare
_WeeChat ≥ 1.9._
_WeeChat ≥ 1.9, updated in 4.1.0._
Compare a hdata variable of two objects.
@@ -19428,8 +19902,8 @@ Argomenti:
* _hdata_: hdata pointer
* _pointer1_: pointer to first WeeChat/plugin object
* _pointer2_: pointer to second WeeChat/plugin object
* _name_: variable name; for arrays, the name can be "N|name" where N is
the index in array (starting at 0), for example: "2|name"
* _name_: variable name or path to a variable name; for arrays, the name can be
"N|name" where N is the index in array (starting at 0), for example: "2|name"
* _case_sensitive_: 1 for case sensitive comparison of strings, otherwise 0
Valore restituito:
@@ -19445,8 +19919,12 @@ Esempio in C:
struct t_hdata *hdata = weechat_hdata_get ("buffer");
struct t_gui_buffer *buffer1 = weechat_buffer_search ("irc", "libera.#weechat");
struct t_gui_buffer *buffer2 = weechat_buffer_search ("irc", "libera.#weechat-fr");
weechat_printf (NULL, "number comparison = %d",
weechat_printf (NULL, "comparison of buffer number = %d",
weechat_hdata_compare (hdata, buffer1, buffer2, "number", 0));
weechat_printf (NULL, "comparison of number of lines = %d",
weechat_hdata_compare (hdata, buffer1, buffer2, "own_lines.lines_count", 0));
weechat_printf (NULL, "comparison of local variable = %d",
weechat_hdata_compare (hdata, buffer1, buffer2, "local_variables.myvar", 0));
----
Script (Python):
@@ -19460,7 +19938,9 @@ def hdata_compare(hdata: str, pointer1: str, pointer2: str, name: str, case_sens
hdata = weechat.hdata_get("buffer")
buffer1 = weechat.buffer_search("irc", "libera.#weechat")
buffer2 = weechat.buffer_search("irc", "libera.#weechat-fr")
weechat.prnt("", "number comparison = %d" % weechat.hdata_compare(hdata, buffer1, buffer2, "number", 0))
weechat.prnt("", "comparison of buffer number = %d" % weechat.hdata_compare(hdata, buffer1, buffer2, "number", 0))
weechat.prnt("", "comparison of number of lines = %d" % weechat.hdata_compare(hdata, buffer1, buffer2, "own_lines.lines_count", 0))
weechat.prnt("", "comparison of local variable = %d" % weechat.hdata_compare(hdata, buffer1, buffer2, "local_variables.myvar", 0))
----
// TRANSLATION MISSING
+4
View File
@@ -681,10 +681,14 @@ Elenco di funzioni nelle API per gli script:
print (for python: prnt) +
// TRANSLATION MISSING
print_date_tags (for python: prnt_date_tags) +
// TRANSLATION MISSING
print_datetime_tags (for python: prnt_datetime_tags) +
// TRANSLATION MISSING
print_y (for python: prnt_y) +
// TRANSLATION MISSING
print_y_date_tags (for python: prnt_y_date_tags) +
// TRANSLATION MISSING
print_y_datetime_tags (for python: prnt_y_datetime_tags) +
log_print
| hook
+220 -98
View File
@@ -159,11 +159,6 @@ WeeChat:
| Logger plugin: compression of rotated log files (gzip). +
Relay plugin: compression of messages (WeeChat -> client) with https://zlib.net/[zlib ^↗^^] (weechat protocol). +
Script plugin: read of repository index file (gzip).
// TRANSLATION MISSING
| libzstd-dev | ≥ 0.8.1
| Logger plugin: compression of rotated log files. +
Relay plugin: compression of messages (WeeChat -> client) with https://facebook.github.io/zstd/[Zstandard ^↗^^] (weechat protocol).
|===
[NOTE]
@@ -181,32 +176,75 @@ WeeChat:
[width="100%",cols="5,^3,.^15",options="header"]
|===
// TRANSLATION MISSING
| Pacchetto ^(1)^ | Versione | Features
| Pacchetto ^(1)^ | Versione | Features
// TRANSLATION MISSING
| {cpp} compiler (pass:[g++ / clang++]) | | Build and run tests, plugin JavaScript.
| gettext | | Internazionalizzazione (traduzione dei messaggi; la lingua base è l'inglese).
| ca-certificates | | Certificati per le connessioni TLS.
| libaspell-dev / libenchant-dev | | Plugin spell.
| python3-dev | ≥ 3.0 | Plugin python.
| libperl-dev | | Plugin perl.
| ruby3.1, ruby3.1-dev | ≥ 1.9.1 | Plugin ruby.
| liblua5.4-dev | | Plugin lua.
| tcl-dev | ≥ 8.5 | Plugin tcl.
| guile-3.0-dev | ≥ 2.0 | Plugin guile (scheme).
| libv8-dev | ≤ 3.24.3 | Plugin javascript.
| php-dev | ≥ 7.0 | Plugin php.
| libphp-embed | ≥ 7.0 | Plugin php.
| libxml2-dev | | Plugin php.
| {cpp} compiler (pass:[g++ / clang++]) |
| Build and run tests, plugin JavaScript.
| gettext |
| Internazionalizzazione (traduzione dei messaggi; la lingua base è l'inglese).
| ca-certificates |
| Certificati per le connessioni TLS.
// TRANSLATION MISSING
| libargon2-dev | | Plugin php (if PHP ≥ 7.2).
| libzstd-dev | ≥ 0.8.1
| Logger plugin: compression of rotated log files (zstandard). +
Relay plugin: compression of messages (WeeChat -> client) with https://facebook.github.io/zstd/[Zstandard ^↗^^] (weechat protocol).
| libaspell-dev / libenchant-dev |
| Plugin spell.
| python3-dev | ≥ 3.0
| Plugin python.
| libperl-dev |
| Plugin perl.
| ruby3.1, ruby3.1-dev | ≥ 1.9.1
| Plugin ruby.
| liblua5.4-dev |
| Plugin lua.
| tcl-dev | ≥ 8.5
| Plugin tcl.
| guile-3.0-dev | ≥ 2.0
| Plugin guile (scheme).
| libv8-dev | ≤ 3.24.3
| Plugin javascript.
| php-dev | ≥ 7.0
| Plugin php.
| libphp-embed | ≥ 7.0
| Plugin php.
| libxml2-dev |
| Plugin php.
// TRANSLATION MISSING
| libsodium-dev | | Plugin php (if PHP ≥ 7.2).
| libargon2-dev |
| Plugin php (if PHP ≥ 7.2).
// TRANSLATION MISSING
| asciidoctor | ≥ 1.5.4 | Build man page and documentation.
| libsodium-dev |
| Plugin php (if PHP ≥ 7.2).
// TRANSLATION MISSING
| ruby-pygments.rb | | Build documentation.
| asciidoctor | ≥ 1.5.4
| Build man page and documentation.
// TRANSLATION MISSING
| libcpputest-dev | ≥ 3.4 | Build and run tests.
| ruby-pygments.rb |
| Build documentation.
// TRANSLATION MISSING
| libcpputest-dev | ≥ 3.4
| Build and run tests.
|===
[NOTE]
@@ -252,7 +290,7 @@ $ make install
Options can be used for CMake, with format: `-DOPTION=VALUE`.
// TRANSLATION MISSING
List of commonly used options:
List of available options:
// TRANSLATION MISSING
[width="100%",cols="3m,3,3m,10",options="header"]
@@ -266,7 +304,6 @@ List of commonly used options:
| CMAKE_INSTALL_PREFIX | directory | /usr/local
| The directory where WeeChat will be installed.
// TRANSLATION MISSING
| WEECHAT_HOME | directory | (empty string)
| The default home directory when running WeeChat. +
With an empty value (recommended), XDG directories are used by default.
@@ -289,7 +326,6 @@ List of commonly used options:
| ENABLE_DOC | `ON`, `OFF` | OFF
| Build HTML documentation.
// TRANSLATION MISSING
| ENABLE_DOC_INCOMPLETE | `ON`, `OFF` | OFF
| Force build of documentation even if some plugins are not compiled
(not recommended: docs will be incomplete).
@@ -309,6 +345,9 @@ List of commonly used options:
| ENABLE_GUILE | `ON`, `OFF` | ON
| Compile <<scripting_plugins,Guile plugin>> (Scheme).
| ENABLE_HEADLESS | `ON`, `OFF` | ON
| Compile headless binary.
| ENABLE_IRC | `ON`, `OFF` | ON
| Compile <<irc,IRC plugin>>.
@@ -367,6 +406,10 @@ List of commonly used options:
| ENABLE_XFER | `ON`, `OFF` | ON
| Compile <<xfer,Xfer plugin>>.
// TRANSLATION MISSING
| ENABLE_ZSTD | `ON`, `OFF` | ON
| Enable https://facebook.github.io/zstd/[Zstandard ^↗^^] compression.
| ENABLE_TESTS | `ON`, `OFF` | OFF
| Compile tests.
@@ -960,11 +1003,33 @@ La barra _input_ ha i seguenti elementi predefiniti:
| input_prompt | `[@Flashy(i)]` | Prompt per l'input, for irc: nick and modes (mode "+i" means invisible on libera).
| away | `(assente)` | Indicatore di assenza.
// TRANSLATION MISSING
| input_search | `[Search (~ str,msg)]` | Search indicator ("`~`": case insensitive, "`==`": case sensitive, "`str`": search string, "`regex`": search regular expression, "`msg`": search in messages, "`pre`": search in prefixes, "`pre\|msg`": search in prefixes and messages).
| input_search | `[Search lines (~ str,msg)]` | Search indicator (see below).
| input_paste | `[Incollare 7 righe ? [ctrl-y] Sì [ctrl-n] No]` | Chiede all'utente se incollare le righe.
| input_text | `ciao peter!` | Testo in input.
|===
// TRANSLATION MISSING
There are two search modes:
// TRANSLATION MISSING
* search in lines, for example `[Search lines (~ str,msg)]`, with the following info:
** `~`: case insensitive
** `==`: case sensitive
** `str`: search string
** `regex`: search regular expression
** `msg`: search in messages
** `pre`: search in prefixes
** `pre\|msg`: search in prefixes and messages.
* search in commands history, for example `[Search command (~ str,local)]`,
with the following info:
** `~`: case insensitive
** `==`: case sensitive
** `str`: search string
** `regex`: search regular expression
** `local`: search in buffer local history
** `global`: search in global history.
La barra _nicklist_ ha i seguenti elementi predefiniti:
[width="100%",cols="^3,^3,9",options="header"]
@@ -988,6 +1053,10 @@ Other items available (not used in bars by default):
| buffer_short_name | `#test` | Current buffer short name.
| buflist2 | `1.weechat` | List of buffers, second bar item (see option <<option_buflist.look.use_items,buflist.look.use_items>>).
| buflist3 | `1.weechat` | List of buffers, third bar item (see option <<option_buflist.look.use_items,buflist.look.use_items>>).
// TRANSLATION MISSING
| buflist4 | `1.weechat` | List of buffers, fourth bar item (see option <<option_buflist.look.use_items,buflist.look.use_items>>).
// TRANSLATION MISSING
| buflist5 | `1.weechat` | List of buffers, fifth bar item (see option <<option_buflist.look.use_items,buflist.look.use_items>>).
| fset | `+buflist.look.sort: …+` | Help on currently selected option on fset buffer.
| irc_channel | `#test` | Current IRC channel name.
| irc_host | `+user@host.com+` | Current IRC host.
@@ -1059,6 +1128,13 @@ opzionale):
kbd:[xx], kbd:[,],
kbd:[yy] | colore del testo `xx` e di sfondo `yy` (consultare la lista di colori che segue).
// TRANSLATION MISSING
| kbd:[Ctrl+c], kbd:[d],
kbd:[xxxxxx] | Text color `xxxxxx` (RGB as hexadecimal, for example `FF0000` for red).
// TRANSLATION MISSING
| kbd:[Ctrl+c], kbd:[d],
kbd:[xxxxxx], kbd:[,],
kbd:[yyyyyy] | Text color `xxxxxx` and background `yyyyyy` (RGB as hexadecimal).
// TRANSLATION MISSING
| kbd:[Ctrl+c], kbd:[i] | italic text.
| kbd:[Ctrl+c], kbd:[o] | disabilita colori ed attributi.
| kbd:[Ctrl+c], kbd:[v] | video inverso (inverte il colore del testo con quello di sfondo).
@@ -1066,8 +1142,9 @@ opzionale):
|===
[NOTE]
Lo stesso codice (senza numero per kbd:[Ctrl+c], kbd:[c]) può essere usato per
terminare l'attributo.
// TRANSLATION MISSING
The same code (without number for kbd:[Ctrl+c], kbd:[c] and kbd:[Ctrl+c], kbd:[d])
can be used to stop the attribute.
I codici colore per kbd:[Ctrl+c], kbd:[c] sono:
@@ -1532,7 +1609,8 @@ External plugins and scripts can define and use other local variables.
// TRANSLATION MISSING
Buflist plugin displays a list of buffers in a bar item called "buflist"
(two other bar items "buflist2" and "buflist3" are available as well). +
(four other bar items "buflist2", "buflist3", "buflist4" and "buflist5" are
available as well). +
A default bar "buflist" is created on startup with this item.
[[buflist_commands]]
@@ -1672,6 +1750,8 @@ They can be changed and new ones can be added with the <<command_weechat_key,/ke
| Tasti | Descrizione | Comando
| kbd:[Ctrl+c], kbd:[b] | Inserisce il codice per il testo in grassetto. | `+/input insert \x02+`
| kbd:[Ctrl+c], kbd:[c] | Inserisce il codice per il testo colorato. | `+/input insert \x03+`
// TRANSLATION MISSING
| kbd:[Ctrl+c], kbd:[d] | Insert code for colored text (RGB color, as hexadecimal). | `+/input insert \x04+`
| kbd:[Ctrl+c], kbd:[i] | Inserisce il codice per il testo in corsivo. | `+/input insert \x1D+`
| kbd:[Ctrl+c], kbd:[o] | Inserisce il codice per il reset dei colori. | `+/input insert \x0F+`
| kbd:[Ctrl+c], kbd:[v] | Inserisce il codice per l'inversione dei colori. | `+/input insert \x16+`
@@ -1691,6 +1771,16 @@ They can be changed and new ones can be added with the <<command_weechat_key,/ke
| kbd:[Ctrl+↓] | Chiama il comando/messaggio successivo nella cronologia globale (identico per tutti i buffer). | `+/input history_global_next+`
|===
// TRANSLATION MISSING
[[key_bindings_cmdline_system]]
==== System
[width="100%",cols="^.^3,.^8,.^5",options="header"]
|===
| Tasti | Descrizione | Comando
| kbd:[Ctrl+z] | Suspend WeeChat process. | `+/sys suspend+`
|===
// TRANSLATION MISSING
[[key_bindings_buffers]]
=== Buffers
@@ -1698,8 +1788,10 @@ They can be changed and new ones can be added with the <<command_weechat_key,/ke
[width="100%",cols="^.^3,.^8,.^5",options="header"]
|===
| Tasti | Descrizione | Comando
| kbd:[Ctrl+r] | Cerca del testo nella cronologia del buffer (consultare <<key_bindings_search_context,tasti per il contesto search>>). | `+/input search_text_here+`
| kbd:[Ctrl+s], kbd:[Ctrl+u] | Imposta l'evidenziatore dei messaggi non letti su tutti i buffer. | `+/allbuf /buffer set unread+`
// TRANSLATION MISSING
| kbd:[Ctrl+r] | Search for text in commands history (see <<key_bindings_histsearch_context,keys for context "histsearch">>). | `+/input search_history+`
// TRANSLATION MISSING
| kbd:[Ctrl+s] | Search for text in buffer lines (see <<key_bindings_search_context,keys for context "search">>). | `+/input search_text_here+`
// TRANSLATION MISSING
| kbd:[Ctrl+x] | Switch current buffer if buffers are merged with same number, for example switch to another IRC server buffer. | `+/buffer switch+`
// TRANSLATION MISSING
@@ -1728,6 +1820,7 @@ They can be changed and new ones can be added with the <<command_weechat_key,/ke
| kbd:[Alt+n] | Scorre fino alla notifica successiva. | `+/window scroll_next_highlight+`
| kbd:[Alt+p] | Scorre fino alla notifica precedente. | `+/window scroll_previous_highlight+`
| kbd:[Alt+u] | Scorre fino alla prima riga non letta nel buffer. | `+/window scroll_unread+`
| kbd:[Alt+Shift+U] | Imposta l'evidenziatore dei messaggi non letti su tutti i buffer. | `+/allbuf /buffer set unread+`
| kbd:[Alt+<] | Passa al buffer precedente nella lista dei buffer visitati. | `+/buffer jump prev_visited+`
| kbd:[Alt+>] | Passa al buffer successivo nella lista dei buffer visitati. | `+/buffer jump next_visited+`
| kbd:[Alt+/] | Passa all'ultimo buffer mostrato (prima dell'ultimo passaggio ad un buffer). | `+/buffer jump last_displayed+`
@@ -1820,19 +1913,22 @@ They can be changed and new ones can be added with the <<command_weechat_key,/ke
[[key_bindings_search_context]]
=== Search context
Questi tasti sono usati nel contesto "search" (quando viene digitato
kbd:[Ctrl+r] per cercare del testo nel buffer).
// TRANSLATION MISSING
These keys are used in context "search" (when kbd:[Ctrl+s] is pressed to search
text in buffer lines).
[width="100%",cols="^.^3,.^8,.^5",options="header"]
|===
| Tasti | Descrizione | Comando
// TRANSLATION MISSING
| kbd:[Ctrl+r] | Switch search type: string (default), regular expression. | `+/input search_switch_regex+`
| kbd:[Ctrl+x] | Switch search type: string (default), regular expression. | `+/input search_switch_regex+`
| kbd:[Alt+c] | Passa alla ricerca esatta. | `+/input search_switch_case+`
// TRANSLATION MISSING
| kbd:[Tab] | Switch search in: messages (default), prefixes, prefixes + messages. | `+/input search_switch_where+`
| kbd:[↑] | Cerca riga precedente. | `+/input search_previous+`
| kbd:[] | Cerca riga successiva. | `+/input search_next+`
| kbd:[Ctrl+r] +
kbd:[] | Cerca riga precedente. | `+/input search_previous+`
| kbd:[Ctrl+s] +
kbd:[↓] | Cerca riga successiva. | `+/input search_next+`
// TRANSLATION MISSING
| kbd:[Enter] +
kbd:[Ctrl+j] +
@@ -1841,6 +1937,39 @@ kbd:[Ctrl+r] per cercare del testo nel buffer).
| kbd:[Ctrl+q] | Stop search and reset scroll to pre-text search state. | `+/input search_stop+`
|===
// TRANSLATION MISSING
[[key_bindings_histsearch_context]]
=== History search context
// TRANSLATION MISSING
These keys are used in context "histsearch" (when kbd:[Ctrl+r] is pressed to
search text in commands history).
[width="100%",cols="^.^3,.^8,.^5",options="header"]
|===
| Tasti | Descrizione | Comando
// TRANSLATION MISSING
| kbd:[Ctrl+x] | Switch search type: string (default), regular expression. | `+/input search_switch_regex+`
// TRANSLATION MISSING
| kbd:[Alt+c] | Switch exact case for search. | `+/input search_switch_case+`
// TRANSLATION MISSING
| kbd:[Tab] | Switch search in: buffer local history (default), global history. | `+/input search_switch_where+`
// TRANSLATION MISSING
| kbd:[Ctrl+r] +
kbd:[↑] | Search in previous (older) history entries. | `+/input search_previous+`
// TRANSLATION MISSING
| kbd:[Ctrl+s] +
kbd:[↓] | Search in next (newer) history entries. | `+/input search_next+`
// TRANSLATION MISSING
| kbd:[Enter] +
kbd:[Ctrl+j] +
kbd:[Ctrl+m] | Stop search and use matching input. | `+/input search_stop_here+`
// TRANSLATION MISSING
| kbd:[Ctrl+o] | Execute the command found in history and insert the next one in the command line. | `+/input history_use_get_next+`
// TRANSLATION MISSING
| kbd:[Ctrl+q] | Stop search and restore input to its initial value. | `+/input search_stop+`
|===
// TRANSLATION MISSING
[[key_bindings_cursor_context]]
=== Cursor context
@@ -1932,13 +2061,13 @@ These mouse actions are possible only if mouse is enabled with key kbd:[Alt+m]
// TRANSLATION MISSING
| kbd:[□ □ ■] | - | chat: /list buffer | Join IRC channel on selected line. | `+hsignal:irc_list_mouse+`
// TRANSLATION MISSING
| kbd:[▲] | - | chat: script buffer | Move 5 lines up in script buffer. | `+/script up 5+`
| 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+`
| kbd:[▼] | - | chat: script buffer | Move 5 lines down in script buffer. | `+/script -down 5+`
// TRANSLATION MISSING
| kbd:[■ □ □] | - | chat: script buffer | Select line in script buffer. | `+/script go ${_chat_line_y}+`
| kbd:[■ □ □] | - | chat: script buffer | Select line in script buffer. | `+/script -go ${_chat_line_y}+`
// TRANSLATION MISSING
| kbd:[□ □ ■] | - | chat: script buffer | Install/remove script. | `+/script go ${_chat_line_y};/script installremove -q ${script_name_with_extension}+`
| kbd:[□ □ ■] | - | chat: script buffer | Install/remove script. | `+/script -go ${_chat_line_y};/script installremove -q ${script_name_with_extension}+`
// TRANSLATION MISSING
| kbd:[■ □ □] | up / left | buflist | Move buffer to a lower number. | Signal `+buflist_mouse+`.
// TRANSLATION MISSING
@@ -2011,8 +2140,8 @@ These keys and actions are used on the fset buffer (see <<fset,Fset plugin>>).
| 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+`
| kbd:[Alt+p] | `p` | Toggle plugin description options (`pass:[plugins.desc.*]`). | `+/mute /set fset.look.show_plugins_desc toggle+`
| kbd:[Alt+v] | `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+`
@@ -2071,17 +2200,22 @@ These keys and actions are used on the script buffer (see <<script_manager,scrip
[width="100%",cols="^.^3,^.^2,.^8,.^5",options="header"]
|===
| Key | Action ^(1)^ | Description | Command
| kbd:[↑] | | Move one line up. | `+/script up+`
| kbd:[↓] | | Move one line down. | `+/script down+`
| 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+l] | `l` | Load script. | `+/script load+`
| kbd:[Alt+L] | `L` | Reload script. | `+/script reload+`
| 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+`
| | `s:x,y` | Sort scripts by fields x,y (see option <<option_script.look.sort,script.look.sort>>). |
| | `s:` | Reset sort to its default value (see option <<option_script.look.sort,script.look.sort>>). |
| | `$` | Refresh list. |
| | `q` | Close buffer. | `+/buffer close+`
|===
// TRANSLATION MISSING
@@ -2460,14 +2594,9 @@ and for each nick the max hotlist level to trigger, possible levels are:
For example to disable highlights from "joe" and "mike" on current buffer:
----
/buffer set hotlist_max_level_nicks_add joe:2,mike:2
/buffer setauto hotlist_max_level_nicks_add joe:2,mike:2
----
[NOTE]
The buffer property "hotlist_max_level_nicks" is not saved in configuration. +
You can easily save it with the script _buffer_autoset.py_: you can install it
with `+/script install buffer_autoset.py+` and get help with `+/help buffer_autoset+`.
// TRANSLATION MISSING
[[highlights]]
=== Highlights
@@ -2494,15 +2623,9 @@ This can also be set with the buffer property "highlight_disable_regex".
Same example, specific to the current buffer:
----
/buffer set highlight_disable_regex <flash.*>
/buffer setauto highlight_disable_regex <flash.*>
----
[NOTE]
The buffer property "highlight_disable_regex" is not saved in configuration. +
You can easily save it with the script _buffer_autoset.py_: you can install it
with `+/script install buffer_autoset.py+` and get help with
`+/help buffer_autoset+`.
[[highlights_words]]
==== Add words to highlight
@@ -2557,14 +2680,9 @@ You can force highlight using a regular expression with the buffer property
For example to force the highlight on all messages in the current buffer:
----
/buffer set highlight_regex .*
/buffer setauto highlight_regex .*
----
[NOTE]
The buffer property "highlight_regex" is not saved in configuration. +
You can easily save it with the script _buffer_autoset.py_: you can install it
with `+/script install buffer_autoset.py+` and get help with `+/help buffer_autoset+`.
// TRANSLATION MISSING
[[buffer_logging]]
=== Buffer logging
@@ -3489,32 +3607,34 @@ Sections in file _weechat.conf_:
// TRANSLATION MISSING
[width="100%",cols="3m,6m,16",options="header"]
|===
| Section | Control command | Description
| debug | <<command_weechat_debug,/debug set>> +
/set weechat.debug.* | Debug level, for core and plugins (options can be added/removed in section).
| startup | /set weechat.startup.* | Startup options.
| look | /set weechat.look.* | Look and feel.
| palette | <<command_weechat_color,/color alias>> +
/set weechat.palette.* | Color aliases (options can be added/removed in section).
| color | /set weechat.color.* | Colors.
| completion | /set weechat.completion.* | Completion options.
| history | /set weechat.history.* | History options (commands and buffers).
| proxy | <<command_weechat_proxy,/proxy>> +
/set weechat.proxy.* | Proxy options.
| network | /set weechat.network.* | Network/TLS options.
| Section | Control command | Description
| debug | <<command_weechat_debug,/debug set>> +
/set weechat.debug.* | Debug level, for core and plugins (options can be added/removed in section).
| startup | /set weechat.startup.* | Startup options.
| look | /set weechat.look.* | Look and feel.
| palette | <<command_weechat_color,/color alias>> +
/set weechat.palette.* | Color aliases (options can be added/removed in section).
| color | /set weechat.color.* | Colors.
| completion | /set weechat.completion.* | Completion options.
| history | /set weechat.history.* | History options (commands and buffers).
| proxy | <<command_weechat_proxy,/proxy>> +
/set weechat.proxy.* | Proxy options.
| network | /set weechat.network.* | Network/TLS options.
// TRANSLATION MISSING
| plugin | /set weechat.plugin.* | Options on plugins.
| plugin | /set weechat.plugin.* | Options on plugins.
// TRANSLATION MISSING
| signal | /set weechat.signal.* | Options on signals.
| bar | <<command_weechat_bar,/bar>> +
/set weechat.bar.* | Bar options.
| layout | <<command_weechat_layout,/layout>> | Layouts.
| notify | <<command_weechat_buffer,/buffer notify>> | Notify levels for buffers (options can be added/removed in section).
| filter | <<command_weechat_filter,/filter>> | Filters.
| key | <<command_weechat_key,/key>> | Keys in default context.
| key_search | <<command_weechat_key,/key>> | Keys in search context.
| key_cursor | <<command_weechat_key,/key>> | Keys in cursor context.
| key_mouse | <<command_weechat_key,/key>> | Keys in mouse context.
| signal | /set weechat.signal.* | Options on signals.
| bar | <<command_weechat_bar,/bar>> +
/set weechat.bar.* | Bar options.
| layout | <<command_weechat_layout,/layout>> | Layouts.
// TRANSLATION MISSING
| buffer | <<command_weechat_buffer,/buffer setauto>> | Properties auto-applied on buffers when they are opened.
| notify | <<command_weechat_buffer,/buffer notify>> | Notify levels for buffers (options can be added/removed in section).
| filter | <<command_weechat_filter,/filter>> | Filters.
| key | <<command_weechat_key,/key>> | Keys in default context.
| key_search | <<command_weechat_key,/key>> | Keys in search context.
| key_cursor | <<command_weechat_key,/key>> | Keys in cursor context.
| key_mouse | <<command_weechat_key,/key>> | Keys in mouse context.
|===
// TRANSLATION MISSING
@@ -4420,7 +4540,7 @@ the following extra variables are available:
|===
// TRANSLATION MISSING
| Variable | Descrizione | Valore/esempio
| `+${clientinfo}+` | Elenco di CTCP supportate | `+ACTION DCC CLIENTINFO FINGER PING SOURCE TIME USERINFO VERSION+`
| `+${clientinfo}+` | Elenco di CTCP supportate | `+ACTION DCC CLIENTINFO PING SOURCE TIME VERSION+`
| `+${version}+` | Versione di WeeChat | `+4.1.0-dev+`
// TRANSLATION MISSING
| `+${versiongit}+` | Versione di WeeChat + Git version ^(1)^ | `+4.1.0-dev (git: v4.0.0-51-g8f98b922a)+`
@@ -4446,11 +4566,9 @@ The default CTCP replies are:
[width="100%",cols="2,4,8",options="header"]
|===
| CTCP | Formato risposta | Esempio
| CLIENTINFO | `+${clientinfo}+` | `+ACTION DCC CLIENTINFO FINGER PING SOURCE TIME USERINFO VERSION+`
| FINGER | `+WeeChat ${version}+` | `+WeeChat 4.1.0-dev+`
| CLIENTINFO | `+${clientinfo}+` | `+ACTION DCC CLIENTINFO PING SOURCE TIME VERSION+`
| SOURCE | `+${download}+` | `+https://weechat.org/download/+`
| TIME | `+${time}+` | `+Sat, 08 Jul 2023 21:11:19 +0200+`
| USERINFO | `+${username} (${realname})+` | `+name (John Doe)+`
| VERSION | `+WeeChat ${version}+` | `+WeeChat 4.1.0-dev+`
|===
@@ -5457,7 +5575,7 @@ type:
| signal | tg_signal_data |
| hsignal | |
| modifier | tg_string | tg_string
| line | message | buffer, buffer_name, y, date, date_printed, str_time, tags, notify_level, highlight, prefix, message
| line | message | buffer, buffer_name, y, date, date_usec, date_printed, date_usec_printed, str_time, tags, notify_level, highlight, prefix, message
| print | tg_message |
| command | tg_argv_eol1 |
| command_run | tg_command |
@@ -5616,7 +5734,9 @@ The "line" callback sets following variables in hashtable:
| buffer_type | string | Buffer type ("formatted" or "free").
| y | string | Line number for a buffer with free content (≥ 0), -1 for a buffer with formatted content.
| date | string | Line date (timestamp).
| date_usec | string | Microseconds of line date.
| date_printed | string | Date when line was displayed (timestamp).
| date_usec_printed | string | Microseconds of date when line was displayed.
| str_time | string | Date for display. It may contain color codes.
| tags | string | Tags of message (with comma added at beginning/end of string).
| displayed | string | "1" if displayed, "0" if line filtered.
@@ -5655,7 +5775,8 @@ The "print" callback sets following variables in hashtable:
|===
| Variable | Type | Description
| buffer | pointer | Buffer.
| tg_date | string | Message date/time (format: `YYYY-MM-DD hh:mm:ss`).
// TRANSLATION MISSING
| tg_date | string | Message date/time (format: `%FT%T.%f`, see link:weechat_plugin_api.it.html#_util_strftimeval[WeeChat plugin API reference / util_strftimeval ^↗^^]).
| tg_displayed | string | "1" if displayed, "0" if line filtered.
| tg_highlight | string | "1" if highlight, otherwise "0".
| tg_prefix | string | Prefix.
@@ -5720,7 +5841,8 @@ The "timer" callback sets following variables in hashtable:
|===
| Variable | Type | Description
| tg_remaining_calls | string | Number of remaining calls.
| tg_date | string | Current date/time (format: `YYYY-MM-DD hh:mm:ss`).
// TRANSLATION MISSING
| tg_date | string | Current date/time (format: `%FT%T.%f`, see link:weechat_plugin_api.it.html#_util_strftimeval[WeeChat plugin API reference / util_strftimeval ^↗^^]).
|===
[[trigger_data_config]]
+1 -1
View File
@@ -100,7 +100,7 @@ $HOME/.local/share/weechat/weechat.log::
WeeChat は Sébastien Helleu さんと貢献者によって作成されています
(完全なリストは AUTHORS.adoc ファイルを参照してください)。
著作権 (C) 2003-2023 {author}
著作権 (C) 2003-2024 {author}
WeeChat はフリーソフトウェアです。あなたはこれを、フリーソフトウェア財団によって発行された
GNU 一般公衆利用許諾契約書 (バージョン 2 か、希望によってはそれ以降のバージョンのうちどれか)
+18 -1
View File
@@ -152,6 +152,8 @@ WeeChat "core" は以下のディレクトリに配置されています:
// TRANSLATION MISSING
|    wee-signal.c | Signal functions.
|    wee-string.c | 文字列関数
// TRANSLATION MISSING
|    wee-sys.c | System functions.
|    wee-upgrade-file.c | 内部アップグレードシステム
|    wee-upgrade.c | WeeChat コアのアップグレード (バッファ、行、履歴、...)
|    wee-url.c | URL 転送 (libcurl を使う)
@@ -178,6 +180,7 @@ WeeChat "core" は以下のディレクトリに配置されています:
|       wee-hook-process.c | "process" フック
|       wee-hook-signal.c | "signal" フック
|       wee-hook-timer.c | "timer" フック
|       wee-hook-url.c | "url" フック
| gui/ | バッファ、ウィンドウなどの関数 (全てのインターフェースで利用)
|    gui-bar-item.c | バー要素
|    gui-bar-window.c | バーウィンドウ
@@ -248,6 +251,8 @@ WeeChat "core" は以下のディレクトリに配置されています:
|       buflist.c | buflist の主要関数
|       buflist-bar-item.c | buflist バー要素
|       buflist-command.c | buflist コマンド
// TRANSLATION MISSING
|       buflist-completion.c | Buflist completions.
|       buflist-config.c | buflist 設定オプション (buflist.conf ファイル)
|       buflist-info.c | buflist の情報/インフォリスト/hdata
|       buflist-mouse.c | buflist マウス動作
@@ -425,6 +430,10 @@ WeeChat "core" は以下のディレクトリに配置されています:
|          unparse.py | Python コードを別の言語に変換 (スクリプト testapigen.py から使われます)
|    unit/ | 単体テスト用のルートディレクトリ
|       test-plugins.cpp | テスト: プラグイン
// TRANSLATION MISSING
|       test-plugin-api-info.cpp | Tests: plugin API info functions.
// TRANSLATION MISSING
|       test-plugin-config.cpp | Tests: plugin config functions.
|       core/ | core 向け単体テスト用のルートディレクトリ
|          test-core-arraylist.cpp | テスト: 配列リスト
// TRANSLATION MISSING
@@ -452,6 +461,12 @@ WeeChat "core" は以下のディレクトリに配置されています:
|          test-core-url.cpp | テスト: URL
|          test-core-utf8.cpp | テスト: UTF-8
|          test-core-util.cpp | テスト: ユーティリティ関数
// TRANSLATION MISSING
|          test-core-sys.cpp | Tests: system functions.
// TRANSLATION MISSING
|          hook/ | Root of unit tests for hooks.
// TRANSLATION MISSING
|             test-hook-command.cpp | Tests: hooks "command".
|       gui/ | インターフェースの単体テストを収める最上位ディレクトリ
// TRANSLATION MISSING
|          test-gui-bar-window.cpp | Tests: bar window functions.
@@ -485,6 +500,8 @@ WeeChat "core" は以下のディレクトリに配置されています:
// TRANSLATION MISSING
|             test-irc-ignore.cpp | Tests: IRC ignores.
// TRANSLATION MISSING
|             test-irc-info.cpp | Tests: IRC info.
// TRANSLATION MISSING
|             test-irc-join.cpp | Tests: IRC join functions.
// TRANSLATION MISSING
|             test-irc-list.cpp | Tests: IRC buffer for reply to /list command.
@@ -594,7 +611,7 @@ WeeChat とプラグインの翻訳は gettext で行います、ファイルは
/*
* weechat.c - core functions for WeeChat
*
* Copyright (C) 2023 Your Name <your@email.com>
* Copyright (C) 2024 Your Name <your@email.com>
*
* This file is part of WeeChat, the extensible chat client.
*
+64 -20
View File
@@ -598,6 +598,33 @@ macOS のターミナル.app を使っている場合、設定メニューのキ
キーを使用」を有効化してください。こうすることで、kbd:[Option]
キーをメタキーとして使うことが可能です。
// TRANSLATION MISSING
[[enter_key]]
=== Some keys including Enter are not working, why?
If you run a WeeChat < 4.0.0 with configuration files created by any
version ≥ 4.0.0, the keys names become invalid and many keys won't work at all. +
To repair them, exit WeeChat, remove all sections `[key*]` from weechat.conf
and start WeeChat again: all default keys will be created.
// TRANSLATION MISSING
[[key_f11]]
=== Key F11 maximizes the terminal window, how can I scroll up the nicklist?
The key kbd:[F11] is commonly used by terminals to maximize the window, and
kbd:[F11]/kbd:[F12] are the default keys in WeeChat to scroll the nicklist.
You can bind other keys, for example kbd:[Shift+F11] and kbd:[Shift+F12],
with WeeChat ≥ 4.0.0:
----
/key bind shift-f11 /bar scroll nicklist * -100%
/key bind shift-f12 /bar scroll nicklist * +100%
----
Other solution is to enable mouse (key: kbd:[Alt+m]) and scroll with the mouse
wheel (see also questions about <<mouse,mouse>>).
[[customize_key_bindings]]
=== どうすればキー割り当てをカスタマイズできますか。
@@ -953,34 +980,22 @@ link:weechat_user.ja.html#max_hotlist_level_nicks[hotlist_max_level_nicks_add ^
buffer property to set the max hotlist level for some nicks, per buffer,
or per group of buffers (like IRC servers).
ハイライトを無効化するだけなら、このプロパティを 2 に設定してください:
ハイライトを無効化するだけなら、このプロパティを 2 に設定してください.
// TRANSLATION MISSING
For the current buffer:
----
/buffer set hotlist_max_level_nicks_add joe:2,mike:2
/buffer setauto hotlist_max_level_nicks_add joe:2,mike:2
----
このバッファプロパティは設定に保存されません。このバッファプロパティを自動的に適用するには、_buffer_autoset.py_
スクリプトが必要です:
// TRANSLATION MISSING
For all channels on server "libera":
----
/script install buffer_autoset.py
/set weechat.buffer.irc.libera.*.hotlist_max_level_nicks_add joe:2,mike:2
----
例えば、IRC サーバ libera のチャンネル #weechat に参加している "mike"
の発言に対してハイライトを永久的に無効化するには以下のように設定します:
----
/buffer_autoset add irc.libera.#weechat hotlist_max_level_nicks_add mike:2
----
この設定をすべての libera サーバのバッファに対して適用するには以下のように設定します:
----
/buffer_autoset add irc.libera hotlist_max_level_nicks_add mike:2
----
これ以外の例は `+/help buffer_autoset+` を参照してください。
[[irc_target_buffer]]
=== どうすればマージされたバッファ内であるコマンドを発行するターゲットバッファを変更できますか。
@@ -1186,6 +1201,35 @@ stored in _sec.conf_ with the `/secure` command).
設定ファイルに関する詳しい情報はlink:weechat_user.ja.html#files_and_directories[ユーザーズガイド / ファイルとディレクトリ ^↗^^]を参照してください。
// TRANSLATION MISSING
[[move_to_another_device]]
=== I want to move my WeeChat to another device and keep my config, what should I copy?
First check directories used by WeeChat with this command: `/debug dirs`. +
Directories home/config and home/data must be copied (all files and sub-directories).
For example if you're using XDG directories (default with WeeChat ≥ 3.2),
the directories should be `$HOME/.config/weechat` and `$HOME/.local/share/weechat`. +
If you're using a single directory (default with WeeChat < 3.2), the directory
should be `$HOME/.weechat`.
[IMPORTANT]
The WeeChat version on the new device must be greater than or equal to the version
on the initial device. +
Downgrading WeeChat configuration is *NOT SUPPORTED* and can break it,
leading to unusable WeeChat.
Steps:
. Quit Weechat: `/quit` (or `/upgrade -quit` if you want to resume the session,
which includes content of all buffers).
. Copy all directories, sub-directories and files to the new device, keeping
same names and permissions.
. Optional: copy any file outside these directories that you refer to in your
configuration (it's not recommended to use files outside WeeChat directories).
. Start WeeChat on the new device: `weechat` (or `weechat --upgrade` if you
saved the session).
[[development]]
== 開発
+580 -102
View File
@@ -2430,7 +2430,6 @@ _WeeChat バージョン 2.4 以上で利用可。_
base 16、32、64 で文字列をエンコード。
プロトタイプ:
[source,c]
@@ -2638,7 +2637,7 @@ str3 = weechat.string_input_for_buffer("//test") # "/test"
// TRANSLATION MISSING
_WeeChat ≥ 0.4.0, updated in 0.4.2, 0.4.3, 1.0, 1.1, 1.2, 1.3, 1.6, 1.8, 2.0,
2.2, 2.3, 2.7, 2.9, 3.1, 3.2, 3.3, 3.4, 3.6, 3.8, 4.0.0._
2.2, 2.3, 2.7, 2.9, 3.1, 3.2, 3.3, 3.4, 3.6, 3.8, 4.0.0, 4.2.0._
式を評価して文字列として返す。`+${variable}+`
という書式で書かれた特殊変数は展開されます (以下の表を参照)。
@@ -2981,12 +2980,24 @@ str5 = weechat.string_eval_expression("password=abc password=def", {}, {}, optio
// TRANSLATION MISSING
| 書式 | Min WeeChat | 説明 | 例
// TRANLSATION MISSING
| `+${raw_hl:xxx}+` | 4.2.0
| Raw string (not evaluated), with syntax highlighting (using colors).
| >> `+${raw_hl:${cut:1,,${rev:hello}}}+` +
== `+${cut:1,,${rev:hello}}+` (with colors)
// TRANSLATION MISSING
| `+${raw:xxx}+` | 3.1
| Raw string (not evaluated).
| >> `+${raw:${info:version}}+` +
== `+${info:version}+`
// TRANSLATION MISSING
| `+${hl:xxx}+` | 4.2.0
| String with syntax highlighting (using colors).
| >> `+${hl:${file.section.option}}+` +
== `+test ${variable}+` (with colors)
// TRANSLATION MISSING
| `+${name}+` | 3.4
| User variable (defined with `+${define:name,value}+`).
@@ -3580,6 +3591,51 @@ weechat_string_dyn_free (string, 1);
[NOTE]
スクリプト API ではこの関数を利用できません。
==== string_concat
_WeeChat ≥ 4.2.0._
// TRANSLATION MISSING
Concatenate multiple strings using a separator.
プロトタイプ:
[source,c]
----
const char *weechat_string_concat (const char *separator, ...);
----
引数:
// TRANSLATION MISSING
* _separator_: the separator string which is inserted between concatenated
strings (can be NULL or empty string)
// TRANSLATION MISSING
[NOTE]
Last argument *MUST* always be NULL. +
A macro called `WEECHAT_STR_CONCAT` can be used, where the final NULL value is
not needed (usage of this macro is recommended).
戻り値:
// TRANSLATION MISSING
* concatenated string
C 言語での使用例:
// TRANSLATION MISSING
[source,c]
----
const char *result = weechat_string_concat (" / ", "abc", "def", "ghi", NULL); /* result == "abc / def / ghi" */
/* with macro */
const char *result = WEECHAT_STR_CONCAT(" / ", "abc", "def", "ghi"); /* result == "abc / def / ghi" */
----
[NOTE]
スクリプト API ではこの関数を利用できません。
[[utf-8]]
=== UTF-8
@@ -4141,18 +4197,28 @@ 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.
| 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) |
| `+sha512-224+` | SHA-512/224 | 28 bytes (224 bits) | Algorithm available with libgcrypt ≥ 1.9.4.
| `+sha512-256+` | SHA-512/256 | 32 bytes (256 bits) | Algorithm available with libgcrypt ≥ 1.9.4.
| `+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.
| `+blake2b-160+` | BLAKE2B-160 | 20 bytes (160 bits) | Algorithm available with libgcrypt ≥ 1.8.0.
| `+blake2b-256+` | BLAKE2B-256 | 32 bytes (256 bits) | Algorithm available with libgcrypt ≥ 1.8.0.
| `+blake2b-384+` | BLAKE2B-384 | 48 bytes (384 bits) | Algorithm available with libgcrypt ≥ 1.8.0.
| `+blake2b-512+` | BLAKE2B-512 | 64 bytes (512 bits) | Algorithm available with libgcrypt ≥ 1.8.0.
| `+blake2s-128+` | BLAKE2S-128 | 16 bytes (128 bits) | Algorithm available with libgcrypt ≥ 1.8.0.
| `+blake2s-160+` | BLAKE2S-160 | 20 bytes (160 bits) | Algorithm available with libgcrypt ≥ 1.8.0.
| `+blake2s-224+` | BLAKE2S-224 | 28 bytes (224 bits) | Algorithm available with libgcrypt ≥ 1.8.0.
| `+blake2s-256+` | BLAKE2S-256 | 32 bytes (256 bits) | Algorithm available with libgcrypt ≥ 1.8.0.
|===
戻り値:
@@ -4592,7 +4658,8 @@ int weechat_file_compress (const char *from, const char *to,
* _to_: destination file
* _compressor_: the compressor to use, one of:
** _gzip_: gzip compression
** _zstd_: zstandard compression
** _zstd_: zstandard compression (available only if zstd was enabled when
WeeChat was compiled)
* _compression_level_: compression level, between 1 (fast, low compression) to
100 (slow, best compression)
@@ -4753,6 +4820,83 @@ weechat_printf (NULL, "date: %s",
[NOTE]
スクリプト API ではこの関数を利用できません。
// TRANSLATION MISSING
==== util_strftimeval
_WeeChat ≥ 4.2.0._
Format date and time like function `strftime` in C library, using `struct timeval`
as input, and supporting extra specifiers for microseconds.
Prototype:
[source,c]
----
int weechat_util_strftimeval (char *string, int max, const char *format, struct timeval *tv);
----
Arguments:
* _string_: buffer where the formatted string is stored
* _max_: string size
* _format_: format, the same as _strftime_ function, with these extra specifiers:
** `%.N` where `N` is between 1 and 6: zero-padded microseconds on N digits
(for example `%.3` for milliseconds)
** `%f`: alias of `%.6`
Return value:
* number of bytes put in _string_ (value returned from _strftime_ function)
C example:
[source,c]
----
char time[256];
struct timeval tv;
gettimeofday (&tv, NULL);
weechat_util_strftimeval (time, sizeof (time), "%FT%T.%f", &tv);
/* result: 2023-12-26T18:10:04.460509 */
----
[NOTE]
スクリプト API ではこの関数を利用できません。
// TRANSLATION MISSING
==== util_parse_time
_WeeChat ≥ 4.2.0._
Parse date/time with support of microseconds.
Prototype:
[source,c]
----
int util_parse_time (const char *datetime, struct timeval *tv);
----
Arguments:
* _date_: date/time
* _tv_: parsed date/time ("timeval" structure)
Return value:
* 1 if OK, 0 if error
C example:
[source,c]
----
struct timeval tv;
weechat_util_parse_time ("2023-12-25T10:29:09.456789Z", &tv); /* == 1 */
/* result: tv.tv_sec == 1703500149, tv.tv_usec = 456789 */
----
[NOTE]
スクリプト API ではこの関数を利用できません。
==== util_version_number
_WeeChat バージョン 0.3.9 以上で利用可。_
@@ -6784,9 +6928,10 @@ my_section_read_cb (const void *pointer, void *data,
{
/* ... */
return WEECHAT_CONFIG_READ_OK;
/* return WEECHAT_CONFIG_READ_MEMORY_ERROR; */
/* return WEECHAT_CONFIG_READ_FILE_NOT_FOUND; */
return WEECHAT_CONFIG_OPTION_SET_OK_CHANGED;
/* return WEECHAT_CONFIG_OPTION_SET_OK_SAME_VALUE; */
/* return WEECHAT_CONFIG_OPTION_SET_ERROR; */
/* return WEECHAT_CONFIG_OPTION_SET_OPTION_NOT_FOUND; */
}
int
@@ -6876,7 +7021,7 @@ def config_new_section(config_file: str, name: str,
callback_delete_option: str, callback_delete_option_data: str) -> str: ...
# 例
def my_section_read_cb(data: str, config_file: str, section: str, option_name: str, value: str | None) -> int:
def my_section_read_cb(data: str, config_file: str, section: str, option_name: str, value: Union[str, None]) -> int:
# ...
return weechat.WEECHAT_CONFIG_OPTION_SET_OK_CHANGED
# return weechat.WEECHAT_CONFIG_OPTION_SET_OK_SAME_VALUE
@@ -6895,7 +7040,7 @@ def my_section_write_default_cb(data: str, config_file: str, section_name: str)
# return weechat.WEECHAT_CONFIG_WRITE_ERROR
# return weechat.WEECHAT_CONFIG_WRITE_MEMORY_ERROR
def my_section_create_option_cb(data: str, config_file: str, section: str, option_name: str, value: str | None) -> int:
def my_section_create_option_cb(data: str, config_file: str, section: str, option_name: str, value: Union[str, None]) -> int:
# ...
return weechat.WEECHAT_CONFIG_OPTION_SET_OK_CHANGED
# return weechat.WEECHAT_CONFIG_OPTION_SET_OK_SAME_VALUE
@@ -7140,7 +7285,7 @@ struct t_config_option *option_enum =
# プロトタイプ
def config_new_option(config_file: str, section: str, name: str, type: str, description: str,
string_values: str, min: int, max: int,
default_value: str | None, value: str | None, null_value_allowed: int,
default_value: Union[str, None], value: Union[str, None], null_value_allowed: int,
callback_check_value: str, callback_check_value_data: str,
callback_change: str, callback_change_data: str,
callback_delete: str, callback_delete_data: str) -> str: ...
@@ -7200,7 +7345,6 @@ Ruby では、3 組のコールバックとデータ (6 つの文字列変数)
link:++weechat_scripting.ja.html#_ruby++[WeeChat スクリプト作成ガイド ^↗^^]を参照してください
_(WeeChat バージョン 0.4.1 で修正済み)_。
==== config_search_option
設定ファイルのセクションからオプションを検索。
@@ -9308,13 +9452,13 @@ weechat.prnt("", "Color: %sblue %sdefault color %syellow on red"
void weechat_printf (struct t_gui_buffer *buffer, const char *message, ...);
----
この関数は printf_date_tags
この関数は printf_datetime_tags
関数の別名です。以下に示す通り、どちらの関数も同じ結果を返します:
[source,c]
----
weechat_printf (buffer, "message");
weechat_printf_date_tags (buffer, 0, NULL, "message");
weechat_printf_datetime_tags (buffer, 0, 0, NULL, "message");
----
引数:
@@ -9376,6 +9520,15 @@ void weechat_printf_date_tags (struct t_gui_buffer *buffer, time_t date,
const char *tags, const char *message, ...);
----
この関数は printf_datetime_tags
関数の別名です。以下に示す通り、どちらの関数も同じ結果を返します:
[source,c]
----
weechat_printf_date_tags (buffer, 0, NULL, "message");
weechat_printf_datetime_tags (buffer, 0, 0, NULL, "message");
----
引数:
* _buffer_: バッファへのポインタ、NULL の場合、メッセージは WeeChat バッファに表示
@@ -9410,6 +9563,64 @@ weechat.prnt_date_tags("", time - 120, "notify_message",
[NOTE]
この関数をスクリプトの中で実行するには "print_date_tags" (Python の場合は "prnt_date_tags") と書きます。
==== printf_datetime_tags
_WeeChat ≥ 4.2.0._
// TRANSLATION MISSING
Display a message on a buffer, using a custom date/time (with microseconds)
and tags.
プロトタイプ:
[source,c]
----
void weechat_printf_datetime_tags (struct t_gui_buffer *buffer, time_t date,
int date_usec, const char *tags, const char *message, ...);
----
引数:
* _buffer_: バッファへのポインタ、NULL の場合、メッセージは WeeChat バッファに表示
* _date_: メッセージの日付 (0 は現在の日付/時間を意味する)
// TRANSLATION MISSING
* _date_usec_: microseconds of date (between 0 and 999999)
* _tags_: タグのコンマ区切りリスト (タグを指定しない場合は NULL)
* _message_: 表示するメッセージ
WeeChat で共通に使われるタグのリストは
link:weechat_user.ja.html#lines_tags[WeeChat ユーザーズガイド / 行のタグ ^↗^^]を参照してください
C 言語での使用例:
[source,c]
----
struct timeval tv_now;
gettimeofday (&tv_now, NULL);
weechat_printf_datetime_tags (NULL, tv_now.tv_sec - 120, tv_now.tv_usec,
"notify_message",
"Message 2 minutes ago, with a tag 'notify_message'");
----
スクリプト (Python) での使用例:
[source,python]
----
# プロトタイプ
def prnt_datetime_tags(buffer: str, date: int, date_usec: int, tags: str, message: str) -> int: ...
# 例
now = time.time()
time_sec = int(now)
time_usec = int((now * 1000000) % 1000000)
weechat.prnt_datetime_tags("", time_sec - 120, time_usec, "notify_message",
"Message 2 minutes ago, with a tag 'notify_message'")
----
[NOTE]
この関数をスクリプトの中で実行するには "print_datetime_tags" (Python の場合は "prnt_datetime_tags") と書きます。
==== printf_y
自由内容のバッファのある行にメッセージを表示
@@ -9418,8 +9629,17 @@ weechat.prnt_date_tags("", time - 120, "notify_message",
[source,c]
----
void weechat_printf_y (struct t_gui_buffer *buffer, int y,
const char *message, ...);
void weechat_printf_y (struct t_gui_buffer *buffer, int y, const char *message, ...);
----
// TRANSLATION MISSING
This function is a shortcut for function printf_y_datetime_tags. +
These two calls give exactly same result:
[source,c]
----
weechat_printf_y (buffer, 0, "message");
weechat_printf_y_datetime_tags (buffer, 0, 0, 0, NULL, "message");
----
引数:
@@ -9468,6 +9688,16 @@ void weechat_printf_y_date_tags (struct t_gui_buffer *buffer, int y, time_t date
const char *tags, const char *message, ...);
----
// TRANSLATION MISSING
This function is a shortcut for function printf_y_datetime_tags. +
These two calls give exactly same result:
[source,c]
----
weechat_printf_y_date_tags (buffer, 0, 0, NULL, "message");
weechat_printf_y_datetime_tags (buffer, 0, 0, 0, NULL, "message");
----
引数:
* _buffer_: バッファへのポインタ
@@ -9499,6 +9729,55 @@ weechat.prnt_y_date_tags("", 2, 0, "my_tag", "My message on third line with a ta
[NOTE]
この関数をスクリプトの中で実行するには "print_y_date_tags" (Python の場合は "prnt_y_date_tags") と書きます。
==== printf_y_datetime_tags
_WeeChat ≥ 4.2.0._
// TRANSLATION MISSING
Display a message on a line of a buffer with free content, using a custom
date/time (with microseconds) and tags.
プロトタイプ:
[source,c]
----
void weechat_printf_y_datetime_tags (struct t_gui_buffer *buffer, int y, time_t date,
int date_usec, const char *tags, const char *message, ...);
----
引数:
* _buffer_: バッファへのポインタ
* _y_: 行番号 (1 行目は 0); 負数の場合は表示された最後の行の後に行を追加する:
_y_ の絶対値で最後の行の後に追加する行数を指定 (例えば
-1 は最後の行のすぐ後、-2 は 最後の行の 2 行後)
* _date_: メッセージの日付 (0 は現在の日付/時間を意味する)
// TRANSLATION MISSING
* _date_usec_: microseconds of date (between 0 and 999999)
* _tags_: タグのコンマ区切りリスト (タグを指定しない場合は NULL)
* _message_: 表示するメッセージ
C 言語での使用例:
[source,c]
----
weechat_printf_y_datetime_tags (buffer, 2, 0, 0, "my_tag", "My message on third line with a tag");
----
スクリプト (Python) での使用例:
[source,python]
----
# プロトタイプ
def prnt_y_datetime_tags(buffer: str, y: int, date: int, date_usec: int, tags: str, message: str) -> int: ...
# 例
weechat.prnt_y_datetime_tags("", 2, 0, 0, "my_tag", "My message on third line with a tag")
----
[NOTE]
この関数をスクリプトの中で実行するには "print_y_datetime_tags" (Python の場合は "prnt_y_datetime_tags") と書きます。
==== log_printf
WeeChat ログファイル (weechat.log) にメッセージを書き込む。
@@ -10123,7 +10402,6 @@ struct t_hook *weechat_hook_process (const char *command,
void *callback_data);
----
引数:
* _command_: 子プロセスで実行するコマンド、URL _(WeeChat バージョン 0.3.7 以上で利用可)_
@@ -10379,22 +10657,8 @@ struct t_hook *weechat_hook_process_hashtable (const char *command,
_/dev/null_ にリダイレクトする
|===
"url:..." 型のコマンドでは、以下のコマンドを使うことができます
(それぞれのオプションについては `+man curl_easy_setopt+` を参照):
include::{autogendir}/autogen_api_url_options.ja.adoc[tag=url_options]
[NOTE]
^(1)^ "mask" タイプのオプションでは、フォーマットは "value1+value2+value3" です。
"list" タイプのオプションでは、リスト要素を改行で区切ってください。
(`\n`). +
^(2)^ 定数が利用可能な場合、定数は必ずオプションの値に含めてください。
URL では、入力/出力ファイル用に 2 つのオプション (文字列) を使うことができます:
* _file_in_: 読み込んで URL に送信するファイル (ファイルを送信)
* _file_out_: ダウンロードした URL/ファイルをこのファイルに書き込む
(標準出力を使わない)
// TRANSLATION MISSING
For command "url:...", see available options in function <<_hook_url,hook_url>>.
戻り値:
@@ -10554,6 +10818,157 @@ hook4 = weechat.hook_process_hashtable("sh",
20000, "my_process_cb", "")
----
// TRANSLATION MISSING
==== hook_url
_WeeChat ≥ 4.1.0._
URL transfer.
プロトタイプ:
[source,c]
----
struct t_hook *weechat_hook_url (const char *url,
struct t_hashtable *options,
int timeout,
int (*callback)(const void *pointer,
void *data,
const char *url,
struct t_hashtable *options,
struct t_hashtable *output),
const void *callback_pointer,
void *callback_data);
----
引数:
* _url_: URL
* _options_: options for URL transfer (see below);
ハッシュテーブルは関数の中で複製されるため、この関数を呼び出した後にハッシュテーブルを安全に開放できます。
* _timeout_: timeout for URL transfer (in milliseconds): after this timeout,
the transfer is stopped (0 means no timeout)
* _callback_: function called when the transfer has ended, arguments and return
value:
** _const void *pointer_: pointer
** _void *data_: pointer
** _const char *url_: URL
** _struct t_hashtable *options_: options
** _struct t_hashtable *output_: result (keys and values are strings), which may
contain the following keys:
*** _response_code_: HTTP response code
*** _headers_: HTTP headers in response
*** _output_: standard output (set only if _file_out_ was not set in options)
*** _error_: error message (set only in case of error)
** return value:
*** _WEECHAT_RC_OK_
*** _WEECHAT_RC_ERROR_
* _callback_pointer_: WeeChat が _callback_ コールバックを呼び出す際にコールバックに渡すポインタ
* _callback_data_: WeeChat が _callback_ コールバックを呼び出す際にコールバックに渡すポインタ;
このポインタが NULL でない場合、このポインタは malloc (または類似の関数)
によって割り当てられたものでなければいけません。さらに、このポインタはここで作成したフックが削除された時点で自動的に開放されます
The following Curl options are available (see `+man curl_easy_setopt+` for
a description of each option):
include::{autogendir}/autogen_api_url_options.ja.adoc[tag=url_options]
[NOTE]
^(1)^ "mask" タイプのオプションでは、フォーマットは "value1+value2+value3" です。
"list" タイプのオプションでは、リスト要素を改行で区切ってください。
(`\n`). +
^(2)^ 定数が利用可能な場合、定数は必ずオプションの値に含めてください。
These two extra options (strings) are allowed for input/output file:
[width="100%",cols="2,^1,7",options="header"]
|===
| Option | Type | Description
| file_in | string | 読み込んで URL に送信するファイル (ファイルを送信)
| file_out | string | ダウンロードした URL/ファイルをこのファイルに書き込む (標準出力を使わない)
|===
戻り値:
* 新しいフックへのポインタ、エラーが起きた場合は NULL
C 言語での使用例:
[source,c]
----
int
my_url_cb (const void *pointer, void *data, const char *url,
struct t_hashtable *options, struct t_hashtable *output)
{
weechat_printf (NULL, "response_code: %s", weechat_hashtable_get (output, "response_code"));
weechat_printf (NULL, "headers: %s", weechat_hashtable_get (output, "headers"));
weechat_printf (NULL, "output: %s", weechat_hashtable_get (output, "output"));
weechat_printf (NULL, "error: %s", weechat_hashtable_get (output, "error"));
return WEECHAT_RC_OK;
}
/* example 1: output to a file */
struct t_hashtable *options_url1 = weechat_hashtable_new (8,
WEECHAT_HASHTABLE_STRING,
WEECHAT_HASHTABLE_STRING,
NULL,
NULL);
if (options_url1)
{
weechat_hashtable_set (options_url1, "file_out", "/tmp/weechat.org.html");
struct t_hook *my_url_hook = weechat_hook_url ("https://weechat.org/",
options_url1,
20000,
&my_url_cb, NULL, NULL);
weechat_hashtable_free (options_url1);
}
/* example 2: custom HTTP headers, output sent to callback */
struct t_hashtable *options_url2 = weechat_hashtable_new (8,
WEECHAT_HASHTABLE_STRING,
WEECHAT_HASHTABLE_STRING,
NULL,
NULL);
if (options_url2)
{
weechat_hashtable_set (options_url2, "httpheader",
"Header1: value1\n"
"Header2: value2");
struct t_hook *my_url_hook = weechat_hook_url ("http://localhost:8080/",
options_url2,
20000,
&my_url_cb, NULL, NULL);
weechat_hashtable_free (options_url2);
}
----
スクリプト (Python) での使用例:
[source,python]
----
# プロトタイプ
def hook_url(url: str, options: Dict[str, str], timeout: int, callback: str, callback_data: str) -> str: ...
# 例
def my_url_cb(data: str, url: str, options: Dict[str, str], output: Dict[str, str]) -> int:
weechat.prnt("", "output: %s" % output)
return weechat.WEECHAT_RC_OK
# example 1: output to a file
hook1 = weechat.hook_url("https://weechat.org/",
{"file_out": "/tmp/weechat.org.html"},
20000, "my_url_cb", "")
# example 2: custom HTTP headers, output sent to callback
options = {
"httpheader": "\n".join([
"Header1: value1",
"Header2: value2",
]),
}
hook2 = weechat.hook_url("http://localhost:8080/", options, 20000, "my_url_cb", "")
----
==== hook_connect
_WeeChat バージョン 1.5 と 2.0 で更新。_
@@ -10741,7 +11156,7 @@ hook = weechat.hook_connect("", "my.server.org", 1234, 1, 0, "",
==== hook_line
// TRANSLATION MISSING
_WeeChat ≥ 2.3, updated in 3.7, 4.1.0._
_WeeChat ≥ 2.3, updated in 4.2.0._
バッファに対する行表示をフックする。
@@ -10811,16 +11226,14 @@ struct t_hook *weechat_hook_line (const char *buffer_type,
|===
| キー | 値 (フォーマット済みバッファ) | 値 (自由内容バッファ) | 例
// TRANSLATION MISSING
| buffer
| Comma-separated list of buffer pointers.
| Comma-separated list of buffer pointers.
| バッファポインタ
| バッファポインタ
| `+0x1234abcd+`
// TRANSLATION MISSING
| buffer_name
| Comma-separated list of buffer names.
| Comma-separated list of buffer names.
| バッファ名
| バッファ名
| `+core.weechat+` +
`+irc.server.libera+` +
`+irc.libera.#weechat+`
@@ -10842,11 +11255,23 @@ struct t_hook *weechat_hook_line (const char *buffer_type,
| 利用不可 ("0")
| `+1533792000+`
// TRANSLATION MISSING
| date_usec
| Microseconds of line date (between 0 and 999999).
| N/A ("0").
| `+123456+`
| date_printed
| 行が表示された日付 (タイムスタンプ)
| 利用不可 ("0")
| `+1533792012+`
// TRANSLATION MISSING
| date_usec_printed
| Microseconds of date when line was displayed (between 0 and 999999).
| N/A ("0").
| `+654321+`
| str_time
| 行に追加される日付 (色コードを入れてもよい)
| 利用不可 (空文字列)
@@ -10908,23 +11333,17 @@ WeeChat はそれらを無視します。
|===
| キー | 設定可能な値 (フォーマット済みバッファ) | 設定可能な値 (自由内容バッファ) | 結果
// TRANSLATION MISSING
| buffer
| Comma-separated list buffer pointers (with formatted content)
(multiple buffers are supported only with WeeChat ≥ 4.1.0).
| Comma-separated list buffer pointers (with free content)
(multiple buffers are supported only with WeeChat ≥ 4.1.0).
| The line is displayed on these buffers. +
| フォーマット済みバッファへのポインタ
| 自由内容バッファへのポインタ
| 行を表示するバッファ。 +
この値が空の場合、行は削除されます (ハッシュテーブルに含まれるその他の情報も無視されます);
"line" 型の次のフックも呼び出されません。
// TRANSLATION MISSING
| buffer_name
| Comma-separated list buffer names (with formatted content)
(multiple buffers are supported only with WeeChat ≥ 4.1.0).
| Comma-separated list buffer names (with free content)
(multiple buffers are supported only with WeeChat ≥ 4.1.0).
| The line is displayed on these buffers. +
| フォーマット済み内容バッファの名前.
| 自由内容バッファの名前
| 行を表示するバッファ。 +
`buffer` と `+buffer_name+` の両方が設定された場合、`+buffer_name+` の値が優先されます +
この値が空の場合、行は削除されます (ハッシュテーブルに含まれるその他の情報も無視されます);
"line" 型の次のフックも呼び出されません。
@@ -10940,11 +11359,24 @@ WeeChat はそれらを無視します。
| 日付はこの値に設定されます +
これに対応して `+str_time+` も更新されます
// TRANSLATION MISSING
| date_usec
| Integer ("0" to "999999").
| 利用不可
| The microseconds of line date is set to this value. +
これに対応して `+str_time+` も更新されます
| date_printed
| タイムスタンプ
| 利用不可
| 表示される日付はこのタイムスタンプを使います。The printed date is set to this timestamp (not displayed).
// TRANSLATION MISSING
| date_usec_printed
| Integer ("0" to "999999").
| 利用不可
| The microseconds of printed date is set to this value.
| str_time
| 文字列
| 利用不可
@@ -11025,7 +11457,7 @@ hook = weechat.hook_line("", "", "irc_join", "my_line_cb", "")
==== hook_print
_WeeChat バージョン 0.4.3、1.0、1.5 で更新。_
_WeeChat バージョン 0.4.3、1.0、1.5、4.2.0 で更新。_
メッセージの表示をフックする。これは行がフォーマット済みバッファに追加された時点で呼び出されます。
@@ -11044,6 +11476,7 @@ struct t_hook *weechat_hook_print (struct t_gui_buffer *buffer,
void *data,
struct t_gui_buffer *buffer,
time_t date,
int date_usec,
int tags_count,
const char **tags,
int displayed,
@@ -11073,6 +11506,8 @@ struct t_hook *weechat_hook_print (struct t_gui_buffer *buffer,
** _void *data_: ポインタ
** _struct t_gui_buffer *buffer_: バッファへのポインタ
** _time_t date_: 日付
// TRANSLATION MISSING
** _int date_usec_: microseconds of date
** _int tags_count_: 行に付けられたタグの個数
** _const char **tags_: 行に付けられたタグの配列
** _int displayed_: 行が表示される場合は 1、フィルタされる (隠される) 場合は 0
@@ -11103,7 +11538,7 @@ C 言語での使用例:
----
int
my_print_cb (const void *pointer, void *data, struct t_gui_buffer *buffer,
time_t date, int tags_count, const char **tags,
time_t date, int date_usec, int tags_count, const char **tags,
int displayed, int highlight,
const char *prefix, const char *message)
{
@@ -13265,9 +13700,17 @@ info を使う前にエリアが一致していることを確認して下さい
| _chat_line_date | 日付/時間の行
| "1313237175" | "0"
// TRANSLATION MISSING
| _chat_line_date_usec | Microseconds of line date/time.
| "123456" | "0"
| _chat_line_date_printed | 日付/時間の行 ^(4)^
| "1313237175" | "0"
// TRANSLATION MISSING
| _chat_line_date_usec_printed | Microseconds of line printed date/time ^(4)^.
| "123456" | "0"
| _chat_line_time | 表示された時間
| "14:06:15" | ""
@@ -14064,6 +14507,8 @@ int weechat_buffer_get_integer (struct t_gui_buffer *buffer,
* _buffer_: バッファへのポインタ
* _property_: プロパティ名:
// TRANSLATION MISSING
** _opening_: 1 if buffer is opening, otherwise 0 _(WeeChat ≥ 4.2.0)_
** _number_: バッファの番号 (1 以上)
** _layout_number_: レイアウトに保存されたバッファの番号
** _layout_number_merge_order_: レイアウトのマージをする際の順番
@@ -14071,39 +14516,38 @@ int weechat_buffer_get_integer (struct t_gui_buffer *buffer,
** _type_: バッファタイプ (0: 書式あり、1: 自由内容)
** _notify_: バッファの通知レベル
** _num_displayed_: バッファを表示しているウィンドウの数
** _active_: バッファがマージされて選択されている場合は 2、バッファが選択されている場合は
1、バッファがマージされ選択されていない場合は 0
** _hidden_: バッファがされている場合は 1、そうでない場合は 0
_(WeeChat バージョン 1.0 以上で利用可)_
** _zoomed_: バッファがマージとズームされている場合は 1、そうでない場合は 0
_(WeeChat バージョン 1.0 以上で利用可)_
** _active_: バッファがマージされて選択されている場合は 2、バッファが選択されている場合は 1、バッファがマージされ選択されていない場合は 0
** _hidden_: バッファが隠されている場合は 1、そうでない場合は 0 _(WeeChat バージョン 1.0 以上で利用可)_
** _zoomed_: バッファがマージとズームされている場合は 1、そうでない場合は 0 _(WeeChat バージョン 1.0 以上で利用可)_
** _print_hooks_enabled_: プリントフックが有効化されている場合は 1、そうでない場合は 0
** _day_change_: 日付変更メッセージを表示する場合は 1、そうでない場合は 0
_(WeeChat バージョン 0.4.3 以上で利用可)_
** _clear_: コマンド `/buffer clear` でバッファをクリアできる場合は 1、そうでない場合は 0
_(WeeChat バージョン 1.0 以上で利用可)_
** _filter_: バッファでフィルタが有効な場合は 1、そうでない場合は 0
_(WeeChat バージョン 1.0 以上で利用可)_
** _lines_hidden_: バッファに非表示 (フィルタされた) メッセージが 1
行以上含まれる場合は 1、すべてのメッセージが表示冴えている場合は 0
** _day_change_: 日付変更メッセージを表示する場合は 1、そうでない場合は 0 _(WeeChat バージョン 0.4.3 以上で利用可)_
** _clear_: コマンド `/buffer clear` でバッファをクリアできる場合は 1、そうでない場合は 0 _(WeeChat バージョン 1.0 以上で利用可)_
** _filter_: バッファでフィルタが有効な場合は 1、そうでない場合は 0 _(WeeChat バージョン 1.0 以上で利用可)_
// TRANSLATION MISSING
** _closing_: 1 if buffer is closing, otherwise 0 _(WeeChat ≥ 1.0)_
** _lines_hidden_: バッファに非表示 (フィルタされた) メッセージが 1 行以上含まれる場合は 1、すべてのメッセージが表示冴えている場合は 0
** _prefix_max_length_: バッファプレフィックスの最大長
** _time_for_each_line_: バッファの各行に時間を表示する場合は
1 (デフォルト)、そうでない場合は 0
// TRANSLATION MISSING
** _next_line_id_: next line id in buffer _(WeeChat ≥ 3.8)_
** _time_for_each_line_: バッファの各行に時間を表示する場合は 1 (デフォルト)、そうでない場合は 0
** _nicklist_: ニックネームリストが有効化されている場合は 1、そうでない場合は 0
** _nicklist_case_sensitive_: ニックネームの大文字小文字を区別する場合は 1、そうでない場合は 0
** _nicklist_max_length_: ニックネームの最大長
** _nicklist_display_groups_: グループを表示する場合 1、そうでない場合は 0
** _nicklist_count_: ニックネームリストに含まれるニックネームとグループの数
// TRANSLATION MISSING
** _nicklist_visible_count_: number of nicks/groups displayed
** _nicklist_groups_count_: ニックネームリストに含まれるグループの数
// TRANSLATION MISSING
** _nicklist_groups_visible_count_: number of groups displayed
** _nicklist_nicks_count_: ニックネームリストに含まれるニックネームの数
** _nicklist_visible_count_: 表示されているニックネームとグループの数
// TRANSLATION MISSING
** _nicklist_nicks_visible_count_: number of nicks displayed
** _input_: 入力可能な場合は 1、そうでない場合は 0
** _input_get_unknown_commands_: 未定義のコマンドを入力コールバックに送信する場合は
1、そうでない場合は 0
** _input_get_unknown_commands_: 未定義のコマンドを入力コールバックに送信する場合は 1、そうでない場合は 0
** _input_get_empty_: 入力コールバックに何も送信されなかった場合は 1、そうでない場合は 0
// TRANSLATION MISSING
** _input_multiline_: 1 if multiple lines are sent as one message to input
callback, otherwise 0
** _input_multiline_: 1 if multiple lines are sent as one message to input callback, otherwise 0
** _input_size_: 入力サイズ (バイト単位)
** _input_length_: 入力長 (文字数)
** _input_pos_: バッファ入力におけるカーソル位置
@@ -14111,9 +14555,33 @@ int weechat_buffer_get_integer (struct t_gui_buffer *buffer,
** _num_history_: コマンド履歴の数
** _text_search_: テキスト検索タイプ:
*** 0: 現在検索していない
*** 1: 後方検索 (検索方向: 最古のメッセージに向かって検索)
*** 2: 前方検索 (検索方向: 最新のメッセージに向かって検索)
// TRANSLATION MISSING
*** 1: search in buffer lines
// TRANSLATION MISSING
*** 2: search in commands history
// TRANSLATION MISSING
** _text_search_direction_: direction for search:
// TRANSLATION MISSING
*** 0: backward search (direction: oldest messages/commands)
// TRANSLATION MISSING
*** 1: forward search (direction: newest messages/commands)
** _text_search_exact_: テキスト検索で大文字小文字を区別する場合は 1
// TRANSLATION MISSING
** _text_search_regex_: 1 if searching with a regular expression
** _text_search_where_:
*** 0: 現在検索していない
// TRANSLATION MISSING
*** 1: search in message
// TRANSLATION MISSING
*** 2: search in prefix
// TRANSLATION MISSING
*** 3: search in prefix and message
** _text_search_history_:
*** 0: 現在検索していない
// TRANSLATION MISSING
*** 1: search in buffer local history
// TRANSLATION MISSING
*** 2: search in global history
** _text_search_found_: テキストが見つかった場合は 1、そうでない場合は 0
戻り値:
@@ -14155,13 +14623,14 @@ const char *weechat_buffer_get_string (struct t_gui_buffer *buffer,
* _buffer_: バッファへのポインタ
* _property_: プロパティ名:
** _plugin_: バッファを作成したプラグインの名前
("core" は WeeChat メインバッファ)
** _plugin_: バッファを作成したプラグインの名前 ("core" は WeeChat メインバッファ)
** _name_: バッファの名前
** _full_name_: バッファの完全な名前 ("plugin.name") _(WeeChat バージョン 0.3.7 以上で利用可)_
** _short_name_: バッファの短縮名 (注意:
表示目的以外に使用するのは禁止、ユーザは書き換えることが可能、バッファを検索する際にこれを使ってはいけない、_name_、_full_name_、またはローカル変数
_channel_ を使うこと)
// TRANSLATION MISSING
** _old_full_name_: old full name of buffer ("plugin.name"), set before the buffer is renamed _(WeeChat ≥ 2.8)_
** _short_name_: バッファの短縮名 (注意: 表示目的以外に使用するのは禁止、ユーザは書き換えることが可能、バッファを検索する際にこれを使ってはいけない、_name_、_full_name_、またはローカル変数 _channel_ を使うこと)
// TRANSLATION MISSING
** _type_: type of buffer: "formatted" or "free" _(WeeChat ≥ 4.2.0)_
** _title_: バッファのタイトル
** _input_: 入力テキスト
** _text_search_input_: テキスト検索前に保存した入力テキスト
@@ -14172,8 +14641,7 @@ const char *weechat_buffer_get_string (struct t_gui_buffer *buffer,
** _highlight_tags_restrict_: これらのタグを付けられたメッセージだけにハイライトを制限する
** _highlight_tags_: これらのタグを付けられたメッセージを強制的にハイライトする
** _hotlist_max_level_nicks_: 一部のニックネームに対するホットリストレベルの最大値
** _localvar_xxx_: ローカル変数 "xxx" の値
("xxx" は読み出す変数の名前)
** _localvar_xxx_: ローカル変数 "xxx" の値 ("xxx" は読み出す変数の名前)
戻り値:
@@ -14217,8 +14685,11 @@ void *weechat_buffer_pointer (struct t_gui_buffer *buffer,
* _buffer_: バッファへのポインタ
* _property_: プロパティ名:
** _plugin_: このバッファを作ったプラグインへのポインタ
(WeeChat メインバッファの場合は NULL)
** _plugin_: このバッファを作ったプラグインへのポインタ (WeeChat メインバッファの場合は NULL)
// TRANSLATION MISSING
** _text_search_regex_compiled_: compiled regular expression
// TRANSLATION MISSING
** _text_search_ptr_history_: history found
** _highlight_disable_regex_compiled_: コンパイル済みの正規表現 _highlight_disable_regex_
** _highlight_regex_compiled_: コンパイル済みの正規表現 _highlight_regex_
@@ -16738,7 +17209,6 @@ if (hashtable_in)
"irc_message_parse" の出力に関するより詳しい情報は
link:weechat_scripting.ja.html#irc_message_parse[WeeChat スクリプト作成ガイド / メッセージの構文解析 ^↗^^]を参照してください。
スクリプト (Python) での使用例:
[source,python]
@@ -18786,7 +19256,8 @@ for key in hash:
==== hdata_compare
_WeeChat バージョン 1.9 以上で利用可。_
// TRANSLATION MISSING
_WeeChat ≥ 1.9, updated in 4.1.0._
2 つのオブジェクトの hdata 変数を比較。
@@ -18802,8 +19273,9 @@ int weechat_hdata_compare (struct t_hdata *hdata, void *pointer1, void *pointer2
* _hdata_: hdata へのポインタ
* _pointer1_: 1 番目の WeeChat およびプラグインオブジェクトへのポインタ
* _pointer2_: 2 番目の WeeChat およびプラグインオブジェクトへのポインタ
* _name_: 変数名; 配列の場合、変数名を "N|name" のように指定できます。ここで
N は配列のインデックス番号です (番号は 0 から始まります)。例: "2|name"
// TRANSLATION MISSING
* _name_: variable name or path to a variable name; 配列の場合、変数名を "N|name"
のように指定できます。ここで N は配列のインデックス番号です (番号は 0 から始まります)。例: "2|name"
* _case_sensitive_: 大文字小文字を区別する場合 1、それ以外の場合 0
戻り値:
@@ -18819,8 +19291,12 @@ C 言語での使用例:
struct t_hdata *hdata = weechat_hdata_get ("buffer");
struct t_gui_buffer *buffer1 = weechat_buffer_search ("irc", "libera.#weechat");
struct t_gui_buffer *buffer2 = weechat_buffer_search ("irc", "libera.#weechat-fr");
weechat_printf (NULL, "number comparison = %d",
weechat_printf (NULL, "comparison of buffer number = %d",
weechat_hdata_compare (hdata, buffer1, buffer2, "number", 0));
weechat_printf (NULL, "comparison of number of lines = %d",
weechat_hdata_compare (hdata, buffer1, buffer2, "own_lines.lines_count", 0));
weechat_printf (NULL, "comparison of local variable = %d",
weechat_hdata_compare (hdata, buffer1, buffer2, "local_variables.myvar", 0));
----
スクリプト (Python) での使用例:
@@ -18834,7 +19310,9 @@ def hdata_compare(hdata: str, pointer1: str, pointer2: str, name: str, case_sens
hdata = weechat.hdata_get("buffer")
buffer1 = weechat.buffer_search("irc", "libera.#weechat")
buffer2 = weechat.buffer_search("irc", "libera.#weechat-fr")
weechat.prnt("", "number comparison = %d" % weechat.hdata_compare(hdata, buffer1, buffer2, "number", 0))
weechat.prnt("", "comparison of buffer number = %d" % weechat.hdata_compare(hdata, buffer1, buffer2, "number", 0))
weechat.prnt("", "comparison of number of lines = %d" % weechat.hdata_compare(hdata, buffer1, buffer2, "own_lines.lines_count", 0))
weechat.prnt("", "comparison of local variable = %d" % weechat.hdata_compare(hdata, buffer1, buffer2, "local_variables.myvar", 0))
----
==== hdata_set
+27 -10
View File
@@ -507,7 +507,9 @@ hda:
'buffer': 'ptr',
'y': 'int',
'date': 'tim',
'date_usec': 'int',
'date_printed': 'tim',
'date_usec_printed', 'int',
'str_time': 'str',
'tags_count': 'int',
'tags_array': 'arr',
@@ -525,7 +527,9 @@ hda:
buffer: '0x558d61ea3e60'
y: -1
date: 1588404926
date_usec: 118712
date_printed: 1588404926
date_usec_printed: 118712
str_time: 'F@0025209F@0024535F@0024026'
tags_count: 0
tags_array: []
@@ -541,7 +545,9 @@ hda:
buffer: '0x558d61ea3e60'
y: -1
date: 1588404930
date_usec: 25
date_printed: 1588404930
date_usec_printed: 25
str_time: 'F@0025209F@0024535F@0024030'
tags_count: 0
tags_array: []
@@ -733,11 +739,14 @@ inl:
input_buffer_1st_display: 0
num_history: 0
text_search: 0
text_search_direction: 0
text_search_exact: 0
text_search_regex: 0
text_search_regex_compiled: '0x0'
text_search_where: 0
text_search_history: 0
text_search_found: 0
text_search_ptr_history: '0x0'
text_search_input: None
highlight_words: None
highlight_disable_regex: None
@@ -2082,17 +2091,21 @@ hdata として送られるデータ:
[width="100%",cols="3m,2,10",options="header"]
|===
| 名前 | 型 | 説明
| buffer | pointer | バッファへのポインタ
| date | time | メッセージの日付
| date_printed | time | WeeChat メッセージを表示した日付
| displayed | char | メッセージが表示される場合は 1、メッセージがフィルタされる (隠される) 場合は 0
| 名前 | 型 | 説明
| buffer | pointer | バッファへのポインタ
| date | time | メッセージの日付
// TRANSLATION MISSING
| notify_level | char | Notify level: -1 = notify disabled, 0 = low, 1 = message, 2 = private, 3 = highlight.
| highlight | char | 行がハイライト部分を含む場合は 1、それ以外は 0
| tags_array | string の配列 | 行に対するタグのリスト
| prefix | string | プレフィックス
| message | string | メッセージ
| date_usec | integer | Microseconds of date.
| date_printed | time | WeeChat メッセージを表示した日付
// TRANSLATION MISSING
| date_usec_printed | integer | Microseconds of date when WeeChat displayed message.
| displayed | char | メッセージが表示される場合は 1、メッセージがフィルタされる (隠される) 場合は 0
// TRANSLATION MISSING
| notify_level | char | Notify level: -1 = notify disabled, 0 = low, 1 = message, 2 = private, 3 = highlight.
| highlight | char | 行がハイライト部分を含む場合は 1、それ以外は 0
| tags_array | string の配列 | 行に対するタグのリスト
| prefix | string | プレフィックス
| message | string | メッセージ
|===
例: バッファ _irc.libera.#weechat_ でニックネーム _FlashCode_ からの新しいメッセージ _hello!_:
@@ -2104,7 +2117,9 @@ hda:
keys: {
'buffer': 'ptr',
'date': 'tim',
'date_used': 'int',
'date_printed': 'tim',
'date_usec_printed': 'int',
'displayed': 'chr',
'notify_level': 'chr',
'highlight': 'chr',
@@ -2117,7 +2132,9 @@ hda:
__path: ['0x4a49600']
buffer: '0x4a715d0'
date: 1362728993
date_usec: 902765
date_printed: 1362728993
date_usec_printed: 902765
displayed: 1
notify_level: 1
highlight: 0
+2
View File
@@ -671,8 +671,10 @@ link:weechat_plugin_api.ja.html[WeeChat プラグイン API リファレンス 
color +
print (python では prnt) +
print_date_tags (python では prnt_date_tags) +
print_datetime_tags (python では prnt_datetime_tags) +
print_y (python では prnt_y) +
print_y_date_tags (python では prnt_y_date_tags) +
print_y_datetime_tags (python では prnt_y_datetime_tags) +
log_print
| フック
+226 -95
View File
@@ -146,11 +146,6 @@ WeeChat:
| Logger plugin: compression of rotated log files (gzip). +
Relay plugin: compression of messages (WeeChat -> client) with https://zlib.net/[zlib ^↗^^] (weechat protocol). +
Script plugin: read of repository index file (gzip).
// TRANSLATION MISSING
| libzstd-dev | ≥ 0.8.1
| Logger plugin: compression of rotated log files. +
Relay plugin: compression of messages (WeeChat -> client) with https://facebook.github.io/zstd/[Zstandard ^↗^^] (weechat protocol).
|===
[NOTE]
@@ -167,27 +162,70 @@ WeeChat:
[width="100%",cols="5,^3,.^15",options="header"]
|===
// TRANSLATION MISSING
| パッケージ ^(1)^ | バージョン | Features
| {cpp} コンパイラ (pass:[g++ / clang++]) | | ビルドとテストの実行、JavaScript プラグイン
| gettext | | 国際化 (メッセージの翻訳; ベース言語は英語です)
| ca-certificates | | TLS 接続に必要な証明書、relay プラグインで TLS サポート
| libaspell-dev / libenchant-dev | | spell プラグイン
| python3-dev | 3.0 以上 | python プラグイン
| libperl-dev | | perl プラグイン
| ruby3.1, ruby3.1-dev | 1.9.1 以上 | ruby プラグイン
| liblua5.4-dev | | lua プラグイン
| tcl-dev | 8.5 以上 | tcl プラグイン
| guile-3.0-dev | 2.0 以上 | guile (scheme) プラグイン
| libv8-dev | 3.24.3 以下 | javascript プラグイン
| php-dev | 7.0 以上 | PHP プラグイン
| libphp-embed | 7.0 以上 | PHP プラグイン
| libxml2-dev | | PHP プラグイン
| libargon2-dev | | PHP プラグイン (PHP 7.2 以上の場合)
| libsodium-dev | | PHP プラグイン (PHP 7.2 以上の場合)
| asciidoctor | 1.5.4 以上 | man ページと文書のビルド
| パッケージ ^(1)^ | バージョン | Features
| {cpp} コンパイラ (pass:[g++ / clang++]) |
| ビルドとテストの実行、JavaScript プラグイン
| gettext |
| 国際化 (メッセージの翻訳; ベース言語は英語です)
| ca-certificates |
| TLS 接続に必要な証明書、relay プラグインで TLS サポート
// TRANSLATION MISSING
| ruby-pygments.rb | | Build documentation.
| libcpputest-dev | 3.4 以上 | ビルドとテストの実行
| libzstd-dev | ≥ 0.8.1
| Logger plugin: compression of rotated log files (zstandard). +
Relay plugin: compression of messages (WeeChat -> client) with https://facebook.github.io/zstd/[Zstandard ^↗^^] (weechat protocol).
| libaspell-dev / libenchant-dev |
| spell プラグイン
| python3-dev | 3.0 以上
| python プラグイン
| libperl-dev |
| perl プラグイン
| ruby3.1, ruby3.1-dev | 1.9.1 以上
| ruby プラグイン
| liblua5.4-dev |
| lua プラグイン
| tcl-dev | 8.5 以上
| tcl プラグイン
| guile-3.0-dev | 2.0 以上
| guile (scheme) プラグイン
| libv8-dev | 3.24.3 以下
| javascript プラグイン
| php-dev | 7.0 以上
| PHP プラグイン
| libphp-embed | 7.0 以上
| PHP プラグイン
| libxml2-dev |
| PHP プラグイン
| libargon2-dev |
| PHP プラグイン (PHP 7.2 以上の場合)
| libsodium-dev |
| PHP プラグイン (PHP 7.2 以上の場合)
| asciidoctor | 1.5.4 以上
| man ページと文書のビルド
// TRANSLATION MISSING
| ruby-pygments.rb |
| Build documentation.
| libcpputest-dev | 3.4 以上
| ビルドとテストの実行
|===
[NOTE]
@@ -229,7 +267,8 @@ $ make install
CMake に対するオプションを指定するには、以下の書式を使ってください: `-DOPTION=VALUE`。
よく利用されるオプションのリスト:
// TRANSLATION MISSING
List of available options:
[width="100%",cols="3m,3,3m,10",options="header"]
|===
@@ -285,6 +324,10 @@ CMake に対するオプションを指定するには、以下の書式を使
| ENABLE_GUILE | `ON`, `OFF` | ON
| <<scripting_plugins,Guile プラグイン>> (Scheme) のコンパイル。
// TRANSLATION MISSING
| ENABLE_HEADLESS | `ON`, `OFF` | ON
| Compile headless binary.
| ENABLE_IRC | `ON`, `OFF` | ON
| <<irc,IRC プラグイン>>のコンパイル
@@ -343,6 +386,10 @@ CMake に対するオプションを指定するには、以下の書式を使
| ENABLE_XFER | `ON`, `OFF` | ON
| <<xfer,Xfer プラグイン>>のコンパイル。
// TRANSLATION MISSING
| ENABLE_ZSTD | `ON`, `OFF` | ON
| Enable https://facebook.github.io/zstd/[Zstandard ^↗^^] compression.
| ENABLE_TESTS | `ON`, `OFF` | OFF
| コンパイルテスト。
@@ -923,11 +970,36 @@ By default, the screen is divided up into the following areas:
| 要素 | 例 | 説明
| input_prompt | `[@Flashy]` | 入力プロンプト、irc の場合: ニックネームとモード (libera では "+i" モードは不可視状態を意味します)
| away | `(away)` | 離席状態表示
| input_search | `[Search (~ str,msg)]` | 検索インジケータ ("`~`": 大文字小文字を区別しない、"`==`": 大文字小文字を区別する、"`str`": 検索文字列、"`regex`": 検索正規表現、"`msg`": メッセージ部分から検索、"`pre`": プレフィックス部分から検索、"`pre\|msg`": プレフィックス部分とメッセージ部分から検索)
// TRANSLATION MISSING
| input_search | `[Search lines (~ str,msg)]` | Search indicator (see below).
| input_paste | `[Paste 7 lines ? [ctrl-y] Yes [ctrl-n] No]` | 行をペーストする場合にユーザへ行われる質問
| input_text | `hi peter!` | 入力テキスト
|===
// TRANSLATION MISSING
There are two search modes:
// TRANSLATION MISSING
* search in lines, for example `[Search lines (~ str,msg)]`, with the following info:
** `~`: 大文字小文字を区別しない
** `==`: 大文字小文字を区別する
** `str`: 検索文字列
** `regex`: 検索正規表現
** `msg`: メッセージ部分から検索
** `pre`: プレフィックス部分から検索
** `pre\|msg`: プレフィックス部分とメッセージ部分から検索
// TRANSLATION MISSING
* search in commands history, for example `[Search command (~ str,local)]`,
with the following info:
** `~`: 大文字小文字を区別しない
** `==`: 大文字小文字を区別する
** `str`: 検索文字列
** `regex`: 検索正規表現
// TRANSLATION MISSING
** `local`: search in buffer local history
// TRANSLATION MISSING
** `global`: search in global history.
ニックネームリスト (_nicklist_) バーは以下の初期要素を持っています:
[width="100%",cols="^3,^3,9",options="header"]
@@ -954,6 +1026,10 @@ By default, the screen is divided up into the following areas:
// TRANSLATION MISSING
| buflist3 | `1.weechat` | List of buffers, third bar item (see option <<option_buflist.look.use_items,buflist.look.use_items>>).
// TRANSLATION MISSING
| buflist4 | `1.weechat` | List of buffers, fourth bar item (see option <<option_buflist.look.use_items,buflist.look.use_items>>).
// TRANSLATION MISSING
| buflist5 | `1.weechat` | List of buffers, fifth bar item (see option <<option_buflist.look.use_items,buflist.look.use_items>>).
// TRANSLATION MISSING
| fset | `+buflist.look.sort: …+` | Help on currently selected option on fset buffer.
| irc_channel | `#test` | 現在の IRC チャンネル名
// TRANSLATION MISSING
@@ -1026,6 +1102,13 @@ IRC 等のプラグインでは、以下の色コードと属性を利用でき
| kbd:[Ctrl+c], kbd:[c],
kbd:[xx], kbd:[,],
kbd:[yy] | テキスト表示色を `xx` に、背景色を `yy` に (以下の色リストを参照)
// TRANSLATION MISSING
| kbd:[Ctrl+c], kbd:[d],
kbd:[xxxxxx] | Text color `xxxxxx` (RGB as hexadecimal, for example `FF0000` for red).
// TRANSLATION MISSING
| kbd:[Ctrl+c], kbd:[d],
kbd:[xxxxxx], kbd:[,],
kbd:[yyyyyy] | Text color `xxxxxx` and background `yyyyyy` (RGB as hexadecimal).
| kbd:[Ctrl+c], kbd:[i] | テキストをイタリック体に
| kbd:[Ctrl+c], kbd:[o] | テキスト表示色と属性をリセット
| kbd:[Ctrl+c], kbd:[v] | テキストを反転 (テキスト表示色と背景色の入れ替え)
@@ -1033,8 +1116,9 @@ IRC 等のプラグインでは、以下の色コードと属性を利用でき
|===
[NOTE]
同じコードで (色コードを入力せずに kbd:[Ctrl+c], kbd:[c]
を使うことで) 属性をキャンセルすることができます。
// TRANSLATION MISSING
The same code (without number for kbd:[Ctrl+c], kbd:[c] and kbd:[Ctrl+c], kbd:[d])
can be used to stop the attribute.
kbd:[Ctrl+c], kbd:[c] 用の色コード:
@@ -1493,8 +1577,10 @@ External plugins and scripts can define and use other local variables.
[[buflist]]
=== List of buffers
// TRANSLATION MISSING
Buflist プラグインを使うことで、"buflist" と呼ばれるバー要素の中にバッファリストを表示させることが可能になります
(それ以外に "buflist2" "buflist3" と呼ばれるバー要素も利用可能です)。 +
(four other bar items "buflist2", "buflist3", "buflist4" and "buflist5" are
available as well)。 +
プラグインは開始時にバー要素 "buflist" を持つデフォルトバー "buflist" を作成します。
[[buflist_commands]]
@@ -1628,6 +1714,8 @@ They can be changed and new ones can be added with the <<command_weechat_key,/ke
| キー | 説明 | コマンド
| kbd:[Ctrl+c], kbd:[b] | テキストを太字化するコードの挿入 | `+/input insert \x02+`
| kbd:[Ctrl+c], kbd:[c] | テキストに色をつけるコードの挿入 | `+/input insert \x03+`
// TRANSLATION MISSING
| kbd:[Ctrl+c], kbd:[d] | Insert code for colored text (RGB color, as hexadecimal). | `+/input insert \x04+`
| kbd:[Ctrl+c], kbd:[i] | テキストをイタリック体にするコードの挿入 | `+/input insert \x1D+`
| kbd:[Ctrl+c], kbd:[o] | テキスト色のリセットを行うコードの挿入 | `+/input insert \x0F+`
| kbd:[Ctrl+c], kbd:[v] | テキスト色の反転を行うコードの挿入 | `+/input insert \x16+`
@@ -1647,6 +1735,16 @@ They can be changed and new ones can be added with the <<command_weechat_key,/ke
| kbd:[Ctrl+↓] | グローバル履歴から次のコマンド/メッセージを呼び出す (すべてのバッファに対して共通の履歴) | `+/input history_global_next+`
|===
// TRANSLATION MISSING
[[key_bindings_cmdline_system]]
==== System
[width="100%",cols="^.^3,.^8,.^5",options="header"]
|===
| キー | 説明 | コマンド
| kbd:[Ctrl+z] | Suspend WeeChat process. | `+/sys suspend+`
|===
// TRANSLATION MISSING
[[key_bindings_buffers]]
=== Buffers
@@ -1654,8 +1752,10 @@ They can be changed and new ones can be added with the <<command_weechat_key,/ke
[width="100%",cols="^.^3,.^8,.^5",options="header"]
|===
| キー | 説明 | コマンド
| kbd:[Ctrl+r] | バッファ中の履歴からテキスト検索 (<<key_bindings_search_context,検索モード用のキー>>を参照) | `+/input search_text_here+`
| kbd:[Ctrl+s], kbd:[Ctrl+u] | すべてのバッファに未読マークをセット | `+/allbuf /buffer set unread+`
// TRANSLATION MISSING
| kbd:[Ctrl+r] | Search for text in commands history (see <<key_bindings_histsearch_context,keys for context "histsearch">>). | `+/input search_history+`
// TRANSLATION MISSING
| kbd:[Ctrl+s] | Search for text in buffer lines (see <<key_bindings_search_context,keys for context "search">>). | `+/input search_text_here+`
// TRANSLATION MISSING
| kbd:[Ctrl+x] | Switch current buffer if buffers are merged with same number, for example switch to another IRC server buffer. | `+/buffer switch+`
| kbd:[Alt+x] | マージされたバッファに再ズーム (kbd:[Alt+x]: 全てのマージされたバッファを表示) | `+/buffer zoom+`
@@ -1682,6 +1782,7 @@ They can be changed and new ones can be added with the <<command_weechat_key,/ke
| kbd:[Alt+n] | 次のハイライトまでスクロール | `+/window scroll_next_highlight+`
| kbd:[Alt+p] | 前のハイライトまでスクロール | `+/window scroll_previous_highlight+`
| kbd:[Alt+u] | バッファを最初の未読行までスクロール | `+/window scroll_unread+`
| kbd:[Alt+Shift+U] | すべてのバッファに未読マークをセット | `+/allbuf /buffer set unread+`
| kbd:[Alt+<] | バッファ訪問履歴で前のバッファに移動 | `+/buffer jump prev_visited+`
| kbd:[Alt+>] | バッファ訪問履歴で次のバッファに移動 | `+/buffer jump next_visited+`
| kbd:[Alt+/] | 最後に表示したバッファに移動 (バッファ移動前に表示していたウィンドウ) | `+/buffer jump last_displayed+`
@@ -1769,17 +1870,20 @@ They can be changed and new ones can be added with the <<command_weechat_key,/ke
[[key_bindings_search_context]]
=== Search context
以下のキーは「検索」検索モード (バッファ内のテキスト検索用に
kbd:[Ctrl+r] が押された状態) でのみ有効です。
// TRANSLATION MISSING
These keys are used in context "search" (when kbd:[Ctrl+s] is pressed to search
text in buffer lines).
[width="100%",cols="^.^3,.^8,.^5",options="header"]
|===
| キー | 説明 | コマンド
| kbd:[Ctrl+r] | 検索タイプを切り替え: 文字列 (デフォルト)、正規表現 | `+/input search_switch_regex+`
| kbd:[Ctrl+x] | 検索タイプを切り替え: 文字列 (デフォルト)、正規表現 | `+/input search_switch_regex+`
| kbd:[Alt+c] | 大文字小文字を区別して検索 | `+/input search_switch_case+`
| kbd:[Tab] | 検索範囲: メッセージ (デフォルト)、プレフィックス、プレフィックスとメッセージ | `+/input search_switch_where+`
| kbd:[↑] | 前のキーワードで検索 | `+/input search_previous+`
| kbd:[] | のキーワードで検索 | `+/input search_next+`
| kbd:[Ctrl+r] +
kbd:[] | のキーワードで検索 | `+/input search_previous+`
| kbd:[Ctrl+s] +
kbd:[↓] | 次のキーワードで検索 | `+/input search_next+`
| kbd:[Enter] +
kbd:[Ctrl+j] +
kbd:[Ctrl+m] | 現在の位置で検索を終了 | `+/input search_stop_here+`
@@ -1787,6 +1891,37 @@ kbd:[Ctrl+r] が押された状態) でのみ有効です。
| kbd:[Ctrl+q] | Stop search and reset scroll to pre-text search state. | `+/input search_stop+`
|===
// TRANSLATION MISSING
[[key_bindings_histsearch_context]]
=== History search context
// TRANSLATION MISSING
These keys are used in context "histsearch" (when kbd:[Ctrl+r] is pressed to
search text in commands history).
[width="100%",cols="^.^3,.^8,.^5",options="header"]
|===
| キー | 説明 | コマンド
| kbd:[Ctrl+x] | 検索タイプを切り替え: 文字列 (デフォルト)、正規表現 | `+/input search_switch_regex+`
| kbd:[Alt+c] | 大文字小文字を区別して検索 | `+/input search_switch_case+`
// TRANSLATION MISSING
| kbd:[Tab] | Switch search in: buffer local history (default), global history. | `+/input search_switch_where+`
// TRANSLATION MISSING
| kbd:[Ctrl+r] +
kbd:[↑] | Search in previous (older) history entries. | `+/input search_previous+`
// TRANSLATION MISSING
| kbd:[Ctrl+s] +
kbd:[↓] | Search in next (newer) history entries. | `+/input search_next+`
// TRANSLATION MISSING
| kbd:[Enter] +
kbd:[Ctrl+j] +
kbd:[Ctrl+m] | Stop search and use matching input. | `+/input search_stop_here+`
// TRANSLATION MISSING
| kbd:[Ctrl+o] | Execute the command found in history and insert the next one in the command line. | `+/input history_use_get_next+`
// TRANSLATION MISSING
| kbd:[Ctrl+q] | Stop search and restore input to its initial value. | `+/input search_stop+`
|===
// TRANSLATION MISSING
[[key_bindings_cursor_context]]
=== Cursor context
@@ -1875,10 +2010,10 @@ These mouse actions are possible only if mouse is enabled with key kbd:[Alt+m]
| kbd:[■ □ □] | - | chat: /list buffer | Select line in /list buffer. | `+/window ${_window_number};/list -go ${_chat_line_y}+`
// TRANSLATION MISSING
| kbd:[□ □ ■] | - | chat: /list buffer | Join IRC channel on selected line. | `+hsignal:irc_list_mouse+`
| kbd:[▲] | - | チャット: スクリプトバッファ | スクリプトバッファを 5 行上方向にスクロール | `+/script up 5+`
| kbd:[▼] | - | チャット: スクリプトバッファ | スクリプトバッファで 5 行下方向にスクロール | `+/script down 5+`
| kbd:[■ □ □] | - | チャット: スクリプトバッファ | スクリプトバッファで行選択 | `+/script go ${_chat_line_y}+`
| kbd:[□ □ ■] | - | チャット: スクリプトバッファ | スクリプトのインストール `+/ 削除 | /script go ${_chat_line_y};/script installremove ${script_name_with_extension}+`
| kbd:[▲] | - | チャット: スクリプトバッファ | スクリプトバッファを 5 行上方向にスクロール | `+/script -up 5+`
| kbd:[▼] | - | チャット: スクリプトバッファ | スクリプトバッファで 5 行下方向にスクロール | `+/script -down 5+`
| kbd:[■ □ □] | - | チャット: スクリプトバッファ | スクリプトバッファで行選択 | `+/script -go ${_chat_line_y}+`
| kbd:[□ □ ■] | - | チャット: スクリプトバッファ | スクリプトのインストール `+/ 削除 | /script -go ${_chat_line_y};/script installremove ${script_name_with_extension}+`
| kbd:[■ □ □] | 上 / 左 | バッファリスト | 指定したバッファを下の番号に移動 | `+buflist_mouse+` シグナル
| kbd:[■ □ □] | 下 / 右 | バッファリスト | 指定したバッファを上の番号に移動 | `+buflist_mouse+` シグナル
| kbd:[■ □ □] | - | バッファリスト | 指定したバッファに切り替える (現在のバッファを指定した場合、バッファ切り替え履歴で前のバッファに切り替える) | `+buflist_mouse+` シグナル
@@ -1945,8 +2080,8 @@ These keys and actions are used on the fset buffer (see <<fset,Fset plugin>>).
| 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+`
| kbd:[Alt+p] | `p` | Toggle plugin description options (`pass:[plugins.desc.*]`). | `+/mute /set fset.look.show_plugins_desc toggle+`
| kbd:[Alt+v] | `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+`
@@ -2005,17 +2140,22 @@ These keys and actions are used on the script buffer (see <<script_manager,scrip
[width="100%",cols="^.^3,^.^2,.^8,.^5",options="header"]
|===
| Key | Action ^(1)^ | Description | Command
| kbd:[↑] | | Move one line up. | `+/script up+`
| kbd:[↓] | | Move one line down. | `+/script down+`
| 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+l] | `l` | Load script. | `+/script load+`
| kbd:[Alt+L] | `L` | Reload script. | `+/script reload+`
| 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+`
| | `s:x,y` | Sort scripts by fields x,y (see option <<option_script.look.sort,script.look.sort>>). |
| | `s:` | Reset sort to its default value (see option <<option_script.look.sort,script.look.sort>>). |
| | `$` | Refresh list. |
| | `q` | Close buffer. | `+/buffer close+`
|===
// TRANSLATION MISSING
@@ -2373,14 +2513,9 @@ irc サーバ "libera" に含まれる全てのバッファに対して設定す
例えば現在のバッファで "joe" と "mike" からのメッセージに対するハイライトを無効化するには以下のように設定します:
----
/buffer set hotlist_max_level_nicks_add joe:2,mike:2
/buffer setauto hotlist_max_level_nicks_add joe:2,mike:2
----
[NOTE]
バッファプロパティ "hotlist_max_level_nicks" は設定ファイルに保存されません。 +
これを保存するには _buffer_autoset.py_ スクリプトを使ってください: このスクリプトをインストールするには
`+/script install buffer_autoset.py+` コマンドを使い、ヘルプを見るには `+/help buffer_autoset+` コマンドを使ってください。
[[highlights]]
=== ハイライト
@@ -2406,14 +2541,9 @@ This can also be set with the buffer property "highlight_disable_regex".
Same example, specific to the current buffer:
----
/buffer set highlight_disable_regex <flash.*>
/buffer setauto highlight_disable_regex <flash.*>
----
[NOTE]
バッファプロパティ "highlight_disable_regex" は設定ファイルに保存されません。 +
これを保存するには _buffer_autoset.py_ スクリプトを使ってください: このスクリプトをインストールするには
`+/script install buffer_autoset.py+` コマンドを使い、ヘルプを見るには `+/help buffer_autoset+` コマンドを使ってください。
[[highlights_words]]
==== ハイライトする単語の追加
@@ -2468,14 +2598,9 @@ Same example, specific to the current buffer:
例えば現在のバッファ宛のすべてのメッセージをハイライトするには以下のように設定します:
----
/buffer set highlight_regex .*
/buffer setauto highlight_regex .*
----
[NOTE]
バッファプロパティ "highlight_regex" は設定ファイルに保存されません。 +
これを保存するには _buffer_autoset.py_ スクリプトを使ってください: このスクリプトをインストールするには
`+/script install buffer_autoset.py+` コマンドを使い、ヘルプを見るには `+/help buffer_autoset+` コマンドを使ってください。
// TRANSLATION MISSING
[[buffer_logging]]
=== Buffer logging
@@ -3365,32 +3490,34 @@ _weechat.conf_ ファイル内のセクション:
[width="100%",cols="3m,6m,16",options="header"]
|===
| セクション | 操作コマンド | 説明
| debug | <<command_weechat_debug,/debug set>> +
/set weechat.debug.* | core とプラグインのデバッグレベル (オプションをセクションに追加/削除出来ます)
| startup | /set weechat.startup.* | 起動オプション
| look | /set weechat.look.* | 外観
| palette | <<command_weechat_color,/color alias>> +
/set weechat.palette.* | 色の別名 (オプションをセクションに追加/削除出来ます)
| color | /set weechat.color.* | 色
| completion | /set weechat.completion.* | 補完オプション
| history | /set weechat.history.* | 履歴オプション (コマンドとバッファ)
| proxy | <<command_weechat_proxy,/proxy>> +
/set weechat.proxy.* | プロキシオプション
| network | /set weechat.network.* | ネットワーク/TLS オプション
| セクション | 操作コマンド | 説明
| debug | <<command_weechat_debug,/debug set>> +
/set weechat.debug.* | core とプラグインのデバッグレベル (オプションをセクションに追加/削除出来ます)
| startup | /set weechat.startup.* | 起動オプション
| look | /set weechat.look.* | 外観
| palette | <<command_weechat_color,/color alias>> +
/set weechat.palette.* | 色の別名 (オプションをセクションに追加/削除出来ます)
| color | /set weechat.color.* | 色
| completion | /set weechat.completion.* | 補完オプション
| history | /set weechat.history.* | 履歴オプション (コマンドとバッファ)
| proxy | <<command_weechat_proxy,/proxy>> +
/set weechat.proxy.* | プロキシオプション
| network | /set weechat.network.* | ネットワーク/TLS オプション
// TRANSLATION MISSING
| plugin | /set weechat.plugin.* | Options on plugins.
| plugin | /set weechat.plugin.* | Options on plugins.
// TRANSLATION MISSING
| signal | /set weechat.signal.* | Options on signals.
| bar | <<command_weechat_bar,/bar>> +
/set weechat.bar.* | バーオプション
| layout | <<command_weechat_layout,/layout>> | レイアウト
| notify | <<command_weechat_buffer,/buffer notify>> | バッファに対する通知レベル (オプションをセクションに追加/削除出来ます)
| filter | <<command_weechat_filter,/filter>> | フィルタ
| key | <<command_weechat_key,/key>> | デフォルトコンテキストのキー
| key_search | <<command_weechat_key,/key>> | 検索コンテキストのキー
| key_cursor | <<command_weechat_key,/key>> | カーソルコンテキストのキー
| key_mouse | <<command_weechat_key,/key>> | マウスコンテキストのキー
| signal | /set weechat.signal.* | Options on signals.
| bar | <<command_weechat_bar,/bar>> +
/set weechat.bar.* | バーオプション
| layout | <<command_weechat_layout,/layout>> | レイアウト
// TRANSLATION MISSING
| buffer | <<command_weechat_buffer,/buffer setauto>> | Properties auto-applied on buffers when they are opened.
| notify | <<command_weechat_buffer,/buffer notify>> | バッファに対する通知レベル (オプションをセクションに追加/削除出来ます)
| filter | <<command_weechat_filter,/filter>> | フィルタ
| key | <<command_weechat_key,/key>> | デフォルトコンテキストのキー
| key_search | <<command_weechat_key,/key>> | 検索コンテキストのキー
| key_cursor | <<command_weechat_key,/key>> | カーソルコンテキストのキー
| key_mouse | <<command_weechat_key,/key>> | マウスコンテキストのキー
|===
オプション:
@@ -4281,7 +4408,7 @@ the following extra variables are available:
|===
// TRANSLATION MISSING
| Variable | 説明 | 値/例
| `+${clientinfo}+` | サポートしている CTCP オプションのリスト | `+ACTION DCC CLIENTINFO FINGER PING SOURCE TIME USERINFO VERSION+`
| `+${clientinfo}+` | サポートしている CTCP オプションのリスト | `+ACTION DCC CLIENTINFO PING SOURCE TIME VERSION+`
| `+${version}+` | WeeChat バージョン | `+4.1.0-dev+`
| `+${versiongit}+` | WeeChat バージョン + Git バージョン ^(1)^ | `+4.1.0-dev (git: v4.0.0-51-g8f98b922a)+`
| `+${git}+` | Git バージョン ^(1)^ | `+v4.0.0-51-g8f98b922a+`
@@ -4304,11 +4431,9 @@ The default CTCP replies are:
[width="100%",cols="2,4,8",options="header"]
|===
| CTCP | 応答書式 | 例
| CLIENTINFO | `+${clientinfo}+` | `+ACTION DCC CLIENTINFO FINGER PING SOURCE TIME USERINFO VERSION+`
| FINGER | `+WeeChat ${version}+` | `+WeeChat 4.1.0-dev+`
| CLIENTINFO | `+${clientinfo}+` | `+ACTION DCC CLIENTINFO PING SOURCE TIME VERSION+`
| SOURCE | `+${download}+` | `+https://weechat.org/download/+`
| TIME | `+${time}+` | `+Sat, 08 Jul 2023 21:11:19 +0200+`
| USERINFO | `+${username} (${realname})+` | `+name (John Doe)+`
| VERSION | `+WeeChat ${version}+` | `+WeeChat 4.1.0-dev+`
|===
@@ -5290,7 +5415,7 @@ type:
| signal | tg_signal_data |
| hsignal | |
| modifier | tg_string | tg_string
| line | message | buffer、buffer_name、y、date、date_printed、str_time、tags、notify_level、highlight、prefix、message
| line | message | buffer、buffer_name、y、date、date_usec、date_printed、date_usec_printed、str_time、tags、notify_level、highlight、prefix、message
| print | tg_message |
| command | tg_argv_eol1 |
| command_run | tg_command |
@@ -5450,7 +5575,11 @@ _weechat_print_ 修飾子では、メッセージタグを使う変数 (下の
| buffer_type | string | バッファ型 ("formatted" または "free")
| y | string | 自由内容バッファの行番号 (≥ 0)、-1 はフォーマット済みバッファ用
| date | string | 行の日付 (タイムスタンプ)
// TRANSLATION MISSING
| date_usec | string | Microseconds of line date.
| date_printed | string | 行が表示される日付 (タイムスタンプ).
// TRANSLATION MISSING
| date_usec_printed | string | Microseconds of date when line was displayed.
| str_time | string | 表示に使う日付、色コードを含めることも可能
| tags | string | メッセージのタグ (文字列の最初と最後にコンマが追加されます)
| displayed | string | "1" の場合は表示、"0" の場合は非表示
@@ -5492,7 +5621,8 @@ _weechat_print_ 修飾子では、メッセージタグを使う変数 (下の
|===
| 変数 | 型 | 説明
| buffer | pointer | メッセージが表示されたバッファ
| tg_date | string | メッセージの日付と時間 (書式: `YYYY-MM-DD hh:mm:ss`)
// TRANSLATION MISSING
| tg_date | string | メッセージの日付と時間 (書式: `%FT%T.%f`, see link:weechat_plugin_api.ja.html#_util_strftimeval[WeeChat plugin API reference / util_strftimeval ^↗^^]).
| tg_displayed | string | 表示された場合 "1"、フィルタされた場合 "0"
| tg_highlight | string | ハイライトされた場合 "1"、それ以外は "0"
| tg_prefix | string | プレフィックス
@@ -5564,7 +5694,8 @@ _weechat_print_ 修飾子では、メッセージタグを使う変数 (下の
|===
| 変数 | 型 | 説明
| tg_remaining_calls | string | 残り呼び出し回数
| tg_date | string | 現在の日付および時間 (書式: `YYYY-MM-DD hh:mm:ss`)
// TRANSLATION MISSING
| tg_date | string | 現在の日付および時間 (書式: `%FT%T.%f`, see link:weechat_plugin_api.ja.html#_util_strftimeval[WeeChat plugin API reference / util_strftimeval ^↗^^]).
|===
[[trigger_data_config]]
+1 -1
View File
@@ -101,7 +101,7 @@ $HOME/.local/share/weechat/weechat.log::
WeeChat jest tworzony przez Sébastien Helleu i społeczność (pełna lista dostępna
jest w pliku AUTHORS.adoc).
Copyright (C) 2003-2023 {author}
Copyright (C) 2003-2024 {author}
WeeChat is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
+64 -30
View File
@@ -6,7 +6,7 @@
Tłumaczenie:
* Krzysztof Korościk <soltys1@gmail.com>, 2009-2022
* Krzysztof Korościk <soltys1@gmail.com>, 2009-2024
[[general]]
== Ogólne
@@ -582,6 +582,31 @@ Jeśli używasz aplikacji Terminal na macOS włącz opcję
"Use option as meta key" w menu Settings/Keyboard. Następnie możesz używać klawisza
kbd:[Option] jako klawisza meta.
[[enter_key]]
=== Niektóre przyciski w tym Enter nie działają, dlatego?
Jeśli używasz WeeChat < 4.0.0 z plikami konfiguracyjnymi stworzonymi przez dowolną
wersję ≥ 4.0.0, nazwy przycisków stały się nieprawidłowe i wiele z nich nie będzie działać. +
Żeby to naprawić zamknij WeeChat, usuń wszystkie sekcje `[key*]` z pliku weechat.conf
i uruchom WeeChat ponownie: przywróci to domyślną konfigurację skrótów klawiszowych.
[[key_f11]]
=== F11 maksymalizuje okno terminala, jak mogę przewijać listę nicków?
Klawisz kbd:[F11] jest często używany przez terminale do maksymalizacji okna, oraz
kbd:[F11]/kbd:[F12] są domyślnie używane przez WeeChat do przewijania listy nicków.
Możesz przypisać inne klawisze, na przykład kbd:[Shift+F11] i kbd:[Shift+F12],
w WeeChat ≥ 4.0.0:
----
/key bind shift-f11 /bar scroll nicklist * -100%
/key bind shift-f12 /bar scroll nicklist * +100%
----
Innym rozwiązaniem jest włączenie obsługi myszy (kbd:[Alt+m]) i przewijanie listy za
pomocą kółka myszy (zobacz pytania na temat <<mouse,obsługi myszy>>).
[[customize_key_bindings]]
=== Jak mogę zmienić przypisania klawiszy?
@@ -612,8 +637,7 @@ komendy w stylu `/123` żeby przejść do bufora #123:
/trigger add numberjump modifier "2000|input_text_for_buffer" "${tg_string} =~ ^/[0-9]+$" "=\/([0-9]+)=/buffer *${re:1}=" "" "" "none"
----
// TRANSLATION MISSING
For an easy jump to buffers, you can also install the _go.py_ script:
Dla łatwego przechodzenia między buforami możesz również zainstalować skrypt _go.py_:
----
/script install go.py
@@ -927,34 +951,20 @@ link:weechat_user.pl.html#max_hotlist_level_nicks[hotlist_max_level_nicks_add ^
do ustawienia maksymalnego poziomu hotlisty dla niektórych nicków, dla buforów
lub grup buforów (jak serwery IRC).
W celu wyłączenia tylko podświetleń wystarczy ustawić ja na 2:
W celu wyłączenia tylko podświetleń wystarczy ustawić ja na 2.
Dla obecnego bufora:
----
/buffer set hotlist_max_level_nicks_add joe:2,mike:2
/buffer setauto hotlist_max_level_nicks_add joe:2,mike:2
----
To utawienie nie jest zapisywane jednak w konfiguracji.
W celu automatycznego ustawiania tej właściwości należy użyć skryptu _buffer_autoset.py_:
Dla wszystkich kanałów na serwerze "libera":
----
/script install buffer_autoset.py
/set weechat.buffer.irc.libera.*.hotlist_max_level_nicks_add joe:2,mike:2
----
Na przykład w celu wyłączenia powiadomień od "mike" na #weechat w sieci libera:
on the IRC server libera:
----
/buffer_autoset add irc.libera.#weechat hotlist_max_level_nicks_add mike:2
----
Dla całego serwera libera:
----
/buffer_autoset add irc.libera hotlist_max_level_nicks_add mike:2
----
Więcej przykładów można znaleźć wykonując komende `+/help buffer_autoset+`.
[[irc_target_buffer]]
=== Jak mogę zmienić docelowy bufor dla komendy w połączonym buforze (jak bufor z serwerami)?
@@ -1083,10 +1093,8 @@ W celu zmniejszenia używanej pamięci możesz zastosować się do poniższych r
Możesz skorzystać z tych samych porad jak dla <<memory_usage,memory>>, oraz tych:
// TRANSLATION MISSING
* schowaj pasek "nicklist": `/bar hide nicklist` (key: kbd:[Alt+Shift+N]).
// TRANSLATION MISSING
* Disable "buflist": `/buflist disable` (key: kbd:[Alt+Shift+B]).
* schowaj pasek "nicklist": `/bar hide nicklist` (kbd:[Alt+Shift+N]).
* wyłącz "buflist": `/buflist disable` (kbd:[Alt+Shift+B]).
* usuń wyświetlanie sekund w czasie na pasku statusu:
`+/set weechat.look.item_time_format "%H:%M"+` (domyślna wartość)
* wyłącz automatyczne sprawdzanie poprawności wpisywanych słów w linii poleceń (o ile je włączyłeś):
@@ -1114,9 +1122,8 @@ Wyłącz odpowiedzi na wszystkie zapytania CTCP:
/set irc.ctcp.ping ""
----
// TRANSLATION MISSING
With WeeChat < 4.1.0, other CTCP queries were replied by default and must be
disabled as well:
Dla WeeChat < 4.1.0, automatyczne odpowiedzi są również domyślnie wysyłane dla innch zapytań CTCP i muszą zostać
również wyłączone:
----
/set irc.ctcp.finger ""
@@ -1157,6 +1164,33 @@ w _sec.conf_ za pomocą komendy `/secure`).
Przejrzyj link:weechat_user.pl.html#files_and_directories[Poradnik użytkownika / Pliki i foldery ^↗^^],
gdzie znajdziesz więcej informacji o plikach konfiguracyjnych.
[[move_to_another_device]]
=== Chcę przenieść WeeChat na inne urządzenie i zachować swoją konfigurację, co powinienem skompilować?
Najpierw sprawdź katalogi używane przez WeeChat za pomocą polecenia: `/debug dirs`. +
Katalogi home/config i home/data muszą zostać skopiowane (wszystkie pliki i podkatalogi).
Na przykład jeśli używasz katalogów XDG (domyślnie dla WeeChat ≥ 3.2), katalogi te to
`$HOME/.config/weechat` i `$HOME/.local/share/weechat`. +
Jeśli używasz pojedynczego katalogu (domyślne dla WeeChat < 3.2) jest to katalog
`$HOME/.weechat`.
[IMPORTANT]
Wersja WeeChat na nowym urządzeniu musi być wyższa lub taka sama jak na obecnym. +
Przenoszenie konfiguracji do starszej wersji WeeChat *NIE JEST WSPIERANE* i może ją zepsuć,
prowadząć do niestabilnego działania WeeChat.
Kroki:
. Zamknij Weechat: `/quit` (lub `/upgrade -quit` jeśli chcesz przywrócić sesję,
co zawiera zawartość wszystkich buforów).
. Skopiuj wszystkie katalogi, podkatalogi i pliki na nowe urządzenie, zachowując ich
nazwy i uprawnienia.
. Opcjonalne: skopiuj dowolne pliki z poza tych katalogów, do których odnosisz się w swojej
konfiguracji (nie zaleca się używania plików z poza katalogów WeeChat).
. Uruchom WeeChat na nowym urządzeniu: `weechat` (lub `weechat --upgrade` jeśli zapisywałeś
sesje).
[[development]]
== Rozwój
+1 -1
View File
@@ -6,7 +6,7 @@
Tłumaczenie:
* Krzysztof Korościk <soltys1@gmail.com>, 2009-2022
* Krzysztof Korościk <soltys1@gmail.com>, 2009-2024
[[start]]
== Uruchamianie WeeChat
+3 -1
View File
@@ -6,7 +6,7 @@
Tłumaczenie:
* Krzysztof Korościk <soltys1@gmail.com>, 2009-2022
* Krzysztof Korościk <soltys1@gmail.com>, 2009-2024
Ten dokument opisuje klienta rozmów WeeChat, który jest częścią WeeChat.
@@ -657,8 +657,10 @@ Lista funkcji w API skryptów:
color +
print (dla pythona: prnt) +
print_date_tags (dla pythona: prnt_date_tags) +
print_datetime_tags (dla pythona: prnt_datetime_tags) +
print_y (dla pythona: prnt_y) +
print_y_date_tags (dla pythona: prnt_y_date_tags) +
print_y_datetime_tags (dla pythona: prnt_y_datetime_tags) +
log_print
| hooks
+254 -177
View File
@@ -6,7 +6,7 @@
Tłumaczenie:
* Krzysztof Korościk <soltys1@gmail.com>, 2009-2022
* Krzysztof Korościk <soltys1@gmail.com>, 2009-2024
Ten dokument opisuje klienta rozmów WeeChat, będącego częścią WeeChat.
@@ -134,10 +134,6 @@ WeeChat:
| Wtyczka logger: kompresja rotowanych plików z logami (gzip). +
Wtyczka relay: kompresja wiadomości (WeeChat -> klient) za pomocą https://zlib.net/[zlib ^↗^^] (protokół weechat). +
Wtyczka script: odczyt repozytorium ze skryptami (gzip).
| libzstd-dev | ≥ 0.8.1
| Wtyczka logger: kompresja rotowanych plików z logami. +
Wtyczka Relay: kompresja wiadomości (WeeChat -> klient) za pomocą https://facebook.github.io/zstd/[Zstandard ^↗^^] (protokół weechat).
|===
[NOTE]
@@ -151,26 +147,68 @@ WeeChat:
[width="100%",cols="5,^3,.^15",options="header"]
|===
| Pakiet ^(1)^ | Wersja | Funkcje
| kompilator {cpp} (pass:[g++ / clang++]) | | Kompilacja i uruchamianie testów, wtyczka JavaScript.
| gettext | | Internacjonalizacja (tłumaczenie wiadomości; język bazowy to Angielski).
| ca-certificates | | Certyfikaty dla połączeń TLS.
| libaspell-dev / libenchant-dev | | Wtyczka spell.
| python3-dev | ≥ 3.0 | Wtyczka python.
| libperl-dev | | Wtyczka perl.
| ruby3.1, ruby3.1-dev | ≥ 1.9.1 | Wtyczka ruby.
| liblua5.4-dev | | Wtyczka lua.
| tcl-dev | ≥ 8.5 | Wtyczka tcl.
| guile-3.0-dev | ≥ 2.0 | Wtyczka guile (scheme).
| libv8-dev | ≤ 3.24.3 | Wtyczka javascript.
| php-dev | ≥ 7.0 | Wtyczka PHP.
| libphp-embed | ≥ 7.0 | Wtyczka PHP.
| libxml2-dev | | Wtyczka PHP.
| libargon2-dev | | Wtyczka PHP (jeśli PHP ≥ 7.2).
| libsodium-dev | | Wtyczka PHP (jeśli PHP ≥ 7.2).
| asciidoctor | ≥ 1.5.4 | Tworzenie strony man i dokumentacji.
| ruby-pygments.rb | | Dokumentacja budowania.
| libcpputest-dev | ≥ 3.4 | Kompilacja i uruchamianie testów.
| Pakiet ^(1)^ | Wersja | Funkcje
| kompilator {cpp} (pass:[g++ / clang++]) |
| Kompilacja i uruchamianie testów, wtyczka JavaScript.
| gettext |
| Internacjonalizacja (tłumaczenie wiadomości; język bazowy to Angielski).
| ca-certificates |
| Certyfikaty dla połączeń TLS.
| libzstd-dev | ≥ 0.8.1
| Wtyczka logger: kompresja rotowanych plików z logami (zstandard). +
Wtyczka Relay: kompresja wiadomości (WeeChat -> klient) za pomocą https://facebook.github.io/zstd/[Zstandard ^↗^^] (protokół weechat).
| libaspell-dev / libenchant-dev |
| Wtyczka spell.
| python3-dev | ≥ 3.0
| Wtyczka python.
| libperl-dev |
| Wtyczka perl.
| ruby3.1, ruby3.1-dev | ≥ 1.9.1
| Wtyczka ruby.
| liblua5.4-dev |
| Wtyczka lua.
| tcl-dev | ≥ 8.5
| Wtyczka tcl.
| guile-3.0-dev | ≥ 2.0
| Wtyczka guile (scheme).
| libv8-dev | ≤ 3.24.3
| Wtyczka javascript.
| php-dev | ≥ 7.0
| Wtyczka PHP.
| libphp-embed | ≥ 7.0
| Wtyczka PHP.
| libxml2-dev |
| Wtyczka PHP.
| libargon2-dev |
| Wtyczka PHP (jeśli PHP ≥ 7.2).
| libsodium-dev |
| Wtyczka PHP (jeśli PHP ≥ 7.2).
| asciidoctor | ≥ 1.5.4
| Tworzenie strony man i dokumentacji.
| ruby-pygments.rb |
| Dokumentacja budowania.
| libcpputest-dev | ≥ 3.4
| Kompilacja i uruchamianie testów.
|===
[NOTE]
@@ -210,7 +248,7 @@ $ make install
Opcje mogą zostać przekazane do CMake, format `-DOPCJA=WARTOŚĆ`.
Lista popularnych opcji:
Lista dostępnych opcji:
[width="100%",cols="3m,3,3m,10",options="header"]
|===
@@ -264,6 +302,9 @@ Lista popularnych opcji:
| ENABLE_GUILE | `ON`, `OFF` | ON
| Kompilacja <<scripting_plugins,wtyczki guile>> (Scheme).
| ENABLE_HEADLESS | `ON`, `OFF` | ON
| Kompilacja pliku binarnego w trybie headless.
| ENABLE_IRC | `ON`, `OFF` | ON
| Kompilacja <<irc,wtyczki IRC>>.
@@ -322,6 +363,9 @@ Lista popularnych opcji:
| ENABLE_XFER | `ON`, `OFF` | ON
| Kompilacja <<xfer,wtyczki xfer>>.
| ENABLE_ZSTD | `ON`, `OFF` | ON
| Włącza kompresje https://facebook.github.io/zstd/[Zstandard ^↗^^].
| ENABLE_TESTS | `ON`, `OFF` | OFF
| Kompiluje testy.
@@ -874,11 +918,30 @@ Pasek _input_ posiada następujące domyślne elementy:
| Element | Przykład | Opis
| input_prompt | `[@Flashy(i)]` | Input prompt, dla irc: nick i tryby (tryb "+i" oznacza niewidzialny na libera).
| away | `(away)` | Wskaźnik nieobecności.
| input_search | `[Szukam (~ str,msg)]` | Wskaźnik wyszukiwania ("`~`": wielkość liter ma znaczenie, "`==`": wielkość liter nie ma znaczenia, "`str`": wyszukiwanie ciągu, "`regex`": wyszukiwanie wyrażenia regularnego, "`msg`": wyszukiwanie w wiadomościach, "`pre`": wyszukiwanie w prefiksach, "`pre\|msg`": wyszukiwanie w prefiksach i wiadomościach).
| input_search | `[Search lines (~ str,msg)]` | Wskaźnik wyszukiwania (zobacz poniżej).
| input_paste | `[Wkleić 7 linii ? [ctrl-y] Tak [ctrl-n] Nie]` | Pyta użytkownika podczas wklejania kilku linii tekstu.
| input_text | `hi peter!` | Wprowadzony tekst.
|===
Dostępne są dwa tryby wyszukiwania:
* wyszukiwanie w liniach, na przydład `[Search lines (~ str,msg)]`, z następującymi informacjami:
** `~`: wielkość liter ma znaczenie
** `==`: wielkość liter nie ma znaczenia
** `str`: wyszukiwanie ciągu
** `regex`: wyszukiwanie wyrażenia regularnego
** `msg`: wyszukiwanie w wiadomościach
** `pre`: wyszukiwanie w prefiksach
** `pre\|msg`: wyszukiwanie w prefiksach i wiadomościach)
* wyszukiwanie w historii komend, na przydład `[Search command (~ str,local)]`,
z następującymi informacjami:
** `~`: wielkość liter ma znaczenie
** `==`: wielkość liter nie ma znaczenia
** `str`: wyszukiwanie ciągu
** `regex`: wyszukiwanie wyrażenia regularnego
** `local`: wyszukiwanie w lokalnej historii bufora
** `global`: wyszukiwanie w globalnej historii.
Pasek _nicklist_ posiada następujące domyślne elementy:
[width="100%",cols="^3,^3,9",options="header"]
@@ -899,6 +962,8 @@ Inne dostępne elementy (nie używane domyślnie w paskach):
| buffer_short_name | `#test` | Skrócona nazwa obecnego buforu.
| buflist2 | `1.weechat` | Lista buforów, drugi element paska (zobacz opcję <<option_buflist.look.use_items,buflist.look.use_items>>).
| buflist3 | `1.weechat` | Lista buforów, trzeci element paska (zobac opcję <<option_buflist.look.use_items,buflist.look.use_items>>).
| buflist4 | `1.weechat` | Lista buforów, czwarty element paska (zobacz opcję <<option_buflist.look.use_items,buflist.look.use_items>>).
| buflist5 | `1.weechat` | Lista buforów, piąty element paska (zobacz opcję <<option_buflist.look.use_items,buflist.look.use_items>>).
| fset | `+buflist.look.sort: …+` | Pomoc dla obecnie wybranej opcji w buforze fset.
| irc_channel | `#test` | Nazwa bieżącego kanału IRC.
| irc_host | `+user@host.com+` | Aktualny host IRC.
@@ -959,21 +1024,26 @@ Dla niektórych wtyczek jak IRC, można użyć kolorów i atrybutów w następuj
[width="100%",cols="1,2",options="header"]
|===
| Klawisz | Opis
| kbd:[Ctrl+c], kbd:[b] | pogrubiony tekst
| kbd:[Ctrl+c], kbd:[b] | Pogrubiony tekst
| kbd:[Ctrl+c], kbd:[c],
kbd:[xx] | kolor tekstu `xx` (zgodnie z poniższą listą kolorów)
kbd:[xx] | Kolor tekstu `xx` (zgodnie z poniższą listą kolorów)
| kbd:[Ctrl+c], kbd:[c],
kbd:[xx], kbd:[,],
kbd:[yy] | kolor tekstu `xx` i tła `yy` (zgodnie z poniższą listą kolorów)
| kbd:[Ctrl+c], kbd:[i] | pochyły tekst
| kbd:[Ctrl+c], kbd:[o] | wyłącza kolory i atrybuty
| kbd:[Ctrl+c], kbd:[v] | odwróć video (przywraca kolor tekstu i tła)
| kbd:[Ctrl+c], kbd:[_] | podkreślony tekst
kbd:[yy] | Kolor tekstu `xx` i tła `yy` (zgodnie z poniższą listą kolorów)
| kbd:[Ctrl+c], kbd:[d],
kbd:[xxxxxx] | Kolor tekstu `xxxxxx` (RGB jako wartości szesnastkowe, na przykład `FF0000` dla czerwonego).
| kbd:[Ctrl+c], kbd:[d],
kbd:[xxxxxx], kbd:[,],
kbd:[yyyyyy] | Kolor tekstu `xxxxxx` i tła `yyyyyy` (RGB jako wartości szesnastkowe).
| kbd:[Ctrl+c], kbd:[i] | Kursywa
| kbd:[Ctrl+c], kbd:[o] | Wyłącza kolory i atrybuty
| kbd:[Ctrl+c], kbd:[v] | Odwróć video (przywraca kolor tekstu i tła)
| kbd:[Ctrl+c], kbd:[_] | Podkreślony tekst
|===
[NOTE]
Ten sam sktót (bez numeru dla kbd:[Ctrl+c], kbd:[c]) może zostać użyty do zatrzymania
atrybutu.
Te same skróty (bez numeru kbd:[Ctrl+c], kbd:[c] i kbd:[Ctrl+c], kbd:[d])
mogą zostać użyte dla zatrzymania atrybutu.
Kody kolorów dla kbd:[Ctrl+c], kbd:[c]:
@@ -1230,7 +1300,7 @@ Linie wyświetlane w formatowanych buforach maja następujące pola:
| tagi | Przez `/debug tags` | Tagi powiązane z linią (zobacz <<lines_tags,tagi linii>>).
|===
Wyświetlanie linni może być zmienione za pomoćą wielu opcji wyglądu
Wyświetlanie linni może być zmienione za pomocą wielu opcji wyglądu
(_pass:[weechat.look.*]_) oraz koloru (_pass:[weechat.color.chat_*]_).
[[lines_tags]]
@@ -1336,9 +1406,8 @@ WeeChat i jego wtyczki domyślnie tworzą następujące zmienne:
| filter
| dowolny ciąg
// TRANSLATION MISSING
| Filter defined on some buffers like `/fset`, `/list` (irc), `/server raw` (irc)
and `/script`.
| Filtr zdefiniowany w niektórych buforach jak `/fset`, `/list` (irc), `/server raw` (irc)
i `/script`.
| host
| dowolny ciąg
@@ -1422,7 +1491,8 @@ External plugins and scripts can define and use other local variables.
=== Lista buforów
Wtyczka buflist wyświetla listę buforów w elemencie paska nazwanym "buflist"
(dostępne są również dwa dodatkowe elementy "buflist2" oraz "buflist3"). +
(cztery dodatkowe elementy "buflist2", "buflist3", "buflist4" i "buflist5" są
również dostępne). +
Domyślny pasek "buflist" jest tworzony podczas uruchomieina z włączoną wtyczką.
[[buflist_commands]]
@@ -1446,21 +1516,21 @@ Opcje:
include::{autogendir}/autogen_user_options.pl.adoc[tag=buflist_options]
// TRANSLATION MISSING
[[cursor_mode]]
=== Cursor mode
=== Tryb kursora
The cursor mode allows you to move freely the cursor anywhere on screen, in chat
area and bars, and lets you perform actions at the given position. +
You can enter in cursor mode either with the command `/cursor` or with a mouse
middle click (mouse must have been enabled with key kbd:[Alt+m] or command
`/mouse enable`).
Tryb kursora pozwala na przesuwanie kurdsora w dowolne miejsce na ekranie,
w obszarze czatu i paskach, i pozwala na wykonywanie akcji w danym miejscu. +
Możesz wejść w tryb kursora za pomocą komendy `/cursor` lub za pomocą środkowego
przycisku myszy (obsługa myszy musi być włączona za pomocą kbd:[Alt+m] lub
komendy `/mouse enable`).
Typical use is to quote messages (chat area) or interact with nicks (nicklist bar).
Typowym użyciem jest cytowanie wiadomości (obszar czatu) i interakcja z nickami
(pasek z listą nicków).
See command <<command_weechat_cursor,/cursor>> and
<<key_bindings_cursor_context,key bindings in cursor context>> for the list
of actions you can perform in this mode.
Zobacz komendę <<command_weechat_cursor,/cursor>> i
<<key_bindings_cursor_context,skróty klawiszowe w trybie kursora>> dla listy akcji
dostępnych w tym trybie.
[[key_bindings]]
== Skróty klawiszowe
@@ -1537,6 +1607,7 @@ Można je zmienić oraz dodać nowe za pomocą komendy <<command_weechat_key,/ke
| Skrót | Opis | Komenda
| kbd:[Ctrl+c], kbd:[b] | Wstaw kod dla pogrubionego tekstu. | `+/input insert \x02+`
| kbd:[Ctrl+c], kbd:[c] | Wstaw kod dla kolorowego tekstu. | `+/input insert \x03+`
| kbd:[Ctrl+c], kbd:[d] | Wstaw kod dla kolorowego tekstu (kolor RGB jaki liczba szesnastkowa). | `+/input insert \x04+`
| kbd:[Ctrl+c], kbd:[i] | Wstaw kod dla pochyłego tekstu. | `+/input insert \x1D+`
| kbd:[Ctrl+c], kbd:[o] | Wstaw kod dla zresetowania koloru. | `+/input insert \x0F+`
| kbd:[Ctrl+c], kbd:[v] | Wstaw kod dla odwrócenia koloru. | `+/input insert \x16+`
@@ -1555,14 +1626,23 @@ Można je zmienić oraz dodać nowe za pomocą komendy <<command_weechat_key,/ke
| kbd:[Ctrl+↓] | Pokaż następną komendę/wiadomość w historii globalnej (wspólnej dla wszystkich buforów). | `+/input history_global_next+`
|===
[[key_bindings_cmdline_system]]
==== System
[width="100%",cols="^.^3,.^8,.^5",options="header"]
|===
| Skrót | Opis | Komenda
| kbd:[Ctrl+z] | Uśpij proces WeeChat. | `+/sys suspend+`
|===
[[key_bindings_buffers]]
=== Bufory
[width="100%",cols="^.^3,.^8,.^5",options="header"]
|===
| Skrót | Opis | Komenda
| kbd:[Ctrl+r] | Wyszukaj tekst w historii bufora (zobacz <<key_bindings_search_context,skróty dla kontekstu wyszukiwania>>). | `+/input search_text_here+`
| kbd:[Ctrl+s], kbd:[Ctrl+u] | Ustaw znacznik nieprzeczytania we wszystkich buforach. | `+/allbuf /buffer set unread+`
| kbd:[Ctrl+r] | Szukaj tekstu w historii komend (zobacz <<key_bindings_histsearch_context,skróty w kontekscie "histsearch">>). | `+/input search_history+`
| kbd:[Ctrl+s] | Szukaj tekstu w liniach bufora (zobacz <<key_bindings_search_context,skróty w kontekscie "search">>). | `+/input search_text_here+`
| kbd:[Ctrl+x] | Przełącz obecny bufor jeśli bufory są połączone pod tym samym numerem, na przykład przełącz na bufor innego serwera IRC. | `+/buffer switch+`
| kbd:[Alt+x] | Pokaż wybrany z połączonych buforów (naciśnij kbd:[Alt+x] ponownie: wyświetl wszystkie połączone bufory). | `+/buffer zoom+`
| kbd:[PgUp] | Przewiń jedną stronę w górę w historii bufora. | `+/window page_up+`
@@ -1588,6 +1668,7 @@ Można je zmienić oraz dodać nowe za pomocą komendy <<command_weechat_key,/ke
| kbd:[Alt+n] | Przewiń do następnego powiadomienia. | `+/window scroll_next_highlight+`
| kbd:[Alt+p] | Przewiń do poprzedniego powiadomienia. | `+/window scroll_previous_highlight+`
| kbd:[Alt+u] | Przewiń do pierwszej nieprzeczytanej linii w buforze. | `+/window scroll_unread+`
| kbd:[Alt+Shift+U] | Ustaw znacznik nieprzeczytania we wszystkich buforach. | `+/allbuf /buffer set unread+`
| kbd:[Alt+<] | Przełącz na poprzedni bufor z listy odwiedzonych buforów. | `+/buffer jump prev_visited+`
| kbd:[Alt+>] | Przełącz na następny bufor z listy odwiedzonych buforów. | `+/buffer jump next_visited+`
| kbd:[Alt+/] | Przełącz na ostatnio wyświetlony bufor (przed ostatnią zmianą bufora). | `+/buffer jump last_displayed+`
@@ -1662,31 +1743,55 @@ Można je zmienić oraz dodać nowe za pomocą komendy <<command_weechat_key,/ke
|===
[[key_bindings_search_context]]
=== Wyszukiwanie
=== Wyszukiwanie tekstu
Te skróty są używane w kontekście wyszukiwania (kiedy kombinacja kbd:[Ctrl+r]
zostanie wciśnięta w buforze tekstowym).
Te skróty można użyć w kontskście "search" (kiedy kbd:[Ctrl+s] zostało wciśnięte do wyszukiwania
tekstu w liniach bufora).
[width="100%",cols="^.^3,.^8,.^5",options="header"]
|===
| Skrót | Opis | Komenda
| kbd:[Ctrl+r] | Przełącz rodzaj wyszukiwania: ciąg (domyślne), wyrażenie regularne. | `+/input search_switch_regex+`
| kbd:[Ctrl+x] | Przełącz rodzaj wyszukiwania: ciąg (domyślne), wyrażenie regularne. | `+/input search_switch_regex+`
| kbd:[Alt+c] | Przełącz dopasowywanie wielości liter podczas wyszukiwania. | `+/input search_switch_case+`
| kbd:[Tab] | Przełącz miejsce wyszukiwania: wiadomości (domyślne), prefiksy, prefiksy + wiadmości. | `+/input search_switch_where+`
| kbd:[↑] | Poprzednie wystąpienie. | `+/input search_previous+`
| kbd:[] | Następne wystąpienie. | `+/input search_next+`
| kbd:[Ctrl+r] +
kbd:[] | Poprzednie wystąpienie. | `+/input search_previous+`
| kbd:[Ctrl+s] +
kbd:[↓] | Następne wystąpienie. | `+/input search_next+`
| kbd:[Enter] +
kbd:[Ctrl+j] +
kbd:[Ctrl+m] | Zatrzymaj wyszukiwanie na obecnej pozycji. | `+/input search_stop_here+`
| kbd:[Ctrl+q] | Zatrzymaj wyszukiwanie i przywróć ekran do stanu z przed wyszukiwania. | `+/input search_stop+`
|===
[[key_bindings_histsearch_context]]
=== Wyszukiwanie w historii komend
Te skróty można użyć w kontskście "histsearch" (kiedy kbd:[Ctrl+r] zostało wciśnięte do wyszukiwania
tekstu w historii komend).
[width="100%",cols="^.^3,.^8,.^5",options="header"]
|===
| Skrót | Opis | Komenda
| kbd:[Ctrl+x] | Przełącz rodzaj wyszukiwania: ciąg (domyślne), wyrażenie regularne. | `+/input search_switch_regex+`
| kbd:[Alt+c] | Przełącz dopasowywanie wielości liter podczas wyszukiwania. | `+/input search_switch_case+`
| kbd:[Tab] | Przełącz przeszukiwanie w: lokalnej histori (domyślne), historia globalna. | `+/input search_switch_where+`
| kbd:[Ctrl+r] +
kbd:[↑] | Szukaj we wcześniejszych (starszych) wpisach w historii. | `+/input search_previous+`
| kbd:[Ctrl+s] +
kbd:[↓] | Szukaj w następnych (nowszych) wpisach w historii. | `+/input search_next+`
| kbd:[Enter] +
kbd:[Ctrl+j] +
kbd:[Ctrl+m] | Zatrzymaj wyszukiwanie i użyj znalezionej komendy. | `+/input search_stop_here+`
| kbd:[Ctrl+o] | Wykonaj komende znaleziona w historii i wstaw kolejna do linii poleceń. | `+/input history_use_get_next+`
| kbd:[Ctrl+q] | Zatrzymaj wyszukiwanie i przywróć linię poleceń do początkowej wartości. | `+/input search_stop+`
|===
[[key_bindings_cursor_context]]
=== Kursor
// TRANSLATION MISSING
Te skróty są używane w kontekście kursora (dowolne przemieszczanie kursora na
ekranie), see <<cursor_mode,Cursor mode>>.
ekranie), zobacz <<cursor_mode,tryb kursora>>.
[width="100%",cols="^.^3,^.^2,.^7,.^7",options="header"]
|===
@@ -1695,18 +1800,12 @@ ekranie), see <<cursor_mode,Cursor mode>>.
| kbd:[↓] | - | Przesuń kursor linię niżej. | `+/cursor move down+`
| kbd:[←] | - | Przesuń kursor kolumnę w lewo. | `+/cursor move left+`
| kbd:[→] | - | Przesuń kursor kolumnę w prawo. | `+/cursor move right+`
// TRANSLATION MISSING
| kbd:[Alt+] | - | Move cursor to the first line of the area. | `+/cursor move edge_top+`
// TRANSLATION MISSING
| kbd:[Alt+] | - | Move cursor to the last line of the area. | `+/cursor move edge_bottom+`
// TRANSLATION MISSING
| kbd:[Alt+←] | - | Move cursor to the first column of the area. | `+/cursor move edge_left+`
// TRANSLATION MISSING
| kbd:[Alt+→] | - | Move cursor to the last column of the area. | `+/cursor move edge_right+`
// TRANSLATION MISSING
| kbd:[Alt+Home] | - | Move cursor to the top left corner of the area. | `+/cursor move top_left+`
// TRANSLATION MISSING
| kbd:[Alt+End] | - | Move cursor to the bottom right corner of the area. | `+/cursor move bottom_right+`
| kbd:[Alt+↑] | - | Przesuń kursor do pierwszej linii w obszarze. | `+/cursor move edge_top+`
| kbd:[Alt+] | - | Przesuń kursor do ostatniej linii w obszarze. | `+/cursor move edge_bottom+`
| kbd:[Alt+←] | - | Przesuń kursor do pierwszej kolumny w obszarze. | `+/cursor move edge_left+`
| kbd:[Alt+] | - | Przesuń kursor do ostatniej kolumny w obszarze. | `+/cursor move edge_right+`
| kbd:[Alt+Home] | - | Przesuń kursor w górny lewy róg obszaru. | `+/cursor move top_left+`
| kbd:[Alt+End] | - | Przesuń kursor w dolny prawy róg obszaru. | `+/cursor move bottom_right+`
| kbd:[Alt+Shift+↑] | - | Przesuń kursor obszar do góry. | `+/cursor move area_up+`
| kbd:[Alt+Shift+↓] | - | Przesuń kursor obszar w dół. | `+/cursor move area_down+`
| kbd:[Alt+Shift+←] | - | Przesuń kursor obszar w lewo. | `+/cursor move area_left+`
@@ -1747,23 +1846,17 @@ za pomocą skrótu kbd:[Alt+m] (komenda: `+/mouse toggle+`).
| kbd:[▼] | - | chat: bufor fset | Przewiń pięć linii w dół w buforze fset. | `+/fset -down 5+`
| kbd:[■ □ □] | - | chat: bufor fset | Zaznacz linię b buforze fset. | `+/window ${_window_number};/fset -go ${fset_option_index}+`
| kbd:[□ □ ■] | - | chat: bufor fset | Przełącz (włącz/wyłącz) lub edytuj wartośc opcji. | `+hsignal:fset_mouse+`
// TRANSLATION MISSING
| kbd:[□ □ ■] | left | chat: bufor fset | Zmniejsz wartość zmiennej liczbowej / koloru / enum, ustaw/rozszerz wartośc innego typu. | `+hsignal:fset_mouse+`
// TRANSLATION MISSING
| kbd:[□ □ ■] | right | chat: bufor fset | Zwiększ wartość zmiennej liczbowej / koloru / enum, ustaw/rozszerz wartośc innego typu. | `+hsignal:fset_mouse+`
| kbd:[□ □ ■] | up / down | chat: bufor fset | Zaznacz/odznacz wiele opcji. | `+hsignal:fset_mouse+`
// TRANSLATION MISSING
| kbd:[▲] | - | chat: /list buffer | Move five lines up in /list buffer. | `+/list -up 5+`
// TRANSLATION MISSING
| kbd:[▼] | - | chat: /list buffer | Move five lines down in /list buffer. | `+/list -down 5+`
// TRANSLATION MISSING
| kbd:[] | - | chat: /list buffer | Select line in /list buffer. | `+/window ${_window_number};/list -go ${_chat_line_y}+`
// TRANSLATION MISSING
| kbd:[□ □ ■] | - | chat: /list buffer | Join IRC channel on selected line. | `+hsignal:irc_list_mouse+`
| kbd:[▲] | - | chat: bufor skryptów | Przejdź 5 linii w górę w buforze skryptów. | `+/script up 5+`
| kbd:[▼] | - | chat: bufor skryptów | Przejdź 5 linii w dół w buforze skryptów. | `+/script down 5+`
| kbd:[■ □ □] | - | chat: bufor skryptów | Zaznacz linię w buforze skryptów. | `+/script go ${_chat_line_y}+`
| kbd:[□ □ ■] | - | chat: bufor skryptów | Zainstaluj/usuń skrypt. | `+/script go ${_chat_line_y};/script installremove -q ${script_name_with_extension}+`
| kbd:[□ □ ■] | lewo | chat: bufor fset | Zmniejsz wartość zmiennej liczbowej / koloru / enum, ustaw/rozszerz wartośc innego typu. | `+hsignal:fset_mouse+`
| kbd:[□ □ ■] | prawo | chat: bufor fset | Zwiększ wartość zmiennej liczbowej / koloru / enum, ustaw/rozszerz wartośc innego typu. | `+hsignal:fset_mouse+`
| kbd:[□ □ ■] | góra / dół | chat: bufor fset | Zaznacz/odznacz wiele opcji. | `+hsignal:fset_mouse+`
| kbd:[▲] | - | chat: /list buffer | Przesuń pięć linii w górę w buforze /list. | `+/list -up 5+`
| kbd:[▼] | - | chat: /list buffer | Przesuń pięć linii w dół w buforze /list. | `+/list -down 5+`
| kbd:[■ □ □] | - | chat: /list buffer | Wybierz linię w buforze /list. | `+/window ${_window_number};/list -go ${_chat_line_y}+`
| kbd:[□ □ ■] | - | chat: /list buffer | Wejdź na kanał IRC w zaznaczonej linii. | `+hsignal:irc_list_mouse+`
| kbd:[▲] | - | chat: bufor skryptów | Przejdź 5 linii w górę w buforze skryptów. | `+/script -up 5+`
| kbd:[▼] | - | chat: bufor skryptów | Przejdź 5 linii w dół w buforze skryptów. | `+/script -down 5+`
| kbd:[■ □ □] | - | chat: bufor skryptów | Zaznacz linię w buforze skryptów. | `+/script -go ${_chat_line_y}+`
| kbd:[] | - | chat: bufor skryptów | Zainstaluj/usuń skrypt. | `+/script -go ${_chat_line_y};/script installremove -q ${script_name_with_extension}+`
| kbd:[■ □ □] | góra / lewo | buflist | Przenieś bufor na niższy numer. | Sygnał `+buflist_mouse+`.
| kbd:[■ □ □] | dół / prawo | buflist | Przenieś bufor na wyższy numer. | Sygnał `+buflist_mouse+`.
| kbd:[■ □ □] | - | buflist | Przełącz na bufor (poprzednio odwiedzony bufor, jeśli jest to obecny bufor). | Sygnał `+buflist_mouse+`.
@@ -1786,14 +1879,13 @@ za pomocą skrótu kbd:[Alt+m] (komenda: `+/mouse toggle+`).
|===
[NOTE]
// TRANSLATION MISSING
^(1)^ Buttons: +
kbd:[□ □]: click on left button +
kbd:[□ □]: click on middle button +
kbd:[□ □ ◼]: click on right button +
Wheel: +
kbd:[]: wheel up +
kbd:[▼]: wheel down
^(1)^ Przyciski: +
kbd:[◼ □ □]: kliknięcie lewym przyciskiem +
kbd:[□ □]: kliknięcie środkowym przyciskiem +
kbd:[□ □]: kliknięcie prawym przyciskiem +
Kółko: +
kbd:[▲]: w górę +
kbd:[]: w dół
[[key_bindings_fset_buffer]]
=== Bufor fset
@@ -1812,9 +1904,7 @@ Poniższe skróty i akcje mogą zostać użyte w buforze fset (zobacz <<fset,wty
| kbd:[F11] | `pass:[<]` | Przewiń poziomo w lewo. | `+/fset -left+`
| kbd:[F12] | `pass:[>]` | Przewiń poziomo w prawo. | `+/fset -right+`
| kbd:[Alt+Space] | `t` | Przełącz zmienną boolowską. | `+/fset -toggle+`
// TRANSLATION MISSING
| kbd:[Alt+-] | `-` | Odejmij 1 od wartości liczbowej/koloru/enum, ustaw wartość pozostałych typów. | `+/fset -del -1+`
// TRANSLATION MISSING
| kbd:[Alt++] | `+` | Dodaj 1 do wartości liczbowej/koloru/enum, dodaj to wartości pozostałych typów. | `+/fset -add 1+`
| kbd:[Alt+f], kbd:[Alt+r] | `r` | Zresetuj wartość. | `+/fset -reset+`
| kbd:[Alt+f], kbd:[Alt+u] | `u` | Skasuj wartość. | `+/fset -unset+`
@@ -1829,8 +1919,8 @@ Poniższe skróty i akcje mogą zostać użyte w buforze fset (zobacz <<fset,wty
| kbd:[Ctrl+l] (`L`) | | Odświerz opcje i cały ekran. | `+/fset -refresh+`
| | `$` | Odświerz opcje (zachowuje zaznaczone opcje). |
| | `$$` | Odświerz opcje (odznacza zaznaczone kompilację). |
| kbd:[Alt+p] | | Przełącz opcje opisu wtyczki (`pass:[plugins.desc.*]`). | `+/mute /set fset.look.show_plugins_desc toggle+`
| kbd:[Alt+v] | | Przełącz pasek pomocy. | `+/bar toggle fset+`
| kbd:[Alt+p] | `p` | Przełącz opcje opisu wtyczki (`pass:[plugins.desc.*]`). | `+/mute /set fset.look.show_plugins_desc toggle+`
| kbd:[Alt+v] | `v` | Przełącz pasek pomocy. | `+/bar toggle fset+`
| | `s:x,y` | Sortuj opcje po polach x,y (zobacz opcję <<option_fset.look.sort,fset.look.sort>>). | `+/mute /set fset.look.sort x,y+`
| | `s:` | Zresetuj soerowanie do domyślnej wartości (zobacz opcję <<option_fset.look.sort,fset.look.sort>>). | `+/mute /unset fset.look.sort+`
| | `w:xxx` | Wyeksportuj opcje do pliku "xxx". | `+/fset -export xxx+`
@@ -1843,11 +1933,10 @@ Poniższe skróty i akcje mogą zostać użyte w buforze fset (zobacz <<fset,wty
[NOTE]
^(1)^ Akcja musi zostać wprowadzona z linii poleceń i potwierdzona przez kbd:[Enter].
// TRANSLATION MISSING
[[key_bindings_irc_list_buffer]]
=== IRC /list buffer
=== Bufor IRC /list
These keys and actions are used on the IRC /list buffer (see command <<command_irc_list,/list>>).
Te skróty i akcje mogą zostać użyte w buforze IRC /list (zobacz komendę <<command_irc_list,/list>>).
[width="100%",cols="^.^3,^.^2,.^8,.^5",options="header"]
|===
@@ -1860,18 +1949,18 @@ These keys and actions are used on the IRC /list buffer (see command <<command_i
| kbd:[Alt+End] | `pass:[>>]` | Przejdź do ostatniej linii. | `+/list -go end+`
| kbd:[F11] | `pass:[<]` | Przewiń poziomo w lewo. | `+/list -left+`
| kbd:[F12] | `pass:[>]` | Przewiń poziomo w prawo. | `+/list -right+`
| kbd:[Ctrl+j] | `j` | Join IRC channel on selected line. | `+/list -join+`
| | `xxx` | Show only channels with "xxx" in name or topic (case insensitive). |
| | `n:xxx` | Show only channels with "xxx" in name (case insensitive). |
| | `t:xxx` | Show only channels with "xxx" in topic (case insensitive). |
| | `u:n` | Show only channels with at least "n" users. |
| | `u:>n` | Show only channels with more than "n" users. |
| | `u:<n` | Show only channels with less than "n" users. |
| | `c:xxx` | Show only channels matching the evaluated condition "xxx", using following variables: name, name2, users, topic. |
| | `s:x,y` | Sort channels by fields x,y (see command <<command_irc_list,/list>>). |
| | `s:` | Reset sort to its default value (see command <<command_irc_list,/list>>). |
| | `$` | Refresh list (run again command <<command_irc_list,/list>>). |
| | `q` | Close buffer. | `+/buffer close+`
| kbd:[Ctrl+j] | `j` | Wejdź na kanał IRC z zaznaczonej linii. | `+/list -join+`
| | `xxx` | Pokaż tylko kanały z "xxx" w nazwie lub temacie (wielkość liter nie jest uwzględniana). |
| | `n:xxx` | Pokaż tylko kanały z "xxx" w nazwie (wielkość liter nie jest uwzględniana). |
| | `t:xxx` | Pokaż tylko kanały z "xxx" w temacie (wielkość liter nie jest uwzględniana). |
| | `u:n` | Pokaż tylko kanały z przynajmniej "n" użytkownikami. |
| | `u:>n` | Pokaż tylko kanały z więcej niż "n" użytkownikami. |
| | `u:<n` | Pokaż tylko kanały z mniej niż "n" użytkownikami. |
| | `c:xxx` | Pokaż tylko kanały pasujące do przetworzonego warunku "xxx", z użyciem następujących zmiennych: name, name2, users, topic. |
| | `s:x,y` | Sortuj kanały po polach x,y (zobacz komendę <<command_irc_list,/list>>). |
| | `s:` | Zresetuj sortowanie do domyślnej wartości (zobacz komendę <<command_irc_list,/list>>). |
| | `$` | Odświerz listę (wykonaj ponownie komendę <<command_irc_list,/list>>). |
| | `q` | Zamknij bufor. | `+/buffer close+`
|===
[NOTE]
@@ -1885,17 +1974,22 @@ Te skróty klawiszowe i akcje mogą zostać użyte w buforze skryptów (zobacz <
[width="100%",cols="^.^3,^.^2,.^8,.^5",options="header"]
|===
| Skrót | Akcja ^(1)^ | Opis | Komenda
| kbd:[↑] | | Przejdź linię wyżej. | `+/script up+`
| kbd:[↓] | | Przejdź linię niżej. | `+/script down+`
| kbd:[↑] | | Przejdź linię wyżej. | `+/script -up+`
| kbd:[↓] | | Przejdź linię niżej. | `+/script -down+`
| kbd:[PgUp] | | Przewiń stronę do góry. | `+/window page_up+`
| kbd:[PgDn] | | Przewiń stronę w dół. | `+/window page_down+`
| kbd:[Alt+i] | `i` | Zainstaluj skrypt. | `+/script install+`
| kbd:[Alt+r] | `r` | Usuń skrypt. | `+/script remove+`
| kbd:[Alt+l] (`L`) | `l` | Załaduj skrypt. | `+/script load+`
| kbd:[Alt+l] | `l` | Załaduj skrypt. | `+/script load+`
| kbd:[Alt+L] | `L` | Przeładuj skrypt. | `+/script reload+`
| kbd:[Alt+u] | `u` | Wyładuj skrypt. | `+/script unload+`
| kbd:[Alt+Shift+A] | `A` | Automatycznie ładuj skrypt. | `+/script toggleautoload+`
| kbd:[Alt+h] | `h` | Zablokuj/odblokuj skrypt. | `+/script hold+`
| kbd:[Alt+v] | `v` | Pokarz skrypt. | `+/script show+`
| | `s:x,y` | Sortuj skrypty po polach x,y (zobacz opcję <<option_script.look.sort,script.look.sort>>). |
| | `s:` | Zresetuj sortowanie do domyślnej wartości (zobacz opcję <<option_script.look.sort,script.look.sort>>). |
| | `$` | Odświerza listę. |
| | `q` | Zamyka bufor. | `+/buffer close+`
|===
[NOTE]
@@ -2253,14 +2347,9 @@ z ustawonym dla każdego z nich maksymalnym poziomem hotlisty, możliwe poziomy
Na przykład, żeby wyłączyć podświetlenia od "joe" oraz "mike" w obecnym buforze:
----
/buffer set hotlist_max_level_nicks_add joe:2,mike:2
/buffer setauto hotlist_max_level_nicks_add joe:2,mike:2
----
[NOTE]
Właściwość bufora "hotlist_max_level_nicks" nie jest zapisywana w konfiguracji. +
Można ją zapisać za pomocą skryptu _buffer_autoset.py_: można go zaintalować za pomocą
`+/script install buffer_autoset.py+`, informacje o używaniu `+/help buffer_autoset+`.
[[highlights]]
=== Podświetlenia
@@ -2285,14 +2374,9 @@ Można to także osiągnąć za pomocą właściwości bufora "highlight_disable
Ten sam przykład, tylko dla konkretnego bufora:
----
/buffer set highlight_disable_regex <flash.*>
/buffer setauto highlight_disable_regex <flash.*>
----
[NOTE]
Właściwość bufora "highlight_disable_regex" nie jest zapisywana w konfiguracji. +
Można ją zapisać za pomocą skryptu _buffer_autoset.py_: można go zaintalować za pomocą
`+/script install buffer_autoset.py+`, informacje o używaniu `+/help buffer_autoset+`.
[[highlights_words]]
==== Dodawanie słów do podświetleń
@@ -2346,14 +2430,9 @@ Możesz wymusić podświetlenia używając wyrażenia regularnego z właściwoś
Na przykład żeby wymusić podświetlenie dla wszytkich wiadomości w obecnym buforze:
----
/buffer set highlight_regex .*
/buffer setauto highlight_regex .*
----
[NOTE]
Właściwość bufora "highlight_regex" nie jest zapisywana w konfiguracji. +
Można ją zapisać za pomocą skryptu _buffer_autoset.py_: można go zaintalować za pomocą
`+/script install buffer_autoset.py+`, informacje o używaniu `+/help buffer_autoset+`.
[[buffer_logging]]
=== Bufor logera
@@ -3241,30 +3320,31 @@ Sekcje w pliku _weechat.conf_:
[width="100%",cols="3m,6m,16",options="header"]
|===
| Sekcja | Komenda | Opis
| debug | <<command_weechat_debug,/debug set>> +
/set weechat.debug.* | Poziom debugowania dla rdzenia i wtyczek (opcje mogą być dodawane/usuwane w sekcji).
| startup | /set weechat.startup.* | Opcje dla startu aplikacji.
| look | /set weechat.look.* | Wygląd.
| palette | <<command_weechat_color,/color alias>> +
/set weechat.palette.* | Aliasy kolorów (opcje mogą być dodawane/usuwane w sekcji).
| color | /set weechat.color.* | Kolory.
| completion | /set weechat.completion.* | Opcje dopełnień.
| history | /set weechat.history.* | Opcje historii (komend i buforów).
| proxy | <<command_weechat_proxy,/proxy>> +
/set weechat.proxy.* | Opcje proxy.
| network | /set weechat.network.* | Opcje sieci/TLS.
| plugin | /set weechat.plugin.* | Opcje wtyczek.
| signal | /set weechat.signal.* | Opcje sygnałów.
| bar | <<command_weechat_bar,/bar>> +
/set weechat.bar.* | Opcje pasków.
| layout | <<command_weechat_layout,/layout>> | Układy.
| notify | <<command_weechat_buffer,/buffer notify>> | Poziomy powiadomień dla buforów (opcje mogą być dodawane/usuwane w sekcji).
| filter | <<command_weechat_filter,/filter>> | Filtry.
| key | <<command_weechat_key,/key>> | Skróty klawiszowe dla domyślnego kontekstu.
| key_search | <<command_weechat_key,/key>> | Skróty klawiszowe dla kontekstu wyszukiwania.
| key_cursor | <<command_weechat_key,/key>> | Skróty klawiszowe dla kontekstu kursora.
| key_mouse | <<command_weechat_key,/key>> | Skróty klawiszowe dla kontekstu myszy.
| Sekcja | Komenda | Opis
| debug | <<command_weechat_debug,/debug set>> +
/set weechat.debug.* | Poziom debugowania dla rdzenia i wtyczek (opcje mogą być dodawane/usuwane w sekcji).
| startup | /set weechat.startup.* | Opcje dla startu aplikacji.
| look | /set weechat.look.* | Wygląd.
| palette | <<command_weechat_color,/color alias>> +
/set weechat.palette.* | Aliasy kolorów (opcje mogą być dodawane/usuwane w sekcji).
| color | /set weechat.color.* | Kolory.
| completion | /set weechat.completion.* | Opcje dopełnień.
| history | /set weechat.history.* | Opcje historii (komend i buforów).
| proxy | <<command_weechat_proxy,/proxy>> +
/set weechat.proxy.* | Opcje proxy.
| network | /set weechat.network.* | Opcje sieci/TLS.
| plugin | /set weechat.plugin.* | Opcje wtyczek.
| signal | /set weechat.signal.* | Opcje sygnałów.
| bar | <<command_weechat_bar,/bar>> +
/set weechat.bar.* | Opcje pasków.
| layout | <<command_weechat_layout,/layout>> | Układy.
| buffer | <<command_weechat_buffer,/buffer setauto>> | Właściwości automatycznie nanoszne na bufory podczas otwierania.
| notify | <<command_weechat_buffer,/buffer notify>> | Poziomy powiadomień dla buforów (opcje mogą być dodawane/usuwane w sekcji).
| filter | <<command_weechat_filter,/filter>> | Filtry.
| key | <<command_weechat_key,/key>> | Skróty klawiszowe dla domyślnego kontekstu.
| key_search | <<command_weechat_key,/key>> | Skróty klawiszowe dla kontekstu wyszukiwania.
| key_cursor | <<command_weechat_key,/key>> | Skróty klawiszowe dla kontekstu kursora.
| key_mouse | <<command_weechat_key,/key>> | Skróty klawiszowe dla kontekstu myszy.
|===
Opcje:
@@ -4136,15 +4216,13 @@ Jeśli chcesz przywrócić standardowe odpowiedzi dla CTCP usuń opcję:
/unset irc.ctcp.version
----
// TRANSLATION MISSING
The CTCP replies are evaluated (see command <<command_weechat_eval,/eval>>) and
the following extra variables are available:
Odpowiedzi CTCP są przetwarzane (zobacz komendę <<command_weechat_eval,/eval>>),
można użyć następujących zmiennych:
[width="100%",cols="2,4,8",options="header"]
|===
// TRANSLATION MISSING
| Variable | Opis | Wartość/Przykład
| `+${clientinfo}+` | Lista wspieranych CTCP | `+ACTION DCC CLIENTINFO FINGER PING SOURCE TIME USERINFO VERSION+`
| Zmienna | Opis | Wartość/Przykład
| `+${clientinfo}+` | Lista wspieranych CTCP | `+ACTION DCC CLIENTINFO PING SOURCE TIME VERSION+`
| `+${version}+` | Wersja WeeChat | `+4.1.0-dev+`
| `+${versiongit}+` | Wersja WeeChat + wersja Git ^(1)^ | `+4.1.0-dev (git: v4.0.0-51-g8f98b922a)+`
| `+${git}+` | Wersja git ^(1)^ | `+v4.0.0-51-g8f98b922a+`
@@ -4161,17 +4239,14 @@ the following extra variables are available:
^(1)^ Wersja git jest wynikiem komendy `git describe`. Jest dostępna tylko jeśli
WeeChat został skompilowany wewnątrz repozytorium Git i Git był zainstalowany.
// TRANSLATION MISSING
The default CTCP replies are:
Domyślne odpowiedzi CTCP:
[width="100%",cols="2,4,8",options="header"]
|===
| CTCP | Format odpowiedzi | Przykład
| CLIENTINFO | `+${clientinfo}+` | `+ACTION DCC CLIENTINFO FINGER PING SOURCE TIME USERINFO VERSION+`
| FINGER | `+WeeChat ${version}+` | `+WeeChat 4.1.0-dev+`
| CLIENTINFO | `+${clientinfo}+` | `+ACTION DCC CLIENTINFO PING SOURCE TIME VERSION+`
| SOURCE | `+${download}+` | `+https://weechat.org/download/+`
| TIME | `+${time}+` | `+Sat, 08 Jul 2023 21:11:19 +0200+`
| USERINFO | `+${username} (${realname})+` | `+name (John Doe)+`
| VERSION | `+WeeChat ${version}+` | `+WeeChat 4.1.0-dev+`
|===
@@ -5154,7 +5229,7 @@ od typu hooka:
| signal | tg_signal_data |
| hsignal | |
| modifier | tg_string | tg_string
| line | message | buffer, buffer_name, y, date, date_printed, str_time, tags, notify_level, highlight, prefix, message
| line | message | buffer, buffer_name, y, date, date_usec, date_printed, date_usec_printed, str_time, tags, notify_level, highlight, prefix, message
| print | tg_message |
| command | tg_argv_eol1 |
| command_run | tg_command |
@@ -5313,7 +5388,9 @@ Callback "line" ustawia następujące zmienne w tablicy hashy:
| buffer_type | ciąg | Typ bufora ("formatted" lub "free").
| y | ciąg | Numer linii bufora z wolną zawartością (≥ 0), -1 dla bufora ze sformatowaną zawartością.
| date | ciąg | Linia z datą (timestamp).
| date_usec | ciąg | Mikrosekundy w linii z datą.
| date_printed | ciąg | Data, kiedy linia została wyświetlona (timestamp).
| date_usec_printed | ciąg | Mikrosekundy w dacie wyświetlenia linii.
| str_time | ciąg | Date do wyświetlenia. Może zawierać kody kolorów.
| tags | ciąg | Tagi wiadomości (z przecinkiem dodanym na początku/końcu ciągu).
| displayed | ciąg | "1" jeśli wyświetlono, "0" jeśli nie wyświetlono.
@@ -5352,7 +5429,7 @@ Callback "print" ustawia następujące zmienne w tablicy hashy:
|===
| Zmienna | Typ | Opis
| buffer | wskaźnik | Bufor.
| tg_date | ciąg | Data/czas wiadomości (format: `YYYY-MM-DD hh:mm:ss`).
| tg_date | ciąg | Data/czas wiadomości (format: `%FT%T.%f`, zobacz link:weechat_plugin_api.en.html#_util_strftimeval[Opis API wtyczek WeeChat / util_strftimeval ^↗^^]).
| tg_displayed | ciąg | "1" jeśli wyświetlone, "0" jeśli linia odfiltrowana.
| tg_highlight | ciąg | "1" jeśli higlight, inaczej "0".
| tg_prefix | ciąg | Prefiks.
@@ -5417,7 +5494,7 @@ Callback "timer" ustawia następujące zmienne w tablicy hashy:
|===
| Zmienna | Typ | Opis
| tg_remaining_calls | ciąg | Liczba pozostałych wywołań.
| tg_date | ciąg | Obecna data/czas (format: `YYYY-MM-DD hh:mm:ss`).
| tg_date | ciąg | Obecna data/czas `%FT%T.%f`, zobacz link:weechat_plugin_api.en.html#_util_strftimeval[Opis API wtyczek WeeChat / util_strftimeval ^↗^^]).
|===
[[trigger_data_config]]
+2 -2
View File
@@ -1,7 +1,7 @@
#!/usr/bin/env python3
#
# Copyright (C) 2019 Simmo Saan <simmo.saan@gmail.com>
# Copyright (C) 2021-2023 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2021-2024 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
@@ -37,7 +37,7 @@ STUB_HEADER = """\
# DO NOT EDIT BY HAND!
#
from typing import Dict
from typing import Dict, Union
"""
CONSTANT_RE = (
+1 -1
View File
@@ -99,7 +99,7 @@ $HOME/.local/share/weechat/weechat.log::
WeeChat написан Sébastien Helleu и другими участниками (полный список находится
в файле AUTHORS.adoc).
Copyright (C) 2003-2023 {author}
Copyright (C) 2003-2024 {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
@@ -97,7 +97,7 @@ $HOME/.config/weechat/weechat.log::
// tag::copyright[]
Програм WeeChat је написао Себастијен Елеу и људи који су дали свој допринос (комплетна листа се налази у фајлу AUTHORS.adoc).
Ауторска права (C) 2003-2023 {author}
Ауторска права (C) 2003-2024 {author}
WeeChat је слободни софтвер; можете га редистрибуирати и/или изменити под условима ГНУ Опште Јавне Лиценце коју је објавила Free Software Foundation; или верзије 3 Лиценце, или (по вашој жељи) било којој каснијој верзији.
+11 -2
View File
@@ -142,10 +142,11 @@ WeeChat „језгро” се налази у следећим директо
|    wee-secure-buffer.c | Бафер обезбеђених података.
|    wee-secure-config.c | Опције обезбеђених података (фајл sec.conf).
|    wee-string.c | Функције над стринговима.
|    wee-sys.c | Системске функције.
|    wee-upgrade-file.c | Интерни систем ажурирања.
|    wee-upgrade.c | Ажурирање за WeeChat језгро (бафери, линије, историја, ...).
|    wee-url.c | URL трансфер (помоћу libcurl).
|    wee-utf8.c | UTF-8 фунцкије.
|    wee-utf8.c | UTF-8 функције.
|    wee-util.c | Неке друге функције.
|    wee-version.c | Функције за WeeChat верзију.
|    weechat.c | Основне функције: опције командне линије, покретање.
@@ -168,6 +169,7 @@ WeeChat „језгро” се налази у следећим директо
|       wee-hook-process.c | Кука "process".
|       wee-hook-signal.c | Кука "signal".
|       wee-hook-timer.c | Кука "timer".
|       wee-hook-url.c | Кука "url".
| gui/ | Функције за бафере, прозоре, ... (користе их сви интерфејси).
|    gui-bar-item.c | Ставке трака.
|    gui-bar-window.c | Прозори трака.
@@ -238,6 +240,7 @@ WeeChat „језгро” се налази у следећим директо
|       buflist.c | Главне buflist функције.
|       buflist-bar-item.c | Buflist ставке траке.
|       buflist-command.c | Buflist команде.
|       buflist-completion.c | Buflist довршавања.
|       buflist-config.c | Buflist опције кофиг (фајл buflist.conf).
|       buflist-info.c | Buflist info/infolists/hdata.
|       buflist-mouse.c | Buflist акције мишем.
@@ -402,6 +405,8 @@ WeeChat „језгро” се налази у следећим директо
|          unparse.py | Конверзија Python кода у остале језике, користи је скрипта testapigen.py.
|    unit/ | Корен unit тестова.
|       test-plugins.cpp | Тестови: plugins.
|       test-plugin-api-info.cpp | Тестови: инфо функције API додатака.
|       test-plugin-config.cpp | Тестови: функције конфигурације додатка.
|       core/ | Корен unit тестова језгра.
|          test-core-arraylist.cpp | Тестови: arraylists.
|          test-core-calc.cpp | Тестови: калкулација израза.
@@ -422,6 +427,9 @@ WeeChat „језгро” се налази у следећим директо
|          test-core-url.cpp | Тестови: URL адресе.
|          test-core-utf8.cpp | Тестови: UTF-8.
|          test-core-util.cpp | Тестови: помоћне функције.
|          test-core-sys.cpp | Тестови: системске функције.
|          hook/ | Корен unit тестова за куке.
|             test-hook-command.cpp | Тестови: куке „command”.
|       gui/ | Корен unit тестова интерфејса.
|          test-gui-bar-window.cpp | Тестови: функције прозора траке.
|          test-gui-buffer.cpp | Тестови: бафер функције.
@@ -441,6 +449,7 @@ WeeChat „језгро” се налази у следећим директо
|             test-irc-config.cpp | Тестови: IRC конфигурација.
|             test-irc-ctcp.cpp | Тестови: IRC CTCP.
|             test-irc-ignore.cpp | Тестови: IRC игнорисања.
|             test-irc-info.cpp | Тестови: IRC информације.
|             test-irc-join.cpp | Тестови: IRC функције приступања.
|             test-irc-list.cpp | Тестови: IRC бафер за одговор на /list команду.
|             test-irc-message.cpp | Тестови: IRC поруке.
@@ -524,7 +533,7 @@ WeeChat „језгро” се налази у следећим директо
/*
* weechat.c - core functions for WeeChat
*
* Copyright (C) 2023 Your Name <your@email.com>
* Copyright (C) 2024 Your Name <your@email.com>
*
* This file is part of WeeChat, the extensible chat client.
*
+63 -25
View File
@@ -517,6 +517,31 @@ UXTerm*metaSendsEscape: true
Ако користите macOS Terminal апликацију, укључите опцију „Use option as meta key” у менију Settings/Keyboard након чега можете користити тастер kbd:[Option] као meta тастер.
[[enter_key]]
=== Зашто неки тастери, укључујући Ентер, не функционишу?
Ако извршавате WeeChat < 4.0.0 са конфигурационим фајловима које је креирала било
која верзија ≥ 4.0.0, имена тастера постану неисправна и многи тастери уопште неће радити. +
Да бисте их поправили, напустите WeeChat, уклоните из weechat.conf све одељке `[key*]`
и поново покрените WeeChat: креираће се сви подразумевани тастери.
[[key_f11]]
=== Тастер F11 максимизира прозор терминала, како могу да скролујем навише листу надимака?
Терминало обично користе тастер kbd:[F11] да максимизују прозор, а у програму WeeChat
тастери kbd:[F11]/kbd:[F12] су подразумевани тастери за скроловање листе надимака.
Можете да вежете остале тастере, на пример kbd:[Shift+F11] и kbd:[Shift+F12],
у WeeChat ≥ 4.0.0:
----
/key bind shift-f11 /bar scroll nicklist * -100%
/key bind shift-f12 /bar scroll nicklist * +100%
----
Још једно решење је да укључите миша (тастер: kbd:[Alt+m]) и да скролујете точкићем
миша (погледајте такође питање у вези са <<mouse,мишем>>).
[[customize_key_bindings]]
=== Како могу да прилагодим тастерске пречице?
@@ -821,32 +846,20 @@ link:weechat_user.sr.html#max_hotlist_level_nicks[hotlist_max_level_nicks_add ^
можете користити да за неке надимке подесите максимални ниво вруће листе, по баферу, или по
групи бафера (као на пример IRC сервери).
Ако само желите да искључите истицања, треба да је поставите на 2:
Ако само желите да искључите истицања, треба да је поставите на 2.
За текући бафер:
----
/buffer set hotlist_max_level_nicks_add joe:2,mike:2
/buffer setauto hotlist_max_level_nicks_add пера:2,мика:2
----
Међутим, ова особина бафера се не чува у конфигурацији. Ако желите да се ове особине бафера аутоматски поново примене, биће вам потребна скрипта _buffer_autoset.py_:
За све канале на серверу „libera”:
----
/script install buffer_autoset.py
/set weechat.buffer.irc.libera.*.hotlist_max_level_nicks_add пера:2,мика:2
----
На пример, ако за стално желите да искључите истицања од надимка „mike” са #weechat на IRC серверу libera:
----
/buffer_autoset add irc.libera.#weechat hotlist_max_level_nicks_add mike:2
----
Ако уместо овога желите да се примени на комплетан libera сервер:
----
/buffer_autoset add irc.libera hotlist_max_level_nicks_add mike:2
----
За још примера, погледајте `+/help buffer_autoset+`.
[[irc_target_buffer]]
=== Како могу да променим циљни бафер за команде над спојеним баферима (као што је бафер са серверима)?
@@ -963,10 +976,8 @@ export OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES
Можете да следите исте савете као за <<memory_usage,меморију>>, као и следеће:
// TRANSLATION MISSING
* Сакријте „nicklist” траку: `/bar hide nicklist` (key: kbd:[Alt+Shift+N]).
// TRANSLATION MISSING
* Disable "buflist": `/buflist disable` (key: kbd:[Alt+Shift+B]).
* Сакријте „nicklist” траку: `/bar hide nicklist` (тастер: kbd:[Alt+Shift+N]).
* Искључите „buflist”: `/buflist disable` (тастер: kbd:[Alt+Shift+B]).
* Уклоните приказ секунди из времена у статусној траци: `+/set weechat.look.item_time_format "%H:%M"+` (ово је и подразумевана вредност).
* Искључите проверу неисправно написаних речи у командној линији у реалном времену (ако сте је укључили): `+/set spell.check.real_time off+`.
* Поставите променљиву _TZ_ (на пример: `export TZ="Europe/Paris"`), тиме спречавате чест приступ фајлу _/etc/localtime_.
@@ -991,9 +1002,8 @@ export OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES
/set irc.ctcp.ping ""
----
// TRANSLATION MISSING
With WeeChat < 4.1.0, other CTCP queries were replied by default and must be
disabled as well:
Са WeeChat < 4.1.0, на остале CTCP упите се подразумевано одговарало и такође морају
да се искључе:
----
/set irc.ctcp.finger ""
@@ -1028,6 +1038,34 @@ disabled as well:
Погледајте link:weechat_user.sr.html#files_and_directories[Корисничко упутство / Фајлови и директоријуми ^↗^^] за више информација о конфигурационим фајловима.
[[move_to_another_device]]
=== Желим да преместим свој WeeChat на други уређај и да задржим текућу конфигурацију, шта би требало да копирам?
Следећом командом најпре проверите које директоријуме користи WeeChat: `/debug dirs`. +
Морају да се копирају директоријуми home/config и home/data (сви фајлови и поддиректоријуми).
На пример, ако користите XDG директоријуме (подразумевано са WeeChat ≥ 3.2),
директоријуми би требало да буду `$HOME/.config/weechat` и `$HOME/.local/share/weechat`. +
Ако користите један директоријум (подразумевано са WeeChat < 3.2), директоријум би
требало да буде `$HOME/.weechat`.
[IMPORTANT]
WeeChat верзија на новом уређају мора да буде већа или једнака од верзије на почетном
уређају. +
Враћање WeeChat конфигурације уназад *НИЈЕ ПОДРЖАНО* и може да је поквари,
па на тај начин WeeChat постаје неупотребљив.
Кораци:
. Напустите Weechat: `/quit` (или `/upgrade -quit` ако желите могућност да наставите сесију,
што укључује садржај свих бафера).
. Копирајте све директоријуме, поддиректоријуме и фајлове на нови уређај, задржавајући
иста имена и дозволе.
. Није обавезно: копирајте све фајлове ван ових директоријума на које указује ваша
конфигурација (не препоручује се употреба фајлова ван WeeChat директоријума).
. Покрените WeeChat на новом уређају: `weechat` (или `weechat --upgrade` у случају да сте
сачували сесију).
[[development]]
== Развој
+518 -73
View File
@@ -2479,7 +2479,7 @@ str3 = weechat.string_input_for_buffer("//test") # "/test"
==== string_eval_expression
_WeeChat ≥ 0.4.0, ажурирано у верзијама 0.4.2, 0.4.3, 1.0, 1.1, 1.2, 1.3, 1.6, 1.8, 2.0, 2.2, 2.3, 2.7, 2.9, 3.1, 3.2, 3.3, 3.4, 3.6 и 3.8, 4.0.0._
_WeeChat ≥ 0.4.0, ажурирано у верзијама 0.4.2, 0.4.3, 1.0, 1.1, 1.2, 1.3, 1.6, 1.8, 2.0, 2.2, 2.3, 2.7, 2.9, 3.1, 3.2, 3.3, 3.4, 3.6 и 3.8, 4.0.0, 4.2.0._
Израчунава израз и враћа вредност као стринг. Специјалне променљиве у формату `+${променљива}+` се развијају (погледајте табелу испод).
@@ -2789,11 +2789,21 @@ str5 = weechat.string_eval_expression("password=abc password=def", {}, {}, optio
|===
| Формат | Мин WeeChat | Опис | Примери
| `+${raw_hl:xxx}+` | 4.2.0
| Сирови стринг (не израчунава се), са истицањем синтаксе (употребом боја).
| >> `+${raw_hl:${cut:1,,${rev:hello}}}+` +
== `+${cut:1,,${rev:hello}}+` (са бојама)
| `+${raw:xxx}+` | 3.1
| Сирови стринг (не израчунава се).
| >> `+${raw:${info:version}}+` +
== `+${info:version}+`
| `+${hl:xxx}+` | 4.2.0
| Стринг са истицањем синтаксе (употребом боја).
| >> `+${hl:${file.section.option}}+` +
== `+test ${variable}+` (са бојама)
| `+${име}+` | 3.4
| Корисничка променљива (дефинисана са `+${define:име,вредност}+`).
| >> `+${име}+` +
@@ -3357,6 +3367,46 @@ weechat_string_dyn_free (string, 1);
[NOTE]
Ова функција није доступна у API скриптовања.
==== string_concat
_WeeChat ≥ 4.2.0._
Спаја више стрингова користећи граничник.
Прототип:
[source,c]
----
const char *weechat_string_concat (const char *separator, ...);
----
Аргументи:
* _separator_: стринг граничник који се умеће између спојених стрингова
(може да буде NULL или празан стринг)
[NOTE]
Последњи аргумент *MUST* увек да буде NULL. +
Може да се употреби макро `WEECHAT_STR_CONCAT`, тамо где није потребна
завршна NULL вредност (препоручује се уптореба овог макроа).
Повратна вредност:
* спојени стринг
C пример:
[source,c]
----
const char *result = weechat_string_concat (" / ", "абв", "гдђ", "ежз", NULL); /* резултат == "абв / гдђ / ежз" */
/* са макроом */
const char *result = WEECHAT_STR_CONCAT(" / ", "абв", "гдђ", "ежз"); /* резултат == "абв / гдђ / ежз" */
----
[NOTE]
Ова функција није доступна у API скриптовања.
[[utf-8]]
=== UTF-8
@@ -3901,18 +3951,28 @@ int weechat_crypto_hash (const void *data, int data_size, const char *hash_algo,
[width="100%", cols="2,2,3,6", options="header"]
|===
| Вредност | Алгоритам | Величина хеша | Напомене
| `+crc32+` | CRC32 | 4 бајта (32 бита) | Није хеш алгоритам у криптографском смислу.
| `+md5+` | MD5 | 16 бајтова (128 бита) | *Слаб*, не препоручује се за криптографску употребу.
| `+sha1+` | SHA-1 | 20 бајтова (160 бита) | *Слаб*, не препоручује се за криптографску употребу.
| `+sha224+` | SHA-224 | 28 бајтова (224 бита) |
| `+sha256+` | SHA-256 | 32 бајта (256 бита) |
| `+sha384+` | SHA-384 | 48 бајтова (384 бита) |
| `+sha512+` | SHA-512 | 64 бајта (512 бита) |
| `+sha3-224+` | SHA3-224 | 28 бајтова (224 бита) | Алгоритам је доступан у libgcrypt ≥ 1.7.0.
| `+sha3-256+` | SHA3-256 | 32 бајта (256 бита) | Алгоритам је доступан у libgcrypt ≥ 1.7.0.
| `+sha3-384+` | SHA3-384 | 48 бајтова (384 бита) | Алгоритам је доступан у libgcrypt ≥ 1.7.0.
| `+sha3-512+` | SHA3-512 | 64 бајта (512 бита) | Алгоритам је доступан у libgcrypt ≥ 1.7.0.
| Вредност | Алгоритам | Величина хеша | Напомене
| `+crc32+` | CRC32 | 4 бајта (32 бита) | Није хеш алгоритам у криптографском смислу.
| `+md5+` | MD5 | 16 бајтова (128 бита) | *Слаб*, не препоручује се за криптографску употребу.
| `+sha1+` | SHA-1 | 20 бајтова (160 бита) | *Слаб*, не препоручује се за криптографску употребу.
| `+sha224+` | SHA-224 | 28 бајтова (224 бита) |
| `+sha256+` | SHA-256 | 32 бајта (256 бита) |
| `+sha384+` | SHA-384 | 48 бајтова (384 бита) |
| `+sha512+` | SHA-512 | 64 бајта (512 бита) |
| `+sha512-224+` | SHA-512/224 | 28 бајтова (224 бита) | Алгоритам је доступан у libgcrypt ≥ 1.9.4.
| `+sha512-256+` | SHA-512/256 | 32 бајта (256 бита) | Алгоритам је доступан у libgcrypt ≥ 1.9.4.
| `+sha3-224+` | SHA3-224 | 28 бајтова (224 бита) | Алгоритам је доступан у libgcrypt ≥ 1.7.0.
| `+sha3-256+` | SHA3-256 | 32 бајта (256 бита) | Алгоритам је доступан у libgcrypt ≥ 1.7.0.
| `+sha3-384+` | SHA3-384 | 48 бајтова (384 бита) | Алгоритам је доступан у libgcrypt ≥ 1.7.0.
| `+sha3-512+` | SHA3-512 | 64 бајта (512 бита) | Алгоритам је доступан у libgcrypt ≥ 1.7.0.
| `+blake2b-160+` | BLAKE2B-160 | 20 бајтова (160 бита) | Алгоритам је доступан у libgcrypt ≥ 1.8.0.
| `+blake2b-256+` | BLAKE2B-256 | 32 бајта (256 бита) | Алгоритам је доступан у libgcrypt ≥ 1.8.0.
| `+blake2b-384+` | BLAKE2B-384 | 48 бајтова (384 бита) | Алгоритам је доступан у libgcrypt ≥ 1.8.0.
| `+blake2b-512+` | BLAKE2B-512 | 64 бајта (512 бита) | Алгоритам је доступан у libgcrypt ≥ 1.8.0.
| `+blake2s-128+` | BLAKE2S-128 | 16 бајтова (128 бита) | Алгоритам је доступан у libgcrypt ≥ 1.8.0.
| `+blake2s-160+` | BLAKE2S-160 | 20 бајтова (160 бита) | Алгоритам је доступан у libgcrypt ≥ 1.8.0.
| `+blake2s-224+` | BLAKE2S-224 | 28 бајтова (224 бита) | Алгоритам је доступан у libgcrypt ≥ 1.8.0.
| `+blake2s-256+` | BLAKE2S-256 | 32 бајта (256 бита) ) | Алгоритам је доступан у libgcrypt ≥ 1.8.0.
|===
Повратна вредност:
@@ -4316,11 +4376,6 @@ if (weechat_file_copy ("/tmp/test.txt", "/path/to/test2.txt"))
[NOTE]
Ова функција није доступна у API скриптовања.
[[util]]
=== Алати
Неке корисне функције.
==== file_compress
_WeeChat ≥ 3.7._
@@ -4341,7 +4396,8 @@ int weechat_file_compress (const char *from, const char *to,
* _to_: одредишни фајл
* _compressor_: компресор који треба да се користи, једно од:
** _gzip_: gzip компресија
** _zstd_: zstandard компресија
** _zstd_: zstandard компресија (доступно само ако је zstd било укључено
у време када је WeeChat компајлиран)
* _compression_level_: ниво компресије, између 1 (брзо, ниска компресија) и
100 (споро, најбоља компресија)
@@ -4362,6 +4418,11 @@ if (weechat_file_compress ("/tmp/test.txt", "/tmp/test.txt.zst", "zstd", 50))
[NOTE]
Ова функција није доступна у API скриптовања.
[[util]]
=== Алати
Неке корисне функције.
==== util_timeval_cmp
Пореди две „timeval” структуре.
@@ -4496,6 +4557,81 @@ weechat_printf (NULL, "date: %s",
[NOTE]
Ова функција није доступна у API скриптовања.
==== util_strftimeval
_WeeChat ≥ 4.2.0._
Форматира датум и време као функција `strftime` у C библиотеци, користећи `struct timeval`
као улаз и уз подршку додатних спецификатора за микросекунде.
Прототип:
[source,c]
----
int weechat_util_strftimeval (char *string, int max, const char *format, struct timeval *tv);
----
Аргументи:
* _string_: бафер у који се смешта форматирани стринг
* _max_: величина стринга
* _format_: формат, исто као за _strftime_ функцију, са следећим додатним спецификаторима:
** `%.N` где је `N` између 1 и 6: микросекунде допуњене нулама на N цифара
(на пример `%.3` за милисекунде)
** `%f`: алијас за `%.6`
Повратна вредност:
* број бајтова постављен у _string_ (вредност враћена из функције _strftime_)
C пример:
[source,c]
----
char time[256];
struct timeval tv;
gettimeofday (&tv, NULL);
weechat_util_strftimeval (time, sizeof (time), "%FT%T.%f", &tv);
/* резултат: 2023-12-26T18:10:04.460509 */
----
[NOTE]
Ова функција није доступна у API скриптовања.
==== util_parse_time
_WeeChat ≥ 4.2.0._
Парсира датум/време са подршком за милисекунде.
Прототип:
[source,c]
----
int util_parse_time (const char *datetime, struct timeval *tv);
----
Аргументи:
* _date_: датум/време
* _tv_: парсиран датум/време („timeval” структура)
Повратна вредност:
* 1 ако је OK, 0 у случају грешке
C пример:
[source,c]
----
struct timeval tv;
weechat_util_parse_time ("2023-12-25T10:29:09.456789Z", &tv); /* == 1 */
/* резултат: tv.tv_sec == 1703500149, tv.tv_usec = 456789 */
----
[NOTE]
Ова функција није доступна у API скриптовања.
==== util_version_number
_WeeChat ≥ 0.3.9._
@@ -6509,9 +6645,10 @@ my_section_read_cb (const void *pointer, void *data,
{
/* ... */
return WEECHAT_CONFIG_READ_OK;
/* return WEECHAT_CONFIG_READ_MEMORY_ERROR; */
/* return WEECHAT_CONFIG_READ_FILE_NOT_FOUND; */
return WEECHAT_CONFIG_OPTION_SET_OK_CHANGED;
/* return WEECHAT_CONFIG_OPTION_SET_OK_SAME_VALUE; */
/* return WEECHAT_CONFIG_OPTION_SET_ERROR; */
/* return WEECHAT_CONFIG_OPTION_SET_OPTION_NOT_FOUND; */
}
int
@@ -6601,7 +6738,7 @@ def config_new_section(config_file: str, name: str,
callback_delete_option: str, callback_delete_option_data: str) -> str: ...
# пример
def my_section_read_cb(data: str, config_file: str, section: str, option_name: str, value: str | None) -> int:
def my_section_read_cb(data: str, config_file: str, section: str, option_name: str, value: Union[str, None]) -> int:
# ...
return weechat.WEECHAT_CONFIG_OPTION_SET_OK_CHANGED
# return weechat.WEECHAT_CONFIG_OPTION_SET_OK_SAME_VALUE
@@ -6620,7 +6757,7 @@ def my_section_write_default_cb(data: str, config_file: str, section_name: str)
# return weechat.WEECHAT_CONFIG_WRITE_ERROR
# return weechat.WEECHAT_CONFIG_WRITE_MEMORY_ERROR
def my_section_create_option_cb(data: str, config_file: str, section: str, option_name: str, value: str | None) -> int:
def my_section_create_option_cb(data: str, config_file: str, section: str, option_name: str, value: Union[str, None]) -> int:
# ...
return weechat.WEECHAT_CONFIG_OPTION_SET_OK_CHANGED
# return weechat.WEECHAT_CONFIG_OPTION_SET_OK_SAME_VALUE
@@ -6846,7 +6983,7 @@ struct t_config_option *option_enum =
# прототип
def config_new_option(config_file: str, section: str, name: str, type: str, description: str,
string_values: str, min: int, max: int,
default_value: str | None, value: str | None, null_value_allowed: int,
default_value: Union[str, None], value: Union[str, None], null_value_allowed: int,
callback_check_value: str, callback_check_value_data: str,
callback_change: str, callback_change_data: str,
callback_delete: str, callback_delete_data: str) -> str: ...
@@ -8965,12 +9102,13 @@ weechat.prnt("", "Color: %sblue %sdefault color %syellow on red"
void weechat_printf (struct t_gui_buffer *buffer, const char *message, ...);
----
Ова функција је пречица за функцију printf_date_tags. Следећа два позива дају потпуно исти резултат:
Ова функција је пречица за функцију printf_datetime_tags. +
Следећа два позива дају потпуно исти резултат:
[source,c]
----
weechat_printf (buffer, "message");
weechat_printf_date_tags (buffer, 0, NULL, "message");
weechat_printf_datetime_tags (buffer, 0, 0, NULL, "message");
----
Аргументи:
@@ -9028,6 +9166,15 @@ void weechat_printf_date_tags (struct t_gui_buffer *buffer, time_t date,
const char *tags, const char *message, ...);
----
Ова функција је пречица за функцију printf_datetime_tags. +
Следећа два позива дају потпуно исти резултат:
[source,c]
----
weechat_printf_date_tags (buffer, 0, NULL, "message");
weechat_printf_datetime_tags (buffer, 0, 0, NULL, "message");
----
Аргументи:
* _buffer_: показивач на бафер, ако је NULL, порука се приказује у WeeChat баферу
@@ -9061,6 +9208,61 @@ weechat.prnt_date_tags("", time - 120, "notify_message",
[NOTE]
Функција се у скриптама зове „print_date_tags” („prnt_date_tags” у језику Python).
==== printf_datetime_tags
_WeeChat ≥ 4.2.0._
Приказује поруку у баферу, користећи произвољни датум/време (са микросекундама)
и ознаке.
Прототип:
[source,c]
----
void weechat_printf_datetime_tags (struct t_gui_buffer *buffer, time_t date,
int date_usec, const char *tags, const char *message, ...);
----
Аргументи:
* _buffer_: показивач на бафер, ако је NULL, порука се приказује у WeeChat баферу
* _date_: датум за поруку (0 значи текући датум/време)
* _date_usec_: микросекунде датума (између 0 и 999999)
* _tags_: листа ознака раздвојених запетама (NULL значи да нема ознака)
* _message_: порука која треба да се прикаже
За листу ознака које се уобичјаено користе у програму WeeChat, погледајте link:weechat_user.sr.html#lines_tags[Корисничко упутство / Ознаке линија ^↗^^].
C пример:
[source,c]
----
struct timeval tv_now;
gettimeofday (&tv_now, NULL);
weechat_printf_datetime_tags (NULL, tv_now.tv_sec - 120, tv_now.tv_usec,
"notify_message",
"Message 2 minutes ago, with a tag 'notify_message'");
----
Скрипта (Python):
[source,python]
----
# прототип
def prnt_datetime_tags(buffer: str, date: int, date_usec: int, tags: str, message: str) -> int: ...
# пример
now = time.time()
time_sec = int(now)
time_usec = int((now * 1000000) % 1000000)
weechat.prnt_datetime_tags("", time_sec - 120, time_usec, "notify_message",
"Message 2 minutes ago, with a tag 'notify_message'")
----
[NOTE]
Функција се у скриптама зове „print_datetime_tags” („prnt_datetime_tags” у језику Python).
==== printf_y
Приказује поруку на линији бафера са слободним садржајем.
@@ -9069,8 +9271,16 @@ weechat.prnt_date_tags("", time - 120, "notify_message",
[source,c]
----
void weechat_printf_y (struct t_gui_buffer *buffer, int y,
const char *message, ...);
void weechat_printf_y (struct t_gui_buffer *buffer, int y, const char *message, ...);
----
Ова функција је скраћеница за функцију printf_y_datetime_tags. +
Следећа два позива враћају потпуно исти резултат:
[source,c]
----
weechat_printf_y (buffer, 0, "порука");
weechat_printf_y_datetime_tags (buffer, 0, 0, 0, NULL, "порука");
----
Аргументи:
@@ -9083,7 +9293,7 @@ C пример:
[source,c]
----
weechat_printf_y (buffer, 2, "My message on third line");
weechat_printf_y (buffer, 2, "Моја порука на трећој линији");
----
Скрипта (Python):
@@ -9094,7 +9304,7 @@ weechat_printf_y (buffer, 2, "My message on third line");
def prnt_y(buffer: str, y: int, message: str) -> int: ...
# пример
weechat.prnt_y("", 2, "My message on third line")
weechat.prnt_y("", 2, "Моја порука на трећој линији")
----
[NOTE]
@@ -9115,6 +9325,15 @@ void weechat_printf_y_date_tags (struct t_gui_buffer *buffer, int y, time_t date
const char *tags, const char *message, ...);
----
Ова функција је скраћеница за функцију printf_y_datetime_tags. +
Следећа два позива враћају потпуно исти резултат:
[source,c]
----
weechat_printf_y_date_tags (buffer, 0, 0, NULL, "порука");
weechat_printf_y_datetime_tags (buffer, 0, 0, 0, NULL, "порука");
----
Аргументи:
* _buffer_: показивач на бафер
@@ -9144,6 +9363,51 @@ weechat.prnt_y_date_tags("", 2, 0, "my_tag", "My message on third line with a ta
[NOTE]
У скриптама се функција зове „print_y_date_tags” („prnt_y_date_tags” у језику Python).
==== printf_y_datetime_tags
_WeeChat ≥ 4.2.0._
Приказује поруку на линији бафера са произвољним садржајем, користећи произвољни
датум/време (са микросекундама) и ознакама.
Прототип:
[source,c]
----
void weechat_printf_y_datetime_tags (struct t_gui_buffer *buffer, int y, time_t date,
int date_usec, const char *tags, const char *message, ...);
----
Аргументи:
* _buffer_: показивач на бафер
* _y_: број линије (прва линија је 0); негативна вредност додаје линију иза последње приказане линије: апсолутна вредност _y_ је број линија након последње линије (на пример -1 је непосредно након последње линије, -2 је 2 линије након последње линије)
* _date_: датум за поруку (0 значи текући датум/време)
* _date_usec_: микросекунде датума (између 0 и 999999)
* _tags_: листа ознака раздвојених запетама (NULL значи да нема ознака)
* _message_: порука која треба да се прикаже
C пример:
[source,c]
----
weechat_printf_y_datetime_tags (buffer, 2, 0, 0, "my_tag", "My message on third line with a tag");
----
Скрипта (Python):
[source,python]
----
# прототип
def prnt_y_datetime_tags(buffer: str, y: int, date: int, date_usec: int, tags: str, message: str) -> int: ...
# пример
weechat.prnt_y_datetime_tags("", 2, 0, 0, "my_tag", "My message on third line with a tag")
----
[NOTE]
У скриптама се функција зове „print_y_datetime_tags” („prnt_y_datetime_tags” у језику Python).
==== log_printf
Уписује поруку у WeeChat лог фајл (weechat.log).
@@ -9714,7 +9978,6 @@ struct t_hook *weechat_hook_process (const char *command,
void *callback_data);
----
Аргументи:
* _command_: команда која се покреће у дете процесу, URL _(WeeChat ≥ 0.3.7)_ или функција _(WeeChat ≥ 1.5)_ (погледајте испод)
@@ -9945,18 +10208,7 @@ struct t_hook *weechat_hook_process_hashtable (const char *command,
_/dev/null_.
|===
За команду url:...” су доступне следеће опције (за опис сваке опције погледајте `+man curl_easy_setopt+`):
include::{autogendir}/autogen_api_url_options.sr.adoc[tag=url_options]
[NOTE]
^(1)^ За опције типа „mask”, формат је: „вредност1+вредност2+вредност3”; за опције типа „list”, ставке листе морају да се раздвоје преломом линије (`\n`). +
^(2)^ Ако су доступне константе, оне морају да се користе као вредност опције.
За URL су дозвољене две додатне опције (стрингови) за улазни/излазни фајл:
* _file_in_: фајл који се чита и шаље URL адресама (post фајл)
* _file_out_: преузети URL/фајл се уписује у овај фајл (уместо на стандардни излаз)
За команду "url:...", погледајте доступне опције у функцији <<_hook_url,hook_url>>.
Повратна вредност:
@@ -10116,6 +10368,151 @@ hook4 = weechat.hook_process_hashtable("sh",
20000, "my_process_cb", "")
----
==== hook_url
_WeeChat ≥ 4.1.0._
URL трансфер.
Прототип:
[source,c]
----
struct t_hook *weechat_hook_url (const char *url,
struct t_hashtable *options,
int timeout,
int (*callback)(const void *pointer,
void *data,
const char *url,
struct t_hashtable *options,
struct t_hashtable *output),
const void *callback_pointer,
void *callback_data);
----
Аргументи:
* _url_: URL
* _options_: опције URL трансфера (погледајте испод); хеш табела се дуплира у функцији, тако да након овог позива безбедно можете да ослободите меморију коју заузима
* _timeout_: истек времена URL трансфера (у милисекундама): након овог периода,
трансфер се зауставља (0 значи без истека времена)
* _callback_: функција која се позива када се заврши трансфер, аргументи и повратна
вредност:
** _const void *pointer_: показивач
** _void *data_: показивач
** _const char *url_: URL
** _struct t_hashtable *options_: опције
** _struct t_hashtable *output_: резултат (кључеви и вредности су стрингови), који може
да садржи следеће кључеве:
*** _response_code_: HTTP кôд одзива
*** _headers_: HTTP заглавља у одзиву
*** _output_: стандардни излаз (поставља се само ако у опцијама није постављено _file_out_)
*** _error_: порука о грешки (поставља се само у случају грешке)
** повратна вредност:
*** _WEECHAT_RC_OK_
*** _WEECHAT_RC_ERROR_
* _callback_pointer_: показивач који се прослеђује функцији повратног позива када је позове програм WeeChat
* _callback_data_: показивач који се прослеђује функцији повратног позива када је позове програм WeeChat; ако није NULL, алоцирала га је malloc (или нека слична функција) и аутоматски се ослобађа када се кука обрише
Доступне су следеће Curl опције (погледајте `+man curl_easy_setopt+` за
опис сваке од опција):
include::{autogendir}/autogen_api_url_options.sr.adoc[tag=url_options]
[NOTE]
^(1)^ За опције типа „mask”, формат је: „вредност1+вредност2+вредност3”; за опције типа „list”, ставке листе морају да се раздвоје преломом линије (`\n`). +
^(2)^ Ако су доступне константе, оне морају да се користе као вредност опције.
За улазни/излазни фајл су дозвољене следеће две додатне опције (стрингови):
[width="100%",cols="2,^1,7",options="header"]
|===
| Опција | Тип | Опис
| file_in | string | фајл који се чита и шаље URL адресама (post фајл)
| file_out | string | преузети URL/фајл се уписује у овај фајл (уместо на стандардни излаз)
|===
Повратна вредност:
* показивач на нову куку, NULL у случају грешке
C пример:
[source,c]
----
int
my_url_cb (const void *pointer, void *data, const char *url,
struct t_hashtable *options, struct t_hashtable *output)
{
weechat_printf (NULL, "response_code: %s", weechat_hashtable_get (output, "response_code"));
weechat_printf (NULL, "headers: %s", weechat_hashtable_get (output, "headers"));
weechat_printf (NULL, "output: %s", weechat_hashtable_get (output, "output"));
weechat_printf (NULL, "error: %s", weechat_hashtable_get (output, "error"));
return WEECHAT_RC_OK;
}
/* example 1: output to a file */
struct t_hashtable *options_url1 = weechat_hashtable_new (8,
WEECHAT_HASHTABLE_STRING,
WEECHAT_HASHTABLE_STRING,
NULL,
NULL);
if (options_url1)
{
weechat_hashtable_set (options_url1, "file_out", "/tmp/weechat.org.html");
struct t_hook *my_url_hook = weechat_hook_url ("https://weechat.org/",
options_url1,
20000,
&my_url_cb, NULL, NULL);
weechat_hashtable_free (options_url1);
}
/* example 2: custom HTTP headers, output sent to callback */
struct t_hashtable *options_url2 = weechat_hashtable_new (8,
WEECHAT_HASHTABLE_STRING,
WEECHAT_HASHTABLE_STRING,
NULL,
NULL);
if (options_url2)
{
weechat_hashtable_set (options_url2, "httpheader",
"Header1: value1\n"
"Header2: value2");
struct t_hook *my_url_hook = weechat_hook_url ("http://localhost:8080/",
options_url2,
20000,
&my_url_cb, NULL, NULL);
weechat_hashtable_free (options_url2);
}
----
Скрипта (Python):
[source,python]
----
# прототип
def hook_url(url: str, options: Dict[str, str], timeout: int, callback: str, callback_data: str) -> str: ...
# пример
def my_url_cb(data: str, url: str, options: Dict[str, str], output: Dict[str, str]) -> int:
weechat.prnt("", "output: %s" % output)
return weechat.WEECHAT_RC_OK
# пример 1: излаз у фајл
hook1 = weechat.hook_url("https://weechat.org/",
{"file_out": "/tmp/weechat.org.html"},
20000, "my_url_cb", "")
# пример 2: произвољна HTTP заглавља, излаз се шаље функцији повратног позива
options = {
"httpheader": "\n".join([
"Header1: value1",
"Header2: value2",
]),
}
hook2 = weechat.hook_url("http://localhost:8080/", options, 20000, "my_url_cb", "")
----
==== hook_connect
_Ажурирано у верзијама 1.5, 2.0._
@@ -10293,7 +10690,7 @@ hook = weechat.hook_connect("", "my.server.org", 1234, 1, 0, "",
==== hook_line
_WeeChat ≥ 2.3, ажурирано у 3.7, 4.1.0._
_WeeChat ≥ 2.3, ажурирано у 4.2.0._
Качи се на линију која треба да се испише у бафер.
@@ -10349,16 +10746,14 @@ struct t_hook *weechat_hook_line (const char *buffer_type,
|===
| Кључ | Вредност (форматирани бафер) | Вредност (слободни бафер) | Примери
// TRANSLATION MISSING
| buffer
| Comma-separated list of buffer pointers.
| Comma-separated list of buffer pointers.
| Показивач на бафер.
| Показивач на бафер.
| `+0x1234abcd+`
// TRANSLATION MISSING
| buffer_name
| Comma-separated list of buffer names.
| Comma-separated list of buffer names.
| Име бафера.
| Име бафера.
| `+core.weechat+` +
`+irc.server.libera+` +
`+irc.libera.#weechat+`
@@ -10380,11 +10775,21 @@ struct t_hook *weechat_hook_line (const char *buffer_type,
| Нема ("0").
| `+1533792000+`
| date_usec
| Микросекунде датума линије (између 0 и 999999).
| N/A ("0").
| `+123456+`
| date_printed
| Датум када је линија била приказана (временска ознака).
| Нема ("0").
| `+1533792012+`
| date_usec_printed
| Микросекунде датума када је линија била приказана (између 0 и 999999).
| N/A ("0").
| `+654321+`
| str_time
| Датум за приказ (са могућим кодовима боја у себи).
| Нема (празан стринг).
@@ -10443,23 +10848,17 @@ struct t_hook *weechat_hook_line (const char *buffer_type,
|===
| Кључ | Дозвољена вредност (форматирани бафер) | Дозвољена вредност (слободни бафер) | Резултат
// TRANSLATION MISSING
| buffer
| Comma-separated list buffer pointers (with formatted content)
(multiple buffers are supported only with WeeChat ≥ 4.1.0).
| Comma-separated list buffer pointers (with free content)
(multiple buffers are supported only with WeeChat ≥ 4.1.0).
| The line is displayed on these buffers. +
| Показивач на бафер са форматираним садржајем.
| Показивач на бафер са слободним садржајем.
| Линија се приказује у овом баферу. +
Ако је вредност празна, линија се брише (тада се све остало у хеш табели
игнорише); наредне куке типа „line” се не позивају.
// TRANSLATION MISSING
| buffer_name
| Comma-separated list buffer names (with formatted content)
(multiple buffers are supported only with WeeChat ≥ 4.1.0).
| Comma-separated list buffer names (with free content)
(multiple buffers are supported only with WeeChat ≥ 4.1.0).
| The line is displayed on these buffers. +
| Име бафера са форматираним садржајем.
| Име бафера са слободним садржајем.
| Линија се приказује у овом баферу. +
Ако је и `buffer` постављено, вредност `+buffer_name+` има виши приоритет и она се користи. +
Ако је вредност празна, линија се брише (тада се све остало у хеш табели
игнорише); наредне куке типа „line” се не позивају.
@@ -10475,11 +10874,22 @@ struct t_hook *weechat_hook_line (const char *buffer_type,
| Датум се поставља на ову вредност. +
Сагласно овоме се поставља и вредност `+str_time+`.
| date_usec
| Цео број ("0" до "999999").
| Нема.
| Микросекунде датума линије се постављају на ову вредност. +
Сагласно овоме се поставља и вредност `+str_time+`.
| date_printed
| Временска ознака.
| Нема.
| Датум се поставља на ову временску ознаку (не приказује се).
| date_usec_printed
| Цео број ("0" до "999999").
| Нема.
| Микросекунде исписаног датума се постављају на ову вредност.
| str_time
| Стринг.
| Нема.
@@ -10560,7 +10970,7 @@ hook = weechat.hook_line("", "", "irc_join", "my_line_cb", "")
==== hook_print
_Ажурирано у верзијама 0.4.3, 1.0, 1.5._
_Ажурирано у верзијама 0.4.3, 1.0, 1.5, 4.2.0._
Качи се на поруку која се исписује. Позива се када се у бафер са форматираним садржајем дода линија.
@@ -10578,6 +10988,7 @@ struct t_hook *weechat_hook_print (struct t_gui_buffer *buffer,
void *data,
struct t_gui_buffer *buffer,
time_t date,
int date_usec,
int tags_count,
const char **tags,
int displayed,
@@ -10601,6 +11012,7 @@ struct t_hook *weechat_hook_print (struct t_gui_buffer *buffer,
** _void *data_: показивач
** _struct t_gui_buffer *buffer_: показивач на бафер
** _time_t date_: датум
** _int date_usec_: микросекунде датума
** _int tags_count_: број ознака за линију
** _const char **tags_: низ са ознакама за линију
** _int displayed_: 1 ако се линија приказује, 0 ако је филтрирана (скривена)
@@ -10627,7 +11039,7 @@ C пример:
----
int
my_print_cb (const void *pointer, void *data, struct t_gui_buffer *buffer,
time_t date, int tags_count, const char **tags,
time_t date, int date_usec, int tags_count, const char **tags,
int displayed, int highlight,
const char *prefix, const char *message)
{
@@ -12672,9 +13084,15 @@ struct t_hook *weechat_hook_focus (const char *area,
| _chat_line_date | Датум/време линије.
| "1313237175" | "0"
| _chat_line_date_usec | Микросекунде датума/времена линије.
| "123456" | "0"
| _chat_line_date_printed | Датум/време линије ^(4)^.
| "1313237175" | "0"
| _chat_line_date_usec_printed | Микросекунде датума/времемна приказа линије ^(4)^.
| "123456" | "0"
| _chat_line_time | Приказано време.
| "14:06:15" | ""
@@ -13430,6 +13848,7 @@ int weechat_buffer_get_integer (struct t_gui_buffer *buffer,
* _buffer_: показивач на бафер
* _property_: име особине:
** _opening_: 1 ако се бафер отвара, у супротном 0 _(WeeChat ≥ 4.2.0)_
** _number_: број бафера (почиње се од 1)
** _layout_number_: број бафера сачуван у распореду
** _layout_number_merge_order_: редослед у спајању за распоред
@@ -13444,8 +13863,10 @@ int weechat_buffer_get_integer (struct t_gui_buffer *buffer,
** _day_change_: 1 ако су приказују поруке о промени дана, у супротном 0 _(WeeChat ≥ 0.4.3)_
** _clear_: 1 ако бафер може да се очисти командом `/buffer clear`, у супротном 0 _(WeeChat ≥ 1.0)_
** _filter_: 1 ако су у баферу укључени филтери, у успротном 0 _(WeeChat ≥ 1.0)_
** _closing_: 1 ако се бафер затвара, у супротном 0 _(WeeChat ≥ 1.0)_
** _lines_hidden_: 1 ако је у баферу скривена бар једна линија (филтрирана), или 0 ако се приказују све линије
** _prefix_max_length_: максимална дужина префикса у овом баферу
** _next_line_id_: id следеће линије у баферу _(WeeChat ≥ 3.8)_
** _time_for_each_line_: 1 ако се време приказује са сваку линију у баферу (подразумевано), у супротном 0
** _nicklist_: 1 ако је укључена листа надимака, у супротном 0
** _nicklist_case_sensitive_: 1 ако се у надимцима прави разлика у величини слова, у супротном 0
@@ -13454,9 +13875,9 @@ int weechat_buffer_get_integer (struct t_gui_buffer *buffer,
** _nicklist_count_: број надимака и група у листи надимака
** _nicklist_visible_count_: број приказаних надимака/група
** _nicklist_groups_count_: број група у листи надимака
** _nicklist_visible_groups_count_: број приказаних група
** _nicklist_groups_visible_count_: број приказаних група
** _nicklist_nicks_count_: број надимака у листи надимака
** _nicklist_visible_nicks_count_: број приказаних надимака
** _nicklist_nicks_visible_count_: број приказаних надимака
** _input_: 1 ако је укључен унос, у супротном 0
** _input_get_unknown_commands_: 1 ако се непознате команде шаљу функцији повратног позива уноса, у супротном 0
** _input_get_empty_: 1 ако се функцији повратног позива уноса шаље празан унос, у супротном 0
@@ -13468,9 +13889,22 @@ int weechat_buffer_get_integer (struct t_gui_buffer *buffer,
** _num_history_: број команди у историји
** _text_search_: тип претраге текста:
*** 0: у овом тренутку нема претраге
*** 1: претрага уназад (смер: ка најстаријим порукама)
*** 2: претрага унапред (смер: ка најновијим порукама)
*** 1: претрага у линијама бафера
*** 2: претрага у историји команди
** _text_search_direction_: смер претраге:
*** 0: претрага уназад (смер: најстарије поруке/команде)
*** 1: претрага унапред (смер: најновије поруке/команде)
** _text_search_exact_: 1 ако претрага текста прави разлику у величини слова
** _text_search_regex_: 1 ако се претражује регуларним изразом
** _text_search_where_:
*** 0: у овом тренутку нема претраге
*** 1: претрага у поруци
*** 2: претрага у префиксу
*** 3: претрага у префиксу и поруци
** _text_search_history_:
*** 0: у овом тренутку нема претраге
*** 1: претрага у локалној историји бафера
*** 2: претрага у глобалној историји
** _text_search_found_: 1 ако се текст пронађе, у супротном 0
Повратна вредност:
@@ -13515,7 +13949,9 @@ const char *weechat_buffer_get_string (struct t_gui_buffer *buffer,
** _plugin_: име додатка који је креирао овај бафер („core” за главни бафер програма WeeChat)
** _name_: име бафера
** _full_name_: пуно име бафера („додатак.име”) _(WeeChat ≥ 0.3.7)_
** _old_full_name_: старо пуно име бафера („додатак.име”), постављено пре промене имена бафера _(WeeChat ≥ 2.8)_
** _short_name_: кратко име бафера (напомена: користи се само за приказ и корисник може да га промени, ово не сме да се употребљава за проналажење имена бафера, уместо њега употребите _name_, _full_name_ или локалну променљиву _channel_)
** _type_: тип бафера: „formatted” или „free” _(WeeChat ≥ 4.2.0)_
** _title_: наслов бафера
** _input_: текст уноса
** _text_search_input_: сачувани унос пре претраге текста
@@ -13570,6 +14006,8 @@ void *weechat_buffer_pointer (struct t_gui_buffer *buffer,
* _buffer_: показивач на бафер
* _property_: име особине:
** _plugin_: показивач на додатак који је креирао овај бафер (NULL за главни бафер програма WeeChat)
** _text_search_regex_compiled_: компајлирани регуларни израз
** _text_search_ptr_history_: пронађена историја
** _highlight_disable_regex_compiled_: компајлиран регуларни израз _highlight_disable_regex_
** _highlight_regex_compiled_: компајлиран регуларни израз _highlight_regex_
@@ -18019,7 +18457,7 @@ for key in hash:
==== hdata_compare
_WeeChat ≥ 1.9._
_WeeChat ≥ 1.9, ажурирано у верзији 4.1.0._
Пореди hdata променљиву два објекта.
@@ -18035,7 +18473,8 @@ int weechat_hdata_compare (struct t_hdata *hdata, void *pointer1, void *pointer2
* _hdata_: показивач на hdata
* _pointer1_: показивач на први објекат програма WeeChat/додатка
* _pointer2_: показивач на други објекат програма WeeChat/додатка
* _name_: име променљиве; у случају низова, име може бити „N|име” где је N индекс низа (који почиње од 0), на пример: „2|име”
* _name_: назив променљиве или путања до назива променљиве; у случају низова, име може
бити „N|име” где је N индекс низа (који почиње од 0), на пример: „2|име”
* _case_sensitive_: 1 за поређење стрингова које разликује величину слова, у супротном 0
Повратна вредност:
@@ -18051,8 +18490,12 @@ C пример:
struct t_hdata *hdata = weechat_hdata_get ("buffer");
struct t_gui_buffer *buffer1 = weechat_buffer_search ("irc", "libera.#weechat");
struct t_gui_buffer *buffer2 = weechat_buffer_search ("irc", "libera.#weechat-fr");
weechat_printf (NULL, "number comparison = %d",
weechat_printf (NULL, "comparison of buffer number = %d",
weechat_hdata_compare (hdata, buffer1, buffer2, "number", 0));
weechat_printf (NULL, "comparison of number of lines = %d",
weechat_hdata_compare (hdata, buffer1, buffer2, "own_lines.lines_count", 0));
weechat_printf (NULL, "comparison of local variable = %d",
weechat_hdata_compare (hdata, buffer1, buffer2, "local_variables.myvar", 0));
----
Скрипта (Python):
@@ -18066,7 +18509,9 @@ def hdata_compare(hdata: str, pointer1: str, pointer2: str, name: str, case_sens
hdata = weechat.hdata_get("buffer")
buffer1 = weechat.buffer_search("irc", "libera.#weechat")
buffer2 = weechat.buffer_search("irc", "libera.#weechat-fr")
weechat.prnt("", "бројно поређење = %d" % weechat.hdata_compare(hdata, buffer1, buffer2, "number", 0))
weechat.prnt("", "comparison of buffer number = %d" % weechat.hdata_compare(hdata, buffer1, buffer2, "number", 0))
weechat.prnt("", "comparison of number of lines = %d" % weechat.hdata_compare(hdata, buffer1, buffer2, "own_lines.lines_count", 0))
weechat.prnt("", "comparison of local variable = %d" % weechat.hdata_compare(hdata, buffer1, buffer2, "local_variables.myvar", 0))
----
==== hdata_set
+25 -11
View File
@@ -92,7 +92,6 @@ _клијенти_ су повезани са _релејем_ као што ј
[[command_handshake]]
=== handshake
// TRANSLATION MISSING
_WeeChat ≥ 2.9, ажурирано у верзијама 3.5, 4.0.0._
Извршава руковање између клијента и програма WeeChat: ово је у већини случајева неопходно како би се сазнале поставке сесије и припремила аутентификација командом _init_.
@@ -440,7 +439,9 @@ hda:
'buffer': 'ptr',
'y': 'int',
'date': 'tim',
'date_usec': 'int',
'date_printed': 'tim',
'date_usec_printed': 'int',
'str_time': 'str',
'tags_count': 'int',
'tags_array': 'arr',
@@ -458,7 +459,9 @@ hda:
buffer: '0x558d61ea3e60'
y: -1
date: 1588404926
date_usec: 118712
date_printed: 1588404926
date_usec_printed: 118712
str_time: 'F@0025209F@0024535F@0024026'
tags_count: 0
tags_array: []
@@ -474,7 +477,9 @@ hda:
buffer: '0x558d61ea3e60'
y: -1
date: 1588404930
date_usec: 25
date_printed: 1588404930
date_usec_printed: 25
str_time: 'F@0025209F@0024535F@0024030'
tags_count: 0
tags_array: []
@@ -662,11 +667,14 @@ inl:
input_buffer_1st_display: 0
num_history: 0
text_search: 0
text_search_direction: 0
text_search_exact: 0
text_search_regex: 0
text_search_regex_compiled: '0x0'
text_search_where: 0
text_search_history: 0
text_search_found: 0
text_search_ptr_history: '0x0'
text_search_input: None
highlight_words: None
highlight_disable_regex: None
@@ -1944,16 +1952,18 @@ hda:
[width="100%", cols="3m,2,10", options="header"]
|===
| Име | Тип | Опис
| buffer | показивач | Показивач на бафер.
| date | време | Датум поруке.
| date_printed | време | Датум када је програм WeeChat приказао поруку.
| displayed | карактер | 1 ако је порука приказана, 0 ако је порука филтрирана (скривена).
| notify_level | карактер | Ниво обавештења: -1 = обавештење искључено, 0 = ниски, 1 = порука, 2 = приватно, 3 = истицање.
| highlight | карактер | 1 ако се у линији налази истицање, у супротном 0.
| tags_array | низ стрингова | Листа ознака за линију.
| prefix | стринг | Префикс.
| message | стринг | Порука.
| Име | Тип | Опис
| buffer | показивач | Показивач на бафер.
| date | време | Датум поруке.
| date_usec | цео број | Микросекунде датума.
| date_printed | време | Датум када је програм WeeChat приказао поруку.
| date_usec_printed | цео број | Микросекунде датума када је WeeChat приказао поруку.
| displayed | карактер | 1 ако је порука приказана, 0 ако је порука филтрирана (скривена).
| notify_level | карактер | Ниво обавештења: -1 = обавештење искључено, 0 = ниски, 1 = порука, 2 = приватно, 3 = истицање.
| highlight | карактер | 1 ако се у линији налази истицање, у супротном 0.
| tags_array | низ стрингова | Листа ознака за линију.
| prefix | стринг | Префикс.
| message | стринг | Порука.
|===
Пример: нова порука _здраво!_ од надимка _FlashCode_ у баферу _irc.libera.#weechat_:
@@ -1965,7 +1975,9 @@ hda:
keys: {
'buffer': 'ptr',
'date': 'tim',
'date_usec': 'int',
'date_printed': 'tim',
'date_usec_printed': 'int',
'displayed': 'chr',
'notify_level': 'chr',
'highlight': 'chr',
@@ -1978,7 +1990,9 @@ hda:
__path: ['0x4a49600']
buffer: '0x4a715d0'
date: 1362728993
date_usec: 902765
date_printed: 1362728993
date_usec_printed: 902765
displayed: 1
notify_level: 1
highlight: 0
+2
View File
@@ -610,8 +610,10 @@ weechat_hook_timer(1000, 0, 1, $timer_cb, 'test');
color +
print (за python: prnt) +
print_date_tags (за python: prnt_date_tags) +
print_datetime_tags (за python: prnt_datetime_tags) +
print_y (за python: prnt_y) +
print_y_date_tags (за python: prnt_y_date_tags) +
print_y_datetime_tags (за python: prnt_y_datetime_tags) +
log_print
| куке
+193 -90
View File
@@ -129,10 +129,6 @@ WeeChat мора да се изгради са CMake.
| Logger додатак: компресија ротирајућих лог фајлова (gzip). +
Relay додатак: компресија порука (WeeChat -> клијент) са https://zlib.net/[zlib ^↗^^] (weechat протокол). +
Script додатак: читање индекс фајла репозиторијума (gzip).
| libzstd-dev | ≥ 0.8.1
| Logger додатак: компресија ротирајућих лог фајлова. +
Relay додатак: компресија порука (WeeChat -> клијент) са https://facebook.github.io/zstd/[Zstandard ^↗^^] (weechat протокол).
|===
[NOTE]
@@ -144,26 +140,68 @@ WeeChat мора да се изгради са CMake.
[width="100%", cols="5,^3,.^15", options="header"]
|===
| Пакет ^(1)^ | Верзија | Могућности
| {cpp} компајлер (pass:[g++ / clang++]) | | Изградња и покретање тестова, JavaScript додатак.
| gettext | | Интернационализација (превод порука; основни језик је енглески).
| ca-certificates | | Сертификати за TLS везе.
| libaspell-dev / libenchant-dev | | Spell додатак.
| python3-dev | ≥ 3.0 | Python додатак.
| libperl-dev | | Perl додатак.
| ruby3.1, ruby3.1-dev | ≥ 1.9.1 | Ruby додатак.
| liblua5.4-dev | | Lua додатак.
| tcl-dev | ≥ 8.5 | Tcl додатак.
| guile-3.0-dev | ≥ 2.0 | Guile (scheme) додатак.
| libv8-dev | ≤ 3.24.3 | JavaScript додатак.
| php-dev | ≥ 7.0 | PHP додатак.
| libphp-embed | ≥ 7.0 | PHP додатак.
| libxml2-dev | | PHP додатак.
| libargon2-dev | | PHP додатак (ако је PHP ≥ 7.2).
| libsodium-dev | | PHP додатак (ако је PHP ≥ 7.2).
| asciidoctor | ≥ 1.5.4 | Изградња man странице и документације.
| ruby-pygments.rb | | Документација изградње.
| libcpputest-dev | ≥ 3.4 | Изградња и покретање тестова.
| Пакет ^(1)^ | Верзија | Могућности
| {cpp} компајлер (pass:[g++ / clang++]) |
| Изградња и покретање тестова, JavaScript додатак.
| gettext |
| Интернационализација (превод порука; основни језик је енглески).
| ca-certificates |
| Сертификати за TLS везе.
| libzstd-dev | ≥ 0.8.1
| Logger додатак: компресија ротирајућих лог фајлова (zstandard). +
Relay додатак: компресија порука (WeeChat -> клијент) са https://facebook.github.io/zstd/[Zstandard ^↗^^] (weechat протокол).
| libaspell-dev / libenchant-dev |
| Spell додатак.
| python3-dev | ≥ 3.0
| Python додатак.
| libperl-dev |
| Perl додатак.
| ruby3.1, ruby3.1-dev | ≥ 1.9.1
| Ruby додатак.
| liblua5.4-dev |
| Lua додатак.
| tcl-dev | ≥ 8.5
| Tcl додатак.
| guile-3.0-dev | ≥ 2.0
| Guile (scheme) додатак.
| libv8-dev | ≤ 3.24.3
| JavaScript додатак.
| php-dev | ≥ 7.0
| PHP додатак.
| libphp-embed | ≥ 7.0
| PHP додатак.
| libxml2-dev |
| PHP додатак.
| libargon2-dev |
| PHP додатак (ако је PHP ≥ 7.2).
| libsodium-dev |
| PHP додатак (ако је PHP ≥ 7.2).
| asciidoctor | ≥ 1.5.4
| Изградња man странице и документације.
| ruby-pygments.rb |
| Документација изградње.
| libcpputest-dev | ≥ 3.4
| Изградња и покретање тестова.
|===
[NOTE]
@@ -201,7 +239,7 @@ $ make install
Можете да користите опције за CMake, у формату: `-DОПЦИЈА=ВРЕДНОСТ`.
Листа често коришћених опција:
Листа доступних опција:
[width="100%", cols="3m,3,3m,10", options="header"]
|===
@@ -255,6 +293,9 @@ $ make install
| ENABLE_GUILE | `ON`, `OFF` | ON
| Компајлира <<scripting_plugins,Guile додатак>> (Scheme).
| ENABLE_HEADLESS | `ON`, `OFF` | ON
| Компајлира извршни фајл без корисничког интерфејса.
| ENABLE_IRC | `ON`, `OFF` | ON
| Компајлира <<irc,IRC додатак>>.
@@ -313,6 +354,9 @@ $ make install
| ENABLE_XFER | `ON`, `OFF` | ON
| Компајлира <<xfer,Xfer додатак>>.
| ENABLE_ZSTD | `ON`, `OFF` | ON
| Укључује https://facebook.github.io/zstd/[Zstandard ^↗^^] компресију.
| ENABLE_TESTS | `ON`, `OFF` | OFF
| Компајлира тестове.
@@ -818,11 +862,30 @@ _input_ трака садржи следеће подразумеване ста
| Ставка | Пример | Опис
| input_prompt | `[@Flashy(i)]` | Одзив за унос, за irc: надимак и режими (режим „+i” значи невидљив на серверу libera).
| away | `(одсутан)` | Индикатор одсутности.
| input_search | `[Претрага (~ str,msg)]` | Индикатор претраге („`~`”: не прави се разлика у величини слова, „`==`”: прави се разлика у величини слова, „`str`”: стринг претраге, „`regex`”: претрага по регуларном изразу, „`msg`”: претрага у порукама, „`pre`”: претрага у префиксима, „`pre\|msg`”: претрага и у префиксима и у порукама).
| input_search | `[Претрага линија (~ str,msg)]` | Индикатор претраге (погледајте испод).
| input_paste | `[Да налепим 7 линија? [ctrl-y] Да [ctrl-n] Не]` | Питање за корисника пре налељпивања линија.
| input_text | `hi peter!` | Текст уноса.
| input_text | `ћао петре!` | Текст уноса.
|===
Постоје два режима претраге:
* претрага у линијама, на пример `[Претрага линија (~ str,msg)]`, са следећим информацијама:
** `~`: не прави се разлика у величини слова
** `==`: прави се разлика у величини слова
** `str`: стринг претраге
** `regex`: претрага по регуларном изразу
** `msg`: претрага у порукама
** `pre`: претрага у префиксима
** `pre\|msg`: претрага и у префиксима и у порукама
* претрага по историји команди, на пример `[Претрага команди (~ str,local)]`,
са следећим информацијама:
** `~`: не прави се разлика у величини слова
** `==`: прави се разлика у величини слова
** `str`: стринг претраге
** `regex`: претрага по регуларном изразу
** `local`: претрага по локалној историји бафера
** `global`: претрага по глобалној историји.
_nicklist_ трака садржи следеће подразумеване ставке:
[width="100%", cols="^3,^3,9", options="header"]
@@ -843,6 +906,8 @@ _nicklist_ трака садржи следеће подразумеване с
| buffer_short_name | `#test` | Кратко име текућег бафера.
| buflist2 | `1.weechat` | Листа бафера, друга ставка траке (погледајте опцију <<option_buflist.look.use_items,buflist.look.use_items>>).
| buflist3 | `1.weechat` | Листа бафера, трећа ставка траке (погледајте опцију <<option_buflist.look.use_items,buflist.look.use_items>>).
| buflist4 | `1.weechat` | Листа бафера, четврта ставка траке (погледајте опцију <<option_buflist.look.use_items,buflist.look.use_items>>).
| buflist5 | `1.weechat` | Листа бафера, пета ставка траке (погледајте опцију <<option_buflist.look.use_items,buflist.look.use_items>>).
| fset | `+buflist.look.sort: …+` | Помоћ у вези тренутно изабране опције у fset баферу.
| irc_channel | `#test` | Име тренутног IRC канала.
| irc_host | `+user@host.com+` | Име тренутног IRC хоста.
@@ -899,6 +964,11 @@ WeeChat командна линија (на дну прозора) вам омо
| kbd:[Ctrl+c], kbd:[c],
kbd:[xx], kbd:[,],
kbd:[yy] | Текст у боји `xx` и позадина у `yy` (погледајте листу боја испод).
| kbd:[Ctrl+c], kbd:[d],
kbd:[xxxxxx] | Текст у боји `xxxxxx` (RGB као хексадецимални број, на пример, `FF0000` за црвену).
| kbd:[Ctrl+c], kbd:[d],
kbd:[xxxxxx], kbd:[,],
kbd:[yyyyyy] | Текст у боји `xxxxxx` и позадина `yyyyyy` (RGB као хексадецимални број).
| kbd:[Ctrl+c], kbd:[i] | Текст у курзиву.
| kbd:[Ctrl+c], kbd:[o] | Искључивање боје и атрибута.
| kbd:[Ctrl+c], kbd:[v] | Обрнути видео (боје текста и позадине се замењују једна са другом).
@@ -906,7 +976,8 @@ WeeChat командна линија (на дну прозора) вам омо
|===
[NOTE]
Исти кôд (без броја за kbd:[Ctrl+c], kbd:[c]) може да се употреби за заустављање атрибута.
Исти кôд (без броја за kbd:[Ctrl+c], kbd:[c] и kbd:[Ctrl+c], kbd:[d])
може да се употреби за стопирање атрибута.
Кодови боја за kbd:[Ctrl+c], kbd:[c] су:
@@ -1328,7 +1399,8 @@ _прозор_ је површина екрана која приказује б
[[buflist]]
=== Листа бафера
Buflist додатак приказује листу бафера у ставки траке која се зове „buflist” (такође су доступне још две ставке траке „buflist2” и „buflist3”). +
Buflist додатак приказује листу бафера у ставки траке која се зове „buflist”
(доступне су и четири остале ставке траке "buflist2", "buflist3", "buflist4" и "buflist5"). +
Подразумевана трака „buflist” са овом ставком се креира током покретања програма.
[[buflist_commands]]
@@ -1441,6 +1513,7 @@ WeeChat нуди доста подразумеваних тастерских п
| Тастер | Опис | Команда
| kbd:[Ctrl+c], kbd:[b] | Уметање кода за подебљани текст. | `+/input insert \x02+`
| kbd:[Ctrl+c], kbd:[c] | Уметање кода за обојени текст. | `+/input insert \x03+`
| kbd:[Ctrl+c], kbd:[d] | Уметање кода за обојени текст (RGB боја, као хексадецимални број). | `+/input insert \x04+`
| kbd:[Ctrl+c], kbd:[i] | Уметање кода за текст у курзиву. | `+/input insert \x1D+`
| kbd:[Ctrl+c], kbd:[o] | Уметање кода за ресет боје. | `+/input insert \x0F+`
| kbd:[Ctrl+c], kbd:[v] | Уметање кода за обрнуту боју. | `+/input insert \x16+`
@@ -1459,14 +1532,23 @@ WeeChat нуди доста подразумеваних тастерских п
| kbd:[Ctrl+↓] | Позив наредне команде/поруке у глобалној историји (заједничкој за све бафере). | `+/input history_global_next+`
|===
[[key_bindings_cmdline_system]]
==== Систем
[width="100%",cols="^.^3,.^8,.^5",options="header"]
|===
| Тастер | Опис | Команда
| kbd:[Ctrl+z] | Суспендује WeeChat процес. | `+/sys suspend+`
|===
[[key_bindings_buffers]]
=== Бафери
[width="100%", cols="^.^3,.^8,.^5", options="header"]
|===
| Тастер | Опис | Команда
| kbd:[Ctrl+r] | Претрага на текст у историји бафера (погледајте <<key_bindings_search_context,тастери уsearch”>>). | `+/input search_text_here+`
| kbd:[Ctrl+s], kbd:[Ctrl+u] | Поставља маркер непрочитано за све бафере. | `+/allbuf /buffer set unread+`
| kbd:[Ctrl+r] | Претрага текста у историји команди (погледајте <<key_bindings_histsearch_context,тастери за контекст „histsearch”>>). | `+/input search_history+`
| kbd:[Ctrl+s] | Претрага текста у линијама бафера (погледајте <<key_bindings_search_context,тастери за контекст „search”>>). | `+/input search_text_here+`
| kbd:[Ctrl+x] | Мења текући бафер ако су бафери спојени са истим бројем, на пример, прелазак на други IRC сервер бафер. | `+/buffer switch+`
| kbd:[Alt+x] | Зум на спојени бафер (kbd:[Alt+x] поново: приказује све спојене бафере). | `+/buffer zoom+`
| kbd:[PgUp] | Скролује навише једну страну у историји бафера. | `+/window page_up+`
@@ -1492,6 +1574,7 @@ WeeChat нуди доста подразумеваних тастерских п
| kbd:[Alt+n] | Скроловање до наредног истицања. | `+/window scroll_next_highlight+`
| kbd:[Alt+p] | Скроловање на претходно истицање. | `+/window scroll_previous_highlight+`
| kbd:[Alt+u] | Скроловање на прву непрочитану линију у баферу. | `+/window scroll_unread+`
| kbd:[Alt+Shift+U] | Поставља маркер непрочитано за све бафере. | `+/allbuf /buffer set unread+`
| kbd:[Alt+<] | Прелаз на претходни бафер у листи посећених бафера. | `+/buffer jump prev_visited+`
| kbd:[Alt+>] | Прелаз на наредни бафер у листи посећених бафера. | `+/buffer jump next_visited+`
| kbd:[Alt+/] | Прелаз на последње приказани бафер. | `+/buffer jump last_displayed+`
@@ -1568,22 +1651,48 @@ WeeChat нуди доста подразумеваних тастерских п
[[key_bindings_search_context]]
=== Контекст претраге
Следећи тастери се користе у „search” контексту (када се притисне kbd:[Ctrl+r] за претрагу текста у баферу).
Следећи тастери се користе у контексту „search” (када се притисне kbd:[Ctrl+s] за претрагу
текста у линијама бафера).
[width="100%", cols="^.^3,.^8,.^5", options="header"]
|===
| Тастер | Опис | Команда
| kbd:[Ctrl+r] | Пребацивање типа претраге: стринг (подраз.), регуларни израз. | `+/input search_switch_regex+`
| kbd:[Ctrl+x] | Пребацивање типа претраге: стринг (подраз.), регуларни израз. | `+/input search_switch_regex+`
| kbd:[Alt+c] | Пребацивање разликовања величине слова у претраци. | `+/input search_switch_case+`
| kbd:[Tab] | Пребацивање претраге у: порукама (подраз.), префиксима, префиксима + порукама. | `+/input search_switch_where+`
| kbd:[↑] | Претрага претходне линије. | `+/input search_previous+`
| kbd:[] | Претрага наредне линије. | `+/input search_next+`
| kbd:[Ctrl+r] +
kbd:[] | Претрага претходне линије. | `+/input search_previous+`
| kbd:[Ctrl+s] +
kbd:[↓] | Претрага наредне линије. | `+/input search_next+`
| kbd:[Enter] +
kbd:[Ctrl+j] +
kbd:[Ctrl+m] | Заустављање претраге на текућој позицији. | `+/input search_stop_here+`
| kbd:[Ctrl+q] | Заустављање претраге и ресетовање скрола на стање пре почетка претраге текста. | `+/input search_stop+`
|===
[[key_bindings_histsearch_context]]
=== Контекст претраге историје
Следећи тастери се користе у контексту „histsearch” (када се притисне kbd:[Ctrl+r] за претрагу
текста у историји команди).
[width="100%",cols="^.^3,.^8,.^5",options="header"]
|===
| Тастер | Опис | Команда
| kbd:[Ctrl+x] | Пребацивање типа претраге: стринг (подраз.), регуларни израз. | `+/input search_switch_regex+`
| kbd:[Alt+c] | Пребацивање разликовања величине слова у претраци. | `+/input search_switch_case+`
| kbd:[Tab] | Пребацивање претраге по: локалној историји бафера (подразумевано), глобалној историји. | `+/input search_switch_where+`
| kbd:[Ctrl+r] +
kbd:[↑] | Претрага по претходним (старијим) ставкама историје. | `+/input search_previous+`
| kbd:[Ctrl+s] +
kbd:[↓] | Претрага по наредним (новијим) ставкама историје. | `+/input search_next+`
| kbd:[Enter] +
kbd:[Ctrl+j] +
kbd:[Ctrl+m] | Заустављање претраге и употреба пронађеног улаза. | `+/input search_stop_here+`
| kbd:[Ctrl+o] | Извршавање команде пронађене у историји и уметање наредне у командну линију. | `+/input history_use_get_next+`
| kbd:[Ctrl+q] | Заустављање претраге и враћање улаза на почетну вредност. | `+/input search_stop+`
|===
[[key_bindings_cursor_context]]
=== Контекст курсора
@@ -1650,10 +1759,10 @@ WeeChat нуди доста подразумеваних тастерских п
| kbd:[▼] | - | чет: /list бафер | Помера за пет линија наниже у /list баферу. | `+/list -down 5+`
| kbd:[■ □ □] | - | чет: /list бафер | Бира линију у /list баферу. | `+/window ${_window_number};/list -go ${_chat_line_y}+`
| kbd:[□ □ ■] | - | чет: /list бафер | Приступа IRC каналу на изабраној линији. | `+hsignal:irc_list_mouse+`
| kbd:[▲] | - | чет: script бафер | Помера за пет линија навише у script баферу. | `+/script up 5+`
| kbd:[▼] | - | чет: script бафер | Помера за пет линија наниже у script баферу. | `+/script down 5+`
| kbd:[■ □ □] | - | чет: script бафер | Бира линију у script баферу. | `+/script go ${_chat_line_y}+`
| kbd:[□ □ ■] | - | чет: script бафер | Инсталира/уклања скрипту. | `+/script go ${_chat_line_y};/script installremove -q ${script_name_with_extension}+`
| kbd:[▲] | - | чет: script бафер | Помера за пет линија навише у script баферу. | `+/script -up 5+`
| kbd:[▼] | - | чет: script бафер | Помера за пет линија наниже у script баферу. | `+/script -down 5+`
| kbd:[■ □ □] | - | чет: script бафер | Бира линију у script баферу. | `+/script -go ${_chat_line_y}+`
| kbd:[□ □ ■] | - | чет: script бафер | Инсталира/уклања скрипту. | `+/script -go ${_chat_line_y};/script installremove -q ${script_name_with_extension}+`
| kbd:[■ □ □] | горе / лево | листа бафера | Помера бафер на нижи број. | Signal `+buflist_mouse+`.
| kbd:[■ □ □] | доле / десно | листа бафера | Помера бафер на виши број. | Signal `+buflist_mouse+`.
| kbd:[■ □ □] | - | листа бафера | Пребацивање на бафер (претходно посећени багер ако је бафер текући). | Signal `+buflist_mouse+`.
@@ -1716,8 +1825,8 @@ kbd:[▼]: точкић доле
| kbd:[Ctrl+l] (`L`) | | Освежава опције и цео екран. | `+/fset -refresh+`
| | `$` | Освежава опције (маркиране опције остају маркиране). |
| | `$$` | Освежава опције (уклања се маркирање са свих опција). |
| kbd:[Alt+p] | | Пребацује стање опција описа додатка (`pass:[plugins.desc.*]`). | `+/mute /set fset.look.show_plugins_desc toggle+`
| kbd:[Alt+v] | | Пребацује стање видљивости траке помоћи. | `+/bar toggle fset+`
| kbd:[Alt+p] | `p` | Пребацује стање опција описа додатка (`pass:[plugins.desc.*]`). | `+/mute /set fset.look.show_plugins_desc toggle+`
| kbd:[Alt+v] | `v` | Пребацује стање видљивости траке помоћи. | `+/bar toggle fset+`
| | `s:x,y` | Сортира опције по пољима x,y (погледајте опцију <<option_fset.look.sort,fset.look.sort>>). | `+/mute /set fset.look.sort x,y+`
| | `s:` | Ресетује сортирање на подразумевану вредност (погледајте опцију <<option_fset.look.sort,fset.look.sort>>). | `+/mute /unset fset.look.sort+`
| | `w:xxx` | Извози опције у фајл „xxx”. | `+/fset -export xxx+`
@@ -1771,17 +1880,22 @@ kbd:[▼]: точкић доле
[width="100%", cols="^.^3,^.^2,.^8,.^5", options="header"]
|===
| Тастер | Акција ^(1)^ | Опис | Команда
| kbd:[↑] | | Помера једну линију навише. | `+/script up+`
| kbd:[↓] | | Помера једну линију наниже. | `+/script down+`
| kbd:[↑] | | Помера једну линију навише. | `+/script -up+`
| kbd:[↓] | | Помера једну линију наниже. | `+/script -down+`
| kbd:[PgUp] | | Помера једну страну навише. | `+/window page_up+`
| kbd:[PgDn] | | Помера једну страну наниже. | `+/window page_down+`
| kbd:[Alt+i] | `i` | Инсталира скрипту. | `+/script install+`
| kbd:[Alt+r] | `r` | Брише скрипту. | `+/script remove+`
| kbd:[Alt+l] (`L`) | `l` | Учитава скрипту. | `+/script load+`
| kbd:[Alt+l] | `l` | Учитава скрипту. | `+/script load+`
| kbd:[Alt+L] | `L` | Поново учитава скрипту. | `+/script reload+`
| kbd:[Alt+u] | `u` | Уклања скрипту из меморије. | `+/script unload+`
| kbd:[Alt+Shift+A] | `A` | Аутоучитавање скрипте. | `+/script toggleautoload+`
| kbd:[Alt+h] | `h` | Задржава/отпушта скрипту. | `+/script hold+`
| kbd:[Alt+v] | `v` | Преглед скрипте. | `+/script show+`
| | `s:x,y` | Сортира скрипте по пољима x,y (погледајте опцију <<option_script.look.sort,script.look.sort>>). |
| | `s:` | Ресетује сортирање на подразумевану вредност (погледајте опцију <<option_script.look.sort,script.look.sort>>). |
| | `$` | Освежава листу. |
| | `q` | Затвара бафер. | `+/buffer close+`
|===
[NOTE]
@@ -2111,13 +2225,9 @@ include::{autogendir}/autogen_user_options.sr.adoc[tag=charset_options]
На пример, ако желите да искључите истицања од „joe” и „mike” у текућем баферу:
----
/buffer set hotlist_max_level_nicks_add joe:2,mike:2
/buffer setauto hotlist_max_level_nicks_add joe:2,mike:2
----
[NOTE]
Особина бафера „hotlist_max_level_nicks” се не чува у конфигурацији. +
Лако можете да је сачувате скриптом _buffer_autoset.py_: инсталирате је командом `+/script install buffer_autoset.py+`, а помоћ добијате са `+/help buffer_autoset+`.
[[highlights]]
=== Истицања
@@ -2141,13 +2251,9 @@ include::{autogendir}/autogen_user_options.sr.adoc[tag=charset_options]
Исти пример, који функционише само на текућем баферу:
----
/buffer set highlight_disable_regex <flash.*>
/buffer setauto highlight_disable_regex <flash.*>
----
[NOTE]
Особина бафера „highlight_disable_regex” се не чува у конфигурацији. +
Лако можете да је сачувате скриптом _buffer_autoset.py_: инсталирате је командом `+/script install buffer_autoset.py+`, а помоћ добијате са `+/help buffer_autoset+`.
[[highlights_words]]
==== Додавање речи које се истичу
@@ -2189,13 +2295,9 @@ include::{autogendir}/autogen_user_options.sr.adoc[tag=charset_options]
На пример, да форсирате истицање свих порука у текућем баферу:
----
/buffer set highlight_regex .*
/buffer setauto highlight_regex .*
----
[NOTE]
Особина бафера „highlight_regex” се не чува у конфигурацији. +
Лако можете да је сачувате скриптом _buffer_autoset.py_: инсталирате је командом `+/script install buffer_autoset.py+`, а помоћ добијате са `+/help buffer_autoset+`.
[[buffer_logging]]
=== Логовање бафера
@@ -3007,30 +3109,31 @@ include::{autogendir}/autogen_user_options.sr.adoc[tag=sec_options]
[width="100%", cols="3m,6m,16", options="header"]
|===
| Одељак | Команда за контролу | Опис
| debug | <<command_weechat_debug,/debug set>> +
/set weechat.debug.* | Дибаг ниво, за језгро и додатке (у одељку је могуће додавање/уклањање опција).
| startup | /set weechat.startup.* | Опције покретања програма.
| look | /set weechat.look.* | Изглед и осећај.
| palette | <<command_weechat_color,/color alias>> +
/set weechat.palette.* | Алијаси боја (у одељку је могуће додавање/уклањање опција).
| color | /set weechat.color.* | Боје.
| completion | /set weechat.completion.* | Опције довршавања.
| history | /set weechat.history.* | Опције историје (команди и бафера).
| proxy | <<command_weechat_proxy,/proxy>> +
/set weechat.proxy.* | Прокси опције.
| network | /set weechat.network.* | Мрежне/TLS опције.
| plugin | /set weechat.plugin.* | Опције додатака.
| signal | /set weechat.signal.* | Опције сигнала.
| bar | <<command_weechat_bar,/bar>> +
/set weechat.bar.* | Опције трака.
| layout | <<command_weechat_layout,/layout>> | Распореди.
| notify | <<command_weechat_buffer,/buffer notify>> | Нивои обавештавања за бафере (у одељку је могуће додавање/уклањање опција).
| filter | <<command_weechat_filter,/filter>> | Филтери.
| key | <<command_weechat_key,/key>> | Тастери у подразумеваном контексту.
| key_search | <<command_weechat_key,/key>> | Тастери у search контексту.
| key_cursor | <<command_weechat_key,/key>> | Тастери у cursor контексту.
| key_mouse | <<command_weechat_key,/key>> | Тастери у mouse конексту.
| Одељак | Команда за контролу | Опис
| debug | <<command_weechat_debug,/debug set>> +
/set weechat.debug.* | Дибаг ниво, за језгро и додатке (у одељку је могуће додавање/уклањање опција).
| startup | /set weechat.startup.* | Опције покретања програма.
| look | /set weechat.look.* | Изглед и осећај.
| palette | <<command_weechat_color,/color alias>> +
/set weechat.palette.* | Алијаси боја (у одељку је могуће додавање/уклањање опција).
| color | /set weechat.color.* | Боје.
| completion | /set weechat.completion.* | Опције довршавања.
| history | /set weechat.history.* | Опције историје (команди и бафера).
| proxy | <<command_weechat_proxy,/proxy>> +
/set weechat.proxy.* | Прокси опције.
| network | /set weechat.network.* | Мрежне/TLS опције.
| plugin | /set weechat.plugin.* | Опције додатака.
| signal | /set weechat.signal.* | Опције сигнала.
| bar | <<command_weechat_bar,/bar>> +
/set weechat.bar.* | Опције трака.
| layout | <<command_weechat_layout,/layout>> | Распореди.
| buffer | <<command_weechat_buffer,/buffer setauto>> | Особине које се аутоматски примењују на бафере када се отварају.
| notify | <<command_weechat_buffer,/buffer notify>> | Нивои обавештавања за бафере (у одељку је могуће додавање/уклањање опција).
| filter | <<command_weechat_filter,/filter>> | Филтери.
| key | <<command_weechat_key,/key>> | Тастери у подразумеваном контексту.
| key_search | <<command_weechat_key,/key>> | Тастери у search контексту.
| key_cursor | <<command_weechat_key,/key>> | Тастери у cursor контексту.
| key_mouse | <<command_weechat_key,/key>> | Тастери у mouse конексту.
|===
Опције:
@@ -3872,7 +3975,7 @@ CTCP одговори се израчунавају (погледајте ком
[width="100%", cols="2,4,8", options="header"]
|===
| Променљива | Опис | Вредност/пример
| `+${clientinfo}+` | Листа подржаних CTCP | `+ACTION DCC CLIENTINFO FINGER PING SOURCE TIME USERINFO VERSION+`
| `+${clientinfo}+` | Листа подржаних CTCP | `+ACTION DCC CLIENTINFO PING SOURCE TIME VERSION+`
| `+${version}+` | Верзија програма WeeChat | `+4.1.0-dev+`
| `+${versiongit}+` | WeeChat верзија + Git верзија ^(1)^ | `+4.1.0-dev (git: v4.0.0-51-g8f98b922a)+`
| `+${git}+` | Git верзија ^(1)^ | `+v4.0.0-51-g8f98b922a+`
@@ -3893,11 +3996,9 @@ CTCP одговори се израчунавају (погледајте ком
[width="100%", cols="2,4,8", options="header"]
|===
| CTCP | Формат одговора | Пример
| CLIENTINFO | `+${clientinfo}+` | `+ACTION DCC CLIENTINFO FINGER PING SOURCE TIME USERINFO VERSION+`
| FINGER | `+WeeChat ${version}+` | `+WeeChat 4.1.0-dev+`
| CLIENTINFO | `+${clientinfo}+` | `+ACTION DCC CLIENTINFO PING SOURCE TIME VERSION+`
| SOURCE | `+${download}+` | `+https://weechat.org/download/+`
| TIME | `+${time}+` | `+Суб, 08 Јул 2023 21:11:19 +0200+`
| USERINFO | `+${username} (${realname})+` | `+име (Пера Перић)+`
| VERSION | `+WeeChat ${version}+` | `+WeeChat 4.1.0-dev+`
|===
@@ -4814,7 +4915,7 @@ y/${chars:a-z}${chars:A-Z}/${chars:b-z}a${chars:B-Z}A/
| signal | tg_signal_data |
| hsignal | |
| modifier | tg_string | tg_string
| line | message | buffer, buffer_name, y, date, date_printed, str_time, tags, notify_level, highlight, prefix, message
| line | message | buffer, buffer_name, y, date, date_usec, date_printed, date_usec_printed, str_time, tags, notify_level, highlight, prefix, message
| print | tg_message |
| command | tg_argv_eol1 |
| command_run | tg_command |
@@ -4963,7 +5064,9 @@ ${buffer[${tg_signal_data}].full_name}
| buffer_type | стринг | Тип бафера („formatted” или „free”).
| y | стринг | Број линије за бафер са слободним садржајем (≥ 0), -1 за бафер са форматираним садржајем.
| date | стринг | Датум линије (временска ознака).
| date_usec | стринг | Microseconds датума линије.
| date_printed | стринг | Датум када је линија била приказана (временска ознака).
| date_usec_printed | стринг | Microseconds датума када је линија била приказана.
| str_time | стринг | Датум за приказ. Може да садржи кодове боја.
| tags | стринг | Ознаке поруке (са запетом додатом на почетак/крај стринга).
| displayed | стринг | „1” ако се приказује, „0” ако је линија филтрирана.
@@ -5002,7 +5105,7 @@ ${buffer[${tg_signal_data}].full_name}
|===
| Променљива | Тип | Опис
| buffer | показивач | Бафер.
| tg_date | стринг | Датум/време поруке (формат: `ГГГГ-ММ-ДД чч:мм:сс`).
| tg_date | стринг | Датум/време поруке (формат: `%FT%T.%f`, погледајте link:weechat_plugin_api.sr.html#_util_strftimeval[WeeChat референтни прикучник API додатака / util_strftimeval ^↗^^]).
| tg_displayed | стринг | „1” ако се приказује, „0” ако се линија филтрира.
| tg_highlight | стринг | „1” ако је истакнута, у супротном „0”.
| tg_prefix | стринг | Префикс.
@@ -5067,7 +5170,7 @@ ${buffer[${tg_signal_data}].full_name}
|===
| Променљива | Тип | Опис
| tg_remaining_calls | стринг | Број преосталих позива.
| tg_date | стринг | Текући датум/време (формат: `ГГГГ-ММ-ДД чч:мм:сс`).
| tg_date | стринг | Текући датум/време (формат: `%FT%T.%f`, погледајте link:weechat_plugin_api.sr.html#_util_strftimeval[WeeChat референтни приручник API додатака / util_strftimeval ^↗^^]).
|===
[[trigger_data_config]]
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2023 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2024 Sébastien Helleu <flashcode@flashtux.org>
#
# This file is part of WeeChat, the extensible chat client.
#
+53 -57
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2023 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2024 Sébastien Helleu <flashcode@flashtux.org>
#
# This file is part of WeeChat, the extensible chat client.
#
@@ -17,6 +17,11 @@
# along with WeeChat. If not, see <https://www.gnu.org/licenses/>.
#
# Check for programs xgettext, msgmerge and msgfmt
find_program(XGETTEXT_EXECUTABLE xgettext REQUIRED)
find_program(MSGMERGE_EXECUTABLE msgmerge REQUIRED)
find_program(MSGFMT_EXECUTABLE msgfmt REQUIRED)
set(PO_FILES
cs.po
de.po
@@ -39,70 +44,61 @@ set(POT_FILE_PATH "${CMAKE_CURRENT_BINARY_DIR}/${POT_FILE}")
include(srcfiles.cmake)
# Looking for xgettext, msgmerge and msgfmt
find_program(XGETTEXT_EXECUTABLE xgettext)
find_program(MSGMERGE_EXECUTABLE msgmerge)
find_program(MSGFMT_EXECUTABLE msgfmt)
# Create PO template file weechat.pot
set(SRC_FILES)
set(POT_DEPENDS)
if(XGETTEXT_EXECUTABLE AND MSGMERGE_EXECUTABLE AND MSGFMT_EXECUTABLE)
foreach(srcfile ${WEECHAT_SOURCES})
set(SRC_FILES ${SRC_FILES} ${srcfile})
set(POT_DEPENDS ${POT_DEPENDS} "${CMAKE_SOURCE_DIR}/${srcfile}")
endforeach()
# Create PO template file weechat.pot
set(SRC_FILES)
set(POT_DEPENDS)
add_custom_command(
OUTPUT "${POT_FILE_PATH}"
COMMAND "${XGETTEXT_EXECUTABLE}"
ARGS -o "${POT_FILE_PATH}" --add-comments='TRANSLATORS:' --keyword='_' --keyword='weechat_gettext' --keyword='N_' --keyword='NG_:1,2' --keyword='weechat_ngettext:1,2' --no-location --from-code=UTF-8 --directory="${CMAKE_SOURCE_DIR}" --package-name='WeeChat' --package-version=${VERSION} --msgid-bugs-address=${BUGS_ADDRESS} --copyright-holder='NAME' ${SRC_FILES}
DEPENDS ${POT_DEPENDS}
COMMENT "Generating ${POT_FILE}"
)
foreach(srcfile ${WEECHAT_SOURCES})
set(SRC_FILES ${SRC_FILES} ${srcfile})
set(POT_DEPENDS ${POT_DEPENDS} "${CMAKE_SOURCE_DIR}/${srcfile}")
endforeach()
set(MO_FILES)
set(UPDATE_PO_TARGETS)
foreach(pofile ${PO_FILES})
get_filename_component(polang ${pofile} NAME_WE)
# Compile .po files in build directory (to binary .mo files)
set(modir "${CMAKE_CURRENT_BINARY_DIR}/${polang}/LC_MESSAGES")
file(MAKE_DIRECTORY "${modir}")
set(mofile "${modir}/${PROJECT_NAME}.mo")
add_custom_command(
OUTPUT "${POT_FILE_PATH}"
COMMAND "${XGETTEXT_EXECUTABLE}"
ARGS -o "${POT_FILE_PATH}" --add-comments='TRANSLATORS:' --keyword='_' --keyword='weechat_gettext' --keyword='N_' --keyword='NG_:1,2' --keyword='weechat_ngettext:1,2' --no-location --from-code=UTF-8 --directory="${CMAKE_SOURCE_DIR}" --package-name='WeeChat' --package-version=${VERSION} --msgid-bugs-address=${BUGS_ADDRESS} --copyright-holder='NAME' ${SRC_FILES}
DEPENDS ${POT_DEPENDS}
COMMENT "Generating ${POT_FILE}"
OUTPUT "${mofile}"
COMMAND "${MSGMERGE_EXECUTABLE}" ARGS --quiet -o "${CMAKE_CURRENT_BINARY_DIR}/${pofile}" "${CMAKE_CURRENT_SOURCE_DIR}/${pofile}" ${POT_FILE_PATH}
COMMAND "${MSGFMT_EXECUTABLE}" ARGS -o "${mofile}" "${CMAKE_CURRENT_BINARY_DIR}/${pofile}"
COMMAND "${MSGFMT_EXECUTABLE}" ARGS -c --statistics --verbose --output-file=/dev/null "${CMAKE_CURRENT_BINARY_DIR}/${pofile}"
DEPENDS "${POT_FILE_PATH}" "${CMAKE_CURRENT_SOURCE_DIR}/${pofile}"
COMMENT "Compiling ${polang}.po"
)
set(MO_FILES)
set(UPDATE_PO_TARGETS)
foreach(pofile ${PO_FILES})
get_filename_component(polang ${pofile} NAME_WE)
# Compile .po files in build directory (to binary .mo files)
set(modir "${CMAKE_CURRENT_BINARY_DIR}/${polang}/LC_MESSAGES")
file(MAKE_DIRECTORY "${modir}")
set(mofile "${modir}/${PROJECT_NAME}.mo")
add_custom_command(
OUTPUT "${mofile}"
COMMAND "${MSGMERGE_EXECUTABLE}" ARGS --quiet -o "${CMAKE_CURRENT_BINARY_DIR}/${pofile}" "${CMAKE_CURRENT_SOURCE_DIR}/${pofile}" ${POT_FILE_PATH}
COMMAND "${MSGFMT_EXECUTABLE}" ARGS -o "${mofile}" "${CMAKE_CURRENT_BINARY_DIR}/${pofile}"
COMMAND "${MSGFMT_EXECUTABLE}" ARGS -c --statistics --verbose --output-file=/dev/null "${CMAKE_CURRENT_BINARY_DIR}/${pofile}"
DEPENDS "${POT_FILE_PATH}" "${CMAKE_CURRENT_SOURCE_DIR}/${pofile}"
COMMENT "Compiling ${polang}.po"
)
# Update .po files in source directory (if needed)
add_custom_target(
update-${pofile}
COMMAND "${MSGMERGE_EXECUTABLE}" --quiet --update --previous --backup=none "${CMAKE_CURRENT_SOURCE_DIR}/${pofile}" "${POT_FILE_PATH}"
COMMENT "Updating ${polang}.po"
)
set(UPDATE_PO_TARGETS ${UPDATE_PO_TARGETS} update-${pofile})
install(FILES "${mofile}" DESTINATION "${LOCALEDIR}/${polang}/LC_MESSAGES")
set(MO_FILES ${MO_FILES} ${mofile})
endforeach()
add_custom_target(translations ALL DEPENDS ${MO_FILES})
# Update weechat.pot in source directory (if needed)
# Update .po files in source directory (if needed)
add_custom_target(
update-${POT_FILE}
COMMAND "${MSGMERGE_EXECUTABLE}" --quiet --update --backup=none "${CMAKE_CURRENT_SOURCE_DIR}/${POT_FILE}" "${POT_FILE_PATH}"
COMMENT "Updating ${POT_FILE}"
update-${pofile}
COMMAND "${MSGMERGE_EXECUTABLE}" --quiet --update --previous --backup=none "${CMAKE_CURRENT_SOURCE_DIR}/${pofile}" "${POT_FILE_PATH}"
COMMENT "Updating ${polang}.po"
)
set(UPDATE_PO_TARGETS ${UPDATE_PO_TARGETS} update-${pofile})
# Update all .po and weechat.pot in source directory (if needed)
add_custom_target(update-po DEPENDS update-${POT_FILE} ${UPDATE_PO_TARGETS})
install(FILES "${mofile}" DESTINATION "${LOCALEDIR}/${polang}/LC_MESSAGES")
set(MO_FILES ${MO_FILES} ${mofile})
endforeach()
endif()
add_custom_target(translations ALL DEPENDS ${MO_FILES})
# Update weechat.pot in source directory (if needed)
add_custom_target(
update-${POT_FILE}
COMMAND "${MSGMERGE_EXECUTABLE}" --quiet --update --backup=none "${CMAKE_CURRENT_SOURCE_DIR}/${POT_FILE}" "${POT_FILE_PATH}"
COMMENT "Updating ${POT_FILE}"
)
# Update all .po and weechat.pot in source directory (if needed)
add_custom_target(update-po DEPENDS update-${POT_FILE} ${UPDATE_PO_TARGETS})
+4614 -3086
View File
File diff suppressed because it is too large Load Diff
+5276 -5197
View File
File diff suppressed because it is too large Load Diff
+4639 -3501
View File
File diff suppressed because it is too large Load Diff
+5106 -4880
View File
File diff suppressed because it is too large Load Diff
+4283 -2595
View File
File diff suppressed because it is too large Load Diff
+4641 -3225
View File
File diff suppressed because it is too large Load Diff
+4873 -4488
View File
File diff suppressed because it is too large Load Diff
+5239 -6363
View File
File diff suppressed because it is too large Load Diff
+4807 -4199
View File
File diff suppressed because it is too large Load Diff
+4504 -3005
View File
File diff suppressed because it is too large Load Diff
+4296 -2596
View File
File diff suppressed because it is too large Load Diff
+4920 -4871
View File
File diff suppressed because it is too large Load Diff
+6
View File
@@ -35,6 +35,8 @@ SET(WEECHAT_SOURCES
./src/core/hook/wee-hook-signal.h
./src/core/hook/wee-hook-timer.c
./src/core/hook/wee-hook-timer.h
./src/core/hook/wee-hook-url.c
./src/core/hook/wee-hook-url.h
./src/core/wee-arraylist.c
./src/core/wee-arraylist.h
./src/core/wee-backtrace.c
@@ -89,6 +91,8 @@ SET(WEECHAT_SOURCES
./src/core/wee-signal.h
./src/core/wee-string.c
./src/core/wee-string.h
./src/core/wee-sys.c
./src/core/wee-sys.h
./src/core/wee-upgrade.c
./src/core/wee-upgrade-file.c
./src/core/wee-upgrade-file.h
@@ -179,6 +183,8 @@ SET(WEECHAT_SOURCES
./src/plugins/buflist/buflist.c
./src/plugins/buflist/buflist-command.c
./src/plugins/buflist/buflist-command.h
./src/plugins/buflist/buflist-completion.c
./src/plugins/buflist/buflist-completion.h
./src/plugins/buflist/buflist-config.c
./src/plugins/buflist/buflist-config.h
./src/plugins/buflist/buflist.h
+4972 -5243
View File
File diff suppressed because it is too large Load Diff
+3995 -2344
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2023 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2024 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2007-2008 Julien Louis <ptitlouis@sysif.net>
# Copyright (C) 2008-2009 Emmanuel Bouthenot <kolter@openics.org>
#
+6 -2
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2023 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2024 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2008 Julien Louis <ptitlouis@sysif.net>
# Copyright (C) 2009 Emmanuel Bouthenot <kolter@openics.org>
#
@@ -47,6 +47,7 @@ set(LIB_CORE_SRC
wee-secure-config.c wee-secure-config.h
wee-signal.c wee-signal.h
wee-string.c wee-string.h
wee-sys.c wee-sys.h
wee-upgrade.c wee-upgrade.h
wee-upgrade-file.c wee-upgrade-file.h
wee-url.c wee-url.h
@@ -71,6 +72,7 @@ set(LIB_CORE_SRC
hook/wee-hook-process.c hook/wee-hook-process.h
hook/wee-hook-signal.c hook/wee-hook-signal.h
hook/wee-hook-timer.c hook/wee-hook-timer.h
hook/wee-hook-url.c hook/wee-hook-url.h
)
# Check for flock support
@@ -89,7 +91,9 @@ include_directories(${GNUTLS_INCLUDE_PATH})
include_directories(${CURL_INCLUDE_DIRS})
include_directories(${ZSTD_INCLUDE_DIRS})
if(ENABLE_ZSTD)
include_directories(${LIBZSTD_INCLUDE_DIRS})
endif()
include_directories("${CMAKE_BINARY_DIR}")
add_library(weechat_core STATIC ${LIB_CORE_SRC})

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