1
0
mirror of https://github.com/weechat/weechat.git synced 2026-06-26 21:06:38 +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 17085 additions and 54728 deletions
+5 -94
View File
@@ -1,47 +1,11 @@
name: CI name: CI
on: on:
push: - push
pull_request: - pull_request
schedule:
- cron: '22 9 * * 2'
env: env:
WEECHAT_DEPENDENCIES: >- 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
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
jobs: jobs:
@@ -56,7 +20,6 @@ jobs:
- { name: "gcc_ninja", cc: "gcc", cxx: "g++", buildargs: "-G Ninja" } - { 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_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_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: "gcc_coverage", cc: "gcc", cxx: "g++", buildargs: "-DENABLE_CODE_COVERAGE=ON" }
- { name: "clang", cc: "clang", cxx: "clang++", buildargs: "" } - { name: "clang", cc: "clang", cxx: "clang++", buildargs: "" }
@@ -82,7 +45,7 @@ jobs:
run: ./tools/check_scripts.sh run: ./tools/check_scripts.sh
- name: Check Python stub file - 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 - 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 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 --version
weechat --run-command "/debug dirs;/debug libs" --run-command "/quit" 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 - name: Code coverage
if: ${{ matrix.config.name == 'gcc_coverage' }} if: ${{ matrix.config.name == 'gcc_coverage' }}
env: env:
@@ -167,7 +114,7 @@ jobs:
/usr/local/bin/python3.11 \ /usr/local/bin/python3.11 \
/usr/local/bin/python3.11-config \ /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 - uses: actions/checkout@v2
@@ -228,39 +175,3 @@ jobs:
weechat-curses --help weechat-curses --help
weechat --version weechat --version
weechat --run-command "/debug dirs;/debug libs" --run-command "/quit" 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) * Jiri Golembiovsky (GolemJ)
* Joey Pabalinas (alyptik) * Joey Pabalinas (alyptik)
* Johan Rylander * Johan Rylander
* Johannes Kuhn
* Joram Schrijver * Joram Schrijver
* Jos Ahrens * Jos Ahrens
* Joseph Kichline * 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_NLS "Enable Native Language Support" ON)
option(ENABLE_LARGEFILE "Enable Large File Support" ON) option(ENABLE_LARGEFILE "Enable Large File Support" ON)
option(ENABLE_ZSTD "Enable Zstandard compression" ON) option(ENABLE_ZSTD "Enable Zstandard compression" ON)
option(ENABLE_CJSON "Enable cJSON support" ON)
option(ENABLE_ALIAS "Enable Alias plugin" ON) option(ENABLE_ALIAS "Enable Alias plugin" ON)
option(ENABLE_BUFLIST "Enable Buflist plugin" ON) option(ENABLE_BUFLIST "Enable Buflist plugin" ON)
option(ENABLE_CHARSET "Enable Charset 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("langinfo.h" HAVE_LANGINFO_CODESET)
check_include_files("sys/resource.h" HAVE_SYS_RESOURCE_H) 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(mallinfo HAVE_MALLINFO)
check_function_exists(mallinfo2 HAVE_MALLINFO2) check_function_exists(mallinfo2 HAVE_MALLINFO2)
@@ -206,10 +202,9 @@ if(ENABLE_LARGEFILE)
endif() endif()
# Check for libgcrypt # Check for libgcrypt
pkg_check_modules(LIBGCRYPT REQUIRED libgcrypt) find_package(GCRYPT REQUIRED)
add_definitions(-DHAVE_GCRYPT) add_definitions(-DHAVE_GCRYPT)
include_directories(${LIBGCRYPT_INCLUDE_DIRS}) list(APPEND EXTRA_LIBS ${GCRYPT_LDFLAGS})
list(APPEND EXTRA_LIBS ${LIBGCRYPT_LDFLAGS})
# Check for GnuTLS # Check for GnuTLS
find_package(GnuTLS REQUIRED) find_package(GnuTLS REQUIRED)
@@ -227,12 +222,6 @@ if(ENABLE_ZSTD)
add_definitions(-DHAVE_ZSTD) add_definitions(-DHAVE_ZSTD)
endif() endif()
# Check for cJSON
if(ENABLE_CJSON)
pkg_check_modules(LIBCJSON REQUIRED libcjson)
add_definitions(-DHAVE_CJSON)
endif()
# Check for iconv # Check for iconv
find_package(Iconv) find_package(Iconv)
if(ICONV_FOUND) if(ICONV_FOUND)
+6 -278
View File
@@ -5,172 +5,10 @@
:toc: left :toc: left
:docinfo1: :docinfo1:
:see-release-notes: If you are upgrading: please see release notes.
:breaking: pass:quotes[*[breaking]*]
[[v4.3.7]] This document lists all the changes for each version. +
== Version 4.3.7 (under dev) For a list of important changes that require manual actions, please look at release notes.
[[v4.3.7_fixed]]
=== Fixed
* irc: fix send of split messages when server option "anti_flood" set to 0 (issue #2172)
[[v4.3.6]]
== Version 4.3.6 (2024-08-15)
[[v4.3.6_fixed]]
=== Fixed
* core: fix generation of TOTP on FreeBSD (issue #2171)
* relay/api: fix crash when sending data to a remote buffer when the remote has been deleted (issue #2157)
* relay/api: fix timezone of dates sent to clients (issue #2151)
[[v4.3.5]]
== Version 4.3.5 (2024-07-16)
[[v4.3.5_fixed]]
=== Fixed
* ruby: fix crash in plugin initialization (issue #2163)
[[v4.3.4]]
== Version 4.3.4 (2024-07-03)
[[v4.3.4_fixed]]
=== Fixed
* python: fix crash on quit with Python 3.12 (issue #2046, issue #2126)
* core: fix crash when deleting a bar that has no items (issue #2138)
* ruby: fix builtin functions not available (issue #2109)
* relay/api: fix "body_type" returned when lines or nicks of a buffer are requested
[[v4.3.3]]
== Version 4.3.3 (2024-06-22)
[[v4.3.3_fixed]]
=== Fixed
* core, plugins: return "0x0" instead of "(nil)" for pointers formatted in strings
[[v4.3.2]]
== Version 4.3.2 (2024-06-06)
[[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 (issue #446)
* 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]] [[v4.2.3]]
== Version 4.2.3 (2024-05-31) == Version 4.2.3 (2024-05-31)
@@ -184,8 +22,6 @@ Bug fixes::
[[v4.2.2]] [[v4.2.2]]
== Version 4.2.2 (2024-04-07) == Version 4.2.2 (2024-04-07)
{see-release-notes}
Bug fixes:: Bug fixes::
* core: fix reset to initial scroll position after search of text in buffer (issue #2093) * core: fix reset to initial scroll position after search of text in buffer (issue #2093)
@@ -215,8 +51,6 @@ Bug fixes::
[[v4.2.0]] [[v4.2.0]]
== Version 4.2.0 (2024-01-21) == Version 4.2.0 (2024-01-21)
{see-release-notes}
New features:: New features::
* core: add variable "opening" in buffer, do not send buffer signals when the buffer is opening * core: add variable "opening" in buffer, do not send buffer signals when the buffer is opening
@@ -231,7 +65,7 @@ New features::
* core: move key kbd:[Ctrl+s], kbd:[Ctrl+u] to kbd:[Alt+Shift+U] (issue #2040) * core: move key kbd:[Ctrl+s], kbd:[Ctrl+u] to kbd:[Alt+Shift+U] (issue #2040)
* core: display only version with command `/version`, add options `-o` and `-ol` in command `/upgrade` * core: display only version with command `/version`, add options `-o` and `-ol` in command `/upgrade`
* core: add number of processes in command `/sys waitpid` * core: add number of processes in command `/sys waitpid`
* core, alias, trigger: allow wildcard in commands `/bar`, `/filter`, `/item`, `/proxy`, `/alias` and `/trigger` (issue #1956) * core, alias, trigger: allow wildcard in commands `/bar`, `/item`, `/proxy`, `/alias` and `/trigger` (issue #1956)
* api: add support of format/translation of command arguments description line by line (issue #2005) * api: add support of format/translation of command arguments description line by line (issue #2005)
* api: add function string_concat (issue #2005) * api: add function string_concat (issue #2005)
* api: add functions util_strftimeval, util_parse_time, printf_datetime_tags, printf_y_datetime_tags (issue #649) * api: add functions util_strftimeval, util_parse_time, printf_datetime_tags, printf_y_datetime_tags (issue #649)
@@ -313,8 +147,6 @@ Bug fixes::
[[v4.1.1]] [[v4.1.1]]
== Version 4.1.1 (2023-10-26) == Version 4.1.1 (2023-10-26)
{see-release-notes}
Bug fixes:: Bug fixes::
* core: fix crash when a custom bar item name is already used by a default bar item (issue #2034) * core: fix crash when a custom bar item name is already used by a default bar item (issue #2034)
@@ -328,8 +160,6 @@ Build::
[[v4.1.0]] [[v4.1.0]]
== Version 4.1.0 (2023-10-15) == Version 4.1.0 (2023-10-15)
{see-release-notes}
New features:: New features::
* core: add completion "eval_variables", used in completion of `/eval` * core: add completion "eval_variables", used in completion of `/eval`
@@ -427,8 +257,6 @@ Bug fixes::
[[v4.0.6]] [[v4.0.6]]
== Version 4.0.6 (2023-10-26) == Version 4.0.6 (2023-10-26)
{see-release-notes}
Bug fixes:: Bug fixes::
* core: fix crash when a custom bar item name is already used by a default bar item (issue #2034) * core: fix crash when a custom bar item name is already used by a default bar item (issue #2034)
@@ -524,10 +352,6 @@ Build::
[[v4.0.1]] [[v4.0.1]]
== Version 4.0.1 (2023-06-30) == 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: 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: 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) * core: check for newline characters in string_is_whitespace_char (issue #1968)
@@ -539,8 +363,6 @@ Bug fixes::
[[v4.0.0]] [[v4.0.0]]
== Version 4.0.0 (2023-06-24) == Version 4.0.0 (2023-06-24)
{see-release-notes}
New features:: New features::
* core: use human readable key bindings, separate keys with comma in combos, remove modifier "meta2-", add option `legacy` in command `/key` (issue #1238, task #10317) * core: use human readable key bindings, separate keys with comma in combos, remove modifier "meta2-", add option `legacy` in command `/key` (issue #1238, task #10317)
@@ -560,7 +382,7 @@ New features::
* core: add relative move of read marker with `/buffer set unread [+/-]N` (issue #1895) * 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: add access to hashtable properties in evaluation of expressions (issue #1888)
* core: display similar command names when a command is unknown (issue #1877) * 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: 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, plugins: make many identifiers case sensitive (issue #1872, issue #398, bug #32213)
* core: add item "mouse_status" in default status bar, change default color to lightgreen * core: add item "mouse_status" in default status bar, change default color to lightgreen
@@ -575,7 +397,7 @@ New features::
* alias: add options `missing` and `rename` in command `/alias` * alias: add options `missing` and `rename` in command `/alias`
* fifo: add support of escaped chars in text or commands sent (issue #1950) * 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) * 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 capabilities "batch" and "draft/multiline" (issue #1292, issue #1923)
* irc: add support of capability "echo-message" (issue #139) * irc: add support of capability "echo-message" (issue #139)
* irc: display CTCP ACTION to channel on the channel buffer (issue #207) * irc: display CTCP ACTION to channel on the channel buffer (issue #207)
@@ -596,7 +418,7 @@ New features::
* irc: add tag "new_host_xxx" in message displayed for command CHGHOST (issue #1808) * 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 option logger.file.log_conditions (issue #1942)
* logger: add info "logger_log_file" * 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: 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 modifiers "relay_client_irc_in", "relay_client_irc_out1" and "relay_client_irc_out" in irc protocol
* relay: add support of capability "echo-message" in irc protocol (issue #1949) * relay: add support of capability "echo-message" in irc protocol (issue #1949)
@@ -674,8 +496,6 @@ Build::
[[v3.8]] [[v3.8]]
== Version 3.8 (2023-01-08) == Version 3.8 (2023-01-08)
{see-release-notes}
New features:: New features::
* core: add option weechat.look.chat_space_right (issue #1862) * core: add option weechat.look.chat_space_right (issue #1862)
@@ -741,8 +561,6 @@ Bug fixes::
[[v3.7]] [[v3.7]]
== Version 3.7 (2022-10-09) == Version 3.7 (2022-10-09)
{see-release-notes}
New features:: New features::
* core: add option `-save` in command `/upgrade` (issue #1630) * core: add option `-save` in command `/upgrade` (issue #1630)
@@ -808,8 +626,6 @@ Tests::
[[v3.6]] [[v3.6]]
== Version 3.6 (2022-07-10) == Version 3.6 (2022-07-10)
{see-release-notes}
New features:: New features::
* core: add command `/item` to create custom bar items (issue #808) * core: add command `/item` to create custom bar items (issue #808)
@@ -837,8 +653,6 @@ Bug fixes::
[[v3.5]] [[v3.5]]
== Version 3.5 (2022-03-27) == Version 3.5 (2022-03-27)
{see-release-notes}
New features:: New features::
* core: search in message tags when tags are displayed with `/debug tags` * core: search in message tags when tags are displayed with `/debug tags`
@@ -891,8 +705,6 @@ Bug fixes::
[[v3.4]] [[v3.4]]
== Version 3.4 (2021-12-18) == Version 3.4 (2021-12-18)
{see-release-notes}
New features:: New features::
* core: add support of static arrays in hdata * core: add support of static arrays in hdata
@@ -936,8 +748,6 @@ Build::
[[v3.3]] [[v3.3]]
== Version 3.3 (2021-09-19) == Version 3.3 (2021-09-19)
{see-release-notes}
New features:: New features::
* core: change key kbd:[Alt+h] to kbd:[Alt+h], kbd:[Alt+c] (clear hotlist) * core: change key kbd:[Alt+h] to kbd:[Alt+h], kbd:[Alt+c] (clear hotlist)
@@ -1000,8 +810,6 @@ Bug fixes::
[[v3.2]] [[v3.2]]
== Version 3.2 (2021-06-13) == Version 3.2 (2021-06-13)
{see-release-notes}
New features:: New features::
* core: use XDG directories by default (config, data, cache, runtime) (issue #1285) * core: use XDG directories by default (config, data, cache, runtime) (issue #1285)
@@ -1057,8 +865,6 @@ Build::
[[v3.1]] [[v3.1]]
== Version 3.1 (2021-03-07) == Version 3.1 (2021-03-07)
{see-release-notes}
New features:: 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) * core: add options weechat.look.hotlist_update_on_buffer_switch and weechat.look.read_marker_update_on_buffer_switch (issue #992, issue #993)
@@ -1101,8 +907,6 @@ Bug fixes::
[[v3.0]] [[v3.0]]
== Version 3.0 (2020-11-11) == Version 3.0 (2020-11-11)
{see-release-notes}
New features:: New features::
* api: add optional list of colors in infos "nick_color" and "nick_color_name" (issue #1565) * api: add optional list of colors in infos "nick_color" and "nick_color_name" (issue #1565)
@@ -1140,8 +944,6 @@ Build::
[[v2.9]] [[v2.9]]
== Version 2.9 (2020-07-18) == Version 2.9 (2020-07-18)
{see-release-notes}
New features:: New features::
* core: add bar option "color_bg_inactive": color for window bars in inactive window (issue #732) * core: add bar option "color_bg_inactive": color for window bars in inactive window (issue #732)
@@ -1228,8 +1030,6 @@ Build::
[[v2.8]] [[v2.8]]
== Version 2.8 (2020-03-29) == Version 2.8 (2020-03-29)
{see-release-notes}
New features:: New features::
* core: add variable "old_full_name" in buffer, set during buffer renaming (issue #1428) * core: add variable "old_full_name" in buffer, set during buffer renaming (issue #1428)
@@ -1286,8 +1086,6 @@ Bug fixes::
[[v2.7]] [[v2.7]]
== Version 2.7 (2019-12-08) == Version 2.7 (2019-12-08)
{see-release-notes}
New features:: New features::
* core: add option weechat.look.nick_color_hash_salt to shuffle nick colors (issue #635) * core: add option weechat.look.nick_color_hash_salt to shuffle nick colors (issue #635)
@@ -1345,8 +1143,6 @@ Build::
[[v2.6]] [[v2.6]]
== Version 2.6 (2019-09-08) == Version 2.6 (2019-09-08)
{see-release-notes}
New features:: New features::
* core: add support of 32767 color pairs (issue #1343, issue #1345) * core: add support of 32767 color pairs (issue #1343, issue #1345)
@@ -1395,8 +1191,6 @@ Build::
[[v2.5]] [[v2.5]]
== Version 2.5 (2019-06-06) == Version 2.5 (2019-06-06)
{see-release-notes}
New features:: New features::
* core: use getopt to parse command line arguments * core: use getopt to parse command line arguments
@@ -1452,8 +1246,6 @@ Build::
[[v2.4]] [[v2.4]]
== Version 2.4 (2019-02-17) == Version 2.4 (2019-02-17)
{see-release-notes}
New features:: 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) * 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)
@@ -1531,8 +1323,6 @@ Build::
[[v2.2]] [[v2.2]]
== Version 2.2 (2018-07-14) == Version 2.2 (2018-07-14)
{see-release-notes}
New features:: New features::
* core: change default value of option weechat.look.hotlist_add_conditions to check connected relay clients via weechat protocol (issue #1206) * core: change default value of option weechat.look.hotlist_add_conditions to check connected relay clients via weechat protocol (issue #1206)
@@ -1601,8 +1391,6 @@ Build::
[[v2.1]] [[v2.1]]
== Version 2.1 (2018-03-18) == Version 2.1 (2018-03-18)
{see-release-notes}
New features:: New features::
* core: add binary weechat-headless to run WeeChat without interface, with optional daemon mode (command line option `--daemon`) (issue #1120) * core: add binary weechat-headless to run WeeChat without interface, with optional daemon mode (command line option `--daemon`) (issue #1120)
@@ -1642,8 +1430,6 @@ Bug fixes::
[[v2.0]] [[v2.0]]
== Version 2.0 (2017-12-03) == Version 2.0 (2017-12-03)
{see-release-notes}
New features:: New features::
* core: add flag "input_get_empty" in buffer * core: add flag "input_get_empty" in buffer
@@ -1731,8 +1517,6 @@ Bug fixes::
[[v1.8]] [[v1.8]]
== Version 1.8 (2017-05-13) == Version 1.8 (2017-05-13)
{see-release-notes}
New features:: New features::
* core: add option weechat.completion.nick_case_sensitive (issue #981) * core: add option weechat.completion.nick_case_sensitive (issue #981)
@@ -1783,8 +1567,6 @@ Bug fixes::
[[v1.7]] [[v1.7]]
== Version 1.7 (2017-01-15) == Version 1.7 (2017-01-15)
{see-release-notes}
New features:: New features::
* core: add option weechat.look.align_multiline_words (issue #411, issue #802) * core: add option weechat.look.align_multiline_words (issue #411, issue #802)
@@ -1829,8 +1611,6 @@ Build::
[[v1.6]] [[v1.6]]
== Version 1.6 (2016-10-02) == Version 1.6 (2016-10-02)
{see-release-notes}
New features:: New features::
* core: add optional argument `lowest`, `highest` or level mask in command `/input hotlist_clear` * core: add optional argument `lowest`, `highest` or level mask in command `/input hotlist_clear`
@@ -1867,8 +1647,6 @@ Build::
[[v1.5]] [[v1.5]]
== Version 1.5 (2016-05-01) == Version 1.5 (2016-05-01)
{see-release-notes}
New features:: New features::
* core: evaluate content of option "weechat.look.item_time_format" (issue #791) * core: evaluate content of option "weechat.look.item_time_format" (issue #791)
@@ -1911,8 +1689,6 @@ Build::
[[v1.4]] [[v1.4]]
== Version 1.4 (2016-01-10) == Version 1.4 (2016-01-10)
{see-release-notes}
New features:: 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) * core: add a parent name in options, display inherited values if null in `/set` output, add option weechat.color.chat_value_null (issue #629)
@@ -1970,8 +1746,6 @@ Build::
[[v1.3]] [[v1.3]]
== Version 1.3 (2015-08-16) == Version 1.3 (2015-08-16)
{see-release-notes}
New features:: New features::
* core: add completion "colors" (issue #481) * core: add completion "colors" (issue #481)
@@ -2027,8 +1801,6 @@ Build::
[[v1.2]] [[v1.2]]
== Version 1.2 (2015-05-10) == Version 1.2 (2015-05-10)
{see-release-notes}
New features:: New features::
* core: add signals "signal_sigterm" and "signal_sigquit" (issue #114) * core: add signals "signal_sigterm" and "signal_sigquit" (issue #114)
@@ -2103,8 +1875,6 @@ Build::
[[v1.1]] [[v1.1]]
== Version 1.1 (2015-01-11) == Version 1.1 (2015-01-11)
{see-release-notes}
New features:: New features::
* core: add option weechat.completion.command_inline (task #12491) * core: add option weechat.completion.command_inline (task #12491)
@@ -2202,8 +1972,6 @@ Build::
[[v1.0]] [[v1.0]]
== Version 1.0 (2014-08-15) == Version 1.0 (2014-08-15)
{see-release-notes}
New features:: New features::
* core: display a warning on startup if $TERM does not start with "screen" under Screen/Tmux * core: display a warning on startup if $TERM does not start with "screen" under Screen/Tmux
@@ -2365,8 +2133,6 @@ Tests::
[[v0.4.3]] [[v0.4.3]]
== Version 0.4.3 (2014-02-09) == Version 0.4.3 (2014-02-09)
{see-release-notes}
New features:: New features::
* core: add signals "signal_sighup" and "signal_sigwinch" (terminal resized) * core: add signals "signal_sighup" and "signal_sigwinch" (terminal resized)
@@ -2470,8 +2236,6 @@ Build::
[[v0.4.2]] [[v0.4.2]]
== Version 0.4.2 (2013-10-06) == Version 0.4.2 (2013-10-06)
{see-release-notes}
New features:: 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) * 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)
@@ -2554,8 +2318,6 @@ Build::
[[v0.4.1]] [[v0.4.1]]
== Version 0.4.1 (2013-05-20) == Version 0.4.1 (2013-05-20)
{see-release-notes}
New features:: 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) * 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)
@@ -2640,8 +2402,6 @@ Build::
[[v0.4.0]] [[v0.4.0]]
== Version 0.4.0 (2013-01-20) == Version 0.4.0 (2013-01-20)
{see-release-notes}
New features:: New features::
* core: add buffer pointer in arguments for signals "input_search", "input_text_changed" and "input_text_cursor_moved" * core: add buffer pointer in arguments for signals "input_search", "input_text_changed" and "input_text_cursor_moved"
@@ -2743,8 +2503,6 @@ Bug fixes::
[[v0.3.9]] [[v0.3.9]]
== Version 0.3.9 (2012-09-29) == Version 0.3.9 (2012-09-29)
{see-release-notes}
New features:: New features::
* core: add signals for plugins loaded/unloaded * core: add signals for plugins loaded/unloaded
@@ -2833,8 +2591,6 @@ Build::
[[v0.3.8]] [[v0.3.8]]
== Version 0.3.8 (2012-06-03) == Version 0.3.8 (2012-06-03)
{see-release-notes}
New features:: 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) * core: add option weechat.look.prefix_same_nick (hide or change prefix on messages whose nick is the same as previous message) (task #11965)
@@ -2902,8 +2658,6 @@ Build::
[[v0.3.7]] [[v0.3.7]]
== Version 0.3.7 (2012-02-26) == Version 0.3.7 (2012-02-26)
{see-release-notes}
New features:: New features::
* core: add support of flags in regular expressions and highlight options * core: add support of flags in regular expressions and highlight options
@@ -2988,8 +2742,6 @@ Build::
[[v0.3.6]] [[v0.3.6]]
== Version 0.3.6 (2011-10-22) == Version 0.3.6 (2011-10-22)
{see-release-notes}
New features:: 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) * 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)
@@ -3082,8 +2834,6 @@ Build::
[[v0.3.5]] [[v0.3.5]]
== Version 0.3.5 (2011-05-15) == Version 0.3.5 (2011-05-15)
{see-release-notes}
New features:: 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) * 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)
@@ -3162,8 +2912,6 @@ Build::
[[v0.3.4]] [[v0.3.4]]
== Version 0.3.4 (2011-01-16) == Version 0.3.4 (2011-01-16)
{see-release-notes}
New features:: New features::
* core: add 256 colors support, new command `/color`, new section "palette" in weechat.conf (task #6834) * core: add 256 colors support, new command `/color`, new section "palette" in weechat.conf (task #6834)
@@ -3232,8 +2980,6 @@ Build::
[[v0.3.3]] [[v0.3.3]]
== Version 0.3.3 (2010-08-07) == Version 0.3.3 (2010-08-07)
{see-release-notes}
New features:: New features::
* core: use "!" to reverse a regex in a filter (to keep lines matching regex and hide other lines) (task #10032) * core: use "!" to reverse a regex in a filter (to keep lines matching regex and hide other lines) (task #10032)
@@ -3277,8 +3023,6 @@ Bug fixes::
[[v0.3.2]] [[v0.3.2]]
== Version 0.3.2 (2010-04-18) == Version 0.3.2 (2010-04-18)
{see-release-notes}
New features:: New features::
* core: add new options for command `/key`: `listdefault`, `listdiff` and `reset` * core: add new options for command `/key`: `listdefault`, `listdiff` and `reset`
@@ -3359,8 +3103,6 @@ Build::
[[v0.3.1]] [[v0.3.1]]
== Version 0.3.1 (2010-01-23) == Version 0.3.1 (2010-01-23)
{see-release-notes}
New features:: New features::
* core: add option "grab_key_command" in command `/input` (bound by default to kbd:[Alt+k]) * core: add option "grab_key_command" in command `/input` (bound by default to kbd:[Alt+k])
@@ -3417,8 +3159,6 @@ Build::
[[v0.3.0]] [[v0.3.0]]
== Version 0.3.0 (2009-09-06) == Version 0.3.0 (2009-09-06)
{see-release-notes}
New features:: New features::
* core: add group support in nicklist * core: add group support in nicklist
@@ -3645,8 +3385,6 @@ Build::
[[v0.2.2]] [[v0.2.2]]
== Version 0.2.2 (2007-01-06) == Version 0.2.2 (2007-01-06)
{see-release-notes}
New features:: New features::
* add anti-flood option (irc_anti_flood) (task #5442) * add anti-flood option (irc_anti_flood) (task #5442)
@@ -3723,8 +3461,6 @@ Bug fixes::
[[v0.2.0]] [[v0.2.0]]
== Version 0.2.0 (2006-08-19) == Version 0.2.0 (2006-08-19)
{see-release-notes}
New features:: New features::
* add "C"lear option on IRC raw buffer * add "C"lear option on IRC raw buffer
@@ -3780,8 +3516,6 @@ Build::
[[v0.1.9]] [[v0.1.9]]
== Version 0.1.9 (2006-05-25) == Version 0.1.9 (2006-05-25)
{see-release-notes}
New features:: New features::
* add backtrace when WeeChat crashes, log file automatically renamed * add backtrace when WeeChat crashes, log file automatically renamed
@@ -3839,8 +3573,6 @@ Build::
[[v0.1.8]] [[v0.1.8]]
== Version 0.1.8 (2006-03-18) == Version 0.1.8 (2006-03-18)
{see-release-notes}
New features:: New features::
* improve alias completion (now uses target command for completion) * improve alias completion (now uses target command for completion)
@@ -3888,8 +3620,6 @@ Bug fixes::
[[v0.1.7]] [[v0.1.7]]
== Version 0.1.7 (2006-01-14) == Version 0.1.7 (2006-01-14)
{see-release-notes}
New features:: 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) * 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)
@@ -3922,8 +3652,6 @@ Build::
[[v0.1.6]] [[v0.1.6]]
== Version 0.1.6 (2005-11-11) == Version 0.1.6 (2005-11-11)
{see-release-notes}
New features:: 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 * 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/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/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/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/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/"] image:https://img.shields.io/badge/help-donate%20%E2%9D%A4-ff69b4.svg["Donate", link="https://weechat.org/donate/"]
+9 -97
View File
@@ -11,97 +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. For a complete list of changes, please look at ChangeLog.
[[v4.3.6]]
== Version 4.3.6 (2024-08-15)
No release notes.
[[v4.3.5]]
== Version 4.3.5 (2024-07-16)
No release notes.
[[v4.3.4]]
== Version 4.3.4 (2024-07-03)
No release notes.
[[v4.3.3]]
== Version 4.3.3 (2024-06-22)
No release notes.
[[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]] [[v4.2.3]]
== Version 4.2.3 (2024-05-31) == Version 4.2.3 (2024-05-31)
@@ -3072,12 +2981,13 @@ disable IPv6 in relay if you don't plan to use it at all:
[[v0.3.9.2]] [[v0.3.9.2]]
== Version 0.3.9.2 (2012-11-18) == 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]] [[v0.3.9.1]]
== Version 0.3.9.1 (2012-11-09) == Version 0.3.9.1 (2012-11-09)
No release notes. This version fixes crash when decoding IRC colors in strings.
[[v0.3.9]] [[v0.3.9]]
== Version 0.3.9 (2012-09-29) == Version 0.3.9 (2012-09-29)
@@ -3385,17 +3295,17 @@ Major differences:
[[v0.2.6.3]] [[v0.2.6.3]]
== Version 0.2.6.3 (2009-06-13) == Version 0.2.6.3 (2009-06-13)
No release notes. This version fixes gnutls detection.
[[v0.2.6.2]] [[v0.2.6.2]]
== Version 0.2.6.2 (2009-04-18) == 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]] [[v0.2.6.1]]
== Version 0.2.6.1 (2009-03-14) == 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]] [[v0.2.6]]
== Version 0.2.6 (2007-09-06) == Version 0.2.6 (2007-09-06)
@@ -3415,7 +3325,9 @@ No release notes.
[[v0.2.3]] [[v0.2.3]]
== Version 0.2.3 (2007-01-10) == 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]] [[v0.2.2]]
== Version 0.2.2 (2007-01-06) == 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 ICONV_2ARG_IS_CONST 1
#cmakedefine HAVE_MALLINFO #cmakedefine HAVE_MALLINFO
#cmakedefine HAVE_MALLINFO2 #cmakedefine HAVE_MALLINFO2
#cmakedefine HAVE_MALLOC_H
#cmakedefine HAVE_MALLOC_TRIM
#cmakedefine HAVE_EAT_NEWLINE_GLITCH #cmakedefine HAVE_EAT_NEWLINE_GLITCH
#cmakedefine HAVE_ASPELL_VERSION_STRING #cmakedefine HAVE_ASPELL_VERSION_STRING
#cmakedefine HAVE_ENCHANT_GET_VERSION #cmakedefine HAVE_ENCHANT_GET_VERSION
+1 -2
View File
@@ -21,8 +21,7 @@ Build-Depends:
libgcrypt20-dev, libgcrypt20-dev,
libgnutls28-dev, libgnutls28-dev,
libzstd-dev, libzstd-dev,
zlib1g-dev, zlib1g-dev
libcjson-dev
Standards-Version: 4.6.2 Standards-Version: 4.6.2
Homepage: https://weechat.org/ Homepage: https://weechat.org/
Vcs-Git: https://salsa.debian.org/kolter/weechat.git Vcs-Git: https://salsa.debian.org/kolter/weechat.git
-16
View File
@@ -1,19 +1,3 @@
weechat (4.3.1-1) unstable; urgency=medium
* New upstream release (Closes: #1067608)
- fix FTBFS against libgcrypt 1.11 (Closes: #1071960)
* Add build dependency on libcjson-dev
* Replace pkg-config build dependency by pkgconf
* Minor updates in debian/copyright
-- Emmanuel Bouthenot <kolter@debian.org> Sat, 01 Jun 2024 14:21:02 +0000
weechat (4.1.1-1) unstable; urgency=medium
* New upstream release (Closes: #1055278)
-- Emmanuel Bouthenot <kolter@debian.org> Fri, 03 Nov 2023 20:23:37 +0000
weechat (4.0.5-1) unstable; urgency=medium weechat (4.0.5-1) unstable; urgency=medium
* New upstream release * New upstream release
+1 -2
View File
@@ -21,8 +21,7 @@ Build-Depends:
libgcrypt20-dev, libgcrypt20-dev,
libgnutls28-dev, libgnutls28-dev,
libzstd-dev, libzstd-dev,
zlib1g-dev, zlib1g-dev
libcjson-dev
Standards-Version: 4.6.2 Standards-Version: 4.6.2
Homepage: https://weechat.org/ Homepage: https://weechat.org/
Vcs-Git: https://salsa.debian.org/kolter/weechat.git 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> Copyright: 2003-2024, Sébastien Helleu <flashcode@flashtux.org>
License: GPL-3+ License: GPL-3+
Files: src/core/core-command.c Files: src/core/wee-command.c
src/core/core-command.h src/core/wee-command.h
Copyright: 2005-2006, Emmanuel Bouthenot <kolter@openics.org> Copyright: 2005-2006, Emmanuel Bouthenot <kolter@openics.org>
License: GPL-3+ License: GPL-3+
Files: src/core/core-config-file.c Files: src/core/wee-config-file.c
src/core/core-config-file.h src/core/wee-config-file.h
src/core/core-config.c src/core/wee-config.c
src/core/core-config.h src/core/wee-config.h
Copyright: 2005-2006, Emmanuel Bouthenot <kolter@openics.org> Copyright: 2005-2006, Emmanuel Bouthenot <kolter@openics.org>
License: GPL-3+ License: GPL-3+
Files: src/core/hook/hook-connect.c Files: src/core/hook/wee-hook-connect.c
Copyright: 2012, Simon Arlott Copyright: 2012, Simon Arlott
License: GPL-3+ License: GPL-3+
Files: src/core/hook/hook-connect.h Files: src/core/hook/wee-hook-connect.h
Copyright: 2012, Simon Arlott Copyright: 2012, Simon Arlott
License: GPL-3+ License: GPL-3+
@@ -31,9 +31,9 @@ Files: src/gui/gui-history.c
Copyright: 2005, Emmanuel Bouthenot <kolter@openics.org> Copyright: 2005, Emmanuel Bouthenot <kolter@openics.org>
License: GPL-3+ License: GPL-3+
Files: src/core/core-completion.c Files: src/core/wee-completion.c
src/core/core-log.c src/core/wee-log.c
src/core/core-utf8.c src/core/wee-utf8.c
src/core/weechat.h src/core/weechat.h
src/plugins/spell/spell-config.c src/plugins/spell/spell-config.c
src/plugins/spell/spell-config.h src/plugins/spell/spell-config.h
@@ -45,7 +45,7 @@ Files: src/core/core-completion.c
Copyright: 2006, Emmanuel Bouthenot <kolter@openics.org> Copyright: 2006, Emmanuel Bouthenot <kolter@openics.org>
License: GPL-3+ License: GPL-3+
Files: src/core/core-network.c Files: src/core/wee-network.c
Copyright: 2005-2010, Emmanuel Bouthenot <kolter@openics.org> Copyright: 2005-2010, Emmanuel Bouthenot <kolter@openics.org>
2010, Gu1ll4um3r0m41n <aeroxteam@gmail.com> 2010, Gu1ll4um3r0m41n <aeroxteam@gmail.com>
2012, Simon Arlott 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_default_aliases.${lang}.adoc"
"${CMAKE_CURRENT_BINARY_DIR}/autogen/autogen_user_irc_colors.${lang}.adoc" "${CMAKE_CURRENT_BINARY_DIR}/autogen/autogen_user_irc_colors.${lang}.adoc"
"${CMAKE_CURRENT_BINARY_DIR}/autogen/autogen_user_options.${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() endforeach()
add_custom_target(doc-autogen ALL add_custom_target(doc-autogen ALL
@@ -286,9 +283,6 @@ if(ENABLE_MAN OR ENABLE_DOC)
DEPENDS DEPENDS
"${CMAKE_CURRENT_SOURCE_DIR}/docinfo.html" "${CMAKE_CURRENT_SOURCE_DIR}/docinfo.html"
"${CMAKE_CURRENT_SOURCE_DIR}/${lang}/weechat_scripting.${lang}.adoc" "${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}" WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}"
COMMENT "Building weechat_scripting.${lang}.html" 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: 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]] [[script_api_constants]]
=== Konstanten === Konstanten
Liste der Konstanten in Skript API: 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]] [[common_tasks]]
== Gemeinschaftsaufgabe == 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/rfc2812[2812 ^↗^^],
https://datatracker.ietf.org/doc/html/rfc2813[2813 ^↗^^] und https://datatracker.ietf.org/doc/html/rfc2813[2813 ^↗^^] und
https://datatracker.ietf.org/doc/html/rfc7194[7194 ^↗^^] 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) * Betriebssystemunabhängig (GNU/Linux, *BSD, macOS, Windows und weitere)
* 100% GPL, freie Software * 100% GPL, freie Software
@@ -133,8 +133,7 @@ Die folgende Tabelle zeigt eine Auflistung der Pakete, die zum Erstellen von Wee
| zlib1g-dev | | zlib1g-dev |
| Logger-Erweitertung: Kompression von rotierenden Protokolldateien (gzip). + | Logger-Erweitertung: Kompression von rotierenden Protokolldateien (gzip). +
Relay-Erweiterung: Kompression von Nachrichten (WeeChat -> client) with https://zlib.net/[zlib ^↗^^] Relay-Erweiterung: Kompression von Nachrichten (WeeChat -> client) with https://zlib.net/[zlib ^↗^^] (weechat protocol). +
(api und weechat Protokollen). +
Script-Erweiterung: Lesen der Repository-Indexdatei (gzip). Script-Erweiterung: Lesen der Repository-Indexdatei (gzip).
|=== |===
@@ -160,14 +159,9 @@ WeeChat optional sind:
| ca-certificates | | ca-certificates |
| Zertifikate für TLS Verbindungen. | Zertifikate für TLS Verbindungen.
| libcjson-dev |
| Relay-Erweiterung: Protokoll "api" (HTTP REST API).
| libzstd-dev | ≥ 0.8.1 | libzstd-dev | ≥ 0.8.1
// TRANLSATION MISSING
| Logger-Erweiterung: Kompression von rotierenden Protokolldateien (zstandard). + | Logger-Erweiterung: Kompression von rotierenden Protokolldateien (zstandard). +
Relay-Erweiterung: Kompression von Nachrichten (WeeChat -> client) with https://facebook.github.io/zstd/[Zstandard ^↗^^] Relay-Erweiterung: Kompression von Nachrichten (WeeChat -> client) with https://facebook.github.io/zstd/[Zstandard ^↗^^] (weechat protocol).
(api and weechat protocols).
| libaspell-dev / libenchant-dev | | libaspell-dev / libenchant-dev |
| Spell Erweiterung. | Spell Erweiterung.
@@ -285,9 +279,6 @@ Liste der verfügbaren Optionen:
| ENABLE_CHARSET | `ON`, `OFF` | ON | ENABLE_CHARSET | `ON`, `OFF` | ON
| kompiliert <<charset,Charset Erweiterung>>. | 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 | ENABLE_MAN | `ON`, `OFF` | OFF
| erstellt die man page. | erstellt die man page.
@@ -536,11 +527,11 @@ Copying output to /tmp/crash.txt.
at /some_path/src/core/weechat.c:351 at /some_path/src/core/weechat.c:351
#3 <signal handler called> #3 <signal handler called>
#4 0x000000000044cb24 in hook_process_timer_cb (arg_hook_process=0x254eb90, #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 hook_process = 0x254eb90
status = <value optimized out> status = <value optimized out>
#5 0x000000000044cc7d in hook_timer_exec () #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} tv_time = {tv_sec = 1272693881, tv_usec = 212665}
ptr_hook = 0x2811f40 ptr_hook = 0x2811f40
next_hook = 0x0 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 Der Name eines Ereignisses besteht aus einem Modifier (optional), einer Maustaste/Mausrad
und der Mausgeste (optional). Die unterschiedlichen Elemente werden durch ein `+-+` getrennt. 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"] [width="100%",cols="1m,4",options="header"]
|=== |===
| Modifier | Beschreibung | Modifier | Beschreibung
| alt | Taste kbd:[Alt]
| ctrl | Taste kbd:[Ctrl] | 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: Liste der Maustasten/Mausrad:
[width="100%",cols="1m,4",options="header"] [width="100%",cols="1m,4",options="header"]
|=== |===
| Maustaste/-rad | Beschreibung | Maustaste/-rad | Beschreibung
| button1 | Linker Mausknopf wird gedrückt | button1 | Linker Mausknopf wird gedrückt
| button2 | Rechter Mausknopf wird gedrückt | button2 | Rechter Mausknopf wird gedrückt
| button3 | Mittlerer Mausknopf wird gedrückt (häufig der Druck auf das Mausrad) | button3 | Mittlerer Mausknopf wird gedrückt (häufig der Druck auf das Mausrad)
| button4 ... button11 | Ein zusätzlicher Mausknopf wird gedrückt | button4 ... button9 | Ein zusätzlicher Mausknopf wird gedrückt
| wheelup | Mausrad wird nach oben gescrollt | wheelup | Mausrad wird nach oben gescrollt
| wheeldown | Mausrad wird nach unten gescrollt | wheeldown | Mausrad wird nach unten gescrollt
|=== |===
Liste der Mausgesten (nur für Maustasten, nicht für das Mausrad, anwendbar): Liste der Mausgesten (nur für Maustasten, nicht für das Mausrad, anwendbar):
@@ -2787,7 +2768,7 @@ Bespiele von Ereignissen:
* `button1-event-drag` * `button1-event-drag`
* `alt-button2-gesture-down-long` * `alt-button2-gesture-down-long`
* `wheelup` * `wheelup`
* `alt-ctrl-wheeldown` * `ctrl-alt-wheeldown`
[TIP] [TIP]
Wird eine Funktion im "mouse"-Kontext hinzufügt ist es möglich, mehrere 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_: IRC Proxy: um mittels einem oder mehreren IRC-Clients eine Verbindung zu
IRC Servern zu unterhalten. IRC Servern zu unterhalten.
* _api_: HTTP REST API, wird von WeeChat und Remote-Schnittstellen zur Anzeige und * _weechat_: Protokoll, das von Remote-Schnittstellen zur Anzeige und Interaktion verwendet wird
Interaktion mit WeeChat verwendet WeeChat, siehe https://weechat.org/about/interfaces/[this page ^↗^^].
* _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 ^↗^^].
[[relay_password]] [[relay_password]]
=== Passwort === 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}" /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]] [[relay_totp]]
=== TOTP === TOTP
TOTP (Time-based One-Time Password) kann als sekundärer Authentifizierungsfaktor TOTP (Time-based One-Time Passwort) ist eine Zwei-Faktor-Authentifizierung
für die Protokolle _api_ und _weechat_ zusätzlich zum Passwort verwendet werden. für das _weechat_ Protokoll, als Ergänzung zum eigentlichen Passwort.
Diese Funktion is optional und erhöht den Sicherheitsgrad. 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}" /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]] [[relay_weechat_protocol]]
=== WeeChat Protokoll === 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. Der Port (im Beispiel: 9000) ist der Port der in der Relay Erweiterung angegeben wurde.
Die URI muss immer auf "/weechat" enden (_irc_ und _weechat_ Protokoll).
Die URI muss mit „/weechat“ für die Protokolle _irc_ und _weechat_ und mit „/api“
für das Protokoll _api_ enden.
[[relay_unix_socket]] [[relay_unix_socket]]
=== UNIX Domain Sockets === UNIX Domain Sockets
@@ -4849,7 +4792,7 @@ Sektionen in Datei _relay.conf_:
| network | /set relay.network.* | Netzwerkoptionen. | network | /set relay.network.* | Netzwerkoptionen.
| irc | /set relay.irc.* | für das IRC Protokoll spezifische Optionen (IRC Proxy). | irc | /set relay.irc.* | für das IRC Protokoll spezifische Optionen (IRC Proxy).
| port | <<command_relay_relay,/relay add>> + | 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: 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:0}+` nach `+${re:99}+`: `+${re:0}+` ist die ganze Trefferanzahl, `+${re:1}+` nach
`+${re:99}+` sind als Gruppen erfasst. `+${re:99}+` sind als Gruppen erfasst.
* `pass:[${re:+}]`: das letzte Treffer (mit der höchsten Zahl) * `+${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)
* `+${hide:c,${re:N}}+`: Treffer "N" mit allen Zeichen die durch "c" ersetzt wurden * `+${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 (Beispiele: `+${hide:*,${re:2}}+` ist die Gruppe #2, mit allen Zeichen die durch
`+*+` ersetzt wurden). `+*+` ersetzt wurden).
@@ -5428,7 +5369,7 @@ und die Daten in einer Hashtable gesichert:
| server | string | Name des Server (Beispiel: "libera"). | server | string | Name des Server (Beispiel: "libera").
| tags | string | Tags in Nachricht (findet selten Verwendung). | tags | string | Tags in Nachricht (findet selten Verwendung).
| message_without_tags | string | Nachricht ohne Tags. | message_without_tags | string | Nachricht ohne Tags.
| nick | string | Nick. ^(1)^ | nick | string | Nick.
| host | string | Hostname. | host | string | Hostname.
| command | string | IRC Befehl (Beispiel: "PRIVMSG", "NOTICE", ...). | command | string | IRC Befehl (Beispiel: "PRIVMSG", "NOTICE", ...).
| channel | string | IRC Channel. | 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). | 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+` 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 wie im folgenden Beispiel genutzt werden um den Inhalt von hdata zu lesen (im Beispiel
wird der Pointer eines Buffer verwendet): 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"] [width="100%",cols="2m,3",options="header"]
|=== |===
| Path/file | Description | Path/file | Description
| core/ | Core functions: entry point, internal structures. | core/ | Core functions: entry point, internal structures.
|    core-arraylist.c | Array lists. |    wee-arraylist.c | Array lists.
|    core-backtrace.c | Display a backtrace after a crash. |    wee-backtrace.c | Display a backtrace after a crash.
|    core-calc.c | Calculate result of expressions. |    wee-calc.c | Calculate result of expressions.
|    core-command.c | WeeChat core commands. |    wee-command.c | WeeChat core commands.
|    core-completion.c | Default completions. |    wee-completion.c | Default completions.
|    core-config-file.c | Configuration file management. |    wee-config-file.c | Configuration file management.
|    core-config.c | Configuration options for WeeChat core (file weechat.conf). |    wee-config.c | Configuration options for WeeChat core (file weechat.conf).
|    core-crypto.c | Cryptographic functions. |    wee-crypto.c | Cryptographic functions.
|    core-debug.c | Some debug functions. |    wee-debug.c | Some debug functions.
|    core-doc.c | Build of files for documentation. |    wee-doc.c | Build of files for documentation.
|    core-dir.c | Directory/file functions. |    wee-dir.c | Directory/file functions.
|    core-eval.c | Evaluation of expressions with references to internal vars. |    wee-eval.c | Evaluation of expressions with references to internal vars.
|    core-hashtable.c | Hashtables. |    wee-hashtable.c | Hashtables.
|    core-hdata.c | Hdata (direct access to data using hashtables). |    wee-hdata.c | Hdata (direct access to data using hashtables).
|    core-hook.c | Hooks. |    wee-hook.c | Hooks.
|    core-infolist.c | Infolists (lists with objects data). |    wee-infolist.c | Infolists (lists with objects data).
|    core-input.c | Input of commands/text. |    wee-input.c | Input of commands/text.
|    core-list.c | Sorted lists. |    wee-list.c | Sorted lists.
|    core-log.c | Write to WeeChat log file (weechat.log). |    wee-log.c | Write to WeeChat log file (weechat.log).
|    core-network.c | Network functions (connection to servers/proxies). |    wee-network.c | Network functions (connection to servers/proxies).
|    core-proxy.c | Proxy management. |    wee-proxy.c | Proxy management.
|    core-secure.c | Secured data functions. |    wee-secure.c | Secured data functions.
|    core-secure-buffer.c | Secured data buffer. |    wee-secure-buffer.c | Secured data buffer.
|    core-secure-config.c | Secured data options (file sec.conf). |    wee-secure-config.c | Secured data options (file sec.conf).
|    core-signal.c | Signal functions. |    wee-signal.c | Signal functions.
|    core-string.c | Functions on strings. |    wee-string.c | Functions on strings.
|    core-sys.c | System functions. |    wee-sys.c | System functions.
|    core-upgrade-file.c | Internal upgrade system. |    wee-upgrade-file.c | Internal upgrade system.
|    core-upgrade.c | Upgrade for WeeChat core (buffers, lines, history, ...). |    wee-upgrade.c | Upgrade for WeeChat core (buffers, lines, history, ...).
|    core-url.c | URL transfer (using libcurl). |    wee-url.c | URL transfer (using libcurl).
|    core-utf8.c | UTF-8 functions. |    wee-utf8.c | UTF-8 functions.
|    core-util.c | Some other functions. |    wee-util.c | Some other functions.
|    core-version.c | Functions for WeeChat version. |    wee-version.c | Functions for WeeChat version.
|    weechat.c | Main functions: command line options, startup. |    weechat.c | Main functions: command line options, startup.
|    hook/ | Hook functions. |    hook/ | Hook functions.
|       hook-command-run.c | Hook "command_run". |       wee-hook-command-run.c | Hook "command_run".
|       hook-command.c | Hook "command". |       wee-hook-command.c | Hook "command".
|       hook-completion.c | Hook "completion". |       wee-hook-completion.c | Hook "completion".
|       hook-config.c | Hook "config". |       wee-hook-config.c | Hook "config".
|       hook-connect.c | Hook "connect". |       wee-hook-connect.c | Hook "connect".
|       hook-fd.c | Hook "fd". |       wee-hook-fd.c | Hook "fd".
|       hook-focus.c | Hook "focus". |       wee-hook-focus.c | Hook "focus".
|       hook-hdata.c | Hook "hdata". |       wee-hook-hdata.c | Hook "hdata".
|       hook-hsignal.c | Hook "hsignal". |       wee-hook-hsignal.c | Hook "hsignal".
|       hook-info-hashtable.c | Hook "info_hashtable". |       wee-hook-info-hashtable.c | Hook "info_hashtable".
|       hook-info.c | Hook "info". |       wee-hook-info.c | Hook "info".
|       hook-infolist.c | Hook "infolist". |       wee-hook-infolist.c | Hook "infolist".
|       hook-line.c | Hook "line". |       wee-hook-line.c | Hook "line".
|       hook-modifier.c | Hook "modifier". |       wee-hook-modifier.c | Hook "modifier".
|       hook-print.c | Hook "print". |       wee-hook-print.c | Hook "print".
|       hook-process.c | Hook "process". |       wee-hook-process.c | Hook "process".
|       hook-signal.c | Hook "signal". |       wee-hook-signal.c | Hook "signal".
|       hook-timer.c | Hook "timer". |       wee-hook-timer.c | Hook "timer".
|       hook-url.c | Hook "url". |       wee-hook-url.c | Hook "url".
| gui/ | Functions for buffers, windows, ... (used by all interfaces). | gui/ | Functions for buffers, windows, ... (used by all interfaces).
|    gui-bar-item.c | Bar items. |    gui-bar-item.c | Bar items.
|    gui-bar-window.c | Bar windows. |    gui-bar-window.c | Bar windows.
|    gui-bar.c | Bars. |    gui-bar.c | Bars.
|    gui-buffer.c | Buffers. |    gui-buffer.c | Buffers.
|    gui-chat.c | Chat functions (display message, ...). |    gui-chat.c | Chat functions (display message, ...).
|    gui-color.c | Color functions. |    gui-color.c | Color functions.
|    gui-completion.c | Completion on command line. |    gui-completion.c | Completion on command line.
|    gui-cursor.c | Cursor mode (free movement of cursor). |    gui-cursor.c | Cursor mode (free movement of cursor).
|    gui-filter.c | Filters. |    gui-filter.c | Filters.
|    gui-focus.c | Functions about focus (for cursor mode and mouse). |    gui-focus.c | Functions about focus (for cursor mode and mouse).
|    gui-history.c | Commands/text saved in buffers. |    gui-history.c | Commands/text saved in buffers.
|    gui-hotlist.c | Hotlist management (list of buffers with activity). |    gui-hotlist.c | Hotlist management (list of buffers with activity).
|    gui-input.c | Input functions (input bar). |    gui-input.c | Input functions (input bar).
|    gui-key.c | Keyboard functions. |    gui-key.c | Keyboard functions.
|    gui-layout.c | Layout. |    gui-layout.c | Layout.
|    gui-line.c | Lines in buffers. |    gui-line.c | Lines in buffers.
|    gui-mouse.c | Mouse. |    gui-mouse.c | Mouse.
|    gui-nick.c | Nick functions. |    gui-nick.c | Nick functions.
|    gui-nicklist.c | Nicklist in buffers. |    gui-nicklist.c | Nicklist in buffers.
|    gui-window.c | Windows. |    gui-window.c | Windows.
|    curses/ | Curses interface. |    curses/ | Curses interface.
|       gui-curses-bar-window.c | Display in bar windows. |       gui-curses-bar-window.c | Display in bar windows.
|       gui-curses-chat.c | Display in chat area (messages). |       gui-curses-chat.c | Display in chat area (messages).
|       gui-curses-color.c | Color functions. |       gui-curses-color.c | Color functions.
|       gui-curses-key.c | Keyboard functions (default keys, read of input). |       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-main.c | WeeChat main loop (waiting for keyboard/network events).
|       gui-curses-mouse.c | Mouse. |       gui-curses-mouse.c | Mouse.
|       gui-curses-term.c | Functions about terminal. |       gui-curses-term.c | Functions about terminal.
|       gui-curses-window.c | Windows. |       gui-curses-window.c | Windows.
|       headless/ | Headless mode (no interface). |       headless/ | Headless mode (no interface).
|          main.c | Entry point for headless mode. |          main.c | Entry point for headless mode.
|          ncurses-fake.c | Fake ncurses library. |          ncurses-fake.c | Fake ncurses library.
|       normal/ | Curses interface. |       normal/ | Curses interface.
|          main.c | Entry point for Curses interface. |          main.c | Entry point for Curses interface.
|=== |===
[[sources_plugins]] [[sources_plugins]]
@@ -210,189 +210,180 @@ WeeChat "core" is located in following directories:
[width="100%",cols="2m,3",options="header"] [width="100%",cols="2m,3",options="header"]
|=== |===
| Path/file | Description | Path/file | Description
| plugins/ | Root of plugins. | plugins/ | Root of plugins.
|    plugin.c | Plugins management (load/unload dynamic C libraries). |    plugin.c | Plugins management (load/unload dynamic C libraries).
|    plugin-api.c | Extra functions for plugin API (wrapper around WeeChat core functions). |    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-api-info.c | Extra info/infolist functions for plugin API.
|    plugin-config.c | Plugin configuration options (file plugins.conf). |    plugin-config.c | Plugin configuration options (file plugins.conf).
|    plugin-script.c | Common functions used by script plugins. |    plugin-script.c | Common functions used by script plugins.
|    plugin-script-api.c | Script API functions: wrappers around some plugin API functions. |    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, ...). |    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. |    weechat-plugin.h | Header designed to be distributed with WeeChat plugins, in order to compile them.
|    alias/ | Alias plugin. |    alias/ | Alias plugin.
|       alias.c | Main alias functions. |       alias.c | Main alias functions.
|       alias-command.c | Alias commands. |       alias-command.c | Alias commands.
|       alias-completion.c | Alias completions. |       alias-completion.c | Alias completions.
|       alias-config.c | Alias config options (file alias.conf). |       alias-config.c | Alias config options (file alias.conf).
|       alias-info.c | Alias info/infolists/hdata. |       alias-info.c | Alias info/infolists/hdata.
|    spell/ | Spell checker plugin. |    spell/ | Spell checker plugin.
|       spell.c | Main spell checker functions. |       spell.c | Main spell checker functions.
|       spell-bar-item.c | Spell checker bar items. |       spell-bar-item.c | Spell checker bar items.
|       spell-command.c | Spell checker commands. |       spell-command.c | Spell checker commands.
|       spell-completion.c | Spell checker completions. |       spell-completion.c | Spell checker completions.
|       spell-config.c | Spell checker config options (file spell.conf). |       spell-config.c | Spell checker config options (file spell.conf).
|       spell-info.c | Spell checker info/infolists/hdata. |       spell-info.c | Spell checker info/infolists/hdata.
|       spell-speller.c | Spellers management. |       spell-speller.c | Spellers management.
|    buflist/ | Buflist plugin. |    buflist/ | Buflist plugin.
|       buflist.c | Main buflist functions. |       buflist.c | Main buflist functions.
|       buflist-bar-item.c | Buflist bar items. |       buflist-bar-item.c | Buflist bar items.
|       buflist-command.c | Buflist commands. |       buflist-command.c | Buflist commands.
|       buflist-completion.c | Buflist completions. |       buflist-completion.c | Buflist completions.
|       buflist-config.c | Buflist config options (file buflist.conf). |       buflist-config.c | Buflist config options (file buflist.conf).
|       buflist-info.c | Buflist info/infolists/hdata. |       buflist-info.c | Buflist info/infolists/hdata.
|       buflist-mouse.c | Buflist mouse actions. |       buflist-mouse.c | Buflist mouse actions.
|    charset/ | Charset plugin. |    charset/ | Charset plugin.
|       charset.c | Charset functions. |       charset.c | Charset functions.
|    exec/ | Exec plugin. |    exec/ | Exec plugin.
|       exec.c | Main exec functions. |       exec.c | Main exec functions.
|       exec-buffer.c | Exec buffer. |       exec-buffer.c | Exec buffer.
|       exec-command.c | Exec commands. |       exec-command.c | Exec commands.
|       exec-completion.c | Exec completions. |       exec-completion.c | Exec completions.
|       exec-config.c | Exec config options (file exec.conf). |       exec-config.c | Exec config options (file exec.conf).
|    fifo/ | Fifo plugin. |    fifo/ | Fifo plugin.
|       fifo.c | Main fifo functions. |       fifo.c | Main fifo functions.
|       fifo-command.c | Fifo commands. |       fifo-command.c | Fifo commands.
|       fifo-config.c | Fifo config options (file fifo.conf). |       fifo-config.c | Fifo config options (file fifo.conf).
|       fifo-info.c | Fifo info/infolists/hdata. |       fifo-info.c | Fifo info/infolists/hdata.
|    fset/ | Fset plugin. |    fset/ | Fset plugin.
|       fset.c | Main fset functions. |       fset.c | Main fset functions.
|       fset-bar-item.c | Fset bar items. |       fset-bar-item.c | Fset bar items.
|       fset-buffer.c | Fset buffer. |       fset-buffer.c | Fset buffer.
|       fset-command.c | Fset commands. |       fset-command.c | Fset commands.
|       fset-completion.c | Fset completions. |       fset-completion.c | Fset completions.
|       fset-config.c | Fset config options (file fset.conf). |       fset-config.c | Fset config options (file fset.conf).
|       fset-info.c | Fset info/infolists/hdata. |       fset-info.c | Fset info/infolists/hdata.
|       fset-mouse.c | Fset mouse actions. |       fset-mouse.c | Fset mouse actions.
|       fset-option.c | Fset options management. |       fset-option.c | Fset options management.
|    guile/ | Guile (scheme) plugin. |    guile/ | Guile (scheme) plugin.
|       weechat-guile.c | Main guile functions (load/unload scripts, execute guile code). |       weechat-guile.c | Main guile functions (load/unload scripts, execute guile code).
|       weechat-guile-api.c | Guile scripting API functions. |       weechat-guile-api.c | Guile scripting API functions.
|    irc/ | IRC (Internet Relay Chat) plugin. |    irc/ | IRC (Internet Relay Chat) plugin.
|       irc.c | Main IRC functions. |       irc.c | Main IRC functions.
|       irc-bar-item.c | IRC bar items. |       irc-bar-item.c | IRC bar items.
|       irc-batch.c | IRC batched events. |       irc-batch.c | IRC batched events.
|       irc-buffer.c | IRC buffers. |       irc-buffer.c | IRC buffers.
|       irc-channel.c | IRC channels. |       irc-channel.c | IRC channels.
|       irc-color.c | IRC colors. |       irc-color.c | IRC colors.
|       irc-command.c | IRC commands. |       irc-command.c | IRC commands.
|       irc-completion.c | IRC completions. |       irc-completion.c | IRC completions.
|       irc-config.c | IRC config options (file irc.conf). |       irc-config.c | IRC config options (file irc.conf).
|       irc-ctcp.c | IRC CTCP. |       irc-ctcp.c | IRC CTCP.
|       irc-debug.c | IRC debug functions. |       irc-debug.c | IRC debug functions.
|       irc-ignore.c | IRC Ignore. |       irc-ignore.c | IRC Ignore.
|       irc-info.c | IRC info/infolists/hdata. |       irc-info.c | IRC info/infolists/hdata.
|       irc-input.c | Input of commands/text. |       irc-input.c | Input of commands/text.
|       irc-join.c | Functions for list of channels to join. |       irc-join.c | Functions for list of channels to join.
|       irc-list.c | Buffer for reply to /list command. |       irc-list.c | Buffer for reply to /list command.
|       irc-message.c | Functions to manipulate IRC messages. |       irc-message.c | Functions to manipulate IRC messages.
|       irc-mode.c | Functions about channel/nick modes. |       irc-mode.c | Functions about channel/nick modes.
|       irc-modelist.c | IRC channel mode lists (+b, +e, +I, ...). |       irc-modelist.c | IRC channel mode lists (+b, +e, +I, ...).
|       irc-msgbuffer.c | Target buffer for IRC messages. |       irc-msgbuffer.c | Target buffer for IRC messages.
|       irc-nick.c | IRC nicks. |       irc-nick.c | IRC nicks.
|       irc-notify.c | IRC notify lists. |       irc-notify.c | IRC notify lists.
|       irc-protocol.c | IRC protocol (RFCs 1459/2810/2811/2812/2813/7194). |       irc-protocol.c | IRC protocol (RFCs 1459/2810/2811/2812/2813/7194).
|       irc-raw.c | IRC raw buffer. |       irc-raw.c | IRC raw buffer.
|       irc-redirect.c | Redirection of IRC command output. |       irc-redirect.c | Redirection of IRC command output.
|       irc-sasl.c | SASL authentication with IRC server. |       irc-sasl.c | SASL authentication with IRC server.
|       irc-server.c | I/O communication with IRC server. |       irc-server.c | I/O communication with IRC server.
|       irc-tag.c | Functions to manipulate IRC message tags. |       irc-tag.c | Functions to manipulate IRC message tags.
|       irc-typing.c | Typing status. |       irc-typing.c | Typing status.
|       irc-upgrade.c | Save/restore of IRC data when upgrading WeeChat. |       irc-upgrade.c | Save/restore of IRC data when upgrading WeeChat.
|    javascript/ | JavaScript plugin. |    javascript/ | JavaScript plugin.
|       weechat-js.cpp | Main JavaScript functions (load/unload scripts, execute JavaScript code). |       weechat-js.cpp | Main JavaScript functions (load/unload scripts, execute JavaScript code).
|       weechat-js-api.cpp | JavaScript scripting API functions. |       weechat-js-api.cpp | JavaScript scripting API functions.
|       weechat-js-v8.cpp | JavaScript v8 functions. |       weechat-js-v8.cpp | JavaScript v8 functions.
|    logger/ | Logger plugin. |    logger/ | Logger plugin.
|       logger.c | Main logger functions. |       logger.c | Main logger functions.
|       logger-backlog.c | Logger backlog functions. |       logger-backlog.c | Logger backlog functions.
|       logger-buffer.c | Logger buffer list management. |       logger-buffer.c | Logger buffer list management.
|       logger-command.c | Logger commands. |       logger-command.c | Logger commands.
|       logger-config.c | Logger config options (file logger.conf). |       logger-config.c | Logger config options (file logger.conf).
|       logger-info.c | Logger info/infolists/hdata. |       logger-info.c | Logger info/infolists/hdata.
|       logger-tail.c | Functions to get last lines of a file. |       logger-tail.c | Functions to get last lines of a file.
|    lua/ | Lua plugin. |    lua/ | Lua plugin.
|       weechat-lua.c | Main lua functions (load/unload scripts, execute lua code). |       weechat-lua.c | Main lua functions (load/unload scripts, execute lua code).
|       weechat-lua-api.c | Lua scripting API functions. |       weechat-lua-api.c | Lua scripting API functions.
|    perl/ | Perl plugin. |    perl/ | Perl plugin.
|       weechat-perl.c | Main perl functions (load/unload scripts, execute perl code). |       weechat-perl.c | Main perl functions (load/unload scripts, execute perl code).
|       weechat-perl-api.c | Perl scripting API functions. |       weechat-perl-api.c | Perl scripting API functions.
|    php/ | PHP plugin. |    php/ | PHP plugin.
|       weechat-php.c | Main PHP functions (load/unload scripts, execute PHP code). |       weechat-php.c | Main PHP functions (load/unload scripts, execute PHP code).
|       weechat-php-api.c | PHP scripting API functions. |       weechat-php-api.c | PHP scripting API functions.
|    python/ | Python plugin. |    python/ | Python plugin.
|       weechat-python.c | Main python functions (load/unload scripts, execute python code). |       weechat-python.c | Main python functions (load/unload scripts, execute python code).
|       weechat-python-api.c | Python scripting API functions. |       weechat-python-api.c | Python scripting API functions.
|    relay/ | Relay plugin (IRC proxy and relay for remote interfaces). |    relay/ | Relay plugin (IRC proxy and relay for remote interfaces).
|       relay.c | Main relay functions. |       relay.c | Main relay functions.
|       relay-auth.c | Clients authentication. |       relay-auth.c | Clients authentication.
|       relay-buffer.c | Relay buffer. |       relay-buffer.c | Relay buffer.
|       relay-client.c | Clients of relay. |       relay-client.c | Clients of relay.
|       relay-command.c | Relay commands. |       relay-command.c | Relay commands.
|       relay-completion.c | Relay completions. |       relay-completion.c | Relay completions.
|       relay-config.c | Relay config options (file relay.conf). |       relay-config.c | Relay config options (file relay.conf).
|       relay-http.c | HTTP functions. |       relay-info.c | Relay info/infolists/hdata.
|       relay-info.c | Relay info/infolists/hdata. |       relay-network.c | Network functions for relay.
|       relay-network.c | Network functions for relay. |       relay-raw.c | Relay raw buffer.
|       relay-raw.c | Relay raw buffer. |       relay-server.c | Relay server.
|       relay-remote.c | Relay remote. |       relay-upgrade.c | Save/restore of relay data when upgrading WeeChat.
|       relay-server.c | Relay server. |       relay-websocket.c | WebSocket server functions (RFC 6455).
|       relay-upgrade.c | Save/restore of relay data when upgrading WeeChat. |       irc/ | IRC proxy.
|       relay-websocket.c | WebSocket server functions (RFC 6455). |          relay-irc.c | Main IRC proxy functions.
|       api/ | Relay for remote interfaces (using HTTP REST API). |       weechat/ | Relay for remote interfaces.
|          relay-api.c | Main API functions for HTTP REST API. |          relay-weechat.c | Relay for remote interfaces (main functions).
|          relay-api-msg.c | Send JSON messages to clients. |          relay-weechat-msg.c | Send binary messages to clients.
|          relay-api-protocol.c | HTTP REST API protocol. |          relay-weechat-nicklist.c | Nicklist functions.
|          remote/ | Relay remote functions, specific to API. |          relay-weechat-protocol.c | Read commands from clients.
|             relay-remote-event.c | Process events received from relay remote. |    ruby/ | Ruby plugin.
|             relay-remote-network.c | Network functions for relay remote. |       weechat-ruby.c | Main ruby functions (load/unload scripts, execute ruby code).
|       irc/ | IRC proxy. |       weechat-ruby-api.c | Ruby scripting API functions.
|          relay-irc.c | Main IRC proxy functions. |    script/ | Script manager.
|       weechat/ | Relay for remote interfaces (using "weechat" binary protocol). |       script.c | Main functions for script manager.
|          relay-weechat.c | Relay for remote interfaces (main functions). |       script-action.c | Actions on scripts (load/unload, install/remove, ...).
|          relay-weechat-msg.c | Send binary messages to clients. |       script-buffer.c | Buffer for script manager.
|          relay-weechat-nicklist.c | Nicklist functions. |       script-command.c | Commands for script manager.
|          relay-weechat-protocol.c | Read commands from clients. |       script-completion.c | Completions for script manager.
|    ruby/ | Ruby plugin. |       script-config.c | Config options for script manager (file script.conf).
|       weechat-ruby.c | Main ruby functions (load/unload scripts, execute ruby code). |       script-info.c | Script manager info/infolists/hdata.
|       weechat-ruby-api.c | Ruby scripting API functions. |       script-mouse.c | Script mouse actions.
|    script/ | Script manager. |       script-repo.c | Download and read repository file.
|       script.c | Main functions for script manager. |    tcl/ | Tcl plugin.
|       script-action.c | Actions on scripts (load/unload, install/remove, ...). |       weechat-tcl.c | Main tcl functions (load/unload scripts, execute tcl code).
|       script-buffer.c | Buffer for script manager. |       weechat-tcl-api.c | Tcl scripting API functions.
|       script-command.c | Commands for script manager. |    trigger/ | Trigger plugin.
|       script-completion.c | Completions for script manager. |       trigger.c | Main trigger functions.
|       script-config.c | Config options for script manager (file script.conf). |       trigger-buffer.c | Trigger buffer.
|       script-info.c | Script manager info/infolists/hdata. |       trigger-callback.c | Trigger callbacks.
|       script-mouse.c | Script mouse actions. |       trigger-command.c | Trigger commands.
|       script-repo.c | Download and read repository file. |       trigger-completion.c | Trigger completions.
|    tcl/ | Tcl plugin. |       trigger-config.c | Trigger config options (file trigger.conf).
|       weechat-tcl.c | Main tcl functions (load/unload scripts, execute tcl code). |    typing/ | Typing plugin.
|       weechat-tcl-api.c | Tcl scripting API functions. |       typing.c | Main typing functions.
|    trigger/ | Trigger plugin. |       typing-bar-item.c | Typing bar items.
|       trigger.c | Main trigger functions. |       typing-config.c | Typing config options (file typing.conf).
|       trigger-buffer.c | Trigger buffer. |       typing-status.c | Messages typing status on buffers.
|       trigger-callback.c | Trigger callbacks. |    xfer/ | Xfer plugin (IRC DCC file/chat).
|       trigger-command.c | Trigger commands. |       xfer.c | Main xfer functions.
|       trigger-completion.c | Trigger completions. |       xfer-buffer.c | Xfer buffer.
|       trigger-config.c | Trigger config options (file trigger.conf). |       xfer-chat.c | DCC chat.
|    typing/ | Typing plugin. |       xfer-command.c | Xfer commands.
|       typing.c | Main typing functions. |       xfer-completion.c | Xfer completions.
|       typing-bar-item.c | Typing bar items. |       xfer-config.c | Xfer config options (file xfer.conf).
|       typing-config.c | Typing config options (file typing.conf). |       xfer-dcc.c | DCC file transfer.
|       typing-status.c | Messages typing status on buffers. |       xfer-file.c | File functions for xfer.
|    xfer/ | Xfer plugin (IRC DCC file/chat). |       xfer-info.c | Xfer info/infolists/hdata.
|       xfer.c | Main xfer functions. |       xfer-network.c | Network functions for xfer.
|       xfer-buffer.c | Xfer buffer. |       xfer-upgrade.c | Save/restore of xfer data when upgrading WeeChat.
|       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]] [[sources_tests]]
@@ -400,119 +391,89 @@ WeeChat "core" is located in following directories:
[width="100%",cols="2m,3",options="header"] [width="100%",cols="2m,3",options="header"]
|=== |===
| Path/file | Description | Path/file | Description
| tests/ | Root of tests. | tests/ | Root of tests.
|    tests.cpp | Program used to run all tests. |    tests.cpp | Program used to run all tests.
|    tests-record.cpp | Record and search in messages displayed. |    tests-record.cpp | Record and search in messages displayed.
|    scripts/ | Root of scripting API tests. |    scripts/ | Root of scripting API tests.
|       test-scripts.cpp | Program used to run the 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. |       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. |          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. |          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. |          unparse.py | Convert Python code to other languages, used by script testapigen.py.
|    unit/ | Root of unit tests. |    unit/ | Root of unit tests.
|       test-plugins.cpp | Tests: plugins. |       test-plugins.cpp | Tests: plugins.
|       test-plugin-api-info.cpp | Tests: plugin API info functions. |       test-plugin-api-info.cpp | Tests: plugin API info functions.
|       test-plugin-config.cpp | Tests: plugin config functions. |       test-plugin-config.cpp | Tests: plugin config functions.
|       core/ | Root of unit tests for core. |       core/ | Root of unit tests for core.
|          test-core-arraylist.cpp | Tests: arraylists. |          test-core-arraylist.cpp | Tests: arraylists.
|          test-core-calc.cpp | Tests: calculation of expressions. |          test-core-calc.cpp | Tests: calculation of expressions.
|          test-core-command.cpp | Tests: commands. |          test-core-command.cpp | Tests: commands.
|          test-core-config-file.cpp | Tests: configuration files. |          test-core-config-file.cpp | Tests: configuration files.
|          test-core-crypto.cpp | Tests: cryptographic functions. |          test-core-crypto.cpp | Tests: cryptographic functions.
|          test-core-dir.cpp | Tests: directory/file functions. |          test-core-dir.cpp | Tests: directory/file functions.
|          test-core-eval.cpp | Tests: evaluation of expressions. |          test-core-eval.cpp | Tests: evaluation of expressions.
|          test-core-hashtble.cpp | Tests: hashtables. |          test-core-hashtble.cpp | Tests: hashtables.
|          test-core-hdata.cpp | Tests: hdata. |          test-core-hdata.cpp | Tests: hdata.
|          test-core-hook.cpp | Tests: hooks. |          test-core-hook.cpp | Tests: hooks.
|          test-core-infolist.cpp | Tests: infolists. |          test-core-infolist.cpp | Tests: infolists.
|          test-core-list.cpp | Tests: lists. |          test-core-list.cpp | Tests: lists.
|          test-core-network.cpp | Tests: network functions. |          test-core-network.cpp | Tests: network functions.
|          test-core-secure.cpp | Tests: secured data. |          test-core-secure.cpp | Tests: secured data.
|          test-core-signal.cpp | Tests: signals. |          test-core-signal.cpp | Tests: signals.
|          test-core-string.cpp | Tests: strings. |          test-core-string.cpp | Tests: strings.
|          test-core-url.cpp | Tests: URLs. |          test-core-url.cpp | Tests: URLs.
|          test-core-utf8.cpp | Tests: UTF-8. |          test-core-utf8.cpp | Tests: UTF-8.
|          test-core-util.cpp | Tests: utility functions. |          test-core-util.cpp | Tests: utility functions.
|          test-core-sys.cpp | Tests: system functions. |          test-core-sys.cpp | Tests: system functions.
|          hook/ | Root of unit tests for hooks. |          hook/ | Root of unit tests for hooks.
|             test-hook-command.cpp | Tests: hooks "command". |             test-hook-command.cpp | Tests: hooks "command".
|             test-hook-command-run.cpp | Tests: hooks "command_run". |       gui/ | Root of unit tests for interfaces.
|             test-hook-completion.cpp | Tests: hooks "completion". |          test-gui-bar-window.cpp | Tests: bar window functions.
|             test-hook-config.cpp | Tests: hooks "config". |          test-gui-buffer.cpp | Tests: buffer functions.
|             test-hook-connect.cpp | Tests: hooks "connect". |          test-gui-chat.cpp | Tests: chat functions.
|             test-hook-fd.cpp | Tests: hooks "fd". |          test-gui-color.cpp | Tests: colors.
|             test-hook-focus.cpp | Tests: hooks "focus". |          test-gui-filter.cpp | Tests: filters.
|             test-hook-hdata.cpp | Tests: hooks "hdata". |          test-gui-input.cpp | Tests: input functions.
|             test-hook-hsignal.cpp | Tests: hooks "hsignal". |          test-gui-key.cpp | Tests: keys.
|             test-hook-info-hashtable.cpp | Tests: hooks "info_hashtable". |          test-gui-line.cpp | Tests: lines.
|             test-hook-info.cpp | Tests: hooks "info". |          test-gui-nick.cpp | Tests: nicks.
|             test-hook-infolist.cpp | Tests: hooks "infolist". |       plugins/ | Root of unit tests for plugins.
|             test-hook-line.cpp | Tests: hooks "line". |          irc/ | Root of unit tests for IRC plugin.
|             test-hook-modifier.cpp | Tests: hooks "modifier". |             test-irc-batch.cpp | Tests: IRC batched events.
|             test-hook-print.cpp | Tests: hooks "print". |             test-irc-buffer.cpp | Tests: IRC buffers.
|             test-hook-process.cpp | Tests: hooks "process". |             test-irc-channel.cpp | Tests: IRC channels.
|             test-hook-signal.cpp | Tests: hooks "signal". |             test-irc-color.cpp | Tests: IRC colors.
|             test-hook-timer.cpp | Tests: hooks "timer". |             test-irc-config.cpp | Tests: IRC configuration.
|             test-hook-url.cpp | Tests: hooks "url". |             test-irc-ctcp.cpp | Tests: IRC CTCP.
|       gui/ | Root of unit tests for interfaces. |             test-irc-ignore.cpp | Tests: IRC ignores.
|          test-gui-bar-window.cpp | Tests: bar window functions. |             test-irc-info.cpp | Tests: IRC info.
|          test-gui-buffer.cpp | Tests: buffer functions. |             test-irc-join.cpp | Tests: IRC join functions.
|          test-gui-chat.cpp | Tests: chat functions. |             test-irc-list.cpp | Tests: IRC buffer for reply to /list command.
|          test-gui-color.cpp | Tests: colors. |             test-irc-message.cpp | Tests: IRC messages.
|          test-gui-filter.cpp | Tests: filters. |             test-irc-mode.cpp | Tests: IRC modes.
|          test-gui-hotlist.cpp | Tests: hotlist functions. |             test-irc-nick.cpp | Tests: IRC nicks.
|          test-gui-input.cpp | Tests: input functions. |             test-irc-protocol.cpp | Tests: IRC protocol.
|          test-gui-key.cpp | Tests: keys. |             test-irc-sasl.cpp | Tests: SASL authentication with IRC protocol.
|          test-gui-line.cpp | Tests: lines. |             test-irc-server.cpp | Tests: IRC server.
|          test-gui-nick.cpp | Tests: nicks. |             test-irc-tag.cpp | Tests: IRC message tags.
|          test-gui-nicklist.cpp | Tests: nicklist functions. |          logger/ | Root of unit tests for logger plugin.
|          curses/ | Root of unit tests for Curses interface. |             test-logger.cpp | Tests: logger.
|             test-gui-curses-mouse.cpp | Tests: mouse (Curses interface). |             test-logger-backlog.cpp | Tests: logger backlog.
|       plugins/ | Root of unit tests for plugins. |             test-logger-tail.cpp | Tests: logger tail functions.
|          irc/ | Root of unit tests for IRC plugin. |          trigger/ | Root of unit tests for trigger plugin.
|             test-irc-batch.cpp | Tests: IRC batched events. |             test-trigger.cpp | Tests: triggers.
|             test-irc-buffer.cpp | Tests: IRC buffers. |             test-trigger-config.cpp | Tests: trigger configuration.
|             test-irc-channel.cpp | Tests: IRC channels. |          typing/ | Root of unit tests for typing plugin.
|             test-irc-color.cpp | Tests: IRC colors. |             test-typing.cpp | Tests: typing.
|             test-irc-command.cpp | Tests: IRC commands. |             test-typing-status.cpp | Tests: typing status.
|             test-irc-config.cpp | Tests: IRC configuration. |          relay/ | Root of unit tests for Relay plugin.
|             test-irc-ctcp.cpp | Tests: IRC CTCP. |             test-relay-auth.cpp | Tests: clients authentication.
|             test-irc-ignore.cpp | Tests: IRC ignores. |             irc/ | Root of unit tests for Relay "irc" protocol.
|             test-irc-info.cpp | Tests: IRC info. |                test-relay-irc.cpp | Tests: Relay "irc" protocol.
|             test-irc-join.cpp | Tests: IRC join functions. |          xfer/ | Root of unit tests for Xfer plugin.
|             test-irc-list.cpp | Tests: IRC buffer for reply to /list command. |             test-xfer-file.cpp | Tests: file functions.
|             test-irc-message.cpp | Tests: IRC messages. |             test-xfer-network.cpp | Tests: network functions.
|             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.
|=== |===
[[documentation_translations]] [[documentation_translations]]
@@ -596,8 +557,9 @@ Example in C:
Some basic rules you *must* follow when you write C code: Some basic rules you *must* follow when you write C code:
* Use 4 spaces for indentation (no tabs). * 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. * 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+`). * Use comments `+/* comment */+` (not C99-style comments like `+// comment+`).
* Add a comment before any function, to explain what it does (always use a * Add a comment before any function, to explain what it does (always use a
multi-line comment, even if description is very short). multi-line comment, even if description is very short).
@@ -809,7 +771,7 @@ Examples:
[width="100%",cols="2m,3",options="header"] [width="100%",cols="2m,3",options="header"]
|=== |===
| Directory | Files | 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/ | 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/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, ... | 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, ... | 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 The headers of C files have same name as file, for example _wee-command.h_ for
file _core-command.c_. file _wee-command.c_.
[[naming_convention_structures]] [[naming_convention_structures]]
==== Structures ==== Structures
+73 -449
View File
@@ -537,55 +537,6 @@ num_files = 2
str = weechat.ngettext("file", "files", num_files) 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 ==== strndup
Return duplicated string, with a max number of bytes. 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 ==== string_remove_color
_Updated in 4.3.0._
Remove WeeChat colors from a string. Remove WeeChat colors from a string.
Prototype: Prototype:
[source,c] [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: Arguments:
* _string_: string * _string_: string
* _replacement_: if not NULL and not empty, WeeChat color codes are replaced by * _replacement_: if not NULL and not empty, WeeChat color codes are replaced by
this string, otherwise WeeChat color codes and following chars (if related first char of this string, otherwise WeeChat color codes and following chars
to color) are removed from string (if related to color) are removed from string
Return value: Return value:
@@ -2389,7 +2339,7 @@ char *str = weechat_string_remove_color (my_string1, NULL);
free (str); free (str);
/* replace color codes by "?" */ /* replace color codes by "?" */
char *str = weechat_string_remove_color (my_string2, "[color]"); char *str = weechat_string_remove_color (my_string2, "?");
/* ... */ /* ... */
free (str); free (str);
---- ----
@@ -2402,12 +2352,12 @@ Script (Python):
def string_remove_color(string: str, replacement: str) -> str: ... def string_remove_color(string: str, replacement: str) -> str: ...
# example # example
str = weechat.string_remove_color(my_string, "[color]") str = weechat.string_remove_color(my_string, "?")
---- ----
==== string_base_encode ==== string_base_encode
_WeeChat ≥ 2.4, updated in 4.3.0._ _WeeChat ≥ 2.4._
Encode a string in base 16, 32, or 64. Encode a string in base 16, 32, or 64.
@@ -2415,12 +2365,12 @@ Prototype:
[source,c] [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: Arguments:
* _base_: "16", "32", "64" or "64url" * _base_: 16, 32, or 64
* _from_: string to encode * _from_: string to encode
* _length_: length of string to encode (for example `strlen(from)`) * _length_: length of string to encode (for example `strlen(from)`)
* _to_: pointer to string to store result (must be long enough, result is * _to_: pointer to string to store result (must be long enough, result is
@@ -2436,11 +2386,11 @@ C example:
---- ----
char *string = "abcdefgh", result[128]; char *string = "abcdefgh", result[128];
int length; 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 == 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 == 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=" */ /* length == 12, result == "YWJjZGVmZ2g=" */
---- ----
@@ -2449,7 +2399,7 @@ This function is not available in scripting API.
==== string_base_decode ==== string_base_decode
_WeeChat ≥ 2.4, updated in 4.3.0._ _WeeChat ≥ 2.4._
Decode a string encoded in base 16, 32, or 64. Decode a string encoded in base 16, 32, or 64.
@@ -2457,12 +2407,12 @@ Prototype:
[source,c] [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: Arguments:
* _base_: "16", "32", "64" or "64url" * _base_: 16, 32, or 64
* _from_: string to decode * _from_: string to decode
* _to_: pointer to string to store result (must be long enough, result is * _to_: pointer to string to store result (must be long enough, result is
shorter than initial string) shorter than initial string)
@@ -2477,11 +2427,11 @@ C example:
---- ----
char result[128]; char result[128];
int length; int length;
length = weechat_string_base_decode ("16", "6162636465666768", result); length = weechat_string_base_decode (16, "6162636465666768", result);
/* length == 8, result == "abcdefgh" */ /* 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 == 8, result == "abcdefgh" */
length = weechat_string_base_decode ("64", "YWJjZGVmZ2g=", result); length = weechat_string_base_decode (64, "YWJjZGVmZ2g=", result);
/* length == 8, result == "abcdefgh" */ /* length == 8, result == "abcdefgh" */
---- ----
@@ -2617,7 +2567,7 @@ str3 = weechat.string_input_for_buffer("//test") # "/test"
==== string_eval_expression ==== 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, _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. Evaluate an expression and return result as a string.
Special variables with format `+${variable}+` are expanded (see table below). Special variables with format `+${variable}+` are expanded (see table below).
@@ -2977,16 +2927,13 @@ expanded to last):
| `+${weechat_xxx_dir}+` | 3.2 | `+${weechat_xxx_dir}+` | 3.2
| A WeeChat directory: `+${weechat_config_dir}+`, `+${weechat_data_dir}+`, | 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}+` + | >> `+${weechat_config_dir}+` +
== `+/home/user/.config/weechat+` + == `+/home/user/.config/weechat+` +
+ +
>> `+${weechat_data_dir}+` + >> `+${weechat_data_dir}+` +
== `+/home/user/.local/share/weechat+` + == `+/home/user/.local/share/weechat+` +
+ +
>> `+${weechat_state_dir}+` +
== `+/home/user/.local/state/weechat+` +
+
>> `+${weechat_cache_dir}+` + >> `+${weechat_cache_dir}+` +
== `+/home/user/.cache/weechat+` + == `+/home/user/.cache/weechat+` +
+ +
@@ -3197,7 +3144,7 @@ expanded to last):
>> `+${re:2}+` + >> `+${re:2}+` +
== `+test2+` + == `+test2+` +
+ +
>> `pass:[${re:+}]` + >> `+${re:+}+` +
== `+test2+` + == `+test2+` +
+ +
>> `+${re:#}+` + >> `+${re:#}+` +
@@ -3261,16 +3208,13 @@ expanded to last):
| `+${date}+` + | `+${date}+` +
`+${date:xxx}+` | 1.3 `+${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`. default format is `%F %T`.
| >> `+${date}+` + | >> `+${date}+` +
== `+2015-06-30 19:02:45+` + == `+2015-06-30 19:02:45+` +
+ +
>> `+${date:%H:%M:%S}+` + >> `+${date:%H:%M:%S}+` +
== `+19:02:45+` + == `+19:02:45+`
+
>> `+${date:%!.%.3}+` +
== `+1435683765.482+`
| `+${env:NAME}+` | 1.2 | `+${env:NAME}+` | 1.2
| Value of the environment variable `NAME`. | Value of the environment variable `NAME`.
@@ -4346,7 +4290,6 @@ Arguments:
strings to force a specific WeeChat directory (WeeChat ≥ 3.2): strings to force a specific WeeChat directory (WeeChat ≥ 3.2):
** `${weechat_config_dir}` ** `${weechat_config_dir}`
** `${weechat_data_dir}` (default) ** `${weechat_data_dir}` (default)
** `${weechat_state_dir}`
** `${weechat_cache_dir}` ** `${weechat_cache_dir}`
** `${weechat_runtime_dir}` ** `${weechat_runtime_dir}`
* _mode_: mode for directory * _mode_: mode for directory
@@ -4755,10 +4698,10 @@ This function is not available in scripting API.
==== util_strftimeval ==== 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` 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: Prototype:
@@ -4775,7 +4718,6 @@ Arguments:
** `%.N` where `N` is between 1 and 6: zero-padded microseconds on N digits ** `%.N` where `N` is between 1 and 6: zero-padded microseconds on N digits
(for example `%.3` for milliseconds) (for example `%.3` for milliseconds)
** `%f`: alias of `%.6` ** `%f`: alias of `%.6`
** `%!`: timestamp as integer, in seconds (value of tv->tv_sec)
Return value: Return value:
@@ -5315,7 +5257,7 @@ C example:
[source,c] [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] [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 ==== config_integer
Return integer value of option. Return integer value of option.
@@ -8200,49 +8099,6 @@ option = weechat.config_get("plugin.section.option")
value = weechat.config_integer_default(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 ==== config_string
Return string value of option. Return string value of option.
@@ -8329,49 +8185,6 @@ option = weechat.config_get("plugin.section.option")
value = weechat.config_string_default(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 ==== config_color
Return color value of option. Return color value of option.
@@ -8412,7 +8225,7 @@ def config_color(option: str) -> str: ...
# example # example
option = weechat.config_get("plugin.section.option") option = weechat.config_get("plugin.section.option")
color = weechat.config_color(option) value = weechat.config_color(option)
---- ----
==== config_color_default ==== config_color_default
@@ -8455,50 +8268,7 @@ def config_color_default(option: str) -> str: ...
# example # example
option = weechat.config_get("plugin.section.option") option = weechat.config_get("plugin.section.option")
color = weechat.config_color_default(option) value = 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)
---- ----
==== config_enum ==== config_enum
@@ -8591,49 +8361,6 @@ option = weechat.config_get("plugin.section.option")
value = weechat.config_enum_default(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 ==== config_write_option
Write a line in a configuration file with option and its value (this function 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. | Pointer: buffer.
| Title of buffer changed. | 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 | | weechat | [[hook_signal_buffer_type_changed]] buffer_type_changed |
| Pointer: buffer. | Pointer: buffer.
| Type of buffer changed. | Type of buffer changed.
@@ -12224,10 +11947,6 @@ List of signals sent by WeeChat and plugins:
| Pointer: buffer. | Pointer: buffer.
| Text search in 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 | | weechat | [[hook_signal_input_text_changed]] input_text_changed |
| Pointer: buffer. | Pointer: buffer.
| Input text changed. | 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, | String with IRC tag value unescaped,
see https://ircv3.net/specs/extensions/message-tags#escaping-values[this page ^↗^^]. 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 | [[hook_modifier_color_decode_ansi]] color_decode_ansi | 1.0
| "1" to keep colors, "0" to remove colors | "1" to keep colors, "0" to remove colors
| Any string. | Any string.
@@ -14352,9 +14065,9 @@ weechat.prnt(weechat.current_buffer(), "Text on current buffer")
==== buffer_search ==== 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: Prototype:
@@ -14366,11 +14079,10 @@ struct t_gui_buffer *weechat_buffer_search (const char *plugin,
Arguments: 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: ** `+==+`: the name used is the buffer full name (for example:
`irc.libera.#weechat` instead of `libera.#weechat`) `irc.libera.#weechat` instead of `libera.#weechat`)
_(WeeChat ≥ 1.0)_ _(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 * _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 returned (buffer displayed by current window); if the name starts with
`(?i)`, the search is case insensitive _(WeeChat ≥ 1.0)_ `(?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 *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 *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): Script (Python):
@@ -14635,7 +14346,6 @@ Arguments:
** _nicklist_nicks_count_: number of nicks in nicklist ** _nicklist_nicks_count_: number of nicks in nicklist
** _nicklist_nicks_visible_count_: number of nicks displayed ** _nicklist_nicks_visible_count_: number of nicks displayed
** _input_: 1 if input is enabled, otherwise 0 ** _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_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_get_empty_: 1 if empty input is sent to input callback, otherwise 0
** _input_multiline_: 1 if multiple lines are sent as one message to input callback, otherwise 0 ** _input_multiline_: 1 if multiple lines are sent as one message to input callback, otherwise 0
@@ -14703,7 +14413,6 @@ Arguments:
* _buffer_: buffer pointer * _buffer_: buffer pointer
* _property_: property name: * _property_: property name:
** _id_: unique identifier _(WeeChat ≥ 4.3.0)_
** _plugin_: name of plugin which created this buffer ("core" for WeeChat main buffer) ** _plugin_: name of plugin which created this buffer ("core" for WeeChat main buffer)
** _name_: name of buffer ** _name_: name of buffer
** _full_name_: full name of buffer ("plugin.name") _(WeeChat ≥ 0.3.7)_ ** _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_) ** _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)_ ** _type_: type of buffer: "formatted" or "free" _(WeeChat ≥ 4.2.0)_
** _title_: title of buffer ** _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 ** _input_: input text
** _text_search_input_: input saved before text search ** _text_search_input_: input saved before text search
** _highlight_words_: list of words to highlight ** _highlight_words_: list of words to highlight
@@ -14888,9 +14594,6 @@ Properties:
| title | | any string | title | | any string
| Set new title for buffer. | Set new title for buffer.
| modes | 4.3.0 | any string
| Set new modes for buffer.
| time_for_each_line | | "0" or "1" | time_for_each_line | | "0" or "1"
| "0" to hide time for all lines in buffer, "1" to see time for all lines | "0" to hide time for all lines in buffer, "1" to see time for all lines
(default for a new buffer). (default for a new buffer).
@@ -14952,19 +14655,12 @@ Properties:
| key_unbind_xxx | | - | key_unbind_xxx | | -
| Unbind key _xxx_ for this buffer. | Unbind key _xxx_ for this buffer.
| input_prompt | 4.3.0 | any string
| Set new value for input prompt.
| input | | any string | input | | any string
| Set new value for buffer input. | Set new value for buffer input.
| input_pos | | position | input_pos | | position
| Set cursor position in buffer input. | 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" | input_get_unknown_commands | | "0" or "1"
| "0" to disable unknown commands on this buffer (default behavior), "1" to | "0" to disable unknown commands on this buffer (default behavior), "1" to
get unknown commands, for example if user type "/unknowncmd", buffer will 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 ==== nicklist_search_group
_Updated in 4.3.0._ Search a group in a nicklist.
Search a group in a nicklist by name or unique identifier (`id`).
Prototype: Prototype:
@@ -15535,8 +15229,7 @@ Arguments:
* _buffer_: buffer pointer * _buffer_: buffer pointer
* _from_group_: search from this group only, if NULL, then search in whole * _from_group_: search from this group only, if NULL, then search in whole
nicklist nicklist
* _name_: group name to search; with WeeChat ≥ 4.3.0, a unique identifier can * _name_: group name to search
be given with the format: `==id:xxx` (where `xxx` is the identifier)
Return value: Return value:
@@ -15546,10 +15239,8 @@ C example:
[source,c] [source,c]
---- ----
struct t_gui_nick_group *ptr_group1 = weechat_nicklist_search_group (my_buffer, struct t_gui_nick_group *ptr_group = weechat_nicklist_search_group (my_buffer,
NULL, "test_group"); NULL, "test_group");
struct t_gui_nick_group *ptr_group2 = weechat_nicklist_search_group (my_buffer,
NULL, "==id:1714382231198764");
---- ----
Script (Python): Script (Python):
@@ -15559,9 +15250,8 @@ Script (Python):
# prototype # prototype
def nicklist_search_group(buffer: str, from_group: str, name: str) -> str: ... def nicklist_search_group(buffer: str, from_group: str, name: str) -> str: ...
# examples # example
group1 = weechat.nicklist_search_group(my_buffer, "", "test_group") group = weechat.nicklist_search_group(my_buffer, "", "test_group")
group2 = weechat.nicklist_search_group(my_buffer, "", "==id:1714382231198764")
---- ----
==== nicklist_add_nick ==== nicklist_add_nick
@@ -15572,13 +15262,13 @@ Prototype:
[source,c] [source,c]
---- ----
struct t_gui_nick *weechat_nicklist_add_nick (struct t_gui_buffer *buffer, struct t_gui_nick_group *weechat_nicklist_add_nick (struct t_gui_buffer *buffer,
struct t_gui_nick_group *group, struct t_gui_nick_group *group,
const char *name, const char *name,
const char *color, const char *color,
const char *prefix, const char *prefix,
const char *prefix_color, const char *prefix_color,
int visible); int visible);
---- ----
Arguments: Arguments:
@@ -15638,9 +15328,7 @@ nick = weechat.nicklist_add_nick(my_buffer, my_group, "test_nick", color, "@", "
==== nicklist_search_nick ==== nicklist_search_nick
_Updated in 4.3.0._ Search a nick in a nicklist.
Search a nick in a nicklist by name or unique identifier (`id`).
Prototype: Prototype:
@@ -15656,8 +15344,7 @@ Arguments:
* _buffer_: buffer pointer * _buffer_: buffer pointer
* _from_group_: search from this group only, if NULL, then search in whole * _from_group_: search from this group only, if NULL, then search in whole
nicklist nicklist
* _name_: nick name to search; with WeeChat ≥ 4.3.0, a unique identifier can * _name_: nick name to search
be given with the format: `==id:xxx` (where `xxx` is the identifier)
Return value: Return value:
@@ -15667,10 +15354,8 @@ C example:
[source,c] [source,c]
---- ----
struct t_gui_nick *ptr_nick1 = weechat_nicklist_search_nick (my_buffer, struct t_gui_nick *ptr_nick = weechat_nicklist_search_nick (my_buffer,
NULL, "test_nick"); NULL, "test_nick");
struct t_gui_nick *ptr_nick2 = weechat_nicklist_search_nick (my_buffer,
NULL, "==id:1714382252187496");
---- ----
Script (Python): Script (Python):
@@ -15680,9 +15365,8 @@ Script (Python):
# prototype # prototype
def nicklist_search_nick(buffer: str, from_group: str, name: str) -> str: ... def nicklist_search_nick(buffer: str, from_group: str, name: str) -> str: ...
# examples # example
nick1 = weechat.nicklist_search_nick(my_buffer, "", "test_nick") nick = weechat.nicklist_search_nick(my_buffer, "", "test_nick")
nick2 = weechat.nicklist_search_nick(my_buffer, "", "==id:1714382252187496")
---- ----
==== nicklist_remove_group ==== nicklist_remove_group
@@ -15903,7 +15587,6 @@ Arguments:
* _buffer_: buffer pointer * _buffer_: buffer pointer
* _group_: group pointer * _group_: group pointer
* _property_: property name: * _property_: property name:
** _id_: unique identifier _(WeeChat ≥ 4.3.0)_
** _name_: name of group ** _name_: name of group
** _color_: group color in nicklist ** _color_: group color in nicklist
@@ -15975,7 +15658,7 @@ parent = weechat.nicklist_group_get_pointer(buffer, group, "parent")
==== nicklist_group_set ==== nicklist_group_set
_WeeChat ≥ 0.3.4, updated in 4.3.0._ _WeeChat ≥ 0.3.4._
Set string value of a group property. Set string value of a group property.
@@ -15998,18 +15681,14 @@ Arguments:
Properties: 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 | color | WeeChat color option name
| 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
| See argument "color" of function <<_nicklist_add_group,nicklist_add_group>>. | See argument "color" of function <<_nicklist_add_group,nicklist_add_group>>.
| visible | | "0", "1" | visible | "0", "1"
| "0" = hidden group, "1" = visible group. | "0" = hidden group, "1" = visible group.
|=== |===
@@ -16110,7 +15789,6 @@ Arguments:
* _buffer_: buffer pointer * _buffer_: buffer pointer
* _nick_: nick pointer * _nick_: nick pointer
* _property_: property name: * _property_: property name:
** _id_: unique identifier _(WeeChat ≥ 4.3.0)_
** _name_: name of nick ** _name_: name of nick
** _color_: nick color in nicklist ** _color_: nick color in nicklist
** _prefix_: prefix of nick ** _prefix_: prefix of nick
@@ -16184,7 +15862,7 @@ group = weechat.nicklist_nick_get_pointer(buffer, nick, "group")
==== nicklist_nick_set ==== nicklist_nick_set
_WeeChat ≥ 0.3.4, updated in 4.3.0._ _WeeChat ≥ 0.3.4._
Set string value of a nick property. Set string value of a nick property.
@@ -16207,24 +15885,20 @@ Arguments:
Properties: 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 | color | WeeChat color option name
| 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
| See argument "color" of function <<_nicklist_add_nick,nicklist_add_nick>>. | See argument "color" of function <<_nicklist_add_nick,nicklist_add_nick>>.
| prefix | | any string | prefix | any string
| Prefix of nick. | 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>>. | See argument "prefix_color" of function <<_nicklist_add_nick,nicklist_add_nick>>.
| visible | | "0", "1" | visible | "0", "1"
| "0" = hidden nick, "1" = visible nick. | "0" = hidden nick, "1" = visible nick.
|=== |===
@@ -16727,7 +16401,7 @@ Functions for executing WeeChat commands.
==== command ==== command
_Updated in 1.1, 4.0.0._ _Updated in 1.1._
Execute a command or send text to buffer. 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 * _command_: command to execute (if beginning with a "/"), or text to send to
buffer 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)_: Return value _(WeeChat ≥ 1.1)_:
* _WEECHAT_RC_OK_ if successful * _WEECHAT_RC_OK_ if successful
@@ -16776,7 +16446,7 @@ rc = weechat.command(weechat.buffer_search("irc", "libera.#weechat"), "/whois Fl
==== command_options ==== command_options
_WeeChat ≥ 2.5, updated in 4.0.0._ _WeeChat ≥ 2.5._
Execute a command or send text to buffer with options. 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 this call; see function <<_string_match_list,string_match_list>> for the
format format
** _delay_: delay to execute command, in milliseconds ** _delay_: delay to execute command, in milliseconds
** _split_newline_: `1` to split commands on newline char (`\n`) (_WeeChat ≥ 4.0.0_)
Return value: Return value:
@@ -16831,7 +16500,7 @@ Script (Python):
def command_options(buffer: str, command: str, options: Dict[str, str]) -> int: ... def command_options(buffer: str, command: str, options: Dict[str, str]) -> int: ...
# example: allow any command except /exec # example: allow any command except /exec
rc = weechat.command_options("", "/some_command arguments", {"commands": "*,!exec"}) rc = weechat.command("", "/some_command arguments", {"commands": "*,!exec"})
---- ----
[[completion]] [[completion]]
@@ -18000,7 +17669,7 @@ C example:
[source,c] [source,c]
---- ----
weechat_printf (NULL, "pointer = %p", weechat_printf (NULL, "pointer = 0x%lx",
weechat_infolist_pointer (infolist, "my_pointer")); weechat_infolist_pointer (infolist, "my_pointer"));
---- ----
@@ -18043,7 +17712,8 @@ C example:
---- ----
int size; int size;
void *pointer = weechat_infolist_buffer (infolist, "my_buffer", &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] [NOTE]
@@ -18085,7 +17755,7 @@ Script (Python):
def infolist_time(infolist: str, var: str) -> int: ... def infolist_time(infolist: str, var: str) -> int: ...
# example # example
weechat.prnt("", "time = %d" % weechat.infolist_time(infolist, "my_time")) weechat.prnt("", "time = %ld" % weechat.infolist_time(infolist, "my_time"))
---- ----
==== infolist_free ==== infolist_free
@@ -18199,7 +17869,7 @@ This function is not available in scripting API.
==== hdata_new_var ==== 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. Create a new variable in hdata.
@@ -18220,7 +17890,6 @@ Arguments:
** _WEECHAT_HDATA_CHAR_ ** _WEECHAT_HDATA_CHAR_
** _WEECHAT_HDATA_INTEGER_ ** _WEECHAT_HDATA_INTEGER_
** _WEECHAT_HDATA_LONG_ ** _WEECHAT_HDATA_LONG_
** _WEECHAT_HDATA_LONGLONG_ (_WeeChat ≥ 4.3.0_)
** _WEECHAT_HDATA_STRING_ ** _WEECHAT_HDATA_STRING_
** _WEECHAT_HDATA_SHARED_STRING_ (_WeeChat ≥ 0.4.3_) ** _WEECHAT_HDATA_SHARED_STRING_ (_WeeChat ≥ 0.4.3_)
** _WEECHAT_HDATA_POINTER_ ** _WEECHAT_HDATA_POINTER_
@@ -18501,9 +18170,6 @@ switch (type)
case WEECHAT_HDATA_LONG: case WEECHAT_HDATA_LONG:
/* ... */ /* ... */
break; break;
case WEECHAT_HDATA_LONGLONG:
/* ... */
break;
case WEECHAT_HDATA_STRING: case WEECHAT_HDATA_STRING:
/* ... */ /* ... */
break; break;
@@ -19105,7 +18771,7 @@ weechat.prnt("", "number = %d" % weechat.hdata_integer(hdata, buffer, "number"))
_WeeChat ≥ 0.3.6._ _WeeChat ≥ 0.3.6._
Return value of "long" variable in structure using hdata. Return value of long variable in structure using hdata.
Prototype: Prototype:
@@ -19140,49 +18806,7 @@ Script (Python):
def hdata_long(hdata: str, pointer: str, name: str) -> int: ... def hdata_long(hdata: str, pointer: str, name: str) -> int: ...
# example # example
weechat.prnt("", "longvar = %d" % weechat.hdata_long(hdata, pointer, "longvar")) weechat.prnt("", "longvar = %ld" % 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"))
---- ----
==== hdata_string ==== hdata_string
@@ -19274,7 +18898,7 @@ def hdata_pointer(hdata: str, pointer: str, name: str) -> str: ...
# example # example
hdata = weechat.hdata_get("buffer") hdata = weechat.hdata_get("buffer")
buffer = weechat.buffer_search_main() 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 ==== hdata_time
-1
View File
@@ -707,7 +707,6 @@ inl:
nicklist_visible_count: 0 nicklist_visible_count: 0
title: 'WeeChat 2.9-dev (C) 2003-2020 - https://weechat.org/' title: 'WeeChat 2.9-dev (C) 2003-2020 - https://weechat.org/'
input: 1 input: 1
input_get_any_user_data: 0
input_get_unknown_commands: 0 input_get_unknown_commands: 0
input_get_empty: 0 input_get_empty: 0
input_multiline: 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: 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]] [[script_api_constants]]
=== Constants === Constants
List of constants in script API: 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]]
== 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/rfc2812[2812 ^↗^^],
https://datatracker.ietf.org/doc/html/rfc2813[2813 ^↗^^] and https://datatracker.ietf.org/doc/html/rfc2813[2813 ^↗^^] and
https://datatracker.ietf.org/doc/html/rfc7194[7194 ^↗^^] 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) * multi-platform (GNU/Linux, *BSD, macOS, Windows and other)
* 100% GPL, free software * 100% GPL, free software
@@ -128,8 +128,7 @@ WeeChat:
| zlib1g-dev | | zlib1g-dev |
| Logger plugin: compression of rotated log files (gzip). + | Logger plugin: compression of rotated log files (gzip). +
Relay plugin: compression of messages with https://zlib.net/[zlib ^↗^^] Relay plugin: compression of messages (WeeChat -> client) with https://zlib.net/[zlib ^↗^^] (weechat protocol). +
(api and weechat protocols). +
Script plugin: read of repository index file (gzip). Script plugin: read of repository index file (gzip).
|=== |===
@@ -155,13 +154,9 @@ WeeChat:
| ca-certificates | | ca-certificates |
| Certificates for TLS connections. | Certificates for TLS connections.
| libcjson-dev |
| Relay plugin: protocol "api" (HTTP REST API).
| libzstd-dev | ≥ 0.8.1 | libzstd-dev | ≥ 0.8.1
| Logger plugin: compression of rotated log files (zstandard). + | Logger plugin: compression of rotated log files (zstandard). +
Relay plugin: compression of messages with https://facebook.github.io/zstd/[Zstandard ^↗^^] Relay plugin: compression of messages (WeeChat -> client) with https://facebook.github.io/zstd/[Zstandard ^↗^^] (weechat protocol).
(api and weechat protocols).
| libaspell-dev / libenchant-dev | | libaspell-dev / libenchant-dev |
| Spell plugin. | Spell plugin.
@@ -278,9 +273,6 @@ List of available options:
| ENABLE_CHARSET | `ON`, `OFF` | ON | ENABLE_CHARSET | `ON`, `OFF` | ON
| Compile <<charset,Charset plugin>>. | 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 | ENABLE_MAN | `ON`, `OFF` | OFF
| Build man page. | Build man page.
@@ -528,11 +520,11 @@ Copying output to /tmp/crash.txt.
at /some_path/src/core/weechat.c:351 at /some_path/src/core/weechat.c:351
#3 <signal handler called> #3 <signal handler called>
#4 0x000000000044cb24 in hook_process_timer_cb (arg_hook_process=0x254eb90, #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 hook_process = 0x254eb90
status = <value optimized out> status = <value optimized out>
#5 0x000000000044cc7d in hook_timer_exec () #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} tv_time = {tv_sec = 1272693881, tv_usec = 212665}
ptr_hook = 0x2811f40 ptr_hook = 0x2811f40
next_hook = 0x0 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 Event name consists of a modifier (optional), a button/wheel name and a gesture
(optional). Different elements are separated by `+-+`. (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"] [width="100%",cols="1m,4",options="header"]
|=== |===
| Modifier | Description | Modifier | Description
| alt | Key kbd:[Alt]
| ctrl | Key kbd:[Ctrl] | 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: List of buttons/wheel:
[width="100%",cols="1m,4",options="header"] [width="100%",cols="1m,4",options="header"]
|=== |===
| Button/wheel | Description | Button/wheel | Description
| button1 | Click on left button | button1 | Click on left button
| button2 | Click on right button | button2 | Click on right button
| button3 | Click on middle button (often click on wheel) | button3 | Click on middle button (often click on wheel)
| button4 ... button11 | Click on extra buttons | button4 ... button9 | Click on extra buttons
| wheelup | Wheel (up) | wheelup | Wheel (up)
| wheeldown | Wheel (down) | wheeldown | Wheel (down)
|=== |===
List of gestures (only for buttons, not wheel): List of gestures (only for buttons, not wheel):
@@ -2747,7 +2729,7 @@ Example of events:
* `button1-event-drag` * `button1-event-drag`
* `alt-button2-gesture-down-long` * `alt-button2-gesture-down-long`
* `wheelup` * `wheelup`
* `alt-ctrl-wheeldown` * `ctrl-alt-wheeldown`
* ... * ...
[TIP] [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 * _irc_: IRC proxy: used to share connections to IRC servers with one or many
other IRC clients 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_: protocol used by remote interfaces to display and interact with
WeeChat. WeeChat, see https://weechat.org/about/interfaces/[this page ^↗^^].
For _api_ and _weechat_ protocols, see the list of remote interfaces on
https://weechat.org/about/interfaces/[this page ^↗^^].
[[relay_password]] [[relay_password]]
=== 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}" /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]] [[relay_totp]]
=== TOTP === TOTP
TOTP (Time-based One-Time Password) can be used as secondary authentication 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. This is optional and increases the security level.
@@ -4645,39 +4622,6 @@ commands:
/set irc.server.relay.password "${sec.data.relay_libera}" /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]] [[relay_weechat_protocol]]
=== 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 port (9000 in example) is the port defined in Relay plugin.
The URI must always end with "/weechat" (for _irc_ and _weechat_ protocols).
The URI must end with "/weechat" for _irc_ and _weechat_ protocols and "/api"
for _api_ protocol.
[[relay_unix_socket]] [[relay_unix_socket]]
=== UNIX domain sockets === UNIX domain sockets
@@ -4762,7 +4704,7 @@ Sections in file _relay.conf_:
| network | /set relay.network.* | Network options. | network | /set relay.network.* | Network options.
| irc | /set relay.irc.* | Options specific to irc protocol (irc proxy). | irc | /set relay.irc.* | Options specific to irc protocol (irc proxy).
| port | <<command_relay_relay,/relay add>> + | 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: 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:0}+` to `+${re:99}+`: `+${re:0}+` is the whole match, `+${re:1}+` to
`+${re:99}+` are groups captured `+${re:99}+` are groups captured
* `pass:[${re:+}]`: the last match (with highest number) * `+${re:+}+`: the last match (with highest number)
* `+${re:#}+`: index of last group captured
* `+${re:repl_index}+`: index of replacement being done (starts to 1)
* `+${hide:c,${re:N}}+`: match "N" with all chars replaced by "c" * `+${hide:c,${re:N}}+`: match "N" with all chars replaced by "c"
(example: `+${hide:*,${re:2}}+` is the group #2 with all chars replaced by (example: `+${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"). | server | string | Name of server (example: "libera").
| tags | string | Tags in message (rarely used). | tags | string | Tags in message (rarely used).
| message_without_tags | string | Message without tags. | message_without_tags | string | Message without tags.
| nick | string | Nick. ^(1)^ | nick | string | Nick.
| host | string | Hostname. | host | string | Hostname.
| command | string | IRC command (example: "PRIVMSG", "NOTICE", ...). | command | string | IRC command (example: "PRIVMSG", "NOTICE", ...).
| channel | string | IRC channel. | 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). | 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 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): 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"] [width="100%",cols="2m,3",options="header"]
|=== |===
| Chemin/fichier | Description | Chemin/fichier | Description
| core/ | Fonctions du cœur : point d'entrée, structures internes. | core/ | Fonctions du cœur : point d'entrée, structures internes.
|    core-arraylist.c | Listes avec tableau (« arraylists »). |    wee-arraylist.c | Listes avec tableau (« arraylists »).
|    core-backtrace.c | Afficher une trace après un plantage. |    wee-backtrace.c | Afficher une trace après un plantage.
|    core-calc.c | Calcul du résultat d'expressions. |    wee-calc.c | Calcul du résultat d'expressions.
|    core-command.c | Commandes du cœur de WeeChat. |    wee-command.c | Commandes du cœur de WeeChat.
|    core-completion.c | Complétions par défaut. |    wee-completion.c | Complétions par défaut.
|    core-config-file.c | Gestion des fichiers de configuration. |    wee-config-file.c | Gestion des fichiers de configuration.
|    core-config.c | Options de configuration du cœur de WeeChat (fichier weechat.conf). |    wee-config.c | Options de configuration du cœur de WeeChat (fichier weechat.conf).
|    core-crypto.c | Fonctions de cryptographie. |    wee-crypto.c | Fonctions de cryptographie.
|    core-debug.c | Quelques fonctions de debug. |    wee-debug.c | Quelques fonctions de debug.
|    core-dir.c | Fonctions sur les répertoires/fichiers. |    wee-dir.c | Fonctions sur les répertoires/fichiers.
|    core-doc.c | Génération de fichiers pour la documentation. |    wee-doc.c | Génération de fichiers pour la documentation.
|    core-eval.c | Évaluation d'expressions avec des références à des variables internes. |    wee-eval.c | Évaluation d'expressions avec des références à des variables internes.
|    core-hashtable.c | Tables de hachage. |    wee-hashtable.c | Tables de hachage.
|    core-hdata.c | Hdata (accès direct aux données en utilisant des tables de hachage). |    wee-hdata.c | Hdata (accès direct aux données en utilisant des tables de hachage).
|    core-hook.c | Crochets ("hooks"). |    wee-hook.c | Crochets ("hooks").
|    core-infolist.c | Infolists (listes avec les données des objets). |    wee-infolist.c | Infolists (listes avec les données des objets).
|    core-input.c | Entrée de commandes/texte. |    wee-input.c | Entrée de commandes/texte.
|    core-list.c | Listes triées. |    wee-list.c | Listes triées.
|    core-log.c | Écriture dans le fichier de log WeeChat (weechat.log). |    wee-log.c | Écriture dans le fichier de log WeeChat (weechat.log).
|    core-network.c | Fonctions réseau (connexion aux serveurs/proxies). |    wee-network.c | Fonctions réseau (connexion aux serveurs/proxies).
|    core-proxy.c | Gestion des proxies. |    wee-proxy.c | Gestion des proxies.
|    core-secure.c | Fonctions pour les données sécurisées. |    wee-secure.c | Fonctions pour les données sécurisées.
|    core-secure-buffer.c | Tampon pour les données sécurisées. |    wee-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). |    wee-secure-config.c | Options des données sécurisées (fichier sec.conf).
|    core-signal.c | Fonctions sur les signaux. |    wee-signal.c | Fonctions sur les signaux.
|    core-string.c | Fonctions sur les chaînes de caractères. |    wee-string.c | Fonctions sur les chaînes de caractères.
|    core-sys.c | Fonctions système. |    wee-sys.c | Fonctions système.
|    core-upgrade-file.c | Système de mise à jour interne. |    wee-upgrade-file.c | Système de mise à jour interne.
|    core-upgrade.c | Mise à jour du cœur de WeeChat (tampons, lignes, historique, ...). |    wee-upgrade.c | Mise à jour du cœur de WeeChat (tampons, lignes, historique, ...).
|    core-url.c | Transfert d'URL (en utilisant libcurl). |    wee-url.c | Transfert d'URL (en utilisant libcurl).
|    core-utf8.c | Fonctions UTF-8. |    wee-utf8.c | Fonctions UTF-8.
|    core-util.c | Quelques autres fonctions utilitaires. |    wee-util.c | Quelques autres fonctions utilitaires.
|    core-version.c | Fonctions pour la version de WeeChat. |    wee-version.c | Fonctions pour la version de WeeChat.
|    weechat.c | Fonctions principales : options de ligne de commande, démarrage. |    weechat.c | Fonctions principales : options de ligne de commande, démarrage.
|    hook/ | Fonctions "hook". |    hook/ | Fonctions "hook".
|       hook-command-run.c | Hook "command_run". |       wee-hook-command-run.c | Hook "command_run".
|       hook-command.c | Hook "command". |       wee-hook-command.c | Hook "command".
|       hook-completion.c | Hook "completion". |       wee-hook-completion.c | Hook "completion".
|       hook-config.c | Hook "config". |       wee-hook-config.c | Hook "config".
|       hook-connect.c | Hook "connect". |       wee-hook-connect.c | Hook "connect".
|       hook-fd.c | Hook "fd". |       wee-hook-fd.c | Hook "fd".
|       hook-focus.c | Hook "focus". |       wee-hook-focus.c | Hook "focus".
|       hook-hdata.c | Hook "hdata". |       wee-hook-hdata.c | Hook "hdata".
|       hook-hsignal.c | Hook "hsignal". |       wee-hook-hsignal.c | Hook "hsignal".
|       hook-info-hashtable.c | Hook "info". |       wee-hook-info-hashtable.c | Hook "info".
|       hook-info.c | Hook "info". |       wee-hook-info.c | Hook "info".
|       hook-infolist.c | Hook "infolist". |       wee-hook-infolist.c | Hook "infolist".
|       hook-line.c | Hook "line". |       wee-hook-line.c | Hook "line".
|       hook-modifier.c | Hook "modifier". |       wee-hook-modifier.c | Hook "modifier".
|       hook-print.c | Hook "print". |       wee-hook-print.c | Hook "print".
|       hook-process.c | Hook "process". |       wee-hook-process.c | Hook "process".
|       hook-signal.c | Hook "signal". |       wee-hook-signal.c | Hook "signal".
|       hook-timer.c | Hook "timer". |       wee-hook-timer.c | Hook "timer".
|       hook-url.c | Hook "url". |       wee-hook-url.c | Hook "url".
| gui/ | Fonctions pour les tampons, fenêtres, ... (utilisées par toutes les interfaces). | gui/ | Fonctions pour les tampons, fenêtres, ... (utilisées par toutes les interfaces).
|    gui-bar-item.c | Objets de barre. |    gui-bar-item.c | Objets de barre.
|    gui-bar-window.c | Fenêtres de barre. |    gui-bar-window.c | Fenêtres de barre.
|    gui-bar.c | Barres. |    gui-bar.c | Barres.
|    gui-buffer.c | Tampons. |    gui-buffer.c | Tampons.
|    gui-chat.c | Fonctions pour la discussion (afficher un message, ...). |    gui-chat.c | Fonctions pour la discussion (afficher un message, ...).
|    gui-color.c | Fonctions de couleur. |    gui-color.c | Fonctions de couleur.
|    gui-completion.c | Complétion sur la ligne de commande. |    gui-completion.c | Complétion sur la ligne de commande.
|    gui-cursor.c | Mode curseur (mouvement libre du curseur). |    gui-cursor.c | Mode curseur (mouvement libre du curseur).
|    gui-filter.c | Filtres. |    gui-filter.c | Filtres.
|    gui-focus.c | Fonctions concernant le focus (pour les modes curseur et souris). |    gui-focus.c | Fonctions concernant le focus (pour les modes curseur et souris).
|    gui-history.c | Commandes/texte sauvés dans les tampons. |    gui-history.c | Commandes/texte sauvés dans les tampons.
|    gui-hotlist.c | Gestion de la "hotlist" (liste des tampons avec activité). |    gui-hotlist.c | Gestion de la "hotlist" (liste des tampons avec activité).
|    gui-input.c | Fonctions d'entrée (barre "input"). |    gui-input.c | Fonctions d'entrée (barre "input").
|    gui-key.c | Fonctions pour le clavier. |    gui-key.c | Fonctions pour le clavier.
|    gui-layout.c | Dispositions ("layouts"). |    gui-layout.c | Dispositions ("layouts").
|    gui-line.c | Lignes dans les tampons. |    gui-line.c | Lignes dans les tampons.
|    gui-mouse.c | Souris. |    gui-mouse.c | Souris.
|    gui-nick.c | Fonctions pour les pseudos. |    gui-nick.c | Fonctions pour les pseudos.
|    gui-nicklist.c | Liste de pseudos dans les tampons. |    gui-nicklist.c | Liste de pseudos dans les tampons.
|    gui-window.c | Fenêtres. |    gui-window.c | Fenêtres.
|    curses/ | Interface Curses. |    curses/ | Interface Curses.
|       gui-curses-bar-window.c | Affichage dans les fenêtres de barre. |       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-chat.c | Affichage dans la zone de discussion (messages).
|       gui-curses-color.c | Fonctions pour les couleurs. |       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-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-main.c | Boucle principale de WeeChat (attente des évènements clavier/réseau).
|       gui-curses-mouse.c | Souris. |       gui-curses-mouse.c | Souris.
|       gui-curses-term.c | Fonctions pour le terminal. |       gui-curses-term.c | Fonctions pour le terminal.
|       gui-curses-window.c | Fenêtres. |       gui-curses-window.c | Fenêtres.
|       headless/ | Mode sans interface (« headless »). |       headless/ | Mode sans interface (« headless »).
|          main.c | Point d'entrée pour le mode sans interface. |          main.c | Point d'entrée pour le mode sans interface.
|          ncurses-fake.c | Fausse bibliothèque ncurses. |          ncurses-fake.c | Fausse bibliothèque ncurses.
|       normal/ | Interface Curses. |       normal/ | Interface Curses.
|          main.c | Point d'entrée pour l'interface Curses. |          main.c | Point d'entrée pour l'interface Curses.
|=== |===
[[sources_plugins]] [[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"] [width="100%",cols="2m,3",options="header"]
|=== |===
| Chemin/fichier | Description | Chemin/fichier | Description
| plugins/ | Racine des extensions. | plugins/ | Racine des extensions.
|    plugin.c | Gestion des extensions (chargement/déchargement des bibliothèques C dynamiques). |    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.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-api-info.c | Fonctions supplémentaires info/infolist pour l'API extension.
|    plugin-config.c | Options de configuration des extensions (fichier plugins.conf). |    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.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-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, ...). |    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. |    weechat-plugin.h | En-tête destiné à être distribué avec les extensions WeeChat, pour les compiler.
|    alias/ | Extension Alias. |    alias/ | Extension Alias.
|       alias.c | Fonctions principales pour les alias. |       alias.c | Fonctions principales pour les alias.
|       alias-command.c | Commandes Alias. |       alias-command.c | Commandes Alias.
|       alias-completion.c | Complétions pour Alias. |       alias-completion.c | Complétions pour Alias.
|       alias-config.c | Options de configuration des alias (fichier alias.conf). |       alias-config.c | Options de configuration des alias (fichier alias.conf).
|       alias-info.c | Info/infolists/hdata pour les alias. |       alias-info.c | Info/infolists/hdata pour les alias.
|    spell/ | Extension Spell. |    spell/ | Extension Spell.
|       spell.c | Fonctions principales pour Spell. |       spell.c | Fonctions principales pour Spell.
|       spell-bar-item.c | Objets de barre Spell. |       spell-bar-item.c | Objets de barre Spell.
|       spell-command.c | Commandes Spell. |       spell-command.c | Commandes Spell.
|       spell-completion.c | Complétions pour Spell. |       spell-completion.c | Complétions pour Spell.
|       spell-config.c | Options de configuration pour Spell (fichier spell.conf). |       spell-config.c | Options de configuration pour Spell (fichier spell.conf).
|       spell-info.c | Info/infolists/hdata pour Spell. |       spell-info.c | Info/infolists/hdata pour Spell.
|       spell-speller.c | Gestion des correcteurs orthographiques. |       spell-speller.c | Gestion des correcteurs orthographiques.
|    buflist/ | Extension Buflist. |    buflist/ | Extension Buflist.
|       buflist.c | Fonctions principales de Buflist. |       buflist.c | Fonctions principales de Buflist.
|       buflist-bar-item.c | Objets de barre Buflist. |       buflist-bar-item.c | Objets de barre Buflist.
|       buflist-command.c | Commandes pour Buflist. |       buflist-command.c | Commandes pour Buflist.
|       buflist-completion.c | Complétions pour Buflist. |       buflist-completion.c | Complétions pour Buflist.
|       buflist-config.c | Options de configuration pour Buflist (fichier buflist.conf). |       buflist-config.c | Options de configuration pour Buflist (fichier buflist.conf).
|       buflist-info.c | Info/infolists/hdata pour Buflist. |       buflist-info.c | Info/infolists/hdata pour Buflist.
|       buflist-mouse.c | Actions souris pour Buflist. |       buflist-mouse.c | Actions souris pour Buflist.
|    charset/ | Extension Charset. |    charset/ | Extension Charset.
|       charset.c | Fonctions pour Charset. |       charset.c | Fonctions pour Charset.
|    exec/ | Extension Exec. |    exec/ | Extension Exec.
|       exec.c | Fonctions principales de Exec. |       exec.c | Fonctions principales de Exec.
|       exec-buffer.c | Tampon Exec. |       exec-buffer.c | Tampon Exec.
|       exec-command.c | Commandes pour Exec. |       exec-command.c | Commandes pour Exec.
|       exec-completion.c | Complétions pour Exec. |       exec-completion.c | Complétions pour Exec.
|       exec-config.c | Options de configuration pour Exec (fichier exec.conf). |       exec-config.c | Options de configuration pour Exec (fichier exec.conf).
|    fifo/ | Extension Fifo. |    fifo/ | Extension Fifo.
|       fifo.c | Fonctions principales de Fifo. |       fifo.c | Fonctions principales de Fifo.
|       fifo-command.c | Commandes pour Fifo. |       fifo-command.c | Commandes pour Fifo.
|       fifo-config.c | Options de configuration pour Fifo (fichier fifo.conf). |       fifo-config.c | Options de configuration pour Fifo (fichier fifo.conf).
|       fifo-info.c | Info/infolists/hdata pour Fifo. |       fifo-info.c | Info/infolists/hdata pour Fifo.
|    fset/ | Extension Fset. |    fset/ | Extension Fset.
|       fset.c | Fonctions principales de Fset. |       fset.c | Fonctions principales de Fset.
|       fset-bar-item.c | Objets de barre Fset. |       fset-bar-item.c | Objets de barre Fset.
|       fset-buffer.c | Tampon Fset. |       fset-buffer.c | Tampon Fset.
|       fset-command.c | Commandes pour Fset. |       fset-command.c | Commandes pour Fset.
|       fset-completion.c | Complétions pour Fset. |       fset-completion.c | Complétions pour Fset.
|       fset-config.c | Options de configuration pour Fset (fichier fset.conf). |       fset-config.c | Options de configuration pour Fset (fichier fset.conf).
|       fset-info.c | Info/infolists/hdata pour Fset. |       fset-info.c | Info/infolists/hdata pour Fset.
|       fset-mouse.c | Actions souris pour Fset. |       fset-mouse.c | Actions souris pour Fset.
|       fset-option.c | Gestion des options Fset. |       fset-option.c | Gestion des options Fset.
|    guile/ | Extension Guile (scheme). |    guile/ | Extension Guile (scheme).
|       weechat-guile.c | Fonctions principales pour Guile (chargement/déchargement des scripts, exécution de code Guile). |       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. |       weechat-guile-api.c | Fonctions de l'API script Guile.
|    irc/ | Extension IRC (Internet Relay Chat). |    irc/ | Extension IRC (Internet Relay Chat).
|       irc.c | Fonctions principales IRC. |       irc.c | Fonctions principales IRC.
|       irc-bar-item.c | Objets de barre IRC. |       irc-bar-item.c | Objets de barre IRC.
|       irc-batch.c | Évènements batch IRC. |       irc-batch.c | Évènements batch IRC.
|       irc-buffer.c | Tampons IRC. |       irc-buffer.c | Tampons IRC.
|       irc-channel.c | Canaux IRC. |       irc-channel.c | Canaux IRC.
|       irc-color.c | Couleurs IRC. |       irc-color.c | Couleurs IRC.
|       irc-command.c | Commandes IRC. |       irc-command.c | Commandes IRC.
|       irc-completion.c | Complétions IRC. |       irc-completion.c | Complétions IRC.
|       irc-config.c | Options de configuration IRC (fichier irc.conf). |       irc-config.c | Options de configuration IRC (fichier irc.conf).
|       irc-ctcp.c | CTCP IRC. |       irc-ctcp.c | CTCP IRC.
|       irc-debug.c | Fonctions de debug IRC. |       irc-debug.c | Fonctions de debug IRC.
|       irc-ignore.c | Ignore IRC. |       irc-ignore.c | Ignore IRC.
|       irc-info.c | Info/infolists/hdata pour IRC. |       irc-info.c | Info/infolists/hdata pour IRC.
|       irc-input.c | Entrée de commandes/texte. |       irc-input.c | Entrée de commandes/texte.
|       irc-join.c | Fonctions pour les listes de canaux à rejoindre. |       irc-join.c | Fonctions pour les listes de canaux à rejoindre.
|       irc-list.c | Tampon pour la réponse à la commande /list. |       irc-list.c | Tampon pour la réponse à la commande /list.
|       irc-message.c | Fonctions pour manipuler les messages IRC. |       irc-message.c | Fonctions pour manipuler les messages IRC.
|       irc-mode.c | Fonctions pour les modes de canal/pseudo. |       irc-mode.c | Fonctions pour les modes de canal/pseudo.
|       irc-modelist.c | Listes de modes de canaux IRC (+b, +e, +I, ...). |       irc-modelist.c | Listes de modes de canaux IRC (+b, +e, +I, ...).
|       irc-msgbuffer.c | Tampon cible pour les messages IRC. |       irc-msgbuffer.c | Tampon cible pour les messages IRC.
|       irc-nick.c | Pseudos IRC. |       irc-nick.c | Pseudos IRC.
|       irc-notify.c | Listes de notification IRC. |       irc-notify.c | Listes de notification IRC.
|       irc-protocol.c | Protocole IRC (RFCs 1459/2810/2811/2812/2813/7194). |       irc-protocol.c | Protocole IRC (RFCs 1459/2810/2811/2812/2813/7194).
|       irc-raw.c | Tampon des données brutes IRC. |       irc-raw.c | Tampon des données brutes IRC.
|       irc-redirect.c | Redirection de la sortie des commandes IRC. |       irc-redirect.c | Redirection de la sortie des commandes IRC.
|       irc-sasl.c | Authentification SASL avec le serveur IRC. |       irc-sasl.c | Authentification SASL avec le serveur IRC.
|       irc-server.c | Communication avec le serveur IRC. |       irc-server.c | Communication avec le serveur IRC.
|       irc-tag.c | Fonctions pour manipuler les étiquettes de message IRC. |       irc-tag.c | Fonctions pour manipuler les étiquettes de message IRC.
|       irc-typing.c | Statut d'écriture. |       irc-typing.c | Statut d'écriture.
|       irc-upgrade.c | Sauvegarde/restauration des données IRC lors de la mise à jour de WeeChat. |       irc-upgrade.c | Sauvegarde/restauration des données IRC lors de la mise à jour de WeeChat.
|    javascript/ | Extension JavaScript. |    javascript/ | Extension JavaScript.
|       weechat-js.cpp | Fonctions principales pour JavaScript (chargement/déchargement des scripts, exécution de code 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-api.cpp | Fonctions de l'API script JavaScript.
|       weechat-js-v8.cpp | Fonctions JavaScript v8. |       weechat-js-v8.cpp | Fonctions JavaScript v8.
|    logger/ | Extension Logger. |    logger/ | Extension Logger.
|       logger.c | Fonctions principales pour Logger. |       logger.c | Fonctions principales pour Logger.
|       logger-backlog.c | Fonctions de backlog pour Logger. |       logger-backlog.c | Fonctions de backlog pour Logger.
|       logger-buffer.c | Gestion des listes de tampons pour Logger. |       logger-buffer.c | Gestion des listes de tampons pour Logger.
|       logger-command.c | Commandes de Logger. |       logger-command.c | Commandes de Logger.
|       logger-config.c | Options de configuration pour Logger (fichier logger.conf). |       logger-config.c | Options de configuration pour Logger (fichier logger.conf).
|       logger-info.c | Info/infolists/hdata pour Logger. |       logger-info.c | Info/infolists/hdata pour Logger.
|       logger-tail.c | Fonctions pour obtenir les dernières lignes d'un fichier. |       logger-tail.c | Fonctions pour obtenir les dernières lignes d'un fichier.
|    lua/ | Extension Lua. |    lua/ | Extension Lua.
|       weechat-lua.c | Fonctions principales pour Lua (chargement/déchargement des scripts, exécution de code 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. |       weechat-lua-api.c | Fonctions de l'API script Lua.
|    perl/ | Extension Perl. |    perl/ | Extension Perl.
|       weechat-perl.c | Fonctions principales pour Perl (chargement/déchargement des scripts, exécution de code 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. |       weechat-perl-api.c | Fonctions de l'API script Perl.
|    php/ | Extension PHP. |    php/ | Extension PHP.
|       weechat-php.c | Fonctions principales pour PHP (chargement/déchargement des scripts, exécution de code 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. |       weechat-php-api.c | Fonctions de l'API script PHP.
|    python/ | Extension Python. |    python/ | Extension Python.
|       weechat-python.c | Fonctions principales pour Python (chargement/déchargement des scripts, exécution de code 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. |       weechat-python-api.c | Fonctions de l'API script Python.
|    relay/ | Extension Relay (proxy IRC et relai pour des interfaces distantes). |    relay/ | Extension Relay (proxy IRC et relai pour des interfaces distantes).
|       relay.c | Fonctions principales de Relay. |       relay.c | Fonctions principales de Relay.
|       relay-auth.c | Authentification des clients. |       relay-auth.c | Authentification des clients.
|       relay-buffer.c | Tampon Relay. |       relay-buffer.c | Tampon Relay.
|       relay-client.c | Clients du relai. |       relay-client.c | Clients du relai.
|       relay-command.c | Commandes de Relay. |       relay-command.c | Commandes de Relay.
|       relay-completion.c | Complétions de Relay. |       relay-completion.c | Complétions de Relay.
|       relay-config.c | Options de configuration pour Relay (fichier relay.conf). |       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-info.c | Info/infolists/hdata pour Relay. |       relay-network.c | Fonctions de réseau pour Relay.
|       relay-network.c | Fonctions de réseau pour Relay. |       relay-raw.c | Tampon des données brutes de Relay.
|       relay-raw.c | Tampon des données brutes de Relay. |       relay-server.c | Serveur Relay.
|       relay-remote.c | Relai distant. |       relay-upgrade.c | Sauvegarde/restauration des données Relay lors de la mise à jour de WeeChat.
|       relay-server.c | Serveur Relay. |       relay-websocket.c | Fonctions pour le serveur WebSocket (RFC 6455).
|       relay-upgrade.c | Sauvegarde/restauration des données Relay lors de la mise à jour de WeeChat. |       irc/ | Proxy IRC.
|       relay-websocket.c | Fonctions pour le serveur WebSocket (RFC 6455). |          relay-irc.c | Fonctions principales pour le proxy IRC.
|       api/ | Relai pour les interfaces distantes (en utilisant une API REST HTTP). |       weechat/ | Relai pour les interfaces distantes.
|          relay-api.c | Fonctions principales pour l'API REST HTTP. |          relay-weechat.c | Relai pour les interfaces distantes (fonctions principales).
|          relay-api-msg.c | Envoi de messages JSON aux clients. |          relay-weechat-msg.c | Envoi de messages binaires aux clients.
|          relay-api-protocol.c | Protocole HTTP REST API. |          relay-weechat-nicklist.c | Fonctions pour la liste de pseudos.
|          remote/ | Relai distant. |          relay-weechat-protocol.c | Lecture des commandes des clients.
|             relay-remote-event.c | Traitement des évènements reçus du relai distant. |    ruby/ | Extension Ruby.
|             relay-remote-network.c | Fonctions réseau pour le relai distant. |       weechat-ruby.c | Fonctions principales pour Ruby (chargement/déchargement des scripts, exécution de code Ruby).
|       irc/ | Proxy IRC. |       weechat-ruby-api.c | Fonctions de l'API script Ruby.
|          relay-irc.c | Fonctions principales pour le proxy IRC. |    script/ | Gestionnaire de scripts.
|       weechat/ | Relai pour les interfaces distantes (en utilisant le protocole binaire "weechat"). |       script.c | Fonctions principales du gestionnaire de scripts.
|          relay-weechat.c | Relai pour les interfaces distantes (fonctions principales). |       script-action.c | Actions sur les scripts (chargement/déchargement, installation/suppression, ...).
|          relay-weechat-msg.c | Envoi de messages binaires aux clients. |       script-buffer.c | Tampon pour le gestionnaire de scripts.
|          relay-weechat-nicklist.c | Fonctions pour la liste de pseudos. |       script-command.c | Commandes pour le gestionnaire de scripts.
|          relay-weechat-protocol.c | Lecture des commandes des clients. |       script-completion.c | Complétions pour le gestionnaire de scripts.
|    ruby/ | Extension Ruby. |       script-config.c | Options de configuration pour le gestionnaire de scripts (fichier script.conf).
|       weechat-ruby.c | Fonctions principales pour Ruby (chargement/déchargement des scripts, exécution de code Ruby). |       script-info.c | Info/infolists/hdata pour le gestionnaire de scripts.
|       weechat-ruby-api.c | Fonctions de l'API script Ruby. |       script-mouse.c | Actions souris pour le gestionnaire de scripts.
|    script/ | Gestionnaire de scripts. |       script-repo.c | Téléchargement et lecture du dépôt de scripts.
|       script.c | Fonctions principales du gestionnaire de scripts. |    tcl/ | Extension Tcl.
|       script-action.c | Actions sur les scripts (chargement/déchargement, installation/suppression, ...). |       weechat-tcl.c | Fonctions principales pour Tcl (chargement/déchargement des scripts, exécution de code Tcl).
|       script-buffer.c | Tampon pour le gestionnaire de scripts. |       weechat-tcl-api.c | Fonctions de l'API script Tcl.
|       script-command.c | Commandes pour le gestionnaire de scripts. |    trigger/ | Extension Trigger.
|       script-completion.c | Complétions pour le gestionnaire de scripts. |       trigger.c | Fonctions principales de Trigger.
|       script-config.c | Options de configuration pour le gestionnaire de scripts (fichier script.conf). |       trigger-buffer.c | Tampon Trigger.
|       script-info.c | Info/infolists/hdata pour le gestionnaire de scripts. |       trigger-callback.c | Fonctions de rappel de Trigger.
|       script-mouse.c | Actions souris pour le gestionnaire de scripts. |       trigger-command.c | Commandes pour Trigger.
|       script-repo.c | Téléchargement et lecture du dépôt de scripts. |       trigger-completion.c | Complétions pour Trigger.
|    tcl/ | Extension Tcl. |       trigger-config.c | Options de configuration pour Trigger (fichier trigger.conf).
|       weechat-tcl.c | Fonctions principales pour Tcl (chargement/déchargement des scripts, exécution de code Tcl). |    typing/ | Extension Typing.
|       weechat-tcl-api.c | Fonctions de l'API script Tcl. |       typing.c | Fonctions principales de Typing.
|    trigger/ | Extension Trigger. |       typing-bar-item.c | Objets de barre Typing.
|       trigger.c | Fonctions principales de Trigger. |       typing-config.c | Options de configuration pour Typing (fichier typing.conf).
|       trigger-buffer.c | Tampon Trigger. |       typing-status.c | Statut d'écriture de messages sur les tampons.
|       trigger-callback.c | Fonctions de rappel de Trigger. |    xfer/ | Extension Xfer (IRC DCC fichier/discussion).
|       trigger-command.c | Commandes pour Trigger. |       xfer.c | Fonctions principales de Xfer.
|       trigger-completion.c | Complétions pour Trigger. |       xfer-buffer.c | Tampon Xfer.
|       trigger-config.c | Options de configuration pour Trigger (fichier trigger.conf). |       xfer-chat.c | Discussion DCC.
|    typing/ | Extension Typing. |       xfer-command.c | Commandes pour Xfer.
|       typing.c | Fonctions principales de Typing. |       xfer-completion.c | Complétions pour Xfer.
|       typing-bar-item.c | Objets de barre Typing. |       xfer-config.c | Options de configuration pour Xfer (fichier xfer.conf).
|       typing-config.c | Options de configuration pour Typing (fichier typing.conf). |       xfer-dcc.c | Transfert de fichier par DCC.
|       typing-status.c | Statut d'écriture de messages sur les tampons. |       xfer-file.c | Fonctions pour les fichiers dans Xfer.
|    xfer/ | Extension Xfer (IRC DCC fichier/discussion). |       xfer-info.c | Info/infolists/hdata pour Xfer.
|       xfer.c | Fonctions principales de Xfer. |       xfer-network.c | Fonctions réseau pour Xfer.
|       xfer-buffer.c | Tampon Xfer. |       xfer-upgrade.c | Sauvegarde/restauration des données Xfer lors de la mise à jour de WeeChat.
|       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]] [[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"] [width="100%",cols="2m,3",options="header"]
|=== |===
| Chemin/fichier | Description | Chemin/fichier | Description
| tests/ | Racine des tests. | tests/ | Racine des tests.
|    tests.cpp | Programme utilisé pour lancer tous les tests. |    tests.cpp | Programme utilisé pour lancer tous les tests.
|    tests-record.cpp | Enregistrement et recherche dans les messages affichés. |    tests-record.cpp | Enregistrement et recherche dans les messages affichés.
|    scripts/ | Racine des tests de l'API script. |    scripts/ | Racine des tests de l'API script.
|       test-scripts.cpp | Programme utilisé pour lancer les 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. |       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. |          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. |          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. |          unparse.py | Conversion de code Python vers d'autres langages, utilisé par le script testapigen.py.
|    unit/ | Racine des tests unitaires. |    unit/ | Racine des tests unitaires.
|       test-plugins.cpp | Tests : extensions. |       test-plugins.cpp | Tests : extensions.
|       test-plugin-api-info.cpp | Tests : fonctions info de l'API extension. |       test-plugin-api-info.cpp | Tests : fonctions info de l'API extension.
|       test-plugin-config.cpp | Tests : fonctions config de l'extension. |       test-plugin-config.cpp | Tests : fonctions config de l'extension.
|       core/ | Racine des tests unitaires pour le cœur. |       core/ | Racine des tests unitaires pour le cœur.
|          test-core-arraylist.cpp | Tests : listes avec tableau (« arraylists »). |          test-core-arraylist.cpp | Tests : listes avec tableau (« arraylists »).
|          test-core-calc.cpp | Tests : calcul d'expressions. |          test-core-calc.cpp | Tests : calcul d'expressions.
|          test-core-command.cpp | Tests : commandes. |          test-core-command.cpp | Tests : commandes.
|          test-core-config-file.cpp | Tests : fichiers de configuration. |          test-core-config-file.cpp | Tests : fichiers de configuration.
|          test-core-crypto.cpp | Tests : fonctions cryptographiques. |          test-core-crypto.cpp | Tests : fonctions cryptographiques.
|          test-core-dir.cpp | Tests : répertoires/fichiers. |          test-core-dir.cpp | Tests : répertoires/fichiers.
|          test-core-eval.cpp | Tests : évaluation d'expressions. |          test-core-eval.cpp | Tests : évaluation d'expressions.
|          test-core-hashtble.cpp | Tests : tables de hachage. |          test-core-hashtble.cpp | Tests : tables de hachage.
|          test-core-hdata.cpp | Tests : hdata. |          test-core-hdata.cpp | Tests : hdata.
|          test-core-hook.cpp | Tests : hooks. |          test-core-hook.cpp | Tests : hooks.
|          test-core-infolist.cpp | Tests : infolists. |          test-core-infolist.cpp | Tests : infolists.
|          test-core-list.cpp | Tests : listes. |          test-core-list.cpp | Tests : listes.
|          test-core-network.cpp | Tests : fonctions réseau. |          test-core-network.cpp | Tests : fonctions réseau.
|          test-core-secure.cpp | Tests : données sécurisées. |          test-core-secure.cpp | Tests : données sécurisées.
|          test-core-signal.cpp | Tests : signaux. |          test-core-signal.cpp | Tests : signaux.
|          test-core-string.cpp | Tests : chaînes. |          test-core-string.cpp | Tests : chaînes.
|          test-core-url.cpp | Tests : URLs. |          test-core-url.cpp | Tests : URLs.
|          test-core-utf8.cpp | Tests : UTF-8. |          test-core-utf8.cpp | Tests : UTF-8.
|          test-core-util.cpp | Tests : fonctions utiles. |          test-core-util.cpp | Tests : fonctions utiles.
|          test-core-sys.cpp | Tests : fonctions système. |          test-core-sys.cpp | Tests : fonctions système.
|          hook/ | Racine des tests pour les hooks. |          hook/ | Racine des tests pour les hooks.
|             test-hook-command.cpp | Tests : hooks "command". |             test-hook-command.cpp | Tests : hooks "command".
|             test-hook-command-run.cpp | Tests: hooks "command_run". |       gui/ | Racine des tests unitaires pour les interfaces.
|             test-hook-completion.cpp | Tests: hooks "completion". |          test-gui-bar-window.cpp | Tests : fonctions de fenêtres de barre.
|             test-hook-config.cpp | Tests: hooks "config". |          test-gui-buffer.cpp | Tests : fonctions de tampons.
|             test-hook-connect.cpp | Tests: hooks "connect". |          test-gui-chat.cpp | Tests : fonctions de discussion.
|             test-hook-fd.cpp | Tests: hooks "fd". |          test-gui-color.cpp | Tests : couleurs.
|             test-hook-focus.cpp | Tests: hooks "focus". |          test-gui-filter.cpp | Tests : filtres.
|             test-hook-hdata.cpp | Tests: hooks "hdata". |          test-gui-input.cpp | Tests : fonctions d'entrée.
|             test-hook-hsignal.cpp | Tests: hooks "hsignal". |          test-gui-key.cpp | Tests : touches.
|             test-hook-info-hashtable.cpp | Tests: hooks "info_hashtable". |          test-gui-line.cpp | Tests : lignes.
|             test-hook-info.cpp | Tests: hooks "info". |          test-gui-nick.cpp | Tests : pseudos.
|             test-hook-infolist.cpp | Tests: hooks "infolist". |       plugins/ | Racine des tests unitaires pour les extensions.
|             test-hook-line.cpp | Tests: hooks "line". |          irc/ | Racine des tests unitaires pour l'extension IRC.
|             test-hook-modifier.cpp | Tests : hooks "modifier". |             test-irc-batch.cpp | Tests : évènements batch IRC.
|             test-hook-print.cpp | Tests: hooks "print". |             test-irc-buffer.cpp | Tests : tampons IRC.
|             test-hook-process.cpp | Tests: hooks "process". |             test-irc-channel.cpp | Tests : canaux IRC.
|             test-hook-signal.cpp | Tests: hooks "signal". |             test-irc-color.cpp | Tests : couleurs IRC.
|             test-hook-timer.cpp | Tests: hooks "timer". |             test-irc-config.cpp | Tests : configuration IRC.
|             test-hook-url.cpp | Tests: hooks "url". |             test-irc-ctcp.cpp | Tests : CTCP IRC.
|       gui/ | Racine des tests unitaires pour les interfaces. |             test-irc-ignore.cpp | Tests : ignores IRC.
|          test-gui-bar-window.cpp | Tests : fonctions de fenêtres de barre. |             test-irc-info.cpp | Tests : infos IRC.
|          test-gui-buffer.cpp | Tests : fonctions de tampons. |             test-irc-join.cpp | Tests : fonctions de join IRC.
|          test-gui-chat.cpp | Tests : fonctions de discussion. |             test-irc-list.cpp | Tests : tampon IRC pour la réponse à la commande /list.
|          test-gui-color.cpp | Tests : couleurs. |             test-irc-message.cpp | Tests : messages IRC.
|          test-gui-filter.cpp | Tests : filtres. |             test-irc-mode.cpp | Tests : modes IRC.
|          test-gui-hotlist.cpp | Tests : fonctions hotlist. |             test-irc-nick.cpp | Tests : pseudos IRC.
|          test-gui-input.cpp | Tests : fonctions d'entrée. |             test-irc-protocol.cpp | Tests : protocole IRC.
|          test-gui-key.cpp | Tests : touches. |             test-irc-sasl.cpp | Tests : authentification SASL avec le protocole IRC.
|          test-gui-line.cpp | Tests : lignes. |             test-irc-server.cpp | Tests : serveur IRC.
|          test-gui-nick.cpp | Tests : pseudos. |             test-irc-tag.cpp | Tests : étiquettes des messages IRC.
|          test-gui-nicklist.cpp | Tests : fonctions de liste de pseudos. |          logger/ | Racine des tests unitaires pour l'extension logger.
|          curses/ | Racine des tests unitaires pour l'interface Curses. |             test-logger.cpp | Tests : logger.
|             test-gui-curses-mouse.cpp | Tests : souris (interface Curses). |             test-logger-backlog.cpp | Tests : backlog logger.
|       plugins/ | Racine des tests unitaires pour les extensions. |             test-logger-tail.cpp | Tests : fonctions "tail".
|          irc/ | Racine des tests unitaires pour l'extension IRC. |          trigger/ | Racine des tests unitaires pour l'extension trigger.
|             test-irc-batch.cpp | Tests : évènements batch IRC. |             test-trigger.cpp | Tests : triggers.
|             test-irc-buffer.cpp | Tests : tampons IRC. |             test-trigger-config.cpp | Tests : configuration trigger.
|             test-irc-channel.cpp | Tests : canaux IRC. |          typing/ | Racine des tests unitaires pour l'extension typing.
|             test-irc-color.cpp | Tests : couleurs IRC. |             test-typing.cpp | Tests : typing.
|             test-irc-command.cpp | Tests : commandes IRC. |             test-typing-status.cpp | Tests : statut d'écriture.
|             test-irc-config.cpp | Tests : configuration IRC. |          relay/ | Racine des tests unitaires pour l'extension Relay.
|             test-irc-ctcp.cpp | Tests : CTCP IRC. |             test-relay-auth.cpp | Tests : authentification des clients.
|             test-irc-ignore.cpp | Tests : ignores IRC. |             irc/ | Racine des tests unitaires pour le protocole relay "irc".
|             test-irc-info.cpp | Tests : infos IRC. |                test-relay-irc.cpp | Tests : Protocole relay "irc".
|             test-irc-join.cpp | Tests : fonctions de join IRC. |          xfer/ | Racine des tests unitaires pour l'extension Xfer.
|             test-irc-list.cpp | Tests : tampon IRC pour la réponse à la commande /list. |             test-xfer-file.cpp | Tests : fonctions sur les fichiers.
|             test-irc-message.cpp | Tests : messages IRC. |             test-xfer-network.cpp | Tests : fonctions réseau.
|             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.
|=== |===
[[documentation_translations]] [[documentation_translations]]
@@ -598,7 +559,8 @@ Exemple en C :
Quelques règles basiques que vous *devez* suivre quand vous écrivez du code 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 * Essayez de ne pas dépasser 80 caractères par ligne, sauf si cela est
nécessaire pour améliorer la lisibilité. nécessaire pour améliorer la lisibilité.
* Utilisez les commentaires `+/* comment */+` (pas de style C99 comme * Utilisez les commentaires `+/* comment */+` (pas de style C99 comme
@@ -820,7 +782,7 @@ Exemples :
[width="100%",cols="2m,3",options="header"] [width="100%",cols="2m,3",options="header"]
|=== |===
| Répertoire | Fichiers | 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/ | 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/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, ... | 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 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]] [[naming_convention_structures]]
==== Structures ==== Structures
+78 -457
View File
@@ -547,56 +547,6 @@ num_files = 2
str = weechat.ngettext("file", "files", num_files) 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 ==== strndup
Retourner la chaîne dupliquée, avec un nombre maximum d'octets. 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 ==== string_remove_color
_Mis à jour dans la 4.3.0._
Supprimer les couleurs WeeChat dans une chaîne. Supprimer les couleurs WeeChat dans une chaîne.
Prototype : Prototype :
[source,c] [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 : Paramètres :
* _string_ : chaîne * _string_ : chaîne
* _replacement_ : si non NULL et non vide, les couleurs WeeChat sont remplacées * _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 par le premier caractère de cette chaîne, sinon les codes couleurs WeeChat et
(rattachés à la couleur) sont supprimés de la chaîne les caractères suivants (rattachés à la couleur) sont supprimés de la chaîne
Valeur de retour : Valeur de retour :
@@ -2432,7 +2381,7 @@ char *str = weechat_string_remove_color (ma_chaine1, NULL);
free (str); free (str);
/* remplace les codes couleur par "?" */ /* remplace les codes couleur par "?" */
char *str = weechat_string_remove_color (ma_chaine2, "[color]"); char *str = weechat_string_remove_color (ma_chaine2, "?");
/* ... */ /* ... */
free (str); free (str);
---- ----
@@ -2445,12 +2394,12 @@ Script (Python) :
def string_remove_color(string: str, replacement: str) -> str: ... def string_remove_color(string: str, replacement: str) -> str: ...
# exemple # exemple
str = weechat.string_remove_color(ma_chaine, "[color]") str = weechat.string_remove_color(ma_chaine, "?")
---- ----
==== string_base_encode ==== 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. Encoder une chaîne en base 16, 32 ou 64.
@@ -2458,12 +2407,12 @@ Prototype :
[source,c] [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 : Paramètres :
* _base_ : "16", "32", "64" ou "64url" * _base_ : 16, 32 ou 64
* _from_ : chaîne à encoder * _from_ : chaîne à encoder
* _length_ : longueur de chaîne à encoder (par exemple `strlen(from)`) * _length_ : longueur de chaîne à encoder (par exemple `strlen(from)`)
* _to_ : pointeur vers la chaîne pour stocker le résultat (doit être * _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]; char *string = "abcdefgh", result[128];
int length; 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 == 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 == 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=" */ /* length == 12, result == "YWJjZGVmZ2g=" */
---- ----
@@ -2493,7 +2442,7 @@ Cette fonction n'est pas disponible dans l'API script.
==== string_base_decode ==== 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. Décoder une chaîne encodée en base 16, 32 ou 64.
@@ -2501,12 +2450,12 @@ Prototype :
[source,c] [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 : Paramètres :
* _base_ : "16", "32", "64" ou "64url" * _base_ : 16, 32 ou 64
* _from_ : chaîne à décoder * _from_ : chaîne à décoder
* _to_ : pointeur vers la chaîne pour stocker le résultat (doit être * _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) suffisamment long, le résultat est plus court que la chaîne initiale)
@@ -2522,11 +2471,11 @@ Exemple en C :
---- ----
char result[128]; char result[128];
int length; int length;
length = weechat_string_base_decode ("16", "6162636465666768", result); length = weechat_string_base_decode (16, "6162636465666768", result);
/* length == 8, result == "abcdefgh" */ /* 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 == 8, result == "abcdefgh" */
length = weechat_string_base_decode ("64", "YWJjZGVmZ2g=", result); length = weechat_string_base_decode (64, "YWJjZGVmZ2g=", result);
/* length == 8, result == "abcdefgh" */ /* length == 8, result == "abcdefgh" */
---- ----
@@ -2664,7 +2613,7 @@ str3 = weechat.string_input_for_buffer("//test") # "/test"
==== string_eval_expression ==== 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, _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. É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 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 | `+${weechat_xxx_dir}+` | 3.2
| Un répertoire WeeChat : `+${weechat_config_dir}+`, `+${weechat_data_dir}+`, | 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}+` + | >> `+${weechat_config_dir}+` +
== `+/home/user/.config/weechat+` + == `+/home/user/.config/weechat+` +
+ +
>> `+${weechat_data_dir}+` + >> `+${weechat_data_dir}+` +
== `+/home/user/.local/share/weechat+` + == `+/home/user/.local/share/weechat+` +
+ +
>> `+${weechat_state_dir}+` +
== `+/home/user/.local/state/weechat+` +
+
>> `+${weechat_cache_dir}+` + >> `+${weechat_cache_dir}+` +
== `+/home/user/.cache/weechat+` + == `+/home/user/.cache/weechat+` +
+ +
@@ -3254,7 +3200,7 @@ première étendue à la dernière) :
>> `+${re:2}+` + >> `+${re:2}+` +
== `+test2+` + == `+test2+` +
+ +
>> `pass:[${re:+}]` + >> `+${re:+}+` +
== `+test2+` + == `+test2+` +
+ +
>> `+${re:#}+` + >> `+${re:#}+` +
@@ -3317,16 +3263,13 @@ première étendue à la dernière) :
| `+${date}+` + | `+${date}+` +
`+${date:xxx}+` | 1.3 `+${date:xxx}+` | 1.3
| La date/heure courante, avec un format personnalisé (voir la fonction | La date/heure courante, avec un format personnalisé (voir `man strftime`),
<<_util_strftimeval,util_strftimeval>>), le format par défaut est `%F %T`. le format par défaut est `%F %T`.
| >> `+${date}+` + | >> `+${date}+` +
== `+2015-06-30 19:02:45+` + == `+2015-06-30 19:02:45+` +
+ +
>> `+${date:%H:%M:%S}+` + >> `+${date:%H:%M:%S}+` +
== `+19:02:45+` + == `+19:02:45+`
+
>> `+${date:%!.%.3}+` +
== `+1435683765.482+`
| `+${env:NOM}+` | 1.2 | `+${env:NOM}+` | 1.2
| Valeur de la variable d'environnement `NOM`. | 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) : chaînes pour forcer un répertoire spécifique de WeeChat (WeeChat ≥ 3.2) :
** `${weechat_config_dir}` ** `${weechat_config_dir}`
** `${weechat_data_dir}` (par défaut) ** `${weechat_data_dir}` (par défaut)
** `${weechat_state_dir}`
** `${weechat_cache_dir}` ** `${weechat_cache_dir}`
** `${weechat_runtime_dir}` ** `${weechat_runtime_dir}`
* _mode_ : mode pour le répertoire * _mode_ : mode pour le répertoire
@@ -4835,11 +4777,11 @@ Cette fonction n'est pas disponible dans l'API script.
==== util_strftimeval ==== 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, 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 en utilisant un `struct timeval` en entrée et en supportant des caractères de
conversion supplémentaires. conversion pour les microsecondes.
Prototype : Prototype :
@@ -4850,14 +4792,13 @@ int weechat_util_strftimeval (char *string, int max, const char *format, struct
Paramètres : 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 * _max_ : taille de la chaîne
* _format_ : format, le même que celui de la fonction _strftime_, avec des * _format_ : format, le même que celui de la fonction _strftime_, avec des
caractères de conversion supplémentaires : caractères de conversion supplémentaires :
** `%.N` où `N` est entre 1 and 6: microsecondes remplies avec des zéros sur ** `%.N` où `N` est entre 1 and 6: microsecondes remplies avec des zéros sur
N chiffres (par exemple `%.3` pour les millisecondes) N chiffres (par exemple `%.3` pour les millisecondes)
** `%f` : alias de `%.6` ** `%f` : alias de `%.6`
** `%!` : horodatage sous forme d'entier, en secondes (valeur de tv->tv_sec)
Valeur de retour : Valeur de retour :
@@ -5401,7 +5342,7 @@ Exemple en C :
[source,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] [NOTE]
@@ -6433,7 +6374,7 @@ _WeeChat ≥ 2.2._
Ajouter les éléments d'une infolist dans une table de hachage. Ajouter les éléments d'une infolist dans une table de hachage.
Prototype : Prototype:
[source,c] [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 ==== config_integer
Retourner la valeur entière de l'option. 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) 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 ==== config_string
Retourner la valeur de l'option, sous forme de chaîne. 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) 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 ==== config_color
Retourner la valeur de l'option, sous forme de couleur. Retourner la valeur de l'option, sous forme de couleur.
@@ -8547,7 +8359,7 @@ def config_color(option: str) -> str: ...
# exemple # exemple
option = weechat.config_get("plugin.section.option") option = weechat.config_get("plugin.section.option")
color = weechat.config_color(option) value = weechat.config_color(option)
---- ----
==== config_color_default ==== config_color_default
@@ -8590,50 +8402,7 @@ def config_color_default(option: str) -> str: ...
# exemple # exemple
option = weechat.config_get("plugin.section.option") option = weechat.config_get("plugin.section.option")
color = weechat.config_color_default(option) value = 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)
---- ----
==== config_enum ==== config_enum
@@ -8721,54 +8490,11 @@ Script (Python) :
# prototype # prototype
def config_enum_default(option: str) -> int: ... def config_enum_default(option: str) -> int: ...
# exemple # example
option = weechat.config_get("plugin.section.option") option = weechat.config_get("plugin.section.option")
value = weechat.config_enum_default(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 ==== config_write_option
Écrire une ligne dans le fichier de configuration avec l'option et sa valeur É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. | Pointeur : tampon.
| Titre du tampon changé. | 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 | | weechat | [[hook_signal_buffer_type_changed]] buffer_type_changed |
| Pointeur : tampon. | Pointeur : tampon.
| Type de tampon changé. | Type de tampon changé.
@@ -12477,10 +12199,6 @@ Liste des signaux envoyés par WeeChat et les extensions :
| Pointeur : tampon. | Pointeur : tampon.
| Recherche de texte dans le 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 | | weechat | [[hook_signal_input_text_changed]] input_text_changed |
| Pointeur : tampon. | Pointeur : tampon.
| Texte modifié dans la barre "input". | Texte modifié dans la barre "input".
@@ -13636,12 +13354,6 @@ utilisés :
| Chaîne avec la valeur de l'étiquette IRC sans échappements, | Chaîne avec la valeur de l'étiquette IRC sans échappements,
voir https://ircv3.net/specs/extensions/message-tags#escaping-values[cette page ^↗^^]. 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 | [[hook_modifier_color_decode_ansi]] color_decode_ansi | 1.0
| "1" pour garder les couleurs, "0" pour les supprimer | "1" pour garder les couleurs, "0" pour les supprimer
| Toute chaîne. | Toute chaîne.
@@ -14669,9 +14381,9 @@ weechat.prnt(weechat.current_buffer(), "Texte sur le tampon courant")
==== buffer_search ==== 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 : Prototype :
@@ -14683,11 +14395,10 @@ struct t_gui_buffer *weechat_buffer_search (const char *plugin,
Paramètres : 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 : ** `+==+` : le nom utilisé est le nom complet du tampon (par exemple :
`irc.libera.#weechat` au lieu de `libera.#weechat`) `irc.libera.#weechat` au lieu de `libera.#weechat`)
_(WeeChat ≥ 1.0)_ _(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 * _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 est retourné (tampon affiché par la fenêtre courante); si le nom commence par
`(?i)`, la recherche est insensible à la casse _(WeeChat ≥ 1.0)_ `(?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 *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 *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) : Script (Python) :
@@ -14952,7 +14662,6 @@ Paramètres :
** _nicklist_nicks_count_ : nombre de pseudos dans la liste de pseudos ** _nicklist_nicks_count_ : nombre de pseudos dans la liste de pseudos
** _nicklist_nicks_visible_count_ : nombre de pseudos affichés ** _nicklist_nicks_visible_count_ : nombre de pseudos affichés
** _input_ : 1 si la zone de saisie est activée, sinon 0 ** _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_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_get_empty_ : 1 si une entrée vide est envoyée à la fonction de rappel "input", sinon 0
** _input_multiline_ : 1 si plusieurs lignes sont envoyées comme un seul message à la fonction de rappel "input", sinon 0 ** _input_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 * _buffer_ : pointeur vers le tampon
* _property_ : nom de la propriété : * _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) ** _plugin_ : nom de l'extension qui a créé ce tampon ("core" pour le tampon principal WeeChat)
** _name_ : nom du tampon ** _name_ : nom du tampon
** _full_name_ : nom complet du tampon ("extension.nom") _(WeeChat ≥ 0.3.7)_ ** _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_) ** _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)_ ** _type_ : type de tampon : "formatted" (formaté) ou "free" (contenu libre) _(WeeChat ≥ 4.2.0)_
** _title_ : titre du tampon ** _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 ** _input_ : texte saisi
** _text_search_input_ : texte saisi sauvegardé avant la recherche de texte ** _text_search_input_ : texte saisi sauvegardé avant la recherche de texte
** _highlight_words_ : liste des mots pour le highlight ** _highlight_words_ : liste des mots pour le highlight
@@ -15209,9 +14914,6 @@ Propriétés :
| title | | toute chaîne | title | | toute chaîne
| Change le titre du tampon. | Change le titre du tampon.
| modes | 4.3.0 | toue chaîne
| Change les modes du tampon.
| time_for_each_line | | "0" ou "1" | time_for_each_line | | "0" ou "1"
| "0" pour cacher l'heure sur toutes les lignes du tampon, "1" pour afficher | "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). l'heure sur toutes les lignes (par défaut pour un nouveau tampon).
@@ -15278,19 +14980,12 @@ Propriétés :
| key_unbind_xxx | | - | key_unbind_xxx | | -
| Supprime la touche _xxx_ pour ce tampon. | 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 | input | | toute chaîne
| Change le contenu de la zone de saisie. | Change le contenu de la zone de saisie.
| input_pos | | position | input_pos | | position
| Change la position du curseur dans la zone de saisie. | 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" | input_get_unknown_commands | | "0" ou "1"
| "0" pour désactiver les commandes inconnues sur ce tampon (comportement par | "0" pour désactiver les commandes inconnues sur ce tampon (comportement par
défaut), "1" pour recevoir les commandes inconnues, par exemple si 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 ==== nicklist_search_group
_Mis à jour dans la 4.3.0._ Rechercher un groupe dans la liste des pseudos.
Rechercher un groupe dans la liste des pseudos par nom ou identifiant unique (`id`).
Prototype : Prototype :
@@ -15876,8 +15569,7 @@ Paramètres :
* _buffer_ : pointeur vers le tampon * _buffer_ : pointeur vers le tampon
* _from_group_ : recherche depuis ce groupe seulement, si NULL, alors recherche * _from_group_ : recherche depuis ce groupe seulement, si NULL, alors recherche
dans toute la liste des pseudos dans toute la liste des pseudos
* _name_ : nom du groupe à rechercher ; avec WeeChat ≥ 4.3.0, un identifiant * _name_ : nom du groupes à rechercher
unique peut être donné avec le format : `==id:xxx` (où `xxx` est l'identifiant)
Valeur de retour : Valeur de retour :
@@ -15887,10 +15579,8 @@ Exemple en C :
[source,c] [source,c]
---- ----
struct t_gui_nick_group *ptr_group1 = weechat_nicklist_search_group (my_buffer, struct t_gui_nick_group *ptr_group = weechat_nicklist_search_group (my_buffer,
NULL, "groupe_test"); NULL, "groupe_test");
struct t_gui_nick_group *ptr_group2 = weechat_nicklist_search_group (my_buffer,
NULL, "==id:1714382231198764");
---- ----
Script (Python) : Script (Python) :
@@ -15900,9 +15590,8 @@ Script (Python) :
# prototype # prototype
def nicklist_search_group(buffer: str, from_group: str, name: str) -> str: ... def nicklist_search_group(buffer: str, from_group: str, name: str) -> str: ...
# exemples # exemple
group1 = weechat.nicklist_search_group(my_buffer, "", "groupe_test") group = weechat.nicklist_search_group(my_buffer, "", "groupe_test")
group2 = weechat.nicklist_search_group(my_buffer, "", "==id:1714382231198764")
---- ----
==== nicklist_add_nick ==== nicklist_add_nick
@@ -15913,13 +15602,13 @@ Prototype :
[source,c] [source,c]
---- ----
struct t_gui_nick *weechat_nicklist_add_nick (struct t_gui_buffer *buffer, struct t_gui_nick_group *weechat_nicklist_add_nick (struct t_gui_buffer *buffer,
struct t_gui_nick_group *group, struct t_gui_nick_group *group,
const char *name, const char *name,
const char *color, const char *color,
const char *prefix, const char *prefix,
const char *prefix_color, const char *prefix_color,
int visible); int visible);
---- ----
Paramètres : Paramètres :
@@ -15979,9 +15668,7 @@ nick = weechat.nicklist_add_nick(my_buffer, my_group, "test_nick", color, "@", "
==== nicklist_search_nick ==== nicklist_search_nick
_Mis à jour dans la 4.3.0._ Rechercher un pseudo dans la liste des pseudos.
Rechercher un pseudo dans la liste des pseudos par nom ou identifiant unique (`id`).
Prototype : Prototype :
@@ -15997,8 +15684,7 @@ Paramètres :
* _buffer_ : pointeur vers le tampon * _buffer_ : pointeur vers le tampon
* _from_group_ : recherche depuis ce groupe seulement, si NULL, alors recherche * _from_group_ : recherche depuis ce groupe seulement, si NULL, alors recherche
dans toute la liste des pseudos dans toute la liste des pseudos
* _name_ : nom du pseudo à rechercher ; avec WeeChat ≥ 4.3.0, un identifiant * _name_ : nom du pseudo à rechercher
unique peut être donné avec le format : `==id:xxx` (où `xxx` est l'identifiant)
Valeur de retour : Valeur de retour :
@@ -16008,10 +15694,8 @@ Exemple en C :
[source,c] [source,c]
---- ----
struct t_gui_nick *ptr_nick1 = weechat_nicklist_search_nick (my_buffer, struct t_gui_nick *ptr_nick = weechat_nicklist_search_nick (my_buffer,
NULL, "test_nick"); NULL, "test_nick");
struct t_gui_nick *ptr_nick2 = weechat_nicklist_search_nick (my_buffer,
NULL, "==id:1714382252187496");
---- ----
Script (Python) : Script (Python) :
@@ -16021,9 +15705,8 @@ Script (Python) :
# prototype # prototype
def nicklist_search_nick(buffer: str, from_group: str, name: str) -> str: ... def nicklist_search_nick(buffer: str, from_group: str, name: str) -> str: ...
# exemples # exemple
nick1 = weechat.nicklist_search_nick(my_buffer, "", "test_nick") nick = weechat.nicklist_search_nick(my_buffer, "", "test_nick")
nick2 = weechat.nicklist_search_nick(my_buffer, "", "==id:1714382252187496")
---- ----
==== nicklist_remove_group ==== nicklist_remove_group
@@ -16246,7 +15929,6 @@ Paramètres :
* _buffer_ : pointeur vers le tampon * _buffer_ : pointeur vers le tampon
* _group_ : pointeur vers le groupe * _group_ : pointeur vers le groupe
* _property_ : nom de la propriété : * _property_ : nom de la propriété :
** _id_ : identifiant unique _(WeeChat ≥ 4.3.0)_
** _name_ : nom du groupe ** _name_ : nom du groupe
** _color_ : couleur du groupe dans la liste des pseudos ** _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 ==== 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. Affecter une valeur à une propriété d'un groupe.
@@ -16341,19 +16023,15 @@ Paramètres :
Propriétés : 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 | color | nom d'option de couleur WeeChat
| 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
| Voir le paramètre "color" de la fonction | Voir le paramètre "color" de la fonction
<<_nicklist_add_group,nicklist_add_group>>. <<_nicklist_add_group,nicklist_add_group>>.
| visible | | "0", "1" | visible | "0", "1"
| "0" = groupe caché, "1" = groupe visible. | "0" = groupe caché, "1" = groupe visible.
|=== |===
@@ -16454,7 +16132,6 @@ Paramètres :
* _buffer_ : pointeur vers le tampon * _buffer_ : pointeur vers le tampon
* _nick_ : pointeur vers le pseudo * _nick_ : pointeur vers le pseudo
* _property_ : nom de la propriété : * _property_ : nom de la propriété :
** _id_ : identifiant unique _(WeeChat ≥ 4.3.0)_
** _name_ : nom du pseudo ** _name_ : nom du pseudo
** _color_ : couleur du pseudo dans la liste des pseudos ** _color_ : couleur du pseudo dans la liste des pseudos
** _prefix_ : préfixe du pseudo ** _prefix_ : préfixe du pseudo
@@ -16528,7 +16205,7 @@ group = weechat.nicklist_nick_get_pointer(buffer, nick, "group")
==== nicklist_nick_set ==== 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. Affecter une valeur à une propriété d'un pseudo.
@@ -16551,26 +16228,22 @@ Paramètres :
Propriétés : 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 | color | nom d'option de couleur WeeChat
| 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
| Voir le paramètre "color" de la fonction | Voir le paramètre "color" de la fonction
<<_nicklist_add_nick,nicklist_add_nick>>. <<_nicklist_add_nick,nicklist_add_nick>>.
| prefix | | toute chaîne | prefix | toute chaîne
| Préfixe du pseudo. | 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 | Voir le paramètre "prefix_color" de la fonction
<<_nicklist_add_nick,nicklist_add_nick>>. <<_nicklist_add_nick,nicklist_add_nick>>.
| visible | | "0", "1" | visible | "0", "1"
| "0" = pseudo caché, "1" = pseudo visible. | "0" = pseudo caché, "1" = pseudo visible.
|=== |===
@@ -17088,7 +16761,7 @@ Fonctions pour exécuter des commandes WeeChat.
==== command ==== 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. 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 à * _command_ : commande à exécuter (si elle commence par "/"), ou texte à
envoyer au tampon 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)_ : Valeur de retour _(WeeChat ≥ 1.1)_ :
* _WEECHAT_RC_OK_ si ok * _WEECHAT_RC_OK_ si ok
@@ -17137,7 +16806,7 @@ rc = weechat.command(weechat.buffer_search("irc", "libera.#weechat"), "/whois Fl
==== command_options ==== 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. 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>> des virgules ; voir la fonction <<_string_match_list,string_match_list>>
pour le format pour le format
** _delay_ : délai pour exécuter la commande, en millisecondes ** _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 : Valeur de retour :
@@ -17193,7 +16860,7 @@ Script (Python) :
def command_options(buffer: str, command: str, options: Dict[str, str]) -> int: ... def command_options(buffer: str, command: str, options: Dict[str, str]) -> int: ...
# exemple : autoriser toute commande sauf /exec # 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]] [[completion]]
@@ -18374,7 +18041,8 @@ Exemple en C :
[source,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) : Script (Python) :
@@ -18418,7 +18086,8 @@ Exemple en C :
---- ----
int size; int size;
void *pointer = weechat_infolist_buffer (infolist, "mon_buffer", &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] [NOTE]
@@ -18461,7 +18130,7 @@ Script (Python) :
def infolist_time(infolist: str, var: str) -> int: ... def infolist_time(infolist: str, var: str) -> int: ...
# exemple # 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 ==== infolist_free
@@ -18581,7 +18250,7 @@ Cette fonction n'est pas disponible dans l'API script.
==== hdata_new_var ==== 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. Créer une nouvelle variable dans le hdata.
@@ -18602,7 +18271,6 @@ Paramètres :
** _WEECHAT_HDATA_CHAR_ ** _WEECHAT_HDATA_CHAR_
** _WEECHAT_HDATA_INTEGER_ ** _WEECHAT_HDATA_INTEGER_
** _WEECHAT_HDATA_LONG_ ** _WEECHAT_HDATA_LONG_
** _WEECHAT_HDATA_LONGLONG_ (_WeeChat ≥ 4.3.0_)
** _WEECHAT_HDATA_STRING_ ** _WEECHAT_HDATA_STRING_
** _WEECHAT_HDATA_SHARED_STRING_ (_WeeChat ≥ 0.4.3_) ** _WEECHAT_HDATA_SHARED_STRING_ (_WeeChat ≥ 0.4.3_)
** _WEECHAT_HDATA_POINTER_ ** _WEECHAT_HDATA_POINTER_
@@ -18887,9 +18555,6 @@ switch (type)
case WEECHAT_HDATA_LONG: case WEECHAT_HDATA_LONG:
/* ... */ /* ... */
break; break;
case WEECHAT_HDATA_LONGLONG:
/* ... */
break;
case WEECHAT_HDATA_STRING: case WEECHAT_HDATA_STRING:
/* ... */ /* ... */
break; break;
@@ -19501,7 +19166,7 @@ weechat.prnt("", "number = %d" % weechat.hdata_integer(hdata, buffer, "number"))
_WeeChat ≥ 0.3.6._ _WeeChat ≥ 0.3.6._
Retourner la valeur de la variable dans la structure en utilisant le hdata, sous Retourner la valeur de la variable dans la structure en utilisant le hdata, sous
forme d'entier "long". forme d'entier long.
Prototype : Prototype :
@@ -19537,51 +19202,7 @@ Script (Python) :
def hdata_long(hdata: str, pointer: str, name: str) -> int: ... def hdata_long(hdata: str, pointer: str, name: str) -> int: ...
# exemple # exemple
weechat.prnt("", "longvar = %d" % weechat.hdata_long(hdata, pointer, "longvar")) weechat.prnt("", "longvar = %ld" % 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"))
---- ----
==== hdata_string ==== hdata_string
@@ -19677,7 +19298,7 @@ def hdata_pointer(hdata: str, pointer: str, name: str) -> str: ...
# exemple # exemple
hdata = weechat.hdata_get("buffer") hdata = weechat.hdata_get("buffer")
buffer = weechat.buffer_search_main() 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 ==== hdata_time
-1
View File
@@ -723,7 +723,6 @@ inl:
nicklist_visible_count: 0 nicklist_visible_count: 0
title: 'WeeChat 2.9-dev (C) 2003-2020 - https://weechat.org/' title: 'WeeChat 2.9-dev (C) 2003-2020 - https://weechat.org/'
input: 1 input: 1
input_get_any_user_data: 0
input_get_unknown_commands: 0 input_get_unknown_commands: 0
input_get_empty: 0 input_get_empty: 0
input_multiline: 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 : 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]] [[script_api_constants]]
=== Constantes === Constantes
Liste des constantes de l'API script : 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]] [[common_tasks]]
== Tâches courantes == 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/rfc2812[2812 ^↗^^],
https://datatracker.ietf.org/doc/html/rfc2813[2813 ^↗^^] et https://datatracker.ietf.org/doc/html/rfc2813[2813 ^↗^^] et
https://datatracker.ietf.org/doc/html/rfc7194[7194 ^↗^^] 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) * multi plates-formes (GNU/Linux, *BSD, macOS, Windows et d'autres systèmes)
* 100% GPL, logiciel libre * 100% GPL, logiciel libre
@@ -128,8 +128,7 @@ Le tableau suivant liste les paquets *requis* pour construire WeeChat :
| zlib1g-dev | | zlib1g-dev |
| Extension Logger : compression des fichiers de log qui tournent (gzip). + | Extension Logger : compression des fichiers de log qui tournent (gzip). +
Extention Relay : compression des messages (WeeChat -> client) avec https://zlib.net/[zlib ^↗^^] Extention Relay : compression des messages (WeeChat -> client) avec https://zlib.net/[zlib ^↗^^] (protocole weechat). +
(protocoles api et weechat). +
Extension Script : lecture du fichier d'index du dépôt (gzip). 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 | | ca-certificates |
| Certificats pour les connexions TLS. | Certificats pour les connexions TLS.
| libcjson-dev |
| Extension Relay : protocole "api" (API REST HTTP).
| libzstd-dev | ≥ 0.8.1 | libzstd-dev | ≥ 0.8.1
| Extension Logger : compression des fichiers de log qui tournent (zstandard). + | Extension Logger : compression des fichiers de log qui tournent (zstandard). +
Extension Relay : compression des messages (WeeChat -> client) avec https://facebook.github.io/zstd/[Zstandard ^↗^^] Extension Relay : compression des messages (WeeChat -> client) avec https://facebook.github.io/zstd/[Zstandard ^↗^^] (protocole weechat).
(protocoles api et weechat).
| libaspell-dev / libenchant-dev | | libaspell-dev / libenchant-dev |
| Extension spell. | Extension spell.
@@ -277,9 +272,6 @@ Liste des options disponibles :
| ENABLE_CHARSET | `ON`, `OFF` | ON | ENABLE_CHARSET | `ON`, `OFF` | ON
| Compiler <<charset,l'extension Charset>>. | 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 | ENABLE_MAN | `ON`, `OFF` | OFF
| Construire la page man. | Construire la page man.
@@ -531,11 +523,11 @@ Copying output to /tmp/crash.txt.
at /some_path/src/core/weechat.c:351 at /some_path/src/core/weechat.c:351
#3 <signal handler called> #3 <signal handler called>
#4 0x000000000044cb24 in hook_process_timer_cb (arg_hook_process=0x254eb90, #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 hook_process = 0x254eb90
status = <value optimized out> status = <value optimized out>
#5 0x000000000044cc7d in hook_timer_exec () #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} tv_time = {tv_sec = 1272693881, tv_usec = 212665}
ptr_hook = 0x2811f40 ptr_hook = 0x2811f40
next_hook = 0x0 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 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 `+-+`. 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"] [width="100%",cols="1m,4",options="header"]
|=== |===
| Modificateur | Description | Modificateur | Description
| alt | Touche kbd:[Alt]
| ctrl | Touche kbd:[Ctrl] | 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 : Liste des boutons/roulette :
[width="100%",cols="1m,4",options="header"] [width="100%",cols="1m,4",options="header"]
|=== |===
| Bouton/roulette | Description | Bouton/roulette | Description
| button1 | Clic sur le bouton gauche | button1 | Clic sur le bouton gauche
| button2 | Clic sur le bouton droit | button2 | Clic sur le bouton droit
| button3 | Clic sur le bouton du milieu (souvent clic sur la roulette) | button3 | Clic sur le bouton du milieu (souvent clic sur la roulette)
| button4 ... button11 | Clic sur un bouton additionnel | button4 ... button9 | Clic sur un bouton additionnel
| wheelup | Roulette (haut) | wheelup | Roulette (haut)
| wheeldown | Roulette (bas) | wheeldown | Roulette (bas)
|=== |===
Liste des gestes (seulement pour les boutons, pas la roulette) : Liste des gestes (seulement pour les boutons, pas la roulette) :
@@ -2813,7 +2794,7 @@ Exemples d'évènements :
* `button1-event-drag` * `button1-event-drag`
* `alt-button2-gesture-down-long` * `alt-button2-gesture-down-long`
* `wheelup` * `wheelup`
* `alt-ctrl-wheeldown` * `ctrl-alt-wheeldown`
* ... * ...
[TIP] [TIP]
@@ -4660,13 +4641,8 @@ utilisant divers protocoles :
* _irc_ : proxy IRC : utilisé pour partager la connexions aux serveurs IRC avec * _irc_ : proxy IRC : utilisé pour partager la connexions aux serveurs IRC avec
un ou plusieurs autres clients IRC 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 * _weechat_ : protocole utilisé par les interfaces distantes pour afficher et
interagir avec WeeChat. interagir avec WeeChat, voir https://weechat.org/about/interfaces/[cette page ^↗^^].
Pour les protocoles _api_ et _weechat_, voir la liste des interfaces distantes
sur https://weechat.org/about/interfaces/[cette page ^↗^^].
[[relay_password]] [[relay_password]]
=== Mot de passe === Mot de passe
@@ -4679,14 +4655,14 @@ commandes :
/set relay.network.password "${sec.data.relay}" /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]] [[relay_totp]]
=== TOTP === TOTP
TOTP (« Time-based One-Time Password » : mot de passe à usage unique basé sur le 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 temps) peut être utilisé comme second facteur d'authentification pour le protocole
protocoles _api_ et _weechat_, en plus du mot de passe. _weechat_, en plus du mot de passe.
Il est optionnel et augmente le niveau de sécurité. 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}" /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]] [[relay_weechat_protocol]]
=== Protocole WeeChat === 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. Le port (9000 dans l'exemple) est le port défini dans l'extension Relay.
L'URI doit toujours se terminer par "/weechat" (pour les protocoles _irc_ et
L'URI doit se terminer par "/weechat" pour les protocoles _irc_ et _weechat_ et _weechat_).
"/api" pour le protocole _api_.
[[relay_unix_socket]] [[relay_unix_socket]]
=== UNIX domain sockets === UNIX domain sockets
@@ -4906,7 +4848,7 @@ Sections dans le fichier _relay.conf_ :
| network | /set relay.network.* | Options réseau. | network | /set relay.network.* | Options réseau.
| irc | /set relay.irc.* | Options spécifiques au protocole irc (proxy irc). | irc | /set relay.irc.* | Options spécifiques au protocole irc (proxy irc).
| port | <<command_relay_relay,/relay add>> + | 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 : 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:0}+` à `+${re:99}+` : `+${re:0}+` est la correspondance complète, `+${re:1}+`
à `+${re:99}+` sont les groupes capturés à `+${re:99}+` sont les groupes capturés
* `pass:[${re:+}]` : la dernière correspondance (avec le numéro le plus élevé) * `+${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)
* `+${hide:c,${re:N}}+` : la correspondance "N" avec tous les caractères * `+${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 remplacés par "c" (exemple : `+${hide:*,${re:2}}+` est le groupe n°2 avec tous
les caractères remplacés par `+*+`). 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"). | server | chaîne | Nom du serveur (exemple : "libera").
| tags | chaîne | Étiquettes dans le message (rarement utilisées). | tags | chaîne | Étiquettes dans le message (rarement utilisées).
| message_without_tags | chaîne | Message sans les étiquettes. | 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. | host | chaîne | Nom d'hôte.
| command | chaîne | Commande IRC (exemple : "PRIVMSG", "NOTICE", ...). | command | chaîne | Commande IRC (exemple : "PRIVMSG", "NOTICE", ...).
| channel | chaîne | Canal IRC. | 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é). | 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 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 utilisée comme ceci pour lire une propriété hdata (dans cet exemple il s'agit
d'un pointeur sur un tampon) : 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: 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]] [[script_api_constants]]
=== Costanti === Costanti
Elenco di costanti nelle API per gli script: 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]] [[common_tasks]]
== Compiti comuni == 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/rfc2813[2813 ^↗^^] e
https://datatracker.ietf.org/doc/html/rfc7194[7194 ^↗^^] https://datatracker.ietf.org/doc/html/rfc7194[7194 ^↗^^]
// TRANSLATION MISSING // 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) * multi-piattaforma (GNU/Linux, *BSD, macOS, Windows ed altre)
* 100% GPL, software libero * 100% GPL, software libero
@@ -157,8 +157,7 @@ WeeChat:
// TRANSLATION MISSING // TRANSLATION MISSING
| zlib1g-dev | | zlib1g-dev |
| Logger plugin: compression of rotated log files (gzip). + | Logger plugin: compression of rotated log files (gzip). +
Relay plugin: compression of messages (WeeChat -> client) with https://zlib.net/[zlib ^↗^^] Relay plugin: compression of messages (WeeChat -> client) with https://zlib.net/[zlib ^↗^^] (weechat protocol). +
(api and weechat protocols). +
Script plugin: read of repository index file (gzip). Script plugin: read of repository index file (gzip).
|=== |===
@@ -189,15 +188,10 @@ WeeChat:
| ca-certificates | | ca-certificates |
| Certificati per le connessioni TLS. | Certificati per le connessioni TLS.
// TRANSLATION MISSING
| libcjson-dev |
| Relay plugin: protocol "api" (HTTP REST API).
// TRANSLATION MISSING // TRANSLATION MISSING
| libzstd-dev | ≥ 0.8.1 | libzstd-dev | ≥ 0.8.1
| Logger plugin: compression of rotated log files (zstandard). + | Logger plugin: compression of rotated log files (zstandard). +
Relay plugin: compression of messages (WeeChat -> client) with https://facebook.github.io/zstd/[Zstandard ^↗^^] Relay plugin: compression of messages (WeeChat -> client) with https://facebook.github.io/zstd/[Zstandard ^↗^^] (weechat protocol).
(api and weechat protocols).
| libaspell-dev / libenchant-dev | | libaspell-dev / libenchant-dev |
| Plugin spell. | Plugin spell.
@@ -326,10 +320,6 @@ List of available options:
| ENABLE_CHARSET | `ON`, `OFF` | ON | ENABLE_CHARSET | `ON`, `OFF` | ON
| Compile <<charset,Charset plugin>>. | 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 | ENABLE_MAN | `ON`, `OFF` | OFF
| Build man page. | Build man page.
@@ -592,11 +582,11 @@ Copying output to /tmp/crash.txt.
at /some_path/src/core/weechat.c:351 at /some_path/src/core/weechat.c:351
#3 <signal handler called> #3 <signal handler called>
#4 0x000000000044cb24 in hook_process_timer_cb (arg_hook_process=0x254eb90, #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 hook_process = 0x254eb90
status = <value optimized out> status = <value optimized out>
#5 0x000000000044cc7d in hook_timer_exec () #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} tv_time = {tv_sec = 1272693881, tv_usec = 212665}
ptr_hook = 0x2811f40 ptr_hook = 0x2811f40
next_hook = 0x0 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 Il nome dell'evento consiste di un modificatore (opzionale), il nome di un
pulsante/rotellina e un'azione (opzionale). Elementi diversi sono separati da `+-+`. pulsante/rotellina e un'azione (opzionale). Elementi diversi sono separati da `+-+`.
// TRANSLATION MISSING Elenco di modificatori
List of modifiers (by order in the event name):
[width="100%",cols="1m,4",options="header"] [width="100%",cols="1m,4",options="header"]
|=== |===
| Modificatore | Descrizione | Modificatore | Descrizione
| alt | Tasto kbd:[Alt]
| ctrl | Tasto kbd:[Ctrl] | 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: Elenco di pulsanti/rotellina:
[width="100%",cols="1m,4",options="header"] [width="100%",cols="1m,4",options="header"]
|=== |===
| Pulsante/rotellina | Descrizione | Pulsante/rotellina | Descrizione
| button1 | Click sul tasto sinistro | button1 | Click sul tasto sinistro
| button2 | Click sul tasto destro | button2 | Click sul tasto destro
| button3 | Click sul tasto centrale (spesso click sulla rotellina) | button3 | Click sul tasto centrale (spesso click sulla rotellina)
| button4 ... button11 | Click sui pulsanti extra | button4 ... button9 | Click sui pulsanti extra
| wheelup | Rotellina (su) | wheelup | Rotellina (su)
| wheeldown | Rotellina (giù) | wheeldown | Rotellina (giù)
|=== |===
Elenco di azioni (solo per i pulsanti, non la rotellina): Elenco di azioni (solo per i pulsanti, non la rotellina):
@@ -3027,7 +3004,7 @@ Esempio di eventi:
* `button1-event-drag` * `button1-event-drag`
* `alt-button2-gesture-down-long` * `alt-button2-gesture-down-long`
* `wheelup` * `wheelup`
* `alt-ctrl-wheeldown` * `ctrl-alt-wheeldown`
* ... * ...
[TIP] [TIP]
@@ -4905,15 +4882,8 @@ protocolli differenti:
* _irc_: proxy IRC: usato per condividere le connessioni ai server IRC con uno * _irc_: proxy IRC: usato per condividere le connessioni ai server IRC con uno
o più client IRC o più client IRC
// TRANSLATION MISSING // 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_: protocol used by remote interfaces to display and interact with
WeeChat. WeeChat, see https://weechat.org/about/interfaces/[this page ^↗^^].
// TRANSLATION MISSING
For _api_ and _weechat_ protocols, see the list of remote interfaces on
https://weechat.org/about/interfaces/[this page ^↗^^].
// TRANSLATION MISSING // TRANSLATION MISSING
[[relay_password]] [[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}" /set relay.network.password "${sec.data.relay}"
---- ----
// TRANSLATION MISSING This password is used for _irc_ and _weechat_ protocols.
This password is used with all protocols.
// TRANSLATION MISSING // TRANSLATION MISSING
[[relay_totp]] [[relay_totp]]
=== TOTP === TOTP
// TRANSLATION MISSING
TOTP (Time-based One-Time Password) can be used as secondary authentication 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. This is optional and increases the security level.
@@ -5030,40 +4998,6 @@ commands:
/set irc.server.relay.password "${sec.data.relay_libera}" /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]] [[relay_weechat_protocol]]
=== Protocollo WeeChat === 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 port (9000 in example) is the port defined in Relay plugin.
The URI must always end with "/weechat" (for _irc_ and _weechat_ protocols).
The URI must end with "/weechat" for _irc_ and _weechat_ protocols and "/api"
for _api_ protocol.
// TRANSLATION MISSING // TRANSLATION MISSING
[[relay_unix_socket]] [[relay_unix_socket]]
@@ -5155,7 +5087,7 @@ Sections in file _relay.conf_:
| network | /set relay.network.* | Network options. | network | /set relay.network.* | Network options.
| irc | /set relay.irc.* | Options specific to irc protocol (irc proxy). | irc | /set relay.irc.* | Options specific to irc protocol (irc proxy).
| port | <<command_relay_relay,/relay add>> + | 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 // 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:0}+` to `+${re:99}+`: `+${re:0}+` is the whole match, `+${re:1}+` to
`+${re:99}+` are groups captured `+${re:99}+` are groups captured
* `pass:[${re:+}]`: the last match (with highest number) * `+${re:+}+`: the last match (with highest number)
* `+${re:#}+`: index of last group captured
* `+${re:repl_index}+`: index of replacement being done (starts to 1)
* `+${hide:c,${re:N}}+`: match "N" with all chars replaced by "c" * `+${hide:c,${re:N}}+`: match "N" with all chars replaced by "c"
(example: `+${hide:*,${re:2}}+` is the group #2 with all chars replaced by (example: `+${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"). | server | string | Name of server (example: "libera").
| tags | string | Tags in message (rarely used). | tags | string | Tags in message (rarely used).
| message_without_tags | string | Message without tags. | message_without_tags | string | Message without tags.
| nick | string | Nick. ^(1)^ | nick | string | Nick.
| host | string | Hostname. | host | string | Hostname.
| command | string | IRC command (example: "PRIVMSG", "NOTICE", ...). | command | string | IRC command (example: "PRIVMSG", "NOTICE", ...).
| channel | string | IRC channel. | 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). | 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 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): 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"] [width="100%",cols="2m,3",options="header"]
|=== |===
| パス/ファイル名 | 説明 | パス/ファイル名 | 説明
| core/ | コア関数: エントリポイント、内部構造体 | core/ | コア関数: エントリポイント、内部構造体
|    core-arraylist.c | 配列リスト |    wee-arraylist.c | 配列リスト
|    core-backtrace.c | クラッシュした際にバックトレースを表示 |    wee-backtrace.c | クラッシュした際にバックトレースを表示
// TRANSLATION MISSING // TRANSLATION MISSING
|    core-calc.c | Calculate result of expressions. |    wee-calc.c | Calculate result of expressions.
|    core-command.c | WeeChat コアコマンド |    wee-command.c | WeeChat コアコマンド
|    core-completion.c | デフォルト補完 |    wee-completion.c | デフォルト補完
|    core-config-file.c | 設定ファイル管理 |    wee-config-file.c | 設定ファイル管理
|    core-config.c | WeeChat コアの設定オプション (weechat.conf ファイル) |    wee-config.c | WeeChat コアの設定オプション (weechat.conf ファイル)
// TRANSLATION MISSING // TRANSLATION MISSING
|    core-crypto.c | Cryptographic functions. |    wee-crypto.c | Cryptographic functions.
|    core-debug.c | デバッグ用関数 |    wee-debug.c | デバッグ用関数
// TRANSLATION MISSING // TRANSLATION MISSING
|    core-dir.c | Directory/file functions. |    wee-dir.c | Directory/file functions.
// TRANSLATION MISSING // TRANSLATION MISSING
|    core-doc.c | Build of files for documentation. |    wee-doc.c | Build of files for documentation.
|    core-eval.c | 内部変数へのリファレンスを含む式を評価 |    wee-eval.c | 内部変数へのリファレンスを含む式を評価
|    core-hashtable.c | ハッシュテーブル |    wee-hashtable.c | ハッシュテーブル
|    core-hdata.c | hdata (ハッシュテーブルを用いて直接データを読む) |    wee-hdata.c | hdata (ハッシュテーブルを用いて直接データを読む)
|    core-hook.c | フック |    wee-hook.c | フック
|    core-infolist.c | インフォリスト (オブジェクトに関するデータを含むリスト) |    wee-infolist.c | インフォリスト (オブジェクトに関するデータを含むリスト)
|    core-input.c | コマンドおよびテキストの入力 |    wee-input.c | コマンドおよびテキストの入力
|    core-list.c | ソート済みリスト |    wee-list.c | ソート済みリスト
|    core-log.c | WeeChat ログファイル (weechat.log) に書き込む |    wee-log.c | WeeChat ログファイル (weechat.log) に書き込む
|    core-network.c | ネットワーク関数 (サーバやプロキシへの接続) |    wee-network.c | ネットワーク関数 (サーバやプロキシへの接続)
|    core-proxy.c | プロキシ管理 |    wee-proxy.c | プロキシ管理
|    core-secure.c | データ保護用の関数 |    wee-secure.c | データ保護用の関数
|    core-secure-buffer.c | データ保護用のバッファ |    wee-secure-buffer.c | データ保護用のバッファ
|    core-secure-config.c | 安全なデータオプション (sec.conf ファイル) |    wee-secure-config.c | 安全なデータオプション (sec.conf ファイル)
// TRANSLATION MISSING // TRANSLATION MISSING
|    core-signal.c | Signal functions. |    wee-signal.c | Signal functions.
|    core-string.c | 文字列関数 |    wee-string.c | 文字列関数
// TRANSLATION MISSING // TRANSLATION MISSING
|    core-sys.c | System functions. |    wee-sys.c | System functions.
|    core-upgrade-file.c | 内部アップグレードシステム |    wee-upgrade-file.c | 内部アップグレードシステム
|    core-upgrade.c | WeeChat コアのアップグレード (バッファ、行、履歴、...) |    wee-upgrade.c | WeeChat コアのアップグレード (バッファ、行、履歴、...)
|    core-url.c | URL 転送 (libcurl を使う) |    wee-url.c | URL 転送 (libcurl を使う)
|    core-utf8.c | UTF-8 関数 |    wee-utf8.c | UTF-8 関数
|    core-util.c | その他の関数 |    wee-util.c | その他の関数
|    core-version.c | WeeChat バージョンについての関数 |    wee-version.c | WeeChat バージョンについての関数
|    weechat.c | 主要関数: コマンドラインオプション、起動 |    weechat.c | 主要関数: コマンドラインオプション、起動
|    hook/ | フック関数 |    hook/ | フック関数
|       hook-command-run.c | "command_run" フック |       wee-hook-command-run.c | "command_run" フック
|       hook-command.c | "command" フック |       wee-hook-command.c | "command" フック
|       hook-completion.c | "completion" フック |       wee-hook-completion.c | "completion" フック
|       hook-config.c | "config" フック |       wee-hook-config.c | "config" フック
|       hook-connect.c | "connect" フック |       wee-hook-connect.c | "connect" フック
|       hook-fd.c | "fd" フック |       wee-hook-fd.c | "fd" フック
|       hook-focus.c | "focus" フック |       wee-hook-focus.c | "focus" フック
|       hook-hdata.c | "hdata" フック |       wee-hook-hdata.c | "hdata" フック
|       hook-hsignal.c | "hsignal" フック |       wee-hook-hsignal.c | "hsignal" フック
|       hook-info-hashtable.c | "info_hashtable" フック |       wee-hook-info-hashtable.c | "info_hashtable" フック
|       hook-info.c | "info" フック |       wee-hook-info.c | "info" フック
|       hook-infolist.c | "infolist" フック |       wee-hook-infolist.c | "infolist" フック
|       hook-line.c | "line" フック |       wee-hook-line.c | "line" フック
|       hook-modifier.c | "modifier" フック |       wee-hook-modifier.c | "modifier" フック
|       hook-print.c | "print" フック |       wee-hook-print.c | "print" フック
|       hook-process.c | "process" フック |       wee-hook-process.c | "process" フック
|       hook-signal.c | "signal" フック |       wee-hook-signal.c | "signal" フック
|       hook-timer.c | "timer" フック |       wee-hook-timer.c | "timer" フック
|       hook-url.c | "url" フック |       wee-hook-url.c | "url" フック
| gui/ | バッファ、ウィンドウなどの関数 (全てのインターフェースで利用) | gui/ | バッファ、ウィンドウなどの関数 (全てのインターフェースで利用)
|    gui-bar-item.c | バー要素 |    gui-bar-item.c | バー要素
|    gui-bar-window.c | バーウィンドウ |    gui-bar-window.c | バーウィンドウ
|    gui-bar.c | バー |    gui-bar.c | バー
|    gui-buffer.c | バッファ |    gui-buffer.c | バッファ
|    gui-chat.c | チャット関数 (メッセージの表示、...) |    gui-chat.c | チャット関数 (メッセージの表示、...)
|    gui-color.c | 色関数 |    gui-color.c | 色関数
|    gui-completion.c | コマンドラインの補完 |    gui-completion.c | コマンドラインの補完
|    gui-cursor.c | カーソルモード (カーソルを自由に移動) |    gui-cursor.c | カーソルモード (カーソルを自由に移動)
|    gui-filter.c | フィルタ |    gui-filter.c | フィルタ
|    gui-focus.c | フォーカスについての関数 (カーソルモードとマウス用) |    gui-focus.c | フォーカスについての関数 (カーソルモードとマウス用)
|    gui-history.c | コマンドおよびバッファに保存されたテキスト |    gui-history.c | コマンドおよびバッファに保存されたテキスト
|    gui-hotlist.c | ホットリスト管理 (活発なバッファのリスト) |    gui-hotlist.c | ホットリスト管理 (活発なバッファのリスト)
|    gui-input.c | 入力関数 (入力バー) |    gui-input.c | 入力関数 (入力バー)
|    gui-key.c | キーボード関数 |    gui-key.c | キーボード関数
|    gui-layout.c | レイアウト |    gui-layout.c | レイアウト
|    gui-line.c | バッファ中の行 |    gui-line.c | バッファ中の行
|    gui-mouse.c | マウス |    gui-mouse.c | マウス
|    gui-nick.c | ニックネーム関数 |    gui-nick.c | ニックネーム関数
|    gui-nicklist.c | バッファのニックネームリスト |    gui-nicklist.c | バッファのニックネームリスト
|    gui-window.c | ウィンドウ |    gui-window.c | ウィンドウ
|    curses/ | curses インターフェース |    curses/ | curses インターフェース
|       gui-curses-bar-window.c | バーウィンドウへの表示 |       gui-curses-bar-window.c | バーウィンドウへの表示
|       gui-curses-chat.c | チャットエリアへの表示 (メッセージ) |       gui-curses-chat.c | チャットエリアへの表示 (メッセージ)
|       gui-curses-color.c | 色関数 |       gui-curses-color.c | 色関数
|       gui-curses-key.c | キーボード関数 (デフォルトキー、入力の読み取り) |       gui-curses-key.c | キーボード関数 (デフォルトキー、入力の読み取り)
|       gui-curses-main.c | WeeChat メインループ (キーボードやネットワークイベントの待ち受け) |       gui-curses-main.c | WeeChat メインループ (キーボードやネットワークイベントの待ち受け)
|       gui-curses-mouse.c | マウス |       gui-curses-mouse.c | マウス
|       gui-curses-term.c | 端末についての関数 |       gui-curses-term.c | 端末についての関数
|       gui-curses-window.c | ウィンドウ |       gui-curses-window.c | ウィンドウ
|       headless/ | ヘッドレスモード (インターフェースなし) |       headless/ | ヘッドレスモード (インターフェースなし)
|          main.c | ヘッドレスモード用のエントリポイント |          main.c | ヘッドレスモード用のエントリポイント
|          ncurses-fake.c | ダミーの ncurses ライブラリ |          ncurses-fake.c | ダミーの ncurses ライブラリ
|       normal/ | curses インターフェース |       normal/ | curses インターフェース
|          main.c | curses インターフェース用のエントリポイント |          main.c | curses インターフェース用のエントリポイント
|=== |===
[[sources_plugins]] [[sources_plugins]]
@@ -223,213 +223,193 @@ WeeChat "core" は以下のディレクトリに配置されています:
[width="100%",cols="2m,3",options="header"] [width="100%",cols="2m,3",options="header"]
|=== |===
| パス/ファイル名 | 説明 | パス/ファイル名 | 説明
| plugins/ | プラグインのルートディレクトリ | plugins/ | プラグインのルートディレクトリ
|    plugin.c | プラグイン管理 (動的 C 言語ライブラリのロード/アンロード) |    plugin.c | プラグイン管理 (動的 C 言語ライブラリのロード/アンロード)
|    plugin-api.c | プラグイン API の追加関数 (WeeChat コア関数のラッパー) |    plugin-api.c | プラグイン API の追加関数 (WeeChat コア関数のラッパー)
|    plugin-api-info.c | プラグイン API 用のインフォ/インフォリストに関する追加関数 |    plugin-api-info.c | プラグイン API 用のインフォ/インフォリストに関する追加関数
|    plugin-config.c | プラグイン設定オプション (plugins.conf ファイル) |    plugin-config.c | プラグイン設定オプション (plugins.conf ファイル)
|    plugin-script.c | スクリプトプラグインの共用関数 |    plugin-script.c | スクリプトプラグインの共用関数
|    plugin-script-api.c | スクリプト API 関数: 一部のプラグイン API 関数のラッパー |    plugin-script-api.c | スクリプト API 関数: 一部のプラグイン API 関数のラッパー
|    plugin-script-config.c | スクリプトプラグインの設定オプション (python.conf、perl.conf 等のファイル) |    plugin-script-config.c | スクリプトプラグインの設定オプション (python.conf、perl.conf 等のファイル)
|    weechat-plugin.h | WeeChat プラグインと一緒に配布されるヘッダファイル、プラグインのコンパイルに必要 |    weechat-plugin.h | WeeChat プラグインと一緒に配布されるヘッダファイル、プラグインのコンパイルに必要
|    alias/ | alias プラグイン |    alias/ | alias プラグイン
|       alias.c | alias の主要関数 |       alias.c | alias の主要関数
|       alias-command.c | alias コマンド |       alias-command.c | alias コマンド
|       alias-completion.c | alias 補完 |       alias-completion.c | alias 補完
|       alias-config.c | alias 設定オプション (alias.conf ファイル) |       alias-config.c | alias 設定オプション (alias.conf ファイル)
|       alias-info.c | alias の情報/インフォリスト/hdata |       alias-info.c | alias の情報/インフォリスト/hdata
|    spell/ | spell プラグイン |    spell/ | spell プラグイン
|       spell.c | spell の主関数 |       spell.c | spell の主関数
|       spell-bar-item.c | spell バー要素 |       spell-bar-item.c | spell バー要素
|       spell-command.c | spell コマンド |       spell-command.c | spell コマンド
|       spell-completion.c | spell 補完 |       spell-completion.c | spell 補完
|       spell-config.c | spell 設定オプション (spell.conf ファイル) |       spell-config.c | spell 設定オプション (spell.conf ファイル)
|       spell-info.c | spell の情報/インフォリスト/hdata |       spell-info.c | spell の情報/インフォリスト/hdata
|       spell-speller.c | spell のスペラー管理 |       spell-speller.c | spell のスペラー管理
|    buflist/ | buflist プラグイン |    buflist/ | buflist プラグイン
|       buflist.c | buflist の主要関数 |       buflist.c | buflist の主要関数
|       buflist-bar-item.c | buflist バー要素 |       buflist-bar-item.c | buflist バー要素
|       buflist-command.c | buflist コマンド |       buflist-command.c | buflist コマンド
// TRANSLATION MISSING // TRANSLATION MISSING
|       buflist-completion.c | Buflist completions. |       buflist-completion.c | Buflist completions.
|       buflist-config.c | buflist 設定オプション (buflist.conf ファイル) |       buflist-config.c | buflist 設定オプション (buflist.conf ファイル)
|       buflist-info.c | buflist の情報/インフォリスト/hdata |       buflist-info.c | buflist の情報/インフォリスト/hdata
|       buflist-mouse.c | buflist マウス動作 |       buflist-mouse.c | buflist マウス動作
|    charset/ | charset プラグイン |    charset/ | charset プラグイン
|       charset.c | charset 関数 |       charset.c | charset 関数
|    exec/ | exec プラグイン |    exec/ | exec プラグイン
|       exec.c | exec の主要関数 |       exec.c | exec の主要関数
|       exec-buffer.c | exec バッファ |       exec-buffer.c | exec バッファ
|       exec-command.c | exec コマンド |       exec-command.c | exec コマンド
|       exec-completion.c | exec 補完 |       exec-completion.c | exec 補完
|       exec-config.c | exec 設定オプション (exec.conf ファイル) |       exec-config.c | exec 設定オプション (exec.conf ファイル)
|    fifo/ | fifo プラグイン |    fifo/ | fifo プラグイン
|       fifo.c | fifo の主要関数 |       fifo.c | fifo の主要関数
|       fifo-command.c | fifo コマンド |       fifo-command.c | fifo コマンド
|       fifo-config.c | fifo 設定オプション (fifo.conf ファイル) |       fifo-config.c | fifo 設定オプション (fifo.conf ファイル)
|       fifo-info.c | fifo の情報/インフォリスト/hdata |       fifo-info.c | fifo の情報/インフォリスト/hdata
|    fset/ | fset プラグイン |    fset/ | fset プラグイン
|       fset.c | fset の主要関数 |       fset.c | fset の主要関数
|       fset-bar-item.c | fset バー要素 |       fset-bar-item.c | fset バー要素
|       fset-buffer.c | fset バッファ |       fset-buffer.c | fset バッファ
|       fset-command.c | fset コマンド |       fset-command.c | fset コマンド
|       fset-completion.c | fset 補完 |       fset-completion.c | fset 補完
|       fset-config.c | fset 設定オプション (fset.conf ファイル) |       fset-config.c | fset 設定オプション (fset.conf ファイル)
|       fset-info.c | fset の情報/インフォリスト/hdata |       fset-info.c | fset の情報/インフォリスト/hdata
|       fset-mouse.c | fset マウス動作 |       fset-mouse.c | fset マウス動作
|       fset-option.c | fset オプション管理 |       fset-option.c | fset オプション管理
|    guile/ | guile (scheme) プラグイン |    guile/ | guile (scheme) プラグイン
|       weechat-guile.c | guile の主要関数 (スクリプトのロード/アンロード、guile コードの実行) |       weechat-guile.c | guile の主要関数 (スクリプトのロード/アンロード、guile コードの実行)
|       weechat-guile-api.c | guile スクリプト作成 API 関数 |       weechat-guile-api.c | guile スクリプト作成 API 関数
|    irc/ | IRC (Internet Relay Chat) プラグイン |    irc/ | IRC (Internet Relay Chat) プラグイン
|       irc.c | IRC の主要関数 |       irc.c | IRC の主要関数
|       irc-bar-item.c | IRC バー要素 |       irc-bar-item.c | IRC バー要素
// TRANSLATION MISSING // TRANSLATION MISSING
|       irc-batch.c | IRC batched events. |       irc-batch.c | IRC batched events.
|       irc-buffer.c | IRC バッファ |       irc-buffer.c | IRC バッファ
|       irc-channel.c | IRC チャンネル |       irc-channel.c | IRC チャンネル
|       irc-color.c | IRC 色 |       irc-color.c | IRC 色
|       irc-command.c | IRC コマンド |       irc-command.c | IRC コマンド
|       irc-completion.c | IRC 補完 |       irc-completion.c | IRC 補完
|       irc-config.c | IRC 設定オプション (irc.conf ファイル) |       irc-config.c | IRC 設定オプション (irc.conf ファイル)
|       irc-ctcp.c | IRC CTCP |       irc-ctcp.c | IRC CTCP
|       irc-debug.c | IRC デバッグ関数 |       irc-debug.c | IRC デバッグ関数
|       irc-ignore.c | IRC 無視 |       irc-ignore.c | IRC 無視
|       irc-info.c | IRC の情報/インフォリスト/hdata |       irc-info.c | IRC の情報/インフォリスト/hdata
|       irc-input.c | コマンドおよびテキストの入力 |       irc-input.c | コマンドおよびテキストの入力
// TRANSLATION MISSING // TRANSLATION MISSING
|       irc-join.c | Functions for list of channels to join. |       irc-join.c | Functions for list of channels to join.
// TRANSLATION MISSING // TRANSLATION MISSING
|       irc-list.c | Buffer for reply to /list command. |       irc-list.c | Buffer for reply to /list command.
|       irc-message.c | IRC メッセージを操作する関数 |       irc-message.c | IRC メッセージを操作する関数
|       irc-mode.c | チャンネルおよびニックネームのモードを操作する関数 |       irc-mode.c | チャンネルおよびニックネームのモードを操作する関数
|       irc-modelist.c | IRC チャンネルモードリスト (+b、+e、+I、...). |       irc-modelist.c | IRC チャンネルモードリスト (+b、+e、+I、...).
|       irc-msgbuffer.c | IRC メッセージを送るバッファ |       irc-msgbuffer.c | IRC メッセージを送るバッファ
|       irc-nick.c | IRC ニックネーム |       irc-nick.c | IRC ニックネーム
|       irc-notify.c | IRC 通知リスト |       irc-notify.c | IRC 通知リスト
|       irc-protocol.c | IRC プロトコル (RFC 1459/2810/2811/2812/2813/7194) |       irc-protocol.c | IRC プロトコル (RFC 1459/2810/2811/2812/2813/7194)
|       irc-raw.c | IRC 生バッファ |       irc-raw.c | IRC 生バッファ
|       irc-redirect.c | IRC コマンド出力のリダイレクト |       irc-redirect.c | IRC コマンド出力のリダイレクト
|       irc-sasl.c | IRC サーバに対する SASL 認証 |       irc-sasl.c | IRC サーバに対する SASL 認証
|       irc-server.c | IRC サーバとの入出力通信 |       irc-server.c | IRC サーバとの入出力通信
// TRANSLATION MISSING // TRANSLATION MISSING
|       irc-tag.c | Functions to manipulate IRC message tags. |       irc-tag.c | Functions to manipulate IRC message tags.
// TRANSLATION MISSING // TRANSLATION MISSING
|       irc-typing.c | Typing status. |       irc-typing.c | Typing status.
|       irc-upgrade.c | WeeChat をアップグレードする際の IRC データの保存およびロード |       irc-upgrade.c | WeeChat をアップグレードする際の IRC データの保存およびロード
|    javascript/ | JavaScript プラグイン |    javascript/ | JavaScript プラグイン
|       weechat-js.cpp | JavaScript の主要関数 (スクリプトのロード/アンロード、JavaScript コードの実行) |       weechat-js.cpp | JavaScript の主要関数 (スクリプトのロード/アンロード、JavaScript コードの実行)
|       weechat-js-api.cpp | JavaScript スクリプト作成 API 関数 |       weechat-js-api.cpp | JavaScript スクリプト作成 API 関数
|       weechat-js-v8.cpp | JavaScript v8 関数 |       weechat-js-v8.cpp | JavaScript v8 関数
|    logger/ | logger プラグイン |    logger/ | logger プラグイン
|       logger.c | logger の主要関数 |       logger.c | logger の主要関数
// TRANSLATION MISSING // TRANSLATION MISSING
|       logger-backlog.c | Logger backlog functions. |       logger-backlog.c | Logger backlog functions.
|       logger-buffer.c | logger バッファリスト管理 |       logger-buffer.c | logger バッファリスト管理
|       logger-command.c | logger コマンド |       logger-command.c | logger コマンド
|       logger-config.c | logger 設定オプション (logger.conf ファイル) |       logger-config.c | logger 設定オプション (logger.conf ファイル)
|       logger-info.c | logger の情報/インフォリスト/hdata |       logger-info.c | logger の情報/インフォリスト/hdata
|       logger-tail.c | ファイル末尾の行を返す |       logger-tail.c | ファイル末尾の行を返す
|    lua/ | lua プラグイン |    lua/ | lua プラグイン
|       weechat-lua.c | lua の主要関数 (スクリプトのロード/アンロード、lua コードの実行) |       weechat-lua.c | lua の主要関数 (スクリプトのロード/アンロード、lua コードの実行)
|       weechat-lua-api.c | lua スクリプト作成 API 関数 |       weechat-lua-api.c | lua スクリプト作成 API 関数
|    perl/ | perl プラグイン |    perl/ | perl プラグイン
|       weechat-perl.c | perl の主要関数 (スクリプトのロード/アンロード、perl コードの実行) |       weechat-perl.c | perl の主要関数 (スクリプトのロード/アンロード、perl コードの実行)
|       weechat-perl-api.c | perl スクリプト作成 API 関数 |       weechat-perl-api.c | perl スクリプト作成 API 関数
|    php/ | php プラグイン |    php/ | php プラグイン
|       weechat-php.c | php の主要関数 (スクリプトのロード/アンロード、php コードの実行) |       weechat-php.c | php の主要関数 (スクリプトのロード/アンロード、php コードの実行)
|       weechat-php-api.c | php スクリプト作成 API 関数 |       weechat-php-api.c | php スクリプト作成 API 関数
|    python/ | python プラグイン |    python/ | python プラグイン
|       weechat-python.c | python の主要関数 (スクリプトのロード/アンロード、python コードの実行) |       weechat-python.c | python の主要関数 (スクリプトのロード/アンロード、python コードの実行)
|       weechat-python-api.c | python スクリプト作成 API 関数 |       weechat-python-api.c | python スクリプト作成 API 関数
|    relay/ | relay プラグイン (IRC プロキシとリモートインターフェースへの中継) |    relay/ | relay プラグイン (IRC プロキシとリモートインターフェースへの中継)
|       relay.c | relay の主要関数 |       relay.c | relay の主要関数
// TRANSLATION MISSING // TRANSLATION MISSING
|       relay-auth.c | Clients authentification. |       relay-auth.c | Clients authentification.
|       relay-buffer.c | relay バッファ |       relay-buffer.c | relay バッファ
|       relay-client.c | relay クライアント |       relay-client.c | relay クライアント
|       relay-command.c | relay コマンド |       relay-command.c | relay コマンド
|       relay-completion.c | relay 補完 |       relay-completion.c | relay 補完
|       relay-config.c | relay 設定オプション (relay.conf ファイル) |       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 // TRANSLATION MISSING
|       relay-http.c | HTTP functions. |    typing/ | Typing plugin.
|       relay-info.c | relay の情報/インフォリスト/hdata
|       relay-network.c | relay 用のネットワーク関数
|       relay-raw.c | relay 生バッファ
// TRANSLATION MISSING // TRANSLATION MISSING
|       relay-remote.c | Relay remote. |       typing.c | Main typing functions.
|       relay-server.c | relay サーバ
|       relay-upgrade.c | WeeChat をアップグレードする際にデータを保存/回復
|       relay-websocket.c | リレー用の websocket サーバ関数 (RFC 6455)
// TRANSLATION MISSING // TRANSLATION MISSING
|       api/ | Relay for remote interfaces (using HTTP REST API). |       typing-bar-item.c | Typing bar items.
// TRANSLATION MISSING // TRANSLATION MISSING
|          relay-api.c | Main API functions for HTTP REST API. |       typing-config.c | Typing config options (file typing.conf).
// TRANSLATION MISSING // TRANSLATION MISSING
|          relay-api-msg.c | Send JSON messages to clients. |       typing-status.c | Messages typing status on buffers.
// TRANSLATION MISSING |    xfer/ | xfer プラグイン (IRC DCC ファイル/チャット)
|          relay-api-protocol.c | HTTP REST API protocol. |       xfer.c | xfer の主要関数
// TRANSLATION MISSING |       xfer-buffer.c | xfer バッファ
// TRANSLATION MISSING |       xfer-chat.c | xfer DCC チャット
|          remote/ | Relay remote functions, specific to API. |       xfer-command.c | xfer コマンド
// TRANSLATION MISSING |       xfer-completion.c | xfer 補完
|             relay-remote-event.c | Process events received from relay remote. |       xfer-config.c | xfer 設定オプション (xfer.conf ファイル)
// TRANSLATION MISSING |       xfer-dcc.c | DCC ファイル転送
|             relay-remote-network.c | Network functions for relay remote. |       xfer-file.c | xfer のファイル関数
|       irc/ | IRC プロキシ |       xfer-info.c | xfer の情報/インフォリスト/hdata
|          relay-irc.c | IRC プロキシの主要関数 |       xfer-network.c | xfer のネットワーク関数
// TRANSLATION MISSING |       xfer-upgrade.c | WeeChat をアップグレードする際の xfer データの保存および回復
|       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 データの保存および回復
|=== |===
[[sources_tests]] [[sources_tests]]
@@ -437,202 +417,141 @@ WeeChat "core" は以下のディレクトリに配置されています:
[width="100%",cols="2m,3",options="header"] [width="100%",cols="2m,3",options="header"]
|=== |===
| パス/ファイル名 | 説明 | パス/ファイル名 | 説明
| tests/ | テスト用のルートディレクトリ | tests/ | テスト用のルートディレクトリ
|    tests.cpp | 全テストの実行時に使われるプログラム |    tests.cpp | 全テストの実行時に使われるプログラム
// TRANSLATION MISSING // TRANSLATION MISSING
|    tests-record.cpp | Record and search in messages displayed. |    tests-record.cpp | Record and search in messages displayed.
|    scripts/ | スクリプト API テスト用のルートディレクトリ |    scripts/ | スクリプト API テスト用のルートディレクトリ
|       test-scripts.cpp | スクリプト API テストの実行時に使われるプログラム |       test-scripts.cpp | スクリプト API テストの実行時に使われるプログラム
|       python/ | スクリプト API テストを生成、実行する Python スクリプト |       python/ | スクリプト API テストを生成、実行する Python スクリプト
|          testapigen.py | スクリプト API のテスト時にすべての言語に関するスクリプトを生成する Python スクリプト |          testapigen.py | スクリプト API のテスト時にすべての言語に関するスクリプトを生成する Python スクリプト
|          testapi.py | スクリプト API テスト時に使われる Python スクリプト (スクリプト testapigen.py から使われます) |          testapi.py | スクリプト API テスト時に使われる Python スクリプト (スクリプト testapigen.py から使われます)
|          unparse.py | Python コードを別の言語に変換 (スクリプト testapigen.py から使われます) |          unparse.py | Python コードを別の言語に変換 (スクリプト testapigen.py から使われます)
|    unit/ | 単体テスト用のルートディレクトリ |    unit/ | 単体テスト用のルートディレクトリ
|       test-plugins.cpp | テスト: プラグイン |       test-plugins.cpp | テスト: プラグイン
// TRANSLATION MISSING // TRANSLATION MISSING
|       test-plugin-api-info.cpp | Tests: plugin API info functions. |       test-plugin-api-info.cpp | Tests: plugin API info functions.
// TRANSLATION MISSING // TRANSLATION MISSING
|       test-plugin-config.cpp | Tests: plugin config functions. |       test-plugin-config.cpp | Tests: plugin config functions.
|       core/ | core 向け単体テスト用のルートディレクトリ |       core/ | core 向け単体テスト用のルートディレクトリ
|          test-core-arraylist.cpp | テスト: 配列リスト |          test-core-arraylist.cpp | テスト: 配列リスト
// TRANSLATION MISSING // TRANSLATION MISSING
|          test-core-calc.cpp | Tests: calculation of expressions. |          test-core-calc.cpp | Tests: calculation of expressions.
// TRANSLATION MISSING // TRANSLATION MISSING
|          test-core-command.cpp | Tests: commands. |          test-core-command.cpp | Tests: commands.
// TRANSLATION MISSING // TRANSLATION MISSING
|          test-core-config-file.cpp | Tests: configuration files. |          test-core-config-file.cpp | Tests: configuration files.
// TRANSLATION MISSING // TRANSLATION MISSING
|          test-core-crypto.cpp | Tests: cryptographic functions. |          test-core-crypto.cpp | Tests: cryptographic functions.
// TRANSLATION MISSING // TRANSLATION MISSING
|          test-core-dir.cpp | Tests: directory/file functions. |          test-core-dir.cpp | Tests: directory/file functions.
|          test-core-eval.cpp | テスト: 式の評価 |          test-core-eval.cpp | テスト: 式の評価
|          test-core-hashtble.cpp | テスト: ハッシュテーブル |          test-core-hashtble.cpp | テスト: ハッシュテーブル
|          test-core-hdata.cpp | テスト: hdata |          test-core-hdata.cpp | テスト: hdata
|          test-core-hook.cpp | テスト: フック |          test-core-hook.cpp | テスト: フック
|          test-core-infolist.cpp | テスト: インフォリスト |          test-core-infolist.cpp | テスト: インフォリスト
|          test-core-list.cpp | テスト: リスト |          test-core-list.cpp | テスト: リスト
// TRANSLATION MISSING // TRANSLATION MISSING
|          test-core-network.cpp | Tests: network functions. |          test-core-network.cpp | Tests: network functions.
|          test-core-secure.cpp | テスト: データ保護 |          test-core-secure.cpp | テスト: データ保護
// TRANSLATION MISSING // TRANSLATION MISSING
|          test-core-signal.cpp | テスト: signals. |          test-core-signal.cpp | テスト: signals.
|          test-core-string.cpp | テスト: 文字列 |          test-core-string.cpp | テスト: 文字列
|          test-core-url.cpp | テスト: URL |          test-core-url.cpp | テスト: URL
|          test-core-utf8.cpp | テスト: UTF-8 |          test-core-utf8.cpp | テスト: UTF-8
|          test-core-util.cpp | テスト: ユーティリティ関数 |          test-core-util.cpp | テスト: ユーティリティ関数
// TRANSLATION MISSING // TRANSLATION MISSING
|          test-core-sys.cpp | Tests: system functions. |          test-core-sys.cpp | Tests: system functions.
// TRANSLATION MISSING // TRANSLATION MISSING
|          hook/ | Root of unit tests for hooks. |          hook/ | Root of unit tests for hooks.
// TRANSLATION MISSING // TRANSLATION MISSING
|             test-hook-command.cpp | Tests: hooks "command". |             test-hook-command.cpp | Tests: hooks "command".
|       gui/ | インターフェースの単体テストを収める最上位ディレクトリ
// TRANSLATION MISSING // TRANSLATION MISSING
|             test-hook-command-run.cpp | Tests: hooks "command_run". |          test-gui-bar-window.cpp | Tests: bar window functions.
// TRANSLATION MISSING // TRANSLATION MISSING
|             test-hook-completion.cpp | Tests: hooks "completion". |          test-gui-buffer.cpp | Tests: buffer functions.
// TRANSLATION MISSING // TRANSLATION MISSING
|             test-hook-config.cpp | Tests: hooks "config". |          test-gui-chat.cpp | Tests: chat functions.
// TRANSLATION MISSING // TRANSLATION MISSING
|             test-hook-connect.cpp | Tests: hooks "connect". |          test-gui-color.cpp | Tests: colors.
// TRANSLATION MISSING // TRANSLATION MISSING
|             test-hook-fd.cpp | Tests: hooks "fd". |          test-gui-filter.cpp | Tests: filters.
// TRANSLATION MISSING // TRANSLATION MISSING
|             test-hook-focus.cpp | Tests: hooks "focus". |          test-gui-input.cpp | Tests: input functions.
// TRANSLATION MISSING // TRANSLATION MISSING
|             test-hook-hdata.cpp | Tests: hooks "hdata". |          test-gui-key.cpp | Tests: keys.
|          test-gui-line.cpp | テスト: 行
// TRANSLATION MISSING // TRANSLATION MISSING
|             test-hook-hsignal.cpp | Tests: hooks "hsignal". |          test-gui-nick.cpp | テスト: nicks
|       plugins/ | プラグインの単体テストを収める最上位ディレクトリ
|          irc/ | IRC プラグインの単体テストを収める最上位ディレクトリ
// TRANSLATION MISSING // TRANSLATION MISSING
|             test-hook-info-hashtable.cpp | Tests: hooks "info_hashtable". |             test-irc-batch.cpp | Tests: IRC batched events.
// TRANSLATION MISSING // TRANSLATION MISSING
|             test-hook-info.cpp | Tests: hooks "info". |             test-irc-buffer.cpp | Tests: IRC buffers.
// TRANSLATION MISSING // 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 // TRANSLATION MISSING
|             test-hook-line.cpp | Tests: hooks "line". |             test-irc-ctcp.cpp | Tests: IRC CTCP.
// TRANSLATION MISSING // TRANSLATION MISSING
|             test-hook-modifier.cpp | Tests: hooks "modifier". |             test-irc-ignore.cpp | Tests: IRC ignores.
// TRANSLATION MISSING // TRANSLATION MISSING
|             test-hook-print.cpp | Tests: hooks "print". |             test-irc-info.cpp | Tests: IRC info.
// TRANSLATION MISSING // TRANSLATION MISSING
|             test-hook-process.cpp | Tests: hooks "process". |             test-irc-join.cpp | Tests: IRC join functions.
// TRANSLATION MISSING // TRANSLATION MISSING
|             test-hook-signal.cpp | Tests: hooks "signal". |             test-irc-list.cpp | Tests: IRC buffer for reply to /list command.
// TRANSLATION MISSING // TRANSLATION MISSING
|             test-hook-timer.cpp | Tests: hooks "timer". |             test-irc-message.cpp | Tests: IRC messages.
// TRANSLATION MISSING // TRANSLATION MISSING
|             test-hook-url.cpp | Tests: hooks "url". |             test-irc-mode.cpp | Tests: IRC modes.
|       gui/ | インターフェースの単体テストを収める最上位ディレクトリ
// TRANSLATION MISSING // 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 // TRANSLATION MISSING
|          test-gui-buffer.cpp | Tests: buffer functions. |             test-irc-sasl.cpp | Tests: SASL authentication with IRC protocol.
// TRANSLATION MISSING // TRANSLATION MISSING
|          test-gui-chat.cpp | Tests: chat functions. |             test-irc-server.cpp | Tests: IRC server.
// TRANSLATION MISSING // TRANSLATION MISSING
|          test-gui-color.cpp | Tests: colors. |             test-irc-tag.cpp | Tests: IRC message tags.
// TRANSLATION MISSING // TRANSLATION MISSING
|          test-gui-filter.cpp | Tests: filters. |          logger/ | Root of unit tests for logger plugin.
// TRANSLATION MISSING // TRANSLATION MISSING
|          test-gui-hotlist.cpp | Tests: hotlist functions. |             test-logger.cpp | Tests: logger.
// TRANSLATION MISSING // TRANSLATION MISSING
|          test-gui-input.cpp | Tests: input functions. |             test-logger-backlog.cpp | Tests: logger backlog.
// TRANSLATION MISSING // TRANSLATION MISSING
|          test-gui-key.cpp | Tests: keys. |             test-logger-tail.cpp | Tests: logger tail functions.
|          test-gui-line.cpp | テスト: 行
// TRANSLATION MISSING // TRANSLATION MISSING
|          test-gui-nick.cpp | テスト: nicks |          trigger/ | Root of unit tests for trigger plugin.
// TRANSLATION MISSING // TRANSLATION MISSING
|          test-gui-nicklist.cpp | Tests: nicklist functions. |             test-trigger.cpp | Tests: triggers.
// TRANSLATION MISSING // TRANSLATION MISSING
|          curses/ | Root of unit tests for Curses interface. |             test-trigger-config.cpp | Tests: trigger configuration.
// TRANSLATION MISSING // TRANSLATION MISSING
|             test-gui-curses-mouse.cpp | Tests: mouse (Curses interface). |          typing/ | Root of unit tests for typing plugin.
|       plugins/ | プラグインの単体テストを収める最上位ディレクトリ
|          irc/ | IRC プラグインの単体テストを収める最上位ディレクトリ
// TRANSLATION MISSING // TRANSLATION MISSING
|             test-irc-batch.cpp | Tests: IRC batched events. |             test-typing.cpp | Tests: typing.
// TRANSLATION MISSING // TRANSLATION MISSING
|             test-irc-buffer.cpp | Tests: IRC buffers. |             test-typing-status.cpp | Tests: typing status.
// TRANSLATION MISSING // TRANSLATION MISSING
|             test-irc-channel.cpp | Tests: IRC channels. |          relay/ | Root of unit tests for Relay plugin.
|             test-irc-color.cpp | Tests: IRC colors.
// TRANSLATION MISSING // TRANSLATION MISSING
|             test-irc-command.cpp | Tests: IRC commands. |             test-relay-auth.cpp | Tests: clients authentication.
|             test-irc-config.cpp | テスト: IRC 設定
// TRANSLATION MISSING // TRANSLATION MISSING
|             test-irc-ctcp.cpp | Tests: IRC CTCP. |             irc/ | Root of unit tests for Relay "irc" protocol.
// TRANSLATION MISSING // TRANSLATION MISSING
|             test-irc-ignore.cpp | Tests: IRC ignores. |                test-relay-irc.cpp | Tests: Relay "irc" protocol.
// TRANSLATION MISSING // TRANSLATION MISSING
|             test-irc-info.cpp | Tests: IRC info. |          xfer/ | Root of unit tests for Xfer plugin.
// TRANSLATION MISSING // TRANSLATION MISSING
|             test-irc-join.cpp | Tests: IRC join functions. |             test-xfer-file.cpp | Tests: file functions.
// TRANSLATION MISSING // TRANSLATION MISSING
|             test-irc-list.cpp | Tests: IRC buffer for reply to /list command. |             test-xfer-network.cpp | Tests: network functions.
// 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.
|=== |===
[[documentation_translations]] [[documentation_translations]]
@@ -716,8 +635,7 @@ WeeChat とプラグインの翻訳は gettext で行います、ファイルは
C 言語のコードを書く際には以下の基本的なルールを *必ず* 守ってください。: C 言語のコードを書く際には以下の基本的なルールを *必ず* 守ってください。:
// TRANSLATION MISSING * インデントは空白文字を 4 個使ってください。タブ文字を使わないでください、タブ文字は良くありません。
* Use 4 spaces for indentation (no tabs).
* 読みやすくする必要がある場合を除いて、1 * 読みやすくする必要がある場合を除いて、1
行は 80 文字以内に収めてください。 行は 80 文字以内に収めてください。
* コメントは `+/* comment */+` のようにしてください (`+// comment+` のような C99 スタイルのコメントは使わないでください)。 * コメントは `+/* comment */+` のようにしてください (`+// comment+` のような C99 スタイルのコメントは使わないでください)。
@@ -930,7 +848,7 @@ irc プラグインの _irc.c_ など。
[width="100%",cols="2m,3",options="header"] [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/ | 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/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、... | 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 言語ファイルのヘッダはファイルと同じ名前です、例えばファイル C 言語ファイルのヘッダはファイルと同じ名前です、例えばファイル
_core-command.c_ のヘッダファイルは _core-command.h_ です _wee-command.c_ のヘッダファイルは _wee-command.h_ です
[[naming_convention_structures]] [[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 nicklist_visible_count: 0
title: 'WeeChat 2.9-dev (C) 2003-2020 - https://weechat.org/' title: 'WeeChat 2.9-dev (C) 2003-2020 - https://weechat.org/'
input: 1 input: 1
input_get_any_user_data: 0
input_get_unknown_commands: 0 input_get_unknown_commands: 0
input_get_empty: 0 input_get_empty: 0
input_multiline: 0 input_multiline: 0
+313 -2
View File
@@ -571,14 +571,325 @@ link:weechat_plugin_api.ja.html[WeeChat プラグイン API リファレンス 
スクリプト 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]] [[script_api_constants]]
=== 定数 === 定数
スクリプト API に含まれる定数のリスト: スクリプト 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]] [[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/rfc2812[2812 ^↗^^]、
https://datatracker.ietf.org/doc/html/rfc2813[2813 ^↗^^]、 https://datatracker.ietf.org/doc/html/rfc2813[2813 ^↗^^]、
https://datatracker.ietf.org/doc/html/rfc7194[7194 ^↗^^]。 https://datatracker.ietf.org/doc/html/rfc7194[7194 ^↗^^]。
// TRANSLATION MISSING * リモートインターフェース用の IRC プロキシとリレー
* IRC proxy and relay for WeeChat and remote interfaces
* マルチプラットフォーム (GNU/Linux、*BSD、macOS、Windows 等) * マルチプラットフォーム (GNU/Linux、*BSD、macOS、Windows 等)
* 完全な GPL、フリーソフトウェア * 完全な GPL、フリーソフトウェア
@@ -145,8 +144,7 @@ WeeChat:
// TRANSLATION MISSING // TRANSLATION MISSING
| zlib1g-dev | | zlib1g-dev |
| Logger plugin: compression of rotated log files (gzip). + | Logger plugin: compression of rotated log files (gzip). +
Relay plugin: compression of messages (WeeChat -> client) with https://zlib.net/[zlib ^↗^^] Relay plugin: compression of messages (WeeChat -> client) with https://zlib.net/[zlib ^↗^^] (weechat protocol). +
(api and weechat protocols). +
Script plugin: read of repository index file (gzip). Script plugin: read of repository index file (gzip).
|=== |===
@@ -175,15 +173,10 @@ WeeChat:
| ca-certificates | | ca-certificates |
| TLS 接続に必要な証明書、relay プラグインで TLS サポート | TLS 接続に必要な証明書、relay プラグインで TLS サポート
// TRANSLATION MISSING
| libcjson-dev |
| Relay plugin: protocol "api" (HTTP REST API).
// TRANSLATION MISSING // TRANSLATION MISSING
| libzstd-dev | ≥ 0.8.1 | libzstd-dev | ≥ 0.8.1
| Logger plugin: compression of rotated log files (zstandard). + | Logger plugin: compression of rotated log files (zstandard). +
Relay plugin: compression of messages (WeeChat -> client) with https://facebook.github.io/zstd/[Zstandard ^↗^^] Relay plugin: compression of messages (WeeChat -> client) with https://facebook.github.io/zstd/[Zstandard ^↗^^] (weechat protocol).
(api and weechat protocols).
| libaspell-dev / libenchant-dev | | libaspell-dev / libenchant-dev |
| spell プラグイン | spell プラグイン
@@ -305,10 +298,6 @@ List of available options:
| ENABLE_CHARSET | `ON`, `OFF` | ON | ENABLE_CHARSET | `ON`, `OFF` | ON
| <<charset,Charset プラグイン>>のコンパイル。 | <<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 | ENABLE_MAN | `ON`, `OFF` | OFF
| man ページのコンパイル。 | man ページのコンパイル。
@@ -568,11 +557,11 @@ Copying output to /tmp/crash.txt.
at /some_path/src/core/weechat.c:351 at /some_path/src/core/weechat.c:351
#3 <signal handler called> #3 <signal handler called>
#4 0x000000000044cb24 in hook_process_timer_cb (arg_hook_process=0x254eb90, #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 hook_process = 0x254eb90
status = <value optimized out> status = <value optimized out>
#5 0x000000000044cc7d in hook_timer_exec () #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} tv_time = {tv_sec = 1272693881, tv_usec = 212665}
ptr_hook = 0x2811f40 ptr_hook = 0x2811f40
next_hook = 0x0 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"] [width="100%",cols="1m,4",options="header"]
|=== |===
| 修飾キー | 説明 | 修飾キー | 説明
| alt | kbd:[Alt] キー
| ctrl | kbd:[Ctrl] キー | 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"] [width="100%",cols="1m,4",options="header"]
|=== |===
| ボタン/ホイール | 説明 | ボタン/ホイール | 説明
| button1 | 左ボタンクリック | button1 | 左ボタンクリック
| button2 | 右ボタンクリック | button2 | 右ボタンクリック
| button3 | 中ボタンクリック (多くの場合ホイールクリック) | button3 | 中ボタンクリック (多くの場合ホイールクリック)
| button4 ... button11 | その他のボタンクリック | button4 ... button9 | その他のボタンクリック
| wheelup | ホイール (上方向) | wheelup | ホイール (上方向)
| wheeldown | ホイール (下方向) | wheeldown | ホイール (下方向)
|=== |===
ジェスチャーのリスト (ボタンのみ対応、ホイール未対応): ジェスチャーのリスト (ボタンのみ対応、ホイール未対応):
@@ -2937,7 +2913,7 @@ Several modifiers can be combined, for example:
* `button1-event-drag` * `button1-event-drag`
* `alt-button2-gesture-down-long` * `alt-button2-gesture-down-long`
* `wheelup` * `wheelup`
* `alt-ctrl-wheeldown` * `ctrl-alt-wheeldown`
* ... * ...
[TIP] [TIP]
@@ -4755,15 +4731,8 @@ Relay プラグインはネットワークを介して異なるプロトコル
* _irc_: IRC プロキシ: IRC サーバに対する接続を、単一または複数の IRC * _irc_: IRC プロキシ: IRC サーバに対する接続を、単一または複数の IRC
クライアントで共有するために用います。 クライアントで共有するために用います。
// TRANSLATION MISSING // 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_: protocol used by remote interfaces to display and interact with
WeeChat. WeeChat, see https://weechat.org/about/interfaces/[this page ^↗^^].
// TRANSLATION MISSING
For _api_ and _weechat_ protocols, see the list of remote interfaces on
https://weechat.org/about/interfaces/[this page ^↗^^].
[[relay_password]] [[relay_password]]
=== パスワード === パスワード
@@ -4776,15 +4745,13 @@ secure set relay mypassword
/set relay.network.password "${sec.data.relay}" /set relay.network.password "${sec.data.relay}"
---- ----
// TRANSLATION MISSING このパスワードは _irc_ と _weechat_ プロトコルで利用されます。
This password is used with all protocols.
[[relay_totp]] [[relay_totp]]
=== TOTP === TOTP
// TRANSLATION MISSING _weechat_ プロトコルでは、パスワードに加えて、二要素認証の
TOTP (Time-based One-Time Password) can be used as secondary authentication TOTP (時間ベースのワンタイムパスワード) を使うことが可能です。
factor for _api_ and _weechat_ protocols, in addition to the password.
これは任意設定項目であり、セキュリティレベルを向上させます。 これは任意設定項目であり、セキュリティレベルを向上させます。
@@ -4881,40 +4848,6 @@ commands:
/set irc.server.relay.password "${sec.data.relay_libera}" /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]] [[relay_weechat_protocol]]
=== WeeChat プロトコル === WeeChat プロトコル
@@ -4954,11 +4887,8 @@ HTML5 を使えばたった 1 行の JavaScript で WebSocket をオープンす
websocket = new WebSocket("ws://server.com:9000/weechat"); websocket = new WebSocket("ws://server.com:9000/weechat");
---- ----
ポート番号 (例では 9000 番) は Relay プラグインで定義したものです。 ポート番号 (例では 9000 番) は Relay プラグインで定義したものです。URI
の最後には必ず "/weechat" をつけます (_irc_ と _weechat_ プロトコルの場合)。
// TRANSLATION MISSING
The URI must end with "/weechat" for _irc_ and _weechat_ protocols and "/api"
for _api_ protocol.
[[relay_unix_socket]] [[relay_unix_socket]]
=== UNIX ドメインソケット === UNIX ドメインソケット
@@ -5001,7 +4931,7 @@ _relay.conf_ ファイル内のセクション:
| network | /set relay.network.* | ネットワークオプション | network | /set relay.network.* | ネットワークオプション
| irc | /set relay.irc.* | 特定の irc プロトコルのオプション (irc プロキシ) | irc | /set relay.irc.* | 特定の irc プロトコルのオプション (irc プロキシ)
| port | <<command_relay_relay,/relay add>> + | 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:0}+` to `+${re:99}+`: `+${re:0}+` is the whole match, `+${re:1}+` to
`+${re:99}+` are groups captured `+${re:99}+` are groups captured
* `pass:[${re:+}]`: the last match (with highest number) * `+${re:+}+`: the last match (with highest number)
* `+${re:#}+`: index of last group captured
* `+${re:repl_index}+`: index of replacement being done (starts to 1)
* `+${hide:c,${re:N}}+`: match "N" with all chars replaced by "c" * `+${hide:c,${re:N}}+`: match "N" with all chars replaced by "c"
(example: `+${hide:*,${re:2}}+` is the group #2 with all chars replaced by (example: `+${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") | server | string | サーバの名前 (例: "libera")
| tags | string | メッセージ内のタグ (使われることはまれです) | tags | string | メッセージ内のタグ (使われることはまれです)
| message_without_tags | string | タグを含まないメッセージ | message_without_tags | string | タグを含まないメッセージ
| nick | string | ニックネーム ^(1)^ | nick | string | ニックネーム
| host | string | ホスト名 | host | string | ホスト名
| command | string | IRC コマンド (例: "PRIVMSG"、"NOTICE"、...) | command | string | IRC コマンド (例: "PRIVMSG"、"NOTICE"、...)
| channel | string | IRC チャンネル | channel | string | IRC チャンネル
@@ -5581,11 +5509,6 @@ All callbacks set following variables in hashtable:
| pos_text | string | メッセージ内における _text_ のインデックス (_text_ が見つからない場合 "-1") | 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+` データがポインタの場合、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: 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]] [[script_api_constants]]
=== Stałe === Stałe
Lista stałych w API skryptów: 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]] [[common_tasks]]
== Częste zadania == 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/rfc2812[2812 ^↗^^],
https://datatracker.ietf.org/doc/html/rfc2813[2813 ^↗^^] i https://datatracker.ietf.org/doc/html/rfc2813[2813 ^↗^^] i
https://datatracker.ietf.org/doc/html/rfc7194[7194 ^↗^^] 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) * wielo-platformowy (GNU/Linux, *BSD, macOS, Windows i inne)
* 100% GPL, darmowe oprogramowanie * 100% GPL, darmowe oprogramowanie
@@ -132,8 +132,7 @@ WeeChat:
| zlib1g-dev | | zlib1g-dev |
| Wtyczka logger: kompresja rotowanych plików z logami (gzip). + | Wtyczka logger: kompresja rotowanych plików z logami (gzip). +
Wtyczka relay: kompresja wiadomości (WeeChat -> klient) za pomocą https://zlib.net/[zlib ^↗^^] Wtyczka relay: kompresja wiadomości (WeeChat -> klient) za pomocą https://zlib.net/[zlib ^↗^^] (protokół weechat). +
(protokoły api i weechat). +
Wtyczka script: odczyt repozytorium ze skryptami (gzip). Wtyczka script: odczyt repozytorium ze skryptami (gzip).
|=== |===
@@ -159,13 +158,9 @@ WeeChat:
| ca-certificates | | ca-certificates |
| Certyfikaty dla połączeń TLS. | Certyfikaty dla połączeń TLS.
| libcjson-dev |
| Wtyczka relay: protokół "api" (HTTP REST API).
| libzstd-dev | ≥ 0.8.1 | libzstd-dev | ≥ 0.8.1
| Wtyczka logger: kompresja rotowanych plików z logami (zstandard). + | Wtyczka logger: kompresja rotowanych plików z logami (zstandard). +
Wtyczka relay: kompresja wiadomości (WeeChat -> klient) za pomocą https://facebook.github.io/zstd/[Zstandard ^↗^^] Wtyczka Relay: kompresja wiadomości (WeeChat -> klient) za pomocą https://facebook.github.io/zstd/[Zstandard ^↗^^] (protokół weechat).
(protokoły api i weechat).
| libaspell-dev / libenchant-dev | | libaspell-dev / libenchant-dev |
| Wtyczka spell. | Wtyczka spell.
@@ -282,9 +277,6 @@ Lista dostępnych opcji:
| ENABLE_CHARSET | `ON`, `OFF` | ON | ENABLE_CHARSET | `ON`, `OFF` | ON
| Kompilacja <<charset,wtyczki charset>>. | 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 | ENABLE_MAN | `ON`, `OFF` | OFF
| Generowanie strony manuala. | Generowanie strony manuala.
@@ -531,11 +523,11 @@ Copying output to /tmp/crash.txt.
at /some_path/src/core/weechat.c:351 at /some_path/src/core/weechat.c:351
#3 <signal handler called> #3 <signal handler called>
#4 0x000000000044cb24 in hook_process_timer_cb (arg_hook_process=0x254eb90, #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 hook_process = 0x254eb90
status = <value optimized out> status = <value optimized out>
#5 0x000000000044cc7d in hook_timer_exec () #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} tv_time = {tv_sec = 1272693881, tv_usec = 212665}
ptr_hook = 0x2811f40 ptr_hook = 0x2811f40
next_hook = 0x0 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 Nazwa zdarzenia zawiera modyfikator (opcjonalny), nazwę klawisza/rolki i gest
(opcjonalny). Różne elementy są rozdzielane przez `+-+`. (opcjonalny). Różne elementy są rozdzielane przez `+-+`.
Lista modyfikatorów (według nazwy): Lista modyfikatorów:
[width="100%",cols="1m,4",options="header"] [width="100%",cols="1m,4",options="header"]
|=== |===
| Modyfikator | Opis | Modyfikator | Opis
| alt | Klawisz kbd:[Alt]
| ctrl | Klawisz kbd:[Ctrl] | 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: Lista klawiszy/rolek:
[width="100%",cols="1m,4",options="header"] [width="100%",cols="1m,4",options="header"]
|=== |===
| Klawisz/rolka | Opis | Klawisz/rolka | Opis
| button1 | Lewy klawisz myszy | button1 | Lewy klawisz myszy
| button2 | Prawy klawisz myszy | button2 | Prawy klawisz myszy
| button3 | Środkowy klawisz myszy (często naciśnięcie rolki) | button3 | Środkowy klawisz myszy (często naciśnięcie rolki)
| button4 ... button11 | Dodatkowe klawisze | button4 ... button9 | Dodatkowe klawisze
| wheelup | Rolka (w górę) | wheelup | Rolka (w górę)
| wheeldown | Rolka (w dół) | wheeldown | Rolka (w dół)
|=== |===
Lista gestów (tylko dla klawiszy, nie rolki): Lista gestów (tylko dla klawiszy, nie rolki):
@@ -2763,7 +2745,7 @@ Przykłady zdarzeń:
* `button1-event-drag` * `button1-event-drag`
* `alt-button2-gesture-down-long` * `alt-button2-gesture-down-long`
* `wheelup` * `wheelup`
* `alt-ctrl-wheeldown` * `ctrl-alt-wheeldown`
* ... * ...
[TIP] [TIP]
@@ -4563,13 +4545,8 @@ protokołów:
* _irc_: pośrednik IRC: używany do dzielenia połączeń z serwerami IRC z jednym * _irc_: pośrednik IRC: używany do dzielenia połączeń z serwerami IRC z jednym
lub wieloma klientami IRC 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 * _weechat_: protokół używany przez zdalne interfejsy do wyświetlania i interakcji
z WeeChat. z WeeChat, zobacz https://weechat.org/about/interfaces/[tą stronę ^↗^^].
Listę dostępnych zdalnych interfejsów dla protokołów _api_ i _weechat_ można znaleźć na
https://weechat.org/about/interfaces/[tej stronie ^↗^^].
[[relay_password]] [[relay_password]]
=== Hasło === 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}" /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]] [[relay_totp]]
=== TOTP === TOTP
TOTP (Time-based One-Time Password) może zostać użyte jako drugi stopień uwierzytelnienia
TOTP (Time-based One-Time Password) może być użyte jako drugi składnik uwierzytelniania dla protokołu _weechat_, poza normalnym hasłem.
dla protokołów _api_ i _weechat_, poza samym hasłem.
Jest to opcjomalne ale podnosi to poziom bezpieczeństwa. Jest to opcjomalne ale podnosi to poziom bezpieczeństwa.
This is optional and increases the security level. 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}" /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]] [[relay_weechat_protocol]]
=== Protokół WeeChat === 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. Port (9000 w przykładzie) to port zdefiniowany we wtyczce relay.
Adres URL musi się zawsze kończyć "/weechat" (dla protokołów _irc_ i _weechat_).
URI musi się kończyć "/weechat" dla protokołów _irc_ i _weechat_ oraz "/api"
dla protokołu _api_.
[[relay_unix_socket]] [[relay_unix_socket]]
=== Sockety UNIXowe === Sockety UNIXowe
@@ -4802,7 +4741,7 @@ Sekcje w pliku _relay.conf_:
| network | /set relay.network.* | Opcje sieci. | network | /set relay.network.* | Opcje sieci.
| irc | /set relay.irc.* | Opcje specyficzne dla protokołu irc (pośrednik irc). | irc | /set relay.irc.* | Opcje specyficzne dla protokołu irc (pośrednik irc).
| port | <<command_relay_relay,/relay add>> + | 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: 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:0}+` do `+${re:99}+`: `+${re:0}+` to pełne dopasowanie, `+${re:1}+` do
`+${re:99}+` to złapane grupy `+${re:99}+` to złapane grupy
* `pass:[${re:+}]`: ostatnie dopasowanie (z najwyższym numerem) * `+${re:+}+`: ostatnie dopasowanie (z najwyższym numerem)
* `+${re:#}+`: index of last group captured
* `+${re:repl_index}+`: index of replacement being done (starts to 1)
* `+${hide:c,${re:N}}+`: dopasuje "N" ze wszystkimi znakami zastąpionymi przez "c" * `+${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 (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"). | server | ciąg | Nazwa serwera (przykład: "libera").
| tags | ciąg | Tagi w wiadomości (rzadko używane). | tags | ciąg | Tagi w wiadomości (rzadko używane).
| message_without_tags | ciąg | Wiadomość bez tagów. | message_without_tags | ciąg | Wiadomość bez tagów.
| nick | ciąg | Nick. ^(1)^ | nick | ciąg | Nick.
| host | ciąg | Nazwa hosta. | host | ciąg | Nazwa hosta.
| command | ciąg | Komendy IRC (na przykład: "PRIVMSG", "NOTICE", ...). | command | ciąg | Komendy IRC (na przykład: "PRIVMSG", "NOTICE", ...).
| channel | ciąg | Kanał IRC. | 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). | 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 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): odczytania pola w hdata (w tym przypadku jest to wskaźnik na bufor):
@@ -28,12 +28,12 @@ from textwrap import indent
import re 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" SRC_DIR = Path(__file__).resolve().parent.parent / "src"
STUB_HEADER = """\ 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! # DO NOT EDIT BY HAND!
# #
@@ -41,7 +41,8 @@ from typing import Dict, Union
""" """
CONSTANT_RE = ( 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\] FUNCTION_RE = r"""\[source,python\]
@@ -52,20 +53,25 @@ def (?P<function>\w+)(?P<args>[^)]*)(?P<return>\) -> [^:]+:) \.\.\.(?P<example>.
def print_stub_constants() -> None: 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) constant_pattern = re.compile(CONSTANT_RE)
with open( with open(
SRC_DIR / "plugins" / "plugin-script.c", encoding="utf-8" DOC_DIR / "weechat_scripting.en.adoc", encoding="utf-8"
) as plugin_script_file, open( ) as scripting_file, open(
SRC_DIR / "plugins" / "weechat-plugin.h", encoding="utf-8" SRC_DIR / "plugins" / "weechat-plugin.h", encoding="utf-8"
) as plugin_public_header_file: ) as plugin_header_file:
plugin_script = plugin_script_file.read() scripting = scripting_file.read()
plugin_public_header = plugin_public_header_file.read() plugin_header = plugin_header_file.read()
for match in constant_pattern.finditer(plugin_script): for match in constant_pattern.finditer(scripting):
value_re = rf'^#define {match["constant"]} +(?P<value>[\w"-]+)$' 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 "" 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: def print_stub_functions() -> None:
+350 -390
View File
@@ -115,96 +115,96 @@ WeeChat „језгро” се налази у следећим директо
[width="100%", cols="2m,3", options="header"] [width="100%", cols="2m,3", options="header"]
|=== |===
| Путања/фајл | Опис | Путања/фајл | Опис
| core/ | Функције језгра: тачка улаза, интерне структуре. | core/ | Функције језгра: тачка улаза, интерне структуре.
|    core-arraylist.c | Листе низова. |    wee-arraylist.c | Листе низова.
|    core-backtrace.c | Испис трага након краха. |    wee-backtrace.c | Испис трага након краха.
|    core-calc.c | Израчунавање резултата израза. |    wee-calc.c | Израчунавање резултата израза.
|    core-command.c | WeeChat команде језгра. |    wee-command.c | WeeChat команде језгра.
|    core-completion.c | Подразумевана довршавања. |    wee-completion.c | Подразумевана довршавања.
|    core-config-file.c | Управљање конфигурационим фајловима. |    wee-config-file.c | Управљање конфигурационим фајловима.
|    core-config.c | Конфигурационе опције за WeeChat језгро (фајл weechat.conf). |    wee-config.c | Конфигурационе опције за WeeChat језгро (фајл weechat.conf).
|    core-crypto.c | Криптографске функције. |    wee-crypto.c | Криптографске функције.
|    core-debug.c | Неке дибаг функције. |    wee-debug.c | Неке дибаг функције.
|    core-dir.c | Функције директоријума/фајла. |    wee-dir.c | Функције директоријума/фајла.
|    core-doc.c | Изградња фајлова за документацију. |    wee-doc.c | Изградња фајлова за документацију.
|    core-eval.c | Израчунавање израза са референцама на интерне променљиве. |    wee-eval.c | Израчунавање израза са референцама на интерне променљиве.
|    core-hashtable.c | Хеш табеле. |    wee-hashtable.c | Хеш табеле.
|    core-hdata.c | Hdata (директни приступ подацима употребом хеш табела). |    wee-hdata.c | Hdata (директни приступ подацима употребом хеш табела).
|    core-hook.c | Куке. |    wee-hook.c | Куке.
|    core-infolist.c | Инфолисте (листе са подацима објеката). |    wee-infolist.c | Инфолисте (листе са подацима објеката).
|    core-input.c | Унос команди/текста. |    wee-input.c | Унос команди/текста.
|    core-list.c | Сортиране листе. |    wee-list.c | Сортиране листе.
|    core-log.c | Упис у WeeChat лог фајл (weechat.log). |    wee-log.c | Упис у WeeChat лог фајл (weechat.log).
|    core-network.c | Мрежне функције (повезивање са серверима/проксијима). |    wee-network.c | Мрежне функције (повезивање са серверима/проксијима).
|    core-proxy.c | Управљање проксијима. |    wee-proxy.c | Управљање проксијима.
|    core-secure.c | Функције обезбеђених података. |    wee-secure.c | Функције обезбеђених података.
|    core-secure-buffer.c | Бафер обезбеђених података. |    wee-secure-buffer.c | Бафер обезбеђених података.
|    core-secure-config.c | Опције обезбеђених података (фајл sec.conf). |    wee-secure-config.c | Опције обезбеђених података (фајл sec.conf).
|    core-string.c | Функције над стринговима. |    wee-string.c | Функције над стринговима.
|    core-sys.c | Системске функције. |    wee-sys.c | Системске функције.
|    core-upgrade-file.c | Интерни систем ажурирања. |    wee-upgrade-file.c | Интерни систем ажурирања.
|    core-upgrade.c | Ажурирање за WeeChat језгро (бафери, линије, историја, ...). |    wee-upgrade.c | Ажурирање за WeeChat језгро (бафери, линије, историја, ...).
|    core-url.c | URL трансфер (помоћу libcurl). |    wee-url.c | URL трансфер (помоћу libcurl).
|    core-utf8.c | UTF-8 функције. |    wee-utf8.c | UTF-8 функције.
|    core-util.c | Неке друге функције. |    wee-util.c | Неке друге функције.
|    core-version.c | Функције за WeeChat верзију. |    wee-version.c | Функције за WeeChat верзију.
|    weechat.c | Основне функције: опције командне линије, покретање. |    weechat.c | Основне функције: опције командне линије, покретање.
|    hook/ | Функције кука. |    hook/ | Функције кука.
|       hook-command-run.c | Кука "command_run". |       wee-hook-command-run.c | Кука "command_run".
|       hook-command.c | Кука "command". |       wee-hook-command.c | Кука "command".
|       hook-completion.c | Кука "completion". |       wee-hook-completion.c | Кука "completion".
|       hook-config.c | Кука "config". |       wee-hook-config.c | Кука "config".
|       hook-connect.c | Кука "connect". |       wee-hook-connect.c | Кука "connect".
|       hook-fd.c | Кука "fd". |       wee-hook-fd.c | Кука "fd".
|       hook-focus.c | Кука "focus". |       wee-hook-focus.c | Кука "focus".
|       hook-hdata.c | Кука "hdata". |       wee-hook-hdata.c | Кука "hdata".
|       hook-hsignal.c | Кука "hsignal". |       wee-hook-hsignal.c | Кука "hsignal".
|       hook-info-hashtable.c | Кука "info_hashtable". |       wee-hook-info-hashtable.c | Кука "info_hashtable".
|       hook-info.c | Кука "info". |       wee-hook-info.c | Кука "info".
|       hook-infolist.c | Кука "infolist". |       wee-hook-infolist.c | Кука "infolist".
|       hook-line.c | Кука "line". |       wee-hook-line.c | Кука "line".
|       hook-modifier.c | Кука "modifier". |       wee-hook-modifier.c | Кука "modifier".
|       hook-print.c | Кука "print". |       wee-hook-print.c | Кука "print".
|       hook-process.c | Кука "process". |       wee-hook-process.c | Кука "process".
|       hook-signal.c | Кука "signal". |       wee-hook-signal.c | Кука "signal".
|       hook-timer.c | Кука "timer". |       wee-hook-timer.c | Кука "timer".
|       hook-url.c | Кука "url". |       wee-hook-url.c | Кука "url".
| gui/ | Функције за бафере, прозоре, ... (користе их сви интерфејси). | gui/ | Функције за бафере, прозоре, ... (користе их сви интерфејси).
|    gui-bar-item.c | Ставке трака. |    gui-bar-item.c | Ставке трака.
|    gui-bar-window.c | Прозори трака. |    gui-bar-window.c | Прозори трака.
|    gui-bar.c | Траке. |    gui-bar.c | Траке.
|    gui-buffer.c | Бафери. |    gui-buffer.c | Бафери.
|    gui-chat.c | Функције разговора (призаз поруке, ...). |    gui-chat.c | Функције разговора (призаз поруке, ...).
|    gui-color.c | Функције боја. |    gui-color.c | Функције боја.
|    gui-completion.c | Довршавање у командној линији. |    gui-completion.c | Довршавање у комадној линији.
|    gui-cursor.c | Курсорски режим (слободно померање курсора). |    gui-cursor.c | Курсорски режим (слобосно померање курсора).
|    gui-filter.c | Филтери. |    gui-filter.c | Филтери.
|    gui-focus.c | Функције у вези фокуса (за курсорски режими миша). |    gui-focus.c | Функције у вези фокуса (за курсорски режими миша).
|    gui-history.c | Команде/текст сачуван у баферима. |    gui-history.c | Команде/текст сачуван у баферима.
|    gui-hotlist.c | Управљање врућом листом (листа бафера у којима има активности). |    gui-hotlist.c | Управљање врућом листом (листа бафера у којима има активности).
|    gui-input.c | Функције уноса (трака уноса). |    gui-input.c | Функције уноса (трака уноса).
|    gui-key.c | Функције тастатуре. |    gui-key.c | Функције тастатуре.
|    gui-layout.c | Распоред. |    gui-layout.c | Распоред.
|    gui-line.c | Линије у баферу. |    gui-line.c | Линије у баферуLines in buffers.
|    gui-mouse.c | Миш. |    gui-mouse.c | Миш.
|    gui-nick.c | Функције надимака. |    gui-nick.c | Функције надимака.
|    gui-nicklist.c | Листа надимака у баферима. |    gui-nicklist.c | Листа надимака у баферима.
|    gui-window.c | Прозори. |    gui-window.c | Прозори.
|    curses/ | Curses интерфејс. |    curses/ | Curses интерфејс.
|       gui-curses-bar-window.c | Приказ у прозорима трака. |       gui-curses-bar-window.c | Приказ у прозорима трака.
|       gui-curses-chat.c | Приказ у простору разговора (поруке). |       gui-curses-chat.c | Приказ у простору разговора (поруке).
|       gui-curses-color.c | Функције боја. |       gui-curses-color.c | Функције боја.
|       gui-curses-key.c | Функције тастатуре (подраз. тастери, читање уноса). |       gui-curses-key.c | Функције тастатуре (подраз. тастери, читање уноса).
|       gui-curses-main.c | WeeChat главна петља (чекање на догађаје тастатуре/мреже). |       gui-curses-main.c | WeeChat главна петља (чекање на догађаје тастатуре/мреже).
|       gui-curses-mouse.c | Миш. |       gui-curses-mouse.c | Миш.
|       gui-curses-term.c | Функције у вези терминала. |       gui-curses-term.c | Функције у вези терминала.
|       gui-curses-window.c | Прозори. |       gui-curses-window.c | Прозори.
|       headless/ | Режим без интерфејса. |       headless/ | Режим без интерфејса.
|          main.c | Тачка улаза за режим без интерфејса. |          main.c | Тачка улаза за режим без интерфејса.
|          ncurses-fake.c | Лажна ncurses библиотека. |          ncurses-fake.c | Лажна ncurses библиотека.
|       normal/ | Curses интерфејс. |       normal/ | Curses интерфејс.
|          main.c | Тачка улаза за Curses интерфејс. |          main.c | Тачка улаза за Curses интерфејс.
|=== |===
[[sources_plugins]] [[sources_plugins]]
@@ -212,189 +212,180 @@ WeeChat „језгро” се налази у следећим директо
[width="100%", cols="2m,3", options="header"] [width="100%", cols="2m,3", options="header"]
|=== |===
| Путања/фајл | Опис | Путања/фајл | Опис
| plugins/ | Корен додатака. | plugins/ | Корен додатака.
|    plugin.c | Управљање додацима (учитавање/уклањање динамичких C библиотека). |    plugin.c | Управљање додацима (учитавање/уклањање динамичких C библиотека).
|    plugin-api.c | Додатне функције за API додатака (омотач око WeeChat функција језгра). |    plugin-api.c | Додатне функције за API додатака (омотач око WeeChat функција језгра).
|    plugin-api-info.c | Додатне info/infolist функције за API додатака. |    plugin-api-info.c | Додатне info/infolist фунцкије за API додатака.
|    plugin-config.c | Опције конфигурације додатака (фајл plugins.conf). |    plugin-config.c | Опције конфигурације додатака (фајл plugins.conf).
|    plugin-script.c | Опште функције које користе скрипт додаци. |    plugin-script.c | Опште функције које користе скрипт додаци.
|    plugin-script-api.c | Скрипт API функције: омотачи око неких функција API додатака. |    plugin-script-api.c | Скрипт API функције: омотачи око неких функција API додатака.
|    plugin-script-config.c | Опције конфигурације скрипт додатака (фајлови python.conf, perl.conf, ...). |    plugin-script-config.c | Опције конфигурације скрипт додатака (фајлови python.conf, perl.conf, ...).
|    weechat-plugin.h | Заглавље које треба да се дистрибуира уз WeeChat додатке, како би могли да се компајлирају. |    weechat-plugin.h | Заглавље које треба да се дистрибуира уз WeeChat додатке, како би могли да се компајлирају.
|    alias/ | Alias додатак. |    alias/ | Alias додатак.
|       alias.c | Главне алијас функције. |       alias.c | Главне алијас функције.
|       alias-command.c | Алијас команде. |       alias-command.c | Алијас команде.
|       alias-completion.c | Алијас довршавање. |       alias-completion.c | Алијас довршавање.
|       alias-config.c | Алијас опције конфигурације (фајл alias.conf). |       alias-config.c | Алијас опције конфигурације (фајл alias.conf).
|       alias-info.c | Алијас info/infolists/hdata. |       alias-info.c | Алијас info/infolists/hdata.
|    spell/ | Додатак за проверу правописа. |    spell/ | Додатак за проверу правописа.
|       spell.c | Главне функције провере правописа. |       spell.c | Главне функције провере правописа.
|       spell-bar-item.c | Провера правописа ставке траке. |       spell-bar-item.c | Провера правописа ставке траке.
|       spell-command.c | Провера правописа команде. |       spell-command.c | Провера правописа команде.
|       spell-completion.c | Провера правописа довршавања. |       spell-completion.c | Провера правописа довршавања.
|       spell-config.c | Провера правописа опције конфиг (фајл spell.conf). |       spell-config.c | Провера правописа опције конфиг (фајл spell.conf).
|       spell-info.c | Провера правописа info/infolists/hdata. |       spell-info.c | Провера правописа info/infolists/hdata.
|       spell-speller.c | Управљање библиотекама за проверу правописа. |       spell-speller.c | Управљање библиотекама за проверу правописа.
|    buflist/ | Buflist додатак. |    buflist/ | Buflist додатак.
|       buflist.c | Главне buflist функције. |       buflist.c | Главне buflist функције.
|       buflist-bar-item.c | Buflist ставке траке. |       buflist-bar-item.c | Buflist ставке траке.
|       buflist-command.c | Buflist команде. |       buflist-command.c | Buflist команде.
|       buflist-completion.c | Buflist довршавања. |       buflist-completion.c | Buflist довршавања.
|       buflist-config.c | Buflist опције конфиг (фајл buflist.conf). |       buflist-config.c | Buflist опције кофиг (фајл buflist.conf).
|       buflist-info.c | Buflist info/infolists/hdata. |       buflist-info.c | Buflist info/infolists/hdata.
|       buflist-mouse.c | Buflist акције мишем. |       buflist-mouse.c | Buflist акције мишем.
|    charset/ | Charset додатак. |    charset/ | Charset додатак.
|       charset.c | Charset функције. |       charset.c | Charset функције.
|    exec/ | Exec додатак. |    exec/ | Exec додатак.
|       exec.c | Главне exec функције. |       exec.c | Флавне exec функције.
|       exec-buffer.c | Exec бафер. |       exec-buffer.c | Exec бафер.
|       exec-command.c | Exec команде. |       exec-command.c | Exec команде.
|       exec-completion.c | Exec довршавања. |       exec-completion.c | Exec довршавања.
|       exec-config.c | Exec опције конфиг (фајл exec.conf). |       exec-config.c | Exec опције конфиг (фајл exec.conf).
|    fifo/ | Fifo додатак. |    fifo/ | Fifo додатак.
|       fifo.c | Главне fifo функције. |       fifo.c | Главне fifo функције.
|       fifo-command.c | Fifo команде. |       fifo-command.c | Fifo команде.
|       fifo-config.c | Fifo опције конфиг (фајл fifo.conf). |       fifo-config.c | Fifo опције конфиг (фајл fifo.conf).
|       fifo-info.c | Fifo info/infolists/hdata. |       fifo-info.c | Fifo info/infolists/hdata.
|    fset/ | Fset додатак. |    fset/ | Fset додатак.
|       fset.c | Главне fset функције. |       fset.c | Главне fset функције.
|       fset-bar-item.c | Fset ставке траке. |       fset-bar-item.c | Fset ставке траке.
|       fset-buffer.c | Fset бафер. |       fset-buffer.c | Fset бафер.
|       fset-command.c | Fset команде. |       fset-command.c | Fset команде.
|       fset-completion.c | Fset довршавања. |       fset-completion.c | Fset довршавања.
|       fset-config.c | Fset опције конфиг (фајл fset.conf). |       fset-config.c | Fset опције конфиг (фајл fset.conf).
|       fset-info.c | Fset info/infolists/hdata. |       fset-info.c | Fset info/infolists/hdata.
|       fset-mouse.c | Fset акције мишем. |       fset-mouse.c | Fset акције мишем.
|       fset-option.c | Fset управљање опцијама. |       fset-option.c | Fset управљање опцијама.
|    guile/ | Guile (scheme) додатак. |    guile/ | Guile (scheme) додатак.
|       weechat-guile.c | Главне guile функције (учитавање/уклањање скрипти, извршавање guile кода). |       weechat-guile.c | Главне guile функције (учитавањ/уклањање скрипти, извршавање guile кода).
|       weechat-guile-api.c | API функције guile скриптовања. |       weechat-guile-api.c | API функције guile скриптовања.
|    irc/ | IRC (Internet Relay Chat) додатак. |    irc/ | IRC (Internet Relay Chat) додатак.
|       irc.c | Основне IRC функције. |       irc.c | Основне IRC функције.
|       irc-bar-item.c | IRC ставке траке. |       irc-bar-item.c | IRC ставке траке.
|       irc-batch.c | IRC пакетни догађаји. |       irc-batch.c | IRC пакетни догађаји.
|       irc-buffer.c | IRC бафери. |       irc-buffer.c | IRC бафери.
|       irc-channel.c | IRC канали. |       irc-channel.c | IRC канали.
|       irc-color.c | IRC боје. |       irc-color.c | IRC боје.
|       irc-command.c | IRC команде. |       irc-command.c | IRC команде.
|       irc-completion.c | IRC довршавања. |       irc-completion.c | IRC довршавања.
|       irc-config.c | IRC опције конфиг (фајл irc.conf). |       irc-config.c | IRC опције конфиг (фајл irc.conf).
|       irc-ctcp.c | IRC CTCP. |       irc-ctcp.c | IRC CTCP.
|       irc-debug.c | IRC дибаг функције. |       irc-debug.c | IRC дибаг функције.
|       irc-ignore.c | IRC Ignore. |       irc-ignore.c | IRC Ignore.
|       irc-info.c | IRC info/infolists/hdata. |       irc-info.c | IRC info/infolists/hdata.
|       irc-input.c | Унос команди/текста. |       irc-input.c | Унос команди/текста.
|       irc-join.c | Функције за листе канала којима се приступа. |       irc-join.c | Функције за листе канала којима се приступа.
|       irc-list.c | Бафер за одговор на /list команду. |       irc-list.c | Бафер за одговор на /list команду.
|       irc-message.c | Функције за манипулисање IRC порукама. |       irc-message.c | Функције за манипулисање IRC порукама.
|       irc-mode.c | Функције у вези режима канала/надимка. |       irc-mode.c | Функције у вези режима канала/надимка.
|       irc-modelist.c | Листе режима IRC канала (+b, +e, +I, ...). |       irc-modelist.c | Листе режима IRC канала (+b, +e, +I, ...).
|       irc-msgbuffer.c | Циљни бафер за IRC поруке. |       irc-msgbuffer.c | Циљни бафер за IRC поруке.
|       irc-nick.c | IRC надимци. |       irc-nick.c | IRC надимци.
|       irc-notify.c | IRC листе за обавештавање. |       irc-notify.c | IRC листе за обавештавање.
|       irc-protocol.c | IRC протокол (RFCs 1459/2810/2811/2812/2813/7194). |       irc-protocol.c | IRC протокол (RFCs 1459/2810/2811/2812/2813/7194).
|       irc-raw.c | IRC сирови бафер. |       irc-raw.c | IRC сирови бафер.
|       irc-redirect.c | Преусмеравање излаза IRC команде. |       irc-redirect.c | Преусмеравање излаза IRC команде.
|       irc-sasl.c | SASL аутентификација са IRC сервером. |       irc-sasl.c | SASL аутентификација са IRC сервером.
|       irc-server.c | У/И комуникација са IRC сервером. |       irc-server.c | У/И комуникација са IRC сервером.
|       irc-tag.c | Функције за манипулацију ознакама IRC порука. |       irc-tag.c | Функције за манипулацију ознакама IRC порука.
|       irc-typing.c | Статус куцања. |       irc-typing.c | Статус куцања.
|       irc-upgrade.c | Чување/обнављање IRC података када се ажурира програм WeeChat. |       irc-upgrade.c | Чување/обнављање IRC података када се ажурира програм WeeChat.
|    javascript/ | JavaScript додатак. |    javascript/ | JavaScript додатак.
|       weechat-js.cpp | Главне JavaScript функције (учитавање/уклањање скрипти, извршавање JavaScript кода). |       weechat-js.cpp | Главне JavaScript функције (учитавање/уклањање скрипти, извршавање JavaScript кода).
|       weechat-js-api.cpp | API функције JavaScript скриптовања. |       weechat-js-api.cpp | API функције JavaScript скриптовања.
|       weechat-js-v8.cpp | JavaScript v8 функције. |       weechat-js-v8.cpp | JavaScript v8 функције.
|    logger/ | Logger додатак. |    logger/ | Logger додатак.
|       logger.c | Главне logger функције. |       logger.c | Главне logger функције.
|       logger-backlog.c | Logger backlog функције. |       logger-backlog.c | Logger backlog функције.
|       logger-buffer.c | Logger управљање листом бафера. |       logger-buffer.c | Logger управљање листом бафера.
|       logger-command.c | Logger команде. |       logger-command.c | Logger команде.
|       logger-config.c | Logger опције конфиг (фајл logger.conf). |       logger-config.c | Logger опције конфиг (фајл logger.conf).
|       logger-info.c | Logger info/infolists/hdata. |       logger-info.c | Logger info/infolists/hdata.
|       logger-tail.c | Функције за враћање последњих линија фајла. |       logger-tail.c | Функције за враћање последњих линија фајла.
|    lua/ | Lua додатак. |    lua/ | Lua додатак.
|       weechat-lua.c | Главне lua функције (учитавање/уклањање скрипти, извршавање lua кода). |       weechat-lua.c | Главне lua функције (учитавање/уклањање скрипти, извршавање lua кода).
|       weechat-lua-api.c | API функције Lua скриптовања. |       weechat-lua-api.c | API функције Lua скриптовања.
|    perl/ | Perl додатак. |    perl/ | Perl додатак.
|       weechat-perl.c | Главне perl функције (учитавање/уклањање скрипти, извршавање perl кода). |       weechat-perl.c | Главне perl функције (учитавање/уклањање скрипти, извршавање perl кода).
|       weechat-perl-api.c | API функције Perl скриптовања. |       weechat-perl-api.c | API функције Perl скриптовања.
|    php/ | PHP додатак. |    php/ | PHP додатак.
|       weechat-php.c | Главне PHP функције (учитавање/уклањање скрипти, извршавање PHP кода). |       weechat-php.c | Главне PHP функције (учитавање/уклањање скрипти, извршавање PHP кода).
|       weechat-php-api.c | API функције PHP скриптовања. |       weechat-php-api.c | API функције PHP скриптовања.
|    python/ | Python додатак. |    python/ | Python додатак.
|       weechat-python.c | Главне python функције (учитавање/уклањање скрипти,извршавање python кода). |       weechat-python.c | Главне python функције (учитавање/уклањање скрипти,извршавање python кода).
|       weechat-python-api.c | API функције Python скриптовања. |       weechat-python-api.c | API функције Python скриптовања.
|    relay/ | Релеј додатак (IRC прокси и релеј за удаљене интерфејсе). |    relay/ | Релеј додатак (IRC прокси и релеј за удаљене интерфејсе).
|       relay.c | Главне релеј функције. |       relay.c | Главне релеј функције.
|       relay-auth.c | Аутентификација клијената. |       relay-auth.c | Аутентификација клијената.
|       relay-buffer.c | Релеј бафер. |       relay-buffer.c | Релеј бафер.
|       relay-client.c | Клијенти релеја. |       relay-client.c | Клијенти релеја.
|       relay-command.c | Релеј команде. |       relay-command.c | Релеј команде.
|       relay-completion.c | Релеј довршавања. |       relay-completion.c | Релеј довршавања.
|       relay-config.c | Релеј опције конфиг (фајл relay.conf). |       relay-config.c | Релеј опције конфиг (фајл relay.conf).
|       relay-http.c | HTTP функције. |       relay-info.c | Релеј info/infolists/hdata.
|       relay-info.c | Релеј info/infolists/hdata. |       relay-network.c | Мрежне функције за релеј.
|       relay-network.c | Мрежне функције за релеј. |       relay-raw.c | Релеј сирови бафер.
|       relay-raw.c | Релеј сирови бафер. |       relay-server.c | Релеј сервер.
|       relay-remote.c | Релеј удаљених. |       relay-upgrade.c | Save/restore of relay data when upgrading WeeChat.
|       relay-server.c | Релеј сервер. |       relay-websocket.c | WebSocket сервер функције (RFC 6455).
|       relay-upgrade.c | Чување/обнављање података релеја када се ажурира WeeChat. |       irc/ | IRC прокси.
|       relay-websocket.c | WebSocket сервер функције (RFC 6455). |          relay-irc.c | Главне IRC прокси функције.
|       api/ | Релеј за удаљене интерфејсе (користећи HTTP REST API). |       weechat/ | Релеј за удаљене интерфејсе.
|          relay-api.c | Главне API функције за HTTP REST API. |          relay-weechat.c | Релеј за удаљене интерфејсе (главне функције).
|          relay-api-msg.c | Слање JSON порука клијентима. |          relay-weechat-msg.c | Слање бинарних порука клијентима.
|          relay-api-protocol.c | HTTP REST API протокол. |          relay-weechat-nicklist.c | Функције листе надимака.
|          remote/ | Функције прослеђивања удаљених, специфичне за API. |          relay-weechat-protocol.c | Читање команди од клијената.
|             relay-remote-event.c | Обрада догађаја који се приме од релеја удаљених. |    ruby/ | Ruby додатак.
|             relay-remote-network.c | Мрежне функције за релеј удаљених. |       weechat-ruby.c | Главне ruby функције (учитавање/уклањање скрипти, извршавање ruby кода).
|       irc/ | IRC прокси. |       weechat-ruby-api.c | API функције Ruby скриптовања.
|          relay-irc.c | Главне IRC прокси функције. |    script/ | Управљач скриптама.
|       weechat/ | Релеј за удаљене интерфејсе (користећи „weechat” бинарни протокол). |       script.c | Главне функције за управљача скриптама.
|          relay-weechat.c | Релеј за удаљене интерфејсе (главне функције). |       script-action.c | Акције над скриптама (учитавање/уклањање, инсталација/деинсталација, ...).
|          relay-weechat-msg.c | Слање бинарних порука клијентима. |       script-buffer.c | Бафер за управљача скриптама.
|          relay-weechat-nicklist.c | Функције листе надимака. |       script-command.c | Команде за управљача скриптама.
|          relay-weechat-protocol.c | Читање команди од клијената. |       script-completion.c | Довршавања за управљача скриптама.
|    ruby/ | Ruby додатак. |       script-config.c | Опције конфигурације за управљача скриптама (фајл script.conf).
|       weechat-ruby.c | Главне ruby функције (учитавање/уклањање скрипти, извршавање ruby кода). |       script-info.c | Управљач скриптама info/infolists/hdata.
|       weechat-ruby-api.c | API функције Ruby скриптовања. |       script-mouse.c | Скрипт акције мишем.
|    script/ | Управљач скриптама. |       script-repo.c | Преузимање и читање фајла репозиторијума.
|       script.c | Главне функције за управљача скриптама. |    tcl/ | Tcl додатак.
|       script-action.c | Акције над скриптама (учитавање/уклањање, инсталација/деинсталација, ...). |       weechat-tcl.c | Главне tcl функције (учитавање/уклањање скрипти, извршавање tcl кода).
|       script-buffer.c | Бафер за управљача скриптама. |       weechat-tcl-api.c | API функције Tcl скриптовања.
|       script-command.c | Команде за управљача скриптама. |    trigger/ | Окидач додатак.
|       script-completion.c | Довршавања за управљача скриптама. |       trigger.c | Главне функције окидача.
|       script-config.c | Опције конфигурације за управљача скриптама (фајл script.conf). |       trigger-buffer.c | Окидач бафер.
|       script-info.c | Управљач скриптама info/infolists/hdata. |       trigger-callback.c | Окидач функције повратног позива.
|       script-mouse.c | Скрипт акције мишем. |       trigger-command.c | Окидач команде.
|       script-repo.c | Преузимање и читање фајла репозиторијума. |       trigger-completion.c | Окидач довршавања.
|    tcl/ | Tcl додатак. |       trigger-config.c | Окидач опције конфиг (фајл trigger.conf).
|       weechat-tcl.c | Главне tcl функције (учитавање/уклањање скрипти, извршавање tcl кода). |    typing/ | Typing додатак.
|       weechat-tcl-api.c | API функције Tcl скриптовања. |       typing.c | Главне typing функције.
|    trigger/ | Окидач додатак. |       typing-bar-item.c | Typing ставке траке.
|       trigger.c | Главне функције окидача. |       typing-config.c | Typing конфигурационе опције (фајл typing.conf).
|       trigger-buffer.c | Окидач бафер. |       typing-status.c | Статус куцања порука на баферима.
|       trigger-callback.c | Окидач функције повратног позива. |    xfer/ | Xfer додатак (IRC DCC фајл/разговор).
|       trigger-command.c | Окидач команде. |       xfer.c | Главне xfer функције.
|       trigger-completion.c | Окидач довршавања. |       xfer-buffer.c | Xfer бафер.
|       trigger-config.c | Окидач опције конфиг (фајл trigger.conf). |       xfer-chat.c | DCC разговор.
|    typing/ | Typing додатак. |       xfer-command.c | Xfer команде.
|       typing.c | Главне typing функције. |       xfer-completion.c | Xfer довршавања.
|       typing-bar-item.c | Typing ставке траке. |       xfer-config.c | Xfer опције конфиг (фајлxfer.conf).
|       typing-config.c | Typing конфигурационе опције (фајл typing.conf). |       xfer-dcc.c | DCC пренос фајла.
|       typing-status.c | Статус куцања порука на баферима. |       xfer-file.c | Фајл функције за xfer.
|    xfer/ | Xfer додатак (IRC DCC фајл/разговор). |       xfer-info.c | Xfer info/infolists/hdata.
|       xfer.c | Главне xfer функције. |       xfer-network.c | Мрежне функције за xfer.
|       xfer-buffer.c | Xfer бафер. |       xfer-upgrade.c | Чување/обнављање xfer података када се програм WeeChat ажурира.
|       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]] [[sources_tests]]
@@ -402,120 +393,89 @@ WeeChat „језгро” се налази у следећим директо
[width="100%", cols="2m,3", options="header"] [width="100%", cols="2m,3", options="header"]
|=== |===
| Путања/фајл | Опис | Путања/фајл | Опис
| tests/ | Корен тестова. | tests/ | Корен тестова.
|    tests.cpp | Програм који се користи за извршавање свих тестова. |    tests.cpp | Програм који се користи за извршавање свих тестова.
|    tests-record.cpp | Бележење и претрага у приказаним порукама. |    tests-record.cpp | Бележење и претрага у приказаним порукама.
|    scripts/ | Корен тестова за API скриптовања. |    scripts/ | Корен тестова за API скриптовања.
|       test-scripts.cpp | Програм који се користи за извршавање тестова API скриптовања. |       test-scripts.cpp | Програм који се користи за извршавање тестова API скриптовања.
|       python/ | Python скрипте које генеришу и покрећу тестове API скриптовања. |       python/ | Python скрипте које генеришу и покрећу тестове API скриптовања.
|          testapigen.py | Python скрипта која генерише скрипте на свим језицима за тестирање API скриптовања. |          testapigen.py | Python скрипта која генерише скрипте на свим језицима за тестирање API скриптовања.
|          testapi.py | Python скрипта са тестовима API скриптовања, користи је скрипта testapigen.py. |          testapi.py | Python скрипта са тестовима API скриптовања, користи је скрипта testapigen.py.
|          unparse.py | Конверзија Python кода у остале језике, користи је скрипта testapigen.py. |          unparse.py | Конверзија Python кода у остале језике, користи је скрипта testapigen.py.
|    unit/ | Корен unit тестова. |    unit/ | Корен unit тестова.
|       test-plugins.cpp | Тестови: plugins. |       test-plugins.cpp | Тестови: plugins.
|       test-plugin-api-info.cpp | Тестови: инфо функције API додатака. |       test-plugin-api-info.cpp | Тестови: инфо функције API додатака.
|       test-plugin-config.cpp | Тестови: функције конфигурације додатка. |       test-plugin-config.cpp | Тестови: функције конфигурације додатка.
|       core/ | Корен unit тестова језгра. |       core/ | Корен unit тестова језгра.
|          test-core-arraylist.cpp | Тестови: arraylists. |          test-core-arraylist.cpp | Тестови: arraylists.
|          test-core-calc.cpp | Тестови: калкулација израза. |          test-core-calc.cpp | Тестови: калкулација израза.
|          test-core-command.cpp | Тестови: команде. |          test-core-command.cpp | Тестови: команде.
|          test-core-config-file.cpp | Тестови: конфигурациони фајлови. |          test-core-config-file.cpp | Тестови: конфигурациони фајлови.
|          test-core-crypto.cpp | Тестови: криптографске функције. |          test-core-crypto.cpp | Тестови: криптографске функције.
|          test-core-dir.cpp | Тестови: функције директоријума/фајла. |          test-core-dir.cpp | Тестови: функције директоријума/фајла.
|          test-core-eval.cpp | Тестови: израчунавање израза. |          test-core-eval.cpp | Тестови: израчунавање израза.
|          test-core-hashtble.cpp | Тестови: hashtables. |          test-core-hashtble.cpp | Тестови: hashtables.
|          test-core-hdata.cpp | Тестови: hdata. |          test-core-hdata.cpp | Тестови: hdata.
|          test-core-hook.cpp | Тестови: куке. |          test-core-hook.cpp | Тестови: куке.
|          test-core-infolist.cpp | Тестови: infolists. |          test-core-infolist.cpp | Тестови: infolists.
|          test-core-list.cpp | Тестови: листе. |          test-core-list.cpp | Тестови: листе.
|          test-core-network.cpp | Тестови: мрежне функције. |          test-core-network.cpp | Тестови: мрежне функције.
|          test-core-secure.cpp | Тестови: обезбеђени подаци. |          test-core-secure.cpp | Тестови: обезбеђени подаци.
|          test-core-signal.cpp | Тестови: сигнали. |          test-core-signal.cpp | Тестови: сигнали.
|          test-core-string.cpp | Тестови: стрингови. |          test-core-string.cpp | Тестови: стрингови.
|          test-core-url.cpp | Тестови: URL адресе. |          test-core-url.cpp | Тестови: URL адресе.
|          test-core-utf8.cpp | Тестови: UTF-8. |          test-core-utf8.cpp | Тестови: UTF-8.
|          test-core-util.cpp | Тестови: помоћне функције. |          test-core-util.cpp | Тестови: помоћне функције.
|          test-core-sys.cpp | Тестови: системске функције. |          test-core-sys.cpp | Тестови: системске функције.
|          hook/ | Корен unit тестова за куке. |          hook/ | Корен unit тестова за куке.
|             test-hook-command.cpp | Тестови: куке „command”. |             test-hook-command.cpp | Тестови: куке „command”.
|             test-hook-command-run.cpp | Тестови: куке „command_run”. |       gui/ | Корен unit тестова интерфејса.
|             test-hook-completion.cpp | Тестови: куке „completion”. |          test-gui-bar-window.cpp | Тестови: функције прозора траке.
|             test-hook-config.cpp | Тестови: куке „config”. |          test-gui-buffer.cpp | Тестови: бафер функције.
|             test-hook-connect.cpp | Тестови: куке „connect”. |          test-gui-chat.cpp | Тестови: чет функције.
|             test-hook-fd.cpp | Тестови: куке „fd”. |          test-gui-color.cpp | Тестови: боје.
|             test-hook-focus.cpp | Тестови: куке „focus”. |          test-gui-filter.cpp | Тестови: филтери.
|             test-hook-hdata.cpp | Тестови: куке „hdata”. |          test-gui-input.cpp | Тестови: улазне функкције.
|             test-hook-hsignal.cpp | Тестови: куке „hsignal”. |          test-gui-key.cpp | Тестови: тастери.
|             test-hook-info-hashtable.cpp | Тестови: куке „info_hashtable”. |          test-gui-line.cpp | Тестови: линије.
|             test-hook-info.cpp | Тестови: куке „info”. |          test-gui-nick.cpp | Тестови: надимци.
|             test-hook-infolist.cpp | Тестови: куке „infolist”. |       plugins/ | Корен unit тестова додатака.
|             test-hook-line.cpp | Тестови: куке „line”. |          irc/ | Корен unit тестова IRC додатка.
|             test-hook-modifier.cpp | Тестови: куке „modifier”. |             test-irc-batch.cpp | Тестови: IRC пакетни догађаји.
|             test-hook-print.cpp | Тестови: куке „print”. |             test-irc-buffer.cpp | Тестови: IRC бафери.
|             test-hook-process.cpp | Тестови: куке „process”. |             test-irc-channel.cpp | Тестови: IRC канали.
|             test-hook-signal.cpp | Тестови: куке „signal”. |             test-irc-color.cpp | Тестови: IRC боје.
|             test-hook-timer.cpp | Тестови: куке „timer”. |             test-irc-config.cpp | Тестови: IRC конфигурација.
|             test-hook-url.cpp | Тестови: куке „url”. |             test-irc-ctcp.cpp | Тестови: IRC CTCP.
|       gui/ | Корен unit тестова интерфејса. |             test-irc-ignore.cpp | Тестови: IRC игнорисања.
|          test-gui-bar-window.cpp | Тестови: функције прозора траке. |             test-irc-info.cpp | Тестови: IRC информације.
|          test-gui-buffer.cpp | Тестови: бафер функције. |             test-irc-join.cpp | Тестови: IRC функције приступања.
|          test-gui-chat.cpp | Тестови: чет функције. |             test-irc-list.cpp | Тестови: IRC бафер за одговор на /list команду.
|          test-gui-color.cpp | Тестови: боје. |             test-irc-message.cpp | Тестови: IRC поруке.
|          test-gui-filter.cpp | Тестови: филтери. |             test-irc-mode.cpp | Тестови: IRC режими.
|          test-gui-hotlist.cpp | Тестови: функције врућих листи. |             test-irc-nick.cpp | Тестови: IRC надимци.
|          test-gui-input.cpp | Тестови: улазне функције. |             test-irc-protocol.cpp | Тестови: IRC протокол.
|          test-gui-key.cpp | Тестови: тастери. |             test-irc-sasl.cpp | Тестови: SASL аутентификација са IRC протоколом.
|          test-gui-line.cpp | Тестови: линије. |             test-irc-server.cpp | Тестови: IRC сервер.
|          test-gui-nick.cpp | Тестови: надимци. |             test-irc-tag.cpp | Тестови: IRC ознаке порука.
|          test-gui-nicklist.cpp | Тестови: функције листе надимака. |          logger/ | Корен unit тестива за logger додатак.
|          curses/ | Корен unit тестова за Curses интерфејс. |             test-logger.cpp | Тестови: logger.
|             test-gui-curses-mouse.cpp | Тестови: миш (Curses интерфејс). |             test-logger-backlog.cpp | Тестови: logger заостатак.
|       plugins/ | Корен unit тестова додатака. |             test-logger-tail.cpp | Тестови: logger tail фунцкије.
|          irc/ | Корен unit тестова IRC додатка. |          trigger/ | Корен unit тестова за окидач додатак.
|             test-irc-batch.cpp | Тестови: IRC пакетни догађаји. |             test-trigger.cpp | Тестови: окидачи.
|             test-irc-buffer.cpp | Тестови: IRC бафери. |             test-trigger-config.cpp | Тестови: конфигурација окидача.
|             test-irc-channel.cpp | Тестови: IRC канали. |          typing/ | Корен unit тестова за typing додатак.
|             test-irc-color.cpp | Тестови: IRC боје. |             test-typing.cpp | Тестови: typing.
// TRANSLATION MISSING |             test-typing-status.cpp | Тестови: typing статус.
|             test-irc-command.cpp | Tests: IRC commands. |          relay/ | Корен unit тестова за Релеј додатак.
|             test-irc-config.cpp | Тестови: IRC конфигурација. |             test-relay-auth.cpp | Тестови: аутентификација клијената.
|             test-irc-ctcp.cpp | Тестови: IRC CTCP. |             irc/ | Корен unit тестова за Релеј „irc” протокол.
|             test-irc-ignore.cpp | Тестови: IRC игнорисања. |                test-relay-irc.cpp | Тестови: РЕлеј „irc” протокол.
|             test-irc-info.cpp | Тестови: IRC информације. |          xfer/ | Корен unit тестова за Xfer додатак.
|             test-irc-join.cpp | Тестови: IRC функције приступања. |             test-xfer-file.cpp | Тестови: фајл функције.
|             test-irc-list.cpp | Тестови: IRC бафер за одговор на /list команду. |             test-xfer-network.cpp | Тестови: мрежне функције.
|             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 | Тестови: мрежне функције.
|=== |===
[[documentation_translations]] [[documentation_translations]]
@@ -597,7 +557,7 @@ WeeChat „језгро” се налази у следећим директо
Када пишете C кôд, *морате* да се придржавате неких основних правила: Када пишете C кôд, *морате* да се придржавате неких основних правила:
* За увлачење користите 4 размака (без табулатора). * Користите 4 размака за увлачење редова. Не употребљавајте табове, они су зло.
* Покушајте да не прекорачите 80 карактера по линији, осим ако је то неопходно за читљивост. * Покушајте да не прекорачите 80 карактера по линији, осим ако је то неопходно за читљивост.
* Користите коментаре `+/* коментар */+` (а не коментаре у C99 стилу као што је `+// коментар+`). * Користите коментаре `+/* коментар */+` (а не коментаре у C99 стилу као што је `+// коментар+`).
* Испред сваке функције додајте коментар који објашњава шта она ради (увек користите вишелинијски коментар, чак и ако је опис кратак). * Испред сваке функције додајте коментар који објашњава шта она ради (увек користите вишелинијски коментар, чак и ако је опис кратак).
@@ -800,7 +760,7 @@ new_hook_fd = malloc (sizeof (*new_hook_fd));
[width="100%", cols="2m,3", options="header"] [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/ | 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/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, ... | 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, ... | 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]] [[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 nicklist_visible_count: 0
title: 'WeeChat 2.9-dev (C) 2003-2020 - https://weechat.org/' title: 'WeeChat 2.9-dev (C) 2003-2020 - https://weechat.org/'
input: 1 input: 1
input_get_any_user_data: 0
input_get_unknown_commands: 0 input_get_unknown_commands: 0
input_get_empty: 0 input_get_empty: 0
input_multiline: 0 input_multiline: 0
+305 -2
View File
@@ -510,14 +510,317 @@ weechat_hook_timer(1000, 0, 1, $timer_cb, 'test');
Листа функција у API скриптовања: Листа функција у 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]] [[script_api_constants]]
=== Константе === Константе
Листа константи у API скриптовања: Листа константи у 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]] [[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/rfc2812[2812 ^↗^^],
https://datatracker.ietf.org/doc/html/rfc2813[2813 ^↗^^] и https://datatracker.ietf.org/doc/html/rfc2813[2813 ^↗^^] и
https://datatracker.ietf.org/doc/html/rfc7194[7194 ^↗^^], https://datatracker.ietf.org/doc/html/rfc7194[7194 ^↗^^],
// TRANSLATION MISSING * IRC прокси и релеј за удаљене интерфејсе
* IRC proxy and relay for WeeChat and remote interfaces
* подржавање различитих платформи (GNU/Linux, *BSD, macOS, Windows и остале) * подржавање различитих платформи (GNU/Linux, *BSD, macOS, Windows и остале)
* 100% GPL, слободан софтвер * 100% GPL, слободан софтвер
@@ -127,16 +126,14 @@ WeeChat мора да се изгради са CMake.
Relay додатак: подршка за TLS везе. Relay додатак: подршка за TLS везе.
| zlib1g-dev | | zlib1g-dev |
// TRANSLATION MISSING
| Logger додатак: компресија ротирајућих лог фајлова (gzip). + | Logger додатак: компресија ротирајућих лог фајлова (gzip). +
Relay додатак: компресија порука (WeeChat -> клијент) са https://zlib.net/[zlib ^↗^^] Relay додатак: компресија порука (WeeChat -> клијент) са https://zlib.net/[zlib ^↗^^] (weechat протокол). +
(api and weechat protocols). +
Script додатак: читање индекс фајла репозиторијума (gzip). Script додатак: читање индекс фајла репозиторијума (gzip).
|=== |===
[NOTE] [NOTE]
^(1)^ Име долази из Debian GNU/Linux Bookworm дистрибуције, верзија и ^(1)^ Име долази из Debian GNU/Linux Bookworm дистрибуције, верзија и
име могу да буду другачији у осталим дистрибуцијама. + име могу да буду другачији у осталим дитрибуцијама. +
^(2)^ GnuTLS ≥ 3.0.21 је неопходан за IRC SASL аутентификацију механизмом ECDSA-NIST256P-CHALLENGE. ^(2)^ GnuTLS ≥ 3.0.21 је неопходан за IRC SASL аутентификацију механизмом ECDSA-NIST256P-CHALLENGE.
Следећа табела приказује листу пакета који нису обавезни за компајлирање програма WeeChat: Следећа табела приказује листу пакета који нису обавезни за компајлирање програма WeeChat:
@@ -154,14 +151,9 @@ WeeChat мора да се изгради са CMake.
| ca-certificates | | ca-certificates |
| Сертификати за TLS везе. | Сертификати за TLS везе.
| libcjson-dev |
| Relay додатак: протокол „api” (HTTP REST API).
| libzstd-dev | ≥ 0.8.1 | libzstd-dev | ≥ 0.8.1
// TRANSLATION MISSING
| Logger додатак: компресија ротирајућих лог фајлова (zstandard). + | Logger додатак: компресија ротирајућих лог фајлова (zstandard). +
Relay додатак: компресија порука (WeeChat -> клијент) са https://facebook.github.io/zstd/[Zstandard ^↗^^] Relay додатак: компресија порука (WeeChat -> клијент) са https://facebook.github.io/zstd/[Zstandard ^↗^^] (weechat протокол).
(api and weechat protocols).
| libaspell-dev / libenchant-dev | | libaspell-dev / libenchant-dev |
| Spell додатак. | Spell додатак.
@@ -276,9 +268,6 @@ $ make install
| ENABLE_CHARSET | `ON`, `OFF` | ON | ENABLE_CHARSET | `ON`, `OFF` | ON
| Компајлира <<charset,Charset додатак>>. | Компајлира <<charset,Charset додатак>>.
| ENABLE_CJSON | `ON`, `OFF` | ON
| Подршка за JSON са https://github.com/DaveGamble/cJSON[cJSON ^↗^^] библиотеком.
| ENABLE_MAN | `ON`, `OFF` | OFF | ENABLE_MAN | `ON`, `OFF` | OFF
| Изграђује man страницу. | Изграђује man страницу.
@@ -513,11 +502,11 @@ Copying output to /tmp/crash.txt.
at /some_path/src/core/weechat.c:351 at /some_path/src/core/weechat.c:351
#3 <signal handler called> #3 <signal handler called>
#4 0x000000000044cb24 in hook_process_timer_cb (arg_hook_process=0x254eb90, #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 hook_process = 0x254eb90
status = <value optimized out> status = <value optimized out>
#5 0x000000000044cc7d in hook_timer_exec () #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} tv_time = {tv_sec = 1272693881, tv_usec = 212665}
ptr_hook = 0x2811f40 ptr_hook = 0x2811f40
next_hook = 0x0 next_hook = 0x0
@@ -737,7 +726,7 @@ WeeChat подразумевано користи XDG директоријуме
=== Команда upgrade === Команда upgrade
Програм WeeChat у месту може да поново покрене нови бинарни фајл, употребом команде <<command_weechat_upgrade,/upgrade>>: садржаји бафера и не-TLS везе се задржавају. + Програм WeeChat у месту може да поново покрене нови бинарни фајл, употребом команде <<command_weechat_upgrade,/upgrade>>: садржаји бафера и не-TLS везе се задржавају. +
Током процеса ажурирања, TLS конекције се губе и аутоматски се обнављају Током процеса ажурирња, TLS конекције се губе и аутоматски се обнављају
након ажурирања (са GnuTLS тренутно није могуће поновно учитавање TLS сесија). након ажурирања (са GnuTLS тренутно није могуће поновно учитавање TLS сесија).
Команда такође може да се употреби и када морате поново да покренете машину, на пример, да бисте ажурирали кернел или да преместите свој WeeChat на другу машину: Команда такође може да се употреби и када морате поново да покренете машину, на пример, да бисте ажурирали кернел или да преместите свој WeeChat на другу машину:
@@ -1202,7 +1191,7 @@ _прозор_ је површина екрана која приказује б
│12:52 -- Канал је креиран у Уто Јан 27 06:30:17 2009 │ │12:52 -- Канал је креиран у Уто Јан 27 06:30:17 2009 │
│12:54 <peter> hey! │ │12:54 <peter> hey! │
│12:55 <@joe> peter: hook_process: https://weechat.org/files/doc/weechat/devel/weechat_│ │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:[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:[Tab] | Пребацивање претраге по: локалној историји бафера (подразумевано), глобалној историји. | `+/input search_switch_where+`
| kbd:[Ctrl+r] + | kbd:[Ctrl+r] +
kbd:[↑] | Претрага по претходним (старијим) ставкама историје. | `+/input search_previous+` kbd:[↑] | Претрага по претходним (старијим) ставкама историје. | `+/input search_previous+`
@@ -2270,7 +2259,7 @@ include::{autogendir}/autogen_user_options.sr.adoc[tag=charset_options]
Програм WeeChat подразумевано истиче поруке од осталих корисника које садрже у себи ваш надимак, тако да истицање зависи од бафера (ваш надимак не мора да буде исти у свим баферима). Програм 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*" /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"] [width="100%", cols="1m,4", options="header"]
|=== |===
| Модификатор | Опис | Модификатор | Опис
| alt | Тастер kbd:[Alt]
| ctrl | Тастер kbd:[Ctrl] | 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"] [width="100%", cols="1m,4", options="header"]
|=== |===
| Тастер/точкић | Опис | Тастер/точкић | Опис
| button1 | Клик левим тастером | button1 | Клик левим тастером
| button2 | Клик десним тастером | button2 | Клик десним тастером
| button3 | Клик средњим тастером (често је то клик точкићем) | button3 | Клик средњим тастером (често је то клик точкићем)
| button4 ... button11 | Клик на додатне тастере | button4 ... button9 | Клик на додатне тастере
| wheelup | Точкић (навише) | wheelup | Точкић (навише)
| wheeldown | Точкић (наниже) | wheeldown | Точкић (наниже)
|=== |===
Листа гестикулација (само за тастере, не за точкић): Листа гестикулација (само за тастере, не за точкић):
@@ -2607,7 +2586,7 @@ link:weechat_faq.sr.html#mouse[WeeChat ЧПП / Миш ^↗^^].
* `button1-event-drag` * `button1-event-drag`
* `alt-button2-gesture-down-long` * `alt-button2-gesture-down-long`
* `wheelup` * `wheelup`
* `alt-ctrl-wheeldown` * `ctrl-alt-wheeldown`
* ... * ...
[TIP] [TIP]
@@ -3608,10 +3587,10 @@ WeeChat парсира ову ознаку у чува је у поруци, а
Спецификација: https://ircv3.net/specs/extensions/batch[batch ^↗^^] Спецификација: https://ircv3.net/specs/extensions/batch[batch ^↗^^]
Ова могућност дозвољава да сервер шаље догађаје у пакету (тј. да групише неколико Ова могућност дозвољава да сервер шаље докађаје у пакету (тј. да групише неколико
порука које су у вези). порука које су у вези).
WeeChat за сада само само чува поруке примљене у пакету и обрађује их као и обично касније, WeeChat за сада само само чува поруке примљене у пакету и обарђује их као и обично касније,
када се заврши пакет. када се заврши пакет.
[[irc_ircv3_cap_notify]] [[irc_ircv3_cap_notify]]
@@ -3672,7 +3651,7 @@ CAP alice LS * :draft/multiline=max-bytes=4096,max-lines=24
Вишелинијске могу да буду само стандардне поруке, као и оне које шаље команда Вишелинијске могу да буду само стандардне поруке, као и оне које шаље команда
<<command_irc_notice,/notice>>. + <<command_irc_notice,/notice>>. +
Ова могућност не утиче на ACTION CTCP поруке које се шаљу комадом <<command_irc_me,/me>>. Ова могућност не утиче на ACTION CTCP поруке које се шаљу комадном <<command_irc_me,/me>>.
То значи да се вишелинијске акције шаљу као више акција. То значи да се вишелинијске акције шаљу као више акција.
[WARNING] [WARNING]
@@ -3906,7 +3885,7 @@ WeeChat приказује све додатне информације које
/query пера /query пера
---- ----
Ако желите да затворите приватни бафер, урадите то следећом командом у приватном баферу: Ако желите да затворите приватни бафер, урадите то следћем командом у приватном баферу:
---- ----
/close /close
@@ -4309,16 +4288,8 @@ include::{autogendir}/autogen_user_options.sr.adoc[tag=typing_options]
Релеј додатак се користи за релеј података преко мреже, употребом различитих протокола: Релеј додатак се користи за релеј података преко мреже, употребом различитих протокола:
* _irc_: IRC прокси: користи се за дељење веза са IRC серверима са једним или више других клијената * _irc_: IRC прокси: користи се за дељење веза са IRC серверима са једним или више других клијената
// TRANSLATION MISSING * _weechat_: протокол који користе удаљени интерфејси да прикажу и омогуће интеракцију са програмом
* _api_: HTTP REST API, used by WeeChat and remote interfaces to display and WeeChat, погледајте https://weechat.org/about/interfaces/[ову страницу ^↗^^].
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 ^↗^^].
[[relay_password]] [[relay_password]]
=== Лозинка === Лозинка
@@ -4330,15 +4301,12 @@ https://weechat.org/about/interfaces/[this page ^↗^^].
/set relay.network.password "${sec.data.relay}" /set relay.network.password "${sec.data.relay}"
---- ----
// TRANSLATION MISSING Ова лозинка се користи и за _irc_ и за _weechat_ протокол.
This password is used with all protocols.
[[relay_totp]] [[relay_totp]]
=== TOTP === TOTP
// TRANSLATION MISSING TOTP (Time-based One-Time Password) може уз лозинку да се користи као секундарни фактор аутентификације за _weechat_ протокол.
TOTP (Time-based One-Time Password) can be used as secondary authentication
factor for _api_ and _weechat_ protocols, in addition to the password.
Ово није обавезно, мада повећава ниво безбедности. Ово није обавезно, мада повећава ниво безбедности.
@@ -4418,40 +4386,6 @@ PASS сервер:лозинка
/set irc.server.relay.password "${sec.data.relay_libera}" /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]] [[relay_weechat_protocol]]
=== WeeChat протокол === WeeChat протокол
@@ -4486,11 +4420,7 @@ https://weechat.org/about/interfaces/[ову страницу ^↗^^].
websocket = new WebSocket("ws://server.com:9000/weechat"); websocket = new WebSocket("ws://server.com:9000/weechat");
---- ----
Порт (9000 у примеру) је порт који је дефинисан у Релеј додатку. Порт (9000 у примеру) је порт који је дефинисан у Релеј додатку. URI увек мора да се завршава са „/weechat” (и за _irc_ и за _weechat_ протокол).
// TRANSLATION MISSING
The URI must end with "/weechat" for _irc_ and _weechat_ protocols and "/api"
for _api_ protocol.
[[relay_unix_socket]] [[relay_unix_socket]]
=== UNIX доменски сокети === UNIX доменски сокети
@@ -4529,7 +4459,7 @@ include::{autogendir}/autogen_user_commands.sr.adoc[tag=relay_commands]
| network | /set relay.network.* | Мрежне опције. | network | /set relay.network.* | Мрежне опције.
| irc | /set relay.irc.* | Опције специфичне за irc протокол (irc прокси). | irc | /set relay.irc.* | Опције специфичне за irc протокол (irc прокси).
| port | <<command_relay_relay,/relay add>> + | 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 $ echo 'irc.libera.#weechat *hello!' >/run/user/1000/weechat/weechat_fifo_12345
---- ----
* Слање вишелинијске поруке на IRC канал #test, у случају да је могућност „draft/multiline” * Слање вишелинијске поруке на IRC канал #test, у случају да је могуност „draft/multiline”
укључена на ergo серверу: укључена на ergo серверу:
---- ----
@@ -4919,9 +4849,7 @@ s/regex1/replace1/var1 y/abcdef/ABDDEF/var2
* `+${re:0}+` до `+${re:99}+`: `+${re:0}+` је комплетно подударање, `+${re:1}+` до * `+${re:0}+` до `+${re:99}+`: `+${re:0}+` је комплетно подударање, `+${re:1}+` до
`+${re:99}+` су ухваћене групе `+${re:99}+` су ухваћене групе
* `pass:[${re:+}]`: последње подударање (под највећим бројем) * `+${re:+}+`: последње подударање (под највећим бројем)
* `+${re:#}+`: индекс последње ухваћене групе
* `+${re:repl_index}+`: индекс замене која се врши (почиње од 1)
* `+${hide:c,${re:N}}+`: подударање „N” са свим карактерима замењеним са „c” * `+${hide:c,${re:N}}+`: подударање „N” са свим карактерима замењеним са „c”
(пример: `+${hide:*,${re:2}}+` је група #2 у којој су сви карактери замењени са (пример: `+${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”). | server | стринг | Име сервера (пример: „libera”).
| tags | стринг | Ознаке у поруци (ретко се користе). | tags | стринг | Ознаке у поруци (ретко се користе).
| message_without_tags | стринг | Порука без ознака. | message_without_tags | стринг | Порука без ознака.
| nick | стринг | Надимак. ^(1)^ | nick | стринг | Надимак.
| host | стринг | Име хоста. | host | стринг | Име хоста.
| command | стринг | IRC команда (пример: „PRIVMSG”, „NOTICE”, ...). | command | стринг | IRC команда (пример: „PRIVMSG”, „NOTICE”, ...).
| channel | стринг | IRC канал. | 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_ не пронађе). | pos_text | стринг | Индекс _text_ у поруци („-1” ако се _text_ не пронађе).
|=== |===
[NOTE]
^(1)^ nick је пошиљалац поруке. +
Ваш надимак на серверу је `${irc_server.nick}`.
Када су подаци показивач, за читање hdata особине може да се употреби променљива `+tg_signal_data+` на следећи начин (у овом примеру је то показивач на бафер): Када су подаци показивач, за читање 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 SET(WEECHAT_SOURCES
./src/core/hook/hook-command.c ./src/core/hook/wee-hook-command.c
./src/core/hook/hook-command.h ./src/core/hook/wee-hook-command.h
./src/core/hook/hook-command-run.c ./src/core/hook/wee-hook-command-run.c
./src/core/hook/hook-command-run.h ./src/core/hook/wee-hook-command-run.h
./src/core/hook/hook-completion.c ./src/core/hook/wee-hook-completion.c
./src/core/hook/hook-completion.h ./src/core/hook/wee-hook-completion.h
./src/core/hook/hook-config.c ./src/core/hook/wee-hook-config.c
./src/core/hook/hook-config.h ./src/core/hook/wee-hook-config.h
./src/core/hook/hook-connect.c ./src/core/hook/wee-hook-connect.c
./src/core/hook/hook-connect.h ./src/core/hook/wee-hook-connect.h
./src/core/hook/hook-fd.c ./src/core/hook/wee-hook-fd.c
./src/core/hook/hook-fd.h ./src/core/hook/wee-hook-fd.h
./src/core/hook/hook-focus.c ./src/core/hook/wee-hook-focus.c
./src/core/hook/hook-focus.h ./src/core/hook/wee-hook-focus.h
./src/core/hook/hook-hdata.c ./src/core/hook/wee-hook-hdata.c
./src/core/hook/hook-hdata.h ./src/core/hook/wee-hook-hdata.h
./src/core/hook/hook-hsignal.c ./src/core/hook/wee-hook-hsignal.c
./src/core/hook/hook-hsignal.h ./src/core/hook/wee-hook-hsignal.h
./src/core/hook/hook-info.c ./src/core/hook/wee-hook-info.c
./src/core/hook/hook-info.h ./src/core/hook/wee-hook-info.h
./src/core/hook/hook-info-hashtable.c ./src/core/hook/wee-hook-info-hashtable.c
./src/core/hook/hook-info-hashtable.h ./src/core/hook/wee-hook-info-hashtable.h
./src/core/hook/hook-infolist.c ./src/core/hook/wee-hook-infolist.c
./src/core/hook/hook-infolist.h ./src/core/hook/wee-hook-infolist.h
./src/core/hook/hook-line.c ./src/core/hook/wee-hook-line.c
./src/core/hook/hook-line.h ./src/core/hook/wee-hook-line.h
./src/core/hook/hook-modifier.c ./src/core/hook/wee-hook-modifier.c
./src/core/hook/hook-modifier.h ./src/core/hook/wee-hook-modifier.h
./src/core/hook/hook-print.c ./src/core/hook/wee-hook-print.c
./src/core/hook/hook-print.h ./src/core/hook/wee-hook-print.h
./src/core/hook/hook-process.c ./src/core/hook/wee-hook-process.c
./src/core/hook/hook-process.h ./src/core/hook/wee-hook-process.h
./src/core/hook/hook-signal.c ./src/core/hook/wee-hook-signal.c
./src/core/hook/hook-signal.h ./src/core/hook/wee-hook-signal.h
./src/core/hook/hook-timer.c ./src/core/hook/wee-hook-timer.c
./src/core/hook/hook-timer.h ./src/core/hook/wee-hook-timer.h
./src/core/hook/hook-url.c ./src/core/hook/wee-hook-url.c
./src/core/hook/hook-url.h ./src/core/hook/wee-hook-url.h
./src/core/core-arraylist.c ./src/core/wee-arraylist.c
./src/core/core-arraylist.h ./src/core/wee-arraylist.h
./src/core/core-backtrace.c ./src/core/wee-backtrace.c
./src/core/core-backtrace.h ./src/core/wee-backtrace.h
./src/core/core-calc.c ./src/core/wee-calc.c
./src/core/core-calc.h ./src/core/wee-calc.h
./src/core/weechat.c ./src/core/weechat.c
./src/core/weechat.h ./src/core/weechat.h
./src/core/core-command.c ./src/core/wee-command.c
./src/core/core-command.h ./src/core/wee-command.h
./src/core/core-completion.c ./src/core/wee-completion.c
./src/core/core-completion.h ./src/core/wee-completion.h
./src/core/core-config.c ./src/core/wee-config.c
./src/core/core-config-file.c ./src/core/wee-config-file.c
./src/core/core-config-file.h ./src/core/wee-config-file.h
./src/core/core-config.h ./src/core/wee-config.h
./src/core/core-crypto.c ./src/core/wee-crypto.c
./src/core/core-crypto.h ./src/core/wee-crypto.h
./src/core/core-debug.c ./src/core/wee-debug.c
./src/core/core-debug.h ./src/core/wee-debug.h
./src/core/core-dir.c ./src/core/wee-dir.c
./src/core/core-dir.h ./src/core/wee-dir.h
./src/core/core-doc.c ./src/core/wee-doc.c
./src/core/core-doc.h ./src/core/wee-doc.h
./src/core/core-eval.c ./src/core/wee-eval.c
./src/core/core-eval.h ./src/core/wee-eval.h
./src/core/core-hashtable.c ./src/core/wee-hashtable.c
./src/core/core-hashtable.h ./src/core/wee-hashtable.h
./src/core/core-hdata.c ./src/core/wee-hdata.c
./src/core/core-hdata.h ./src/core/wee-hdata.h
./src/core/core-hook.c ./src/core/wee-hook.c
./src/core/core-hook.h ./src/core/wee-hook.h
./src/core/core-infolist.c ./src/core/wee-infolist.c
./src/core/core-infolist.h ./src/core/wee-infolist.h
./src/core/core-input.c ./src/core/wee-input.c
./src/core/core-input.h ./src/core/wee-input.h
./src/core/core-list.c ./src/core/wee-list.c
./src/core/core-list.h ./src/core/wee-list.h
./src/core/core-log.c ./src/core/wee-log.c
./src/core/core-log.h ./src/core/wee-log.h
./src/core/core-network.c ./src/core/wee-network.c
./src/core/core-network.h ./src/core/wee-network.h
./src/core/core-proxy.c ./src/core/wee-proxy.c
./src/core/core-proxy.h ./src/core/wee-proxy.h
./src/core/core-secure-buffer.c ./src/core/wee-secure-buffer.c
./src/core/core-secure-buffer.h ./src/core/wee-secure-buffer.h
./src/core/core-secure.c ./src/core/wee-secure.c
./src/core/core-secure-config.c ./src/core/wee-secure-config.c
./src/core/core-secure-config.h ./src/core/wee-secure-config.h
./src/core/core-secure.h ./src/core/wee-secure.h
./src/core/core-signal.c ./src/core/wee-signal.c
./src/core/core-signal.h ./src/core/wee-signal.h
./src/core/core-string.c ./src/core/wee-string.c
./src/core/core-string.h ./src/core/wee-string.h
./src/core/core-sys.c ./src/core/wee-sys.c
./src/core/core-sys.h ./src/core/wee-sys.h
./src/core/core-upgrade.c ./src/core/wee-upgrade.c
./src/core/core-upgrade-file.c ./src/core/wee-upgrade-file.c
./src/core/core-upgrade-file.h ./src/core/wee-upgrade-file.h
./src/core/core-upgrade.h ./src/core/wee-upgrade.h
./src/core/core-url.c ./src/core/wee-url.c
./src/core/core-url.h ./src/core/wee-url.h
./src/core/core-utf8.c ./src/core/wee-utf8.c
./src/core/core-utf8.h ./src/core/wee-utf8.h
./src/core/core-util.c ./src/core/wee-util.c
./src/core/core-util.h ./src/core/wee-util.h
./src/core/core-version.c ./src/core/wee-version.c
./src/core/core-version.h ./src/core/wee-version.h
./src/gui/curses/gui-curses-bar-window.c ./src/gui/curses/gui-curses-bar-window.c
./src/gui/curses/gui-curses-bar-window.h ./src/gui/curses/gui-curses-bar-window.h
./src/gui/curses/gui-curses-chat.c ./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-api.h
./src/plugins/python/weechat-python.c ./src/plugins/python/weechat-python.c
./src/plugins/python/weechat-python.h ./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.c
./src/plugins/relay/irc/relay-irc.h ./src/plugins/relay/irc/relay-irc.h
./src/plugins/relay/relay-auth.c ./src/plugins/relay/relay-auth.c
@@ -370,16 +360,12 @@ SET(WEECHAT_SOURCES
./src/plugins/relay/relay-config.c ./src/plugins/relay/relay-config.c
./src/plugins/relay/relay-config.h ./src/plugins/relay/relay-config.h
./src/plugins/relay/relay.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.c
./src/plugins/relay/relay-info.h ./src/plugins/relay/relay-info.h
./src/plugins/relay/relay-network.c ./src/plugins/relay/relay-network.c
./src/plugins/relay/relay-network.h ./src/plugins/relay/relay-network.h
./src/plugins/relay/relay-raw.c ./src/plugins/relay/relay-raw.c
./src/plugins/relay/relay-raw.h ./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.c
./src/plugins/relay/relay-server.h ./src/plugins/relay/relay-server.h
./src/plugins/relay/relay-upgrade.c ./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 set(LIB_CORE_SRC
weechat.c weechat.h weechat.c weechat.h
core-arraylist.c core-arraylist.h wee-arraylist.c wee-arraylist.h
core-backtrace.c core-backtrace.h wee-backtrace.c wee-backtrace.h
core-calc.c core-calc.h wee-calc.c wee-calc.h
core-command.c core-command.h wee-command.c wee-command.h
core-completion.c core-completion.h wee-completion.c wee-completion.h
core-config.c core-config.h wee-config.c wee-config.h
core-config-file.c core-config-file.h wee-config-file.c wee-config-file.h
core-crypto.c core-crypto.h wee-crypto.c wee-crypto.h
core-debug.c core-debug.h wee-debug.c wee-debug.h
core-dir.c core-dir.h wee-dir.c wee-dir.h
core-doc.c core-doc.h wee-doc.c wee-doc.h
core-eval.c core-eval.h wee-eval.c wee-eval.h
core-hashtable.c core-hashtable.h wee-hashtable.c wee-hashtable.h
core-hdata.c core-hdata.h wee-hdata.c wee-hdata.h
core-hook.c core-hook.h wee-hook.c wee-hook.h
core-infolist.c core-infolist.h wee-infolist.c wee-infolist.h
core-input.c core-input.h wee-input.c wee-input.h
core-list.c core-list.h wee-list.c wee-list.h
core-log.c core-log.h wee-log.c wee-log.h
core-network.c core-network.h wee-network.c wee-network.h
core-proxy.c core-proxy.h wee-proxy.c wee-proxy.h
core-secure.c core-secure.h wee-secure.c wee-secure.h
core-secure-buffer.c core-secure-buffer.h wee-secure-buffer.c wee-secure-buffer.h
core-secure-config.c core-secure-config.h wee-secure-config.c wee-secure-config.h
core-signal.c core-signal.h wee-signal.c wee-signal.h
core-string.c core-string.h wee-string.c wee-string.h
core-sys.c core-sys.h wee-sys.c wee-sys.h
core-upgrade.c core-upgrade.h wee-upgrade.c wee-upgrade.h
core-upgrade-file.c core-upgrade-file.h wee-upgrade-file.c wee-upgrade-file.h
core-url.c core-url.h wee-url.c wee-url.h
core-utf8.c core-utf8.h wee-utf8.c wee-utf8.h
core-util.c core-util.h wee-util.c wee-util.h
core-version.c core-version.h wee-version.c wee-version.h
hook/hook-command-run.c hook/hook-command-run.h hook/wee-hook-command-run.c hook/wee-hook-command-run.h
hook/hook-command.c hook/hook-command.h hook/wee-hook-command.c hook/wee-hook-command.h
hook/hook-completion.c hook/hook-completion.h hook/wee-hook-completion.c hook/wee-hook-completion.h
hook/hook-config.c hook/hook-config.h hook/wee-hook-config.c hook/wee-hook-config.h
hook/hook-connect.c hook/hook-connect.h hook/wee-hook-connect.c hook/wee-hook-connect.h
hook/hook-fd.c hook/hook-fd.h hook/wee-hook-fd.c hook/wee-hook-fd.h
hook/hook-focus.c hook/hook-focus.h hook/wee-hook-focus.c hook/wee-hook-focus.h
hook/hook-hdata.c hook/hook-hdata.h hook/wee-hook-hdata.c hook/wee-hook-hdata.h
hook/hook-hsignal.c hook/hook-hsignal.h hook/wee-hook-hsignal.c hook/wee-hook-hsignal.h
hook/hook-info-hashtable.c hook/hook-info-hashtable.h hook/wee-hook-info-hashtable.c hook/wee-hook-info-hashtable.h
hook/hook-info.c hook/hook-info.h hook/wee-hook-info.c hook/wee-hook-info.h
hook/hook-infolist.c hook/hook-infolist.h hook/wee-hook-infolist.c hook/wee-hook-infolist.h
hook/hook-line.c hook/hook-line.h hook/wee-hook-line.c hook/wee-hook-line.h
hook/hook-modifier.c hook/hook-modifier.h hook/wee-hook-modifier.c hook/wee-hook-modifier.h
hook/hook-print.c hook/hook-print.h hook/wee-hook-print.c hook/wee-hook-print.h
hook/hook-process.c hook/hook-process.h hook/wee-hook-process.c hook/wee-hook-process.h
hook/hook-signal.c hook/hook-signal.h hook/wee-hook-signal.c hook/wee-hook-signal.h
hook/hook-timer.c hook/hook-timer.h hook/wee-hook-timer.c hook/wee-hook-timer.h
hook/hook-url.c hook/hook-url.h hook/wee-hook-url.c hook/wee-hook-url.h
) )
# Check for flock support # Check for flock support
@@ -95,10 +95,6 @@ if(ENABLE_ZSTD)
include_directories(${LIBZSTD_INCLUDE_DIRS}) include_directories(${LIBZSTD_INCLUDE_DIRS})
endif() endif()
if(ENABLE_CJSON)
include_directories(${LIBCJSON_INCLUDE_DIRS})
endif()
include_directories("${CMAKE_BINARY_DIR}") include_directories("${CMAKE_BINARY_DIR}")
add_library(weechat_core STATIC ${LIB_CORE_SRC}) add_library(weechat_core STATIC ${LIB_CORE_SRC})
target_link_libraries(weechat_core coverage_config) 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> * Copyright (C) 2003-2024 Sébastien Helleu <flashcode@flashtux.org>
* *
@@ -27,11 +27,11 @@
#include <string.h> #include <string.h>
#include "../weechat.h" #include "../weechat.h"
#include "../core-hook.h" #include "../wee-hook.h"
#include "../core-infolist.h" #include "../wee-infolist.h"
#include "../core-log.h" #include "../wee-log.h"
#include "../core-string.h" #include "../wee-string.h"
#include "../core-utf8.h" #include "../wee-utf8.h"
#include "../../plugins/plugin.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); hook_callback_end (ptr_hook, &hook_exec_cb);
if (rc == WEECHAT_RC_OK_EAT) if (rc == WEECHAT_RC_OK_EAT)
{ {
free (command2); if (command2)
free (command2);
return rc; return rc;
} }
} }
@@ -168,7 +169,8 @@ hook_command_run_exec (struct t_gui_buffer *buffer, const char *command)
ptr_hook = next_hook; ptr_hook = next_hook;
} }
free (command2); if (command2)
free (command2);
return WEECHAT_RC_OK; return WEECHAT_RC_OK;
} }
@@ -227,6 +229,6 @@ hook_command_run_print_log (struct t_hook *hook)
return; return;
log_printf (" command_run data:"); log_printf (" command_run data:");
log_printf (" callback. . . . . . . : %p", HOOK_COMMAND_RUN(hook, callback)); log_printf (" callback. . . . . . . : 0x%lx", HOOK_COMMAND_RUN(hook, callback));
log_printf (" command . . . . . . . : '%s'", HOOK_COMMAND_RUN(hook, command)); 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> * Copyright (C) 2003-2024 Sébastien Helleu <flashcode@flashtux.org>
* *
@@ -27,14 +27,14 @@
#include <string.h> #include <string.h>
#include "../weechat.h" #include "../weechat.h"
#include "../core-arraylist.h" #include "../wee-arraylist.h"
#include "../core-config.h" #include "../wee-config.h"
#include "../core-hook.h" #include "../wee-hook.h"
#include "../core-infolist.h" #include "../wee-infolist.h"
#include "../core-list.h" #include "../wee-list.h"
#include "../core-log.h" #include "../wee-log.h"
#include "../core-string.h" #include "../wee-string.h"
#include "../core-utf8.h" #include "../wee-utf8.h"
#include "../../gui/gui-chat.h" #include "../../gui/gui-chat.h"
#include "../../gui/gui-filter.h" #include "../../gui/gui-filter.h"
#include "../../plugins/plugin.h" #include "../../plugins/plugin.h"
@@ -490,9 +490,12 @@ hook_command_format_args_description (const char *args_description)
return string_dyn_free (result, 0); return string_dyn_free (result, 0);
error: error:
arraylist_free (args); if (args)
string_dyn_free (result, 1); arraylist_free (args);
string_free_split (lines); if (result)
string_dyn_free (result, 1);
if (lines)
string_free_split (lines);
return NULL; 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++) for (i = 0; i < HOOK_COMMAND(hook, cplt_num_templates); i++)
{ {
free (HOOK_COMMAND(hook, cplt_templates)[i]); if (HOOK_COMMAND(hook, cplt_templates)[i])
free (HOOK_COMMAND(hook, cplt_templates_static)[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]); string_free_split (HOOK_COMMAND(hook, cplt_template_args)[i]);
} }
free (HOOK_COMMAND(hook, cplt_templates)); 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", if (!infolist_new_var_string (item, "args_description_nls",
(args_desc_nls) ? args_desc_nls : "")) (args_desc_nls) ? args_desc_nls : ""))
{ {
free (args_desc_nls); if (args_desc_nls)
free (args_desc_nls);
return 0; 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))) if (!infolist_new_var_string (item, "completion", HOOK_COMMAND(hook, completion)))
return 0; return 0;
@@ -1101,13 +1108,13 @@ hook_command_print_log (struct t_hook *hook)
return; return;
log_printf (" command data:"); log_printf (" command data:");
log_printf (" callback. . . . . . . : %p", HOOK_COMMAND(hook, callback)); log_printf (" callback. . . . . . . : 0x%lx", HOOK_COMMAND(hook, callback));
log_printf (" command . . . . . . . : '%s'", HOOK_COMMAND(hook, command)); log_printf (" command . . . . . . . : '%s'", HOOK_COMMAND(hook, command));
log_printf (" description . . . . . : '%s'", HOOK_COMMAND(hook, description)); log_printf (" description . . . . . : '%s'", HOOK_COMMAND(hook, description));
log_printf (" args. . . . . . . . . : '%s'", HOOK_COMMAND(hook, args)); log_printf (" args. . . . . . . . . : '%s'", HOOK_COMMAND(hook, args));
log_printf (" args_description. . . : '%s'", HOOK_COMMAND(hook, args_description)); log_printf (" args_description. . . : '%s'", HOOK_COMMAND(hook, args_description));
log_printf (" completion. . . . . . : '%s'", HOOK_COMMAND(hook, completion)); log_printf (" completion. . . . . . : '%s'", HOOK_COMMAND(hook, completion));
log_printf (" cplt_num_templates. . : %d", HOOK_COMMAND(hook, cplt_num_templates)); log_printf (" cplt_num_templates. . : %d", HOOK_COMMAND(hook, cplt_num_templates));
for (i = 0; i < HOOK_COMMAND(hook, cplt_num_templates); i++) for (i = 0; i < HOOK_COMMAND(hook, cplt_num_templates); i++)
{ {
log_printf (" cplt_templates[%04d] . . . : '%s'", 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> * Copyright (C) 2003-2024 Sébastien Helleu <flashcode@flashtux.org>
* *
@@ -27,10 +27,10 @@
#include <string.h> #include <string.h>
#include "../weechat.h" #include "../weechat.h"
#include "../core-hook.h" #include "../wee-hook.h"
#include "../core-infolist.h" #include "../wee-infolist.h"
#include "../core-log.h" #include "../wee-log.h"
#include "../core-string.h" #include "../wee-string.h"
#include "../../gui/gui-completion.h" #include "../../gui/gui-completion.h"
@@ -219,7 +219,7 @@ hook_completion_print_log (struct t_hook *hook)
return; return;
log_printf (" completion data:"); 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 (" completion_item . . . : '%s'", HOOK_COMPLETION(hook, completion_item));
log_printf (" description . . . . . : '%s'", HOOK_COMPLETION(hook, description)); 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> * Copyright (C) 2003-2024 Sébastien Helleu <flashcode@flashtux.org>
* *
@@ -27,10 +27,10 @@
#include <string.h> #include <string.h>
#include "../weechat.h" #include "../weechat.h"
#include "../core-hook.h" #include "../wee-hook.h"
#include "../core-infolist.h" #include "../wee-infolist.h"
#include "../core-log.h" #include "../wee-log.h"
#include "../core-string.h" #include "../wee-string.h"
/* /*
@@ -181,6 +181,6 @@ hook_config_print_log (struct t_hook *hook)
return; return;
log_printf (" config data:"); 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)); 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) 2003-2024 Sébastien Helleu <flashcode@flashtux.org>
* Copyright (C) 2012 Simon Arlott * Copyright (C) 2012 Simon Arlott
@@ -31,10 +31,10 @@
#include <sys/wait.h> #include <sys/wait.h>
#include "../weechat.h" #include "../weechat.h"
#include "../core-hook.h" #include "../wee-hook.h"
#include "../core-infolist.h" #include "../wee-infolist.h"
#include "../core-log.h" #include "../wee-log.h"
#include "../core-network.h" #include "../wee-network.h"
#include "../../plugins/plugin.h" #include "../../plugins/plugin.h"
@@ -388,15 +388,15 @@ hook_connect_print_log (struct t_hook *hook)
return; return;
log_printf (" connect data:"); 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 (" proxy . . . . . . . . : '%s'", HOOK_CONNECT(hook, proxy));
log_printf (" address . . . . . . . : '%s'", HOOK_CONNECT(hook, address)); log_printf (" address . . . . . . . : '%s'", HOOK_CONNECT(hook, address));
log_printf (" port. . . . . . . . . : %d", HOOK_CONNECT(hook, port)); log_printf (" port. . . . . . . . . : %d", HOOK_CONNECT(hook, port));
log_printf (" sock. . . . . . . . . : %d", HOOK_CONNECT(hook, sock)); log_printf (" sock. . . . . . . . . : %d", HOOK_CONNECT(hook, sock));
log_printf (" ipv6. . . . . . . . . : %d", HOOK_CONNECT(hook, ipv6)); log_printf (" ipv6. . . . . . . . . : %d", HOOK_CONNECT(hook, ipv6));
log_printf (" retry . . . . . . . . : %d", HOOK_CONNECT(hook, retry)); log_printf (" retry . . . . . . . . : %d", HOOK_CONNECT(hook, retry));
log_printf (" gnutls_sess . . . . . : %p", HOOK_CONNECT(hook, gnutls_sess)); log_printf (" gnutls_sess . . . . . : 0x%lx", HOOK_CONNECT(hook, gnutls_sess));
log_printf (" gnutls_cb . . . . . . : %p", HOOK_CONNECT(hook, gnutls_cb)); 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_dhkey_size . . : %d", HOOK_CONNECT(hook, gnutls_dhkey_size));
log_printf (" gnutls_priorities . . : '%s'", HOOK_CONNECT(hook, gnutls_priorities)); log_printf (" gnutls_priorities . . : '%s'", HOOK_CONNECT(hook, gnutls_priorities));
log_printf (" local_hostname. . . . : '%s'", HOOK_CONNECT(hook, local_hostname)); 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_recv. . . . . . : %d", HOOK_CONNECT(hook, child_recv));
log_printf (" child_send. . . . . . : %d", HOOK_CONNECT(hook, child_send)); log_printf (" child_send. . . . . . : %d", HOOK_CONNECT(hook, child_send));
log_printf (" child_pid . . . . . . : %d", HOOK_CONNECT(hook, child_pid)); 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_child_timer. . . : 0x%lx", HOOK_CONNECT(hook, hook_child_timer));
log_printf (" hook_fd . . . . . . . : %p", HOOK_CONNECT(hook, hook_fd)); log_printf (" hook_fd . . . . . . . : 0x%lx", HOOK_CONNECT(hook, hook_fd));
log_printf (" handshake_hook_fd . . : %p", HOOK_CONNECT(hook, handshake_hook_fd)); log_printf (" handshake_hook_fd . . : 0x%lx", HOOK_CONNECT(hook, handshake_hook_fd));
log_printf (" handshake_hook_timer. : %p", HOOK_CONNECT(hook, handshake_hook_timer)); 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_fd_flags. . : %d", HOOK_CONNECT(hook, handshake_fd_flags));
log_printf (" handshake_ip_address. : '%s'", HOOK_CONNECT(hook, handshake_ip_address)); log_printf (" handshake_ip_address. : '%s'", HOOK_CONNECT(hook, handshake_ip_address));
if (!hook_socketpair_ok) 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> * Copyright (C) 2003-2024 Sébastien Helleu <flashcode@flashtux.org>
* *
@@ -30,9 +30,9 @@
#include <errno.h> #include <errno.h>
#include "../weechat.h" #include "../weechat.h"
#include "../core-hook.h" #include "../wee-hook.h"
#include "../core-infolist.h" #include "../wee-infolist.h"
#include "../core-log.h" #include "../wee-log.h"
#include "../../gui/gui-chat.h" #include "../../gui/gui-chat.h"
@@ -347,7 +347,7 @@ hook_fd_print_log (struct t_hook *hook)
return; return;
log_printf (" fd data:"); 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 (" fd. . . . . . . . . . : %d", HOOK_FD(hook, fd));
log_printf (" flags . . . . . . . . : %d", HOOK_FD(hook, flags)); log_printf (" flags . . . . . . . . : %d", HOOK_FD(hook, flags));
log_printf (" error . . . . . . . . : %d", HOOK_FD(hook, error)); 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> * Copyright (C) 2003-2024 Sébastien Helleu <flashcode@flashtux.org>
* *
@@ -27,11 +27,11 @@
#include <string.h> #include <string.h>
#include "../weechat.h" #include "../weechat.h"
#include "../core-hashtable.h" #include "../wee-hashtable.h"
#include "../core-hook.h" #include "../wee-hook.h"
#include "../core-infolist.h" #include "../wee-infolist.h"
#include "../core-log.h" #include "../wee-log.h"
#include "../core-string.h" #include "../wee-string.h"
#include "../../plugins/plugin.h" #include "../../plugins/plugin.h"
@@ -331,6 +331,6 @@ hook_focus_print_log (struct t_hook *hook)
return; return;
log_printf (" focus data:"); 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)); 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> * Copyright (C) 2003-2024 Sébastien Helleu <flashcode@flashtux.org>
* *
@@ -27,12 +27,12 @@
#include <string.h> #include <string.h>
#include "../weechat.h" #include "../weechat.h"
#include "../core-hashtable.h" #include "../wee-hashtable.h"
#include "../core-hdata.h" #include "../wee-hdata.h"
#include "../core-hook.h" #include "../wee-hook.h"
#include "../core-infolist.h" #include "../wee-infolist.h"
#include "../core-log.h" #include "../wee-log.h"
#include "../core-string.h" #include "../wee-string.h"
/* /*
@@ -215,7 +215,7 @@ hook_hdata_print_log (struct t_hook *hook)
return; return;
log_printf (" hdata data:"); 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 (" hdata_name. . . . . . : '%s'", HOOK_HDATA(hook, hdata_name));
log_printf (" description . . . . . : '%s'", HOOK_HDATA(hook, description)); 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> * Copyright (C) 2003-2024 Sébastien Helleu <flashcode@flashtux.org>
* *
@@ -27,10 +27,10 @@
#include <string.h> #include <string.h>
#include "../weechat.h" #include "../weechat.h"
#include "../core-hook.h" #include "../wee-hook.h"
#include "../core-infolist.h" #include "../wee-infolist.h"
#include "../core-log.h" #include "../wee-log.h"
#include "../core-string.h" #include "../wee-string.h"
#include "../../plugins/plugin.h" #include "../../plugins/plugin.h"
@@ -233,7 +233,7 @@ hook_hsignal_print_log (struct t_hook *hook)
return; return;
log_printf (" signal data:"); log_printf (" signal data:");
log_printf (" callback. . . . . . . : %p", HOOK_HSIGNAL(hook, callback)); log_printf (" callback. . . . . . . : 0x%lx", HOOK_HSIGNAL(hook, callback));
log_printf (" signals:"); log_printf (" signals:");
for (i = 0; i < HOOK_HSIGNAL(hook, num_signals); i++) 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> * Copyright (C) 2003-2024 Sébastien Helleu <flashcode@flashtux.org>
* *
@@ -27,10 +27,10 @@
#include <string.h> #include <string.h>
#include "../weechat.h" #include "../weechat.h"
#include "../core-hook.h" #include "../wee-hook.h"
#include "../core-infolist.h" #include "../wee-infolist.h"
#include "../core-log.h" #include "../wee-log.h"
#include "../core-string.h" #include "../wee-string.h"
/* /*
@@ -237,7 +237,7 @@ hook_info_hashtable_print_log (struct t_hook *hook)
return; return;
log_printf (" info_hashtable data:"); 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 (" info_name . . . . . . : '%s'", HOOK_INFO_HASHTABLE(hook, info_name));
log_printf (" description . . . . . : '%s'", HOOK_INFO_HASHTABLE(hook, description)); log_printf (" description . . . . . : '%s'", HOOK_INFO_HASHTABLE(hook, description));
log_printf (" args_description. . . : '%s'", HOOK_INFO_HASHTABLE(hook, args_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> * Copyright (C) 2003-2024 Sébastien Helleu <flashcode@flashtux.org>
* *
@@ -27,10 +27,10 @@
#include <string.h> #include <string.h>
#include "../weechat.h" #include "../weechat.h"
#include "../core-hook.h" #include "../wee-hook.h"
#include "../core-infolist.h" #include "../wee-infolist.h"
#include "../core-log.h" #include "../wee-log.h"
#include "../core-string.h" #include "../wee-string.h"
/* /*
@@ -221,7 +221,7 @@ void
hook_info_print_log (struct t_hook *hook) hook_info_print_log (struct t_hook *hook)
{ {
log_printf (" info data:"); 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 (" info_name . . . . . . : '%s'", HOOK_INFO(hook, info_name));
log_printf (" description . . . . . : '%s'", HOOK_INFO(hook, description)); log_printf (" description . . . . . : '%s'", HOOK_INFO(hook, description));
log_printf (" args_description. . . : '%s'", HOOK_INFO(hook, args_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> * Copyright (C) 2003-2024 Sébastien Helleu <flashcode@flashtux.org>
* *
@@ -27,10 +27,10 @@
#include <string.h> #include <string.h>
#include "../weechat.h" #include "../weechat.h"
#include "../core-hook.h" #include "../wee-hook.h"
#include "../core-infolist.h" #include "../wee-infolist.h"
#include "../core-log.h" #include "../wee-log.h"
#include "../core-string.h" #include "../wee-string.h"
/* /*
@@ -238,7 +238,7 @@ hook_infolist_print_log (struct t_hook *hook)
return; return;
log_printf (" infolist data:"); 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 (" infolist_name . . . . : '%s'", HOOK_INFOLIST(hook, infolist_name));
log_printf (" description . . . . . : '%s'", HOOK_INFOLIST(hook, description)); log_printf (" description . . . . . : '%s'", HOOK_INFOLIST(hook, description));
log_printf (" pointer_description . : '%s'", HOOK_INFOLIST(hook, pointer_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> * Copyright (C) 2003-2024 Sébastien Helleu <flashcode@flashtux.org>
* *
@@ -27,11 +27,11 @@
#include <string.h> #include <string.h>
#include "../weechat.h" #include "../weechat.h"
#include "../core-hashtable.h" #include "../wee-hashtable.h"
#include "../core-hook.h" #include "../wee-hook.h"
#include "../core-infolist.h" #include "../wee-infolist.h"
#include "../core-log.h" #include "../wee-log.h"
#include "../core-string.h" #include "../wee-string.h"
#include "../../gui/gui-buffer.h" #include "../../gui/gui-buffer.h"
#include "../../gui/gui-line.h" #include "../../gui/gui-line.h"
#include "../../plugins/plugin.h" #include "../../plugins/plugin.h"
@@ -176,7 +176,8 @@ hook_line_exec (struct t_gui_line *line)
str_tags = string_rebuild_split_string ( str_tags = string_rebuild_split_string (
(const char **)line->data->tags_array, ",", 0, -1); (const char **)line->data->tags_array, ",", 0, -1);
HASHTABLE_SET_STR_NOT_NULL("tags", str_tags); 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("displayed", line->data->displayed);
HASHTABLE_SET_INT("notify_level", line->data->notify_level); HASHTABLE_SET_INT("notify_level", line->data->notify_level);
HASHTABLE_SET_INT("highlight", line->data->highlight); HASHTABLE_SET_INT("highlight", line->data->highlight);
@@ -205,7 +206,8 @@ hook_line_exec (struct t_gui_line *line)
hook_exec_end (); hook_exec_end ();
hashtable_free (hashtable); if (hashtable)
hashtable_free (hashtable);
} }
/* /*
@@ -277,9 +279,9 @@ hook_line_print_log (struct t_hook *hook)
return; return;
log_printf (" line data:"); 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 (" 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)); log_printf (" num_buffers . . . . . : %d", HOOK_LINE(hook, num_buffers));
for (i = 0; i < HOOK_LINE(hook, num_buffers); i++) 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]); i, HOOK_LINE(hook, buffers)[i]);
} }
log_printf (" tags_count. . . . . . : %d", HOOK_LINE(hook, tags_count)); 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)) if (HOOK_LINE(hook, tags_array))
{ {
for (i = 0; i < HOOK_LINE(hook, tags_count); i++) 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> * Copyright (C) 2003-2024 Sébastien Helleu <flashcode@flashtux.org>
* *
@@ -27,10 +27,10 @@
#include <string.h> #include <string.h>
#include "../weechat.h" #include "../weechat.h"
#include "../core-hook.h" #include "../wee-hook.h"
#include "../core-infolist.h" #include "../wee-infolist.h"
#include "../core-log.h" #include "../wee-log.h"
#include "../core-string.h" #include "../wee-string.h"
/* /*
@@ -213,6 +213,6 @@ hook_modifier_print_log (struct t_hook *hook)
return; return;
log_printf (" modifier data:"); 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)); 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> * Copyright (C) 2003-2024 Sébastien Helleu <flashcode@flashtux.org>
* *
@@ -27,10 +27,10 @@
#include <string.h> #include <string.h>
#include "../weechat.h" #include "../weechat.h"
#include "../core-hook.h" #include "../wee-hook.h"
#include "../core-infolist.h" #include "../wee-infolist.h"
#include "../core-log.h" #include "../wee-log.h"
#include "../core-string.h" #include "../wee-string.h"
#include "../../gui/gui-buffer.h" #include "../../gui/gui-buffer.h"
#include "../../gui/gui-color.h" #include "../../gui/gui-color.h"
#include "../../gui/gui-line.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); message_no_color = gui_color_decode (line->data->message, NULL);
if (!message_no_color) if (!message_no_color)
{ {
free (prefix_no_color); if (prefix_no_color)
free (prefix_no_color);
return; return;
} }
@@ -179,8 +180,10 @@ hook_print_exec (struct t_gui_buffer *buffer, struct t_gui_line *line)
ptr_hook = next_hook; ptr_hook = next_hook;
} }
free (prefix_no_color); if (prefix_no_color)
free (message_no_color); free (prefix_no_color);
if (message_no_color)
free (message_no_color);
hook_exec_end (); hook_exec_end ();
} }
@@ -254,10 +257,10 @@ hook_print_print_log (struct t_hook *hook)
return; return;
log_printf (" print data:"); log_printf (" print data:");
log_printf (" callback. . . . . . . : %p", HOOK_PRINT(hook, callback)); log_printf (" callback. . . . . . . : 0x%lx", HOOK_PRINT(hook, callback));
log_printf (" buffer. . . . . . . . : %p", HOOK_PRINT(hook, buffer)); log_printf (" buffer. . . . . . . . : 0x%lx", HOOK_PRINT(hook, buffer));
log_printf (" tags_count. . . . . . : %d", HOOK_PRINT(hook, tags_count)); 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)) if (HOOK_PRINT(hook, tags_array))
{ {
for (i = 0; i < HOOK_PRINT(hook, tags_count); i++) 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> * Copyright (C) 2003-2024 Sébastien Helleu <flashcode@flashtux.org>
* *
@@ -32,12 +32,12 @@
#include <errno.h> #include <errno.h>
#include "../weechat.h" #include "../weechat.h"
#include "../core-hashtable.h" #include "../wee-hashtable.h"
#include "../core-hook.h" #include "../wee-hook.h"
#include "../core-infolist.h" #include "../wee-infolist.h"
#include "../core-log.h" #include "../wee-log.h"
#include "../core-string.h" #include "../wee-string.h"
#include "../core-url.h" #include "../wee-url.h"
#include "../../gui/gui-chat.h" #include "../../gui/gui-chat.h"
#include "../../plugins/plugin.h" #include "../../plugins/plugin.h"
@@ -177,10 +177,14 @@ hook_process_hashtable (struct t_weechat_plugin *plugin,
return new_hook; return new_hook;
error: error:
free (stdout_buffer); if (stdout_buffer)
free (stderr_buffer); free (stdout_buffer);
free (new_hook); if (stderr_buffer)
free (new_hook_process); free (stderr_buffer);
if (new_hook)
free (new_hook);
if (new_hook_process)
free (new_hook_process);
return NULL; return NULL;
} }
@@ -361,7 +365,8 @@ hook_process_child (struct t_hook *hook_process)
} }
/* should not be executed if execvp was OK */ /* 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", fprintf (stderr, "Error with command '%s'\n",
HOOK_PROCESS(hook_process, command)); HOOK_PROCESS(hook_process, command));
} }
@@ -973,9 +978,9 @@ hook_process_print_log (struct t_hook *hook)
return; return;
log_printf (" process data:"); 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 (" command . . . . . . . : '%s'", HOOK_PROCESS(hook, command));
log_printf (" options . . . . . . . : %p (hashtable: '%s')", log_printf (" options . . . . . . . : 0x%lx (hashtable: '%s')",
HOOK_PROCESS(hook, options), HOOK_PROCESS(hook, options),
hashtable_get_string (HOOK_PROCESS(hook, options), hashtable_get_string (HOOK_PROCESS(hook, options),
"keys_values")); "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_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_write[stderr] . : %d", HOOK_PROCESS(hook, child_write[HOOK_PROCESS_STDERR]));
log_printf (" child_pid . . . . . . : %d", HOOK_PROCESS(hook, child_pid)); 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[stdin]. . . . : 0x%lx", 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[stdout] . . . : 0x%lx", 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_fd[stderr] . . . : 0x%lx", HOOK_PROCESS(hook, hook_fd[HOOK_PROCESS_STDERR]));
log_printf (" hook_timer. . . . . . : %p", HOOK_PROCESS(hook, hook_timer)); 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> * Copyright (C) 2003-2024 Sébastien Helleu <flashcode@flashtux.org>
* *
@@ -27,10 +27,10 @@
#include <string.h> #include <string.h>
#include "../weechat.h" #include "../weechat.h"
#include "../core-hook.h" #include "../wee-hook.h"
#include "../core-infolist.h" #include "../wee-infolist.h"
#include "../core-log.h" #include "../wee-log.h"
#include "../core-string.h" #include "../wee-string.h"
#include "../../plugins/plugin.h" #include "../../plugins/plugin.h"
@@ -234,7 +234,7 @@ hook_signal_print_log (struct t_hook *hook)
return; return;
log_printf (" signal data:"); log_printf (" signal data:");
log_printf (" callback. . . . . . . : %p", HOOK_SIGNAL(hook, callback)); log_printf (" callback. . . . . . . : 0x%lx", HOOK_SIGNAL(hook, callback));
log_printf (" signals:"); log_printf (" signals:");
for (i = 0; i < HOOK_SIGNAL(hook, num_signals); i++) 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> * Copyright (C) 2003-2024 Sébastien Helleu <flashcode@flashtux.org>
* *
@@ -28,10 +28,10 @@
#include <time.h> #include <time.h>
#include "../weechat.h" #include "../weechat.h"
#include "../core-hook.h" #include "../wee-hook.h"
#include "../core-infolist.h" #include "../wee-infolist.h"
#include "../core-log.h" #include "../wee-log.h"
#include "../core-util.h" #include "../wee-util.h"
#include "../../gui/gui-chat.h" #include "../../gui/gui-chat.h"
@@ -421,7 +421,7 @@ hook_timer_print_log (struct t_hook *hook)
return; return;
log_printf (" timer data:"); 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 (" interval. . . . . . . : %ld", HOOK_TIMER(hook, interval));
log_printf (" align_second. . . . . : %d", HOOK_TIMER(hook, align_second)); log_printf (" align_second. . . . . : %d", HOOK_TIMER(hook, align_second));
log_printf (" remaining_calls . . . : %d", HOOK_TIMER(hook, remaining_calls)); 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> * Copyright (C) 2023-2024 Sébastien Helleu <flashcode@flashtux.org>
* *
@@ -33,12 +33,12 @@
#include <pthread.h> #include <pthread.h>
#include "../weechat.h" #include "../weechat.h"
#include "../core-hashtable.h" #include "../wee-hashtable.h"
#include "../core-hook.h" #include "../wee-hook.h"
#include "../core-infolist.h" #include "../wee-infolist.h"
#include "../core-log.h" #include "../wee-log.h"
#include "../core-string.h" #include "../wee-string.h"
#include "../core-url.h" #include "../wee-url.h"
#include "../../gui/gui-chat.h" #include "../../gui/gui-chat.h"
#include "../../plugins/plugin.h" #include "../../plugins/plugin.h"
@@ -347,8 +347,10 @@ hook_url (struct t_weechat_plugin *plugin,
return new_hook; return new_hook;
error: error:
free (new_hook); if (new_hook)
free (new_hook_url); free (new_hook);
if (new_hook_url)
free (new_hook_url);
return NULL; return NULL;
} }
@@ -442,17 +444,17 @@ hook_url_print_log (struct t_hook *hook)
return; return;
log_printf (" url data:"); 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 (" url . . . . . . . . . : '%s'", HOOK_URL(hook, url));
log_printf (" options . . . . . . . : %p (hashtable: '%s')", log_printf (" options . . . . . . . : 0x%lx (hashtable: '%s')",
HOOK_URL(hook, options), HOOK_URL(hook, options),
hashtable_get_string (HOOK_URL(hook, options), hashtable_get_string (HOOK_URL(hook, options),
"keys_values")); "keys_values"));
log_printf (" timeout . . . . . . . : %ld", HOOK_URL(hook, timeout)); log_printf (" timeout . . . . . . . : %ld", HOOK_URL(hook, timeout));
log_printf (" thread_created. . . . : %d", (int)HOOK_URL(hook, thread_created)); log_printf (" thread_created. . . . : %d", (int)HOOK_URL(hook, thread_created));
log_printf (" thread_running. . . . : %d", (int)HOOK_URL(hook, thread_running)); log_printf (" thread_running. . . . : %d", (int)HOOK_URL(hook, thread_running));
log_printf (" hook_timer. . . . . . : %p", HOOK_URL(hook, hook_timer)); log_printf (" hook_timer. . . . . . : 0x%lx", HOOK_URL(hook, hook_timer));
log_printf (" output. . . . . . . . : %p (hashtable: '%s')", log_printf (" output. . . . . . . . : 0x%lx (hashtable: '%s')",
HOOK_URL(hook, output), HOOK_URL(hook, output),
hashtable_get_string (HOOK_URL(hook, output), hashtable_get_string (HOOK_URL(hook, output),
"keys_values")); "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> * Copyright (C) 2014-2024 Sébastien Helleu <flashcode@flashtux.org>
* *
@@ -27,9 +27,9 @@
#include <string.h> #include <string.h>
#include "weechat.h" #include "weechat.h"
#include "core-arraylist.h" #include "wee-arraylist.h"
#include "core-log.h" #include "wee-log.h"
#include "core-string.h" #include "wee-string.h"
/* /*
@@ -687,7 +687,10 @@ arraylist_free (struct t_arraylist *arraylist)
arraylist->data[i]); arraylist->data[i]);
} }
} }
free (arraylist->data);
if (arraylist->data)
free (arraylist->data);
free (arraylist); free (arraylist);
} }
@@ -700,24 +703,25 @@ arraylist_print_log (struct t_arraylist *arraylist, const char *name)
{ {
int i; 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 . . . . . . . . . : %d", arraylist->size);
log_printf (" size_alloc . . . . . . : %d", arraylist->size_alloc); log_printf (" size_alloc . . . . . . : %d", arraylist->size_alloc);
log_printf (" size_alloc_min . . . . : %d", arraylist->size_alloc_min); log_printf (" size_alloc_min . . . . : %d", arraylist->size_alloc_min);
log_printf (" sorted . . . . . . . . : %d", arraylist->sorted); log_printf (" sorted . . . . . . . . : %d", arraylist->sorted);
log_printf (" allow_duplicates . . . : %d", arraylist->allow_duplicates); log_printf (" allow_duplicates . . . : %d", arraylist->allow_duplicates);
log_printf (" data . . . . . . . . . : %p", arraylist->data); log_printf (" data . . . . . . . . . : 0x%lx", arraylist->data);
if (arraylist->data) if (arraylist->data)
{ {
for (i = 0; i < arraylist->size_alloc; i++) 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 . . . . . : 0x%lx", arraylist->callback_cmp);
log_printf (" callback_cmp_data. . . : %p", log_printf (" callback_cmp_data. . . : 0x%lx",
arraylist->callback_cmp_data); arraylist->callback_cmp_data);
log_printf (" callback_free. . . . . : %p", arraylist->callback_free); log_printf (" callback_free. . . . . : 0x%lx", arraylist->callback_free);
log_printf (" callback_free_data . . : %p", log_printf (" callback_free_data . . : 0x%lx",
arraylist->callback_free_data); 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> * Copyright (C) 2003-2024 Sébastien Helleu <flashcode@flashtux.org>
* *
@@ -39,10 +39,10 @@
#endif #endif
#include "weechat.h" #include "weechat.h"
#include "core-backtrace.h" #include "wee-backtrace.h"
#include "core-log.h" #include "wee-log.h"
#include "core-string.h" #include "wee-string.h"
#include "core-version.h" #include "wee-version.h"
#include "../plugins/plugin.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> * Copyright (C) 2019-2024 Sébastien Helleu <flashcode@flashtux.org>
* *
@@ -30,8 +30,8 @@
#include <locale.h> #include <locale.h>
#include "weechat.h" #include "weechat.h"
#include "core-arraylist.h" #include "wee-arraylist.h"
#include "core-string.h" #include "wee-string.h"
enum t_calc_symbol enum t_calc_symbol
{ {
@@ -475,8 +475,10 @@ calc_expression (const char *expr)
calc_format_result (value, str_result, sizeof (str_result)); calc_format_result (value, str_result, sizeof (str_result));
end: end:
arraylist_free (list_values); if (list_values)
arraylist_free (list_ops); arraylist_free (list_values);
if (list_ops)
arraylist_free (list_ops);
return strdup (str_result); return strdup (str_result);
} }

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