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

Compare commits

..

1 Commits

Author SHA1 Message Date
Sébastien Helleu 2d387313a0 core: try to mark hyperlinks with OSC8 ANSI codes
Just a POC, this doesn't work at all with ncurses.
2021-10-15 20:07:17 +02:00
769 changed files with 46767 additions and 71262 deletions
+14 -54
View File
@@ -4,20 +4,17 @@ on:
- push
- 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 ruby-pygments.rb
jobs:
tests_linux:
build_linux:
strategy:
fail-fast: false
matrix:
os:
- ubuntu-20.04
config:
- { 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_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" }
@@ -25,7 +22,7 @@ jobs:
- { name: "autotools_gcc", cc: "gcc", cxx: "g++", 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 }}
steps:
@@ -36,10 +33,12 @@ jobs:
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 }}
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 -H pip3 install --ignore-installed msgcheck
- name: Test patches
run: ./tools/build-debian.sh test-patches
- name: Check gettext files
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
- 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
env:
@@ -71,7 +70,7 @@ jobs:
weechat --colors
weechat --license
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
if: ${{ matrix.config.name == 'cmake_gcc_coverage' }}
@@ -84,18 +83,18 @@ jobs:
lcov --list coverage.info
bash <(curl -s https://codecov.io/bash) -f coverage.info || echo 'Codecov error'
tests_macos:
build_macos:
strategy:
fail-fast: false
matrix:
os:
- macos-11
- macos-10.15
- macos-latest
config:
- { name: "cmake_gcc", cc: "gcc", cxx: "g++" }
- { 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 }}
steps:
@@ -126,43 +125,4 @@ jobs:
weechat --colors
weechat --license
weechat --version
weechat --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"
weechat --temp-dir --run-command "/debug dirs;/debug libs" --run-command "/quit"
+1 -3
View File
@@ -11,9 +11,7 @@ Sébastien Helleu <flashcode@flashtux.org> <flashcode>
Sébastien Helleu <flashcode@flashtux.org> <uid67137>
Nils Görs <weechatter@arcor.de>
Ryuunosuke Ayanokouzi <i38w7i3@yahoo.co.jp>
Krzysztof Korościk <soltys@soltys.info>
Krzysztof Korościk <soltys@soltys.info> <soltys1@gmail.com>
Krzysztof Korościk <soltys@soltys.info> <soltys@szluug.org>
Krzysztof Korościk <soltys1@gmail.com> <soltys@szluug.org> <soltys@soltys.info>
Marco Paolone <marcopaolone@gmail.com>
<marcopaolone@gmail.com> <marco@DrB4tch.sitecomwl601>
<mikaela.suomalainen@outlook.com> <mkaysi@outlook.com>
+46
View File
@@ -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
View File
@@ -155,4 +155,5 @@ Alphabetically:
== 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
View File
@@ -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) 2008-2009 Emmanuel Bouthenot <kolter@openics.org>
#
@@ -27,8 +27,8 @@ project(weechat C)
set(CMAKE_VERBOSE_MAKEFILE OFF)
set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake ${CMAKE_MODULE_PATH})
set(CMAKE_SKIP_RPATH ON)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsigned-char -fms-extensions -Wall -Wextra -Werror-implicit-function-declaration")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsigned-char -fms-extensions -Wall -Wextra")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsigned-char -Wall -Wextra -Werror-implicit-function-declaration")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsigned-char -Wall -Wextra")
# version
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
find_package(ZLIB REQUIRED)
# Check for zstd
include(FindPkgConfig)
pkg_check_modules(LIBZSTD REQUIRED libzstd)
add_definitions(-DHAVE_ZLIB)
# Check for iconv
find_package(Iconv)
+453 -561
View File
File diff suppressed because it is too large Load Diff
+7 -6
View File
@@ -29,8 +29,8 @@ please include:
_WeeChat 1.7-dev (git: v1.6-6-g997f47f)_. +
If WeeChat does not start at all, please include the version displayed by
`weechat --help` (or the version installed with your package manager).
* Your *operating system*: its name and version (examples: Linux Debian Bullseye,
FreeBSD 13.0, Windows/Cygwin 64-bit, Windows/Ubuntu 64-bit...).
* Your *operating system*: its name and version (examples: Linux Debian Wheezy,
FreeBSD 10.0, Windows/Cygwin 64-bit, Windows/Ubuntu 64-bit...).
* The *steps to reproduce*: if possible, please include a reproducible example:
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
@@ -38,7 +38,8 @@ please include:
problem here.
* 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
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 *expected result*: the correct result you are expecting.
@@ -68,14 +69,14 @@ time, for https://github.com/weechat/weechat[WeeChat] and the website
https://github.com/weechat/weechat.org[weechat.org].
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.
== Feature requests
WeeChat is under active development, so your idea may already have been
implemented, or scheduled for a future version (you can check in
https://weechat.org/dev/[roadmap] or
https://weechat.org/dev[roadmap] or
https://github.com/weechat/weechat/milestones[milestones] on GitHub.
Pull requests on GitHub are welcome for minor new features.
@@ -84,6 +85,6 @@ For major new features, it's better to discuss about it in IRC
(server: _irc.libera.chat_, channel _#weechat_).
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
and other useful info.
+1 -1
View File
@@ -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) 2006-2009 Emmanuel Bouthenot <kolter@openics.org>
#
+78 -9
View File
@@ -23,13 +23,13 @@ Homepage: https://weechat.org/
== 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-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].
* *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]).
* *Fully documented*: there is comprehensive https://weechat.org/doc/[documentation], which is https://weechat.org/doc/dev/#translations[translated] into several languages.
* *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.
* *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/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.
* *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].
== 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 (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.
+262 -349
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -1,6 +1,6 @@
#!/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-2006 Emmanuel Bouthenot <kolter@openics.org>
#
+1 -1
View File
@@ -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.
#
+1 -1
View File
@@ -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.
#
+1 -1
View File
@@ -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.
#
+1 -1
View File
@@ -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.
#
+1 -1
View File
@@ -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) 2009 Emmanuel Bouthenot <kolter@openics.org>
#
+1 -1
View File
@@ -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>
#
# This file is part of WeeChat, the extensible chat client.
+1 -1
View File
@@ -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.
#
+1 -1
View File
@@ -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.
#
+1 -1
View File
@@ -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.
#
+1 -1
View File
@@ -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.
#
+1 -1
View File
@@ -1,6 +1,6 @@
#
# 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.
#
+1 -1
View File
@@ -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.
#
+1 -1
View File
@@ -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>
#
# This file is part of WeeChat, the extensible chat client.
+47 -9
View File
@@ -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.
#
@@ -33,13 +33,51 @@ endif()
find_package(PkgConfig)
if(PKG_CONFIG_FOUND)
if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
# set specific search path for macOS
set(ENV{PKG_CONFIG_PATH} "$ENV{PKG_CONFIG_PATH}:/usr/local/opt/ruby/lib/pkgconfig")
endif()
pkg_search_module(RUBY ruby-3.1 ruby-3.0 ruby-2.7 ruby-2.6 ruby-2.5 ruby-2.4 ruby-2.3 ruby-2.2 ruby-2.1 ruby-2.0 ruby-1.9 ruby)
if(RUBY_FOUND AND ${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
# FIXME: weird hack: hardcoding the Ruby lib location on macOS
set(RUBY_LDFLAGS "${RUBY_LDFLAGS} -L/usr/local/opt/ruby/lib")
pkg_search_module(RUBY ruby-2.7 ruby-2.6 ruby-2.5 ruby-2.4 ruby-2.3 ruby-2.2 ruby-2.1 ruby-2.0 ruby-1.9)
endif()
if(RUBY_FOUND)
set(RUBY_LIB "")
mark_as_advanced(RUBY_LIB)
else()
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()
+1 -1
View File
@@ -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.
#
+1 -1
View File
@@ -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.
#
+3 -24
View File
@@ -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-2006 Julien Louis <ptitlouis@sysif.net>
# Copyright (C) 2005-2009 Emmanuel Bouthenot <kolter@openics.org>
@@ -501,7 +501,7 @@ RUBY_VERSION=
if test "x$enable_ruby" = "xyes" ; then
RUBY_CFLAGS=""
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`
if test "x$?" = "x0" ; then
RUBY_VERSION=`$PKGCONFIG --modversion ruby-$v`
@@ -1175,27 +1175,6 @@ else
AC_SUBST(ZLIB_LFLAGS)
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
# ------------------------------------------------------------------------------
@@ -1284,7 +1263,7 @@ if test "x$enable_man" = "xyes" -o "x$enable_doc" = "xyes"; then
enable_man="no"
enable_doc="no"
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_ARGS)
fi
+1 -3
View File
@@ -4,7 +4,6 @@ Priority: optional
Maintainer: Sébastien Helleu <flashcode@flashtux.org>
Build-Depends:
asciidoctor (>= 1.5.4),
ruby-pygments.rb,
debhelper (>= 12),
cmake, pkg-config,
libncursesw5-dev,
@@ -15,12 +14,11 @@ Build-Depends:
liblua5.3-dev,
tcl8.6-dev,
guile-2.2-dev,
php-dev, libphp-embed, libargon2-dev, libsodium-dev,
php-dev, libphp-embed, libargon2-0-dev, libsodium-dev,
libxml2-dev,
libcurl4-gnutls-dev,
libgcrypt20-dev,
libgnutls28-dev,
libzstd-dev,
zlib1g-dev
Standards-Version: 4.6.0.1
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
-41
View File
@@ -1,44 +1,3 @@
weechat (3.5-1) unstable; urgency=medium
* New upstream release
* Add build dependency on libzstd-dev
-- Emmanuel Bouthenot <kolter@debian.org> Thu, 31 Mar 2022 11:36:01 +0000
weechat (3.4.1-1) unstable; urgency=medium
* New upstream release
- Fix a possible man-in-the-middle attack in TLS connection to servers
* Update build dependency from libargon2-0-dev to libargon2-dev
(libargon2-0-dev is now virtual package) (Closes: #1005703)
-- Emmanuel Bouthenot <kolter@debian.org> Tue, 22 Mar 2022 05:55:14 +0000
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.4-1) unstable; urgency=medium
* New upstream release (Closes: #1001654, #1001245)
* Remove tester's guide from weechat-doc (according to upstream changes)
* Refresh ASCII Doctor options patch
* Update lintian override on weechat-plugins
* Update copyright (new year)
-- Emmanuel Bouthenot <kolter@debian.org> Fri, 07 Jan 2022 23:03:49 +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
* New upstream release
+1 -3
View File
@@ -4,7 +4,6 @@ Priority: optional
Maintainer: Emmanuel Bouthenot <kolter@debian.org>
Build-Depends:
asciidoctor (>= 1.5.4),
ruby-pygments.rb,
debhelper (>= 12),
cmake, pkg-config,
libncursesw5-dev,
@@ -15,12 +14,11 @@ Build-Depends:
liblua5.3-dev,
tcl8.6-dev,
guile-2.2-dev,
php-dev, libphp-embed, libargon2-dev, libsodium-dev,
php-dev, libphp-embed, libargon2-0-dev, libsodium-dev,
libxml2-dev,
libcurl4-gnutls-dev,
libgcrypt20-dev,
libgnutls28-dev,
libzstd-dev,
zlib1g-dev
Standards-Version: 4.6.0.1
Homepage: https://weechat.org/
+1 -1
View File
@@ -4,7 +4,7 @@ Upstream-Contact: Sébastien Helleu <flashcode@flashtux.org>
Source: https://weechat.org/
Files: *
Copyright: 2003-2022, Sébastien Helleu <flashcode@flashtux.org>
Copyright: 2003-2021, Sébastien Helleu <flashcode@flashtux.org>
License: GPL-3+
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
View File
@@ -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>
#
# This file is part of WeeChat, the extensible chat client.
@@ -21,58 +21,7 @@
if(ENABLE_MAN OR ENABLE_DOC)
find_package(Asciidoctor)
if(ASCIIDOCTOR_FOUND)
# common asciidoctor arguments
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
set(ASCIIDOCTOR_ARGS -a experimental -a "prewrap!" -a icons=font -a revnumber="${VERSION}" -a sectanchors -a source-highlighter=prettify)
add_subdirectory(cs)
add_subdirectory(de)
add_subdirectory(en)
+1 -1
View File
@@ -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>
#
# This file is part of WeeChat, the extensible chat client.
+1 -1
View File
@@ -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.
#
+1 -1
View File
@@ -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.
#
+2 -2
View File
@@ -1,6 +1,6 @@
// tag::plugin_options[]
Pro kompletní dokumentaci nastavení pluginů a jejich volby podívejte se na
https://weechat.org/doc/[WeeChat user's guide].
https://weechat.org/doc[WeeChat user's guide].
S irc pluginem se můžete doččasně připojit na server s URL jako:
@@ -99,7 +99,7 @@ $HOME/.local/share/weechat/weechat.log::
WeeChat je napsán Sébastienem Helleu a přispěvovateli (kompletní seznam je v
souboru AUTHORS.adoc).
Copyright (C) 2003-2022 {author}
Copyright (C) 2003-2021 {author}
WeeChat is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
+1 -1
View File
@@ -67,4 +67,4 @@ include::includes/man.cs.adoc[tag=copyright]
== PODPORA / HLÁŠENÍ CHYB
Pro pomoc nebo hlášení chyb https://weechat.org/about/support/
Pro pomoc nebo hlášení chyb https://weechat.org/about/support
+1 -1
View File
@@ -62,4 +62,4 @@ include::includes/man.cs.adoc[tag=copyright]
== PODPORA / HLÁŠENÍ CHYB
Pro pomoc nebo hlášení chyb https://weechat.org/about/support/
Pro pomoc nebo hlášení chyb https://weechat.org/about/support
+9 -23
View File
@@ -208,16 +208,10 @@ K automatickému připojení některých kanálů při připojování k serveru:
----
// TRANSLATION MISSING
The `/autojoin` command lets you configure the _autojoin_ option easily
(see `/help autojoin`).
// TRANSLATION MISSING
You can also configure WeeChat to automatically update the _autojoin_ option
when you join or leave channels:
----
/set irc.server_default.autojoin_dynamic on
----
[TIP]
You can complete name and value of options with the kbd:[Tab] key
and kbd:[Shift+Tab] for a partial completion (useful for long words like
the name of option).
K smazání hodnoty serverové volby a k použití výchozí hodnoty místo ní,
například k požití výchozích přezdívek (irc.server_default.nicks):
@@ -233,12 +227,6 @@ název volby):
/set irc.server.libera.xxx value
----
// TRANSLATION MISSING
[TIP]
You can complete name and value of options with the kbd:[Tab] key
and kbd:[Shift+Tab] for a partial completion (useful for long words like
the name of option).
[[connect_to_irc_server]]
== Připojení k IRC serveru
@@ -401,16 +389,14 @@ například:
Zkuste `/help script` pro více informací.
// TRANSLATION MISSING
A list of scripts is available in WeeChat with `/script` or on
https://weechat.org/scripts/[this page ^↗^,window=_blank].
A seznam skriptů je dostupný v WeeChatu s příkazem `/script` nebo na této
adrese https://weechat.org/scripts
[[more_doc]]
== Další dokumentace
// TRANSLATION MISSING
You can now use WeeChat and read
https://weechat.org/doc/[FAQ/documentation ^↗^,window=_blank]
for any other questions.
Nyní jste schopni používat WeeChat a můžete si přečíst FAQ/dokumentaci pro
jakékoliv další otázky: https://weechat.org/doc
Ať máte radost z použití WeeChatu!
+14 -1
View File
@@ -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.
#
@@ -107,4 +107,17 @@ if(ENABLE_DOC)
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})
# 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()
+8 -2
View File
@@ -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>
#
# This file is part of WeeChat, the extensible chat client.
@@ -28,6 +28,7 @@ EXTRA_DIST = CMakeLists.txt \
weechat_scripting.de.adoc \
weechat_faq.de.adoc \
weechat_quickstart.de.adoc \
weechat_tester.de.adoc \
includes/autogen_api_completions.de.adoc \
includes/autogen_api_hdata.de.adoc \
includes/autogen_api_infolists.de.adoc \
@@ -52,7 +53,8 @@ if DOC
doc_targets = weechat_user.de.html \
weechat_scripting.de.html \
weechat_faq.de.html \
weechat_quickstart.de.html
weechat_quickstart.de.html \
weechat_tester.de.html
doc_install = install-doc
doc_uninstall = uninstall-doc
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
$(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-data-hook: $(man_install) $(doc_install)
@@ -26,8 +26,6 @@
| 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_modelist_masks | Modelist Maske für aktuellen IRC Kanal; benötigtes Argument: modelist mode
@@ -94,8 +92,6 @@
| tcl | tcl_script | Liste der Skripten
| trigger | trigger_add_arguments | Argumente für den Befehl, der einen Trigger hinzufügt: Name des Triggers, Hooks, Hook-Argumente, Hook-Bedingungen, Hook-Regex, Hook-Befehl, Hook-Rückgabecode, nachfolgende Aktionen
| trigger | trigger_hook_arguments | Standardargumente für einen Hook
| trigger | trigger_hook_command | Standardbefehl für einen Hook
@@ -150,14 +146,6 @@
| weechat | cursor_areas | Bereiche in denen der Cursor frei bewegt werden kann ("chat" oder Name einer Bar)
| weechat | custom_bar_item_add_arguments | Argumente für den Befehl, der ein benutzerdefiniertes Bar-Item hinzufügt: Elementname, Bedingungen,Inhalt
| weechat | custom_bar_item_conditions | Bedingungen für benutzerdefinierte Bar-Items
| weechat | custom_bar_item_contents | Inhalte für benutzerdefinierte Bar-Items
| weechat | custom_bar_items_names | Namen der benutzerdefinierten Bar-Items
| weechat | env_value | Wert einer Umgebungsvariable
| weechat | env_vars | Umgebungsvariablen
@@ -8,7 +8,7 @@
|===
| 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
+27 -104
View File
@@ -123,36 +123,6 @@ Beispiele:
/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>...]]
apply
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
apply: fügt die aktuell besuchten Kanäle in der autojoin-Option hinzu
sort: sortiert die Kanäle alphabetisch in der autojoin Option
Beispiele:
/autojoin add
/autojoin add #test
/autojoin add #chan1 #chan2
/allchan /autojoin add
/autojoin addraw #chan1,#chan2,#chan3 key1,key2
/autojoin del
/autojoin del #chan1
/autojoin apply
/autojoin sort
----
[[command_irc_ban]]
* `+ban+`: Nicknamen oder Hosts sperren/verbannen
@@ -1332,8 +1302,8 @@ Beispiele:
----
/debug list
set <plugin> <level>
dump|hooks [<plugin>]
buffer|certs|color|dirs|infolists|libs|memory|tags|term|windows
dump [<plugin>]
buffer|color|infolists|libs|certs|memory|tags|term|windows
mouse|cursor [verbose]
hdata [free]
time <command>
@@ -1343,15 +1313,15 @@ Beispiele:
plugin: Name der Erweiterung ("core" für den WeeChat Kern)
level: Debuglevel der Erweiterung (0 = deaktiviert Debug)
dump: Speicherabbild in die WeeChat Protokolldatei schreiben (wie bei einem Programmabsturz)
hooks: zeigt die aktiven Hooks an (bei einer Erweiterung: detaillierte Informationen über Hooks werden angezeigt, die von der Erweiterung erstellt wurden)
buffer: speichert den Bufferinhalt als hexadezimale Ausgabe in die Protokolldatei
certs: gibt die Anzahl geladener vertrauenswürdiger Zertifizierungsstellen aus
color: zeigt Informationen über die aktuellen Farbpaarungen an
cursor: schaltet den debug-Modus für den Cursor-Modus ein/aus
dirs: Verzeichnisse werden angezeigt
hdata: zeigt Informationen zu hdata an (mittels free werden alle hdata Informationen aus dem Speicher entfernt)
hooks: zeigt die aktiven Hooks an
infolists: zeigt Information über die Infolists an
libs: zeigt an welche externen Bibliotheken verwendet werden
certs: gibt die Anzahl geladener vertrauenswürdiger Zertifizierungsstellen aus
memory: gibt Informationen über den genutzten Speicher aus
mouse: schaltet den debug-Modus für den Maus-Modus ein/aus
tags: zeigt für jede einzelne Zeile die dazugehörigen Schlagwörter an
@@ -1409,30 +1379,28 @@ Einige Variablen werden im Ausdruck mittels der Formatierung ${variable} ersetzt
3. eine evaluierte Teilzeichenkette (Format: "eval:xxx")
4. eine evaluierte Bedingung (Format: "eval_cond:xxx")
5. eine Zeichenkette mit Escapesequenzen (Format: "esc:xxx" oder "\xxx")
6. eine Zeichenfolge, die in Kleinbuchstaben umgewandelt wird (Format: "lower:xxx")
7. eine Zeichenfolge, die in Großbuchstaben umgewandelt wird (Format: "upper:xxx")
8. Zeichen, die in einer Zeichenkette nicht dargestellt werden sollen (Format: "hide:Zeichen,Zeichenkette")
9. eine Zeichenkette mit einer maximalen Anzahl an Zeichen (Format: "cut:max,suffix,string" oder "cut:+max,suffix,string")
6. Zeichen, die in einer Zeichenkette nicht dargestellt werden sollen (Format: "hide:Zeichen,Zeichenkette")
7. eine Zeichenkette mit einer maximalen Anzahl an Zeichen (Format: "cut:max,suffix,string" oder "cut:+max,suffix,string")
oder maximale Anzahl an Zeichen die auf dem Bildschirm angezeigt werden sollen (Format: "cutscr:Max,Suffix,Zeichenkette oder "cutscr:+Max,Suffix,Zeichenkette")
10. eine Zeichenkette umkehren (Format: "rev:xxx" oder "revscr:xxx")
11. eine Zeichenkette wiederholen (Format: "repeat:Anzahl,Zeichenkette")
12. Länge einer Zeichenkette (Format: "length:xxx" oder "lengthscr:xxx")
13. Aufteilen einer Zeichenkette (Format: "split:Anzahl,Trennzeichen,Flags,xxx")
14. Aufteilen von Shell-Argumenten (Format: "split_shell:Anzahl,xxx")
15. eine Farbe (Format: "color:xxx", siehe "Anleitung für API Erweiterung", Funktion "color")
16. zum modifizieren (Format: "modifier:name,data,string")
17. eine Info (Format: "Info:Name,Argumente", Argumente sind optional)
18. eine Basis 16/32/64 kodierte / dekodierte Zeichenfolge (Format: "base_encode:base,xxx" oder "base_decode:base,xxx")
19. aktuelles Datum/Uhrzeit (Format: "date" oder "date:format")
20. eine Umgebungsvariable (Format: "env:XXX")
21. ein Dreifachoperand (Format: "if:Bedingung?Wert_falls_wahr:Wert_falls_unwahr")
22. Ergebnis eines Ausdrucks mit Klammern und Operatoren + - * / // % ** (Format: "calc:xxx")
23. eine zufällige ganze Zahl (Format: "random:min,max")
24. eine übersetzte Zeichenkette (Format: "translate:xxx")
25. eine Benutzervariable definieren (Format: "define:Name,Wert")
26. eine Option (Format: "file.section.option")
27. eine lokale Variable eines Buffers
28. ein(e) hdata - Name/Variable (der Wert wird automatisch in eine Zeichenkette konvertiert), standardmäßig wird für "window" und "buffer" das aktuelle Fenster/Buffer verwendet.
8. eine Zeichenkette umkehren (Format: "rev:xxx" oder "revscr:xxx")
9. eine Zeichenkette wiederholen (Format: "repeat:Anzahl,Zeichenkette")
10. Länge einer Zeichenkette (Format: "length:xxx" oder "lengthscr:xxx")
11. Aufteilen einer Zeichenkette (Format: "split:Anzahl,Trennzeichen,Flags,xxx")
12. Aufteilen von Shell-Argumenten (Format: "split_shell:Anzahl,xxx")
13. eine Farbe (Format: "color:xxx", siehe "Anleitung für API Erweiterung", Funktion "color")
14. zum modifizieren (Format: "modifier:name,data,string")
15. eine Info (Format: "Info:Name,Argumente", Argumente sind optional)
16. eine Basis 16/32/64 kodierte / dekodierte Zeichenfolge (Format: "base_encode:base,xxx" oder "base_decode:base,xxx")
17. aktuelles Datum/Uhrzeit (Format: "date" oder "date:format")
18. eine Umgebungsvariable (Format: "env:XXX")
19. ein Dreifachoperand (Format: "if:Bedingung?Wert_falls_wahr:Wert_falls_unwahr")
20. Ergebnis eines Ausdrucks mit Klammern und Operatoren + - * / // % ** (Format: "calc:xxx")
21. eine zufällige ganze Zahl (Format: "random:min,max")
22. eine übersetzte Zeichenkette (Format: "translate:xxx")
23. eine Benutzervariable definieren (Format: "define:Name,Wert")
24. eine Option (Format: "file.section.option")
25. eine lokale Variable eines Buffers
26. ein(e) hdata - Name/Variable (der Wert wird automatisch in eine Zeichenkette konvertiert), standardmäßig wird für "window" und "buffer" das aktuelle Fenster/Buffer verwendet.
Das Format für hdata kann wie folgt aufgebaut sein:
hdata.var1.var2...: startet mit hdata (der Pointer muss bekannt sein) und fragt eine Variable nach der anderen ab (weitere hdata können folgen)
hdata[list].var1.var2...: startet hdata mittels einer Liste, zum Beispiel:
@@ -1455,8 +1423,6 @@ Beispiele (einfache Zeichenketten):
/eval -n ${window.buffer.full_name} ==> core.weechat
/eval -n ${window.buffer.number} ==> 1
/eval -n ${\t} ==> <tab>
/eval -n ${lower:TEST} ==> test
/eval -n ${upper:test} ==> TEST
/eval -n ${hide:-,${relay.network.password}} ==> --------
/eval -n ${cut:3,+,test} ==> tes+
/eval -n ${cut:+3,+,test} ==> te+
@@ -1502,7 +1468,7 @@ Beispiele (Bedingungen):
add|addreplace <name> <buffer>[,<buffer>...] <tags> <regex>
rename <name> <new_name>
recreate <name>
del <name>|-all [<name>...]
del <name>|-all
list: alle Filter auflisten
enable: Filter wird aktiviert (Filter werden standardmäßig aktiviert)
@@ -1651,49 +1617,6 @@ Auflistung der möglichen Aktionen:
Dieser Befehl wird sinnvollerweise mittels Tastenbelegungen oder Erweiterungen genutzt.
----
[[command_weechat_item]]
* `+item+`: Verwalten von benutzerdefinierten Bar-Items
----
/item list
add|addreplace <name> "<conditions>" "<content>"
rename <name> <new_name>
refresh <name> [<name>...]
recreate <name>
del <name>|-all
list: zeigt eine Liste aller benutzerdefinierten Bar-Items
add: fügt ein benutzerdefiniertes Bar-Item hinzu
addreplace: erzeugt neues Bar-Item oder ersetzt ein schon existierendes Bar-Item
name: benutzerdefinierter Name des Bar-Items
conditions: evaluierte Bedingungen um ein Bar-Item anzuzeigen (zum Beispiel um ein Bar-Item nur in einem bestimmten Buffer anzuzeigen)
content: Inhalt (evaluiert, siehe /help eval)
rename: Umbenennen eines benutzerdefinierten Bar-Items
refresh: aktualisiert den Inhalt des Items in allen Bars, in denen das Item angezeigt wird; jedes Item kann aktualisiert werden: standard/Erweiterung/benutzerdefiniertes Bar-Item
recreate: kopiert den Befehl in die Eingabezeile um das benutzerdefinierte Bar-Item zu editieren
del: entfernt ein benutzerdefiniertes Bar-Item
-all: entfernt alle benutzerdefinierten Bar-Items
Beispiele:
Item welches die Terminalgröße anzeigt wird hinzugefügt, aber nur in Buffern mit Nummer angezeigt = 1:
/item add terminfo "${buffer.number} == 1" "term:${info:term_width}x${info:term_height}"
fügt ein Item hinzu, welches Informationen über den Buffer anzeigt:
/item add bufinfo "" "${buffer.number}:${buffer.name}${if:${buffer.zoomed}?(Z)}"
fügt ein Item mit Datum/Uhrzeit hinzu, dabei wird das Format "Dec 25, 12:34 +0100" verwendet, aktualisiert, jede Minute:
/item add datetime "" "${date:%b %d, %H:%M %z}"
/trigger add datetime_refresh timer "60000;60" "" "" "/item refresh datetime"
fügt ein Item mit der Anzahl der Zeilen in dem Buffer hinzu (sichtbar/total), jeweils aktualisiertwenn eine neue Zeile dargestellt wird oder wenn sich der Status der gefilterten Zeilen geändert hat:
/item add lines_count "" "${calc:${buffer.lines.lines_count}-${buffer.lines.lines_hidden}}/${buffer.lines.lines_count} lines"
/trigger add lines_count_refresh_print print "" "" "" "/item refresh lines_count"
/trigger add lines_count_refresh_signal signal "window_switch;buffer_switch;buffer_lines_hidden;filters_*" "" "" "/item refresh lines_count"
erzwingt die Aktualisierung des Items "lines_count":
/item refresh lines_count
erstellt das Item "lines_count", mit anderen Bedingungen oder Inhalten, neu:
/item recreate lines_count
entfernt das Item "lines_count":
/item del lines_count
----
[[command_weechat_key]]
* `+key+`: Einer Taste einen Befehl zuordnen oder entfernen
@@ -2894,7 +2817,7 @@ protocol.name: Protokoll und Name des Relay:
- Protokoll "weechat" (es wird kein Name verwendet)
Das "irc" Protokoll dient dazu eine Verbindung zu einem anderen IRC Client (oder zu einem zweiten WeeChat) herzustellen.
Das "weechat" Protokoll wird von einem Remote-Interface genutzt um eine Verbindung auf dem Port herzustellen. Siehe https://weechat.org/about/interfaces/
Das "weechat" Protokoll wird von einem Remote-Interface genutzt um eine Verbindung auf dem Port herzustellen. Siehe https://weechat.org/about/interfaces
Ohne Angabe von Argumenten werden alle Relay-Clients in einem neuen Buffer dargestellt.
+10 -10
View File
@@ -1290,6 +1290,12 @@
** Werte: beliebige Zeichenkette
** 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*
** Beschreibung: pass:none[durch Kommata getrennte Liste von Dateinamenserweiterungen, welche für die Erweiterungen genutzt werden sollen]
** Typ: Zeichenkette
@@ -2690,12 +2696,6 @@
** Werte: beliebige Zeichenkette
** 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*
** Beschreibung: pass:none[Nach einer Trennung vom Server die Verbindung automatisch wiederherstellen]
** Typ: boolesch
@@ -3064,11 +3064,11 @@
** Werte: -1 .. 43200
** Standardwert: `+0+`
* [[option_relay.network.compression]] *relay.network.compression*
** 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]
* [[option_relay.network.compression_level]] *relay.network.compression_level*
** 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
** Werte: 0 .. 100
** Standardwert: `+20+`
** Werte: 0 .. 9
** Standardwert: `+6+`
* [[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)]
+2 -2
View File
@@ -1,6 +1,6 @@
// tag::plugin_options[]
Um eine vollständige Dokumentation der Optionen zu erhalten, siehe
https://weechat.org/doc/[WeeChat user's guide].
https://weechat.org/doc[WeeChat user's guide].
Mittels der IRC Erweiterung kann man sich zu einen temporären Server verbinden lassen,
indem man eine URL verwendet:
@@ -100,7 +100,7 @@ $HOME/.local/share/weechat/weechat.log::
WeeChat wird programmiert von Sébastien Helleu und weiteren Beteiligten (eine vollständige Auflistung
findet man in der AUTHORS.adoc Datei).
Copyright (C) 2003-2022 {author}
Copyright (C) 2003-2021 {author}
WeeChat is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
+1 -1
View File
@@ -63,4 +63,4 @@ include::includes/man.de.adoc[tag=copyright]
== SUPPORT / FEHLER MELDEN
für Hilfe oder um einen Fehler zu melden: https://weechat.org/about/support/
für Hilfe oder um einen Fehler zu melden: https://weechat.org/about/support
+1 -1
View File
@@ -59,4 +59,4 @@ include::includes/man.de.adoc[tag=copyright]
== SUPPORT / FEHLER MELDEN
für Hilfe oder um einen Fehler zu melden: https://weechat.org/about/support/
für Hilfe oder um einen Fehler zu melden: https://weechat.org/about/support
+57 -94
View File
@@ -38,8 +38,7 @@ Aber diese Bedeutung trifft nicht auf WeeChat zu!)
WeeChat ist sehr speicherschonend und besticht durch innovative Funktionen.
Weitere Infomationen über Weechat
https://weechat.org/about/features/[features page ^↗^,window=_blank].
Weitere Informationen findet man auf der WeeChat Seite: https://weechat.org/about/features
[[compilation_install]]
== Kompilierung / Installation
@@ -47,17 +46,17 @@ https://weechat.org/about/features/[features page ^↗^,window=_blank].
[[gui]]
=== Ich habe gehört es gibt verschiedene GUIs für WeeChat. Wie kann ich diese kompilieren bzw. nutzen?
Einige Remote-GUIs sind verfügbar, siehe
https://weechat.org/about/interfaces/[remote interfaces page ^↗^,window=_blank].
Es sind einige Remote-Oberflächen verfügbar. Diese findet man auf der Homepage:
https://weechat.org/about/interfaces
[[compile_git]]
=== Ich kann WeeChat nach Cloning des git Repository nicht kompilieren - weshalb?
Es wird empfohlen link:weechat_user.de.html#compile_with_cmake[CMake ^↗^,window=_blank] zum
Es wird empfohlen link:weechat_user.de.html#compile_with_cmake[CMake] zum
kompilieren von WeeChat zu nutzen.
Falls Du WeeChat mit Hilfe der
link:weechat_user.de.html#compile_with_autotools[autotools ^↗^,window=_blank] kompilieren solltest
link:weechat_user.de.html#compile_with_autotools[autotools] kompilieren solltest
(dich also nicht für CMake entscheidest), stelle sicher, dass Du die neueste
Version von autoconf und automake besitzt.
@@ -70,7 +69,7 @@ das Repository klont und daraus Updates installiert.
[[compile_macos]]
=== Wie installiere ich WeeChat auf macOS?
Wir empfehlen, dass zur Installation https://brew.sh/[Homebrew ^↗^,window=_blank] genutzt wird.
Wir empfehlen, dass zur Installation https://brew.sh/[Homebrew] genutzt wird.
Hilfe erhält man mittels:
----
@@ -88,12 +87,12 @@ brew install weechat
Um Hilfe zu erhalten, nutze den `/help` Befehl.
Jeder Befehl besitzt einen Hilfstext, den man sich durch `/help Befehlsname` anzeigen lassen kann.
Die link:weechat_user.de.html#key_bindings[Standard Tastenbelegung ^↗^,window=_blank] sowie
link:weechat_user.de.html#commands_and_options[Befehle und Optionen ^↗^,window=_blank] sind im
link:weechat_user.de.html[Benutzerhandbuch ^↗^,window=_blank] aufgeführt.
Die link:weechat_user.de.html#key_bindings[Standard Tastenbelegung] sowie
link:weechat_user.de.html#commands_and_options[Befehle und Optionen] sind im
link:weechat_user.de.html[Benutzerhandbuch] aufgeführt.
Neuen Anwendern wird empfohlen,
die link:weechat_quickstart.de.html[Quickstart Anleitung ^↗^,window=_blank] zu lesen.
die link:weechat_quickstart.de.html[Quickstart Anleitung] zu lesen.
[[display]]
== Anzeige
@@ -126,7 +125,7 @@ Es ist deshalb wichtig, *ALLE* der folgenden Lösungsmöglichkeiten zu prüfen:
("`defutf8 on`" in der Datei ~/.screenrc oder `screen -U` beim Starten von
screen).
* Überprüfe die Option
link:weechat_user.de.html#option_weechat.look.eat_newline_glitch[_weechat.look.eat_newline_glitch_ ^↗^,window=_blank]
link:weechat_user.de.html#option_weechat.look.eat_newline_glitch[_weechat.look.eat_newline_glitch_]
(diese Option kann schwerwiegenden Darstellungsfehler verursachen, wenn man die Option aktiviert hat).
[NOTE]
@@ -142,10 +141,10 @@ Dieser Fehler sollte durch glibc 2.22 behoben sein (vielleicht ist diese Version
verwendeten Distributionen noch nicht verfügbar).
Es gibt folgende Übergangslösung, um das Problem mit der _wcwidth_ zu umgehen:
https://blog.nytsoi.net/2015/05/04/emoji-support-for-weechat[https://blog.nytsoi.net/2015/05/04/emoji-support-for-weechat ^↗^,window=_blank].
https://blog.nytsoi.net/2015/05/04/emoji-support-for-weechat
Siehe https://github.com/weechat/weechat/issues/79[bug report ^↗^,window=_blank]
für weitere Informationen.
Siehe auch diese Fehlermeldung für weitere Informationen:
https://github.com/weechat/weechat/issues/79
[[bars_background]]
=== Weshalb haben Bars, z.B. Titel und Status, keine Hintergrundfarbe bzw. diese endet direkt nach dem Text?
@@ -200,7 +199,7 @@ von einem oder mehreren Fenstern gleichzeitig angezeigt werden.
[[buffers_list]]
=== Wie kann ich eine Liste mit den Buffern z.B. auf der linken Seite anzeigen lassen?
Ab WeeChat ≥ 1.8 wird standardmäßig die link:weechat_user.de.html#buflist[buflist-Erweiterung ^↗^,window=_blank]
Ab WeeChat ≥ 1.8 wird standardmäßig die link:weechat_user.de.html#buflist_plugin["buflist"-Erweiterung]
automatisch geladen und verwendet.
Bei älteren Versionen kann stattdessen das Skript _buffers.pl_ installiert werden:
@@ -248,7 +247,7 @@ finden folgende WeeChat-Befehle Anwendung:
[NOTE]
Die Tasten "meta-OP" und "meta-OQ" können im Hinblick auf das jeweils genutzte Terminal variieren.
Um die korrekten Tasten zu finden, sollte man mit kbd:[Alt+k] die gewünschte Tastenkombination einfangen.
Siehe auch: link:weechat_user.de.html#key_bindings_command_line[Benutzerhandbuch / Tastenbelegung ^↗^,window=_blank].
Siehe auch: link:weechat_user.de.html#key_bindings_command_line[Benutzerhandbuch / Tastenbelegung].
[[customize_buflist]]
=== Wie kann ich die Darstellung der Bufferliste anpassen, z.B. die Farbe des aktiven Buffers?
@@ -272,8 +271,8 @@ Es kann auch eine beliebige numerische Farbe anstelle von "Rot" verwendet werden
Die Buflist-Erweiterung bietet viele Optionen, zum individualisieren. Bitte lesen Sie dazu die Hilfe von jeder Option.
Es gibt zusätzlich die https://github.com/weechat/weechat/wiki/buflist[wiki page ^↗^,window=_blank]
mit Beispielen für die erweiterte buflist Konfiguration.
Es gibt auch eine Wiki-Seite mit Beispielen, wie eine erweiterte Konfiguration aussehen kann:
https://github.com/weechat/weechat/wiki/buflist
[[customize_prefix]]
=== Wie kann ich die Länge eines Nicknamens begrenzen oder die Ausrichtung des Nicks im Chatbereich entfernen?
@@ -319,8 +318,8 @@ Diese Farben können mit den Optionen __weechat.color.status_data_*__
Weitere hotlist Eigenschaften können mit Hilfe der Optionen __weechat.look.hotlist_*__
verändert werden.
Siehe link:weechat_user.de.html#screen_layout[Benutzerhandbuch / Screen layout ^↗^,window=_blank]
für weitere Informationen zur Hotlist.
Siehe link:weechat_user.de.html#screen_layout[Benutzerhandbuch / Screen layout] für
weitere Informationen zur Hotlist.
[[input_bar_size]]
=== Wie kann man eine mehrzeilige Eingabezeile einstellen?
@@ -495,8 +494,8 @@ Ab Version ≥ 0.3.5 kann in den Optionen für eine zu nutzende Farbe die entspr
Zahl der Farbe eingetragen werden (optional: mit dem Befehl `/color` kann man einen Alias für
eine Farbe definieren).
Bitte lese link:weechat_user.de.html#colors[Benutzerhandbuch / Farben ^↗^,window=_blank]
für weitere Informationen die das Farbmanagement betreffen.
Bitte lese link:weechat_user.de.html#colors[Benutzerhandbuch / Farben] für weitere
Informationen die das Farbmanagement betreffen.
[[search_text]]
=== Wie kann ich in einem Buffer nach einem Text suchen (vergleichbar /lastlog in irssi)?
@@ -506,8 +505,8 @@ Die Standardtastenbelegung lautet kbd:[Ctrl+r]
Um zu Highlight-Nachrichten zu springen:
kbd:[Alt+p] für vorherige, kbd:[Alt+n] für die nächste Nachricht.
siehe link:weechat_user.de.html#key_bindings[Benutzerhandbuch / Standard Tastenbelegung ^↗^,window=_blank]
für weitere Informationen zu dieser Funktion.
siehe link:weechat_user.de.html#key_bindings[Benutzerhandbuch / Standard Tastenbelegung] für weitere
Informationen zu dieser Funktion.
[[terminal_focus]]
=== Wie kann ich Befehle ausführen, wenn der Terminal (keinen) Fokus hat?
@@ -687,7 +686,7 @@ Es kann auch eine neue Taste eingebunden werden um zu einem Buffer zu wechseln:
----
Eine Auflistung der Standardtastenbelegung findet man in
link:weechat_user.de.html#key_bindings[Benutzerhandbuch / Standard Tastenbelegung ^↗^,window=_blank].
link:weechat_user.de.html#key_bindings[Benutzerhandbuch / Standard Tastenbelegung].
Um zu Buffern zu wechseln die an Position ≥ 100 sind kann ein Trigger definiert
werden um dann z.B. mit einem Kurzbefehl `/123` zum Buffer #123 zu springen:
@@ -866,7 +865,7 @@ ersetzt werden:
----
[[irc_sasl]]
=== Wie kann ich mich vor dem Betreten von Kanälen identifizieren?
=== Wie kann ich mich vor dem Betreten von Channels identifizieren?
Sollte der Server SASL unterstützen,
ist es ratsam auf diese Funktion zurückzugreifen
@@ -879,46 +878,18 @@ und sich nicht mittels "nickserv" zu authentifizieren:
Unterstützt der Server keine SASL Authentifizierung,
kann eine Verzögerung aktiviert werden,
um sich vor dem Betreten von Kanälen bei "nickserv" zu identifizieren:
um sich vor dem Betreten von Channels bei "nickserv" zu identifizieren:
----
/set irc.server.libera.command_delay 5
----
[[edit_autojoin]]
=== Wie kann ich Kanäle zur autojoin Option hinzufügen oder entfernen?
=== 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_dynamic on
----
Für einen einzelnen Server:
----
/set irc.server.libera.autojoin_dynamic on
----
Ab WeeChat ≥ 3.5 kann man mit dem `/autojoin` Befehl den
aktuellen Kanal in die Serveroption autojoin hinzufügen:
----
/autojoin add
----
oder einen beliebigen Kanal:
----
/autojoin add #test
----
Bis WeeChat ≤ 3.4, wird der `/set` Befehl verwendet, um die
Liste der autojoin-Kanäle zu editieren. In folgendem Beispiel
wird der "libera"-Server angepasst:
Um die Liste der autojoin Channels zu editieren,
kann der Befehl `/set` genutzt werden.
In folgendem Beispiel wird der "libera"-Server angepasst:
----
/set irc.server.libera.autojoin [TAB]
@@ -928,16 +899,16 @@ wird der "libera"-Server angepasst:
Man kann den Namen oder den Wert einer Option mit kbd:[Tab] vervollständigen
oder mittels kbd:[Shift+Tab] eine teilweise Vervollständigung durchführen,
was bei Namen sinnvoll ist, denn so braucht nicht die komplette Liste
der Kanäle neu geschrieben werden.
der Channels neu geschrieben werden.
Es kann auch der `/fset` Befehl verwendet werden, um die Liste der Kanäle
Es kann auch der `/fset` Befehl verwendet werden, um die Liste der Channels
zu editieren:
----
/fset autojoin
----
Bis WeeChat ≤ 3.4 kann man auch ein Skript nutzen:
oder man nutzt ein Skript:
----
/script search autojoin
@@ -947,9 +918,9 @@ Bis WeeChat ≤ 3.4 kann man auch ein Skript nutzen:
=== Was ist der Unterschied zwischen dem Befehl /ignore und /filter?
Der Befehl `/ignore` ist ein (clientseitiger) IRC-Befehl und beeinflusst direkt,
welche vom Server empfangenen Nachrichten im IRC-Buffer (Server und Kanäle) landen.
welche vom Server empfangenen Nachrichten im IRC-Buffer (Server und Channel) landen.
Durch diesen Befehl können bestimmte Nicks oder Hostnamen von bestimmten Servern
oder Kanäle ignoriert werden.
oder Channels ignoriert werden.
Der Befehl wird nicht auf den Inhalt eines IRC-Buffers angewandt.
Zutreffende Meldungen werden, bevor sie dem Buffer zugeführt werden,
von der "irc"-Erweiterung gelöscht. Es gibt somit keine Möglichkeit,
@@ -970,7 +941,7 @@ Die voreingestellte Tastenkombination zum Aktivieren bzw. Deaktivieren
aller Filter ist kbd:[Alt+-].
[[filter_irc_join_part_quit]]
=== Wie kann ich join/part/quit Meldungen in den IRC Kanälen filtern/unterdrücken?
=== Wie kann ich join/part/quit Meldungen in den IRC Channels filtern/unterdrücken?
Zum einen mit dem Smart-Filter.
Bei dessen Anwendung werden join/part/quit-Meldungen von Usern angezeigt,
@@ -990,19 +961,19 @@ Dabei werden *alle* join/part/quit Nachrichten unterdrückt:
[NOTE]
Für weitere Hilfe: `/help filter`, `+/help irc.look.smart_filter+` und
link:weechat_user.de.html#irc_smart_filter_join_part_quit[Benutzerhandbuch / einfacher Filter für join/part/quit Nachrichten ^↗^,window=_blank].
link:weechat_user.de.html#irc_smart_filter_join_part_quit[Benutzerhandbuch / einfacher Filter für join/part/quit Nachrichten].
[[filter_irc_join_channel_messages]]
=== Wie kann ich Server-Nachrichten filtern, wenn ich einen IRC Kanal betrete?
=== Wie kann ich Server-Nachrichten filtern, wenn ich einen IRC Channel betrete?
Ab WeeChat ≥ 0.4.1 kann man auswählen, welche Server-Nachrichten beim Betreten
eines Kanals angezeigt und welche verborgen werden sollen. Dazu nutzt man
eines Channels angezeigt und welche verborgen werden sollen. Dazu nutzt man
die Option _irc.look.display_join_message_ (für weitere Informationen, siehe
`+/help irc.look.display_join_message+`).
Um Nachrichten visuell zu verbergen, können diese gefiltert werden.
Dazu wird der Befehl `/filter` auf bestimmte Nachrichten-Tags angewandt.
Das Tag _irc_329_ kennzeichnet beispielsweise das Erstellungsdatum des Kanals.
Das Tag _irc_329_ kennzeichnet beispielsweise das Erstellungsdatum des Channels.
Siehe `/help filter`, um weitere Informationen über die Filterfunktion zu
erhalten.
@@ -1017,13 +988,13 @@ da diese dazu genutzt werden um den Abwesenheitsstatus anderer User anzuzeigen
und man nicht von diesen Mitteilungen überflutet werden möchte,
kann man WeeChat anweisen, abwesende Nicks in einer anderen Farbe darzustellen.
Nutzt man Bitlbee ≥ 3, sollte man im _&bitlbee_ Kanal folgendes eingeben:
Nutzt man Bitlbee ≥ 3, sollte man im _&bitlbee_ Channel folgendes eingeben:
----
channel set show_users online,away
----
für ältere Versionen von Bitlbee gibt man im _&bitlbee_ Kanal ein:
für ältere Versionen von Bitlbee gibt man im _&bitlbee_ Channel ein:
----
set away_devoice false
@@ -1049,12 +1020,12 @@ in welchem Zeitintervall die Überprüfungen auf Abwesenheit stattfinden sollen.
Die Angabe des Wertes erfolgt in Minuten.
Mit der Option _irc.server_default.away_check_max_nicks_ kann festgelegt werden,
in welchen Kanälen eine Überprüfung stattfinden soll.
Hierbei stellt der angegebene Wert die maximale Anzahl an Nicks in einem Kanal dar,
die den Kanal gleichzeitig besuchen dürfen.
in welchen Channels eine Überprüfung stattfinden soll.
Hierbei stellt der angegebene Wert die maximale Anzahl an Nicks in einem Channel dar,
die den Channel gleichzeitig besuchen dürfen.
Im folgenden Beispiel wird der Abwesenheitsstatus alle fünf Minuten überprüft.
Dabei werden aber nur solche Kanäle berücksichtigt, die nicht mehr als 25
Dabei werden aber nur solche Channels berücksichtigt, die nicht mehr als 25
Teilnehmer haben:
----
@@ -1067,7 +1038,7 @@ Für WeeChat ≤ 0.3.3, lauten die Optionen _irc.network.away_check_ und
_irc.network.away_check_max_nicks_.
[[highlight_notification]]
=== Wie kann ich mich benachrichtigen lassen, falls mich jemand in einem Kanal direkt anspricht (highlight)?
=== Wie kann ich mich benachrichtigen lassen, falls mich jemand in einem Channel direkt anspricht (highlight)?
Seit WeeChat ≥ 1.0 gibt es standardmäßig den Trigger "beep",
der an das Terminal ein _BEL_ Signal schickt,
@@ -1100,7 +1071,7 @@ Es gibt weitere Skripten, die auch zu diesem Thema passen:
=== Wie kann ich Highlights (Hervorhebungen) von bestimmten Nicks deaktivieren?
Ab WeeChat ≥ 0.3.4 kann die Eigenschaft
link:weechat_user.de.html#max_hotlist_level_nicks[hotlist_max_level_nicks_add ^↗^,window=_blank]
link:weechat_user.de.html#max_hotlist_level_nicks[hotlist_max_level_nicks_add]
für den entsprechenden Buffer gesetzt werden.
Dies kann für einzelne Nicks,
einen Buffer oder eine Gruppe von Buffern (z.B. IRC Server) gelten.
@@ -1120,7 +1091,7 @@ das Skript _buffer_autoset.py_ nutzen:
/script install buffer_autoset.py
----
Um zum Beispiel Highlights (Hervorhebungen) von Nick "mike" im Kanal
Um zum Beispiel Highlights (Hervorhebungen) von Nick "mike" im Channel
#weechat auf dem IRC Server libera zu deaktivieren:
----
@@ -1203,14 +1174,6 @@ $ cd ~/.cache/weechat/script
$ 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]]
=== Ich habe aspell Wörterbücher auf mein System installiert. Wie kann ich diese nutzen, ohne WeeChat neu starten zu müssen?
@@ -1313,7 +1276,7 @@ Definiere eine Passphrase und nutze ausschließlich geschützte Daten wann immer
es möglich ist, wie z.B. bei Passwörtern: siehe `/help secure` und nutze `/help`
bei der entsprechenden Option (falls man geschützte Daten nutzen kann, wird es
im Hilfstext erwähnt).
Siehe auch link:weechat_user.de.html#secured_data[Benutzerhandbuch / sensible Daten ^↗^,window=_blank].
Siehe auch link:weechat_user.de.html#secured_data[Benutzerhandbuch / sensible Daten].
Beispiel:
@@ -1334,7 +1297,7 @@ Ihrer Passphrase verschlüsselten Kennwörter enthält.
Einige andere Dateien enthalten möglicherweise vertrauliche Informationen wie
Kennwörter (sofern sie nicht mit dem Befehl `/secure` in _sec.conf_ gesichert werden).
Siehe link:weechat_user.de.html#files_and_directories[Benutzerhandbuch / Dateien und Verzeichnisse ^↗^,window=_blank]
Siehe link:weechat_user.de.html#files_and_directories[Benutzerhandbuch / Dateien und Verzeichnisse]
für weitere Informationen über Konfigurationsdateien.
[[development]]
@@ -1343,7 +1306,7 @@ für weitere Informationen über Konfigurationsdateien.
[[bug_task_patch]]
=== Was kann ich machen, falls ich einen Fehler gefunden habe, mich nach neuen Funktionen erkundigen oder Patches einsenden möchte?
siehe https://weechat.org/about/support/[this page ^↗^,window=_blank].
siehe: https://weechat.org/about/support
[[gdb_error_threads]]
=== Wenn man WeeChat in gdb startet, kann ein Thread-Fehler auftreten. Was beudeutet das?
@@ -1381,11 +1344,11 @@ Das Gleiche gilt für Systeme, zu denen wir keinen Zugang haben.
Es gibt einiges zu tun - z.B. testen, programmieren, dokumentieren, ...
Bitte kontaktieren Sie uns per IRC oder Mail, siehe
https://weechat.org/about/support/[support page ^↗^,window=_blank].
Bitte kontaktiere uns via IRC oder E-Mail, wirf einen Blick auf die Support-Seite:
https://weechat.org/about/support
[[donate]]
=== Kann ich Geld oder anderes an die WeeChat Entwickler spenden?
Sie können uns Geld spenden, um die Entwicklung zu unterstützen.
Details dazu, unter https://weechat.org/donate/[donation page ^↗^,window=_blank].
Du kannst uns Geld zur Unterstützung der weiteren Entwicklung spenden.
Details hierzu gibt es auf: https://weechat.org/donate
+10 -20
View File
@@ -223,15 +223,11 @@ in folgender Option erreicht werden:
/set irc.server.libera.autojoin "#channel1,#channel2"
----
Mit dem `/autojoin` Befehl können die _autojoin_ Optionen einfach konfiguriert werden.
(siehe `/help autojoin`).
WeeChat kann auch konfigurieren werden, dass die _autojoin_ Optionen automatisch aktualisiert werden
sobald man Kanäle betritt oder verlässt:
----
/set irc.server_default.autojoin_dynamic on
----
[TIP]
Mittels der kbd:[Tab] Taste kann man sehr einfach Namen und Werte von Optionen
vervollständigen und mittels kbd:[Shift+Tab] kann eine teilweise Vervollständigung
durchgeführt werden (was bei langen Wörtern, wie z.B. dem Namen einer Option, nützlich
sein kann).
Mit dem Befehl `/unset` können Server-Optionen zurückgesetzt werden.
Ist eine Server-Option zurückgesetzt, _wirkt_ der entsprechende Vorgabewert
@@ -250,12 +246,6 @@ Werte anderer Server-Optionen (`xxx`) können festgelegt werden mit:
/set irc.server.libera.xxx Wert
----
[TIP]
Mittels der kbd:[Tab] Taste kann man sehr einfach Namen und Werte von Optionen
vervollständigen und mittels kbd:[Shift+Tab] kann eine teilweise Vervollständigung
durchgeführt werden (was bei langen Wörtern, wie z.B. dem Namen einer Option, nützlich
sein kann).
[[connect_to_irc_server]]
== Verbinden mit dem IRC-Server
@@ -441,14 +431,14 @@ Zeige eine liste aller verfügbaren Skripten:
/script
----
Eine Liste von Skripten ist in WeeChat mittels `/script` oder auf
https://weechat.org/scripts/[this page ^↗^,window=_blank] verfügbar.
Auf *weechat.org* von Drittanbietern bereitgestellte Scripten: https://weechat.org/scripts
[[more_doc]]
== Weitere Dokumentation
WeeChat kann nun verwendet werden und lesen Sie
https://weechat.org/doc/[FAQ/documentation ^↗^,window=_blank]
falls Sie weitere Fragen haben.
Mit dieser Quickstart-Anleitung wurden dir die wesentlichen
Bedienungswerkzeuge von WeeChat nähergebracht.
Für das eingehende Studium aller verfügbaren Funktionalitäten
sei dir unsere ausführliche FAQ/Dokumentation ans Herz gelegt: https://weechat.org/doc
Viel Spass mit WeeChat!
+143 -179
View File
@@ -17,8 +17,8 @@
Diese Anleitung beschreibt den WeeChat Chat Client und ist Teil von WeeChat.
Die neueste Version dieses Dokuments finden Sie unter
https://weechat.org/doc/[this page ^↗^,window=_blank].
Die aktuelle Version dieser Anleitung finden Sie auf:
https://weechat.org/doc
[[introduction]]
@@ -67,7 +67,7 @@ Ein Skript darf *NIEMALS* einen fork nutzen oder einen eigenen Thread erstellen,
dafür gibt es explizit eine API Funktion, andernfalls kann WeeChat abstürzen. +
Wenn etwas in einem Hintergrundprozess ausgeführt werden soll, kann die Funktion
`+hook_process+` genutzt werden. Siehe Beispiele im Kapitel <<hook_process,Hintergrundprozesse>>
und die Dokumentation für die Funktion `+hook_process+` in link:weechat_plugin_api.en.html#_hook_process[WeeChat plugin API reference ^↗^,window=_blank] (Englisch).
und die Dokumentation für die Funktion `+hook_process+` in link:weechat_plugin_api.en.html#_hook_process[WeeChat plugin API reference] (Englisch).
[[languages_specificities]]
=== Besonderheiten der einzelnen Skriptsprachen
@@ -81,7 +81,7 @@ und die Dokumentation für die Funktion `+hook_process+` in link:weechat_plugin_
WeeChat definiert ein `weechat` Module welches mittels `import weechat`
importiert werden muss. +
Ein Python-Stub für die WeeChat-API ist im Repository verfügbar:
https://raw.githubusercontent.com/weechat/weechat/master/src/plugins/python/weechat.pyi[weechat.pyi ^↗^,window=_blank].
https://raw.githubusercontent.com/weechat/weechat/master/src/plugins/python/weechat.pyi[weechat.pyi].
[[python_functions]]
===== Funktionen
@@ -109,38 +109,38 @@ Liste ist nicht vollständig):
|===
| API Funktion | Argumente | Beispiele| Beschreibung
| hook_modifier
| irc_in_yyy
| pass:[irc_in_privmsg] +
pass:[irc_in_notice]
| Eine Nachricht die von der IRC Erweiterung empfangen wurde und bevor sie nach UTF-8 dekodiert wurde (intern
| hook_modifier |
irc_in_yyy |
pass:[irc_in_privmsg] +
pass:[irc_in_notice] |
Eine Nachricht die von der IRC Erweiterung empfangen wurde und bevor sie nach UTF-8 dekodiert wurde (intern
verwendet). +
+
Es wird empfohlen den Modifier `+irc_in2_yyy+` zu nutzen, da die empfangene Zeichenkette
immer UTF-8 gültig ist. +
siehe Funktion `+hook_modifier+` in der
link:weechat_plugin_api.en.html#_hook_modifier[WeeChat Anleitung für API Erweiterung ^↗^,window=_blank].
link:weechat_plugin_api.en.html#_hook_modifier[WeeChat Anleitung für API Erweiterung].
| hook_signal
| xxx,irc_out_yyy +
xxx,irc_outtags_yyy
| pass:[*,irc_out_privmsg] +
| hook_signal |
xxx,irc_out_yyy +
xxx,irc_outtags_yyy |
pass:[*,irc_out_privmsg] +
pass:[*,irc_out_notice] +
pass:[*,irc_outtags_privmsg] +
pass:[*,irc_outtags_notice]
| Eine Nachricht welche von der IRC Erweiterung versendet wurde, nachdem diese entsprechend
pass:[*,irc_outtags_notice] |
Eine Nachricht welche von der IRC Erweiterung versendet wurde, nachdem diese entsprechend
der Benutzereinstellung `encode` Charset kodiert (falls abweichend von der `UTF-8` Standardeinstellung). +
+
Es wird empfohlen das Signal `+xxx,irc_out1_yyy+` zu nutzen, da die empfangene Zeichenkette
immer UTF-8 gültig ist. +
siehe Funktion `+hook_signal+` in der
link:weechat_plugin_api.en.html#_hook_signal[WeeChat Anleitung für API Erweiterung ^↗^,window=_blank].
link:weechat_plugin_api.en.html#_hook_signal[WeeChat Anleitung für API Erweiterung].
| hook_process +
hook_process_hashtable
| -
| -
| Ausgabe des Befehls, dass an den Callback gesendet wurde, kann ungültige UTF-8 Daten enthalten.
hook_process_hashtable |
- |
- |
Ausgabe des Befehls, dass an den Callback gesendet wurde, kann ungültige UTF-8 Daten enthalten.
|===
@@ -205,12 +205,6 @@ 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]]
==== Guile (Scheme)
@@ -390,7 +384,7 @@ ein Link in das entsprechende _autoload_ Verzeichnis erzeugt.
Die Skripten API ist nahezu identisch mit der API der C Erweiterung.
Um einen Überblick über alle API Funktionen (Prototyp, Argumente,
Rückgabe werte, Beispiele) zu erhalten werfen Sie einen Blick in
die link:weechat_plugin_api.en.html[WeeChat Plugin API Reference ^↗^,window=_blank] (Englisch).
die link:weechat_plugin_api.en.html[WeeChat Plugin API Reference] (Englisch).
Es ist wichtig das man zwischen einer _Erweiterung_ und einem _Skript_
unterscheidet: Eine _Erweiterung_ ist eine Binärdatei die kompiliert wurde
und mittels `/plugin` geladen wird. Ein _Skript_ ist eine Textdatei welche
@@ -559,25 +553,25 @@ weechat_hook_timer(1000, 0, 1, $timer_cb, 'test');
== Skript API
Um weiterführende Informationen zu den API Funktionen zu erhalten
lesen Sie bitte link:weechat_plugin_api.en.html[WeeChat Plugin API Reference ^↗^,window=_blank] (Englisch).
lesen Sie bitte link:weechat_plugin_api.en.html[WeeChat Plugin API Reference] (Englisch).
[[script_api_functions]]
=== Funktionen
Liste der Skript API Funktionen:
[width="100%",cols="1,5",options="header"]
[width="100%",cols="1,3",options="header"]
|===
| Kategorie | Funktionen
| Allgemein
| register
| Allgemein |
register
| Erweiterungen
| plugin_get_name
| Erweiterungen |
plugin_get_name
| Strings
| charset_set +
| Strings |
charset_set +
iconv_to_internal +
iconv_from_internal +
gettext +
@@ -596,13 +590,13 @@ Liste der Skript API Funktionen:
string_eval_expression +
string_eval_path_home
| Verzeichnisse
| mkdir_home +
| Verzeichnisse |
mkdir_home +
mkdir +
mkdir_parents
| sortierte Listen
| list_new +
| sortierte Listen |
list_new +
list_add +
list_search +
list_search_pos +
@@ -618,8 +612,8 @@ Liste der Skript API Funktionen:
list_remove_all +
list_free
| Konfigurationsdatei
| config_new +
| Konfigurationsdatei |
config_new +
config_new_section +
config_search_section +
config_new_option +
@@ -656,21 +650,20 @@ Liste der Skript API Funktionen:
config_set_desc_plugin +
config_unset_plugin
| Tastenbelegung
| key_bind +
| Tastenbelegung |
key_bind +
key_unbind
| Ausgabe
| prefix +
| Ausgabe |
prefix +
color +
print (für Python: prnt) +
print_date_tags (für Python: prnt_date_tags) +
print_y (für Python: prnt_y) +
print_y_date_tags (für Python: prnt_y_date_tags) +
log_print
| Hooks
| hook_command +
| Hooks |
hook_command +
hook_command_run +
hook_timer +
hook_fd +
@@ -695,9 +688,8 @@ Liste der Skript API Funktionen:
unhook +
unhook_all
| Buffer
| buffer_new +
buffer_new_props +
| Buffer |
buffer_new +
current_buffer +
buffer_search +
buffer_search_main +
@@ -712,16 +704,16 @@ Liste der Skript API Funktionen:
buffer_string_replace_local_var +
buffer_match_list
| Fenster
| current_window +
| Fenster |
current_window +
window_search_with_buffer +
window_get_integer +
window_get_string +
window_get_pointer +
window_set_title
| Nickliste
| nicklist_add_group +
| Nickliste |
nicklist_add_group +
nicklist_search_group +
nicklist_add_nick +
nicklist_search_nick +
@@ -737,8 +729,8 @@ Liste der Skript API Funktionen:
nicklist_nick_get_pointer +
nicklist_nick_set
| Bars
| bar_item_search +
| Bars |
bar_item_search +
bar_item_new +
bar_item_update +
bar_item_remove +
@@ -748,23 +740,23 @@ Liste der Skript API Funktionen:
bar_update +
bar_remove
| Befehle
| command +
| Befehle |
command +
command_options
| Vervollständigung
| completion_new +
| Vervollständigung |
completion_new +
completion_search +
completion_get_string +
completion_list_add +
completion_free
| Informationen
| info_get +
| Informationen |
info_get +
info_get_hashtable
| Infolisten
| infolist_new +
| Infolisten |
infolist_new +
infolist_new_item +
infolist_new_var_integer +
infolist_new_var_string +
@@ -782,8 +774,8 @@ Liste der Skript API Funktionen:
infolist_time +
infolist_free
| hdata
| hdata_get +
| hdata |
hdata_get +
hdata_get_var_offset +
hdata_get_var_type_string +
hdata_get_var_array_size +
@@ -804,8 +796,8 @@ Liste der Skript API Funktionen:
hdata_update +
hdata_get_string
| Upgrade
| upgrade_new +
| Upgrade |
upgrade_new +
upgrade_write_object +
upgrade_read +
upgrade_close
@@ -816,17 +808,17 @@ Liste der Skript API Funktionen:
Liste der Konstanten in Skript API:
[width="100%",cols="1,5",options="header"]
[width="100%",cols="1,3",options="header"]
|===
| Kategorie | Konstanten
| return codes
| `WEECHAT_RC_OK` (integer) +
| return codes |
`WEECHAT_RC_OK` (integer) +
`WEECHAT_RC_OK_EAT` (integer) +
`WEECHAT_RC_ERROR` (integer)
| Konfigurationsdatei
| `WEECHAT_CONFIG_READ_OK` (integer) +
| Konfigurationsdatei |
`WEECHAT_CONFIG_READ_OK` (integer) +
`WEECHAT_CONFIG_READ_MEMORY_ERROR` (integer) +
`WEECHAT_CONFIG_READ_FILE_NOT_FOUND` (integer) +
`WEECHAT_CONFIG_WRITE_OK` (integer) +
@@ -841,23 +833,23 @@ Liste der Konstanten in Skript API:
`WEECHAT_CONFIG_OPTION_UNSET_OK_REMOVED` (integer) +
`WEECHAT_CONFIG_OPTION_UNSET_ERROR` (integer)
| sortierte Listen
| `WEECHAT_LIST_POS_SORT` (string) +
| sortierte Listen |
`WEECHAT_LIST_POS_SORT` (string) +
`WEECHAT_LIST_POS_BEGINNING` (string) +
`WEECHAT_LIST_POS_END` (string)
| Hotlist
| `WEECHAT_HOTLIST_LOW` (string) +
| Hotlist |
`WEECHAT_HOTLIST_LOW` (string) +
`WEECHAT_HOTLIST_MESSAGE` (string) +
`WEECHAT_HOTLIST_PRIVATE` (string) +
`WEECHAT_HOTLIST_HIGHLIGHT` (string)
| hook Prozesse
| `WEECHAT_HOOK_PROCESS_RUNNING` (integer) +
| hook Prozesse |
`WEECHAT_HOOK_PROCESS_RUNNING` (integer) +
`WEECHAT_HOOK_PROCESS_ERROR` (integer)
| hook Connect
| `WEECHAT_HOOK_CONNECT_OK` (integer) +
| hook Connect |
`WEECHAT_HOOK_CONNECT_OK` (integer) +
`WEECHAT_HOOK_CONNECT_ADDRESS_NOT_FOUND` (integer) +
`WEECHAT_HOOK_CONNECT_IP_ADDRESS_NOT_FOUND` (integer) +
`WEECHAT_HOOK_CONNECT_CONNECTION_REFUSED` (integer) +
@@ -869,8 +861,8 @@ Liste der Konstanten in Skript API:
`WEECHAT_HOOK_CONNECT_TIMEOUT` (integer) +
`WEECHAT_HOOK_CONNECT_SOCKET_ERROR` (integer)
| hook Signal
| `WEECHAT_HOOK_SIGNAL_STRING` (string) +
| hook Signal |
`WEECHAT_HOOK_SIGNAL_STRING` (string) +
`WEECHAT_HOOK_SIGNAL_INT` (string) +
`WEECHAT_HOOK_SIGNAL_POINTER` (string)
|===
@@ -881,7 +873,7 @@ Liste der Konstanten in Skript API:
Dieses Kapitel beinhaltet einige Aufgaben mit Lösungsbeispielen.
Die Skript API wird dabei nur sehr oberflächlich besprochen.Um eine vollständige
Übersicht aller Befehle zu erhalten nutzen Sie bitte die
link:weechat_plugin_api.en.html[WeeChat Plugin API Reference ^↗^,window=_blank] (Englisch).
link:weechat_plugin_api.en.html[WeeChat Plugin API Reference] (Englisch).
[[buffers]]
=== Buffer
@@ -901,7 +893,7 @@ Beispiele:
weechat.prnt("", "Hallo")
# 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")
# 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.
Dies kann auch mehrfach der Fall sein.
Für den letzten Aufruf des Callback wird _return_code_ auf 0 oder einen positiven
Wert gesetzt. Dies ist der Return Code des Befehls.
Für den letzten Aufruf des Callback wird _rc_ auf 0 oder einen positiven Wert
gesetzt. Dies ist der Return Code des Befehls.
Beispiele:
[source,python]
----
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)
process_output = ""
def my_process_cb(data, command, rc, out, err):
global process_output
if out != "":
process_output += out
if int(rc) >= 0:
weechat.prnt("", process_output)
return weechat.WEECHAT_RC_OK
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 Übertragung
@@ -1142,15 +1107,15 @@ dabei in der Callback-Variable "out" gesichert (Standardausgabe des Prozesses):
[source,python]
----
# Display latest stable version of WeeChat.
weechat_latest_version = ""
# Zeigt die aktuelle stabile Version von WeeChat an.
weechat_version = ""
def weechat_process_cb(data, command, return_code, out, err):
global weechat_latest_version
if out:
weechat_latest_version += out
if return_code >= 0:
weechat.prnt("", "Latest WeeChat version: %s" % weechat_latest_version)
def weechat_process_cb(data, command, rc, out, err):
global weechat_version
if out != "":
weechat_version += out
if int(rc) >= 0:
weechat.prnt("", "aktuelle stabile WeeChat-Version: %s" % weechat_version)
return weechat.WEECHAT_RC_OK
weechat.hook_process("url:https://weechat.org/dev/info/stable/",
@@ -1158,17 +1123,16 @@ weechat.hook_process("url:https://weechat.org/dev/info/stable/",
----
[TIP]
Alle verfügbaren Informationen über WeeChat findet man unter
https://weechat.org/dev/info/[this page ^↗^,window=_blank].
Alle Informationen die WeeChat betreffen findet man auf: https://weechat.org/dev/info
Beispiel eines URL Transfers, mit zusätzliche Optionen: Es wird das neuste
WeeChat Entwicklerpaket in die Datei _/tmp/weechat-devel.tar.gz_ gesichert:
[source,python]
----
def my_process_cb(data, command, return_code, out, err):
if return_code >= 0:
weechat.prnt("", "End of transfer (return code = %d)" % return_code)
def my_process_cb(data, command, rc, out, err):
if int(rc) >= 0:
weechat.prnt("", "End of transfer (rc=%s)" % rc)
return weechat.WEECHAT_RC_OK
weechat.hook_process_hashtable("url:https://weechat.org/files/src/weechat-devel.tar.gz",
@@ -1178,7 +1142,7 @@ weechat.hook_process_hashtable("url:https://weechat.org/files/src/weechat-devel.
Für weitere Informationen zum URL Transfer und verfügbare Optionen, siehe Funktionen
`+hook_process+` und `+hook_process_hashtable+` in
link:weechat_plugin_api.en.html#_hook_process[WeeChat plugin API reference ^↗^,window=_blank] (Englisch).
link:weechat_plugin_api.en.html#_hook_process[WeeChat plugin API reference] (Englisch).
[[config_options]]
=== Konfiguration / Optionen
@@ -1336,61 +1300,61 @@ Das Ergebnis ist eine Hashtabelle mit folgenden Schlüsseln
|===
| Schlüssel | Seit WeeChat ^(1)^ | Beschreibung | Beispiel
| Tags | 0.4.0
| Tags in der Nachricht (kann leer sein).
| `+time=2015-06-27T16:40:35.000Z+`
| Tags | 0.4.0 |
Tags in der Nachricht (kann leer sein). |
`+time=2015-06-27T16:40:35.000Z+`
| tag_xxx | 3.3
| Wert des Tags "xxx" ohne Escapezeichen (ein Schlüssel pro Tag).
| `+2015-06-27T16:40:35.000Z+`
| tag_xxx | 3.3 |
Wert des Tags "xxx" ohne Escapezeichen (ein Schlüssel pro Tag). |
`+2015-06-27T16:40:35.000Z+`
| message_without_tags | 0.4.0
| Die IRC Nachricht ohne Tags (wie eine Nachricht ohne Tags).
| `+:nick!user@host PRIVMSG #weechat :hello!+`
| message_without_tags | 0.4.0 |
Die IRC Nachricht ohne Tags (wie eine Nachricht ohne Tags). |
`+:nick!user@host PRIVMSG #weechat :hello!+`
| nick | 0.3.4
| der ursprüngliche Nick.
| `+nick+`
| nick | 0.3.4 |
der ursprüngliche Nick. |
`+nick+`
| user | 2.7
| der ursprüngliche Benutzer.
| `+user+`
| user | 2.7 |
der ursprüngliche Benutzer. |
`+user+`
| host | 0.3.4
| der ursprüngliche Host (beinhaltet den Nick).
| `+nick!user@host+`
| host | 0.3.4 |
der ursprüngliche Host (beinhaltet den Nick). |
`+nick!user@host+`
| command | 0.3.4
| der Befehl (_PRIVMSG_, _NOTICE_, ...).
| `+PRIVMSG+`
| command | 0.3.4 |
der Befehl (_PRIVMSG_, _NOTICE_, ...). |
`+PRIVMSG+`
| channel | 0.3.4
| der Zielchanne.l|
| channel | 0.3.4 |
der Zielchanne.l|
`+#weechat+`
| arguments | 0.3.4
| das Argument des Befehls (beinhaltet den Channel).
| `+#weechat :hello!+`
| arguments | 0.3.4 |
das Argument des Befehls (beinhaltet den Channel). |
`+#weechat :hello!+`
| text | 1.3
| der Text (zum Beispiel eine Nachricht eines Users).
| `+hello!+`
| text | 1.3 |
der Text (zum Beispiel eine Nachricht eines Users). |
`+hello!+`
| pos_command | 1.3
| Index von _command_ innerhalb einer Nachricht ("-1" falls _command_ nicht gefunden wird).
| `+47+`
| pos_command | 1.3 |
Index von _command_ innerhalb einer Nachricht ("-1" falls _command_ nicht gefunden wird). |
`+47+`
| pos_arguments | 1.3
| Index von_arguments_ innerhalb einer Nachricht ("-1" falls _arguments_ nicht gefunden wird).
| `+55+`
| pos_arguments | 1.3 |
Index von_arguments_ innerhalb einer Nachricht ("-1" falls _arguments_ nicht gefunden wird). |
`+55+`
| pos_channel | 1.3
| Index von _channel_ innerhalb einer Nachricht ("-1" falls _channel_ nicht gefunden wird).
| `+55+`
| pos_channel | 1.3 |
Index von _channel_ innerhalb einer Nachricht ("-1" falls _channel_ nicht gefunden wird). |
`+55+`
| pos_text | 1.3
| Index von _text_ innerhalb einer Nachricht ("-1" falls _text_ nicht gefunden wird).
| `+65+`
| pos_text | 1.3 |
Index von _text_ innerhalb einer Nachricht ("-1" falls _text_ nicht gefunden wird). |
`+65+`
|===
[NOTE]
+148
View File
@@ -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!
+2169 -2677
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -1,6 +1,6 @@
#!/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
# it under the terms of the GNU General Public License as published by
+6 -223
View File
@@ -1,255 +1,38 @@
<!--
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>
/* themes/colors */
@media (prefers-color-scheme: dark) {
/* dark theme */
:root {
color-scheme: dark;
--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";
--link-color: #7abeef;
--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 {
color-scheme: light;
--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";
--link-color: #3d6baf;
--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);
text-decoration: none;
}
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 {
#header,#content,#footnotes,#footer {
max-width: none;
padding-left: 3em;
padding-right: 3em;
}
#header #revnumber {
text-transform: none;
}
h1, h2, h3, h4, h5 {
h1,h2,h3,h4,h5 {
font-weight: bold;
}
.literalblock pre {
font-family: "DejaVu Sans Mono", "Liberation Mono", "Lucida Console", monospace, 'Courier New', Courier;
line-height: inherit;
font-family: monospace, 'Courier New', Courier;
line-height: normal;
}
kbd {
font-size: .9em;
}
.keyseq {
margin-left: .2em;
margin-right: .2em;
}
.tableblock kbd {
margin-top: .2em;
margin-bottom: .2em;
}
.hex {
padding: 0 .2em;
border: var(--border);
border: 1px solid #88b;
margin: 0 .2em;
font-family: monospace;
font-size: 1.1em;
}
</style>
+14 -1
View File
@@ -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.
#
@@ -122,6 +122,19 @@ if(ENABLE_DOC)
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})
# 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
add_custom_command(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/weechat_relay_protocol.en.html
+7 -1
View File
@@ -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>
#
# This file is part of WeeChat, the extensible chat client.
@@ -29,6 +29,7 @@ EXTRA_DIST = CMakeLists.txt \
weechat_scripting.en.adoc \
weechat_faq.en.adoc \
weechat_quickstart.en.adoc \
weechat_tester.en.adoc \
weechat_relay_protocol.en.adoc \
weechat_dev.en.adoc \
includes/autogen_api_completions.en.adoc \
@@ -57,6 +58,7 @@ if DOC
weechat_scripting.en.html \
weechat_faq.en.html \
weechat_quickstart.en.html \
weechat_tester.en.html \
weechat_relay_protocol.en.html \
weechat_dev.en.html
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
$(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
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
@@ -26,8 +26,6 @@
| 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_modelist_masks | modelist masks of current IRC channel; required argument: modelist mode
@@ -94,8 +92,6 @@
| tcl | tcl_script | list of scripts
| trigger | trigger_add_arguments | arguments for command that adds a trigger: trigger name, hooks, hook arguments, hook conditions, hook regex, hook command, hook return code, post actions
| trigger | trigger_hook_arguments | default arguments for a hook
| trigger | trigger_hook_command | default command for a hook
@@ -150,14 +146,6 @@
| weechat | cursor_areas | areas ("chat" or bar name) for free cursor movement
| weechat | custom_bar_item_add_arguments | arguments for command that adds a custom bar item: item name, conditions, content
| weechat | custom_bar_item_conditions | conditions for custom bar item
| weechat | custom_bar_item_contents | contents for custom bar item
| weechat | custom_bar_items_names | names of custom bar items
| weechat | env_value | value of an environment variable
| weechat | env_vars | environment variables
@@ -8,7 +8,7 @@
|===
| 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
+27 -104
View File
@@ -123,36 +123,6 @@ Examples:
/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>...]]
apply
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
apply: set 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
/allchan /autojoin add
/autojoin addraw #chan1,#chan2,#chan3 key1,key2
/autojoin del
/autojoin del #chan1
/autojoin apply
/autojoin sort
----
[[command_irc_ban]]
* `+ban+`: ban nicks or hosts
@@ -1332,8 +1302,8 @@ Examples:
----
/debug list
set <plugin> <level>
dump|hooks [<plugin>]
buffer|certs|color|dirs|infolists|libs|memory|tags|term|windows
dump [<plugin>]
buffer|color|infolists|libs|certs|memory|tags|term|windows
mouse|cursor [verbose]
hdata [free]
time <command>
@@ -1343,15 +1313,15 @@ Examples:
plugin: name of plugin ("core" for WeeChat core)
level: debug level for plugin (0 = disable debug)
dump: save memory dump in WeeChat log file (same dump is written when WeeChat crashes)
hooks: display infos about hooks (with a plugin: display detailed info about hooks created by the plugin)
buffer: dump buffer content with hexadecimal values in log file
certs: display number of loaded trusted certificate authorities
color: display infos about current color pairs
cursor: toggle debug for cursor mode
dirs: display directories
hdata: display infos about hdata (with free: remove all hdata in memory)
hooks: display infos about hooks
infolists: display infos about infolists
libs: display infos about external libraries used
certs: display number of loaded trusted certificate authorities
memory: display infos about memory usage
mouse: toggle debug for mouse
tags: display tags for lines
@@ -1409,30 +1379,28 @@ Some variables are replaced in expression, using the format ${variable}, variabl
3. an evaluated sub-string (format: "eval:xxx")
4. an evaluated condition (format: "eval_cond:xxx")
5. a string with escaped chars (format: "esc:xxx" or "\xxx")
6. a string converted to lower case (format: "lower:xxx")
7. a string converted to upper case (format: "upper:xxx")
8. a string with chars to hide (format: "hide:char,string")
9. a string with max chars (format: "cut:max,suffix,string" or "cut:+max,suffix,string")
6. a string with chars to hide (format: "hide:char,string")
7. a string with max chars (format: "cut:max,suffix,string" or "cut:+max,suffix,string")
or max chars displayed on screen (format: "cutscr:max,suffix,string" or "cutscr:+max,suffix,string")
10. a reversed string (format: "rev:xxx" or "revscr:xxx")
11. a repeated string (format: "repeat:count,string")
12. length of a string (format: "length:xxx" or "lengthscr:xxx")
13. split of a string (format: "split:number,separators,flags,xxx")
14. split of shell argmuents (format: "split_shell:number,xxx")
15. a color (format: "color:xxx", see "Plugin API reference", function "color")
16. a modifier (format: "modifier:name,data,string")
17. an info (format: "info:name,arguments", arguments are optional)
18. a base 16/32/64 encoded/decoded string (format: "base_encode:base,xxx" or "base_decode:base,xxx")
19. current date/time (format: "date" or "date:format")
20. an environment variable (format: "env:XXX")
21. a ternary operator (format: "if:condition?value_if_true:value_if_false")
22. result of an expression with parentheses and operators + - * / // % ** (format: "calc:xxx")
23. a random integer number (format: "random:min,max")
24. a translated string (format: "translate:xxx")
25. define a user variable (format: "define:name,value")
26. an option (format: "file.section.option")
27. a local variable in buffer
28. a hdata name/variable (the value is automatically converted to string), by default "window" and "buffer" point to current window/buffer.
8. a reversed string (format: "rev:xxx" or "revscr:xxx")
9. a repeated string (format: "repeat:count,string")
10. length of a string (format: "length:xxx" or "lengthscr:xxx")
11. split of a string (format: "split:number,separators,flags,xxx")
12. split of shell argmuents (format: "split_shell:number,xxx")
13. a color (format: "color:xxx", see "Plugin API reference", function "color")
14. a modifier (format: "modifier:name,data,string")
15. an info (format: "info:name,arguments", arguments are optional)
16. a base 16/32/64 encoded/decoded string (format: "base_encode:base,xxx" or "base_decode:base,xxx")
17. current date/time (format: "date" or "date:format")
18. an environment variable (format: "env:XXX")
19. a ternary operator (format: "if:condition?value_if_true:value_if_false")
20. result of an expression with parentheses and operators + - * / // % ** (format: "calc:xxx")
21. a random integer number (format: "random:min,max")
22. a translated string (format: "translate:xxx")
23. define a user variable (format: "define:name,value")
24. an option (format: "file.section.option")
25. a local variable in buffer
26. a hdata name/variable (the value is automatically converted to string), by default "window" and "buffer" point to current window/buffer.
Format for hdata can be one of following:
hdata.var1.var2...: start with a hdata (pointer must be known), and ask variables one after one (other hdata can be followed)
hdata[list].var1.var2...: start with a hdata using a list/pointer/pointer name, for example:
@@ -1455,8 +1423,6 @@ Examples (simple strings):
/eval -n ${window.buffer.full_name} ==> core.weechat
/eval -n ${window.buffer.number} ==> 1
/eval -n ${\t} ==> <tab>
/eval -n ${lower:TEST} ==> test
/eval -n ${upper:test} ==> TEST
/eval -n ${hide:-,${relay.network.password}} ==> --------
/eval -n ${cut:3,+,test} ==> tes+
/eval -n ${cut:+3,+,test} ==> te+
@@ -1502,7 +1468,7 @@ Examples (conditions):
add|addreplace <name> <buffer>[,<buffer>...] <tags> <regex>
rename <name> <new_name>
recreate <name>
del <name>|-all [<name>...]
del <name>|-all
list: list all filters
enable: enable filters (filters are enabled by default)
@@ -1651,49 +1617,6 @@ list of actions:
This command is used by key bindings or plugins.
----
[[command_weechat_item]]
* `+item+`: manage custom bar items
----
/item list
add|addreplace <name> "<conditions>" "<content>"
rename <name> <new_name>
refresh <name> [<name>...]
recreate <name>
del <name>|-all
list: list all custom bar items
add: add a custom bar item
addreplace: add or replace an existing custom bar item
name: custom bar item name
conditions: evaluated conditions to display the bar item (for example to display the bar item only in specific buffers)
content: content (evaluated, see /help eval)
rename: rename a custom bar item
refresh: update content of item in all bars where the item is displayed; any item can be refreshed: default/plugin/custom bar items
recreate: set input with the command used to edit the custom bar item
del: delete a custom bar item
-all: delete all custom bar items
Examples:
add item with terminal size, displayed only in buffers with number = 1:
/item add terminfo "${buffer.number} == 1" "term:${info:term_width}x${info:term_height}"
add item with buffer info:
/item add bufinfo "" "${buffer.number}:${buffer.name}${if:${buffer.zoomed}?(Z)}"
add item with date/time using format "Dec 25, 12:34 +0100", refreshed every minute:
/item add datetime "" "${date:%b %d, %H:%M %z}"
/trigger add datetime_refresh timer "60000;60" "" "" "/item refresh datetime"
add item with number of lines in buffer (displayed/total), refreshed each time a new line is displayed or if filtered lines have changed:
/item add lines_count "" "${calc:${buffer.lines.lines_count}-${buffer.lines.lines_hidden}}/${buffer.lines.lines_count} lines"
/trigger add lines_count_refresh_print print "" "" "" "/item refresh lines_count"
/trigger add lines_count_refresh_signal signal "window_switch;buffer_switch;buffer_lines_hidden;filters_*" "" "" "/item refresh lines_count"
force refresh of item "lines_count":
/item refresh lines_count
recreate item "lines_count" with different conditions or content:
/item recreate lines_count
delete item "lines_count":
/item del lines_count
----
[[command_weechat_key]]
* `+key+`: bind/unbind keys
@@ -2894,7 +2817,7 @@ protocol.name: protocol and name to relay:
- protocol "weechat" (name is not used)
The "irc" protocol allows any IRC client (including WeeChat itself) to connect on the port.
The "weechat" protocol allows a remote interface to connect on the port, see the list here: https://weechat.org/about/interfaces/
The "weechat" protocol allows a remote interface to connect on the port, see the list here: https://weechat.org/about/interfaces
Without argument, this command opens buffer with list of relay clients.
+10 -10
View File
@@ -1290,6 +1290,12 @@
** values: any string
** 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*
** description: pass:none[comma separated list of file name extensions for plugins]
** type: string
@@ -2690,12 +2696,6 @@
** values: any string
** 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*
** description: pass:none[automatically reconnect to server when disconnected]
** type: boolean
@@ -3064,11 +3064,11 @@
** values: -1 .. 43200
** default value: `+0+`
* [[option_relay.network.compression]] *relay.network.compression*
** 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]
* [[option_relay.network.compression_level]] *relay.network.compression_level*
** description: pass:none[compression level for packets sent to client with WeeChat protocol (0 = disable compression, 1 = low compression ... 9 = best compression)]
** type: integer
** values: 0 .. 100
** default value: `+20+`
** values: 0 .. 9
** default value: `+6+`
* [[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)]
+2 -2
View File
@@ -1,6 +1,6 @@
// tag::plugin_options[]
For complete doc on plugin options, please look at plugins documentation in
https://weechat.org/doc/[WeeChat user's guide].
https://weechat.org/doc[WeeChat user's guide].
With irc plugin, you can connect to temporary server with an URL like:
@@ -100,7 +100,7 @@ $HOME/.local/share/weechat/weechat.log::
WeeChat is written by Sébastien Helleu and contributors (complete list is in
the AUTHORS.adoc file).
Copyright (C) 2003-2022 {author}
Copyright (C) 2003-2021 {author}
WeeChat is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
+1 -1
View File
@@ -60,4 +60,4 @@ include::includes/man.en.adoc[tag=copyright]
== SUPPORT / REPORTING BUGS
For help or a bug report: https://weechat.org/about/support/
For help or a bug report: https://weechat.org/about/support
+1 -1
View File
@@ -57,4 +57,4 @@ include::includes/man.en.adoc[tag=copyright]
== SUPPORT / REPORTING BUGS
For help or a bug report: https://weechat.org/about/support/
For help or a bug report: https://weechat.org/about/support
+138 -235
View File
@@ -10,8 +10,8 @@
This manual documents WeeChat chat client, it is part of WeeChat.
Latest version of this document can be found on
https://weechat.org/doc/[this page ^↗^,window=_blank].
Latest version of this document can be found on this page:
https://weechat.org/doc
[[introduction]]
@@ -31,8 +31,8 @@ This manual documents WeeChat internals:
[[repositories]]
== Repositories
WeeChat repositories are on GitHub organization
https://github.com/weechat[weechat ^↗^,window=_blank].
WeeChat repositories are on GitHub organization "weechat":
https://github.com/weechat
List of repositories:
@@ -43,7 +43,7 @@ scripts::
the _official_ scripts submitted on weechat.org
weechat.org::
source of https://weechat.org/[WeeChat website ^↗^,window=_blank]
source of WeeChat website: https://weechat.org/
weercd::
IRC testing server
@@ -284,7 +284,6 @@ WeeChat "core" is located in following directories:
|       irc-ignore.c | IRC Ignore.
|       irc-info.c | IRC info/infolists/hdata.
|       irc-input.c | Input of commands/text.
|       irc-join.c | Functions for list of channels to join.
|       irc-message.c | Functions to manipulate IRC messages.
|       irc-mode.c | Functions about channel/nick modes.
|       irc-modelist.c | IRC channel mode lists (+b, +e, +I, ...).
@@ -297,7 +296,6 @@ WeeChat "core" is located in following directories:
|       irc-sasl.c | SASL authentication with IRC server.
|       irc-server.c | I/O communication with IRC server.
|       irc-tag.c | Functions to manipulate IRC message tags.
|       irc-typing.c | Typing status.
|       irc-upgrade.c | Save/restore of IRC data when upgrading WeeChat.
|    javascript/ | JavaScript plugin.
|       weechat-js.cpp | Main JavaScript functions (load/unload scripts, execute JavaScript code).
@@ -391,68 +389,59 @@ WeeChat "core" is located in following directories:
[width="100%",cols="2m,3",options="header"]
|===
| Path/file | Description
| tests/ | Root of tests.
|    tests.cpp | Program used to run all tests.
|    scripts/ | Root of scripting API tests.
|       test-scripts.cpp | Program used to run the scripting API tests.
|       python/ | Python scripts to generate and run the scripting API tests.
|          testapigen.py | Python script generating scripts in all languages to test the scripting API.
|          testapi.py | Python script with scripting API tests, used by script testapigen.py.
|          unparse.py | Convert Python code to other languages, used by script testapigen.py.
|    unit/ | Root of unit tests.
|       test-plugins.cpp | Tests: plugins.
|       core/ | Root of unit tests for core.
|          test-core-arraylist.cpp | Tests: arraylists.
|          test-core-calc.cpp | Tests: calculation of expressions.
|          test-core-config-file.cpp | Tests: configuration files.
|          test-core-crypto.cpp | Tests: cryptographic functions.
|          test-core-dir.cpp | Tests: directory/file functions.
|          test-core-eval.cpp | Tests: evaluation of expressions.
|          test-core-hashtble.cpp | Tests: hashtables.
|          test-core-hdata.cpp | Tests: hdata.
|          test-core-hook.cpp | Tests: hooks.
|          test-core-infolist.cpp | Tests: infolists.
|          test-core-list.cpp | Tests: lists.
|          test-core-network.cpp | Tests: network functions.
|          test-core-secure.cpp | Tests: secured data.
|          test-core-signal.cpp | Tests: signals.
|          test-core-string.cpp | Tests: strings.
|          test-core-url.cpp | Tests: URLs.
|          test-core-utf8.cpp | Tests: UTF-8.
|          test-core-util.cpp | Tests: utility functions.
|       gui/ | Root of unit tests for interfaces.
|          test-gui-bar-window.cpp | Tests: bar window functions.
|          test-gui-buffer.cpp | Tests: buffer functions.
|          test-gui-chat.cpp | Tests: chat functions.
|          test-gui-color.cpp | Tests: colors.
|          test-gui-line.cpp | Tests: lines.
|          test-gui-nick.cpp | Tests: nicks.
|       plugins/ | Root of unit tests for plugins.
|          irc/ | Root of unit tests for IRC plugin.
|             test-irc-buffer.cpp | Tests: IRC buffers.
|             test-irc-channel.cpp | Tests: IRC channels.
|             test-irc-color.cpp | Tests: IRC colors.
|             test-irc-config.cpp | Tests: IRC configuration.
|             test-irc-ignore.cpp | Tests: IRC ignores.
|             test-irc-join.cpp | Tests: IRC join functions.
|             test-irc-message.cpp | Tests: IRC messages.
|             test-irc-mode.cpp | Tests: IRC modes.
|             test-irc-nick.cpp | Tests: IRC nicks.
|             test-irc-protocol.cpp | Tests: IRC protocol.
|             test-irc-sasl.cpp | Tests: SASL authentication with IRC protocol.
|             test-irc-server.cpp | Tests: IRC server.
|             test-irc-tag.cpp | Tests: IRC message tags.
|          logger/ | Root of unit tests for logger plugin.
|             test-logger-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.
| Path/file | Description
| tests/ | Root of tests.
|    tests.cpp | Program used to run all tests.
|    scripts/ | Root of scripting API tests.
|       test-scripts.cpp | Program used to run the scripting API tests.
|       python/ | Python scripts to generate and run the scripting API tests.
|          testapigen.py | Python script generating scripts in all languages to test the scripting API.
|          testapi.py | Python script with scripting API tests, used by script testapigen.py.
|          unparse.py | Convert Python code to other languages, used by script testapigen.py.
|    unit/ | Root of unit tests.
|       test-plugins.cpp | Tests: plugins.
|       core/ | Root of unit tests for core.
|          test-core-arraylist.cpp | Tests: arraylists.
|          test-core-calc.cpp | Tests: calculation of expressions.
|          test-core-config-file.cpp | Tests: configuration files.
|          test-core-crypto.cpp | Tests: cryptographic functions.
|          test-core-dir.cpp | Tests: directory/file functions.
|          test-core-eval.cpp | Tests: evaluation of expressions.
|          test-core-hashtble.cpp | Tests: hashtables.
|          test-core-hdata.cpp | Tests: hdata.
|          test-core-hook.cpp | Tests: hooks.
|          test-core-infolist.cpp | Tests: infolists.
|          test-core-list.cpp | Tests: lists.
|          test-core-network.cpp | Tests: network functions.
|          test-core-secure.cpp | Tests: secured data.
|          test-core-signal.cpp | Tests: signals.
|          test-core-string.cpp | Tests: strings.
|          test-core-url.cpp | Tests: URLs.
|          test-core-utf8.cpp | Tests: UTF-8.
|          test-core-util.cpp | Tests: utility functions.
|       gui/ | Root of unit tests for interfaces.
|          test-gui-color.cpp | Tests: colors.
|          test-gui-line.cpp | Tests: lines.
|          test-gui-nick.cpp | Tests: nicks.
|       plugins/ | Root of unit tests for plugins.
|          irc/ | Root of unit tests for IRC plugin.
|             test-irc-channel.cpp | Tests: IRC channels.
|             test-irc-color.cpp | Tests: IRC colors.
|             test-irc-config.cpp | Tests: IRC configuration.
|             test-irc-ignore.cpp | Tests: IRC ignores.
|             test-irc-message.cpp | Tests: IRC messages.
|             test-irc-mode.cpp | Tests: IRC modes.
|             test-irc-nick.cpp | Tests: IRC nicks.
|             test-irc-protocol.cpp | Tests: IRC protocol.
|             test-irc-server.cpp | Tests: IRC server.
|          trigger/ | Root of unit tests for trigger plugin.
|             test-trigger.cpp | Tests: triggers.
|          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]]
@@ -468,13 +457,14 @@ Documentation files:
|    docgen.py | Python script to build auto-generated files in _includes/_ directory (see below).
|    XX/ | Documentation for language XX (languages: en, fr, de, it, ...).
|       weechat.1.XX.adoc | Man page (`man weechat`).
|       weechat_dev.XX.adoc | link:weechat_dev.en.html[Developer's guide ^↗^,window=_blank] (this document).
|       weechat_faq.XX.adoc | link:weechat_faq.en.html[FAQ ^↗^,window=_blank].
|       weechat_plugin_api.XX.adoc | link:weechat_plugin_api.en.html[Plugin API reference ^↗^,window=_blank].
|       weechat_quickstart.XX.adoc | link:weechat_quickstart.en.html[Quickstart guide ^↗^,window=_blank].
|       weechat_relay_protocol.XX.adoc | link:weechat_relay_protocol.en.html[Relay protocol ^↗^,window=_blank] (for remote interfaces).
|       weechat_scripting.XX.adoc | link:weechat_scripting.en.html[Scripting guide ^↗^,window=_blank].
|       weechat_user.XX.adoc | link:weechat_user.en.html[User's guide ^↗^,window=_blank].
|       weechat_dev.XX.adoc | link:weechat_dev.en.html[Developer's guide] (this document).
|       weechat_faq.XX.adoc | link:weechat_faq.en.html[FAQ].
|       weechat_plugin_api.XX.adoc | link:weechat_plugin_api.en.html[Plugin API reference].
|       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_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].
|       includes/ | Files included in documentation.
|          autogen_api_completions.XX.adoc | Auto-generated file for Plugin API reference: completions (do *NEVER* update manually!).
|          autogen_api_hdata.XX.adoc | Auto-generated file for Plugin API reference: hdata (do *NEVER* update manually!).
@@ -519,12 +509,12 @@ directory:
Example in C:
[source,c]
[source,C]
----
/*
* 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.
*
@@ -557,7 +547,7 @@ Some basic rules you *must* follow when you write C code:
Example:
[source,c]
[source,C]
----
/*
* Checks if a string with boolean value is valid.
@@ -588,7 +578,7 @@ foo ()
Exception: in `for` loops, where variables like "i" or "n" are OK.
* Initialize local variables after declaration, in body of function, example:
[source,c]
[source,C]
----
void
foo ()
@@ -606,7 +596,7 @@ foo ()
* Place curly brackets `+{ }+` alone on lines, and indent them with number of
spaces used for line above opening curly bracket (the `if` in example):
[source,c]
[source,C]
----
if (nicks_count == 1)
{
@@ -617,7 +607,7 @@ if (nicks_count == 1)
* Use empty lines to separate many different blocks inside functions, and if
possible add a comment for each one, like this:
[source,c]
[source,C]
----
/*
* Sends a message from out queue.
@@ -660,7 +650,7 @@ irc_server_outqueue_send (struct t_irc_server *server)
* Indent the `if` conditions, and use parentheses around conditions with an
operator (not needed for single boolean), like this:
[source,c]
[source,C]
----
if (something)
{
@@ -684,7 +674,7 @@ else
* Indent the `switch` statements like this:
[source,c]
[source,C]
----
switch (string[0])
{
@@ -702,7 +692,7 @@ switch (string[0])
* Use `typedef` for function prototypes but not for structures:
[source,c]
[source,C]
----
typedef int (t_hook_callback_fd)(void *data, int fd);
@@ -739,7 +729,7 @@ new_hook_fd = malloc (sizeof (*new_hook_fd));
[[coding_python_style]]
=== Python style
See https://www.python.org/dev/peps/pep-0008/[PEP 8 ^↗^,window=_blank].
See https://www.python.org/dev/peps/pep-0008/
[[core_internals]]
== Core internals
@@ -784,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_):
[source,c]
[source,C]
----
struct t_irc_nick
{
@@ -814,7 +804,7 @@ _X_ is name of variable, using singular form).
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 *last_gui_window = NULL; /* last window */
@@ -834,7 +824,7 @@ Naming convention for functions is the same as
Example: creation of a new window (from _src/gui/gui-window.c_):
[source,c]
[source,C]
----
/*
* Creates a new window.
@@ -870,7 +860,7 @@ and next node.
Example: list of buffers (from _src/gui/gui-buffer.h_):
[source,c]
[source,C]
----
struct t_gui_buffer
{
@@ -885,7 +875,7 @@ struct t_gui_buffer
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 *last_gui_buffer = NULL; /* last buffer */
@@ -900,10 +890,18 @@ underline, ...) and colors on screen.
All attributes/colors are prefixed with a char in string, which can be:
* _0x19_: color code (followed by color code(s))
* _0x1A_: set attribute (followed by raw attribute on one char)
* _0x1B_: remove attribute (followed by raw attribute on one char)
* _0x1A_: set attribute (followed by attribute on one char)
* _0x1B_: remove attribute (followed by attribute on one char)
* _0x1C_: reset (nothing after)
Allowed attributes are (one or more chars):
* `+*+`: bold
* `+!+`: reverse
* `+/+`: italic
* `+_+`: underline
* `+|+`: keep attributes
Possible colors are:
* standard color: optional attributes + number on 2 digits
@@ -912,55 +910,45 @@ Possible colors are:
In following table, these conventions are used:
* `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)
* `(ATTR)EXT`: extended color with optional attributes (`+@+` + attributes + 5 digits)
* `(ATTR)`: one or more attribute chars:
** `+*+`: bold
** `+!+`: reverse
** `+/+`: italic
** `+_+`: underline
** `+|+`: keep attributes
* `(a)`: one raw attribute char:
** _0x01_: bold
** _0x02_: reverse
** _0x03_: italic
** _0x04_: underline
* `(A)EXT`: extended color with optional attributes (`+@+` + attributes + 5 digits)
* `ATTR`: one attribute char (`+*+`, `+!+`, `+/+`, `+_+` or `+|+`)
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
| [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# + `F` + `(ATTR)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# + `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# + `*` + `(ATTR)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# + `*` + `(ATTR)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# + `*` + `(ATTR)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# + `*` + `(ATTR)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# + `*` + `(ATTR)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# + `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` + `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 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` + `i` | [hex]#19# `+bi+` | bars | Start 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# + [hex]#1C# | [hex]#19# [hex]#1C# | chat + bars | Reset color (keep attributes).
| [hex]#1A# + `(a)` | [hex]#1A# [hex]#01# | chat + bars | Set attribute.
| [hex]#1B# + `(a)` | [hex]#1B# [hex]#01# | chat + bars | Remove attribute.
| [hex]#1C# | [hex]#1C# | chat + bars | Reset attributes and color.
| Code | Example | Areas | Description
| [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# + "F" + (A)STD | [hex]#19# `+F*05+` | chat + bars | Set foreground (WeeChat 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" + EXT | [hex]#19# `+B@00124+` | chat + bars | Set background (extended color).
| [hex]#19# + "*" + (A)STD | [hex]#19# `+*05+` | chat + bars | Set foreground (WeeChat color).
| [hex]#19# + "*" + (A)EXT | [hex]#19# `+*@00214+` | chat + bars | Set foreground (extended color).
| [hex]#19# + "*" + (A)STD + "," + STD ^(1)^ | [hex]#19# `+*08,05+` | chat + bars | Set foreground/background (WeeChat colors).
| [hex]#19# + "*" + (A)STD + "," + EXT ^(1)^ | [hex]#19# `+*01,@00214+` | chat + bars | Set foreground (WeeChat color) and background (extended color).
| [hex]#19# + "*" + (A)EXT + "," + STD ^(1)^ | [hex]#19# `+*@00214,05+` | chat + bars | Set foreground (extended color) and background (WeeChat color).
| [hex]#19# + "*" + (A)EXT + "," + EXT ^(1)^ | [hex]#19# `+*@00214,@00017+` | chat + bars | Set foreground/background (extended colors).
| [hex]#19# + "*" + (A)STD + "~" + STD | [hex]#19# `+*08~05+` | chat + bars | Set foreground/background (WeeChat colors).
| [hex]#19# + "*" + (A)STD + "~" + EXT | [hex]#19# `+*01~@00214+` | chat + bars | Set foreground (WeeChat color) and background (extended color).
| [hex]#19# + "*" + (A)EXT + "~" + STD | [hex]#19# `+*@00214~05+` | chat + bars | Set foreground (extended color) and background (WeeChat color).
| [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" + "D" | [hex]#19# `+bD+` | bars | Set bar delimiter 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 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" + "i" | [hex]#19# `+bi+` | bars | Start 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# + [hex]#1C# | [hex]#19# [hex]#1C# | chat + bars | Reset color (keep attributes).
| [hex]#1A# + ATTR | [hex]#1A# `+*+` | chat + bars | Set attribute.
| [hex]#1B# + ATTR | [hex]#1B# `+*+` | chat + bars | Remove attribute.
| [hex]#1C# | [hex]#1C# | chat + bars | Reset attributes and color.
|===
[NOTE]
@@ -1077,7 +1065,7 @@ Then some macros are defined to call these functions.
For example, function _hook_timer_ is defined in structure _t_weechat_plugin_
like this:
[source,c]
[source,C]
----
struct t_hook *(*hook_timer) (struct t_weechat_plugin *plugin,
long interval,
@@ -1090,7 +1078,7 @@ struct t_hook *(*hook_timer) (struct t_weechat_plugin *plugin,
And the macro used to call this function is:
[source,c]
[source,C]
----
#define weechat_hook_timer(__interval, __align_second, __max_calls, \
__callback, __data) \
@@ -1101,7 +1089,7 @@ And the macro used to call this function is:
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,
0, 1,
@@ -1115,7 +1103,7 @@ server->hook_timer_sasl = weechat_hook_timer (timeout * 1000,
[[git_repository]]
=== Git repository
Git repository is on https://github.com/weechat/weechat[GitHub ^↗^,window=_blank].
Git repository is at this URL: https://github.com/weechat/weechat
Any patch for bug or new feature must be done on master branch, preferred way
is a GitHub pull request. A patch can also be sent by e-mail
@@ -1129,95 +1117,11 @@ component: fix a problem (closes #123)
Where _component_ is one of following:
[width="100%",cols="1m,4m,5",options="header"]
|===
| Component | Files | Description
| core
| 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
|===
* WeeChat core: _core_ (files in root directory, _po/_ and _src/_,
except _src/plugins/_)
* documentation files: _doc_ (files in directory _doc/_)
* name of a plugin: _irc_, _python_, _relay_, ... (files in directory
_src/plugins/_)
Some rules to follow:
@@ -1231,7 +1135,6 @@ Examples of commit messages:
----
core: add callback "nickcmp" for nick comparison in buffers
core: update Japanese translations
doc/user: add chapter on typing extension
irc: add command /unquiet (closes #36)
python: fix crash when unloading a script without pointer to interpreter
ruby: add detection of ruby version 1.9.3 in CMake
@@ -1265,8 +1168,8 @@ $ make translations && make update-po
Then you can edit .po files (if you can translate in a language).
When done, you *have* to check your file with
https://github.com/flashcode/msgcheck[msgcheck ^↗^,window=_blank]:
When done, you *have* to check your file with script _msgcheck.py_
(https://github.com/flashcode/msgcheck):
----
$ msgcheck.py xx.po
@@ -1299,7 +1202,7 @@ work on it.
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,
@@ -1316,7 +1219,7 @@ warnings, ... These words must be kept unchanged:
[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>>
+35 -75
View File
@@ -32,8 +32,7 @@ apply to WeeChat!).
Because WeeChat is very light and brings innovating features.
More info on the WeeChat
https://weechat.org/about/features/[features page ^↗^,window=_blank].
More info on the WeeChat features page: https://weechat.org/about/features
[[compilation_install]]
== Compilation / install
@@ -41,17 +40,16 @@ https://weechat.org/about/features/[features page ^↗^,window=_blank].
[[gui]]
=== I've heard about many GUIs for WeeChat. How can I compile/use them?
Some remote GUIs are available, see the
https://weechat.org/about/interfaces/[remote interfaces page ^↗^,window=_blank].
Some remote GUIs are available, see the remote interfaces page:
https://weechat.org/about/interfaces
[[compile_git]]
=== I can't compile WeeChat after cloning git repository, why?
The recommended way to compile WeeChat is with
link:weechat_user.en.html#compile_with_cmake[CMake ^↗^,window=_blank].
link:weechat_user.en.html#compile_with_cmake[CMake].
If you're compiling with
link:weechat_user.en.html#compile_with_autotools[autotools ^↗^,window=_blank]
If you're compiling with link:weechat_user.en.html#compile_with_autotools[autotools]
(and not CMake), check that you have latest version of autoconf and automake.
The other way is to install the "devel package", which needs less dependencies.
@@ -62,8 +60,7 @@ than git cloning for installing updates.
[[compile_macos]]
=== How can I install WeeChat on macOS?
It is recommended to use https://brew.sh/[Homebrew ^↗^,window=_blank],
you can get help with:
It is recommended to use https://brew.sh/[Homebrew], you can get help with:
----
brew info weechat
@@ -79,12 +76,12 @@ brew install weechat
=== I've launched WeeChat, but I'm lost, what can I do?
For help you can type `/help`. For help about a command, type `/help command`.
link:weechat_user.en.html#key_bindings[Keys ^↗^,window=_blank] and
link:weechat_user.en.html#commands_and_options[commands ^↗^,window=_blank]
are listed in documentation.
link:weechat_user.en.html#key_bindings[Keys] and
link:weechat_user.en.html#commands_and_options[commands] are listed
in documentation.
It's recommended for new users to read the
link:weechat_quickstart.en.html[Quickstart guide ^↗^,window=_blank].
link:weechat_quickstart.en.html[Quickstart guide].
[[display]]
== Display
@@ -112,7 +109,7 @@ It's a common issue with a variety of causes, please read carefully and check
** If you are using screen, check that it is run with UTF-8 mode
("`defutf8 on`" in ~/.screenrc or `screen -U` to run screen).
* Check that option
link:weechat_user.en.html#option_weechat.look.eat_newline_glitch[_weechat.look.eat_newline_glitch_ ^↗^,window=_blank]
link:weechat_user.en.html#option_weechat.look.eat_newline_glitch[_weechat.look.eat_newline_glitch_]
is off (this option may cause display bugs).
[NOTE]
@@ -127,10 +124,10 @@ This may be caused by a libc bug in function _wcwidth_, which should be fixed
in glibc 2.22 (maybe not yet available in your distribution).
There is a workaround to use the fixed _wcwidth_ function:
https://blog.nytsoi.net/2015/05/04/emoji-support-for-weechat[https://blog.nytsoi.net/2015/05/04/emoji-support-for-weechat ^↗^,window=_blank]
https://blog.nytsoi.net/2015/05/04/emoji-support-for-weechat
See this https://github.com/weechat/weechat/issues/79[bug report ^↗^,window=_blank]
for more information.
See this bug report for more information:
https://github.com/weechat/weechat/issues/79
[[bars_background]]
=== Bars like title and status are not filled, background color stops after text, why?
@@ -187,8 +184,7 @@ windows.
[[buffers_list]]
=== How to display the buffers list on the left side?
With WeeChat ≥ 1.8, the plugin
link:weechat_user.en.html#buflist[buflist ^↗^,window=_blank]
With WeeChat ≥ 1.8, the plugin link:weechat_user.en.html#buflist_plugin[buflist]
is loaded and enabled by default.
With an older version, you can install script _buffers.pl_:
@@ -256,8 +252,8 @@ like `237` for dark gray.
The buflist plugin provides lot of options that you can customize, please read
the help on each option.
There's also a https://github.com/weechat/weechat/wiki/buflist[wiki page ^↗^,window=_blank]
with examples of advanced buflist configuration.
There's also a wiki page with examples of advanced buflist configuration:
https://github.com/weechat/weechat/wiki/buflist
[[customize_prefix]]
=== How can I reduce length of nicks or remove nick alignment in chat area?
@@ -300,8 +296,8 @@ These colors can be changed with the options __weechat.color.status_data_*__
(buffers) and __weechat.color.status_count_*__ (counters). +
Other hotlist options can be changed with the options __weechat.look.hotlist_*__.
See link:weechat_user.en.html#screen_layout[User's guide / Screen layout ^↗^,window=_blank]
for more info about the hotlist.
See link:weechat_user.en.html#screen_layout[User's guide / Screen layout] for
more info about the hotlist.
[[input_bar_size]]
=== How to use command line with more than one line?
@@ -466,8 +462,8 @@ For version 0.3.4, you must use command `/color` to add new colors.
For versions ≥ 0.3.5, you can use any color number in options (optional: you
can add color aliases with command `/color`).
Please read the link:weechat_user.en.html#colors[User's guide / Colors ^↗^,window=_blank]
for more information about colors management.
Please read the link:weechat_user.en.html#colors[User's guide / Colors] for more
information about colors management.
[[search_text]]
=== How can I search text in buffer (like /lastlog in irssi)?
@@ -475,8 +471,8 @@ for more information about colors management.
The default key is kbd:[Ctrl+r] (command is: `+/input search_text_here+`).
And jump to highlights: kbd:[Alt+p] / kbd:[Alt+n].
See link:weechat_user.en.html#key_bindings[User's guide / Key bindings ^↗^,window=_blank]
for more info about this feature.
See link:weechat_user.en.html#key_bindings[User's guide / Key bindings] for more
info about this feature.
[[terminal_focus]]
=== How can I execute commands when terminal gets/loses focus?
@@ -649,7 +645,7 @@ You can bind a key, for example:
----
List of default keys is in
link:weechat_user.en.html#key_bindings[User's guide / Key bindings ^↗^,window=_blank].
link:weechat_user.en.html#key_bindings[User's guide / Key bindings].
To jump to buffers with number ≥ 100, you could define a trigger and then use
commands like `/123` to jump to buffer #123:
@@ -833,36 +829,8 @@ join of channels):
[[edit_autojoin]]
=== 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_dynamic on
----
For a single server:
----
/set irc.server.libera.autojoin_dynamic on
----
With WeeChat ≥ 3.5, you can also add the current channel in the "autojoin"
server option using the `/autojoin` command:
----
/autojoin add
----
Or another channel:
----
/autojoin add #test
----
With WeeChat ≤ 3.4, you can use the `/set` command to edit the list of autojoin
channels, for example for the "libera" server:
You can use the `/set` command to edit the list of autojoin channels,
for example for the "libera" server:
----
/set irc.server.libera.autojoin [TAB]
@@ -879,7 +847,7 @@ You can also use the `/fset` command to edit the list of channels:
/fset autojoin
----
With WeeChat ≤ 3.4, another solution is to use a script:
Another solution is to use a script:
----
/script search autojoin
@@ -919,7 +887,7 @@ With a global filter (hide *all* join/part/quit):
[NOTE]
For help: `/help filter`, `+/help irc.look.smart_filter+` and see
link:weechat_user.en.html#irc_smart_filter_join_part_quit[User's guide / Smart filter for join/part/quit messages ^↗^,window=_blank].
link:weechat_user.en.html#irc_smart_filter_join_part_quit[User's guide / Smart filter for join/part/quit messages].
[[filter_irc_join_channel_messages]]
=== How can I filter some messages displayed when I join an IRC channel?
@@ -1017,7 +985,7 @@ Other scripts on this subject:
=== How can I disable highlights for specific nicks?
With WeeChat ≥ 0.3.4 you can use the
link:weechat_user.en.html#max_hotlist_level_nicks[hotlist_max_level_nicks_add ^↗^,window=_blank]
link:weechat_user.en.html#max_hotlist_level_nicks[hotlist_max_level_nicks_add]
buffer property to set the max hotlist level for some nicks, per buffer,
or per group of buffers (like IRC servers).
@@ -1115,14 +1083,6 @@ $ cd ~/.cache/weechat/script
$ 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]]
=== I installed aspell dictionaries on my system, how can I use them without restarting WeeChat?
@@ -1220,7 +1180,7 @@ Unload and disable auto-loading of "xfer" plugin (used for IRC DCC):
Define a passphrase and use secured data wherever you can for sensitive data
like passwords: see `/help secure` and `/help` on options
(if you can use secured data, it is written in the help).
See also link:weechat_user.en.html#secured_data[User's guide / Secured data ^↗^,window=_blank].
See also link:weechat_user.en.html#secured_data[User's guide / Secured data].
For example:
@@ -1241,7 +1201,7 @@ contains your passwords ciphered with your passphrase.
Some other files may contain sensitive info like passwords (if they are not
stored in _sec.conf_ with the `/secure` command).
See the link:weechat_user.en.html#files_and_directories[User's guide / Files and directories ^↗^,window=_blank]
See the link:weechat_user.en.html#files_and_directories[User's guide / Files and directories]
for more information about configuration files.
[[development]]
@@ -1250,7 +1210,7 @@ for more information about configuration files.
[[bug_task_patch]]
=== How should I report bugs, ask for new features or send patches?
See https://weechat.org/about/support/[this page ^↗^,window=_blank].
See: https://weechat.org/about/support
[[gdb_error_threads]]
=== When I run WeeChat under gdb, there is an error about threads, what can I do?
@@ -1286,11 +1246,11 @@ some OS' we don't have, to test WeeChat.
There are many tasks to do (testing, code, documentation, etc.)
Please contact us via IRC or mail, look at
https://weechat.org/about/support/[support page ^↗^,window=_blank].
Please contact us via IRC or mail, look at support page:
https://weechat.org/about/support
[[donate]]
=== Can I give money or other things to WeeChat developers?
You can give us money to help development.
Details on https://weechat.org/donate/[donation page ^↗^,window=_blank].
Details on https://weechat.org/donate
File diff suppressed because it is too large Load Diff
+8 -19
View File
@@ -194,15 +194,10 @@ To auto-join some channels when connecting to server:
/set irc.server.libera.autojoin "#channel1,#channel2"
----
The `/autojoin` command lets you configure the _autojoin_ option easily
(see `/help autojoin`).
You can also configure WeeChat to automatically update the _autojoin_ option
when you join or leave channels:
----
/set irc.server_default.autojoin_dynamic on
----
[TIP]
You can complete name and value of options with the kbd:[Tab] key
and kbd:[Shift+Tab] for a partial completion (useful for long words like
the name of option).
To remove a value of a server option, and use the default value instead,
for example to use default nicks (irc.server_default.nicks):
@@ -218,11 +213,6 @@ option name):
/set irc.server.libera.xxx value
----
[TIP]
You can complete name and value of options with the kbd:[Tab] key
and kbd:[Shift+Tab] for a partial completion (useful for long words like
the name of option).
[[connect_to_irc_server]]
== Connect to IRC server
@@ -380,14 +370,13 @@ for example:
See `/help script` for more info.
A list of scripts is available in WeeChat with `/script` or on
https://weechat.org/scripts/[this page ^↗^,window=_blank].
A list of scripts is available in WeeChat with `/script` or at this URL:
https://weechat.org/scripts
[[more_doc]]
== More documentation
You can now use WeeChat and read
https://weechat.org/doc/[FAQ/documentation ^↗^,window=_blank]
for any other questions.
You can now use WeeChat and read FAQ/documentation for any other questions:
https://weechat.org/doc
Enjoy using WeeChat!
+84 -88
View File
@@ -84,7 +84,7 @@ Fields are:
List of available commands (detail in next chapters):
[width="100%",cols="1m,8",options="header"]
[width="100%",cols="^3m,14",options="header"]
|===
| Command | Description
| 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]]
=== 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
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
*** _pbkdf2+sha256_: password salted and hashed with PBKDF2 algorithm (using SHA256 hash)
*** _pbkdf2+sha512_: password salted and hashed with PBKDF2 algorithm (using SHA512 hash)
** _compression_: list of supported compression types supported by the client
(separated by colons and sorted from most important to the fallback value);
if compression is enabled, messages from _relay_ to client are compressed
to save bandwidth; allowed values are:
*** _off_: no compression (default if option is not given)
*** _zlib_: compress with https://zlib.net/[zlib ^↗^,window=_blank] _(WeeChat ≥ 0.3.7)_
*** _zstd_: compress with https://facebook.github.io/zstd/[Zstandard ^↗^,window=_blank]:
better compression and much faster than _zlib_ for both compression and decompression
_(WeeChat ≥ 3.5)_
** _compression_: compression type:
*** _zlib_: enable _zlib_ compression for messages sent by _relay_
(enabled by default if _relay_ supports _zlib_ compression)
*** _off_: disable compression
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
in the password hash algorithm)
* _compression_: compression type:
** _zlib_: messages are compressed with _zlib_
** _off_: messages are not compressed
** _zlib_: messages are compressed with https://zlib.net/[zlib ^↗^,window=_blank]
** _zstd_: messages are compressed with https://facebook.github.io/zstd/[Zstandard ^↗^,window=_blank]
[TIP]
With WeeChat ≤ 2.8, the command _handshake_ is not implemented, WeeChat silently
@@ -202,7 +196,7 @@ htb: {
'password_hash_iterations': '100000',
'totp': 'on',
'nonce': '85B1EE00695A5B254E14F4885538DF0D',
'compression': 'off',
'compression': 'zlib',
}
----
@@ -222,7 +216,7 @@ htb: {
'password_hash_iterations': '100000',
'totp': 'on',
'nonce': '85B1EE00695A5B254E14F4885538DF0D',
'compression': 'off',
'compression': 'zlib',
}
----
@@ -242,7 +236,7 @@ htb: {
'password_hash_iterations': '100000',
'totp': 'on',
'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
----
* Only "sha256" and "sha512" are supported by the client, enable zstd (preferred)
or zlib compression:
* Only "sha256" and "sha512" are supported by the client, disable compression:
----
(handshake) handshake password_hash_algo=sha256:sha512,compression=zstd:zlib
(handshake) handshake password_hash_algo=sha256:sha512,compression=off
----
Response:
@@ -271,14 +264,14 @@ htb: {
'password_hash_iterations': '100000',
'totp': 'on',
'nonce': '85B1EE00695A5B254E14F4885538DF0D',
'compression': 'zstd',
'compression': 'off',
}
----
[[command_init]]
=== init
_Updated in versions 2.4, 2.8, 2.9, 3.5._
_Updated in versions 2.4, 2.8, 2.9._
Authenticate with _relay_.
@@ -305,6 +298,12 @@ Arguments:
factor, in addition to the password
(option _relay.network.totp_secret_ in WeeChat)
_(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]
With WeeChat ≥ 1.6, commas can be escaped in the value, for example
@@ -993,7 +992,7 @@ Arguments:
WeeChat replies with a hdata:
[width="100%",cols="2m,3,14",options="header"]
[width="100%",cols="3m,2,10",options="header"]
|===
| Name | Type | Description
| context | string | Completion context: "null" (no completion), "command", "command_arg", "auto".
@@ -1261,24 +1260,24 @@ Syntax:
Returned objects (in this order):
[width="80%",cols="1m,2,6m",options="header"]
[width="100%",cols="^3,3m,5m",options="header"]
|===
| Type | Description | Value
| chr | char | 65 ("A")
| int | integer | 123456
| int | integer | -123456
| lon | long | 1234567890
| lon | long | -1234567890
| str | string | "a string"
| str | string | ""
| str | string | NULL
| buf | buffer | "buffer"
| buf | buffer | NULL
| ptr | pointer | 0x1234abcd
| ptr | pointer | NULL
| tim | time | 1321993456
| arr str | array of strings | [ "abc", "de" ]
| arr int | array of integers | [ 123, 456, 789 ]
| Type | Type (in message) | Value
| char | chr | 65 ("A")
| integer | int | 123456
| integer | int | -123456
| long | lon | 1234567890
| long | lon | -1234567890
| string | str | "a string"
| string | str | ""
| string | str | NULL
| buffer | buf | "buffer"
| buffer | buf | NULL
| pointer | ptr | 0x1234abcd
| pointer | ptr | NULL
| time | tim | 1321993456
| array of strings | arr str | [ "abc", "de" ]
| array of integers | arr int | [ 123, 456, 789 ]
|===
[IMPORTANT]
@@ -1380,8 +1379,7 @@ Messages are sent as binary data, using following format (with size in bytes):
(including this field)
* _compression_ (byte): flag:
** _0x00_: following data is not compressed
** _0x01_: following data is compressed with https://zlib.net/[zlib ^↗^,window=_blank]
** _0x02_: following data is compressed with https://facebook.github.io/zstd/[Zstandard ^↗^,window=_blank]
** _0x01_: following data is compressed with _zlib_
* _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
command
@@ -1391,10 +1389,8 @@ Messages are sent as binary data, using following format (with size in bytes):
[[message_compression]]
=== Compression
If flag _compression_ is equal to 0x01 or 0x02, then *all* data after is compressed
with https://zlib.net/[zlib ^↗^,window=_blank] or
https://facebook.github.io/zstd/[Zstandard ^↗^,window=_blank],
and therefore must be uncompressed before being processed.
If flag _compression_ is equal to 0x01, then *all* data after is compressed
with _zlib_, and therefore must be uncompressed before being processed.
[[message_identifier]]
=== Identifier
@@ -1409,68 +1405,68 @@ WeeChat reserved identifiers:
[width="100%",cols="5m,5,3,4,7",options="header"]
|===
| Identifier | Received with _sync_ | Data sent
| Description | Recommended action in client
| Identifier | Received with _sync_ | Data sent |
Description | Recommended action in client
| _buffer_opened | buffers / buffer | hdata: buffer
| Buffer opened. | Open buffer.
| _buffer_opened | buffers / buffer | hdata: buffer |
Buffer opened. | Open buffer.
| _buffer_type_changed | buffers / buffer | hdata: buffer
| Type of buffer changed. | Change type of buffer.
| _buffer_type_changed | buffers / buffer | hdata: buffer |
Type of buffer changed. | Change type of buffer.
| _buffer_moved | buffers / buffer | hdata: buffer
| Buffer moved. | Move buffer.
| _buffer_moved | buffers / buffer | hdata: buffer |
Buffer moved. | Move buffer.
| _buffer_merged | buffers / buffer | hdata: buffer
| Buffer merged. | Merge buffer.
| _buffer_merged | buffers / buffer | hdata: buffer |
Buffer merged. | Merge buffer.
| _buffer_unmerged | buffers / buffer | hdata: buffer
| Buffer unmerged. | Unmerge buffer.
| _buffer_unmerged | buffers / buffer | hdata: buffer |
Buffer unmerged. | Unmerge buffer.
| _buffer_hidden | buffers / buffer | hdata: buffer
| Buffer hidden. | Hide buffer.
| _buffer_hidden | buffers / buffer | hdata: buffer |
Buffer hidden. | Hide buffer.
| _buffer_unhidden | buffers / buffer | hdata: buffer
| Buffer unhidden. | Unhide buffer.
| _buffer_unhidden | buffers / buffer | hdata: buffer |
Buffer unhidden. | Unhide buffer.
| _buffer_renamed | buffers / buffer | hdata: buffer
| Buffer renamed. | Rename buffer.
| _buffer_renamed | buffers / buffer | hdata: buffer |
Buffer renamed. | Rename buffer.
| _buffer_title_changed | buffers / buffer | hdata: buffer
| Title of buffer changed. | Change title of buffer.
| _buffer_title_changed | buffers / buffer | hdata: buffer |
Title of buffer changed. | Change title of buffer.
| _buffer_localvar_added | buffers / buffer | hdata: buffer
| Local variable added. | Add local variable in buffer.
| _buffer_localvar_added | buffers / buffer | hdata: buffer |
Local variable added. | Add local variable in buffer.
| _buffer_localvar_changed | buffers / buffer | hdata: buffer
| Local variable changed. | Change local variable in buffer.
| _buffer_localvar_changed | buffers / buffer | hdata: buffer |
Local variable changed. | Change local variable in buffer.
| _buffer_localvar_removed | buffers / buffer | hdata: buffer
| Local variable removed. | Remove local variable from buffer.
| _buffer_localvar_removed | buffers / buffer | hdata: buffer |
Local variable removed. | Remove local variable from buffer.
| _buffer_closing | buffers / buffer | hdata: buffer
| Buffer closing. | Close buffer.
| _buffer_closing | buffers / buffer | hdata: buffer |
Buffer closing. | Close buffer.
| _buffer_cleared | buffer | hdata: buffer
| Buffer cleared. | Clear buffer.
| _buffer_cleared | buffer | hdata: buffer |
Buffer cleared. | Clear buffer.
| _buffer_line_added | buffer | hdata: line
| Line added in buffer. | Display line in buffer.
| _buffer_line_added | buffer | hdata: line |
Line added in buffer. | Display line in buffer.
| _nicklist | nicklist | hdata: nicklist_item
| Nicklist for a buffer. | Replace nicklist.
| _nicklist | nicklist | hdata: nicklist_item |
Nicklist for a buffer. | Replace nicklist.
| _nicklist_diff | nicklist | hdata: nicklist_item
| Nicklist diffs for a buffer . | Update nicklist.
| _nicklist_diff | nicklist | hdata: nicklist_item |
Nicklist diffs for a buffer . | Update nicklist.
| _pong | (always) | string: ping arguments
| Answer to a "ping". | Measure response time.
| _pong | (always) | string: ping arguments |
Answer to a "ping". | Measure response time.
| _upgrade | upgrade | (empty)
| WeeChat is upgrading. | Desync from WeeChat (or disconnect).
| _upgrade | upgrade | (empty) |
WeeChat is upgrading. | Desync from WeeChat (or disconnect).
| _upgrade_ended | upgrade | (empty)
| Upgrade of WeeChat done. | Sync/resync with WeeChat.
| _upgrade_ended | upgrade | (empty) |
Upgrade of WeeChat done. | Sync/resync with WeeChat.
|===
[[message_buffer_opened]]
@@ -2335,7 +2331,7 @@ commands sent on startup after the _init_.
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
| chr | Signed char | 1 byte
+144 -180
View File
@@ -11,8 +11,8 @@
This manual documents WeeChat chat client, it is part of WeeChat.
Latest version of this document can be found on
https://weechat.org/doc/[this page ^↗^,window=_blank].
Latest version of this document can be found on this page:
https://weechat.org/doc
[[introduction]]
@@ -61,7 +61,7 @@ function, this can crash WeeChat. +
If something must be run in background, the function `+hook_process+` can be used.
See example in the chapter <<hook_process,Run a background process>>
and the documentation on the function `+hook_process+` in the
link:weechat_plugin_api.en.html#_hook_process[WeeChat plugin API reference ^↗^,window=_blank].
link:weechat_plugin_api.en.html#_hook_process[WeeChat plugin API reference].
[[languages_specificities]]
=== Languages specificities
@@ -74,7 +74,7 @@ link:weechat_plugin_api.en.html#_hook_process[WeeChat plugin API reference ^↗
WeeChat defines a `weechat` module which must be imported with `import weechat`. +
A Python stub for WeeChat API is available in the repository:
https://raw.githubusercontent.com/weechat/weechat/master/src/plugins/python/weechat.pyi[weechat.pyi ^↗^,window=_blank].
https://raw.githubusercontent.com/weechat/weechat/master/src/plugins/python/weechat.pyi[weechat.pyi].
[[python_functions]]
===== Functions
@@ -99,38 +99,38 @@ receive a string of type `str` or `bytes` (this list is not exhaustive):
|===
| API function | Arguments | Examples | Description
| hook_modifier
| irc_in_yyy
| pass:[irc_in_privmsg] +
pass:[irc_in_notice]
| A message received in IRC plugin, before it is decoded to UTF-8 (used
| hook_modifier |
irc_in_yyy |
pass:[irc_in_privmsg] +
pass:[irc_in_notice] |
A message received in IRC plugin, before it is decoded to UTF-8 (used
internally). +
+
It is recommended to use modifier `+irc_in2_yyy+` instead, the string received
is always UTF-8 valid. +
See function `+hook_modifier+` in the
link:weechat_plugin_api.en.html#_hook_modifier[WeeChat plugin API reference ^↗^,window=_blank].
link:weechat_plugin_api.en.html#_hook_modifier[WeeChat plugin API reference].
| hook_signal
| xxx,irc_out_yyy +
xxx,irc_outtags_yyy
| pass:[*,irc_out_privmsg] +
| hook_signal |
xxx,irc_out_yyy +
xxx,irc_outtags_yyy |
pass:[*,irc_out_privmsg] +
pass:[*,irc_out_notice] +
pass:[*,irc_outtags_privmsg] +
pass:[*,irc_outtags_notice]
| A message sent by IRC plugin, after it is encoded to the `encode` charset
pass:[*,irc_outtags_notice] |
A message sent by IRC plugin, after it is encoded to the `encode` charset
defined by the user (if different from the default `UTF-8`). +
+
It is recommended to use signal `+xxx,irc_out1_yyy+` instead, the string received
is always UTF-8 valid. +
See function `+hook_signal+` in the
link:weechat_plugin_api.en.html#_hook_signal[WeeChat plugin API reference ^↗^,window=_blank].
link:weechat_plugin_api.en.html#_hook_signal[WeeChat plugin API reference].
| hook_process +
hook_process_hashtable
| -
| -
| Output of the command, sent to the callback, can contain invalid UTF-8 data.
hook_process_hashtable |
- |
- |
Output of the command, sent to the callback, can contain invalid UTF-8 data.
|===
@@ -195,12 +195,6 @@ 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]]
==== Guile (Scheme)
@@ -376,7 +370,7 @@ directory is automatically created.
== Differences with C API
Script API is almost the same as C plugin API.
You can look at link:weechat_plugin_api.en.html[WeeChat plugin API reference ^↗^,window=_blank]
You can look at link:weechat_plugin_api.en.html[WeeChat plugin API reference]
for detail about each function in API: prototype, arguments, return values, examples.
It's important to make difference between a _plugin_ and a _script_: a
@@ -543,25 +537,25 @@ weechat_hook_timer(1000, 0, 1, $timer_cb, 'test');
== Script API
For more information about functions in API, please read the
link:weechat_plugin_api.en.html[WeeChat plugin API reference ^↗^,window=_blank].
link:weechat_plugin_api.en.html[WeeChat plugin API reference].
[[script_api_functions]]
=== Functions
List of functions in script API:
[width="100%",cols="1,5",options="header"]
[width="100%",cols="1,3",options="header"]
|===
| Category | Functions
| general
| register
| general |
register
| plugins
| plugin_get_name
| plugins |
plugin_get_name
| strings
| charset_set +
| strings |
charset_set +
iconv_to_internal +
iconv_from_internal +
gettext +
@@ -580,13 +574,13 @@ List of functions in script API:
string_eval_expression +
string_eval_path_home
| directories
| mkdir_home +
| directories |
mkdir_home +
mkdir +
mkdir_parents
| sorted lists
| list_new +
| sorted lists |
list_new +
list_add +
list_search +
list_search_pos +
@@ -602,8 +596,8 @@ List of functions in script API:
list_remove_all +
list_free
| configuration files
| config_new +
| configuration files |
config_new +
config_new_section +
config_search_section +
config_new_option +
@@ -640,21 +634,20 @@ List of functions in script API:
config_set_desc_plugin +
config_unset_plugin
| key bindings
| key_bind +
| key bindings |
key_bind +
key_unbind
| display
| prefix +
| display |
prefix +
color +
print (for python: prnt) +
print_date_tags (for python: prnt_date_tags) +
print_y (for python: prnt_y) +
print_y_date_tags (for python: prnt_y_date_tags) +
log_print
| hooks
| hook_command +
| hooks |
hook_command +
hook_command_run +
hook_timer +
hook_fd +
@@ -679,9 +672,8 @@ List of functions in script API:
unhook +
unhook_all
| buffers
| buffer_new +
buffer_new_props +
| buffers |
buffer_new +
current_buffer +
buffer_search +
buffer_search_main +
@@ -696,16 +688,16 @@ List of functions in script API:
buffer_string_replace_local_var +
buffer_match_list
| windows
| current_window +
| windows |
current_window +
window_search_with_buffer +
window_get_integer +
window_get_string +
window_get_pointer +
window_set_title
| nicklist
| nicklist_add_group +
| nicklist |
nicklist_add_group +
nicklist_search_group +
nicklist_add_nick +
nicklist_search_nick +
@@ -721,8 +713,8 @@ List of functions in script API:
nicklist_nick_get_pointer +
nicklist_nick_set
| bars
| bar_item_search +
| bars |
bar_item_search +
bar_item_new +
bar_item_update +
bar_item_remove +
@@ -732,23 +724,23 @@ List of functions in script API:
bar_update +
bar_remove
| commands
| command +
| commands |
command +
command_options
| completion
| completion_new +
| completion |
completion_new +
completion_search +
completion_get_string +
completion_list_add +
completion_free
| infos
| info_get +
| infos |
info_get +
info_get_hashtable
| infolists
| infolist_new +
| infolists |
infolist_new +
infolist_new_item +
infolist_new_var_integer +
infolist_new_var_string +
@@ -766,8 +758,8 @@ List of functions in script API:
infolist_time +
infolist_free
| hdata
| hdata_get +
| hdata |
hdata_get +
hdata_get_var_offset +
hdata_get_var_type_string +
hdata_get_var_array_size +
@@ -788,8 +780,8 @@ List of functions in script API:
hdata_update +
hdata_get_string
| upgrade
| upgrade_new +
| upgrade |
upgrade_new +
upgrade_write_object +
upgrade_read +
upgrade_close
@@ -800,17 +792,17 @@ List of functions 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
| return codes
| `WEECHAT_RC_OK` (integer) +
| return codes |
`WEECHAT_RC_OK` (integer) +
`WEECHAT_RC_OK_EAT` (integer) +
`WEECHAT_RC_ERROR` (integer)
| configuration files
| `WEECHAT_CONFIG_READ_OK` (integer) +
| configuration files |
`WEECHAT_CONFIG_READ_OK` (integer) +
`WEECHAT_CONFIG_READ_MEMORY_ERROR` (integer) +
`WEECHAT_CONFIG_READ_FILE_NOT_FOUND` (integer) +
`WEECHAT_CONFIG_WRITE_OK` (integer) +
@@ -825,23 +817,23 @@ List of constants in script API:
`WEECHAT_CONFIG_OPTION_UNSET_OK_REMOVED` (integer) +
`WEECHAT_CONFIG_OPTION_UNSET_ERROR` (integer)
| sorted lists
| `WEECHAT_LIST_POS_SORT` (string) +
| sorted lists |
`WEECHAT_LIST_POS_SORT` (string) +
`WEECHAT_LIST_POS_BEGINNING` (string) +
`WEECHAT_LIST_POS_END` (string)
| hotlist
| `WEECHAT_HOTLIST_LOW` (string) +
| hotlist |
`WEECHAT_HOTLIST_LOW` (string) +
`WEECHAT_HOTLIST_MESSAGE` (string) +
`WEECHAT_HOTLIST_PRIVATE` (string) +
`WEECHAT_HOTLIST_HIGHLIGHT` (string)
| hook process
| `WEECHAT_HOOK_PROCESS_RUNNING` (integer) +
| hook process |
`WEECHAT_HOOK_PROCESS_RUNNING` (integer) +
`WEECHAT_HOOK_PROCESS_ERROR` (integer)
| hook connect
| `WEECHAT_HOOK_CONNECT_OK` (integer) +
| hook connect |
`WEECHAT_HOOK_CONNECT_OK` (integer) +
`WEECHAT_HOOK_CONNECT_ADDRESS_NOT_FOUND` (integer) +
`WEECHAT_HOOK_CONNECT_IP_ADDRESS_NOT_FOUND` (integer) +
`WEECHAT_HOOK_CONNECT_CONNECTION_REFUSED` (integer) +
@@ -853,8 +845,8 @@ List of constants in script API:
`WEECHAT_HOOK_CONNECT_TIMEOUT` (integer) +
`WEECHAT_HOOK_CONNECT_SOCKET_ERROR` (integer)
| hook signal
| `WEECHAT_HOOK_SIGNAL_STRING` (string) +
| hook signal |
`WEECHAT_HOOK_SIGNAL_STRING` (string) +
`WEECHAT_HOOK_SIGNAL_INT` (string) +
`WEECHAT_HOOK_SIGNAL_POINTER` (string)
|===
@@ -864,7 +856,7 @@ List of constants in script API:
This chapter shows some common tasks, with examples.
Only partial things in API are used here, for full reference, see the
link:weechat_plugin_api.en.html[WeeChat plugin API reference ^↗^,window=_blank].
link:weechat_plugin_api.en.html[WeeChat plugin API reference].
[[buffers]]
=== Buffers
@@ -883,7 +875,7 @@ Examples:
weechat.prnt("", "hello")
# 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")
# 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
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,
it is the return code of command.
For the last call to your callback, _rc_ is set to 0 or positive value, it's
return code of command.
Example:
[source,python]
----
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)
process_output = ""
def my_process_cb(data, command, rc, out, err):
global process_output
if out != "":
process_output += out
if int(rc) >= 0:
weechat.prnt("", process_output)
return weechat.WEECHAT_RC_OK
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
@@ -1117,15 +1082,15 @@ in callback (standard output of process):
[source,python]
----
# Display latest stable version of WeeChat.
weechat_latest_version = ""
# Display current stable version of WeeChat.
weechat_version = ""
def weechat_process_cb(data, command, return_code, out, err):
global weechat_latest_version
if out:
weechat_latest_version += out
if return_code >= 0:
weechat.prnt("", "Latest WeeChat version: %s" % weechat_latest_version)
def weechat_process_cb(data, command, rc, out, err):
global weechat_version
if out != "":
weechat_version += out
if int(rc) >= 0:
weechat.prnt("", "Current WeeChat stable is: %s" % weechat_version)
return weechat.WEECHAT_RC_OK
weechat.hook_process("url:https://weechat.org/dev/info/stable/",
@@ -1133,17 +1098,16 @@ weechat.hook_process("url:https://weechat.org/dev/info/stable/",
----
[TIP]
All infos available about WeeChat are on
https://weechat.org/dev/info/[this page ^↗^,window=_blank].
All infos available about WeeChat are on page https://weechat.org/dev/info
Example of URL transfer with an option: download latest WeeChat development
package in file _/tmp/weechat-devel.tar.gz_:
[source,python]
----
def my_process_cb(data, command, return_code, out, err):
if return_code >= 0:
weechat.prnt("", "End of transfer (return code = %d)" % return_code)
def my_process_cb(data, command, rc, out, err):
if int(rc) >= 0:
weechat.prnt("", "End of transfer (rc=%s)" % rc)
return weechat.WEECHAT_RC_OK
weechat.hook_process_hashtable("url:https://weechat.org/files/src/weechat-devel.tar.gz",
@@ -1153,7 +1117,7 @@ weechat.hook_process_hashtable("url:https://weechat.org/files/src/weechat-devel.
For more information about URL transfer and available options, see functions
`+hook_process+` and `+hook_process_hashtable+` in
link:weechat_plugin_api.en.html#_hook_process[WeeChat plugin API reference ^↗^,window=_blank].
link:weechat_plugin_api.en.html#_hook_process[WeeChat plugin API reference].
[[config_options]]
=== Config / options
@@ -1309,61 +1273,61 @@ The result is a hashtable with following keys
|===
| Key | Since WeeChat ^(1)^ | Description | Example
| tags | 0.4.0
| The tags in message (can be empty).
| `+time=2015-06-27T16:40:35.000Z+`
| tags | 0.4.0 |
The tags in message (can be empty). |
`+time=2015-06-27T16:40:35.000Z+`
| tag_xxx | 3.3
| Unescaped value of tag "xxx" (one key per tag).
| `+2015-06-27T16:40:35.000Z+`
| tag_xxx | 3.3 |
Unescaped value of tag "xxx" (one key per tag). |
`+2015-06-27T16:40:35.000Z+`
| message_without_tags | 0.4.0
| The message without the tags (the same as message if there are no tags).
| `+:nick!user@host PRIVMSG #weechat :hello!+`
| message_without_tags | 0.4.0 |
The message without the tags (the same as message if there are no tags). |
`+:nick!user@host PRIVMSG #weechat :hello!+`
| nick | 0.3.4
| The origin nick.
| `+nick+`
| nick | 0.3.4 |
The origin nick. |
`+nick+`
| user | 2.7
| The origin user.
| `+user+`
| user | 2.7 |
The origin user. |
`+user+`
| host | 0.3.4
| The origin host (includes the nick).
| `+nick!user@host+`
| host | 0.3.4 |
The origin host (includes the nick). |
`+nick!user@host+`
| command | 0.3.4
| The command (_PRIVMSG_, _NOTICE_, ...).
| `+PRIVMSG+`
| command | 0.3.4 |
The command (_PRIVMSG_, _NOTICE_, ...). |
`+PRIVMSG+`
| channel | 0.3.4
| The target channel.
| `+#weechat+`
| channel | 0.3.4 |
The target channel. |
`+#weechat+`
| arguments | 0.3.4
| The command arguments (includes the channel).
| `+#weechat :hello!+`
| arguments | 0.3.4 |
The command arguments (includes the channel). |
`+#weechat :hello!+`
| text | 1.3
| The text (for example user message).
| `+hello!+`
| text | 1.3 |
The text (for example user message). |
`+hello!+`
| pos_command | 1.3
| The index of _command_ in message ("-1" if _command_ was not found).
| `+47+`
| pos_command | 1.3 |
The index of _command_ in message ("-1" if _command_ was not found). |
`+47+`
| pos_arguments | 1.3
| The index of _arguments_ in message ("-1" if _arguments_ was not found).
| `+55+`
| pos_arguments | 1.3 |
The index of _arguments_ in message ("-1" if _arguments_ was not found). |
`+55+`
| pos_channel | 1.3
| The index of _channel_ in message ("-1" if _channel_ was not found).
| `+55+`
| pos_channel | 1.3 |
The index of _channel_ in message ("-1" if _channel_ was not found). |
`+55+`
| pos_text | 1.3
| The index of _text_ in message ("-1" if _text_ was not found).
| `+65+`
| pos_text | 1.3 |
The index of _text_ in message ("-1" if _text_ was not found). |
`+65+`
|===
[NOTE]
+131
View File
@@ -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!
+2855 -3353
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -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.
#
+1 -1
View File
@@ -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.
#
+33 -86
View File
@@ -36,9 +36,7 @@ no se aplican a WeeChat!).
Porque WeeChat es muy ligero y ofrece funcionalidades innovadoras.
// TRANSLATION MISSING
More info on the WeeChat
https://weechat.org/about/features/[features page ^↗^,window=_blank].
Más información de las funcionalidades de WeeChat en la página: https://weechat.org/about/features
[[compilation_install]]
== Compilación / instalación
@@ -46,17 +44,16 @@ https://weechat.org/about/features/[features page ^↗^,window=_blank].
[[gui]]
=== ¿He oido que hay muchas interfaces gráficas de susuario (GUI) para WeeChat. ¿Cómo puedo compilarlas o usarlas?
// TRANSLATION MISSING
Some remote GUIs are available, see the
https://weechat.org/about/interfaces/[remote interfaces page ^↗^,window=_blank].
Hay disponibles algunas GUIs, eche un vistazo a la página de interfaces remotas:
https://weechat.org/about/interfaces
[[compile_git]]
=== No puedo compilar WeeChat después de haber clonado el repositorio git, ¿por qué?
La manera recomendada para compilar WeeChat es con
link:weechat_user.en.html#compile_with_cmake[CMake ^↗^,window=_blank].
link:weechat_user.en.html#compile_with_cmake[CMake].
Si lo está compilando con link:weechat_user.en.html#compile_with_autotools[autotools ^↗^,window=_blank]
Si lo está compilando con link:weechat_user.en.html#compile_with_autotools[autotools]
(y no con CMake), compruebe que tiene la versión más reciente de autoconf y automake.
Otra forma es instalar "devel package", que necesita menos dependencias.
@@ -67,8 +64,7 @@ que la opción de clonar el repositorio de git a la hora de instalar actualizaci
[[compile_macos]]
=== ¿Cómo puedo instalar WeeChat en macOS?
Se recomienda utilizar https://brew.sh/[Homebrew ^↗^,window=_blank],
puede obtener ayuda con el comando:
Se recomienda utilizar https://brew.sh/[Homebrew], puede obtener ayuda con el comando:
----
brew info weechat
@@ -84,12 +80,12 @@ brew install weechat
=== He lanzado WeeChat, pero estoy perdido, ¿qué puedo hacer?
Para consultar la ayuda, escriba `/help`. Para buscar ayuda con un comando, escriba `/help comando`.
link:weechat_user.en.html#key_bindings[Las teclas ^↗^,window=_blank] y
link:weechat_user.en.html#commands_and_options[comandos ^↗^,window=_blank] aparecen listados
link:weechat_user.en.html#key_bindings[Las teclas] y
link:weechat_user.en.html#commands_and_options[comandos] aparecen listados
en la documentación.
Se recomienda a las personas recién llegadas leer la
link:weechat_quickstart.es.html[guía rápida ^↗^,window=_blank].
link:weechat_quickstart.es.html[guía rápida].
[[display]]
== Visualización
@@ -117,7 +113,7 @@ Es un problema común con una variedad de causas, por favor lea detenidamente y
** Si está utilizando el multiplexador screen, compruebe que lo está ejecuando con el modo UTF-8
("`defutf8 on`" en ~/.screenrc o `screen -U` al ejecutar screen).
* Compruebe si la opción
link:weechat_user.en.html#option_weechat.look.eat_newline_glitch[_weechat.look.eat_newline_glitch_ ^↗^,window=_blank]
link:weechat_user.en.html#option_weechat.look.eat_newline_glitch[_weechat.look.eat_newline_glitch_]
está en off (esta opción puede causar errores a la hora de mostrar el texto).
[NOTE]
@@ -132,11 +128,10 @@ Esto puede estar causado por un error en libc en la función _wcwidth_, que debe
en glibc 2.22 (quizás todavía no está disponible en su distribución).
Hay una solución temporal que es utilizar una función de _wcwidth_ sin ese error:
https://blog.nytsoi.net/2015/05/04/emoji-support-for-weechat[https://blog.nytsoi.net/2015/05/04/emoji-support-for-weechat ^↗^,window=_blank].
https://blog.nytsoi.net/2015/05/04/emoji-support-for-weechat
// TRANSLATION MISSING
See this https://github.com/weechat/weechat/issues/79[bug report ^↗^,window=_blank]
for more information.
Vea este reporte de error para más información:
https://github.com/weechat/weechat/issues/79
[[bars_background]]
=== Las barras del título y de estado no aparecen rellenadas, el color de fondo desaparece después del texto, ¿por qué?
@@ -193,7 +188,7 @@ ventanas.
[[buffers_list]]
=== ¿Cómo mostrar un listado de los buffers en la parte izquierda?
Con WeeChat ≥ 1.8, el complemento link:weechat_user.en.html#buflist[buflist ^↗^,window=_blank]
Con WeeChat ≥ 1.8, el complemento link:weechat_user.en.html#buflist_plugin[buflist]
está cargado y habilitado de manera predeterminada.
Con versiones anteriores, puede instalar el script _buffers.pl_:
@@ -261,9 +256,8 @@ como `237` para gris oscuro.
El complemento del listado de buffers _buflist_ ofrece múltiples opciones que puede configurar, por favor lea
la ayuda de cada opción.
// TRANSLATION MISSING
There's also a https://github.com/weechat/weechat/wiki/buflist[wiki page ^↗^,window=_blank]
with examples of advanced buflist configuration.
También hay una página wiki con ejemplos de configuraciones más completas:
https://github.com/weechat/weechat/wiki/buflist
[[customize_prefix]]
=== ¿Cómo puedo reducir la longitud de los apodos o eliminar la alineación de los apodos en el área del chat?
@@ -306,7 +300,7 @@ Estos colores pueden ser cambiados con las opciones __weechat.color.status_data_
(buffers) y __weechat.color.status_count_*__ (contadores). +
Otras opciones de la lista rápida o _hotlist_ pueden ser cambiadas con las opciones __weechat.look.hotlist_*__.
Vea la link:weechat_user.en.html#screen_layout[Guía de usuario / diseño de la pantalla ^↗^,window=_blank] para
Vea la link:weechat_user.en.html#screen_layout[Guía de usuario / diseño de la pantalla] para
más información sobre este tema.
[[input_bar_size]]
@@ -471,7 +465,7 @@ Para la versión 0.3.4, deberá utilizar el comando `/color` para añadir nuevos
Para versiones ≥ 0.3.5, puede utilizar cualquier número de color en las opciones (opcional: puede
añadir alias al color con el comando `/color`).
Por favor lea la link:weechat_user.en.html#colors[Guía del usuario / Colores ^↗^,window=_blank] para más
Por favor lea la link:weechat_user.en.html#colors[Guía del usuario / Colores] para más
información sobre la gestión de los colores.
[[search_text]]
@@ -480,8 +474,8 @@ información sobre la gestión de los colores.
La tecla predeterminada es kbd:[Ctrl+r] (el comando es: `+/input texto_a_buscar_aquí+`).
Y para saltar a los textos resaltados: kbd:[Alt+p] / kbd:[Alt+n].
Vea la link:weechat_user.en.html#key_bindings[Guía del usuario / Atajos de teclado ^↗^,window=_blank]
para más información sobre esta funcionalidad.
Vea la link:weechat_user.en.html#key_bindings[Guía del usuario / Atajos de teclado] para más
información sobre esta funcionalidad.
[[terminal_focus]]
=== ¿Cómo puedo ejecutar comandos cuando la terminal tiene o pierde el foco?
@@ -654,7 +648,7 @@ Puede crear un atajo de teclado, por ejemplo:
----
Tiene una lista de las teclas predeterminadas en la
link:weechat_user.en.html#key_bindings[Guía del usuario / Atajos de teclado ^↗^,window=_blank].
link:weechat_user.en.html#key_bindings[Guía del usuario / Atajos de teclado].
Para saltar a un buffer mayor de 100, podría definir un disparador y después utilizar
comandos como `/123` para saltar al buffer #123:
@@ -838,42 +832,8 @@ unirse a los canales):
[[edit_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_dynamic on
----
// TRANSLATION MISSING
For a single server:
----
/set irc.server.libera.autojoin_dynamic on
----
// TRANSLATION MISSING
With WeeChat ≥ 3.5, you can also add the current channel in the "autojoin"
server option using the `/autojoin` command:
----
/autojoin add
----
// TRANSLATION MISSING
Or another channel:
----
/autojoin add #test
----
// TRANSLATION MISSING
With WeeChat ≤ 3.4, puede utilizar el comando `/set` para editar la lista de
canales con autojoin, por ejemplo, para el servidor "libera":
Puede utilizar el comando `/set` para editar la lista de canales con autojoin,
por ejemplo, para el servidor "libera":
----
/set irc.server.libera.autojoin [TAB]
@@ -890,8 +850,7 @@ También puede utilizar el comando `/fset` para editar la lista de canales:
/fset autojoin
----
// TRANSLATION MISSING
With WeeChat ≤ 3.4, otra solución es utilizar un script:
Otra solución es utilizar un script:
----
/script search autojoin
@@ -931,7 +890,7 @@ Con un filtro global (oculta *todos* los mensajes join/part/quit):
[NOTE]
Para más ayuda: `/help filter`, `+/help irc.look.smart_filter+` y vea la
link:weechat_user.en.html#irc_smart_filter_join_part_quit[Guía del usuario / Filtros inteligente para mensajes join/part/quit ^↗^,window=_blank].
link:weechat_user.en.html#irc_smart_filter_join_part_quit[Guía del usuario / Filtros inteligente para mensajes join/part/quit].
[[filter_irc_join_channel_messages]]
=== ¿Cómo puedo filtrar algunos mensajes mostrados cuando me uno a un canal IRC?
@@ -1029,7 +988,7 @@ Otros scripts para este tema:
=== ¿Cómo puedo inhabilitar las menciones de unos apodos específicos?
Con WeeChat ≥ 0.3.4 puede utilizar
link:weechat_user.en.html#max_hotlist_level_nicks[hotlist_max_level_nicks_add ^↗^,window=_blank]
link:weechat_user.en.html#max_hotlist_level_nicks[hotlist_max_level_nicks_add]
esta propiedad del buffer para configurar el nivel máximo de la hotlist para algunos apodos, por buffer,
o por grupo de buffers (como servidores IRC).
@@ -1127,15 +1086,6 @@ $ cd ~/.cache/weechat/script
$ 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]]
=== Instalé los diccionarios aspell en mi sistema, ¿cómo puedo utilizarlos sin necesidad de reiniciar WeeChat?
@@ -1233,7 +1183,7 @@ Elimine de la memoria e inhabilite la carga automática del complemento "xfer" (
Defina una frase de paso y utilice datos seguros cada vez que pueda para datos sensibles
como contraseñas: vea `/help secure` y `/help` en las opciones
(si puede utilice datos seguros, está escrito en la ayuda).
Ver también link:weechat_user.en.html#secured_data[Guía del usuario / Datos seguros ^↗^,window=_blank].
Ver también link:weechat_user.en.html#secured_data[Guía del usuario / Datos seguros].
Por ejemplo:
@@ -1254,7 +1204,7 @@ contiene sus contraseñas cifradas con su frase de paso.
Algunos otros archivos pueden contener información sensible como contraseñas (si no están
almacenadas en _sec.conf_ con el comando `/secure`).
Vea la link:weechat_user.en.html#files_and_directories[Guía del usuario / Archivos y directorios ^↗^,window=_blank]
Vea la link:weechat_user.en.html#files_and_directories[Guía del usuario / Archivos y directorios]
para más información relacionada con los archivos de configuración.
[[development]]
@@ -1263,8 +1213,7 @@ para más información relacionada con los archivos de configuración.
[[bug_task_patch]]
=== ¿Cómo podría informar de errores, pedir nuevas funcionalidades o enviar parches?
// TRANSLATION MISSING
See https://weechat.org/about/support/[this page ^↗^,window=_blank].
Vea: https://weechat.org/about/support
[[gdb_error_threads]]
=== Cuando ejecuto WeeChat bajo gdb, hay un error con la muestra de las conversaciones, ¿qué puedo hacer?
@@ -1300,13 +1249,11 @@ algunos sistemas operativos en los que no podemos probar WeeChat.
Hay muchas tareas que hacer (probar, escribir código, documentación, etc.)
// TRANSLATION MISSING
Please contact us via IRC or mail, look at
https://weechat.org/about/support/[support page ^↗^,window=_blank].
Por favor, contacte con nosotros mediante IRC o correo electrónico, eche un vistazo a la página de soporte:
https://weechat.org/about/support
[[donate]]
=== ¿Puedo donar dinero u otras cosas a las personas que desarrollan WeeChat?
// TRANSLATION MISSING
You can give us money to help development.
Details on https://weechat.org/donate/[donation page ^↗^,window=_blank].
Puede donar dinero para ayudar en el desarrollo.
Más detalles en https://weechat.org/donate
+8 -23
View File
@@ -207,17 +207,10 @@ Para unirse automáticamente a canales cuando el servidor se conecte:
/set irc.server.libera.autojoin "#uncanal,#otrocanal"
----
// TRANSLATION MISSING
The `/autojoin` command lets you configure the _autojoin_ option easily
(see `/help autojoin`).
// TRANSLATION MISSING
You can also configure WeeChat to automatically update the _autojoin_ option
when you join or leave channels:
----
/set irc.server_default.autojoin_dynamic on
----
[TIP]
Puede completar el nombre y el valor de las opciones con la tecla kbd:[Tab]
y kbd:[Shift+Tab] para un autocompletado parcial (útil para palabras largas como
el nombre de la opción).
Para eliminar un valor asignado a una opción de servidor y usar los
valores predeterminados en su lugar, por ejemplo, usar el nick predeterminado
@@ -234,11 +227,6 @@ donde "xxx" es el nombre de la opción.
/set irc.server.libera.xxx valor
----
[TIP]
Puede completar el nombre y el valor de las opciones con la tecla kbd:[Tab]
y kbd:[Shift+Tab] para un autocompletado parcial (útil para palabras largas como
el nombre de la opción).
[[connect_to_irc_server]]
== Conectarse a un servidor IRC
@@ -402,16 +390,13 @@ por ejemplo:
Vea `/help script` para obtener más información.
// TRANSLATION MISSING
A list of scripts is available in WeeChat with `/script` or on
https://weechat.org/scripts/[this page ^↗^,window=_blank].
Hay una lista de scripts disponibles en WeeChat mediante el comando `/script` o en este enlace:
https://weechat.org/scripts
[[more_doc]]
== Más documentación
// TRANSLATION MISSING
You can now use WeeChat and read
https://weechat.org/doc/[FAQ/documentation ^↗^,window=_blank]
for any other questions.
Ahora puede usar WeeChat y leer las FAQ/documentación para cada pregunta
en: https://weechat.org/doc
¡Disfrute de WeeChat!
+14 -1
View File
@@ -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.
#
@@ -122,6 +122,19 @@ if(ENABLE_DOC)
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})
# 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
add_custom_command(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/weechat_relay_protocol.fr.html
+7 -1
View File
@@ -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>
#
# This file is part of WeeChat, the extensible chat client.
@@ -29,6 +29,7 @@ EXTRA_DIST = CMakeLists.txt \
weechat_scripting.fr.adoc \
weechat_faq.fr.adoc \
weechat_quickstart.fr.adoc \
weechat_tester.fr.adoc \
weechat_relay_protocol.fr.adoc \
weechat_dev.fr.adoc \
includes/autogen_api_completions.fr.adoc \
@@ -57,6 +58,7 @@ if DOC
weechat_scripting.fr.html \
weechat_faq.fr.html \
weechat_quickstart.fr.html \
weechat_tester.fr.html \
weechat_relay_protocol.fr.html \
weechat_dev.fr.html
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
$(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
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
@@ -26,8 +26,6 @@
| 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_modelist_masks | masques de la liste de modes du canal IRC courant ; argument obligatoire : mode de la liste de modes
@@ -94,8 +92,6 @@
| tcl | tcl_script | liste des scripts
| trigger | trigger_add_arguments | paramètres pour la commande qui ajoute un trigger : nom du trigger, hooks, paramètres du hook, conditions du hook, regex du hook, commande du hook, code retour du hook, actions "post"
| trigger | trigger_hook_arguments | paramètres par défaut pour un hook
| trigger | trigger_hook_command | commande par défaut pour un hook
@@ -150,14 +146,6 @@
| weechat | cursor_areas | zones ("chat" ou un nom de barre) pour le mouvement libre du curseur
| weechat | custom_bar_item_add_arguments | paramètres pour la commande qui ajoute un objet de barre personnalisé : nom de l'objet, conditions, contenu
| weechat | custom_bar_item_conditions | conditions pour l'objet de barre personnalisé
| weechat | custom_bar_item_contents | contenus pour l'objet de barre personnalisé
| weechat | custom_bar_items_names | noms des objets de barre personnalisés
| weechat | env_value | valeur d'une variable d'environnement
| weechat | env_vars | variables d'environnement
@@ -8,7 +8,7 @@
|===
| 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
+28 -105
View File
@@ -123,36 +123,6 @@ Exemples :
/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>...]]
apply
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
apply : définir 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
/allchan /autojoin add
/autojoin addraw #chan1,#chan2,#chan3 key1,key2
/autojoin del
/autojoin del #chan1
/autojoin apply
/autojoin sort
----
[[command_irc_ban]]
* `+ban+`: bannir des pseudos ou hôtes
@@ -1332,8 +1302,8 @@ Exemples :
----
/debug list
set <extension> <niveau>
dump|hooks [<extension>]
buffer|certs|color|dirs|infolists|libs|memory|tags|term|windows
dump [<extension>]
buffer|color|infolists|libs|certs|memory|tags|term|windows
cursor|mouse [verbose]
hdata [free]
time <commande>
@@ -1343,15 +1313,15 @@ Exemples :
extension : nom de l'extension ("core" pour le cœur de WeeChat)
niveau : niveau de debug pour l'extension
dump : afficher les variables mémoire WeeChat dans le fichier log (les mêmes messages sont affichés lorsque WeeChat plante)
hooks : afficher des infos sur les hooks (avec une extension : afficher les infos détaillées sur les hooks créés par l'extension)
buffer : afficher le contenu du tampon en valeurs hexadécimales dans le fichier log
certs : afficher le nombre de certificats des autorités de certification chargés
color : afficher des infos sur les paires de couleur courantes
cursor : activer/désactiver le debug pour le mode curseur
dirs : afficher les répertoires
hdata : afficher des infos sur les hdata (avec free : supprimer tous les hdata en mémoire)
hooks : afficher des infos sur les hooks
infolists : afficher des infos sur les infolists
libs : afficher des infos sur les bibliothèques externes utilisées
certs : afficher le nombre de certificats des autorités de certification chargés
memory : afficher des infos sur l'utilisation de la mémoire
mouse : activer/désactiver le debug pour la souris
tags : afficher les étiquettes pour les lignes
@@ -1409,30 +1379,28 @@ Des variables sont remplacées dans l'expression, en utilisant le format ${varia
3. une sous-chaîne évaluée (format : "eval:xxx")
4. une condition évaluée (format : "eval_cond:xxx")
5. une chaîne avec les caractères échappés (format : "esc:xxx" ou "\xxx")
6. une chaîne convertie en minuscules (format : "lower:xxx")
7. une chaîne convertie en majuscules (format : "upper:xxx")
8. une chaîne avec des caractères à cacher (format : "hide:caractère,chaîne")
9. une chaîne avec un maximum de caractères (format : "cut:max,suffixe,chaîne" ou "cut:+max,suffixe,chaîne")
6. une chaîne avec des caractères à cacher (format : "hide:caractère,chaîne")
7. une chaîne avec un maximum de caractères (format : "cut:max,suffixe,chaîne" ou "cut:+max,suffixe,chaîne")
ou un maximum de caractères affichés à l'écran (format : "cutscr:max,suffixe,chaîne" ou "cutscr:+max,suffixe,chaîne")
10. une chaîne inversée (format : "rev:xxx" ou "revscr:xxx")
11. une chaîne répétée (format : "repeat:nombre,chaîne")
12. longueur d'une chaîne (format : "length:xxx" ou "lengthscr:xxx")
13. découpage d'une chaîne (format : "split:nombre,séparateurs,flags,xxx")
14. découpage de paramètres shell (format : "split_shell:nombre,xxx")
15. une couleur (format : "color:xxx", voir la "Référence API extension", fonction "color")
16. un modificateur (format : "modifier:nom,données,chaîne")
17. une info (format : "info:nom,paramètres", les paramètres sont optionnels)
18. une chaîne encodée/decodée en base 16, 32 ou 64 (format : "base_encode:base,xxx" ou "base_decode:base,xxx")
19. la date/heure courante (format : "date" ou "date:format")
20. une variable d'environnement (format : "env:XXX")
21. un opérateur ternaire (format : "if:condition?valeur_si_vrai:valeur_si_faux")
22. le résultat d'une expression avec parenthèses et les opérateurs + - * / // % ** (format : "calc:xxx")
23. un nombre entier aléatoire (format : "random:min,max")
24. une chaîne traduite (format : "translate:xxx")
25. déclaration d'une variable utilisateur (format : "define:nom,valeur")
26. une option (format : "fichier.section.option")
27. une variable locale du tampon
28. un hdata/variable (la valeur est automatiquement convertie en chaîne), par défaut "window" et "buffer" pointent vers la fenêtre et le tampon courants.
8. une chaîne inversée (format : "rev:xxx" ou "revscr:xxx")
9. une chaîne répétée (format : "repeat:nombre,chaîne")
10. longueur d'une chaîne (format : "length:xxx" ou "lengthscr:xxx")
11. découpage d'une chaîne (format : "split:nombre,séparateurs,flags,xxx")
12. découpage de paramètres shell (format : "split_shell:nombre,xxx")
13. une couleur (format : "color:xxx", voir la "Référence API extension", fonction "color")
14. un modificateur (format : "modifier:nom,données,chaîne")
15. une info (format : "info:nom,paramètres", les paramètres sont optionnels)
16. une chaîne encodée/decodée en base 16, 32 ou 64 (format : "base_encode:base,xxx" ou "base_decode:base,xxx")
17. la date/heure courante (format : "date" ou "date:format")
18. une variable d'environnement (format : "env:XXX")
19. un opérateur ternaire (format : "if:condition?valeur_si_vrai:valeur_si_faux")
20. le résultat d'une expression avec parenthèses et les opérateurs + - * / // % ** (format : "calc:xxx")
21. un nombre entier aléatoire (format : "random:min,max")
22. une chaîne traduite (format : "translate:xxx")
23. déclaration d'une variable utilisateur (format : "define:nom,valeur")
24. une option (format : "fichier.section.option")
25. une variable locale du tampon
26. un hdata/variable (la valeur est automatiquement convertie en chaîne), par défaut "window" et "buffer" pointent vers la fenêtre et le tampon courants.
Le format du hdata peut être le suivant :
hdata.var1.var2... : démarrer avec un hdata (le pointeur doit être connu), et demander les variables l'une après l'autre (d'autres hdata peuvent être suivis)
hdata[liste].var1.var2... : démarrer avec un hdata en utilisant une liste/pointeur/nom de pointeur, par exemple :
@@ -1455,8 +1423,6 @@ Exemples (chaînes simples) :
/eval -n ${window.buffer.full_name} ==> core.weechat
/eval -n ${window.buffer.number} ==> 1
/eval -n ${\t} ==> <tab>
/eval -n ${lower:TEST} ==> test
/eval -n ${upper:test} ==> TEST
/eval -n ${hide:-,${relay.network.password}} ==> --------
/eval -n ${cut:3,+,test} ==> tes+
/eval -n ${cut:+3,+,test} ==> te+
@@ -1502,7 +1468,7 @@ Exemples (conditions) :
add|addreplace <nom> <tampon>[,<tampon>...] <étiquettes> <regex>
rename <nom> <nouveau_nom>
recreate <nom>
del <nom>|-all [<nom>...]
del <nom>|-all
list : lister tous les filtres
enable : activer les filtres (par défaut les filtres sont activés)
@@ -1651,49 +1617,6 @@ liste des actions :
Cette commande est utilisé par les associations de touches ou les extensions.
----
[[command_weechat_item]]
* `+item+`: gestion des objets de barre personnalisés
----
/item list
add|addreplace <nom> "<conditions>" "<contenu>"
rename <nom> <nouveau_nom>
refresh <nom> [<nom>...]
recreate <nom>
del <nom>|-all
list : lister tous les objets de barre personnalisés
add : ajouter un objet de barre personnalisé
addreplace : ajouter ou remplacer un objet de barre personnalisé existant
nom : nom de l'objet de barre personnalisé
conditions : conditions évaluées pour afficher l'objet de barre (par exemple pour afficher l'objet de barre seulement sur certains tampons)
contenu : contenu (évalué, voir /help eval)
rename : renommer un objet de barre personnalisé
refresh : mettre à jour le contenu d'un objet de barre personnalisé dans toutes les barres où l'objet est affiché ; tout objet peut être rafraîchi : défaut/extension/objets de barre personnalisés
recreate : définir la ligne de commande utilisée pour éditer l'objet de barre personnalisé
del : supprimer un objet de barre personnalisé
-all : supprimer tous les objets de barre personnalisés
Exemples :
ajouter un objet avec la taille du terminal, affiché seulement sur les tampons avec numéro = 1 :
/item add terminfo "${buffer.number} == 1" "term:${info:term_width}x${info:term_height}"
ajouter un objet avec des informations sur le tampon :
/item add bufinfo "" "${buffer.number}:${buffer.name}${if:${buffer.zoomed}?(Z)}"
ajouter un objet avec la date/heure en utilisant le format "Dec 25, 12:34 +0100", rafraîchi chaque minute :
/item add datetime "" "${date:%b %d, %H:%M %z}"
/trigger add datetime_refresh timer "60000;60" "" "" "/item refresh datetime"
ajouter un objet avec le nombre de lignes dans le tampon (affichées/total), rafraîchi à chaque nouvelle ligne affichée ou si les lignes filtrées ont changé :
/item add lines_count "" "${calc:${buffer.lines.lines_count}-${buffer.lines.lines_hidden}}/${buffer.lines.lines_count} lines"
/trigger add lines_count_refresh_print print "" "" "" "/item refresh lines_count"
/trigger add lines_count_refresh_signal signal "window_switch;buffer_switch;buffer_lines_hidden;filters_*" "" "" "/item refresh lines_count"
forcer le rafraîchissement de l'objet "lines_count" :
/item refresh lines_count
recréer l'objet "lines_count" avec différentes conditions ou contenu :
/item recreate lines_count
supprimer l'objet "lines_count" :
/item del lines_count
----
[[command_weechat_key]]
* `+key+`: associer/libérer des touches
@@ -1714,7 +1637,7 @@ listdefault : afficher les touches par défaut
contexte : nom du contexte ("default" ou "search")
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é
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
unbindctxt : supprimer l'association à une touche pour le contexte donné
reset : réinitialiser une touche à son association par défaut
@@ -2894,7 +2817,7 @@ protocole.nom : protocole et nom à relayer :
- protocole "weechat" (le nom n'est pas utilisé)
Le protocole "irc" permet à n'importe quel client IRC (incluant WeeChat lui-même) de se connecter sur le port.
Le protocole "weechat" permet à une interface distante de se connecter sur le port, voir la liste ici : https://weechat.org/about/interfaces/
Le protocole "weechat" permet à une interface distante de se connecter sur le port, voir la liste ici : https://weechat.org/about/interfaces
Sans paramètre, cette commande ouvre le tampon avec la liste des clients pour le relai.
+10 -10
View File
@@ -1290,6 +1290,12 @@
** valeurs: toute chaîne
** 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*
** description: pass:none[liste d'extensions de noms de fichiers pour les extensions (séparées par des virgules)]
** type: chaîne
@@ -2690,12 +2696,6 @@
** valeurs: toute chaîne
** 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*
** description: pass:none[reconnexion automatique au serveur après une déconnexion]
** type: booléen
@@ -3064,11 +3064,11 @@
** valeurs: -1 .. 43200
** valeur par défaut: `+0+`
* [[option_relay.network.compression]] *relay.network.compression*
** 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]
* [[option_relay.network.compression_level]] *relay.network.compression_level*
** 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
** valeurs: 0 .. 100
** valeur par défaut: `+20+`
** valeurs: 0 .. 9
** valeur par défaut: `+6+`
* [[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)]
+2 -2
View File
@@ -1,7 +1,7 @@
// tag::plugin_options[]
Pour une documentation complète sur les options des extensions, merci de
consulter la documentation des extensions dans le
https://weechat.org/doc/[guide utilisateur de WeeChat].
https://weechat.org/doc[guide utilisateur de WeeChat].
Avec l'extension irc, vous pouvez vous connecter à un serveur de manière
temporaire avec une URL, comme ceci :
@@ -102,7 +102,7 @@ $HOME/.local/share/weechat/weechat.log::
WeeChat est écrit par Sébastien Helleu et des contributeurs (la liste complète
est dans le fichier AUTHORS.adoc).
Copyright (C) 2003-2022 {author}
Copyright (C) 2003-2021 {author}
WeeChat est un logiciel libre ; vous pouvez le redistribuer et/ou le modifier
sous les termes de la GNU General Public License telle que publiée par la
+1 -1
View File
@@ -62,4 +62,4 @@ include::includes/man.fr.adoc[tag=copyright]
== SUPPORT / SIGNALER DES BUGS
Pour de l'aide ou signaler un bug : https://weechat.org/about/support/
Pour de l'aide ou signaler un bug : https://weechat.org/about/support
+1 -1
View File
@@ -58,4 +58,4 @@ include::includes/man.fr.adoc[tag=copyright]
== SUPPORT / SIGNALER DES BUGS
Pour de l'aide ou signaler un bug : https://weechat.org/about/support/
Pour de l'aide ou signaler un bug : https://weechat.org/about/support
+139 -236
View File
@@ -12,8 +12,8 @@
Ce manuel documente le client de messagerie instantanée WeeChat, il fait
partie de WeeChat.
La dernière version de ce document peut être téléchargée sur
https://weechat.org/doc/[cette page ^↗^,window=_blank].
La dernière version de ce document peut être téléchargée sur cette page :
https://weechat.org/doc
[[introduction]]
@@ -33,8 +33,8 @@ Ce manuel documente l'intérieur de WeeChat :
[[repositories]]
== Dépôts
Les dépôts de WeeChat sont dans l'organisation
https://github.com/weechat[weechat ^↗^,window=_blank] de GitHub.
Les dépôts de WeeChat sont dans l'organisation "weechat" de GitHub :
https://github.com/weechat
Liste des dépôts :
@@ -45,7 +45,7 @@ scripts::
les scripts _officiels_ soumis sur weechat.org
weechat.org::
le code source du https://weechat.org/[site de WeeChat ^↗^,window=_blank]
le code source du site de WeeChat : https://weechat.org/
weercd::
serveur de test IRC
@@ -286,7 +286,6 @@ Le cœur de WeeChat est situé dans les répertoires suivants :
|       irc-ignore.c | Ignore IRC.
|       irc-info.c | Info/infolists/hdata pour IRC.
|       irc-input.c | Entrée de commandes/texte.
|       irc-join.c | Fonctions pour les listes de canaux à rejoindre.
|       irc-message.c | Fonctions pour manipuler les messages IRC.
|       irc-mode.c | Fonctions pour les modes de canal/pseudo.
|       irc-modelist.c | Listes de modes de canaux IRC (+b, +e, +I, ...).
@@ -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-server.c | Communication avec le serveur IRC.
|       irc-tag.c | Fonctions pour manipuler les étiquettes de message IRC.
|       irc-typing.c | Statut d'écriture.
|       irc-upgrade.c | Sauvegarde/restauration des données IRC lors de la mise à jour de WeeChat.
|    javascript/ | Extension JavaScript.
|       weechat-js.cpp | Fonctions principales pour JavaScript (chargement/déchargement des scripts, exécution de code JavaScript).
@@ -393,68 +391,58 @@ Le cœur de WeeChat est situé dans les répertoires suivants :
[width="100%",cols="2m,3",options="header"]
|===
| Chemin/fichier | Description
| tests/ | Racine des tests.
|    tests.cpp | Programme utilisé pour lancer tous les tests.
|    scripts/ | Racine des tests de l'API script.
|       test-scripts.cpp | Programme utilisé pour lancer les tests de l'API script.
|       python/ | Scripts Python pour générer et lancer les tests de l'API script.
|          testapigen.py | Script Python générant des scripts dans tous les languages pour tester l'API script.
|          testapi.py | Script Python avec les tests API, utilisé par le script testapigen.py.
|          unparse.py | Conversion de code Python vers d'autres langages, utilisé par le script testapigen.py.
|    unit/ | Racine des tests unitaires.
|       test-plugins.cpp | Tests : extensions.
|       core/ | Racine des tests unitaires pour le cœur.
|          test-core-arraylist.cpp | Tests : listes avec tableau (« arraylists »).
|          test-core-calc.cpp | Tests : calcul d'expressions.
|          test-core-config-file.cpp | Tests : fichiers de configuration.
|          test-core-crypto.cpp | Tests : fonctions cryptographiques.
|          test-core-dir.cpp | Tests : répertoires/fichiers.
|          test-core-eval.cpp | Tests : évaluation d'expressions.
|          test-core-hashtble.cpp | Tests : tables de hachage.
|          test-core-hdata.cpp | Tests : hdata.
|          test-core-hook.cpp | Tests : hooks.
|          test-core-infolist.cpp | Tests : infolists.
|          test-core-list.cpp | Tests : listes.
|          test-core-network.cpp | Tests : fonctions réseau.
|          test-core-secure.cpp | Tests : données sécurisées.
|          test-core-signal.cpp | Tests : signaux.
|          test-core-string.cpp | Tests : chaînes.
|          test-core-url.cpp | Tests : URLs.
|          test-core-utf8.cpp | Tests : UTF-8.
|          test-core-util.cpp | Tests : fonctions utiles.
|       gui/ | Racine des tests unitaires pour les interfaces.
|          test-gui-bar-window.cpp | Tests : fonctions de fenêtres de barre.
|          test-gui-buffer.cpp | Tests : fonctions de tampons.
|          test-gui-chat.cpp | Tests : fonctions de discussion.
|          test-gui-color.cpp | Tests : couleurs.
|          test-gui-line.cpp | Tests : lignes.
|          test-gui-nick.cpp | Tests : pseudos.
|       plugins/ | Racine des tests unitaires pour les extensions.
|          irc/ | Racine des tests unitaires pour l'extension IRC.
|             test-irc-buffer.cpp | Tests : tampons IRC.
|             test-irc-channel.cpp | Tests : canaux IRC.
|             test-irc-color.cpp | Tests : couleurs IRC.
|             test-irc-config.cpp | Tests : configuration IRC.
|             test-irc-ignore.cpp | Tests : ignores IRC.
|             test-irc-join.cpp | Tests : fonctions de join IRC.
|             test-irc-message.cpp | Tests : messages IRC.
|             test-irc-mode.cpp | Tests : modes IRC.
|             test-irc-nick.cpp | Tests : pseudos IRC.
|             test-irc-protocol.cpp | Tests : protocole IRC.
|             test-irc-sasl.cpp | Tests : authentification SASL avec le protocole IRC.
|             test-irc-server.cpp | Tests : serveur IRC.
|             test-irc-tag.cpp | Tests : étiquettes des messages IRC.
|          logger/ | Racine des tests unitaires pour l'extension logger.
|             test-logger-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.
| Chemin/fichier | Description
| tests/ | Racine des tests.
|    tests.cpp | Programme utilisé pour lancer tous les tests.
|    scripts/ | Racine des tests de l'API script.
|       test-scripts.cpp | Programme utilisé pour lancer les tests de l'API script.
|       python/ | Scripts Python pour générer et lancer les tests de l'API script.
|          testapigen.py | Script Python générant des scripts dans tous les languages pour tester l'API script.
|          testapi.py | Script Python avec les tests API, utilisé par le script testapigen.py.
|          unparse.py | Conversion de code Python vers d'autres langages, utilisé par le script testapigen.py.
|    unit/ | Racine des tests unitaires.
|       test-plugins.cpp | Tests : extensions.
|       core/ | Racine des tests unitaires pour le cœur.
|          test-core-arraylist.cpp | Tests : listes avec tableau (« arraylists »).
|          test-core-calc.cpp | Tests : calcul d'expressions.
|          test-core-config-file.cpp | Tests : fichiers de configuration.
|          test-core-crypto.cpp | Tests : fonctions cryptographiques.
|          test-core-dir.cpp | Tests : répertoires/fichiers.
|          test-core-eval.cpp | Tests : évaluation d'expressions.
|          test-core-hashtble.cpp | Tests : tables de hachage.
|          test-core-hdata.cpp | Tests : hdata.
|          test-core-hook.cpp | Tests : hooks.
|          test-core-infolist.cpp | Tests : infolists.
|          test-core-list.cpp | Tests : listes.
|          test-core-network.cpp | Tests : fonctions réseau.
|          test-core-secure.cpp | Tests : données sécurisées.
|          test-core-signal.cpp | Tests : signaux.
|          test-core-string.cpp | Tests : chaînes.
|          test-core-url.cpp | Tests : URLs.
|          test-core-utf8.cpp | Tests : UTF-8.
|          test-core-util.cpp | Tests : fonctions utiles.
|       gui/ | Racine des tests unitaires pour les interfaces.
|          test-gui-color.cpp | Tests : couleurs.
|          test-gui-line.cpp | Tests : lignes.
|          test-gui-nick.cpp | Tests : pseudos.
|       plugins/ | Racine des tests unitaires pour les extensions.
|          irc/ | Racine des tests unitaires pour l'extension IRC.
|             test-irc-channel.cpp | Tests : canaux IRC.
|             test-irc-color.cpp | Tests : couleurs IRC.
|             test-irc-config.cpp | Tests : configuration IRC.
|             test-irc-ignore.cpp | Tests : ignores IRC.
|             test-irc-message.cpp | Tests : messages IRC.
|             test-irc-mode.cpp | Tests : modes IRC.
|             test-irc-nick.cpp | Tests : pseudos IRC.
|             test-irc-protocol.cpp | Tests : protocole IRC.
|             test-irc-server.cpp | Tests : serveur IRC.
|          trigger/ | Racine des tests unitaires pour l'extension trigger.
|             test-trigger.cpp | Tests : triggers.
|          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]]
@@ -470,13 +458,14 @@ Fichiers de documentation :
|    docgen.py | Script Python pour construire les fichiers auto-générés dans le répertoire _includes/_ (voir ci-dessous).
|    XX/ | Documentation pour la langue XX (langues : en, fr, de, it, ...).
|       weechat.1.XX.adoc | Page de manuel (`man weechat`).
|       weechat_dev.XX.adoc | link:weechat_dev.fr.html[Guide du développeur ^↗^,window=_blank] (ce document).
|       weechat_faq.XX.adoc | link:weechat_faq.fr.html[FAQ ^↗^,window=_blank] (questions fréquemment posées).
|       weechat_plugin_api.XX.adoc | link:weechat_plugin_api.fr.html[Référence API extension ^↗^,window=_blank].
|       weechat_quickstart.XX.adoc | link:weechat_quickstart.fr.html[Guide de démarrage ^↗^,window=_blank].
|       weechat_relay_protocol.XX.adoc | link:weechat_relay_protocol.fr.html[Protocole Relay ^↗^,window=_blank] (pour les interfaces distantes).
|       weechat_scripting.XX.adoc | link:weechat_scripting.fr.html[Guide pour scripts ^↗^,window=_blank].
|       weechat_user.XX.adoc | link:weechat_user.fr.html[Guide utilisateur ^↗^,window=_blank].
|       weechat_dev.XX.adoc | link:weechat_dev.fr.html[Guide du développeur] (ce document).
|       weechat_faq.XX.adoc | link:weechat_faq.fr.html[FAQ] (questions fréquemment posées).
|       weechat_plugin_api.XX.adoc | link:weechat_plugin_api.fr.html[Référence API extension].
|       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_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].
|       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_hdata.XX.adoc | Fichier auto-généré pour la Référence API extension : hdata (ne *JAMAIS* mettre à jour manuellement !).
@@ -521,12 +510,12 @@ fichiers sont dans le répertoire _po/_ :
Exemple en C :
[source,c]
[source,C]
----
/*
* 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.
*
@@ -562,7 +551,7 @@ Quelques règles basiques que vous *devez* suivre quand vous écrivez du code C
Exemple :
[source,c]
[source,C]
----
/*
* Checks if a string with boolean value is valid.
@@ -595,7 +584,7 @@ foo ()
* Initialisez les variables locales après la déclaration, dans le corps de la
fonction, exemple :
[source,c]
[source,C]
----
void
foo ()
@@ -615,7 +604,7 @@ foo ()
nombre d'espaces utilisés sur la ligne au dessus de l'accolade ouvrante (le
`if` dans l'exemple) :
[source,c]
[source,C]
----
if (nicks_count == 1)
{
@@ -626,7 +615,7 @@ if (nicks_count == 1)
* Utilisez des lignes vides pour séparer différents blocs dans les fonctions, et
si possible ajoutez un commentaire pour chacun, comme ceci :
[source,c]
[source,C]
----
/*
* Sends a message from out queue.
@@ -670,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
ceci :
[source,c]
[source,C]
----
if (something)
{
@@ -694,7 +683,7 @@ else
* Indentez les `switch` comme ceci :
[source,c]
[source,C]
----
switch (string[0])
{
@@ -713,7 +702,7 @@ switch (string[0])
* Utilisez `typedef` pur les prototypes de fonctions mais pas pour les
structures :
[source,c]
[source,C]
----
typedef int (t_hook_callback_fd)(void *data, int fd);
@@ -750,7 +739,7 @@ new_hook_fd = malloc (sizeof (*new_hook_fd));
[[coding_python_style]]
=== Style Python
Voir https://www.python.org/dev/peps/pep-0008/[PEP 8 ^↗^,window=_blank].
Voir https://www.python.org/dev/peps/pep-0008/
[[core_internals]]
== Intérieur du cœur
@@ -795,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_) :
[source,c]
[source,C]
----
struct t_irc_nick
{
@@ -825,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_) :
[source,c]
[source,C]
----
struct t_gui_window *gui_windows = NULL; /* first window */
struct t_gui_window *last_gui_window = NULL; /* last window */
@@ -845,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_) :
[source,c]
[source,C]
----
/*
* Creates a new window.
@@ -883,7 +872,7 @@ pointeur vers le nœud précédent/suivant.
Exemple : liste des tampons (de _src/gui/gui-buffer.h_) :
[source,c]
[source,C]
----
struct t_gui_buffer
{
@@ -898,7 +887,7 @@ struct t_gui_buffer
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 *last_gui_buffer = NULL; /* last buffer */
@@ -914,10 +903,18 @@ Tous les attributs/couleurs sont préfixés par un caractère dans la chaîne, q
peuvent être :
* _0x19_ : code couleur (suivi par un/des code(s) couleur)
* _0x1A_ : activer un attribut (suivi par un attribut brut sur un caractère)
* _0x1B_ : supprimer 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 sur un caractère)
* _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 :
* couleur standard : attributs facultatifs + nombre sur 2 digits
@@ -926,57 +923,47 @@ Les couleurs possibles sont :
Dans le tableau qui suit, les conventions suivantes sont utilisées :
* `STD` : couleur standard (2 digits)
* `(ATTR)STD` : couleur standard avec des attributs facultatifs
* `(A)STD` : couleur standard avec des attributs facultatifs
(attributs + 2 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)
* `(ATTR)` : un ou plusieurs caractères d'attribut :
** `+*+` : 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é
* `ATTR` : un caractère d'attribut (`+*+`, `+!+`, `+/+`, `+_+` ou `+|+`)
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
| [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# + `F` + `(ATTR)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# + `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# + `*` + `(ATTR)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# + `*` + `(ATTR)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# + `*` + `(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# + `*` + `(ATTR)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# + `*` + `(ATTR)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# + `*` + `(ATTR)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` + `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` + `_` | [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é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` + `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# + [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]#1B# + `(a)` | [hex]#1B# [hex]#01# | chat + barres | Supprimer un attribut.
| [hex]#1C# | [hex]#1C# | chat + barres | Réinitialiser les attributs et la couleur.
| 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# + EXT | [hex]#19# `+@00001+` | chat | Définir une couleur avec la paire ncurses (utilisé seulement sur le tampon `/color`).
| [hex]#19# + "F" + (A)STD | [hex]#19# `+F*05+` | chat + barres | Définir la couleur de texte (couleur WeeChat).
| [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" + EXT | [hex]#19# `+B@00124+` | chat + barres | Définir le couleur de fond (couleur étendue).
| [hex]#19# + "*" + (A)STD | [hex]#19# `+*05+` | chat + barres | Définir la couleur de texte (couleur WeeChat).
| [hex]#19# + "*" + (A)EXT | [hex]#19# `+*@00214+` | chat + barres | Définir la couleur de texte (couleur étendue).
| [hex]#19# + "*" + (A)STD + "," + STD ^(1)^ | [hex]#19# `+*08,05+` | chat + barres | Définir la couleur de texte/fond (couleurs WeeChat).
| [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# + "*" + (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# + "*" + (A)EXT + "," + EXT ^(1)^ | [hex]#19# `+*@00214,@00017+` | chat + barres | Définir la couleur de texte/fond (couleurs étendues).
| [hex]#19# + "*" + (A)STD + "~" + STD | [hex]#19# `+*08~05+` | chat + barres | Définir la couleur de texte/fond (couleurs WeeChat).
| [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# + "*" + (A)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 + "~" + 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" + "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" + "_" | [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é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" + "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# + [hex]#1C# | [hex]#19# [hex]#1C# | chat + barres | Réinitialiser la couleur (garder les attributs).
| [hex]#1A# + ATTR | [hex]#1A# `+*+` | chat + barres | Activer 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.
|===
[NOTE]
@@ -1096,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
_t_weechat_plugin_ comme ceci :
[source,c]
[source,C]
----
struct t_hook *(*hook_timer) (struct t_weechat_plugin *plugin,
long interval,
@@ -1109,7 +1096,7 @@ struct t_hook *(*hook_timer) (struct t_weechat_plugin *plugin,
Et la macro utilisée pour appeler cette fonction est :
[source,c]
[source,C]
----
#define weechat_hook_timer(__interval, __align_second, __max_calls, \
__callback, __data) \
@@ -1120,7 +1107,7 @@ Et la macro utilisée pour appeler cette fonction est :
Donc dans une extension, l'appel à cette fonction sera par exemple :
[source,c]
[source,C]
----
server->hook_timer_sasl = weechat_hook_timer (timeout * 1000,
0, 1,
@@ -1134,7 +1121,7 @@ server->hook_timer_sasl = weechat_hook_timer (timeout * 1000,
[[git_repository]]
=== Dépôt Git
Le dépôt Git est sur https://github.com/weechat/weechat[GitHub ^↗^,window=_blank].
Le dépôt Git est à cette URL : https://github.com/weechat/weechat
Tout patch pour un bug ou une nouvelle fonctionnalité doit être effectué sur la
branche master, le format préféré étant une "pull request" sur GitHub. Un patch
@@ -1144,100 +1131,16 @@ Le format du message de commit est le suivant (avec fermeture automatique
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"]
|===
| Composant | Fichiers | Description
| core
| 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
|===
* pour le cœur WeeChat : _core_ (les fichiers dans le répertoire racine, _po/_
et _src/_, sauf _src/plugins/_)
* fichiers de documentation : _doc_ (fichiers dans le répertoire _doc/_)
* nom d'une extension : _irc_, _python_, _relay_, ... (fichiers dans le
répertoire _src/plugins/_)
Quelques règles à suivre :
@@ -1286,8 +1189,8 @@ $ make translations && make update-po
Vous pouvez alors éditer les fichiers .po (si vous pouvez traduire dans une
langue).
Une fois terminé, vous *devez* vérifier votre fichier avec
https://github.com/flashcode/msgcheck[msgcheck ^↗^,window=_blank] :
Une fois terminé, vous *devez* vérifier votre fichier avec le script
_msgcheck.py_ (https://github.com/flashcode/msgcheck) :
----
$ msgcheck.py xx.po
@@ -1321,7 +1224,7 @@ _doc/en/_), puis travaillez dessus.
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
@@ -1338,7 +1241,7 @@ pour les notes, avertissements, ... Ces mots doivent être gardés tels quels :
[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>>
+34 -72
View File
@@ -32,10 +32,8 @@ mais elle ne s'applique pas à WeeChat !).
Parce que WeeChat est très léger et apporte des fonctionnalités innovantes.
Plus d'infos sur la
https://weechat.org/about/features/[page des fonctionnalités ^↗^,window=_blank]
WeeChat.
Plus d'infos sur la page des fonctionnalités WeeChat :
https://weechat.org/about/features
[[compilation_install]]
== Compilation / installation
@@ -43,16 +41,16 @@ WeeChat.
[[gui]]
=== J'ai entendu parler de plusieurs interfaces pour WeeChat. Comment puis-je les compiler/utiliser ?
Des interfaces distantes sont disponibles, voir la
https://weechat.org/about/interfaces/[page avec les interfaces distantes ^↗^,window=_blank].
Des interfaces distantes sont disponibles, voir la page avec les interfaces
distantes : https://weechat.org/about/interfaces
[[compile_git]]
=== Je ne peux pas compiler WeeChat après avoir cloné la base git, pourquoi ?
La méthode recommandée pour compiler WeeChat est d'utiliser
link:weechat_user.fr.html#compile_with_cmake[CMake ^↗^,window=_blank].
link:weechat_user.fr.html#compile_with_cmake[CMake].
Si vous compilez avec les link:weechat_user.fr.html#compile_with_autotools[autotools ^↗^,window=_blank]
Si vous compilez avec les link:weechat_user.fr.html#compile_with_autotools[autotools]
(et non CMake), vérifiez que vous avez bien la dernière version d'autoconf et
automake.
@@ -65,8 +63,8 @@ mises à jour.
[[compile_macos]]
=== Comment puis-je installer WeeChat sous macOS ?
Il est recommandé d'utiliser https://brew.sh/[Homebrew ^↗^,window=_blank],
vous pouvez avoir de l'aide avec :
Il est recommandé d'utiliser https://brew.sh/[Homebrew], vous pouvez avoir de
l'aide avec :
----
brew info weechat
@@ -82,12 +80,12 @@ brew install weechat
=== J'ai lancé WeeChat, mais je suis perdu, que puis-je faire ?
Pour obtenir de l'aide tapez `/help`. Pour de l'aide sur une commande, tapez
`/help commande`. Les link:weechat_user.fr.html#key_bindings[touches ^↗^,window=_blank] et
link:weechat_user.fr.html#commands_and_options[commandes ^↗^,window=_blank] sont listées dans la
`/help commande`. Les link:weechat_user.fr.html#key_bindings[touches] et
link:weechat_user.fr.html#commands_and_options[commandes] sont listées dans la
documentation.
Il est recommandé pour les nouveaux utilisateurs de lire le
link:weechat_quickstart.fr.html[Guide de démarrage rapide ^↗^,window=_blank].
link:weechat_quickstart.fr.html[Guide de démarrage rapide].
[[display]]
== Affichage
@@ -119,7 +117,7 @@ attentivement et vérifier *TOUS* les points ci-dessous :
** Si vous utilisez screen, vérifiez qu'il est lancé en mode UTF-8
("`defutf8 on`" dans ~/.screenrc ou `screen -U` pour lancer screen).
* Vérifiez que l'option
link:weechat_user.fr.html#option_weechat.look.eat_newline_glitch[_weechat.look.eat_newline_glitch_ ^↗^,window=_blank]
link:weechat_user.fr.html#option_weechat.look.eat_newline_glitch[_weechat.look.eat_newline_glitch_]
est désactivée (cette option peut causer des problèmes d'affichage).
[NOTE]
@@ -135,10 +133,10 @@ devrait être corrigé dans la glibc 2.22 (peut-être pas encore disponible dans
votre distribution).
Il y a un moyen de contournement pour utiliser la fonction _wcwidth_ corrigée :
https://blog.nytsoi.net/2015/05/04/emoji-support-for-weechat[https://blog.nytsoi.net/2015/05/04/emoji-support-for-weechat ^↗^,window=_blank].
https://blog.nytsoi.net/2015/05/04/emoji-support-for-weechat
Voir ce https://github.com/weechat/weechat/issues/79[rapport de bug ^↗^,window=_blank]
pour plus d'informations.
Voir ce rapport de bug pour plus d'informations :
https://github.com/weechat/weechat/issues/79
[[bars_background]]
=== Des barres telles que le titre et le statut ne sont pas remplies, la couleur de fond s'arrête après le texte, pourquoi ?
@@ -196,7 +194,7 @@ fenêtres.
[[buffers_list]]
=== Comment afficher la liste des tampons sur la gauche ?
Avec WeeChat ≥ 1.8, l'extension link:weechat_user.fr.html#buflist[buflist ^↗^,window=_blank]
Avec WeeChat ≥ 1.8, l'extension link:weechat_user.fr.html#buflist_plugin[buflist]
est chargée et activée par défaut.
Avec une version plus ancienne, vous pouvez installer le script _buffers.pl_ :
@@ -264,8 +262,8 @@ Vous pouvez aussi utiliser une couleur numérique à la place de `red`, comme
L'extension buflist met à disposition beaucoup d'options que vous pouvez changer,
merci de lire l'aide sur chaque option.
Il y a aussi une https://github.com/weechat/weechat/wiki/buflist[page wiki ^↗^,window=_blank]
avec des exemples avancés de configuration buflist.
Il y a aussi une page wiki avec des examples avancés de configuration buflist :
https://github.com/weechat/weechat/wiki/buflist
[[customize_prefix]]
=== Comment puis-je réduire la longueur des pseudos ou supprimer l'alignement des pseudos dans la zone de discussion ?
@@ -309,7 +307,7 @@ Ces couleurs peuvent être changées via les options __weechat.color.status_data
Les autres options pour la "hotlist" peuvent être changées via les options
__weechat.look.hotlist_*__.
Voir le link:weechat_user.fr.html#screen_layout[Guide utilisateur / Organisation de l'écran ^↗^,window=_blank]
Voir le link:weechat_user.fr.html#screen_layout[Guide utilisateur / Organisation de l'écran]
pour plus d'information sur la "hotlist".
[[input_bar_size]]
@@ -483,8 +481,8 @@ Pour les versions ≥ 0.3.5, vous pouvez utiliser un numéro de couleur dans les
options (facultatif : vous pouvez ajouter des alias de couleurs avec la commande
`/color`).
Merci de lire le link:weechat_user.fr.html#colors[Guide utilisateur / Couleurs ^↗^,window=_blank]
pour plus d'information sur la gestion des couleurs.
Merci de lire le link:weechat_user.fr.html#colors[Guide utilisateur / Couleurs] pour
plus d'information sur la gestion des couleurs.
[[search_text]]
=== Comment puis-je chercher du texte dans le tampon (comme /lastlog dans irssi) ?
@@ -492,7 +490,7 @@ pour plus d'information sur la gestion des couleurs.
La touche par défaut est kbd:[Ctrl+r] (la commande est : `+/input search_text_here+`).
Et sauter aux highlights : kbd:[Alt+p] / kbd:[Alt+n].
Voir le link:weechat_user.fr.html#key_bindings[Guide utilisateur / Raccourcis clavier par défaut ^↗^,window=_blank]
Voir le link:weechat_user.fr.html#key_bindings[Guide utilisateur / Raccourcis clavier par défaut]
pour plus d'information sur cette fonctionnalité.
[[terminal_focus]]
@@ -669,7 +667,7 @@ Vous pouvez définir une touche, par exemple :
----
La liste des touches par défaut est dans le
link:weechat_user.fr.html#key_bindings[Guide utilisateur / Raccourcis clavier par défaut ^↗^,window=_blank].
link:weechat_user.fr.html#key_bindings[Guide utilisateur / Raccourcis clavier par défaut].
Pour sauter vers les tampons ayant un numéro ≥ 100, vous pouvez définir un trigger
et utiliser les commandes comme `/123` pour sauter au tampon n°123 :
@@ -857,36 +855,8 @@ commande et le join des canaux) :
[[edit_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_dynamic on
----
Pour un seul serveur :
----
/set irc.server.libera.autojoin_dynamic on
----
Avec WeeChat ≥ 3.5, vous pouvez aussi ajouter le canal coucant dans l'option
"autojoin" du serveur avec la commande `/autojoin` :
----
/autojoin add
----
Ou un autre canal :
----
/autojoin add #test
----
Avec WeeChat ≤ 3.4, vous pouvez utiliser la commande `/set` pour éditer la liste
des canaux de l'autojoin, par exemple pour le serveur libera :
Vous pouvez utiliser la commande `/set` pour éditer la liste des canaux de
l'autojoin, par exemple pour le serveur libera :
----
/set irc.server.libera.autojoin [TAB]
@@ -904,7 +874,7 @@ des canaux :
/fset autojoin
----
Avec WeeChat ≤ 3.4, une autre solution est d'utiliser un script :
Une autre solution est d'utiliser un script :
----
/script search autojoin
@@ -948,7 +918,7 @@ Avec un filtre global (pour cacher *tous* les join/part/quit) :
[NOTE]
Pour l'aide : `/help filter`, `+/help irc.look.smart_filter+` et voir
link:weechat_user.fr.html#irc_smart_filter_join_part_quit[Guide utilisateur / Filtre intelligent pour les messages join/part/quit ^↗^,window=_blank].
link:weechat_user.fr.html#irc_smart_filter_join_part_quit[Guide utilisateur / Filtre intelligent pour les messages join/part/quit].
[[filter_irc_join_channel_messages]]
=== Comment puis-je filtrer certains messages affichés quand je rejoins un canal IRC ?
@@ -1050,7 +1020,7 @@ Autres scripts sur ce sujet :
=== Comment puis-je désactiver le highlight pour des pseudos spécifiques ?
Avec WeeChat ≥ 0.3.4 vous pouvez utiliser la propriété de tampon
link:weechat_user.en.html#max_hotlist_level_nicks[hotlist_max_level_nicks_add ^↗^,window=_blank]
link:weechat_user.en.html#max_hotlist_level_nicks[hotlist_max_level_nicks_add]
pour définir le niveau maximum de hotlist pour certains pseudos, par tampon,
ou groupe de tampons (comme des serveurs IRC).
@@ -1153,14 +1123,6 @@ $ cd ~/.cache/weechat/script
$ 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]]
=== J'ai installé des dictionnaires aspell sur mon système, comment les utiliser sans redémarrer WeeChat ?
@@ -1265,7 +1227,7 @@ Définissez une phrase de chiffrement et utilisez les données sécurisées part
où vous le pouvez pour les données sensibles comme les mots de passe : voir
`/help secure` et `/help` sur les options (si vous pouvez utiliser les données
sécurisées, cela est mentionné dans l'aide).
Voir aussi link:weechat_user.fr.html#secured_data[Guide utilisateur / Données sécurisées ^↗^,window=_blank].
Voir aussi link:weechat_user.fr.html#secured_data[Guide utilisateur / Données sécurisées].
Par exemple :
@@ -1288,7 +1250,7 @@ Quelques autres fichiers peuvent contenir des informations sensibles comme
des mots de passes (s'ils ne sont pas stockés dans _sec.conf_ avec la commande
`/secure`).
Voir le link:weechat_user.fr.html#files_and_directories[Guide utilisateur / Fichiers et répertoires ^↗^,window=_blank]
Voir le link:weechat_user.fr.html#files_and_directories[Guide utilisateur / Fichiers et répertoires]
pour plus d'informations sur les fichiers de configuration.
[[development]]
@@ -1297,7 +1259,7 @@ pour plus d'informations sur les fichiers de configuration.
[[bug_task_patch]]
=== Comment puis-je reporter un bug, demander une nouvelle fonctionnalité ou envoyer un patch ?
Voir https://weechat.org/about/support/[cette page ^↗^,window=_blank].
Voir : https://weechat.org/about/support
[[gdb_error_threads]]
=== Quand je lance WeeChat sous gdb, il y a une erreur à propos des threads, que puis-je faire ?
@@ -1334,11 +1296,11 @@ tester WeeChat.
Il y a plusieurs choses à faire (test, code, documentation, etc.)
Merci de prendre contact avec nous par IRC ou mail, consultez la
https://weechat.org/about/support/[page support ^↗^,window=_blank].
Merci de prendre contact avec nous par IRC ou mail, consultez la page
support : https://weechat.org/about/support
[[donate]]
=== Puis-je donner de l'argent ou d'autres choses aux développeurs WeeChat ?
Vous pouvez donner de l'argent pour aider le développement.
Plus de détails sur https://weechat.org/donate/[la page de dons ^↗^,window=_blank].
Plus de détails sur https://weechat.org/donate

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