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

Compare commits

..

27 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
446 changed files with 17073 additions and 54483 deletions
+5 -94
View File
@@ -1,47 +1,11 @@
name: CI
on:
push:
pull_request:
schedule:
- cron: '22 9 * * 2'
- push
- pull_request
env:
WEECHAT_DEPENDENCIES: >-
asciidoctor
cmake
curl
devscripts
equivs
flake8
gem2deb
guile-3.0-dev
lcov
libargon2-dev
libaspell-dev
libcjson-dev
libcpputest-dev
libcurl4-gnutls-dev
libgcrypt20-dev
libgnutls28-dev
liblua5.3-dev
libncurses-dev
libperl-dev
libphp-embed
libsodium-dev
libv8-dev
libzstd-dev
ninja-build
php-dev
pkg-config
pylint
python3-bandit
python3-dev
python3-pip
ruby-pygments.rb
shellcheck
tcl8.6-dev
zlib1g-dev
WEECHAT_DEPENDENCIES: devscripts equivs python3-pip cmake ninja-build lcov pkg-config libncurses-dev gem2deb libperl-dev python3-dev libaspell-dev liblua5.3-dev tcl8.6-dev guile-3.0-dev libv8-dev libcurl4-gnutls-dev libgcrypt20-dev libgnutls28-dev libzstd-dev zlib1g-dev curl libcpputest-dev php-dev libphp-embed libargon2-dev libsodium-dev flake8 pylint python3-bandit asciidoctor ruby-pygments.rb shellcheck
jobs:
@@ -56,7 +20,6 @@ jobs:
- { 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_no_cjson", cc: "gcc", cxx: "g++", buildargs: "-DENABLE_CJSON=OFF -DENABLE_DOC=OFF" }
- { name: "gcc_coverage", cc: "gcc", cxx: "g++", buildargs: "-DENABLE_CODE_COVERAGE=ON" }
- { name: "clang", cc: "clang", cxx: "clang++", buildargs: "" }
@@ -82,7 +45,7 @@ jobs:
run: ./tools/check_scripts.sh
- name: Check Python stub file
run: ./tools/generate_python_stub.py | diff src/plugins/python/weechat.pyi -
run: ./doc/python_stub.py | diff src/plugins/python/weechat.pyi -
- name: Check Curl symbols
run: curl --silent --show-error --fail --retry 10 https://raw.githubusercontent.com/curl/curl/master/docs/libcurl/symbols-in-versions | ./tools/check_curl_symbols.py
@@ -105,22 +68,6 @@ jobs:
weechat --version
weechat --run-command "/debug dirs;/debug libs" --run-command "/quit"
- name: Test Relay OpenAPI
if: ${{ matrix.config.name == 'gcc' }}
env:
RELAY_PASSWORD: test
run: |
sudo -H pip3 install --ignore-installed schemathesis
weechat-headless \
--dir /tmp/weechat-test-api \
--run-command '/set relay.network.password "${{ env.RELAY_PASSWORD }}"' \
--run-command '/relay add api 9000' \
--daemon \
;
sleep 5
./tools/test_relay_api.sh http://localhost:9000
echo '*/quit' >/tmp/weechat-test-api/weechat_fifo_*
- name: Code coverage
if: ${{ matrix.config.name == 'gcc_coverage' }}
env:
@@ -167,7 +114,7 @@ jobs:
/usr/local/bin/python3.11 \
/usr/local/bin/python3.11-config \
;
brew install asciidoctor cjson guile lua pkg-config ruby
brew install asciidoctor guile lua pkg-config ruby
- uses: actions/checkout@v2
@@ -228,39 +175,3 @@ jobs:
weechat-curses --help
weechat --version
weechat --run-command "/debug dirs;/debug libs" --run-command "/quit"
codeql-analysis:
name: CodeQL
runs-on: ubuntu-latest
permissions:
actions: read
contents: read
security-events: write
steps:
- name: Checkout repository
uses: actions/checkout@v3
- name: Install dependencies
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: Initialize CodeQL
uses: github/codeql-action/init@v3
with:
languages: cpp
- name: Autobuild
uses: github/codeql-action/autobuild@v3
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v3
with:
category: "/language:cpp"
-1
View File
@@ -67,7 +67,6 @@ Alphabetically:
* Jiri Golembiovsky (GolemJ)
* Joey Pabalinas (alyptik)
* Johan Rylander
* Johannes Kuhn
* Joram Schrijver
* Jos Ahrens
* Joseph Kichline
+2 -13
View File
@@ -100,7 +100,6 @@ 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_CJSON "Enable cJSON support" ON)
option(ENABLE_ALIAS "Enable Alias plugin" ON)
option(ENABLE_BUFLIST "Enable Buflist plugin" ON)
option(ENABLE_CHARSET "Enable Charset plugin" ON)
@@ -192,9 +191,6 @@ include(CheckSymbolExists)
check_include_files("langinfo.h" HAVE_LANGINFO_CODESET)
check_include_files("sys/resource.h" HAVE_SYS_RESOURCE_H)
check_include_files("malloc.h" HAVE_MALLOC_H)
check_symbol_exists("malloc_trim" "malloc.h" HAVE_MALLOC_TRIM)
check_function_exists(mallinfo HAVE_MALLINFO)
check_function_exists(mallinfo2 HAVE_MALLINFO2)
@@ -206,10 +202,9 @@ if(ENABLE_LARGEFILE)
endif()
# Check for libgcrypt
pkg_check_modules(LIBGCRYPT REQUIRED libgcrypt)
find_package(GCRYPT REQUIRED)
add_definitions(-DHAVE_GCRYPT)
include_directories(${LIBGCRYPT_INCLUDE_DIRS})
list(APPEND EXTRA_LIBS ${LIBGCRYPT_LDFLAGS})
list(APPEND EXTRA_LIBS ${GCRYPT_LDFLAGS})
# Check for GnuTLS
find_package(GnuTLS REQUIRED)
@@ -227,12 +222,6 @@ if(ENABLE_ZSTD)
add_definitions(-DHAVE_ZSTD)
endif()
# Check for cJSON
if(ENABLE_CJSON)
pkg_check_modules(LIBCJSON REQUIRED libcjson)
add_definitions(-DHAVE_CJSON)
endif()
# Check for iconv
find_package(Iconv)
if(ICONV_FOUND)
+5 -232
View File
@@ -5,127 +5,10 @@
:toc: left
:docinfo1:
:see-release-notes: If you are upgrading: please see release notes.
:breaking: pass:quotes[*[breaking]*]
[[v4.3.2]]
== Version 4.3.2 (2024-06-06)
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.3.2_changed]]
=== Changed
* relay: enable websocket extension "permessage-deflate" with "api" relay only (issue #1549)
[[v4.3.2_added]]
=== Added
* relay: add option relay.look.raw_messages_max_length (issue #2122)
[[v4.3.2_fixed]]
=== Fixed
* irc, xfer: fix display of input prompt in IRC private buffers and DCC chat buffers (issue #2128)
* irc: don't return pointer to irc server if the channel or nick is not found in info "irc_buffer"
* relay: fix websocket permessage-deflate extension when the client doesn't send the max window bits parameters (issue #1549)
* relay: fix allocation and reinit of field "client_context_takeover" in websocket deflate structure (issue #1549)
[[v4.3.1]]
== Version 4.3.1 (2024-05-31)
[[v4.3.1_fixed]]
=== Fixed
* irc: close /list buffer when the server buffer is closed (issue #2121)
* xfer: fix send of data on the DCC chat buffer after `/upgrade` if the buffer was opened before the upgrade (issue #2092)
* php: fix return value of function hdata_longlong
* tcl: fix return value of function hdata_longlong (issue #2119)
* core: fix detection of libgcrypt ≥ 1.11 (debian #1071960)
* core, relay: fix include directory of libcjson and libzstd
* tests: fix relay tests on s390x (issue #2118)
* tests: fix check of php plugin (issue #2117)
* tests: fix compilation of tests on Fedora 40 (issue #2116)
* tests: fix compilation of tests on Rocky 9.4
[[v4.3.0]]
== Version 4.3.0 (2024-05-26)
{see-release-notes}
[[v4.3.0_changed]]
=== Changed
* {breaking} irc: add server option "autojoin_delay" (delay before autojoin), use option "command_delay" before execution of the command (issue #862)
* {breaking} irc: rename option irc.color.item_channel_modes to weechat.color.status_modes
* {breaking} irc: add option `-all` in command `/allchan`, do not execute command on parted channels by default (issue #2085)
* {breaking} relay: rename option relay.weechat.commands to relay.network.commands and change default to `*,!quit` (issue #2066)
* {breaking} relay: change option type relay.look.auto_open_buffer to string (issue #2066)
* {breaking} core: add buffer properties "input_prompt" and "modes", used to display bar items (issue #2066)
* {breaking} core: add bar item "lag" to display lag on relay remote buffers (issue #2066)
* {breaking} core: send signal "buffer_line_added" on buffers with free content
* {breaking} core: convert option weechat.look.hotlist_sort to a list of fields (issue #2097)
* {breaking} core: rename variables with creation time in hdata "hotlist": "creation_time.tv_sec" to "time" and "creation_time.tv_usec" to "time_usec"
* {breaking} api: return `-1` or `1` if one input string is NULL and not the other in string comparison functions
* {breaking} api: use whole replacement string instead of first char in function string_remove_color
* core: use nick offline color for nick in action message
* core: display a specific message when the value of option is unchanged after `/set` command
* core: add variable `${highlight}` in option weechat.look.buffer_time_format (issue #2079)
* core: reintroduce help on the variables and operators in `/help eval` (issue #2005)
* core: allow case insensitive search of partial buffer name with `(?i)name` in command `/buffer`
* core: use function util_strftimeval in evaluation of expression `date:xxx`
* fset: allow filename starting with "~" in command `/fset -export`
* irc: store lag in channel and private buffers (local variable "lag"), in addition to the server buffer
* irc: allow range in commands `/unban` and `/unquiet` (issue #2113)
* tcl: add support of Tcl 9.0 (issue #2075)
[[v4.3.0_added]]
=== Added
* relay: add "api" protocol (HTTP REST API), add options relay.look.display_clients, relay.api.remote_get_lines and relay.network.time_window (issue #2066)
* relay: add command `/remote` to connect to remote WeeChat relay servers (issue #2066)
* relay: add support of websocket extension "permessage-deflate" (issue #1549)
* core, api: add unique identifier "id" in buffer and nicklist (group and nick), add function "hdata_longlong", allow search by buffer id in function buffer_search, allow search by group and nick id in functions nicklist_search_group and nicklist_search_nick (issue #2081)
* core: add support of XDG "state" directory (issue #2106, issue #1747)
* core: add support of SGR mouse events (issue #2082)
* fset: add option `-import` in command `/fset`
* core: add option `-s` in command `/command` to execute multiple commands separated by semicolons
* core: add option `malloc_trim` in command `/sys`
* core: add option weechat.look.config_permissions (issue #2057)
* core: add option weechat.look.highlight_prefix (issue #2079)
* core: add option weechat.completion.case_sensitive
* api: add functions config_option_get_{string|pointer} and config_{boolean|integer|string|color|enum}_inherited in scripting API
* api: add modifier "color_decode" to decode WeeChat colors with a replacement string
* api: add support of base64url in encode/decode functions
* api: add support of specifier `%!` for timestamp in function util_strftimeval
* api: add info "plugin_loaded"
* script: add option `enable` in command `/script`
* script: add info "script_loaded"
[[v4.3.0_fixed]]
=== Fixed
* core: fix conversion of WeeChat colors to ANSI colors: "default", "bar_fg", "bar_bg", "bar_delim"
* core: fix recursive search of group in nicklist
* core: use nick offline highlight color for prefix of action message when the nick is offline with a highlight
* core: add missing hdata name "buffer" in hdata "hotlist"
* 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"
* core: remove trailing directory separators in home directories (issue #2070)
* 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: fix crash in split of IRC message containing a newline if the server is not given
* irc: fix display of reply for CTCP request received on a channel when capability echo-message is enabled
* irc: display CTCP reply to a nick in server buffer instead of channel
* irc: add missing tags on self action messages when capability echo-message is enabled (issue #2074)
* irc: don't strip monospace color code 0x11 from incoming messages (issue #2073)
* irc: fix random date displayed when a received message contains tags but no "time" (issue #2064)
* lua: fix freeze on call to "debug.debug" (issue #1906, issue #1907)
* 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
[[v4.2.3]]
== Version 4.2.3 (2024-05-31)
@@ -139,8 +22,6 @@ Bug fixes::
[[v4.2.2]]
== Version 4.2.2 (2024-04-07)
{see-release-notes}
Bug fixes::
* core: fix reset to initial scroll position after search of text in buffer (issue #2093)
@@ -170,8 +51,6 @@ Bug fixes::
[[v4.2.0]]
== Version 4.2.0 (2024-01-21)
{see-release-notes}
New features::
* core: add variable "opening" in buffer, do not send buffer signals when the buffer is opening
@@ -268,8 +147,6 @@ Bug fixes::
[[v4.1.1]]
== Version 4.1.1 (2023-10-26)
{see-release-notes}
Bug fixes::
* core: fix crash when a custom bar item name is already used by a default bar item (issue #2034)
@@ -283,8 +160,6 @@ Build::
[[v4.1.0]]
== Version 4.1.0 (2023-10-15)
{see-release-notes}
New features::
* core: add completion "eval_variables", used in completion of `/eval`
@@ -382,8 +257,6 @@ Bug fixes::
[[v4.0.6]]
== Version 4.0.6 (2023-10-26)
{see-release-notes}
Bug fixes::
* core: fix crash when a custom bar item name is already used by a default bar item (issue #2034)
@@ -479,10 +352,6 @@ Build::
[[v4.0.1]]
== Version 4.0.1 (2023-06-30)
{see-release-notes}
Bug fixes::
* core: force key "return" to command "/input return" when migrating legacy keys
* core: display actual key name and command with key kbd:[Alt+k], remove key kbd:[Alt+K] (grab raw key) and associated commands `/input grab_raw_key` and `/input grab_raw_key_command`
* core: check for newline characters in string_is_whitespace_char (issue #1968)
@@ -494,8 +363,6 @@ Bug fixes::
[[v4.0.0]]
== Version 4.0.0 (2023-06-24)
{see-release-notes}
New features::
* core: use human readable key bindings, separate keys with comma in combos, remove modifier "meta2-", add option `legacy` in command `/key` (issue #1238, task #10317)
@@ -515,7 +382,7 @@ New features::
* core: add relative move of read marker with `/buffer set unread [+/-]N` (issue #1895)
* core: add access to hashtable properties in evaluation of expressions (issue #1888)
* core: display similar command names when a command is unknown (issue #1877)
* core: rename option weechat.color.status_name_ssl to weechat.color.status_name_tls (issue #1903)
* core: rename option weechat.color.status_name_ssl to weechat.color.status_name_tls
* core: add option weechat.color.status_name_insecure to display buffer name with a specific color when not connected with TLS to the server
* core, plugins: make many identifiers case sensitive (issue #1872, issue #398, bug #32213)
* core: add item "mouse_status" in default status bar, change default color to lightgreen
@@ -530,7 +397,7 @@ New features::
* alias: add options `missing` and `rename` in command `/alias`
* fifo: add support of escaped chars in text or commands sent (issue #1950)
* fset: add options fset.color.color_name and fset.color.color_name_selected (issue #1920)
* irc: rename "ssl" options to "tls", connect with TLS and port 6697 by default (issue #1903)
* irc: rename "ssl" options to "tls", connect with TLS and port 6697 by default
* irc: add support of capabilities "batch" and "draft/multiline" (issue #1292, issue #1923)
* irc: add support of capability "echo-message" (issue #139)
* irc: display CTCP ACTION to channel on the channel buffer (issue #207)
@@ -551,7 +418,7 @@ New features::
* irc: add tag "new_host_xxx" in message displayed for command CHGHOST (issue #1808)
* logger: add option logger.file.log_conditions (issue #1942)
* logger: add info "logger_log_file"
* relay: rename "ssl" options and protocol to "tls" (issue #1903)
* relay: rename "ssl" options and protocol to "tls"
* relay: make TLS certificate/key loading error handling more verbose (issue #1558)
* relay: add modifiers "relay_client_irc_in", "relay_client_irc_out1" and "relay_client_irc_out" in irc protocol
* relay: add support of capability "echo-message" in irc protocol (issue #1949)
@@ -629,8 +496,6 @@ Build::
[[v3.8]]
== Version 3.8 (2023-01-08)
{see-release-notes}
New features::
* core: add option weechat.look.chat_space_right (issue #1862)
@@ -696,8 +561,6 @@ Bug fixes::
[[v3.7]]
== Version 3.7 (2022-10-09)
{see-release-notes}
New features::
* core: add option `-save` in command `/upgrade` (issue #1630)
@@ -763,8 +626,6 @@ Tests::
[[v3.6]]
== Version 3.6 (2022-07-10)
{see-release-notes}
New features::
* core: add command `/item` to create custom bar items (issue #808)
@@ -792,8 +653,6 @@ Bug fixes::
[[v3.5]]
== Version 3.5 (2022-03-27)
{see-release-notes}
New features::
* core: search in message tags when tags are displayed with `/debug tags`
@@ -846,8 +705,6 @@ Bug fixes::
[[v3.4]]
== Version 3.4 (2021-12-18)
{see-release-notes}
New features::
* core: add support of static arrays in hdata
@@ -891,8 +748,6 @@ Build::
[[v3.3]]
== Version 3.3 (2021-09-19)
{see-release-notes}
New features::
* core: change key kbd:[Alt+h] to kbd:[Alt+h], kbd:[Alt+c] (clear hotlist)
@@ -955,8 +810,6 @@ Bug fixes::
[[v3.2]]
== Version 3.2 (2021-06-13)
{see-release-notes}
New features::
* core: use XDG directories by default (config, data, cache, runtime) (issue #1285)
@@ -1012,8 +865,6 @@ Build::
[[v3.1]]
== Version 3.1 (2021-03-07)
{see-release-notes}
New features::
* core: add options weechat.look.hotlist_update_on_buffer_switch and weechat.look.read_marker_update_on_buffer_switch (issue #992, issue #993)
@@ -1056,8 +907,6 @@ Bug fixes::
[[v3.0]]
== Version 3.0 (2020-11-11)
{see-release-notes}
New features::
* api: add optional list of colors in infos "nick_color" and "nick_color_name" (issue #1565)
@@ -1095,8 +944,6 @@ Build::
[[v2.9]]
== Version 2.9 (2020-07-18)
{see-release-notes}
New features::
* core: add bar option "color_bg_inactive": color for window bars in inactive window (issue #732)
@@ -1183,8 +1030,6 @@ Build::
[[v2.8]]
== Version 2.8 (2020-03-29)
{see-release-notes}
New features::
* core: add variable "old_full_name" in buffer, set during buffer renaming (issue #1428)
@@ -1241,8 +1086,6 @@ Bug fixes::
[[v2.7]]
== Version 2.7 (2019-12-08)
{see-release-notes}
New features::
* core: add option weechat.look.nick_color_hash_salt to shuffle nick colors (issue #635)
@@ -1300,8 +1143,6 @@ Build::
[[v2.6]]
== Version 2.6 (2019-09-08)
{see-release-notes}
New features::
* core: add support of 32767 color pairs (issue #1343, issue #1345)
@@ -1350,8 +1191,6 @@ Build::
[[v2.5]]
== Version 2.5 (2019-06-06)
{see-release-notes}
New features::
* core: use getopt to parse command line arguments
@@ -1407,8 +1246,6 @@ Build::
[[v2.4]]
== Version 2.4 (2019-02-17)
{see-release-notes}
New features::
* core: do not automatically add a space when completing "nick:" at the beginning of command line (the space can be added in option weechat.completion.nick_completer)
@@ -1486,8 +1323,6 @@ Build::
[[v2.2]]
== Version 2.2 (2018-07-14)
{see-release-notes}
New features::
* core: change default value of option weechat.look.hotlist_add_conditions to check connected relay clients via weechat protocol (issue #1206)
@@ -1556,8 +1391,6 @@ Build::
[[v2.1]]
== Version 2.1 (2018-03-18)
{see-release-notes}
New features::
* core: add binary weechat-headless to run WeeChat without interface, with optional daemon mode (command line option `--daemon`) (issue #1120)
@@ -1597,8 +1430,6 @@ Bug fixes::
[[v2.0]]
== Version 2.0 (2017-12-03)
{see-release-notes}
New features::
* core: add flag "input_get_empty" in buffer
@@ -1686,8 +1517,6 @@ Bug fixes::
[[v1.8]]
== Version 1.8 (2017-05-13)
{see-release-notes}
New features::
* core: add option weechat.completion.nick_case_sensitive (issue #981)
@@ -1738,8 +1567,6 @@ Bug fixes::
[[v1.7]]
== Version 1.7 (2017-01-15)
{see-release-notes}
New features::
* core: add option weechat.look.align_multiline_words (issue #411, issue #802)
@@ -1784,8 +1611,6 @@ Build::
[[v1.6]]
== Version 1.6 (2016-10-02)
{see-release-notes}
New features::
* core: add optional argument `lowest`, `highest` or level mask in command `/input hotlist_clear`
@@ -1822,8 +1647,6 @@ Build::
[[v1.5]]
== Version 1.5 (2016-05-01)
{see-release-notes}
New features::
* core: evaluate content of option "weechat.look.item_time_format" (issue #791)
@@ -1866,8 +1689,6 @@ Build::
[[v1.4]]
== Version 1.4 (2016-01-10)
{see-release-notes}
New features::
* core: add a parent name in options, display inherited values if null in `/set` output, add option weechat.color.chat_value_null (issue #629)
@@ -1925,8 +1746,6 @@ Build::
[[v1.3]]
== Version 1.3 (2015-08-16)
{see-release-notes}
New features::
* core: add completion "colors" (issue #481)
@@ -1982,8 +1801,6 @@ Build::
[[v1.2]]
== Version 1.2 (2015-05-10)
{see-release-notes}
New features::
* core: add signals "signal_sigterm" and "signal_sigquit" (issue #114)
@@ -2058,8 +1875,6 @@ Build::
[[v1.1]]
== Version 1.1 (2015-01-11)
{see-release-notes}
New features::
* core: add option weechat.completion.command_inline (task #12491)
@@ -2157,8 +1972,6 @@ Build::
[[v1.0]]
== Version 1.0 (2014-08-15)
{see-release-notes}
New features::
* core: display a warning on startup if $TERM does not start with "screen" under Screen/Tmux
@@ -2320,8 +2133,6 @@ Tests::
[[v0.4.3]]
== Version 0.4.3 (2014-02-09)
{see-release-notes}
New features::
* core: add signals "signal_sighup" and "signal_sigwinch" (terminal resized)
@@ -2425,8 +2236,6 @@ Build::
[[v0.4.2]]
== Version 0.4.2 (2013-10-06)
{see-release-notes}
New features::
* core: display day change message dynamically (do not store it as a line in buffer), split option weechat.look.day_change_time_format into two options weechat.look.day_change_message_{1date|2dates}, new option weechat.color.chat_day_change (task #12775)
@@ -2509,8 +2318,6 @@ Build::
[[v0.4.1]]
== Version 0.4.1 (2013-05-20)
{see-release-notes}
New features::
* core: make nick prefix/suffix dynamic (not stored in the line): move options irc.look.nick_{prefix|suffix} to weechat.look.nick_{prefix|suffix} and options irc.color.nick_{prefix|suffix} to weechat.color.chat_nick_{prefix|suffix}, add new options weechat.look.prefix_align_more_after, weechat.look.prefix_buffer_align_more_after, logger.file.nick_{prefix|suffix} (bug #37531)
@@ -2595,8 +2402,6 @@ Build::
[[v0.4.0]]
== Version 0.4.0 (2013-01-20)
{see-release-notes}
New features::
* core: add buffer pointer in arguments for signals "input_search", "input_text_changed" and "input_text_cursor_moved"
@@ -2698,8 +2503,6 @@ Bug fixes::
[[v0.3.9]]
== Version 0.3.9 (2012-09-29)
{see-release-notes}
New features::
* core: add signals for plugins loaded/unloaded
@@ -2788,8 +2591,6 @@ Build::
[[v0.3.8]]
== Version 0.3.8 (2012-06-03)
{see-release-notes}
New features::
* core: add option weechat.look.prefix_same_nick (hide or change prefix on messages whose nick is the same as previous message) (task #11965)
@@ -2857,8 +2658,6 @@ Build::
[[v0.3.7]]
== Version 0.3.7 (2012-02-26)
{see-release-notes}
New features::
* core: add support of flags in regular expressions and highlight options
@@ -2943,8 +2742,6 @@ Build::
[[v0.3.6]]
== Version 0.3.6 (2011-10-22)
{see-release-notes}
New features::
* core: add color attribute "|" (keep attributes) and value "resetcolor" for function color in plugin API (used by irc plugin to keep bold/reverse/underlined in message when changing color) (bug #34550)
@@ -3037,8 +2834,6 @@ Build::
[[v0.3.5]]
== Version 0.3.5 (2011-05-15)
{see-release-notes}
New features::
* core: add buffer to hotlist if away is set on buffer (even if buffer is displayed), new option weechat.look.hotlist_add_buffer_if_away (task #10948)
@@ -3117,8 +2912,6 @@ Build::
[[v0.3.4]]
== Version 0.3.4 (2011-01-16)
{see-release-notes}
New features::
* core: add 256 colors support, new command `/color`, new section "palette" in weechat.conf (task #6834)
@@ -3187,8 +2980,6 @@ Build::
[[v0.3.3]]
== Version 0.3.3 (2010-08-07)
{see-release-notes}
New features::
* core: use "!" to reverse a regex in a filter (to keep lines matching regex and hide other lines) (task #10032)
@@ -3232,8 +3023,6 @@ Bug fixes::
[[v0.3.2]]
== Version 0.3.2 (2010-04-18)
{see-release-notes}
New features::
* core: add new options for command `/key`: `listdefault`, `listdiff` and `reset`
@@ -3314,8 +3103,6 @@ Build::
[[v0.3.1]]
== Version 0.3.1 (2010-01-23)
{see-release-notes}
New features::
* core: add option "grab_key_command" in command `/input` (bound by default to kbd:[Alt+k])
@@ -3372,8 +3159,6 @@ Build::
[[v0.3.0]]
== Version 0.3.0 (2009-09-06)
{see-release-notes}
New features::
* core: add group support in nicklist
@@ -3600,8 +3385,6 @@ Build::
[[v0.2.2]]
== Version 0.2.2 (2007-01-06)
{see-release-notes}
New features::
* add anti-flood option (irc_anti_flood) (task #5442)
@@ -3678,8 +3461,6 @@ Bug fixes::
[[v0.2.0]]
== Version 0.2.0 (2006-08-19)
{see-release-notes}
New features::
* add "C"lear option on IRC raw buffer
@@ -3735,8 +3516,6 @@ Build::
[[v0.1.9]]
== Version 0.1.9 (2006-05-25)
{see-release-notes}
New features::
* add backtrace when WeeChat crashes, log file automatically renamed
@@ -3794,8 +3573,6 @@ Build::
[[v0.1.8]]
== Version 0.1.8 (2006-03-18)
{see-release-notes}
New features::
* improve alias completion (now uses target command for completion)
@@ -3843,8 +3620,6 @@ Bug fixes::
[[v0.1.7]]
== Version 0.1.7 (2006-01-14)
{see-release-notes}
New features::
* remove "irc_default_msg_away" setting, for RFC 2812 conformity (`/away` command without argument only removes away status), new values for "irc_display_away" (off, local, channel)
@@ -3877,8 +3652,6 @@ Build::
[[v0.1.6]]
== Version 0.1.6 (2005-11-11)
{see-release-notes}
New features::
* new color management system, IRC colors are now correctly displayed and can be removed by new options irc_colors_receive and irc_colors_send
+1 -1
View File
@@ -7,7 +7,7 @@ pass:[<p align="center">] image:https://weechat.org/media/images/weechat_logo_la
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/x-follow-blue.svg["Twitter", link="https://x.com/WeeChatClient"]
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"]
image:https://img.shields.io/badge/help-donate%20%E2%9D%A4-ff69b4.svg["Donate", link="https://weechat.org/donate/"]
+9 -77
View File
@@ -11,77 +11,6 @@ It is recommended to read it when upgrading to a new stable version. +
For a complete list of changes, please look at ChangeLog.
[[v4.3.2]]
== Version 4.3.2 (2024-06-06)
No release notes.
[[v4.3.1]]
== Version 4.3.1 (2024-05-31)
[[v4.3.1_libgcrypt]]
=== Detection of libgcrypt
The detection of libgcrypt has been fixed to properly detect libgcrypt >= 1.11. +
As a consequence, the detection of an old version of libgcrypt is failing if the
file `libgcrypt.pc` is not found. +
This affects old distributions like Debian Buster and Ubuntu Bionic.
[[v4.3.0]]
== Version 4.3.0 (2024-05-26)
[[v4.3.0_relay_options]]
=== Relay options
The following relay options have been renamed:
* relay.color.status_waiting_auth -> relay.color.status_authenticating
* relay.weechat.commands -> relay.network.commands (new default value: `*,!quit`)
[[v4.3.0_lag_in_buflist]]
=== Lag in buflist
The lag is now stored in all IRC buffers: server (like it always has been),
channels and private buffers.
Consequently, if you use `${format_lag}` in buflist options, this lag will be
displayed on server and all channels and private buffers.
If you want to display the lag only on server buffer in buflist, you can use
such format:
----
${if:${type}==server?${format_lag}}
----
[[v4.3.0_irc_color_channel_modes]]
=== Color of IRC channel modes
The option `irc.color.item_channel_modes` has been moved to core and renamed to
`weechat.color.status_modes`.
[[v4.3.0_signal_buffer_line_added]]
=== Signal "buffer_line_added"
The signal "buffer_line_added" is now sent for every line added or modified
on a buffer with free content.
[[v4.3.0_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.3]]
== Version 4.2.3 (2024-05-31)
@@ -3052,12 +2981,13 @@ disable IPv6 in relay if you don't plan to use it at all:
[[v0.3.9.2]]
== Version 0.3.9.2 (2012-11-18)
No release notes.
This version fixes a security vulnerability when a plugin/script gives
untrusted command to API function link:https://weechat.org/doc/weechat/plugin/#_hook_process[hook_process].
[[v0.3.9.1]]
== Version 0.3.9.1 (2012-11-09)
No release notes.
This version fixes crash when decoding IRC colors in strings.
[[v0.3.9]]
== Version 0.3.9 (2012-09-29)
@@ -3365,17 +3295,17 @@ Major differences:
[[v0.2.6.3]]
== Version 0.2.6.3 (2009-06-13)
No release notes.
This version fixes gnutls detection.
[[v0.2.6.2]]
== Version 0.2.6.2 (2009-04-18)
No release notes.
This version fixes a bug with charset decoding (like "iso2022jp").
[[v0.2.6.1]]
== Version 0.2.6.1 (2009-03-14)
No release notes.
This version fixes a major bug: crash with some special chars in IRC messages.
[[v0.2.6]]
== Version 0.2.6 (2007-09-06)
@@ -3395,7 +3325,9 @@ No release notes.
[[v0.2.3]]
== Version 0.2.3 (2007-01-10)
No release notes.
This version fixes several major bugs of version 0.2.2.
All users of version 0.2.2 should upgrade to this version.
[[v0.2.2]]
== Version 0.2.2 (2007-01-06)
+53
View File
@@ -0,0 +1,53 @@
#
# Copyright (C) 2003-2024 Sébastien Helleu <flashcode@flashtux.org>
#
# This file is part of WeeChat, the extensible chat client.
#
# WeeChat is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# WeeChat is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with WeeChat. If not, see <https://www.gnu.org/licenses/>.
#
# - Find Gcrypt
# This module finds if libgcrypt is installed and determines where
# the include files and libraries are.
#
# This code sets the following variables:
#
# GCRYPT_CFLAGS = cflags to use to compile
# GCRYPT_LDFLAGS = ldflags to use to compile
#
find_program(LIBGCRYPT_CONFIG_EXECUTABLE NAMES libgcrypt-config)
set(GCRYPT_LDFLAGS)
set(GCRYPT_CFLAGS)
if(LIBGCRYPT_CONFIG_EXECUTABLE)
execute_process(COMMAND ${LIBGCRYPT_CONFIG_EXECUTABLE} --libs RESULT_VARIABLE _return_VALUE OUTPUT_VARIABLE GCRYPT_LDFLAGS OUTPUT_STRIP_TRAILING_WHITESPACE ERROR_QUIET)
execute_process(COMMAND ${LIBGCRYPT_CONFIG_EXECUTABLE} --cflags RESULT_VARIABLE _return_VALUE OUTPUT_VARIABLE GCRYPT_CFLAGS OUTPUT_STRIP_TRAILING_WHITESPACE ERROR_QUIET)
if(NOT DEFINED ${GCRYPT_CFLAGS})
set(GCRYPT_CFLAGS " ")
endif()
endif()
# handle the QUIETLY and REQUIRED arguments and set GCRYPT_FOUND to TRUE if
# all listed variables are TRUE
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(GCRYPT REQUIRED_VARS GCRYPT_LDFLAGS GCRYPT_CFLAGS)
if(GCRYPT_FOUND)
mark_as_advanced(GCRYPT_CFLAGS GCRYPT_LDFLAGS)
endif()
-2
View File
@@ -5,8 +5,6 @@
#cmakedefine ICONV_2ARG_IS_CONST 1
#cmakedefine HAVE_MALLINFO
#cmakedefine HAVE_MALLINFO2
#cmakedefine HAVE_MALLOC_H
#cmakedefine HAVE_MALLOC_TRIM
#cmakedefine HAVE_EAT_NEWLINE_GLITCH
#cmakedefine HAVE_ASPELL_VERSION_STRING
#cmakedefine HAVE_ENCHANT_GET_VERSION
+1 -2
View File
@@ -21,8 +21,7 @@ Build-Depends:
libgcrypt20-dev,
libgnutls28-dev,
libzstd-dev,
zlib1g-dev,
libcjson-dev
zlib1g-dev
Standards-Version: 4.6.2
Homepage: https://weechat.org/
Vcs-Git: https://salsa.debian.org/kolter/weechat.git
+1 -2
View File
@@ -21,8 +21,7 @@ Build-Depends:
libgcrypt20-dev,
libgnutls28-dev,
libzstd-dev,
zlib1g-dev,
libcjson-dev
zlib1g-dev
Standards-Version: 4.6.2
Homepage: https://weechat.org/
Vcs-Git: https://salsa.debian.org/kolter/weechat.git
+12 -12
View File
@@ -7,23 +7,23 @@ Files: *
Copyright: 2003-2024, Sébastien Helleu <flashcode@flashtux.org>
License: GPL-3+
Files: src/core/core-command.c
src/core/core-command.h
Files: src/core/wee-command.c
src/core/wee-command.h
Copyright: 2005-2006, Emmanuel Bouthenot <kolter@openics.org>
License: GPL-3+
Files: src/core/core-config-file.c
src/core/core-config-file.h
src/core/core-config.c
src/core/core-config.h
Files: src/core/wee-config-file.c
src/core/wee-config-file.h
src/core/wee-config.c
src/core/wee-config.h
Copyright: 2005-2006, Emmanuel Bouthenot <kolter@openics.org>
License: GPL-3+
Files: src/core/hook/hook-connect.c
Files: src/core/hook/wee-hook-connect.c
Copyright: 2012, Simon Arlott
License: GPL-3+
Files: src/core/hook/hook-connect.h
Files: src/core/hook/wee-hook-connect.h
Copyright: 2012, Simon Arlott
License: GPL-3+
@@ -31,9 +31,9 @@ Files: src/gui/gui-history.c
Copyright: 2005, Emmanuel Bouthenot <kolter@openics.org>
License: GPL-3+
Files: src/core/core-completion.c
src/core/core-log.c
src/core/core-utf8.c
Files: src/core/wee-completion.c
src/core/wee-log.c
src/core/wee-utf8.c
src/core/weechat.h
src/plugins/spell/spell-config.c
src/plugins/spell/spell-config.h
@@ -45,7 +45,7 @@ Files: src/core/core-completion.c
Copyright: 2006, Emmanuel Bouthenot <kolter@openics.org>
License: GPL-3+
Files: src/core/core-network.c
Files: src/core/wee-network.c
Copyright: 2005-2010, Emmanuel Bouthenot <kolter@openics.org>
2010, Gu1ll4um3r0m41n <aeroxteam@gmail.com>
2012, Simon Arlott
-6
View File
@@ -177,9 +177,6 @@ if(ENABLE_MAN OR ENABLE_DOC)
"${CMAKE_CURRENT_BINARY_DIR}/autogen/autogen_user_default_aliases.${lang}.adoc"
"${CMAKE_CURRENT_BINARY_DIR}/autogen/autogen_user_irc_colors.${lang}.adoc"
"${CMAKE_CURRENT_BINARY_DIR}/autogen/autogen_user_options.${lang}.adoc"
# scripting duide
"${CMAKE_CURRENT_BINARY_DIR}/autogen/autogen_scripting_functions.${lang}.adoc"
"${CMAKE_CURRENT_BINARY_DIR}/autogen/autogen_scripting_constants.${lang}.adoc"
)
endforeach()
add_custom_target(doc-autogen ALL
@@ -286,9 +283,6 @@ if(ENABLE_MAN OR ENABLE_DOC)
DEPENDS
"${CMAKE_CURRENT_SOURCE_DIR}/docinfo.html"
"${CMAKE_CURRENT_SOURCE_DIR}/${lang}/weechat_scripting.${lang}.adoc"
doc-autogen
"${CMAKE_CURRENT_BINARY_DIR}/autogen/autogen_scripting_functions.${lang}.adoc"
"${CMAKE_CURRENT_BINARY_DIR}/autogen/autogen_scripting_constants.${lang}.adoc"
WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}"
COMMENT "Building weechat_scripting.${lang}.html"
)
+305 -2
View File
@@ -564,14 +564,317 @@ lesen Sie bitte link:weechat_plugin_api.en.html[WeeChat Plugin API Reference ^
Liste der Skript API Funktionen:
include::{autogendir}/autogen_scripting_functions.de.adoc[tag=functions]
[width="100%",cols="1,5",options="header"]
|===
| Kategorie | Funktionen
| Allgemein
| register
| Erweiterungen
| plugin_get_name
| Strings
| charset_set +
iconv_to_internal +
iconv_from_internal +
gettext +
ngettext +
strlen_screen +
string_match +
string_match_list +
string_has_highlight +
string_has_highlight_regex +
string_mask_to_regex +
string_format_size +
string_parse_size +
string_color_code_size +
string_remove_color +
string_is_command_char +
string_input_for_buffer +
string_eval_expression +
string_eval_path_home
| Verzeichnisse
| mkdir_home +
mkdir +
mkdir_parents
| sortierte Listen
| list_new +
list_add +
list_search +
list_search_pos +
list_casesearch +
list_casesearch_pos +
list_get +
list_set +
list_next +
list_prev +
list_string +
list_size +
list_remove +
list_remove_all +
list_free
| Konfigurationsdatei
| config_new +
config_new_section +
config_search_section +
config_new_option +
config_search_option +
config_string_to_boolean +
config_option_reset +
config_option_set +
config_option_set_null +
config_option_unset +
config_option_rename +
config_option_is_null +
config_option_default_is_null +
config_boolean +
config_boolean_default +
config_integer +
config_integer_default +
config_string +
config_string_default +
config_color +
config_color_default +
config_write_option +
config_write_line +
config_write +
config_read +
config_reload +
config_option_free +
config_section_free_options +
config_section_free +
config_free +
config_get +
config_get_plugin +
config_is_set_plugin +
config_set_plugin +
config_set_desc_plugin +
config_unset_plugin
| Tastenbelegung
| key_bind +
key_unbind
| Ausgabe
| prefix +
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
| hook_command +
hook_command_run +
hook_timer +
hook_fd +
hook_process +
hook_process_hashtable +
hook_connect +
hook_line +
hook_print +
hook_signal +
hook_signal_send +
hook_hsignal +
hook_hsignal_send +
hook_config +
hook_completion +
hook_modifier +
hook_modifier_exec +
hook_info +
hook_info_hashtable +
hook_infolist +
hook_focus +
hook_set +
unhook +
unhook_all
| Buffer
| buffer_new +
buffer_new_props +
current_buffer +
buffer_search +
buffer_search_main +
buffer_clear +
buffer_close +
buffer_merge +
buffer_unmerge +
buffer_get_integer +
buffer_get_string +
buffer_get_pointer +
buffer_set +
buffer_string_replace_local_var +
buffer_match_list
| Fenster
| current_window +
window_search_with_buffer +
window_get_integer +
window_get_string +
window_get_pointer +
window_set_title
| Nickliste
| nicklist_add_group +
nicklist_search_group +
nicklist_add_nick +
nicklist_search_nick +
nicklist_remove_group +
nicklist_remove_nick +
nicklist_remove_all +
nicklist_group_get_integer +
nicklist_group_get_string +
nicklist_group_get_pointer +
nicklist_group_set +
nicklist_nick_get_integer +
nicklist_nick_get_string +
nicklist_nick_get_pointer +
nicklist_nick_set
| Bars
| bar_item_search +
bar_item_new +
bar_item_update +
bar_item_remove +
bar_search +
bar_new +
bar_set +
bar_update +
bar_remove
| Befehle
| command +
command_options
| Vervollständigung
| completion_new +
completion_search +
completion_get_string +
completion_list_add +
completion_free
| Informationen
| info_get +
info_get_hashtable
| Infolisten
| infolist_new +
infolist_new_item +
infolist_new_var_integer +
infolist_new_var_string +
infolist_new_var_pointer +
infolist_new_var_time +
infolist_get +
infolist_next +
infolist_prev +
infolist_reset_item_cursor +
infolist_search_var +
infolist_fields +
infolist_integer +
infolist_string +
infolist_pointer +
infolist_time +
infolist_free
| hdata
| hdata_get +
hdata_get_var_offset +
hdata_get_var_type_string +
hdata_get_var_array_size +
hdata_get_var_array_size_string +
hdata_get_var_hdata +
hdata_get_list +
hdata_check_pointer +
hdata_move +
hdata_search +
hdata_char +
hdata_integer +
hdata_long +
hdata_string +
hdata_pointer +
hdata_time +
hdata_hashtable +
hdata_compare +
hdata_update +
hdata_get_string
| Upgrade
| upgrade_new +
upgrade_write_object +
upgrade_read +
upgrade_close
|===
[[script_api_constants]]
=== Konstanten
Liste der Konstanten in Skript API:
include::{autogendir}/autogen_scripting_constants.de.adoc[tag=constants]
[width="100%",cols="1,5",options="header"]
|===
| Kategorie | Konstanten
| return codes
| `WEECHAT_RC_OK` (integer) +
`WEECHAT_RC_OK_EAT` (integer) +
`WEECHAT_RC_ERROR` (integer)
| Konfigurationsdatei
| `WEECHAT_CONFIG_READ_OK` (integer) +
`WEECHAT_CONFIG_READ_MEMORY_ERROR` (integer) +
`WEECHAT_CONFIG_READ_FILE_NOT_FOUND` (integer) +
`WEECHAT_CONFIG_WRITE_OK` (integer) +
`WEECHAT_CONFIG_WRITE_ERROR` (integer) +
`WEECHAT_CONFIG_WRITE_MEMORY_ERROR` (integer) +
`WEECHAT_CONFIG_OPTION_SET_OK_CHANGED` (integer) +
`WEECHAT_CONFIG_OPTION_SET_OK_SAME_VALUE` (integer) +
`WEECHAT_CONFIG_OPTION_SET_ERROR` (integer) +
`WEECHAT_CONFIG_OPTION_SET_OPTION_NOT_FOUND` (integer) +
`WEECHAT_CONFIG_OPTION_UNSET_OK_NO_RESET` (integer) +
`WEECHAT_CONFIG_OPTION_UNSET_OK_RESET` (integer) +
`WEECHAT_CONFIG_OPTION_UNSET_OK_REMOVED` (integer) +
`WEECHAT_CONFIG_OPTION_UNSET_ERROR` (integer)
| sortierte Listen
| `WEECHAT_LIST_POS_SORT` (string) +
`WEECHAT_LIST_POS_BEGINNING` (string) +
`WEECHAT_LIST_POS_END` (string)
| Hotlist
| `WEECHAT_HOTLIST_LOW` (string) +
`WEECHAT_HOTLIST_MESSAGE` (string) +
`WEECHAT_HOTLIST_PRIVATE` (string) +
`WEECHAT_HOTLIST_HIGHLIGHT` (string)
| hook Prozesse
| `WEECHAT_HOOK_PROCESS_RUNNING` (integer) +
`WEECHAT_HOOK_PROCESS_ERROR` (integer)
| hook Connect
| `WEECHAT_HOOK_CONNECT_OK` (integer) +
`WEECHAT_HOOK_CONNECT_ADDRESS_NOT_FOUND` (integer) +
`WEECHAT_HOOK_CONNECT_IP_ADDRESS_NOT_FOUND` (integer) +
`WEECHAT_HOOK_CONNECT_CONNECTION_REFUSED` (integer) +
`WEECHAT_HOOK_CONNECT_PROXY_ERROR` (integer) +
`WEECHAT_HOOK_CONNECT_LOCAL_HOSTNAME_ERROR` (integer) +
`WEECHAT_HOOK_CONNECT_GNUTLS_INIT_ERROR` (integer) +
`WEECHAT_HOOK_CONNECT_GNUTLS_HANDSHAKE_ERROR` (integer) +
`WEECHAT_HOOK_CONNECT_MEMORY_ERROR` (integer) +
`WEECHAT_HOOK_CONNECT_TIMEOUT` (integer) +
`WEECHAT_HOOK_CONNECT_SOCKET_ERROR` (integer)
| hook Signal
| `WEECHAT_HOOK_SIGNAL_STRING` (string) +
`WEECHAT_HOOK_SIGNAL_INT` (string) +
`WEECHAT_HOOK_SIGNAL_POINTER` (string)
|===
[[common_tasks]]
== Gemeinschaftsaufgabe
+26 -89
View File
@@ -35,7 +35,7 @@ wesentliche Merkmale:
https://datatracker.ietf.org/doc/html/rfc2812[2812 ^↗^^],
https://datatracker.ietf.org/doc/html/rfc2813[2813 ^↗^^] und
https://datatracker.ietf.org/doc/html/rfc7194[7194 ^↗^^]
* IRC proxy und relay für WeeChat und Remote-Schnittstellen
* IRC proxy und relay für remote Schnittstellen
* Betriebssystemunabhängig (GNU/Linux, *BSD, macOS, Windows und weitere)
* 100% GPL, freie Software
@@ -133,8 +133,7 @@ Die folgende Tabelle zeigt eine Auflistung der Pakete, die zum Erstellen von Wee
| zlib1g-dev |
| Logger-Erweitertung: Kompression von rotierenden Protokolldateien (gzip). +
Relay-Erweiterung: Kompression von Nachrichten (WeeChat -> client) with https://zlib.net/[zlib ^↗^^]
(api und weechat Protokollen). +
Relay-Erweiterung: Kompression von Nachrichten (WeeChat -> client) with https://zlib.net/[zlib ^↗^^] (weechat protocol). +
Script-Erweiterung: Lesen der Repository-Indexdatei (gzip).
|===
@@ -160,14 +159,9 @@ WeeChat optional sind:
| ca-certificates |
| Zertifikate für TLS Verbindungen.
| libcjson-dev |
| Relay-Erweiterung: Protokoll "api" (HTTP REST API).
| libzstd-dev | ≥ 0.8.1
// TRANLSATION MISSING
| Logger-Erweiterung: Kompression von rotierenden Protokolldateien (zstandard). +
Relay-Erweiterung: Kompression von Nachrichten (WeeChat -> client) with https://facebook.github.io/zstd/[Zstandard ^↗^^]
(api and weechat protocols).
Relay-Erweiterung: Kompression von Nachrichten (WeeChat -> client) with https://facebook.github.io/zstd/[Zstandard ^↗^^] (weechat protocol).
| libaspell-dev / libenchant-dev |
| Spell Erweiterung.
@@ -285,9 +279,6 @@ Liste der verfügbaren Optionen:
| ENABLE_CHARSET | `ON`, `OFF` | ON
| kompiliert <<charset,Charset Erweiterung>>.
| ENABLE_CJSON | `ON`, `OFF` | ON
| Unterstützung von JSON mittels https://github.com/DaveGamble/cJSON[cJSON ^↗^^] Bibliothek.
| ENABLE_MAN | `ON`, `OFF` | OFF
| erstellt die man page.
@@ -536,11 +527,11 @@ Copying output to /tmp/crash.txt.
at /some_path/src/core/weechat.c:351
#3 <signal handler called>
#4 0x000000000044cb24 in hook_process_timer_cb (arg_hook_process=0x254eb90,
remaining_calls=<value optimized out>) at /some_path/src/core/core-hook.c:1364
remaining_calls=<value optimized out>) at /some_path/src/core/wee-hook.c:1364
hook_process = 0x254eb90
status = <value optimized out>
#5 0x000000000044cc7d in hook_timer_exec ()
at /some_path/src/core/core-hook.c:1025
at /some_path/src/core/wee-hook.c:1025
tv_time = {tv_sec = 1272693881, tv_usec = 212665}
ptr_hook = 0x2811f40
next_hook = 0x0
@@ -2721,37 +2712,27 @@ und löschen (für die Syntax, siehe Befehl <<command_weechat_key,/key>>).
Der Name eines Ereignisses besteht aus einem Modifier (optional), einer Maustaste/Mausrad
und der Mausgeste (optional). Die unterschiedlichen Elemente werden durch ein `+-+` getrennt.
Liste der Modifikatoren (in der Reihenfolge des Ereignisnamens):
Liste der Modifiers:
[width="100%",cols="1m,4",options="header"]
|===
| Modifier | Beschreibung
| alt | Taste kbd:[Alt]
| ctrl | Taste kbd:[Ctrl]
| shift | Taste kbd:[Shift] ^(1)^
| alt | Taste kbd:[Alt]
| ctrl-alt | Taste kbd:[Ctrl] + kbd:[Alt]
|===
[NOTE]
^(1)^ Der `shift` Modifikator sollte in WeeChat selten verwendet werden, da es viele Terminals gibt
die diesen Modifikator nutzen, um Mausereignisse direkt abzufangen.
Verschiedene Modifikatoren können kombiniert werden, zum Beispiel:
* `alt-ctrl`
* `ctrl-shift`
* `alt-ctrl-shift`
Liste der Maustasten/Mausrad:
[width="100%",cols="1m,4",options="header"]
|===
| Maustaste/-rad | Beschreibung
| button1 | Linker Mausknopf wird gedrückt
| button2 | Rechter Mausknopf wird gedrückt
| button3 | Mittlerer Mausknopf wird gedrückt (häufig der Druck auf das Mausrad)
| button4 ... button11 | Ein zusätzlicher Mausknopf wird gedrückt
| wheelup | Mausrad wird nach oben gescrollt
| wheeldown | Mausrad wird nach unten gescrollt
| Maustaste/-rad | Beschreibung
| button1 | Linker Mausknopf wird gedrückt
| button2 | Rechter Mausknopf wird gedrückt
| button3 | Mittlerer Mausknopf wird gedrückt (häufig der Druck auf das Mausrad)
| button4 ... button9 | Ein zusätzlicher Mausknopf wird gedrückt
| wheelup | Mausrad wird nach oben gescrollt
| wheeldown | Mausrad wird nach unten gescrollt
|===
Liste der Mausgesten (nur für Maustasten, nicht für das Mausrad, anwendbar):
@@ -2787,7 +2768,7 @@ Bespiele von Ereignissen:
* `button1-event-drag`
* `alt-button2-gesture-down-long`
* `wheelup`
* `alt-ctrl-wheeldown`
* `ctrl-alt-wheeldown`
[TIP]
Wird eine Funktion im "mouse"-Kontext hinzufügt ist es möglich, mehrere
@@ -4609,13 +4590,8 @@ Die Relay-Erweiterung wird genutzt um Daten, mittels unterschiedlicher Protokoll
* _irc_: IRC Proxy: um mittels einem oder mehreren IRC-Clients eine Verbindung zu
IRC Servern zu unterhalten.
* _api_: HTTP REST API, wird von WeeChat und Remote-Schnittstellen zur Anzeige und
Interaktion mit WeeChat verwendet
* _weechat_: von Remote-Schnittstellen verwendetes Protokoll zur Anzeige und Interaktion mit
WeeChat.
Für die _api_ und _weechat_ Protokolle findet man eine Liste der Remote-Schnittstellen auf
https://weechat.org/about/interfaces/[this page ^↗^^].
* _weechat_: Protokoll, das von Remote-Schnittstellen zur Anzeige und Interaktion verwendet wird
WeeChat, siehe https://weechat.org/about/interfaces/[this page ^↗^^].
[[relay_password]]
=== Passwort
@@ -4627,13 +4603,14 @@ Es wird dringend empfohlen, mit diesen Befehlen ein Passwort für das Relay fest
/set relay.network.password "${sec.data.relay}"
----
Dieses Passwort wird bei allen Protokollen verwendet.
Dieses Passwort wird sowohl für das _irc_ als auch für das _weechat_ Protokoll
verwendet.
[[relay_totp]]
=== TOTP
TOTP (Time-based One-Time Password) kann als sekundärer Authentifizierungsfaktor
für die Protokolle _api_ und _weechat_ zusätzlich zum Passwort verwendet werden.
TOTP (Time-based One-Time Passwort) ist eine Zwei-Faktor-Authentifizierung
für das _weechat_ Protokoll, als Ergänzung zum eigentlichen Passwort.
Diese Funktion is optional und erhöht den Sicherheitsgrad.
@@ -4730,38 +4707,6 @@ folgenden Befehlen einrichten:
/set irc.server.relay.password "${sec.data.relay_libera}"
----
[[relay_api_protocol]]
=== API protocol
Die Relay-Erweiterung kann Daten über ein HTTP REST API-Protokoll an einen Remote-WeeChat oder eine Remote-Schnittstelle senden.
Die API kann online durchstöbert und getestet werden:
https://weechat.org/api/[WeeChat Relay API ^↗^^].
Sie können sich mit WeeChat oder einer Remote-Schnittstelle verbinden, siehe
https://weechat.org/about/interfaces/[this page ^↗^^].
Zum Beispiel:
----
/relay add api 9000
----
Jetzt kann man sich über Port 9000 mit einem WeeChat oder einer Remote-Schnittstelle
verbinden, indem das Passwort „mypassword“ verwendet wird.
So stellt man mit WeeChat eine Verbindung zu einem _api_ Relay her:
----
/remote add weechat http://localhost:9000 -password=mypassword
/remote connect weechat
----
[NOTE]
Der Remote-WeeChat muss dieselbe API-Version wie der lokale WeeChat nutzen.
Daher wird dringend empfohlen, auf dem Remote- und dem lokalen Client genau
dieselbe WeeChat-Version zu verwenden.
[[relay_weechat_protocol]]
=== WeeChat Protokoll
@@ -4802,9 +4747,7 @@ websocket = new WebSocket("ws://server.com:9000/weechat");
----
Der Port (im Beispiel: 9000) ist der Port der in der Relay Erweiterung angegeben wurde.
Die URI muss mit „/weechat“ für die Protokolle _irc_ und _weechat_ und mit „/api“
für das Protokoll _api_ enden.
Die URI muss immer auf "/weechat" enden (_irc_ und _weechat_ Protokoll).
[[relay_unix_socket]]
=== UNIX Domain Sockets
@@ -4849,7 +4792,7 @@ Sektionen in Datei _relay.conf_:
| network | /set relay.network.* | Netzwerkoptionen.
| irc | /set relay.irc.* | für das IRC Protokoll spezifische Optionen (IRC Proxy).
| port | <<command_relay_relay,/relay add>> +
/set relay.port.* | Ports zur Nutzung der Relay-Erweiterung (Optionen können in Sektion hinzugefügt/entfernt werden).
/set relay.port.* | Ports zur Nutzung der Relay-Erweiterung (IRC und weechat Protokolle) (Optionen können in Sektion hinzugefügt/entfernt werden).
|===
Optionen:
@@ -5274,9 +5217,7 @@ Zutreffende Gruppen können in _replace_ verwendet werden:
* `+${re:0}+` nach `+${re:99}+`: `+${re:0}+` ist die ganze Trefferanzahl, `+${re:1}+` nach
`+${re:99}+` sind als Gruppen erfasst.
* `pass:[${re:+}]`: das letzte Treffer (mit der höchsten Zahl)
* `+${re:#}+`: index of last group captured
* `+${re:repl_index}+`: index of replacement being done (starts to 1)
* `+${re:+}+`: das letzte Treffer (mit der höchsten Zahl)
* `+${hide:c,${re:N}}+`: Treffer "N" mit allen Zeichen die durch "c" ersetzt wurden
(Beispiele: `+${hide:*,${re:2}}+` ist die Gruppe #2, mit allen Zeichen die durch
`+*+` ersetzt wurden).
@@ -5428,7 +5369,7 @@ und die Daten in einer Hashtable gesichert:
| server | string | Name des Server (Beispiel: "libera").
| tags | string | Tags in Nachricht (findet selten Verwendung).
| message_without_tags | string | Nachricht ohne Tags.
| nick | string | Nick. ^(1)^
| nick | string | Nick.
| host | string | Hostname.
| command | string | IRC Befehl (Beispiel: "PRIVMSG", "NOTICE", ...).
| channel | string | IRC Channel.
@@ -5440,10 +5381,6 @@ und die Daten in einer Hashtable gesichert:
| pos_text | string | Index von _text_ innerhalb einer Nachricht ("-1" falls _text_ nicht gefunden wird).
|===
[NOTE]
^(1)^ Der Nick, ist der Absender der Nachricht. +
Der eigene Nick für den Server ist `${irc_server.nick}`.
Sofern es sich bei den Daten um einen Pointer handelt, kann die Variable `+tg_signal_data+`
wie im folgenden Beispiel genutzt werden um den Inhalt von hdata zu lesen (im Beispiel
wird der Pointer eines Buffer verwendet):
+354 -392
View File
@@ -112,97 +112,97 @@ WeeChat "core" is located in following directories:
[width="100%",cols="2m,3",options="header"]
|===
| Path/file | Description
| core/ | Core functions: entry point, internal structures.
|    core-arraylist.c | Array lists.
|    core-backtrace.c | Display a backtrace after a crash.
|    core-calc.c | Calculate result of expressions.
|    core-command.c | WeeChat core commands.
|    core-completion.c | Default completions.
|    core-config-file.c | Configuration file management.
|    core-config.c | Configuration options for WeeChat core (file weechat.conf).
|    core-crypto.c | Cryptographic functions.
|    core-debug.c | Some debug functions.
|    core-doc.c | Build of files for documentation.
|    core-dir.c | Directory/file functions.
|    core-eval.c | Evaluation of expressions with references to internal vars.
|    core-hashtable.c | Hashtables.
|    core-hdata.c | Hdata (direct access to data using hashtables).
|    core-hook.c | Hooks.
|    core-infolist.c | Infolists (lists with objects data).
|    core-input.c | Input of commands/text.
|    core-list.c | Sorted lists.
|    core-log.c | Write to WeeChat log file (weechat.log).
|    core-network.c | Network functions (connection to servers/proxies).
|    core-proxy.c | Proxy management.
|    core-secure.c | Secured data functions.
|    core-secure-buffer.c | Secured data buffer.
|    core-secure-config.c | Secured data options (file sec.conf).
|    core-signal.c | Signal functions.
|    core-string.c | Functions on strings.
|    core-sys.c | System functions.
|    core-upgrade-file.c | Internal upgrade system.
|    core-upgrade.c | Upgrade for WeeChat core (buffers, lines, history, ...).
|    core-url.c | URL transfer (using libcurl).
|    core-utf8.c | UTF-8 functions.
|    core-util.c | Some other functions.
|    core-version.c | Functions for WeeChat version.
|    weechat.c | Main functions: command line options, startup.
|    hook/ | Hook functions.
|       hook-command-run.c | Hook "command_run".
|       hook-command.c | Hook "command".
|       hook-completion.c | Hook "completion".
|       hook-config.c | Hook "config".
|       hook-connect.c | Hook "connect".
|       hook-fd.c | Hook "fd".
|       hook-focus.c | Hook "focus".
|       hook-hdata.c | Hook "hdata".
|       hook-hsignal.c | Hook "hsignal".
|       hook-info-hashtable.c | Hook "info_hashtable".
|       hook-info.c | Hook "info".
|       hook-infolist.c | Hook "infolist".
|       hook-line.c | Hook "line".
|       hook-modifier.c | Hook "modifier".
|       hook-print.c | Hook "print".
|       hook-process.c | Hook "process".
|       hook-signal.c | Hook "signal".
|       hook-timer.c | Hook "timer".
|       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.
|    gui-bar.c | Bars.
|    gui-buffer.c | Buffers.
|    gui-chat.c | Chat functions (display message, ...).
|    gui-color.c | Color functions.
|    gui-completion.c | Completion on command line.
|    gui-cursor.c | Cursor mode (free movement of cursor).
|    gui-filter.c | Filters.
|    gui-focus.c | Functions about focus (for cursor mode and mouse).
|    gui-history.c | Commands/text saved in buffers.
|    gui-hotlist.c | Hotlist management (list of buffers with activity).
|    gui-input.c | Input functions (input bar).
|    gui-key.c | Keyboard functions.
|    gui-layout.c | Layout.
|    gui-line.c | Lines in buffers.
|    gui-mouse.c | Mouse.
|    gui-nick.c | Nick functions.
|    gui-nicklist.c | Nicklist in buffers.
|    gui-window.c | Windows.
|    curses/ | Curses interface.
|       gui-curses-bar-window.c | Display in bar windows.
|       gui-curses-chat.c | Display in chat area (messages).
|       gui-curses-color.c | Color functions.
|       gui-curses-key.c | Keyboard functions (default keys, read of input).
|       gui-curses-main.c | WeeChat main loop (waiting for keyboard/network events).
|       gui-curses-mouse.c | Mouse.
|       gui-curses-term.c | Functions about terminal.
|       gui-curses-window.c | Windows.
|       headless/ | Headless mode (no interface).
|          main.c | Entry point for headless mode.
|          ncurses-fake.c | Fake ncurses library.
|       normal/ | Curses interface.
|          main.c | Entry point for Curses interface.
| Path/file | Description
| core/ | Core functions: entry point, internal structures.
|    wee-arraylist.c | Array lists.
|    wee-backtrace.c | Display a backtrace after a crash.
|    wee-calc.c | Calculate result of expressions.
|    wee-command.c | WeeChat core commands.
|    wee-completion.c | Default completions.
|    wee-config-file.c | Configuration file management.
|    wee-config.c | Configuration options for WeeChat core (file weechat.conf).
|    wee-crypto.c | Cryptographic functions.
|    wee-debug.c | Some debug functions.
|    wee-doc.c | Build of files for documentation.
|    wee-dir.c | Directory/file functions.
|    wee-eval.c | Evaluation of expressions with references to internal vars.
|    wee-hashtable.c | Hashtables.
|    wee-hdata.c | Hdata (direct access to data using hashtables).
|    wee-hook.c | Hooks.
|    wee-infolist.c | Infolists (lists with objects data).
|    wee-input.c | Input of commands/text.
|    wee-list.c | Sorted lists.
|    wee-log.c | Write to WeeChat log file (weechat.log).
|    wee-network.c | Network functions (connection to servers/proxies).
|    wee-proxy.c | Proxy management.
|    wee-secure.c | Secured data functions.
|    wee-secure-buffer.c | Secured data buffer.
|    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).
|    wee-utf8.c | UTF-8 functions.
|    wee-util.c | Some other functions.
|    wee-version.c | Functions for WeeChat version.
|    weechat.c | Main functions: command line options, startup.
|    hook/ | Hook functions.
|       wee-hook-command-run.c | Hook "command_run".
|       wee-hook-command.c | Hook "command".
|       wee-hook-completion.c | Hook "completion".
|       wee-hook-config.c | Hook "config".
|       wee-hook-connect.c | Hook "connect".
|       wee-hook-fd.c | Hook "fd".
|       wee-hook-focus.c | Hook "focus".
|       wee-hook-hdata.c | Hook "hdata".
|       wee-hook-hsignal.c | Hook "hsignal".
|       wee-hook-info-hashtable.c | Hook "info_hashtable".
|       wee-hook-info.c | Hook "info".
|       wee-hook-infolist.c | Hook "infolist".
|       wee-hook-line.c | Hook "line".
|       wee-hook-modifier.c | Hook "modifier".
|       wee-hook-print.c | Hook "print".
|       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.
|    gui-bar.c | Bars.
|    gui-buffer.c | Buffers.
|    gui-chat.c | Chat functions (display message, ...).
|    gui-color.c | Color functions.
|    gui-completion.c | Completion on command line.
|    gui-cursor.c | Cursor mode (free movement of cursor).
|    gui-filter.c | Filters.
|    gui-focus.c | Functions about focus (for cursor mode and mouse).
|    gui-history.c | Commands/text saved in buffers.
|    gui-hotlist.c | Hotlist management (list of buffers with activity).
|    gui-input.c | Input functions (input bar).
|    gui-key.c | Keyboard functions.
|    gui-layout.c | Layout.
|    gui-line.c | Lines in buffers.
|    gui-mouse.c | Mouse.
|    gui-nick.c | Nick functions.
|    gui-nicklist.c | Nicklist in buffers.
|    gui-window.c | Windows.
|    curses/ | Curses interface.
|       gui-curses-bar-window.c | Display in bar windows.
|       gui-curses-chat.c | Display in chat area (messages).
|       gui-curses-color.c | Color functions.
|       gui-curses-key.c | Keyboard functions (default keys, read of input).
|       gui-curses-main.c | WeeChat main loop (waiting for keyboard/network events).
|       gui-curses-mouse.c | Mouse.
|       gui-curses-term.c | Functions about terminal.
|       gui-curses-window.c | Windows.
|       headless/ | Headless mode (no interface).
|          main.c | Entry point for headless mode.
|          ncurses-fake.c | Fake ncurses library.
|       normal/ | Curses interface.
|          main.c | Entry point for Curses interface.
|===
[[sources_plugins]]
@@ -210,189 +210,180 @@ WeeChat "core" is located in following directories:
[width="100%",cols="2m,3",options="header"]
|===
| Path/file | Description
| plugins/ | Root of plugins.
|    plugin.c | Plugins management (load/unload dynamic C libraries).
|    plugin-api.c | Extra functions for plugin API (wrapper around WeeChat core functions).
|    plugin-api-info.c | Extra info/infolist functions for plugin API.
|    plugin-config.c | Plugin configuration options (file plugins.conf).
|    plugin-script.c | Common functions used by script plugins.
|    plugin-script-api.c | Script API functions: wrappers around some plugin API functions.
|    plugin-script-config.c | Script plugin configuration options (files python.conf, perl.conf, ...).
|    weechat-plugin.h | Header designed to be distributed with WeeChat plugins, in order to compile them.
|    alias/ | Alias plugin.
|       alias.c | Main alias functions.
|       alias-command.c | Alias commands.
|       alias-completion.c | Alias completions.
|       alias-config.c | Alias config options (file alias.conf).
|       alias-info.c | Alias info/infolists/hdata.
|    spell/ | Spell checker plugin.
|       spell.c | Main spell checker functions.
|       spell-bar-item.c | Spell checker bar items.
|       spell-command.c | Spell checker commands.
|       spell-completion.c | Spell checker completions.
|       spell-config.c | Spell checker config options (file spell.conf).
|       spell-info.c | Spell checker info/infolists/hdata.
|       spell-speller.c | Spellers management.
|    buflist/ | Buflist plugin.
|       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.
|    charset/ | Charset plugin.
|       charset.c | Charset functions.
|    exec/ | Exec plugin.
|       exec.c | Main exec functions.
|       exec-buffer.c | Exec buffer.
|       exec-command.c | Exec commands.
|       exec-completion.c | Exec completions.
|       exec-config.c | Exec config options (file exec.conf).
|    fifo/ | Fifo plugin.
|       fifo.c | Main fifo functions.
|       fifo-command.c | Fifo commands.
|       fifo-config.c | Fifo config options (file fifo.conf).
|       fifo-info.c | Fifo info/infolists/hdata.
|    fset/ | Fset plugin.
|       fset.c | Main fset functions.
|       fset-bar-item.c | Fset bar items.
|       fset-buffer.c | Fset buffer.
|       fset-command.c | Fset commands.
|       fset-completion.c | Fset completions.
|       fset-config.c | Fset config options (file fset.conf).
|       fset-info.c | Fset info/infolists/hdata.
|       fset-mouse.c | Fset mouse actions.
|       fset-option.c | Fset options management.
|    guile/ | Guile (scheme) plugin.
|       weechat-guile.c | Main guile functions (load/unload scripts, execute guile code).
|       weechat-guile-api.c | Guile scripting API functions.
|    irc/ | IRC (Internet Relay Chat) plugin.
|       irc.c | Main IRC functions.
|       irc-bar-item.c | IRC bar items.
|       irc-batch.c | IRC batched events.
|       irc-buffer.c | IRC buffers.
|       irc-channel.c | IRC channels.
|       irc-color.c | IRC colors.
|       irc-command.c | IRC commands.
|       irc-completion.c | IRC completions.
|       irc-config.c | IRC config options (file irc.conf).
|       irc-ctcp.c | IRC CTCP.
|       irc-debug.c | IRC debug functions.
|       irc-ignore.c | IRC Ignore.
|       irc-info.c | IRC info/infolists/hdata.
|       irc-input.c | Input of commands/text.
|       irc-join.c | Functions for list of channels to join.
|       irc-list.c | Buffer for reply to /list command.
|       irc-message.c | Functions to manipulate IRC messages.
|       irc-mode.c | Functions about channel/nick modes.
|       irc-modelist.c | IRC channel mode lists (+b, +e, +I, ...).
|       irc-msgbuffer.c | Target buffer for IRC messages.
|       irc-nick.c | IRC nicks.
|       irc-notify.c | IRC notify lists.
|       irc-protocol.c | IRC protocol (RFCs 1459/2810/2811/2812/2813/7194).
|       irc-raw.c | IRC raw buffer.
|       irc-redirect.c | Redirection of IRC command output.
|       irc-sasl.c | SASL authentication with IRC server.
|       irc-server.c | I/O communication with IRC server.
|       irc-tag.c | Functions to manipulate IRC message tags.
|       irc-typing.c | Typing status.
|       irc-upgrade.c | Save/restore of IRC data when upgrading WeeChat.
|    javascript/ | JavaScript plugin.
|       weechat-js.cpp | Main JavaScript functions (load/unload scripts, execute JavaScript code).
|       weechat-js-api.cpp | JavaScript scripting API functions.
|       weechat-js-v8.cpp | JavaScript v8 functions.
|    logger/ | Logger plugin.
|       logger.c | Main logger functions.
|       logger-backlog.c | Logger backlog functions.
|       logger-buffer.c | Logger buffer list management.
|       logger-command.c | Logger commands.
|       logger-config.c | Logger config options (file logger.conf).
|       logger-info.c | Logger info/infolists/hdata.
|       logger-tail.c | Functions to get last lines of a file.
|    lua/ | Lua plugin.
|       weechat-lua.c | Main lua functions (load/unload scripts, execute lua code).
|       weechat-lua-api.c | Lua scripting API functions.
|    perl/ | Perl plugin.
|       weechat-perl.c | Main perl functions (load/unload scripts, execute perl code).
|       weechat-perl-api.c | Perl scripting API functions.
|    php/ | PHP plugin.
|       weechat-php.c | Main PHP functions (load/unload scripts, execute PHP code).
|       weechat-php-api.c | PHP scripting API functions.
|    python/ | Python plugin.
|       weechat-python.c | Main python functions (load/unload scripts, execute python code).
|       weechat-python-api.c | Python scripting API functions.
|    relay/ | Relay plugin (IRC proxy and relay for remote interfaces).
|       relay.c | Main relay functions.
|       relay-auth.c | Clients authentication.
|       relay-buffer.c | Relay buffer.
|       relay-client.c | Clients of relay.
|       relay-command.c | Relay commands.
|       relay-completion.c | Relay completions.
|       relay-config.c | Relay config options (file relay.conf).
|       relay-http.c | HTTP functions.
|       relay-info.c | Relay info/infolists/hdata.
|       relay-network.c | Network functions for relay.
|       relay-raw.c | Relay raw buffer.
|       relay-remote.c | Relay remote.
|       relay-server.c | Relay server.
|       relay-upgrade.c | Save/restore of relay data when upgrading WeeChat.
|       relay-websocket.c | WebSocket server functions (RFC 6455).
|       api/ | Relay for remote interfaces (using HTTP REST API).
|          relay-api.c | Main API functions for HTTP REST API.
|          relay-api-msg.c | Send JSON messages to clients.
|          relay-api-protocol.c | HTTP REST API protocol.
|          remote/ | Relay remote functions, specific to API.
|             relay-remote-event.c | Process events received from relay remote.
|             relay-remote-network.c | Network functions for relay remote.
|       irc/ | IRC proxy.
|          relay-irc.c | Main IRC proxy functions.
|       weechat/ | Relay for remote interfaces (using "weechat" binary protocol).
|          relay-weechat.c | Relay for remote interfaces (main functions).
|          relay-weechat-msg.c | Send binary messages to clients.
|          relay-weechat-nicklist.c | Nicklist functions.
|          relay-weechat-protocol.c | Read commands from clients.
|    ruby/ | Ruby plugin.
|       weechat-ruby.c | Main ruby functions (load/unload scripts, execute ruby code).
|       weechat-ruby-api.c | Ruby scripting API functions.
|    script/ | Script manager.
|       script.c | Main functions for script manager.
|       script-action.c | Actions on scripts (load/unload, install/remove, ...).
|       script-buffer.c | Buffer for script manager.
|       script-command.c | Commands for script manager.
|       script-completion.c | Completions for script manager.
|       script-config.c | Config options for script manager (file script.conf).
|       script-info.c | Script manager info/infolists/hdata.
|       script-mouse.c | Script mouse actions.
|       script-repo.c | Download and read repository file.
|    tcl/ | Tcl plugin.
|       weechat-tcl.c | Main tcl functions (load/unload scripts, execute tcl code).
|       weechat-tcl-api.c | Tcl scripting API functions.
|    trigger/ | Trigger plugin.
|       trigger.c | Main trigger functions.
|       trigger-buffer.c | Trigger buffer.
|       trigger-callback.c | Trigger callbacks.
|       trigger-command.c | Trigger commands.
|       trigger-completion.c | Trigger completions.
|       trigger-config.c | Trigger config options (file trigger.conf).
|    typing/ | Typing plugin.
|       typing.c | Main typing functions.
|       typing-bar-item.c | Typing bar items.
|       typing-config.c | Typing config options (file typing.conf).
|       typing-status.c | Messages typing status on buffers.
|    xfer/ | Xfer plugin (IRC DCC file/chat).
|       xfer.c | Main xfer functions.
|       xfer-buffer.c | Xfer buffer.
|       xfer-chat.c | DCC chat.
|       xfer-command.c | Xfer commands.
|       xfer-completion.c | Xfer completions.
|       xfer-config.c | Xfer config options (file xfer.conf).
|       xfer-dcc.c | DCC file transfer.
|       xfer-file.c | File functions for xfer.
|       xfer-info.c | Xfer info/infolists/hdata.
|       xfer-network.c | Network functions for xfer.
|       xfer-upgrade.c | Save/restore of xfer data when upgrading WeeChat.
| Path/file | Description
| plugins/ | Root of plugins.
|    plugin.c | Plugins management (load/unload dynamic C libraries).
|    plugin-api.c | Extra functions for plugin API (wrapper around WeeChat core functions).
|    plugin-api-info.c | Extra info/infolist functions for plugin API.
|    plugin-config.c | Plugin configuration options (file plugins.conf).
|    plugin-script.c | Common functions used by script plugins.
|    plugin-script-api.c | Script API functions: wrappers around some plugin API functions.
|    plugin-script-config.c | Script plugin configuration options (files python.conf, perl.conf, ...).
|    weechat-plugin.h | Header designed to be distributed with WeeChat plugins, in order to compile them.
|    alias/ | Alias plugin.
|       alias.c | Main alias functions.
|       alias-command.c | Alias commands.
|       alias-completion.c | Alias completions.
|       alias-config.c | Alias config options (file alias.conf).
|       alias-info.c | Alias info/infolists/hdata.
|    spell/ | Spell checker plugin.
|       spell.c | Main spell checker functions.
|       spell-bar-item.c | Spell checker bar items.
|       spell-command.c | Spell checker commands.
|       spell-completion.c | Spell checker completions.
|       spell-config.c | Spell checker config options (file spell.conf).
|       spell-info.c | Spell checker info/infolists/hdata.
|       spell-speller.c | Spellers management.
|    buflist/ | Buflist plugin.
|       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.
|    charset/ | Charset plugin.
|       charset.c | Charset functions.
|    exec/ | Exec plugin.
|       exec.c | Main exec functions.
|       exec-buffer.c | Exec buffer.
|       exec-command.c | Exec commands.
|       exec-completion.c | Exec completions.
|       exec-config.c | Exec config options (file exec.conf).
|    fifo/ | Fifo plugin.
|       fifo.c | Main fifo functions.
|       fifo-command.c | Fifo commands.
|       fifo-config.c | Fifo config options (file fifo.conf).
|       fifo-info.c | Fifo info/infolists/hdata.
|    fset/ | Fset plugin.
|       fset.c | Main fset functions.
|       fset-bar-item.c | Fset bar items.
|       fset-buffer.c | Fset buffer.
|       fset-command.c | Fset commands.
|       fset-completion.c | Fset completions.
|       fset-config.c | Fset config options (file fset.conf).
|       fset-info.c | Fset info/infolists/hdata.
|       fset-mouse.c | Fset mouse actions.
|       fset-option.c | Fset options management.
|    guile/ | Guile (scheme) plugin.
|       weechat-guile.c | Main guile functions (load/unload scripts, execute guile code).
|       weechat-guile-api.c | Guile scripting API functions.
|    irc/ | IRC (Internet Relay Chat) plugin.
|       irc.c | Main IRC functions.
|       irc-bar-item.c | IRC bar items.
|       irc-batch.c | IRC batched events.
|       irc-buffer.c | IRC buffers.
|       irc-channel.c | IRC channels.
|       irc-color.c | IRC colors.
|       irc-command.c | IRC commands.
|       irc-completion.c | IRC completions.
|       irc-config.c | IRC config options (file irc.conf).
|       irc-ctcp.c | IRC CTCP.
|       irc-debug.c | IRC debug functions.
|       irc-ignore.c | IRC Ignore.
|       irc-info.c | IRC info/infolists/hdata.
|       irc-input.c | Input of commands/text.
|       irc-join.c | Functions for list of channels to join.
|       irc-list.c | Buffer for reply to /list command.
|       irc-message.c | Functions to manipulate IRC messages.
|       irc-mode.c | Functions about channel/nick modes.
|       irc-modelist.c | IRC channel mode lists (+b, +e, +I, ...).
|       irc-msgbuffer.c | Target buffer for IRC messages.
|       irc-nick.c | IRC nicks.
|       irc-notify.c | IRC notify lists.
|       irc-protocol.c | IRC protocol (RFCs 1459/2810/2811/2812/2813/7194).
|       irc-raw.c | IRC raw buffer.
|       irc-redirect.c | Redirection of IRC command output.
|       irc-sasl.c | SASL authentication with IRC server.
|       irc-server.c | I/O communication with IRC server.
|       irc-tag.c | Functions to manipulate IRC message tags.
|       irc-typing.c | Typing status.
|       irc-upgrade.c | Save/restore of IRC data when upgrading WeeChat.
|    javascript/ | JavaScript plugin.
|       weechat-js.cpp | Main JavaScript functions (load/unload scripts, execute JavaScript code).
|       weechat-js-api.cpp | JavaScript scripting API functions.
|       weechat-js-v8.cpp | JavaScript v8 functions.
|    logger/ | Logger plugin.
|       logger.c | Main logger functions.
|       logger-backlog.c | Logger backlog functions.
|       logger-buffer.c | Logger buffer list management.
|       logger-command.c | Logger commands.
|       logger-config.c | Logger config options (file logger.conf).
|       logger-info.c | Logger info/infolists/hdata.
|       logger-tail.c | Functions to get last lines of a file.
|    lua/ | Lua plugin.
|       weechat-lua.c | Main lua functions (load/unload scripts, execute lua code).
|       weechat-lua-api.c | Lua scripting API functions.
|    perl/ | Perl plugin.
|       weechat-perl.c | Main perl functions (load/unload scripts, execute perl code).
|       weechat-perl-api.c | Perl scripting API functions.
|    php/ | PHP plugin.
|       weechat-php.c | Main PHP functions (load/unload scripts, execute PHP code).
|       weechat-php-api.c | PHP scripting API functions.
|    python/ | Python plugin.
|       weechat-python.c | Main python functions (load/unload scripts, execute python code).
|       weechat-python-api.c | Python scripting API functions.
|    relay/ | Relay plugin (IRC proxy and relay for remote interfaces).
|       relay.c | Main relay functions.
|       relay-auth.c | Clients authentication.
|       relay-buffer.c | Relay buffer.
|       relay-client.c | Clients of relay.
|       relay-command.c | Relay commands.
|       relay-completion.c | Relay completions.
|       relay-config.c | Relay config options (file relay.conf).
|       relay-info.c | Relay info/infolists/hdata.
|       relay-network.c | Network functions for relay.
|       relay-raw.c | Relay raw buffer.
|       relay-server.c | Relay server.
|       relay-upgrade.c | Save/restore of relay data when upgrading WeeChat.
|       relay-websocket.c | WebSocket server functions (RFC 6455).
|       irc/ | IRC proxy.
|          relay-irc.c | Main IRC proxy functions.
|       weechat/ | Relay for remote interfaces.
|          relay-weechat.c | Relay for remote interfaces (main functions).
|          relay-weechat-msg.c | Send binary messages to clients.
|          relay-weechat-nicklist.c | Nicklist functions.
|          relay-weechat-protocol.c | Read commands from clients.
|    ruby/ | Ruby plugin.
|       weechat-ruby.c | Main ruby functions (load/unload scripts, execute ruby code).
|       weechat-ruby-api.c | Ruby scripting API functions.
|    script/ | Script manager.
|       script.c | Main functions for script manager.
|       script-action.c | Actions on scripts (load/unload, install/remove, ...).
|       script-buffer.c | Buffer for script manager.
|       script-command.c | Commands for script manager.
|       script-completion.c | Completions for script manager.
|       script-config.c | Config options for script manager (file script.conf).
|       script-info.c | Script manager info/infolists/hdata.
|       script-mouse.c | Script mouse actions.
|       script-repo.c | Download and read repository file.
|    tcl/ | Tcl plugin.
|       weechat-tcl.c | Main tcl functions (load/unload scripts, execute tcl code).
|       weechat-tcl-api.c | Tcl scripting API functions.
|    trigger/ | Trigger plugin.
|       trigger.c | Main trigger functions.
|       trigger-buffer.c | Trigger buffer.
|       trigger-callback.c | Trigger callbacks.
|       trigger-command.c | Trigger commands.
|       trigger-completion.c | Trigger completions.
|       trigger-config.c | Trigger config options (file trigger.conf).
|    typing/ | Typing plugin.
|       typing.c | Main typing functions.
|       typing-bar-item.c | Typing bar items.
|       typing-config.c | Typing config options (file typing.conf).
|       typing-status.c | Messages typing status on buffers.
|    xfer/ | Xfer plugin (IRC DCC file/chat).
|       xfer.c | Main xfer functions.
|       xfer-buffer.c | Xfer buffer.
|       xfer-chat.c | DCC chat.
|       xfer-command.c | Xfer commands.
|       xfer-completion.c | Xfer completions.
|       xfer-config.c | Xfer config options (file xfer.conf).
|       xfer-dcc.c | DCC file transfer.
|       xfer-file.c | File functions for xfer.
|       xfer-info.c | Xfer info/infolists/hdata.
|       xfer-network.c | Network functions for xfer.
|       xfer-upgrade.c | Save/restore of xfer data when upgrading WeeChat.
|===
[[sources_tests]]
@@ -400,119 +391,89 @@ WeeChat "core" is located in following directories:
[width="100%",cols="2m,3",options="header"]
|===
| Path/file | Description
| tests/ | Root of tests.
|    tests.cpp | Program used to run all tests.
|    tests-record.cpp | Record and search in messages displayed.
|    scripts/ | Root of scripting API tests.
|       test-scripts.cpp | Program used to run the scripting API tests.
|       python/ | Python scripts to generate and run the scripting API tests.
|          testapigen.py | Python script generating scripts in all languages to test the scripting API.
|          testapi.py | Python script with scripting API tests, used by script testapigen.py.
|          unparse.py | Convert Python code to other languages, used by script testapigen.py.
|    unit/ | Root of unit tests.
|       test-plugins.cpp | Tests: plugins.
|       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.
|          test-core-command.cpp | Tests: commands.
|          test-core-config-file.cpp | Tests: configuration files.
|          test-core-crypto.cpp | Tests: cryptographic functions.
|          test-core-dir.cpp | Tests: directory/file functions.
|          test-core-eval.cpp | Tests: evaluation of expressions.
|          test-core-hashtble.cpp | Tests: hashtables.
|          test-core-hdata.cpp | Tests: hdata.
|          test-core-hook.cpp | Tests: hooks.
|          test-core-infolist.cpp | Tests: infolists.
|          test-core-list.cpp | Tests: lists.
|          test-core-network.cpp | Tests: network functions.
|          test-core-secure.cpp | Tests: secured data.
|          test-core-signal.cpp | Tests: signals.
|          test-core-string.cpp | Tests: strings.
|          test-core-url.cpp | Tests: URLs.
|          test-core-utf8.cpp | Tests: UTF-8.
|          test-core-util.cpp | Tests: utility functions.
|          test-core-sys.cpp | Tests: system functions.
|          hook/ | Root of unit tests for hooks.
|             test-hook-command.cpp | Tests: hooks "command".
|             test-hook-command-run.cpp | Tests: hooks "command_run".
|             test-hook-completion.cpp | Tests: hooks "completion".
|             test-hook-config.cpp | Tests: hooks "config".
|             test-hook-connect.cpp | Tests: hooks "connect".
|             test-hook-fd.cpp | Tests: hooks "fd".
|             test-hook-focus.cpp | Tests: hooks "focus".
|             test-hook-hdata.cpp | Tests: hooks "hdata".
|             test-hook-hsignal.cpp | Tests: hooks "hsignal".
|             test-hook-info-hashtable.cpp | Tests: hooks "info_hashtable".
|             test-hook-info.cpp | Tests: hooks "info".
|             test-hook-infolist.cpp | Tests: hooks "infolist".
|             test-hook-line.cpp | Tests: hooks "line".
|             test-hook-modifier.cpp | Tests: hooks "modifier".
|             test-hook-print.cpp | Tests: hooks "print".
|             test-hook-process.cpp | Tests: hooks "process".
|             test-hook-signal.cpp | Tests: hooks "signal".
|             test-hook-timer.cpp | Tests: hooks "timer".
|             test-hook-url.cpp | Tests: hooks "url".
|       gui/ | Root of unit tests for interfaces.
|          test-gui-bar-window.cpp | Tests: bar window functions.
|          test-gui-buffer.cpp | Tests: buffer functions.
|          test-gui-chat.cpp | Tests: chat functions.
|          test-gui-color.cpp | Tests: colors.
|          test-gui-filter.cpp | Tests: filters.
|          test-gui-hotlist.cpp | Tests: hotlist functions.
|          test-gui-input.cpp | Tests: input functions.
|          test-gui-key.cpp | Tests: keys.
|          test-gui-line.cpp | Tests: lines.
|          test-gui-nick.cpp | Tests: nicks.
|          test-gui-nicklist.cpp | Tests: nicklist functions.
|          curses/ | Root of unit tests for Curses interface.
|             test-gui-curses-mouse.cpp | Tests: mouse (Curses interface).
|       plugins/ | Root of unit tests for plugins.
|          irc/ | Root of unit tests for IRC plugin.
|             test-irc-batch.cpp | Tests: IRC batched events.
|             test-irc-buffer.cpp | Tests: IRC buffers.
|             test-irc-channel.cpp | Tests: IRC channels.
|             test-irc-color.cpp | Tests: IRC colors.
|             test-irc-command.cpp | Tests: IRC commands.
|             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.
|             test-irc-mode.cpp | Tests: IRC modes.
|             test-irc-nick.cpp | Tests: IRC nicks.
|             test-irc-protocol.cpp | Tests: IRC protocol.
|             test-irc-sasl.cpp | Tests: SASL authentication with IRC protocol.
|             test-irc-server.cpp | Tests: IRC server.
|             test-irc-tag.cpp | Tests: IRC message tags.
|          logger/ | Root of unit tests for logger plugin.
|             test-logger.cpp | Tests: logger.
|             test-logger-backlog.cpp | Tests: logger backlog.
|             test-logger-tail.cpp | Tests: logger tail functions.
|          trigger/ | Root of unit tests for trigger plugin.
|             test-trigger.cpp | Tests: triggers.
|             test-trigger-config.cpp | Tests: trigger configuration.
|          typing/ | Root of unit tests for typing plugin.
|             test-typing.cpp | Tests: typing.
|             test-typing-status.cpp | Tests: typing status.
|          relay/ | Root of unit tests for Relay plugin.
|             test-relay-auth.cpp | Tests: clients authentication.
|             test-relay-http.cpp | Tests: HTTP functions for Relay plugin.
|             test-relay-remote.cpp | Tests: remote functions for Relay plugin.
|             test-relay-websocket.cpp | Tests: websocket functions for Relay plugin.
|             api/ | Root of unit tests for Relay "api" protocol.
|                test-relay-api.cpp | Tests: Relay "api" protocol: general functions.
|                test-relay-api-msg.cpp | Tests: Relay "api" protocol: messages.
|                test-relay-api-protocol.cpp | Tests: Relay "api" protocol: protocol.
|             irc/ | Root of unit tests for Relay "irc" protocol.
|                test-relay-irc.cpp | Tests: Relay "irc" protocol.
|          xfer/ | Root of unit tests for Xfer plugin.
|             test-xfer-file.cpp | Tests: file functions.
|             test-xfer-network.cpp | Tests: network functions.
| Path/file | Description
| tests/ | Root of tests.
|    tests.cpp | Program used to run all tests.
|    tests-record.cpp | Record and search in messages displayed.
|    scripts/ | Root of scripting API tests.
|       test-scripts.cpp | Program used to run the scripting API tests.
|       python/ | Python scripts to generate and run the scripting API tests.
|          testapigen.py | Python script generating scripts in all languages to test the scripting API.
|          testapi.py | Python script with scripting API tests, used by script testapigen.py.
|          unparse.py | Convert Python code to other languages, used by script testapigen.py.
|    unit/ | Root of unit tests.
|       test-plugins.cpp | Tests: plugins.
|       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.
|          test-core-command.cpp | Tests: commands.
|          test-core-config-file.cpp | Tests: configuration files.
|          test-core-crypto.cpp | Tests: cryptographic functions.
|          test-core-dir.cpp | Tests: directory/file functions.
|          test-core-eval.cpp | Tests: evaluation of expressions.
|          test-core-hashtble.cpp | Tests: hashtables.
|          test-core-hdata.cpp | Tests: hdata.
|          test-core-hook.cpp | Tests: hooks.
|          test-core-infolist.cpp | Tests: infolists.
|          test-core-list.cpp | Tests: lists.
|          test-core-network.cpp | Tests: network functions.
|          test-core-secure.cpp | Tests: secured data.
|          test-core-signal.cpp | Tests: signals.
|          test-core-string.cpp | Tests: strings.
|          test-core-url.cpp | Tests: URLs.
|          test-core-utf8.cpp | Tests: UTF-8.
|          test-core-util.cpp | Tests: utility functions.
|          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.
|          test-gui-chat.cpp | Tests: chat functions.
|          test-gui-color.cpp | Tests: colors.
|          test-gui-filter.cpp | Tests: filters.
|          test-gui-input.cpp | Tests: input functions.
|          test-gui-key.cpp | Tests: keys.
|          test-gui-line.cpp | Tests: lines.
|          test-gui-nick.cpp | Tests: nicks.
|       plugins/ | Root of unit tests for plugins.
|          irc/ | Root of unit tests for IRC plugin.
|             test-irc-batch.cpp | Tests: IRC batched events.
|             test-irc-buffer.cpp | Tests: IRC buffers.
|             test-irc-channel.cpp | Tests: IRC channels.
|             test-irc-color.cpp | Tests: IRC colors.
|             test-irc-config.cpp | Tests: IRC configuration.
|             test-irc-ctcp.cpp | Tests: IRC CTCP.
|             test-irc-ignore.cpp | Tests: IRC ignores.
|             test-irc-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.
|             test-irc-mode.cpp | Tests: IRC modes.
|             test-irc-nick.cpp | Tests: IRC nicks.
|             test-irc-protocol.cpp | Tests: IRC protocol.
|             test-irc-sasl.cpp | Tests: SASL authentication with IRC protocol.
|             test-irc-server.cpp | Tests: IRC server.
|             test-irc-tag.cpp | Tests: IRC message tags.
|          logger/ | Root of unit tests for logger plugin.
|             test-logger.cpp | Tests: logger.
|             test-logger-backlog.cpp | Tests: logger backlog.
|             test-logger-tail.cpp | Tests: logger tail functions.
|          trigger/ | Root of unit tests for trigger plugin.
|             test-trigger.cpp | Tests: triggers.
|             test-trigger-config.cpp | Tests: trigger configuration.
|          typing/ | Root of unit tests for typing plugin.
|             test-typing.cpp | Tests: typing.
|             test-typing-status.cpp | Tests: typing status.
|          relay/ | Root of unit tests for Relay plugin.
|             test-relay-auth.cpp | Tests: clients authentication.
|             irc/ | Root of unit tests for Relay "irc" protocol.
|                test-relay-irc.cpp | Tests: Relay "irc" protocol.
|          xfer/ | Root of unit tests for Xfer plugin.
|             test-xfer-file.cpp | Tests: file functions.
|             test-xfer-network.cpp | Tests: network functions.
|===
[[documentation_translations]]
@@ -596,8 +557,9 @@ Example in C:
Some basic rules you *must* follow when you write C code:
* Use 4 spaces for indentation (no tabs).
* Try to not exceed 80 chars by line, except if this is needed to increase readability.
* Use 4 spaces for indentation. Don't use tabs, they are evil.
* Try to not exceed 80 chars by line, except if this is needed to increase
readability.
* Use comments `+/* comment */+` (not C99-style comments like `+// comment+`).
* Add a comment before any function, to explain what it does (always use a
multi-line comment, even if description is very short).
@@ -809,7 +771,7 @@ Examples:
[width="100%",cols="2m,3",options="header"]
|===
| Directory | Files
| src/core/ | weechat.c, core-backtrace.c, core-command.c, ...
| src/core/ | weechat.c, wee-backtrace.c, wee-command.c, ...
| src/gui/ | gui-bar.c, gui-bar-item.c, gui-bar-window.c, ...
| src/gui/curses/ | gui-curses-bar.c, gui-curses-bar-window.c, gui-curses-chat.c, ...
| src/plugins/ | plugin.c, plugin-api.c, plugin-api-info.c, plugin-config.c, plugin-script.c, ...
@@ -817,8 +779,8 @@ Examples:
| src/plugins/python/ | weechat-python.c, weechat-python-api.c, ...
|===
The headers of C files have same name as file, for example _core-command.h_ for
file _core-command.c_.
The headers of C files have same name as file, for example _wee-command.h_ for
file _wee-command.c_.
[[naming_convention_structures]]
==== Structures
+73 -449
View File
@@ -537,55 +537,6 @@ num_files = 2
str = weechat.ngettext("file", "files", num_files)
----
==== asprintf
_WeeChat ≥ 4.3.0._
Format a message in a string allocated by the function.
[NOTE]
This function is defined for systems where the GNU function `asprintf()`
is not available. +
The behavior is almost the same except that `*result` is set to NULL on error.
Prototype:
[source,c]
----
int weechat_asprintf (char **result, const char *fmt, ...);
----
Arguments:
* _result_: pointer to a string pointer
* _fmt_: format string
Return value:
* number of bytes written in `*result` (excluding the final null byte),
a negative value in case of error.
C example:
[source,c]
----
char *str;
if (weechat_asprintf (&str, "%s, %d", "test", 42) >= 0)
{
/* *str == "test, 42" */
/* ... */
free (str);
}
else
{
/* error: *str == NULL */
}
----
[NOTE]
This function is not available in scripting API.
==== strndup
Return duplicated string, with a max number of bytes.
@@ -2357,23 +2308,22 @@ size = weechat.string_color_code_size(weechat.color("yellow,red")) # size == 7
==== string_remove_color
_Updated in 4.3.0._
Remove WeeChat colors from a string.
Prototype:
[source,c]
----
char *weechat_string_remove_color (const char *string, const char *replacement);
char *weechat_string_remove_color (const char *string,
const char *replacement);
----
Arguments:
* _string_: string
* _replacement_: if not NULL and not empty, WeeChat color codes are replaced by
this string, otherwise WeeChat color codes and following chars (if related
to color) are removed from string
first char of this string, otherwise WeeChat color codes and following chars
(if related to color) are removed from string
Return value:
@@ -2389,7 +2339,7 @@ char *str = weechat_string_remove_color (my_string1, NULL);
free (str);
/* replace color codes by "?" */
char *str = weechat_string_remove_color (my_string2, "[color]");
char *str = weechat_string_remove_color (my_string2, "?");
/* ... */
free (str);
----
@@ -2402,12 +2352,12 @@ Script (Python):
def string_remove_color(string: str, replacement: str) -> str: ...
# example
str = weechat.string_remove_color(my_string, "[color]")
str = weechat.string_remove_color(my_string, "?")
----
==== string_base_encode
_WeeChat ≥ 2.4, updated in 4.3.0._
_WeeChat ≥ 2.4._
Encode a string in base 16, 32, or 64.
@@ -2415,12 +2365,12 @@ Prototype:
[source,c]
----
int weechat_string_base_encode (const char *base, const char *from, int length, char *to);
int weechat_string_base_encode (int base, const char *from, int length, char *to);
----
Arguments:
* _base_: "16", "32", "64" or "64url"
* _base_: 16, 32, or 64
* _from_: string to encode
* _length_: length of string to encode (for example `strlen(from)`)
* _to_: pointer to string to store result (must be long enough, result is
@@ -2436,11 +2386,11 @@ C example:
----
char *string = "abcdefgh", result[128];
int length;
length = weechat_string_base_encode ("16", string, strlen (string), result);
length = weechat_string_base_encode (16, string, strlen (string), result);
/* length == 16, result == "6162636465666768" */
length = weechat_string_base_encode ("32", string, strlen (string), result);
length = weechat_string_base_encode (32, string, strlen (string), result);
/* length == 16, result == "MFRGGZDFMZTWQ===" */
length = weechat_string_base_encode ("64", string, strlen (string), result);
length = weechat_string_base_encode (64, string, strlen (string), result);
/* length == 12, result == "YWJjZGVmZ2g=" */
----
@@ -2449,7 +2399,7 @@ This function is not available in scripting API.
==== string_base_decode
_WeeChat ≥ 2.4, updated in 4.3.0._
_WeeChat ≥ 2.4._
Decode a string encoded in base 16, 32, or 64.
@@ -2457,12 +2407,12 @@ Prototype:
[source,c]
----
int weechat_string_base_decode (const char *base, const char *from, char *to);
int weechat_string_base_decode (int base, const char *from, char *to);
----
Arguments:
* _base_: "16", "32", "64" or "64url"
* _base_: 16, 32, or 64
* _from_: string to decode
* _to_: pointer to string to store result (must be long enough, result is
shorter than initial string)
@@ -2477,11 +2427,11 @@ C example:
----
char result[128];
int length;
length = weechat_string_base_decode ("16", "6162636465666768", result);
length = weechat_string_base_decode (16, "6162636465666768", result);
/* length == 8, result == "abcdefgh" */
length = weechat_string_base_decode ("32", "MFRGGZDFMZTWQ===", result);
length = weechat_string_base_decode (32, "MFRGGZDFMZTWQ===", result);
/* length == 8, result == "abcdefgh" */
length = weechat_string_base_decode ("64", "YWJjZGVmZ2g=", result);
length = weechat_string_base_decode (64, "YWJjZGVmZ2g=", result);
/* length == 8, result == "abcdefgh" */
----
@@ -2617,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, 4.2.0, 4.3.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).
@@ -2977,16 +2927,13 @@ expanded to last):
| `+${weechat_xxx_dir}+` | 3.2
| A WeeChat directory: `+${weechat_config_dir}+`, `+${weechat_data_dir}+`,
`+${weechat_state_dir}+`, `+${weechat_cache_dir}+` or `+${weechat_runtime_dir}+`.
`+${weechat_cache_dir}+` or `+${weechat_runtime_dir}+`.
| >> `+${weechat_config_dir}+` +
== `+/home/user/.config/weechat+` +
+
>> `+${weechat_data_dir}+` +
== `+/home/user/.local/share/weechat+` +
+
>> `+${weechat_state_dir}+` +
== `+/home/user/.local/state/weechat+` +
+
>> `+${weechat_cache_dir}+` +
== `+/home/user/.cache/weechat+` +
+
@@ -3197,7 +3144,7 @@ expanded to last):
>> `+${re:2}+` +
== `+test2+` +
+
>> `pass:[${re:+}]` +
>> `+${re:+}+` +
== `+test2+` +
+
>> `+${re:#}+` +
@@ -3261,16 +3208,13 @@ expanded to last):
| `+${date}+` +
`+${date:xxx}+` | 1.3
| Current date/time, with custom format (see function <<_util_strftimeval,util_strftimeval>>),
| Current date/time, with custom format (see `man strftime`),
default format is `%F %T`.
| >> `+${date}+` +
== `+2015-06-30 19:02:45+` +
+
>> `+${date:%H:%M:%S}+` +
== `+19:02:45+` +
+
>> `+${date:%!.%.3}+` +
== `+1435683765.482+`
== `+19:02:45+`
| `+${env:NAME}+` | 1.2
| Value of the environment variable `NAME`.
@@ -4346,7 +4290,6 @@ Arguments:
strings to force a specific WeeChat directory (WeeChat ≥ 3.2):
** `${weechat_config_dir}`
** `${weechat_data_dir}` (default)
** `${weechat_state_dir}`
** `${weechat_cache_dir}`
** `${weechat_runtime_dir}`
* _mode_: mode for directory
@@ -4755,10 +4698,10 @@ This function is not available in scripting API.
==== util_strftimeval
_WeeChat ≥ 4.2.0, updated in 4.3.0._
_WeeChat ≥ 4.2.0._
Format date and time like function `strftime` in C library, using `struct timeval`
as input, and supporting extra specifiers.
as input, and supporting extra specifiers for microseconds.
Prototype:
@@ -4775,7 +4718,6 @@ Arguments:
** `%.N` where `N` is between 1 and 6: zero-padded microseconds on N digits
(for example `%.3` for milliseconds)
** `%f`: alias of `%.6`
** `%!`: timestamp as integer, in seconds (value of tv->tv_sec)
Return value:
@@ -5315,7 +5257,7 @@ C example:
[source,c]
----
weechat_printf (NULL, "user data of item: %p", weechat_list_user_data (item));
weechat_printf (NULL, "user data of item: 0x%lx", weechat_list_user_data (item));
----
[NOTE]
@@ -8071,49 +8013,6 @@ if weechat.config_boolean_default(option):
# ...
----
==== config_boolean_inherited
_WeeChat ≥ 4.3.0._
Return inherited boolean value of option: value of option if not NULL,
or value of the parent option (if option inherits from another option). +
If the parent option is not found, return the default value of the option. +
If the parent value is NULL, return the default value of the parent option.
Prototype:
[source,c]
----
int weechat_config_boolean_inherited (struct t_config_option *option);
----
Arguments:
* _option_: option pointer
Return value: see functions <<_config_boolean,config_boolean>> and
<<_config_boolean_default,config_boolean_default>>.
C example:
[source,c]
----
struct t_config_option *option = weechat_config_get ("irc.server.libera.autoconnect");
int autoconnect = weechat_config_boolean_inherited (option);
----
Script (Python):
[source,python]
----
# prototype
def config_boolean_inherited(option: str) -> int: ...
# example
option = weechat.config_get("irc.server.libera.autoconnect")
autoconect = weechat.config_boolean_inherited(option)
----
==== config_integer
Return integer value of option.
@@ -8200,49 +8099,6 @@ option = weechat.config_get("plugin.section.option")
value = weechat.config_integer_default(option)
----
==== config_integer_inherited
_WeeChat ≥ 4.3.0._
Return inherited integer value of option: value of option if not NULL,
or value of the parent option (if option inherits from another option). +
If the parent option is not found, return the default value of the option. +
If the parent value is NULL, return the default value of the parent option.
Prototype:
[source,c]
----
int weechat_config_integer_inherited (struct t_config_option *option);
----
Arguments:
* _option_: option pointer
Return value: see functions <<_config_integer,config_integer>> and
<<_config_integer_default,config_integer_default>>.
C example:
[source,c]
----
struct t_config_option *option = weechat_config_get ("irc.server.libera.autojoin_delay");
int delay = weechat_config_integer_inherited (option);
----
Script (Python):
[source,python]
----
# prototype
def config_integer_inherited(option: str) -> int: ...
# example
option = weechat.config_get("irc.server.libera.autojoin_delay")
delay = weechat.config_integer_inherited(option)
----
==== config_string
Return string value of option.
@@ -8329,49 +8185,6 @@ option = weechat.config_get("plugin.section.option")
value = weechat.config_string_default(option)
----
==== config_string_inherited
_WeeChat ≥ 4.3.0._
Return inherited string value of option: value of option if not NULL,
or value of the parent option (if option inherits from another option). +
If the parent option is not found, return the default value of the option. +
If the parent value is NULL, return the default value of the parent option.
Prototype:
[source,c]
----
const char *weechat_config_string_inherited (struct t_config_option *option);
----
Arguments:
* _option_: option pointer
Return value: see functions <<_config_string,config_string>> and
<<_config_string_default,config_string_default>>.
C example:
[source,c]
----
struct t_config_option *option = weechat_config_get ("irc.server.libera.msg_quit");
const char *msg_quit = weechat_config_string_inherited (option);
----
Script (Python):
[source,python]
----
# prototype
def config_string_inherited(option: str) -> str: ...
# example
option = weechat.config_get("irc.server.libera.msg_quit")
msg_quit = weechat.config_string_inherited(option)
----
==== config_color
Return color value of option.
@@ -8412,7 +8225,7 @@ def config_color(option: str) -> str: ...
# example
option = weechat.config_get("plugin.section.option")
color = weechat.config_color(option)
value = weechat.config_color(option)
----
==== config_color_default
@@ -8455,50 +8268,7 @@ def config_color_default(option: str) -> str: ...
# example
option = weechat.config_get("plugin.section.option")
color = weechat.config_color_default(option)
----
==== config_color_inherited
_WeeChat ≥ 4.3.0._
Return inherited color value of option: value of option if not NULL,
or value of the parent option (if option inherits from another option). +
If the parent option is not found, return the default value of the option. +
If the parent value is NULL, return the default value of the parent option.
Prototype:
[source,c]
----
const char *weechat_config_color_inherited (struct t_config_option *option);
----
Arguments:
* _option_: option pointer
Return value: see functions <<_config_color,config_color>> and
<<_config_color_default,config_color_default>>.
C example:
[source,c]
----
struct t_config_option *option = weechat_config_get ("plugin.section.option");
const char *color = weechat_config_color_inherited (option);
----
Script (Python):
[source,python]
----
# prototype
def config_color_inherited(option: str) -> str: ...
# example
option = weechat.config_get("plugin.section.option")
color = weechat.config_color_inherited(option)
value = weechat.config_color_default(option)
----
==== config_enum
@@ -8591,49 +8361,6 @@ option = weechat.config_get("plugin.section.option")
value = weechat.config_enum_default(option)
----
==== config_enum_inherited
_WeeChat ≥ 4.3.0._
Return inherited enum value of option: value of option if not NULL,
or value of the parent option (if option inherits from another option). +
If the parent option is not found, return the default value of the option. +
If the parent value is NULL, return the default value of the parent option.
Prototype:
[source,c]
----
int weechat_config_enum_inherited (struct t_config_option *option);
----
Arguments:
* _option_: option pointer
Return value: see functions <<_config_enum,config_enum>> and
<<_config_enum_default,config_enum_default>>.
C example:
[source,c]
----
struct t_config_option *option = weechat_config_get ("irc.server.libera.sasl_fail");
int sasl_fail = weechat_config_enum_inherited (option);
----
Script (Python):
[source,python]
----
# prototype
def config_enum_inherited(option: str) -> int: ...
# example
option = weechat.config_get("irc.server.libera.sasl_fail")
sasl_fail = weechat.config_enum_inherited(option)
----
==== config_write_option
Write a line in a configuration file with option and its value (this function
@@ -12146,10 +11873,6 @@ List of signals sent by WeeChat and plugins:
| Pointer: buffer.
| Title of buffer changed.
| weechat | [[hook_signal_buffer_modes_changed]] buffer_modes_changed | 4.3.0
| Pointer: buffer.
| Modes of buffer changed.
| weechat | [[hook_signal_buffer_type_changed]] buffer_type_changed |
| Pointer: buffer.
| Type of buffer changed.
@@ -12224,10 +11947,6 @@ List of signals sent by WeeChat and plugins:
| Pointer: buffer.
| Text search in buffer.
| weechat | [[hook_signal_input_prompt_changed]] input_prompt_changed | 4.3.0
| Pointer: buffer.
| Input prompt changed.
| weechat | [[hook_signal_input_text_changed]] input_text_changed |
| Pointer: buffer.
| Input text changed.
@@ -13347,12 +13066,6 @@ List of modifiers defined by WeeChat and plugins that can be used:
| String with IRC tag value unescaped,
see https://ircv3.net/specs/extensions/message-tags#escaping-values[this page ^↗^^].
| [[hook_modifier_color_decode]] color_decode | 4.3.0
| Replacement string for colors removed
| Any string.
| String with WeeChat colors converted to a replacement string
(colors stripped if the replacement string is empty).
| [[hook_modifier_color_decode_ansi]] color_decode_ansi | 1.0
| "1" to keep colors, "0" to remove colors
| Any string.
@@ -14352,9 +14065,9 @@ weechat.prnt(weechat.current_buffer(), "Text on current buffer")
==== buffer_search
_Updated in 1.0, 4.3.0._
_Updated in 1.0._
Search a buffer by plugin/name, full name or unique identifier (`id`).
Search a buffer by plugin and/or name.
Prototype:
@@ -14366,11 +14079,10 @@ struct t_gui_buffer *weechat_buffer_search (const char *plugin,
Arguments:
* _plugin_: name of plugin, following special values are allowed:
* _plugin_: name of plugin, following special value is allowed:
** `+==+`: the name used is the buffer full name (for example:
`irc.libera.#weechat` instead of `libera.#weechat`)
_(WeeChat ≥ 1.0)_
** `+==id+`: the name used is the buffer unique identifier (`id`) _(WeeChat ≥ 4.3.0)_
* _name_: name of buffer, if it is NULL or empty string, the current buffer is
returned (buffer displayed by current window); if the name starts with
`(?i)`, the search is case insensitive _(WeeChat ≥ 1.0)_
@@ -14385,7 +14097,6 @@ C examples:
----
struct t_gui_buffer *buffer1 = weechat_buffer_search ("irc", "libera.#weechat");
struct t_gui_buffer *buffer2 = weechat_buffer_search ("==", "irc.libera.#test"); /* WeeChat ≥ 1.0 */
struct t_gui_buffer *buffer3 = weechat_buffer_search ("==id", "1709797810942688"); /* WeeChat ≥ 4.3.0 */
----
Script (Python):
@@ -14635,7 +14346,6 @@ Arguments:
** _nicklist_nicks_count_: number of nicks in nicklist
** _nicklist_nicks_visible_count_: number of nicks displayed
** _input_: 1 if input is enabled, otherwise 0
** _input_get_any_user_data_: 1 if any user data, including 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
@@ -14703,7 +14413,6 @@ Arguments:
* _buffer_: buffer pointer
* _property_: property name:
** _id_: unique identifier _(WeeChat ≥ 4.3.0)_
** _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)_
@@ -14711,9 +14420,6 @@ Arguments:
** _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
** _modes_: modes _(WeeChat ≥ 4.3.0)_
** _nicklist_last_id_assigned_: last unique identifier used in this buffer for a group or nick _(WeeChat ≥ 4.3.0)_
** _input_prompt_: input prompt _(WeeChat ≥ 4.3.0)_
** _input_: input text
** _text_search_input_: input saved before text search
** _highlight_words_: list of words to highlight
@@ -14888,9 +14594,6 @@ Properties:
| title | | any string
| Set new title for buffer.
| modes | 4.3.0 | any string
| Set new modes for buffer.
| time_for_each_line | | "0" or "1"
| "0" to hide time for all lines in buffer, "1" to see time for all lines
(default for a new buffer).
@@ -14952,19 +14655,12 @@ Properties:
| key_unbind_xxx | | -
| Unbind key _xxx_ for this buffer.
| input_prompt | 4.3.0 | any string
| Set new value for input prompt.
| input | | any string
| Set new value for buffer input.
| input_pos | | position
| Set cursor position in buffer input.
| input_get_any_user_data | 4.3.0 | "0" or "1"
| "0" to get only user messages (default behavior), "1" to get everything,
including commands.
| input_get_unknown_commands | | "0" or "1"
| "0" to disable unknown commands on this buffer (default behavior), "1" to
get unknown commands, for example if user type "/unknowncmd", buffer will
@@ -15517,9 +15213,7 @@ group = weechat.nicklist_add_group(my_buffer, my_parent_group, "test_group",
==== nicklist_search_group
_Updated in 4.3.0._
Search a group in a nicklist by name or unique identifier (`id`).
Search a group in a nicklist.
Prototype:
@@ -15535,8 +15229,7 @@ Arguments:
* _buffer_: buffer pointer
* _from_group_: search from this group only, if NULL, then search in whole
nicklist
* _name_: group name to search; with WeeChat ≥ 4.3.0, a unique identifier can
be given with the format: `==id:xxx` (where `xxx` is the identifier)
* _name_: group name to search
Return value:
@@ -15546,10 +15239,8 @@ C example:
[source,c]
----
struct t_gui_nick_group *ptr_group1 = weechat_nicklist_search_group (my_buffer,
NULL, "test_group");
struct t_gui_nick_group *ptr_group2 = weechat_nicklist_search_group (my_buffer,
NULL, "==id:1714382231198764");
struct t_gui_nick_group *ptr_group = weechat_nicklist_search_group (my_buffer,
NULL, "test_group");
----
Script (Python):
@@ -15559,9 +15250,8 @@ Script (Python):
# prototype
def nicklist_search_group(buffer: str, from_group: str, name: str) -> str: ...
# examples
group1 = weechat.nicklist_search_group(my_buffer, "", "test_group")
group2 = weechat.nicklist_search_group(my_buffer, "", "==id:1714382231198764")
# example
group = weechat.nicklist_search_group(my_buffer, "", "test_group")
----
==== nicklist_add_nick
@@ -15572,13 +15262,13 @@ Prototype:
[source,c]
----
struct t_gui_nick *weechat_nicklist_add_nick (struct t_gui_buffer *buffer,
struct t_gui_nick_group *group,
const char *name,
const char *color,
const char *prefix,
const char *prefix_color,
int visible);
struct t_gui_nick_group *weechat_nicklist_add_nick (struct t_gui_buffer *buffer,
struct t_gui_nick_group *group,
const char *name,
const char *color,
const char *prefix,
const char *prefix_color,
int visible);
----
Arguments:
@@ -15638,9 +15328,7 @@ nick = weechat.nicklist_add_nick(my_buffer, my_group, "test_nick", color, "@", "
==== nicklist_search_nick
_Updated in 4.3.0._
Search a nick in a nicklist by name or unique identifier (`id`).
Search a nick in a nicklist.
Prototype:
@@ -15656,8 +15344,7 @@ Arguments:
* _buffer_: buffer pointer
* _from_group_: search from this group only, if NULL, then search in whole
nicklist
* _name_: nick name to search; with WeeChat ≥ 4.3.0, a unique identifier can
be given with the format: `==id:xxx` (where `xxx` is the identifier)
* _name_: nick name to search
Return value:
@@ -15667,10 +15354,8 @@ C example:
[source,c]
----
struct t_gui_nick *ptr_nick1 = weechat_nicklist_search_nick (my_buffer,
NULL, "test_nick");
struct t_gui_nick *ptr_nick2 = weechat_nicklist_search_nick (my_buffer,
NULL, "==id:1714382252187496");
struct t_gui_nick *ptr_nick = weechat_nicklist_search_nick (my_buffer,
NULL, "test_nick");
----
Script (Python):
@@ -15680,9 +15365,8 @@ Script (Python):
# prototype
def nicklist_search_nick(buffer: str, from_group: str, name: str) -> str: ...
# examples
nick1 = weechat.nicklist_search_nick(my_buffer, "", "test_nick")
nick2 = weechat.nicklist_search_nick(my_buffer, "", "==id:1714382252187496")
# example
nick = weechat.nicklist_search_nick(my_buffer, "", "test_nick")
----
==== nicklist_remove_group
@@ -15903,7 +15587,6 @@ Arguments:
* _buffer_: buffer pointer
* _group_: group pointer
* _property_: property name:
** _id_: unique identifier _(WeeChat ≥ 4.3.0)_
** _name_: name of group
** _color_: group color in nicklist
@@ -15975,7 +15658,7 @@ parent = weechat.nicklist_group_get_pointer(buffer, group, "parent")
==== nicklist_group_set
_WeeChat ≥ 0.3.4, updated in 4.3.0._
_WeeChat ≥ 0.3.4._
Set string value of a group property.
@@ -15998,18 +15681,14 @@ Arguments:
Properties:
[width="100%",cols="^2,^1,4,8",options="header"]
[width="100%",cols="^2,4,8",options="header"]
|===
| Name | Min WeeChat | Value | Description
| Name | Value | Description
| id | 4.3.0 | long long integer ≥ 0
| New id for the group (it must be unique in the buffer). +
Note: it is not recommended to change this identifier.
| color | | WeeChat color option name
| color | WeeChat color option name
| See argument "color" of function <<_nicklist_add_group,nicklist_add_group>>.
| visible | | "0", "1"
| visible | "0", "1"
| "0" = hidden group, "1" = visible group.
|===
@@ -16110,7 +15789,6 @@ Arguments:
* _buffer_: buffer pointer
* _nick_: nick pointer
* _property_: property name:
** _id_: unique identifier _(WeeChat ≥ 4.3.0)_
** _name_: name of nick
** _color_: nick color in nicklist
** _prefix_: prefix of nick
@@ -16184,7 +15862,7 @@ group = weechat.nicklist_nick_get_pointer(buffer, nick, "group")
==== nicklist_nick_set
_WeeChat ≥ 0.3.4, updated in 4.3.0._
_WeeChat ≥ 0.3.4._
Set string value of a nick property.
@@ -16207,24 +15885,20 @@ Arguments:
Properties:
[width="100%",cols="^2,^1,4,8",options="header"]
[width="100%",cols="^2,4,8",options="header"]
|===
| Name | Min WeeChat | Value | Description
| Name | Value | Description
| id | 4.3.0 | long long integer ≥ 0
| New id for the nick (it must be unique in the buffer). +
Note: it is not recommended to change this identifier.
| color | | WeeChat color option name
| color | WeeChat color option name
| See argument "color" of function <<_nicklist_add_nick,nicklist_add_nick>>.
| prefix | | any string
| prefix | any string
| Prefix of nick.
| prefix_color | | WeeChat color option name
| prefix_color | WeeChat color option name
| See argument "prefix_color" of function <<_nicklist_add_nick,nicklist_add_nick>>.
| visible | | "0", "1"
| visible | "0", "1"
| "0" = hidden nick, "1" = visible nick.
|===
@@ -16727,7 +16401,7 @@ Functions for executing WeeChat commands.
==== command
_Updated in 1.1, 4.0.0._
_Updated in 1.1._
Execute a command or send text to buffer.
@@ -16745,10 +16419,6 @@ Arguments:
* _command_: command to execute (if beginning with a "/"), or text to send to
buffer
[NOTE]
On buffer with `input_multiline` set to `0` (default), only the first command
is executed (before the first newline char: `\n`).
Return value _(WeeChat ≥ 1.1)_:
* _WEECHAT_RC_OK_ if successful
@@ -16776,7 +16446,7 @@ rc = weechat.command(weechat.buffer_search("irc", "libera.#weechat"), "/whois Fl
==== command_options
_WeeChat ≥ 2.5, updated in 4.0.0._
_WeeChat ≥ 2.5._
Execute a command or send text to buffer with options.
@@ -16800,7 +16470,6 @@ Arguments:
this call; see function <<_string_match_list,string_match_list>> for the
format
** _delay_: delay to execute command, in milliseconds
** _split_newline_: `1` to split commands on newline char (`\n`) (_WeeChat ≥ 4.0.0_)
Return value:
@@ -16831,7 +16500,7 @@ Script (Python):
def command_options(buffer: str, command: str, options: Dict[str, str]) -> int: ...
# example: allow any command except /exec
rc = weechat.command_options("", "/some_command arguments", {"commands": "*,!exec"})
rc = weechat.command("", "/some_command arguments", {"commands": "*,!exec"})
----
[[completion]]
@@ -18000,7 +17669,7 @@ C example:
[source,c]
----
weechat_printf (NULL, "pointer = %p",
weechat_printf (NULL, "pointer = 0x%lx",
weechat_infolist_pointer (infolist, "my_pointer"));
----
@@ -18043,7 +17712,8 @@ C example:
----
int size;
void *pointer = weechat_infolist_buffer (infolist, "my_buffer", &size);
weechat_printf (NULL, "buffer = %p, size = %d", pointer, size);
weechat_printf (NULL, "buffer = 0x%lx, size = %d",
pointer, size);
----
[NOTE]
@@ -18085,7 +17755,7 @@ Script (Python):
def infolist_time(infolist: str, var: str) -> int: ...
# example
weechat.prnt("", "time = %d" % weechat.infolist_time(infolist, "my_time"))
weechat.prnt("", "time = %ld" % weechat.infolist_time(infolist, "my_time"))
----
==== infolist_free
@@ -18199,7 +17869,7 @@ This function is not available in scripting API.
==== hdata_new_var
_WeeChat ≥ 0.3.6, updated in 0.3.7, 0.3.9, 0.4.3, 3.4, 4.3.0._
_WeeChat ≥ 0.3.6, updated in 0.3.7, 0.3.9, 0.4.3, 3.4._
Create a new variable in hdata.
@@ -18220,7 +17890,6 @@ Arguments:
** _WEECHAT_HDATA_CHAR_
** _WEECHAT_HDATA_INTEGER_
** _WEECHAT_HDATA_LONG_
** _WEECHAT_HDATA_LONGLONG_ (_WeeChat ≥ 4.3.0_)
** _WEECHAT_HDATA_STRING_
** _WEECHAT_HDATA_SHARED_STRING_ (_WeeChat ≥ 0.4.3_)
** _WEECHAT_HDATA_POINTER_
@@ -18501,9 +18170,6 @@ switch (type)
case WEECHAT_HDATA_LONG:
/* ... */
break;
case WEECHAT_HDATA_LONGLONG:
/* ... */
break;
case WEECHAT_HDATA_STRING:
/* ... */
break;
@@ -19105,7 +18771,7 @@ weechat.prnt("", "number = %d" % weechat.hdata_integer(hdata, buffer, "number"))
_WeeChat ≥ 0.3.6._
Return value of "long" variable in structure using hdata.
Return value of long variable in structure using hdata.
Prototype:
@@ -19140,49 +18806,7 @@ Script (Python):
def hdata_long(hdata: str, pointer: str, name: str) -> int: ...
# example
weechat.prnt("", "longvar = %d" % weechat.hdata_long(hdata, pointer, "longvar"))
----
==== hdata_longlong
_WeeChat ≥ 4.3.0._
Return value of "long long" variable in structure using hdata.
Prototype:
[source,c]
----
long long weechat_hdata_longlong (struct t_hdata *hdata, void *pointer, const char *name);
----
Arguments:
* _hdata_: hdata pointer
* _pointer_: pointer to WeeChat/plugin object
* _name_: variable name (must be type "long long"); for arrays, the name can be
"N|name" where N is the index in array (starting at 0), for example: "2|name"
Return value:
* long long value of variable
C example:
[source,c]
----
weechat_printf (NULL, "longlongvar = %lld", weechat_hdata_longlong (hdata, pointer, "longlongvar"));
----
Script (Python):
[source,python]
----
# prototype
def hdata_longlong(hdata: str, pointer: str, name: str) -> int: ...
# example
weechat.prnt("", "longlongvar = %d" % weechat.hdata_longlong(hdata, pointer, "longlongvar"))
weechat.prnt("", "longvar = %ld" % weechat.hdata_long(hdata, pointer, "longvar"))
----
==== hdata_string
@@ -19274,7 +18898,7 @@ def hdata_pointer(hdata: str, pointer: str, name: str) -> str: ...
# example
hdata = weechat.hdata_get("buffer")
buffer = weechat.buffer_search_main()
weechat.prnt("", "lines = %x" % weechat.hdata_pointer(hdata, buffer, "lines"))
weechat.prnt("", "lines = %lx" % weechat.hdata_pointer(hdata, buffer, "lines"))
----
==== hdata_time
-1
View File
@@ -707,7 +707,6 @@ inl:
nicklist_visible_count: 0
title: 'WeeChat 2.9-dev (C) 2003-2020 - https://weechat.org/'
input: 1
input_get_any_user_data: 0
input_get_unknown_commands: 0
input_get_empty: 0
input_multiline: 0
+305 -2
View File
@@ -549,14 +549,317 @@ link:weechat_plugin_api.en.html[WeeChat plugin API reference ^↗^^].
List of functions in script API:
include::{autogendir}/autogen_scripting_functions.en.adoc[tag=functions]
[width="100%",cols="1,5",options="header"]
|===
| Category | Functions
| general
| register
| plugins
| plugin_get_name
| strings
| charset_set +
iconv_to_internal +
iconv_from_internal +
gettext +
ngettext +
strlen_screen +
string_match +
string_match_list +
string_has_highlight +
string_has_highlight_regex +
string_mask_to_regex +
string_format_size +
string_parse_size +
string_color_code_size +
string_remove_color +
string_is_command_char +
string_input_for_buffer +
string_eval_expression +
string_eval_path_home
| directories
| mkdir_home +
mkdir +
mkdir_parents
| sorted lists
| list_new +
list_add +
list_search +
list_search_pos +
list_casesearch +
list_casesearch_pos +
list_get +
list_set +
list_next +
list_prev +
list_string +
list_size +
list_remove +
list_remove_all +
list_free
| configuration files
| config_new +
config_new_section +
config_search_section +
config_new_option +
config_search_option +
config_string_to_boolean +
config_option_reset +
config_option_set +
config_option_set_null +
config_option_unset +
config_option_rename +
config_option_is_null +
config_option_default_is_null +
config_boolean +
config_boolean_default +
config_integer +
config_integer_default +
config_string +
config_string_default +
config_color +
config_color_default +
config_write_option +
config_write_line +
config_write +
config_read +
config_reload +
config_option_free +
config_section_free_options +
config_section_free +
config_free +
config_get +
config_get_plugin +
config_is_set_plugin +
config_set_plugin +
config_set_desc_plugin +
config_unset_plugin
| key bindings
| key_bind +
key_unbind
| display
| prefix +
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
| hook_command +
hook_command_run +
hook_timer +
hook_fd +
hook_process +
hook_process_hashtable +
hook_connect +
hook_line +
hook_print +
hook_signal +
hook_signal_send +
hook_hsignal +
hook_hsignal_send +
hook_config +
hook_completion +
hook_modifier +
hook_modifier_exec +
hook_info +
hook_info_hashtable +
hook_infolist +
hook_focus +
hook_set +
unhook +
unhook_all
| buffers
| buffer_new +
buffer_new_props +
current_buffer +
buffer_search +
buffer_search_main +
buffer_clear +
buffer_close +
buffer_merge +
buffer_unmerge +
buffer_get_integer +
buffer_get_string +
buffer_get_pointer +
buffer_set +
buffer_string_replace_local_var +
buffer_match_list
| windows
| current_window +
window_search_with_buffer +
window_get_integer +
window_get_string +
window_get_pointer +
window_set_title
| nicklist
| nicklist_add_group +
nicklist_search_group +
nicklist_add_nick +
nicklist_search_nick +
nicklist_remove_group +
nicklist_remove_nick +
nicklist_remove_all +
nicklist_group_get_integer +
nicklist_group_get_string +
nicklist_group_get_pointer +
nicklist_group_set +
nicklist_nick_get_integer +
nicklist_nick_get_string +
nicklist_nick_get_pointer +
nicklist_nick_set
| bars
| bar_item_search +
bar_item_new +
bar_item_update +
bar_item_remove +
bar_search +
bar_new +
bar_set +
bar_update +
bar_remove
| commands
| command +
command_options
| completion
| completion_new +
completion_search +
completion_get_string +
completion_list_add +
completion_free
| infos
| info_get +
info_get_hashtable
| infolists
| infolist_new +
infolist_new_item +
infolist_new_var_integer +
infolist_new_var_string +
infolist_new_var_pointer +
infolist_new_var_time +
infolist_get +
infolist_next +
infolist_prev +
infolist_reset_item_cursor +
infolist_search_var +
infolist_fields +
infolist_integer +
infolist_string +
infolist_pointer +
infolist_time +
infolist_free
| hdata
| hdata_get +
hdata_get_var_offset +
hdata_get_var_type_string +
hdata_get_var_array_size +
hdata_get_var_array_size_string +
hdata_get_var_hdata +
hdata_get_list +
hdata_check_pointer +
hdata_move +
hdata_search +
hdata_char +
hdata_integer +
hdata_long +
hdata_string +
hdata_pointer +
hdata_time +
hdata_hashtable +
hdata_compare +
hdata_update +
hdata_get_string
| upgrade
| upgrade_new +
upgrade_write_object +
upgrade_read +
upgrade_close
|===
[[script_api_constants]]
=== Constants
List of constants in script API:
include::{autogendir}/autogen_scripting_constants.en.adoc[tag=constants]
[width="100%",cols="1,5",options="header"]
|===
| Category | Constants
| return codes
| `WEECHAT_RC_OK` (integer) +
`WEECHAT_RC_OK_EAT` (integer) +
`WEECHAT_RC_ERROR` (integer)
| configuration files
| `WEECHAT_CONFIG_READ_OK` (integer) +
`WEECHAT_CONFIG_READ_MEMORY_ERROR` (integer) +
`WEECHAT_CONFIG_READ_FILE_NOT_FOUND` (integer) +
`WEECHAT_CONFIG_WRITE_OK` (integer) +
`WEECHAT_CONFIG_WRITE_ERROR` (integer) +
`WEECHAT_CONFIG_WRITE_MEMORY_ERROR` (integer) +
`WEECHAT_CONFIG_OPTION_SET_OK_CHANGED` (integer) +
`WEECHAT_CONFIG_OPTION_SET_OK_SAME_VALUE` (integer) +
`WEECHAT_CONFIG_OPTION_SET_ERROR` (integer) +
`WEECHAT_CONFIG_OPTION_SET_OPTION_NOT_FOUND` (integer) +
`WEECHAT_CONFIG_OPTION_UNSET_OK_NO_RESET` (integer) +
`WEECHAT_CONFIG_OPTION_UNSET_OK_RESET` (integer) +
`WEECHAT_CONFIG_OPTION_UNSET_OK_REMOVED` (integer) +
`WEECHAT_CONFIG_OPTION_UNSET_ERROR` (integer)
| sorted lists
| `WEECHAT_LIST_POS_SORT` (string) +
`WEECHAT_LIST_POS_BEGINNING` (string) +
`WEECHAT_LIST_POS_END` (string)
| hotlist
| `WEECHAT_HOTLIST_LOW` (string) +
`WEECHAT_HOTLIST_MESSAGE` (string) +
`WEECHAT_HOTLIST_PRIVATE` (string) +
`WEECHAT_HOTLIST_HIGHLIGHT` (string)
| hook process
| `WEECHAT_HOOK_PROCESS_RUNNING` (integer) +
`WEECHAT_HOOK_PROCESS_ERROR` (integer)
| hook connect
| `WEECHAT_HOOK_CONNECT_OK` (integer) +
`WEECHAT_HOOK_CONNECT_ADDRESS_NOT_FOUND` (integer) +
`WEECHAT_HOOK_CONNECT_IP_ADDRESS_NOT_FOUND` (integer) +
`WEECHAT_HOOK_CONNECT_CONNECTION_REFUSED` (integer) +
`WEECHAT_HOOK_CONNECT_PROXY_ERROR` (integer) +
`WEECHAT_HOOK_CONNECT_LOCAL_HOSTNAME_ERROR` (integer) +
`WEECHAT_HOOK_CONNECT_GNUTLS_INIT_ERROR` (integer) +
`WEECHAT_HOOK_CONNECT_GNUTLS_HANDSHAKE_ERROR` (integer) +
`WEECHAT_HOOK_CONNECT_MEMORY_ERROR` (integer) +
`WEECHAT_HOOK_CONNECT_TIMEOUT` (integer) +
`WEECHAT_HOOK_CONNECT_SOCKET_ERROR` (integer)
| hook signal
| `WEECHAT_HOOK_SIGNAL_STRING` (string) +
`WEECHAT_HOOK_SIGNAL_INT` (string) +
`WEECHAT_HOOK_SIGNAL_POINTER` (string)
|===
[[common_tasks]]
== Common tasks
+23 -87
View File
@@ -30,7 +30,7 @@ Main features are:
https://datatracker.ietf.org/doc/html/rfc2812[2812 ^↗^^],
https://datatracker.ietf.org/doc/html/rfc2813[2813 ^↗^^] and
https://datatracker.ietf.org/doc/html/rfc7194[7194 ^↗^^]
* IRC proxy and relay for WeeChat and remote interfaces
* IRC proxy and relay for remote interfaces
* multi-platform (GNU/Linux, *BSD, macOS, Windows and other)
* 100% GPL, free software
@@ -128,8 +128,7 @@ WeeChat:
| zlib1g-dev |
| Logger plugin: compression of rotated log files (gzip). +
Relay plugin: compression of messages with https://zlib.net/[zlib ^↗^^]
(api and weechat protocols). +
Relay plugin: compression of messages (WeeChat -> client) with https://zlib.net/[zlib ^↗^^] (weechat protocol). +
Script plugin: read of repository index file (gzip).
|===
@@ -155,13 +154,9 @@ WeeChat:
| ca-certificates |
| Certificates for TLS connections.
| libcjson-dev |
| Relay plugin: protocol "api" (HTTP REST API).
| libzstd-dev | ≥ 0.8.1
| Logger plugin: compression of rotated log files (zstandard). +
Relay plugin: compression of messages with https://facebook.github.io/zstd/[Zstandard ^↗^^]
(api and weechat protocols).
Relay plugin: compression of messages (WeeChat -> client) with https://facebook.github.io/zstd/[Zstandard ^↗^^] (weechat protocol).
| libaspell-dev / libenchant-dev |
| Spell plugin.
@@ -278,9 +273,6 @@ List of available options:
| ENABLE_CHARSET | `ON`, `OFF` | ON
| Compile <<charset,Charset plugin>>.
| ENABLE_CJSON | `ON`, `OFF` | ON
| Support of JSON with https://github.com/DaveGamble/cJSON[cJSON ^↗^^] library.
| ENABLE_MAN | `ON`, `OFF` | OFF
| Build man page.
@@ -528,11 +520,11 @@ Copying output to /tmp/crash.txt.
at /some_path/src/core/weechat.c:351
#3 <signal handler called>
#4 0x000000000044cb24 in hook_process_timer_cb (arg_hook_process=0x254eb90,
remaining_calls=<value optimized out>) at /some_path/src/core/core-hook.c:1364
remaining_calls=<value optimized out>) at /some_path/src/core/wee-hook.c:1364
hook_process = 0x254eb90
status = <value optimized out>
#5 0x000000000044cc7d in hook_timer_exec ()
at /some_path/src/core/core-hook.c:1025
at /some_path/src/core/wee-hook.c:1025
tv_time = {tv_sec = 1272693881, tv_usec = 212665}
ptr_hook = 0x2811f40
next_hook = 0x0
@@ -2681,37 +2673,27 @@ You can change or add bindings with the command `/key` using context "mouse"
Event name consists of a modifier (optional), a button/wheel name and a gesture
(optional). Different elements are separated by `+-+`.
List of modifiers (by order in the event name):
List of modifiers:
[width="100%",cols="1m,4",options="header"]
|===
| Modifier | Description
| alt | Key kbd:[Alt]
| ctrl | Key kbd:[Ctrl]
| shift | Key kbd:[Shift] ^(1)^
| alt | Key kbd:[Alt]
| ctrl-alt | Keys kbd:[Ctrl] + kbd:[Alt]
|===
[NOTE]
^(1)^ The `shift` modifier can rarely be used in WeeChat because many terminals
use this modifier to catch directly mouse events.
Several modifiers can be combined, for example:
* `alt-ctrl`
* `ctrl-shift`
* `alt-ctrl-shift`
List of buttons/wheel:
[width="100%",cols="1m,4",options="header"]
|===
| Button/wheel | Description
| button1 | Click on left button
| button2 | Click on right button
| button3 | Click on middle button (often click on wheel)
| button4 ... button11 | Click on extra buttons
| wheelup | Wheel (up)
| wheeldown | Wheel (down)
| Button/wheel | Description
| button1 | Click on left button
| button2 | Click on right button
| button3 | Click on middle button (often click on wheel)
| button4 ... button9 | Click on extra buttons
| wheelup | Wheel (up)
| wheeldown | Wheel (down)
|===
List of gestures (only for buttons, not wheel):
@@ -2747,7 +2729,7 @@ Example of events:
* `button1-event-drag`
* `alt-button2-gesture-down-long`
* `wheelup`
* `alt-ctrl-wheeldown`
* `ctrl-alt-wheeldown`
* ...
[TIP]
@@ -4529,13 +4511,8 @@ The Relay plugin is used to relay data via network, using different protocols:
* _irc_: IRC proxy: used to share connections to IRC servers with one or many
other IRC clients
* _api_: HTTP REST API, used by WeeChat and remote interfaces to display and
interact with WeeChat
* _weechat_: protocol used by remote interfaces to display and interact with
WeeChat.
For _api_ and _weechat_ protocols, see the list of remote interfaces on
https://weechat.org/about/interfaces/[this page ^↗^^].
WeeChat, see https://weechat.org/about/interfaces/[this page ^↗^^].
[[relay_password]]
=== Password
@@ -4547,13 +4524,13 @@ It is highly recommended to set a password for relay, with these commands:
/set relay.network.password "${sec.data.relay}"
----
This password is used with all protocols.
This password is used for _irc_ and _weechat_ protocols.
[[relay_totp]]
=== TOTP
TOTP (Time-based One-Time Password) can be used as secondary authentication
factor for _api_ and _weechat_ protocols, in addition to the password.
factor for _weechat_ protocol, in addition to the password.
This is optional and increases the security level.
@@ -4645,39 +4622,6 @@ commands:
/set irc.server.relay.password "${sec.data.relay_libera}"
----
[[relay_api_protocol]]
=== API protocol
The Relay plugin can send data to a remote WeeChat or interface using an
HTTP REST API protocol.
You can browse and test the API online:
https://weechat.org/api/[WeeChat Relay API ^↗^^].
You can connect with WeeChat or a remote interface, see
https://weechat.org/about/interfaces/[this page ^↗^^].
For example:
----
/relay add api 9000
----
Now you can connect on port 9000 with a WeeChat or a remote interface using
password "mypassword".
To connect to an _api_ relay with WeeChat:
----
/remote add weechat http://localhost:9000 -password=mypassword
/remote connect weechat
----
[NOTE]
The remote WeeChat must expose the same API version as the local WeeChat, so
it's highly recommended to use exactly the same WeeChat version on remote
and local client.
[[relay_weechat_protocol]]
=== WeeChat protocol
@@ -4717,9 +4661,7 @@ websocket = new WebSocket("ws://server.com:9000/weechat");
----
The port (9000 in example) is the port defined in Relay plugin.
The URI must end with "/weechat" for _irc_ and _weechat_ protocols and "/api"
for _api_ protocol.
The URI must always end with "/weechat" (for _irc_ and _weechat_ protocols).
[[relay_unix_socket]]
=== UNIX domain sockets
@@ -4762,7 +4704,7 @@ Sections in file _relay.conf_:
| network | /set relay.network.* | Network options.
| irc | /set relay.irc.* | Options specific to irc protocol (irc proxy).
| port | <<command_relay_relay,/relay add>> +
/set relay.port.* | Ports used for relay (options can be added/removed in section).
/set relay.port.* | Ports used for relay (irc and weechat protocols) (options can be added/removed in section).
|===
Options:
@@ -5168,9 +5110,7 @@ Matching groups can be used in _replace_:
* `+${re:0}+` to `+${re:99}+`: `+${re:0}+` is the whole match, `+${re:1}+` to
`+${re:99}+` are groups captured
* `pass:[${re:+}]`: the last match (with highest number)
* `+${re:#}+`: index of last group captured
* `+${re:repl_index}+`: index of replacement being done (starts to 1)
* `+${re:+}+`: the last match (with highest number)
* `+${hide:c,${re:N}}+`: match "N" with all chars replaced by "c"
(example: `+${hide:*,${re:2}}+` is the group #2 with all chars replaced by
`+*+`).
@@ -5319,7 +5259,7 @@ is added in hashtable:
| server | string | Name of server (example: "libera").
| tags | string | Tags in message (rarely used).
| message_without_tags | string | Message without tags.
| nick | string | Nick. ^(1)^
| nick | string | Nick.
| host | string | Hostname.
| command | string | IRC command (example: "PRIVMSG", "NOTICE", ...).
| channel | string | IRC channel.
@@ -5331,10 +5271,6 @@ is added in hashtable:
| pos_text | string | The index of _text_ in message ("-1" if _text_ was not found).
|===
[NOTE]
^(1)^ The nick is the sender of the message. +
Your own nick on the server is `${irc_server.nick}`.
When the data is a pointer, the variable `+tg_signal_data+` can be used like this
to read a hdata property (in this example this is a pointer on a buffer):
+352 -390
View File
@@ -114,97 +114,97 @@ Le cœur de WeeChat est situé dans les répertoires suivants :
[width="100%",cols="2m,3",options="header"]
|===
| Chemin/fichier | Description
| core/ | Fonctions du cœur : point d'entrée, structures internes.
|    core-arraylist.c | Listes avec tableau (« arraylists »).
|    core-backtrace.c | Afficher une trace après un plantage.
|    core-calc.c | Calcul du résultat d'expressions.
|    core-command.c | Commandes du cœur de WeeChat.
|    core-completion.c | Complétions par défaut.
|    core-config-file.c | Gestion des fichiers de configuration.
|    core-config.c | Options de configuration du cœur de WeeChat (fichier weechat.conf).
|    core-crypto.c | Fonctions de cryptographie.
|    core-debug.c | Quelques fonctions de debug.
|    core-dir.c | Fonctions sur les répertoires/fichiers.
|    core-doc.c | Génération de fichiers pour la documentation.
|    core-eval.c | Évaluation d'expressions avec des références à des variables internes.
|    core-hashtable.c | Tables de hachage.
|    core-hdata.c | Hdata (accès direct aux données en utilisant des tables de hachage).
|    core-hook.c | Crochets ("hooks").
|    core-infolist.c | Infolists (listes avec les données des objets).
|    core-input.c | Entrée de commandes/texte.
|    core-list.c | Listes triées.
|    core-log.c | Écriture dans le fichier de log WeeChat (weechat.log).
|    core-network.c | Fonctions réseau (connexion aux serveurs/proxies).
|    core-proxy.c | Gestion des proxies.
|    core-secure.c | Fonctions pour les données sécurisées.
|    core-secure-buffer.c | Tampon pour les données sécurisées.
|    core-secure-config.c | Options des données sécurisées (fichier sec.conf).
|    core-signal.c | Fonctions sur les signaux.
|    core-string.c | Fonctions sur les chaînes de caractères.
|    core-sys.c | Fonctions système.
|    core-upgrade-file.c | Système de mise à jour interne.
|    core-upgrade.c | Mise à jour du cœur de WeeChat (tampons, lignes, historique, ...).
|    core-url.c | Transfert d'URL (en utilisant libcurl).
|    core-utf8.c | Fonctions UTF-8.
|    core-util.c | Quelques autres fonctions utilitaires.
|    core-version.c | Fonctions pour la version de WeeChat.
|    weechat.c | Fonctions principales : options de ligne de commande, démarrage.
|    hook/ | Fonctions "hook".
|       hook-command-run.c | Hook "command_run".
|       hook-command.c | Hook "command".
|       hook-completion.c | Hook "completion".
|       hook-config.c | Hook "config".
|       hook-connect.c | Hook "connect".
|       hook-fd.c | Hook "fd".
|       hook-focus.c | Hook "focus".
|       hook-hdata.c | Hook "hdata".
|       hook-hsignal.c | Hook "hsignal".
|       hook-info-hashtable.c | Hook "info".
|       hook-info.c | Hook "info".
|       hook-infolist.c | Hook "infolist".
|       hook-line.c | Hook "line".
|       hook-modifier.c | Hook "modifier".
|       hook-print.c | Hook "print".
|       hook-process.c | Hook "process".
|       hook-signal.c | Hook "signal".
|       hook-timer.c | Hook "timer".
|       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.
|    gui-bar.c | Barres.
|    gui-buffer.c | Tampons.
|    gui-chat.c | Fonctions pour la discussion (afficher un message, ...).
|    gui-color.c | Fonctions de couleur.
|    gui-completion.c | Complétion sur la ligne de commande.
|    gui-cursor.c | Mode curseur (mouvement libre du curseur).
|    gui-filter.c | Filtres.
|    gui-focus.c | Fonctions concernant le focus (pour les modes curseur et souris).
|    gui-history.c | Commandes/texte sauvés dans les tampons.
|    gui-hotlist.c | Gestion de la "hotlist" (liste des tampons avec activité).
|    gui-input.c | Fonctions d'entrée (barre "input").
|    gui-key.c | Fonctions pour le clavier.
|    gui-layout.c | Dispositions ("layouts").
|    gui-line.c | Lignes dans les tampons.
|    gui-mouse.c | Souris.
|    gui-nick.c | Fonctions pour les pseudos.
|    gui-nicklist.c | Liste de pseudos dans les tampons.
|    gui-window.c | Fenêtres.
|    curses/ | Interface Curses.
|       gui-curses-bar-window.c | Affichage dans les fenêtres de barre.
|       gui-curses-chat.c | Affichage dans la zone de discussion (messages).
|       gui-curses-color.c | Fonctions pour les couleurs.
|       gui-curses-key.c | Fonctions pour le clavier (touches par défaut, lecture du clavier).
|       gui-curses-main.c | Boucle principale de WeeChat (attente des évènements clavier/réseau).
|       gui-curses-mouse.c | Souris.
|       gui-curses-term.c | Fonctions pour le terminal.
|       gui-curses-window.c | Fenêtres.
|       headless/ | Mode sans interface (« headless »).
|          main.c | Point d'entrée pour le mode sans interface.
|          ncurses-fake.c | Fausse bibliothèque ncurses.
|       normal/ | Interface Curses.
|          main.c | Point d'entrée pour l'interface Curses.
| Chemin/fichier | Description
| core/ | Fonctions du cœur : point d'entrée, structures internes.
|    wee-arraylist.c | Listes avec tableau (« arraylists »).
|    wee-backtrace.c | Afficher une trace après un plantage.
|    wee-calc.c | Calcul du résultat d'expressions.
|    wee-command.c | Commandes du cœur de WeeChat.
|    wee-completion.c | Complétions par défaut.
|    wee-config-file.c | Gestion des fichiers de configuration.
|    wee-config.c | Options de configuration du cœur de WeeChat (fichier weechat.conf).
|    wee-crypto.c | Fonctions de cryptographie.
|    wee-debug.c | Quelques fonctions de debug.
|    wee-dir.c | Fonctions sur les répertoires/fichiers.
|    wee-doc.c | Génération de fichiers pour la documentation.
|    wee-eval.c | Évaluation d'expressions avec des références à des variables internes.
|    wee-hashtable.c | Tables de hachage.
|    wee-hdata.c | Hdata (accès direct aux données en utilisant des tables de hachage).
|    wee-hook.c | Crochets ("hooks").
|    wee-infolist.c | Infolists (listes avec les données des objets).
|    wee-input.c | Entrée de commandes/texte.
|    wee-list.c | Listes triées.
|    wee-log.c | Écriture dans le fichier de log WeeChat (weechat.log).
|    wee-network.c | Fonctions réseau (connexion aux serveurs/proxies).
|    wee-proxy.c | Gestion des proxies.
|    wee-secure.c | Fonctions pour les données sécurisées.
|    wee-secure-buffer.c | Tampon pour les données sécurisées.
|    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).
|    wee-utf8.c | Fonctions UTF-8.
|    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/ | Fonctions "hook".
|       wee-hook-command-run.c | Hook "command_run".
|       wee-hook-command.c | Hook "command".
|       wee-hook-completion.c | Hook "completion".
|       wee-hook-config.c | Hook "config".
|       wee-hook-connect.c | Hook "connect".
|       wee-hook-fd.c | Hook "fd".
|       wee-hook-focus.c | Hook "focus".
|       wee-hook-hdata.c | Hook "hdata".
|       wee-hook-hsignal.c | Hook "hsignal".
|       wee-hook-info-hashtable.c | Hook "info".
|       wee-hook-info.c | Hook "info".
|       wee-hook-infolist.c | Hook "infolist".
|       wee-hook-line.c | Hook "line".
|       wee-hook-modifier.c | Hook "modifier".
|       wee-hook-print.c | Hook "print".
|       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.
|    gui-bar.c | Barres.
|    gui-buffer.c | Tampons.
|    gui-chat.c | Fonctions pour la discussion (afficher un message, ...).
|    gui-color.c | Fonctions de couleur.
|    gui-completion.c | Complétion sur la ligne de commande.
|    gui-cursor.c | Mode curseur (mouvement libre du curseur).
|    gui-filter.c | Filtres.
|    gui-focus.c | Fonctions concernant le focus (pour les modes curseur et souris).
|    gui-history.c | Commandes/texte sauvés dans les tampons.
|    gui-hotlist.c | Gestion de la "hotlist" (liste des tampons avec activité).
|    gui-input.c | Fonctions d'entrée (barre "input").
|    gui-key.c | Fonctions pour le clavier.
|    gui-layout.c | Dispositions ("layouts").
|    gui-line.c | Lignes dans les tampons.
|    gui-mouse.c | Souris.
|    gui-nick.c | Fonctions pour les pseudos.
|    gui-nicklist.c | Liste de pseudos dans les tampons.
|    gui-window.c | Fenêtres.
|    curses/ | Interface Curses.
|       gui-curses-bar-window.c | Affichage dans les fenêtres de barre.
|       gui-curses-chat.c | Affichage dans la zone de discussion (messages).
|       gui-curses-color.c | Fonctions pour les couleurs.
|       gui-curses-key.c | Fonctions pour le clavier (touches par défaut, lecture du clavier).
|       gui-curses-main.c | Boucle principale de WeeChat (attente des évènements clavier/réseau).
|       gui-curses-mouse.c | Souris.
|       gui-curses-term.c | Fonctions pour le terminal.
|       gui-curses-window.c | Fenêtres.
|       headless/ | Mode sans interface (« headless »).
|          main.c | Point d'entrée pour le mode sans interface.
|          ncurses-fake.c | Fausse bibliothèque ncurses.
|       normal/ | Interface Curses.
|          main.c | Point d'entrée pour l'interface Curses.
|===
[[sources_plugins]]
@@ -212,189 +212,180 @@ Le cœur de WeeChat est situé dans les répertoires suivants :
[width="100%",cols="2m,3",options="header"]
|===
| Chemin/fichier | Description
| plugins/ | Racine des extensions.
|    plugin.c | Gestion des extensions (chargement/déchargement des bibliothèques C dynamiques).
|    plugin-api.c | Fonctions supplémentaires pour l'API extension (enveloppes autour des fonctions du cœur de WeeChat).
|    plugin-api-info.c | Fonctions supplémentaires info/infolist pour l'API extension.
|    plugin-config.c | Options de configuration des extensions (fichier plugins.conf).
|    plugin-script.c | Fonctions communes utilisés par les extensions pour les scripts.
|    plugin-script-api.c | Fonctions pour l'API script : enveloppes autour de quelques fonctions de l'API extension.
|    plugin-script-config.c | Options de configuration des extensions pour les scripts (fichiers python.conf, perl.conf, ...).
|    weechat-plugin.h | En-tête destiné à être distribué avec les extensions WeeChat, pour les compiler.
|    alias/ | Extension Alias.
|       alias.c | Fonctions principales pour les alias.
|       alias-command.c | Commandes Alias.
|       alias-completion.c | Complétions pour Alias.
|       alias-config.c | Options de configuration des alias (fichier alias.conf).
|       alias-info.c | Info/infolists/hdata pour les alias.
|    spell/ | Extension Spell.
|       spell.c | Fonctions principales pour Spell.
|       spell-bar-item.c | Objets de barre Spell.
|       spell-command.c | Commandes Spell.
|       spell-completion.c | Complétions pour Spell.
|       spell-config.c | Options de configuration pour Spell (fichier spell.conf).
|       spell-info.c | Info/infolists/hdata pour Spell.
|       spell-speller.c | Gestion des correcteurs orthographiques.
|    buflist/ | Extension Buflist.
|       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.
|    charset/ | Extension Charset.
|       charset.c | Fonctions pour Charset.
|    exec/ | Extension Exec.
|       exec.c | Fonctions principales de Exec.
|       exec-buffer.c | Tampon Exec.
|       exec-command.c | Commandes pour Exec.
|       exec-completion.c | Complétions pour Exec.
|       exec-config.c | Options de configuration pour Exec (fichier exec.conf).
|    fifo/ | Extension Fifo.
|       fifo.c | Fonctions principales de Fifo.
|       fifo-command.c | Commandes pour Fifo.
|       fifo-config.c | Options de configuration pour Fifo (fichier fifo.conf).
|       fifo-info.c | Info/infolists/hdata pour Fifo.
|    fset/ | Extension Fset.
|       fset.c | Fonctions principales de Fset.
|       fset-bar-item.c | Objets de barre Fset.
|       fset-buffer.c | Tampon Fset.
|       fset-command.c | Commandes pour Fset.
|       fset-completion.c | Complétions pour Fset.
|       fset-config.c | Options de configuration pour Fset (fichier fset.conf).
|       fset-info.c | Info/infolists/hdata pour Fset.
|       fset-mouse.c | Actions souris pour Fset.
|       fset-option.c | Gestion des options Fset.
|    guile/ | Extension Guile (scheme).
|       weechat-guile.c | Fonctions principales pour Guile (chargement/déchargement des scripts, exécution de code Guile).
|       weechat-guile-api.c | Fonctions de l'API script Guile.
|    irc/ | Extension IRC (Internet Relay Chat).
|       irc.c | Fonctions principales IRC.
|       irc-bar-item.c | Objets de barre IRC.
|       irc-batch.c | Évènements batch IRC.
|       irc-buffer.c | Tampons IRC.
|       irc-channel.c | Canaux IRC.
|       irc-color.c | Couleurs IRC.
|       irc-command.c | Commandes IRC.
|       irc-completion.c | Complétions IRC.
|       irc-config.c | Options de configuration IRC (fichier irc.conf).
|       irc-ctcp.c | CTCP IRC.
|       irc-debug.c | Fonctions de debug IRC.
|       irc-ignore.c | Ignore IRC.
|       irc-info.c | Info/infolists/hdata pour IRC.
|       irc-input.c | Entrée de commandes/texte.
|       irc-join.c | Fonctions pour les listes de canaux à rejoindre.
|       irc-list.c | Tampon pour la réponse à la commande /list.
|       irc-message.c | Fonctions pour manipuler les messages IRC.
|       irc-mode.c | Fonctions pour les modes de canal/pseudo.
|       irc-modelist.c | Listes de modes de canaux IRC (+b, +e, +I, ...).
|       irc-msgbuffer.c | Tampon cible pour les messages IRC.
|       irc-nick.c | Pseudos IRC.
|       irc-notify.c | Listes de notification IRC.
|       irc-protocol.c | Protocole IRC (RFCs 1459/2810/2811/2812/2813/7194).
|       irc-raw.c | Tampon des données brutes IRC.
|       irc-redirect.c | Redirection de la sortie des commandes IRC.
|       irc-sasl.c | Authentification SASL avec le serveur IRC.
|       irc-server.c | Communication avec le serveur IRC.
|       irc-tag.c | Fonctions pour manipuler les étiquettes de message IRC.
|       irc-typing.c | Statut d'écriture.
|       irc-upgrade.c | Sauvegarde/restauration des données IRC lors de la mise à jour de WeeChat.
|    javascript/ | Extension JavaScript.
|       weechat-js.cpp | Fonctions principales pour JavaScript (chargement/déchargement des scripts, exécution de code JavaScript).
|       weechat-js-api.cpp | Fonctions de l'API script JavaScript.
|       weechat-js-v8.cpp | Fonctions JavaScript v8.
|    logger/ | Extension Logger.
|       logger.c | Fonctions principales pour Logger.
|       logger-backlog.c | Fonctions de backlog pour Logger.
|       logger-buffer.c | Gestion des listes de tampons pour Logger.
|       logger-command.c | Commandes de Logger.
|       logger-config.c | Options de configuration pour Logger (fichier logger.conf).
|       logger-info.c | Info/infolists/hdata pour Logger.
|       logger-tail.c | Fonctions pour obtenir les dernières lignes d'un fichier.
|    lua/ | Extension Lua.
|       weechat-lua.c | Fonctions principales pour Lua (chargement/déchargement des scripts, exécution de code Lua).
|       weechat-lua-api.c | Fonctions de l'API script Lua.
|    perl/ | Extension Perl.
|       weechat-perl.c | Fonctions principales pour Perl (chargement/déchargement des scripts, exécution de code Perl).
|       weechat-perl-api.c | Fonctions de l'API script Perl.
|    php/ | Extension PHP.
|       weechat-php.c | Fonctions principales pour PHP (chargement/déchargement des scripts, exécution de code PHP).
|       weechat-php-api.c | Fonctions de l'API script PHP.
|    python/ | Extension Python.
|       weechat-python.c | Fonctions principales pour Python (chargement/déchargement des scripts, exécution de code Python).
|       weechat-python-api.c | Fonctions de l'API script Python.
|    relay/ | Extension Relay (proxy IRC et relai pour des interfaces distantes).
|       relay.c | Fonctions principales de Relay.
|       relay-auth.c | Authentification des clients.
|       relay-buffer.c | Tampon Relay.
|       relay-client.c | Clients du relai.
|       relay-command.c | Commandes de Relay.
|       relay-completion.c | Complétions de Relay.
|       relay-config.c | Options de configuration pour Relay (fichier relay.conf).
|       relay-http.c | Fonctions HTTP.
|       relay-info.c | Info/infolists/hdata pour Relay.
|       relay-network.c | Fonctions de réseau pour Relay.
|       relay-raw.c | Tampon des données brutes de Relay.
|       relay-remote.c | Relai distant.
|       relay-server.c | Serveur Relay.
|       relay-upgrade.c | Sauvegarde/restauration des données Relay lors de la mise à jour de WeeChat.
|       relay-websocket.c | Fonctions pour le serveur WebSocket (RFC 6455).
|       api/ | Relai pour les interfaces distantes (en utilisant une API REST HTTP).
|          relay-api.c | Fonctions principales pour l'API REST HTTP.
|          relay-api-msg.c | Envoi de messages JSON aux clients.
|          relay-api-protocol.c | Protocole HTTP REST API.
|          remote/ | Relai distant.
|             relay-remote-event.c | Traitement des évènements reçus du relai distant.
|             relay-remote-network.c | Fonctions réseau pour le relai distant.
|       irc/ | Proxy IRC.
|          relay-irc.c | Fonctions principales pour le proxy IRC.
|       weechat/ | Relai pour les interfaces distantes (en utilisant le protocole binaire "weechat").
|          relay-weechat.c | Relai pour les interfaces distantes (fonctions principales).
|          relay-weechat-msg.c | Envoi de messages binaires aux clients.
|          relay-weechat-nicklist.c | Fonctions pour la liste de pseudos.
|          relay-weechat-protocol.c | Lecture des commandes des clients.
|    ruby/ | Extension Ruby.
|       weechat-ruby.c | Fonctions principales pour Ruby (chargement/déchargement des scripts, exécution de code Ruby).
|       weechat-ruby-api.c | Fonctions de l'API script Ruby.
|    script/ | Gestionnaire de scripts.
|       script.c | Fonctions principales du gestionnaire de scripts.
|       script-action.c | Actions sur les scripts (chargement/déchargement, installation/suppression, ...).
|       script-buffer.c | Tampon pour le gestionnaire de scripts.
|       script-command.c | Commandes pour le gestionnaire de scripts.
|       script-completion.c | Complétions pour le gestionnaire de scripts.
|       script-config.c | Options de configuration pour le gestionnaire de scripts (fichier script.conf).
|       script-info.c | Info/infolists/hdata pour le gestionnaire de scripts.
|       script-mouse.c | Actions souris pour le gestionnaire de scripts.
|       script-repo.c | Téléchargement et lecture du dépôt de scripts.
|    tcl/ | Extension Tcl.
|       weechat-tcl.c | Fonctions principales pour Tcl (chargement/déchargement des scripts, exécution de code Tcl).
|       weechat-tcl-api.c | Fonctions de l'API script Tcl.
|    trigger/ | Extension Trigger.
|       trigger.c | Fonctions principales de Trigger.
|       trigger-buffer.c | Tampon Trigger.
|       trigger-callback.c | Fonctions de rappel de Trigger.
|       trigger-command.c | Commandes pour Trigger.
|       trigger-completion.c | Complétions pour Trigger.
|       trigger-config.c | Options de configuration pour Trigger (fichier trigger.conf).
|    typing/ | Extension Typing.
|       typing.c | Fonctions principales de Typing.
|       typing-bar-item.c | Objets de barre Typing.
|       typing-config.c | Options de configuration pour Typing (fichier typing.conf).
|       typing-status.c | Statut d'écriture de messages sur les tampons.
|    xfer/ | Extension Xfer (IRC DCC fichier/discussion).
|       xfer.c | Fonctions principales de Xfer.
|       xfer-buffer.c | Tampon Xfer.
|       xfer-chat.c | Discussion DCC.
|       xfer-command.c | Commandes pour Xfer.
|       xfer-completion.c | Complétions pour Xfer.
|       xfer-config.c | Options de configuration pour Xfer (fichier xfer.conf).
|       xfer-dcc.c | Transfert de fichier par DCC.
|       xfer-file.c | Fonctions pour les fichiers dans Xfer.
|       xfer-info.c | Info/infolists/hdata pour Xfer.
|       xfer-network.c | Fonctions réseau pour Xfer.
|       xfer-upgrade.c | Sauvegarde/restauration des données Xfer lors de la mise à jour de WeeChat.
| Chemin/fichier | Description
| plugins/ | Racine des extensions.
|    plugin.c | Gestion des extensions (chargement/déchargement des bibliothèques C dynamiques).
|    plugin-api.c | Fonctions supplémentaires pour l'API extension (enveloppes autour des fonctions du cœur de WeeChat).
|    plugin-api-info.c | Fonctions supplémentaires info/infolist pour l'API extension.
|    plugin-config.c | Options de configuration des extensions (fichier plugins.conf).
|    plugin-script.c | Fonctions communes utilisés par les extensions pour les scripts.
|    plugin-script-api.c | Fonctions pour l'API script : enveloppes autour de quelques fonctions de l'API extension.
|    plugin-script-config.c | Options de configuration des extensions pour les scripts (fichiers python.conf, perl.conf, ...).
|    weechat-plugin.h | En-tête destiné à être distribué avec les extensions WeeChat, pour les compiler.
|    alias/ | Extension Alias.
|       alias.c | Fonctions principales pour les alias.
|       alias-command.c | Commandes Alias.
|       alias-completion.c | Complétions pour Alias.
|       alias-config.c | Options de configuration des alias (fichier alias.conf).
|       alias-info.c | Info/infolists/hdata pour les alias.
|    spell/ | Extension Spell.
|       spell.c | Fonctions principales pour Spell.
|       spell-bar-item.c | Objets de barre Spell.
|       spell-command.c | Commandes Spell.
|       spell-completion.c | Complétions pour Spell.
|       spell-config.c | Options de configuration pour Spell (fichier spell.conf).
|       spell-info.c | Info/infolists/hdata pour Spell.
|       spell-speller.c | Gestion des correcteurs orthographiques.
|    buflist/ | Extension Buflist.
|       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.
|    charset/ | Extension Charset.
|       charset.c | Fonctions pour Charset.
|    exec/ | Extension Exec.
|       exec.c | Fonctions principales de Exec.
|       exec-buffer.c | Tampon Exec.
|       exec-command.c | Commandes pour Exec.
|       exec-completion.c | Complétions pour Exec.
|       exec-config.c | Options de configuration pour Exec (fichier exec.conf).
|    fifo/ | Extension Fifo.
|       fifo.c | Fonctions principales de Fifo.
|       fifo-command.c | Commandes pour Fifo.
|       fifo-config.c | Options de configuration pour Fifo (fichier fifo.conf).
|       fifo-info.c | Info/infolists/hdata pour Fifo.
|    fset/ | Extension Fset.
|       fset.c | Fonctions principales de Fset.
|       fset-bar-item.c | Objets de barre Fset.
|       fset-buffer.c | Tampon Fset.
|       fset-command.c | Commandes pour Fset.
|       fset-completion.c | Complétions pour Fset.
|       fset-config.c | Options de configuration pour Fset (fichier fset.conf).
|       fset-info.c | Info/infolists/hdata pour Fset.
|       fset-mouse.c | Actions souris pour Fset.
|       fset-option.c | Gestion des options Fset.
|    guile/ | Extension Guile (scheme).
|       weechat-guile.c | Fonctions principales pour Guile (chargement/déchargement des scripts, exécution de code Guile).
|       weechat-guile-api.c | Fonctions de l'API script Guile.
|    irc/ | Extension IRC (Internet Relay Chat).
|       irc.c | Fonctions principales IRC.
|       irc-bar-item.c | Objets de barre IRC.
|       irc-batch.c | Évènements batch IRC.
|       irc-buffer.c | Tampons IRC.
|       irc-channel.c | Canaux IRC.
|       irc-color.c | Couleurs IRC.
|       irc-command.c | Commandes IRC.
|       irc-completion.c | Complétions IRC.
|       irc-config.c | Options de configuration IRC (fichier irc.conf).
|       irc-ctcp.c | CTCP IRC.
|       irc-debug.c | Fonctions de debug IRC.
|       irc-ignore.c | Ignore IRC.
|       irc-info.c | Info/infolists/hdata pour IRC.
|       irc-input.c | Entrée de commandes/texte.
|       irc-join.c | Fonctions pour les listes de canaux à rejoindre.
|       irc-list.c | Tampon pour la réponse à la commande /list.
|       irc-message.c | Fonctions pour manipuler les messages IRC.
|       irc-mode.c | Fonctions pour les modes de canal/pseudo.
|       irc-modelist.c | Listes de modes de canaux IRC (+b, +e, +I, ...).
|       irc-msgbuffer.c | Tampon cible pour les messages IRC.
|       irc-nick.c | Pseudos IRC.
|       irc-notify.c | Listes de notification IRC.
|       irc-protocol.c | Protocole IRC (RFCs 1459/2810/2811/2812/2813/7194).
|       irc-raw.c | Tampon des données brutes IRC.
|       irc-redirect.c | Redirection de la sortie des commandes IRC.
|       irc-sasl.c | Authentification SASL avec le serveur IRC.
|       irc-server.c | Communication avec le serveur IRC.
|       irc-tag.c | Fonctions pour manipuler les étiquettes de message IRC.
|       irc-typing.c | Statut d'écriture.
|       irc-upgrade.c | Sauvegarde/restauration des données IRC lors de la mise à jour de WeeChat.
|    javascript/ | Extension JavaScript.
|       weechat-js.cpp | Fonctions principales pour JavaScript (chargement/déchargement des scripts, exécution de code JavaScript).
|       weechat-js-api.cpp | Fonctions de l'API script JavaScript.
|       weechat-js-v8.cpp | Fonctions JavaScript v8.
|    logger/ | Extension Logger.
|       logger.c | Fonctions principales pour Logger.
|       logger-backlog.c | Fonctions de backlog pour Logger.
|       logger-buffer.c | Gestion des listes de tampons pour Logger.
|       logger-command.c | Commandes de Logger.
|       logger-config.c | Options de configuration pour Logger (fichier logger.conf).
|       logger-info.c | Info/infolists/hdata pour Logger.
|       logger-tail.c | Fonctions pour obtenir les dernières lignes d'un fichier.
|    lua/ | Extension Lua.
|       weechat-lua.c | Fonctions principales pour Lua (chargement/déchargement des scripts, exécution de code Lua).
|       weechat-lua-api.c | Fonctions de l'API script Lua.
|    perl/ | Extension Perl.
|       weechat-perl.c | Fonctions principales pour Perl (chargement/déchargement des scripts, exécution de code Perl).
|       weechat-perl-api.c | Fonctions de l'API script Perl.
|    php/ | Extension PHP.
|       weechat-php.c | Fonctions principales pour PHP (chargement/déchargement des scripts, exécution de code PHP).
|       weechat-php-api.c | Fonctions de l'API script PHP.
|    python/ | Extension Python.
|       weechat-python.c | Fonctions principales pour Python (chargement/déchargement des scripts, exécution de code Python).
|       weechat-python-api.c | Fonctions de l'API script Python.
|    relay/ | Extension Relay (proxy IRC et relai pour des interfaces distantes).
|       relay.c | Fonctions principales de Relay.
|       relay-auth.c | Authentification des clients.
|       relay-buffer.c | Tampon Relay.
|       relay-client.c | Clients du relai.
|       relay-command.c | Commandes de Relay.
|       relay-completion.c | Complétions de Relay.
|       relay-config.c | Options de configuration pour Relay (fichier relay.conf).
|       relay-info.c | Info/infolists/hdata pour Relay.
|       relay-network.c | Fonctions de réseau pour Relay.
|       relay-raw.c | Tampon des données brutes de Relay.
|       relay-server.c | Serveur Relay.
|       relay-upgrade.c | Sauvegarde/restauration des données Relay lors de la mise à jour de WeeChat.
|       relay-websocket.c | Fonctions pour le serveur WebSocket (RFC 6455).
|       irc/ | Proxy IRC.
|          relay-irc.c | Fonctions principales pour le proxy IRC.
|       weechat/ | Relai pour les interfaces distantes.
|          relay-weechat.c | Relai pour les interfaces distantes (fonctions principales).
|          relay-weechat-msg.c | Envoi de messages binaires aux clients.
|          relay-weechat-nicklist.c | Fonctions pour la liste de pseudos.
|          relay-weechat-protocol.c | Lecture des commandes des clients.
|    ruby/ | Extension Ruby.
|       weechat-ruby.c | Fonctions principales pour Ruby (chargement/déchargement des scripts, exécution de code Ruby).
|       weechat-ruby-api.c | Fonctions de l'API script Ruby.
|    script/ | Gestionnaire de scripts.
|       script.c | Fonctions principales du gestionnaire de scripts.
|       script-action.c | Actions sur les scripts (chargement/déchargement, installation/suppression, ...).
|       script-buffer.c | Tampon pour le gestionnaire de scripts.
|       script-command.c | Commandes pour le gestionnaire de scripts.
|       script-completion.c | Complétions pour le gestionnaire de scripts.
|       script-config.c | Options de configuration pour le gestionnaire de scripts (fichier script.conf).
|       script-info.c | Info/infolists/hdata pour le gestionnaire de scripts.
|       script-mouse.c | Actions souris pour le gestionnaire de scripts.
|       script-repo.c | Téléchargement et lecture du dépôt de scripts.
|    tcl/ | Extension Tcl.
|       weechat-tcl.c | Fonctions principales pour Tcl (chargement/déchargement des scripts, exécution de code Tcl).
|       weechat-tcl-api.c | Fonctions de l'API script Tcl.
|    trigger/ | Extension Trigger.
|       trigger.c | Fonctions principales de Trigger.
|       trigger-buffer.c | Tampon Trigger.
|       trigger-callback.c | Fonctions de rappel de Trigger.
|       trigger-command.c | Commandes pour Trigger.
|       trigger-completion.c | Complétions pour Trigger.
|       trigger-config.c | Options de configuration pour Trigger (fichier trigger.conf).
|    typing/ | Extension Typing.
|       typing.c | Fonctions principales de Typing.
|       typing-bar-item.c | Objets de barre Typing.
|       typing-config.c | Options de configuration pour Typing (fichier typing.conf).
|       typing-status.c | Statut d'écriture de messages sur les tampons.
|    xfer/ | Extension Xfer (IRC DCC fichier/discussion).
|       xfer.c | Fonctions principales de Xfer.
|       xfer-buffer.c | Tampon Xfer.
|       xfer-chat.c | Discussion DCC.
|       xfer-command.c | Commandes pour Xfer.
|       xfer-completion.c | Complétions pour Xfer.
|       xfer-config.c | Options de configuration pour Xfer (fichier xfer.conf).
|       xfer-dcc.c | Transfert de fichier par DCC.
|       xfer-file.c | Fonctions pour les fichiers dans Xfer.
|       xfer-info.c | Info/infolists/hdata pour Xfer.
|       xfer-network.c | Fonctions réseau pour Xfer.
|       xfer-upgrade.c | Sauvegarde/restauration des données Xfer lors de la mise à jour de WeeChat.
|===
[[sources_tests]]
@@ -402,119 +393,89 @@ Le cœur de WeeChat est situé dans les répertoires suivants :
[width="100%",cols="2m,3",options="header"]
|===
| Chemin/fichier | Description
| tests/ | Racine des tests.
|    tests.cpp | Programme utilisé pour lancer tous les tests.
|    tests-record.cpp | Enregistrement et recherche dans les messages affichés.
|    scripts/ | Racine des tests de l'API script.
|       test-scripts.cpp | Programme utilisé pour lancer les tests de l'API script.
|       python/ | Scripts Python pour générer et lancer les tests de l'API script.
|          testapigen.py | Script Python générant des scripts dans tous les languages pour tester l'API script.
|          testapi.py | Script Python avec les tests API, utilisé par le script testapigen.py.
|          unparse.py | Conversion de code Python vers d'autres langages, utilisé par le script testapigen.py.
|    unit/ | Racine des tests unitaires.
|       test-plugins.cpp | Tests : extensions.
|       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.
|          test-core-command.cpp | Tests : commandes.
|          test-core-config-file.cpp | Tests : fichiers de configuration.
|          test-core-crypto.cpp | Tests : fonctions cryptographiques.
|          test-core-dir.cpp | Tests : répertoires/fichiers.
|          test-core-eval.cpp | Tests : évaluation d'expressions.
|          test-core-hashtble.cpp | Tests : tables de hachage.
|          test-core-hdata.cpp | Tests : hdata.
|          test-core-hook.cpp | Tests : hooks.
|          test-core-infolist.cpp | Tests : infolists.
|          test-core-list.cpp | Tests : listes.
|          test-core-network.cpp | Tests : fonctions réseau.
|          test-core-secure.cpp | Tests : données sécurisées.
|          test-core-signal.cpp | Tests : signaux.
|          test-core-string.cpp | Tests : chaînes.
|          test-core-url.cpp | Tests : URLs.
|          test-core-utf8.cpp | Tests : UTF-8.
|          test-core-util.cpp | Tests : fonctions utiles.
|          test-core-sys.cpp | Tests : fonctions système.
|          hook/ | Racine des tests pour les hooks.
|             test-hook-command.cpp | Tests : hooks "command".
|             test-hook-command-run.cpp | Tests: hooks "command_run".
|             test-hook-completion.cpp | Tests: hooks "completion".
|             test-hook-config.cpp | Tests: hooks "config".
|             test-hook-connect.cpp | Tests: hooks "connect".
|             test-hook-fd.cpp | Tests: hooks "fd".
|             test-hook-focus.cpp | Tests: hooks "focus".
|             test-hook-hdata.cpp | Tests: hooks "hdata".
|             test-hook-hsignal.cpp | Tests: hooks "hsignal".
|             test-hook-info-hashtable.cpp | Tests: hooks "info_hashtable".
|             test-hook-info.cpp | Tests: hooks "info".
|             test-hook-infolist.cpp | Tests: hooks "infolist".
|             test-hook-line.cpp | Tests: hooks "line".
|             test-hook-modifier.cpp | Tests : hooks "modifier".
|             test-hook-print.cpp | Tests: hooks "print".
|             test-hook-process.cpp | Tests: hooks "process".
|             test-hook-signal.cpp | Tests: hooks "signal".
|             test-hook-timer.cpp | Tests: hooks "timer".
|             test-hook-url.cpp | Tests: hooks "url".
|       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.
|          test-gui-chat.cpp | Tests : fonctions de discussion.
|          test-gui-color.cpp | Tests : couleurs.
|          test-gui-filter.cpp | Tests : filtres.
|          test-gui-hotlist.cpp | Tests : fonctions hotlist.
|          test-gui-input.cpp | Tests : fonctions d'entrée.
|          test-gui-key.cpp | Tests : touches.
|          test-gui-line.cpp | Tests : lignes.
|          test-gui-nick.cpp | Tests : pseudos.
|          test-gui-nicklist.cpp | Tests : fonctions de liste de pseudos.
|          curses/ | Racine des tests unitaires pour l'interface Curses.
|             test-gui-curses-mouse.cpp | Tests : souris (interface Curses).
|       plugins/ | Racine des tests unitaires pour les extensions.
|          irc/ | Racine des tests unitaires pour l'extension IRC.
|             test-irc-batch.cpp | Tests : évènements batch IRC.
|             test-irc-buffer.cpp | Tests : tampons IRC.
|             test-irc-channel.cpp | Tests : canaux IRC.
|             test-irc-color.cpp | Tests : couleurs IRC.
|             test-irc-command.cpp | Tests : commandes IRC.
|             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.
|             test-irc-mode.cpp | Tests : modes IRC.
|             test-irc-nick.cpp | Tests : pseudos IRC.
|             test-irc-protocol.cpp | Tests : protocole IRC.
|             test-irc-sasl.cpp | Tests : authentification SASL avec le protocole IRC.
|             test-irc-server.cpp | Tests : serveur IRC.
|             test-irc-tag.cpp | Tests : étiquettes des messages IRC.
|          logger/ | Racine des tests unitaires pour l'extension logger.
|             test-logger.cpp | Tests : logger.
|             test-logger-backlog.cpp | Tests : backlog logger.
|             test-logger-tail.cpp | Tests : fonctions "tail".
|          trigger/ | Racine des tests unitaires pour l'extension trigger.
|             test-trigger.cpp | Tests : triggers.
|             test-trigger-config.cpp | Tests : configuration trigger.
|          typing/ | Racine des tests unitaires pour l'extension typing.
|             test-typing.cpp | Tests : typing.
|             test-typing-status.cpp | Tests : statut d'écriture.
|          relay/ | Racine des tests unitaires pour l'extension Relay.
|             test-relay-auth.cpp | Tests : authentification des clients.
|             test-relay-http.cpp | Tests : fonctions HTTP pour l'extension Relay.
|             test-relay-remote.cpp | Tests : fonctions remote pour l'extension Relay.
|             test-relay-websocket.cpp | Tests : fonctions websocket pour l'extension Relay.
|             api/ | Racine des tests unitaires pour le protocole relay "api".
|                test-relay-api.cpp | Tests : protocole relay "api" : fonctions générales.
|                test-relay-api-msg.cpp | Tests : protocole relay "api" : messages.
|                test-relay-api-protocol.cpp | Tests : protocole relay "api" : protocole.
|             irc/ | Racine des tests unitaires pour le protocole relay "irc".
|                test-relay-irc.cpp | Tests : protocole relay "irc".
|          xfer/ | Racine des tests unitaires pour l'extension Xfer.
|             test-xfer-file.cpp | Tests : fonctions sur les fichiers.
|             test-xfer-network.cpp | Tests : fonctions réseau.
| Chemin/fichier | Description
| tests/ | Racine des tests.
|    tests.cpp | Programme utilisé pour lancer tous les tests.
|    tests-record.cpp | Enregistrement et recherche dans les messages affichés.
|    scripts/ | Racine des tests de l'API script.
|       test-scripts.cpp | Programme utilisé pour lancer les tests de l'API script.
|       python/ | Scripts Python pour générer et lancer les tests de l'API script.
|          testapigen.py | Script Python générant des scripts dans tous les languages pour tester l'API script.
|          testapi.py | Script Python avec les tests API, utilisé par le script testapigen.py.
|          unparse.py | Conversion de code Python vers d'autres langages, utilisé par le script testapigen.py.
|    unit/ | Racine des tests unitaires.
|       test-plugins.cpp | Tests : extensions.
|       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.
|          test-core-command.cpp | Tests : commandes.
|          test-core-config-file.cpp | Tests : fichiers de configuration.
|          test-core-crypto.cpp | Tests : fonctions cryptographiques.
|          test-core-dir.cpp | Tests : répertoires/fichiers.
|          test-core-eval.cpp | Tests : évaluation d'expressions.
|          test-core-hashtble.cpp | Tests : tables de hachage.
|          test-core-hdata.cpp | Tests : hdata.
|          test-core-hook.cpp | Tests : hooks.
|          test-core-infolist.cpp | Tests : infolists.
|          test-core-list.cpp | Tests : listes.
|          test-core-network.cpp | Tests : fonctions réseau.
|          test-core-secure.cpp | Tests : données sécurisées.
|          test-core-signal.cpp | Tests : signaux.
|          test-core-string.cpp | Tests : chaînes.
|          test-core-url.cpp | Tests : URLs.
|          test-core-utf8.cpp | Tests : UTF-8.
|          test-core-util.cpp | Tests : fonctions utiles.
|          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.
|          test-gui-chat.cpp | Tests : fonctions de discussion.
|          test-gui-color.cpp | Tests : couleurs.
|          test-gui-filter.cpp | Tests : filtres.
|          test-gui-input.cpp | Tests : fonctions d'entrée.
|          test-gui-key.cpp | Tests : touches.
|          test-gui-line.cpp | Tests : lignes.
|          test-gui-nick.cpp | Tests : pseudos.
|       plugins/ | Racine des tests unitaires pour les extensions.
|          irc/ | Racine des tests unitaires pour l'extension IRC.
|             test-irc-batch.cpp | Tests : évènements batch IRC.
|             test-irc-buffer.cpp | Tests : tampons IRC.
|             test-irc-channel.cpp | Tests : canaux IRC.
|             test-irc-color.cpp | Tests : couleurs IRC.
|             test-irc-config.cpp | Tests : configuration IRC.
|             test-irc-ctcp.cpp | Tests : CTCP IRC.
|             test-irc-ignore.cpp | Tests : ignores IRC.
|             test-irc-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.
|             test-irc-mode.cpp | Tests : modes IRC.
|             test-irc-nick.cpp | Tests : pseudos IRC.
|             test-irc-protocol.cpp | Tests : protocole IRC.
|             test-irc-sasl.cpp | Tests : authentification SASL avec le protocole IRC.
|             test-irc-server.cpp | Tests : serveur IRC.
|             test-irc-tag.cpp | Tests : étiquettes des messages IRC.
|          logger/ | Racine des tests unitaires pour l'extension logger.
|             test-logger.cpp | Tests : logger.
|             test-logger-backlog.cpp | Tests : backlog logger.
|             test-logger-tail.cpp | Tests : fonctions "tail".
|          trigger/ | Racine des tests unitaires pour l'extension trigger.
|             test-trigger.cpp | Tests : triggers.
|             test-trigger-config.cpp | Tests : configuration trigger.
|          typing/ | Racine des tests unitaires pour l'extension typing.
|             test-typing.cpp | Tests : typing.
|             test-typing-status.cpp | Tests : statut d'écriture.
|          relay/ | Racine des tests unitaires pour l'extension Relay.
|             test-relay-auth.cpp | Tests : authentification des clients.
|             irc/ | Racine des tests unitaires pour le protocole relay "irc".
|                test-relay-irc.cpp | Tests : Protocole relay "irc".
|          xfer/ | Racine des tests unitaires pour l'extension Xfer.
|             test-xfer-file.cpp | Tests : fonctions sur les fichiers.
|             test-xfer-network.cpp | Tests : fonctions réseau.
|===
[[documentation_translations]]
@@ -598,7 +559,8 @@ Exemple en C :
Quelques règles basiques que vous *devez* suivre quand vous écrivez du code C :
* Utilisez 4 espaces pour l'indentation (pas de tabulations).
* Utilisez 4 espaces pour l'indentation. N'utilisez pas de tabulations, c'est le
mal.
* Essayez de ne pas dépasser 80 caractères par ligne, sauf si cela est
nécessaire pour améliorer la lisibilité.
* Utilisez les commentaires `+/* comment */+` (pas de style C99 comme
@@ -820,7 +782,7 @@ Exemples :
[width="100%",cols="2m,3",options="header"]
|===
| Répertoire | Fichiers
| src/core/ | weechat.c, core-backtrace.c, core-command.c, ...
| src/core/ | weechat.c, wee-backtrace.c, wee-command.c, ...
| src/gui/ | gui-bar.c, gui-bar-item.c, gui-bar-window.c, ...
| src/gui/curses/ | gui-curses-bar.c, gui-curses-bar-window.c, gui-curses-chat.c, ...
| src/plugins/ | plugin.c, plugin-api.c, plugin-api-info.c, plugin-config.c, plugin-script.c, ...
@@ -829,7 +791,7 @@ Exemples :
|===
Les en-têtes des fichiers C doivent avoir le même nom que le fichier, par
exemple _core-command.h_ pour le fichier _core-command.c_.
exemple _wee-command.h_ pour le fichier _wee-command.c_.
[[naming_convention_structures]]
==== Structures
+78 -457
View File
@@ -547,56 +547,6 @@ num_files = 2
str = weechat.ngettext("file", "files", num_files)
----
==== asprintf
_WeeChat ≥ 4.3.0._
Formater un message dans une chaîne allouée par la fonction.
[NOTE]
Cette fonction est définie pour les systèmes où la fonction GNU `asprintf()`
n'est pas disponible. +
Le comportement est quasiment le même à l'exception de `*result` qui est mis à
NULL en cas d'erreur.
Prototype :
[source,c]
----
int weechat_asprintf (char **result, const char *fmt, ...);
----
Paramètres :
* _result_ : pointeur vers un pointeur de chaîne
* _fmt_ : chaîne de formatage
Valeur de retour :
* nombre d'octets écrits dans `*result` (en excluant le caractère nul de fin),
une valeur négative en cas d'erreur.
Exemple en C :
[source,c]
----
char *str;
if (weechat_asprintf (&str, "%s, %d", "test", 42) >= 0)
{
/* *str == "test, 42" */
/* ... */
free (str);
}
else
{
/* erreur : *str == NULL */
}
----
[NOTE]
Cette fonction n'est pas disponible dans l'API script.
==== strndup
Retourner la chaîne dupliquée, avec un nombre maximum d'octets.
@@ -2399,23 +2349,22 @@ size = weechat.string_color_code_size(weechat.color("yellow,red")) # size == 7
==== string_remove_color
_Mis à jour dans la 4.3.0._
Supprimer les couleurs WeeChat dans une chaîne.
Prototype :
[source,c]
----
char *weechat_string_remove_color (const char *string, const char *replacement);
char *weechat_string_remove_color (const char *string,
const char *replacement);
----
Paramètres :
* _string_ : chaîne
* _replacement_ : si non NULL et non vide, les couleurs WeeChat sont remplacées
par cette chaîne, sinon les codes couleurs WeeChat et les caractères suivants
(rattachés à la couleur) sont supprimés de la chaîne
par le premier caractère de cette chaîne, sinon les codes couleurs WeeChat et
les caractères suivants (rattachés à la couleur) sont supprimés de la chaîne
Valeur de retour :
@@ -2432,7 +2381,7 @@ char *str = weechat_string_remove_color (ma_chaine1, NULL);
free (str);
/* remplace les codes couleur par "?" */
char *str = weechat_string_remove_color (ma_chaine2, "[color]");
char *str = weechat_string_remove_color (ma_chaine2, "?");
/* ... */
free (str);
----
@@ -2445,12 +2394,12 @@ Script (Python) :
def string_remove_color(string: str, replacement: str) -> str: ...
# exemple
str = weechat.string_remove_color(ma_chaine, "[color]")
str = weechat.string_remove_color(ma_chaine, "?")
----
==== string_base_encode
_WeeChat ≥ 2.4, mis à jour dans la 4.3.0._
_WeeChat ≥ 2.4._
Encoder une chaîne en base 16, 32 ou 64.
@@ -2458,12 +2407,12 @@ Prototype :
[source,c]
----
int weechat_string_base_encode (const char *base, const char *from, int length, char *to);
int weechat_string_base_encode (int base, const char *from, int length, char *to);
----
Paramètres :
* _base_ : "16", "32", "64" ou "64url"
* _base_ : 16, 32 ou 64
* _from_ : chaîne à encoder
* _length_ : longueur de chaîne à encoder (par exemple `strlen(from)`)
* _to_ : pointeur vers la chaîne pour stocker le résultat (doit être
@@ -2480,11 +2429,11 @@ Exemple en C :
----
char *string = "abcdefgh", result[128];
int length;
length = weechat_string_base_encode ("16", string, strlen (string), result);
length = weechat_string_base_encode (16, string, strlen (string), result);
/* length == 16, result == "6162636465666768" */
length = weechat_string_base_encode ("32", string, strlen (string), result);
length = weechat_string_base_encode (32, string, strlen (string), result);
/* length == 16, result == "MFRGGZDFMZTWQ===" */
length = weechat_string_base_encode ("64", string, strlen (string), result);
length = weechat_string_base_encode (64, string, strlen (string), result);
/* length == 12, result == "YWJjZGVmZ2g=" */
----
@@ -2493,7 +2442,7 @@ Cette fonction n'est pas disponible dans l'API script.
==== string_base_decode
_WeeChat ≥ 2.4, mis à jour dans la 4.3.0._
_WeeChat ≥ 2.4._
Décoder une chaîne encodée en base 16, 32 ou 64.
@@ -2501,12 +2450,12 @@ Prototype :
[source,c]
----
int weechat_string_base_decode (const char *base, const char *from, char *to);
int weechat_string_base_decode (int base, const char *from, char *to);
----
Paramètres :
* _base_ : "16", "32", "64" ou "64url"
* _base_ : 16, 32 ou 64
* _from_ : chaîne à décoder
* _to_ : pointeur vers la chaîne pour stocker le résultat (doit être
suffisamment long, le résultat est plus court que la chaîne initiale)
@@ -2522,11 +2471,11 @@ Exemple en C :
----
char result[128];
int length;
length = weechat_string_base_decode ("16", "6162636465666768", result);
length = weechat_string_base_decode (16, "6162636465666768", result);
/* length == 8, result == "abcdefgh" */
length = weechat_string_base_decode ("32", "MFRGGZDFMZTWQ===", result);
length = weechat_string_base_decode (32, "MFRGGZDFMZTWQ===", result);
/* length == 8, result == "abcdefgh" */
length = weechat_string_base_decode ("64", "YWJjZGVmZ2g=", result);
length = weechat_string_base_decode (64, "YWJjZGVmZ2g=", result);
/* length == 8, result == "abcdefgh" */
----
@@ -2664,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, 4.2.0, 4.3.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
@@ -3031,16 +2980,13 @@ première étendue à la dernière) :
| `+${weechat_xxx_dir}+` | 3.2
| Un répertoire WeeChat : `+${weechat_config_dir}+`, `+${weechat_data_dir}+`,
`+${weechat_state_dir}+`, `+${weechat_cache_dir}+` ou `+${weechat_runtime_dir}+`.
`+${weechat_cache_dir}+` ou `+${weechat_runtime_dir}+`.
| >> `+${weechat_config_dir}+` +
== `+/home/user/.config/weechat+` +
+
>> `+${weechat_data_dir}+` +
== `+/home/user/.local/share/weechat+` +
+
>> `+${weechat_state_dir}+` +
== `+/home/user/.local/state/weechat+` +
+
>> `+${weechat_cache_dir}+` +
== `+/home/user/.cache/weechat+` +
+
@@ -3254,7 +3200,7 @@ première étendue à la dernière) :
>> `+${re:2}+` +
== `+test2+` +
+
>> `pass:[${re:+}]` +
>> `+${re:+}+` +
== `+test2+` +
+
>> `+${re:#}+` +
@@ -3317,16 +3263,13 @@ première étendue à la dernière) :
| `+${date}+` +
`+${date:xxx}+` | 1.3
| La date/heure courante, avec un format personnalisé (voir la fonction
<<_util_strftimeval,util_strftimeval>>), le format par défaut est `%F %T`.
| La date/heure courante, avec un format personnalisé (voir `man strftime`),
le format par défaut est `%F %T`.
| >> `+${date}+` +
== `+2015-06-30 19:02:45+` +
+
>> `+${date:%H:%M:%S}+` +
== `+19:02:45+` +
+
>> `+${date:%!.%.3}+` +
== `+1435683765.482+`
== `+19:02:45+`
| `+${env:NOM}+` | 1.2
| Valeur de la variable d'environnement `NOM`.
@@ -4423,7 +4366,6 @@ Paramètres :
chaînes pour forcer un répertoire spécifique de WeeChat (WeeChat ≥ 3.2) :
** `${weechat_config_dir}`
** `${weechat_data_dir}` (par défaut)
** `${weechat_state_dir}`
** `${weechat_cache_dir}`
** `${weechat_runtime_dir}`
* _mode_ : mode pour le répertoire
@@ -4835,11 +4777,11 @@ Cette fonction n'est pas disponible dans l'API script.
==== util_strftimeval
_WeeChat ≥ 4.2.0, mis à jour dans la 4.3.0._
_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 supplémentaires.
conversion pour les microsecondes.
Prototype :
@@ -4850,14 +4792,13 @@ int weechat_util_strftimeval (char *string, int max, const char *format, struct
Paramètres :
* _string_ : tampon où stocker la chaîne formatée
* _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`
** `%!` : horodatage sous forme d'entier, en secondes (valeur de tv->tv_sec)
Valeur de retour :
@@ -5401,7 +5342,7 @@ Exemple en C :
[source,c]
----
weechat_printf (NULL, "données utilisateur de l'élément : %p", weechat_list_user_data (item));
weechat_printf (NULL, "données utilisateur de l'élément : 0x%lx", weechat_list_user_data (item));
----
[NOTE]
@@ -6433,7 +6374,7 @@ _WeeChat ≥ 2.2._
Ajouter les éléments d'une infolist dans une table de hachage.
Prototype :
Prototype:
[source,c]
----
@@ -8206,49 +8147,6 @@ if weechat.config_boolean_default(option):
# ...
----
==== config_boolean_inherited
_WeeChat ≥ 4.3.0._
Retourner la valeur booléenne héritée de l'option : la valeur si l'option n'est
pas NULL, ou la valeur de l'option parente (si l'option hérite d'une autre option). +
Si l'option parente n'est pas trouvée, retourner la valeur par défaut de l'option. +
Si la valeur parente est NULL, retourner la valeur par défaut de l'option parente.
Prototype :
[source,c]
----
int weechat_config_boolean_inherited (struct t_config_option *option);
----
Paramètres :
* _option_ : pointeur vers l'option
Valeur de retour : voir les fonctions <<_config_boolean,config_boolean>> et
<<_config_boolean_default,config_boolean_default>>.
Exemple en C :
[source,c]
----
struct t_config_option *option = weechat_config_get ("irc.server.libera.autoconnect");
int autoconnect = weechat_config_boolean_inherited (option);
----
Script (Python):
[source,python]
----
# prototype
def config_boolean_inherited(option: str) -> int: ...
# exemple
option = weechat.config_get("irc.server.libera.autoconnect")
autoconect = weechat.config_boolean_inherited(option)
----
==== config_integer
Retourner la valeur entière de l'option.
@@ -8335,49 +8233,6 @@ option = weechat.config_get("plugin.section.option")
value = weechat.config_integer_default(option)
----
==== config_integer_inherited
_WeeChat ≥ 4.3.0._
Return inherited integer value of option: value of option if not NULL,
or value of the parent option (if option inherits from another option). +
If the parent option is not found, return the default value of the option. +
If the parent value is NULL, return the default value of the parent option.
Prototype :
[source,c]
----
int weechat_config_integer_inherited (struct t_config_option *option);
----
Paramètres :
* _option_ : pointeur vers l'option
Valeur de retour : voir les fonctions <<_config_integer,config_integer>> et
<<_config_integer_default,config_integer_default>>.
Exemple en C :
[source,c]
----
struct t_config_option *option = weechat_config_get ("irc.server.libera.autojoin_delay");
int delay = weechat_config_integer_inherited (option);
----
Script (Python):
[source,python]
----
# prototype
def config_integer_inherited(option: str) -> int: ...
# exemple
option = weechat.config_get("irc.server.libera.autojoin_delay")
delay = weechat.config_integer_inherited(option)
----
==== config_string
Retourner la valeur de l'option, sous forme de chaîne.
@@ -8464,49 +8319,6 @@ option = weechat.config_get("plugin.section.option")
value = weechat.config_string_default(option)
----
==== config_string_inherited
_WeeChat ≥ 4.3.0._
Return inherited string value of option: value of option if not NULL,
or value of the parent option (if option inherits from another option). +
If the parent option is not found, return the default value of the option. +
If the parent value is NULL, return the default value of the parent option.
Prototype :
[source,c]
----
const char *weechat_config_string_inherited (struct t_config_option *option);
----
Paramètres :
* _option_ : pointeur vers l'option
Valeur de retour : voir les fonctions <<_config_string,config_string>> et
<<_config_string_default,config_string_default>>.
Exemple en C :
[source,c]
----
struct t_config_option *option = weechat_config_get ("irc.server.libera.msg_quit");
const char *msg_quit = weechat_config_string_inherited (option);
----
Script (Python):
[source,python]
----
# prototype
def config_string_inherited(option: str) -> str: ...
# exemple
option = weechat.config_get("irc.server.libera.msg_quit")
msg_quit = weechat.config_string_inherited(option)
----
==== config_color
Retourner la valeur de l'option, sous forme de couleur.
@@ -8547,7 +8359,7 @@ def config_color(option: str) -> str: ...
# exemple
option = weechat.config_get("plugin.section.option")
color = weechat.config_color(option)
value = weechat.config_color(option)
----
==== config_color_default
@@ -8590,50 +8402,7 @@ def config_color_default(option: str) -> str: ...
# exemple
option = weechat.config_get("plugin.section.option")
color = weechat.config_color_default(option)
----
==== config_color_inherited
_WeeChat ≥ 4.3.0._
Return inherited color value of option: value of option if not NULL,
or value of the parent option (if option inherits from another option). +
If the parent option is not found, return the default value of the option. +
If the parent value is NULL, return the default value of the parent option.
Prototype :
[source,c]
----
const char *weechat_config_color_inherited (struct t_config_option *option);
----
Paramètres :
* _option_ : pointeur vers l'option
Valeur de retour : voir les fonctions <<_config_color,config_color>> et
<<_config_color_default,config_color_default>>.
Exemple en C :
[source,c]
----
struct t_config_option *option = weechat_config_get ("plugin.section.option");
const char *color = weechat_config_color_inherited (option);
----
Script (Python):
[source,python]
----
# prototype
def config_color_inherited(option: str) -> str: ...
# exemple
option = weechat.config_get("plugin.section.option")
color = weechat.config_color_inherited(option)
value = weechat.config_color_default(option)
----
==== config_enum
@@ -8721,54 +8490,11 @@ Script (Python) :
# prototype
def config_enum_default(option: str) -> int: ...
# exemple
# example
option = weechat.config_get("plugin.section.option")
value = weechat.config_enum_default(option)
----
==== config_enum_inherited
_WeeChat ≥ 4.3.0._
Return inherited enum value of option: value of option if not NULL,
or value of the parent option (if option inherits from another option). +
If the parent option is not found, return the default value of the option. +
If the parent value is NULL, return the default value of the parent option.
Prototype :
[source,c]
----
int weechat_config_enum_inherited (struct t_config_option *option);
----
Paramètres :
* _option_ : pointeur vers l'option
Valeur de retour : voir les fonctions <<_config_enum,config_enum>> et
<<_config_enum_default,config_enum_default>>.
Exemple en C :
[source,c]
----
struct t_config_option *option = weechat_config_get ("irc.server.libera.sasl_fail");
int sasl_fail = weechat_config_enum_inherited (option);
----
Script (Python):
[source,python]
----
# prototype
def config_enum_inherited(option: str) -> int: ...
# exemple
option = weechat.config_get("irc.server.libera.sasl_fail")
sasl_fail = weechat.config_enum_inherited(option)
----
==== config_write_option
Écrire une ligne dans le fichier de configuration avec l'option et sa valeur
@@ -12397,10 +12123,6 @@ Liste des signaux envoyés par WeeChat et les extensions :
| Pointeur : tampon.
| Titre du tampon changé.
| weechat | [[hook_signal_buffer_modes_changed]] buffer_modes_changed | 4.3.0
| Pointeur : tampon.
| Modes du tampon changés.
| weechat | [[hook_signal_buffer_type_changed]] buffer_type_changed |
| Pointeur : tampon.
| Type de tampon changé.
@@ -12477,10 +12199,6 @@ Liste des signaux envoyés par WeeChat et les extensions :
| Pointeur : tampon.
| Recherche de texte dans le tampon.
| weechat | [[hook_signal_input_prompt_changed]] input_prompt_changed | 4.3.0
| Pointer: buffer.
| Invite de la zone de saisie modifiée.
| weechat | [[hook_signal_input_text_changed]] input_text_changed |
| Pointeur : tampon.
| Texte modifié dans la barre "input".
@@ -13636,12 +13354,6 @@ utilisés :
| Chaîne avec la valeur de l'étiquette IRC sans échappements,
voir https://ircv3.net/specs/extensions/message-tags#escaping-values[cette page ^↗^^].
| [[hook_modifier_color_decode]] color_decode | 4.3.0
| Chaîne de remplacement pour les couleurs supprimées
| Toute chaîne.
| Chaîne avec les couleurs WeeChat converties vers la chaîne de remplacement
(couleurs supprimées si la chaîne de remplacement est vide).
| [[hook_modifier_color_decode_ansi]] color_decode_ansi | 1.0
| "1" pour garder les couleurs, "0" pour les supprimer
| Toute chaîne.
@@ -14669,9 +14381,9 @@ weechat.prnt(weechat.current_buffer(), "Texte sur le tampon courant")
==== buffer_search
_Mis à jour dans la 1.0, 4.3.0._
_Mis à jour dans la 1.0._
Rechercher un tampon par l'extension/nom, nom complet ou identifiant unique (`id`).
Rechercher un tampon par l'extension et/ou le nom.
Prototype :
@@ -14683,11 +14395,10 @@ struct t_gui_buffer *weechat_buffer_search (const char *plugin,
Paramètres :
* _plugin_ : nom de l'extension, les valeurs spéciales suivantes sont autorisées :
* _plugin_ : nom de l'extension, la valeur spéciale suivante est autorisée :
** `+==+` : le nom utilisé est le nom complet du tampon (par exemple :
`irc.libera.#weechat` au lieu de `libera.#weechat`)
_(WeeChat ≥ 1.0)_
** `+==id+` : le nom utilisé est l'identifiant unique du tampon (`id`) _(WeeChat ≥ 4.3.0)_
* _name_ : nom du tampon, si c'est NULL ou une chaîne vide, le tampon courant
est retourné (tampon affiché par la fenêtre courante); si le nom commence par
`(?i)`, la recherche est insensible à la casse _(WeeChat ≥ 1.0)_
@@ -14702,7 +14413,6 @@ Exemples en C :
----
struct t_gui_buffer *buffer1 = weechat_buffer_search ("irc", "libera.#weechat");
struct t_gui_buffer *buffer2 = weechat_buffer_search ("==", "irc.libera.#test"); /* WeeChat ≥ 1.0 */
struct t_gui_buffer *buffer3 = weechat_buffer_search ("==id", "1709797810942688"); /* WeeChat ≥ 4.3.0 */
----
Script (Python) :
@@ -14952,7 +14662,6 @@ Paramètres :
** _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_any_user_data_ : 1 si toutes les données utilisateur, y compris les commandes, sont envoyées à 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
@@ -15020,7 +14729,6 @@ Paramètres :
* _buffer_ : pointeur vers le tampon
* _property_ : nom de la propriété :
** _id_ : identifiant unique _(WeeChat ≥ 4.3.0)_
** _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)_
@@ -15028,9 +14736,6 @@ Paramètres :
** _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
** _modes_ : modes _(WeeChat ≥ 4.3.0)_
** _nicklist_last_id_assigned_ : dernier identifiant unique utilisé dans ce tampon pour un groupe ou un pseudo _(WeeChat ≥ 4.3.0)_
** _input_prompt_ : invite de la zone saisie _(WeeChat ≥ 4.3.0)_
** _input_ : texte saisi
** _text_search_input_ : texte saisi sauvegardé avant la recherche de texte
** _highlight_words_ : liste des mots pour le highlight
@@ -15209,9 +14914,6 @@ Propriétés :
| title | | toute chaîne
| Change le titre du tampon.
| modes | 4.3.0 | toue chaîne
| Change les modes du tampon.
| time_for_each_line | | "0" ou "1"
| "0" pour cacher l'heure sur toutes les lignes du tampon, "1" pour afficher
l'heure sur toutes les lignes (par défaut pour un nouveau tampon).
@@ -15278,19 +14980,12 @@ Propriétés :
| key_unbind_xxx | | -
| Supprime la touche _xxx_ pour ce tampon.
| input_prompt | 4.3.0 | toute chaîne
| Change le contenu de l'invite dans la zone de saisie.
| input | | toute chaîne
| Change le contenu de la zone de saisie.
| input_pos | | position
| Change la position du curseur dans la zone de saisie.
| input_get_any_user_data | 4.3.0 | "0" or "1"
| "0" pour recevoir seulement les messages utilisateur (comportement par défaut),
"1" pour tout recevoir, y compris les commandes.
| input_get_unknown_commands | | "0" ou "1"
| "0" pour désactiver les commandes inconnues sur ce tampon (comportement par
défaut), "1" pour recevoir les commandes inconnues, par exemple si
@@ -15858,9 +15553,7 @@ group = weechat.nicklist_add_group(my_buffer, my_parent_group, "groupe_test",
==== nicklist_search_group
_Mis à jour dans la 4.3.0._
Rechercher un groupe dans la liste des pseudos par nom ou identifiant unique (`id`).
Rechercher un groupe dans la liste des pseudos.
Prototype :
@@ -15876,8 +15569,7 @@ Paramètres :
* _buffer_ : pointeur vers le tampon
* _from_group_ : recherche depuis ce groupe seulement, si NULL, alors recherche
dans toute la liste des pseudos
* _name_ : nom du groupe à rechercher ; avec WeeChat ≥ 4.3.0, un identifiant
unique peut être donné avec le format : `==id:xxx` (où `xxx` est l'identifiant)
* _name_ : nom du groupes à rechercher
Valeur de retour :
@@ -15887,10 +15579,8 @@ Exemple en C :
[source,c]
----
struct t_gui_nick_group *ptr_group1 = weechat_nicklist_search_group (my_buffer,
NULL, "groupe_test");
struct t_gui_nick_group *ptr_group2 = weechat_nicklist_search_group (my_buffer,
NULL, "==id:1714382231198764");
struct t_gui_nick_group *ptr_group = weechat_nicklist_search_group (my_buffer,
NULL, "groupe_test");
----
Script (Python) :
@@ -15900,9 +15590,8 @@ Script (Python) :
# prototype
def nicklist_search_group(buffer: str, from_group: str, name: str) -> str: ...
# exemples
group1 = weechat.nicklist_search_group(my_buffer, "", "groupe_test")
group2 = weechat.nicklist_search_group(my_buffer, "", "==id:1714382231198764")
# exemple
group = weechat.nicklist_search_group(my_buffer, "", "groupe_test")
----
==== nicklist_add_nick
@@ -15913,13 +15602,13 @@ Prototype :
[source,c]
----
struct t_gui_nick *weechat_nicklist_add_nick (struct t_gui_buffer *buffer,
struct t_gui_nick_group *group,
const char *name,
const char *color,
const char *prefix,
const char *prefix_color,
int visible);
struct t_gui_nick_group *weechat_nicklist_add_nick (struct t_gui_buffer *buffer,
struct t_gui_nick_group *group,
const char *name,
const char *color,
const char *prefix,
const char *prefix_color,
int visible);
----
Paramètres :
@@ -15979,9 +15668,7 @@ nick = weechat.nicklist_add_nick(my_buffer, my_group, "test_nick", color, "@", "
==== nicklist_search_nick
_Mis à jour dans la 4.3.0._
Rechercher un pseudo dans la liste des pseudos par nom ou identifiant unique (`id`).
Rechercher un pseudo dans la liste des pseudos.
Prototype :
@@ -15997,8 +15684,7 @@ Paramètres :
* _buffer_ : pointeur vers le tampon
* _from_group_ : recherche depuis ce groupe seulement, si NULL, alors recherche
dans toute la liste des pseudos
* _name_ : nom du pseudo à rechercher ; avec WeeChat ≥ 4.3.0, un identifiant
unique peut être donné avec le format : `==id:xxx` (où `xxx` est l'identifiant)
* _name_ : nom du pseudo à rechercher
Valeur de retour :
@@ -16008,10 +15694,8 @@ Exemple en C :
[source,c]
----
struct t_gui_nick *ptr_nick1 = weechat_nicklist_search_nick (my_buffer,
NULL, "test_nick");
struct t_gui_nick *ptr_nick2 = weechat_nicklist_search_nick (my_buffer,
NULL, "==id:1714382252187496");
struct t_gui_nick *ptr_nick = weechat_nicklist_search_nick (my_buffer,
NULL, "test_nick");
----
Script (Python) :
@@ -16021,9 +15705,8 @@ Script (Python) :
# prototype
def nicklist_search_nick(buffer: str, from_group: str, name: str) -> str: ...
# exemples
nick1 = weechat.nicklist_search_nick(my_buffer, "", "test_nick")
nick2 = weechat.nicklist_search_nick(my_buffer, "", "==id:1714382252187496")
# exemple
nick = weechat.nicklist_search_nick(my_buffer, "", "test_nick")
----
==== nicklist_remove_group
@@ -16246,7 +15929,6 @@ Paramètres :
* _buffer_ : pointeur vers le tampon
* _group_ : pointeur vers le groupe
* _property_ : nom de la propriété :
** _id_ : identifiant unique _(WeeChat ≥ 4.3.0)_
** _name_ : nom du groupe
** _color_ : couleur du groupe dans la liste des pseudos
@@ -16318,7 +16000,7 @@ parent = weechat.nicklist_group_get_pointer(buffer, group, "parent")
==== nicklist_group_set
_WeeChat ≥ 0.3.4, mis à jour dans la 4.3.0._
_WeeChat ≥ 0.3.4._
Affecter une valeur à une propriété d'un groupe.
@@ -16341,19 +16023,15 @@ Paramètres :
Propriétés :
[width="100%",cols="^2,^1,4,8",options="header"]
[width="100%",cols="^2,4,8",options="header"]
|===
| Nom | WeeChat mini | Valeur | Description
| Nom | Valeur | Description
| id | 4.3.0 | entier de type "long long" ≥ 0
| Nouvel identifiant pour le groupe (il doit être unique dans le tampon). +
Note : il n'est pas recommandé de changer cet identifiant.
| color | | nom d'option de couleur WeeChat
| color | nom d'option de couleur WeeChat
| Voir le paramètre "color" de la fonction
<<_nicklist_add_group,nicklist_add_group>>.
| visible | | "0", "1"
| visible | "0", "1"
| "0" = groupe caché, "1" = groupe visible.
|===
@@ -16454,7 +16132,6 @@ Paramètres :
* _buffer_ : pointeur vers le tampon
* _nick_ : pointeur vers le pseudo
* _property_ : nom de la propriété :
** _id_ : identifiant unique _(WeeChat ≥ 4.3.0)_
** _name_ : nom du pseudo
** _color_ : couleur du pseudo dans la liste des pseudos
** _prefix_ : préfixe du pseudo
@@ -16528,7 +16205,7 @@ group = weechat.nicklist_nick_get_pointer(buffer, nick, "group")
==== nicklist_nick_set
_WeeChat ≥ 0.3.4, mis à jour dans la 4.3.0._
_WeeChat ≥ 0.3.4._
Affecter une valeur à une propriété d'un pseudo.
@@ -16551,26 +16228,22 @@ Paramètres :
Propriétés :
[width="100%",cols="^2,^1,4,8",options="header"]
[width="100%",cols="^2,4,8",options="header"]
|===
| Nom | WeeChat mini | Valeur | Description
| Nom | Valeur | Description
| id | 4.3.0 | entier de type "long long" ≥ 0
| Nouvel identifiant pour le pseudo (il doit être unique dans le tampon). +
Note : il n'est pas recommandé de changer cet identifiant.
| color | | nom d'option de couleur WeeChat
| color | nom d'option de couleur WeeChat
| Voir le paramètre "color" de la fonction
<<_nicklist_add_nick,nicklist_add_nick>>.
| prefix | | toute chaîne
| prefix | toute chaîne
| Préfixe du pseudo.
| prefix_color | | nom d'option de couleur WeeChat
| prefix_color | nom d'option de couleur WeeChat
| Voir le paramètre "prefix_color" de la fonction
<<_nicklist_add_nick,nicklist_add_nick>>.
| visible | | "0", "1"
| visible | "0", "1"
| "0" = pseudo caché, "1" = pseudo visible.
|===
@@ -17088,7 +16761,7 @@ Fonctions pour exécuter des commandes WeeChat.
==== command
_Mis à jour dans la 1.1, 4.0.0._
_Mis à jour dans la 1.1._
Exécuter une commande ou envoyer du texte au tampon.
@@ -17106,10 +16779,6 @@ Paramètres :
* _command_ : commande à exécuter (si elle commence par "/"), ou texte à
envoyer au tampon
[NOTE]
Sur un tampon avec `input_multiline` défini à `0` (par défaut), seule la première
commande est exécutée (avant le premier caractère de retour à la ligne : `\n`).
Valeur de retour _(WeeChat ≥ 1.1)_ :
* _WEECHAT_RC_OK_ si ok
@@ -17137,7 +16806,7 @@ rc = weechat.command(weechat.buffer_search("irc", "libera.#weechat"), "/whois Fl
==== command_options
_WeeChat ≥ 2.5, mis à jour dans la 4.0.0._
_WeeChat ≥ 2.5._
Exécuter une commande ou envoyer du texte au tampon avec des options.
@@ -17161,8 +16830,6 @@ Paramètres :
des virgules ; voir la fonction <<_string_match_list,string_match_list>>
pour le format
** _delay_ : délai pour exécuter la commande, en millisecondes
** _split_newline_ : `1` pour découper les commandes sur le caractère de retour
à la ligne (`\n`) (_WeeChat ≥ 4.0.0_)
Valeur de retour :
@@ -17193,7 +16860,7 @@ Script (Python) :
def command_options(buffer: str, command: str, options: Dict[str, str]) -> int: ...
# exemple : autoriser toute commande sauf /exec
rc = weechat.command_options("", "/une_commande paramètres", {"commands": "*,!exec"})
rc = weechat.command("", "/une_commande paramètres", {"commands": "*,!exec"})
----
[[completion]]
@@ -18374,7 +18041,8 @@ Exemple en C :
[source,c]
----
weechat_printf (NULL, "pointeur = %p", weechat_infolist_pointer (infolist, "mon_pointeur"));
weechat_printf (NULL, "pointeur = 0x%lx",
weechat_infolist_pointer (infolist, "mon_pointeur"));
----
Script (Python) :
@@ -18418,7 +18086,8 @@ Exemple en C :
----
int size;
void *pointer = weechat_infolist_buffer (infolist, "mon_buffer", &size);
weechat_printf (NULL, "buffer = %p, taille = %d", pointer, size);
weechat_printf (NULL, "buffer = 0x%lx, taille = %d",
pointer, size);
----
[NOTE]
@@ -18461,7 +18130,7 @@ Script (Python) :
def infolist_time(infolist: str, var: str) -> int: ...
# exemple
weechat.prnt("", "date/heure = %d" % weechat.infolist_time(infolist, "mon_time"))
weechat.prnt("", "date/heure = %ld" % weechat.infolist_time(infolist, "mon_time"))
----
==== infolist_free
@@ -18581,7 +18250,7 @@ Cette fonction n'est pas disponible dans l'API script.
==== hdata_new_var
_WeeChat ≥ 0.3.6, mis à jour dans la 0.3.7, 0.3.9, 0.4.3, 3.4, 4.3.0._
_WeeChat ≥ 0.3.6, mis à jour dans la 0.3.7, 0.3.9, 0.4.3, 3.4._
Créer une nouvelle variable dans le hdata.
@@ -18602,7 +18271,6 @@ Paramètres :
** _WEECHAT_HDATA_CHAR_
** _WEECHAT_HDATA_INTEGER_
** _WEECHAT_HDATA_LONG_
** _WEECHAT_HDATA_LONGLONG_ (_WeeChat ≥ 4.3.0_)
** _WEECHAT_HDATA_STRING_
** _WEECHAT_HDATA_SHARED_STRING_ (_WeeChat ≥ 0.4.3_)
** _WEECHAT_HDATA_POINTER_
@@ -18887,9 +18555,6 @@ switch (type)
case WEECHAT_HDATA_LONG:
/* ... */
break;
case WEECHAT_HDATA_LONGLONG:
/* ... */
break;
case WEECHAT_HDATA_STRING:
/* ... */
break;
@@ -19501,7 +19166,7 @@ weechat.prnt("", "number = %d" % weechat.hdata_integer(hdata, buffer, "number"))
_WeeChat ≥ 0.3.6._
Retourner la valeur de la variable dans la structure en utilisant le hdata, sous
forme d'entier "long".
forme d'entier long.
Prototype :
@@ -19537,51 +19202,7 @@ Script (Python) :
def hdata_long(hdata: str, pointer: str, name: str) -> int: ...
# exemple
weechat.prnt("", "longvar = %d" % weechat.hdata_long(hdata, pointer, "longvar"))
----
==== hdata_longlong
_WeeChat ≥ 4.3.0._
Retourner la valeur de la variable dans la structure en utilisant le hdata, sous
forme d'entier "long long".
Prototype :
[source,c]
----
long long weechat_hdata_longlong (struct t_hdata *hdata, void *pointer, const char *name);
----
Paramètres :
* _hdata_ : pointeur vers le hdata
* _pointer_ : pointeur vers un objet WeeChat ou d'une extension
* _name_ : nom de la variable (doit être de type "long long"); pour les tableaux,
le nom peut être "N|name" où N est un index dans le tableau (démarrant à 0),
par exemple : "2|name"
Valeur de retour :
* valeur de la variable, sous forme d'entier "long long".
Exemple en C :
[source,c]
----
weechat_printf (NULL, "longlongvar = %llu", weechat_hdata_longlong (hdata, pointer, "longlongvar"));
----
Script (Python) :
[source,python]
----
# prototype
def hdata_longlong(hdata: str, pointer: str, name: str) -> int: ...
# exemple
weechat.prnt("", "longlongvar = %d" % weechat.hdata_longlong(hdata, pointer, "longlongvar"))
weechat.prnt("", "longvar = %ld" % weechat.hdata_long(hdata, pointer, "longvar"))
----
==== hdata_string
@@ -19677,7 +19298,7 @@ def hdata_pointer(hdata: str, pointer: str, name: str) -> str: ...
# exemple
hdata = weechat.hdata_get("buffer")
buffer = weechat.buffer_search_main()
weechat.prnt("", "lines = %x" % weechat.hdata_pointer(hdata, buffer, "lines"))
weechat.prnt("", "lines = %lx" % weechat.hdata_pointer(hdata, buffer, "lines"))
----
==== hdata_time
-1
View File
@@ -723,7 +723,6 @@ inl:
nicklist_visible_count: 0
title: 'WeeChat 2.9-dev (C) 2003-2020 - https://weechat.org/'
input: 1
input_get_any_user_data: 0
input_get_unknown_commands: 0
input_get_empty: 0
input_multiline: 0
+306 -2
View File
@@ -570,14 +570,318 @@ link:weechat_plugin_api.fr.html[Référence API extension WeeChat ^↗^^].
Liste des fonctions de l'API script :
include::{autogendir}/autogen_scripting_functions.fr.adoc[tag=functions]
[width="100%",cols="1,5",options="header"]
|===
| Catégorie | Fonctions
| général
| register
| extensions
| plugin_get_name
| chaînes
| charset_set +
iconv_to_internal +
iconv_from_internal +
gettext +
ngettext +
strlen_screen +
string_match +
string_match_list +
string_has_highlight +
string_has_highlight_regex +
string_mask_to_regex +
string_format_size +
string_parse_size +
string_color_code_size +
string_remove_color +
string_is_command_char +
string_input_for_buffer +
string_eval_expression +
string_eval_path_home
| répertoires
| mkdir_home +
mkdir +
mkdir_parents
| listes triées
| list_new +
list_add +
list_search +
list_search_pos +
list_casesearch +
list_casesearch_pos +
list_get +
list_set +
list_next +
list_prev +
list_string +
list_size +
list_remove +
list_remove_all +
list_free
| fichiers de configuration
| config_new +
config_new_section +
config_search_section +
config_new_option +
config_search_option +
config_string_to_boolean +
config_option_reset +
config_option_set +
config_option_set_null +
config_option_unset +
config_option_rename +
config_option_is_null +
config_option_default_is_null +
config_boolean +
config_boolean_default +
config_integer +
config_integer_default +
config_string +
config_string_default +
config_color +
config_color_default +
config_write_option +
config_write_line +
config_write +
config_read +
config_reload +
config_option_free +
config_section_free_options +
config_section_free +
config_free +
config_get +
config_get_plugin +
config_is_set_plugin +
config_set_plugin +
config_set_desc_plugin +
config_unset_plugin
| associations de touches
| key_bind +
key_unbind
| affichage
| prefix +
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
| hook_command +
hook_command_run +
hook_timer +
hook_fd +
hook_process +
hook_process_hashtable +
hook_connect +
hook_line +
hook_print +
hook_signal +
hook_signal_send +
hook_hsignal +
hook_hsignal_send +
hook_config +
hook_completion +
hook_modifier +
hook_modifier_exec +
hook_info +
hook_info_hashtable +
hook_infolist +
hook_focus +
hook_set +
unhook +
unhook_all
| tampons
| buffer_new +
buffer_new_props +
current_buffer +
buffer_search +
buffer_search_main +
buffer_clear +
buffer_close +
buffer_merge +
buffer_unmerge +
buffer_get_integer +
buffer_get_string +
buffer_get_pointer +
buffer_set +
buffer_string_replace_local_var +
buffer_match_list
| fenêtres
| current_window +
window_search_with_buffer +
window_get_integer +
window_get_string +
window_get_pointer +
window_set_title
| liste des pseudos
| nicklist_add_group +
nicklist_search_group +
nicklist_add_nick +
nicklist_search_nick +
nicklist_remove_group +
nicklist_remove_nick +
nicklist_remove_all +
nicklist_group_get_integer +
nicklist_group_get_string +
nicklist_group_get_pointer +
nicklist_group_set +
nicklist_nick_get_integer +
nicklist_nick_get_string +
nicklist_nick_get_pointer +
nicklist_nick_set
| barres
| bar_item_search +
bar_item_new +
bar_item_update +
bar_item_remove +
bar_search +
bar_new +
bar_set +
bar_update +
bar_remove
| commandes
| command +
command_options
| complétion
| completion_new +
completion_search +
completion_get_string +
completion_list_add +
completion_free
| infos
| info_get +
info_get_hashtable
| infolists
| infolist_new +
infolist_new_item +
infolist_new_var_integer +
infolist_new_var_string +
infolist_new_var_pointer +
infolist_new_var_time +
infolist_get +
infolist_next +
infolist_prev +
infolist_reset_item_cursor +
infolist_search_var +
infolist_fields +
infolist_integer +
infolist_string +
infolist_pointer +
infolist_time +
infolist_free
| hdata
| hdata_get +
hdata_get_var_offset +
hdata_get_var_type_string +
hdata_get_var_array_size +
hdata_get_var_array_size_string +
hdata_get_var_hdata +
hdata_get_list +
hdata_check_pointer +
hdata_move +
hdata_search +
hdata_char +
hdata_integer +
hdata_long +
hdata_string +
hdata_pointer +
hdata_time +
hdata_hashtable +
hdata_compare +
hdata_update +
hdata_get_string
| mise à jour
| upgrade_new +
upgrade_write_object +
upgrade_read +
upgrade_close
|===
[[script_api_constants]]
=== Constantes
Liste des constantes de l'API script :
include::{autogendir}/autogen_scripting_constants.fr.adoc[tag=constants]
[width="100%",cols="1,5",options="header"]
|===
| Catégorie | Constantes
| codes retour
| `WEECHAT_RC_OK` (entier) +
`WEECHAT_RC_OK_EAT` (entier) +
`WEECHAT_RC_ERROR` (entier)
| fichiers de configuration
| `WEECHAT_CONFIG_READ_OK` (entier) +
`WEECHAT_CONFIG_READ_MEMORY_ERROR` (entier) +
`WEECHAT_CONFIG_READ_FILE_NOT_FOUND` (entier) +
`WEECHAT_CONFIG_WRITE_OK` (entier) +
`WEECHAT_CONFIG_WRITE_ERROR` (entier) +
`WEECHAT_CONFIG_WRITE_MEMORY_ERROR` (entier) +
`WEECHAT_CONFIG_OPTION_SET_OK_CHANGED` (entier) +
`WEECHAT_CONFIG_OPTION_SET_OK_SAME_VALUE` (entier) +
`WEECHAT_CONFIG_OPTION_SET_ERROR` (entier) +
`WEECHAT_CONFIG_OPTION_SET_OPTION_NOT_FOUND` (entier) +
`WEECHAT_CONFIG_OPTION_UNSET_OK_NO_RESET` (entier) +
`WEECHAT_CONFIG_OPTION_UNSET_OK_RESET` (entier) +
`WEECHAT_CONFIG_OPTION_UNSET_OK_REMOVED` (entier) +
`WEECHAT_CONFIG_OPTION_UNSET_ERROR` (entier)
| listes triées
| `WEECHAT_LIST_POS_SORT` (chaîne) +
`WEECHAT_LIST_POS_BEGINNING` (chaîne) +
`WEECHAT_LIST_POS_END` (chaîne)
| hotlist
| `WEECHAT_HOTLIST_LOW` (chaîne) +
`WEECHAT_HOTLIST_MESSAGE` (chaîne) +
`WEECHAT_HOTLIST_PRIVATE` (chaîne) +
`WEECHAT_HOTLIST_HIGHLIGHT` (chaîne)
| hook process
| `WEECHAT_HOOK_PROCESS_RUNNING` (entier) +
`WEECHAT_HOOK_PROCESS_ERROR` (entier)
| hook connect
| `WEECHAT_HOOK_CONNECT_OK` (entier) +
`WEECHAT_HOOK_CONNECT_ADDRESS_NOT_FOUND` (entier) +
`WEECHAT_HOOK_CONNECT_IP_ADDRESS_NOT_FOUND` (entier) +
`WEECHAT_HOOK_CONNECT_CONNECTION_REFUSED` (entier) +
`WEECHAT_HOOK_CONNECT_PROXY_ERROR` (entier) +
`WEECHAT_HOOK_CONNECT_LOCAL_HOSTNAME_ERROR` (entier) +
`WEECHAT_HOOK_CONNECT_GNUTLS_INIT_ERROR` (entier) +
`WEECHAT_HOOK_CONNECT_GNUTLS_HANDSHAKE_ERROR` (entier) +
`WEECHAT_HOOK_CONNECT_MEMORY_ERROR` (entier) +
`WEECHAT_HOOK_CONNECT_TIMEOUT` (entier) +
`WEECHAT_HOOK_CONNECT_SOCKET_ERROR` (entier)
| hook signal
| `WEECHAT_HOOK_SIGNAL_STRING` (chaîne) +
`WEECHAT_HOOK_SIGNAL_INT` (chaîne) +
`WEECHAT_HOOK_SIGNAL_POINTER` (chaîne)
|===
[[common_tasks]]
== Tâches courantes
+25 -89
View File
@@ -32,7 +32,7 @@ Ses principales fonctionnalités sont les suivantes :
https://datatracker.ietf.org/doc/html/rfc2812[2812 ^↗^^],
https://datatracker.ietf.org/doc/html/rfc2813[2813 ^↗^^] et
https://datatracker.ietf.org/doc/html/rfc7194[7194 ^↗^^]
* proxy IRC et relai pour WeeChat et interfaces distantes
* proxy IRC et relai pour interfaces distantes
* multi plates-formes (GNU/Linux, *BSD, macOS, Windows et d'autres systèmes)
* 100% GPL, logiciel libre
@@ -128,8 +128,7 @@ Le tableau suivant liste les paquets *requis* pour construire WeeChat :
| zlib1g-dev |
| Extension Logger : compression des fichiers de log qui tournent (gzip). +
Extention Relay : compression des messages (WeeChat -> client) avec https://zlib.net/[zlib ^↗^^]
(protocoles api et weechat). +
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).
|===
@@ -154,13 +153,9 @@ Le tableau suivant liste les paquets optionnels pour compiler WeeChat :
| ca-certificates |
| Certificats pour les connexions TLS.
| libcjson-dev |
| Extension Relay : protocole "api" (API REST HTTP).
| 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 ^↗^^]
(protocoles api et weechat).
Extension Relay : compression des messages (WeeChat -> client) avec https://facebook.github.io/zstd/[Zstandard ^↗^^] (protocole weechat).
| libaspell-dev / libenchant-dev |
| Extension spell.
@@ -277,9 +272,6 @@ Liste des options disponibles :
| ENABLE_CHARSET | `ON`, `OFF` | ON
| Compiler <<charset,l'extension Charset>>.
| ENABLE_CJSON | `ON`, `OFF` | ON
| Support du JSON avec la bibliothèque https://github.com/DaveGamble/cJSON[cJSON ^↗^^].
| ENABLE_MAN | `ON`, `OFF` | OFF
| Construire la page man.
@@ -531,11 +523,11 @@ Copying output to /tmp/crash.txt.
at /some_path/src/core/weechat.c:351
#3 <signal handler called>
#4 0x000000000044cb24 in hook_process_timer_cb (arg_hook_process=0x254eb90,
remaining_calls=<value optimized out>) at /some_path/src/core/core-hook.c:1364
remaining_calls=<value optimized out>) at /some_path/src/core/wee-hook.c:1364
hook_process = 0x254eb90
status = <value optimized out>
#5 0x000000000044cc7d in hook_timer_exec ()
at /some_path/src/core/core-hook.c:1025
at /some_path/src/core/wee-hook.c:1025
tv_time = {tv_sec = 1272693881, tv_usec = 212665}
ptr_hook = 0x2811f40
next_hook = 0x0
@@ -2745,38 +2737,27 @@ utilisant le contexte "mouse" (pour la syntaxe voir la commande
Un nom d'évènement consiste en un modificateur (facultatif), un bouton/roulette
et un geste (facultatif). Les différents éléments sont séparés par `+-+`.
Liste des modificateurs (par ordre dans le nom de l'évènement) :
Liste des modificateurs :
[width="100%",cols="1m,4",options="header"]
|===
| Modificateur | Description
| alt | Touche kbd:[Alt]
| ctrl | Touche kbd:[Ctrl]
| shift | Touche kbd:[Shift] ^(1)^
| alt | Touche kbd:[Alt]
| ctrl-alt | Touches kbd:[Ctrl] + kbd:[Alt]
|===
[NOTE]
^(1)^ Le modificateur `shift` peut rarement être utilisé dans WeeChat car
beaucoup de terminaux utilisent ce modificateur pour attraper directement les
évènements souris.
Plusieurs modificateurs peuvent être combinés, par exemple :
* `alt-ctrl`
* `ctrl-shift`
* `alt-ctrl-shift`
Liste des boutons/roulette :
[width="100%",cols="1m,4",options="header"]
|===
| Bouton/roulette | Description
| button1 | Clic sur le bouton gauche
| button2 | Clic sur le bouton droit
| button3 | Clic sur le bouton du milieu (souvent clic sur la roulette)
| button4 ... button11 | Clic sur un bouton additionnel
| wheelup | Roulette (haut)
| wheeldown | Roulette (bas)
| Bouton/roulette | Description
| button1 | Clic sur le bouton gauche
| button2 | Clic sur le bouton droit
| button3 | Clic sur le bouton du milieu (souvent clic sur la roulette)
| button4 ... button9 | Clic sur un bouton additionnel
| wheelup | Roulette (haut)
| wheeldown | Roulette (bas)
|===
Liste des gestes (seulement pour les boutons, pas la roulette) :
@@ -2813,7 +2794,7 @@ Exemples d'évènements :
* `button1-event-drag`
* `alt-button2-gesture-down-long`
* `wheelup`
* `alt-ctrl-wheeldown`
* `ctrl-alt-wheeldown`
* ...
[TIP]
@@ -4660,13 +4641,8 @@ utilisant divers protocoles :
* _irc_ : proxy IRC : utilisé pour partager la connexions aux serveurs IRC avec
un ou plusieurs autres clients IRC
* _api_ : API REST HTTP, utilisée par WeeChat et les interfaces distantes pour
afficher et interagir avec WeeChat
* _weechat_ : protocole utilisé par les interfaces distantes pour afficher et
interagir avec WeeChat.
Pour les protocoles _api_ et _weechat_, voir la liste des interfaces distantes
sur https://weechat.org/about/interfaces/[cette page ^↗^^].
interagir avec WeeChat, voir https://weechat.org/about/interfaces/[cette page ^↗^^].
[[relay_password]]
=== Mot de passe
@@ -4679,14 +4655,14 @@ commandes :
/set relay.network.password "${sec.data.relay}"
----
Ce mot de passe est utilisé avec tous les protocoles.
Ce mot de passe sera utilisé pour les protocoles _irc_ et _weechat_.
[[relay_totp]]
=== TOTP
TOTP (« Time-based One-Time Password » : mot de passe à usage unique basé sur le
temps) peut être utilisé comme second facteur d'authentification pour les
protocoles _api_ et _weechat_, en plus du mot de passe.
temps) peut être utilisé comme second facteur d'authentification pour le protocole
_weechat_, en plus du mot de passe.
Il est optionnel et augmente le niveau de sécurité.
@@ -4783,39 +4759,6 @@ avec ces commandes :
/set irc.server.relay.password "${sec.data.relay_libera}"
----
[[relay_api_protocol]]
=== API protocol
L'extension Relay peut envoyer les données à un autre WeeChat ou une interface
distante avec un protocol HTTP de type API REST.
Vous pouvez parcourir et tester l'API en ligne :
https://weechat.org/api/[API Relay WeeChat ^↗^^].
Vous pouvez vous connecter avec WeeChat ou une interface distante, voir
https://weechat.org/about/interfaces/[cette page ^↗^^].
Par exemple :
----
/relay add api 9000
----
Maintenant vous pouvez vous connecter sur le port 9000 avec une interface
distante en utilisant le mot de passe "motdepasse".
Pour vous connecter à un relai _api_ avec WeeChat :
----
/remote add weechat http://localhost:9000 -password=motdepasse
/remote connect weechat
----
[NOTE]
Le WeeChat distant doit exposer exactement la même version d'API que le WeeChat
local, il est donc fortement recommandé d'utiliser exactement la même version
de WeeChat de chaque côté.
[[relay_weechat_protocol]]
=== Protocole WeeChat
@@ -4859,9 +4802,8 @@ websocket = new WebSocket("ws://server.com:9000/weechat");
----
Le port (9000 dans l'exemple) est le port défini dans l'extension Relay.
L'URI doit se terminer par "/weechat" pour les protocoles _irc_ et _weechat_ et
"/api" pour le protocole _api_.
L'URI doit toujours se terminer par "/weechat" (pour les protocoles _irc_ et
_weechat_).
[[relay_unix_socket]]
=== UNIX domain sockets
@@ -4906,7 +4848,7 @@ Sections dans le fichier _relay.conf_ :
| network | /set relay.network.* | Options réseau.
| irc | /set relay.irc.* | Options spécifiques au protocole irc (proxy irc).
| port | <<command_relay_relay,/relay add>> +
/set relay.port.* | Ports utilisés pour le relai (les options peuvent être ajoutées/supprimées dans la section).
/set relay.port.* | Ports utilisés pour le relai (protocoles irc et weechat) (les options peuvent être ajoutées/supprimées dans la section).
|===
Options :
@@ -5323,9 +5265,7 @@ Les groupes de correspondance peuvent être utilisés dans le _remplacement_ :
* `+${re:0}+` à `+${re:99}+` : `+${re:0}+` est la correspondance complète, `+${re:1}+`
à `+${re:99}+` sont les groupes capturés
* `pass:[${re:+}]` : la dernière correspondance (avec le numéro le plus élevé)
* `+${re:#}+` : index du dernier groupe capturé
* `+${re:repl_index}+` : index du remplacement en cours (démarre à 1)
* `+${re:+}+` : la dernière correspondance (avec le numéro le plus élevé)
* `+${hide:c,${re:N}}+` : la correspondance "N" avec tous les caractères
remplacés par "c" (exemple : `+${hide:*,${re:2}}+` est le groupe n°2 avec tous
les caractères remplacés par `+*+`).
@@ -5481,7 +5421,7 @@ suivantes sont ajoutées dans la table de hachage :
| server | chaîne | Nom du serveur (exemple : "libera").
| tags | chaîne | Étiquettes dans le message (rarement utilisées).
| message_without_tags | chaîne | Message sans les étiquettes.
| nick | chaîne | Pseudo. ^(1)^
| nick | chaîne | Pseudo.
| host | chaîne | Nom d'hôte.
| command | chaîne | Commande IRC (exemple : "PRIVMSG", "NOTICE", ...).
| channel | chaîne | Canal IRC.
@@ -5493,10 +5433,6 @@ suivantes sont ajoutées dans la table de hachage :
| pos_text | chaîne | L'index de _text_ dans le message ("-1" si _text_ n'a pas été trouvé).
|===
[NOTE]
^(1)^ Le pseudo est l'expéditeur du message. +
Votre propre pseudo sur le serveur est `${irc_server.nick}`.
Lorsque la donnée est un pointeur, la variable `+tg_signal_data+` peut être
utilisée comme ceci pour lire une propriété hdata (dans cet exemple il s'agit
d'un pointeur sur un tampon) :
File diff suppressed because it is too large Load Diff
+319 -2
View File
@@ -579,14 +579,331 @@ link:weechat_plugin_api.it.html[WeeChat plugin API reference ^↗^^].
Elenco di funzioni nelle API per gli script:
include::{autogendir}/autogen_scripting_functions.it.adoc[tag=functions]
[width="100%",cols="1,5",options="header"]
|===
| Categoria | Funzioni
| generale
| register
| plugin
| plugin_get_name
| stringhe
| charset_set +
iconv_to_internal +
iconv_from_internal +
gettext +
ngettext +
strlen_screen +
string_match +
string_match_list +
string_has_highlight +
string_has_highlight_regex +
string_mask_to_regex +
string_format_size +
string_parse_size +
string_color_code_size +
string_remove_color +
string_is_command_char +
string_input_for_buffer +
string_eval_expression +
string_eval_path_home
| directory
| mkdir_home +
mkdir +
mkdir_parents
| liste ordinate
| list_new +
list_add +
list_search +
list_search_pos +
list_casesearch +
list_casesearch_pos +
list_get +
list_set +
list_next +
list_prev +
list_string +
list_size +
list_remove +
list_remove_all +
list_free
| file di configurazione
| config_new +
config_new_section +
config_search_section +
config_new_option +
config_search_option +
config_string_to_boolean +
config_option_reset +
config_option_set +
config_option_set_null +
config_option_unset +
config_option_rename +
config_option_is_null +
config_option_default_is_null +
config_boolean +
config_boolean_default +
config_integer +
config_integer_default +
config_string +
config_string_default +
config_color +
config_color_default +
config_write_option +
config_write_line +
config_write +
config_read +
config_reload +
config_option_free +
config_section_free_options +
config_section_free +
config_free +
config_get +
config_get_plugin +
config_is_set_plugin +
config_set_plugin +
config_set_desc_plugin +
config_unset_plugin
| combinazione tasti
| key_bind +
key_unbind
| visualizzazione
| prefix +
color +
// TRANSLATION MISSING
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
| hook_command +
hook_command_run +
hook_timer +
hook_fd +
hook_process +
hook_process_hashtable +
hook_connect +
hook_line +
hook_print +
hook_signal +
hook_signal_send +
hook_hsignal +
hook_hsignal_send +
hook_config +
hook_completion +
hook_modifier +
hook_modifier_exec +
hook_info +
hook_info_hashtable +
hook_infolist +
hook_focus +
hook_set +
unhook +
unhook_all
| buffer
| buffer_new +
buffer_new_props +
current_buffer +
buffer_search +
buffer_search_main +
buffer_clear +
buffer_close +
buffer_merge +
buffer_unmerge +
buffer_get_integer +
buffer_get_string +
buffer_get_pointer +
buffer_set +
buffer_string_replace_local_var +
buffer_match_list
| finestre
| current_window +
window_search_with_buffer +
window_get_integer +
window_get_string +
window_get_pointer +
window_set_title
| lista nick
| nicklist_add_group +
nicklist_search_group +
nicklist_add_nick +
nicklist_search_nick +
nicklist_remove_group +
nicklist_remove_nick +
nicklist_remove_all +
nicklist_group_get_integer +
nicklist_group_get_string +
nicklist_group_get_pointer +
nicklist_group_set +
nicklist_nick_get_integer +
nicklist_nick_get_string +
nicklist_nick_get_pointer +
nicklist_nick_set
| barre
| bar_item_search +
bar_item_new +
bar_item_update +
bar_item_remove +
bar_search +
bar_new +
bar_set +
bar_update +
bar_remove
| comandi
| command +
command_options
// TRANSLATION MISSING
| completion
| completion_new +
completion_search +
completion_get_string +
completion_list_add +
completion_free
| info
| info_get +
info_get_hashtable
| liste info
| infolist_new +
infolist_new_item +
infolist_new_var_integer +
infolist_new_var_string +
infolist_new_var_pointer +
infolist_new_var_time +
infolist_get +
infolist_next +
infolist_prev +
infolist_reset_item_cursor +
infolist_search_var +
infolist_fields +
infolist_integer +
infolist_string +
infolist_pointer +
infolist_time +
infolist_free
| hdata
| hdata_get +
hdata_get_var_offset +
hdata_get_var_type_string +
hdata_get_var_array_size +
hdata_get_var_array_size_string +
hdata_get_var_hdata +
hdata_get_list +
hdata_check_pointer +
hdata_move +
hdata_search +
hdata_char +
hdata_integer +
hdata_long +
hdata_string +
hdata_pointer +
hdata_time +
hdata_hashtable +
hdata_compare +
hdata_update +
hdata_get_string
| aggiornamento
| upgrade_new +
upgrade_write_object +
upgrade_read +
upgrade_close
|===
[[script_api_constants]]
=== Costanti
Elenco di costanti nelle API per gli script:
include::{autogendir}/autogen_scripting_constants.it.adoc[tag=constants]
[width="100%",cols="1,5",options="header"]
|===
| Categoria | Costanti
// TRANSLATION MISSING
| codici restituiti
| `WEECHAT_RC_OK` (integer) +
`WEECHAT_RC_OK_EAT` (integer) +
`WEECHAT_RC_ERROR` (integer)
// TRANSLATION MISSING
| file di configurazione
| `WEECHAT_CONFIG_READ_OK` (integer) +
`WEECHAT_CONFIG_READ_MEMORY_ERROR` (integer) +
`WEECHAT_CONFIG_READ_FILE_NOT_FOUND` (integer) +
`WEECHAT_CONFIG_WRITE_OK` (integer) +
`WEECHAT_CONFIG_WRITE_ERROR` (integer) +
`WEECHAT_CONFIG_WRITE_MEMORY_ERROR` (integer) +
`WEECHAT_CONFIG_OPTION_SET_OK_CHANGED` (integer) +
`WEECHAT_CONFIG_OPTION_SET_OK_SAME_VALUE` (integer) +
`WEECHAT_CONFIG_OPTION_SET_ERROR` (integer) +
`WEECHAT_CONFIG_OPTION_SET_OPTION_NOT_FOUND` (integer) +
`WEECHAT_CONFIG_OPTION_UNSET_OK_NO_RESET` (integer) +
`WEECHAT_CONFIG_OPTION_UNSET_OK_RESET` (integer) +
`WEECHAT_CONFIG_OPTION_UNSET_OK_REMOVED` (integer) +
`WEECHAT_CONFIG_OPTION_UNSET_ERROR` (integer)
// TRANSLATION MISSING
| liste ordinate
| `WEECHAT_LIST_POS_SORT` (string) +
`WEECHAT_LIST_POS_BEGINNING` (string) +
`WEECHAT_LIST_POS_END` (string)
// TRANSLATION MISSING
| hotlist
| `WEECHAT_HOTLIST_LOW` (string) +
`WEECHAT_HOTLIST_MESSAGE` (string) +
`WEECHAT_HOTLIST_PRIVATE` (string) +
`WEECHAT_HOTLIST_HIGHLIGHT` (string)
// TRANSLATION MISSING
| hook su processo
| `WEECHAT_HOOK_PROCESS_RUNNING` (integer) +
`WEECHAT_HOOK_PROCESS_ERROR` (integer)
// TRANSLATION MISSING
| hook su connessione
| `WEECHAT_HOOK_CONNECT_OK` (integer) +
`WEECHAT_HOOK_CONNECT_ADDRESS_NOT_FOUND` (integer) +
`WEECHAT_HOOK_CONNECT_IP_ADDRESS_NOT_FOUND` (integer) +
`WEECHAT_HOOK_CONNECT_CONNECTION_REFUSED` (integer) +
`WEECHAT_HOOK_CONNECT_PROXY_ERROR` (integer) +
`WEECHAT_HOOK_CONNECT_LOCAL_HOSTNAME_ERROR` (integer) +
`WEECHAT_HOOK_CONNECT_GNUTLS_INIT_ERROR` (integer) +
`WEECHAT_HOOK_CONNECT_GNUTLS_HANDSHAKE_ERROR` (integer) +
`WEECHAT_HOOK_CONNECT_MEMORY_ERROR` (integer) +
`WEECHAT_HOOK_CONNECT_TIMEOUT` (integer) +
`WEECHAT_HOOK_CONNECT_SOCKET_ERROR` (integer)
// TRANSLATION MISSING
| hook su segnale
| `WEECHAT_HOOK_SIGNAL_STRING` (string) +
`WEECHAT_HOOK_SIGNAL_INT` (string) +
`WEECHAT_HOOK_SIGNAL_POINTER` (string)
|===
[[common_tasks]]
== Compiti comuni
+23 -98
View File
@@ -40,7 +40,7 @@ Le principali caratteristiche:
https://datatracker.ietf.org/doc/html/rfc2813[2813 ^↗^^] e
https://datatracker.ietf.org/doc/html/rfc7194[7194 ^↗^^]
// TRANSLATION MISSING
* IRC proxy and relay for WeeChat and remote interfaces
* IRC proxy and relay for remote interfaces
* multi-piattaforma (GNU/Linux, *BSD, macOS, Windows ed altre)
* 100% GPL, software libero
@@ -157,8 +157,7 @@ WeeChat:
// TRANSLATION MISSING
| zlib1g-dev |
| Logger plugin: compression of rotated log files (gzip). +
Relay plugin: compression of messages (WeeChat -> client) with https://zlib.net/[zlib ^↗^^]
(api and weechat protocols). +
Relay plugin: compression of messages (WeeChat -> client) with https://zlib.net/[zlib ^↗^^] (weechat protocol). +
Script plugin: read of repository index file (gzip).
|===
@@ -189,15 +188,10 @@ WeeChat:
| ca-certificates |
| Certificati per le connessioni TLS.
// TRANSLATION MISSING
| libcjson-dev |
| Relay plugin: protocol "api" (HTTP REST API).
// TRANSLATION MISSING
| 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 ^↗^^]
(api and weechat protocols).
Relay plugin: compression of messages (WeeChat -> client) with https://facebook.github.io/zstd/[Zstandard ^↗^^] (weechat protocol).
| libaspell-dev / libenchant-dev |
| Plugin spell.
@@ -326,10 +320,6 @@ List of available options:
| ENABLE_CHARSET | `ON`, `OFF` | ON
| Compile <<charset,Charset plugin>>.
// TRANSLATION MISSING
| ENABLE_CJSON | `ON`, `OFF` | ON
| Support of JSON with https://github.com/DaveGamble/cJSON[cJSON ^↗^^] library.
| ENABLE_MAN | `ON`, `OFF` | OFF
| Build man page.
@@ -592,11 +582,11 @@ Copying output to /tmp/crash.txt.
at /some_path/src/core/weechat.c:351
#3 <signal handler called>
#4 0x000000000044cb24 in hook_process_timer_cb (arg_hook_process=0x254eb90,
remaining_calls=<value optimized out>) at /some_path/src/core/core-hook.c:1364
remaining_calls=<value optimized out>) at /some_path/src/core/wee-hook.c:1364
hook_process = 0x254eb90
status = <value optimized out>
#5 0x000000000044cc7d in hook_timer_exec ()
at /some_path/src/core/core-hook.c:1025
at /some_path/src/core/wee-hook.c:1025
tv_time = {tv_sec = 1272693881, tv_usec = 212665}
ptr_hook = 0x2811f40
next_hook = 0x0
@@ -2957,40 +2947,27 @@ contesto "mouse" (per la sintassi, consultare comando
Il nome dell'evento consiste di un modificatore (opzionale), il nome di un
pulsante/rotellina e un'azione (opzionale). Elementi diversi sono separati da `+-+`.
// TRANSLATION MISSING
List of modifiers (by order in the event name):
Elenco di modificatori
[width="100%",cols="1m,4",options="header"]
|===
| Modificatore | Descrizione
| alt | Tasto kbd:[Alt]
| ctrl | Tasto kbd:[Ctrl]
| shift | Tasto kbd:[Shift] ^(1)^
| alt | Tasto kbd:[Alt]
| ctrl-alt | Tasto kbd:[Ctrl] + kbd:[Alt]
|===
// TRANSLATION MISSING
[NOTE]
^(1)^ The `shift` modifier can rarely be used in WeeChat because many terminals
use this modifier to catch directly mouse events.
// TRANSLATION MISSING
Several modifiers can be combined, for example:
* `alt-ctrl`
* `ctrl-shift`
* `alt-ctrl-shift`
Elenco di pulsanti/rotellina:
[width="100%",cols="1m,4",options="header"]
|===
| Pulsante/rotellina | Descrizione
| button1 | Click sul tasto sinistro
| button2 | Click sul tasto destro
| button3 | Click sul tasto centrale (spesso click sulla rotellina)
| button4 ... button11 | Click sui pulsanti extra
| wheelup | Rotellina (su)
| wheeldown | Rotellina (giù)
| Pulsante/rotellina | Descrizione
| button1 | Click sul tasto sinistro
| button2 | Click sul tasto destro
| button3 | Click sul tasto centrale (spesso click sulla rotellina)
| button4 ... button9 | Click sui pulsanti extra
| wheelup | Rotellina (su)
| wheeldown | Rotellina (giù)
|===
Elenco di azioni (solo per i pulsanti, non la rotellina):
@@ -3027,7 +3004,7 @@ Esempio di eventi:
* `button1-event-drag`
* `alt-button2-gesture-down-long`
* `wheelup`
* `alt-ctrl-wheeldown`
* `ctrl-alt-wheeldown`
* ...
[TIP]
@@ -4905,15 +4882,8 @@ protocolli differenti:
* _irc_: proxy IRC: usato per condividere le connessioni ai server IRC con uno
o più client IRC
// TRANSLATION MISSING
* _api_: HTTP REST API, used by WeeChat and remote interfaces to display and
interact with WeeChat
// TRANSLATION MISSING
* _weechat_: protocol used by remote interfaces to display and interact with
WeeChat.
// TRANSLATION MISSING
For _api_ and _weechat_ protocols, see the list of remote interfaces on
https://weechat.org/about/interfaces/[this page ^↗^^].
WeeChat, see https://weechat.org/about/interfaces/[this page ^↗^^].
// TRANSLATION MISSING
[[relay_password]]
@@ -4926,16 +4896,14 @@ It is highly recommended to set a password for relay, with these commands:
/set relay.network.password "${sec.data.relay}"
----
// TRANSLATION MISSING
This password is used with all protocols.
This password is used for _irc_ and _weechat_ protocols.
// TRANSLATION MISSING
[[relay_totp]]
=== TOTP
// TRANSLATION MISSING
TOTP (Time-based One-Time Password) can be used as secondary authentication
factor for _api_ and _weechat_ protocols, in addition to the password.
factor for _weechat_ protocol, in addition to the password.
This is optional and increases the security level.
@@ -5030,40 +4998,6 @@ commands:
/set irc.server.relay.password "${sec.data.relay_libera}"
----
// TRANSLATION MISSING
[[relay_api_protocol]]
=== API protocol
The Relay plugin can send data to a remote WeeChat or interface using an
HTTP REST API protocol.
You can browse and test the API online:
https://weechat.org/api/[WeeChat Relay API ^↗^^].
You can connect with WeeChat or a remote interface, see
https://weechat.org/about/interfaces/[this page ^↗^^].
For example:
----
/relay add api 9000
----
Now you can connect on port 9000 with a WeeChat or a remote interface using
password "mypassword".
To connect to an _api_ relay with WeeChat:
----
/remote add weechat http://localhost:9000 -password=mypassword
/remote connect weechat
----
[NOTE]
The remote WeeChat must expose the same API version as the local WeeChat, so
it's highly recommended to use exactly the same WeeChat version on remote
and local client.
[[relay_weechat_protocol]]
=== Protocollo WeeChat
@@ -5107,9 +5041,7 @@ websocket = new WebSocket("ws://server.com:9000/weechat");
----
The port (9000 in example) is the port defined in Relay plugin.
The URI must end with "/weechat" for _irc_ and _weechat_ protocols and "/api"
for _api_ protocol.
The URI must always end with "/weechat" (for _irc_ and _weechat_ protocols).
// TRANSLATION MISSING
[[relay_unix_socket]]
@@ -5155,7 +5087,7 @@ Sections in file _relay.conf_:
| network | /set relay.network.* | Network options.
| irc | /set relay.irc.* | Options specific to irc protocol (irc proxy).
| port | <<command_relay_relay,/relay add>> +
/set relay.port.* | Ports used for relay (options can be added/removed in section).
/set relay.port.* | Ports used for relay (irc and weechat protocols) (options can be added/removed in section).
|===
// TRANSLATION MISSING
@@ -5575,9 +5507,7 @@ Matching groups can be used in _replace_:
* `+${re:0}+` to `+${re:99}+`: `+${re:0}+` is the whole match, `+${re:1}+` to
`+${re:99}+` are groups captured
* `pass:[${re:+}]`: the last match (with highest number)
* `+${re:#}+`: index of last group captured
* `+${re:repl_index}+`: index of replacement being done (starts to 1)
* `+${re:+}+`: the last match (with highest number)
* `+${hide:c,${re:N}}+`: match "N" with all chars replaced by "c"
(example: `+${hide:*,${re:2}}+` is the group #2 with all chars replaced by
`+*+`).
@@ -5726,7 +5656,7 @@ is added in hashtable:
| server | string | Name of server (example: "libera").
| tags | string | Tags in message (rarely used).
| message_without_tags | string | Message without tags.
| nick | string | Nick. ^(1)^
| nick | string | Nick.
| host | string | Hostname.
| command | string | IRC command (example: "PRIVMSG", "NOTICE", ...).
| channel | string | IRC channel.
@@ -5738,11 +5668,6 @@ is added in hashtable:
| pos_text | string | The index of _text_ in message ("-1" if _text_ was not found).
|===
// TRANSLATION MISSING
[NOTE]
^(1)^ The nick is the sender of the message. +
Your own nick on the server is `${irc_server.nick}`.
When the data is a pointer, the variable `+tg_signal_data+` can be used like this
to read a hdata property (in this example this is a pointer on a buffer):
+351 -433
View File
@@ -119,103 +119,103 @@ WeeChat "core" は以下のディレクトリに配置されています:
[width="100%",cols="2m,3",options="header"]
|===
| パス/ファイル名 | 説明
| core/ | コア関数: エントリポイント、内部構造体
|    core-arraylist.c | 配列リスト
|    core-backtrace.c | クラッシュした際にバックトレースを表示
| パス/ファイル名 | 説明
| core/ | コア関数: エントリポイント、内部構造体
|    wee-arraylist.c | 配列リスト
|    wee-backtrace.c | クラッシュした際にバックトレースを表示
// TRANSLATION MISSING
|    core-calc.c | Calculate result of expressions.
|    core-command.c | WeeChat コアコマンド
|    core-completion.c | デフォルト補完
|    core-config-file.c | 設定ファイル管理
|    core-config.c | WeeChat コアの設定オプション (weechat.conf ファイル)
|    wee-calc.c | Calculate result of expressions.
|    wee-command.c | WeeChat コアコマンド
|    wee-completion.c | デフォルト補完
|    wee-config-file.c | 設定ファイル管理
|    wee-config.c | WeeChat コアの設定オプション (weechat.conf ファイル)
// TRANSLATION MISSING
|    core-crypto.c | Cryptographic functions.
|    core-debug.c | デバッグ用関数
|    wee-crypto.c | Cryptographic functions.
|    wee-debug.c | デバッグ用関数
// TRANSLATION MISSING
|    core-dir.c | Directory/file functions.
|    wee-dir.c | Directory/file functions.
// TRANSLATION MISSING
|    core-doc.c | Build of files for documentation.
|    core-eval.c | 内部変数へのリファレンスを含む式を評価
|    core-hashtable.c | ハッシュテーブル
|    core-hdata.c | hdata (ハッシュテーブルを用いて直接データを読む)
|    core-hook.c | フック
|    core-infolist.c | インフォリスト (オブジェクトに関するデータを含むリスト)
|    core-input.c | コマンドおよびテキストの入力
|    core-list.c | ソート済みリスト
|    core-log.c | WeeChat ログファイル (weechat.log) に書き込む
|    core-network.c | ネットワーク関数 (サーバやプロキシへの接続)
|    core-proxy.c | プロキシ管理
|    core-secure.c | データ保護用の関数
|    core-secure-buffer.c | データ保護用のバッファ
|    core-secure-config.c | 安全なデータオプション (sec.conf ファイル)
|    wee-doc.c | Build of files for documentation.
|    wee-eval.c | 内部変数へのリファレンスを含む式を評価
|    wee-hashtable.c | ハッシュテーブル
|    wee-hdata.c | hdata (ハッシュテーブルを用いて直接データを読む)
|    wee-hook.c | フック
|    wee-infolist.c | インフォリスト (オブジェクトに関するデータを含むリスト)
|    wee-input.c | コマンドおよびテキストの入力
|    wee-list.c | ソート済みリスト
|    wee-log.c | WeeChat ログファイル (weechat.log) に書き込む
|    wee-network.c | ネットワーク関数 (サーバやプロキシへの接続)
|    wee-proxy.c | プロキシ管理
|    wee-secure.c | データ保護用の関数
|    wee-secure-buffer.c | データ保護用のバッファ
|    wee-secure-config.c | 安全なデータオプション (sec.conf ファイル)
// TRANSLATION MISSING
|    core-signal.c | Signal functions.
|    core-string.c | 文字列関数
|    wee-signal.c | Signal functions.
|    wee-string.c | 文字列関数
// TRANSLATION MISSING
|    core-sys.c | System functions.
|    core-upgrade-file.c | 内部アップグレードシステム
|    core-upgrade.c | WeeChat コアのアップグレード (バッファ、行、履歴、...)
|    core-url.c | URL 転送 (libcurl を使う)
|    core-utf8.c | UTF-8 関数
|    core-util.c | その他の関数
|    core-version.c | WeeChat バージョンについての関数
|    weechat.c | 主要関数: コマンドラインオプション、起動
|    hook/ | フック関数
|       hook-command-run.c | "command_run" フック
|       hook-command.c | "command" フック
|       hook-completion.c | "completion" フック
|       hook-config.c | "config" フック
|       hook-connect.c | "connect" フック
|       hook-fd.c | "fd" フック
|       hook-focus.c | "focus" フック
|       hook-hdata.c | "hdata" フック
|       hook-hsignal.c | "hsignal" フック
|       hook-info-hashtable.c | "info_hashtable" フック
|       hook-info.c | "info" フック
|       hook-infolist.c | "infolist" フック
|       hook-line.c | "line" フック
|       hook-modifier.c | "modifier" フック
|       hook-print.c | "print" フック
|       hook-process.c | "process" フック
|       hook-signal.c | "signal" フック
|       hook-timer.c | "timer" フック
|       hook-url.c | "url" フック
| gui/ | バッファ、ウィンドウなどの関数 (全てのインターフェースで利用)
|    gui-bar-item.c | バー要素
|    gui-bar-window.c | バーウィンドウ
|    gui-bar.c | バー
|    gui-buffer.c | バッファ
|    gui-chat.c | チャット関数 (メッセージの表示、...)
|    gui-color.c | 色関数
|    gui-completion.c | コマンドラインの補完
|    gui-cursor.c | カーソルモード (カーソルを自由に移動)
|    gui-filter.c | フィルタ
|    gui-focus.c | フォーカスについての関数 (カーソルモードとマウス用)
|    gui-history.c | コマンドおよびバッファに保存されたテキスト
|    gui-hotlist.c | ホットリスト管理 (活発なバッファのリスト)
|    gui-input.c | 入力関数 (入力バー)
|    gui-key.c | キーボード関数
|    gui-layout.c | レイアウト
|    gui-line.c | バッファ中の行
|    gui-mouse.c | マウス
|    gui-nick.c | ニックネーム関数
|    gui-nicklist.c | バッファのニックネームリスト
|    gui-window.c | ウィンドウ
|    curses/ | curses インターフェース
|       gui-curses-bar-window.c | バーウィンドウへの表示
|       gui-curses-chat.c | チャットエリアへの表示 (メッセージ)
|       gui-curses-color.c | 色関数
|       gui-curses-key.c | キーボード関数 (デフォルトキー、入力の読み取り)
|       gui-curses-main.c | WeeChat メインループ (キーボードやネットワークイベントの待ち受け)
|       gui-curses-mouse.c | マウス
|       gui-curses-term.c | 端末についての関数
|       gui-curses-window.c | ウィンドウ
|       headless/ | ヘッドレスモード (インターフェースなし)
|          main.c | ヘッドレスモード用のエントリポイント
|          ncurses-fake.c | ダミーの ncurses ライブラリ
|       normal/ | curses インターフェース
|          main.c | curses インターフェース用のエントリポイント
|    wee-sys.c | System functions.
|    wee-upgrade-file.c | 内部アップグレードシステム
|    wee-upgrade.c | WeeChat コアのアップグレード (バッファ、行、履歴、...)
|    wee-url.c | URL 転送 (libcurl を使う)
|    wee-utf8.c | UTF-8 関数
|    wee-util.c | その他の関数
|    wee-version.c | WeeChat バージョンについての関数
|    weechat.c | 主要関数: コマンドラインオプション、起動
|    hook/ | フック関数
|       wee-hook-command-run.c | "command_run" フック
|       wee-hook-command.c | "command" フック
|       wee-hook-completion.c | "completion" フック
|       wee-hook-config.c | "config" フック
|       wee-hook-connect.c | "connect" フック
|       wee-hook-fd.c | "fd" フック
|       wee-hook-focus.c | "focus" フック
|       wee-hook-hdata.c | "hdata" フック
|       wee-hook-hsignal.c | "hsignal" フック
|       wee-hook-info-hashtable.c | "info_hashtable" フック
|       wee-hook-info.c | "info" フック
|       wee-hook-infolist.c | "infolist" フック
|       wee-hook-line.c | "line" フック
|       wee-hook-modifier.c | "modifier" フック
|       wee-hook-print.c | "print" フック
|       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 | バーウィンドウ
|    gui-bar.c | バー
|    gui-buffer.c | バッファ
|    gui-chat.c | チャット関数 (メッセージの表示、...)
|    gui-color.c | 色関数
|    gui-completion.c | コマンドラインの補完
|    gui-cursor.c | カーソルモード (カーソルを自由に移動)
|    gui-filter.c | フィルタ
|    gui-focus.c | フォーカスについての関数 (カーソルモードとマウス用)
|    gui-history.c | コマンドおよびバッファに保存されたテキスト
|    gui-hotlist.c | ホットリスト管理 (活発なバッファのリスト)
|    gui-input.c | 入力関数 (入力バー)
|    gui-key.c | キーボード関数
|    gui-layout.c | レイアウト
|    gui-line.c | バッファ中の行
|    gui-mouse.c | マウス
|    gui-nick.c | ニックネーム関数
|    gui-nicklist.c | バッファのニックネームリスト
|    gui-window.c | ウィンドウ
|    curses/ | curses インターフェース
|       gui-curses-bar-window.c | バーウィンドウへの表示
|       gui-curses-chat.c | チャットエリアへの表示 (メッセージ)
|       gui-curses-color.c | 色関数
|       gui-curses-key.c | キーボード関数 (デフォルトキー、入力の読み取り)
|       gui-curses-main.c | WeeChat メインループ (キーボードやネットワークイベントの待ち受け)
|       gui-curses-mouse.c | マウス
|       gui-curses-term.c | 端末についての関数
|       gui-curses-window.c | ウィンドウ
|       headless/ | ヘッドレスモード (インターフェースなし)
|          main.c | ヘッドレスモード用のエントリポイント
|          ncurses-fake.c | ダミーの ncurses ライブラリ
|       normal/ | curses インターフェース
|          main.c | curses インターフェース用のエントリポイント
|===
[[sources_plugins]]
@@ -223,213 +223,193 @@ WeeChat "core" は以下のディレクトリに配置されています:
[width="100%",cols="2m,3",options="header"]
|===
| パス/ファイル名 | 説明
| plugins/ | プラグインのルートディレクトリ
|    plugin.c | プラグイン管理 (動的 C 言語ライブラリのロード/アンロード)
|    plugin-api.c | プラグイン API の追加関数 (WeeChat コア関数のラッパー)
|    plugin-api-info.c | プラグイン API 用のインフォ/インフォリストに関する追加関数
|    plugin-config.c | プラグイン設定オプション (plugins.conf ファイル)
|    plugin-script.c | スクリプトプラグインの共用関数
|    plugin-script-api.c | スクリプト API 関数: 一部のプラグイン API 関数のラッパー
|    plugin-script-config.c | スクリプトプラグインの設定オプション (python.conf、perl.conf 等のファイル)
|    weechat-plugin.h | WeeChat プラグインと一緒に配布されるヘッダファイル、プラグインのコンパイルに必要
|    alias/ | alias プラグイン
|       alias.c | alias の主要関数
|       alias-command.c | alias コマンド
|       alias-completion.c | alias 補完
|       alias-config.c | alias 設定オプション (alias.conf ファイル)
|       alias-info.c | alias の情報/インフォリスト/hdata
|    spell/ | spell プラグイン
|       spell.c | spell の主関数
|       spell-bar-item.c | spell バー要素
|       spell-command.c | spell コマンド
|       spell-completion.c | spell 補完
|       spell-config.c | spell 設定オプション (spell.conf ファイル)
|       spell-info.c | spell の情報/インフォリスト/hdata
|       spell-speller.c | spell のスペラー管理
|    buflist/ | buflist プラグイン
|       buflist.c | buflist の主要関数
|       buflist-bar-item.c | buflist バー要素
|       buflist-command.c | buflist コマンド
| パス/ファイル名 | 説明
| plugins/ | プラグインのルートディレクトリ
|    plugin.c | プラグイン管理 (動的 C 言語ライブラリのロード/アンロード)
|    plugin-api.c | プラグイン API の追加関数 (WeeChat コア関数のラッパー)
|    plugin-api-info.c | プラグイン API 用のインフォ/インフォリストに関する追加関数
|    plugin-config.c | プラグイン設定オプション (plugins.conf ファイル)
|    plugin-script.c | スクリプトプラグインの共用関数
|    plugin-script-api.c | スクリプト API 関数: 一部のプラグイン API 関数のラッパー
|    plugin-script-config.c | スクリプトプラグインの設定オプション (python.conf、perl.conf 等のファイル)
|    weechat-plugin.h | WeeChat プラグインと一緒に配布されるヘッダファイル、プラグインのコンパイルに必要
|    alias/ | alias プラグイン
|       alias.c | alias の主要関数
|       alias-command.c | alias コマンド
|       alias-completion.c | alias 補完
|       alias-config.c | alias 設定オプション (alias.conf ファイル)
|       alias-info.c | alias の情報/インフォリスト/hdata
|    spell/ | spell プラグイン
|       spell.c | spell の主関数
|       spell-bar-item.c | spell バー要素
|       spell-command.c | spell コマンド
|       spell-completion.c | spell 補完
|       spell-config.c | spell 設定オプション (spell.conf ファイル)
|       spell-info.c | spell の情報/インフォリスト/hdata
|       spell-speller.c | spell のスペラー管理
|    buflist/ | buflist プラグイン
|       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 マウス動作
|    charset/ | charset プラグイン
|       charset.c | charset 関数
|    exec/ | exec プラグイン
|       exec.c | exec の主要関数
|       exec-buffer.c | exec バッファ
|       exec-command.c | exec コマンド
|       exec-completion.c | exec 補完
|       exec-config.c | exec 設定オプション (exec.conf ファイル)
|    fifo/ | fifo プラグイン
|       fifo.c | fifo の主要関数
|       fifo-command.c | fifo コマンド
|       fifo-config.c | fifo 設定オプション (fifo.conf ファイル)
|       fifo-info.c | fifo の情報/インフォリスト/hdata
|    fset/ | fset プラグイン
|       fset.c | fset の主要関数
|       fset-bar-item.c | fset バー要素
|       fset-buffer.c | fset バッファ
|       fset-command.c | fset コマンド
|       fset-completion.c | fset 補完
|       fset-config.c | fset 設定オプション (fset.conf ファイル)
|       fset-info.c | fset の情報/インフォリスト/hdata
|       fset-mouse.c | fset マウス動作
|       fset-option.c | fset オプション管理
|    guile/ | guile (scheme) プラグイン
|       weechat-guile.c | guile の主要関数 (スクリプトのロード/アンロード、guile コードの実行)
|       weechat-guile-api.c | guile スクリプト作成 API 関数
|    irc/ | IRC (Internet Relay Chat) プラグイン
|       irc.c | IRC の主要関数
|       irc-bar-item.c | IRC バー要素
|       buflist-completion.c | Buflist completions.
|       buflist-config.c | buflist 設定オプション (buflist.conf ファイル)
|       buflist-info.c | buflist の情報/インフォリスト/hdata
|       buflist-mouse.c | buflist マウス動作
|    charset/ | charset プラグイン
|       charset.c | charset 関数
|    exec/ | exec プラグイン
|       exec.c | exec の主要関数
|       exec-buffer.c | exec バッファ
|       exec-command.c | exec コマンド
|       exec-completion.c | exec 補完
|       exec-config.c | exec 設定オプション (exec.conf ファイル)
|    fifo/ | fifo プラグイン
|       fifo.c | fifo の主要関数
|       fifo-command.c | fifo コマンド
|       fifo-config.c | fifo 設定オプション (fifo.conf ファイル)
|       fifo-info.c | fifo の情報/インフォリスト/hdata
|    fset/ | fset プラグイン
|       fset.c | fset の主要関数
|       fset-bar-item.c | fset バー要素
|       fset-buffer.c | fset バッファ
|       fset-command.c | fset コマンド
|       fset-completion.c | fset 補完
|       fset-config.c | fset 設定オプション (fset.conf ファイル)
|       fset-info.c | fset の情報/インフォリスト/hdata
|       fset-mouse.c | fset マウス動作
|       fset-option.c | fset オプション管理
|    guile/ | guile (scheme) プラグイン
|       weechat-guile.c | guile の主要関数 (スクリプトのロード/アンロード、guile コードの実行)
|       weechat-guile-api.c | guile スクリプト作成 API 関数
|    irc/ | IRC (Internet Relay Chat) プラグイン
|       irc.c | IRC の主要関数
|       irc-bar-item.c | IRC バー要素
// TRANSLATION MISSING
|       irc-batch.c | IRC batched events.
|       irc-buffer.c | IRC バッファ
|       irc-channel.c | IRC チャンネル
|       irc-color.c | IRC 色
|       irc-command.c | IRC コマンド
|       irc-completion.c | IRC 補完
|       irc-config.c | IRC 設定オプション (irc.conf ファイル)
|       irc-ctcp.c | IRC CTCP
|       irc-debug.c | IRC デバッグ関数
|       irc-ignore.c | IRC 無視
|       irc-info.c | IRC の情報/インフォリスト/hdata
|       irc-input.c | コマンドおよびテキストの入力
|       irc-batch.c | IRC batched events.
|       irc-buffer.c | IRC バッファ
|       irc-channel.c | IRC チャンネル
|       irc-color.c | IRC 色
|       irc-command.c | IRC コマンド
|       irc-completion.c | IRC 補完
|       irc-config.c | IRC 設定オプション (irc.conf ファイル)
|       irc-ctcp.c | IRC CTCP
|       irc-debug.c | IRC デバッグ関数
|       irc-ignore.c | IRC 無視
|       irc-info.c | IRC の情報/インフォリスト/hdata
|       irc-input.c | コマンドおよびテキストの入力
// TRANSLATION MISSING
|       irc-join.c | Functions for list of channels to join.
|       irc-join.c | Functions for list of channels to join.
// TRANSLATION MISSING
|       irc-list.c | Buffer for reply to /list command.
|       irc-message.c | IRC メッセージを操作する関数
|       irc-mode.c | チャンネルおよびニックネームのモードを操作する関数
|       irc-modelist.c | IRC チャンネルモードリスト (+b、+e、+I、...).
|       irc-msgbuffer.c | IRC メッセージを送るバッファ
|       irc-nick.c | IRC ニックネーム
|       irc-notify.c | IRC 通知リスト
|       irc-protocol.c | IRC プロトコル (RFC 1459/2810/2811/2812/2813/7194)
|       irc-raw.c | IRC 生バッファ
|       irc-redirect.c | IRC コマンド出力のリダイレクト
|       irc-sasl.c | IRC サーバに対する SASL 認証
|       irc-server.c | IRC サーバとの入出力通信
|       irc-list.c | Buffer for reply to /list command.
|       irc-message.c | IRC メッセージを操作する関数
|       irc-mode.c | チャンネルおよびニックネームのモードを操作する関数
|       irc-modelist.c | IRC チャンネルモードリスト (+b、+e、+I、...).
|       irc-msgbuffer.c | IRC メッセージを送るバッファ
|       irc-nick.c | IRC ニックネーム
|       irc-notify.c | IRC 通知リスト
|       irc-protocol.c | IRC プロトコル (RFC 1459/2810/2811/2812/2813/7194)
|       irc-raw.c | IRC 生バッファ
|       irc-redirect.c | IRC コマンド出力のリダイレクト
|       irc-sasl.c | IRC サーバに対する SASL 認証
|       irc-server.c | IRC サーバとの入出力通信
// TRANSLATION MISSING
|       irc-tag.c | Functions to manipulate IRC message tags.
|       irc-tag.c | Functions to manipulate IRC message tags.
// TRANSLATION MISSING
|       irc-typing.c | Typing status.
|       irc-upgrade.c | WeeChat をアップグレードする際の IRC データの保存およびロード
|    javascript/ | JavaScript プラグイン
|       weechat-js.cpp | JavaScript の主要関数 (スクリプトのロード/アンロード、JavaScript コードの実行)
|       weechat-js-api.cpp | JavaScript スクリプト作成 API 関数
|       weechat-js-v8.cpp | JavaScript v8 関数
|    logger/ | logger プラグイン
|       logger.c | logger の主要関数
|       irc-typing.c | Typing status.
|       irc-upgrade.c | WeeChat をアップグレードする際の IRC データの保存およびロード
|    javascript/ | JavaScript プラグイン
|       weechat-js.cpp | JavaScript の主要関数 (スクリプトのロード/アンロード、JavaScript コードの実行)
|       weechat-js-api.cpp | JavaScript スクリプト作成 API 関数
|       weechat-js-v8.cpp | JavaScript v8 関数
|    logger/ | logger プラグイン
|       logger.c | logger の主要関数
// TRANSLATION MISSING
|       logger-backlog.c | Logger backlog functions.
|       logger-buffer.c | logger バッファリスト管理
|       logger-command.c | logger コマンド
|       logger-config.c | logger 設定オプション (logger.conf ファイル)
|       logger-info.c | logger の情報/インフォリスト/hdata
|       logger-tail.c | ファイル末尾の行を返す
|    lua/ | lua プラグイン
|       weechat-lua.c | lua の主要関数 (スクリプトのロード/アンロード、lua コードの実行)
|       weechat-lua-api.c | lua スクリプト作成 API 関数
|    perl/ | perl プラグイン
|       weechat-perl.c | perl の主要関数 (スクリプトのロード/アンロード、perl コードの実行)
|       weechat-perl-api.c | perl スクリプト作成 API 関数
|    php/ | php プラグイン
|       weechat-php.c | php の主要関数 (スクリプトのロード/アンロード、php コードの実行)
|       weechat-php-api.c | php スクリプト作成 API 関数
|    python/ | python プラグイン
|       weechat-python.c | python の主要関数 (スクリプトのロード/アンロード、python コードの実行)
|       weechat-python-api.c | python スクリプト作成 API 関数
|    relay/ | relay プラグイン (IRC プロキシとリモートインターフェースへの中継)
|       relay.c | relay の主要関数
|       logger-backlog.c | Logger backlog functions.
|       logger-buffer.c | logger バッファリスト管理
|       logger-command.c | logger コマンド
|       logger-config.c | logger 設定オプション (logger.conf ファイル)
|       logger-info.c | logger の情報/インフォリスト/hdata
|       logger-tail.c | ファイル末尾の行を返す
|    lua/ | lua プラグイン
|       weechat-lua.c | lua の主要関数 (スクリプトのロード/アンロード、lua コードの実行)
|       weechat-lua-api.c | lua スクリプト作成 API 関数
|    perl/ | perl プラグイン
|       weechat-perl.c | perl の主要関数 (スクリプトのロード/アンロード、perl コードの実行)
|       weechat-perl-api.c | perl スクリプト作成 API 関数
|    php/ | php プラグイン
|       weechat-php.c | php の主要関数 (スクリプトのロード/アンロード、php コードの実行)
|       weechat-php-api.c | php スクリプト作成 API 関数
|    python/ | python プラグイン
|       weechat-python.c | python の主要関数 (スクリプトのロード/アンロード、python コードの実行)
|       weechat-python-api.c | python スクリプト作成 API 関数
|    relay/ | relay プラグイン (IRC プロキシとリモートインターフェースへの中継)
|       relay.c | relay の主要関数
// TRANSLATION MISSING
|       relay-auth.c | Clients authentification.
|       relay-buffer.c | relay バッファ
|       relay-client.c | relay クライアント
|       relay-command.c | relay コマンド
|       relay-completion.c | relay 補完
|       relay-config.c | relay 設定オプション (relay.conf ファイル)
|       relay-auth.c | Clients authentification.
|       relay-buffer.c | relay バッファ
|       relay-client.c | relay クライアント
|       relay-command.c | relay コマンド
|       relay-completion.c | relay 補完
|       relay-config.c | relay 設定オプション (relay.conf ファイル)
|       relay-info.c | relay の情報/インフォリスト/hdata
|       relay-network.c | relay 用のネットワーク関数
|       relay-raw.c | relay 生バッファ
|       relay-server.c | relay サーバ
|       relay-upgrade.c | WeeChat をアップグレードする際にデータを保存/回復
|       relay-websocket.c | リレー用の websocket サーバ関数 (RFC 6455)
|       irc/ | IRC プロキシ
|          relay-irc.c | IRC プロキシの主要関数
|       weechat/ | リモートインターフェースへの中継
|          relay-weechat.c | リモートインターフェースへの中継 (主要関数)
|          relay-weechat-msg.c | クライアントにバイナリメッセージを送信
|          relay-weechat-nicklist.c | ニックネームリスト関数
|          relay-weechat-protocol.c | クライアントからのコマンドを読み取る
|    ruby/ | ruby プラグイン
|       weechat-ruby.c | ruby の主要関数 (スクリプトのロード/アンロード、ruby コードの実行)
|       weechat-ruby-api.c | ruby スクリプト作成 API 関数
|    script/ | スクリプトマネージャ
|       script.c | スクリプトマネージャの主要関数
|       script-action.c | スクリプトに対する操作 (ロード/アンロード、インストール/削除、...)
|       script-buffer.c | スクリプトマネージャ用のバッファ
|       script-command.c | スクリプトマネージャ用のコマンド
|       script-completion.c | スクリプトマネージャ用の補完
|       script-config.c | スクリプトマネージャ用の設定オプション (script.conf ファイル)
|       script-info.c | スクリプトマネージャの情報/インフォリスト/hdata
|       script-mouse.c | スクリプトマネージャのマウス動作
|       script-repo.c | リポジトリファイルのダウンロードとロード
|    tcl/ | tcl プラグイン
|       weechat-tcl.c | tcl の主要関数 (スクリプトのロード/アンロード、tcl コードの実行)
|       weechat-tcl-api.c | tcl スクリプト作成 API 関数
|    trigger/ | trigger プラグイン
|       trigger.c | trigger の主要関数
|       trigger-buffer.c | trigger バッファ
|       trigger-callback.c | trigger コールバック
|       trigger-command.c | trigger コマンド
|       trigger-completion.c | trigger 補完
|       trigger-config.c | trigger 設定オプション (trigger.conf ファイル)
// TRANSLATION MISSING
|       relay-http.c | HTTP functions.
|       relay-info.c | relay の情報/インフォリスト/hdata
|       relay-network.c | relay 用のネットワーク関数
|       relay-raw.c | relay 生バッファ
|    typing/ | Typing plugin.
// TRANSLATION MISSING
|       relay-remote.c | Relay remote.
|       relay-server.c | relay サーバ
|       relay-upgrade.c | WeeChat をアップグレードする際にデータを保存/回復
|       relay-websocket.c | リレー用の websocket サーバ関数 (RFC 6455)
|       typing.c | Main typing functions.
// TRANSLATION MISSING
|       api/ | Relay for remote interfaces (using HTTP REST API).
|       typing-bar-item.c | Typing bar items.
// TRANSLATION MISSING
|          relay-api.c | Main API functions for HTTP REST API.
|       typing-config.c | Typing config options (file typing.conf).
// TRANSLATION MISSING
|          relay-api-msg.c | Send JSON messages to clients.
// TRANSLATION MISSING
|          relay-api-protocol.c | HTTP REST API protocol.
// TRANSLATION MISSING
// TRANSLATION MISSING
|          remote/ | Relay remote functions, specific to API.
// TRANSLATION MISSING
|             relay-remote-event.c | Process events received from relay remote.
// TRANSLATION MISSING
|             relay-remote-network.c | Network functions for relay remote.
|       irc/ | IRC プロキシ
|          relay-irc.c | IRC プロキシの主要関数
// TRANSLATION MISSING
|       weechat/ | Relay for remote interfaces (using "weechat" binary protocol).
|          relay-weechat.c | リモートインターフェースへの中継 (主要関数)
|          relay-weechat-msg.c | クライアントにバイナリメッセージを送信
|          relay-weechat-nicklist.c | ニックネームリスト関数
|          relay-weechat-protocol.c | クライアントからのコマンドを読み取る
|    ruby/ | ruby プラグイン
|       weechat-ruby.c | ruby の主要関数 (スクリプトのロード/アンロード、ruby コードの実行)
|       weechat-ruby-api.c | ruby スクリプト作成 API 関数
|    script/ | スクリプトマネージャ
|       script.c | スクリプトマネージャの主要関数
|       script-action.c | スクリプトに対する操作 (ロード/アンロード、インストール/削除、...)
|       script-buffer.c | スクリプトマネージャ用のバッファ
|       script-command.c | スクリプトマネージャ用のコマンド
|       script-completion.c | スクリプトマネージャ用の補完
|       script-config.c | スクリプトマネージャ用の設定オプション (script.conf ファイル)
|       script-info.c | スクリプトマネージャの情報/インフォリスト/hdata
|       script-mouse.c | スクリプトマネージャのマウス動作
|       script-repo.c | リポジトリファイルのダウンロードとロード
|    tcl/ | tcl プラグイン
|       weechat-tcl.c | tcl の主要関数 (スクリプトのロード/アンロード、tcl コードの実行)
|       weechat-tcl-api.c | tcl スクリプト作成 API 関数
|    trigger/ | trigger プラグイン
|       trigger.c | trigger の主要関数
|       trigger-buffer.c | trigger バッファ
|       trigger-callback.c | trigger コールバック
|       trigger-command.c | trigger コマンド
|       trigger-completion.c | trigger 補完
|       trigger-config.c | trigger 設定オプション (trigger.conf ファイル)
// TRANSLATION MISSING
|    typing/ | Typing plugin.
// TRANSLATION MISSING
|       typing.c | Main typing functions.
// TRANSLATION MISSING
|       typing-bar-item.c | Typing bar items.
// TRANSLATION MISSING
|       typing-config.c | Typing config options (file typing.conf).
// TRANSLATION MISSING
|       typing-status.c | Messages typing status on buffers.
|    xfer/ | xfer プラグイン (IRC DCC ファイル/チャット)
|       xfer.c | xfer の主要関数
|       xfer-buffer.c | xfer バッファ
|       xfer-chat.c | xfer DCC チャット
|       xfer-command.c | xfer コマンド
|       xfer-completion.c | xfer 補完
|       xfer-config.c | xfer 設定オプション (xfer.conf ファイル)
|       xfer-dcc.c | DCC ファイル転送
|       xfer-file.c | xfer のファイル関数
|       xfer-info.c | xfer の情報/インフォリスト/hdata
|       xfer-network.c | xfer のネットワーク関数
|       xfer-upgrade.c | WeeChat をアップグレードする際の xfer データの保存および回復
|       typing-status.c | Messages typing status on buffers.
|    xfer/ | xfer プラグイン (IRC DCC ファイル/チャット)
|       xfer.c | xfer の主要関数
|       xfer-buffer.c | xfer バッファ
|       xfer-chat.c | xfer DCC チャット
|       xfer-command.c | xfer コマンド
|       xfer-completion.c | xfer 補完
|       xfer-config.c | xfer 設定オプション (xfer.conf ファイル)
|       xfer-dcc.c | DCC ファイル転送
|       xfer-file.c | xfer のファイル関数
|       xfer-info.c | xfer の情報/インフォリスト/hdata
|       xfer-network.c | xfer のネットワーク関数
|       xfer-upgrade.c | WeeChat をアップグレードする際の xfer データの保存および回復
|===
[[sources_tests]]
@@ -437,202 +417,141 @@ WeeChat "core" は以下のディレクトリに配置されています:
[width="100%",cols="2m,3",options="header"]
|===
| パス/ファイル名 | 説明
| tests/ | テスト用のルートディレクトリ
|    tests.cpp | 全テストの実行時に使われるプログラム
| パス/ファイル名 | 説明
| tests/ | テスト用のルートディレクトリ
|    tests.cpp | 全テストの実行時に使われるプログラム
// TRANSLATION MISSING
|    tests-record.cpp | Record and search in messages displayed.
|    scripts/ | スクリプト API テスト用のルートディレクトリ
|       test-scripts.cpp | スクリプト API テストの実行時に使われるプログラム
|       python/ | スクリプト API テストを生成、実行する Python スクリプト
|          testapigen.py | スクリプト API のテスト時にすべての言語に関するスクリプトを生成する Python スクリプト
|          testapi.py | スクリプト API テスト時に使われる Python スクリプト (スクリプト testapigen.py から使われます)
|          unparse.py | Python コードを別の言語に変換 (スクリプト testapigen.py から使われます)
|    unit/ | 単体テスト用のルートディレクトリ
|       test-plugins.cpp | テスト: プラグイン
|    tests-record.cpp | Record and search in messages displayed.
|    scripts/ | スクリプト API テスト用のルートディレクトリ
|       test-scripts.cpp | スクリプト API テストの実行時に使われるプログラム
|       python/ | スクリプト API テストを生成、実行する Python スクリプト
|          testapigen.py | スクリプト API のテスト時にすべての言語に関するスクリプトを生成する Python スクリプト
|          testapi.py | スクリプト API テスト時に使われる Python スクリプト (スクリプト testapigen.py から使われます)
|          unparse.py | Python コードを別の言語に変換 (スクリプト testapigen.py から使われます)
|    unit/ | 単体テスト用のルートディレクトリ
|       test-plugins.cpp | テスト: プラグイン
// TRANSLATION MISSING
|       test-plugin-api-info.cpp | Tests: plugin API info functions.
|       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 | テスト: 配列リスト
|       test-plugin-config.cpp | Tests: plugin config functions.
|       core/ | core 向け単体テスト用のルートディレクトリ
|          test-core-arraylist.cpp | テスト: 配列リスト
// TRANSLATION MISSING
|          test-core-calc.cpp | Tests: calculation of expressions.
|          test-core-calc.cpp | Tests: calculation of expressions.
// TRANSLATION MISSING
|          test-core-command.cpp | Tests: commands.
|          test-core-command.cpp | Tests: commands.
// TRANSLATION MISSING
|          test-core-config-file.cpp | Tests: configuration files.
|          test-core-config-file.cpp | Tests: configuration files.
// TRANSLATION MISSING
|          test-core-crypto.cpp | Tests: cryptographic functions.
|          test-core-crypto.cpp | Tests: cryptographic functions.
// TRANSLATION MISSING
|          test-core-dir.cpp | Tests: directory/file functions.
|          test-core-eval.cpp | テスト: 式の評価
|          test-core-hashtble.cpp | テスト: ハッシュテーブル
|          test-core-hdata.cpp | テスト: hdata
|          test-core-hook.cpp | テスト: フック
|          test-core-infolist.cpp | テスト: インフォリスト
|          test-core-list.cpp | テスト: リスト
|          test-core-dir.cpp | Tests: directory/file functions.
|          test-core-eval.cpp | テスト: 式の評価
|          test-core-hashtble.cpp | テスト: ハッシュテーブル
|          test-core-hdata.cpp | テスト: hdata
|          test-core-hook.cpp | テスト: フック
|          test-core-infolist.cpp | テスト: インフォリスト
|          test-core-list.cpp | テスト: リスト
// TRANSLATION MISSING
|          test-core-network.cpp | Tests: network functions.
|          test-core-secure.cpp | テスト: データ保護
|          test-core-network.cpp | Tests: network functions.
|          test-core-secure.cpp | テスト: データ保護
// TRANSLATION MISSING
|          test-core-signal.cpp | テスト: signals.
|          test-core-string.cpp | テスト: 文字列
|          test-core-url.cpp | テスト: URL
|          test-core-utf8.cpp | テスト: UTF-8
|          test-core-util.cpp | テスト: ユーティリティ関数
|          test-core-signal.cpp | テスト: signals.
|          test-core-string.cpp | テスト: 文字列
|          test-core-url.cpp | テスト: URL
|          test-core-utf8.cpp | テスト: UTF-8
|          test-core-util.cpp | テスト: ユーティリティ関数
// TRANSLATION MISSING
|          test-core-sys.cpp | Tests: system functions.
|          test-core-sys.cpp | Tests: system functions.
// TRANSLATION MISSING
|          hook/ | Root of unit tests for hooks.
|          hook/ | Root of unit tests for hooks.
// TRANSLATION MISSING
|             test-hook-command.cpp | Tests: hooks "command".
|             test-hook-command.cpp | Tests: hooks "command".
|       gui/ | インターフェースの単体テストを収める最上位ディレクトリ
// TRANSLATION MISSING
|             test-hook-command-run.cpp | Tests: hooks "command_run".
|          test-gui-bar-window.cpp | Tests: bar window functions.
// TRANSLATION MISSING
|             test-hook-completion.cpp | Tests: hooks "completion".
|          test-gui-buffer.cpp | Tests: buffer functions.
// TRANSLATION MISSING
|             test-hook-config.cpp | Tests: hooks "config".
|          test-gui-chat.cpp | Tests: chat functions.
// TRANSLATION MISSING
|             test-hook-connect.cpp | Tests: hooks "connect".
|          test-gui-color.cpp | Tests: colors.
// TRANSLATION MISSING
|             test-hook-fd.cpp | Tests: hooks "fd".
|          test-gui-filter.cpp | Tests: filters.
// TRANSLATION MISSING
|             test-hook-focus.cpp | Tests: hooks "focus".
|          test-gui-input.cpp | Tests: input functions.
// TRANSLATION MISSING
|             test-hook-hdata.cpp | Tests: hooks "hdata".
|          test-gui-key.cpp | Tests: keys.
|          test-gui-line.cpp | テスト: 行
// TRANSLATION MISSING
|             test-hook-hsignal.cpp | Tests: hooks "hsignal".
|          test-gui-nick.cpp | テスト: nicks
|       plugins/ | プラグインの単体テストを収める最上位ディレクトリ
|          irc/ | IRC プラグインの単体テストを収める最上位ディレクトリ
// TRANSLATION MISSING
|             test-hook-info-hashtable.cpp | Tests: hooks "info_hashtable".
|             test-irc-batch.cpp | Tests: IRC batched events.
// TRANSLATION MISSING
|             test-hook-info.cpp | Tests: hooks "info".
|             test-irc-buffer.cpp | Tests: IRC buffers.
// TRANSLATION MISSING
|             test-hook-infolist.cpp | Tests: hooks "infolist".
|             test-irc-channel.cpp | Tests: IRC channels.
|             test-irc-color.cpp | Tests: IRC colors.
|             test-irc-config.cpp | テスト: IRC 設定
// TRANSLATION MISSING
|             test-hook-line.cpp | Tests: hooks "line".
|             test-irc-ctcp.cpp | Tests: IRC CTCP.
// TRANSLATION MISSING
|             test-hook-modifier.cpp | Tests: hooks "modifier".
|             test-irc-ignore.cpp | Tests: IRC ignores.
// TRANSLATION MISSING
|             test-hook-print.cpp | Tests: hooks "print".
|             test-irc-info.cpp | Tests: IRC info.
// TRANSLATION MISSING
|             test-hook-process.cpp | Tests: hooks "process".
|             test-irc-join.cpp | Tests: IRC join functions.
// TRANSLATION MISSING
|             test-hook-signal.cpp | Tests: hooks "signal".
|             test-irc-list.cpp | Tests: IRC buffer for reply to /list command.
// TRANSLATION MISSING
|             test-hook-timer.cpp | Tests: hooks "timer".
|             test-irc-message.cpp | Tests: IRC messages.
// TRANSLATION MISSING
|             test-hook-url.cpp | Tests: hooks "url".
|       gui/ | インターフェースの単体テストを収める最上位ディレクトリ
|             test-irc-mode.cpp | Tests: IRC modes.
// TRANSLATION MISSING
|          test-gui-bar-window.cpp | Tests: bar window functions.
|             test-irc-nick.cpp | Tests: IRC nicks.
|             test-irc-protocol.cpp | テスト: IRC プロトコル
// TRANSLATION MISSING
|          test-gui-buffer.cpp | Tests: buffer functions.
|             test-irc-sasl.cpp | Tests: SASL authentication with IRC protocol.
// TRANSLATION MISSING
|          test-gui-chat.cpp | Tests: chat functions.
|             test-irc-server.cpp | Tests: IRC server.
// TRANSLATION MISSING
|          test-gui-color.cpp | Tests: colors.
|             test-irc-tag.cpp | Tests: IRC message tags.
// TRANSLATION MISSING
|          test-gui-filter.cpp | Tests: filters.
|          logger/ | Root of unit tests for logger plugin.
// TRANSLATION MISSING
|          test-gui-hotlist.cpp | Tests: hotlist functions.
|             test-logger.cpp | Tests: logger.
// TRANSLATION MISSING
|          test-gui-input.cpp | Tests: input functions.
|             test-logger-backlog.cpp | Tests: logger backlog.
// TRANSLATION MISSING
|          test-gui-key.cpp | Tests: keys.
|          test-gui-line.cpp | テスト: 行
|             test-logger-tail.cpp | Tests: logger tail functions.
// TRANSLATION MISSING
|          test-gui-nick.cpp | テスト: nicks
|          trigger/ | Root of unit tests for trigger plugin.
// TRANSLATION MISSING
|          test-gui-nicklist.cpp | Tests: nicklist functions.
|             test-trigger.cpp | Tests: triggers.
// TRANSLATION MISSING
|          curses/ | Root of unit tests for Curses interface.
|             test-trigger-config.cpp | Tests: trigger configuration.
// TRANSLATION MISSING
|             test-gui-curses-mouse.cpp | Tests: mouse (Curses interface).
|       plugins/ | プラグインの単体テストを収める最上位ディレクトリ
|          irc/ | IRC プラグインの単体テストを収める最上位ディレクトリ
|          typing/ | Root of unit tests for typing plugin.
// TRANSLATION MISSING
|             test-irc-batch.cpp | Tests: IRC batched events.
|             test-typing.cpp | Tests: typing.
// TRANSLATION MISSING
|             test-irc-buffer.cpp | Tests: IRC buffers.
|             test-typing-status.cpp | Tests: typing status.
// TRANSLATION MISSING
|             test-irc-channel.cpp | Tests: IRC channels.
|             test-irc-color.cpp | Tests: IRC colors.
|          relay/ | Root of unit tests for Relay plugin.
// TRANSLATION MISSING
|             test-irc-command.cpp | Tests: IRC commands.
|             test-irc-config.cpp | テスト: IRC 設定
|             test-relay-auth.cpp | Tests: clients authentication.
// TRANSLATION MISSING
|             test-irc-ctcp.cpp | Tests: IRC CTCP.
|             irc/ | Root of unit tests for Relay "irc" protocol.
// TRANSLATION MISSING
|             test-irc-ignore.cpp | Tests: IRC ignores.
|                test-relay-irc.cpp | Tests: Relay "irc" protocol.
// TRANSLATION MISSING
|             test-irc-info.cpp | Tests: IRC info.
|          xfer/ | Root of unit tests for Xfer plugin.
// TRANSLATION MISSING
|             test-irc-join.cpp | Tests: IRC join functions.
|             test-xfer-file.cpp | Tests: file functions.
// TRANSLATION MISSING
|             test-irc-list.cpp | Tests: IRC buffer for reply to /list command.
// TRANSLATION MISSING
|             test-irc-message.cpp | Tests: IRC messages.
// TRANSLATION MISSING
|             test-irc-mode.cpp | Tests: IRC modes.
// TRANSLATION MISSING
|             test-irc-nick.cpp | Tests: IRC nicks.
|             test-irc-protocol.cpp | テスト: IRC プロトコル
// TRANSLATION MISSING
|             test-irc-sasl.cpp | Tests: SASL authentication with IRC protocol.
// TRANSLATION MISSING
|             test-irc-server.cpp | Tests: IRC server.
// TRANSLATION MISSING
|             test-irc-tag.cpp | Tests: IRC message tags.
// TRANSLATION MISSING
|          logger/ | Root of unit tests for logger plugin.
// TRANSLATION MISSING
|             test-logger.cpp | Tests: logger.
// TRANSLATION MISSING
|             test-logger-backlog.cpp | Tests: logger backlog.
// TRANSLATION MISSING
|             test-logger-tail.cpp | Tests: logger tail functions.
// TRANSLATION MISSING
|          trigger/ | Root of unit tests for trigger plugin.
// TRANSLATION MISSING
|             test-trigger.cpp | Tests: triggers.
// TRANSLATION MISSING
|             test-trigger-config.cpp | Tests: trigger configuration.
// TRANSLATION MISSING
|          typing/ | Root of unit tests for typing plugin.
// TRANSLATION MISSING
|             test-typing.cpp | Tests: typing.
// TRANSLATION MISSING
|             test-typing-status.cpp | Tests: typing status.
// TRANSLATION MISSING
|          relay/ | Root of unit tests for Relay plugin.
// TRANSLATION MISSING
|             test-relay-auth.cpp | Tests: clients authentication.
// TRANSLATION MISSING
|             test-relay-http.cpp | Tests: HTTP functions for Relay plugin.
// TRANSLATION MISSING
|             test-relay-remote.cpp | Tests: remote functions for Relay plugin.
// TRANSLATION MISSING
|             test-relay-websocket.cpp | Tests: websocket functions for Relay plugin.
// TRANSLATION MISSING
|             api/ | Root of unit tests for Relay "api" protocol.
// TRANSLATION MISSING
|                test-relay-api.cpp | Tests: Relay "api" protocol: general functions.
// TRANSLATION MISSING
|                test-relay-api-msg.cpp | Tests: Relay "api" protocol: messages.
// TRANSLATION MISSING
|                test-relay-api-protocol.cpp | Tests: Relay "api" protocol: protocol.
// TRANSLATION MISSING
|             irc/ | Root of unit tests for Relay "irc" protocol.
// TRANSLATION MISSING
|                test-relay-irc.cpp | Tests: Relay "irc" protocol.
// TRANSLATION MISSING
|          xfer/ | Root of unit tests for Xfer plugin.
// TRANSLATION MISSING
|             test-xfer-file.cpp | Tests: file functions.
// TRANSLATION MISSING
|             test-xfer-network.cpp | Tests: network functions.
|             test-xfer-network.cpp | Tests: network functions.
|===
[[documentation_translations]]
@@ -716,8 +635,7 @@ WeeChat とプラグインの翻訳は gettext で行います、ファイルは
C 言語のコードを書く際には以下の基本的なルールを *必ず* 守ってください。:
// TRANSLATION MISSING
* Use 4 spaces for indentation (no tabs).
* インデントは空白文字を 4 個使ってください。タブ文字を使わないでください、タブ文字は良くありません。
* 読みやすくする必要がある場合を除いて、1
行は 80 文字以内に収めてください。
* コメントは `+/* comment */+` のようにしてください (`+// comment+` のような C99 スタイルのコメントは使わないでください)。
@@ -930,7 +848,7 @@ irc プラグインの _irc.c_ など。
[width="100%",cols="2m,3",options="header"]
|===
| ディレクトリ | ファイル
| src/core/ | weechat.c、core-backtrace.c、core-command.c、...
| src/core/ | weechat.c、wee-backtrace.c、wee-command.c、...
| src/gui/ | gui-bar.c、gui-bar-item.c、gui-bar-window.c、...
| src/gui/curses/ | gui-curses-bar.c、gui-curses-bar-window.c、gui-curses-chat.c、...
| src/plugins/ | plugin.c、plugin-api.c、plugin-api-info.c、plugin-config.c、plugin-script.c、...
@@ -939,7 +857,7 @@ irc プラグインの _irc.c_ など。
|===
C 言語ファイルのヘッダはファイルと同じ名前です、例えばファイル
_core-command.c_ のヘッダファイルは _core-command.h_ です
_wee-command.c_ のヘッダファイルは _wee-command.h_ です
[[naming_convention_structures]]
==== 構造体
File diff suppressed because it is too large Load Diff
-1
View File
@@ -728,7 +728,6 @@ inl:
nicklist_visible_count: 0
title: 'WeeChat 2.9-dev (C) 2003-2020 - https://weechat.org/'
input: 1
input_get_any_user_data: 0
input_get_unknown_commands: 0
input_get_empty: 0
input_multiline: 0
+313 -2
View File
@@ -571,14 +571,325 @@ link:weechat_plugin_api.ja.html[WeeChat プラグイン API リファレンス 
スクリプト API に含まれる関数のリスト:
include::{autogendir}/autogen_scripting_functions.ja.adoc[tag=functions]
[width="100%",cols="1,5",options="header"]
|===
| カテゴリ | 関数
| 一般
| register
| プラグイン
| plugin_get_name
| 設定
| charset_set +
iconv_to_internal +
iconv_from_internal +
gettext +
ngettext +
strlen_screen +
string_match +
string_match_list +
string_has_highlight +
string_has_highlight_regex +
string_mask_to_regex +
string_format_size +
string_parse_size +
string_color_code_size +
string_remove_color +
string_is_command_char +
string_input_for_buffer +
string_eval_expression +
string_eval_path_home
| ディレクトリ操作
| mkdir_home +
mkdir +
mkdir_parents
| ソート済みリスト
| list_new +
list_add +
list_search +
list_search_pos +
list_casesearch +
list_casesearch_pos +
list_get +
list_set +
list_next +
list_prev +
list_string +
list_size +
list_remove +
list_remove_all +
list_free
| 設定ファイル
| config_new +
config_new_section +
config_search_section +
config_new_option +
config_search_option +
config_string_to_boolean +
config_option_reset +
config_option_set +
config_option_set_null +
config_option_unset +
config_option_rename +
config_option_is_null +
config_option_default_is_null +
config_boolean +
config_boolean_default +
config_integer +
config_integer_default +
config_string +
config_string_default +
config_color +
config_color_default +
config_write_option +
config_write_line +
config_write +
config_read +
config_reload +
config_option_free +
config_section_free_options +
config_section_free +
config_free +
config_get +
config_get_plugin +
config_is_set_plugin +
config_set_plugin +
config_set_desc_plugin +
config_unset_plugin
| キー割り当て
| key_bind +
key_unbind
| 表示
| prefix +
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
| フック
| hook_command +
hook_command_run +
hook_timer +
hook_fd +
hook_process +
hook_process_hashtable +
hook_connect +
hook_line +
hook_print +
hook_signal +
hook_signal_send +
hook_hsignal +
hook_hsignal_send +
hook_config +
hook_completion +
hook_modifier +
hook_modifier_exec +
hook_info +
hook_info_hashtable +
hook_infolist +
hook_focus +
hook_set +
unhook +
unhook_all
| バッファ
| buffer_new +
buffer_new_props +
current_buffer +
buffer_search +
buffer_search_main +
buffer_clear +
buffer_close +
buffer_merge +
buffer_unmerge +
buffer_get_integer +
buffer_get_string +
buffer_get_pointer +
buffer_set +
buffer_string_replace_local_var +
buffer_match_list
| ウィンドウ
| current_window +
window_search_with_buffer +
window_get_integer +
window_get_string +
window_get_pointer +
window_set_title
| ニックネームリスト
| nicklist_add_group +
nicklist_search_group +
nicklist_add_nick +
nicklist_search_nick +
nicklist_remove_group +
nicklist_remove_nick +
nicklist_remove_all +
nicklist_group_get_integer +
nicklist_group_get_string +
nicklist_group_get_pointer +
nicklist_group_set +
nicklist_nick_get_integer +
nicklist_nick_get_string +
nicklist_nick_get_pointer +
nicklist_nick_set
| バー
| bar_item_search +
bar_item_new +
bar_item_update +
bar_item_remove +
bar_search +
bar_new +
bar_set +
bar_update +
bar_remove
| コマンド
| command +
command_options
// TRANSLATION MISSING
| completion
| completion_new +
completion_search +
completion_get_string +
completion_list_add +
completion_free
| インフォ
| info_get +
info_get_hashtable
| インフォリスト
| infolist_new +
infolist_new_item +
infolist_new_var_integer +
infolist_new_var_string +
infolist_new_var_pointer +
infolist_new_var_time +
infolist_get +
infolist_next +
infolist_prev +
infolist_reset_item_cursor +
infolist_search_var +
infolist_fields +
infolist_integer +
infolist_string +
infolist_pointer +
infolist_time +
infolist_free
| hdata
| hdata_get +
hdata_get_var_offset +
hdata_get_var_type_string +
hdata_get_var_array_size +
hdata_get_var_array_size_string +
hdata_get_var_hdata +
hdata_get_list +
hdata_check_pointer +
hdata_move +
hdata_search +
hdata_char +
hdata_integer +
hdata_long +
hdata_string +
hdata_pointer +
hdata_time +
hdata_hashtable +
hdata_compare +
hdata_update +
hdata_get_string
| アップグレード
| upgrade_new +
upgrade_write_object +
upgrade_read +
upgrade_close
|===
[[script_api_constants]]
=== 定数
スクリプト API に含まれる定数のリスト:
include::{autogendir}/autogen_scripting_constants.ja.adoc[tag=constants]
[width="100%",cols="1,5",options="header"]
|===
| カテゴリ | 定数
// TRANSLATION MISSING
| リターンコード
| `WEECHAT_RC_OK` (integer) +
`WEECHAT_RC_OK_EAT` (integer) +
`WEECHAT_RC_ERROR` (integer)
// TRANSLATION MISSING
| 設定ファイル
| `WEECHAT_CONFIG_READ_OK` (integer) +
`WEECHAT_CONFIG_READ_MEMORY_ERROR` (integer) +
`WEECHAT_CONFIG_READ_FILE_NOT_FOUND` (integer) +
`WEECHAT_CONFIG_WRITE_OK` (integer) +
`WEECHAT_CONFIG_WRITE_ERROR` (integer) +
`WEECHAT_CONFIG_WRITE_MEMORY_ERROR` (integer) +
`WEECHAT_CONFIG_OPTION_SET_OK_CHANGED` (integer) +
`WEECHAT_CONFIG_OPTION_SET_OK_SAME_VALUE` (integer) +
`WEECHAT_CONFIG_OPTION_SET_ERROR` (integer) +
`WEECHAT_CONFIG_OPTION_SET_OPTION_NOT_FOUND` (integer) +
`WEECHAT_CONFIG_OPTION_UNSET_OK_NO_RESET` (integer) +
`WEECHAT_CONFIG_OPTION_UNSET_OK_RESET` (integer) +
`WEECHAT_CONFIG_OPTION_UNSET_OK_REMOVED` (integer) +
`WEECHAT_CONFIG_OPTION_UNSET_ERROR` (integer)
// TRANSLATION MISSING
| ソート済みリスト
| `WEECHAT_LIST_POS_SORT` (string) +
`WEECHAT_LIST_POS_BEGINNING` (string) +
`WEECHAT_LIST_POS_END` (string)
// TRANSLATION MISSING
| ホットリスト
| `WEECHAT_HOTLIST_LOW` (string) +
`WEECHAT_HOTLIST_MESSAGE` (string) +
`WEECHAT_HOTLIST_PRIVATE` (string) +
`WEECHAT_HOTLIST_HIGHLIGHT` (string)
// TRANSLATION MISSING
| プロセスのフック
| `WEECHAT_HOOK_PROCESS_RUNNING` (integer) +
`WEECHAT_HOOK_PROCESS_ERROR` (integer)
// TRANSLATION MISSING
| 接続のフック
| `WEECHAT_HOOK_CONNECT_OK` (integer) +
`WEECHAT_HOOK_CONNECT_ADDRESS_NOT_FOUND` (integer) +
`WEECHAT_HOOK_CONNECT_IP_ADDRESS_NOT_FOUND` (integer) +
`WEECHAT_HOOK_CONNECT_CONNECTION_REFUSED` (integer) +
`WEECHAT_HOOK_CONNECT_PROXY_ERROR` (integer) +
`WEECHAT_HOOK_CONNECT_LOCAL_HOSTNAME_ERROR` (integer) +
`WEECHAT_HOOK_CONNECT_GNUTLS_INIT_ERROR` (integer) +
`WEECHAT_HOOK_CONNECT_GNUTLS_HANDSHAKE_ERROR` (integer) +
`WEECHAT_HOOK_CONNECT_MEMORY_ERROR` (integer) +
`WEECHAT_HOOK_CONNECT_TIMEOUT` (integer) +
`WEECHAT_HOOK_CONNECT_SOCKET_ERROR` (integer)
// TRANSLATION MISSING
| シグナルのフック
| `WEECHAT_HOOK_SIGNAL_STRING` (string) +
`WEECHAT_HOOK_SIGNAL_INT` (string) +
`WEECHAT_HOOK_SIGNAL_POINTER` (string)
|===
[[common_tasks]]
== 良くあるタスク
+25 -102
View File
@@ -36,8 +36,7 @@ WeeChat (Wee Enhanced Environment for Chat)
https://datatracker.ietf.org/doc/html/rfc2812[2812 ^↗^^]、
https://datatracker.ietf.org/doc/html/rfc2813[2813 ^↗^^]、
https://datatracker.ietf.org/doc/html/rfc7194[7194 ^↗^^]。
// TRANSLATION MISSING
* IRC proxy and relay for WeeChat and remote interfaces
* リモートインターフェース用の IRC プロキシとリレー
* マルチプラットフォーム (GNU/Linux、*BSD、macOS、Windows 等)
* 完全な GPL、フリーソフトウェア
@@ -145,8 +144,7 @@ WeeChat:
// TRANSLATION MISSING
| zlib1g-dev |
| Logger plugin: compression of rotated log files (gzip). +
Relay plugin: compression of messages (WeeChat -> client) with https://zlib.net/[zlib ^↗^^]
(api and weechat protocols). +
Relay plugin: compression of messages (WeeChat -> client) with https://zlib.net/[zlib ^↗^^] (weechat protocol). +
Script plugin: read of repository index file (gzip).
|===
@@ -175,15 +173,10 @@ WeeChat:
| ca-certificates |
| TLS 接続に必要な証明書、relay プラグインで TLS サポート
// TRANSLATION MISSING
| libcjson-dev |
| Relay plugin: protocol "api" (HTTP REST API).
// TRANSLATION MISSING
| 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 ^↗^^]
(api and weechat protocols).
Relay plugin: compression of messages (WeeChat -> client) with https://facebook.github.io/zstd/[Zstandard ^↗^^] (weechat protocol).
| libaspell-dev / libenchant-dev |
| spell プラグイン
@@ -305,10 +298,6 @@ List of available options:
| ENABLE_CHARSET | `ON`, `OFF` | ON
| <<charset,Charset プラグイン>>のコンパイル。
// TRANSLATION MISSING
| ENABLE_CJSON | `ON`, `OFF` | ON
| Support of JSON with https://github.com/DaveGamble/cJSON[cJSON ^↗^^] library.
| ENABLE_MAN | `ON`, `OFF` | OFF
| man ページのコンパイル。
@@ -568,11 +557,11 @@ Copying output to /tmp/crash.txt.
at /some_path/src/core/weechat.c:351
#3 <signal handler called>
#4 0x000000000044cb24 in hook_process_timer_cb (arg_hook_process=0x254eb90,
remaining_calls=<value optimized out>) at /some_path/src/core/core-hook.c:1364
remaining_calls=<value optimized out>) at /some_path/src/core/wee-hook.c:1364
hook_process = 0x254eb90
status = <value optimized out>
#5 0x000000000044cc7d in hook_timer_exec ()
at /some_path/src/core/core-hook.c:1025
at /some_path/src/core/wee-hook.c:1025
tv_time = {tv_sec = 1272693881, tv_usec = 212665}
ptr_hook = 0x2811f40
next_hook = 0x0
@@ -2868,40 +2857,27 @@ WeeChat はデフォルトマウスイベントの多くを定義しています
イベント名には修飾キー (任意)、ボタン/ホイール名、ジェスチャー (任意)
を利用できます。異なるイベントは `+-+` で分割してください。
// TRANSLATION MISSING
List of modifiers (by order in the event name):
修飾キーリスト:
[width="100%",cols="1m,4",options="header"]
|===
| 修飾キー | 説明
| alt | kbd:[Alt] キー
| ctrl | kbd:[Ctrl] キー
| shift | kbd:[Shift] キー ^(1)^
| alt | kbd:[Alt] キー
| ctrl-alt | kbd:[Ctrl] + kbd:[Alt] キー
|===
// TRANSLATION MISSING
[NOTE]
^(1)^ The `shift` modifier can rarely be used in WeeChat because many terminals
use this modifier to catch directly mouse events.
// TRANSLATION MISSING
Several modifiers can be combined, for example:
* `alt-ctrl`
* `ctrl-shift`
* `alt-ctrl-shift`
ボタン/ホイールのリスト:
[width="100%",cols="1m,4",options="header"]
|===
| ボタン/ホイール | 説明
| button1 | 左ボタンクリック
| button2 | 右ボタンクリック
| button3 | 中ボタンクリック (多くの場合ホイールクリック)
| button4 ... button11 | その他のボタンクリック
| wheelup | ホイール (上方向)
| wheeldown | ホイール (下方向)
| ボタン/ホイール | 説明
| button1 | 左ボタンクリック
| button2 | 右ボタンクリック
| button3 | 中ボタンクリック (多くの場合ホイールクリック)
| button4 ... button9 | その他のボタンクリック
| wheelup | ホイール (上方向)
| wheeldown | ホイール (下方向)
|===
ジェスチャーのリスト (ボタンのみ対応、ホイール未対応):
@@ -2937,7 +2913,7 @@ Several modifiers can be combined, for example:
* `button1-event-drag`
* `alt-button2-gesture-down-long`
* `wheelup`
* `alt-ctrl-wheeldown`
* `ctrl-alt-wheeldown`
* ...
[TIP]
@@ -4755,15 +4731,8 @@ Relay プラグインはネットワークを介して異なるプロトコル
* _irc_: IRC プロキシ: IRC サーバに対する接続を、単一または複数の IRC
クライアントで共有するために用います。
// TRANSLATION MISSING
* _api_: HTTP REST API, used by WeeChat and remote interfaces to display and
interact with WeeChat
// TRANSLATION MISSING
* _weechat_: protocol used by remote interfaces to display and interact with
WeeChat.
// TRANSLATION MISSING
For _api_ and _weechat_ protocols, see the list of remote interfaces on
https://weechat.org/about/interfaces/[this page ^↗^^].
WeeChat, see https://weechat.org/about/interfaces/[this page ^↗^^].
[[relay_password]]
=== パスワード
@@ -4776,15 +4745,13 @@ secure set relay mypassword
/set relay.network.password "${sec.data.relay}"
----
// TRANSLATION MISSING
This password is used with all protocols.
このパスワードは _irc_ と _weechat_ プロトコルで利用されます。
[[relay_totp]]
=== TOTP
// TRANSLATION MISSING
TOTP (Time-based One-Time Password) can be used as secondary authentication
factor for _api_ and _weechat_ protocols, in addition to the password.
_weechat_ プロトコルでは、パスワードに加えて、二要素認証の
TOTP (時間ベースのワンタイムパスワード) を使うことが可能です。
これは任意設定項目であり、セキュリティレベルを向上させます。
@@ -4881,40 +4848,6 @@ commands:
/set irc.server.relay.password "${sec.data.relay_libera}"
----
// TRANSLATION MISSING
[[relay_api_protocol]]
=== API protocol
The Relay plugin can send data to a remote WeeChat or interface using an
HTTP REST API protocol.
You can browse and test the API online:
https://weechat.org/api/[WeeChat Relay API ^↗^^].
You can connect with WeeChat or a remote interface, see
https://weechat.org/about/interfaces/[this page ^↗^^].
For example:
----
/relay add api 9000
----
Now you can connect on port 9000 with a WeeChat or a remote interface using
password "mypassword".
To connect to an _api_ relay with WeeChat:
----
/remote add weechat http://localhost:9000 -password=mypassword
/remote connect weechat
----
[NOTE]
The remote WeeChat must expose the same API version as the local WeeChat, so
it's highly recommended to use exactly the same WeeChat version on remote
and local client.
[[relay_weechat_protocol]]
=== WeeChat プロトコル
@@ -4954,11 +4887,8 @@ HTML5 を使えばたった 1 行の JavaScript で WebSocket をオープンす
websocket = new WebSocket("ws://server.com:9000/weechat");
----
ポート番号 (例では 9000 番) は Relay プラグインで定義したものです。
// TRANSLATION MISSING
The URI must end with "/weechat" for _irc_ and _weechat_ protocols and "/api"
for _api_ protocol.
ポート番号 (例では 9000 番) は Relay プラグインで定義したものです。URI
の最後には必ず "/weechat" をつけます (_irc_ と _weechat_ プロトコルの場合)。
[[relay_unix_socket]]
=== UNIX ドメインソケット
@@ -5001,7 +4931,7 @@ _relay.conf_ ファイル内のセクション:
| network | /set relay.network.* | ネットワークオプション
| irc | /set relay.irc.* | 特定の irc プロトコルのオプション (irc プロキシ)
| port | <<command_relay_relay,/relay add>> +
/set relay.port.* | リレーに使うポート (オプションをセクションに追加/削除出来ます)
/set relay.port.* | リレーに使うポート(irc や weechat プロトコル) (オプションをセクションに追加/削除出来ます)
|===
オプション:
@@ -5415,9 +5345,7 @@ Matching groups can be used in _replace_:
* `+${re:0}+` to `+${re:99}+`: `+${re:0}+` is the whole match, `+${re:1}+` to
`+${re:99}+` are groups captured
* `pass:[${re:+}]`: the last match (with highest number)
* `+${re:#}+`: index of last group captured
* `+${re:repl_index}+`: index of replacement being done (starts to 1)
* `+${re:+}+`: the last match (with highest number)
* `+${hide:c,${re:N}}+`: match "N" with all chars replaced by "c"
(example: `+${hide:*,${re:2}}+` is the group #2 with all chars replaced by
`+*+`).
@@ -5569,7 +5497,7 @@ All callbacks set following variables in hashtable:
| server | string | サーバの名前 (例: "libera")
| tags | string | メッセージ内のタグ (使われることはまれです)
| message_without_tags | string | タグを含まないメッセージ
| nick | string | ニックネーム ^(1)^
| nick | string | ニックネーム
| host | string | ホスト名
| command | string | IRC コマンド (例: "PRIVMSG"、"NOTICE"、...)
| channel | string | IRC チャンネル
@@ -5581,11 +5509,6 @@ All callbacks set following variables in hashtable:
| pos_text | string | メッセージ内における _text_ のインデックス (_text_ が見つからない場合 "-1")
|===
// TRANSLATION MISSING
[NOTE]
^(1)^ The nick is the sender of the message. +
Your own nick on the server is `${irc_server.nick}`.
データがポインタの場合、hdata の属性を読むために変数 `+tg_signal_data+`
を以下のようにして使うことが可能です (以下の例では、バッファのポインタとして使っています):
+305 -2
View File
@@ -557,14 +557,317 @@ link:weechat_plugin_api.en.html[Opisu API wtyczek WeeChat ^↗^^] (Angielski).
Lista funkcji w API skryptów:
include::{autogendir}/autogen_scripting_functions.pl.adoc[tag=functions]
[width="100%",cols="1,5",options="header"]
|===
| Kategoria | Funkcje
| ogólne
| register
| wtyczki
| plugin_get_name
| ciągi
| charset_set +
iconv_to_internal +
iconv_from_internal +
gettext +
ngettext +
strlen_screen +
string_match +
string_match_list +
string_has_highlight +
string_has_highlight_regex +
string_mask_to_regex +
string_format_size +
string_parse_size +
string_color_code_size +
string_remove_color +
string_is_command_char +
string_input_for_buffer +
string_eval_expression +
string_eval_path_home
| katalogi
| mkdir_home +
mkdir +
mkdir_parents
| przechowywane listy
| list_new +
list_add +
list_search +
list_search_pos +
list_casesearch +
list_casesearch_pos +
list_get +
list_set +
list_next +
list_prev +
list_string +
list_size +
list_remove +
list_remove_all +
list_free
| pliki konfiguracyjne
| config_new +
config_new_section +
config_search_section +
config_new_option +
config_search_option +
config_string_to_boolean +
config_option_reset +
config_option_set +
config_option_set_null +
config_option_unset +
config_option_rename +
config_option_is_null +
config_option_default_is_null +
config_boolean +
config_boolean_default +
config_integer +
config_integer_default +
config_string +
config_string_default +
config_color +
config_color_default +
config_write_option +
config_write_line +
config_write +
config_read +
config_reload +
config_option_free +
config_section_free_options +
config_section_free +
config_free +
config_get +
config_get_plugin +
config_is_set_plugin +
config_set_plugin +
config_set_desc_plugin +
config_unset_plugin
| przypisania klawiszy
| key_bind +
key_unbind
| wyświetlanie
| prefix +
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
| hook_command +
hook_command_run +
hook_timer +
hook_fd +
hook_process +
hook_process_hashtable +
hook_connect +
hook_line +
hook_print +
hook_signal +
hook_signal_send +
hook_hsignal +
hook_hsignal_send +
hook_config +
hook_completion +
hook_modifier +
hook_modifier_exec +
hook_info +
hook_info_hashtable +
hook_infolist +
hook_focus +
hook_set +
unhook +
unhook_all
| bufory
| buffer_new +
buffer_new_props +
current_buffer +
buffer_search +
buffer_search_main +
buffer_clear +
buffer_close +
buffer_merge +
buffer_unmerge +
buffer_get_integer +
buffer_get_string +
buffer_get_pointer +
buffer_set +
buffer_string_replace_local_var +
buffer_match_list
| okna
| current_window +
window_search_with_buffer +
window_get_integer +
window_get_string +
window_get_pointer +
window_set_title
| lista nicków
| nicklist_add_group +
nicklist_search_group +
nicklist_add_nick +
nicklist_search_nick +
nicklist_remove_group +
nicklist_remove_nick +
nicklist_remove_all +
nicklist_group_get_integer +
nicklist_group_get_string +
nicklist_group_get_pointer +
nicklist_group_set +
nicklist_nick_get_integer +
nicklist_nick_get_string +
nicklist_nick_get_pointer +
nicklist_nick_set
| paski
| bar_item_search +
bar_item_new +
bar_item_update +
bar_item_remove +
bar_search +
bar_new +
bar_set +
bar_update +
bar_remove
| komendy
| command +
command_options
| dopełnienia
| completion_new +
completion_search +
completion_get_string +
completion_list_add +
completion_free
| informacje
| info_get +
info_get_hashtable
| infolisty
| infolist_new +
infolist_new_item +
infolist_new_var_integer +
infolist_new_var_string +
infolist_new_var_pointer +
infolist_new_var_time +
infolist_get +
infolist_next +
infolist_prev +
infolist_reset_item_cursor +
infolist_search_var +
infolist_fields +
infolist_integer +
infolist_string +
infolist_pointer +
infolist_time +
infolist_free
| hdata
| hdata_get +
hdata_get_var_offset +
hdata_get_var_type_string +
hdata_get_var_array_size +
hdata_get_var_array_size_string +
hdata_get_var_hdata +
hdata_get_list +
hdata_check_pointer +
hdata_move +
hdata_search +
hdata_char +
hdata_integer +
hdata_long +
hdata_string +
hdata_pointer +
hdata_time +
hdata_hashtable +
hdata_compare +
hdata_update +
hdata_get_string
| uaktualnienie
| upgrade_new +
upgrade_write_object +
upgrade_read +
upgrade_close
|===
[[script_api_constants]]
=== Stałe
Lista stałych w API skryptów:
include::{autogendir}/autogen_scripting_constants.pl.adoc[tag=constants]
[width="100%",cols="1,5",options="header"]
|===
| Kategoria | Stałe
| zwracane kody
| `WEECHAT_RC_OK` (liczba całkowita) +
`WEECHAT_RC_OK_EAT` (liczba całkowita) +
`WEECHAT_RC_ERROR` (liczba całkowita)
| pliki konfiguracyjne
| `WEECHAT_CONFIG_READ_OK` (liczba całkowita) +
`WEECHAT_CONFIG_READ_MEMORY_ERROR` (liczba całkowita) +
`WEECHAT_CONFIG_READ_FILE_NOT_FOUND` (liczba całkowita) +
`WEECHAT_CONFIG_WRITE_OK` (liczba całkowita) +
`WEECHAT_CONFIG_WRITE_ERROR` (liczba całkowita) +
`WEECHAT_CONFIG_WRITE_MEMORY_ERROR` (liczba całkowita) +
`WEECHAT_CONFIG_OPTION_SET_OK_CHANGED` (liczba całkowita) +
`WEECHAT_CONFIG_OPTION_SET_OK_SAME_VALUE` (liczba całkowita) +
`WEECHAT_CONFIG_OPTION_SET_ERROR` (liczba całkowita) +
`WEECHAT_CONFIG_OPTION_SET_OPTION_NOT_FOUND` (liczba całkowita) +
`WEECHAT_CONFIG_OPTION_UNSET_OK_NO_RESET` (liczba całkowita) +
`WEECHAT_CONFIG_OPTION_UNSET_OK_RESET` (liczba całkowita) +
`WEECHAT_CONFIG_OPTION_UNSET_OK_REMOVED` (liczba całkowita) +
`WEECHAT_CONFIG_OPTION_UNSET_ERROR` (liczba całkowita)
| posortowane listy
| `WEECHAT_LIST_POS_SORT` (ciąg) +
`WEECHAT_LIST_POS_BEGINNING` (ciąg) +
`WEECHAT_LIST_POS_END` (ciąg)
| hotlisty
| `WEECHAT_HOTLIST_LOW` (ciąg) +
`WEECHAT_HOTLIST_MESSAGE` (ciąg) +
`WEECHAT_HOTLIST_PRIVATE` (ciąg) +
`WEECHAT_HOTLIST_HIGHLIGHT` (ciąg)
| hook process
| `WEECHAT_HOOK_PROCESS_RUNNING` (liczba całkowita) +
`WEECHAT_HOOK_PROCESS_ERROR` (liczba całkowita)
| hook connect
| `WEECHAT_HOOK_CONNECT_OK` (liczba całkowita) +
`WEECHAT_HOOK_CONNECT_ADDRESS_NOT_FOUND` (liczba całkowita) +
`WEECHAT_HOOK_CONNECT_IP_ADDRESS_NOT_FOUND` (liczba całkowita) +
`WEECHAT_HOOK_CONNECT_CONNECTION_REFUSED` (liczba całkowita) +
`WEECHAT_HOOK_CONNECT_PROXY_ERROR` (liczba całkowita) +
`WEECHAT_HOOK_CONNECT_LOCAL_HOSTNAME_ERROR` (liczba całkowita) +
`WEECHAT_HOOK_CONNECT_GNUTLS_INIT_ERROR` (liczba całkowita) +
`WEECHAT_HOOK_CONNECT_GNUTLS_HANDSHAKE_ERROR` (liczba całkowita) +
`WEECHAT_HOOK_CONNECT_MEMORY_ERROR` (liczba całkowita) +
`WEECHAT_HOOK_CONNECT_TIMEOUT` (liczba całkowita) +
`WEECHAT_HOOK_CONNECT_SOCKET_ERROR` (liczba całkowita)
| hook signal
| `WEECHAT_HOOK_SIGNAL_STRING` (ciąg) +
`WEECHAT_HOOK_SIGNAL_INT` (ciąg) +
`WEECHAT_HOOK_SIGNAL_POINTER` (ciąg)
|===
[[common_tasks]]
== Częste zadania
+24 -91
View File
@@ -35,7 +35,7 @@ Główne cechy to:
https://datatracker.ietf.org/doc/html/rfc2812[2812 ^↗^^],
https://datatracker.ietf.org/doc/html/rfc2813[2813 ^↗^^] i
https://datatracker.ietf.org/doc/html/rfc7194[7194 ^↗^^]
* proxy IRC i pośrednik dla WeeChat i zdalnych interfejsów
* proxy IRC i pośrednik dla zdalnych interfejsów
* wielo-platformowy (GNU/Linux, *BSD, macOS, Windows i inne)
* 100% GPL, darmowe oprogramowanie
@@ -132,8 +132,7 @@ WeeChat:
| zlib1g-dev |
| Wtyczka logger: kompresja rotowanych plików z logami (gzip). +
Wtyczka relay: kompresja wiadomości (WeeChat -> klient) za pomocą https://zlib.net/[zlib ^↗^^]
(protokoły api i weechat). +
Wtyczka relay: kompresja wiadomości (WeeChat -> klient) za pomocą https://zlib.net/[zlib ^↗^^] (protokół weechat). +
Wtyczka script: odczyt repozytorium ze skryptami (gzip).
|===
@@ -159,13 +158,9 @@ WeeChat:
| ca-certificates |
| Certyfikaty dla połączeń TLS.
| libcjson-dev |
| Wtyczka relay: protokół "api" (HTTP REST API).
| 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 ^↗^^]
(protokoły api i weechat).
Wtyczka Relay: kompresja wiadomości (WeeChat -> klient) za pomocą https://facebook.github.io/zstd/[Zstandard ^↗^^] (protokół weechat).
| libaspell-dev / libenchant-dev |
| Wtyczka spell.
@@ -282,9 +277,6 @@ Lista dostępnych opcji:
| ENABLE_CHARSET | `ON`, `OFF` | ON
| Kompilacja <<charset,wtyczki charset>>.
| ENABLE_CJSON | `ON`, `OFF` | ON
| Wsparcie dla JSON z użyciem biblioteki https://github.com/DaveGamble/cJSON[cJSON ^↗^^].
| ENABLE_MAN | `ON`, `OFF` | OFF
| Generowanie strony manuala.
@@ -531,11 +523,11 @@ Copying output to /tmp/crash.txt.
at /some_path/src/core/weechat.c:351
#3 <signal handler called>
#4 0x000000000044cb24 in hook_process_timer_cb (arg_hook_process=0x254eb90,
remaining_calls=<value optimized out>) at /some_path/src/core/core-hook.c:1364
remaining_calls=<value optimized out>) at /some_path/src/core/wee-hook.c:1364
hook_process = 0x254eb90
status = <value optimized out>
#5 0x000000000044cc7d in hook_timer_exec ()
at /some_path/src/core/core-hook.c:1025
at /some_path/src/core/wee-hook.c:1025
tv_time = {tv_sec = 1272693881, tv_usec = 212665}
ptr_hook = 0x2811f40
next_hook = 0x0
@@ -2697,37 +2689,27 @@ Możesz zmienić lub dodać przypisania za pomocą komendy `/key` używając kon
Nazwa zdarzenia zawiera modyfikator (opcjonalny), nazwę klawisza/rolki i gest
(opcjonalny). Różne elementy są rozdzielane przez `+-+`.
Lista modyfikatorów (według nazwy):
Lista modyfikatorów:
[width="100%",cols="1m,4",options="header"]
|===
| Modyfikator | Opis
| alt | Klawisz kbd:[Alt]
| ctrl | Klawisz kbd:[Ctrl]
| shift | Klawisz kbd:[Shift] ^(1)^
| alt | Klawisz kbd:[Alt]
| ctrl-alt | Klawisze kbd:[Ctrl] + kbd:[Alt]
|===
[NOTE]
^(1)^ Modyfikator `shift` można sporadycznie użyć w WeeChat ponieważ terminale
zazwyczaj używają tego modyfikatora do przechwytywania ewentów myszy.
Modyfikatory można ze sobą łączyć, na przykład:
* `alt-ctrl`
* `ctrl-shift`
* `alt-ctrl-shift`
Lista klawiszy/rolek:
[width="100%",cols="1m,4",options="header"]
|===
| Klawisz/rolka | Opis
| button1 | Lewy klawisz myszy
| button2 | Prawy klawisz myszy
| button3 | Środkowy klawisz myszy (często naciśnięcie rolki)
| button4 ... button11 | Dodatkowe klawisze
| wheelup | Rolka (w górę)
| wheeldown | Rolka (w dół)
| Klawisz/rolka | Opis
| button1 | Lewy klawisz myszy
| button2 | Prawy klawisz myszy
| button3 | Środkowy klawisz myszy (często naciśnięcie rolki)
| button4 ... button9 | Dodatkowe klawisze
| wheelup | Rolka (w górę)
| wheeldown | Rolka (w dół)
|===
Lista gestów (tylko dla klawiszy, nie rolki):
@@ -2763,7 +2745,7 @@ Przykłady zdarzeń:
* `button1-event-drag`
* `alt-button2-gesture-down-long`
* `wheelup`
* `alt-ctrl-wheeldown`
* `ctrl-alt-wheeldown`
* ...
[TIP]
@@ -4563,13 +4545,8 @@ protokołów:
* _irc_: pośrednik IRC: używany do dzielenia połączeń z serwerami IRC z jednym
lub wieloma klientami IRC
* _api_: HTTP REST API, używane przez WeeChat i zdalne interfejsy do wyświetlania
i interakcji z WeeChat
* _weechat_: protokół używany przez zdalne interfejsy do wyświetlania i interakcji
z WeeChat.
Listę dostępnych zdalnych interfejsów dla protokołów _api_ i _weechat_ można znaleźć na
https://weechat.org/about/interfaces/[tej stronie ^↗^^].
z WeeChat, zobacz https://weechat.org/about/interfaces/[tą stronę ^↗^^].
[[relay_password]]
=== Hasło
@@ -4581,14 +4558,13 @@ Zaleca się ustawenia hasła dla pośrednika za pomocą poniższych komend:
/set relay.network.password "${sec.data.relay}"
----
To hasło jest używane przez wszystkie protokoły.
Hasło to używane jest przez protokoły _irc_ i _weechat_.
[[relay_totp]]
=== TOTP
TOTP (Time-based One-Time Password) może być użyte jako drugi składnik uwierzytelniania
dla protokołów _api_ i _weechat_, poza samym hasłem.
TOTP (Time-based One-Time Password) może zostać użyte jako drugi stopień uwierzytelnienia
dla protokołu _weechat_, poza normalnym hasłem.
Jest to opcjomalne ale podnosi to poziom bezpieczeństwa.
This is optional and increases the security level.
@@ -4682,41 +4658,6 @@ za pomocą tych komend:
/set irc.server.relay.password "{sec.data.relay_libera}"
----
[[relay_api_protocol]]
=== Protokół API
Wtyczka Relay może wysyłać dane do zdalnego WeeChat lub interfejsu za pomocą
protokołu HTTP REST API.
Możesz przeglądać i testować API online:
https://weechat.org/api/[WeeChat Relay API ^↗^^].
Możesz się połączyć przez WeeChat lub zdalnym interfejsem, sprawdź
https://weechat.org/about/interfaces/[tą stronę ^↗^^].
Na przykład:
----
/relay add api 9000
----
Możesz teraz połączyć się na porcie 9000 używając WeeChat lub zdalnym interfejsem
używając hasła
Now you can connect on port 9000 with a WeeChat or a remote interface using
password "moje_hasło".
Łączenie się z pośrednikiem _api_ z WeeChat:
----
/remote add weechat http://localhost:9000 -password=mypassword
/remote connect weechat
----
[NOTE]
Zdalny WeeChat musi używać tej samej wersji API co lokalny WeeChat, zaleca się
używanie dokładnie tych samych wersji WeeChat zarówno lokalnie jak i na zdalnej
maszynie.
[[relay_weechat_protocol]]
=== Protokół WeeChat
@@ -4757,9 +4698,7 @@ websocket = new WebSocket("ws://server.com:9000/weechat");
----
Port (9000 w przykładzie) to port zdefiniowany we wtyczce relay.
URI musi się kończyć "/weechat" dla protokołów _irc_ i _weechat_ oraz "/api"
dla protokołu _api_.
Adres URL musi się zawsze kończyć "/weechat" (dla protokołów _irc_ i _weechat_).
[[relay_unix_socket]]
=== Sockety UNIXowe
@@ -4802,7 +4741,7 @@ Sekcje w pliku _relay.conf_:
| network | /set relay.network.* | Opcje sieci.
| irc | /set relay.irc.* | Opcje specyficzne dla protokołu irc (pośrednik irc).
| port | <<command_relay_relay,/relay add>> +
/set relay.port.* | Porty używane do przekazywania (opcje w tej sekcji mogą być dodawane/usuwane).
/set relay.port.* | Porty używane do przekazywania (protokoły irc i weechat) (opcje w tej sekcji mogą być dodawane/usuwane).
|===
Opcje:
@@ -5222,9 +5161,7 @@ Dopasowanie grup może być także użyte:
* `+${re:0}+` do `+${re:99}+`: `+${re:0}+` to pełne dopasowanie, `+${re:1}+` do
`+${re:99}+` to złapane grupy
* `pass:[${re:+}]`: ostatnie dopasowanie (z najwyższym numerem)
* `+${re:#}+`: index of last group captured
* `+${re:repl_index}+`: index of replacement being done (starts to 1)
* `+${re:+}+`: ostatnie dopasowanie (z najwyższym numerem)
* `+${hide:c,${re:N}}+`: dopasuje "N" ze wszystkimi znakami zastąpionymi przez "c"
(przykład: `+${hide:*,${re:2}}+` to grupa #2 ze wszystkimi znakami zastąpionymi przez
`+*+`).
@@ -5373,7 +5310,7 @@ są dodawane do tablicy hashy:
| server | ciąg | Nazwa serwera (przykład: "libera").
| tags | ciąg | Tagi w wiadomości (rzadko używane).
| message_without_tags | ciąg | Wiadomość bez tagów.
| nick | ciąg | Nick. ^(1)^
| nick | ciąg | Nick.
| host | ciąg | Nazwa hosta.
| command | ciąg | Komendy IRC (na przykład: "PRIVMSG", "NOTICE", ...).
| channel | ciąg | Kanał IRC.
@@ -5385,10 +5322,6 @@ są dodawane do tablicy hashy:
| pos_text | ciąg | Indeks _text_ w wiadomości ("-1" jeśli _text_ nie został znaleziony).
|===
[NOTE]
^(1)^ Nick to nadawca wiadomości. +
Twój nick na serwerze to `${irc_server.nick}`.
Kiedy dane są wskaźnikiem, zmienna `+tg_signal_data+` może zostać użyta do
odczytania pola w hdata (w tym przypadku jest to wskaźnik na bufor):
@@ -28,12 +28,12 @@ from textwrap import indent
import re
DOC_DIR = Path(__file__).resolve().parent.parent / "doc" / "en"
DOC_DIR = Path(__file__).resolve().parent / "en"
SRC_DIR = Path(__file__).resolve().parent.parent / "src"
STUB_HEADER = """\
#
# WeeChat Python stub file, auto-generated by generate_python_stub.py.
# WeeChat Python stub file, auto-generated by python_stub.py.
# DO NOT EDIT BY HAND!
#
@@ -41,7 +41,8 @@ from typing import Dict, Union
"""
CONSTANT_RE = (
r"WEECHAT_SCRIPT_CONST_(?P<type>(INT|STR))\((?P<constant>WEECHAT_[A-Z0-9_]+)\)"
r"( |\|) `(?P<constant>WEECHAT_[A-Z0-9_]+)` "
r"\((?P<type>(string|integer))\)(?: \+)?"
)
FUNCTION_RE = r"""\[source,python\]
@@ -52,20 +53,25 @@ def (?P<function>\w+)(?P<args>[^)]*)(?P<return>\) -> [^:]+:) \.\.\.(?P<example>.
def print_stub_constants() -> None:
"""Print constants, extracted from the plugin-script.c."""
"""Print constants, extracted from the Scripting guide."""
types = {
"integer": "int",
"string": "str",
}
constant_pattern = re.compile(CONSTANT_RE)
with open(
SRC_DIR / "plugins" / "plugin-script.c", encoding="utf-8"
) as plugin_script_file, open(
DOC_DIR / "weechat_scripting.en.adoc", encoding="utf-8"
) as scripting_file, open(
SRC_DIR / "plugins" / "weechat-plugin.h", encoding="utf-8"
) as plugin_public_header_file:
plugin_script = plugin_script_file.read()
plugin_public_header = plugin_public_header_file.read()
for match in constant_pattern.finditer(plugin_script):
) as plugin_header_file:
scripting = scripting_file.read()
plugin_header = plugin_header_file.read()
for match in constant_pattern.finditer(scripting):
value_re = rf'^#define {match["constant"]} +(?P<value>[\w"-]+)$'
value_match = re.search(value_re, plugin_public_header, re.MULTILINE)
value_match = re.search(value_re, plugin_header, re.MULTILINE)
value = f' = {value_match["value"]}' if value_match else ""
print(f'{match["constant"]}: {match["type"].lower()}{value}')
print(f'{match["constant"]}: {types[match["type"]]}{value}')
def print_stub_functions() -> None:
+350 -390
View File
@@ -115,96 +115,96 @@ WeeChat „језгро” се налази у следећим директо
[width="100%", cols="2m,3", options="header"]
|===
| Путања/фајл | Опис
| core/ | Функције језгра: тачка улаза, интерне структуре.
|    core-arraylist.c | Листе низова.
|    core-backtrace.c | Испис трага након краха.
|    core-calc.c | Израчунавање резултата израза.
|    core-command.c | WeeChat команде језгра.
|    core-completion.c | Подразумевана довршавања.
|    core-config-file.c | Управљање конфигурационим фајловима.
|    core-config.c | Конфигурационе опције за WeeChat језгро (фајл weechat.conf).
|    core-crypto.c | Криптографске функције.
|    core-debug.c | Неке дибаг функције.
|    core-dir.c | Функције директоријума/фајла.
|    core-doc.c | Изградња фајлова за документацију.
|    core-eval.c | Израчунавање израза са референцама на интерне променљиве.
|    core-hashtable.c | Хеш табеле.
|    core-hdata.c | Hdata (директни приступ подацима употребом хеш табела).
|    core-hook.c | Куке.
|    core-infolist.c | Инфолисте (листе са подацима објеката).
|    core-input.c | Унос команди/текста.
|    core-list.c | Сортиране листе.
|    core-log.c | Упис у WeeChat лог фајл (weechat.log).
|    core-network.c | Мрежне функције (повезивање са серверима/проксијима).
|    core-proxy.c | Управљање проксијима.
|    core-secure.c | Функције обезбеђених података.
|    core-secure-buffer.c | Бафер обезбеђених података.
|    core-secure-config.c | Опције обезбеђених података (фајл sec.conf).
|    core-string.c | Функције над стринговима.
|    core-sys.c | Системске функције.
|    core-upgrade-file.c | Интерни систем ажурирања.
|    core-upgrade.c | Ажурирање за WeeChat језгро (бафери, линије, историја, ...).
|    core-url.c | URL трансфер (помоћу libcurl).
|    core-utf8.c | UTF-8 функције.
|    core-util.c | Неке друге функције.
|    core-version.c | Функције за WeeChat верзију.
|    weechat.c | Основне функције: опције командне линије, покретање.
|    hook/ | Функције кука.
|       hook-command-run.c | Кука "command_run".
|       hook-command.c | Кука "command".
|       hook-completion.c | Кука "completion".
|       hook-config.c | Кука "config".
|       hook-connect.c | Кука "connect".
|       hook-fd.c | Кука "fd".
|       hook-focus.c | Кука "focus".
|       hook-hdata.c | Кука "hdata".
|       hook-hsignal.c | Кука "hsignal".
|       hook-info-hashtable.c | Кука "info_hashtable".
|       hook-info.c | Кука "info".
|       hook-infolist.c | Кука "infolist".
|       hook-line.c | Кука "line".
|       hook-modifier.c | Кука "modifier".
|       hook-print.c | Кука "print".
|       hook-process.c | Кука "process".
|       hook-signal.c | Кука "signal".
|       hook-timer.c | Кука "timer".
|       hook-url.c | Кука "url".
| gui/ | Функције за бафере, прозоре, ... (користе их сви интерфејси).
|    gui-bar-item.c | Ставке трака.
|    gui-bar-window.c | Прозори трака.
|    gui-bar.c | Траке.
|    gui-buffer.c | Бафери.
|    gui-chat.c | Функције разговора (призаз поруке, ...).
|    gui-color.c | Функције боја.
|    gui-completion.c | Довршавање у командној линији.
|    gui-cursor.c | Курсорски режим (слободно померање курсора).
|    gui-filter.c | Филтери.
|    gui-focus.c | Функције у вези фокуса (за курсорски режими миша).
|    gui-history.c | Команде/текст сачуван у баферима.
|    gui-hotlist.c | Управљање врућом листом (листа бафера у којима има активности).
|    gui-input.c | Функције уноса (трака уноса).
|    gui-key.c | Функције тастатуре.
|    gui-layout.c | Распоред.
|    gui-line.c | Линије у баферу.
|    gui-mouse.c | Миш.
|    gui-nick.c | Функције надимака.
|    gui-nicklist.c | Листа надимака у баферима.
|    gui-window.c | Прозори.
|    curses/ | Curses интерфејс.
|       gui-curses-bar-window.c | Приказ у прозорима трака.
|       gui-curses-chat.c | Приказ у простору разговора (поруке).
|       gui-curses-color.c | Функције боја.
|       gui-curses-key.c | Функције тастатуре (подраз. тастери, читање уноса).
|       gui-curses-main.c | WeeChat главна петља (чекање на догађаје тастатуре/мреже).
|       gui-curses-mouse.c | Миш.
|       gui-curses-term.c | Функције у вези терминала.
|       gui-curses-window.c | Прозори.
|       headless/ | Режим без интерфејса.
|          main.c | Тачка улаза за режим без интерфејса.
|          ncurses-fake.c | Лажна ncurses библиотека.
|       normal/ | Curses интерфејс.
|          main.c | Тачка улаза за Curses интерфејс.
| Путања/фајл | Опис
| core/ | Функције језгра: тачка улаза, интерне структуре.
|    wee-arraylist.c | Листе низова.
|    wee-backtrace.c | Испис трага након краха.
|    wee-calc.c | Израчунавање резултата израза.
|    wee-command.c | WeeChat команде језгра.
|    wee-completion.c | Подразумевана довршавања.
|    wee-config-file.c | Управљање конфигурационим фајловима.
|    wee-config.c | Конфигурационе опције за WeeChat језгро (фајл weechat.conf).
|    wee-crypto.c | Криптографске функције.
|    wee-debug.c | Неке дибаг функције.
|    wee-dir.c | Функције директоријума/фајла.
|    wee-doc.c | Изградња фајлова за документацију.
|    wee-eval.c | Израчунавање израза са референцама на интерне променљиве.
|    wee-hashtable.c | Хеш табеле.
|    wee-hdata.c | Hdata (директни приступ подацима употребом хеш табела).
|    wee-hook.c | Куке.
|    wee-infolist.c | Инфолисте (листе са подацима објеката).
|    wee-input.c | Унос команди/текста.
|    wee-list.c | Сортиране листе.
|    wee-log.c | Упис у WeeChat лог фајл (weechat.log).
|    wee-network.c | Мрежне функције (повезивање са серверима/проксијима).
|    wee-proxy.c | Управљање проксијима.
|    wee-secure.c | Функције обезбеђених података.
|    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-util.c | Неке друге функције.
|    wee-version.c | Функције за WeeChat верзију.
|    weechat.c | Основне функције: опције командне линије, покретање.
|    hook/ | Функције кука.
|       wee-hook-command-run.c | Кука "command_run".
|       wee-hook-command.c | Кука "command".
|       wee-hook-completion.c | Кука "completion".
|       wee-hook-config.c | Кука "config".
|       wee-hook-connect.c | Кука "connect".
|       wee-hook-fd.c | Кука "fd".
|       wee-hook-focus.c | Кука "focus".
|       wee-hook-hdata.c | Кука "hdata".
|       wee-hook-hsignal.c | Кука "hsignal".
|       wee-hook-info-hashtable.c | Кука "info_hashtable".
|       wee-hook-info.c | Кука "info".
|       wee-hook-infolist.c | Кука "infolist".
|       wee-hook-line.c | Кука "line".
|       wee-hook-modifier.c | Кука "modifier".
|       wee-hook-print.c | Кука "print".
|       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 | Прозори трака.
|    gui-bar.c | Траке.
|    gui-buffer.c | Бафери.
|    gui-chat.c | Функције разговора (призаз поруке, ...).
|    gui-color.c | Функције боја.
|    gui-completion.c | Довршавање у комадној линији.
|    gui-cursor.c | Курсорски режим (слобосно померање курсора).
|    gui-filter.c | Филтери.
|    gui-focus.c | Функције у вези фокуса (за курсорски режими миша).
|    gui-history.c | Команде/текст сачуван у баферима.
|    gui-hotlist.c | Управљање врућом листом (листа бафера у којима има активности).
|    gui-input.c | Функције уноса (трака уноса).
|    gui-key.c | Функције тастатуре.
|    gui-layout.c | Распоред.
|    gui-line.c | Линије у баферуLines in buffers.
|    gui-mouse.c | Миш.
|    gui-nick.c | Функције надимака.
|    gui-nicklist.c | Листа надимака у баферима.
|    gui-window.c | Прозори.
|    curses/ | Curses интерфејс.
|       gui-curses-bar-window.c | Приказ у прозорима трака.
|       gui-curses-chat.c | Приказ у простору разговора (поруке).
|       gui-curses-color.c | Функције боја.
|       gui-curses-key.c | Функције тастатуре (подраз. тастери, читање уноса).
|       gui-curses-main.c | WeeChat главна петља (чекање на догађаје тастатуре/мреже).
|       gui-curses-mouse.c | Миш.
|       gui-curses-term.c | Функције у вези терминала.
|       gui-curses-window.c | Прозори.
|       headless/ | Режим без интерфејса.
|          main.c | Тачка улаза за режим без интерфејса.
|          ncurses-fake.c | Лажна ncurses библиотека.
|       normal/ | Curses интерфејс.
|          main.c | Тачка улаза за Curses интерфејс.
|===
[[sources_plugins]]
@@ -212,189 +212,180 @@ WeeChat „језгро” се налази у следећим директо
[width="100%", cols="2m,3", options="header"]
|===
| Путања/фајл | Опис
| plugins/ | Корен додатака.
|    plugin.c | Управљање додацима (учитавање/уклањање динамичких C библиотека).
|    plugin-api.c | Додатне функције за API додатака (омотач око WeeChat функција језгра).
|    plugin-api-info.c | Додатне info/infolist функције за API додатака.
|    plugin-config.c | Опције конфигурације додатака (фајл plugins.conf).
|    plugin-script.c | Опште функције које користе скрипт додаци.
|    plugin-script-api.c | Скрипт API функције: омотачи око неких функција API додатака.
|    plugin-script-config.c | Опције конфигурације скрипт додатака (фајлови python.conf, perl.conf, ...).
|    weechat-plugin.h | Заглавље које треба да се дистрибуира уз WeeChat додатке, како би могли да се компајлирају.
|    alias/ | Alias додатак.
|       alias.c | Главне алијас функције.
|       alias-command.c | Алијас команде.
|       alias-completion.c | Алијас довршавање.
|       alias-config.c | Алијас опције конфигурације (фајл alias.conf).
|       alias-info.c | Алијас info/infolists/hdata.
|    spell/ | Додатак за проверу правописа.
|       spell.c | Главне функције провере правописа.
|       spell-bar-item.c | Провера правописа ставке траке.
|       spell-command.c | Провера правописа команде.
|       spell-completion.c | Провера правописа довршавања.
|       spell-config.c | Провера правописа опције конфиг (фајл spell.conf).
|       spell-info.c | Провера правописа info/infolists/hdata.
|       spell-speller.c | Управљање библиотекама за проверу правописа.
|    buflist/ | Buflist додатак.
|       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 акције мишем.
|    charset/ | Charset додатак.
|       charset.c | Charset функције.
|    exec/ | Exec додатак.
|       exec.c | Главне exec функције.
|       exec-buffer.c | Exec бафер.
|       exec-command.c | Exec команде.
|       exec-completion.c | Exec довршавања.
|       exec-config.c | Exec опције конфиг (фајл exec.conf).
|    fifo/ | Fifo додатак.
|       fifo.c | Главне fifo функције.
|       fifo-command.c | Fifo команде.
|       fifo-config.c | Fifo опције конфиг (фајл fifo.conf).
|       fifo-info.c | Fifo info/infolists/hdata.
|    fset/ | Fset додатак.
|       fset.c | Главне fset функције.
|       fset-bar-item.c | Fset ставке траке.
|       fset-buffer.c | Fset бафер.
|       fset-command.c | Fset команде.
|       fset-completion.c | Fset довршавања.
|       fset-config.c | Fset опције конфиг (фајл fset.conf).
|       fset-info.c | Fset info/infolists/hdata.
|       fset-mouse.c | Fset акције мишем.
|       fset-option.c | Fset управљање опцијама.
|    guile/ | Guile (scheme) додатак.
|       weechat-guile.c | Главне guile функције (учитавање/уклањање скрипти, извршавање guile кода).
|       weechat-guile-api.c | API функције guile скриптовања.
|    irc/ | IRC (Internet Relay Chat) додатак.
|       irc.c | Основне IRC функције.
|       irc-bar-item.c | IRC ставке траке.
|       irc-batch.c | IRC пакетни догађаји.
|       irc-buffer.c | IRC бафери.
|       irc-channel.c | IRC канали.
|       irc-color.c | IRC боје.
|       irc-command.c | IRC команде.
|       irc-completion.c | IRC довршавања.
|       irc-config.c | IRC опције конфиг (фајл irc.conf).
|       irc-ctcp.c | IRC CTCP.
|       irc-debug.c | IRC дибаг функције.
|       irc-ignore.c | IRC Ignore.
|       irc-info.c | IRC info/infolists/hdata.
|       irc-input.c | Унос команди/текста.
|       irc-join.c | Функције за листе канала којима се приступа.
|       irc-list.c | Бафер за одговор на /list команду.
|       irc-message.c | Функције за манипулисање IRC порукама.
|       irc-mode.c | Функције у вези режима канала/надимка.
|       irc-modelist.c | Листе режима IRC канала (+b, +e, +I, ...).
|       irc-msgbuffer.c | Циљни бафер за IRC поруке.
|       irc-nick.c | IRC надимци.
|       irc-notify.c | IRC листе за обавештавање.
|       irc-protocol.c | IRC протокол (RFCs 1459/2810/2811/2812/2813/7194).
|       irc-raw.c | IRC сирови бафер.
|       irc-redirect.c | Преусмеравање излаза IRC команде.
|       irc-sasl.c | SASL аутентификација са IRC сервером.
|       irc-server.c | У/И комуникација са IRC сервером.
|       irc-tag.c | Функције за манипулацију ознакама IRC порука.
|       irc-typing.c | Статус куцања.
|       irc-upgrade.c | Чување/обнављање IRC података када се ажурира програм WeeChat.
|    javascript/ | JavaScript додатак.
|       weechat-js.cpp | Главне JavaScript функције (учитавање/уклањање скрипти, извршавање JavaScript кода).
|       weechat-js-api.cpp | API функције JavaScript скриптовања.
|       weechat-js-v8.cpp | JavaScript v8 функције.
|    logger/ | Logger додатак.
|       logger.c | Главне logger функције.
|       logger-backlog.c | Logger backlog функције.
|       logger-buffer.c | Logger управљање листом бафера.
|       logger-command.c | Logger команде.
|       logger-config.c | Logger опције конфиг (фајл logger.conf).
|       logger-info.c | Logger info/infolists/hdata.
|       logger-tail.c | Функције за враћање последњих линија фајла.
|    lua/ | Lua додатак.
|       weechat-lua.c | Главне lua функције (учитавање/уклањање скрипти, извршавање lua кода).
|       weechat-lua-api.c | API функције Lua скриптовања.
|    perl/ | Perl додатак.
|       weechat-perl.c | Главне perl функције (учитавање/уклањање скрипти, извршавање perl кода).
|       weechat-perl-api.c | API функције Perl скриптовања.
|    php/ | PHP додатак.
|       weechat-php.c | Главне PHP функције (учитавање/уклањање скрипти, извршавање PHP кода).
|       weechat-php-api.c | API функције PHP скриптовања.
|    python/ | Python додатак.
|       weechat-python.c | Главне python функције (учитавање/уклањање скрипти,извршавање python кода).
|       weechat-python-api.c | API функције Python скриптовања.
|    relay/ | Релеј додатак (IRC прокси и релеј за удаљене интерфејсе).
|       relay.c | Главне релеј функције.
|       relay-auth.c | Аутентификација клијената.
|       relay-buffer.c | Релеј бафер.
|       relay-client.c | Клијенти релеја.
|       relay-command.c | Релеј команде.
|       relay-completion.c | Релеј довршавања.
|       relay-config.c | Релеј опције конфиг (фајл relay.conf).
|       relay-http.c | HTTP функције.
|       relay-info.c | Релеј info/infolists/hdata.
|       relay-network.c | Мрежне функције за релеј.
|       relay-raw.c | Релеј сирови бафер.
|       relay-remote.c | Релеј удаљених.
|       relay-server.c | Релеј сервер.
|       relay-upgrade.c | Чување/обнављање података релеја када се ажурира WeeChat.
|       relay-websocket.c | WebSocket сервер функције (RFC 6455).
|       api/ | Релеј за удаљене интерфејсе (користећи HTTP REST API).
|          relay-api.c | Главне API функције за HTTP REST API.
|          relay-api-msg.c | Слање JSON порука клијентима.
|          relay-api-protocol.c | HTTP REST API протокол.
|          remote/ | Функције прослеђивања удаљених, специфичне за API.
|             relay-remote-event.c | Обрада догађаја који се приме од релеја удаљених.
|             relay-remote-network.c | Мрежне функције за релеј удаљених.
|       irc/ | IRC прокси.
|          relay-irc.c | Главне IRC прокси функције.
|       weechat/ | Релеј за удаљене интерфејсе (користећи „weechat” бинарни протокол).
|          relay-weechat.c | Релеј за удаљене интерфејсе (главне функције).
|          relay-weechat-msg.c | Слање бинарних порука клијентима.
|          relay-weechat-nicklist.c | Функције листе надимака.
|          relay-weechat-protocol.c | Читање команди од клијената.
|    ruby/ | Ruby додатак.
|       weechat-ruby.c | Главне ruby функције (учитавање/уклањање скрипти, извршавање ruby кода).
|       weechat-ruby-api.c | API функције Ruby скриптовања.
|    script/ | Управљач скриптама.
|       script.c | Главне функције за управљача скриптама.
|       script-action.c | Акције над скриптама (учитавање/уклањање, инсталација/деинсталација, ...).
|       script-buffer.c | Бафер за управљача скриптама.
|       script-command.c | Команде за управљача скриптама.
|       script-completion.c | Довршавања за управљача скриптама.
|       script-config.c | Опције конфигурације за управљача скриптама (фајл script.conf).
|       script-info.c | Управљач скриптама info/infolists/hdata.
|       script-mouse.c | Скрипт акције мишем.
|       script-repo.c | Преузимање и читање фајла репозиторијума.
|    tcl/ | Tcl додатак.
|       weechat-tcl.c | Главне tcl функције (учитавање/уклањање скрипти, извршавање tcl кода).
|       weechat-tcl-api.c | API функције Tcl скриптовања.
|    trigger/ | Окидач додатак.
|       trigger.c | Главне функције окидача.
|       trigger-buffer.c | Окидач бафер.
|       trigger-callback.c | Окидач функције повратног позива.
|       trigger-command.c | Окидач команде.
|       trigger-completion.c | Окидач довршавања.
|       trigger-config.c | Окидач опције конфиг (фајл trigger.conf).
|    typing/ | Typing додатак.
|       typing.c | Главне typing функције.
|       typing-bar-item.c | Typing ставке траке.
|       typing-config.c | Typing конфигурационе опције (фајл typing.conf).
|       typing-status.c | Статус куцања порука на баферима.
|    xfer/ | Xfer додатак (IRC DCC фајл/разговор).
|       xfer.c | Главне xfer функције.
|       xfer-buffer.c | Xfer бафер.
|       xfer-chat.c | DCC разговор.
|       xfer-command.c | Xfer команде.
|       xfer-completion.c | Xfer довршавања.
|       xfer-config.c | Xfer опције конфиг (фајлxfer.conf).
|       xfer-dcc.c | DCC пренос фајла.
|       xfer-file.c | Фајл функције за xfer.
|       xfer-info.c | Xfer info/infolists/hdata.
|       xfer-network.c | Мрежне функције за xfer.
|       xfer-upgrade.c | Чување/обнављање xfer података када се програм WeeChat ажурира.
| Путања/фајл | Опис
| plugins/ | Корен додатака.
|    plugin.c | Управљање додацима (учитавање/уклањање динамичких C библиотека).
|    plugin-api.c | Додатне функције за API додатака (омотач око WeeChat функција језгра).
|    plugin-api-info.c | Додатне info/infolist фунцкије за API додатака.
|    plugin-config.c | Опције конфигурације додатака (фајл plugins.conf).
|    plugin-script.c | Опште функције које користе скрипт додаци.
|    plugin-script-api.c | Скрипт API функције: омотачи око неких функција API додатака.
|    plugin-script-config.c | Опције конфигурације скрипт додатака (фајлови python.conf, perl.conf, ...).
|    weechat-plugin.h | Заглавље које треба да се дистрибуира уз WeeChat додатке, како би могли да се компајлирају.
|    alias/ | Alias додатак.
|       alias.c | Главне алијас функције.
|       alias-command.c | Алијас команде.
|       alias-completion.c | Алијас довршавање.
|       alias-config.c | Алијас опције конфигурације (фајл alias.conf).
|       alias-info.c | Алијас info/infolists/hdata.
|    spell/ | Додатак за проверу правописа.
|       spell.c | Главне функције провере правописа.
|       spell-bar-item.c | Провера правописа ставке траке.
|       spell-command.c | Провера правописа команде.
|       spell-completion.c | Провера правописа довршавања.
|       spell-config.c | Провера правописа опције конфиг (фајл spell.conf).
|       spell-info.c | Провера правописа info/infolists/hdata.
|       spell-speller.c | Управљање библиотекама за проверу правописа.
|    buflist/ | Buflist додатак.
|       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 акције мишем.
|    charset/ | Charset додатак.
|       charset.c | Charset функције.
|    exec/ | Exec додатак.
|       exec.c | Флавне exec функције.
|       exec-buffer.c | Exec бафер.
|       exec-command.c | Exec команде.
|       exec-completion.c | Exec довршавања.
|       exec-config.c | Exec опције конфиг (фајл exec.conf).
|    fifo/ | Fifo додатак.
|       fifo.c | Главне fifo функције.
|       fifo-command.c | Fifo команде.
|       fifo-config.c | Fifo опције конфиг (фајл fifo.conf).
|       fifo-info.c | Fifo info/infolists/hdata.
|    fset/ | Fset додатак.
|       fset.c | Главне fset функције.
|       fset-bar-item.c | Fset ставке траке.
|       fset-buffer.c | Fset бафер.
|       fset-command.c | Fset команде.
|       fset-completion.c | Fset довршавања.
|       fset-config.c | Fset опције конфиг (фајл fset.conf).
|       fset-info.c | Fset info/infolists/hdata.
|       fset-mouse.c | Fset акције мишем.
|       fset-option.c | Fset управљање опцијама.
|    guile/ | Guile (scheme) додатак.
|       weechat-guile.c | Главне guile функције (учитавањ/уклањање скрипти, извршавање guile кода).
|       weechat-guile-api.c | API функције guile скриптовања.
|    irc/ | IRC (Internet Relay Chat) додатак.
|       irc.c | Основне IRC функције.
|       irc-bar-item.c | IRC ставке траке.
|       irc-batch.c | IRC пакетни догађаји.
|       irc-buffer.c | IRC бафери.
|       irc-channel.c | IRC канали.
|       irc-color.c | IRC боје.
|       irc-command.c | IRC команде.
|       irc-completion.c | IRC довршавања.
|       irc-config.c | IRC опције конфиг (фајл irc.conf).
|       irc-ctcp.c | IRC CTCP.
|       irc-debug.c | IRC дибаг функције.
|       irc-ignore.c | IRC Ignore.
|       irc-info.c | IRC info/infolists/hdata.
|       irc-input.c | Унос команди/текста.
|       irc-join.c | Функције за листе канала којима се приступа.
|       irc-list.c | Бафер за одговор на /list команду.
|       irc-message.c | Функције за манипулисање IRC порукама.
|       irc-mode.c | Функције у вези режима канала/надимка.
|       irc-modelist.c | Листе режима IRC канала (+b, +e, +I, ...).
|       irc-msgbuffer.c | Циљни бафер за IRC поруке.
|       irc-nick.c | IRC надимци.
|       irc-notify.c | IRC листе за обавештавање.
|       irc-protocol.c | IRC протокол (RFCs 1459/2810/2811/2812/2813/7194).
|       irc-raw.c | IRC сирови бафер.
|       irc-redirect.c | Преусмеравање излаза IRC команде.
|       irc-sasl.c | SASL аутентификација са IRC сервером.
|       irc-server.c | У/И комуникација са IRC сервером.
|       irc-tag.c | Функције за манипулацију ознакама IRC порука.
|       irc-typing.c | Статус куцања.
|       irc-upgrade.c | Чување/обнављање IRC података када се ажурира програм WeeChat.
|    javascript/ | JavaScript додатак.
|       weechat-js.cpp | Главне JavaScript функције (учитавање/уклањање скрипти, извршавање JavaScript кода).
|       weechat-js-api.cpp | API функције JavaScript скриптовања.
|       weechat-js-v8.cpp | JavaScript v8 функције.
|    logger/ | Logger додатак.
|       logger.c | Главне logger функције.
|       logger-backlog.c | Logger backlog функције.
|       logger-buffer.c | Logger управљање листом бафера.
|       logger-command.c | Logger команде.
|       logger-config.c | Logger опције конфиг (фајл logger.conf).
|       logger-info.c | Logger info/infolists/hdata.
|       logger-tail.c | Функције за враћање последњих линија фајла.
|    lua/ | Lua додатак.
|       weechat-lua.c | Главне lua функције (учитавање/уклањање скрипти, извршавање lua кода).
|       weechat-lua-api.c | API функције Lua скриптовања.
|    perl/ | Perl додатак.
|       weechat-perl.c | Главне perl функције (учитавање/уклањање скрипти, извршавање perl кода).
|       weechat-perl-api.c | API функције Perl скриптовања.
|    php/ | PHP додатак.
|       weechat-php.c | Главне PHP функције (учитавање/уклањање скрипти, извршавање PHP кода).
|       weechat-php-api.c | API функције PHP скриптовања.
|    python/ | Python додатак.
|       weechat-python.c | Главне python функције (учитавање/уклањање скрипти,извршавање python кода).
|       weechat-python-api.c | API функције Python скриптовања.
|    relay/ | Релеј додатак (IRC прокси и релеј за удаљене интерфејсе).
|       relay.c | Главне релеј функције.
|       relay-auth.c | Аутентификација клијената.
|       relay-buffer.c | Релеј бафер.
|       relay-client.c | Клијенти релеја.
|       relay-command.c | Релеј команде.
|       relay-completion.c | Релеј довршавања.
|       relay-config.c | Релеј опције конфиг (фајл relay.conf).
|       relay-info.c | Релеј info/infolists/hdata.
|       relay-network.c | Мрежне функције за релеј.
|       relay-raw.c | Релеј сирови бафер.
|       relay-server.c | Релеј сервер.
|       relay-upgrade.c | Save/restore of relay data when upgrading WeeChat.
|       relay-websocket.c | WebSocket сервер функције (RFC 6455).
|       irc/ | IRC прокси.
|          relay-irc.c | Главне IRC прокси функције.
|       weechat/ | Релеј за удаљене интерфејсе.
|          relay-weechat.c | Релеј за удаљене интерфејсе (главне функције).
|          relay-weechat-msg.c | Слање бинарних порука клијентима.
|          relay-weechat-nicklist.c | Функције листе надимака.
|          relay-weechat-protocol.c | Читање команди од клијената.
|    ruby/ | Ruby додатак.
|       weechat-ruby.c | Главне ruby функције (учитавање/уклањање скрипти, извршавање ruby кода).
|       weechat-ruby-api.c | API функције Ruby скриптовања.
|    script/ | Управљач скриптама.
|       script.c | Главне функције за управљача скриптама.
|       script-action.c | Акције над скриптама (учитавање/уклањање, инсталација/деинсталација, ...).
|       script-buffer.c | Бафер за управљача скриптама.
|       script-command.c | Команде за управљача скриптама.
|       script-completion.c | Довршавања за управљача скриптама.
|       script-config.c | Опције конфигурације за управљача скриптама (фајл script.conf).
|       script-info.c | Управљач скриптама info/infolists/hdata.
|       script-mouse.c | Скрипт акције мишем.
|       script-repo.c | Преузимање и читање фајла репозиторијума.
|    tcl/ | Tcl додатак.
|       weechat-tcl.c | Главне tcl функције (учитавање/уклањање скрипти, извршавање tcl кода).
|       weechat-tcl-api.c | API функције Tcl скриптовања.
|    trigger/ | Окидач додатак.
|       trigger.c | Главне функције окидача.
|       trigger-buffer.c | Окидач бафер.
|       trigger-callback.c | Окидач функције повратног позива.
|       trigger-command.c | Окидач команде.
|       trigger-completion.c | Окидач довршавања.
|       trigger-config.c | Окидач опције конфиг (фајл trigger.conf).
|    typing/ | Typing додатак.
|       typing.c | Главне typing функције.
|       typing-bar-item.c | Typing ставке траке.
|       typing-config.c | Typing конфигурационе опције (фајл typing.conf).
|       typing-status.c | Статус куцања порука на баферима.
|    xfer/ | Xfer додатак (IRC DCC фајл/разговор).
|       xfer.c | Главне xfer функције.
|       xfer-buffer.c | Xfer бафер.
|       xfer-chat.c | DCC разговор.
|       xfer-command.c | Xfer команде.
|       xfer-completion.c | Xfer довршавања.
|       xfer-config.c | Xfer опције конфиг (фајлxfer.conf).
|       xfer-dcc.c | DCC пренос фајла.
|       xfer-file.c | Фајл функције за xfer.
|       xfer-info.c | Xfer info/infolists/hdata.
|       xfer-network.c | Мрежне функције за xfer.
|       xfer-upgrade.c | Чување/обнављање xfer података када се програм WeeChat ажурира.
|===
[[sources_tests]]
@@ -402,120 +393,89 @@ WeeChat „језгро” се налази у следећим директо
[width="100%", cols="2m,3", options="header"]
|===
| Путања/фајл | Опис
| tests/ | Корен тестова.
|    tests.cpp | Програм који се користи за извршавање свих тестова.
|    tests-record.cpp | Бележење и претрага у приказаним порукама.
|    scripts/ | Корен тестова за API скриптовања.
|       test-scripts.cpp | Програм који се користи за извршавање тестова API скриптовања.
|       python/ | Python скрипте које генеришу и покрећу тестове API скриптовања.
|          testapigen.py | Python скрипта која генерише скрипте на свим језицима за тестирање API скриптовања.
|          testapi.py | Python скрипта са тестовима API скриптовања, користи је скрипта testapigen.py.
|          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 | Тестови: калкулација израза.
|          test-core-command.cpp | Тестови: команде.
|          test-core-config-file.cpp | Тестови: конфигурациони фајлови.
|          test-core-crypto.cpp | Тестови: криптографске функције.
|          test-core-dir.cpp | Тестови: функције директоријума/фајла.
|          test-core-eval.cpp | Тестови: израчунавање израза.
|          test-core-hashtble.cpp | Тестови: hashtables.
|          test-core-hdata.cpp | Тестови: hdata.
|          test-core-hook.cpp | Тестови: куке.
|          test-core-infolist.cpp | Тестови: infolists.
|          test-core-list.cpp | Тестови: листе.
|          test-core-network.cpp | Тестови: мрежне функције.
|          test-core-secure.cpp | Тестови: обезбеђени подаци.
|          test-core-signal.cpp | Тестови: сигнали.
|          test-core-string.cpp | Тестови: стрингови.
|          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”.
|             test-hook-command-run.cpp | Тестови: куке „command_run”.
|             test-hook-completion.cpp | Тестови: куке „completion”.
|             test-hook-config.cpp | Тестови: куке „config”.
|             test-hook-connect.cpp | Тестови: куке „connect”.
|             test-hook-fd.cpp | Тестови: куке „fd”.
|             test-hook-focus.cpp | Тестови: куке „focus”.
|             test-hook-hdata.cpp | Тестови: куке „hdata”.
|             test-hook-hsignal.cpp | Тестови: куке „hsignal”.
|             test-hook-info-hashtable.cpp | Тестови: куке „info_hashtable”.
|             test-hook-info.cpp | Тестови: куке „info”.
|             test-hook-infolist.cpp | Тестови: куке „infolist”.
|             test-hook-line.cpp | Тестови: куке „line”.
|             test-hook-modifier.cpp | Тестови: куке „modifier”.
|             test-hook-print.cpp | Тестови: куке „print”.
|             test-hook-process.cpp | Тестови: куке „process”.
|             test-hook-signal.cpp | Тестови: куке „signal”.
|             test-hook-timer.cpp | Тестови: куке „timer”.
|             test-hook-url.cpp | Тестови: куке „url”.
|       gui/ | Корен unit тестова интерфејса.
|          test-gui-bar-window.cpp | Тестови: функције прозора траке.
|          test-gui-buffer.cpp | Тестови: бафер функције.
|          test-gui-chat.cpp | Тестови: чет функције.
|          test-gui-color.cpp | Тестови: боје.
|          test-gui-filter.cpp | Тестови: филтери.
|          test-gui-hotlist.cpp | Тестови: функције врућих листи.
|          test-gui-input.cpp | Тестови: улазне функције.
|          test-gui-key.cpp | Тестови: тастери.
|          test-gui-line.cpp | Тестови: линије.
|          test-gui-nick.cpp | Тестови: надимци.
|          test-gui-nicklist.cpp | Тестови: функције листе надимака.
|          curses/ | Корен unit тестова за Curses интерфејс.
|             test-gui-curses-mouse.cpp | Тестови: миш (Curses интерфејс).
|       plugins/ | Корен unit тестова додатака.
|          irc/ | Корен unit тестова IRC додатка.
|             test-irc-batch.cpp | Тестови: IRC пакетни догађаји.
|             test-irc-buffer.cpp | Тестови: IRC бафери.
|             test-irc-channel.cpp | Тестови: IRC канали.
|             test-irc-color.cpp | Тестови: IRC боје.
// TRANSLATION MISSING
|             test-irc-command.cpp | Tests: IRC commands.
|             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 поруке.
|             test-irc-mode.cpp | Тестови: IRC режими.
|             test-irc-nick.cpp | Тестови: IRC надимци.
|             test-irc-protocol.cpp | Тестови: IRC протокол.
|             test-irc-sasl.cpp | Тестови: SASL аутентификација са IRC протоколом.
|             test-irc-server.cpp | Тестови: IRC сервер.
|             test-irc-tag.cpp | Тестови: IRC ознаке порука.
|          logger/ | Корен unit тестова за logger додатак.
|             test-logger.cpp | Тестови: logger.
|             test-logger-backlog.cpp | Тестови: logger заостатак.
|             test-logger-tail.cpp | Тестови: logger tail функције.
|          trigger/ | Корен unit тестова за окидач додатак.
|             test-trigger.cpp | Тестови: окидачи.
|             test-trigger-config.cpp | Тестови: конфигурација окидача.
|          typing/ | Корен unit тестова за typing додатак.
|             test-typing.cpp | Тестови: typing.
|             test-typing-status.cpp | Тестови: typing статус.
|          relay/ | Корен unit тестова за Релеј додатак.
|             test-relay-auth.cpp | Тестови: аутентификација клијената.
|             test-relay-http.cpp | Тестови: HTTP функције за Релеј додатак.
|             test-relay-remote.cpp | Тестови: удаљене функције за Релеј додатак.
|             test-relay-websocket.cpp | Тестови: websocket функције за Релеј додатак.
|             api/ | Корен unit тестова за Релеј „api” протокол.
|                test-relay-api.cpp | Тестови: Релеј „api” протокол: опште функције.
|                test-relay-api-msg.cpp | Тестови: Релеј „api” протокол: поруке.
|                test-relay-api-protocol.cpp | Тестови: Релеј „api” протокол: протокол.
|             irc/ | Корен unit тестова за Релеј „irc” протокол.
|                test-relay-irc.cpp | Тестови: Релеј „irc” протокол.
|          xfer/ | Корен unit тестова за Xfer додатак.
|             test-xfer-file.cpp | Тестови: фајл функције.
|             test-xfer-network.cpp | Тестови: мрежне функције.
| Путања/фајл | Опис
| tests/ | Корен тестова.
|    tests.cpp | Програм који се користи за извршавање свих тестова.
|    tests-record.cpp | Бележење и претрага у приказаним порукама.
|    scripts/ | Корен тестова за API скриптовања.
|       test-scripts.cpp | Програм који се користи за извршавање тестова API скриптовања.
|       python/ | Python скрипте које генеришу и покрећу тестове API скриптовања.
|          testapigen.py | Python скрипта која генерише скрипте на свим језицима за тестирање API скриптовања.
|          testapi.py | Python скрипта са тестовима API скриптовања, користи је скрипта testapigen.py.
|          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 | Тестови: калкулација израза.
|          test-core-command.cpp | Тестови: команде.
|          test-core-config-file.cpp | Тестови: конфигурациони фајлови.
|          test-core-crypto.cpp | Тестови: криптографске функције.
|          test-core-dir.cpp | Тестови: функције директоријума/фајла.
|          test-core-eval.cpp | Тестови: израчунавање израза.
|          test-core-hashtble.cpp | Тестови: hashtables.
|          test-core-hdata.cpp | Тестови: hdata.
|          test-core-hook.cpp | Тестови: куке.
|          test-core-infolist.cpp | Тестови: infolists.
|          test-core-list.cpp | Тестови: листе.
|          test-core-network.cpp | Тестови: мрежне функције.
|          test-core-secure.cpp | Тестови: обезбеђени подаци.
|          test-core-signal.cpp | Тестови: сигнали.
|          test-core-string.cpp | Тестови: стрингови.
|          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 | Тестови: бафер функције.
|          test-gui-chat.cpp | Тестови: чет функције.
|          test-gui-color.cpp | Тестови: боје.
|          test-gui-filter.cpp | Тестови: филтери.
|          test-gui-input.cpp | Тестови: улазне функкције.
|          test-gui-key.cpp | Тестови: тастери.
|          test-gui-line.cpp | Тестови: линије.
|          test-gui-nick.cpp | Тестови: надимци.
|       plugins/ | Корен unit тестова додатака.
|          irc/ | Корен unit тестова IRC додатка.
|             test-irc-batch.cpp | Тестови: IRC пакетни догађаји.
|             test-irc-buffer.cpp | Тестови: IRC бафери.
|             test-irc-channel.cpp | Тестови: IRC канали.
|             test-irc-color.cpp | Тестови: IRC боје.
|             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 поруке.
|             test-irc-mode.cpp | Тестови: IRC режими.
|             test-irc-nick.cpp | Тестови: IRC надимци.
|             test-irc-protocol.cpp | Тестови: IRC протокол.
|             test-irc-sasl.cpp | Тестови: SASL аутентификација са IRC протоколом.
|             test-irc-server.cpp | Тестови: IRC сервер.
|             test-irc-tag.cpp | Тестови: IRC ознаке порука.
|          logger/ | Корен unit тестива за logger додатак.
|             test-logger.cpp | Тестови: logger.
|             test-logger-backlog.cpp | Тестови: logger заостатак.
|             test-logger-tail.cpp | Тестови: logger tail фунцкије.
|          trigger/ | Корен unit тестова за окидач додатак.
|             test-trigger.cpp | Тестови: окидачи.
|             test-trigger-config.cpp | Тестови: конфигурација окидача.
|          typing/ | Корен unit тестова за typing додатак.
|             test-typing.cpp | Тестови: typing.
|             test-typing-status.cpp | Тестови: typing статус.
|          relay/ | Корен unit тестова за Релеј додатак.
|             test-relay-auth.cpp | Тестови: аутентификација клијената.
|             irc/ | Корен unit тестова за Релеј „irc” протокол.
|                test-relay-irc.cpp | Тестови: РЕлеј „irc” протокол.
|          xfer/ | Корен unit тестова за Xfer додатак.
|             test-xfer-file.cpp | Тестови: фајл функције.
|             test-xfer-network.cpp | Тестови: мрежне функције.
|===
[[documentation_translations]]
@@ -597,7 +557,7 @@ WeeChat „језгро” се налази у следећим директо
Када пишете C кôд, *морате* да се придржавате неких основних правила:
* За увлачење користите 4 размака (без табулатора).
* Користите 4 размака за увлачење редова. Не употребљавајте табове, они су зло.
* Покушајте да не прекорачите 80 карактера по линији, осим ако је то неопходно за читљивост.
* Користите коментаре `+/* коментар */+` (а не коментаре у C99 стилу као што је `+// коментар+`).
* Испред сваке функције додајте коментар који објашњава шта она ради (увек користите вишелинијски коментар, чак и ако је опис кратак).
@@ -800,7 +760,7 @@ new_hook_fd = malloc (sizeof (*new_hook_fd));
[width="100%", cols="2m,3", options="header"]
|===
| Директоријум | Фајлови
| src/core/ | weechat.c, core-backtrace.c, core-command.c, ...
| src/core/ | weechat.c, wee-backtrace.c, wee-command.c, ...
| src/gui/ | gui-bar.c, gui-bar-item.c, gui-bar-window.c, ...
| src/gui/curses/ | gui-curses-bar.c, gui-curses-bar-window.c, gui-curses-chat.c, ...
| src/plugins/ | plugin.c, plugin-api.c, plugin-api-info.c, plugin-config.c, plugin-script.c, ...
@@ -808,7 +768,7 @@ new_hook_fd = malloc (sizeof (*new_hook_fd));
| src/plugins/python/ | weechat-python.c, weechat-python-api.c, ...
|===
Заглавља C фајлова имају сито име као и фајл, на пример _core-command.h_ за фајл _core-command.c_.
Заглавља C фајлова имају сито име као и фајл, на пример _wee-command.h_ за фајл _wee-command.c_.
[[naming_convention_structures]]
==== Структуре
File diff suppressed because it is too large Load Diff
-1
View File
@@ -656,7 +656,6 @@ inl:
nicklist_visible_count: 0
title: 'WeeChat 2.9-dev (C) 2003-2020 - https://weechat.org/'
input: 1
input_get_any_user_data: 0
input_get_unknown_commands: 0
input_get_empty: 0
input_multiline: 0
+305 -2
View File
@@ -510,14 +510,317 @@ weechat_hook_timer(1000, 0, 1, $timer_cb, 'test');
Листа функција у API скриптовања:
include::{autogendir}/autogen_scripting_functions.sr.adoc[tag=functions]
[width="100%", cols="1,5", options="header"]
|===
| Категорија | Функције
| опште
| register
| додаци
| plugin_get_name
| стрингови
| charset_set +
iconv_to_internal +
iconv_from_internal +
gettext +
ngettext +
strlen_screen +
string_match +
string_match_list +
string_has_highlight +
string_has_highlight_regex +
string_mask_to_regex +
string_format_size +
string_parse_size +
string_color_code_size +
string_remove_color +
string_is_command_char +
string_input_for_buffer +
string_eval_expression +
string_eval_path_home
| директоријуми
| mkdir_home +
mkdir +
mkdir_parents
| сортиране листе
| list_new +
list_add +
list_search +
list_search_pos +
list_casesearch +
list_casesearch_pos +
list_get +
list_set +
list_next +
list_prev +
list_string +
list_size +
list_remove +
list_remove_all +
list_free
| кофнигурациони фајлови
| config_new +
config_new_section +
config_search_section +
config_new_option +
config_search_option +
config_string_to_boolean +
config_option_reset +
config_option_set +
config_option_set_null +
config_option_unset +
config_option_rename +
config_option_is_null +
config_option_default_is_null +
config_boolean +
config_boolean_default +
config_integer +
config_integer_default +
config_string +
config_string_default +
config_color +
config_color_default +
config_write_option +
config_write_line +
config_write +
config_read +
config_reload +
config_option_free +
config_section_free_options +
config_section_free +
config_free +
config_get +
config_get_plugin +
config_is_set_plugin +
config_set_plugin +
config_set_desc_plugin +
config_unset_plugin
| тастерске пречице
| key_bind +
key_unbind
| приказ
| prefix +
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
| куке
| hook_command +
hook_command_run +
hook_timer +
hook_fd +
hook_process +
hook_process_hashtable +
hook_connect +
hook_line +
hook_print +
hook_signal +
hook_signal_send +
hook_hsignal +
hook_hsignal_send +
hook_config +
hook_completion +
hook_modifier +
hook_modifier_exec +
hook_info +
hook_info_hashtable +
hook_infolist +
hook_focus +
hook_set +
unhook +
unhook_all
| бафери
| buffer_new +
buffer_new_props +
current_buffer +
buffer_search +
buffer_search_main +
buffer_clear +
buffer_close +
buffer_merge +
buffer_unmerge +
buffer_get_integer +
buffer_get_string +
buffer_get_pointer +
buffer_set +
buffer_string_replace_local_var +
buffer_match_list
| прозори
| current_window +
window_search_with_buffer +
window_get_integer +
window_get_string +
window_get_pointer +
window_set_title
| листа надимака
| nicklist_add_group +
nicklist_search_group +
nicklist_add_nick +
nicklist_search_nick +
nicklist_remove_group +
nicklist_remove_nick +
nicklist_remove_all +
nicklist_group_get_integer +
nicklist_group_get_string +
nicklist_group_get_pointer +
nicklist_group_set +
nicklist_nick_get_integer +
nicklist_nick_get_string +
nicklist_nick_get_pointer +
nicklist_nick_set
| траке
| bar_item_search +
bar_item_new +
bar_item_update +
bar_item_remove +
bar_search +
bar_new +
bar_set +
bar_update +
bar_remove
| команде
| command +
command_options
| довршавање
| completion_new +
completion_search +
completion_get_string +
completion_list_add +
completion_free
| infos
| info_get +
info_get_hashtable
| infolists
| infolist_new +
infolist_new_item +
infolist_new_var_integer +
infolist_new_var_string +
infolist_new_var_pointer +
infolist_new_var_time +
infolist_get +
infolist_next +
infolist_prev +
infolist_reset_item_cursor +
infolist_search_var +
infolist_fields +
infolist_integer +
infolist_string +
infolist_pointer +
infolist_time +
infolist_free
| hdata
| hdata_get +
hdata_get_var_offset +
hdata_get_var_type_string +
hdata_get_var_array_size +
hdata_get_var_array_size_string +
hdata_get_var_hdata +
hdata_get_list +
hdata_check_pointer +
hdata_move +
hdata_search +
hdata_char +
hdata_integer +
hdata_long +
hdata_string +
hdata_pointer +
hdata_time +
hdata_hashtable +
hdata_compare +
hdata_update +
hdata_get_string
| ажурирање
| upgrade_new +
upgrade_write_object +
upgrade_read +
upgrade_close
|===
[[script_api_constants]]
=== Константе
Листа константи у API скриптовања:
include::{autogendir}/autogen_scripting_constants.sr.adoc[tag=constants]
[width="100%", cols="1,5", options="header"]
|===
| Категорија | Константе
| повратни кодови
| `WEECHAT_RC_OK` (цео број) +
`WEECHAT_RC_OK_EAT` (цео број) +
`WEECHAT_RC_ERROR` (цео број)
| конфигурациони фајлови
| `WEECHAT_CONFIG_READ_OK` (цео број) +
`WEECHAT_CONFIG_READ_MEMORY_ERROR` (цео број) +
`WEECHAT_CONFIG_READ_FILE_NOT_FOUND` (цео број) +
`WEECHAT_CONFIG_WRITE_OK` (цео број) +
`WEECHAT_CONFIG_WRITE_ERROR` (цео број) +
`WEECHAT_CONFIG_WRITE_MEMORY_ERROR` (цео број) +
`WEECHAT_CONFIG_OPTION_SET_OK_CHANGED` (цео број) +
`WEECHAT_CONFIG_OPTION_SET_OK_SAME_VALUE` (цео број) +
`WEECHAT_CONFIG_OPTION_SET_ERROR` (цео број) +
`WEECHAT_CONFIG_OPTION_SET_OPTION_NOT_FOUND` (цео број) +
`WEECHAT_CONFIG_OPTION_UNSET_OK_NO_RESET` (цео број) +
`WEECHAT_CONFIG_OPTION_UNSET_OK_RESET` (цео број) +
`WEECHAT_CONFIG_OPTION_UNSET_OK_REMOVED` (цео број) +
`WEECHAT_CONFIG_OPTION_UNSET_ERROR` (цео број)
| сортиране листе
| `WEECHAT_LIST_POS_SORT` (стринг) +
`WEECHAT_LIST_POS_BEGINNING` (стринг) +
`WEECHAT_LIST_POS_END` (стринг)
| врућа листа
| `WEECHAT_HOTLIST_LOW` (стринг) +
`WEECHAT_HOTLIST_MESSAGE` (стринг) +
`WEECHAT_HOTLIST_PRIVATE` (стринг) +
`WEECHAT_HOTLIST_HIGHLIGHT` (стринг)
| кука process
| `WEECHAT_HOOK_PROCESS_RUNNING` (цео број) +
`WEECHAT_HOOK_PROCESS_ERROR` (цео број)
| кука connect
| `WEECHAT_HOOK_CONNECT_OK` (цео број) +
`WEECHAT_HOOK_CONNECT_ADDRESS_NOT_FOUND` (цео број) +
`WEECHAT_HOOK_CONNECT_IP_ADDRESS_NOT_FOUND` (цео број) +
`WEECHAT_HOOK_CONNECT_CONNECTION_REFUSED` (цео број) +
`WEECHAT_HOOK_CONNECT_PROXY_ERROR` (цео број) +
`WEECHAT_HOOK_CONNECT_LOCAL_HOSTNAME_ERROR` (цео број) +
`WEECHAT_HOOK_CONNECT_GNUTLS_INIT_ERROR` (цео број) +
`WEECHAT_HOOK_CONNECT_GNUTLS_HANDSHAKE_ERROR` (цео број) +
`WEECHAT_HOOK_CONNECT_MEMORY_ERROR` (цео број) +
`WEECHAT_HOOK_CONNECT_TIMEOUT` (цео број) +
`WEECHAT_HOOK_CONNECT_SOCKET_ERROR` (цео број)
| кука signal
| `WEECHAT_HOOK_SIGNAL_STRING` (стринг) +
`WEECHAT_HOOK_SIGNAL_INT` (стринг) +
`WEECHAT_HOOK_SIGNAL_POINTER` (стринг)
|===
[[common_tasks]]
== Уобичајени задаци
+34 -110
View File
@@ -34,8 +34,7 @@ WeeChat (Wee Enhanced Environment for Chat) је бесплатни чет кл
https://datatracker.ietf.org/doc/html/rfc2812[2812 ^↗^^],
https://datatracker.ietf.org/doc/html/rfc2813[2813 ^↗^^] и
https://datatracker.ietf.org/doc/html/rfc7194[7194 ^↗^^],
// TRANSLATION MISSING
* IRC proxy and relay for WeeChat and remote interfaces
* IRC прокси и релеј за удаљене интерфејсе
* подржавање различитих платформи (GNU/Linux, *BSD, macOS, Windows и остале)
* 100% GPL, слободан софтвер
@@ -127,16 +126,14 @@ WeeChat мора да се изгради са CMake.
Relay додатак: подршка за TLS везе.
| zlib1g-dev |
// TRANSLATION MISSING
| Logger додатак: компресија ротирајућих лог фајлова (gzip). +
Relay додатак: компресија порука (WeeChat -> клијент) са https://zlib.net/[zlib ^↗^^]
(api and weechat protocols). +
Relay додатак: компресија порука (WeeChat -> клијент) са https://zlib.net/[zlib ^↗^^] (weechat протокол). +
Script додатак: читање индекс фајла репозиторијума (gzip).
|===
[NOTE]
^(1)^ Име долази из Debian GNU/Linux Bookworm дистрибуције, верзија и
име могу да буду другачији у осталим дистрибуцијама. +
име могу да буду другачији у осталим дитрибуцијама. +
^(2)^ GnuTLS ≥ 3.0.21 је неопходан за IRC SASL аутентификацију механизмом ECDSA-NIST256P-CHALLENGE.
Следећа табела приказује листу пакета који нису обавезни за компајлирање програма WeeChat:
@@ -154,14 +151,9 @@ WeeChat мора да се изгради са CMake.
| ca-certificates |
| Сертификати за TLS везе.
| libcjson-dev |
| Relay додатак: протокол „api” (HTTP REST API).
| libzstd-dev | ≥ 0.8.1
// TRANSLATION MISSING
| Logger додатак: компресија ротирајућих лог фајлова (zstandard). +
Relay додатак: компресија порука (WeeChat -> клијент) са https://facebook.github.io/zstd/[Zstandard ^↗^^]
(api and weechat protocols).
Relay додатак: компресија порука (WeeChat -> клијент) са https://facebook.github.io/zstd/[Zstandard ^↗^^] (weechat протокол).
| libaspell-dev / libenchant-dev |
| Spell додатак.
@@ -276,9 +268,6 @@ $ make install
| ENABLE_CHARSET | `ON`, `OFF` | ON
| Компајлира <<charset,Charset додатак>>.
| ENABLE_CJSON | `ON`, `OFF` | ON
| Подршка за JSON са https://github.com/DaveGamble/cJSON[cJSON ^↗^^] библиотеком.
| ENABLE_MAN | `ON`, `OFF` | OFF
| Изграђује man страницу.
@@ -513,11 +502,11 @@ Copying output to /tmp/crash.txt.
at /some_path/src/core/weechat.c:351
#3 <signal handler called>
#4 0x000000000044cb24 in hook_process_timer_cb (arg_hook_process=0x254eb90,
remaining_calls=<value optimized out>) at /some_path/src/core/core-hook.c:1364
remaining_calls=<value optimized out>) at /some_path/src/core/wee-hook.c:1364
hook_process = 0x254eb90
status = <value optimized out>
#5 0x000000000044cc7d in hook_timer_exec ()
at /some_path/src/core/core-hook.c:1025
at /some_path/src/core/wee-hook.c:1025
tv_time = {tv_sec = 1272693881, tv_usec = 212665}
ptr_hook = 0x2811f40
next_hook = 0x0
@@ -737,7 +726,7 @@ WeeChat подразумевано користи XDG директоријуме
=== Команда upgrade
Програм WeeChat у месту може да поново покрене нови бинарни фајл, употребом команде <<command_weechat_upgrade,/upgrade>>: садржаји бафера и не-TLS везе се задржавају. +
Током процеса ажурирања, TLS конекције се губе и аутоматски се обнављају
Током процеса ажурирња, TLS конекције се губе и аутоматски се обнављају
након ажурирања (са GnuTLS тренутно није могуће поновно учитавање TLS сесија).
Команда такође може да се употреби и када морате поново да покренете машину, на пример, да бисте ажурирали кернел или да преместите свој WeeChat на другу машину:
@@ -1202,7 +1191,7 @@ _прозор_ је површина екрана која приказује б
│12:52 -- Канал је креиран у Уто Јан 27 06:30:17 2009 │
│12:54 <peter> hey! │
│12:55 <@joe> peter: hook_process: https://weechat.org/files/doc/weechat/devel/weechat_│
│plugin_api.en.html#_weechat_hook_process │
│plugin_api.en.html#_weechat_hook_process
└──────────────────────────────────────────────────────────────────────────────────────┘
....
@@ -1691,7 +1680,7 @@ WeeChat нуди доста подразумеваних тастерских п
|===
| Тастер | Опис | Команда
| kbd:[Ctrl+x] | Пребацивање типа претраге: стринг (подраз.), регуларни израз. | `+/input search_switch_regex+`
| kbd:[Alt+c] | Пребацивање разликовања величине слова у претрази. | `+/input search_switch_case+`
| kbd:[Alt+c] | Пребацивање разликовања величине слова у претраци. | `+/input search_switch_case+`
| kbd:[Tab] | Пребацивање претраге по: локалној историји бафера (подразумевано), глобалној историји. | `+/input search_switch_where+`
| kbd:[Ctrl+r] +
kbd:[↑] | Претрага по претходним (старијим) ставкама историје. | `+/input search_previous+`
@@ -2270,7 +2259,7 @@ include::{autogendir}/autogen_user_options.sr.adoc[tag=charset_options]
Програм WeeChat подразумевано истиче поруке од осталих корисника које садрже у себи ваш надимак, тако да истицање зависи од бафера (ваш надимак не мора да буде исти у свим баферима).
Остале речи можете да додате опцијом <<option_weechat.look.highlight,weechat.look.highlight>>, на пример ако желите да се истиче ваш надимак и „реч1”, „реч2”, као и све речи које почињу са „test”:
Остале речи моожете да додате опцијом <<option_weechat.look.highlight,weechat.look.highlight>>, на пример ако желите да се истиче ваш надимак и „реч1”, „реч2”, као и све речи које почињу са „test”:
----
/set weechat.look.highlight "реч1,реч2,test*"
@@ -2541,37 +2530,27 @@ link:weechat_faq.sr.html#mouse[WeeChat ЧПП / Миш ^↗^^].
Име догађаја се састоји од модификатора (није обавезан), имена тастера/точкића и гестикулације (није обавезна). Различити елементи се раздвајају са `+-+`.
Листа модификатора (по редоследу имена догађаја):
Листа модификатора:
[width="100%", cols="1m,4", options="header"]
|===
| Модификатор | Опис
| alt | Тастер kbd:[Alt]
| ctrl | Тастер kbd:[Ctrl]
| shift | Тастер kbd:[Shift] ^(1)^
| alt | Тастер kbd:[Alt]
| ctrl-alt | Тастери kbd:[Ctrl] + kbd:[Alt]
|===
[NOTE]
^(1)^ Модификатор `shift` може ретко да се користи у програму WeeChat јер га многи терминали
користе за директно хватање догађаја миша.
Неколико модификатора може да се комбинује, на пример:
* `alt-ctrl`
* `ctrl-shift`
* `alt-ctrl-shift`
Листа тастера/точкића:
[width="100%", cols="1m,4", options="header"]
|===
| Тастер/точкић | Опис
| button1 | Клик левим тастером
| button2 | Клик десним тастером
| button3 | Клик средњим тастером (често је то клик точкићем)
| button4 ... button11 | Клик на додатне тастере
| wheelup | Точкић (навише)
| wheeldown | Точкић (наниже)
| Тастер/точкић | Опис
| button1 | Клик левим тастером
| button2 | Клик десним тастером
| button3 | Клик средњим тастером (често је то клик точкићем)
| button4 ... button9 | Клик на додатне тастере
| wheelup | Точкић (навише)
| wheeldown | Точкић (наниже)
|===
Листа гестикулација (само за тастере, не за точкић):
@@ -2607,7 +2586,7 @@ link:weechat_faq.sr.html#mouse[WeeChat ЧПП / Миш ^↗^^].
* `button1-event-drag`
* `alt-button2-gesture-down-long`
* `wheelup`
* `alt-ctrl-wheeldown`
* `ctrl-alt-wheeldown`
* ...
[TIP]
@@ -3608,10 +3587,10 @@ WeeChat парсира ову ознаку у чува је у поруци, а
Спецификација: https://ircv3.net/specs/extensions/batch[batch ^↗^^]
Ова могућност дозвољава да сервер шаље догађаје у пакету (тј. да групише неколико
Ова могућност дозвољава да сервер шаље докађаје у пакету (тј. да групише неколико
порука које су у вези).
WeeChat за сада само само чува поруке примљене у пакету и обрађује их као и обично касније,
WeeChat за сада само само чува поруке примљене у пакету и обарђује их као и обично касније,
када се заврши пакет.
[[irc_ircv3_cap_notify]]
@@ -3672,7 +3651,7 @@ CAP alice LS * :draft/multiline=max-bytes=4096,max-lines=24
Вишелинијске могу да буду само стандардне поруке, као и оне које шаље команда
<<command_irc_notice,/notice>>. +
Ова могућност не утиче на ACTION CTCP поруке које се шаљу комадом <<command_irc_me,/me>>.
Ова могућност не утиче на ACTION CTCP поруке које се шаљу комадном <<command_irc_me,/me>>.
То значи да се вишелинијске акције шаљу као више акција.
[WARNING]
@@ -3906,7 +3885,7 @@ WeeChat приказује све додатне информације које
/query пера
----
Ако желите да затворите приватни бафер, урадите то следећом командом у приватном баферу:
Ако желите да затворите приватни бафер, урадите то следћем командом у приватном баферу:
----
/close
@@ -4309,16 +4288,8 @@ include::{autogendir}/autogen_user_options.sr.adoc[tag=typing_options]
Релеј додатак се користи за релеј података преко мреже, употребом различитих протокола:
* _irc_: IRC прокси: користи се за дељење веза са IRC серверима са једним или више других клијената
// TRANSLATION MISSING
* _api_: HTTP REST API, used by WeeChat and remote interfaces to display and
interact with WeeChat
// TRANSLATION MISSING
* _weechat_: protocol used by remote interfaces to display and interact with
WeeChat.
// TRANSLATION MISSING
For _api_ and _weechat_ protocols, see the list of remote interfaces on
https://weechat.org/about/interfaces/[this page ^↗^^].
* _weechat_: протокол који користе удаљени интерфејси да прикажу и омогуће интеракцију са програмом
WeeChat, погледајте https://weechat.org/about/interfaces/[ову страницу ^↗^^].
[[relay_password]]
=== Лозинка
@@ -4330,15 +4301,12 @@ https://weechat.org/about/interfaces/[this page ^↗^^].
/set relay.network.password "${sec.data.relay}"
----
// TRANSLATION MISSING
This password is used with all protocols.
Ова лозинка се користи и за _irc_ и за _weechat_ протокол.
[[relay_totp]]
=== TOTP
// TRANSLATION MISSING
TOTP (Time-based One-Time Password) can be used as secondary authentication
factor for _api_ and _weechat_ protocols, in addition to the password.
TOTP (Time-based One-Time Password) може уз лозинку да се користи као секундарни фактор аутентификације за _weechat_ протокол.
Ово није обавезно, мада повећава ниво безбедности.
@@ -4418,40 +4386,6 @@ PASS сервер:лозинка
/set irc.server.relay.password "${sec.data.relay_libera}"
----
// TRANSLATION MISSING
[[relay_api_protocol]]
=== API protocol
The Relay plugin can send data to a remote WeeChat or interface using an
HTTP REST API protocol.
You can browse and test the API online:
https://weechat.org/api/[WeeChat Relay API ^↗^^].
You can connect with WeeChat or a remote interface, see
https://weechat.org/about/interfaces/[this page ^↗^^].
For example:
----
/relay add api 9000
----
Now you can connect on port 9000 with a WeeChat or a remote interface using
password "mypassword".
To connect to an _api_ relay with WeeChat:
----
/remote add weechat http://localhost:9000 -password=mypassword
/remote connect weechat
----
[NOTE]
The remote WeeChat must expose the same API version as the local WeeChat, so
it's highly recommended to use exactly the same WeeChat version on remote
and local client.
[[relay_weechat_protocol]]
=== WeeChat протокол
@@ -4486,11 +4420,7 @@ https://weechat.org/about/interfaces/[ову страницу ^↗^^].
websocket = new WebSocket("ws://server.com:9000/weechat");
----
Порт (9000 у примеру) је порт који је дефинисан у Релеј додатку.
// TRANSLATION MISSING
The URI must end with "/weechat" for _irc_ and _weechat_ protocols and "/api"
for _api_ protocol.
Порт (9000 у примеру) је порт који је дефинисан у Релеј додатку. URI увек мора да се завршава са „/weechat” (и за _irc_ и за _weechat_ протокол).
[[relay_unix_socket]]
=== UNIX доменски сокети
@@ -4529,7 +4459,7 @@ include::{autogendir}/autogen_user_commands.sr.adoc[tag=relay_commands]
| network | /set relay.network.* | Мрежне опције.
| irc | /set relay.irc.* | Опције специфичне за irc протокол (irc прокси).
| port | <<command_relay_relay,/relay add>> +
/set relay.port.* | Портови који се користе за релеј (у одељку је могуће додавање/уклањање опција).
/set relay.port.* | Портови који се користе за релеј (irc и weechat протоколи) (у одељку је могуће додавање/уклањање опција).
|===
Опције:
@@ -4598,7 +4528,7 @@ $ echo 'irc.server.libera */nick newnick' >/run/user/1000/weechat/weechat_fifo_1
$ echo 'irc.libera.#weechat *hello!' >/run/user/1000/weechat/weechat_fifo_12345
----
* Слање вишелинијске поруке на IRC канал #test, у случају да је могућност „draft/multiline”
* Слање вишелинијске поруке на IRC канал #test, у случају да је могуност „draft/multiline”
укључена на ergo серверу:
----
@@ -4919,9 +4849,7 @@ s/regex1/replace1/var1 y/abcdef/ABDDEF/var2
* `+${re:0}+` до `+${re:99}+`: `+${re:0}+` је комплетно подударање, `+${re:1}+` до
`+${re:99}+` су ухваћене групе
* `pass:[${re:+}]`: последње подударање (под највећим бројем)
* `+${re:#}+`: индекс последње ухваћене групе
* `+${re:repl_index}+`: индекс замене која се врши (почиње од 1)
* `+${re:+}+`: последње подударање (под највећим бројем)
* `+${hide:c,${re:N}}+`: подударање „N” са свим карактерима замењеним са „c”
(пример: `+${hide:*,${re:2}}+` је група #2 у којој су сви карактери замењени са
`+*+`).
@@ -5062,7 +4990,7 @@ y/${chars:a-z}${chars:A-Z}/${chars:b-z}a${chars:B-Z}A/
| server | стринг | Име сервера (пример: „libera”).
| tags | стринг | Ознаке у поруци (ретко се користе).
| message_without_tags | стринг | Порука без ознака.
| nick | стринг | Надимак. ^(1)^
| nick | стринг | Надимак.
| host | стринг | Име хоста.
| command | стринг | IRC команда (пример: „PRIVMSG”, „NOTICE”, ...).
| channel | стринг | IRC канал.
@@ -5074,10 +5002,6 @@ y/${chars:a-z}${chars:A-Z}/${chars:b-z}a${chars:B-Z}A/
| pos_text | стринг | Индекс _text_ у поруци („-1” ако се _text_ не пронађе).
|===
[NOTE]
^(1)^ nick је пошиљалац поруке. +
Ваш надимак на серверу је `${irc_server.nick}`.
Када су подаци показивач, за читање hdata особине може да се употреби променљива `+tg_signal_data+` на следећи начин (у овом примеру је то показивач на бафер):
----
+134 -1080
View File
File diff suppressed because it is too large Load Diff
+241 -1204
View File
File diff suppressed because it is too large Load Diff
+129 -1092
View File
File diff suppressed because it is too large Load Diff
+213 -1182
View File
File diff suppressed because it is too large Load Diff
+128 -983
View File
File diff suppressed because it is too large Load Diff
+136 -1113
View File
File diff suppressed because it is too large Load Diff
+155 -1185
View File
File diff suppressed because it is too large Load Diff
+222 -1170
View File
File diff suppressed because it is too large Load Diff
+158 -1150
View File
File diff suppressed because it is too large Load Diff
+138 -1070
View File
File diff suppressed because it is too large Load Diff
+132 -991
View File
File diff suppressed because it is too large Load Diff
+286 -1239
View File
File diff suppressed because it is too large Load Diff
+104 -118
View File
@@ -1,110 +1,110 @@
SET(WEECHAT_SOURCES
./src/core/hook/hook-command.c
./src/core/hook/hook-command.h
./src/core/hook/hook-command-run.c
./src/core/hook/hook-command-run.h
./src/core/hook/hook-completion.c
./src/core/hook/hook-completion.h
./src/core/hook/hook-config.c
./src/core/hook/hook-config.h
./src/core/hook/hook-connect.c
./src/core/hook/hook-connect.h
./src/core/hook/hook-fd.c
./src/core/hook/hook-fd.h
./src/core/hook/hook-focus.c
./src/core/hook/hook-focus.h
./src/core/hook/hook-hdata.c
./src/core/hook/hook-hdata.h
./src/core/hook/hook-hsignal.c
./src/core/hook/hook-hsignal.h
./src/core/hook/hook-info.c
./src/core/hook/hook-info.h
./src/core/hook/hook-info-hashtable.c
./src/core/hook/hook-info-hashtable.h
./src/core/hook/hook-infolist.c
./src/core/hook/hook-infolist.h
./src/core/hook/hook-line.c
./src/core/hook/hook-line.h
./src/core/hook/hook-modifier.c
./src/core/hook/hook-modifier.h
./src/core/hook/hook-print.c
./src/core/hook/hook-print.h
./src/core/hook/hook-process.c
./src/core/hook/hook-process.h
./src/core/hook/hook-signal.c
./src/core/hook/hook-signal.h
./src/core/hook/hook-timer.c
./src/core/hook/hook-timer.h
./src/core/hook/hook-url.c
./src/core/hook/hook-url.h
./src/core/core-arraylist.c
./src/core/core-arraylist.h
./src/core/core-backtrace.c
./src/core/core-backtrace.h
./src/core/core-calc.c
./src/core/core-calc.h
./src/core/hook/wee-hook-command.c
./src/core/hook/wee-hook-command.h
./src/core/hook/wee-hook-command-run.c
./src/core/hook/wee-hook-command-run.h
./src/core/hook/wee-hook-completion.c
./src/core/hook/wee-hook-completion.h
./src/core/hook/wee-hook-config.c
./src/core/hook/wee-hook-config.h
./src/core/hook/wee-hook-connect.c
./src/core/hook/wee-hook-connect.h
./src/core/hook/wee-hook-fd.c
./src/core/hook/wee-hook-fd.h
./src/core/hook/wee-hook-focus.c
./src/core/hook/wee-hook-focus.h
./src/core/hook/wee-hook-hdata.c
./src/core/hook/wee-hook-hdata.h
./src/core/hook/wee-hook-hsignal.c
./src/core/hook/wee-hook-hsignal.h
./src/core/hook/wee-hook-info.c
./src/core/hook/wee-hook-info.h
./src/core/hook/wee-hook-info-hashtable.c
./src/core/hook/wee-hook-info-hashtable.h
./src/core/hook/wee-hook-infolist.c
./src/core/hook/wee-hook-infolist.h
./src/core/hook/wee-hook-line.c
./src/core/hook/wee-hook-line.h
./src/core/hook/wee-hook-modifier.c
./src/core/hook/wee-hook-modifier.h
./src/core/hook/wee-hook-print.c
./src/core/hook/wee-hook-print.h
./src/core/hook/wee-hook-process.c
./src/core/hook/wee-hook-process.h
./src/core/hook/wee-hook-signal.c
./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
./src/core/wee-backtrace.h
./src/core/wee-calc.c
./src/core/wee-calc.h
./src/core/weechat.c
./src/core/weechat.h
./src/core/core-command.c
./src/core/core-command.h
./src/core/core-completion.c
./src/core/core-completion.h
./src/core/core-config.c
./src/core/core-config-file.c
./src/core/core-config-file.h
./src/core/core-config.h
./src/core/core-crypto.c
./src/core/core-crypto.h
./src/core/core-debug.c
./src/core/core-debug.h
./src/core/core-dir.c
./src/core/core-dir.h
./src/core/core-doc.c
./src/core/core-doc.h
./src/core/core-eval.c
./src/core/core-eval.h
./src/core/core-hashtable.c
./src/core/core-hashtable.h
./src/core/core-hdata.c
./src/core/core-hdata.h
./src/core/core-hook.c
./src/core/core-hook.h
./src/core/core-infolist.c
./src/core/core-infolist.h
./src/core/core-input.c
./src/core/core-input.h
./src/core/core-list.c
./src/core/core-list.h
./src/core/core-log.c
./src/core/core-log.h
./src/core/core-network.c
./src/core/core-network.h
./src/core/core-proxy.c
./src/core/core-proxy.h
./src/core/core-secure-buffer.c
./src/core/core-secure-buffer.h
./src/core/core-secure.c
./src/core/core-secure-config.c
./src/core/core-secure-config.h
./src/core/core-secure.h
./src/core/core-signal.c
./src/core/core-signal.h
./src/core/core-string.c
./src/core/core-string.h
./src/core/core-sys.c
./src/core/core-sys.h
./src/core/core-upgrade.c
./src/core/core-upgrade-file.c
./src/core/core-upgrade-file.h
./src/core/core-upgrade.h
./src/core/core-url.c
./src/core/core-url.h
./src/core/core-utf8.c
./src/core/core-utf8.h
./src/core/core-util.c
./src/core/core-util.h
./src/core/core-version.c
./src/core/core-version.h
./src/core/wee-command.c
./src/core/wee-command.h
./src/core/wee-completion.c
./src/core/wee-completion.h
./src/core/wee-config.c
./src/core/wee-config-file.c
./src/core/wee-config-file.h
./src/core/wee-config.h
./src/core/wee-crypto.c
./src/core/wee-crypto.h
./src/core/wee-debug.c
./src/core/wee-debug.h
./src/core/wee-dir.c
./src/core/wee-dir.h
./src/core/wee-doc.c
./src/core/wee-doc.h
./src/core/wee-eval.c
./src/core/wee-eval.h
./src/core/wee-hashtable.c
./src/core/wee-hashtable.h
./src/core/wee-hdata.c
./src/core/wee-hdata.h
./src/core/wee-hook.c
./src/core/wee-hook.h
./src/core/wee-infolist.c
./src/core/wee-infolist.h
./src/core/wee-input.c
./src/core/wee-input.h
./src/core/wee-list.c
./src/core/wee-list.h
./src/core/wee-log.c
./src/core/wee-log.h
./src/core/wee-network.c
./src/core/wee-network.h
./src/core/wee-proxy.c
./src/core/wee-proxy.h
./src/core/wee-secure-buffer.c
./src/core/wee-secure-buffer.h
./src/core/wee-secure.c
./src/core/wee-secure-config.c
./src/core/wee-secure-config.h
./src/core/wee-secure.h
./src/core/wee-signal.c
./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
./src/core/wee-upgrade.h
./src/core/wee-url.c
./src/core/wee-url.h
./src/core/wee-utf8.c
./src/core/wee-utf8.h
./src/core/wee-util.c
./src/core/wee-util.h
./src/core/wee-version.c
./src/core/wee-version.h
./src/gui/curses/gui-curses-bar-window.c
./src/gui/curses/gui-curses-bar-window.h
./src/gui/curses/gui-curses-chat.c
@@ -344,16 +344,6 @@ SET(WEECHAT_SOURCES
./src/plugins/python/weechat-python-api.h
./src/plugins/python/weechat-python.c
./src/plugins/python/weechat-python.h
./src/plugins/relay/api/relay-api.c
./src/plugins/relay/api/relay-api.h
./src/plugins/relay/api/relay-api-msg.c
./src/plugins/relay/api/relay-api-msg.h
./src/plugins/relay/api/relay-api-protocol.c
./src/plugins/relay/api/relay-api-protocol.h
./src/plugins/relay/api/remote/relay-remote-event.c
./src/plugins/relay/api/remote/relay-remote-event.h
./src/plugins/relay/api/remote/relay-remote-network.c
./src/plugins/relay/api/remote/relay-remote-network.h
./src/plugins/relay/irc/relay-irc.c
./src/plugins/relay/irc/relay-irc.h
./src/plugins/relay/relay-auth.c
@@ -370,16 +360,12 @@ SET(WEECHAT_SOURCES
./src/plugins/relay/relay-config.c
./src/plugins/relay/relay-config.h
./src/plugins/relay/relay.h
./src/plugins/relay/relay-http.c
./src/plugins/relay/relay-http.h
./src/plugins/relay/relay-info.c
./src/plugins/relay/relay-info.h
./src/plugins/relay/relay-network.c
./src/plugins/relay/relay-network.h
./src/plugins/relay/relay-raw.c
./src/plugins/relay/relay-raw.h
./src/plugins/relay/relay-remote.c
./src/plugins/relay/relay-remote.h
./src/plugins/relay/relay-server.c
./src/plugins/relay/relay-server.h
./src/plugins/relay/relay-upgrade.c
+166 -1232
View File
File diff suppressed because it is too large Load Diff
+119 -918
View File
File diff suppressed because it is too large Load Diff
+52 -56
View File
@@ -21,58 +21,58 @@
set(LIB_CORE_SRC
weechat.c weechat.h
core-arraylist.c core-arraylist.h
core-backtrace.c core-backtrace.h
core-calc.c core-calc.h
core-command.c core-command.h
core-completion.c core-completion.h
core-config.c core-config.h
core-config-file.c core-config-file.h
core-crypto.c core-crypto.h
core-debug.c core-debug.h
core-dir.c core-dir.h
core-doc.c core-doc.h
core-eval.c core-eval.h
core-hashtable.c core-hashtable.h
core-hdata.c core-hdata.h
core-hook.c core-hook.h
core-infolist.c core-infolist.h
core-input.c core-input.h
core-list.c core-list.h
core-log.c core-log.h
core-network.c core-network.h
core-proxy.c core-proxy.h
core-secure.c core-secure.h
core-secure-buffer.c core-secure-buffer.h
core-secure-config.c core-secure-config.h
core-signal.c core-signal.h
core-string.c core-string.h
core-sys.c core-sys.h
core-upgrade.c core-upgrade.h
core-upgrade-file.c core-upgrade-file.h
core-url.c core-url.h
core-utf8.c core-utf8.h
core-util.c core-util.h
core-version.c core-version.h
hook/hook-command-run.c hook/hook-command-run.h
hook/hook-command.c hook/hook-command.h
hook/hook-completion.c hook/hook-completion.h
hook/hook-config.c hook/hook-config.h
hook/hook-connect.c hook/hook-connect.h
hook/hook-fd.c hook/hook-fd.h
hook/hook-focus.c hook/hook-focus.h
hook/hook-hdata.c hook/hook-hdata.h
hook/hook-hsignal.c hook/hook-hsignal.h
hook/hook-info-hashtable.c hook/hook-info-hashtable.h
hook/hook-info.c hook/hook-info.h
hook/hook-infolist.c hook/hook-infolist.h
hook/hook-line.c hook/hook-line.h
hook/hook-modifier.c hook/hook-modifier.h
hook/hook-print.c hook/hook-print.h
hook/hook-process.c hook/hook-process.h
hook/hook-signal.c hook/hook-signal.h
hook/hook-timer.c hook/hook-timer.h
hook/hook-url.c hook/hook-url.h
wee-arraylist.c wee-arraylist.h
wee-backtrace.c wee-backtrace.h
wee-calc.c wee-calc.h
wee-command.c wee-command.h
wee-completion.c wee-completion.h
wee-config.c wee-config.h
wee-config-file.c wee-config-file.h
wee-crypto.c wee-crypto.h
wee-debug.c wee-debug.h
wee-dir.c wee-dir.h
wee-doc.c wee-doc.h
wee-eval.c wee-eval.h
wee-hashtable.c wee-hashtable.h
wee-hdata.c wee-hdata.h
wee-hook.c wee-hook.h
wee-infolist.c wee-infolist.h
wee-input.c wee-input.h
wee-list.c wee-list.h
wee-log.c wee-log.h
wee-network.c wee-network.h
wee-proxy.c wee-proxy.h
wee-secure.c wee-secure.h
wee-secure-buffer.c wee-secure-buffer.h
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
wee-utf8.c wee-utf8.h
wee-util.c wee-util.h
wee-version.c wee-version.h
hook/wee-hook-command-run.c hook/wee-hook-command-run.h
hook/wee-hook-command.c hook/wee-hook-command.h
hook/wee-hook-completion.c hook/wee-hook-completion.h
hook/wee-hook-config.c hook/wee-hook-config.h
hook/wee-hook-connect.c hook/wee-hook-connect.h
hook/wee-hook-fd.c hook/wee-hook-fd.h
hook/wee-hook-focus.c hook/wee-hook-focus.h
hook/wee-hook-hdata.c hook/wee-hook-hdata.h
hook/wee-hook-hsignal.c hook/wee-hook-hsignal.h
hook/wee-hook-info-hashtable.c hook/wee-hook-info-hashtable.h
hook/wee-hook-info.c hook/wee-hook-info.h
hook/wee-hook-infolist.c hook/wee-hook-infolist.h
hook/wee-hook-line.c hook/wee-hook-line.h
hook/wee-hook-modifier.c hook/wee-hook-modifier.h
hook/wee-hook-print.c hook/wee-hook-print.h
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
@@ -95,10 +95,6 @@ if(ENABLE_ZSTD)
include_directories(${LIBZSTD_INCLUDE_DIRS})
endif()
if(ENABLE_CJSON)
include_directories(${LIBCJSON_INCLUDE_DIRS})
endif()
include_directories("${CMAKE_BINARY_DIR}")
add_library(weechat_core STATIC ${LIB_CORE_SRC})
target_link_libraries(weechat_core coverage_config)
@@ -1,5 +1,5 @@
/*
* hook-command-run.c - WeeChat command_run hook
* wee-hook-command-run.c - WeeChat command_run hook
*
* Copyright (C) 2003-2024 Sébastien Helleu <flashcode@flashtux.org>
*
@@ -27,11 +27,11 @@
#include <string.h>
#include "../weechat.h"
#include "../core-hook.h"
#include "../core-infolist.h"
#include "../core-log.h"
#include "../core-string.h"
#include "../core-utf8.h"
#include "../wee-hook.h"
#include "../wee-infolist.h"
#include "../wee-log.h"
#include "../wee-string.h"
#include "../wee-utf8.h"
#include "../../plugins/plugin.h"
@@ -159,7 +159,8 @@ hook_command_run_exec (struct t_gui_buffer *buffer, const char *command)
hook_callback_end (ptr_hook, &hook_exec_cb);
if (rc == WEECHAT_RC_OK_EAT)
{
free (command2);
if (command2)
free (command2);
return rc;
}
}
@@ -168,7 +169,8 @@ hook_command_run_exec (struct t_gui_buffer *buffer, const char *command)
ptr_hook = next_hook;
}
free (command2);
if (command2)
free (command2);
return WEECHAT_RC_OK;
}
@@ -227,6 +229,6 @@ hook_command_run_print_log (struct t_hook *hook)
return;
log_printf (" command_run data:");
log_printf (" callback. . . . . . . : %p", HOOK_COMMAND_RUN(hook, callback));
log_printf (" command . . . . . . . : '%s'", HOOK_COMMAND_RUN(hook, command));
log_printf (" callback. . . . . . . : 0x%lx", HOOK_COMMAND_RUN(hook, callback));
log_printf (" command . . . . . . . : '%s'", HOOK_COMMAND_RUN(hook, command));
}
@@ -1,5 +1,5 @@
/*
* hook-command.c - WeeChat command hook
* wee-hook-command.c - WeeChat command hook
*
* Copyright (C) 2003-2024 Sébastien Helleu <flashcode@flashtux.org>
*
@@ -27,14 +27,14 @@
#include <string.h>
#include "../weechat.h"
#include "../core-arraylist.h"
#include "../core-config.h"
#include "../core-hook.h"
#include "../core-infolist.h"
#include "../core-list.h"
#include "../core-log.h"
#include "../core-string.h"
#include "../core-utf8.h"
#include "../wee-arraylist.h"
#include "../wee-config.h"
#include "../wee-hook.h"
#include "../wee-infolist.h"
#include "../wee-list.h"
#include "../wee-log.h"
#include "../wee-string.h"
#include "../wee-utf8.h"
#include "../../gui/gui-chat.h"
#include "../../gui/gui-filter.h"
#include "../../plugins/plugin.h"
@@ -490,9 +490,12 @@ hook_command_format_args_description (const char *args_description)
return string_dyn_free (result, 0);
error:
arraylist_free (args);
string_dyn_free (result, 1);
string_free_split (lines);
if (args)
arraylist_free (args);
if (result)
string_dyn_free (result, 1);
if (lines)
string_free_split (lines);
return NULL;
}
@@ -996,8 +999,10 @@ hook_command_free_data (struct t_hook *hook)
{
for (i = 0; i < HOOK_COMMAND(hook, cplt_num_templates); i++)
{
free (HOOK_COMMAND(hook, cplt_templates)[i]);
free (HOOK_COMMAND(hook, cplt_templates_static)[i]);
if (HOOK_COMMAND(hook, cplt_templates)[i])
free (HOOK_COMMAND(hook, cplt_templates)[i]);
if (HOOK_COMMAND(hook, cplt_templates_static)[i])
free (HOOK_COMMAND(hook, cplt_templates_static)[i]);
string_free_split (HOOK_COMMAND(hook, cplt_template_args)[i]);
}
free (HOOK_COMMAND(hook, cplt_templates));
@@ -1078,10 +1083,12 @@ hook_command_add_to_infolist (struct t_infolist_item *item,
if (!infolist_new_var_string (item, "args_description_nls",
(args_desc_nls) ? args_desc_nls : ""))
{
free (args_desc_nls);
if (args_desc_nls)
free (args_desc_nls);
return 0;
}
free (args_desc_nls);
if (args_desc_nls)
free (args_desc_nls);
if (!infolist_new_var_string (item, "completion", HOOK_COMMAND(hook, completion)))
return 0;
@@ -1101,13 +1108,13 @@ hook_command_print_log (struct t_hook *hook)
return;
log_printf (" command data:");
log_printf (" callback. . . . . . . : %p", HOOK_COMMAND(hook, callback));
log_printf (" command . . . . . . . : '%s'", HOOK_COMMAND(hook, command));
log_printf (" description . . . . . : '%s'", HOOK_COMMAND(hook, description));
log_printf (" args. . . . . . . . . : '%s'", HOOK_COMMAND(hook, args));
log_printf (" args_description. . . : '%s'", HOOK_COMMAND(hook, args_description));
log_printf (" completion. . . . . . : '%s'", HOOK_COMMAND(hook, completion));
log_printf (" cplt_num_templates. . : %d", HOOK_COMMAND(hook, cplt_num_templates));
log_printf (" callback. . . . . . . : 0x%lx", HOOK_COMMAND(hook, callback));
log_printf (" command . . . . . . . : '%s'", HOOK_COMMAND(hook, command));
log_printf (" description . . . . . : '%s'", HOOK_COMMAND(hook, description));
log_printf (" args. . . . . . . . . : '%s'", HOOK_COMMAND(hook, args));
log_printf (" args_description. . . : '%s'", HOOK_COMMAND(hook, args_description));
log_printf (" completion. . . . . . : '%s'", HOOK_COMMAND(hook, completion));
log_printf (" cplt_num_templates. . : %d", HOOK_COMMAND(hook, cplt_num_templates));
for (i = 0; i < HOOK_COMMAND(hook, cplt_num_templates); i++)
{
log_printf (" cplt_templates[%04d] . . . : '%s'",
@@ -1,5 +1,5 @@
/*
* hook-completion.c - WeeChat completion hook
* wee-hook-completion.c - WeeChat completion hook
*
* Copyright (C) 2003-2024 Sébastien Helleu <flashcode@flashtux.org>
*
@@ -27,10 +27,10 @@
#include <string.h>
#include "../weechat.h"
#include "../core-hook.h"
#include "../core-infolist.h"
#include "../core-log.h"
#include "../core-string.h"
#include "../wee-hook.h"
#include "../wee-infolist.h"
#include "../wee-log.h"
#include "../wee-string.h"
#include "../../gui/gui-completion.h"
@@ -219,7 +219,7 @@ hook_completion_print_log (struct t_hook *hook)
return;
log_printf (" completion data:");
log_printf (" callback. . . . . . . : %p", HOOK_COMPLETION(hook, callback));
log_printf (" callback. . . . . . . : 0x%lx", HOOK_COMPLETION(hook, callback));
log_printf (" completion_item . . . : '%s'", HOOK_COMPLETION(hook, completion_item));
log_printf (" description . . . . . : '%s'", HOOK_COMPLETION(hook, description));
}
@@ -1,5 +1,5 @@
/*
* hook-config.c - WeeChat config hook
* wee-hook-config.c - WeeChat config hook
*
* Copyright (C) 2003-2024 Sébastien Helleu <flashcode@flashtux.org>
*
@@ -27,10 +27,10 @@
#include <string.h>
#include "../weechat.h"
#include "../core-hook.h"
#include "../core-infolist.h"
#include "../core-log.h"
#include "../core-string.h"
#include "../wee-hook.h"
#include "../wee-infolist.h"
#include "../wee-log.h"
#include "../wee-string.h"
/*
@@ -181,6 +181,6 @@ hook_config_print_log (struct t_hook *hook)
return;
log_printf (" config data:");
log_printf (" callback. . . . . . . : %p", HOOK_CONFIG(hook, callback));
log_printf (" callback. . . . . . . : 0x%lx", HOOK_CONFIG(hook, callback));
log_printf (" option. . . . . . . . : '%s'", HOOK_CONFIG(hook, option));
}
@@ -1,5 +1,5 @@
/*
* hook-connect.c - WeeChat connect hook
* wee-hook-connect.c - WeeChat connect hook
*
* Copyright (C) 2003-2024 Sébastien Helleu <flashcode@flashtux.org>
* Copyright (C) 2012 Simon Arlott
@@ -31,10 +31,10 @@
#include <sys/wait.h>
#include "../weechat.h"
#include "../core-hook.h"
#include "../core-infolist.h"
#include "../core-log.h"
#include "../core-network.h"
#include "../wee-hook.h"
#include "../wee-infolist.h"
#include "../wee-log.h"
#include "../wee-network.h"
#include "../../plugins/plugin.h"
@@ -388,15 +388,15 @@ hook_connect_print_log (struct t_hook *hook)
return;
log_printf (" connect data:");
log_printf (" callback. . . . . . . : %p", HOOK_CONNECT(hook, callback));
log_printf (" callback. . . . . . . : 0x%lx", HOOK_CONNECT(hook, callback));
log_printf (" proxy . . . . . . . . : '%s'", HOOK_CONNECT(hook, proxy));
log_printf (" address . . . . . . . : '%s'", HOOK_CONNECT(hook, address));
log_printf (" port. . . . . . . . . : %d", HOOK_CONNECT(hook, port));
log_printf (" sock. . . . . . . . . : %d", HOOK_CONNECT(hook, sock));
log_printf (" ipv6. . . . . . . . . : %d", HOOK_CONNECT(hook, ipv6));
log_printf (" retry . . . . . . . . : %d", HOOK_CONNECT(hook, retry));
log_printf (" gnutls_sess . . . . . : %p", HOOK_CONNECT(hook, gnutls_sess));
log_printf (" gnutls_cb . . . . . . : %p", HOOK_CONNECT(hook, gnutls_cb));
log_printf (" gnutls_sess . . . . . : 0x%lx", HOOK_CONNECT(hook, gnutls_sess));
log_printf (" gnutls_cb . . . . . . : 0x%lx", HOOK_CONNECT(hook, gnutls_cb));
log_printf (" gnutls_dhkey_size . . : %d", HOOK_CONNECT(hook, gnutls_dhkey_size));
log_printf (" gnutls_priorities . . : '%s'", HOOK_CONNECT(hook, gnutls_priorities));
log_printf (" local_hostname. . . . : '%s'", HOOK_CONNECT(hook, local_hostname));
@@ -405,10 +405,10 @@ hook_connect_print_log (struct t_hook *hook)
log_printf (" child_recv. . . . . . : %d", HOOK_CONNECT(hook, child_recv));
log_printf (" child_send. . . . . . : %d", HOOK_CONNECT(hook, child_send));
log_printf (" child_pid . . . . . . : %d", HOOK_CONNECT(hook, child_pid));
log_printf (" hook_child_timer. . . : %p", HOOK_CONNECT(hook, hook_child_timer));
log_printf (" hook_fd . . . . . . . : %p", HOOK_CONNECT(hook, hook_fd));
log_printf (" handshake_hook_fd . . : %p", HOOK_CONNECT(hook, handshake_hook_fd));
log_printf (" handshake_hook_timer. : %p", HOOK_CONNECT(hook, handshake_hook_timer));
log_printf (" hook_child_timer. . . : 0x%lx", HOOK_CONNECT(hook, hook_child_timer));
log_printf (" hook_fd . . . . . . . : 0x%lx", HOOK_CONNECT(hook, hook_fd));
log_printf (" handshake_hook_fd . . : 0x%lx", HOOK_CONNECT(hook, handshake_hook_fd));
log_printf (" handshake_hook_timer. : 0x%lx", HOOK_CONNECT(hook, handshake_hook_timer));
log_printf (" handshake_fd_flags. . : %d", HOOK_CONNECT(hook, handshake_fd_flags));
log_printf (" handshake_ip_address. : '%s'", HOOK_CONNECT(hook, handshake_ip_address));
if (!hook_socketpair_ok)
@@ -1,5 +1,5 @@
/*
* hook-fd.c - WeeChat fd hook
* wee-hook-fd.c - WeeChat fd hook
*
* Copyright (C) 2003-2024 Sébastien Helleu <flashcode@flashtux.org>
*
@@ -30,9 +30,9 @@
#include <errno.h>
#include "../weechat.h"
#include "../core-hook.h"
#include "../core-infolist.h"
#include "../core-log.h"
#include "../wee-hook.h"
#include "../wee-infolist.h"
#include "../wee-log.h"
#include "../../gui/gui-chat.h"
@@ -347,7 +347,7 @@ hook_fd_print_log (struct t_hook *hook)
return;
log_printf (" fd data:");
log_printf (" callback. . . . . . . : %p", HOOK_FD(hook, callback));
log_printf (" callback. . . . . . . : 0x%lx", HOOK_FD(hook, callback));
log_printf (" fd. . . . . . . . . . : %d", HOOK_FD(hook, fd));
log_printf (" flags . . . . . . . . : %d", HOOK_FD(hook, flags));
log_printf (" error . . . . . . . . : %d", HOOK_FD(hook, error));
@@ -1,5 +1,5 @@
/*
* hook-focus.c - WeeChat focus hook
* wee-hook-focus.c - WeeChat focus hook
*
* Copyright (C) 2003-2024 Sébastien Helleu <flashcode@flashtux.org>
*
@@ -27,11 +27,11 @@
#include <string.h>
#include "../weechat.h"
#include "../core-hashtable.h"
#include "../core-hook.h"
#include "../core-infolist.h"
#include "../core-log.h"
#include "../core-string.h"
#include "../wee-hashtable.h"
#include "../wee-hook.h"
#include "../wee-infolist.h"
#include "../wee-log.h"
#include "../wee-string.h"
#include "../../plugins/plugin.h"
@@ -331,6 +331,6 @@ hook_focus_print_log (struct t_hook *hook)
return;
log_printf (" focus data:");
log_printf (" callback. . . . . . . : %p", HOOK_FOCUS(hook, callback));
log_printf (" callback. . . . . . . : 0x%lx", HOOK_FOCUS(hook, callback));
log_printf (" area. . . . . . . . . : '%s'", HOOK_FOCUS(hook, area));
}
@@ -1,5 +1,5 @@
/*
* hook-hdata.c - WeeChat hdata hook
* wee-hook-hdata.c - WeeChat hdata hook
*
* Copyright (C) 2003-2024 Sébastien Helleu <flashcode@flashtux.org>
*
@@ -27,12 +27,12 @@
#include <string.h>
#include "../weechat.h"
#include "../core-hashtable.h"
#include "../core-hdata.h"
#include "../core-hook.h"
#include "../core-infolist.h"
#include "../core-log.h"
#include "../core-string.h"
#include "../wee-hashtable.h"
#include "../wee-hdata.h"
#include "../wee-hook.h"
#include "../wee-infolist.h"
#include "../wee-log.h"
#include "../wee-string.h"
/*
@@ -215,7 +215,7 @@ hook_hdata_print_log (struct t_hook *hook)
return;
log_printf (" hdata data:");
log_printf (" callback. . . . . . . : %p", HOOK_HDATA(hook, callback));
log_printf (" callback. . . . . . . : 0x%lx", HOOK_HDATA(hook, callback));
log_printf (" hdata_name. . . . . . : '%s'", HOOK_HDATA(hook, hdata_name));
log_printf (" description . . . . . : '%s'", HOOK_HDATA(hook, description));
}
@@ -1,5 +1,5 @@
/*
* hook-hsignal.c - WeeChat hsignal hook
* wee-hook-hsignal.c - WeeChat hsignal hook
*
* Copyright (C) 2003-2024 Sébastien Helleu <flashcode@flashtux.org>
*
@@ -27,10 +27,10 @@
#include <string.h>
#include "../weechat.h"
#include "../core-hook.h"
#include "../core-infolist.h"
#include "../core-log.h"
#include "../core-string.h"
#include "../wee-hook.h"
#include "../wee-infolist.h"
#include "../wee-log.h"
#include "../wee-string.h"
#include "../../plugins/plugin.h"
@@ -233,7 +233,7 @@ hook_hsignal_print_log (struct t_hook *hook)
return;
log_printf (" signal data:");
log_printf (" callback. . . . . . . : %p", HOOK_HSIGNAL(hook, callback));
log_printf (" callback. . . . . . . : 0x%lx", HOOK_HSIGNAL(hook, callback));
log_printf (" signals:");
for (i = 0; i < HOOK_HSIGNAL(hook, num_signals); i++)
{
@@ -1,5 +1,5 @@
/*
* hook-info-hashtable.c - WeeChat info_hashtable hook
* wee-hook-info-hashtable.c - WeeChat info_hashtable hook
*
* Copyright (C) 2003-2024 Sébastien Helleu <flashcode@flashtux.org>
*
@@ -27,10 +27,10 @@
#include <string.h>
#include "../weechat.h"
#include "../core-hook.h"
#include "../core-infolist.h"
#include "../core-log.h"
#include "../core-string.h"
#include "../wee-hook.h"
#include "../wee-infolist.h"
#include "../wee-log.h"
#include "../wee-string.h"
/*
@@ -237,7 +237,7 @@ hook_info_hashtable_print_log (struct t_hook *hook)
return;
log_printf (" info_hashtable data:");
log_printf (" callback. . . . . . . : %p", HOOK_INFO_HASHTABLE(hook, callback));
log_printf (" callback. . . . . . . : 0x%lx", HOOK_INFO_HASHTABLE(hook, callback));
log_printf (" info_name . . . . . . : '%s'", HOOK_INFO_HASHTABLE(hook, info_name));
log_printf (" description . . . . . : '%s'", HOOK_INFO_HASHTABLE(hook, description));
log_printf (" args_description. . . : '%s'", HOOK_INFO_HASHTABLE(hook, args_description));
@@ -1,5 +1,5 @@
/*
* hook-info.c - WeeChat info hook
* wee-hook-info.c - WeeChat info hook
*
* Copyright (C) 2003-2024 Sébastien Helleu <flashcode@flashtux.org>
*
@@ -27,10 +27,10 @@
#include <string.h>
#include "../weechat.h"
#include "../core-hook.h"
#include "../core-infolist.h"
#include "../core-log.h"
#include "../core-string.h"
#include "../wee-hook.h"
#include "../wee-infolist.h"
#include "../wee-log.h"
#include "../wee-string.h"
/*
@@ -221,7 +221,7 @@ void
hook_info_print_log (struct t_hook *hook)
{
log_printf (" info data:");
log_printf (" callback. . . . . . . : %p", HOOK_INFO(hook, callback));
log_printf (" callback. . . . . . . : 0x%lx", HOOK_INFO(hook, callback));
log_printf (" info_name . . . . . . : '%s'", HOOK_INFO(hook, info_name));
log_printf (" description . . . . . : '%s'", HOOK_INFO(hook, description));
log_printf (" args_description. . . : '%s'", HOOK_INFO(hook, args_description));
@@ -1,5 +1,5 @@
/*
* hook-infolist.c - WeeChat infolist hook
* wee-hook-infolist.c - WeeChat infolist hook
*
* Copyright (C) 2003-2024 Sébastien Helleu <flashcode@flashtux.org>
*
@@ -27,10 +27,10 @@
#include <string.h>
#include "../weechat.h"
#include "../core-hook.h"
#include "../core-infolist.h"
#include "../core-log.h"
#include "../core-string.h"
#include "../wee-hook.h"
#include "../wee-infolist.h"
#include "../wee-log.h"
#include "../wee-string.h"
/*
@@ -238,7 +238,7 @@ hook_infolist_print_log (struct t_hook *hook)
return;
log_printf (" infolist data:");
log_printf (" callback. . . . . . . : %p", HOOK_INFOLIST(hook, callback));
log_printf (" callback. . . . . . . : 0x%lx", HOOK_INFOLIST(hook, callback));
log_printf (" infolist_name . . . . : '%s'", HOOK_INFOLIST(hook, infolist_name));
log_printf (" description . . . . . : '%s'", HOOK_INFOLIST(hook, description));
log_printf (" pointer_description . : '%s'", HOOK_INFOLIST(hook, pointer_description));
@@ -1,5 +1,5 @@
/*
* hook-line.c - WeeChat line hook
* wee-hook-line.c - WeeChat line hook
*
* Copyright (C) 2003-2024 Sébastien Helleu <flashcode@flashtux.org>
*
@@ -27,11 +27,11 @@
#include <string.h>
#include "../weechat.h"
#include "../core-hashtable.h"
#include "../core-hook.h"
#include "../core-infolist.h"
#include "../core-log.h"
#include "../core-string.h"
#include "../wee-hashtable.h"
#include "../wee-hook.h"
#include "../wee-infolist.h"
#include "../wee-log.h"
#include "../wee-string.h"
#include "../../gui/gui-buffer.h"
#include "../../gui/gui-line.h"
#include "../../plugins/plugin.h"
@@ -176,7 +176,8 @@ hook_line_exec (struct t_gui_line *line)
str_tags = string_rebuild_split_string (
(const char **)line->data->tags_array, ",", 0, -1);
HASHTABLE_SET_STR_NOT_NULL("tags", str_tags);
free (str_tags);
if (str_tags)
free (str_tags);
HASHTABLE_SET_INT("displayed", line->data->displayed);
HASHTABLE_SET_INT("notify_level", line->data->notify_level);
HASHTABLE_SET_INT("highlight", line->data->highlight);
@@ -205,7 +206,8 @@ hook_line_exec (struct t_gui_line *line)
hook_exec_end ();
hashtable_free (hashtable);
if (hashtable)
hashtable_free (hashtable);
}
/*
@@ -277,9 +279,9 @@ hook_line_print_log (struct t_hook *hook)
return;
log_printf (" line data:");
log_printf (" callback. . . . . . . : %p", HOOK_LINE(hook, callback));
log_printf (" callback. . . . . . . : 0x%lx", HOOK_LINE(hook, callback));
log_printf (" buffer_type . . . . . : %d", HOOK_LINE(hook, buffer_type));
log_printf (" buffers . . . . . . . : %p", HOOK_LINE(hook, buffers));
log_printf (" buffers . . . . . . . : 0x%lx", HOOK_LINE(hook, buffers));
log_printf (" num_buffers . . . . . : %d", HOOK_LINE(hook, num_buffers));
for (i = 0; i < HOOK_LINE(hook, num_buffers); i++)
{
@@ -287,7 +289,7 @@ hook_line_print_log (struct t_hook *hook)
i, HOOK_LINE(hook, buffers)[i]);
}
log_printf (" tags_count. . . . . . : %d", HOOK_LINE(hook, tags_count));
log_printf (" tags_array. . . . . . : %p", HOOK_LINE(hook, tags_array));
log_printf (" tags_array. . . . . . : 0x%lx", HOOK_LINE(hook, tags_array));
if (HOOK_LINE(hook, tags_array))
{
for (i = 0; i < HOOK_LINE(hook, tags_count); i++)
@@ -1,5 +1,5 @@
/*
* hook-modifier.c - WeeChat modifier hook
* wee-hook-modifier.c - WeeChat modifier hook
*
* Copyright (C) 2003-2024 Sébastien Helleu <flashcode@flashtux.org>
*
@@ -27,10 +27,10 @@
#include <string.h>
#include "../weechat.h"
#include "../core-hook.h"
#include "../core-infolist.h"
#include "../core-log.h"
#include "../core-string.h"
#include "../wee-hook.h"
#include "../wee-infolist.h"
#include "../wee-log.h"
#include "../wee-string.h"
/*
@@ -213,6 +213,6 @@ hook_modifier_print_log (struct t_hook *hook)
return;
log_printf (" modifier data:");
log_printf (" callback. . . . . . . : %p", HOOK_MODIFIER(hook, callback));
log_printf (" callback. . . . . . . : 0x%lx", HOOK_MODIFIER(hook, callback));
log_printf (" modifier. . . . . . . : '%s'", HOOK_MODIFIER(hook, modifier));
}
@@ -1,5 +1,5 @@
/*
* hook-print.c - WeeChat print hook
* wee-hook-print.c - WeeChat print hook
*
* Copyright (C) 2003-2024 Sébastien Helleu <flashcode@flashtux.org>
*
@@ -27,10 +27,10 @@
#include <string.h>
#include "../weechat.h"
#include "../core-hook.h"
#include "../core-infolist.h"
#include "../core-log.h"
#include "../core-string.h"
#include "../wee-hook.h"
#include "../wee-infolist.h"
#include "../wee-log.h"
#include "../wee-string.h"
#include "../../gui/gui-buffer.h"
#include "../../gui/gui-color.h"
#include "../../gui/gui-line.h"
@@ -136,7 +136,8 @@ hook_print_exec (struct t_gui_buffer *buffer, struct t_gui_line *line)
message_no_color = gui_color_decode (line->data->message, NULL);
if (!message_no_color)
{
free (prefix_no_color);
if (prefix_no_color)
free (prefix_no_color);
return;
}
@@ -179,8 +180,10 @@ hook_print_exec (struct t_gui_buffer *buffer, struct t_gui_line *line)
ptr_hook = next_hook;
}
free (prefix_no_color);
free (message_no_color);
if (prefix_no_color)
free (prefix_no_color);
if (message_no_color)
free (message_no_color);
hook_exec_end ();
}
@@ -254,10 +257,10 @@ hook_print_print_log (struct t_hook *hook)
return;
log_printf (" print data:");
log_printf (" callback. . . . . . . : %p", HOOK_PRINT(hook, callback));
log_printf (" buffer. . . . . . . . : %p", HOOK_PRINT(hook, buffer));
log_printf (" callback. . . . . . . : 0x%lx", HOOK_PRINT(hook, callback));
log_printf (" buffer. . . . . . . . : 0x%lx", HOOK_PRINT(hook, buffer));
log_printf (" tags_count. . . . . . : %d", HOOK_PRINT(hook, tags_count));
log_printf (" tags_array. . . . . . : %p", HOOK_PRINT(hook, tags_array));
log_printf (" tags_array. . . . . . : 0x%lx", HOOK_PRINT(hook, tags_array));
if (HOOK_PRINT(hook, tags_array))
{
for (i = 0; i < HOOK_PRINT(hook, tags_count); i++)
@@ -1,5 +1,5 @@
/*
* hook-process.c - WeeChat process hook
* wee-hook-process.c - WeeChat process hook
*
* Copyright (C) 2003-2024 Sébastien Helleu <flashcode@flashtux.org>
*
@@ -32,12 +32,12 @@
#include <errno.h>
#include "../weechat.h"
#include "../core-hashtable.h"
#include "../core-hook.h"
#include "../core-infolist.h"
#include "../core-log.h"
#include "../core-string.h"
#include "../core-url.h"
#include "../wee-hashtable.h"
#include "../wee-hook.h"
#include "../wee-infolist.h"
#include "../wee-log.h"
#include "../wee-string.h"
#include "../wee-url.h"
#include "../../gui/gui-chat.h"
#include "../../plugins/plugin.h"
@@ -177,10 +177,14 @@ hook_process_hashtable (struct t_weechat_plugin *plugin,
return new_hook;
error:
free (stdout_buffer);
free (stderr_buffer);
free (new_hook);
free (new_hook_process);
if (stdout_buffer)
free (stdout_buffer);
if (stderr_buffer)
free (stderr_buffer);
if (new_hook)
free (new_hook);
if (new_hook_process)
free (new_hook_process);
return NULL;
}
@@ -361,7 +365,8 @@ hook_process_child (struct t_hook *hook_process)
}
/* should not be executed if execvp was OK */
string_free_split (exec_args);
if (exec_args)
string_free_split (exec_args);
fprintf (stderr, "Error with command '%s'\n",
HOOK_PROCESS(hook_process, command));
}
@@ -973,9 +978,9 @@ hook_process_print_log (struct t_hook *hook)
return;
log_printf (" process data:");
log_printf (" callback. . . . . . . : %p", HOOK_PROCESS(hook, callback));
log_printf (" callback. . . . . . . : 0x%lx", HOOK_PROCESS(hook, callback));
log_printf (" command . . . . . . . : '%s'", HOOK_PROCESS(hook, command));
log_printf (" options . . . . . . . : %p (hashtable: '%s')",
log_printf (" options . . . . . . . : 0x%lx (hashtable: '%s')",
HOOK_PROCESS(hook, options),
hashtable_get_string (HOOK_PROCESS(hook, options),
"keys_values"));
@@ -988,8 +993,8 @@ hook_process_print_log (struct t_hook *hook)
log_printf (" child_read[stderr]. . : %d", HOOK_PROCESS(hook, child_read[HOOK_PROCESS_STDERR]));
log_printf (" child_write[stderr] . : %d", HOOK_PROCESS(hook, child_write[HOOK_PROCESS_STDERR]));
log_printf (" child_pid . . . . . . : %d", HOOK_PROCESS(hook, child_pid));
log_printf (" hook_fd[stdin]. . . . : %p", HOOK_PROCESS(hook, hook_fd[HOOK_PROCESS_STDIN]));
log_printf (" hook_fd[stdout] . . . : %p", HOOK_PROCESS(hook, hook_fd[HOOK_PROCESS_STDOUT]));
log_printf (" hook_fd[stderr] . . . : %p", HOOK_PROCESS(hook, hook_fd[HOOK_PROCESS_STDERR]));
log_printf (" hook_timer. . . . . . : %p", HOOK_PROCESS(hook, hook_timer));
log_printf (" hook_fd[stdin]. . . . : 0x%lx", HOOK_PROCESS(hook, hook_fd[HOOK_PROCESS_STDIN]));
log_printf (" hook_fd[stdout] . . . : 0x%lx", HOOK_PROCESS(hook, hook_fd[HOOK_PROCESS_STDOUT]));
log_printf (" hook_fd[stderr] . . . : 0x%lx", HOOK_PROCESS(hook, hook_fd[HOOK_PROCESS_STDERR]));
log_printf (" hook_timer. . . . . . : 0x%lx", HOOK_PROCESS(hook, hook_timer));
}
@@ -1,5 +1,5 @@
/*
* hook-signal.c - WeeChat signal hook
* wee-hook-signal.c - WeeChat signal hook
*
* Copyright (C) 2003-2024 Sébastien Helleu <flashcode@flashtux.org>
*
@@ -27,10 +27,10 @@
#include <string.h>
#include "../weechat.h"
#include "../core-hook.h"
#include "../core-infolist.h"
#include "../core-log.h"
#include "../core-string.h"
#include "../wee-hook.h"
#include "../wee-infolist.h"
#include "../wee-log.h"
#include "../wee-string.h"
#include "../../plugins/plugin.h"
@@ -234,7 +234,7 @@ hook_signal_print_log (struct t_hook *hook)
return;
log_printf (" signal data:");
log_printf (" callback. . . . . . . : %p", HOOK_SIGNAL(hook, callback));
log_printf (" callback. . . . . . . : 0x%lx", HOOK_SIGNAL(hook, callback));
log_printf (" signals:");
for (i = 0; i < HOOK_SIGNAL(hook, num_signals); i++)
{
@@ -1,5 +1,5 @@
/*
* hook-timer.c - WeeChat timer hook
* wee-hook-timer.c - WeeChat timer hook
*
* Copyright (C) 2003-2024 Sébastien Helleu <flashcode@flashtux.org>
*
@@ -28,10 +28,10 @@
#include <time.h>
#include "../weechat.h"
#include "../core-hook.h"
#include "../core-infolist.h"
#include "../core-log.h"
#include "../core-util.h"
#include "../wee-hook.h"
#include "../wee-infolist.h"
#include "../wee-log.h"
#include "../wee-util.h"
#include "../../gui/gui-chat.h"
@@ -421,7 +421,7 @@ hook_timer_print_log (struct t_hook *hook)
return;
log_printf (" timer data:");
log_printf (" callback. . . . . . . : %p", HOOK_TIMER(hook, callback));
log_printf (" callback. . . . . . . : 0x%lx", HOOK_TIMER(hook, callback));
log_printf (" interval. . . . . . . : %ld", HOOK_TIMER(hook, interval));
log_printf (" align_second. . . . . : %d", HOOK_TIMER(hook, align_second));
log_printf (" remaining_calls . . . : %d", HOOK_TIMER(hook, remaining_calls));
@@ -1,5 +1,5 @@
/*
* hook-url.c - WeeChat URL hook
* wee-hook-url.c - WeeChat URL hook
*
* Copyright (C) 2023-2024 Sébastien Helleu <flashcode@flashtux.org>
*
@@ -33,12 +33,12 @@
#include <pthread.h>
#include "../weechat.h"
#include "../core-hashtable.h"
#include "../core-hook.h"
#include "../core-infolist.h"
#include "../core-log.h"
#include "../core-string.h"
#include "../core-url.h"
#include "../wee-hashtable.h"
#include "../wee-hook.h"
#include "../wee-infolist.h"
#include "../wee-log.h"
#include "../wee-string.h"
#include "../wee-url.h"
#include "../../gui/gui-chat.h"
#include "../../plugins/plugin.h"
@@ -347,8 +347,10 @@ hook_url (struct t_weechat_plugin *plugin,
return new_hook;
error:
free (new_hook);
free (new_hook_url);
if (new_hook)
free (new_hook);
if (new_hook_url)
free (new_hook_url);
return NULL;
}
@@ -442,17 +444,17 @@ hook_url_print_log (struct t_hook *hook)
return;
log_printf (" url data:");
log_printf (" callback. . . . . . . : %p", HOOK_URL(hook, callback));
log_printf (" callback. . . . . . . : 0x%lx", HOOK_URL(hook, callback));
log_printf (" url . . . . . . . . . : '%s'", HOOK_URL(hook, url));
log_printf (" options . . . . . . . : %p (hashtable: '%s')",
log_printf (" options . . . . . . . : 0x%lx (hashtable: '%s')",
HOOK_URL(hook, options),
hashtable_get_string (HOOK_URL(hook, options),
"keys_values"));
log_printf (" timeout . . . . . . . : %ld", HOOK_URL(hook, timeout));
log_printf (" thread_created. . . . : %d", (int)HOOK_URL(hook, thread_created));
log_printf (" thread_running. . . . : %d", (int)HOOK_URL(hook, thread_running));
log_printf (" hook_timer. . . . . . : %p", HOOK_URL(hook, hook_timer));
log_printf (" output. . . . . . . . : %p (hashtable: '%s')",
log_printf (" hook_timer. . . . . . : 0x%lx", HOOK_URL(hook, hook_timer));
log_printf (" output. . . . . . . . : 0x%lx (hashtable: '%s')",
HOOK_URL(hook, output),
hashtable_get_string (HOOK_URL(hook, output),
"keys_values"));
@@ -1,5 +1,5 @@
/*
* core-arraylist.c - array lists management
* wee-arraylist.c - array lists management
*
* Copyright (C) 2014-2024 Sébastien Helleu <flashcode@flashtux.org>
*
@@ -27,9 +27,9 @@
#include <string.h>
#include "weechat.h"
#include "core-arraylist.h"
#include "core-log.h"
#include "core-string.h"
#include "wee-arraylist.h"
#include "wee-log.h"
#include "wee-string.h"
/*
@@ -687,7 +687,10 @@ arraylist_free (struct t_arraylist *arraylist)
arraylist->data[i]);
}
}
free (arraylist->data);
if (arraylist->data)
free (arraylist->data);
free (arraylist);
}
@@ -700,24 +703,25 @@ arraylist_print_log (struct t_arraylist *arraylist, const char *name)
{
int i;
log_printf ("[arraylist %s (addr:%p)]", name, arraylist);
log_printf ("[arraylist %s (addr:0x%lx)]", name, arraylist);
log_printf (" size . . . . . . . . . : %d", arraylist->size);
log_printf (" size_alloc . . . . . . : %d", arraylist->size_alloc);
log_printf (" size_alloc_min . . . . : %d", arraylist->size_alloc_min);
log_printf (" sorted . . . . . . . . : %d", arraylist->sorted);
log_printf (" allow_duplicates . . . : %d", arraylist->allow_duplicates);
log_printf (" data . . . . . . . . . : %p", arraylist->data);
log_printf (" data . . . . . . . . . : 0x%lx", arraylist->data);
if (arraylist->data)
{
for (i = 0; i < arraylist->size_alloc; i++)
{
log_printf (" data[%08d] . . . : %p", i, arraylist->data[i]);
log_printf (" data[%08d] . . . : 0x%lx",
i, arraylist->data[i]);
}
}
log_printf (" callback_cmp . . . . . : %p", arraylist->callback_cmp);
log_printf (" callback_cmp_data. . . : %p",
log_printf (" callback_cmp . . . . . : 0x%lx", arraylist->callback_cmp);
log_printf (" callback_cmp_data. . . : 0x%lx",
arraylist->callback_cmp_data);
log_printf (" callback_free. . . . . : %p", arraylist->callback_free);
log_printf (" callback_free_data . . : %p",
log_printf (" callback_free. . . . . : 0x%lx", arraylist->callback_free);
log_printf (" callback_free_data . . : 0x%lx",
arraylist->callback_free_data);
}
@@ -1,5 +1,5 @@
/*
* core-backtrace.c - backtrace after a segfault
* wee-backtrace.c - backtrace after a segfault
*
* Copyright (C) 2003-2024 Sébastien Helleu <flashcode@flashtux.org>
*
@@ -39,10 +39,10 @@
#endif
#include "weechat.h"
#include "core-backtrace.h"
#include "core-log.h"
#include "core-string.h"
#include "core-version.h"
#include "wee-backtrace.h"
#include "wee-log.h"
#include "wee-string.h"
#include "wee-version.h"
#include "../plugins/plugin.h"
+7 -5
View File
@@ -1,5 +1,5 @@
/*
* core-calc.c - calculate result of an expression
* wee-calc.c - calculate result of an expression
*
* Copyright (C) 2019-2024 Sébastien Helleu <flashcode@flashtux.org>
*
@@ -30,8 +30,8 @@
#include <locale.h>
#include "weechat.h"
#include "core-arraylist.h"
#include "core-string.h"
#include "wee-arraylist.h"
#include "wee-string.h"
enum t_calc_symbol
{
@@ -475,8 +475,10 @@ calc_expression (const char *expr)
calc_format_result (value, str_result, sizeof (str_result));
end:
arraylist_free (list_values);
arraylist_free (list_ops);
if (list_values)
arraylist_free (list_values);
if (list_ops)
arraylist_free (list_ops);
return strdup (str_result);
}

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