mirror of
https://github.com/weechat/weechat.git
synced 2026-06-27 13:26:38 +02:00
Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 2d387313a0 |
+14
-54
@@ -4,20 +4,17 @@ on:
|
|||||||
- push
|
- push
|
||||||
- pull_request
|
- pull_request
|
||||||
|
|
||||||
env:
|
|
||||||
WEECHAT_DEPENDENCIES: devscripts equivs python3-pip libenchant-dev autopoint cmake ninja-build lcov pkg-config libncursesw5-dev gem2deb libperl-dev python2-dev python3-dev libaspell-dev liblua5.3-dev tcl8.6-dev guile-2.2-dev libv8-dev libcurl4-gnutls-dev libgcrypt20-dev libgnutls28-dev libzstd-dev zlib1g-dev curl libcpputest-dev php8.0-dev libphp8.0-embed libargon2-dev libsodium-dev pylint python3-bandit asciidoctor
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
|
|
||||||
tests_linux:
|
build_linux:
|
||||||
|
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
os:
|
os:
|
||||||
- ubuntu-20.04
|
- ubuntu-20.04
|
||||||
config:
|
config:
|
||||||
- { name: "cmake_gcc", cc: "gcc", cxx: "g++", tool: "cmake", args: "" }
|
- { name: "cmake_gcc", cc: "gcc", cxx: "g++", tool: "cmake", args: "" }
|
||||||
- { name: "cmake_gcc_ninja", cc: "gcc", cxx: "g++", tool: "cmake", args: "-G Ninja" }
|
|
||||||
- { name: "cmake_gcc_no_nls", cc: "gcc", cxx: "g++", tool: "cmake", args: "-DENABLE_NLS=OFF" }
|
- { name: "cmake_gcc_no_nls", cc: "gcc", cxx: "g++", tool: "cmake", args: "-DENABLE_NLS=OFF" }
|
||||||
- { name: "cmake_gcc_py2", cc: "gcc", cxx: "g++", tool: "cmake", args: "-DENABLE_PYTHON2=ON" }
|
- { name: "cmake_gcc_py2", cc: "gcc", cxx: "g++", tool: "cmake", args: "-DENABLE_PYTHON2=ON" }
|
||||||
- { name: "cmake_gcc_coverage", cc: "gcc", cxx: "g++", tool: "cmake", args: "-DENABLE_CODE_COVERAGE=ON" }
|
- { name: "cmake_gcc_coverage", cc: "gcc", cxx: "g++", tool: "cmake", args: "-DENABLE_CODE_COVERAGE=ON" }
|
||||||
@@ -25,7 +22,7 @@ jobs:
|
|||||||
- { name: "autotools_gcc", cc: "gcc", cxx: "g++", tool: "autotools", args: "" }
|
- { name: "autotools_gcc", cc: "gcc", cxx: "g++", tool: "autotools", args: "" }
|
||||||
- { name: "autotools_clang", cc: "clang", cxx: "clang++", tool: "autotools", args: "" }
|
- { name: "autotools_clang", cc: "clang", cxx: "clang++", tool: "autotools", args: "" }
|
||||||
|
|
||||||
name: "Tests: ${{ matrix.config.name }} on ${{ matrix.os }}"
|
name: ${{ matrix.config.name }} on ${{ matrix.os }}
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
@@ -36,10 +33,12 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
sudo apt-add-repository --yes ppa:ondrej/php
|
sudo apt-add-repository --yes ppa:ondrej/php
|
||||||
sudo apt-get update -qq
|
sudo apt-get update -qq
|
||||||
sudo apt-get --yes purge php8.1-dev
|
sudo apt-get --yes --no-install-recommends install devscripts equivs python3-pip libenchant-dev autopoint cmake lcov pkg-config libncursesw5-dev gem2deb libperl-dev python2-dev python3-dev libaspell-dev liblua5.3-dev tcl8.6-dev guile-2.0-dev libv8-dev libcurl4-gnutls-dev libgcrypt20-dev libgnutls28-dev zlib1g-dev curl libcpputest-dev php8.0-dev libphp8.0-embed libargon2-0-dev libsodium-dev pylint python3-bandit asciidoctor
|
||||||
sudo apt-get --yes --no-install-recommends install ${{ env.WEECHAT_DEPENDENCIES }}
|
|
||||||
sudo -H pip3 install --ignore-installed msgcheck
|
sudo -H pip3 install --ignore-installed msgcheck
|
||||||
|
|
||||||
|
- name: Test patches
|
||||||
|
run: ./tools/build-debian.sh test-patches
|
||||||
|
|
||||||
- name: Check gettext files
|
- name: Check gettext files
|
||||||
run: msgcheck po/*.po
|
run: msgcheck po/*.po
|
||||||
|
|
||||||
@@ -52,7 +51,7 @@ jobs:
|
|||||||
bandit tests/scripts/python/testapigen.py tests/scripts/python/testapi.py tests/scripts/python/unparse.py
|
bandit tests/scripts/python/testapigen.py tests/scripts/python/testapi.py tests/scripts/python/unparse.py
|
||||||
|
|
||||||
- name: Check Python stub file
|
- name: Check Python stub file
|
||||||
run: ./doc/python_stub.py | diff src/plugins/python/weechat.pyi -
|
run: ./doc/python_stub.py | diff - src/plugins/python/weechat.pyi
|
||||||
|
|
||||||
- name: Build and run tests
|
- name: Build and run tests
|
||||||
env:
|
env:
|
||||||
@@ -71,7 +70,7 @@ jobs:
|
|||||||
weechat --colors
|
weechat --colors
|
||||||
weechat --license
|
weechat --license
|
||||||
weechat --version
|
weechat --version
|
||||||
weechat --run-command "/debug dirs;/debug libs" --run-command "/quit"
|
weechat --temp-dir --run-command "/debug dirs;/debug libs" --run-command "/quit"
|
||||||
|
|
||||||
- name: Code coverage
|
- name: Code coverage
|
||||||
if: ${{ matrix.config.name == 'cmake_gcc_coverage' }}
|
if: ${{ matrix.config.name == 'cmake_gcc_coverage' }}
|
||||||
@@ -84,18 +83,18 @@ jobs:
|
|||||||
lcov --list coverage.info
|
lcov --list coverage.info
|
||||||
bash <(curl -s https://codecov.io/bash) -f coverage.info || echo 'Codecov error'
|
bash <(curl -s https://codecov.io/bash) -f coverage.info || echo 'Codecov error'
|
||||||
|
|
||||||
tests_macos:
|
build_macos:
|
||||||
|
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
os:
|
os:
|
||||||
- macos-11
|
- macos-latest
|
||||||
- macos-10.15
|
|
||||||
config:
|
config:
|
||||||
- { name: "cmake_gcc", cc: "gcc", cxx: "g++" }
|
- { name: "cmake_gcc", cc: "gcc", cxx: "g++" }
|
||||||
- { name: "cmake_clang", cc: "clang", cxx: "clang++" }
|
- { name: "cmake_clang", cc: "clang", cxx: "clang++" }
|
||||||
|
|
||||||
name: "Tests: ${{ matrix.config.name }} on ${{ matrix.os }}"
|
name: ${{ matrix.config.name }} on ${{ matrix.os }}
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
@@ -126,43 +125,4 @@ jobs:
|
|||||||
weechat --colors
|
weechat --colors
|
||||||
weechat --license
|
weechat --license
|
||||||
weechat --version
|
weechat --version
|
||||||
weechat --run-command "/debug dirs;/debug libs" --run-command "/quit"
|
weechat --temp-dir --run-command "/debug dirs;/debug libs" --run-command "/quit"
|
||||||
|
|
||||||
build_debian:
|
|
||||||
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
os:
|
|
||||||
- ubuntu-20.04
|
|
||||||
|
|
||||||
name: "Build Debian on ${{ matrix.os }}"
|
|
||||||
runs-on: ${{ matrix.os }}
|
|
||||||
|
|
||||||
steps:
|
|
||||||
|
|
||||||
- uses: actions/checkout@v2
|
|
||||||
|
|
||||||
- name: Install dependencies
|
|
||||||
run: |
|
|
||||||
sudo apt-add-repository --yes ppa:ondrej/php
|
|
||||||
sudo apt-get update -qq
|
|
||||||
sudo apt-get --yes purge php8.1-dev
|
|
||||||
sudo apt-get --yes --no-install-recommends install ${{ env.WEECHAT_DEPENDENCIES }} php-dev
|
|
||||||
|
|
||||||
- name: Test Debian patches
|
|
||||||
run: ./tools/build-debian.sh test-patches
|
|
||||||
|
|
||||||
- name: Build Debian packages
|
|
||||||
run: ./tools/build-debian.sh devel ubuntu/focal
|
|
||||||
|
|
||||||
- name: Install Debian packages
|
|
||||||
run: sudo dpkg -i ../weechat-devel*.deb
|
|
||||||
|
|
||||||
- name: Run WeeChat
|
|
||||||
env:
|
|
||||||
TERM: xterm-256color
|
|
||||||
run: |
|
|
||||||
weechat --help
|
|
||||||
weechat-curses --help
|
|
||||||
weechat --version
|
|
||||||
weechat --run-command "/debug dirs;/debug libs" --run-command "/quit"
|
|
||||||
|
|||||||
@@ -11,9 +11,7 @@ Sébastien Helleu <flashcode@flashtux.org> <flashcode>
|
|||||||
Sébastien Helleu <flashcode@flashtux.org> <uid67137>
|
Sébastien Helleu <flashcode@flashtux.org> <uid67137>
|
||||||
Nils Görs <weechatter@arcor.de>
|
Nils Görs <weechatter@arcor.de>
|
||||||
Ryuunosuke Ayanokouzi <i38w7i3@yahoo.co.jp>
|
Ryuunosuke Ayanokouzi <i38w7i3@yahoo.co.jp>
|
||||||
Krzysztof Korościk <soltys@soltys.info>
|
Krzysztof Korościk <soltys1@gmail.com> <soltys@szluug.org> <soltys@soltys.info>
|
||||||
Krzysztof Korościk <soltys@soltys.info> <soltys1@gmail.com>
|
|
||||||
Krzysztof Korościk <soltys@soltys.info> <soltys@szluug.org>
|
|
||||||
Marco Paolone <marcopaolone@gmail.com>
|
Marco Paolone <marcopaolone@gmail.com>
|
||||||
<marcopaolone@gmail.com> <marco@DrB4tch.sitecomwl601>
|
<marcopaolone@gmail.com> <marco@DrB4tch.sitecomwl601>
|
||||||
<mikaela.suomalainen@outlook.com> <mkaysi@outlook.com>
|
<mikaela.suomalainen@outlook.com> <mkaysi@outlook.com>
|
||||||
|
|||||||
+46
@@ -0,0 +1,46 @@
|
|||||||
|
dist: bionic
|
||||||
|
sudo: required
|
||||||
|
language: c
|
||||||
|
|
||||||
|
env:
|
||||||
|
- CC="gcc" CXX="g++" BUILDTOOL="cmake" BUILDARGS=""
|
||||||
|
- CC="gcc" CXX="g++" BUILDTOOL="cmake" BUILDARGS="-DENABLE_PYTHON2=ON"
|
||||||
|
# - CC="gcc" CXX="g++" BUILDTOOL="cmake" BUILDARGS="-DENABLE_CODE_COVERAGE=ON" CODECOVERAGE="1"
|
||||||
|
- CC="gcc" CXX="g++" BUILDTOOL="autotools" BUILDARGS=""
|
||||||
|
- CC="gcc" CXX="g++" BUILDTOOL="autotools" BUILDARGS="--enable-python2"
|
||||||
|
- CC="clang" CXX="clang++" BUILDTOOL="cmake" BUILDARGS=""
|
||||||
|
- CC="clang" CXX="clang++" BUILDTOOL="cmake" BUILDARGS="-DENABLE_PYTHON2=ON"
|
||||||
|
- CC="clang" CXX="clang++" BUILDTOOL="autotools" BUILDARGS=""
|
||||||
|
- CC="clang" CXX="clang++" BUILDTOOL="autotools" BUILDARGS="--enable-python2"
|
||||||
|
|
||||||
|
matrix:
|
||||||
|
fast_finish: true
|
||||||
|
|
||||||
|
before_script:
|
||||||
|
- echo 'APT::Install-Recommends "false";' | sudo tee -a /etc/apt/apt.conf
|
||||||
|
- travis_retry sudo apt-get update -qq
|
||||||
|
- travis_retry sudo apt-get -y install devscripts equivs python-pip libenchant-dev autopoint cmake lcov pkg-config libncursesw5-dev gem2deb libperl-dev python-dev python3-dev libaspell-dev liblua5.3-dev tcl8.6-dev guile-2.0-dev libv8-dev libcurl4-gnutls-dev libgcrypt20-dev libgnutls28-dev zlib1g-dev curl libcpputest-dev php7.2-dev libphp7.2-embed libargon2-0-dev libsodium-dev pylint3
|
||||||
|
- travis_retry sudo gem install asciidoctor
|
||||||
|
- travis_retry sudo -H pip install --ignore-installed msgcheck
|
||||||
|
- phpenv local system
|
||||||
|
# work around broken travis environment variables, see https://github.com/travis-ci/travis-ci/issues/5301
|
||||||
|
- unset PYTHON_CFLAGS
|
||||||
|
|
||||||
|
script:
|
||||||
|
- ./tools/build-test.sh
|
||||||
|
- msgcheck po/*.po
|
||||||
|
- pylint3 --version
|
||||||
|
- pylint3 --additional-builtins=_ doc/docgen.py
|
||||||
|
- pylint3 tests/scripts/python/testapigen.py
|
||||||
|
- pylint3 tests/scripts/python/testapi.py
|
||||||
|
- pylint3 tests/scripts/python/unparse.py
|
||||||
|
- ./tools/build-debian.sh test-patches
|
||||||
|
|
||||||
|
after_success:
|
||||||
|
- weechat --help
|
||||||
|
- weechat-curses --help
|
||||||
|
- weechat --colors
|
||||||
|
- weechat --license
|
||||||
|
- weechat --version
|
||||||
|
- weechat --temp-dir --run-command "/debug dirs;/debug libs" --run-command "/quit"
|
||||||
|
# - if [ "$CODECOVERAGE" = "1" ]; then bash <(curl -s https://codecov.io/bash) -f coverage.info || echo "Codecov error"; fi
|
||||||
+2
-1
@@ -155,4 +155,5 @@ Alphabetically:
|
|||||||
|
|
||||||
== Contact
|
== Contact
|
||||||
|
|
||||||
See the https://weechat.org/about/support/[support page].
|
See https://weechat.org/files/doc/devel/weechat_user.en.html#support[user's guide]
|
||||||
|
or https://weechat.org/about/support
|
||||||
|
|||||||
+4
-7
@@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
|
# Copyright (C) 2003-2021 Sébastien Helleu <flashcode@flashtux.org>
|
||||||
# Copyright (C) 2007-2008 Julien Louis <ptitlouis@sysif.net>
|
# Copyright (C) 2007-2008 Julien Louis <ptitlouis@sysif.net>
|
||||||
# Copyright (C) 2008-2009 Emmanuel Bouthenot <kolter@openics.org>
|
# Copyright (C) 2008-2009 Emmanuel Bouthenot <kolter@openics.org>
|
||||||
#
|
#
|
||||||
@@ -27,8 +27,8 @@ project(weechat C)
|
|||||||
set(CMAKE_VERBOSE_MAKEFILE OFF)
|
set(CMAKE_VERBOSE_MAKEFILE OFF)
|
||||||
set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake ${CMAKE_MODULE_PATH})
|
set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake ${CMAKE_MODULE_PATH})
|
||||||
set(CMAKE_SKIP_RPATH ON)
|
set(CMAKE_SKIP_RPATH ON)
|
||||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsigned-char -fms-extensions -Wall -Wextra -Werror-implicit-function-declaration")
|
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsigned-char -Wall -Wextra -Werror-implicit-function-declaration")
|
||||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsigned-char -fms-extensions -Wall -Wextra")
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsigned-char -Wall -Wextra")
|
||||||
|
|
||||||
# version
|
# version
|
||||||
execute_process(COMMAND ${CMAKE_SOURCE_DIR}/version.sh devel-major OUTPUT_VARIABLE VERSION_MAJOR)
|
execute_process(COMMAND ${CMAKE_SOURCE_DIR}/version.sh devel-major OUTPUT_VARIABLE VERSION_MAJOR)
|
||||||
@@ -196,10 +196,7 @@ list(APPEND EXTRA_LIBS gnutls)
|
|||||||
|
|
||||||
# Check for zlib
|
# Check for zlib
|
||||||
find_package(ZLIB REQUIRED)
|
find_package(ZLIB REQUIRED)
|
||||||
|
add_definitions(-DHAVE_ZLIB)
|
||||||
# Check for zstd
|
|
||||||
include(FindPkgConfig)
|
|
||||||
pkg_check_modules(LIBZSTD REQUIRED libzstd)
|
|
||||||
|
|
||||||
# Check for iconv
|
# Check for iconv
|
||||||
find_package(Iconv)
|
find_package(Iconv)
|
||||||
|
|||||||
+453
-534
File diff suppressed because it is too large
Load Diff
+6
-5
@@ -29,8 +29,8 @@ please include:
|
|||||||
_WeeChat 1.7-dev (git: v1.6-6-g997f47f)_. +
|
_WeeChat 1.7-dev (git: v1.6-6-g997f47f)_. +
|
||||||
If WeeChat does not start at all, please include the version displayed by
|
If WeeChat does not start at all, please include the version displayed by
|
||||||
`weechat --help` (or the version installed with your package manager).
|
`weechat --help` (or the version installed with your package manager).
|
||||||
* Your *operating system*: its name and version (examples: Linux Debian Bullseye,
|
* Your *operating system*: its name and version (examples: Linux Debian Wheezy,
|
||||||
FreeBSD 13.0, Windows/Cygwin 64-bit, Windows/Ubuntu 64-bit...).
|
FreeBSD 10.0, Windows/Cygwin 64-bit, Windows/Ubuntu 64-bit...).
|
||||||
* The *steps to reproduce*: if possible, please include a reproducible example:
|
* The *steps to reproduce*: if possible, please include a reproducible example:
|
||||||
explain the steps which led you to the problem. +
|
explain the steps which led you to the problem. +
|
||||||
It's even better if you can reproduce the problem with a new config (and no
|
It's even better if you can reproduce the problem with a new config (and no
|
||||||
@@ -38,7 +38,8 @@ please include:
|
|||||||
problem here.
|
problem here.
|
||||||
* The *gdb's backtrace* (only for a crash): if you can reproduce the crash
|
* The *gdb's backtrace* (only for a crash): if you can reproduce the crash
|
||||||
(or if you have a core file), please include the backtrace from gdb (look at
|
(or if you have a core file), please include the backtrace from gdb (look at
|
||||||
https://weechat.org/doc/user#report_crashes[User's guide] for more info).
|
https://weechat.org/files/doc/devel/weechat_user.en.html#report_crashes[User's guide]
|
||||||
|
for more info).
|
||||||
* The *actual result*.
|
* The *actual result*.
|
||||||
* The *expected result*: the correct result you are expecting.
|
* The *expected result*: the correct result you are expecting.
|
||||||
|
|
||||||
@@ -68,7 +69,7 @@ time, for https://github.com/weechat/weechat[WeeChat] and the website
|
|||||||
https://github.com/weechat/weechat.org[weechat.org].
|
https://github.com/weechat/weechat.org[weechat.org].
|
||||||
|
|
||||||
To start a translation in a new language (not yet supported), please look at
|
To start a translation in a new language (not yet supported), please look at
|
||||||
https://weechat.org/doc/dev#translations[translations]
|
https://weechat.org/files/doc/devel/weechat_dev.en.html#translations[translations]
|
||||||
in Developer's guide.
|
in Developer's guide.
|
||||||
|
|
||||||
== Feature requests
|
== Feature requests
|
||||||
@@ -84,6 +85,6 @@ For major new features, it's better to discuss about it in IRC
|
|||||||
(server: _irc.libera.chat_, channel _#weechat_).
|
(server: _irc.libera.chat_, channel _#weechat_).
|
||||||
|
|
||||||
Before submitting any pull request, be sure you have read the
|
Before submitting any pull request, be sure you have read the
|
||||||
https://weechat.org/doc/dev#coding_rules[coding rules]
|
https://weechat.org/files/doc/devel/weechat_dev.en.html#coding_rules[coding rules]
|
||||||
in Developer's guide, which contains info about styles used, naming convention
|
in Developer's guide, which contains info about styles used, naming convention
|
||||||
and other useful info.
|
and other useful info.
|
||||||
|
|||||||
+1
-1
@@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
|
# Copyright (C) 2003-2021 Sébastien Helleu <flashcode@flashtux.org>
|
||||||
# Copyright (C) 2005 Julien Louis <ptitlouis@sysif.net>
|
# Copyright (C) 2005 Julien Louis <ptitlouis@sysif.net>
|
||||||
# Copyright (C) 2006-2009 Emmanuel Bouthenot <kolter@openics.org>
|
# Copyright (C) 2006-2009 Emmanuel Bouthenot <kolter@openics.org>
|
||||||
#
|
#
|
||||||
|
|||||||
+78
-9
@@ -23,13 +23,13 @@ Homepage: https://weechat.org/
|
|||||||
|
|
||||||
== Features
|
== Features
|
||||||
|
|
||||||
* *Modular chat client*: WeeChat has a lightweight core and optional https://weechat.org/doc/user#plugins[plugins]. All plugins (including https://weechat.org/doc/user#irc[IRC]) are independent and can be unloaded.
|
* *Modular chat client*: WeeChat has a lightweight core and optional https://weechat.org/files/doc/stable/weechat_user.en.html#plugins[plugins]. All plugins (including https://weechat.org/files/doc/stable/weechat_user.en.html#irc_plugin[IRC]) are independent and can be unloaded.
|
||||||
* *Multi-platform*: WeeChat runs on GNU/Linux, *BSD, GNU/Hurd, Haiku, macOS and Windows (Bash/Ubuntu and Cygwin).
|
* *Multi-platform*: WeeChat runs on GNU/Linux, *BSD, GNU/Hurd, Haiku, macOS and Windows (Bash/Ubuntu and Cygwin).
|
||||||
* *Multi-protocols*: WeeChat is designed to support multiple protocols by plugins, like IRC.
|
* *Multi-protocols*: WeeChat is designed to support multiple protocols by plugins, like IRC.
|
||||||
* *Standards-compliant*: the IRC plugin is compliant with RFCs https://tools.ietf.org/html/rfc1459[1459], https://tools.ietf.org/html/rfc2810[2810], https://tools.ietf.org/html/rfc2811[2811], https://tools.ietf.org/html/rfc2812[2812], and https://tools.ietf.org/html/rfc2813[2813].
|
* *Standards-compliant*: the IRC plugin is compliant with RFCs https://tools.ietf.org/html/rfc1459[1459], https://tools.ietf.org/html/rfc2810[2810], https://tools.ietf.org/html/rfc2811[2811], https://tools.ietf.org/html/rfc2812[2812] and https://tools.ietf.org/html/rfc2813[2813].
|
||||||
* *Small, fast, and very light*: the core is and should stay as light and fast as possible.
|
* *Small, fast and very light*: the core is and should stay as light and fast as possible.
|
||||||
* *Customizable and extensible*: there are a lot of options to customize WeeChat, and it is extensible with C plugins and https://weechat.org/scripts/[scripts] (https://weechat.org/scripts/language/perl/[Perl], https://weechat.org/scripts/language/python/[Python], https://weechat.org/scripts/language/ruby[Ruby], https://weechat.org/scripts/language/lua/[Lua], https://weechat.org/scripts/language/tcl/[Tcl], https://weechat.org/scripts/language/guile/[Scheme], https://weechat.org/scripts/language/javascript/[JavaScript] and https://weechat.org/scripts/language/php/[PHP]).
|
* *Customizable and extensible*: there are a lot of options to customize WeeChat, and it is extensible with C plugins and https://weechat.org/scripts/[scripts] (https://weechat.org/scripts/stable/language/perl/[Perl], https://weechat.org/scripts/stable/language/python/[Python], https://weechat.org/scripts/stable/language/ruby[Ruby], https://weechat.org/scripts/stable/language/lua/[Lua], https://weechat.org/scripts/stable/language/tcl/[Tcl], https://weechat.org/scripts/stable/language/guile/[Scheme], https://weechat.org/scripts/stable/language/javascript/[JavaScript] and https://weechat.org/scripts/stable/language/php/[PHP]).
|
||||||
* *Fully documented*: there is comprehensive https://weechat.org/doc/[documentation], which is https://weechat.org/doc/dev#translations[translated] into several languages.
|
* *Fully documented*: there is comprehensive https://weechat.org/doc/[documentation], which is https://weechat.org/files/doc/stable/weechat_dev.en.html#translations[translated] into several languages.
|
||||||
* *Developed from scratch*: WeeChat was built from scratch and is not based on any other client.
|
* *Developed from scratch*: WeeChat was built from scratch and is not based on any other client.
|
||||||
* *Free software*: WeeChat is released under https://www.gnu.org/licenses/gpl-3.0.html[GPLv3].
|
* *Free software*: WeeChat is released under https://www.gnu.org/licenses/gpl-3.0.html[GPLv3].
|
||||||
|
|
||||||
@@ -37,15 +37,84 @@ pass:[<p align="center">] image:https://weechat.org/media/images/screenshots/wee
|
|||||||
|
|
||||||
On WeeChat's website you can find https://weechat.org/about/screenshots/[more screenshots].
|
On WeeChat's website you can find https://weechat.org/about/screenshots/[more screenshots].
|
||||||
|
|
||||||
== Installation
|
== Install
|
||||||
|
|
||||||
WeeChat can be installed using your favorite package manager (recommended) or by compiling it yourself.
|
=== Dependencies
|
||||||
|
|
||||||
For detailed instructions, please check the https://weechat.org/doc/user#install[WeeChat user's guide].
|
Following packages are *required*:
|
||||||
|
|
||||||
|
* CMake
|
||||||
|
* libncurses
|
||||||
|
* libcurl
|
||||||
|
* zlib
|
||||||
|
* libgcrypt
|
||||||
|
|
||||||
|
Following packages are optional:
|
||||||
|
|
||||||
|
* for i18n: gettext
|
||||||
|
* for SSL: gnutls, ca-certificates
|
||||||
|
* for spell checking: aspell or enchant
|
||||||
|
* for scripting: python, perl, ruby, lua, tcl, guile, libv8 (javascript), php
|
||||||
|
* for building doc and man page: asciidoctor
|
||||||
|
* for building tests: C++ compiler, CppUTest
|
||||||
|
|
||||||
|
For a complete list of dependencies and versions recommended, please look at
|
||||||
|
https://weechat.org/files/doc/devel/weechat_user.en.html#dependencies[user's guide].
|
||||||
|
|
||||||
|
=== Compile
|
||||||
|
|
||||||
|
WeeChat can be built with https://cmake.org/[CMake] (recommended) or autotools.
|
||||||
|
|
||||||
|
[NOTE]
|
||||||
|
Only CMake is officially supported to build WeeChat. You should only use
|
||||||
|
autotools if you are not able to use CMake. +
|
||||||
|
Building with autotools requires more dependencies and is slower than with CMake.
|
||||||
|
|
||||||
|
* Installation in system directories (requires _root_ privileges):
|
||||||
|
|
||||||
|
----
|
||||||
|
$ mkdir build
|
||||||
|
$ cd build
|
||||||
|
$ cmake ..
|
||||||
|
$ make
|
||||||
|
$ sudo make install
|
||||||
|
----
|
||||||
|
|
||||||
|
* Installation in custom directory (for example your home):
|
||||||
|
|
||||||
|
----
|
||||||
|
$ mkdir build
|
||||||
|
$ cd build
|
||||||
|
$ cmake .. -DCMAKE_INSTALL_PREFIX=/path/to/directory
|
||||||
|
$ make
|
||||||
|
$ make install
|
||||||
|
----
|
||||||
|
|
||||||
|
For more information or installation with autotools, please look at
|
||||||
|
https://weechat.org/files/doc/devel/weechat_user.en.html#compile_with_autotools[user's guide].
|
||||||
|
|
||||||
|
=== Run tests
|
||||||
|
|
||||||
|
Following packages are *required* to compile tests:
|
||||||
|
|
||||||
|
* libcpputest-dev
|
||||||
|
* C++ compiler
|
||||||
|
|
||||||
|
Tests must be enabled when compiling WeeChat:
|
||||||
|
|
||||||
|
----
|
||||||
|
$ cmake .. -DENABLE_TESTS=ON
|
||||||
|
----
|
||||||
|
|
||||||
|
They can be launched after compilation from the build directory:
|
||||||
|
|
||||||
|
----
|
||||||
|
$ ctest -V
|
||||||
|
----
|
||||||
|
|
||||||
== Copyright
|
== Copyright
|
||||||
|
|
||||||
Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
|
Copyright (C) 2003-2021 Sébastien Helleu <flashcode@flashtux.org>
|
||||||
|
|
||||||
This file is part of WeeChat, the extensible chat client.
|
This file is part of WeeChat, the extensible chat client.
|
||||||
|
|
||||||
|
|||||||
+262
-325
File diff suppressed because it is too large
Load Diff
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
#
|
#
|
||||||
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
|
# Copyright (C) 2003-2021 Sébastien Helleu <flashcode@flashtux.org>
|
||||||
# Copyright (C) 2005 Julien Louis <ptitlouis@sysif.net>
|
# Copyright (C) 2005 Julien Louis <ptitlouis@sysif.net>
|
||||||
# Copyright (C) 2005-2006 Emmanuel Bouthenot <kolter@openics.org>
|
# Copyright (C) 2005-2006 Emmanuel Bouthenot <kolter@openics.org>
|
||||||
#
|
#
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
|
# Copyright (C) 2003-2021 Sébastien Helleu <flashcode@flashtux.org>
|
||||||
#
|
#
|
||||||
# This file is part of WeeChat, the extensible chat client.
|
# This file is part of WeeChat, the extensible chat client.
|
||||||
#
|
#
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
|
# Copyright (C) 2003-2021 Sébastien Helleu <flashcode@flashtux.org>
|
||||||
#
|
#
|
||||||
# This file is part of WeeChat, the extensible chat client.
|
# This file is part of WeeChat, the extensible chat client.
|
||||||
#
|
#
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (C) 2014-2022 Sébastien Helleu <flashcode@flashtux.org>
|
# Copyright (C) 2014-2021 Sébastien Helleu <flashcode@flashtux.org>
|
||||||
#
|
#
|
||||||
# This file is part of WeeChat, the extensible chat client.
|
# This file is part of WeeChat, the extensible chat client.
|
||||||
#
|
#
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
|
# Copyright (C) 2003-2021 Sébastien Helleu <flashcode@flashtux.org>
|
||||||
#
|
#
|
||||||
# This file is part of WeeChat, the extensible chat client.
|
# This file is part of WeeChat, the extensible chat client.
|
||||||
#
|
#
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
|
# Copyright (C) 2003-2021 Sébastien Helleu <flashcode@flashtux.org>
|
||||||
# Copyright (C) 2007 Julien Louis <ptitlouis@sysif.net>
|
# Copyright (C) 2007 Julien Louis <ptitlouis@sysif.net>
|
||||||
# Copyright (C) 2009 Emmanuel Bouthenot <kolter@openics.org>
|
# Copyright (C) 2009 Emmanuel Bouthenot <kolter@openics.org>
|
||||||
#
|
#
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
|
# Copyright (C) 2003-2021 Sébastien Helleu <flashcode@flashtux.org>
|
||||||
# Copyright (C) 2009 Emmanuel Bouthenot <kolter@openics.org>
|
# Copyright (C) 2009 Emmanuel Bouthenot <kolter@openics.org>
|
||||||
#
|
#
|
||||||
# This file is part of WeeChat, the extensible chat client.
|
# This file is part of WeeChat, the extensible chat client.
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (C) 2011-2022 Sébastien Helleu <flashcode@flashtux.org>
|
# Copyright (C) 2011-2021 Sébastien Helleu <flashcode@flashtux.org>
|
||||||
#
|
#
|
||||||
# This file is part of WeeChat, the extensible chat client.
|
# This file is part of WeeChat, the extensible chat client.
|
||||||
#
|
#
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
|
# Copyright (C) 2003-2021 Sébastien Helleu <flashcode@flashtux.org>
|
||||||
#
|
#
|
||||||
# This file is part of WeeChat, the extensible chat client.
|
# This file is part of WeeChat, the extensible chat client.
|
||||||
#
|
#
|
||||||
|
|||||||
+1
-1
@@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
|
# Copyright (C) 2003-2021 Sébastien Helleu <flashcode@flashtux.org>
|
||||||
#
|
#
|
||||||
# This file is part of WeeChat, the extensible chat client.
|
# This file is part of WeeChat, the extensible chat client.
|
||||||
#
|
#
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
|
# Copyright (C) 2003-2021 Sébastien Helleu <flashcode@flashtux.org>
|
||||||
#
|
#
|
||||||
# This file is part of WeeChat, the extensible chat client.
|
# This file is part of WeeChat, the extensible chat client.
|
||||||
#
|
#
|
||||||
|
|||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
#
|
#
|
||||||
# Copyright (C) 2017 Adam Saponara <as@php.net>
|
# Copyright (C) 2017 Adam Saponara <as@php.net>
|
||||||
# Copyright (C) 2017-2022 Sébastien Helleu <flashcode@flashtux.org>
|
# Copyright (C) 2017-2021 Sébastien Helleu <flashcode@flashtux.org>
|
||||||
#
|
#
|
||||||
# This file is part of WeeChat, the extensible chat client.
|
# This file is part of WeeChat, the extensible chat client.
|
||||||
#
|
#
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
|
# Copyright (C) 2003-2021 Sébastien Helleu <flashcode@flashtux.org>
|
||||||
#
|
#
|
||||||
# This file is part of WeeChat, the extensible chat client.
|
# This file is part of WeeChat, the extensible chat client.
|
||||||
#
|
#
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
|
# Copyright (C) 2003-2021 Sébastien Helleu <flashcode@flashtux.org>
|
||||||
# Copyright (C) 2009 Julien Louis <ptitlouis@sysif.net>
|
# Copyright (C) 2009 Julien Louis <ptitlouis@sysif.net>
|
||||||
#
|
#
|
||||||
# This file is part of WeeChat, the extensible chat client.
|
# This file is part of WeeChat, the extensible chat client.
|
||||||
|
|||||||
+47
-9
@@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
|
# Copyright (C) 2003-2021 Sébastien Helleu <flashcode@flashtux.org>
|
||||||
#
|
#
|
||||||
# This file is part of WeeChat, the extensible chat client.
|
# This file is part of WeeChat, the extensible chat client.
|
||||||
#
|
#
|
||||||
@@ -33,13 +33,51 @@ endif()
|
|||||||
|
|
||||||
find_package(PkgConfig)
|
find_package(PkgConfig)
|
||||||
if(PKG_CONFIG_FOUND)
|
if(PKG_CONFIG_FOUND)
|
||||||
if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
|
pkg_search_module(RUBY ruby-2.7 ruby-2.6 ruby-2.5 ruby-2.4 ruby-2.3 ruby-2.2 ruby-2.1 ruby-2.0 ruby-1.9)
|
||||||
# set specific search path for macOS
|
endif()
|
||||||
set(ENV{PKG_CONFIG_PATH} "$ENV{PKG_CONFIG_PATH}:/usr/local/opt/ruby/lib/pkgconfig")
|
|
||||||
endif()
|
if(RUBY_FOUND)
|
||||||
pkg_search_module(RUBY ruby-3.1 ruby-3.0 ruby-2.7 ruby-2.6 ruby-2.5 ruby-2.4 ruby-2.3 ruby-2.2 ruby-2.1 ruby-2.0 ruby-1.9 ruby)
|
set(RUBY_LIB "")
|
||||||
if(RUBY_FOUND AND ${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
|
mark_as_advanced(RUBY_LIB)
|
||||||
# FIXME: weird hack: hardcoding the Ruby lib location on macOS
|
else()
|
||||||
set(RUBY_LDFLAGS "${RUBY_LDFLAGS} -L/usr/local/opt/ruby/lib")
|
find_program(RUBY_EXECUTABLE
|
||||||
|
NAMES ruby2.7.0 ruby270 ruby2.7 ruby2.6.0 ruby260 ruby2.6 ruby2.5.0 ruby250 ruby2.5 ruby2.4.0 ruby240 ruby2.4 ruby2.3.0 ruby230 ruby2.3 ruby23 ruby2.2.3 ruby223 ruby2.2.2 ruby222 ruby2.2.1 ruby221 ruby2.2.0 ruby220 ruby2.2 ruby22 ruby2.1.7 ruby217 ruby2.1.6 ruby216 ruby2.1.5 ruby215 ruby2.1.4 ruby214 ruby2.1.3 ruby213 ruby2.1.2 ruby212 ruby2.1.1 ruby211 ruby2.1.0 ruby210 ruby2.1 ruby21 ruby2.0 ruby20 ruby1.9.3 ruby193 ruby1.9.2 ruby192 ruby1.9.1 ruby191 ruby1.9 ruby19 ruby
|
||||||
|
PATHS /usr/bin /usr/local/bin /usr/pkg/bin
|
||||||
|
)
|
||||||
|
if(RUBY_EXECUTABLE)
|
||||||
|
execute_process(
|
||||||
|
COMMAND ${RUBY_EXECUTABLE} -r rbconfig -e "print RbConfig::CONFIG['rubyhdrdir'] || RbConfig::CONFIG['archdir']"
|
||||||
|
OUTPUT_VARIABLE RUBY_ARCH_DIR
|
||||||
|
)
|
||||||
|
execute_process(
|
||||||
|
COMMAND ${RUBY_EXECUTABLE} -r rbconfig -e "print RbConfig::CONFIG['arch']"
|
||||||
|
OUTPUT_VARIABLE RUBY_ARCH
|
||||||
|
)
|
||||||
|
execute_process(
|
||||||
|
COMMAND ${RUBY_EXECUTABLE} -r rbconfig -e "print RbConfig::CONFIG['libdir']"
|
||||||
|
OUTPUT_VARIABLE RUBY_POSSIBLE_LIB_PATH
|
||||||
|
)
|
||||||
|
execute_process(
|
||||||
|
COMMAND ${RUBY_EXECUTABLE} -r rbconfig -e "print RbConfig::CONFIG['rubylibdir']"
|
||||||
|
OUTPUT_VARIABLE RUBY_RUBY_LIB_PATH
|
||||||
|
)
|
||||||
|
find_path(RUBY_INCLUDE_DIRS
|
||||||
|
NAMES ruby.h
|
||||||
|
PATHS ${RUBY_ARCH_DIR}
|
||||||
|
)
|
||||||
|
set(RUBY_INCLUDE_ARCH "${RUBY_INCLUDE_DIRS}/${RUBY_ARCH}")
|
||||||
|
find_library(RUBY_LIB
|
||||||
|
NAMES ruby-1.9.3 ruby1.9.3 ruby193 ruby-1.9.2 ruby1.9.2 ruby192 ruby-1.9.1 ruby1.9.1 ruby191 ruby1.9 ruby19 ruby
|
||||||
|
PATHS ${RUBY_POSSIBLE_LIB_PATH} ${RUBY_RUBY_LIB_PATH}
|
||||||
|
)
|
||||||
|
if(RUBY_LIB AND RUBY_INCLUDE_DIRS)
|
||||||
|
set(RUBY_FOUND TRUE)
|
||||||
|
endif()
|
||||||
|
set(RUBY_INCLUDE_DIRS "${RUBY_INCLUDE_DIRS};${RUBY_INCLUDE_ARCH}")
|
||||||
|
mark_as_advanced(
|
||||||
|
RUBY_INCLUDE_DIRS
|
||||||
|
RUBY_LIBRARY_DIRS
|
||||||
|
RUBY_LIB
|
||||||
|
)
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|||||||
+1
-1
@@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (C) 2015-2022 Sébastien Helleu <flashcode@flashtux.org>
|
# Copyright (C) 2015-2021 Sébastien Helleu <flashcode@flashtux.org>
|
||||||
#
|
#
|
||||||
# This file is part of WeeChat, the extensible chat client.
|
# This file is part of WeeChat, the extensible chat client.
|
||||||
#
|
#
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
|
# Copyright (C) 2003-2021 Sébastien Helleu <flashcode@flashtux.org>
|
||||||
#
|
#
|
||||||
# This file is part of WeeChat, the extensible chat client.
|
# This file is part of WeeChat, the extensible chat client.
|
||||||
#
|
#
|
||||||
|
|||||||
+3
-24
@@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
|
# Copyright (C) 2003-2021 Sébastien Helleu <flashcode@flashtux.org>
|
||||||
# Copyright (C) 2005 Benoit Papillault <benoit.papillault@free.fr>
|
# Copyright (C) 2005 Benoit Papillault <benoit.papillault@free.fr>
|
||||||
# Copyright (C) 2005-2006 Julien Louis <ptitlouis@sysif.net>
|
# Copyright (C) 2005-2006 Julien Louis <ptitlouis@sysif.net>
|
||||||
# Copyright (C) 2005-2009 Emmanuel Bouthenot <kolter@openics.org>
|
# Copyright (C) 2005-2009 Emmanuel Bouthenot <kolter@openics.org>
|
||||||
@@ -501,7 +501,7 @@ RUBY_VERSION=
|
|||||||
if test "x$enable_ruby" = "xyes" ; then
|
if test "x$enable_ruby" = "xyes" ; then
|
||||||
RUBY_CFLAGS=""
|
RUBY_CFLAGS=""
|
||||||
RUBY_LFLAGS=""
|
RUBY_LFLAGS=""
|
||||||
for v in "3.1" "3.0" "2.7" "2.6" "2.5" "2.4" "2.3" "2.2" "2.1" "2.0" "1.9" "1.8" ; do
|
for v in "2.7" "2.6" "2.5" "2.4" "2.3" "2.2" "2.1" "2.0" "1.9" "1.8" ; do
|
||||||
pkgconfig_ruby_found=`$PKGCONFIG --exists ruby-$v 2>/dev/null`
|
pkgconfig_ruby_found=`$PKGCONFIG --exists ruby-$v 2>/dev/null`
|
||||||
if test "x$?" = "x0" ; then
|
if test "x$?" = "x0" ; then
|
||||||
RUBY_VERSION=`$PKGCONFIG --modversion ruby-$v`
|
RUBY_VERSION=`$PKGCONFIG --modversion ruby-$v`
|
||||||
@@ -1175,27 +1175,6 @@ else
|
|||||||
AC_SUBST(ZLIB_LFLAGS)
|
AC_SUBST(ZLIB_LFLAGS)
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# ------------------------------------------------------------------------------
|
|
||||||
# zstd
|
|
||||||
# ------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
AC_CHECK_HEADER(zstd.h,ac_found_zstd_header="yes",ac_found_zstd_header="no")
|
|
||||||
AC_CHECK_LIB(zstd,ZSTD_compress,ac_found_zstd_lib="yes",ac_found_zstd_lib="no")
|
|
||||||
|
|
||||||
AC_MSG_CHECKING(for zstd headers and libraries)
|
|
||||||
if test "x$ac_found_zstd_header" = "xno" -o "x$ac_found_zstd_lib" = "xno" ; then
|
|
||||||
AC_MSG_RESULT(no)
|
|
||||||
AC_MSG_ERROR([
|
|
||||||
*** zstd was not found. You may want to get it from https://github.com/facebook/zstd
|
|
||||||
*** or try to install it with your software package manager.])
|
|
||||||
else
|
|
||||||
AC_MSG_RESULT(yes)
|
|
||||||
ZSTD_CFLAGS=`pkg-config libzstd --cflags`
|
|
||||||
ZSTD_LFLAGS=`pkg-config libzstd --libs`
|
|
||||||
AC_SUBST(ZSTD_CFLAGS)
|
|
||||||
AC_SUBST(ZSTD_LFLAGS)
|
|
||||||
fi
|
|
||||||
|
|
||||||
# ------------------------------------------------------------------------------
|
# ------------------------------------------------------------------------------
|
||||||
# curl
|
# curl
|
||||||
# ------------------------------------------------------------------------------
|
# ------------------------------------------------------------------------------
|
||||||
@@ -1284,7 +1263,7 @@ if test "x$enable_man" = "xyes" -o "x$enable_doc" = "xyes"; then
|
|||||||
enable_man="no"
|
enable_man="no"
|
||||||
enable_doc="no"
|
enable_doc="no"
|
||||||
fi
|
fi
|
||||||
ASCIIDOCTOR_ARGS="-a experimental -a reproducible -a 'prewrap!' -a 'webfonts!' -a icons=font -a sectanchors -a source-highlighter=pygments -a pygments-style=native"
|
ASCIIDOCTOR_ARGS="-a experimental -a 'prewrap!' -a icons=font -a sectanchors -a source-highlighter=prettify"
|
||||||
AC_SUBST(ASCIIDOCTOR)
|
AC_SUBST(ASCIIDOCTOR)
|
||||||
AC_SUBST(ASCIIDOCTOR_ARGS)
|
AC_SUBST(ASCIIDOCTOR_ARGS)
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -14,12 +14,11 @@ Build-Depends:
|
|||||||
liblua5.3-dev,
|
liblua5.3-dev,
|
||||||
tcl8.6-dev,
|
tcl8.6-dev,
|
||||||
guile-2.2-dev,
|
guile-2.2-dev,
|
||||||
php-dev, libphp-embed, libargon2-dev, libsodium-dev,
|
php-dev, libphp-embed, libargon2-0-dev, libsodium-dev,
|
||||||
libxml2-dev,
|
libxml2-dev,
|
||||||
libcurl4-gnutls-dev,
|
libcurl4-gnutls-dev,
|
||||||
libgcrypt20-dev,
|
libgcrypt20-dev,
|
||||||
libgnutls28-dev,
|
libgnutls28-dev,
|
||||||
libzstd-dev,
|
|
||||||
zlib1g-dev
|
zlib1g-dev
|
||||||
Standards-Version: 4.6.0.1
|
Standards-Version: 4.6.0.1
|
||||||
Homepage: https://weechat.org/
|
Homepage: https://weechat.org/
|
||||||
|
|||||||
@@ -0,0 +1,10 @@
|
|||||||
|
Document: weechat-tester-de
|
||||||
|
Title: WeeChat tester's guide (German)
|
||||||
|
Author: Sébastien Helleu
|
||||||
|
Abstract: This document describes how to test and report
|
||||||
|
bugs against the WeeChat IRC Client (German version).
|
||||||
|
Section: Network/Communication
|
||||||
|
|
||||||
|
Format: HTML
|
||||||
|
Index: /usr/share/doc/weechat-devel-doc/html/weechat_tester.de.html
|
||||||
|
Files: /usr/share/doc/weechat-devel-doc/html/weechat_tester.de.html
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
Document: weechat-tester-en
|
||||||
|
Title: WeeChat tester's guide (English)
|
||||||
|
Author: Sébastien Helleu
|
||||||
|
Abstract: This document describes how to test and report
|
||||||
|
bugs against the WeeChat IRC Client (English version).
|
||||||
|
Section: Network/Communication
|
||||||
|
|
||||||
|
Format: HTML
|
||||||
|
Index: /usr/share/doc/weechat-devel-doc/html/weechat_tester.en.html
|
||||||
|
Files: /usr/share/doc/weechat-devel-doc/html/weechat_tester.en.html
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
Document: weechat-tester-fr
|
||||||
|
Title: WeeChat tester's guide (French)
|
||||||
|
Author: Sébastien Helleu
|
||||||
|
Abstract: This document describes how to test and report
|
||||||
|
bugs against the WeeChat IRC Client (French version).
|
||||||
|
Section: Network/Communication
|
||||||
|
|
||||||
|
Format: HTML
|
||||||
|
Index: /usr/share/doc/weechat-devel-doc/html/weechat_tester.fr.html
|
||||||
|
Files: /usr/share/doc/weechat-devel-doc/html/weechat_tester.fr.html
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
Document: weechat-tester-it
|
||||||
|
Title: WeeChat tester's guide (Italian)
|
||||||
|
Author: Sébastien Helleu
|
||||||
|
Abstract: This document describes how to test and report
|
||||||
|
bugs against the WeeChat IRC Client (Italian version).
|
||||||
|
Section: Network/Communication
|
||||||
|
|
||||||
|
Format: HTML
|
||||||
|
Index: /usr/share/doc/weechat-devel-doc/html/weechat_tester.it.html
|
||||||
|
Files: /usr/share/doc/weechat-devel-doc/html/weechat_tester.it.html
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
Document: weechat-tester-ja
|
||||||
|
Title: WeeChat tester's guide (Japanese)
|
||||||
|
Author: Sébastien Helleu
|
||||||
|
Abstract: This document describes how to test and report
|
||||||
|
bugs against the WeeChat IRC Client (Japanese version).
|
||||||
|
Section: Network/Communication
|
||||||
|
|
||||||
|
Format: HTML
|
||||||
|
Index: /usr/share/doc/weechat-devel-doc/html/weechat_tester.ja.html
|
||||||
|
Files: /usr/share/doc/weechat-devel-doc/html/weechat_tester.ja.html
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
Document: weechat-tester-pl
|
||||||
|
Title: WeeChat tester's guide (Polish)
|
||||||
|
Author: Sébastien Helleu
|
||||||
|
Abstract: This document describes how to test and report
|
||||||
|
bugs against the WeeChat IRC Client (Polish version).
|
||||||
|
Section: Network/Communication
|
||||||
|
|
||||||
|
Format: HTML
|
||||||
|
Index: /usr/share/doc/weechat-devel-doc/html/weechat_tester.pl.html
|
||||||
|
Files: /usr/share/doc/weechat-devel-doc/html/weechat_tester.pl.html
|
||||||
@@ -1,18 +1,3 @@
|
|||||||
weechat (3.4-2) unstable; urgency=medium
|
|
||||||
|
|
||||||
* Remove build dependency on ruby-pygments.rb (no longer required)
|
|
||||||
|
|
||||||
-- Emmanuel Bouthenot <kolter@debian.org> Sat, 08 Jan 2022 06:00:17 +0000
|
|
||||||
|
|
||||||
weechat (3.3-1) unstable; urgency=medium
|
|
||||||
|
|
||||||
* New upstream release
|
|
||||||
* Remove patch merged upstream (which command detection in libgcrypt)
|
|
||||||
* Minor updates in debian/copyright
|
|
||||||
* Enable Typing plugin
|
|
||||||
|
|
||||||
-- Emmanuel Bouthenot <kolter@debian.org> Mon, 20 Sep 2021 10:05:56 +0000
|
|
||||||
|
|
||||||
weechat (3.2.1-1) unstable; urgency=medium
|
weechat (3.2.1-1) unstable; urgency=medium
|
||||||
|
|
||||||
* New upstream release
|
* New upstream release
|
||||||
|
|||||||
@@ -14,12 +14,11 @@ Build-Depends:
|
|||||||
liblua5.3-dev,
|
liblua5.3-dev,
|
||||||
tcl8.6-dev,
|
tcl8.6-dev,
|
||||||
guile-2.2-dev,
|
guile-2.2-dev,
|
||||||
php-dev, libphp-embed, libargon2-dev, libsodium-dev,
|
php-dev, libphp-embed, libargon2-0-dev, libsodium-dev,
|
||||||
libxml2-dev,
|
libxml2-dev,
|
||||||
libcurl4-gnutls-dev,
|
libcurl4-gnutls-dev,
|
||||||
libgcrypt20-dev,
|
libgcrypt20-dev,
|
||||||
libgnutls28-dev,
|
libgnutls28-dev,
|
||||||
libzstd-dev,
|
|
||||||
zlib1g-dev
|
zlib1g-dev
|
||||||
Standards-Version: 4.6.0.1
|
Standards-Version: 4.6.0.1
|
||||||
Homepage: https://weechat.org/
|
Homepage: https://weechat.org/
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ Upstream-Contact: Sébastien Helleu <flashcode@flashtux.org>
|
|||||||
Source: https://weechat.org/
|
Source: https://weechat.org/
|
||||||
|
|
||||||
Files: *
|
Files: *
|
||||||
Copyright: 2003-2022, Sébastien Helleu <flashcode@flashtux.org>
|
Copyright: 2003-2021, Sébastien Helleu <flashcode@flashtux.org>
|
||||||
License: GPL-3+
|
License: GPL-3+
|
||||||
|
|
||||||
Files: src/core/wee-command.c
|
Files: src/core/wee-command.c
|
||||||
|
|||||||
@@ -0,0 +1,10 @@
|
|||||||
|
Document: weechat-tester-de
|
||||||
|
Title: WeeChat tester's guide (German)
|
||||||
|
Author: Sébastien Helleu
|
||||||
|
Abstract: This document describes how to test and report
|
||||||
|
bugs against the WeeChat IRC Client (German version).
|
||||||
|
Section: Network/Communication
|
||||||
|
|
||||||
|
Format: HTML
|
||||||
|
Index: /usr/share/doc/weechat-doc/html/weechat_tester.de.html
|
||||||
|
Files: /usr/share/doc/weechat-doc/html/weechat_tester.de.html
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
Document: weechat-tester-en
|
||||||
|
Title: WeeChat tester's guide (English)
|
||||||
|
Author: Sébastien Helleu
|
||||||
|
Abstract: This document describes how to test and report
|
||||||
|
bugs against the WeeChat IRC Client (English version).
|
||||||
|
Section: Network/Communication
|
||||||
|
|
||||||
|
Format: HTML
|
||||||
|
Index: /usr/share/doc/weechat-doc/html/weechat_tester.en.html
|
||||||
|
Files: /usr/share/doc/weechat-doc/html/weechat_tester.en.html
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
Document: weechat-tester-fr
|
||||||
|
Title: WeeChat tester's guide (French)
|
||||||
|
Author: Sébastien Helleu
|
||||||
|
Abstract: This document describes how to test and report
|
||||||
|
bugs against the WeeChat IRC Client (French version).
|
||||||
|
Section: Network/Communication
|
||||||
|
|
||||||
|
Format: HTML
|
||||||
|
Index: /usr/share/doc/weechat-doc/html/weechat_tester.fr.html
|
||||||
|
Files: /usr/share/doc/weechat-doc/html/weechat_tester.fr.html
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
Document: weechat-tester-it
|
||||||
|
Title: WeeChat tester's guide (Italian)
|
||||||
|
Author: Sébastien Helleu
|
||||||
|
Abstract: This document describes how to test and report
|
||||||
|
bugs against the WeeChat IRC Client (Italian version).
|
||||||
|
Section: Network/Communication
|
||||||
|
|
||||||
|
Format: HTML
|
||||||
|
Index: /usr/share/doc/weechat-doc/html/weechat_tester.it.html
|
||||||
|
Files: /usr/share/doc/weechat-doc/html/weechat_tester.it.html
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
Document: weechat-tester-ja
|
||||||
|
Title: WeeChat tester's guide (Japanese)
|
||||||
|
Author: Sébastien Helleu
|
||||||
|
Abstract: This document describes how to test and report
|
||||||
|
bugs against the WeeChat IRC Client (Japanese version).
|
||||||
|
Section: Network/Communication
|
||||||
|
|
||||||
|
Format: HTML
|
||||||
|
Index: /usr/share/doc/weechat-doc/html/weechat_tester.ja.html
|
||||||
|
Files: /usr/share/doc/weechat-doc/html/weechat_tester.ja.html
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
Document: weechat-tester-pl
|
||||||
|
Title: WeeChat tester's guide (Polish)
|
||||||
|
Author: Sébastien Helleu
|
||||||
|
Abstract: This document describes how to test and report
|
||||||
|
bugs against the WeeChat IRC Client (Polish version).
|
||||||
|
Section: Network/Communication
|
||||||
|
|
||||||
|
Format: HTML
|
||||||
|
Index: /usr/share/doc/weechat-doc/html/weechat_tester.pl.html
|
||||||
|
Files: /usr/share/doc/weechat-doc/html/weechat_tester.pl.html
|
||||||
+2
-53
@@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
|
# Copyright (C) 2003-2021 Sébastien Helleu <flashcode@flashtux.org>
|
||||||
# Copyright (C) 2009 Emmanuel Bouthenot <kolter@openics.org>
|
# Copyright (C) 2009 Emmanuel Bouthenot <kolter@openics.org>
|
||||||
#
|
#
|
||||||
# This file is part of WeeChat, the extensible chat client.
|
# This file is part of WeeChat, the extensible chat client.
|
||||||
@@ -21,58 +21,7 @@
|
|||||||
if(ENABLE_MAN OR ENABLE_DOC)
|
if(ENABLE_MAN OR ENABLE_DOC)
|
||||||
find_package(Asciidoctor)
|
find_package(Asciidoctor)
|
||||||
if(ASCIIDOCTOR_FOUND)
|
if(ASCIIDOCTOR_FOUND)
|
||||||
# common asciidoctor arguments
|
set(ASCIIDOCTOR_ARGS -a experimental -a "prewrap!" -a icons=font -a revnumber="${VERSION}" -a sectanchors -a source-highlighter=prettify)
|
||||||
set(ASCIIDOCTOR_ARGS -a experimental -a reproducible -a "prewrap!" -a "webfonts!" -a icons=font -a revnumber="${VERSION}" -a sectanchors -a source-highlighter=pygments -a pygments-style=native)
|
|
||||||
|
|
||||||
# sed arguments used to replace links in ChangeLog and release notes
|
|
||||||
set(SED_LINKS_ARGS
|
|
||||||
-e "'s/issue #\\([0-9][0-9]*\\)/https:\\/\\/github.com\\/weechat\\/weechat\\/issues\\/\\1[issue #\\1^]/g'"
|
|
||||||
-e "'s/bug #\\([0-9][0-9]*\\)/https:\\/\\/savannah.nongnu.org\\/bugs\\/?\\1[bug #\\1^]/g'"
|
|
||||||
-e "'s/task #\\([0-9][0-9]*\\)/https:\\/\\/savannah.nongnu.org\\/task\\/?\\1[task #\\1^]/g'"
|
|
||||||
-e "'s/patch #\\([0-9][0-9]*\\)/https:\\/\\/savannah.nongnu.org\\/patch\\/?\\1[patch #\\1^]/g'"
|
|
||||||
-e "'s/debian #\\([0-9][0-9]*\\)/http:\\/\\/bugs.debian.org\\/cgi-bin\\/bugreport.cgi?bug=\\1[debian bug #\\1^]/g'"
|
|
||||||
-e "'s/\\(CVE-[0-9][0-9]*-[0-9][0-9]*\\)/https:\\/\\/cve.mitre.org\\/cgi-bin\\/cvename.cgi?name=\\1[\\1^]/g'"
|
|
||||||
)
|
|
||||||
|
|
||||||
# ChangeLog
|
|
||||||
add_custom_command(
|
|
||||||
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/ChangeLog-links.adoc
|
|
||||||
COMMAND sed ARGS ${SED_LINKS_ARGS} ${CMAKE_CURRENT_SOURCE_DIR}/../ChangeLog.adoc > ${CMAKE_CURRENT_BINARY_DIR}/ChangeLog-links.adoc
|
|
||||||
DEPENDS
|
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/../ChangeLog.adoc
|
|
||||||
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
|
||||||
)
|
|
||||||
add_custom_command(
|
|
||||||
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/ChangeLog.html
|
|
||||||
COMMAND ${ASCIIDOCTOR_EXECUTABLE} ARGS ${ASCIIDOCTOR_ARGS} -a docinfodir="${CMAKE_CURRENT_SOURCE_DIR}" -o ChangeLog.html ${CMAKE_CURRENT_BINARY_DIR}/ChangeLog-links.adoc
|
|
||||||
DEPENDS
|
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/docinfo.html
|
|
||||||
${CMAKE_CURRENT_BINARY_DIR}/ChangeLog-links.adoc
|
|
||||||
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
|
||||||
COMMENT "Building ChangeLog.html"
|
|
||||||
)
|
|
||||||
add_custom_target(changelog DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/ChangeLog.html)
|
|
||||||
|
|
||||||
# Release notes
|
|
||||||
add_custom_command(
|
|
||||||
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/ReleaseNotes-links.adoc
|
|
||||||
COMMAND sed ARGS ${SED_LINKS_ARGS} ${CMAKE_CURRENT_SOURCE_DIR}/../ReleaseNotes.adoc > ${CMAKE_CURRENT_BINARY_DIR}/ReleaseNotes-links.adoc
|
|
||||||
DEPENDS
|
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/../ReleaseNotes.adoc
|
|
||||||
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
|
||||||
)
|
|
||||||
add_custom_command(
|
|
||||||
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/ReleaseNotes.html
|
|
||||||
COMMAND ${ASCIIDOCTOR_EXECUTABLE} ARGS ${ASCIIDOCTOR_ARGS} -a docinfodir="${CMAKE_CURRENT_SOURCE_DIR}" -o ReleaseNotes.html ${CMAKE_CURRENT_BINARY_DIR}/ReleaseNotes-links.adoc
|
|
||||||
DEPENDS
|
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/docinfo.html
|
|
||||||
${CMAKE_CURRENT_BINARY_DIR}/ReleaseNotes-links.adoc
|
|
||||||
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
|
||||||
COMMENT "Building ReleaseNotes.html"
|
|
||||||
)
|
|
||||||
add_custom_target(rn DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/ReleaseNotes.html)
|
|
||||||
|
|
||||||
# man/doc in all languages
|
|
||||||
add_subdirectory(cs)
|
add_subdirectory(cs)
|
||||||
add_subdirectory(de)
|
add_subdirectory(de)
|
||||||
add_subdirectory(en)
|
add_subdirectory(en)
|
||||||
|
|||||||
+1
-1
@@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
|
# Copyright (C) 2003-2021 Sébastien Helleu <flashcode@flashtux.org>
|
||||||
# Copyright (C) 2006 Julien Louis <ptitlouis@sysif.net>
|
# Copyright (C) 2006 Julien Louis <ptitlouis@sysif.net>
|
||||||
#
|
#
|
||||||
# This file is part of WeeChat, the extensible chat client.
|
# This file is part of WeeChat, the extensible chat client.
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
|
# Copyright (C) 2003-2021 Sébastien Helleu <flashcode@flashtux.org>
|
||||||
#
|
#
|
||||||
# This file is part of WeeChat, the extensible chat client.
|
# This file is part of WeeChat, the extensible chat client.
|
||||||
#
|
#
|
||||||
|
|||||||
+1
-1
@@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
|
# Copyright (C) 2003-2021 Sébastien Helleu <flashcode@flashtux.org>
|
||||||
#
|
#
|
||||||
# This file is part of WeeChat, the extensible chat client.
|
# This file is part of WeeChat, the extensible chat client.
|
||||||
#
|
#
|
||||||
|
|||||||
@@ -99,7 +99,7 @@ $HOME/.local/share/weechat/weechat.log::
|
|||||||
WeeChat je napsán Sébastienem Helleu a přispěvovateli (kompletní seznam je v
|
WeeChat je napsán Sébastienem Helleu a přispěvovateli (kompletní seznam je v
|
||||||
souboru AUTHORS.adoc).
|
souboru AUTHORS.adoc).
|
||||||
|
|
||||||
Copyright (C) 2003-2022 {author}
|
Copyright (C) 2003-2021 {author}
|
||||||
|
|
||||||
WeeChat is free software; you can redistribute it and/or modify
|
WeeChat is free software; you can redistribute it and/or modify
|
||||||
it under the terms of the GNU General Public License as published by
|
it under the terms of the GNU General Public License as published by
|
||||||
|
|||||||
+14
-1
@@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
|
# Copyright (C) 2003-2021 Sébastien Helleu <flashcode@flashtux.org>
|
||||||
#
|
#
|
||||||
# This file is part of WeeChat, the extensible chat client.
|
# This file is part of WeeChat, the extensible chat client.
|
||||||
#
|
#
|
||||||
@@ -107,4 +107,17 @@ if(ENABLE_DOC)
|
|||||||
add_custom_target(doc-quickstart-de ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/weechat_quickstart.de.html)
|
add_custom_target(doc-quickstart-de ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/weechat_quickstart.de.html)
|
||||||
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/weechat_quickstart.de.html DESTINATION ${DATAROOTDIR}/doc/${PROJECT_NAME})
|
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/weechat_quickstart.de.html DESTINATION ${DATAROOTDIR}/doc/${PROJECT_NAME})
|
||||||
|
|
||||||
|
# tester's guide
|
||||||
|
add_custom_command(
|
||||||
|
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/weechat_tester.de.html
|
||||||
|
COMMAND ${ASCIIDOCTOR_EXECUTABLE} ARGS ${ASCIIDOCTOR_ARGS} -o weechat_tester.de.html ${CMAKE_CURRENT_SOURCE_DIR}/weechat_tester.de.adoc
|
||||||
|
DEPENDS
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/../docinfo.html
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/weechat_tester.de.adoc
|
||||||
|
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
||||||
|
COMMENT "Building weechat_tester.de.html"
|
||||||
|
)
|
||||||
|
add_custom_target(doc-tester-de ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/weechat_tester.de.html)
|
||||||
|
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/weechat_tester.de.html DESTINATION ${DATAROOTDIR}/doc/${PROJECT_NAME})
|
||||||
|
|
||||||
endif()
|
endif()
|
||||||
|
|||||||
+8
-2
@@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
|
# Copyright (C) 2003-2021 Sébastien Helleu <flashcode@flashtux.org>
|
||||||
# Copyright (C) 2006 Julien Louis <ptitlouis@sysif.net>
|
# Copyright (C) 2006 Julien Louis <ptitlouis@sysif.net>
|
||||||
#
|
#
|
||||||
# This file is part of WeeChat, the extensible chat client.
|
# This file is part of WeeChat, the extensible chat client.
|
||||||
@@ -28,6 +28,7 @@ EXTRA_DIST = CMakeLists.txt \
|
|||||||
weechat_scripting.de.adoc \
|
weechat_scripting.de.adoc \
|
||||||
weechat_faq.de.adoc \
|
weechat_faq.de.adoc \
|
||||||
weechat_quickstart.de.adoc \
|
weechat_quickstart.de.adoc \
|
||||||
|
weechat_tester.de.adoc \
|
||||||
includes/autogen_api_completions.de.adoc \
|
includes/autogen_api_completions.de.adoc \
|
||||||
includes/autogen_api_hdata.de.adoc \
|
includes/autogen_api_hdata.de.adoc \
|
||||||
includes/autogen_api_infolists.de.adoc \
|
includes/autogen_api_infolists.de.adoc \
|
||||||
@@ -52,7 +53,8 @@ if DOC
|
|||||||
doc_targets = weechat_user.de.html \
|
doc_targets = weechat_user.de.html \
|
||||||
weechat_scripting.de.html \
|
weechat_scripting.de.html \
|
||||||
weechat_faq.de.html \
|
weechat_faq.de.html \
|
||||||
weechat_quickstart.de.html
|
weechat_quickstart.de.html \
|
||||||
|
weechat_tester.de.html
|
||||||
doc_install = install-doc
|
doc_install = install-doc
|
||||||
doc_uninstall = uninstall-doc
|
doc_uninstall = uninstall-doc
|
||||||
endif
|
endif
|
||||||
@@ -80,6 +82,10 @@ weechat_faq.de.html: weechat_faq.de.adoc $(abs_top_srcdir)/doc/docinfo.html
|
|||||||
weechat_quickstart.de.html: weechat_quickstart.de.adoc $(abs_top_srcdir)/doc/docinfo.html
|
weechat_quickstart.de.html: weechat_quickstart.de.adoc $(abs_top_srcdir)/doc/docinfo.html
|
||||||
$(ASCIIDOCTOR) $(ASCIIDOCTOR_ARGS) -a revnumber="$(VERSION)" -o weechat_quickstart.de.html $(abs_top_srcdir)/doc/de/weechat_quickstart.de.adoc
|
$(ASCIIDOCTOR) $(ASCIIDOCTOR_ARGS) -a revnumber="$(VERSION)" -o weechat_quickstart.de.html $(abs_top_srcdir)/doc/de/weechat_quickstart.de.adoc
|
||||||
|
|
||||||
|
# tester's guide
|
||||||
|
weechat_tester.de.html: weechat_tester.de.adoc $(abs_top_srcdir)/doc/docinfo.html
|
||||||
|
$(ASCIIDOCTOR) $(ASCIIDOCTOR_ARGS) -a revnumber="$(VERSION)" -o weechat_tester.de.html $(abs_top_srcdir)/doc/de/weechat_tester.de.adoc
|
||||||
|
|
||||||
# install man/docs
|
# install man/docs
|
||||||
|
|
||||||
install-data-hook: $(man_install) $(doc_install)
|
install-data-hook: $(man_install) $(doc_install)
|
||||||
|
|||||||
@@ -26,8 +26,6 @@
|
|||||||
|
|
||||||
| irc | irc_channels | Kanäle auf allen IRC Servern
|
| irc | irc_channels | Kanäle auf allen IRC Servern
|
||||||
|
|
||||||
| irc | irc_channels_autojoin | Kanäle, die automatisch auf dem aktuellen Server betreten werden (Option "autojoin")
|
|
||||||
|
|
||||||
| irc | irc_ignores_numbers | Anzahl für festgelegte Ignorierungen
|
| irc | irc_ignores_numbers | Anzahl für festgelegte Ignorierungen
|
||||||
|
|
||||||
| irc | irc_modelist_masks | Modelist Maske für aktuellen IRC Kanal; benötigtes Argument: modelist mode
|
| irc | irc_modelist_masks | Modelist Maske für aktuellen IRC Kanal; benötigtes Argument: modelist mode
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
|===
|
|===
|
||||||
| Erweiterung | Name | Beschreibung | Hashtable (Eingabe) | Hashtable (Ausgabe)
|
| Erweiterung | Name | Beschreibung | Hashtable (Eingabe) | Hashtable (Ausgabe)
|
||||||
|
|
||||||
| irc | irc_message_parse | Parse eine IRC Nachricht | "message": IRC Nachricht, "server": Servername (optional) | "tags": Tags, "tag_xxx": Wert des Tags "xxx" ohne Escapezeichen (ein Schlüssel pro Tag), "message_without_tags": Nachrichten ohne Tags, "nick": Nick, "user": Benutzer, "host": Host, "command": Befehl, "channel": Kanal, "arguments": Argumente (schließt Kanal ein), "text": Text (zum Beispiel eine Nachricht von einem User), "param1" ... "paramN": geparste Befehlsparameter, "num_params": Anzahl geparste Befehlsparameter, "pos_command": Index der "command" Nachricht ("-1" falls "command" nicht gefunden wird), "pos_arguments": Index der "arguments" Nachricht ("-1" falls "arguments" nicht gefunden wird), "pos_channel": Index der "channel" Nachricht ("-1" falls "channel" nicht gefunden wird),"pos_text": Index für "text" Nachricht ("-1" falls "text" nicht gefunden wird)
|
| irc | irc_message_parse | Parse eine IRC Nachricht | "message": IRC Nachricht, "server": Servername (optional) | "tags": Tags, "tag_xxx": Wert des Tags "xxx" ohne Escapezeichen (ein Schlüssel pro Tag), "message_without_tags": Nachrichten ohne Tags, "nick": Nick, "user": Benutzer, "host": Host, "command": Befehl, "channel": Kanal, "arguments": Argumente (schließt Kanal ein), "text": Text (zum Beispiel eine Nachricht von einem User), "pos_command": Index der "command" Nachricht ("-1" falls "command" nicht gefunden wird), "pos_arguments": Index der "arguments" Nachricht ("-1" falls "arguments" nicht gefunden wird), "pos_channel": Index der "channel" Nachricht ("-1" falls "channel" nicht gefunden wird),"pos_text": Index für "text" Nachricht ("-1" falls "text" nicht gefunden wird)
|
||||||
|
|
||||||
| irc | irc_message_split | trennt eine IRC Nachricht (standardmäßig in 512 Bytes große Nachrichten) | "message": IRC Nachricht, "server": Servername (optional) | "msg1" ... "msgN": Nachrichten die versendet werden sollen (ohne abschließendes "\r\n"), "args1" ... "argsN": Argumente für Nachrichten, "count": Anzahl der Nachrichten
|
| irc | irc_message_split | trennt eine IRC Nachricht (standardmäßig in 512 Bytes große Nachrichten) | "message": IRC Nachricht, "server": Servername (optional) | "msg1" ... "msgN": Nachrichten die versendet werden sollen (ohne abschließendes "\r\n"), "args1" ... "argsN": Argumente für Nachrichten, "count": Anzahl der Nachrichten
|
||||||
|
|
||||||
|
|||||||
@@ -123,35 +123,6 @@ Beispiele:
|
|||||||
/auth user2 ${weechat_config_dir}/ecdsa2.pem
|
/auth user2 ${weechat_config_dir}/ecdsa2.pem
|
||||||
----
|
----
|
||||||
|
|
||||||
[[command_irc_autojoin]]
|
|
||||||
* `+autojoin+`: Konfigurieren der Serveroption "autojoin"
|
|
||||||
|
|
||||||
----
|
|
||||||
/autojoin add [<channel1> [<channel2>...]]
|
|
||||||
addraw <channel1>[,<channel2>...] [<key1>[,<key2>...]]
|
|
||||||
del [<channel1> [<channel2>...]]
|
|
||||||
save
|
|
||||||
sort
|
|
||||||
|
|
||||||
add: Hinzufügen des aktuellen Kanals oder einer Liste von Kanälen (mit optionalen Schlüsseln) zur autojoin-Option; Wenn Sie sich in dem Kanal befinden und der Schlüssel nicht übergeben wird, wird der Schlüssel im Kanal gelesen
|
|
||||||
addraw: das IRC Roh-Format wird genutzt (wie beim /join Befehl): alle Kanäle werden durch Kommata voneinander getrennt und optional werden die Schlüssel durch Kommata separiert
|
|
||||||
del: Löschen des aktuellen Kanals oder eine Liste von Kanälen aus der autoJoin-Option
|
|
||||||
channel: Kanalname
|
|
||||||
key: Schlüssel für den Kanal
|
|
||||||
save: Speichert die aktuell besuchten Kanäle in der autojoin-Option
|
|
||||||
sort: sortiert die Kanäle alphabetisch in der autojoin Option
|
|
||||||
|
|
||||||
Beispiele:
|
|
||||||
/autojoin add
|
|
||||||
/autojoin add #test
|
|
||||||
/autojoin add #chan1 #chan2
|
|
||||||
/autojoin addraw #chan1,#chan2,#chan3 key1,key2
|
|
||||||
/autojoin del
|
|
||||||
/autojoin del #chan1
|
|
||||||
/autojoin save
|
|
||||||
/autojoin sort
|
|
||||||
----
|
|
||||||
|
|
||||||
[[command_irc_ban]]
|
[[command_irc_ban]]
|
||||||
* `+ban+`: Nicknamen oder Hosts sperren/verbannen
|
* `+ban+`: Nicknamen oder Hosts sperren/verbannen
|
||||||
|
|
||||||
|
|||||||
@@ -1290,6 +1290,12 @@
|
|||||||
** Werte: beliebige Zeichenkette
|
** Werte: beliebige Zeichenkette
|
||||||
** Standardwert: `+"*"+`
|
** Standardwert: `+"*"+`
|
||||||
|
|
||||||
|
* [[option_weechat.plugin.debug]] *weechat.plugin.debug*
|
||||||
|
** Beschreibung: pass:none[aktiviert Debug-Nachrichten für alle Erweiterungen (diese Einstellung ist standardmäßig deaktiviert und das ist auch gut so)]
|
||||||
|
** Typ: boolesch
|
||||||
|
** Werte: on, off
|
||||||
|
** Standardwert: `+off+`
|
||||||
|
|
||||||
* [[option_weechat.plugin.extension]] *weechat.plugin.extension*
|
* [[option_weechat.plugin.extension]] *weechat.plugin.extension*
|
||||||
** Beschreibung: pass:none[durch Kommata getrennte Liste von Dateinamenserweiterungen, welche für die Erweiterungen genutzt werden sollen]
|
** Beschreibung: pass:none[durch Kommata getrennte Liste von Dateinamenserweiterungen, welche für die Erweiterungen genutzt werden sollen]
|
||||||
** Typ: Zeichenkette
|
** Typ: Zeichenkette
|
||||||
@@ -2690,12 +2696,6 @@
|
|||||||
** Werte: beliebige Zeichenkette
|
** Werte: beliebige Zeichenkette
|
||||||
** Standardwert: `+""+`
|
** Standardwert: `+""+`
|
||||||
|
|
||||||
* [[option_irc.server_default.autojoin_dynamic]] *irc.server_default.autojoin_dynamic*
|
|
||||||
** Beschreibung: pass:none[Setze automatisch die "autojoin"-Option entsprechend den Kanälen, die du manuell beitrittst bzw. verlässt, mit den Befehlen /join und /part]
|
|
||||||
** Typ: boolesch
|
|
||||||
** Werte: on, off
|
|
||||||
** Standardwert: `+off+`
|
|
||||||
|
|
||||||
* [[option_irc.server_default.autoreconnect]] *irc.server_default.autoreconnect*
|
* [[option_irc.server_default.autoreconnect]] *irc.server_default.autoreconnect*
|
||||||
** Beschreibung: pass:none[Nach einer Trennung vom Server die Verbindung automatisch wiederherstellen]
|
** Beschreibung: pass:none[Nach einer Trennung vom Server die Verbindung automatisch wiederherstellen]
|
||||||
** Typ: boolesch
|
** Typ: boolesch
|
||||||
@@ -3064,11 +3064,11 @@
|
|||||||
** Werte: -1 .. 43200
|
** Werte: -1 .. 43200
|
||||||
** Standardwert: `+0+`
|
** Standardwert: `+0+`
|
||||||
|
|
||||||
* [[option_relay.network.compression]] *relay.network.compression*
|
* [[option_relay.network.compression_level]] *relay.network.compression_level*
|
||||||
** Beschreibung: pass:none[Komprimierung von Nachrichten, die mittels "weechat" Protokoll an Clients gesendet werden: 0 = Komprimierung deaktivieren, 1 = geringe Komprimierung / schnell ... 100 = beste Komprimierung / langsam; dieser Wert ist eine Prozentangabe, welcher für zlib nach 1-9 und für zstd nach 1-19 umgewandelt wird; der Standardwert wird empfohlen, denn er bietet einen guten Kompromiss zwischen Kompression und Geschwindigkeit]
|
** Beschreibung: pass:none[Kompressionsstärke der Pakete die durch das WeeChat Protokoll an den Client gesendet werden sollen (0 = Kompression deaktiviert, 1 = niedrige Kompression ... 9 = stärkste Kompression)]
|
||||||
** Typ: integer
|
** Typ: integer
|
||||||
** Werte: 0 .. 100
|
** Werte: 0 .. 9
|
||||||
** Standardwert: `+20+`
|
** Standardwert: `+6+`
|
||||||
|
|
||||||
* [[option_relay.network.ipv6]] *relay.network.ipv6*
|
* [[option_relay.network.ipv6]] *relay.network.ipv6*
|
||||||
** Beschreibung: pass:none[lauscht standardmäßig am IPv6 Socket (zusätzlich zu IPv4, welches als Standardprotokoll genutzt wird); mittels des Protokollnamens kann das IPv4 und IPv6 Protokoll, einzeln oder gemeinsam, erzwungen werden (siehe /help relay)]
|
** Beschreibung: pass:none[lauscht standardmäßig am IPv6 Socket (zusätzlich zu IPv4, welches als Standardprotokoll genutzt wird); mittels des Protokollnamens kann das IPv4 und IPv6 Protokoll, einzeln oder gemeinsam, erzwungen werden (siehe /help relay)]
|
||||||
|
|||||||
@@ -100,7 +100,7 @@ $HOME/.local/share/weechat/weechat.log::
|
|||||||
WeeChat wird programmiert von Sébastien Helleu und weiteren Beteiligten (eine vollständige Auflistung
|
WeeChat wird programmiert von Sébastien Helleu und weiteren Beteiligten (eine vollständige Auflistung
|
||||||
findet man in der AUTHORS.adoc Datei).
|
findet man in der AUTHORS.adoc Datei).
|
||||||
|
|
||||||
Copyright (C) 2003-2022 {author}
|
Copyright (C) 2003-2021 {author}
|
||||||
|
|
||||||
WeeChat is free software; you can redistribute it and/or modify
|
WeeChat is free software; you can redistribute it and/or modify
|
||||||
it under the terms of the GNU General Public License as published by
|
it under the terms of the GNU General Public License as published by
|
||||||
|
|||||||
@@ -887,21 +887,6 @@ um sich vor dem Betreten von Channels bei "nickserv" zu identifizieren:
|
|||||||
[[edit_autojoin]]
|
[[edit_autojoin]]
|
||||||
=== Wie kann ich Channels zur autojoin Option entfernen/hinzufügen?
|
=== Wie kann ich Channels zur autojoin Option entfernen/hinzufügen?
|
||||||
|
|
||||||
Ab WeeChat ≥ 3.5 können Sie die Kanäle, denen Sie manuell betreten und verlassen,
|
|
||||||
automatisch aufzeichnen und die Serveroption „autojoin“ entsprechend anpassen.
|
|
||||||
|
|
||||||
Für alle Server:
|
|
||||||
|
|
||||||
----
|
|
||||||
/set irc.server_default.autojoin_record on
|
|
||||||
----
|
|
||||||
|
|
||||||
Für einen einzelnen Server:
|
|
||||||
|
|
||||||
----
|
|
||||||
/set irc.server.libera.autojoin_record on
|
|
||||||
----
|
|
||||||
|
|
||||||
Um die Liste der autojoin Channels zu editieren,
|
Um die Liste der autojoin Channels zu editieren,
|
||||||
kann der Befehl `/set` genutzt werden.
|
kann der Befehl `/set` genutzt werden.
|
||||||
In folgendem Beispiel wird der "libera"-Server angepasst:
|
In folgendem Beispiel wird der "libera"-Server angepasst:
|
||||||
@@ -1189,14 +1174,6 @@ $ cd ~/.cache/weechat/script
|
|||||||
$ curl -O https://weechat.org/files/plugins.xml.gz
|
$ curl -O https://weechat.org/files/plugins.xml.gz
|
||||||
----
|
----
|
||||||
|
|
||||||
Wenn Sie macOS ausführen und die heruntergeladene Datei eine Größe von 0 Byte hat,
|
|
||||||
versuchen Sie, diese Variable in Ihrer Shell-Initialisierungsdatei oder auf der
|
|
||||||
Befehlszeile zu setzen. Bevor Sie WeeChat starten:
|
|
||||||
|
|
||||||
----
|
|
||||||
export OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES
|
|
||||||
----
|
|
||||||
|
|
||||||
[[spell_dictionaries]]
|
[[spell_dictionaries]]
|
||||||
=== Ich habe aspell Wörterbücher auf mein System installiert. Wie kann ich diese nutzen, ohne WeeChat neu starten zu müssen?
|
=== Ich habe aspell Wörterbücher auf mein System installiert. Wie kann ich diese nutzen, ohne WeeChat neu starten zu müssen?
|
||||||
|
|
||||||
|
|||||||
@@ -205,12 +205,6 @@ Funktionen werden aufgerufen mittels `+weechat.xxx(arg1, arg2, ...)+`.
|
|||||||
|
|
||||||
Funktionen werden aufgerufen mittels `+weechat::xxx arg1 arg2 ...+`.
|
Funktionen werden aufgerufen mittels `+weechat::xxx arg1 arg2 ...+`.
|
||||||
|
|
||||||
Da Tcl nur String-Typen hat, gibt es keinen Null-Typ, der als Argument übergeben werden kann
|
|
||||||
wenn eine Funktion Nullwerte akzeptiert. Um dies zu überwinden, können Sie die Konstante
|
|
||||||
`$::weechat::WEECHAT_NULL` verwenden, das als Nullwert fungiert. Diese Konstante ist definiert
|
|
||||||
als `\uFFFF\uFFFF\uFFFFWEECHAT_NULL\uFFFF\uFFFF\uFFFF`, es ist somit sehr unwahrscheinlich
|
|
||||||
das es ungewollt verwendet wird.
|
|
||||||
|
|
||||||
[[language_guile]]
|
[[language_guile]]
|
||||||
==== Guile (Scheme)
|
==== Guile (Scheme)
|
||||||
|
|
||||||
@@ -566,7 +560,7 @@ lesen Sie bitte link:weechat_plugin_api.en.html[WeeChat Plugin API Reference] (E
|
|||||||
|
|
||||||
Liste der Skript API Funktionen:
|
Liste der Skript API Funktionen:
|
||||||
|
|
||||||
[width="100%",cols="1,5",options="header"]
|
[width="100%",cols="1,3",options="header"]
|
||||||
|===
|
|===
|
||||||
| Kategorie | Funktionen
|
| Kategorie | Funktionen
|
||||||
|
|
||||||
@@ -666,7 +660,6 @@ Liste der Skript API Funktionen:
|
|||||||
print (für Python: prnt) +
|
print (für Python: prnt) +
|
||||||
print_date_tags (für Python: prnt_date_tags) +
|
print_date_tags (für Python: prnt_date_tags) +
|
||||||
print_y (für Python: prnt_y) +
|
print_y (für Python: prnt_y) +
|
||||||
print_y_date_tags (für Python: prnt_y_date_tags) +
|
|
||||||
log_print
|
log_print
|
||||||
|
|
||||||
| Hooks |
|
| Hooks |
|
||||||
@@ -697,7 +690,6 @@ Liste der Skript API Funktionen:
|
|||||||
|
|
||||||
| Buffer |
|
| Buffer |
|
||||||
buffer_new +
|
buffer_new +
|
||||||
buffer_new_props +
|
|
||||||
current_buffer +
|
current_buffer +
|
||||||
buffer_search +
|
buffer_search +
|
||||||
buffer_search_main +
|
buffer_search_main +
|
||||||
@@ -816,7 +808,7 @@ Liste der Skript API Funktionen:
|
|||||||
|
|
||||||
Liste der Konstanten in Skript API:
|
Liste der Konstanten in Skript API:
|
||||||
|
|
||||||
[width="100%",cols="1,5",options="header"]
|
[width="100%",cols="1,3",options="header"]
|
||||||
|===
|
|===
|
||||||
| Kategorie | Konstanten
|
| Kategorie | Konstanten
|
||||||
|
|
||||||
@@ -901,7 +893,7 @@ Beispiele:
|
|||||||
weechat.prnt("", "Hallo")
|
weechat.prnt("", "Hallo")
|
||||||
|
|
||||||
# Gibt den Text "Hallo" im Core Buffer aus, schreibt diesen aber nicht in die Protokolldatei
|
# Gibt den Text "Hallo" im Core Buffer aus, schreibt diesen aber nicht in die Protokolldatei
|
||||||
# (nur Version ≥ 0.3.3)
|
# (nur Version >= 0.3.3)
|
||||||
weechat.prnt_date_tags("", 0, "no_log", "hello")
|
weechat.prnt_date_tags("", 0, "no_log", "hello")
|
||||||
|
|
||||||
# Gibt den Präfix "==>" gefolgt von dem Text "Hallo" im aktuellen Buffer aus
|
# Gibt den Präfix "==>" gefolgt von dem Text "Hallo" im aktuellen Buffer aus
|
||||||
@@ -1081,53 +1073,26 @@ Mit der Funktion `+hook_process+` kann ein Hintergrundprozess gestartet werden.
|
|||||||
Der Callback wird aufgerufen sobald der Hintergrundprozess abgearbeitet wurde.
|
Der Callback wird aufgerufen sobald der Hintergrundprozess abgearbeitet wurde.
|
||||||
Dies kann auch mehrfach der Fall sein.
|
Dies kann auch mehrfach der Fall sein.
|
||||||
|
|
||||||
Für den letzten Aufruf des Callback wird _return_code_ auf 0 oder einen positiven
|
Für den letzten Aufruf des Callback wird _rc_ auf 0 oder einen positiven Wert
|
||||||
Wert gesetzt. Dies ist der Return Code des Befehls.
|
gesetzt. Dies ist der Return Code des Befehls.
|
||||||
|
|
||||||
Beispiele:
|
Beispiele:
|
||||||
|
|
||||||
[source,python]
|
[source,python]
|
||||||
----
|
----
|
||||||
def my_process_cb(data, command, return_code, out, err):
|
process_output = ""
|
||||||
if return_code == weechat.WEECHAT_HOOK_PROCESS_ERROR:
|
|
||||||
weechat.prnt("", "Error with command '%s'" % command)
|
def my_process_cb(data, command, rc, out, err):
|
||||||
return weechat.WEECHAT_RC_OK
|
global process_output
|
||||||
if return_code >= 0:
|
if out != "":
|
||||||
weechat.prnt("", "return_code = %d" % return_code)
|
process_output += out
|
||||||
if out:
|
if int(rc) >= 0:
|
||||||
weechat.prnt("", "stdout: %s" % out)
|
weechat.prnt("", process_output)
|
||||||
if err:
|
|
||||||
weechat.prnt("", "stderr: %s" % err)
|
|
||||||
return weechat.WEECHAT_RC_OK
|
return weechat.WEECHAT_RC_OK
|
||||||
|
|
||||||
weechat.hook_process("/bin/ls -l /etc", 10 * 1000, "my_process_cb", "")
|
weechat.hook_process("/bin/ls -l /etc", 10 * 1000, "my_process_cb", "")
|
||||||
----
|
----
|
||||||
|
|
||||||
Sie können statt eines externen Befehls auch direkt eine
|
|
||||||
Skriptfunktion aufrufen, die Weechat blockieren würde:
|
|
||||||
|
|
||||||
[source,python]
|
|
||||||
----
|
|
||||||
def get_status(data):
|
|
||||||
# do something blocking...
|
|
||||||
# ...
|
|
||||||
return "this is the result"
|
|
||||||
|
|
||||||
def my_process_cb(data, command, return_code, out, err):
|
|
||||||
if return_code == weechat.WEECHAT_HOOK_PROCESS_ERROR:
|
|
||||||
weechat.prnt("", "Error with command '%s'" % command)
|
|
||||||
return weechat.WEECHAT_RC_OK
|
|
||||||
if return_code >= 0:
|
|
||||||
weechat.prnt("", "return_code = %d" % return_code)
|
|
||||||
if out:
|
|
||||||
weechat.prnt("", "stdout: %s" % out)
|
|
||||||
if err:
|
|
||||||
weechat.prnt("", "stderr: %s" % err)
|
|
||||||
return weechat.WEECHAT_RC_OK
|
|
||||||
|
|
||||||
hook = weechat.hook_process("func:get_status", 5000, "my_process_cb", "")
|
|
||||||
----
|
|
||||||
|
|
||||||
[[url_transfer]]
|
[[url_transfer]]
|
||||||
==== URL Übertragung
|
==== URL Übertragung
|
||||||
|
|
||||||
@@ -1142,15 +1107,15 @@ dabei in der Callback-Variable "out" gesichert (Standardausgabe des Prozesses):
|
|||||||
|
|
||||||
[source,python]
|
[source,python]
|
||||||
----
|
----
|
||||||
# Display latest stable version of WeeChat.
|
# Zeigt die aktuelle stabile Version von WeeChat an.
|
||||||
weechat_latest_version = ""
|
weechat_version = ""
|
||||||
|
|
||||||
def weechat_process_cb(data, command, return_code, out, err):
|
def weechat_process_cb(data, command, rc, out, err):
|
||||||
global weechat_latest_version
|
global weechat_version
|
||||||
if out:
|
if out != "":
|
||||||
weechat_latest_version += out
|
weechat_version += out
|
||||||
if return_code >= 0:
|
if int(rc) >= 0:
|
||||||
weechat.prnt("", "Latest WeeChat version: %s" % weechat_latest_version)
|
weechat.prnt("", "aktuelle stabile WeeChat-Version: %s" % weechat_version)
|
||||||
return weechat.WEECHAT_RC_OK
|
return weechat.WEECHAT_RC_OK
|
||||||
|
|
||||||
weechat.hook_process("url:https://weechat.org/dev/info/stable/",
|
weechat.hook_process("url:https://weechat.org/dev/info/stable/",
|
||||||
@@ -1165,9 +1130,9 @@ WeeChat Entwicklerpaket in die Datei _/tmp/weechat-devel.tar.gz_ gesichert:
|
|||||||
|
|
||||||
[source,python]
|
[source,python]
|
||||||
----
|
----
|
||||||
def my_process_cb(data, command, return_code, out, err):
|
def my_process_cb(data, command, rc, out, err):
|
||||||
if return_code >= 0:
|
if int(rc) >= 0:
|
||||||
weechat.prnt("", "End of transfer (return code = %d)" % return_code)
|
weechat.prnt("", "End of transfer (rc=%s)" % rc)
|
||||||
return weechat.WEECHAT_RC_OK
|
return weechat.WEECHAT_RC_OK
|
||||||
|
|
||||||
weechat.hook_process_hashtable("url:https://weechat.org/files/src/weechat-devel.tar.gz",
|
weechat.hook_process_hashtable("url:https://weechat.org/files/src/weechat-devel.tar.gz",
|
||||||
|
|||||||
@@ -0,0 +1,148 @@
|
|||||||
|
= WeeChat Anleitung für Testpersonen
|
||||||
|
:author: Sébastien Helleu
|
||||||
|
:email: flashcode@flashtux.org
|
||||||
|
:lang: de
|
||||||
|
:toc: left
|
||||||
|
:toc-title: Inhaltsverzeichnis
|
||||||
|
:sectnums:
|
||||||
|
:docinfo1:
|
||||||
|
|
||||||
|
|
||||||
|
Übersetzer:
|
||||||
|
|
||||||
|
* Juergen Descher <jhdl@gmx.net>, 2009
|
||||||
|
* Nils Görs <weechatter@arcor.de>, 2009-2016
|
||||||
|
|
||||||
|
|
||||||
|
[[purpose]]
|
||||||
|
== Intention
|
||||||
|
|
||||||
|
Viele dankbare Anwender fragen uns wie sie bei der Entwicklung von WeeChat
|
||||||
|
helfen können. Der einfachste (aber auch der kniffligste) Weg uns zu helfen ist:
|
||||||
|
testen!
|
||||||
|
|
||||||
|
Testen ist ein sehr wichtiger Teil der Programmentwicklung und sollte daher
|
||||||
|
nicht unterbewertet werden. Wenn neue Funktionen implementiert wurden dann
|
||||||
|
müssen diese getestet werden. Für manche Funktionen gibt es sehr viele
|
||||||
|
verschiedene Problemstellungen, oder diese sind äußerst Umfangreich. Dadurch
|
||||||
|
können die Entwickler nicht jede einzelne Variante ausprobieren.
|
||||||
|
|
||||||
|
Ein Beispiel: Eine berüchtigte Zeichensatz-Erweiterung wurde in WeeChat 0.2.2
|
||||||
|
eingeführt. Keiner von uns, Entwickler, Mithelfende und Tester, nutzten Channels
|
||||||
|
in denen länderspezifische Zeichen im eigenen Namen Verwendung fanden. Somit wurde
|
||||||
|
die Version 0.2.2 freigegeben und wir bekamen daraufhin eine Flut von Beschwerden
|
||||||
|
durch russischen User, bei denen der Fehler sichtbar war. Hätten wir mehr Tester,
|
||||||
|
dann sollte so etwas nicht mehr passieren.
|
||||||
|
|
||||||
|
Eine stabile Version von WeeChat zu testen bringt uns leider nicht weiter da die
|
||||||
|
Entwickler in der Zwischenzeit neue Funktionen implementiert haben und vermutlich
|
||||||
|
alte Fehler schon behoben wurden.
|
||||||
|
|
||||||
|
|
||||||
|
[[prepare_system]]
|
||||||
|
== Bereite Dein System vor
|
||||||
|
|
||||||
|
Es wäre uns schon sehr damit geholfen wenn Du Linux _core_ Dateien aktivieren würdest.
|
||||||
|
Falls WeeChat abstürzen sollte wird eine Datei Namens _core_ erzeugt. Diese Datei
|
||||||
|
beinhaltet viele nützliche Debug-Informationen um das genaue Problem in WeeChat
|
||||||
|
zu lokalisieren.
|
||||||
|
|
||||||
|
Falls Du die _bash_ als shell benutzt, dann ergänze Deine _~/.bashrc_ durch folgende
|
||||||
|
Zeile:
|
||||||
|
|
||||||
|
----
|
||||||
|
ulimit -c unlimited
|
||||||
|
----
|
||||||
|
|
||||||
|
|
||||||
|
[[download]]
|
||||||
|
== Besorge Dir die Entwickler-Version
|
||||||
|
|
||||||
|
aktueller Programmcode (mit den aktuellen Fehlern und Funktionen) ist im GIT Repository
|
||||||
|
gespeichert.
|
||||||
|
|
||||||
|
Du könntest Dich dazu entscheiden es manuell zu bauen (empfohlen):
|
||||||
|
|
||||||
|
* die GIT Version kann parallel zur stabilen Version kompiliert und installiert
|
||||||
|
werden.
|
||||||
|
* Du benötigst keine Root-Rechte, und opfern brauchst Du Deine stabile Version
|
||||||
|
von WeeChat auch nicht.
|
||||||
|
|
||||||
|
[[get_sources]]
|
||||||
|
=== Beschaffe und baue die Quellen
|
||||||
|
|
||||||
|
Erstelle zuerst einen neuen Ordner, z.B. _weechat-git_:
|
||||||
|
|
||||||
|
----
|
||||||
|
$ mkdir ~/weechat-git
|
||||||
|
$ cd ~/weechat-git
|
||||||
|
----
|
||||||
|
|
||||||
|
Falls Du git installiert hast, clone das git Repository (empfohlen):
|
||||||
|
|
||||||
|
----
|
||||||
|
$ git clone https://github.com/weechat/weechat.git
|
||||||
|
$ cd weechat
|
||||||
|
----
|
||||||
|
|
||||||
|
[NOTE]
|
||||||
|
Um auf den aktuellen Stand zu kommen verwendest Du z.B. `git pull` in
|
||||||
|
diesem Ordner.
|
||||||
|
|
||||||
|
Ansonsten kannst Du das _Entwickler-Paket_ herunterladen und entpacken:
|
||||||
|
|
||||||
|
----
|
||||||
|
$ wget https://weechat.org/files/src/weechat-devel.tar.bz2
|
||||||
|
$ tar xvjf weechat-devel.tar.bz2
|
||||||
|
$ cd weechat-devel
|
||||||
|
----
|
||||||
|
|
||||||
|
Um die Quellen zu übersetzen, wird CMake empfohlen:
|
||||||
|
|
||||||
|
----
|
||||||
|
$ mkdir build
|
||||||
|
$ cd build
|
||||||
|
$ cmake .. -DCMAKE_INSTALL_PREFIX=$HOME/weechat-git -DWEECHAT_HOME=~/.weechat-dev -DCMAKE_BUILD_TYPE=Debug
|
||||||
|
$ make
|
||||||
|
$ make install
|
||||||
|
----
|
||||||
|
|
||||||
|
Falls Du CMake nicht hast, ist es auch möglich die autotools zu nutzen:
|
||||||
|
|
||||||
|
----
|
||||||
|
$ ./autogen.sh
|
||||||
|
$ ./configure --prefix=$HOME/weechat-git WEECHAT_HOME=~/.weechat-dev
|
||||||
|
$ make
|
||||||
|
$ make install
|
||||||
|
----
|
||||||
|
|
||||||
|
[[install_binary_package]]
|
||||||
|
=== Installieren des Programm-Paketes
|
||||||
|
|
||||||
|
Abhängig Deiner Linux Distribution:
|
||||||
|
|
||||||
|
* Debian: https://weechat.org/download/debian
|
||||||
|
* Gentoo: https://weechat.org/download
|
||||||
|
* ArchLinux: PKGBUILD von https://aur.archlinux.org/
|
||||||
|
* andere: Wissen wir nicht! Eheh.
|
||||||
|
|
||||||
|
|
||||||
|
[[run]]
|
||||||
|
== WeeChat starten
|
||||||
|
|
||||||
|
Die Befehlszeile lautet:
|
||||||
|
|
||||||
|
----
|
||||||
|
$ ~/weechat-git/bin/weechat
|
||||||
|
----
|
||||||
|
|
||||||
|
Immer noch munter? Dann solltest Du jetzt das bekannte Interface sehen und nun
|
||||||
|
prahle vor Anderen, dass Du die neueste WeeChat-Version verwendest :)
|
||||||
|
|
||||||
|
Solltest Du nun ein merkwürdiges Verhalten bemerken (es können diverse Probleme
|
||||||
|
oder Abstürze auftreten oder einfach Dein Bier überkochen) zögere nicht, komme
|
||||||
|
in den Channel _#weechat_ auf _irc.libera.chat_ (A.d.Ü.: englischsprachig) und
|
||||||
|
berichte uns darüber.
|
||||||
|
|
||||||
|
Auch falls alles korrekt funktionieren sollte gib uns trotzdem Bescheid, wir
|
||||||
|
brauchen Deine Rückmeldung!
|
||||||
+1897
-2044
File diff suppressed because it is too large
Load Diff
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
#!/usr/bin/env python3
|
#!/usr/bin/env python3
|
||||||
#
|
#
|
||||||
# Copyright (C) 2008-2022 Sébastien Helleu <flashcode@flashtux.org>
|
# Copyright (C) 2008-2021 Sébastien Helleu <flashcode@flashtux.org>
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# This program is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
|||||||
+4
-218
@@ -1,252 +1,38 @@
|
|||||||
<!--
|
<!--
|
||||||
Custom styles for Asciidoctor
|
Custom styles for Asciidoctor
|
||||||
Copyright (C) 2016-2022 Sébastien Helleu <flashcode@flashtux.org>
|
Copyright (C) 2016-2021 Sébastien Helleu <flashcode@flashtux.org>
|
||||||
-->
|
-->
|
||||||
<style>
|
<style>
|
||||||
|
#header,#content,#footnotes,#footer {
|
||||||
/* themes/colors */
|
|
||||||
|
|
||||||
@media (prefers-color-scheme: dark) {
|
|
||||||
/* dark theme */
|
|
||||||
:root {
|
|
||||||
--body-bg-color: #1a1a1a;
|
|
||||||
--body-color: #ddd;
|
|
||||||
--body-font: system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";
|
|
||||||
--link-color: #8aceff;
|
|
||||||
--table-thead-tfoot: #252525;
|
|
||||||
--th-color: #fff;
|
|
||||||
--toc-bg-color: #252525;
|
|
||||||
--color-header1: #ddd;
|
|
||||||
--color-header2: #da8975;
|
|
||||||
--header-details-color: #aaa;
|
|
||||||
--border: 1px solid #444;
|
|
||||||
--code-bg-color: #252525;
|
|
||||||
--pre-color: #ddd;
|
|
||||||
--pre-bg-color: #202020;
|
|
||||||
--pre-code-bg-color: #202020;
|
|
||||||
--keyseq-color: #777;
|
|
||||||
--kbd-bg-color: #252525;
|
|
||||||
--kbd-border: 1px solid #333;
|
|
||||||
--kbd-box-shadow: 0 1px 0 rgba(0, 0, 0, .2), inset 0 0 0 .1em #2c2c2c;
|
|
||||||
--icon-note-color: #4d7cc6;
|
|
||||||
--icon-tip-color: #fff;
|
|
||||||
--icon-warning-color: #f39c12;
|
|
||||||
--icon-caution-color: #bf3400;
|
|
||||||
--icon-important-color: #f44336;
|
|
||||||
--mark-bg-color: #007;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@media (not (prefers-color-scheme: dark)), (prefers-color-scheme: light) {
|
|
||||||
/* light theme */
|
|
||||||
:root {
|
|
||||||
--body-bg-color: ##fff;
|
|
||||||
--body-color: #353535;
|
|
||||||
--body-font: system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";
|
|
||||||
--link-color: #1d4b8f;
|
|
||||||
--table-thead-tfoot: #f7f8f7;
|
|
||||||
--th-color: #000;
|
|
||||||
--toc-bg-color: #f8f8f7;
|
|
||||||
--color-header1: #000;
|
|
||||||
--color-header2: #ba3925;
|
|
||||||
--header-details-color: #797979;
|
|
||||||
--border: 1px solid #dddddf;
|
|
||||||
--code-bg-color: #f7f7f8;
|
|
||||||
--keyseq-color: #333c;
|
|
||||||
--pre-color: #353535;
|
|
||||||
--pre-bg-color: #f7f7f8;
|
|
||||||
--pre-code-bg-color: #202020;
|
|
||||||
--kbd-bg-color: #f7f7f7;
|
|
||||||
--kbd-border: 1px solid #ccc;
|
|
||||||
--kbd-box-shadow: 0 1px 0 rgba(0, 0, 0, .2), inset 0 0 0 .1em #fff;
|
|
||||||
--icon-note-color: #19407c;
|
|
||||||
--icon-tip-color: #111;
|
|
||||||
--icon-warning-color: #bf6900;
|
|
||||||
--icon-caution-color: #ff0000;
|
|
||||||
--icon-important-color: #bf0000;
|
|
||||||
--mark-bg-color: #9df;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
body {
|
|
||||||
background-color: var(--body-bg-color);
|
|
||||||
color: var(--body-color);
|
|
||||||
font-family: var(--body-font);
|
|
||||||
}
|
|
||||||
|
|
||||||
h1 {
|
|
||||||
color: var(--color-header1) !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
h2, h3, h4, h5, h6 {
|
|
||||||
color: var(--color-header2) !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 {
|
|
||||||
font-family: var(--body-font);
|
|
||||||
}
|
|
||||||
|
|
||||||
a:link, a:visited, #header .details span.email a {
|
|
||||||
color: var(--link-color);
|
|
||||||
}
|
|
||||||
|
|
||||||
table thead, table tfoot {
|
|
||||||
background: var(--table-thead-tfoot) !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
table.tableblock, th.tableblock, td.tableblock {
|
|
||||||
border: var(--border);
|
|
||||||
}
|
|
||||||
|
|
||||||
th {
|
|
||||||
color: var(--th-color) !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
td {
|
|
||||||
background-color: var(--body-bg-color);
|
|
||||||
color: var(--body-color) !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
#toc.toc2 {
|
|
||||||
background-color: var(--toc-bg-color);
|
|
||||||
border-right: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
#toc.toc2 > ul {
|
|
||||||
font-size: .9em;
|
|
||||||
}
|
|
||||||
|
|
||||||
@media screen and (max-width:767px) {
|
|
||||||
#toc.toc2 {
|
|
||||||
background-color: var(--body-bg-color);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
p, .paragraph.lead > p, #preamble > .sectionbody > [class="paragraph"]:first-of-type p, #toctitle, .title {
|
|
||||||
color: var(--body-color);
|
|
||||||
}
|
|
||||||
|
|
||||||
#header .details {
|
|
||||||
border-bottom: var(--border);
|
|
||||||
color: var(--header-details-color);
|
|
||||||
}
|
|
||||||
|
|
||||||
code, .prettyprint {
|
|
||||||
background-color: var(--code-bg-color) !important;
|
|
||||||
color: var(--body-color);
|
|
||||||
}
|
|
||||||
|
|
||||||
pre {
|
|
||||||
color: var(--pre-color) !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
pre > code {
|
|
||||||
background-color: var(--pre-code-bg-color) !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.keyseq {
|
|
||||||
color: var(--keyseq-color);
|
|
||||||
}
|
|
||||||
|
|
||||||
kbd {
|
|
||||||
background-color: var(--kbd-bg-color) !important;
|
|
||||||
border: var(--kbd-border) !important;
|
|
||||||
box-shadow: var(--kbd-box-shadow);
|
|
||||||
color: var(--body-color);
|
|
||||||
}
|
|
||||||
|
|
||||||
.literalblock pre, .listingblock > .content > pre:not(.highlight), .listingblock > .content > pre[class="highlight"], .listingblock > .content > pre[class^="highlight "] {
|
|
||||||
background-color: var(--pre-bg-color);
|
|
||||||
color: var(--body-color);
|
|
||||||
}
|
|
||||||
|
|
||||||
.sect1 + .sect1 {
|
|
||||||
border-top: var(--border);
|
|
||||||
}
|
|
||||||
|
|
||||||
.admonitionblock td.icon .icon-note::before {
|
|
||||||
color: var(--icon-note-color);
|
|
||||||
}
|
|
||||||
|
|
||||||
.admonitionblock td.icon .icon-tip::before {
|
|
||||||
color: var(--icon-tip-color);
|
|
||||||
}
|
|
||||||
|
|
||||||
.admonitionblock td.icon .icon-warning::before {
|
|
||||||
color: var(--icon-warning-color);
|
|
||||||
}
|
|
||||||
|
|
||||||
.admonitionblock td.icon .icon-caution::before {
|
|
||||||
color: var(--icon-caution-color);
|
|
||||||
}
|
|
||||||
|
|
||||||
.admonitionblock td.icon .icon-important::before {
|
|
||||||
color: var(--icon-important-color);
|
|
||||||
}
|
|
||||||
|
|
||||||
.admonitionblock > table td.content {
|
|
||||||
border-left: var(--border);
|
|
||||||
}
|
|
||||||
|
|
||||||
mark {
|
|
||||||
background-color: var(--mark-bg-color);
|
|
||||||
color: var(--body-color);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* syntax highlighting tuning */
|
|
||||||
|
|
||||||
pre.pygments .tok-cp {
|
|
||||||
color: #44cfaf;
|
|
||||||
}
|
|
||||||
|
|
||||||
pre.pygments .tok-nc, pre.pygments .tok-nf {
|
|
||||||
color: #649fef;
|
|
||||||
}
|
|
||||||
|
|
||||||
pre.pygments .tok-gu, pre.pygments .tok-nc, pre.pygments .tok-nn {
|
|
||||||
text-decoration: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* asciidoctor styles tuning */
|
|
||||||
|
|
||||||
#header, #content, #footnotes, #footer {
|
|
||||||
max-width: none;
|
max-width: none;
|
||||||
padding-left: 3em;
|
padding-left: 3em;
|
||||||
padding-right: 3em;
|
padding-right: 3em;
|
||||||
}
|
}
|
||||||
|
|
||||||
#header #revnumber {
|
#header #revnumber {
|
||||||
text-transform: none;
|
text-transform: none;
|
||||||
}
|
}
|
||||||
|
h1,h2,h3,h4,h5 {
|
||||||
h1, h2, h3, h4, h5 {
|
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
}
|
}
|
||||||
|
|
||||||
.literalblock pre {
|
.literalblock pre {
|
||||||
font-family: monospace, 'Courier New', Courier;
|
font-family: monospace, 'Courier New', Courier;
|
||||||
line-height: normal;
|
line-height: normal;
|
||||||
}
|
}
|
||||||
|
|
||||||
kbd {
|
kbd {
|
||||||
font-size: .9em;
|
font-size: .9em;
|
||||||
}
|
}
|
||||||
|
|
||||||
.keyseq {
|
.keyseq {
|
||||||
margin-left: .2em;
|
margin-left: .2em;
|
||||||
margin-right: .2em;
|
margin-right: .2em;
|
||||||
}
|
}
|
||||||
|
|
||||||
.tableblock kbd {
|
.tableblock kbd {
|
||||||
margin-top: .2em;
|
margin-top: .2em;
|
||||||
margin-bottom: .2em;
|
margin-bottom: .2em;
|
||||||
}
|
}
|
||||||
|
|
||||||
.hex {
|
.hex {
|
||||||
padding: 0 .2em;
|
padding: 0 .2em;
|
||||||
border: var(--border);
|
border: 1px solid #88b;
|
||||||
margin: 0 .2em;
|
margin: 0 .2em;
|
||||||
font-family: monospace;
|
font-family: monospace;
|
||||||
font-size: 1.1em;
|
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
+14
-1
@@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
|
# Copyright (C) 2003-2021 Sébastien Helleu <flashcode@flashtux.org>
|
||||||
#
|
#
|
||||||
# This file is part of WeeChat, the extensible chat client.
|
# This file is part of WeeChat, the extensible chat client.
|
||||||
#
|
#
|
||||||
@@ -122,6 +122,19 @@ if(ENABLE_DOC)
|
|||||||
add_custom_target(doc-quickstart-en ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/weechat_quickstart.en.html)
|
add_custom_target(doc-quickstart-en ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/weechat_quickstart.en.html)
|
||||||
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/weechat_quickstart.en.html DESTINATION ${DATAROOTDIR}/doc/${PROJECT_NAME})
|
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/weechat_quickstart.en.html DESTINATION ${DATAROOTDIR}/doc/${PROJECT_NAME})
|
||||||
|
|
||||||
|
# tester's guide
|
||||||
|
add_custom_command(
|
||||||
|
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/weechat_tester.en.html
|
||||||
|
COMMAND ${ASCIIDOCTOR_EXECUTABLE} ARGS ${ASCIIDOCTOR_ARGS} -o weechat_tester.en.html ${CMAKE_CURRENT_SOURCE_DIR}/weechat_tester.en.adoc
|
||||||
|
DEPENDS
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/../docinfo.html
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/weechat_tester.en.adoc
|
||||||
|
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
||||||
|
COMMENT "Building weechat_tester.en.html"
|
||||||
|
)
|
||||||
|
add_custom_target(doc-tester-en ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/weechat_tester.en.html)
|
||||||
|
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/weechat_tester.en.html DESTINATION ${DATAROOTDIR}/doc/${PROJECT_NAME})
|
||||||
|
|
||||||
# relay protocol
|
# relay protocol
|
||||||
add_custom_command(
|
add_custom_command(
|
||||||
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/weechat_relay_protocol.en.html
|
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/weechat_relay_protocol.en.html
|
||||||
|
|||||||
+7
-1
@@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
|
# Copyright (C) 2003-2021 Sébastien Helleu <flashcode@flashtux.org>
|
||||||
# Copyright (C) 2006 Julien Louis <ptitlouis@sysif.net>
|
# Copyright (C) 2006 Julien Louis <ptitlouis@sysif.net>
|
||||||
#
|
#
|
||||||
# This file is part of WeeChat, the extensible chat client.
|
# This file is part of WeeChat, the extensible chat client.
|
||||||
@@ -29,6 +29,7 @@ EXTRA_DIST = CMakeLists.txt \
|
|||||||
weechat_scripting.en.adoc \
|
weechat_scripting.en.adoc \
|
||||||
weechat_faq.en.adoc \
|
weechat_faq.en.adoc \
|
||||||
weechat_quickstart.en.adoc \
|
weechat_quickstart.en.adoc \
|
||||||
|
weechat_tester.en.adoc \
|
||||||
weechat_relay_protocol.en.adoc \
|
weechat_relay_protocol.en.adoc \
|
||||||
weechat_dev.en.adoc \
|
weechat_dev.en.adoc \
|
||||||
includes/autogen_api_completions.en.adoc \
|
includes/autogen_api_completions.en.adoc \
|
||||||
@@ -57,6 +58,7 @@ if DOC
|
|||||||
weechat_scripting.en.html \
|
weechat_scripting.en.html \
|
||||||
weechat_faq.en.html \
|
weechat_faq.en.html \
|
||||||
weechat_quickstart.en.html \
|
weechat_quickstart.en.html \
|
||||||
|
weechat_tester.en.html \
|
||||||
weechat_relay_protocol.en.html \
|
weechat_relay_protocol.en.html \
|
||||||
weechat_dev.en.html
|
weechat_dev.en.html
|
||||||
doc_install = install-doc
|
doc_install = install-doc
|
||||||
@@ -90,6 +92,10 @@ weechat_faq.en.html: weechat_faq.en.adoc $(abs_top_srcdir)/doc/docinfo.html
|
|||||||
weechat_quickstart.en.html: weechat_quickstart.en.adoc $(abs_top_srcdir)/doc/docinfo.html
|
weechat_quickstart.en.html: weechat_quickstart.en.adoc $(abs_top_srcdir)/doc/docinfo.html
|
||||||
$(ASCIIDOCTOR) $(ASCIIDOCTOR_ARGS) -a revnumber="$(VERSION)" -o weechat_quickstart.en.html $(abs_top_srcdir)/doc/en/weechat_quickstart.en.adoc
|
$(ASCIIDOCTOR) $(ASCIIDOCTOR_ARGS) -a revnumber="$(VERSION)" -o weechat_quickstart.en.html $(abs_top_srcdir)/doc/en/weechat_quickstart.en.adoc
|
||||||
|
|
||||||
|
# tester's guide
|
||||||
|
weechat_tester.en.html: weechat_tester.en.adoc $(abs_top_srcdir)/doc/docinfo.html
|
||||||
|
$(ASCIIDOCTOR) $(ASCIIDOCTOR_ARGS) -a revnumber="$(VERSION)" -o weechat_tester.en.html $(abs_top_srcdir)/doc/en/weechat_tester.en.adoc
|
||||||
|
|
||||||
# relay protocol
|
# relay protocol
|
||||||
weechat_relay_protocol.en.html: weechat_relay_protocol.en.adoc $(abs_top_srcdir)/doc/docinfo.html
|
weechat_relay_protocol.en.html: weechat_relay_protocol.en.adoc $(abs_top_srcdir)/doc/docinfo.html
|
||||||
$(ASCIIDOCTOR) $(ASCIIDOCTOR_ARGS) -a revnumber="$(VERSION)" -o weechat_relay_protocol.en.html $(abs_top_srcdir)/doc/en/weechat_relay_protocol.en.adoc
|
$(ASCIIDOCTOR) $(ASCIIDOCTOR_ARGS) -a revnumber="$(VERSION)" -o weechat_relay_protocol.en.html $(abs_top_srcdir)/doc/en/weechat_relay_protocol.en.adoc
|
||||||
|
|||||||
@@ -26,8 +26,6 @@
|
|||||||
|
|
||||||
| irc | irc_channels | channels on all IRC servers
|
| irc | irc_channels | channels on all IRC servers
|
||||||
|
|
||||||
| irc | irc_channels_autojoin | channels automatically joined on the current server (option "autojoin")
|
|
||||||
|
|
||||||
| irc | irc_ignores_numbers | numbers for defined ignores
|
| irc | irc_ignores_numbers | numbers for defined ignores
|
||||||
|
|
||||||
| irc | irc_modelist_masks | modelist masks of current IRC channel; required argument: modelist mode
|
| irc | irc_modelist_masks | modelist masks of current IRC channel; required argument: modelist mode
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
|===
|
|===
|
||||||
| Plugin | Name | Description | Hashtable (input) | Hashtable (output)
|
| Plugin | Name | Description | Hashtable (input) | Hashtable (output)
|
||||||
|
|
||||||
| irc | irc_message_parse | parse an IRC message | "message": IRC message, "server": server name (optional) | "tags": tags, "tag_xxx": unescaped value of tag "xxx" (one key per tag), "message_without_tags": message without the tags, "nick": nick, "user": user, "host": host, "command": command, "channel": channel, "arguments": arguments (includes channel), "text": text (for example user message), "param1" ... "paramN": parsed command parameters, "num_params": number of parsed command parameters, "pos_command": index of "command" message ("-1" if "command" was not found), "pos_arguments": index of "arguments" message ("-1" if "arguments" was not found), "pos_channel": index of "channel" message ("-1" if "channel" was not found), "pos_text": index of "text" message ("-1" if "text" was not found)
|
| irc | irc_message_parse | parse an IRC message | "message": IRC message, "server": server name (optional) | "tags": tags, "tag_xxx": unescaped value of tag "xxx" (one key per tag), "message_without_tags": message without the tags, "nick": nick, "user": user, "host": host, "command": command, "channel": channel, "arguments": arguments (includes channel), "text": text (for example user message), "pos_command": index of "command" message ("-1" if "command" was not found), "pos_arguments": index of "arguments" message ("-1" if "arguments" was not found), "pos_channel": index of "channel" message ("-1" if "channel" was not found), "pos_text": index of "text" message ("-1" if "text" was not found)
|
||||||
|
|
||||||
| irc | irc_message_split | split an IRC message (to fit in 512 bytes by default) | "message": IRC message, "server": server name (optional) | "msg1" ... "msgN": messages to send (without final "\r\n"), "args1" ... "argsN": arguments of messages, "count": number of messages
|
| irc | irc_message_split | split an IRC message (to fit in 512 bytes by default) | "message": IRC message, "server": server name (optional) | "msg1" ... "msgN": messages to send (without final "\r\n"), "args1" ... "argsN": arguments of messages, "count": number of messages
|
||||||
|
|
||||||
|
|||||||
@@ -123,35 +123,6 @@ Examples:
|
|||||||
/auth user2 ${weechat_config_dir}/ecdsa2.pem
|
/auth user2 ${weechat_config_dir}/ecdsa2.pem
|
||||||
----
|
----
|
||||||
|
|
||||||
[[command_irc_autojoin]]
|
|
||||||
* `+autojoin+`: configure the "autojoin" server option
|
|
||||||
|
|
||||||
----
|
|
||||||
/autojoin add [<channel1> [<channel2>...]]
|
|
||||||
addraw <channel1>[,<channel2>...] [<key1>[,<key2>...]]
|
|
||||||
del [<channel1> [<channel2>...]]
|
|
||||||
save
|
|
||||||
sort
|
|
||||||
|
|
||||||
add: add current channel or a list of channels (with optional keys) to the autojoin option; if you are on the channel and the key is not provided, the key is read in the channel
|
|
||||||
addraw: use the IRC raw format (same as /join command): all channels separated by commas, optional keys separated by commas
|
|
||||||
del: delete current channel or a list of channels from the autojoin option
|
|
||||||
channel: channel name
|
|
||||||
key: key for the channel
|
|
||||||
save: save currently joined channels in the autojoin option
|
|
||||||
sort: sort alphabetically channels in the autojoin option
|
|
||||||
|
|
||||||
Examples:
|
|
||||||
/autojoin add
|
|
||||||
/autojoin add #test
|
|
||||||
/autojoin add #chan1 #chan2
|
|
||||||
/autojoin addraw #chan1,#chan2,#chan3 key1,key2
|
|
||||||
/autojoin del
|
|
||||||
/autojoin del #chan1
|
|
||||||
/autojoin save
|
|
||||||
/autojoin sort
|
|
||||||
----
|
|
||||||
|
|
||||||
[[command_irc_ban]]
|
[[command_irc_ban]]
|
||||||
* `+ban+`: ban nicks or hosts
|
* `+ban+`: ban nicks or hosts
|
||||||
|
|
||||||
|
|||||||
@@ -1290,6 +1290,12 @@
|
|||||||
** values: any string
|
** values: any string
|
||||||
** default value: `+"*"+`
|
** default value: `+"*"+`
|
||||||
|
|
||||||
|
* [[option_weechat.plugin.debug]] *weechat.plugin.debug*
|
||||||
|
** description: pass:none[enable debug messages by default in all plugins (option disabled by default, which is highly recommended)]
|
||||||
|
** type: boolean
|
||||||
|
** values: on, off
|
||||||
|
** default value: `+off+`
|
||||||
|
|
||||||
* [[option_weechat.plugin.extension]] *weechat.plugin.extension*
|
* [[option_weechat.plugin.extension]] *weechat.plugin.extension*
|
||||||
** description: pass:none[comma separated list of file name extensions for plugins]
|
** description: pass:none[comma separated list of file name extensions for plugins]
|
||||||
** type: string
|
** type: string
|
||||||
@@ -2690,12 +2696,6 @@
|
|||||||
** values: any string
|
** values: any string
|
||||||
** default value: `+""+`
|
** default value: `+""+`
|
||||||
|
|
||||||
* [[option_irc.server_default.autojoin_dynamic]] *irc.server_default.autojoin_dynamic*
|
|
||||||
** description: pass:none[set automatically the "autojoin" option according to the channels you manually join and part with commands /join and /part]
|
|
||||||
** type: boolean
|
|
||||||
** values: on, off
|
|
||||||
** default value: `+off+`
|
|
||||||
|
|
||||||
* [[option_irc.server_default.autoreconnect]] *irc.server_default.autoreconnect*
|
* [[option_irc.server_default.autoreconnect]] *irc.server_default.autoreconnect*
|
||||||
** description: pass:none[automatically reconnect to server when disconnected]
|
** description: pass:none[automatically reconnect to server when disconnected]
|
||||||
** type: boolean
|
** type: boolean
|
||||||
@@ -3064,11 +3064,11 @@
|
|||||||
** values: -1 .. 43200
|
** values: -1 .. 43200
|
||||||
** default value: `+0+`
|
** default value: `+0+`
|
||||||
|
|
||||||
* [[option_relay.network.compression]] *relay.network.compression*
|
* [[option_relay.network.compression_level]] *relay.network.compression_level*
|
||||||
** description: pass:none[compression of messages sent to clients with "weechat" protocol: 0 = disable compression, 1 = low compression / fast ... 100 = best compression / slow; the value is a percentage converted to 1-9 for zlib and 1-19 for zstd; the default value is recommended, it offers a good compromise between compression and speed]
|
** description: pass:none[compression level for packets sent to client with WeeChat protocol (0 = disable compression, 1 = low compression ... 9 = best compression)]
|
||||||
** type: integer
|
** type: integer
|
||||||
** values: 0 .. 100
|
** values: 0 .. 9
|
||||||
** default value: `+20+`
|
** default value: `+6+`
|
||||||
|
|
||||||
* [[option_relay.network.ipv6]] *relay.network.ipv6*
|
* [[option_relay.network.ipv6]] *relay.network.ipv6*
|
||||||
** description: pass:none[listen on IPv6 socket by default (in addition to IPv4 which is default); protocols IPv4 and IPv6 can be forced (individually or together) in the protocol name (see /help relay)]
|
** description: pass:none[listen on IPv6 socket by default (in addition to IPv4 which is default); protocols IPv4 and IPv6 can be forced (individually or together) in the protocol name (see /help relay)]
|
||||||
|
|||||||
@@ -100,7 +100,7 @@ $HOME/.local/share/weechat/weechat.log::
|
|||||||
WeeChat is written by Sébastien Helleu and contributors (complete list is in
|
WeeChat is written by Sébastien Helleu and contributors (complete list is in
|
||||||
the AUTHORS.adoc file).
|
the AUTHORS.adoc file).
|
||||||
|
|
||||||
Copyright (C) 2003-2022 {author}
|
Copyright (C) 2003-2021 {author}
|
||||||
|
|
||||||
WeeChat is free software; you can redistribute it and/or modify
|
WeeChat is free software; you can redistribute it and/or modify
|
||||||
it under the terms of the GNU General Public License as published by
|
it under the terms of the GNU General Public License as published by
|
||||||
|
|||||||
+122
-218
@@ -284,7 +284,6 @@ WeeChat "core" is located in following directories:
|
|||||||
| 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-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, ...).
|
||||||
@@ -297,7 +296,6 @@ WeeChat "core" is located in following directories:
|
|||||||
| 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-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).
|
||||||
@@ -391,67 +389,59 @@ 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.
|
||||||
| 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.
|
||||||
| 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-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.
|
||||||
| gui/ | Root of unit tests for interfaces.
|
| gui/ | Root of unit tests for interfaces.
|
||||||
| test-gui-buffer.cpp | Tests: buffer functions.
|
| test-gui-color.cpp | Tests: colors.
|
||||||
| test-gui-chat.cpp | Tests: chat functions.
|
| test-gui-line.cpp | Tests: lines.
|
||||||
| test-gui-color.cpp | Tests: colors.
|
| test-gui-nick.cpp | Tests: nicks.
|
||||||
| test-gui-line.cpp | Tests: lines.
|
| plugins/ | Root of unit tests for plugins.
|
||||||
| test-gui-nick.cpp | Tests: nicks.
|
| irc/ | Root of unit tests for IRC plugin.
|
||||||
| plugins/ | Root of unit tests for plugins.
|
| test-irc-channel.cpp | Tests: IRC channels.
|
||||||
| irc/ | Root of unit tests for IRC plugin.
|
| test-irc-color.cpp | Tests: IRC colors.
|
||||||
| test-irc-buffer.cpp | Tests: IRC buffers.
|
| test-irc-config.cpp | Tests: IRC configuration.
|
||||||
| test-irc-channel.cpp | Tests: IRC channels.
|
| test-irc-ignore.cpp | Tests: IRC ignores.
|
||||||
| test-irc-color.cpp | Tests: IRC colors.
|
| test-irc-message.cpp | Tests: IRC messages.
|
||||||
| test-irc-config.cpp | Tests: IRC configuration.
|
| test-irc-mode.cpp | Tests: IRC modes.
|
||||||
| test-irc-ignore.cpp | Tests: IRC ignores.
|
| test-irc-nick.cpp | Tests: IRC nicks.
|
||||||
| test-irc-join.cpp | Tests: IRC join functions.
|
| test-irc-protocol.cpp | Tests: IRC protocol.
|
||||||
| test-irc-message.cpp | Tests: IRC messages.
|
| test-irc-server.cpp | Tests: IRC server.
|
||||||
| test-irc-mode.cpp | Tests: IRC modes.
|
| trigger/ | Root of unit tests for trigger plugin.
|
||||||
| test-irc-nick.cpp | Tests: IRC nicks.
|
| test-trigger.cpp | Tests: triggers.
|
||||||
| test-irc-protocol.cpp | Tests: IRC protocol.
|
| typing/ | Root of unit tests for typing plugin.
|
||||||
| test-irc-sasl.cpp | Tests: SASL authentication with IRC protocol.
|
| test-typing.cpp | Tests: typing.
|
||||||
| test-irc-server.cpp | Tests: IRC server.
|
| test-typing-status.cpp | Tests: typing status.
|
||||||
| test-irc-tag.cpp | Tests: IRC message tags.
|
| relay/ | Root of unit tests for Relay plugin.
|
||||||
| logger/ | Root of unit tests for logger plugin.
|
| test-relay-auth.cpp | Tests: clients authentication.
|
||||||
| test-logger-backlog.cpp | Tests: logger backlog.
|
|
||||||
| 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.
|
|
||||||
|===
|
|===
|
||||||
|
|
||||||
[[documentation_translations]]
|
[[documentation_translations]]
|
||||||
@@ -473,6 +463,7 @@ Documentation files:
|
|||||||
| weechat_quickstart.XX.adoc | link:weechat_quickstart.en.html[Quickstart guide].
|
| weechat_quickstart.XX.adoc | link:weechat_quickstart.en.html[Quickstart guide].
|
||||||
| weechat_relay_protocol.XX.adoc | link:weechat_relay_protocol.en.html[Relay protocol] (for remote interfaces).
|
| weechat_relay_protocol.XX.adoc | link:weechat_relay_protocol.en.html[Relay protocol] (for remote interfaces).
|
||||||
| weechat_scripting.XX.adoc | link:weechat_scripting.en.html[Scripting guide].
|
| weechat_scripting.XX.adoc | link:weechat_scripting.en.html[Scripting guide].
|
||||||
|
| weechat_tester.XX.adoc | link:weechat_tester.en.html[Tester's guide].
|
||||||
| weechat_user.XX.adoc | link:weechat_user.en.html[User's guide].
|
| weechat_user.XX.adoc | link:weechat_user.en.html[User's guide].
|
||||||
| includes/ | Files included in documentation.
|
| includes/ | Files included in documentation.
|
||||||
| autogen_api_completions.XX.adoc | Auto-generated file for Plugin API reference: completions (do *NEVER* update manually!).
|
| autogen_api_completions.XX.adoc | Auto-generated file for Plugin API reference: completions (do *NEVER* update manually!).
|
||||||
@@ -518,12 +509,12 @@ directory:
|
|||||||
|
|
||||||
Example in C:
|
Example in C:
|
||||||
|
|
||||||
[source,c]
|
[source,C]
|
||||||
----
|
----
|
||||||
/*
|
/*
|
||||||
* weechat.c - core functions for WeeChat
|
* weechat.c - core functions for WeeChat
|
||||||
*
|
*
|
||||||
* Copyright (C) 2022 Your Name <your@email.com>
|
* Copyright (C) 2021 Your Name <your@email.com>
|
||||||
*
|
*
|
||||||
* This file is part of WeeChat, the extensible chat client.
|
* This file is part of WeeChat, the extensible chat client.
|
||||||
*
|
*
|
||||||
@@ -556,7 +547,7 @@ Some basic rules you *must* follow when you write C code:
|
|||||||
|
|
||||||
Example:
|
Example:
|
||||||
|
|
||||||
[source,c]
|
[source,C]
|
||||||
----
|
----
|
||||||
/*
|
/*
|
||||||
* Checks if a string with boolean value is valid.
|
* Checks if a string with boolean value is valid.
|
||||||
@@ -587,7 +578,7 @@ foo ()
|
|||||||
Exception: in `for` loops, where variables like "i" or "n" are OK.
|
Exception: in `for` loops, where variables like "i" or "n" are OK.
|
||||||
* Initialize local variables after declaration, in body of function, example:
|
* Initialize local variables after declaration, in body of function, example:
|
||||||
|
|
||||||
[source,c]
|
[source,C]
|
||||||
----
|
----
|
||||||
void
|
void
|
||||||
foo ()
|
foo ()
|
||||||
@@ -605,7 +596,7 @@ foo ()
|
|||||||
* Place curly brackets `+{ }+` alone on lines, and indent them with number of
|
* Place curly brackets `+{ }+` alone on lines, and indent them with number of
|
||||||
spaces used for line above opening curly bracket (the `if` in example):
|
spaces used for line above opening curly bracket (the `if` in example):
|
||||||
|
|
||||||
[source,c]
|
[source,C]
|
||||||
----
|
----
|
||||||
if (nicks_count == 1)
|
if (nicks_count == 1)
|
||||||
{
|
{
|
||||||
@@ -616,7 +607,7 @@ if (nicks_count == 1)
|
|||||||
* Use empty lines to separate many different blocks inside functions, and if
|
* Use empty lines to separate many different blocks inside functions, and if
|
||||||
possible add a comment for each one, like this:
|
possible add a comment for each one, like this:
|
||||||
|
|
||||||
[source,c]
|
[source,C]
|
||||||
----
|
----
|
||||||
/*
|
/*
|
||||||
* Sends a message from out queue.
|
* Sends a message from out queue.
|
||||||
@@ -659,7 +650,7 @@ irc_server_outqueue_send (struct t_irc_server *server)
|
|||||||
* Indent the `if` conditions, and use parentheses around conditions with an
|
* Indent the `if` conditions, and use parentheses around conditions with an
|
||||||
operator (not needed for single boolean), like this:
|
operator (not needed for single boolean), like this:
|
||||||
|
|
||||||
[source,c]
|
[source,C]
|
||||||
----
|
----
|
||||||
if (something)
|
if (something)
|
||||||
{
|
{
|
||||||
@@ -683,7 +674,7 @@ else
|
|||||||
|
|
||||||
* Indent the `switch` statements like this:
|
* Indent the `switch` statements like this:
|
||||||
|
|
||||||
[source,c]
|
[source,C]
|
||||||
----
|
----
|
||||||
switch (string[0])
|
switch (string[0])
|
||||||
{
|
{
|
||||||
@@ -701,7 +692,7 @@ switch (string[0])
|
|||||||
|
|
||||||
* Use `typedef` for function prototypes but not for structures:
|
* Use `typedef` for function prototypes but not for structures:
|
||||||
|
|
||||||
[source,c]
|
[source,C]
|
||||||
----
|
----
|
||||||
typedef int (t_hook_callback_fd)(void *data, int fd);
|
typedef int (t_hook_callback_fd)(void *data, int fd);
|
||||||
|
|
||||||
@@ -783,7 +774,7 @@ Structures have name _t_X_Y_ or _t_X_Y_Z_:
|
|||||||
|
|
||||||
Example: an IRC nick (from _src/plugins/irc/irc-nick.h_):
|
Example: an IRC nick (from _src/plugins/irc/irc-nick.h_):
|
||||||
|
|
||||||
[source,c]
|
[source,C]
|
||||||
----
|
----
|
||||||
struct t_irc_nick
|
struct t_irc_nick
|
||||||
{
|
{
|
||||||
@@ -813,7 +804,7 @@ _X_ is name of variable, using singular form).
|
|||||||
|
|
||||||
Example: windows (from _src/gui/gui-window.c_):
|
Example: windows (from _src/gui/gui-window.c_):
|
||||||
|
|
||||||
[source,c]
|
[source,C]
|
||||||
----
|
----
|
||||||
struct t_gui_window *gui_windows = NULL; /* first window */
|
struct t_gui_window *gui_windows = NULL; /* first window */
|
||||||
struct t_gui_window *last_gui_window = NULL; /* last window */
|
struct t_gui_window *last_gui_window = NULL; /* last window */
|
||||||
@@ -833,7 +824,7 @@ Naming convention for functions is the same as
|
|||||||
|
|
||||||
Example: creation of a new window (from _src/gui/gui-window.c_):
|
Example: creation of a new window (from _src/gui/gui-window.c_):
|
||||||
|
|
||||||
[source,c]
|
[source,C]
|
||||||
----
|
----
|
||||||
/*
|
/*
|
||||||
* Creates a new window.
|
* Creates a new window.
|
||||||
@@ -869,7 +860,7 @@ and next node.
|
|||||||
|
|
||||||
Example: list of buffers (from _src/gui/gui-buffer.h_):
|
Example: list of buffers (from _src/gui/gui-buffer.h_):
|
||||||
|
|
||||||
[source,c]
|
[source,C]
|
||||||
----
|
----
|
||||||
struct t_gui_buffer
|
struct t_gui_buffer
|
||||||
{
|
{
|
||||||
@@ -884,7 +875,7 @@ struct t_gui_buffer
|
|||||||
|
|
||||||
Then the two list pointers, to the head and tail of list:
|
Then the two list pointers, to the head and tail of list:
|
||||||
|
|
||||||
[source,c]
|
[source,C]
|
||||||
----
|
----
|
||||||
struct t_gui_buffer *gui_buffers = NULL; /* first buffer */
|
struct t_gui_buffer *gui_buffers = NULL; /* first buffer */
|
||||||
struct t_gui_buffer *last_gui_buffer = NULL; /* last buffer */
|
struct t_gui_buffer *last_gui_buffer = NULL; /* last buffer */
|
||||||
@@ -899,10 +890,18 @@ underline, ...) and colors on screen.
|
|||||||
All attributes/colors are prefixed with a char in string, which can be:
|
All attributes/colors are prefixed with a char in string, which can be:
|
||||||
|
|
||||||
* _0x19_: color code (followed by color code(s))
|
* _0x19_: color code (followed by color code(s))
|
||||||
* _0x1A_: set attribute (followed by raw attribute on one char)
|
* _0x1A_: set attribute (followed by attribute on one char)
|
||||||
* _0x1B_: remove attribute (followed by raw attribute on one char)
|
* _0x1B_: remove attribute (followed by attribute on one char)
|
||||||
* _0x1C_: reset (nothing after)
|
* _0x1C_: reset (nothing after)
|
||||||
|
|
||||||
|
Allowed attributes are (one or more chars):
|
||||||
|
|
||||||
|
* `+*+`: bold
|
||||||
|
* `+!+`: reverse
|
||||||
|
* `+/+`: italic
|
||||||
|
* `+_+`: underline
|
||||||
|
* `+|+`: keep attributes
|
||||||
|
|
||||||
Possible colors are:
|
Possible colors are:
|
||||||
|
|
||||||
* standard color: optional attributes + number on 2 digits
|
* standard color: optional attributes + number on 2 digits
|
||||||
@@ -911,55 +910,45 @@ Possible colors are:
|
|||||||
In following table, these conventions are used:
|
In following table, these conventions are used:
|
||||||
|
|
||||||
* `STD`: standard color (2 digits)
|
* `STD`: standard color (2 digits)
|
||||||
* `(ATTR)STD`: standard color with optional attributes (attributes + 2 digits)
|
* `(A)STD`: standard color with optional attributes (attributes + 2 digits)
|
||||||
* `EXT`: extended color (`+@+` + 5 digits)
|
* `EXT`: extended color (`+@+` + 5 digits)
|
||||||
* `(ATTR)EXT`: extended color with optional attributes (`+@+` + attributes + 5 digits)
|
* `(A)EXT`: extended color with optional attributes (`+@+` + attributes + 5 digits)
|
||||||
* `(ATTR)`: one or more attribute chars:
|
* `ATTR`: one attribute char (`+*+`, `+!+`, `+/+`, `+_+` or `+|+`)
|
||||||
** `+*+`: bold
|
|
||||||
** `+!+`: reverse
|
|
||||||
** `+/+`: italic
|
|
||||||
** `+_+`: underline
|
|
||||||
** `+|+`: keep attributes
|
|
||||||
* `(a)`: one raw attribute char:
|
|
||||||
** _0x01_: bold
|
|
||||||
** _0x02_: reverse
|
|
||||||
** _0x03_: italic
|
|
||||||
** _0x04_: underline
|
|
||||||
|
|
||||||
All combinations are summarized in this table:
|
All combinations are summarized in this table:
|
||||||
|
|
||||||
[width="100%",cols="4,3,2,8",options="header"]
|
[width="100%",cols="4,2,2,8",options="header"]
|
||||||
|===
|
|===
|
||||||
| Code | Example | Areas | Description
|
| Code | Example | Areas | Description
|
||||||
| [hex]#19# + `STD` | [hex]#19# `+01+` | chat + bars | Set attributes and color using option, see table below.
|
| [hex]#19# + STD | [hex]#19# `+01+` | chat + bars | Set attributes and color using option, see table below.
|
||||||
| [hex]#19# + `EXT` | [hex]#19# `+@00001+` | chat | Set color with a ncurses pair (used only on `/color` buffer).
|
| [hex]#19# + EXT | [hex]#19# `+@00001+` | chat | Set color with a ncurses pair (used only on `/color` buffer).
|
||||||
| [hex]#19# + `F` + `(ATTR)STD` | [hex]#19# `+F*05+` | chat + bars | Set foreground (WeeChat color).
|
| [hex]#19# + "F" + (A)STD | [hex]#19# `+F*05+` | chat + bars | Set foreground (WeeChat color).
|
||||||
| [hex]#19# + `F` + `(ATTR)EXT` | [hex]#19# `+F@00214+` | chat + bars | Set foreground (extended color).
|
| [hex]#19# + "F" + (A)EXT | [hex]#19# `+F@00214+` | chat + bars | Set foreground (extended color).
|
||||||
| [hex]#19# + `B` + `STD` | [hex]#19# `+B05+` | chat + bars | Set background (WeeChat color).
|
| [hex]#19# + "B" + STD | [hex]#19# `+B05+` | chat + bars | Set background (WeeChat color).
|
||||||
| [hex]#19# + `B` + `EXT` | [hex]#19# `+B@00124+` | chat + bars | Set background (extended color).
|
| [hex]#19# + "B" + EXT | [hex]#19# `+B@00124+` | chat + bars | Set background (extended color).
|
||||||
| [hex]#19# + `*` + `(ATTR)STD` | [hex]#19# `+*05+` | chat + bars | Set foreground (WeeChat color).
|
| [hex]#19# + "*" + (A)STD | [hex]#19# `+*05+` | chat + bars | Set foreground (WeeChat color).
|
||||||
| [hex]#19# + `*` + `(ATTR)EXT` | [hex]#19# `+*@00214+` | chat + bars | Set foreground (extended color).
|
| [hex]#19# + "*" + (A)EXT | [hex]#19# `+*@00214+` | chat + bars | Set foreground (extended color).
|
||||||
| [hex]#19# + `*` + `(ATTR)STD` + `,` + `STD` ^(1)^ | [hex]#19# `+*08,05+` | chat + bars | Set foreground/background (WeeChat colors).
|
| [hex]#19# + "*" + (A)STD + "," + STD ^(1)^ | [hex]#19# `+*08,05+` | chat + bars | Set foreground/background (WeeChat colors).
|
||||||
| [hex]#19# + `*` + `(ATTR)STD` + `,` + `EXT` ^(1)^ | [hex]#19# `+*01,@00214+` | chat + bars | Set foreground (WeeChat color) and background (extended color).
|
| [hex]#19# + "*" + (A)STD + "," + EXT ^(1)^ | [hex]#19# `+*01,@00214+` | chat + bars | Set foreground (WeeChat color) and background (extended color).
|
||||||
| [hex]#19# + `*` + `(ATTR)EXT` + `,` + `STD` ^(1)^ | [hex]#19# `+*@00214,05+` | chat + bars | Set foreground (extended color) and background (WeeChat color).
|
| [hex]#19# + "*" + (A)EXT + "," + STD ^(1)^ | [hex]#19# `+*@00214,05+` | chat + bars | Set foreground (extended color) and background (WeeChat color).
|
||||||
| [hex]#19# + `*` + `(ATTR)EXT` + `,` + `EXT` ^(1)^ | [hex]#19# `+*@00214,@00017+` | chat + bars | Set foreground/background (extended colors).
|
| [hex]#19# + "*" + (A)EXT + "," + EXT ^(1)^ | [hex]#19# `+*@00214,@00017+` | chat + bars | Set foreground/background (extended colors).
|
||||||
| [hex]#19# + `*` + `(ATTR)STD` + `~` + `STD` | [hex]#19# `+*08~05+` | chat + bars | Set foreground/background (WeeChat colors).
|
| [hex]#19# + "*" + (A)STD + "~" + STD | [hex]#19# `+*08~05+` | chat + bars | Set foreground/background (WeeChat colors).
|
||||||
| [hex]#19# + `*` + `(ATTR)STD` + `~` + `EXT` | [hex]#19# `+*01~@00214+` | chat + bars | Set foreground (WeeChat color) and background (extended color).
|
| [hex]#19# + "*" + (A)STD + "~" + EXT | [hex]#19# `+*01~@00214+` | chat + bars | Set foreground (WeeChat color) and background (extended color).
|
||||||
| [hex]#19# + `*` + `(ATTR)EXT` + `~` + `STD` | [hex]#19# `+*@00214~05+` | chat + bars | Set foreground (extended color) and background (WeeChat color).
|
| [hex]#19# + "*" + (A)EXT + "~" + STD | [hex]#19# `+*@00214~05+` | chat + bars | Set foreground (extended color) and background (WeeChat color).
|
||||||
| [hex]#19# + `*` + `(ATTR)EXT` + `~` + `EXT` | [hex]#19# `+*@00214~@00017+` | chat + bars | Set foreground/background (extended colors).
|
| [hex]#19# + "*" + (A)EXT + "~" + EXT | [hex]#19# `+*@00214~@00017+` | chat + bars | Set foreground/background (extended colors).
|
||||||
| [hex]#19# + `b` + `F` | [hex]#19# `+bF+` | bars | Set bar foreground color.
|
| [hex]#19# + "b" + "F" | [hex]#19# `+bF+` | bars | Set bar foreground color.
|
||||||
| [hex]#19# + `b` + `D` | [hex]#19# `+bD+` | bars | Set bar delimiter color.
|
| [hex]#19# + "b" + "D" | [hex]#19# `+bD+` | bars | Set bar delimiter color.
|
||||||
| [hex]#19# + `b` + `B` | [hex]#19# `+bB+` | bars | Set bar background color.
|
| [hex]#19# + "b" + "B" | [hex]#19# `+bB+` | bars | Set bar background color.
|
||||||
| [hex]#19# + `b` + `_` | [hex]#19# `+b_+` | input bar | Start input char (used only in item "input_text").
|
| [hex]#19# + "b" + "_" | [hex]#19# `+b_+` | input bar | Start input char (used only in item "input_text").
|
||||||
| [hex]#19# + `b` + `-` | [hex]#19# `+b-+` | input bar | Start input hidden char (used only in item "input_text").
|
| [hex]#19# + "b" + "-" | [hex]#19# `+b-+` | input bar | Start input hidden char (used only in item "input_text").
|
||||||
| [hex]#19# + `b` + `#` | [hex]#19# `+b#+` | input bar | Move cursor char (used only in item "input_text").
|
| [hex]#19# + "b" + "#" | [hex]#19# `+b#+` | input bar | Move cursor char (used only in item "input_text").
|
||||||
| [hex]#19# + `b` + `i` | [hex]#19# `+bi+` | bars | Start item.
|
| [hex]#19# + "b" + "i" | [hex]#19# `+bi+` | bars | Start item.
|
||||||
| [hex]#19# + `b` + `l` (lower L) | [hex]#19# `+bl+` | bars | Start line item.
|
| [hex]#19# + "b" + "l" (lower L) | [hex]#19# `+bl+` | bars | Start line item.
|
||||||
| [hex]#19# + `E` | [hex]#19# `+E+` | chat + bars | Emphasize text _(WeeChat ≥ 0.4.2)_.
|
| [hex]#19# + "E" | [hex]#19# `+E+` | chat + bars | Emphasize text _(WeeChat ≥ 0.4.2)_.
|
||||||
| [hex]#19# + [hex]#1C# | [hex]#19# [hex]#1C# | chat + bars | Reset color (keep attributes).
|
| [hex]#19# + [hex]#1C# | [hex]#19# [hex]#1C# | chat + bars | Reset color (keep attributes).
|
||||||
| [hex]#1A# + `(a)` | [hex]#1A# [hex]#01# | chat + bars | Set attribute.
|
| [hex]#1A# + ATTR | [hex]#1A# `+*+` | chat + bars | Set attribute.
|
||||||
| [hex]#1B# + `(a)` | [hex]#1B# [hex]#01# | chat + bars | Remove attribute.
|
| [hex]#1B# + ATTR | [hex]#1B# `+*+` | chat + bars | Remove attribute.
|
||||||
| [hex]#1C# | [hex]#1C# | chat + bars | Reset attributes and color.
|
| [hex]#1C# | [hex]#1C# | chat + bars | Reset attributes and color.
|
||||||
|===
|
|===
|
||||||
|
|
||||||
[NOTE]
|
[NOTE]
|
||||||
@@ -1076,7 +1065,7 @@ Then some macros are defined to call these functions.
|
|||||||
For example, function _hook_timer_ is defined in structure _t_weechat_plugin_
|
For example, function _hook_timer_ is defined in structure _t_weechat_plugin_
|
||||||
like this:
|
like this:
|
||||||
|
|
||||||
[source,c]
|
[source,C]
|
||||||
----
|
----
|
||||||
struct t_hook *(*hook_timer) (struct t_weechat_plugin *plugin,
|
struct t_hook *(*hook_timer) (struct t_weechat_plugin *plugin,
|
||||||
long interval,
|
long interval,
|
||||||
@@ -1089,7 +1078,7 @@ struct t_hook *(*hook_timer) (struct t_weechat_plugin *plugin,
|
|||||||
|
|
||||||
And the macro used to call this function is:
|
And the macro used to call this function is:
|
||||||
|
|
||||||
[source,c]
|
[source,C]
|
||||||
----
|
----
|
||||||
#define weechat_hook_timer(__interval, __align_second, __max_calls, \
|
#define weechat_hook_timer(__interval, __align_second, __max_calls, \
|
||||||
__callback, __data) \
|
__callback, __data) \
|
||||||
@@ -1100,7 +1089,7 @@ And the macro used to call this function is:
|
|||||||
|
|
||||||
So in a plugin, the call to function will be for example:
|
So in a plugin, the call to function will be for example:
|
||||||
|
|
||||||
[source,c]
|
[source,C]
|
||||||
----
|
----
|
||||||
server->hook_timer_sasl = weechat_hook_timer (timeout * 1000,
|
server->hook_timer_sasl = weechat_hook_timer (timeout * 1000,
|
||||||
0, 1,
|
0, 1,
|
||||||
@@ -1128,95 +1117,11 @@ component: fix a problem (closes #123)
|
|||||||
|
|
||||||
Where _component_ is one of following:
|
Where _component_ is one of following:
|
||||||
|
|
||||||
[width="100%",cols="1m,4m,5",options="header"]
|
* WeeChat core: _core_ (files in root directory, _po/_ and _src/_,
|
||||||
|===
|
except _src/plugins/_)
|
||||||
| Component | Files | Description
|
* documentation files: _doc_ (files in directory _doc/_)
|
||||||
|
* name of a plugin: _irc_, _python_, _relay_, ... (files in directory
|
||||||
| core |
|
_src/plugins/_)
|
||||||
AUTHORS.adoc +
|
|
||||||
ChangeLog.adoc +
|
|
||||||
Contributing.adoc +
|
|
||||||
.github/FUNDING.yml +
|
|
||||||
.github/ISSUE_TEMPLATE/* +
|
|
||||||
icons/* +
|
|
||||||
po/* +
|
|
||||||
README.adoc +
|
|
||||||
ReleaseNotes.adoc +
|
|
||||||
src/core/* +
|
|
||||||
src/gui/* +
|
|
||||||
version.sh +
|
|
||||||
weechat.desktop |
|
|
||||||
WeeChat core
|
|
||||||
|
|
||||||
| build |
|
|
||||||
autogen.sh +
|
|
||||||
CMakeLists.txt +
|
|
||||||
cmake/* +
|
|
||||||
configure.ac +
|
|
||||||
Makefile.am +
|
|
||||||
tools/* +
|
|
||||||
weechat.cygport.in +
|
|
||||||
weechat.spec |
|
|
||||||
Build
|
|
||||||
|
|
||||||
| ci |
|
|
||||||
.github/workflows/* |
|
|
||||||
Continuous integration
|
|
||||||
|
|
||||||
| debian |
|
|
||||||
debian-devel/* +
|
|
||||||
debian-stable/* |
|
|
||||||
Debian packaging
|
|
||||||
|
|
||||||
| tests |
|
|
||||||
tests/* |
|
|
||||||
Tests
|
|
||||||
|
|
||||||
| doc |
|
|
||||||
doc/* |
|
|
||||||
General doc updates, for example build
|
|
||||||
|
|
||||||
| doc/man |
|
|
||||||
doc/xx/weechat.1.xx.adoc +
|
|
||||||
doc/xx/weechat-headless.1.xx.adoc |
|
|
||||||
Man pages
|
|
||||||
|
|
||||||
| doc/faq |
|
|
||||||
doc/xx/weechat_faq.xx.adoc |
|
|
||||||
Frequently asked questions (FAQ)
|
|
||||||
|
|
||||||
| doc/quickstart |
|
|
||||||
doc/xx/weechat_quickstart.xx.adoc |
|
|
||||||
Quickstart guide
|
|
||||||
|
|
||||||
| doc/user |
|
|
||||||
doc/xx/weechat_user.xx.adoc |
|
|
||||||
User's guide
|
|
||||||
|
|
||||||
| doc/scripting |
|
|
||||||
doc/xx/weechat_scripting.xx.adoc |
|
|
||||||
Scripting guide
|
|
||||||
|
|
||||||
| doc/api |
|
|
||||||
doc/xx/weechat_plugin_api.xx.adoc |
|
|
||||||
Plugin API reference
|
|
||||||
|
|
||||||
| doc/relay |
|
|
||||||
doc/xx/weechat_relay_protocol.xx.adoc |
|
|
||||||
Relay protocol
|
|
||||||
|
|
||||||
| doc/dev |
|
|
||||||
doc/xx/weechat_dev.en.adoc |
|
|
||||||
Developer's guide
|
|
||||||
|
|
||||||
| irc +
|
|
||||||
python +
|
|
||||||
relay +
|
|
||||||
… |
|
|
||||||
src/plugins/<name>/* |
|
|
||||||
Plugin
|
|
||||||
|
|
||||||
|===
|
|
||||||
|
|
||||||
Some rules to follow:
|
Some rules to follow:
|
||||||
|
|
||||||
@@ -1230,7 +1135,6 @@ Examples of commit messages:
|
|||||||
----
|
----
|
||||||
core: add callback "nickcmp" for nick comparison in buffers
|
core: add callback "nickcmp" for nick comparison in buffers
|
||||||
core: update Japanese translations
|
core: update Japanese translations
|
||||||
doc/user: add chapter on typing extension
|
|
||||||
irc: add command /unquiet (closes #36)
|
irc: add command /unquiet (closes #36)
|
||||||
python: fix crash when unloading a script without pointer to interpreter
|
python: fix crash when unloading a script without pointer to interpreter
|
||||||
ruby: add detection of ruby version 1.9.3 in CMake
|
ruby: add detection of ruby version 1.9.3 in CMake
|
||||||
@@ -1298,7 +1202,7 @@ work on it.
|
|||||||
The translations missing in files are indicated by this string:
|
The translations missing in files are indicated by this string:
|
||||||
|
|
||||||
----
|
----
|
||||||
// TRANSLATION MISSING
|
// TRANSLATION MISSING
|
||||||
----
|
----
|
||||||
|
|
||||||
You must translate whole file except links and special keywords for notes,
|
You must translate whole file except links and special keywords for notes,
|
||||||
@@ -1315,7 +1219,7 @@ warnings, ... These words must be kept unchanged:
|
|||||||
[CAUTION]
|
[CAUTION]
|
||||||
----
|
----
|
||||||
|
|
||||||
When there is a name after `+<<link_name>>+`, then you must translate it:
|
When there is a name after `<<link_name>>`, then you must translate it:
|
||||||
|
|
||||||
----
|
----
|
||||||
<<link_name,this text must be translated>>
|
<<link_name,this text must be translated>>
|
||||||
|
|||||||
@@ -829,21 +829,6 @@ join of channels):
|
|||||||
[[edit_autojoin]]
|
[[edit_autojoin]]
|
||||||
=== How can I add/remove channels from autojoin option?
|
=== How can I add/remove channels from autojoin option?
|
||||||
|
|
||||||
With WeeChat ≥ 3.5, you can automatically record the channels you manually
|
|
||||||
join and part in the "autojoin" server option.
|
|
||||||
|
|
||||||
For all servers:
|
|
||||||
|
|
||||||
----
|
|
||||||
/set irc.server_default.autojoin_record on
|
|
||||||
----
|
|
||||||
|
|
||||||
For a single server:
|
|
||||||
|
|
||||||
----
|
|
||||||
/set irc.server.libera.autojoin_record on
|
|
||||||
----
|
|
||||||
|
|
||||||
You can use the `/set` command to edit the list of autojoin channels,
|
You can use the `/set` command to edit the list of autojoin channels,
|
||||||
for example for the "libera" server:
|
for example for the "libera" server:
|
||||||
|
|
||||||
@@ -1098,14 +1083,6 @@ $ cd ~/.cache/weechat/script
|
|||||||
$ curl -O https://weechat.org/files/plugins.xml.gz
|
$ curl -O https://weechat.org/files/plugins.xml.gz
|
||||||
----
|
----
|
||||||
|
|
||||||
If you're running macOS and the downloaded file has a size of 0 bytes,
|
|
||||||
try to set this variable in your shell initialization file or on command line,
|
|
||||||
before starting WeeChat:
|
|
||||||
|
|
||||||
----
|
|
||||||
export OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES
|
|
||||||
----
|
|
||||||
|
|
||||||
[[spell_dictionaries]]
|
[[spell_dictionaries]]
|
||||||
=== I installed aspell dictionaries on my system, how can I use them without restarting WeeChat?
|
=== I installed aspell dictionaries on my system, how can I use them without restarting WeeChat?
|
||||||
|
|
||||||
|
|||||||
+1004
-1290
File diff suppressed because it is too large
Load Diff
@@ -84,7 +84,7 @@ Fields are:
|
|||||||
|
|
||||||
List of available commands (detail in next chapters):
|
List of available commands (detail in next chapters):
|
||||||
|
|
||||||
[width="100%",cols="1m,8",options="header"]
|
[width="100%",cols="^3m,14",options="header"]
|
||||||
|===
|
|===
|
||||||
| Command | Description
|
| Command | Description
|
||||||
| handshake | Handshake: prepare client authentication and set options, before _init_ command.
|
| handshake | Handshake: prepare client authentication and set options, before _init_ command.
|
||||||
@@ -103,7 +103,7 @@ List of available commands (detail in next chapters):
|
|||||||
[[command_handshake]]
|
[[command_handshake]]
|
||||||
=== handshake
|
=== handshake
|
||||||
|
|
||||||
_WeeChat ≥ 2.9, updated in version 3.5._
|
_WeeChat ≥ 2.9._
|
||||||
|
|
||||||
Perform an handshake between the client and WeeChat: this is required in most
|
Perform an handshake between the client and WeeChat: this is required in most
|
||||||
cases to know the session settings and prepare the authentication with the
|
cases to know the session settings and prepare the authentication with the
|
||||||
@@ -127,15 +127,10 @@ Arguments:
|
|||||||
*** _sha512_: password salted and hashed with SHA512 algorithm
|
*** _sha512_: password salted and hashed with SHA512 algorithm
|
||||||
*** _pbkdf2+sha256_: password salted and hashed with PBKDF2 algorithm (using SHA256 hash)
|
*** _pbkdf2+sha256_: password salted and hashed with PBKDF2 algorithm (using SHA256 hash)
|
||||||
*** _pbkdf2+sha512_: password salted and hashed with PBKDF2 algorithm (using SHA512 hash)
|
*** _pbkdf2+sha512_: password salted and hashed with PBKDF2 algorithm (using SHA512 hash)
|
||||||
** _compression_: list of supported compression types supported by the client
|
** _compression_: compression type:
|
||||||
(separated by colons and sorted from most important to the fallback value);
|
*** _zlib_: enable _zlib_ compression for messages sent by _relay_
|
||||||
if compression is enabled, messages from _relay_ to client are compressed
|
(enabled by default if _relay_ supports _zlib_ compression)
|
||||||
to save bandwidth; allowed values are:
|
*** _off_: disable compression
|
||||||
*** _off_: no compression (default if option is not given)
|
|
||||||
*** _zlib_: compress with https://zlib.net/[zlib] _(WeeChat ≥ 0.3.7)_
|
|
||||||
*** _zstd_: compress with https://facebook.github.io/zstd/[Zstandard]: better
|
|
||||||
compression and much faster than _zlib_ for both compression and decompression
|
|
||||||
_(WeeChat ≥ 3.5)_
|
|
||||||
|
|
||||||
Notes about option _password_hash_algo_:
|
Notes about option _password_hash_algo_:
|
||||||
|
|
||||||
@@ -174,9 +169,8 @@ WeeChat replies with a hashtable containing the following keys and values:
|
|||||||
and the user password (the _relay_ nonce + the client nonce is the salt used
|
and the user password (the _relay_ nonce + the client nonce is the salt used
|
||||||
in the password hash algorithm)
|
in the password hash algorithm)
|
||||||
* _compression_: compression type:
|
* _compression_: compression type:
|
||||||
|
** _zlib_: messages are compressed with _zlib_
|
||||||
** _off_: messages are not compressed
|
** _off_: messages are not compressed
|
||||||
** _zlib_: messages are compressed with https://zlib.net/[zlib]
|
|
||||||
** _zstd_: messages are compressed with https://facebook.github.io/zstd/[Zstandard]
|
|
||||||
|
|
||||||
[TIP]
|
[TIP]
|
||||||
With WeeChat ≤ 2.8, the command _handshake_ is not implemented, WeeChat silently
|
With WeeChat ≤ 2.8, the command _handshake_ is not implemented, WeeChat silently
|
||||||
@@ -202,7 +196,7 @@ htb: {
|
|||||||
'password_hash_iterations': '100000',
|
'password_hash_iterations': '100000',
|
||||||
'totp': 'on',
|
'totp': 'on',
|
||||||
'nonce': '85B1EE00695A5B254E14F4885538DF0D',
|
'nonce': '85B1EE00695A5B254E14F4885538DF0D',
|
||||||
'compression': 'off',
|
'compression': 'zlib',
|
||||||
}
|
}
|
||||||
----
|
----
|
||||||
|
|
||||||
@@ -222,7 +216,7 @@ htb: {
|
|||||||
'password_hash_iterations': '100000',
|
'password_hash_iterations': '100000',
|
||||||
'totp': 'on',
|
'totp': 'on',
|
||||||
'nonce': '85B1EE00695A5B254E14F4885538DF0D',
|
'nonce': '85B1EE00695A5B254E14F4885538DF0D',
|
||||||
'compression': 'off',
|
'compression': 'zlib',
|
||||||
}
|
}
|
||||||
----
|
----
|
||||||
|
|
||||||
@@ -242,7 +236,7 @@ htb: {
|
|||||||
'password_hash_iterations': '100000',
|
'password_hash_iterations': '100000',
|
||||||
'totp': 'on',
|
'totp': 'on',
|
||||||
'nonce': '85B1EE00695A5B254E14F4885538DF0D',
|
'nonce': '85B1EE00695A5B254E14F4885538DF0D',
|
||||||
'compression': 'off',
|
'compression': 'zlib',
|
||||||
}
|
}
|
||||||
----
|
----
|
||||||
|
|
||||||
@@ -254,11 +248,10 @@ the password is "test" in this example:
|
|||||||
init password_hash=pbkdf2+sha256:85b1ee00695a5b254e14f4885538df0da4b73207f5aae4:100000:ba7facc3edb89cd06ae810e29ced85980ff36de2bb596fcf513aaab626876440
|
init password_hash=pbkdf2+sha256:85b1ee00695a5b254e14f4885538df0da4b73207f5aae4:100000:ba7facc3edb89cd06ae810e29ced85980ff36de2bb596fcf513aaab626876440
|
||||||
----
|
----
|
||||||
|
|
||||||
* Only "sha256" and "sha512" are supported by the client, enable zstd (preferred)
|
* Only "sha256" and "sha512" are supported by the client, disable compression:
|
||||||
or zlib compression:
|
|
||||||
|
|
||||||
----
|
----
|
||||||
(handshake) handshake password_hash_algo=sha256:sha512,compression=zstd:zlib
|
(handshake) handshake password_hash_algo=sha256:sha512,compression=off
|
||||||
----
|
----
|
||||||
|
|
||||||
Response:
|
Response:
|
||||||
@@ -271,7 +264,7 @@ htb: {
|
|||||||
'password_hash_iterations': '100000',
|
'password_hash_iterations': '100000',
|
||||||
'totp': 'on',
|
'totp': 'on',
|
||||||
'nonce': '85B1EE00695A5B254E14F4885538DF0D',
|
'nonce': '85B1EE00695A5B254E14F4885538DF0D',
|
||||||
'compression': 'zstd',
|
'compression': 'off',
|
||||||
}
|
}
|
||||||
----
|
----
|
||||||
|
|
||||||
@@ -305,6 +298,12 @@ Arguments:
|
|||||||
factor, in addition to the password
|
factor, in addition to the password
|
||||||
(option _relay.network.totp_secret_ in WeeChat)
|
(option _relay.network.totp_secret_ in WeeChat)
|
||||||
_(WeeChat ≥ 2.4)_
|
_(WeeChat ≥ 2.4)_
|
||||||
|
** _compression_: compression type (*deprecated* since version 2.9, it is kept
|
||||||
|
for compatibility reasons but should be sent in the
|
||||||
|
<<command_handshake,handshake command>>):
|
||||||
|
*** _zlib_: enable _zlib_ compression for messages sent by _relay_
|
||||||
|
(enabled by default if _relay_ supports _zlib_ compression)
|
||||||
|
*** _off_: disable compression
|
||||||
|
|
||||||
[NOTE]
|
[NOTE]
|
||||||
With WeeChat ≥ 1.6, commas can be escaped in the value, for example
|
With WeeChat ≥ 1.6, commas can be escaped in the value, for example
|
||||||
@@ -993,7 +992,7 @@ Arguments:
|
|||||||
|
|
||||||
WeeChat replies with a hdata:
|
WeeChat replies with a hdata:
|
||||||
|
|
||||||
[width="100%",cols="2m,3,14",options="header"]
|
[width="100%",cols="3m,2,10",options="header"]
|
||||||
|===
|
|===
|
||||||
| Name | Type | Description
|
| Name | Type | Description
|
||||||
| context | string | Completion context: "null" (no completion), "command", "command_arg", "auto".
|
| context | string | Completion context: "null" (no completion), "command", "command_arg", "auto".
|
||||||
@@ -1261,24 +1260,24 @@ Syntax:
|
|||||||
|
|
||||||
Returned objects (in this order):
|
Returned objects (in this order):
|
||||||
|
|
||||||
[width="80%",cols="1m,2,6m",options="header"]
|
[width="100%",cols="^3,3m,5m",options="header"]
|
||||||
|===
|
|===
|
||||||
| Type | Description | Value
|
| Type | Type (in message) | Value
|
||||||
| chr | char | 65 ("A")
|
| char | chr | 65 ("A")
|
||||||
| int | integer | 123456
|
| integer | int | 123456
|
||||||
| int | integer | -123456
|
| integer | int | -123456
|
||||||
| lon | long | 1234567890
|
| long | lon | 1234567890
|
||||||
| lon | long | -1234567890
|
| long | lon | -1234567890
|
||||||
| str | string | "a string"
|
| string | str | "a string"
|
||||||
| str | string | ""
|
| string | str | ""
|
||||||
| str | string | NULL
|
| string | str | NULL
|
||||||
| buf | buffer | "buffer"
|
| buffer | buf | "buffer"
|
||||||
| buf | buffer | NULL
|
| buffer | buf | NULL
|
||||||
| ptr | pointer | 0x1234abcd
|
| pointer | ptr | 0x1234abcd
|
||||||
| ptr | pointer | NULL
|
| pointer | ptr | NULL
|
||||||
| tim | time | 1321993456
|
| time | tim | 1321993456
|
||||||
| arr str | array of strings | [ "abc", "de" ]
|
| array of strings | arr str | [ "abc", "de" ]
|
||||||
| arr int | array of integers | [ 123, 456, 789 ]
|
| array of integers | arr int | [ 123, 456, 789 ]
|
||||||
|===
|
|===
|
||||||
|
|
||||||
[IMPORTANT]
|
[IMPORTANT]
|
||||||
@@ -1380,8 +1379,7 @@ Messages are sent as binary data, using following format (with size in bytes):
|
|||||||
(including this field)
|
(including this field)
|
||||||
* _compression_ (byte): flag:
|
* _compression_ (byte): flag:
|
||||||
** _0x00_: following data is not compressed
|
** _0x00_: following data is not compressed
|
||||||
** _0x01_: following data is compressed with https://zlib.net/[zlib]
|
** _0x01_: following data is compressed with _zlib_
|
||||||
** _0x02_: following data is compressed with https://facebook.github.io/zstd/[Zstandard]
|
|
||||||
* _id_ (string, 4 bytes + content): identifier sent by client (before command name); it can be
|
* _id_ (string, 4 bytes + content): identifier sent by client (before command name); it can be
|
||||||
empty (string with zero length and no content) if no identifier was given in
|
empty (string with zero length and no content) if no identifier was given in
|
||||||
command
|
command
|
||||||
@@ -1391,9 +1389,8 @@ Messages are sent as binary data, using following format (with size in bytes):
|
|||||||
[[message_compression]]
|
[[message_compression]]
|
||||||
=== Compression
|
=== Compression
|
||||||
|
|
||||||
If flag _compression_ is equal to 0x01 or 0x02, then *all* data after is compressed
|
If flag _compression_ is equal to 0x01, then *all* data after is compressed
|
||||||
with https://zlib.net/[zlib] or https://facebook.github.io/zstd/[Zstandard],
|
with _zlib_, and therefore must be uncompressed before being processed.
|
||||||
and therefore must be uncompressed before being processed.
|
|
||||||
|
|
||||||
[[message_identifier]]
|
[[message_identifier]]
|
||||||
=== Identifier
|
=== Identifier
|
||||||
@@ -2334,7 +2331,7 @@ commands sent on startup after the _init_.
|
|||||||
|
|
||||||
Objects are identified by 3 letters, called _type_. Following types are used:
|
Objects are identified by 3 letters, called _type_. Following types are used:
|
||||||
|
|
||||||
[width="100%",cols="1m,2,8",options="header"]
|
[width="100%",cols="^2m,5,10",options="header"]
|
||||||
|===
|
|===
|
||||||
| Type | Value | Length
|
| Type | Value | Length
|
||||||
| chr | Signed char | 1 byte
|
| chr | Signed char | 1 byte
|
||||||
|
|||||||
@@ -195,12 +195,6 @@ Functions are called with `+weechat.xxx(arg1, arg2, ...)+`.
|
|||||||
|
|
||||||
Functions are called with `+weechat::xxx arg1 arg2 ...+`.
|
Functions are called with `+weechat::xxx arg1 arg2 ...+`.
|
||||||
|
|
||||||
Since Tcl only has string types, there's no null type to pass as an argument
|
|
||||||
when a function accepts null values. To overcome this you can use the constant
|
|
||||||
`$::weechat::WEECHAT_NULL` which acts as a null value. This constant is defined
|
|
||||||
as `\uFFFF\uFFFF\uFFFFWEECHAT_NULL\uFFFF\uFFFF\uFFFF`, so it's very unlikely to
|
|
||||||
appear unintentionally.
|
|
||||||
|
|
||||||
[[language_guile]]
|
[[language_guile]]
|
||||||
==== Guile (Scheme)
|
==== Guile (Scheme)
|
||||||
|
|
||||||
@@ -550,7 +544,7 @@ link:weechat_plugin_api.en.html[WeeChat plugin API reference].
|
|||||||
|
|
||||||
List of functions in script API:
|
List of functions in script API:
|
||||||
|
|
||||||
[width="100%",cols="1,5",options="header"]
|
[width="100%",cols="1,3",options="header"]
|
||||||
|===
|
|===
|
||||||
| Category | Functions
|
| Category | Functions
|
||||||
|
|
||||||
@@ -650,7 +644,6 @@ List of functions in script API:
|
|||||||
print (for python: prnt) +
|
print (for python: prnt) +
|
||||||
print_date_tags (for python: prnt_date_tags) +
|
print_date_tags (for python: prnt_date_tags) +
|
||||||
print_y (for python: prnt_y) +
|
print_y (for python: prnt_y) +
|
||||||
print_y_date_tags (for python: prnt_y_date_tags) +
|
|
||||||
log_print
|
log_print
|
||||||
|
|
||||||
| hooks |
|
| hooks |
|
||||||
@@ -681,7 +674,6 @@ List of functions in script API:
|
|||||||
|
|
||||||
| buffers |
|
| buffers |
|
||||||
buffer_new +
|
buffer_new +
|
||||||
buffer_new_props +
|
|
||||||
current_buffer +
|
current_buffer +
|
||||||
buffer_search +
|
buffer_search +
|
||||||
buffer_search_main +
|
buffer_search_main +
|
||||||
@@ -800,7 +792,7 @@ List of functions in script API:
|
|||||||
|
|
||||||
List of constants in script API:
|
List of constants in script API:
|
||||||
|
|
||||||
[width="100%",cols="1,5",options="header"]
|
[width="100%",cols="1,3",options="header"]
|
||||||
|===
|
|===
|
||||||
| Category | Constants
|
| Category | Constants
|
||||||
|
|
||||||
@@ -883,7 +875,7 @@ Examples:
|
|||||||
weechat.prnt("", "hello")
|
weechat.prnt("", "hello")
|
||||||
|
|
||||||
# display "hello" on core buffer, but do not write it to log file
|
# display "hello" on core buffer, but do not write it to log file
|
||||||
# (version ≥ 0.3.3 only)
|
# (version >= 0.3.3 only)
|
||||||
weechat.prnt_date_tags("", 0, "no_log", "hello")
|
weechat.prnt_date_tags("", 0, "no_log", "hello")
|
||||||
|
|
||||||
# display prefix "==>" and message "hello" on current buffer
|
# display prefix "==>" and message "hello" on current buffer
|
||||||
@@ -1057,53 +1049,26 @@ weechat.hook_timer(60 * 1000, 60, 0, "timer_cb", "")
|
|||||||
You can run a background process with `+hook_process+`. Your callback will be
|
You can run a background process with `+hook_process+`. Your callback will be
|
||||||
called when data is ready. It may be called many times.
|
called when data is ready. It may be called many times.
|
||||||
|
|
||||||
For the last call to your callback, _return_code_ is set to 0 or positive value,
|
For the last call to your callback, _rc_ is set to 0 or positive value, it's
|
||||||
it is the return code of command.
|
return code of command.
|
||||||
|
|
||||||
Example:
|
Example:
|
||||||
|
|
||||||
[source,python]
|
[source,python]
|
||||||
----
|
----
|
||||||
def my_process_cb(data, command, return_code, out, err):
|
process_output = ""
|
||||||
if return_code == weechat.WEECHAT_HOOK_PROCESS_ERROR:
|
|
||||||
weechat.prnt("", "Error with command '%s'" % command)
|
def my_process_cb(data, command, rc, out, err):
|
||||||
return weechat.WEECHAT_RC_OK
|
global process_output
|
||||||
if return_code >= 0:
|
if out != "":
|
||||||
weechat.prnt("", "return_code = %d" % return_code)
|
process_output += out
|
||||||
if out:
|
if int(rc) >= 0:
|
||||||
weechat.prnt("", "stdout: %s" % out)
|
weechat.prnt("", process_output)
|
||||||
if err:
|
|
||||||
weechat.prnt("", "stderr: %s" % err)
|
|
||||||
return weechat.WEECHAT_RC_OK
|
return weechat.WEECHAT_RC_OK
|
||||||
|
|
||||||
weechat.hook_process("/bin/ls -l /etc", 10 * 1000, "my_process_cb", "")
|
weechat.hook_process("/bin/ls -l /etc", 10 * 1000, "my_process_cb", "")
|
||||||
----
|
----
|
||||||
|
|
||||||
You can also call directly a script function that does something blocking,
|
|
||||||
instead of an external command:
|
|
||||||
|
|
||||||
[source,python]
|
|
||||||
----
|
|
||||||
def get_status(data):
|
|
||||||
# do something blocking...
|
|
||||||
# ...
|
|
||||||
return "this is the result"
|
|
||||||
|
|
||||||
def my_process_cb(data, command, return_code, out, err):
|
|
||||||
if return_code == weechat.WEECHAT_HOOK_PROCESS_ERROR:
|
|
||||||
weechat.prnt("", "Error with command '%s'" % command)
|
|
||||||
return weechat.WEECHAT_RC_OK
|
|
||||||
if return_code >= 0:
|
|
||||||
weechat.prnt("", "return_code = %d" % return_code)
|
|
||||||
if out:
|
|
||||||
weechat.prnt("", "stdout: %s" % out)
|
|
||||||
if err:
|
|
||||||
weechat.prnt("", "stderr: %s" % err)
|
|
||||||
return weechat.WEECHAT_RC_OK
|
|
||||||
|
|
||||||
hook = weechat.hook_process("func:get_status", 5000, "my_process_cb", "")
|
|
||||||
----
|
|
||||||
|
|
||||||
[[url_transfer]]
|
[[url_transfer]]
|
||||||
==== URL transfer
|
==== URL transfer
|
||||||
|
|
||||||
@@ -1117,15 +1082,15 @@ in callback (standard output of process):
|
|||||||
|
|
||||||
[source,python]
|
[source,python]
|
||||||
----
|
----
|
||||||
# Display latest stable version of WeeChat.
|
# Display current stable version of WeeChat.
|
||||||
weechat_latest_version = ""
|
weechat_version = ""
|
||||||
|
|
||||||
def weechat_process_cb(data, command, return_code, out, err):
|
def weechat_process_cb(data, command, rc, out, err):
|
||||||
global weechat_latest_version
|
global weechat_version
|
||||||
if out:
|
if out != "":
|
||||||
weechat_latest_version += out
|
weechat_version += out
|
||||||
if return_code >= 0:
|
if int(rc) >= 0:
|
||||||
weechat.prnt("", "Latest WeeChat version: %s" % weechat_latest_version)
|
weechat.prnt("", "Current WeeChat stable is: %s" % weechat_version)
|
||||||
return weechat.WEECHAT_RC_OK
|
return weechat.WEECHAT_RC_OK
|
||||||
|
|
||||||
weechat.hook_process("url:https://weechat.org/dev/info/stable/",
|
weechat.hook_process("url:https://weechat.org/dev/info/stable/",
|
||||||
@@ -1140,9 +1105,9 @@ package in file _/tmp/weechat-devel.tar.gz_:
|
|||||||
|
|
||||||
[source,python]
|
[source,python]
|
||||||
----
|
----
|
||||||
def my_process_cb(data, command, return_code, out, err):
|
def my_process_cb(data, command, rc, out, err):
|
||||||
if return_code >= 0:
|
if int(rc) >= 0:
|
||||||
weechat.prnt("", "End of transfer (return code = %d)" % return_code)
|
weechat.prnt("", "End of transfer (rc=%s)" % rc)
|
||||||
return weechat.WEECHAT_RC_OK
|
return weechat.WEECHAT_RC_OK
|
||||||
|
|
||||||
weechat.hook_process_hashtable("url:https://weechat.org/files/src/weechat-devel.tar.gz",
|
weechat.hook_process_hashtable("url:https://weechat.org/files/src/weechat-devel.tar.gz",
|
||||||
|
|||||||
@@ -0,0 +1,131 @@
|
|||||||
|
= WeeChat tester's guide
|
||||||
|
:author: Sébastien Helleu
|
||||||
|
:email: flashcode@flashtux.org
|
||||||
|
:lang: en
|
||||||
|
:toc: left
|
||||||
|
:sectnums:
|
||||||
|
:docinfo1:
|
||||||
|
|
||||||
|
|
||||||
|
[[purpose]]
|
||||||
|
== Purpose
|
||||||
|
|
||||||
|
Many thankful users ask us how can they help developing WeeChat. The
|
||||||
|
easiest (and also most tricky) way to help developing WeeChat is testing!
|
||||||
|
|
||||||
|
Testing is a very important part of software development and should not be
|
||||||
|
underestimated. When some features are implemented it should be tested, but for
|
||||||
|
some features there are too many use cases or these cases are tricky and
|
||||||
|
developers can't try out every case.
|
||||||
|
|
||||||
|
For example: A notorious charset plugin was introduced in WeeChat 0.2.2: none
|
||||||
|
of us (developers, contributors and testers) used channels with national
|
||||||
|
characters in their names and when 0.2.2 was released we got flooded by Russian
|
||||||
|
users blaming us. If we have more testers it should not happen again in the
|
||||||
|
future.
|
||||||
|
|
||||||
|
Testing the stable version of WeeChat is pointless because developers are busy
|
||||||
|
implementing new stuff (and fixing old bugs) all the time.
|
||||||
|
|
||||||
|
|
||||||
|
[[prepare_system]]
|
||||||
|
== Prepare your system
|
||||||
|
|
||||||
|
It would help us a lot if you enable Linux _core_ files: if WeeChat crashes,
|
||||||
|
Linux will write a file called _core_. This file contains very useful debug
|
||||||
|
info, to know exactly where is problem in WeeChat.
|
||||||
|
|
||||||
|
If you're using the _bash_ shell, add following line to your _~/.bashrc_:
|
||||||
|
|
||||||
|
----
|
||||||
|
ulimit -c unlimited
|
||||||
|
----
|
||||||
|
|
||||||
|
|
||||||
|
[[download]]
|
||||||
|
== Download devel version
|
||||||
|
|
||||||
|
Fresh code (with latest bugs and features) is stored in a GIT repository.
|
||||||
|
|
||||||
|
You may decide to build it manually (recommended way):
|
||||||
|
|
||||||
|
* The GIT version can be built and installed in parallel to the stable version.
|
||||||
|
* You don't need root access, and you don't need to sacrifice the stable
|
||||||
|
version of WeeChat.
|
||||||
|
|
||||||
|
[[get_sources]]
|
||||||
|
=== Get and build sources
|
||||||
|
|
||||||
|
First create a directory, for example _weechat-git_:
|
||||||
|
|
||||||
|
----
|
||||||
|
$ mkdir ~/weechat-git
|
||||||
|
$ cd ~/weechat-git
|
||||||
|
----
|
||||||
|
|
||||||
|
If you have git installed, you can just clone the git repository (recommended
|
||||||
|
way):
|
||||||
|
|
||||||
|
----
|
||||||
|
$ git clone https://github.com/weechat/weechat.git
|
||||||
|
$ cd weechat
|
||||||
|
----
|
||||||
|
|
||||||
|
[NOTE]
|
||||||
|
Later, you can run `git pull` in this directory, to get deltas with
|
||||||
|
the latest updates.
|
||||||
|
|
||||||
|
Otherwise you can download and unpack _devel_ package:
|
||||||
|
|
||||||
|
----
|
||||||
|
$ wget https://weechat.org/files/src/weechat-devel.tar.bz2
|
||||||
|
$ tar xvjf weechat-devel.tar.bz2
|
||||||
|
$ cd weechat-devel
|
||||||
|
----
|
||||||
|
|
||||||
|
To build sources, CMake is recommended:
|
||||||
|
|
||||||
|
----
|
||||||
|
$ mkdir build
|
||||||
|
$ cd build
|
||||||
|
$ cmake .. -DCMAKE_INSTALL_PREFIX=$HOME/weechat-git -DWEECHAT_HOME=~/.weechat-dev -DCMAKE_BUILD_TYPE=Debug
|
||||||
|
$ make
|
||||||
|
$ make install
|
||||||
|
----
|
||||||
|
|
||||||
|
If you don't have CMake, it's still possible to use autotools:
|
||||||
|
|
||||||
|
----
|
||||||
|
$ ./autogen.sh
|
||||||
|
$ ./configure --prefix=$HOME/weechat-git WEECHAT_HOME=~/.weechat-dev
|
||||||
|
$ make
|
||||||
|
$ make install
|
||||||
|
----
|
||||||
|
|
||||||
|
[[install_binary_package]]
|
||||||
|
=== Install binary package
|
||||||
|
|
||||||
|
According to your Linux distribution:
|
||||||
|
|
||||||
|
* Debian: https://weechat.org/download/debian
|
||||||
|
* Gentoo: https://weechat.org/download
|
||||||
|
* ArchLinux: PKGBUILD from https://aur.archlinux.org/
|
||||||
|
* other: we don't know! Eheh.
|
||||||
|
|
||||||
|
|
||||||
|
[[run]]
|
||||||
|
== Run WeeChat
|
||||||
|
|
||||||
|
Command is:
|
||||||
|
|
||||||
|
----
|
||||||
|
$ ~/weechat-git/bin/weechat
|
||||||
|
----
|
||||||
|
|
||||||
|
If you're still awake you should see the familiar interface and brag about
|
||||||
|
having the newest possible version of WeeChat. ;)
|
||||||
|
|
||||||
|
Now if you experience strange behavior (it may have issues or crash or boil
|
||||||
|
your beer) don't hesitate to join _#weechat_ at _irc.libera.chat_ and tell us.
|
||||||
|
|
||||||
|
If it doesn't crash - tell us too, we need your feedback!
|
||||||
+1832
-1979
File diff suppressed because it is too large
Load Diff
@@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (C) 2012-2022 Sébastien Helleu <flashcode@flashtux.org>
|
# Copyright (C) 2012-2021 Sébastien Helleu <flashcode@flashtux.org>
|
||||||
#
|
#
|
||||||
# This file is part of WeeChat, the extensible chat client.
|
# This file is part of WeeChat, the extensible chat client.
|
||||||
#
|
#
|
||||||
|
|||||||
+1
-1
@@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (C) 2012-2022 Sébastien Helleu <flashcode@flashtux.org>
|
# Copyright (C) 2012-2021 Sébastien Helleu <flashcode@flashtux.org>
|
||||||
#
|
#
|
||||||
# This file is part of WeeChat, the extensible chat client.
|
# This file is part of WeeChat, the extensible chat client.
|
||||||
#
|
#
|
||||||
|
|||||||
@@ -832,24 +832,6 @@ unirse a los canales):
|
|||||||
[[edit_autojoin]]
|
[[edit_autojoin]]
|
||||||
=== ¿Cómo puedo añadir/eliminar canales de la opción autojoin?
|
=== ¿Cómo puedo añadir/eliminar canales de la opción autojoin?
|
||||||
|
|
||||||
// TRANSLATION MISSING
|
|
||||||
With WeeChat ≥ 3.5, you can automatically record the channels you manually
|
|
||||||
join and part in the "autojoin" server option.
|
|
||||||
|
|
||||||
// TRANSLATION MISSING
|
|
||||||
For all servers:
|
|
||||||
|
|
||||||
----
|
|
||||||
/set irc.server_default.autojoin_record on
|
|
||||||
----
|
|
||||||
|
|
||||||
// TRANSLATION MISSING
|
|
||||||
For a single server:
|
|
||||||
|
|
||||||
----
|
|
||||||
/set irc.server.libera.autojoin_record on
|
|
||||||
----
|
|
||||||
|
|
||||||
Puede utilizar el comando `/set` para editar la lista de canales con autojoin,
|
Puede utilizar el comando `/set` para editar la lista de canales con autojoin,
|
||||||
por ejemplo, para el servidor "libera":
|
por ejemplo, para el servidor "libera":
|
||||||
|
|
||||||
@@ -1104,15 +1086,6 @@ $ cd ~/.cache/weechat/script
|
|||||||
$ curl -O https://weechat.org/files/plugins.xml.gz
|
$ curl -O https://weechat.org/files/plugins.xml.gz
|
||||||
----
|
----
|
||||||
|
|
||||||
// TRANSLATION MISSING
|
|
||||||
If you're running macOS and the downloaded file has a size of 0 bytes,
|
|
||||||
try to set this variable in your shell initialization file or on command line,
|
|
||||||
before starting WeeChat:
|
|
||||||
|
|
||||||
----
|
|
||||||
export OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES
|
|
||||||
----
|
|
||||||
|
|
||||||
[[spell_dictionaries]]
|
[[spell_dictionaries]]
|
||||||
=== Instalé los diccionarios aspell en mi sistema, ¿cómo puedo utilizarlos sin necesidad de reiniciar WeeChat?
|
=== Instalé los diccionarios aspell en mi sistema, ¿cómo puedo utilizarlos sin necesidad de reiniciar WeeChat?
|
||||||
|
|
||||||
|
|||||||
+14
-1
@@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
|
# Copyright (C) 2003-2021 Sébastien Helleu <flashcode@flashtux.org>
|
||||||
#
|
#
|
||||||
# This file is part of WeeChat, the extensible chat client.
|
# This file is part of WeeChat, the extensible chat client.
|
||||||
#
|
#
|
||||||
@@ -122,6 +122,19 @@ if(ENABLE_DOC)
|
|||||||
add_custom_target(doc-quickstart-fr ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/weechat_quickstart.fr.html)
|
add_custom_target(doc-quickstart-fr ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/weechat_quickstart.fr.html)
|
||||||
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/weechat_quickstart.fr.html DESTINATION ${DATAROOTDIR}/doc/${PROJECT_NAME})
|
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/weechat_quickstart.fr.html DESTINATION ${DATAROOTDIR}/doc/${PROJECT_NAME})
|
||||||
|
|
||||||
|
# tester's guide
|
||||||
|
add_custom_command(
|
||||||
|
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/weechat_tester.fr.html
|
||||||
|
COMMAND ${ASCIIDOCTOR_EXECUTABLE} ARGS ${ASCIIDOCTOR_ARGS} -o weechat_tester.fr.html ${CMAKE_CURRENT_SOURCE_DIR}/weechat_tester.fr.adoc
|
||||||
|
DEPENDS
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/../docinfo.html
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/weechat_tester.fr.adoc
|
||||||
|
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
||||||
|
COMMENT "Building weechat_tester.fr.html"
|
||||||
|
)
|
||||||
|
add_custom_target(doc-tester-fr ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/weechat_tester.fr.html)
|
||||||
|
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/weechat_tester.fr.html DESTINATION ${DATAROOTDIR}/doc/${PROJECT_NAME})
|
||||||
|
|
||||||
# relay protocol
|
# relay protocol
|
||||||
add_custom_command(
|
add_custom_command(
|
||||||
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/weechat_relay_protocol.fr.html
|
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/weechat_relay_protocol.fr.html
|
||||||
|
|||||||
+7
-1
@@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
|
# Copyright (C) 2003-2021 Sébastien Helleu <flashcode@flashtux.org>
|
||||||
# Copyright (C) 2006 Julien Louis <ptitlouis@sysif.net>
|
# Copyright (C) 2006 Julien Louis <ptitlouis@sysif.net>
|
||||||
#
|
#
|
||||||
# This file is part of WeeChat, the extensible chat client.
|
# This file is part of WeeChat, the extensible chat client.
|
||||||
@@ -29,6 +29,7 @@ EXTRA_DIST = CMakeLists.txt \
|
|||||||
weechat_scripting.fr.adoc \
|
weechat_scripting.fr.adoc \
|
||||||
weechat_faq.fr.adoc \
|
weechat_faq.fr.adoc \
|
||||||
weechat_quickstart.fr.adoc \
|
weechat_quickstart.fr.adoc \
|
||||||
|
weechat_tester.fr.adoc \
|
||||||
weechat_relay_protocol.fr.adoc \
|
weechat_relay_protocol.fr.adoc \
|
||||||
weechat_dev.fr.adoc \
|
weechat_dev.fr.adoc \
|
||||||
includes/autogen_api_completions.fr.adoc \
|
includes/autogen_api_completions.fr.adoc \
|
||||||
@@ -57,6 +58,7 @@ if DOC
|
|||||||
weechat_scripting.fr.html \
|
weechat_scripting.fr.html \
|
||||||
weechat_faq.fr.html \
|
weechat_faq.fr.html \
|
||||||
weechat_quickstart.fr.html \
|
weechat_quickstart.fr.html \
|
||||||
|
weechat_tester.fr.html \
|
||||||
weechat_relay_protocol.fr.html \
|
weechat_relay_protocol.fr.html \
|
||||||
weechat_dev.fr.html
|
weechat_dev.fr.html
|
||||||
doc_install = install-doc
|
doc_install = install-doc
|
||||||
@@ -90,6 +92,10 @@ weechat_faq.fr.html: weechat_faq.fr.adoc $(abs_top_srcdir)/doc/docinfo.html
|
|||||||
weechat_quickstart.fr.html: weechat_quickstart.fr.adoc $(abs_top_srcdir)/doc/docinfo.html
|
weechat_quickstart.fr.html: weechat_quickstart.fr.adoc $(abs_top_srcdir)/doc/docinfo.html
|
||||||
$(ASCIIDOCTOR) $(ASCIIDOCTOR_ARGS) -a revnumber="$(VERSION)" -o weechat_quickstart.fr.html $(abs_top_srcdir)/doc/fr/weechat_quickstart.fr.adoc
|
$(ASCIIDOCTOR) $(ASCIIDOCTOR_ARGS) -a revnumber="$(VERSION)" -o weechat_quickstart.fr.html $(abs_top_srcdir)/doc/fr/weechat_quickstart.fr.adoc
|
||||||
|
|
||||||
|
# tester's guide
|
||||||
|
weechat_tester.fr.html: weechat_tester.fr.adoc $(abs_top_srcdir)/doc/docinfo.html
|
||||||
|
$(ASCIIDOCTOR) $(ASCIIDOCTOR_ARGS) -a revnumber="$(VERSION)" -o weechat_tester.fr.html $(abs_top_srcdir)/doc/fr/weechat_tester.fr.adoc
|
||||||
|
|
||||||
# relay protocol
|
# relay protocol
|
||||||
weechat_relay_protocol.fr.html: weechat_relay_protocol.fr.adoc $(abs_top_srcdir)/doc/docinfo.html
|
weechat_relay_protocol.fr.html: weechat_relay_protocol.fr.adoc $(abs_top_srcdir)/doc/docinfo.html
|
||||||
$(ASCIIDOCTOR) $(ASCIIDOCTOR_ARGS) -a revnumber="$(VERSION)" -o weechat_relay_protocol.fr.html $(abs_top_srcdir)/doc/fr/weechat_relay_protocol.fr.adoc
|
$(ASCIIDOCTOR) $(ASCIIDOCTOR_ARGS) -a revnumber="$(VERSION)" -o weechat_relay_protocol.fr.html $(abs_top_srcdir)/doc/fr/weechat_relay_protocol.fr.adoc
|
||||||
|
|||||||
@@ -26,8 +26,6 @@
|
|||||||
|
|
||||||
| irc | irc_channels | canaux sur tous les serveurs IRC
|
| irc | irc_channels | canaux sur tous les serveurs IRC
|
||||||
|
|
||||||
| irc | irc_channels_autojoin | canaux automatiquement rejoints sur le serveur courant (option "autojoin")
|
|
||||||
|
|
||||||
| irc | irc_ignores_numbers | numéros pour les ignores définis
|
| irc | irc_ignores_numbers | numéros pour les ignores définis
|
||||||
|
|
||||||
| irc | irc_modelist_masks | masques de la liste de modes du canal IRC courant ; argument obligatoire : mode de la liste de modes
|
| irc | irc_modelist_masks | masques de la liste de modes du canal IRC courant ; argument obligatoire : mode de la liste de modes
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
|===
|
|===
|
||||||
| Extension | Nom | Description | Table de hachage (entrée) | Table de hachage (sortie)
|
| Extension | Nom | Description | Table de hachage (entrée) | Table de hachage (sortie)
|
||||||
|
|
||||||
| irc | irc_message_parse | analyse un message IRC | "message" : message IRC, "server" : nom du serveur (optionnel) | "tags" : étiquettes, "tag_xxx" : valeur de l'étiquette "xxx" sans échappements (une clé par étiquette), "message_without_tags" : message sans les étiquettes, "nick" : pseudo, "user" : nom d'utilisateur, "host" : nom d'hôte, "command" : commande, "channel" : canal, "arguments" : paramètres (inclut le canal), "text" : texte (par exemple message utilisateur), "param1" ... "paramN" : paramètres de la commande, "num_params" : nombre de paramètres dans la commande, "pos_command" : index de "command" dans le message ("-1" si "command" n'a pas été trouvé), "pos_arguments" : index de "arguments" dans le message ("-1" si "arguments" n'a pas été trouvé), "pos_channel" : index de "channel" dans le message ("-1" si "channel" n'a pas été trouvé), "pos_text" : index de "text" dans le message ("-1" si "text" n'a pas été trouvé)
|
| irc | irc_message_parse | analyse un message IRC | "message" : message IRC, "server" : nom du serveur (optionnel) | "tags" : étiquettes, "tag_xxx" : valeur de l'étiquette "xxx" sans échappements (une clé par étiquette), "message_without_tags" : message sans les étiquettes, "nick" : pseudo, "user" : nom d'utilisateur, "host" : nom d'hôte, "command" : commande, "channel" : canal, "arguments" : paramètres (inclut le canal), "text" : texte (par exemple message utilisateur), "pos_command" : index de "command" dans le message ("-1" si "command" n'a pas été trouvé), "pos_arguments" : index de "arguments" dans le message ("-1" si "arguments" n'a pas été trouvé), "pos_channel" : index de "channel" dans le message ("-1" si "channel" n'a pas été trouvé), "pos_text" : index de "text" dans le message ("-1" si "text" n'a pas été trouvé)
|
||||||
|
|
||||||
| irc | irc_message_split | découper un message IRC (pour tenir dans les 512 octets par défaut) | "message" : message IRC, "server" : nom du serveur (optionnel) | "msg1" ... "msgN" : messages à envoyer (sans le "\r\n" final), "args1" ... "argsN" : paramètres des messages, "count" : nombre de messages
|
| irc | irc_message_split | découper un message IRC (pour tenir dans les 512 octets par défaut) | "message" : message IRC, "server" : nom du serveur (optionnel) | "msg1" ... "msgN" : messages à envoyer (sans le "\r\n" final), "args1" ... "argsN" : paramètres des messages, "count" : nombre de messages
|
||||||
|
|
||||||
|
|||||||
@@ -123,35 +123,6 @@ Exemples :
|
|||||||
/auth utilisateur2 ${weechat_config_dir}/ecdsa2.pem
|
/auth utilisateur2 ${weechat_config_dir}/ecdsa2.pem
|
||||||
----
|
----
|
||||||
|
|
||||||
[[command_irc_autojoin]]
|
|
||||||
* `+autojoin+`: configurer l'option serveur "autojoin"
|
|
||||||
|
|
||||||
----
|
|
||||||
/autojoin add [<canal1> [<canal2>...]]
|
|
||||||
addraw <canal1>[,<canal2>...] [<clé1>[,<clé2>...]]
|
|
||||||
del [<canal1> [<canal2>...]]
|
|
||||||
save
|
|
||||||
sort
|
|
||||||
|
|
||||||
add : ajouter le canal courant ou une liste de canaux (avec clés facultatives) dans l'option autojoin ; si vous êtes sur le canal et que la clé n'est pas fournie, la clé est lue sur ce canal
|
|
||||||
addraw : utiliser le format brut IRC (identique à la commande /join) : tous les canaux séparés par des virgules, clés facultatives séparées par des virgules
|
|
||||||
del : supprimer le canal courant ou une liste de canaux de l'option autojoin
|
|
||||||
channel : nom du canal
|
|
||||||
key : clé pour le canal
|
|
||||||
save : sauver les canaux actuellement joints dans l'option autojoin
|
|
||||||
sort : trier les canaux de l'option autojoin par ordre alphabétique
|
|
||||||
|
|
||||||
Exemples :
|
|
||||||
/autojoin add
|
|
||||||
/autojoin add #test
|
|
||||||
/autojoin add #chan1 #chan2
|
|
||||||
/autojoin addraw #chan1,#chan2,#chan3 key1,key2
|
|
||||||
/autojoin del
|
|
||||||
/autojoin del #chan1
|
|
||||||
/autojoin save
|
|
||||||
/autojoin sort
|
|
||||||
----
|
|
||||||
|
|
||||||
[[command_irc_ban]]
|
[[command_irc_ban]]
|
||||||
* `+ban+`: bannir des pseudos ou hôtes
|
* `+ban+`: bannir des pseudos ou hôtes
|
||||||
|
|
||||||
@@ -1666,7 +1637,7 @@ listdefault : afficher les touches par défaut
|
|||||||
contexte : nom du contexte ("default" ou "search")
|
contexte : nom du contexte ("default" ou "search")
|
||||||
bind : associer une commande à une touche ou affiche la commande associée à la touche
|
bind : associer une commande à une touche ou affiche la commande associée à la touche
|
||||||
bindctxt : associer une commande à une touche ou affiche la commande associée à la touche pour le contexte donné
|
bindctxt : associer une commande à une touche ou affiche la commande associée à la touche pour le contexte donné
|
||||||
commande : commande (plusieurs commandes peuvent être séparées par des points-virgules)
|
commande : commande (plusieurs commandes peuvent êtres séparées par des points-virgules)
|
||||||
unbind : supprimer l'association à une touche
|
unbind : supprimer l'association à une touche
|
||||||
unbindctxt : supprimer l'association à une touche pour le contexte donné
|
unbindctxt : supprimer l'association à une touche pour le contexte donné
|
||||||
reset : réinitialiser une touche à son association par défaut
|
reset : réinitialiser une touche à son association par défaut
|
||||||
|
|||||||
@@ -1290,6 +1290,12 @@
|
|||||||
** valeurs: toute chaîne
|
** valeurs: toute chaîne
|
||||||
** valeur par défaut: `+"*"+`
|
** valeur par défaut: `+"*"+`
|
||||||
|
|
||||||
|
* [[option_weechat.plugin.debug]] *weechat.plugin.debug*
|
||||||
|
** description: pass:none[active les messages de debug par défaut pour toutes les extensions (option désactivée par défaut, ce qui est hautement recommandé)]
|
||||||
|
** type: booléen
|
||||||
|
** valeurs: on, off
|
||||||
|
** valeur par défaut: `+off+`
|
||||||
|
|
||||||
* [[option_weechat.plugin.extension]] *weechat.plugin.extension*
|
* [[option_weechat.plugin.extension]] *weechat.plugin.extension*
|
||||||
** description: pass:none[liste d'extensions de noms de fichiers pour les extensions (séparées par des virgules)]
|
** description: pass:none[liste d'extensions de noms de fichiers pour les extensions (séparées par des virgules)]
|
||||||
** type: chaîne
|
** type: chaîne
|
||||||
@@ -2690,12 +2696,6 @@
|
|||||||
** valeurs: toute chaîne
|
** valeurs: toute chaîne
|
||||||
** valeur par défaut: `+""+`
|
** valeur par défaut: `+""+`
|
||||||
|
|
||||||
* [[option_irc.server_default.autojoin_dynamic]] *irc.server_default.autojoin_dynamic*
|
|
||||||
** description: pass:none[définir automatiquement l'option "autojoin" selon les canaux que vous rejoignez ou quittez manuellement avec les commandes /join et /part]
|
|
||||||
** type: booléen
|
|
||||||
** valeurs: on, off
|
|
||||||
** valeur par défaut: `+off+`
|
|
||||||
|
|
||||||
* [[option_irc.server_default.autoreconnect]] *irc.server_default.autoreconnect*
|
* [[option_irc.server_default.autoreconnect]] *irc.server_default.autoreconnect*
|
||||||
** description: pass:none[reconnexion automatique au serveur après une déconnexion]
|
** description: pass:none[reconnexion automatique au serveur après une déconnexion]
|
||||||
** type: booléen
|
** type: booléen
|
||||||
@@ -3064,11 +3064,11 @@
|
|||||||
** valeurs: -1 .. 43200
|
** valeurs: -1 .. 43200
|
||||||
** valeur par défaut: `+0+`
|
** valeur par défaut: `+0+`
|
||||||
|
|
||||||
* [[option_relay.network.compression]] *relay.network.compression*
|
* [[option_relay.network.compression_level]] *relay.network.compression_level*
|
||||||
** description: pass:none[compression des messages envoyés aux clients avec le protocole "weechat" : 0 = désactiver la compression, 1 = faible compression / rapide ... 100 = meilleure compression / lent ; la valeur est un pourcentage converti de 1 à 9 pour zlib et de 1 à 19 pour zstd ; la valeur par défaut est recommandée, elle offre un bon compromis compression/vitesse]
|
** description: pass:none[niveau de compression pour les paquets envoyés au client avec le protocole WeeChat (0 = désactiver la compression, 1 = peu de compression ... 9 = meilleure compression)]
|
||||||
** type: entier
|
** type: entier
|
||||||
** valeurs: 0 .. 100
|
** valeurs: 0 .. 9
|
||||||
** valeur par défaut: `+20+`
|
** valeur par défaut: `+6+`
|
||||||
|
|
||||||
* [[option_relay.network.ipv6]] *relay.network.ipv6*
|
* [[option_relay.network.ipv6]] *relay.network.ipv6*
|
||||||
** description: pass:none[écouter en IPv6 sur le socket par défaut (en plus de l'IPv4 qui est par défaut) ; les protocoles IPv4 et IPv6 peuvent être forcés (individuellement ou ensemble) dans le nom du protocole (voir /help relay)]
|
** description: pass:none[écouter en IPv6 sur le socket par défaut (en plus de l'IPv4 qui est par défaut) ; les protocoles IPv4 et IPv6 peuvent être forcés (individuellement ou ensemble) dans le nom du protocole (voir /help relay)]
|
||||||
|
|||||||
@@ -102,7 +102,7 @@ $HOME/.local/share/weechat/weechat.log::
|
|||||||
WeeChat est écrit par Sébastien Helleu et des contributeurs (la liste complète
|
WeeChat est écrit par Sébastien Helleu et des contributeurs (la liste complète
|
||||||
est dans le fichier AUTHORS.adoc).
|
est dans le fichier AUTHORS.adoc).
|
||||||
|
|
||||||
Copyright (C) 2003-2022 {author}
|
Copyright (C) 2003-2021 {author}
|
||||||
|
|
||||||
WeeChat est un logiciel libre ; vous pouvez le redistribuer et/ou le modifier
|
WeeChat est un logiciel libre ; vous pouvez le redistribuer et/ou le modifier
|
||||||
sous les termes de la GNU General Public License telle que publiée par la
|
sous les termes de la GNU General Public License telle que publiée par la
|
||||||
|
|||||||
+123
-219
@@ -286,7 +286,6 @@ Le cœur de WeeChat est situé dans les répertoires suivants :
|
|||||||
| 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-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, ...).
|
||||||
@@ -299,7 +298,6 @@ Le cœur de WeeChat est situé dans les répertoires suivants :
|
|||||||
| 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-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).
|
||||||
@@ -393,67 +391,58 @@ 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.
|
||||||
| 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.
|
||||||
| 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-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.
|
||||||
| gui/ | Racine des tests unitaires pour les interfaces.
|
| gui/ | Racine des tests unitaires pour les interfaces.
|
||||||
| test-gui-buffer.cpp | Tests : tampons.
|
| test-gui-color.cpp | Tests : couleurs.
|
||||||
| test-gui-chat.cpp | Tests : fonctions de discussion.
|
| test-gui-line.cpp | Tests : lignes.
|
||||||
| test-gui-color.cpp | Tests : couleurs.
|
| test-gui-nick.cpp | Tests : pseudos.
|
||||||
| test-gui-line.cpp | Tests : lignes.
|
| plugins/ | Racine des tests unitaires pour les extensions.
|
||||||
| test-gui-nick.cpp | Tests : pseudos.
|
| irc/ | Racine des tests unitaires pour l'extension IRC.
|
||||||
| plugins/ | Racine des tests unitaires pour les extensions.
|
| test-irc-channel.cpp | Tests : canaux IRC.
|
||||||
| irc/ | Racine des tests unitaires pour l'extension IRC.
|
| test-irc-color.cpp | Tests : couleurs IRC.
|
||||||
| test-irc-buffer.cpp | Tests : tampons IRC.
|
| test-irc-config.cpp | Tests : configuration IRC.
|
||||||
| test-irc-channel.cpp | Tests : canaux IRC.
|
| test-irc-ignore.cpp | Tests : ignores IRC.
|
||||||
| test-irc-color.cpp | Tests : couleurs IRC.
|
| test-irc-message.cpp | Tests : messages IRC.
|
||||||
| test-irc-config.cpp | Tests : configuration IRC.
|
| test-irc-mode.cpp | Tests : modes IRC.
|
||||||
| test-irc-ignore.cpp | Tests : ignores IRC.
|
| test-irc-nick.cpp | Tests : pseudos IRC.
|
||||||
| test-irc-join.cpp | Tests : fonctions de join IRC.
|
| test-irc-protocol.cpp | Tests : protocole IRC.
|
||||||
| test-irc-message.cpp | Tests : messages IRC.
|
| test-irc-server.cpp | Tests : serveur IRC.
|
||||||
| test-irc-mode.cpp | Tests : modes IRC.
|
| trigger/ | Racine des tests unitaires pour l'extension trigger.
|
||||||
| test-irc-nick.cpp | Tests : pseudos IRC.
|
| test-trigger.cpp | Tests : triggers.
|
||||||
| test-irc-protocol.cpp | Tests : protocole IRC.
|
| typing/ | Racine des tests unitaires pour l'extension typing.
|
||||||
| test-irc-sasl.cpp | Tests : authentification SASL avec le protocole IRC.
|
| test-typing.cpp | Tests : typing.
|
||||||
| test-irc-server.cpp | Tests : serveur IRC.
|
| test-typing-status.cpp | Tests : statut d'écriture.
|
||||||
| test-irc-tag.cpp | Tests : étiquettes des messages IRC.
|
| relay/ | Racine des tests unitaires pour l'extension Relay.
|
||||||
| logger/ | Racine des tests unitaires pour l'extension logger.
|
| test-relay-auth.cpp | Tests : authentification des clients.
|
||||||
| test-logger-backlog.cpp | Tests : backlog logger.
|
|
||||||
| 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.
|
|
||||||
|===
|
|===
|
||||||
|
|
||||||
[[documentation_translations]]
|
[[documentation_translations]]
|
||||||
@@ -475,6 +464,7 @@ Fichiers de documentation :
|
|||||||
| weechat_quickstart.XX.adoc | link:weechat_quickstart.fr.html[Guide de démarrage].
|
| weechat_quickstart.XX.adoc | link:weechat_quickstart.fr.html[Guide de démarrage].
|
||||||
| weechat_relay_protocol.XX.adoc | link:weechat_relay_protocol.fr.html[Protocole Relay (pour les interfaces distantes)].
|
| weechat_relay_protocol.XX.adoc | link:weechat_relay_protocol.fr.html[Protocole Relay (pour les interfaces distantes)].
|
||||||
| weechat_scripting.XX.adoc | link:weechat_scripting.fr.html[Guide pour scripts].
|
| weechat_scripting.XX.adoc | link:weechat_scripting.fr.html[Guide pour scripts].
|
||||||
|
| weechat_tester.XX.adoc | link:weechat_tester.fr.html[Guide du testeur].
|
||||||
| weechat_user.XX.adoc | link:weechat_user.fr.html[Guide utilisateur].
|
| weechat_user.XX.adoc | link:weechat_user.fr.html[Guide utilisateur].
|
||||||
| includes/ | Fichiers inclus dans la documentation.
|
| includes/ | Fichiers inclus dans la documentation.
|
||||||
| autogen_api_completions.XX.adoc | Fichier auto-généré pour la Référence API extension : complétions (ne *JAMAIS* mettre à jour manuellement !).
|
| autogen_api_completions.XX.adoc | Fichier auto-généré pour la Référence API extension : complétions (ne *JAMAIS* mettre à jour manuellement !).
|
||||||
@@ -520,12 +510,12 @@ fichiers sont dans le répertoire _po/_ :
|
|||||||
|
|
||||||
Exemple en C :
|
Exemple en C :
|
||||||
|
|
||||||
[source,c]
|
[source,C]
|
||||||
----
|
----
|
||||||
/*
|
/*
|
||||||
* weechat.c - core functions for WeeChat
|
* weechat.c - core functions for WeeChat
|
||||||
*
|
*
|
||||||
* Copyright (C) 2022 Your Name <your@email.com>
|
* Copyright (C) 2021 Your Name <your@email.com>
|
||||||
*
|
*
|
||||||
* This file is part of WeeChat, the extensible chat client.
|
* This file is part of WeeChat, the extensible chat client.
|
||||||
*
|
*
|
||||||
@@ -561,7 +551,7 @@ Quelques règles basiques que vous *devez* suivre quand vous écrivez du code C
|
|||||||
|
|
||||||
Exemple :
|
Exemple :
|
||||||
|
|
||||||
[source,c]
|
[source,C]
|
||||||
----
|
----
|
||||||
/*
|
/*
|
||||||
* Checks if a string with boolean value is valid.
|
* Checks if a string with boolean value is valid.
|
||||||
@@ -594,7 +584,7 @@ foo ()
|
|||||||
* Initialisez les variables locales après la déclaration, dans le corps de la
|
* Initialisez les variables locales après la déclaration, dans le corps de la
|
||||||
fonction, exemple :
|
fonction, exemple :
|
||||||
|
|
||||||
[source,c]
|
[source,C]
|
||||||
----
|
----
|
||||||
void
|
void
|
||||||
foo ()
|
foo ()
|
||||||
@@ -614,7 +604,7 @@ foo ()
|
|||||||
nombre d'espaces utilisés sur la ligne au dessus de l'accolade ouvrante (le
|
nombre d'espaces utilisés sur la ligne au dessus de l'accolade ouvrante (le
|
||||||
`if` dans l'exemple) :
|
`if` dans l'exemple) :
|
||||||
|
|
||||||
[source,c]
|
[source,C]
|
||||||
----
|
----
|
||||||
if (nicks_count == 1)
|
if (nicks_count == 1)
|
||||||
{
|
{
|
||||||
@@ -625,7 +615,7 @@ if (nicks_count == 1)
|
|||||||
* Utilisez des lignes vides pour séparer différents blocs dans les fonctions, et
|
* Utilisez des lignes vides pour séparer différents blocs dans les fonctions, et
|
||||||
si possible ajoutez un commentaire pour chacun, comme ceci :
|
si possible ajoutez un commentaire pour chacun, comme ceci :
|
||||||
|
|
||||||
[source,c]
|
[source,C]
|
||||||
----
|
----
|
||||||
/*
|
/*
|
||||||
* Sends a message from out queue.
|
* Sends a message from out queue.
|
||||||
@@ -669,7 +659,7 @@ irc_server_outqueue_send (struct t_irc_server *server)
|
|||||||
conditions avec un opérateur (pas nécessaire pour un booléen simple), comme
|
conditions avec un opérateur (pas nécessaire pour un booléen simple), comme
|
||||||
ceci :
|
ceci :
|
||||||
|
|
||||||
[source,c]
|
[source,C]
|
||||||
----
|
----
|
||||||
if (something)
|
if (something)
|
||||||
{
|
{
|
||||||
@@ -693,7 +683,7 @@ else
|
|||||||
|
|
||||||
* Indentez les `switch` comme ceci :
|
* Indentez les `switch` comme ceci :
|
||||||
|
|
||||||
[source,c]
|
[source,C]
|
||||||
----
|
----
|
||||||
switch (string[0])
|
switch (string[0])
|
||||||
{
|
{
|
||||||
@@ -712,7 +702,7 @@ switch (string[0])
|
|||||||
* Utilisez `typedef` pur les prototypes de fonctions mais pas pour les
|
* Utilisez `typedef` pur les prototypes de fonctions mais pas pour les
|
||||||
structures :
|
structures :
|
||||||
|
|
||||||
[source,c]
|
[source,C]
|
||||||
----
|
----
|
||||||
typedef int (t_hook_callback_fd)(void *data, int fd);
|
typedef int (t_hook_callback_fd)(void *data, int fd);
|
||||||
|
|
||||||
@@ -794,7 +784,7 @@ Les structures ont le nom _t_X_Y_ ou _t_X_Y_Z_ :
|
|||||||
|
|
||||||
Exemple : un pseudo IRC (de _src/plugins/irc/irc-nick.h_) :
|
Exemple : un pseudo IRC (de _src/plugins/irc/irc-nick.h_) :
|
||||||
|
|
||||||
[source,c]
|
[source,C]
|
||||||
----
|
----
|
||||||
struct t_irc_nick
|
struct t_irc_nick
|
||||||
{
|
{
|
||||||
@@ -824,7 +814,7 @@ _last_X_ (où _X_ est le nom de la variable, en utilisant le singulier).
|
|||||||
|
|
||||||
Exemple : fenêtres (de _src/gui/gui-window.c_) :
|
Exemple : fenêtres (de _src/gui/gui-window.c_) :
|
||||||
|
|
||||||
[source,c]
|
[source,C]
|
||||||
----
|
----
|
||||||
struct t_gui_window *gui_windows = NULL; /* first window */
|
struct t_gui_window *gui_windows = NULL; /* first window */
|
||||||
struct t_gui_window *last_gui_window = NULL; /* last window */
|
struct t_gui_window *last_gui_window = NULL; /* last window */
|
||||||
@@ -844,7 +834,7 @@ La convention pour les noms des fonctions est le même que celui des
|
|||||||
|
|
||||||
Exemple : création d'une nouvelle fenêtre (de _src/gui/gui-window.c_) :
|
Exemple : création d'une nouvelle fenêtre (de _src/gui/gui-window.c_) :
|
||||||
|
|
||||||
[source,c]
|
[source,C]
|
||||||
----
|
----
|
||||||
/*
|
/*
|
||||||
* Creates a new window.
|
* Creates a new window.
|
||||||
@@ -882,7 +872,7 @@ pointeur vers le nœud précédent/suivant.
|
|||||||
|
|
||||||
Exemple : liste des tampons (de _src/gui/gui-buffer.h_) :
|
Exemple : liste des tampons (de _src/gui/gui-buffer.h_) :
|
||||||
|
|
||||||
[source,c]
|
[source,C]
|
||||||
----
|
----
|
||||||
struct t_gui_buffer
|
struct t_gui_buffer
|
||||||
{
|
{
|
||||||
@@ -897,7 +887,7 @@ struct t_gui_buffer
|
|||||||
|
|
||||||
Et les deux pointeurs vers la tête et la fin de liste :
|
Et les deux pointeurs vers la tête et la fin de liste :
|
||||||
|
|
||||||
[source,c]
|
[source,C]
|
||||||
----
|
----
|
||||||
struct t_gui_buffer *gui_buffers = NULL; /* first buffer */
|
struct t_gui_buffer *gui_buffers = NULL; /* first buffer */
|
||||||
struct t_gui_buffer *last_gui_buffer = NULL; /* last buffer */
|
struct t_gui_buffer *last_gui_buffer = NULL; /* last buffer */
|
||||||
@@ -913,10 +903,18 @@ Tous les attributs/couleurs sont préfixés par un caractère dans la chaîne, q
|
|||||||
peuvent être :
|
peuvent être :
|
||||||
|
|
||||||
* _0x19_ : code couleur (suivi par un/des code(s) couleur)
|
* _0x19_ : code couleur (suivi par un/des code(s) couleur)
|
||||||
* _0x1A_ : activer un attribut (suivi par un attribut brut sur un caractère)
|
* _0x1A_ : activer un attribut (suivi par un attribut sur un caractère)
|
||||||
* _0x1B_ : supprimer un attribut (suivi par un attribut brut sur un caractère)
|
* _0x1B_ : supprimer un attribut (suivi par un attribut sur un caractère)
|
||||||
* _0x1C_ : réinitialiser (rien après)
|
* _0x1C_ : réinitialiser (rien après)
|
||||||
|
|
||||||
|
Les attributs autorisés sont (un ou plusieurs caractères) :
|
||||||
|
|
||||||
|
* `+*+` : gras
|
||||||
|
* `+!+` : vidéo inverse
|
||||||
|
* `+/+` : italique
|
||||||
|
* `+_+` : souligné
|
||||||
|
* `+|+` : garder les attributs
|
||||||
|
|
||||||
Les couleurs possibles sont :
|
Les couleurs possibles sont :
|
||||||
|
|
||||||
* couleur standard : attributs facultatifs + nombre sur 2 digits
|
* couleur standard : attributs facultatifs + nombre sur 2 digits
|
||||||
@@ -925,57 +923,47 @@ Les couleurs possibles sont :
|
|||||||
Dans le tableau qui suit, les conventions suivantes sont utilisées :
|
Dans le tableau qui suit, les conventions suivantes sont utilisées :
|
||||||
|
|
||||||
* `STD` : couleur standard (2 digits)
|
* `STD` : couleur standard (2 digits)
|
||||||
* `(ATTR)STD` : couleur standard avec des attributs facultatifs
|
* `(A)STD` : couleur standard avec des attributs facultatifs
|
||||||
(attributs + 2 digits)
|
(attributs + 2 digits)
|
||||||
* `EXT` : couleur étendue (`+@+` + 5 digits)
|
* `EXT` : couleur étendue (`+@+` + 5 digits)
|
||||||
* `(ATTR)EXT` : couleur étendue avec des attributs facultatifs
|
* `(A)EXT` : couleur étendue avec des attributs facultatifs
|
||||||
(`+@+` + attributs + 5 digits)
|
(`+@+` + attributs + 5 digits)
|
||||||
* `(ATTR)` : un ou plusieurs caractères d'attribut :
|
* `ATTR` : un caractère d'attribut (`+*+`, `+!+`, `+/+`, `+_+` ou `+|+`)
|
||||||
** `+*+` : gras
|
|
||||||
** `+!+` : vidéo inverse
|
|
||||||
** `+/+` : italique
|
|
||||||
** `+_+` : souligné
|
|
||||||
** `+|+` : garder les attributs
|
|
||||||
* `(a)` : un caractère d'attribut brut :
|
|
||||||
** _0x01_ : gras
|
|
||||||
** _0x02_ : vidéo inverse
|
|
||||||
** _0x03_ : italique
|
|
||||||
** _0x04_ : souligné
|
|
||||||
|
|
||||||
Toutes les combinaisons sont résumées dans ce tableau :
|
Toutes les combinaisons sont résumées dans ce tableau :
|
||||||
|
|
||||||
[width="100%",cols="4,3,2,8",options="header"]
|
[width="100%",cols="4,2,2,8",options="header"]
|
||||||
|===
|
|===
|
||||||
| Code | Exemple | Aires | Description
|
| Code | Exemple | Aires | Description
|
||||||
| [hex]#19# + `STD` | [hex]#19# `+01+` | chat + barres | Définir les attributs et la couleur en utilisant une option, voir le tableau ci-dessous.
|
| [hex]#19# + STD | [hex]#19# `+01+` | chat + barres | Définir les attributs et la couleur en utilisant une option, voir le tableau ci-dessous.
|
||||||
| [hex]#19# + `EXT` | [hex]#19# `+@00001+` | chat | Définir une couleur avec la paire ncurses (utilisé seulement sur le tampon `/color`).
|
| [hex]#19# + EXT | [hex]#19# `+@00001+` | chat | Définir une couleur avec la paire ncurses (utilisé seulement sur le tampon `/color`).
|
||||||
| [hex]#19# + `F` + `(ATTR)STD` | [hex]#19# `+F*05+` | chat + barres | Définir la couleur de texte (couleur WeeChat).
|
| [hex]#19# + "F" + (A)STD | [hex]#19# `+F*05+` | chat + barres | Définir la couleur de texte (couleur WeeChat).
|
||||||
| [hex]#19# + `F` + `(ATTR)EXT` | [hex]#19# `+F@00214+` | chat + barres | Définir la couleur de texte (couleur étendue).
|
| [hex]#19# + "F" + (A)EXT | [hex]#19# `+F@00214+` | chat + barres | Définir la couleur de texte (couleur étendue).
|
||||||
| [hex]#19# + `B` + `STD` | [hex]#19# `+B05+` | chat + barres | Définir la couleur de fond (couleur WeeChat).
|
| [hex]#19# + "B" + STD | [hex]#19# `+B05+` | chat + barres | Définir la couleur de fond (couleur WeeChat).
|
||||||
| [hex]#19# + `B` + `EXT` | [hex]#19# `+B@00124+` | chat + barres | Définir le couleur de fond (couleur étendue).
|
| [hex]#19# + "B" + EXT | [hex]#19# `+B@00124+` | chat + barres | Définir le couleur de fond (couleur étendue).
|
||||||
| [hex]#19# + `*` + `(ATTR)STD` | [hex]#19# `+*05+` | chat + barres | Définir la couleur de texte (couleur WeeChat).
|
| [hex]#19# + "*" + (A)STD | [hex]#19# `+*05+` | chat + barres | Définir la couleur de texte (couleur WeeChat).
|
||||||
| [hex]#19# + `*` + `(ATTR)EXT` | [hex]#19# `+*@00214+` | chat + barres | Définir la couleur de texte (couleur étendue).
|
| [hex]#19# + "*" + (A)EXT | [hex]#19# `+*@00214+` | chat + barres | Définir la couleur de texte (couleur étendue).
|
||||||
| [hex]#19# + `*` + `(ATTR)STD` + `,` + `STD` ^(1)^ | [hex]#19# `+*08,05+` | chat + barres | Définir la couleur de texte/fond (couleurs WeeChat).
|
| [hex]#19# + "*" + (A)STD + "," + STD ^(1)^ | [hex]#19# `+*08,05+` | chat + barres | Définir la couleur de texte/fond (couleurs WeeChat).
|
||||||
| [hex]#19# + `*` + `(ATTR)STD` + `,` + `EXT` ^(1)^ | [hex]#19# `+*01,@00214+` | chat + barres | Définir la couleur de texte (couleur WeeChat) et de fond (couleur étendue).
|
| [hex]#19# + "*" + (A)STD + "," + EXT ^(1)^ | [hex]#19# `+*01,@00214+` | chat + barres | Définir la couleur de texte (couleur WeeChat) et de fond (couleur étendue).
|
||||||
| [hex]#19# + `*` + `(ATTR)EXT` + `,` + `STD` ^(1)^ | [hex]#19# `+*@00214,05+` | chat + barres | Définir la couleur de texte (couleur étendue) et de fond (couleur WeeChat).
|
| [hex]#19# + "*" + (A)EXT + "," + STD ^(1)^ | [hex]#19# `+*@00214,05+` | chat + barres | Définir la couleur de texte (couleur étendue) et de fond (couleur WeeChat).
|
||||||
| [hex]#19# + `*` + `(ATTR)EXT` + `,` + `EXT` ^(1)^ | [hex]#19# `+*@00214,@00017+` | chat + barres | Définir la couleur de texte/fond (couleurs étendues).
|
| [hex]#19# + "*" + (A)EXT + "," + EXT ^(1)^ | [hex]#19# `+*@00214,@00017+` | chat + barres | Définir la couleur de texte/fond (couleurs étendues).
|
||||||
| [hex]#19# + `*` + `(ATTR)STD` + `~` + `STD` | [hex]#19# `+*08~05+` | chat + barres | Définir la couleur de texte/fond (couleurs WeeChat).
|
| [hex]#19# + "*" + (A)STD + "~" + STD | [hex]#19# `+*08~05+` | chat + barres | Définir la couleur de texte/fond (couleurs WeeChat).
|
||||||
| [hex]#19# + `*` + `(ATTR)STD` + `~` + `EXT` | [hex]#19# `+*01~@00214+` | chat + barres | Définir la couleur de texte (couleur WeeChat) et de fond (couleur étendue).
|
| [hex]#19# + "*" + (A)STD + "~" + EXT | [hex]#19# `+*01~@00214+` | chat + barres | Définir la couleur de texte (couleur WeeChat) et de fond (couleur étendue).
|
||||||
| [hex]#19# + `*` + `(ATTR)EXT` + `~` + `STD` | [hex]#19# `+*@00214~05+` | chat + barres | Définir la couleur de texte (couleur étendue) et de fond (couleur WeeChat).
|
| [hex]#19# + "*" + (A)EXT + "~" + STD | [hex]#19# `+*@00214~05+` | chat + barres | Définir la couleur de texte (couleur étendue) et de fond (couleur WeeChat).
|
||||||
| [hex]#19# + `*` + `(ATTR)EXT` + `~` + `EXT` | [hex]#19# `+*@00214~@00017+` | chat + barres | Définir la couleur de texte/fond (couleurs étendues).
|
| [hex]#19# + "*" + (A)EXT + "~" + EXT | [hex]#19# `+*@00214~@00017+` | chat + barres | Définir la couleur de texte/fond (couleurs étendues).
|
||||||
| [hex]#19# + `b` + `F` | [hex]#19# `+bF+` | barres | Définir la couleur de texte de la barre.
|
| [hex]#19# + "b" + "F" | [hex]#19# `+bF+` | barres | Définir la couleur de texte de la barre.
|
||||||
| [hex]#19# + `b` + `D` | [hex]#19# `+bD+` | barres | Définir la couleur du délimiteur de la barre.
|
| [hex]#19# + "b" + "D" | [hex]#19# `+bD+` | barres | Définir la couleur du délimiteur de la barre.
|
||||||
| [hex]#19# + `b` + `B` | [hex]#19# `+bB+` | barres | Définir la couleur de fond de la barre.
|
| [hex]#19# + "b" + "B" | [hex]#19# `+bB+` | barres | Définir la couleur de fond de la barre.
|
||||||
| [hex]#19# + `b` + `_` | [hex]#19# `+b_+` | barre input | Caractère de démarrage dans l'entrée (utilisé seulement dans l'objet "input_text").
|
| [hex]#19# + "b" + "_" | [hex]#19# `+b_+` | barre input | Caractère de démarrage dans l'entrée (utilisé seulement dans l'objet "input_text").
|
||||||
| [hex]#19# + `b` + `-` | [hex]#19# `+b-+` | barre input | Caractère de démarrage caché dans l'entrée (utilisé seulement dans l'objet "input_text").
|
| [hex]#19# + "b" + "-" | [hex]#19# `+b-+` | barre input | Caractère de démarrage caché dans l'entrée (utilisé seulement dans l'objet "input_text").
|
||||||
| [hex]#19# + `b` + `#` | [hex]#19# `+b#+` | barre input | Caractère de déplacement du curseur (utilisé seulement dans l'objet "input_text").
|
| [hex]#19# + "b" + "#" | [hex]#19# `+b#+` | barre input | Caractère de déplacement du curseur (utilisé seulement dans l'objet "input_text").
|
||||||
| [hex]#19# + `b` + `i` | [hex]#19# `+bi+` | barres | Début d'objet.
|
| [hex]#19# + "b" + "i" | [hex]#19# `+bi+` | barres | Début d'objet.
|
||||||
| [hex]#19# + `b` + `l` (lower L) | [hex]#19# `+bl+` | barres | Ligne de démarrage d'objet.
|
| [hex]#19# + "b" + "l" (lower L) | [hex]#19# `+bl+` | barres | Ligne de démarrage d'objet.
|
||||||
| [hex]#19# + `E` | [hex]#19# `+E+` | chat + barres | Texte mis en valeur _(WeeChat ≥ 0.4.2)_.
|
| [hex]#19# + "E" | [hex]#19# `+E+` | chat + barres | Texte mis en valeur _(WeeChat ≥ 0.4.2)_.
|
||||||
| [hex]#19# + [hex]#1C# | [hex]#19# [hex]#1C# | chat + barres | Réinitialiser la couleur (garder les attributs).
|
| [hex]#19# + [hex]#1C# | [hex]#19# [hex]#1C# | chat + barres | Réinitialiser la couleur (garder les attributs).
|
||||||
| [hex]#1A# + `(a)` | [hex]#1A# [hex]#01# | chat + barres | Activer un attribut.
|
| [hex]#1A# + ATTR | [hex]#1A# `+*+` | chat + barres | Activer un attribut.
|
||||||
| [hex]#1B# + `(a)` | [hex]#1B# [hex]#01# | chat + barres | Supprimer un attribut.
|
| [hex]#1B# + ATTR | [hex]#1B# `+*+` | chat + barres | Supprimer un attribut.
|
||||||
| [hex]#1C# | [hex]#1C# | chat + barres | Réinitialiser les attributs et la couleur.
|
| [hex]#1C# | [hex]#1C# | chat + barres | Réinitialiser les attributs et la couleur.
|
||||||
|===
|
|===
|
||||||
|
|
||||||
[NOTE]
|
[NOTE]
|
||||||
@@ -1095,7 +1083,7 @@ Et puis des macros sont utilisées pour appeler ces fonctions.
|
|||||||
Par exemple, la fonction _hook_timer_ est définie dans la structure
|
Par exemple, la fonction _hook_timer_ est définie dans la structure
|
||||||
_t_weechat_plugin_ comme ceci :
|
_t_weechat_plugin_ comme ceci :
|
||||||
|
|
||||||
[source,c]
|
[source,C]
|
||||||
----
|
----
|
||||||
struct t_hook *(*hook_timer) (struct t_weechat_plugin *plugin,
|
struct t_hook *(*hook_timer) (struct t_weechat_plugin *plugin,
|
||||||
long interval,
|
long interval,
|
||||||
@@ -1108,7 +1096,7 @@ struct t_hook *(*hook_timer) (struct t_weechat_plugin *plugin,
|
|||||||
|
|
||||||
Et la macro utilisée pour appeler cette fonction est :
|
Et la macro utilisée pour appeler cette fonction est :
|
||||||
|
|
||||||
[source,c]
|
[source,C]
|
||||||
----
|
----
|
||||||
#define weechat_hook_timer(__interval, __align_second, __max_calls, \
|
#define weechat_hook_timer(__interval, __align_second, __max_calls, \
|
||||||
__callback, __data) \
|
__callback, __data) \
|
||||||
@@ -1119,7 +1107,7 @@ Et la macro utilisée pour appeler cette fonction est :
|
|||||||
|
|
||||||
Donc dans une extension, l'appel à cette fonction sera par exemple :
|
Donc dans une extension, l'appel à cette fonction sera par exemple :
|
||||||
|
|
||||||
[source,c]
|
[source,C]
|
||||||
----
|
----
|
||||||
server->hook_timer_sasl = weechat_hook_timer (timeout * 1000,
|
server->hook_timer_sasl = weechat_hook_timer (timeout * 1000,
|
||||||
0, 1,
|
0, 1,
|
||||||
@@ -1143,100 +1131,16 @@ Le format du message de commit est le suivant (avec fermeture automatique
|
|||||||
du bug GitHub) :
|
du bug GitHub) :
|
||||||
|
|
||||||
----
|
----
|
||||||
composant: fix a problem (closes #123)
|
component: fix a problem (closes #123)
|
||||||
----
|
----
|
||||||
|
|
||||||
Où _composant_ est :
|
Où _component_ est :
|
||||||
|
|
||||||
[width="100%",cols="1m,4m,5",options="header"]
|
* pour le cœur WeeChat : _core_ (les fichiers dans le répertoire racine, _po/_
|
||||||
|===
|
et _src/_, sauf _src/plugins/_)
|
||||||
| Composant | Fichiers | Description
|
* fichiers de documentation : _doc_ (fichiers dans le répertoire _doc/_)
|
||||||
|
* nom d'une extension : _irc_, _python_, _relay_, ... (fichiers dans le
|
||||||
| core |
|
répertoire _src/plugins/_)
|
||||||
AUTHORS.adoc +
|
|
||||||
ChangeLog.adoc +
|
|
||||||
Contributing.adoc +
|
|
||||||
.github/FUNDING.yml +
|
|
||||||
.github/ISSUE_TEMPLATE/* +
|
|
||||||
icons/* +
|
|
||||||
po/* +
|
|
||||||
README.adoc +
|
|
||||||
ReleaseNotes.adoc +
|
|
||||||
src/core/* +
|
|
||||||
src/gui/* +
|
|
||||||
version.sh +
|
|
||||||
weechat.desktop |
|
|
||||||
cœur de WeeChat
|
|
||||||
|
|
||||||
| build |
|
|
||||||
autogen.sh +
|
|
||||||
CMakeLists.txt +
|
|
||||||
cmake/* +
|
|
||||||
configure.ac +
|
|
||||||
Makefile.am +
|
|
||||||
tools/* +
|
|
||||||
weechat.cygport.in +
|
|
||||||
weechat.spec |
|
|
||||||
Construction
|
|
||||||
|
|
||||||
| ci |
|
|
||||||
.github/workflows/* |
|
|
||||||
Intégration continue
|
|
||||||
|
|
||||||
| debian |
|
|
||||||
debian-devel/* +
|
|
||||||
debian-stable/* |
|
|
||||||
Empaquetage Debian
|
|
||||||
|
|
||||||
| tests |
|
|
||||||
tests/* |
|
|
||||||
Tests
|
|
||||||
|
|
||||||
| doc |
|
|
||||||
doc/* |
|
|
||||||
Mises à jour générales sur la documentation, par exemple la construction
|
|
||||||
|
|
||||||
| doc/man |
|
|
||||||
doc/xx/weechat.1.xx.adoc +
|
|
||||||
doc/xx/weechat-headless.1.xx.adoc |
|
|
||||||
Pages de manuel
|
|
||||||
|
|
||||||
| doc/faq |
|
|
||||||
doc/xx/weechat_faq.xx.adoc |
|
|
||||||
Questions fréquemment posées (FAQ)
|
|
||||||
|
|
||||||
| doc/quickstart |
|
|
||||||
doc/xx/weechat_quickstart.xx.adoc |
|
|
||||||
Guide de démarrage rapide
|
|
||||||
|
|
||||||
| doc/user |
|
|
||||||
doc/xx/weechat_user.xx.adoc |
|
|
||||||
Guide utilisateur
|
|
||||||
|
|
||||||
| doc/scripting |
|
|
||||||
doc/xx/weechat_scripting.xx.adoc |
|
|
||||||
Guide pour scripts
|
|
||||||
|
|
||||||
| doc/api |
|
|
||||||
doc/xx/weechat_plugin_api.xx.adoc |
|
|
||||||
Référence extension API
|
|
||||||
|
|
||||||
| doc/relay |
|
|
||||||
doc/xx/weechat_relay_protocol.xx.adoc |
|
|
||||||
Protocole relay
|
|
||||||
|
|
||||||
| doc/dev |
|
|
||||||
doc/xx/weechat_dev.en.adoc |
|
|
||||||
Guide du développeur
|
|
||||||
|
|
||||||
| irc +
|
|
||||||
python +
|
|
||||||
relay +
|
|
||||||
… |
|
|
||||||
src/plugins/<name>/* |
|
|
||||||
Extension
|
|
||||||
|
|
||||||
|===
|
|
||||||
|
|
||||||
Quelques règles à suivre :
|
Quelques règles à suivre :
|
||||||
|
|
||||||
@@ -1320,7 +1224,7 @@ _doc/en/_), puis travaillez dessus.
|
|||||||
Les traductions manquantes dans les fichiers sont indiquées par cette chaîne :
|
Les traductions manquantes dans les fichiers sont indiquées par cette chaîne :
|
||||||
|
|
||||||
----
|
----
|
||||||
// TRANSLATION MISSING
|
// TRANSLATION MISSING
|
||||||
----
|
----
|
||||||
|
|
||||||
Vous devez traduire tout le fichier sauf les liens et les mots-clés spéciaux
|
Vous devez traduire tout le fichier sauf les liens et les mots-clés spéciaux
|
||||||
@@ -1337,7 +1241,7 @@ pour les notes, avertissements, ... Ces mots doivent être gardés tels quels :
|
|||||||
[CAUTION]
|
[CAUTION]
|
||||||
----
|
----
|
||||||
|
|
||||||
Lorsqu'il y a un nom après `+<<link_name>>+`, alors vous devez le traduire :
|
Lorsqu'il y a un nom après `<<link_name>>`, alors vous devez le traduire :
|
||||||
|
|
||||||
----
|
----
|
||||||
<<link_name,ce texte doit être traduit>>
|
<<link_name,ce texte doit être traduit>>
|
||||||
|
|||||||
@@ -855,21 +855,6 @@ commande et le join des canaux) :
|
|||||||
[[edit_autojoin]]
|
[[edit_autojoin]]
|
||||||
=== Comment puis-je ajouter/supprimer des canaux de l'option autojoin ?
|
=== Comment puis-je ajouter/supprimer des canaux de l'option autojoin ?
|
||||||
|
|
||||||
Avec WeeChat ≥ 3.5, vous pouvez automatiquement enregistrer les canaux que
|
|
||||||
vous rejoignez et quittez manuellement dans l'option "autojoin" du serveur.
|
|
||||||
|
|
||||||
Pour tous les serveurs :
|
|
||||||
|
|
||||||
----
|
|
||||||
/set irc.server_default.autojoin_record on
|
|
||||||
----
|
|
||||||
|
|
||||||
Pour un seul serveur :
|
|
||||||
|
|
||||||
----
|
|
||||||
/set irc.server.libera.autojoin_record on
|
|
||||||
----
|
|
||||||
|
|
||||||
Vous pouvez utiliser la commande `/set` pour éditer la liste des canaux de
|
Vous pouvez utiliser la commande `/set` pour éditer la liste des canaux de
|
||||||
l'autojoin, par exemple pour le serveur libera :
|
l'autojoin, par exemple pour le serveur libera :
|
||||||
|
|
||||||
@@ -1138,14 +1123,6 @@ $ cd ~/.cache/weechat/script
|
|||||||
$ curl -O https://weechat.org/files/plugins.xml.gz
|
$ curl -O https://weechat.org/files/plugins.xml.gz
|
||||||
----
|
----
|
||||||
|
|
||||||
Si vous êtes sous macOS et que le fichier téléchargé a une taille de 0 octet,
|
|
||||||
essayez de définir cette variable dans votre fichier d'initialisation du shell
|
|
||||||
ou sur la ligne de commande, avant de démarrer WeeChat :
|
|
||||||
|
|
||||||
----
|
|
||||||
export OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES
|
|
||||||
----
|
|
||||||
|
|
||||||
[[spell_dictionaries]]
|
[[spell_dictionaries]]
|
||||||
=== J'ai installé des dictionnaires aspell sur mon système, comment les utiliser sans redémarrer WeeChat ?
|
=== J'ai installé des dictionnaires aspell sur mon système, comment les utiliser sans redémarrer WeeChat ?
|
||||||
|
|
||||||
|
|||||||
+1003
-1296
File diff suppressed because it is too large
Load Diff
@@ -24,7 +24,7 @@ Les termes suivants sont utilisés dans ce document :
|
|||||||
* _relay_ : il s'agit de l'extension "relay" de WeeChat, qui agit comme un
|
* _relay_ : il s'agit de l'extension "relay" de WeeChat, qui agit comme un
|
||||||
"serveur" et autorise les _clients_ à se connecter
|
"serveur" et autorise les _clients_ à se connecter
|
||||||
* _client_ : il s'agit d'un autre logiciel, connecté au _relay_ via une
|
* _client_ : il s'agit d'un autre logiciel, connecté au _relay_ via une
|
||||||
connexion réseau ; dans la plupart des cas, ce _client_ est une interface
|
connexion réseau; dans la plupart des cas, ce _client_ est une interface
|
||||||
distante.
|
distante.
|
||||||
|
|
||||||
[[network_diagram]]
|
[[network_diagram]]
|
||||||
@@ -79,7 +79,7 @@ Les commandes ont le format :
|
|||||||
Les champs sont :
|
Les champs sont :
|
||||||
|
|
||||||
* _id_ : identifiant du message (facultatif) qui sera envoyée dans la réponse de
|
* _id_ : identifiant du message (facultatif) qui sera envoyée dans la réponse de
|
||||||
_relay_ ; elle doit être entre parenthèses, et ne doit pas commencer par un
|
_relay_; elle doit être entre parenthèses, et ne doit pas commencer par un
|
||||||
underscore (les identifiants commençant par un underscore sont réservés
|
underscore (les identifiants commençant par un underscore sont réservés
|
||||||
pour les messages _évènements_ de WeeChat)
|
pour les messages _évènements_ de WeeChat)
|
||||||
* _commande_ : une commande (voir le tableau ci-dessous)
|
* _commande_ : une commande (voir le tableau ci-dessous)
|
||||||
@@ -88,7 +88,7 @@ Les champs sont :
|
|||||||
|
|
||||||
Liste des commandes disponibles (détail dans les chapitres suivants) :
|
Liste des commandes disponibles (détail dans les chapitres suivants) :
|
||||||
|
|
||||||
[width="100%",cols="1m,8",options="header"]
|
[width="100%",cols="^3m,14",options="header"]
|
||||||
|===
|
|===
|
||||||
| Commande | Description
|
| Commande | Description
|
||||||
| handshake | Poignée de main : préparer l'authentification du client et définir des options, avant la commande _init_.
|
| handshake | Poignée de main : préparer l'authentification du client et définir des options, avant la commande _init_.
|
||||||
@@ -107,7 +107,7 @@ Liste des commandes disponibles (détail dans les chapitres suivants) :
|
|||||||
[[command_handshake]]
|
[[command_handshake]]
|
||||||
=== handshake
|
=== handshake
|
||||||
|
|
||||||
_WeeChat ≥ 2.9, mis à jour dans la version 3.5._
|
_WeeChat ≥ 2.9._
|
||||||
|
|
||||||
Effectuer une poignée de main entre le client et WeeChat : cela est obligatoire
|
Effectuer une poignée de main entre le client et WeeChat : cela est obligatoire
|
||||||
dans la plupart des cas pour connaître les paramètres de la session et préparer
|
dans la plupart des cas pour connaître les paramètres de la session et préparer
|
||||||
@@ -133,16 +133,10 @@ Paramètres :
|
|||||||
(avec un hachage SHA256)
|
(avec un hachage SHA256)
|
||||||
*** _pbkdf2+sha512_ : mot de passe salé et haché avec l'algorithme PBKDF2
|
*** _pbkdf2+sha512_ : mot de passe salé et haché avec l'algorithme PBKDF2
|
||||||
(avec un hachage SHA512)
|
(avec un hachage SHA512)
|
||||||
** _compression_ : liste des types de compression supportées par le client
|
** _compression_ : type de compression :
|
||||||
(séparées par des deux-points et triées de la plus importante à la valeur
|
*** _zlib_ : activer la compression _zlib_ pour les messages envoyés par _relay_
|
||||||
par défaut) ; si la compression est activée, les messages de _relay_ vers
|
(activée par défaut si _relay_ supporte la compression _zlib_)
|
||||||
le client sont compressés pour économiser de la bande passante ;
|
*** _off_ : désactiver la compression
|
||||||
les valeurs autorisées sont :
|
|
||||||
*** _off_ : pas de compression (par défaut si l'option n'est pas donnée)
|
|
||||||
*** _zlib_ : compresser avec https://zlib.net/[zlib] _(WeeChat ≥ 0.3.7)_
|
|
||||||
*** _zstd_ : compresser avec https://facebook.github.io/zstd/[Zstandard] :
|
|
||||||
meilleure compression et bien plus rapide que _zlib_ pour la compression et
|
|
||||||
la décompression _(WeeChat ≥ 3.5)_
|
|
||||||
|
|
||||||
Notes à propos de l'option _password_hash_algo_ :
|
Notes à propos de l'option _password_hash_algo_ :
|
||||||
|
|
||||||
@@ -184,9 +178,8 @@ suivantes :
|
|||||||
_relay_ + le nonce client constituent le sel utilisé dans l'algorithme de
|
_relay_ + le nonce client constituent le sel utilisé dans l'algorithme de
|
||||||
hachage du mot de passe)
|
hachage du mot de passe)
|
||||||
* _compression_ : type de compression :
|
* _compression_ : type de compression :
|
||||||
|
** _zlib_ : les messages sont compressés avec _zlib_
|
||||||
** _off_ : les messages ne sont pas compressés
|
** _off_ : les messages ne sont pas compressés
|
||||||
** _zlib_ : les messages sont compressés avec https://zlib.net/[zlib]
|
|
||||||
** _zstd_ : les messages sont compressés avec https://facebook.github.io/zstd/[Zstandard]
|
|
||||||
|
|
||||||
[TIP]
|
[TIP]
|
||||||
Avec WeeChat ≤ 2.8, la commande _handshake_ n'est pas implémentée, WeeChat ignore
|
Avec WeeChat ≤ 2.8, la commande _handshake_ n'est pas implémentée, WeeChat ignore
|
||||||
@@ -211,7 +204,7 @@ htb: {
|
|||||||
'password_hash_iterations': '100000',
|
'password_hash_iterations': '100000',
|
||||||
'totp': 'on',
|
'totp': 'on',
|
||||||
'nonce': '85B1EE00695A5B254E14F4885538DF0D',
|
'nonce': '85B1EE00695A5B254E14F4885538DF0D',
|
||||||
'compression': 'off',
|
'compression': 'zlib',
|
||||||
}
|
}
|
||||||
----
|
----
|
||||||
|
|
||||||
@@ -231,7 +224,7 @@ htb: {
|
|||||||
'password_hash_iterations': '100000',
|
'password_hash_iterations': '100000',
|
||||||
'totp': 'on',
|
'totp': 'on',
|
||||||
'nonce': '85B1EE00695A5B254E14F4885538DF0D',
|
'nonce': '85B1EE00695A5B254E14F4885538DF0D',
|
||||||
'compression': 'off',
|
'compression': 'zlib',
|
||||||
}
|
}
|
||||||
----
|
----
|
||||||
|
|
||||||
@@ -251,7 +244,7 @@ htb: {
|
|||||||
'password_hash_iterations': '100000',
|
'password_hash_iterations': '100000',
|
||||||
'totp': 'on',
|
'totp': 'on',
|
||||||
'nonce': '85B1EE00695A5B254E14F4885538DF0D',
|
'nonce': '85B1EE00695A5B254E14F4885538DF0D',
|
||||||
'compression': 'off',
|
'compression': 'zlib',
|
||||||
}
|
}
|
||||||
----
|
----
|
||||||
|
|
||||||
@@ -263,11 +256,10 @@ le mot de passe est "test" dans cet exemple :
|
|||||||
init password_hash=pbkdf2+sha256:85b1ee00695a5b254e14f4885538df0da4b73207f5aae4:100000:ba7facc3edb89cd06ae810e29ced85980ff36de2bb596fcf513aaab626876440
|
init password_hash=pbkdf2+sha256:85b1ee00695a5b254e14f4885538df0da4b73207f5aae4:100000:ba7facc3edb89cd06ae810e29ced85980ff36de2bb596fcf513aaab626876440
|
||||||
----
|
----
|
||||||
|
|
||||||
* Seulement "sha256" et "sha512" sont supportés par le client, activer la
|
* Seulement "sha256" et "sha512" sont supportés par le client, désactiver la compression :
|
||||||
compression zstd (préférée) ou zlib :
|
|
||||||
|
|
||||||
----
|
----
|
||||||
(handshake) handshake password_hash_algo=sha256:sha512,compression=zstd:zlib
|
(handshake) handshake password_hash_algo=sha256:sha512,compression=off
|
||||||
----
|
----
|
||||||
|
|
||||||
Réponse :
|
Réponse :
|
||||||
@@ -280,7 +272,7 @@ htb: {
|
|||||||
'password_hash_iterations': '100000',
|
'password_hash_iterations': '100000',
|
||||||
'totp': 'on',
|
'totp': 'on',
|
||||||
'nonce': '85B1EE00695A5B254E14F4885538DF0D',
|
'nonce': '85B1EE00695A5B254E14F4885538DF0D',
|
||||||
'compression': 'zstd',
|
'compression': 'off',
|
||||||
}
|
}
|
||||||
----
|
----
|
||||||
|
|
||||||
@@ -314,6 +306,12 @@ Paramètres :
|
|||||||
One-Time Password) utilisé comme second facteur d'authentification, en plus
|
One-Time Password) utilisé comme second facteur d'authentification, en plus
|
||||||
du mot de passe (option _relay.network.totp_secret_ dans WeeChat)
|
du mot de passe (option _relay.network.totp_secret_ dans WeeChat)
|
||||||
_(WeeChat ≥ 2.4)_
|
_(WeeChat ≥ 2.4)_
|
||||||
|
** _compression_ : type de compression (*obsolète* depuis la version 2.9, gardé
|
||||||
|
pour des raisons de compatibilité mais devrait être envoyé dans la
|
||||||
|
<<command_handshake,commande handshake>>) :
|
||||||
|
*** _zlib_ : activer la compression _zlib_ pour les messages envoyés par _relay_
|
||||||
|
(activée par défaut si _relay_ supporte la compression _zlib_)
|
||||||
|
*** _off_ : désactiver la compression
|
||||||
|
|
||||||
[NOTE]
|
[NOTE]
|
||||||
Avec WeeChat ≥ 1.6, les virgules peuvent être échappées dans la valeur,
|
Avec WeeChat ≥ 1.6, les virgules peuvent être échappées dans la valeur,
|
||||||
@@ -1007,7 +1005,7 @@ Paramètres :
|
|||||||
|
|
||||||
WeeChat répond avec un hdata :
|
WeeChat répond avec un hdata :
|
||||||
|
|
||||||
[width="100%",cols="2m,3,14",options="header"]
|
[width="100%",cols="3m,2,10",options="header"]
|
||||||
|===
|
|===
|
||||||
| Nom | Type | Description
|
| Nom | Type | Description
|
||||||
| context | chaîne | Contexte de complétion : "null" (pas de complétion), "command", "command_arg", "auto".
|
| context | chaîne | Contexte de complétion : "null" (pas de complétion), "command", "command_arg", "auto".
|
||||||
@@ -1159,16 +1157,16 @@ Syntaxe :
|
|||||||
Paramètres :
|
Paramètres :
|
||||||
|
|
||||||
* _tampon_ : pointeur (par exemple : "0x1234abcd") ou nom complet du tampon (par exemple :
|
* _tampon_ : pointeur (par exemple : "0x1234abcd") ou nom complet du tampon (par exemple :
|
||||||
_core.weechat_ ou _irc.libera.#weechat_) ; le nom "*" peut être utilisé pour
|
_core.weechat_ ou _irc.libera.#weechat_); le nom "*" peut être utilisé pour
|
||||||
spécifier tous les tampons
|
spécifier tous les tampons
|
||||||
* _options_ : un ou plusieurs mots-clés, séparés par des virgules (par défaut
|
* _options_ : un ou plusieurs mots-clés, séparés par des virgules (par défaut
|
||||||
_buffers,upgrade,buffer,nicklist_ pour "*" et _buffer,nicklist_ pour un
|
_buffers,upgrade,buffer,nicklist_ pour "*" et _buffer,nicklist_ pour un
|
||||||
tampon) :
|
tampon) :
|
||||||
** _buffers_ : recevoir les signaux à propos des tampons (ouverts/fermés,
|
** _buffers_ : recevoir les signaux à propos des tampons (ouverts/fermés,
|
||||||
déplacés, renommés, mélangés, masqués/démasqués) ; peut être utilisé seulement
|
déplacés, renommés, mélangés, masqués/démasqués); peut être utilisé seulement
|
||||||
avec "*" _(WeeChat ≥ 0.4.1)_
|
avec "*" _(WeeChat ≥ 0.4.1)_
|
||||||
** _upgrade_ : recevoir les signaux à propos de la mise à jour de WeeChat
|
** _upgrade_ : recevoir les signaux à propos de la mise à jour de WeeChat
|
||||||
(mise à jour, fin de mise à jour) ; peut être utilisé seulement avec "*"
|
(mise à jour, fin de mise à jour); peut être utilisé seulement avec "*"
|
||||||
_(WeeChat ≥ 0.4.1)_
|
_(WeeChat ≥ 0.4.1)_
|
||||||
** _buffer_ : recevoir les signaux à propos du tampon (nouvelles lignes, type
|
** _buffer_ : recevoir les signaux à propos du tampon (nouvelles lignes, type
|
||||||
changé, titre changé, variable locale ajoutée/supprimée, et les même signaux
|
changé, titre changé, variable locale ajoutée/supprimée, et les même signaux
|
||||||
@@ -1227,11 +1225,11 @@ Syntaxe :
|
|||||||
Paramètres :
|
Paramètres :
|
||||||
|
|
||||||
* _tampon_ : pointeur (par exemple : "0x1234abcd") ou nom complet du tampon (par exemple :
|
* _tampon_ : pointeur (par exemple : "0x1234abcd") ou nom complet du tampon (par exemple :
|
||||||
_core.weechat_ ou _irc.libera.#weechat_) ; le nom "*" peut être utilisé pour
|
_core.weechat_ ou _irc.libera.#weechat_); le nom "*" peut être utilisé pour
|
||||||
spécifier tous les tampons
|
spécifier tous les tampons
|
||||||
* _options_ : un ou plusieurs mots-clés, séparés par des virgules (le défaut est
|
* _options_ : un ou plusieurs mots-clés, séparés par des virgules (le défaut est
|
||||||
_buffers,upgrade,buffer,nicklist_ pour "*" et _buffer,nicklist_ pour un
|
_buffers,upgrade,buffer,nicklist_ pour "*" et _buffer,nicklist_ pour un
|
||||||
tampon) ; voir <<command_sync,la commande sync>> pour les valeurs
|
tampon); voir <<command_sync,la commande sync>> pour les valeurs
|
||||||
|
|
||||||
[NOTE]
|
[NOTE]
|
||||||
En utilisant le tampon "*", les autres tampons synchronisés (en utilisant un
|
En utilisant le tampon "*", les autres tampons synchronisés (en utilisant un
|
||||||
@@ -1280,24 +1278,24 @@ Syntaxe :
|
|||||||
|
|
||||||
Objets retournés (dans cet ordre) :
|
Objets retournés (dans cet ordre) :
|
||||||
|
|
||||||
[width="100%",cols="1m,2,6m",options="header"]
|
[width="100%",cols="^3,3m,5m",options="header"]
|
||||||
|===
|
|===
|
||||||
| Type | Description | Valeur
|
| Type | Type (dans le message) | Valeur
|
||||||
| chr | caractère | 65 ("A")
|
| caractère | chr | 65 ("A")
|
||||||
| int | entier | 123456
|
| entier | int | 123456
|
||||||
| int | entier | -123456
|
| entier | int | -123456
|
||||||
| lon | long | 1234567890
|
| long | lon | 1234567890
|
||||||
| lon | long | -1234567890
|
| long | lon | -1234567890
|
||||||
| str | chaîne | "a string"
|
| chaîne | str | "a string"
|
||||||
| str | chaîne | ""
|
| chaîne | str | ""
|
||||||
| str | chaîne | NULL
|
| chaîne | str | NULL
|
||||||
| buf | tampon de données | "buffer"
|
| tampon de données | buf | "buffer"
|
||||||
| buf | tampon de données | NULL
|
| tampon de données | buf | NULL
|
||||||
| ptr | pointeur | 0x1234abcd
|
| pointeur | ptr | 0x1234abcd
|
||||||
| ptr | pointeur | NULL
|
| pointeur | ptr | NULL
|
||||||
| tim | date/heure | 1321993456
|
| date/heure | tim | 1321993456
|
||||||
| arr str | tableau de chaînes | [ "abc", "de" ]
|
| tableau de chaînes | arr str | [ "abc", "de" ]
|
||||||
| arr int | tableau d'entiers | [ 123, 456, 789 ]
|
| tableau d'entiers | arr int | [ 123, 456, 789 ]
|
||||||
|===
|
|===
|
||||||
|
|
||||||
[IMPORTANT]
|
[IMPORTANT]
|
||||||
@@ -1401,10 +1399,9 @@ suivant (avec la taille en octets) :
|
|||||||
(en incluant ce champ)
|
(en incluant ce champ)
|
||||||
* _compression_ (octet) : drapeau :
|
* _compression_ (octet) : drapeau :
|
||||||
** _0x00_ : les données qui suivent ne sont pas compressées
|
** _0x00_ : les données qui suivent ne sont pas compressées
|
||||||
** _0x01_ : les données qui suivent sont compressées avec https://zlib.net/[zlib]
|
** _0x01_ : les données qui suivent sont compressées avec _zlib_
|
||||||
** _0x02_ : les données qui suivent sont compressées avec https://facebook.github.io/zstd/[Zstandard]
|
|
||||||
* _id_ (chaîne, 4 octets + contenu) : l'identifiant envoyé par le client
|
* _id_ (chaîne, 4 octets + contenu) : l'identifiant envoyé par le client
|
||||||
(avant le nom de la commande) ; il peut être vide (chaîne avec une longueur
|
(avant le nom de la commande); il peut être vide (chaîne avec une longueur
|
||||||
de zéro sans contenu) si l'identifiant n'était pas donné dans la commande
|
de zéro sans contenu) si l'identifiant n'était pas donné dans la commande
|
||||||
* _type_ (3 caractères) : un type : 3 lettres (voir le tableau ci-dessous)
|
* _type_ (3 caractères) : un type : 3 lettres (voir le tableau ci-dessous)
|
||||||
* _objet_ : un objet (voir tableau ci-dessous)
|
* _objet_ : un objet (voir tableau ci-dessous)
|
||||||
@@ -1412,9 +1409,9 @@ suivant (avec la taille en octets) :
|
|||||||
[[message_compression]]
|
[[message_compression]]
|
||||||
=== Compression
|
=== Compression
|
||||||
|
|
||||||
Si le drapeau de _compression_ est égal à 0x01 ou 0x02, alors *toutes* les données
|
Si le drapeau de _compression_ est égal à 0x01, alors *toutes* les données après
|
||||||
après sont compressées avec https://zlib.net/[zlib] ou https://facebook.github.io/zstd/[Zstandard],
|
sont compressées avec _zlib_, et par conséquent doivent être décompressées avant
|
||||||
et par conséquent doivent être décompressées avant d'être utilisées.
|
d'être utilisées.
|
||||||
|
|
||||||
[[message_identifier]]
|
[[message_identifier]]
|
||||||
=== Identifiant
|
=== Identifiant
|
||||||
@@ -2363,7 +2360,7 @@ envoyer à nouveau les commandes envoyées au démarrage après _init_.
|
|||||||
Les objets sont identifiés par 3 lettres, appelées _type_. Les types suivants
|
Les objets sont identifiés par 3 lettres, appelées _type_. Les types suivants
|
||||||
sont utilisés :
|
sont utilisés :
|
||||||
|
|
||||||
[width="100%",cols="1m,2,8",options="header"]
|
[width="100%",cols="^2m,5,10",options="header"]
|
||||||
|===
|
|===
|
||||||
| Type | Valeur | Longueur
|
| Type | Valeur | Longueur
|
||||||
| chr | Caractère signé | 1 octet
|
| chr | Caractère signé | 1 octet
|
||||||
@@ -2476,7 +2473,7 @@ Une chaîne _NULL_ (pointeur NULL en C) a une longueur de -1 :
|
|||||||
[[object_buffer]]
|
[[object_buffer]]
|
||||||
==== Tampon de données
|
==== Tampon de données
|
||||||
|
|
||||||
Même format que l'objet <<object_string,chaîne>> ; le contenu est simplement un
|
Même format que l'objet <<object_string,chaîne>>; le contenu est simplement un
|
||||||
tableau d'octets.
|
tableau d'octets.
|
||||||
|
|
||||||
[[object_pointer]]
|
[[object_pointer]]
|
||||||
@@ -2559,7 +2556,7 @@ objets).
|
|||||||
....
|
....
|
||||||
|
|
||||||
* _h-path_ (chaîne) : chemin utilise pour atteindre le hdata (exemple :
|
* _h-path_ (chaîne) : chemin utilise pour atteindre le hdata (exemple :
|
||||||
_buffer/lines/line/line_data_) ; le dernier élément du chemin est le hdata
|
_buffer/lines/line/line_data_); le dernier élément du chemin est le hdata
|
||||||
retourné
|
retourné
|
||||||
* _keys_ (chaînes) : chaîne avec une liste de _clé:type_ (séparés par des
|
* _keys_ (chaînes) : chaîne avec une liste de _clé:type_ (séparés par des
|
||||||
virgules), exemple : _number:int,name:str_
|
virgules), exemple : _number:int,name:str_
|
||||||
|
|||||||
@@ -205,13 +205,6 @@ Les fonctions sont appelées par `+weechat.xxx(arg1, arg2, ...)+`.
|
|||||||
|
|
||||||
Les fonctions sont appelées par `+weechat::xxx arg1 arg2 ...+`.
|
Les fonctions sont appelées par `+weechat::xxx arg1 arg2 ...+`.
|
||||||
|
|
||||||
Étant donné que Tcl n'a que des types "string", il n'y a pas de type null à
|
|
||||||
donner comme paramètre quand une fonctionne accepte des valeurs nulles.
|
|
||||||
Pour surmonter cela vous pouvez utiliser la constante `$::weechat::WEECHAT_NULL`
|
|
||||||
qui agit comme la valeur nulle. Cette constante est définie avec la valeur
|
|
||||||
`\uFFFF\uFFFF\uFFFFWEECHAT_NULL\uFFFF\uFFFF\uFFFF`, il est donc très peu probable
|
|
||||||
qu'elle apparaisse de manière non intentionnelle.
|
|
||||||
|
|
||||||
[[language_guile]]
|
[[language_guile]]
|
||||||
==== Guile (Scheme)
|
==== Guile (Scheme)
|
||||||
|
|
||||||
@@ -570,7 +563,7 @@ 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 :
|
||||||
|
|
||||||
[width="100%",cols="1,5",options="header"]
|
[width="100%",cols="1,3",options="header"]
|
||||||
|===
|
|===
|
||||||
| Catégorie | Fonctions
|
| Catégorie | Fonctions
|
||||||
|
|
||||||
@@ -670,7 +663,6 @@ Liste des fonctions de l'API script :
|
|||||||
print (pour python : prnt) +
|
print (pour python : prnt) +
|
||||||
print_date_tags (pour python : prnt_date_tags) +
|
print_date_tags (pour python : prnt_date_tags) +
|
||||||
print_y (pour python : prnt_y) +
|
print_y (pour python : prnt_y) +
|
||||||
print_y_date_tags (pour python : prnt_y_date_tags) +
|
|
||||||
log_print
|
log_print
|
||||||
|
|
||||||
| hooks |
|
| hooks |
|
||||||
@@ -701,7 +693,6 @@ Liste des fonctions de l'API script :
|
|||||||
|
|
||||||
| tampons |
|
| tampons |
|
||||||
buffer_new +
|
buffer_new +
|
||||||
buffer_new_props +
|
|
||||||
current_buffer +
|
current_buffer +
|
||||||
buffer_search +
|
buffer_search +
|
||||||
buffer_search_main +
|
buffer_search_main +
|
||||||
@@ -820,7 +811,7 @@ Liste des fonctions de l'API script :
|
|||||||
|
|
||||||
Liste des constantes de l'API script :
|
Liste des constantes de l'API script :
|
||||||
|
|
||||||
[width="100%",cols="1,5",options="header"]
|
[width="100%",cols="1,3",options="header"]
|
||||||
|===
|
|===
|
||||||
|
|
||||||
| Catégorie | Constantes
|
| Catégorie | Constantes
|
||||||
@@ -905,7 +896,7 @@ Exemples :
|
|||||||
weechat.prnt("", "bonjour")
|
weechat.prnt("", "bonjour")
|
||||||
|
|
||||||
# afficher "bonjour" sur le tampon core, mais ne pas l'écrire dans le fichier de log
|
# afficher "bonjour" sur le tampon core, mais ne pas l'écrire dans le fichier de log
|
||||||
# (version ≥ 0.3.3 seulement)
|
# (version >= 0.3.3 seulement)
|
||||||
weechat.prnt_date_tags("", 0, "no_log", "bonjour")
|
weechat.prnt_date_tags("", 0, "no_log", "bonjour")
|
||||||
|
|
||||||
# afficher le préfixe "==>" et le message "bonjour" sur le tampon courant
|
# afficher le préfixe "==>" et le message "bonjour" sur le tampon courant
|
||||||
@@ -1086,53 +1077,26 @@ Vous pouvez lancer un processus en tâche de fond avec `+hook_process+`. Votre
|
|||||||
fonction de rappel sera appelée quand des données seront prêtes. Elle peut être
|
fonction de rappel sera appelée quand des données seront prêtes. Elle peut être
|
||||||
appelée plusieurs fois.
|
appelée plusieurs fois.
|
||||||
|
|
||||||
Pour le dernier appel à votre fonction de rappel, _return_code_ est positionné
|
Pour le dernier appel à votre fonction de rappel, _rc_ est positionné à 0 ou
|
||||||
à 0 ou une valeur positive, il s'agit du code retour de la commande.
|
une valeur positive, c'est le code retour de la commande.
|
||||||
|
|
||||||
Exemple :
|
Exemple :
|
||||||
|
|
||||||
[source,python]
|
[source,python]
|
||||||
----
|
----
|
||||||
def my_process_cb(data, command, return_code, out, err):
|
process_output = ""
|
||||||
if return_code == weechat.WEECHAT_HOOK_PROCESS_ERROR:
|
|
||||||
weechat.prnt("", "Erreur avec la commande '%s'" % command)
|
def my_process_cb(data, command, rc, out, err):
|
||||||
return weechat.WEECHAT_RC_OK
|
global process_output
|
||||||
if return_code >= 0:
|
if out != "":
|
||||||
weechat.prnt("", "return_code = %d" % return_code)
|
process_output += out
|
||||||
if out:
|
if int(rc) >= 0:
|
||||||
weechat.prnt("", "stdout: %s" % out)
|
weechat.prnt("", process_output)
|
||||||
if err:
|
|
||||||
weechat.prnt("", "stderr: %s" % err)
|
|
||||||
return weechat.WEECHAT_RC_OK
|
return weechat.WEECHAT_RC_OK
|
||||||
|
|
||||||
weechat.hook_process("/bin/ls -l /etc", 10 * 1000, "my_process_cb", "")
|
weechat.hook_process("/bin/ls -l /etc", 10 * 1000, "my_process_cb", "")
|
||||||
----
|
----
|
||||||
|
|
||||||
Vous pouvez aussi appeler directement une fonction du script qui fait un appel
|
|
||||||
bloquant, au lieu d'une commande externe :
|
|
||||||
|
|
||||||
[source,python]
|
|
||||||
----
|
|
||||||
def get_status(data):
|
|
||||||
# faire quelque chose de bloquant...
|
|
||||||
# ...
|
|
||||||
return "ceci est le résultat"
|
|
||||||
|
|
||||||
def my_process_cb(data, command, return_code, out, err):
|
|
||||||
if return_code == weechat.WEECHAT_HOOK_PROCESS_ERROR:
|
|
||||||
weechat.prnt("", "Error with command '%s'" % command)
|
|
||||||
return weechat.WEECHAT_RC_OK
|
|
||||||
if return_code >= 0:
|
|
||||||
weechat.prnt("", "return_code = %d" % return_code)
|
|
||||||
if out:
|
|
||||||
weechat.prnt("", "stdout: %s" % out)
|
|
||||||
if err:
|
|
||||||
weechat.prnt("", "stderr: %s" % err)
|
|
||||||
return weechat.WEECHAT_RC_OK
|
|
||||||
|
|
||||||
hook = weechat.hook_process("func:get_status", 5000, "my_process_cb", "")
|
|
||||||
----
|
|
||||||
|
|
||||||
[[url_transfer]]
|
[[url_transfer]]
|
||||||
==== Transfert d'URL
|
==== Transfert d'URL
|
||||||
|
|
||||||
@@ -1147,15 +1111,15 @@ dans la fonction de rappel (sortie standard du processus) :
|
|||||||
|
|
||||||
[source,python]
|
[source,python]
|
||||||
----
|
----
|
||||||
# Afficher la dernière version stable de WeeChat.
|
# Afficher la version stable courante de WeeChat.
|
||||||
weechat_latest_version = ""
|
weechat_version = ""
|
||||||
|
|
||||||
def weechat_process_cb(data, command, return_code, out, err):
|
def weechat_process_cb(data, command, rc, out, err):
|
||||||
global weechat_latest_version
|
global weechat_version
|
||||||
if out:
|
if out != "":
|
||||||
weechat_latest_version += out
|
weechat_version += out
|
||||||
if return_code >= 0:
|
if int(rc) >= 0:
|
||||||
weechat.prnt("", "Dernière version de WeeChat : %s" % weechat_latest_version)
|
weechat.prnt("", "La version stable courante de WeeChat est : %s" % weechat_version)
|
||||||
return weechat.WEECHAT_RC_OK
|
return weechat.WEECHAT_RC_OK
|
||||||
|
|
||||||
weechat.hook_process("url:https://weechat.org/dev/info/stable/",
|
weechat.hook_process("url:https://weechat.org/dev/info/stable/",
|
||||||
@@ -1171,9 +1135,9 @@ développement WeeChat dans le fichier _/tmp/weechat-devel.tar.gz_ :
|
|||||||
|
|
||||||
[source,python]
|
[source,python]
|
||||||
----
|
----
|
||||||
def my_process_cb(data, command, return_code, out, err):
|
def my_process_cb(data, command, rc, out, err):
|
||||||
if return_code >= 0:
|
if int(rc) >= 0:
|
||||||
weechat.prnt("", "Fin du transfert (code retour = %d)" % return_code)
|
weechat.prnt("", "Fin du transfert (rc=%s)" % rc)
|
||||||
return weechat.WEECHAT_RC_OK
|
return weechat.WEECHAT_RC_OK
|
||||||
|
|
||||||
weechat.hook_process_hashtable("url:https://weechat.org/files/src/weechat-devel.tar.gz",
|
weechat.hook_process_hashtable("url:https://weechat.org/files/src/weechat-devel.tar.gz",
|
||||||
|
|||||||
@@ -0,0 +1,138 @@
|
|||||||
|
= Guide du testeur WeeChat
|
||||||
|
:author: Sébastien Helleu
|
||||||
|
:email: flashcode@flashtux.org
|
||||||
|
:lang: fr
|
||||||
|
:toc: left
|
||||||
|
:toc-title: Table des matières
|
||||||
|
:sectnums:
|
||||||
|
:docinfo1:
|
||||||
|
|
||||||
|
|
||||||
|
[[purpose]]
|
||||||
|
== Objet
|
||||||
|
|
||||||
|
Beaucoup d'utilisateurs nous demandent comment aider WeeChat. La façon
|
||||||
|
la plus facile (et aussi la plus rusée) consiste à le tester !
|
||||||
|
|
||||||
|
Le test est une partie très importante du développement de logiciel et
|
||||||
|
ne devrait pas être sous-estimé. Lorsque de nouvelles fonctionnalités
|
||||||
|
sont implémentées, elles doivent être testées, mais pour certaines
|
||||||
|
fonctionnalités il y a trop de cas à tester et les développeurs ne
|
||||||
|
peuvent pas tout tester.
|
||||||
|
|
||||||
|
Par exemple : l'extension charset introduite dans WeeChat WeeChat 0.2.2 : aucun
|
||||||
|
de nous (développeurs, contributeurs et testeurs) n'utilisait de canaux avec
|
||||||
|
des caractères spéciaux dans leurs noms et quand la version 0.2.2 a été rendue
|
||||||
|
disponible, nous avons reçu de nombreuses remontées d'utilisateurs russes.
|
||||||
|
Si nous avons plus de testeurs, cela ne devrait pas arriver à nouveau dans le
|
||||||
|
futur.
|
||||||
|
|
||||||
|
Tester les versions stables de WeeChat est inutile car les
|
||||||
|
développeurs sont constamment occupés à implémenter de nouvelles
|
||||||
|
fonctionnalités (et à corriger des anciens bugs).
|
||||||
|
|
||||||
|
|
||||||
|
[[prepare_system]]
|
||||||
|
== Préparez votre système
|
||||||
|
|
||||||
|
Cela nous aiderait beaucoup si vous activiez les fichiers _core_ Linux : si
|
||||||
|
WeeChat se plante, Linux écrit un fichier _core_. Ce fichier contient des
|
||||||
|
informations importantes pour le debug, pour savoir exactement où le problème
|
||||||
|
se situe dans WeeChat).
|
||||||
|
|
||||||
|
Si vous utilisez le shell _bash_, ajoutez cette ligne dans votre _~/.bashrc_ :
|
||||||
|
|
||||||
|
----
|
||||||
|
ulimit -c unlimited
|
||||||
|
----
|
||||||
|
|
||||||
|
|
||||||
|
[[download]]
|
||||||
|
== Téléchargement de la version devel
|
||||||
|
|
||||||
|
Le code tout frais (avec les derniers bugs et fonctionnalités) est stocké dans
|
||||||
|
GIT.
|
||||||
|
|
||||||
|
Vous pouvez décider de le construire manuellement (méthode recommandée) :
|
||||||
|
|
||||||
|
* La version GIT peut être construite et installée en parallèle de la version
|
||||||
|
stable,
|
||||||
|
* Vous n'avez pas besoin d'accès root ni de sacrifier votre version stable de
|
||||||
|
WeeChat.
|
||||||
|
|
||||||
|
[[get_sources]]
|
||||||
|
=== Obtenir et compiler les sources
|
||||||
|
|
||||||
|
Créez tout d'abord un répertoire, par exemple _weechat-git_ :
|
||||||
|
|
||||||
|
----
|
||||||
|
$ mkdir ~/weechat-git
|
||||||
|
$ cd ~/weechat-git
|
||||||
|
----
|
||||||
|
|
||||||
|
Si vous avez git installé, vous pouvez cloner la base GIT (recommandé) :
|
||||||
|
|
||||||
|
----
|
||||||
|
$ git clone https://github.com/weechat/weechat.git
|
||||||
|
$ cd weechat
|
||||||
|
----
|
||||||
|
|
||||||
|
[NOTE]
|
||||||
|
Plus tard, vous pourrez utiliser la commande `git pull` dans ce répertoire
|
||||||
|
pour obtenir juste les deltas avec la version d'aujourd'hui.
|
||||||
|
|
||||||
|
Sinon vous pouvez installer le paquet _devel_ :
|
||||||
|
|
||||||
|
----
|
||||||
|
$ wget https://weechat.org/files/src/weechat-devel.tar.bz2
|
||||||
|
$ tar xvjf weechat-devel.tar.bz2
|
||||||
|
$ cd weechat-devel
|
||||||
|
----
|
||||||
|
|
||||||
|
Pour compiler les sources, CMake est recommandé :
|
||||||
|
|
||||||
|
----
|
||||||
|
$ mkdir build
|
||||||
|
$ cd build
|
||||||
|
$ cmake .. -DCMAKE_INSTALL_PREFIX=$HOME/weechat-git -DWEECHAT_HOME=~/.weechat-dev -DCMAKE_BUILD_TYPE=Debug
|
||||||
|
$ make
|
||||||
|
$ make install
|
||||||
|
----
|
||||||
|
|
||||||
|
Si vous n'avez pas CMake, il est toujours possible d'utiliser les autotools :
|
||||||
|
|
||||||
|
----
|
||||||
|
$ ./autogen.sh
|
||||||
|
$ ./configure --prefix=$HOME/weechat-git WEECHAT_HOME=~/.weechat-dev
|
||||||
|
$ make
|
||||||
|
$ make install
|
||||||
|
----
|
||||||
|
|
||||||
|
[[install_binary_package]]
|
||||||
|
=== Obtenir un paquet binaire
|
||||||
|
|
||||||
|
Selon votre distribution Linux :
|
||||||
|
|
||||||
|
* Debian : https://weechat.org/download/debian
|
||||||
|
* Gentoo : https://weechat.org/download
|
||||||
|
* ArchLinux : PKGBUILD depuis https://aur.archlinux.org/
|
||||||
|
* autre : nous ne savons pas ! Eheh.
|
||||||
|
|
||||||
|
|
||||||
|
[[run]]
|
||||||
|
== Lancer WeeChat
|
||||||
|
|
||||||
|
La commande est :
|
||||||
|
|
||||||
|
----
|
||||||
|
$ ~/weechat-git/bin/weechat
|
||||||
|
----
|
||||||
|
|
||||||
|
Si vous êtes encore éveillé, vous devriez voir une interface familière et
|
||||||
|
pouvoir vous vanter d'utiliser la version la plus récente possible de WeeChat ;)
|
||||||
|
|
||||||
|
Maintenant si vous obtenez un comportement étrange ou un plantage, n'hésitez
|
||||||
|
pas à nous en avertir sur _#weechat_, serveur _irc.libera.chat_.
|
||||||
|
|
||||||
|
S'il n'y a pas de plantage, dites-le nous aussi, nous avons besoin de votre
|
||||||
|
retour et de vos impressions !
|
||||||
+1908
-2058
File diff suppressed because it is too large
Load Diff
+14
-1
@@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
|
# Copyright (C) 2003-2021 Sébastien Helleu <flashcode@flashtux.org>
|
||||||
#
|
#
|
||||||
# This file is part of WeeChat, the extensible chat client.
|
# This file is part of WeeChat, the extensible chat client.
|
||||||
#
|
#
|
||||||
@@ -122,4 +122,17 @@ if(ENABLE_DOC)
|
|||||||
add_custom_target(doc-quickstart-it ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/weechat_quickstart.it.html)
|
add_custom_target(doc-quickstart-it ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/weechat_quickstart.it.html)
|
||||||
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/weechat_quickstart.it.html DESTINATION ${DATAROOTDIR}/doc/${PROJECT_NAME})
|
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/weechat_quickstart.it.html DESTINATION ${DATAROOTDIR}/doc/${PROJECT_NAME})
|
||||||
|
|
||||||
|
# tester's guide
|
||||||
|
add_custom_command(
|
||||||
|
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/weechat_tester.it.html
|
||||||
|
COMMAND ${ASCIIDOCTOR_EXECUTABLE} ARGS ${ASCIIDOCTOR_ARGS} -o weechat_tester.it.html ${CMAKE_CURRENT_SOURCE_DIR}/weechat_tester.it.adoc
|
||||||
|
DEPENDS
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/../docinfo.html
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/weechat_tester.it.adoc
|
||||||
|
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
||||||
|
COMMENT "Building weechat_tester.it.html"
|
||||||
|
)
|
||||||
|
add_custom_target(doc-tester-it ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/weechat_tester.it.html)
|
||||||
|
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/weechat_tester.it.html DESTINATION ${DATAROOTDIR}/doc/${PROJECT_NAME})
|
||||||
|
|
||||||
endif()
|
endif()
|
||||||
|
|||||||
+8
-2
@@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
|
# Copyright (C) 2003-2021 Sébastien Helleu <flashcode@flashtux.org>
|
||||||
#
|
#
|
||||||
# This file is part of WeeChat, the extensible chat client.
|
# This file is part of WeeChat, the extensible chat client.
|
||||||
#
|
#
|
||||||
@@ -28,6 +28,7 @@ EXTRA_DIST = CMakeLists.txt \
|
|||||||
weechat_scripting.it.adoc \
|
weechat_scripting.it.adoc \
|
||||||
weechat_faq.it.adoc \
|
weechat_faq.it.adoc \
|
||||||
weechat_quickstart.it.adoc \
|
weechat_quickstart.it.adoc \
|
||||||
|
weechat_tester.it.adoc \
|
||||||
includes/autogen_api_completions.it.adoc \
|
includes/autogen_api_completions.it.adoc \
|
||||||
includes/autogen_api_hdata.it.adoc \
|
includes/autogen_api_hdata.it.adoc \
|
||||||
includes/autogen_api_infolists.it.adoc \
|
includes/autogen_api_infolists.it.adoc \
|
||||||
@@ -53,7 +54,8 @@ if DOC
|
|||||||
weechat_plugin_api.it.html \
|
weechat_plugin_api.it.html \
|
||||||
weechat_scripting.it.html \
|
weechat_scripting.it.html \
|
||||||
weechat_faq.it.html \
|
weechat_faq.it.html \
|
||||||
weechat_quickstart.it.html
|
weechat_quickstart.it.html \
|
||||||
|
weechat_tester.it.html
|
||||||
doc_install = install-doc
|
doc_install = install-doc
|
||||||
doc_uninstall = uninstall-doc
|
doc_uninstall = uninstall-doc
|
||||||
endif
|
endif
|
||||||
@@ -85,6 +87,10 @@ weechat_faq.it.html: weechat_faq.it.adoc $(abs_top_srcdir)/doc/docinfo.html
|
|||||||
weechat_quickstart.it.html: weechat_quickstart.it.adoc $(abs_top_srcdir)/doc/docinfo.html
|
weechat_quickstart.it.html: weechat_quickstart.it.adoc $(abs_top_srcdir)/doc/docinfo.html
|
||||||
$(ASCIIDOCTOR) $(ASCIIDOCTOR_ARGS) -a revnumber="$(VERSION)" -o weechat_quickstart.it.html $(abs_top_srcdir)/doc/it/weechat_quickstart.it.adoc
|
$(ASCIIDOCTOR) $(ASCIIDOCTOR_ARGS) -a revnumber="$(VERSION)" -o weechat_quickstart.it.html $(abs_top_srcdir)/doc/it/weechat_quickstart.it.adoc
|
||||||
|
|
||||||
|
# tester's guide
|
||||||
|
weechat_tester.it.html: weechat_tester.it.adoc $(abs_top_srcdir)/doc/docinfo.html
|
||||||
|
$(ASCIIDOCTOR) $(ASCIIDOCTOR_ARGS) -a revnumber="$(VERSION)" -o weechat_tester.it.html $(abs_top_srcdir)/doc/it/weechat_tester.it.adoc
|
||||||
|
|
||||||
# install man/docs
|
# install man/docs
|
||||||
|
|
||||||
install-data-hook: $(man_install) $(doc_install)
|
install-data-hook: $(man_install) $(doc_install)
|
||||||
|
|||||||
@@ -26,8 +26,6 @@
|
|||||||
|
|
||||||
| irc | irc_channels | canali su tutti i server IRC
|
| irc | irc_channels | canali su tutti i server IRC
|
||||||
|
|
||||||
| irc | irc_channels_autojoin | channels automatically joined on the current server (option "autojoin")
|
|
||||||
|
|
||||||
| irc | irc_ignores_numbers | numero di ignore definiti
|
| irc | irc_ignores_numbers | numero di ignore definiti
|
||||||
|
|
||||||
| irc | irc_modelist_masks | modelist masks of current IRC channel; required argument: modelist mode
|
| irc | irc_modelist_masks | modelist masks of current IRC channel; required argument: modelist mode
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
|===
|
|===
|
||||||
| Plugin | Nome | Descrizione | Tabella hash (input) | Tabella hash (output)
|
| Plugin | Nome | Descrizione | Tabella hash (input) | Tabella hash (output)
|
||||||
|
|
||||||
| irc | irc_message_parse | controlla un messaggio IRC | "message": messaggio IRC, "server": nome server (opzionale) | "tags": tags, "tag_xxx": unescaped value of tag "xxx" (one key per tag), "message_without_tags": message without the tags, "nick": nick, "user": user, "host": host, "command": command, "channel": channel, "arguments": arguments (includes channel), "text": text (for example user message), "param1" ... "paramN": parsed command parameters, "num_params": number of parsed command parameters, "pos_command": index of "command" message ("-1" if "command" was not found), "pos_arguments": index of "arguments" message ("-1" if "arguments" was not found), "pos_channel": index of "channel" message ("-1" if "channel" was not found), "pos_text": index of "text" message ("-1" if "text" was not found)
|
| irc | irc_message_parse | controlla un messaggio IRC | "message": messaggio IRC, "server": nome server (opzionale) | "tags": tags, "tag_xxx": unescaped value of tag "xxx" (one key per tag), "message_without_tags": message without the tags, "nick": nick, "user": user, "host": host, "command": command, "channel": channel, "arguments": arguments (includes channel), "text": text (for example user message), "pos_command": index of "command" message ("-1" if "command" was not found), "pos_arguments": index of "arguments" message ("-1" if "arguments" was not found), "pos_channel": index of "channel" message ("-1" if "channel" was not found), "pos_text": index of "text" message ("-1" if "text" was not found)
|
||||||
|
|
||||||
| irc | irc_message_split | split an IRC message (to fit in 512 bytes by default) | "message": messaggio IRC, "server": nome server (opzionale) | "msg1" ... "msgN": messaggio da inviare (senza "\r\n" finale), "args1" ... "argsN": argomenti dei messaggi, "count": numero di messaggi
|
| irc | irc_message_split | split an IRC message (to fit in 512 bytes by default) | "message": messaggio IRC, "server": nome server (opzionale) | "msg1" ... "msgN": messaggio da inviare (senza "\r\n" finale), "args1" ... "argsN": argomenti dei messaggi, "count": numero di messaggi
|
||||||
|
|
||||||
|
|||||||
@@ -123,35 +123,6 @@ Examples:
|
|||||||
/auth user2 ${weechat_config_dir}/ecdsa2.pem
|
/auth user2 ${weechat_config_dir}/ecdsa2.pem
|
||||||
----
|
----
|
||||||
|
|
||||||
[[command_irc_autojoin]]
|
|
||||||
* `+autojoin+`: configure the "autojoin" server option
|
|
||||||
|
|
||||||
----
|
|
||||||
/autojoin add [<channel1> [<channel2>...]]
|
|
||||||
addraw <channel1>[,<channel2>...] [<key1>[,<key2>...]]
|
|
||||||
del [<channel1> [<channel2>...]]
|
|
||||||
save
|
|
||||||
sort
|
|
||||||
|
|
||||||
add: add current channel or a list of channels (with optional keys) to the autojoin option; if you are on the channel and the key is not provided, the key is read in the channel
|
|
||||||
addraw: use the IRC raw format (same as /join command): all channels separated by commas, optional keys separated by commas
|
|
||||||
del: delete current channel or a list of channels from the autojoin option
|
|
||||||
channel: channel name
|
|
||||||
key: key for the channel
|
|
||||||
save: save currently joined channels in the autojoin option
|
|
||||||
sort: sort alphabetically channels in the autojoin option
|
|
||||||
|
|
||||||
Examples:
|
|
||||||
/autojoin add
|
|
||||||
/autojoin add #test
|
|
||||||
/autojoin add #chan1 #chan2
|
|
||||||
/autojoin addraw #chan1,#chan2,#chan3 key1,key2
|
|
||||||
/autojoin del
|
|
||||||
/autojoin del #chan1
|
|
||||||
/autojoin save
|
|
||||||
/autojoin sort
|
|
||||||
----
|
|
||||||
|
|
||||||
[[command_irc_ban]]
|
[[command_irc_ban]]
|
||||||
* `+ban+`: banna nick oppure host
|
* `+ban+`: banna nick oppure host
|
||||||
|
|
||||||
|
|||||||
@@ -1290,6 +1290,12 @@
|
|||||||
** valori: qualsiasi stringa
|
** valori: qualsiasi stringa
|
||||||
** valore predefinito: `+"*"+`
|
** valore predefinito: `+"*"+`
|
||||||
|
|
||||||
|
* [[option_weechat.plugin.debug]] *weechat.plugin.debug*
|
||||||
|
** descrizione: pass:none[abilita come predefinito il debug per tutti i plugin (opzione disabilita di default, caldamente raccomandato)]
|
||||||
|
** tipo: bool
|
||||||
|
** valori: on, off
|
||||||
|
** valore predefinito: `+off+`
|
||||||
|
|
||||||
* [[option_weechat.plugin.extension]] *weechat.plugin.extension*
|
* [[option_weechat.plugin.extension]] *weechat.plugin.extension*
|
||||||
** descrizione: pass:none[elenco separato da virgole di estensioni dei nomi file per i plugin]
|
** descrizione: pass:none[elenco separato da virgole di estensioni dei nomi file per i plugin]
|
||||||
** tipo: stringa
|
** tipo: stringa
|
||||||
@@ -2690,12 +2696,6 @@
|
|||||||
** valori: qualsiasi stringa
|
** valori: qualsiasi stringa
|
||||||
** valore predefinito: `+""+`
|
** valore predefinito: `+""+`
|
||||||
|
|
||||||
* [[option_irc.server_default.autojoin_dynamic]] *irc.server_default.autojoin_dynamic*
|
|
||||||
** descrizione: pass:none[set automatically the "autojoin" option according to the channels you manually join and part with commands /join and /part]
|
|
||||||
** tipo: bool
|
|
||||||
** valori: on, off
|
|
||||||
** valore predefinito: `+off+`
|
|
||||||
|
|
||||||
* [[option_irc.server_default.autoreconnect]] *irc.server_default.autoreconnect*
|
* [[option_irc.server_default.autoreconnect]] *irc.server_default.autoreconnect*
|
||||||
** descrizione: pass:none[riconnette automaticamente al server alla disconnessione]
|
** descrizione: pass:none[riconnette automaticamente al server alla disconnessione]
|
||||||
** tipo: bool
|
** tipo: bool
|
||||||
@@ -3064,11 +3064,11 @@
|
|||||||
** valori: -1 .. 43200
|
** valori: -1 .. 43200
|
||||||
** valore predefinito: `+0+`
|
** valore predefinito: `+0+`
|
||||||
|
|
||||||
* [[option_relay.network.compression]] *relay.network.compression*
|
* [[option_relay.network.compression_level]] *relay.network.compression_level*
|
||||||
** descrizione: pass:none[compression of messages sent to clients with "weechat" protocol: 0 = disable compression, 1 = low compression / fast ... 100 = best compression / slow; the value is a percentage converted to 1-9 for zlib and 1-19 for zstd; the default value is recommended, it offers a good compromise between compression and speed]
|
** descrizione: pass:none[livello di compressione per i pacchetti inviati al client con il protocollo WeeChat (0 = disabilita compressione, 1 = compressione bassa ... 9 = compressione migliore)]
|
||||||
** tipo: intero
|
** tipo: intero
|
||||||
** valori: 0 .. 100
|
** valori: 0 .. 9
|
||||||
** valore predefinito: `+20+`
|
** valore predefinito: `+6+`
|
||||||
|
|
||||||
* [[option_relay.network.ipv6]] *relay.network.ipv6*
|
* [[option_relay.network.ipv6]] *relay.network.ipv6*
|
||||||
** descrizione: pass:none[listen on IPv6 socket by default (in addition to IPv4 which is default); protocols IPv4 and IPv6 can be forced (individually or together) in the protocol name (see /help relay)]
|
** descrizione: pass:none[listen on IPv6 socket by default (in addition to IPv4 which is default); protocols IPv4 and IPv6 can be forced (individually or together) in the protocol name (see /help relay)]
|
||||||
|
|||||||
@@ -103,7 +103,7 @@ $HOME/.local/share/weechat/weechat.log::
|
|||||||
WeeChat is written by Sébastien Helleu and contributors (complete list is in
|
WeeChat is written by Sébastien Helleu and contributors (complete list is in
|
||||||
the AUTHORS.adoc file).
|
the AUTHORS.adoc file).
|
||||||
|
|
||||||
Copyright (C) 2003-2022 {author}
|
Copyright (C) 2003-2021 {author}
|
||||||
|
|
||||||
WeeChat is free software; you can redistribute it and/or modify
|
WeeChat is free software; you can redistribute it and/or modify
|
||||||
it under the terms of the GNU General Public License as published by
|
it under the terms of the GNU General Public License as published by
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user