1
0
mirror of https://github.com/weechat/weechat.git synced 2026-06-28 13:56:37 +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 - push
- pull_request - pull_request
env:
WEECHAT_DEPENDENCIES: devscripts equivs python3-pip libenchant-dev autopoint cmake ninja-build lcov pkg-config libncursesw5-dev gem2deb libperl-dev python2-dev python3-dev libaspell-dev liblua5.3-dev tcl8.6-dev guile-2.2-dev libv8-dev libcurl4-gnutls-dev libgcrypt20-dev libgnutls28-dev libzstd-dev zlib1g-dev curl libcpputest-dev php8.0-dev libphp8.0-embed libargon2-dev libsodium-dev pylint python3-bandit asciidoctor ruby-pygments.rb
jobs: jobs:
tests_linux: build_linux:
strategy: strategy:
fail-fast: false
matrix: matrix:
os: os:
- ubuntu-20.04 - ubuntu-20.04
config: config:
- { name: "cmake_gcc", cc: "gcc", cxx: "g++", tool: "cmake", args: "" } - { name: "cmake_gcc", cc: "gcc", cxx: "g++", tool: "cmake", args: "" }
- { name: "cmake_gcc_ninja", cc: "gcc", cxx: "g++", tool: "cmake", args: "-G Ninja" }
- { name: "cmake_gcc_no_nls", cc: "gcc", cxx: "g++", tool: "cmake", args: "-DENABLE_NLS=OFF" } - { name: "cmake_gcc_no_nls", cc: "gcc", cxx: "g++", tool: "cmake", args: "-DENABLE_NLS=OFF" }
- { name: "cmake_gcc_py2", cc: "gcc", cxx: "g++", tool: "cmake", args: "-DENABLE_PYTHON2=ON" } - { name: "cmake_gcc_py2", cc: "gcc", cxx: "g++", tool: "cmake", args: "-DENABLE_PYTHON2=ON" }
- { name: "cmake_gcc_coverage", cc: "gcc", cxx: "g++", tool: "cmake", args: "-DENABLE_CODE_COVERAGE=ON" } - { name: "cmake_gcc_coverage", cc: "gcc", cxx: "g++", tool: "cmake", args: "-DENABLE_CODE_COVERAGE=ON" }
@@ -25,7 +22,7 @@ jobs:
- { name: "autotools_gcc", cc: "gcc", cxx: "g++", tool: "autotools", args: "" } - { name: "autotools_gcc", cc: "gcc", cxx: "g++", tool: "autotools", args: "" }
- { name: "autotools_clang", cc: "clang", cxx: "clang++", tool: "autotools", args: "" } - { name: "autotools_clang", cc: "clang", cxx: "clang++", tool: "autotools", args: "" }
name: "Tests: ${{ matrix.config.name }} on ${{ matrix.os }}" name: ${{ matrix.config.name }} on ${{ matrix.os }}
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
steps: steps:
@@ -36,10 +33,12 @@ jobs:
run: | run: |
sudo apt-add-repository --yes ppa:ondrej/php sudo apt-add-repository --yes ppa:ondrej/php
sudo apt-get update -qq sudo apt-get update -qq
sudo apt-get --yes purge php8.1-dev sudo apt-get --yes --no-install-recommends install devscripts equivs python3-pip libenchant-dev autopoint cmake lcov pkg-config libncursesw5-dev gem2deb libperl-dev python2-dev python3-dev libaspell-dev liblua5.3-dev tcl8.6-dev guile-2.0-dev libv8-dev libcurl4-gnutls-dev libgcrypt20-dev libgnutls28-dev zlib1g-dev curl libcpputest-dev php8.0-dev libphp8.0-embed libargon2-0-dev libsodium-dev pylint python3-bandit asciidoctor
sudo apt-get --yes --no-install-recommends install ${{ env.WEECHAT_DEPENDENCIES }}
sudo -H pip3 install --ignore-installed msgcheck sudo -H pip3 install --ignore-installed msgcheck
- name: Test patches
run: ./tools/build-debian.sh test-patches
- name: Check gettext files - name: Check gettext files
run: msgcheck po/*.po run: msgcheck po/*.po
@@ -52,7 +51,7 @@ jobs:
bandit tests/scripts/python/testapigen.py tests/scripts/python/testapi.py tests/scripts/python/unparse.py bandit tests/scripts/python/testapigen.py tests/scripts/python/testapi.py tests/scripts/python/unparse.py
- name: Check Python stub file - name: Check Python stub file
run: ./doc/python_stub.py | diff src/plugins/python/weechat.pyi - run: ./doc/python_stub.py | diff - src/plugins/python/weechat.pyi
- name: Build and run tests - name: Build and run tests
env: env:
@@ -71,7 +70,7 @@ jobs:
weechat --colors weechat --colors
weechat --license weechat --license
weechat --version weechat --version
weechat --run-command "/debug dirs;/debug libs" --run-command "/quit" weechat --temp-dir --run-command "/debug dirs;/debug libs" --run-command "/quit"
- name: Code coverage - name: Code coverage
if: ${{ matrix.config.name == 'cmake_gcc_coverage' }} if: ${{ matrix.config.name == 'cmake_gcc_coverage' }}
@@ -84,18 +83,18 @@ jobs:
lcov --list coverage.info lcov --list coverage.info
bash <(curl -s https://codecov.io/bash) -f coverage.info || echo 'Codecov error' bash <(curl -s https://codecov.io/bash) -f coverage.info || echo 'Codecov error'
tests_macos: build_macos:
strategy: strategy:
fail-fast: false
matrix: matrix:
os: os:
- macos-11 - macos-latest
- macos-10.15
config: config:
- { name: "cmake_gcc", cc: "gcc", cxx: "g++" } - { name: "cmake_gcc", cc: "gcc", cxx: "g++" }
- { name: "cmake_clang", cc: "clang", cxx: "clang++" } - { name: "cmake_clang", cc: "clang", cxx: "clang++" }
name: "Tests: ${{ matrix.config.name }} on ${{ matrix.os }}" name: ${{ matrix.config.name }} on ${{ matrix.os }}
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
steps: steps:
@@ -126,43 +125,4 @@ jobs:
weechat --colors weechat --colors
weechat --license weechat --license
weechat --version weechat --version
weechat --run-command "/debug dirs;/debug libs" --run-command "/quit" weechat --temp-dir --run-command "/debug dirs;/debug libs" --run-command "/quit"
build_debian:
strategy:
matrix:
os:
- ubuntu-20.04
name: "Build Debian on ${{ matrix.os }}"
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v2
- name: Install dependencies
run: |
sudo apt-add-repository --yes ppa:ondrej/php
sudo apt-get update -qq
sudo apt-get --yes purge php8.1-dev
sudo apt-get --yes --no-install-recommends install ${{ env.WEECHAT_DEPENDENCIES }} php-dev
- name: Test Debian patches
run: ./tools/build-debian.sh test-patches
- name: Build Debian packages
run: ./tools/build-debian.sh devel ubuntu/focal
- name: Install Debian packages
run: sudo dpkg -i ../weechat-devel*.deb
- name: Run WeeChat
env:
TERM: xterm-256color
run: |
weechat --help
weechat-curses --help
weechat --version
weechat --run-command "/debug dirs;/debug libs" --run-command "/quit"
+1 -3
View File
@@ -11,9 +11,7 @@ Sébastien Helleu <flashcode@flashtux.org> <flashcode>
Sébastien Helleu <flashcode@flashtux.org> <uid67137> Sébastien Helleu <flashcode@flashtux.org> <uid67137>
Nils Görs <weechatter@arcor.de> Nils Görs <weechatter@arcor.de>
Ryuunosuke Ayanokouzi <i38w7i3@yahoo.co.jp> Ryuunosuke Ayanokouzi <i38w7i3@yahoo.co.jp>
Krzysztof Korościk <soltys@soltys.info> Krzysztof Korościk <soltys1@gmail.com> <soltys@szluug.org> <soltys@soltys.info>
Krzysztof Korościk <soltys@soltys.info> <soltys1@gmail.com>
Krzysztof Korościk <soltys@soltys.info> <soltys@szluug.org>
Marco Paolone <marcopaolone@gmail.com> Marco Paolone <marcopaolone@gmail.com>
<marcopaolone@gmail.com> <marco@DrB4tch.sitecomwl601> <marcopaolone@gmail.com> <marco@DrB4tch.sitecomwl601>
<mikaela.suomalainen@outlook.com> <mkaysi@outlook.com> <mikaela.suomalainen@outlook.com> <mkaysi@outlook.com>
+46
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 == 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) 2007-2008 Julien Louis <ptitlouis@sysif.net>
# Copyright (C) 2008-2009 Emmanuel Bouthenot <kolter@openics.org> # Copyright (C) 2008-2009 Emmanuel Bouthenot <kolter@openics.org>
# #
@@ -27,8 +27,8 @@ project(weechat C)
set(CMAKE_VERBOSE_MAKEFILE OFF) set(CMAKE_VERBOSE_MAKEFILE OFF)
set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake ${CMAKE_MODULE_PATH}) set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake ${CMAKE_MODULE_PATH})
set(CMAKE_SKIP_RPATH ON) set(CMAKE_SKIP_RPATH ON)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsigned-char -fms-extensions -Wall -Wextra -Werror-implicit-function-declaration") set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsigned-char -Wall -Wextra -Werror-implicit-function-declaration")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsigned-char -fms-extensions -Wall -Wextra") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsigned-char -Wall -Wextra")
# version # version
execute_process(COMMAND ${CMAKE_SOURCE_DIR}/version.sh devel-major OUTPUT_VARIABLE VERSION_MAJOR) execute_process(COMMAND ${CMAKE_SOURCE_DIR}/version.sh devel-major OUTPUT_VARIABLE VERSION_MAJOR)
@@ -196,10 +196,7 @@ list(APPEND EXTRA_LIBS gnutls)
# Check for zlib # Check for zlib
find_package(ZLIB REQUIRED) find_package(ZLIB REQUIRED)
add_definitions(-DHAVE_ZLIB)
# Check for zstd
include(FindPkgConfig)
pkg_check_modules(LIBZSTD REQUIRED libzstd)
# Check for iconv # Check for iconv
find_package(Iconv) find_package(Iconv)
+453 -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)_. + _WeeChat 1.7-dev (git: v1.6-6-g997f47f)_. +
If WeeChat does not start at all, please include the version displayed by If WeeChat does not start at all, please include the version displayed by
`weechat --help` (or the version installed with your package manager). `weechat --help` (or the version installed with your package manager).
* Your *operating system*: its name and version (examples: Linux Debian Bullseye, * Your *operating system*: its name and version (examples: Linux Debian Wheezy,
FreeBSD 13.0, Windows/Cygwin 64-bit, Windows/Ubuntu 64-bit...). FreeBSD 10.0, Windows/Cygwin 64-bit, Windows/Ubuntu 64-bit...).
* The *steps to reproduce*: if possible, please include a reproducible example: * The *steps to reproduce*: if possible, please include a reproducible example:
explain the steps which led you to the problem. + explain the steps which led you to the problem. +
It's even better if you can reproduce the problem with a new config (and no It's even better if you can reproduce the problem with a new config (and no
@@ -38,7 +38,8 @@ please include:
problem here. problem here.
* The *gdb's backtrace* (only for a crash): if you can reproduce the crash * The *gdb's backtrace* (only for a crash): if you can reproduce the crash
(or if you have a core file), please include the backtrace from gdb (look at (or if you have a core file), please include the backtrace from gdb (look at
https://weechat.org/doc/user/#report_crashes[User's guide] for more info). https://weechat.org/files/doc/devel/weechat_user.en.html#report_crashes[User's guide]
for more info).
* The *actual result*. * The *actual result*.
* The *expected result*: the correct result you are expecting. * The *expected result*: the correct result you are expecting.
@@ -68,14 +69,14 @@ time, for https://github.com/weechat/weechat[WeeChat] and the website
https://github.com/weechat/weechat.org[weechat.org]. https://github.com/weechat/weechat.org[weechat.org].
To start a translation in a new language (not yet supported), please look at To start a translation in a new language (not yet supported), please look at
https://weechat.org/doc/dev/#translations[translations] https://weechat.org/files/doc/devel/weechat_dev.en.html#translations[translations]
in Developer's guide. in Developer's guide.
== Feature requests == Feature requests
WeeChat is under active development, so your idea may already have been WeeChat is under active development, so your idea may already have been
implemented, or scheduled for a future version (you can check in 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. https://github.com/weechat/weechat/milestones[milestones] on GitHub.
Pull requests on GitHub are welcome for minor new features. 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_). (server: _irc.libera.chat_, channel _#weechat_).
Before submitting any pull request, be sure you have read the Before submitting any pull request, be sure you have read the
https://weechat.org/doc/dev/#coding_rules[coding rules] https://weechat.org/files/doc/devel/weechat_dev.en.html#coding_rules[coding rules]
in Developer's guide, which contains info about styles used, naming convention in Developer's guide, which contains info about styles used, naming convention
and other useful info. and other useful info.
+1 -1
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) 2005 Julien Louis <ptitlouis@sysif.net>
# Copyright (C) 2006-2009 Emmanuel Bouthenot <kolter@openics.org> # Copyright (C) 2006-2009 Emmanuel Bouthenot <kolter@openics.org>
# #
+78 -9
View File
@@ -23,13 +23,13 @@ Homepage: https://weechat.org/
== Features == Features
* *Modular chat client*: WeeChat has a lightweight core and optional https://weechat.org/doc/user/#plugins[plugins]. All plugins (including https://weechat.org/doc/user/#irc[IRC]) are independent and can be unloaded. * *Modular chat client*: WeeChat has a lightweight core and optional https://weechat.org/files/doc/stable/weechat_user.en.html#plugins[plugins]. All plugins (including https://weechat.org/files/doc/stable/weechat_user.en.html#irc_plugin[IRC]) are independent and can be unloaded.
* *Multi-platform*: WeeChat runs on GNU/Linux, *BSD, GNU/Hurd, Haiku, macOS and Windows (Bash/Ubuntu and Cygwin). * *Multi-platform*: WeeChat runs on GNU/Linux, *BSD, GNU/Hurd, Haiku, macOS and Windows (Bash/Ubuntu and Cygwin).
* *Multi-protocols*: WeeChat is designed to support multiple protocols by plugins, like IRC. * *Multi-protocols*: WeeChat is designed to support multiple protocols by plugins, like IRC.
* *Standards-compliant*: the IRC plugin is compliant with RFCs https://tools.ietf.org/html/rfc1459[1459], https://tools.ietf.org/html/rfc2810[2810], https://tools.ietf.org/html/rfc2811[2811], https://tools.ietf.org/html/rfc2812[2812], and https://tools.ietf.org/html/rfc2813[2813]. * *Standards-compliant*: the IRC plugin is compliant with RFCs https://tools.ietf.org/html/rfc1459[1459], https://tools.ietf.org/html/rfc2810[2810], https://tools.ietf.org/html/rfc2811[2811], https://tools.ietf.org/html/rfc2812[2812] and https://tools.ietf.org/html/rfc2813[2813].
* *Small, fast, and very light*: the core is and should stay as light and fast as possible. * *Small, fast and very light*: the core is and should stay as light and fast as possible.
* *Customizable and extensible*: there are a lot of options to customize WeeChat, and it is extensible with C plugins and https://weechat.org/scripts/[scripts] (https://weechat.org/scripts/language/perl/[Perl], https://weechat.org/scripts/language/python/[Python], https://weechat.org/scripts/language/ruby[Ruby], https://weechat.org/scripts/language/lua/[Lua], https://weechat.org/scripts/language/tcl/[Tcl], https://weechat.org/scripts/language/guile/[Scheme], https://weechat.org/scripts/language/javascript/[JavaScript] and https://weechat.org/scripts/language/php/[PHP]). * *Customizable and extensible*: there are a lot of options to customize WeeChat, and it is extensible with C plugins and https://weechat.org/scripts/[scripts] (https://weechat.org/scripts/stable/language/perl/[Perl], https://weechat.org/scripts/stable/language/python/[Python], https://weechat.org/scripts/stable/language/ruby[Ruby], https://weechat.org/scripts/stable/language/lua/[Lua], https://weechat.org/scripts/stable/language/tcl/[Tcl], https://weechat.org/scripts/stable/language/guile/[Scheme], https://weechat.org/scripts/stable/language/javascript/[JavaScript] and https://weechat.org/scripts/stable/language/php/[PHP]).
* *Fully documented*: there is comprehensive https://weechat.org/doc/[documentation], which is https://weechat.org/doc/dev/#translations[translated] into several languages. * *Fully documented*: there is comprehensive https://weechat.org/doc/[documentation], which is https://weechat.org/files/doc/stable/weechat_dev.en.html#translations[translated] into several languages.
* *Developed from scratch*: WeeChat was built from scratch and is not based on any other client. * *Developed from scratch*: WeeChat was built from scratch and is not based on any other client.
* *Free software*: WeeChat is released under https://www.gnu.org/licenses/gpl-3.0.html[GPLv3]. * *Free software*: WeeChat is released under https://www.gnu.org/licenses/gpl-3.0.html[GPLv3].
@@ -37,15 +37,84 @@ pass:[<p align="center">] image:https://weechat.org/media/images/screenshots/wee
On WeeChat's website you can find https://weechat.org/about/screenshots/[more screenshots]. On WeeChat's website you can find https://weechat.org/about/screenshots/[more screenshots].
== Installation == Install
WeeChat can be installed using your favorite package manager (recommended) or by compiling it yourself. === Dependencies
For detailed instructions, please check the https://weechat.org/doc/user/#install[WeeChat user's guide]. Following packages are *required*:
* CMake
* libncurses
* libcurl
* zlib
* libgcrypt
Following packages are optional:
* for i18n: gettext
* for SSL: gnutls, ca-certificates
* for spell checking: aspell or enchant
* for scripting: python, perl, ruby, lua, tcl, guile, libv8 (javascript), php
* for building doc and man page: asciidoctor
* for building tests: C++ compiler, CppUTest
For a complete list of dependencies and versions recommended, please look at
https://weechat.org/files/doc/devel/weechat_user.en.html#dependencies[user's guide].
=== Compile
WeeChat can be built with https://cmake.org/[CMake] (recommended) or autotools.
[NOTE]
Only CMake is officially supported to build WeeChat. You should only use
autotools if you are not able to use CMake. +
Building with autotools requires more dependencies and is slower than with CMake.
* Installation in system directories (requires _root_ privileges):
----
$ mkdir build
$ cd build
$ cmake ..
$ make
$ sudo make install
----
* Installation in custom directory (for example your home):
----
$ mkdir build
$ cd build
$ cmake .. -DCMAKE_INSTALL_PREFIX=/path/to/directory
$ make
$ make install
----
For more information or installation with autotools, please look at
https://weechat.org/files/doc/devel/weechat_user.en.html#compile_with_autotools[user's guide].
=== Run tests
Following packages are *required* to compile tests:
* libcpputest-dev
* C++ compiler
Tests must be enabled when compiling WeeChat:
----
$ cmake .. -DENABLE_TESTS=ON
----
They can be launched after compilation from the build directory:
----
$ ctest -V
----
== Copyright == Copyright
Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org> Copyright (C) 2003-2021 Sébastien Helleu <flashcode@flashtux.org>
This file is part of WeeChat, the extensible chat client. This file is part of WeeChat, the extensible chat client.
+262 -349
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -1,6 +1,6 @@
#!/bin/sh #!/bin/sh
# #
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org> # Copyright (C) 2003-2021 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2005 Julien Louis <ptitlouis@sysif.net> # Copyright (C) 2005 Julien Louis <ptitlouis@sysif.net>
# Copyright (C) 2005-2006 Emmanuel Bouthenot <kolter@openics.org> # Copyright (C) 2005-2006 Emmanuel Bouthenot <kolter@openics.org>
# #
+1 -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. # 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. # 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. # 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. # 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) 2007 Julien Louis <ptitlouis@sysif.net>
# Copyright (C) 2009 Emmanuel Bouthenot <kolter@openics.org> # 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> # Copyright (C) 2009 Emmanuel Bouthenot <kolter@openics.org>
# #
# This file is part of WeeChat, the extensible chat client. # This file is part of WeeChat, the extensible chat client.
+1 -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. # 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. # 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. # 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. # 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 Adam Saponara <as@php.net>
# Copyright (C) 2017-2022 Sébastien Helleu <flashcode@flashtux.org> # Copyright (C) 2017-2021 Sébastien Helleu <flashcode@flashtux.org>
# #
# This file is part of WeeChat, the extensible chat client. # This file is part of WeeChat, the extensible chat client.
# #
+1 -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. # 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> # Copyright (C) 2009 Julien Louis <ptitlouis@sysif.net>
# #
# This file is part of WeeChat, the extensible chat client. # This file is part of WeeChat, the extensible chat client.
+47 -9
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. # This file is part of WeeChat, the extensible chat client.
# #
@@ -33,13 +33,51 @@ endif()
find_package(PkgConfig) find_package(PkgConfig)
if(PKG_CONFIG_FOUND) if(PKG_CONFIG_FOUND)
if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") pkg_search_module(RUBY ruby-2.7 ruby-2.6 ruby-2.5 ruby-2.4 ruby-2.3 ruby-2.2 ruby-2.1 ruby-2.0 ruby-1.9)
# set specific search path for macOS endif()
set(ENV{PKG_CONFIG_PATH} "$ENV{PKG_CONFIG_PATH}:/usr/local/opt/ruby/lib/pkgconfig")
endif() if(RUBY_FOUND)
pkg_search_module(RUBY ruby-3.1 ruby-3.0 ruby-2.7 ruby-2.6 ruby-2.5 ruby-2.4 ruby-2.3 ruby-2.2 ruby-2.1 ruby-2.0 ruby-1.9 ruby) set(RUBY_LIB "")
if(RUBY_FOUND AND ${CMAKE_SYSTEM_NAME} MATCHES "Darwin") mark_as_advanced(RUBY_LIB)
# FIXME: weird hack: hardcoding the Ruby lib location on macOS else()
set(RUBY_LDFLAGS "${RUBY_LDFLAGS} -L/usr/local/opt/ruby/lib") find_program(RUBY_EXECUTABLE
NAMES ruby2.7.0 ruby270 ruby2.7 ruby2.6.0 ruby260 ruby2.6 ruby2.5.0 ruby250 ruby2.5 ruby2.4.0 ruby240 ruby2.4 ruby2.3.0 ruby230 ruby2.3 ruby23 ruby2.2.3 ruby223 ruby2.2.2 ruby222 ruby2.2.1 ruby221 ruby2.2.0 ruby220 ruby2.2 ruby22 ruby2.1.7 ruby217 ruby2.1.6 ruby216 ruby2.1.5 ruby215 ruby2.1.4 ruby214 ruby2.1.3 ruby213 ruby2.1.2 ruby212 ruby2.1.1 ruby211 ruby2.1.0 ruby210 ruby2.1 ruby21 ruby2.0 ruby20 ruby1.9.3 ruby193 ruby1.9.2 ruby192 ruby1.9.1 ruby191 ruby1.9 ruby19 ruby
PATHS /usr/bin /usr/local/bin /usr/pkg/bin
)
if(RUBY_EXECUTABLE)
execute_process(
COMMAND ${RUBY_EXECUTABLE} -r rbconfig -e "print RbConfig::CONFIG['rubyhdrdir'] || RbConfig::CONFIG['archdir']"
OUTPUT_VARIABLE RUBY_ARCH_DIR
)
execute_process(
COMMAND ${RUBY_EXECUTABLE} -r rbconfig -e "print RbConfig::CONFIG['arch']"
OUTPUT_VARIABLE RUBY_ARCH
)
execute_process(
COMMAND ${RUBY_EXECUTABLE} -r rbconfig -e "print RbConfig::CONFIG['libdir']"
OUTPUT_VARIABLE RUBY_POSSIBLE_LIB_PATH
)
execute_process(
COMMAND ${RUBY_EXECUTABLE} -r rbconfig -e "print RbConfig::CONFIG['rubylibdir']"
OUTPUT_VARIABLE RUBY_RUBY_LIB_PATH
)
find_path(RUBY_INCLUDE_DIRS
NAMES ruby.h
PATHS ${RUBY_ARCH_DIR}
)
set(RUBY_INCLUDE_ARCH "${RUBY_INCLUDE_DIRS}/${RUBY_ARCH}")
find_library(RUBY_LIB
NAMES ruby-1.9.3 ruby1.9.3 ruby193 ruby-1.9.2 ruby1.9.2 ruby192 ruby-1.9.1 ruby1.9.1 ruby191 ruby1.9 ruby19 ruby
PATHS ${RUBY_POSSIBLE_LIB_PATH} ${RUBY_RUBY_LIB_PATH}
)
if(RUBY_LIB AND RUBY_INCLUDE_DIRS)
set(RUBY_FOUND TRUE)
endif()
set(RUBY_INCLUDE_DIRS "${RUBY_INCLUDE_DIRS};${RUBY_INCLUDE_ARCH}")
mark_as_advanced(
RUBY_INCLUDE_DIRS
RUBY_LIBRARY_DIRS
RUBY_LIB
)
endif() endif()
endif() endif()
+1 -1
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. # 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. # 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 Benoit Papillault <benoit.papillault@free.fr>
# Copyright (C) 2005-2006 Julien Louis <ptitlouis@sysif.net> # Copyright (C) 2005-2006 Julien Louis <ptitlouis@sysif.net>
# Copyright (C) 2005-2009 Emmanuel Bouthenot <kolter@openics.org> # Copyright (C) 2005-2009 Emmanuel Bouthenot <kolter@openics.org>
@@ -501,7 +501,7 @@ RUBY_VERSION=
if test "x$enable_ruby" = "xyes" ; then if test "x$enable_ruby" = "xyes" ; then
RUBY_CFLAGS="" RUBY_CFLAGS=""
RUBY_LFLAGS="" RUBY_LFLAGS=""
for v in "3.1" "3.0" "2.7" "2.6" "2.5" "2.4" "2.3" "2.2" "2.1" "2.0" "1.9" "1.8" ; do for v in "2.7" "2.6" "2.5" "2.4" "2.3" "2.2" "2.1" "2.0" "1.9" "1.8" ; do
pkgconfig_ruby_found=`$PKGCONFIG --exists ruby-$v 2>/dev/null` pkgconfig_ruby_found=`$PKGCONFIG --exists ruby-$v 2>/dev/null`
if test "x$?" = "x0" ; then if test "x$?" = "x0" ; then
RUBY_VERSION=`$PKGCONFIG --modversion ruby-$v` RUBY_VERSION=`$PKGCONFIG --modversion ruby-$v`
@@ -1175,27 +1175,6 @@ else
AC_SUBST(ZLIB_LFLAGS) AC_SUBST(ZLIB_LFLAGS)
fi fi
# ------------------------------------------------------------------------------
# zstd
# ------------------------------------------------------------------------------
AC_CHECK_HEADER(zstd.h,ac_found_zstd_header="yes",ac_found_zstd_header="no")
AC_CHECK_LIB(zstd,ZSTD_compress,ac_found_zstd_lib="yes",ac_found_zstd_lib="no")
AC_MSG_CHECKING(for zstd headers and libraries)
if test "x$ac_found_zstd_header" = "xno" -o "x$ac_found_zstd_lib" = "xno" ; then
AC_MSG_RESULT(no)
AC_MSG_ERROR([
*** zstd was not found. You may want to get it from https://github.com/facebook/zstd
*** or try to install it with your software package manager.])
else
AC_MSG_RESULT(yes)
ZSTD_CFLAGS=`pkg-config libzstd --cflags`
ZSTD_LFLAGS=`pkg-config libzstd --libs`
AC_SUBST(ZSTD_CFLAGS)
AC_SUBST(ZSTD_LFLAGS)
fi
# ------------------------------------------------------------------------------ # ------------------------------------------------------------------------------
# curl # curl
# ------------------------------------------------------------------------------ # ------------------------------------------------------------------------------
@@ -1284,7 +1263,7 @@ if test "x$enable_man" = "xyes" -o "x$enable_doc" = "xyes"; then
enable_man="no" enable_man="no"
enable_doc="no" enable_doc="no"
fi fi
ASCIIDOCTOR_ARGS="-a experimental -a reproducible -a 'prewrap!' -a 'webfonts!' -a icons=font -a sectanchors -a source-highlighter=pygments -a pygments-style=native" ASCIIDOCTOR_ARGS="-a experimental -a 'prewrap!' -a icons=font -a sectanchors -a source-highlighter=prettify"
AC_SUBST(ASCIIDOCTOR) AC_SUBST(ASCIIDOCTOR)
AC_SUBST(ASCIIDOCTOR_ARGS) AC_SUBST(ASCIIDOCTOR_ARGS)
fi fi
+1 -3
View File
@@ -4,7 +4,6 @@ Priority: optional
Maintainer: Sébastien Helleu <flashcode@flashtux.org> Maintainer: Sébastien Helleu <flashcode@flashtux.org>
Build-Depends: Build-Depends:
asciidoctor (>= 1.5.4), asciidoctor (>= 1.5.4),
ruby-pygments.rb,
debhelper (>= 12), debhelper (>= 12),
cmake, pkg-config, cmake, pkg-config,
libncursesw5-dev, libncursesw5-dev,
@@ -15,12 +14,11 @@ Build-Depends:
liblua5.3-dev, liblua5.3-dev,
tcl8.6-dev, tcl8.6-dev,
guile-2.2-dev, guile-2.2-dev,
php-dev, libphp-embed, libargon2-dev, libsodium-dev, php-dev, libphp-embed, libargon2-0-dev, libsodium-dev,
libxml2-dev, libxml2-dev,
libcurl4-gnutls-dev, libcurl4-gnutls-dev,
libgcrypt20-dev, libgcrypt20-dev,
libgnutls28-dev, libgnutls28-dev,
libzstd-dev,
zlib1g-dev zlib1g-dev
Standards-Version: 4.6.0.1 Standards-Version: 4.6.0.1
Homepage: https://weechat.org/ Homepage: https://weechat.org/
@@ -0,0 +1,10 @@
Document: weechat-tester-de
Title: WeeChat tester's guide (German)
Author: Sébastien Helleu
Abstract: This document describes how to test and report
bugs against the WeeChat IRC Client (German version).
Section: Network/Communication
Format: HTML
Index: /usr/share/doc/weechat-devel-doc/html/weechat_tester.de.html
Files: /usr/share/doc/weechat-devel-doc/html/weechat_tester.de.html
@@ -0,0 +1,10 @@
Document: weechat-tester-en
Title: WeeChat tester's guide (English)
Author: Sébastien Helleu
Abstract: This document describes how to test and report
bugs against the WeeChat IRC Client (English version).
Section: Network/Communication
Format: HTML
Index: /usr/share/doc/weechat-devel-doc/html/weechat_tester.en.html
Files: /usr/share/doc/weechat-devel-doc/html/weechat_tester.en.html
@@ -0,0 +1,10 @@
Document: weechat-tester-fr
Title: WeeChat tester's guide (French)
Author: Sébastien Helleu
Abstract: This document describes how to test and report
bugs against the WeeChat IRC Client (French version).
Section: Network/Communication
Format: HTML
Index: /usr/share/doc/weechat-devel-doc/html/weechat_tester.fr.html
Files: /usr/share/doc/weechat-devel-doc/html/weechat_tester.fr.html
@@ -0,0 +1,10 @@
Document: weechat-tester-it
Title: WeeChat tester's guide (Italian)
Author: Sébastien Helleu
Abstract: This document describes how to test and report
bugs against the WeeChat IRC Client (Italian version).
Section: Network/Communication
Format: HTML
Index: /usr/share/doc/weechat-devel-doc/html/weechat_tester.it.html
Files: /usr/share/doc/weechat-devel-doc/html/weechat_tester.it.html
@@ -0,0 +1,10 @@
Document: weechat-tester-ja
Title: WeeChat tester's guide (Japanese)
Author: Sébastien Helleu
Abstract: This document describes how to test and report
bugs against the WeeChat IRC Client (Japanese version).
Section: Network/Communication
Format: HTML
Index: /usr/share/doc/weechat-devel-doc/html/weechat_tester.ja.html
Files: /usr/share/doc/weechat-devel-doc/html/weechat_tester.ja.html
@@ -0,0 +1,10 @@
Document: weechat-tester-pl
Title: WeeChat tester's guide (Polish)
Author: Sébastien Helleu
Abstract: This document describes how to test and report
bugs against the WeeChat IRC Client (Polish version).
Section: Network/Communication
Format: HTML
Index: /usr/share/doc/weechat-devel-doc/html/weechat_tester.pl.html
Files: /usr/share/doc/weechat-devel-doc/html/weechat_tester.pl.html
-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 weechat (3.2.1-1) unstable; urgency=medium
* New upstream release * New upstream release
+1 -3
View File
@@ -4,7 +4,6 @@ Priority: optional
Maintainer: Emmanuel Bouthenot <kolter@debian.org> Maintainer: Emmanuel Bouthenot <kolter@debian.org>
Build-Depends: Build-Depends:
asciidoctor (>= 1.5.4), asciidoctor (>= 1.5.4),
ruby-pygments.rb,
debhelper (>= 12), debhelper (>= 12),
cmake, pkg-config, cmake, pkg-config,
libncursesw5-dev, libncursesw5-dev,
@@ -15,12 +14,11 @@ Build-Depends:
liblua5.3-dev, liblua5.3-dev,
tcl8.6-dev, tcl8.6-dev,
guile-2.2-dev, guile-2.2-dev,
php-dev, libphp-embed, libargon2-dev, libsodium-dev, php-dev, libphp-embed, libargon2-0-dev, libsodium-dev,
libxml2-dev, libxml2-dev,
libcurl4-gnutls-dev, libcurl4-gnutls-dev,
libgcrypt20-dev, libgcrypt20-dev,
libgnutls28-dev, libgnutls28-dev,
libzstd-dev,
zlib1g-dev zlib1g-dev
Standards-Version: 4.6.0.1 Standards-Version: 4.6.0.1
Homepage: https://weechat.org/ Homepage: https://weechat.org/
+1 -1
View File
@@ -4,7 +4,7 @@ Upstream-Contact: Sébastien Helleu <flashcode@flashtux.org>
Source: https://weechat.org/ Source: https://weechat.org/
Files: * Files: *
Copyright: 2003-2022, Sébastien Helleu <flashcode@flashtux.org> Copyright: 2003-2021, Sébastien Helleu <flashcode@flashtux.org>
License: GPL-3+ License: GPL-3+
Files: src/core/wee-command.c Files: src/core/wee-command.c
@@ -0,0 +1,10 @@
Document: weechat-tester-de
Title: WeeChat tester's guide (German)
Author: Sébastien Helleu
Abstract: This document describes how to test and report
bugs against the WeeChat IRC Client (German version).
Section: Network/Communication
Format: HTML
Index: /usr/share/doc/weechat-doc/html/weechat_tester.de.html
Files: /usr/share/doc/weechat-doc/html/weechat_tester.de.html
@@ -0,0 +1,10 @@
Document: weechat-tester-en
Title: WeeChat tester's guide (English)
Author: Sébastien Helleu
Abstract: This document describes how to test and report
bugs against the WeeChat IRC Client (English version).
Section: Network/Communication
Format: HTML
Index: /usr/share/doc/weechat-doc/html/weechat_tester.en.html
Files: /usr/share/doc/weechat-doc/html/weechat_tester.en.html
@@ -0,0 +1,10 @@
Document: weechat-tester-fr
Title: WeeChat tester's guide (French)
Author: Sébastien Helleu
Abstract: This document describes how to test and report
bugs against the WeeChat IRC Client (French version).
Section: Network/Communication
Format: HTML
Index: /usr/share/doc/weechat-doc/html/weechat_tester.fr.html
Files: /usr/share/doc/weechat-doc/html/weechat_tester.fr.html
@@ -0,0 +1,10 @@
Document: weechat-tester-it
Title: WeeChat tester's guide (Italian)
Author: Sébastien Helleu
Abstract: This document describes how to test and report
bugs against the WeeChat IRC Client (Italian version).
Section: Network/Communication
Format: HTML
Index: /usr/share/doc/weechat-doc/html/weechat_tester.it.html
Files: /usr/share/doc/weechat-doc/html/weechat_tester.it.html
@@ -0,0 +1,10 @@
Document: weechat-tester-ja
Title: WeeChat tester's guide (Japanese)
Author: Sébastien Helleu
Abstract: This document describes how to test and report
bugs against the WeeChat IRC Client (Japanese version).
Section: Network/Communication
Format: HTML
Index: /usr/share/doc/weechat-doc/html/weechat_tester.ja.html
Files: /usr/share/doc/weechat-doc/html/weechat_tester.ja.html
@@ -0,0 +1,10 @@
Document: weechat-tester-pl
Title: WeeChat tester's guide (Polish)
Author: Sébastien Helleu
Abstract: This document describes how to test and report
bugs against the WeeChat IRC Client (Polish version).
Section: Network/Communication
Format: HTML
Index: /usr/share/doc/weechat-doc/html/weechat_tester.pl.html
Files: /usr/share/doc/weechat-doc/html/weechat_tester.pl.html
+2 -53
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> # Copyright (C) 2009 Emmanuel Bouthenot <kolter@openics.org>
# #
# This file is part of WeeChat, the extensible chat client. # This file is part of WeeChat, the extensible chat client.
@@ -21,58 +21,7 @@
if(ENABLE_MAN OR ENABLE_DOC) if(ENABLE_MAN OR ENABLE_DOC)
find_package(Asciidoctor) find_package(Asciidoctor)
if(ASCIIDOCTOR_FOUND) if(ASCIIDOCTOR_FOUND)
# common asciidoctor arguments set(ASCIIDOCTOR_ARGS -a experimental -a "prewrap!" -a icons=font -a revnumber="${VERSION}" -a sectanchors -a source-highlighter=prettify)
set(ASCIIDOCTOR_ARGS -a experimental -a reproducible -a "prewrap!" -a "webfonts!" -a icons=font -a revnumber="${VERSION}" -a sectanchors -a source-highlighter=pygments -a pygments-style=native)
# sed arguments used to replace links in ChangeLog and release notes
set(SED_LINKS_ARGS
-e "'s/issue #\\([0-9][0-9]*\\)/https:\\/\\/github.com\\/weechat\\/weechat\\/issues\\/\\1[issue #\\1^]/g'"
-e "'s/bug #\\([0-9][0-9]*\\)/https:\\/\\/savannah.nongnu.org\\/bugs\\/?\\1[bug #\\1^]/g'"
-e "'s/task #\\([0-9][0-9]*\\)/https:\\/\\/savannah.nongnu.org\\/task\\/?\\1[task #\\1^]/g'"
-e "'s/patch #\\([0-9][0-9]*\\)/https:\\/\\/savannah.nongnu.org\\/patch\\/?\\1[patch #\\1^]/g'"
-e "'s/debian #\\([0-9][0-9]*\\)/http:\\/\\/bugs.debian.org\\/cgi-bin\\/bugreport.cgi?bug=\\1[debian bug #\\1^]/g'"
-e "'s/\\(CVE-[0-9][0-9]*-[0-9][0-9]*\\)/https:\\/\\/cve.mitre.org\\/cgi-bin\\/cvename.cgi?name=\\1[\\1^]/g'"
)
# ChangeLog
add_custom_command(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/ChangeLog-links.adoc
COMMAND sed ARGS ${SED_LINKS_ARGS} ${CMAKE_CURRENT_SOURCE_DIR}/../ChangeLog.adoc > ${CMAKE_CURRENT_BINARY_DIR}/ChangeLog-links.adoc
DEPENDS
${CMAKE_CURRENT_SOURCE_DIR}/../ChangeLog.adoc
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
)
add_custom_command(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/ChangeLog.html
COMMAND ${ASCIIDOCTOR_EXECUTABLE} ARGS ${ASCIIDOCTOR_ARGS} -a docinfodir="${CMAKE_CURRENT_SOURCE_DIR}" -o ChangeLog.html ${CMAKE_CURRENT_BINARY_DIR}/ChangeLog-links.adoc
DEPENDS
${CMAKE_CURRENT_SOURCE_DIR}/docinfo.html
${CMAKE_CURRENT_BINARY_DIR}/ChangeLog-links.adoc
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMENT "Building ChangeLog.html"
)
add_custom_target(changelog DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/ChangeLog.html)
# Release notes
add_custom_command(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/ReleaseNotes-links.adoc
COMMAND sed ARGS ${SED_LINKS_ARGS} ${CMAKE_CURRENT_SOURCE_DIR}/../ReleaseNotes.adoc > ${CMAKE_CURRENT_BINARY_DIR}/ReleaseNotes-links.adoc
DEPENDS
${CMAKE_CURRENT_SOURCE_DIR}/../ReleaseNotes.adoc
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
)
add_custom_command(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/ReleaseNotes.html
COMMAND ${ASCIIDOCTOR_EXECUTABLE} ARGS ${ASCIIDOCTOR_ARGS} -a docinfodir="${CMAKE_CURRENT_SOURCE_DIR}" -o ReleaseNotes.html ${CMAKE_CURRENT_BINARY_DIR}/ReleaseNotes-links.adoc
DEPENDS
${CMAKE_CURRENT_SOURCE_DIR}/docinfo.html
${CMAKE_CURRENT_BINARY_DIR}/ReleaseNotes-links.adoc
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMENT "Building ReleaseNotes.html"
)
add_custom_target(rn DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/ReleaseNotes.html)
# man/doc in all languages
add_subdirectory(cs) add_subdirectory(cs)
add_subdirectory(de) add_subdirectory(de)
add_subdirectory(en) add_subdirectory(en)
+1 -1
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> # Copyright (C) 2006 Julien Louis <ptitlouis@sysif.net>
# #
# This file is part of WeeChat, the extensible chat client. # This file is part of WeeChat, the extensible chat client.
+1 -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. # 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. # This file is part of WeeChat, the extensible chat client.
# #
+2 -2
View File
@@ -1,6 +1,6 @@
// tag::plugin_options[] // tag::plugin_options[]
Pro kompletní dokumentaci nastavení pluginů a jejich volby podívejte se na 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: 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 WeeChat je napsán Sébastienem Helleu a přispěvovateli (kompletní seznam je v
souboru AUTHORS.adoc). souboru AUTHORS.adoc).
Copyright (C) 2003-2022 {author} Copyright (C) 2003-2021 {author}
WeeChat is free software; you can redistribute it and/or modify WeeChat is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by
+1 -1
View File
@@ -67,4 +67,4 @@ include::includes/man.cs.adoc[tag=copyright]
== PODPORA / HLÁŠENÍ CHYB == 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 == 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 // TRANSLATION MISSING
The `/autojoin` command lets you configure the _autojoin_ option easily [TIP]
(see `/help autojoin`). 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
// TRANSLATION MISSING the name of option).
You can also configure WeeChat to automatically update the _autojoin_ option
when you join or leave channels:
----
/set irc.server_default.autojoin_dynamic on
----
K smazání hodnoty serverové volby a k použití výchozí hodnoty místo ní, 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): 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 /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]] [[connect_to_irc_server]]
== Připojení k IRC serveru == Připojení k IRC serveru
@@ -401,16 +389,14 @@ například:
Zkuste `/help script` pro více informací. Zkuste `/help script` pro více informací.
// TRANSLATION MISSING
A list of scripts is available in WeeChat with `/script` or on A seznam skriptů je dostupný v WeeChatu s příkazem `/script` nebo na této
https://weechat.org/scripts/[this page ^↗^,window=_blank]. adrese https://weechat.org/scripts
[[more_doc]] [[more_doc]]
== Další dokumentace == Další dokumentace
// TRANSLATION MISSING Nyní jste schopni používat WeeChat a můžete si přečíst FAQ/dokumentaci pro
You can now use WeeChat and read jakékoliv další otázky: https://weechat.org/doc
https://weechat.org/doc/[FAQ/documentation ^↗^,window=_blank]
for any other questions.
Ať máte radost z použití WeeChatu! 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. # This file is part of WeeChat, the extensible chat client.
# #
@@ -107,4 +107,17 @@ if(ENABLE_DOC)
add_custom_target(doc-quickstart-de ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/weechat_quickstart.de.html) add_custom_target(doc-quickstart-de ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/weechat_quickstart.de.html)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/weechat_quickstart.de.html DESTINATION ${DATAROOTDIR}/doc/${PROJECT_NAME}) install(FILES ${CMAKE_CURRENT_BINARY_DIR}/weechat_quickstart.de.html DESTINATION ${DATAROOTDIR}/doc/${PROJECT_NAME})
# tester's guide
add_custom_command(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/weechat_tester.de.html
COMMAND ${ASCIIDOCTOR_EXECUTABLE} ARGS ${ASCIIDOCTOR_ARGS} -o weechat_tester.de.html ${CMAKE_CURRENT_SOURCE_DIR}/weechat_tester.de.adoc
DEPENDS
${CMAKE_CURRENT_SOURCE_DIR}/../docinfo.html
${CMAKE_CURRENT_SOURCE_DIR}/weechat_tester.de.adoc
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMENT "Building weechat_tester.de.html"
)
add_custom_target(doc-tester-de ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/weechat_tester.de.html)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/weechat_tester.de.html DESTINATION ${DATAROOTDIR}/doc/${PROJECT_NAME})
endif() endif()
+8 -2
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> # Copyright (C) 2006 Julien Louis <ptitlouis@sysif.net>
# #
# This file is part of WeeChat, the extensible chat client. # This file is part of WeeChat, the extensible chat client.
@@ -28,6 +28,7 @@ EXTRA_DIST = CMakeLists.txt \
weechat_scripting.de.adoc \ weechat_scripting.de.adoc \
weechat_faq.de.adoc \ weechat_faq.de.adoc \
weechat_quickstart.de.adoc \ weechat_quickstart.de.adoc \
weechat_tester.de.adoc \
includes/autogen_api_completions.de.adoc \ includes/autogen_api_completions.de.adoc \
includes/autogen_api_hdata.de.adoc \ includes/autogen_api_hdata.de.adoc \
includes/autogen_api_infolists.de.adoc \ includes/autogen_api_infolists.de.adoc \
@@ -52,7 +53,8 @@ if DOC
doc_targets = weechat_user.de.html \ doc_targets = weechat_user.de.html \
weechat_scripting.de.html \ weechat_scripting.de.html \
weechat_faq.de.html \ weechat_faq.de.html \
weechat_quickstart.de.html weechat_quickstart.de.html \
weechat_tester.de.html
doc_install = install-doc doc_install = install-doc
doc_uninstall = uninstall-doc doc_uninstall = uninstall-doc
endif endif
@@ -80,6 +82,10 @@ weechat_faq.de.html: weechat_faq.de.adoc $(abs_top_srcdir)/doc/docinfo.html
weechat_quickstart.de.html: weechat_quickstart.de.adoc $(abs_top_srcdir)/doc/docinfo.html weechat_quickstart.de.html: weechat_quickstart.de.adoc $(abs_top_srcdir)/doc/docinfo.html
$(ASCIIDOCTOR) $(ASCIIDOCTOR_ARGS) -a revnumber="$(VERSION)" -o weechat_quickstart.de.html $(abs_top_srcdir)/doc/de/weechat_quickstart.de.adoc $(ASCIIDOCTOR) $(ASCIIDOCTOR_ARGS) -a revnumber="$(VERSION)" -o weechat_quickstart.de.html $(abs_top_srcdir)/doc/de/weechat_quickstart.de.adoc
# tester's guide
weechat_tester.de.html: weechat_tester.de.adoc $(abs_top_srcdir)/doc/docinfo.html
$(ASCIIDOCTOR) $(ASCIIDOCTOR_ARGS) -a revnumber="$(VERSION)" -o weechat_tester.de.html $(abs_top_srcdir)/doc/de/weechat_tester.de.adoc
# install man/docs # install man/docs
install-data-hook: $(man_install) $(doc_install) install-data-hook: $(man_install) $(doc_install)
@@ -26,8 +26,6 @@
| irc | irc_channels | Kanäle auf allen IRC Servern | irc | irc_channels | Kanäle auf allen IRC Servern
| irc | irc_channels_autojoin | Kanäle, die automatisch auf dem aktuellen Server betreten werden (Option "autojoin")
| irc | irc_ignores_numbers | Anzahl für festgelegte Ignorierungen | irc | irc_ignores_numbers | Anzahl für festgelegte Ignorierungen
| irc | irc_modelist_masks | Modelist Maske für aktuellen IRC Kanal; benötigtes Argument: modelist mode | irc | irc_modelist_masks | Modelist Maske für aktuellen IRC Kanal; benötigtes Argument: modelist mode
@@ -94,8 +92,6 @@
| tcl | tcl_script | Liste der Skripten | 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_arguments | Standardargumente für einen Hook
| trigger | trigger_hook_command | Standardbefehl 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 | 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_value | Wert einer Umgebungsvariable
| weechat | env_vars | Umgebungsvariablen | weechat | env_vars | Umgebungsvariablen
@@ -8,7 +8,7 @@
|=== |===
| Erweiterung | Name | Beschreibung | Hashtable (Eingabe) | Hashtable (Ausgabe) | Erweiterung | Name | Beschreibung | Hashtable (Eingabe) | Hashtable (Ausgabe)
| irc | irc_message_parse | Parse eine IRC Nachricht | "message": IRC Nachricht, "server": Servername (optional) | "tags": Tags, "tag_xxx": Wert des Tags "xxx" ohne Escapezeichen (ein Schlüssel pro Tag), "message_without_tags": Nachrichten ohne Tags, "nick": Nick, "user": Benutzer, "host": Host, "command": Befehl, "channel": Kanal, "arguments": Argumente (schließt Kanal ein), "text": Text (zum Beispiel eine Nachricht von einem User), "param1" ... "paramN": geparste Befehlsparameter, "num_params": Anzahl geparste Befehlsparameter, "pos_command": Index der "command" Nachricht ("-1" falls "command" nicht gefunden wird), "pos_arguments": Index der "arguments" Nachricht ("-1" falls "arguments" nicht gefunden wird), "pos_channel": Index der "channel" Nachricht ("-1" falls "channel" nicht gefunden wird),"pos_text": Index für "text" Nachricht ("-1" falls "text" nicht gefunden wird) | irc | irc_message_parse | Parse eine IRC Nachricht | "message": IRC Nachricht, "server": Servername (optional) | "tags": Tags, "tag_xxx": Wert des Tags "xxx" ohne Escapezeichen (ein Schlüssel pro Tag), "message_without_tags": Nachrichten ohne Tags, "nick": Nick, "user": Benutzer, "host": Host, "command": Befehl, "channel": Kanal, "arguments": Argumente (schließt Kanal ein), "text": Text (zum Beispiel eine Nachricht von einem User), "pos_command": Index der "command" Nachricht ("-1" falls "command" nicht gefunden wird), "pos_arguments": Index der "arguments" Nachricht ("-1" falls "arguments" nicht gefunden wird), "pos_channel": Index der "channel" Nachricht ("-1" falls "channel" nicht gefunden wird),"pos_text": Index für "text" Nachricht ("-1" falls "text" nicht gefunden wird)
| irc | irc_message_split | trennt eine IRC Nachricht (standardmäßig in 512 Bytes große Nachrichten) | "message": IRC Nachricht, "server": Servername (optional) | "msg1" ... "msgN": Nachrichten die versendet werden sollen (ohne abschließendes "\r\n"), "args1" ... "argsN": Argumente für Nachrichten, "count": Anzahl der Nachrichten | irc | irc_message_split | trennt eine IRC Nachricht (standardmäßig in 512 Bytes große Nachrichten) | "message": IRC Nachricht, "server": Servername (optional) | "msg1" ... "msgN": Nachrichten die versendet werden sollen (ohne abschließendes "\r\n"), "args1" ... "argsN": Argumente für Nachrichten, "count": Anzahl der Nachrichten
+27 -104
View File
@@ -123,36 +123,6 @@ Beispiele:
/auth user2 ${weechat_config_dir}/ecdsa2.pem /auth user2 ${weechat_config_dir}/ecdsa2.pem
---- ----
[[command_irc_autojoin]]
* `+autojoin+`: Konfigurieren der Serveroption "autojoin"
----
/autojoin add [<channel1> [<channel2>...]]
addraw <channel1>[,<channel2>...] [<key1>[,<key2>...]]
del [<channel1> [<channel2>...]]
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]] [[command_irc_ban]]
* `+ban+`: Nicknamen oder Hosts sperren/verbannen * `+ban+`: Nicknamen oder Hosts sperren/verbannen
@@ -1332,8 +1302,8 @@ Beispiele:
---- ----
/debug list /debug list
set <plugin> <level> set <plugin> <level>
dump|hooks [<plugin>] dump [<plugin>]
buffer|certs|color|dirs|infolists|libs|memory|tags|term|windows buffer|color|infolists|libs|certs|memory|tags|term|windows
mouse|cursor [verbose] mouse|cursor [verbose]
hdata [free] hdata [free]
time <command> time <command>
@@ -1343,15 +1313,15 @@ Beispiele:
plugin: Name der Erweiterung ("core" für den WeeChat Kern) plugin: Name der Erweiterung ("core" für den WeeChat Kern)
level: Debuglevel der Erweiterung (0 = deaktiviert Debug) level: Debuglevel der Erweiterung (0 = deaktiviert Debug)
dump: Speicherabbild in die WeeChat Protokolldatei schreiben (wie bei einem Programmabsturz) 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 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 color: zeigt Informationen über die aktuellen Farbpaarungen an
cursor: schaltet den debug-Modus für den Cursor-Modus ein/aus cursor: schaltet den debug-Modus für den Cursor-Modus ein/aus
dirs: Verzeichnisse werden angezeigt dirs: Verzeichnisse werden angezeigt
hdata: zeigt Informationen zu hdata an (mittels free werden alle hdata Informationen aus dem Speicher entfernt) 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 infolists: zeigt Information über die Infolists an
libs: zeigt an welche externen Bibliotheken verwendet werden 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 memory: gibt Informationen über den genutzten Speicher aus
mouse: schaltet den debug-Modus für den Maus-Modus ein/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 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") 3. eine evaluierte Teilzeichenkette (Format: "eval:xxx")
4. eine evaluierte Bedingung (Format: "eval_cond:xxx") 4. eine evaluierte Bedingung (Format: "eval_cond:xxx")
5. eine Zeichenkette mit Escapesequenzen (Format: "esc:xxx" oder "\xxx") 5. eine Zeichenkette mit Escapesequenzen (Format: "esc:xxx" oder "\xxx")
6. eine Zeichenfolge, die in Kleinbuchstaben umgewandelt wird (Format: "lower:xxx") 6. Zeichen, die in einer Zeichenkette nicht dargestellt werden sollen (Format: "hide:Zeichen,Zeichenkette")
7. eine Zeichenfolge, die in Großbuchstaben umgewandelt wird (Format: "upper:xxx") 7. eine Zeichenkette mit einer maximalen Anzahl an Zeichen (Format: "cut:max,suffix,string" oder "cut:+max,suffix,string")
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")
oder maximale Anzahl an Zeichen die auf dem Bildschirm angezeigt werden sollen (Format: "cutscr:Max,Suffix,Zeichenkette oder "cutscr:+Max,Suffix,Zeichenkette") 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") 8. eine Zeichenkette umkehren (Format: "rev:xxx" oder "revscr:xxx")
11. eine Zeichenkette wiederholen (Format: "repeat:Anzahl,Zeichenkette") 9. eine Zeichenkette wiederholen (Format: "repeat:Anzahl,Zeichenkette")
12. Länge einer Zeichenkette (Format: "length:xxx" oder "lengthscr:xxx") 10. Länge einer Zeichenkette (Format: "length:xxx" oder "lengthscr:xxx")
13. Aufteilen einer Zeichenkette (Format: "split:Anzahl,Trennzeichen,Flags,xxx") 11. Aufteilen einer Zeichenkette (Format: "split:Anzahl,Trennzeichen,Flags,xxx")
14. Aufteilen von Shell-Argumenten (Format: "split_shell:Anzahl,xxx") 12. Aufteilen von Shell-Argumenten (Format: "split_shell:Anzahl,xxx")
15. eine Farbe (Format: "color:xxx", siehe "Anleitung für API Erweiterung", Funktion "color") 13. eine Farbe (Format: "color:xxx", siehe "Anleitung für API Erweiterung", Funktion "color")
16. zum modifizieren (Format: "modifier:name,data,string") 14. zum modifizieren (Format: "modifier:name,data,string")
17. eine Info (Format: "Info:Name,Argumente", Argumente sind optional) 15. 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") 16. 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") 17. aktuelles Datum/Uhrzeit (Format: "date" oder "date:format")
20. eine Umgebungsvariable (Format: "env:XXX") 18. eine Umgebungsvariable (Format: "env:XXX")
21. ein Dreifachoperand (Format: "if:Bedingung?Wert_falls_wahr:Wert_falls_unwahr") 19. ein Dreifachoperand (Format: "if:Bedingung?Wert_falls_wahr:Wert_falls_unwahr")
22. Ergebnis eines Ausdrucks mit Klammern und Operatoren + - * / // % ** (Format: "calc:xxx") 20. Ergebnis eines Ausdrucks mit Klammern und Operatoren + - * / // % ** (Format: "calc:xxx")
23. eine zufällige ganze Zahl (Format: "random:min,max") 21. eine zufällige ganze Zahl (Format: "random:min,max")
24. eine übersetzte Zeichenkette (Format: "translate:xxx") 22. eine übersetzte Zeichenkette (Format: "translate:xxx")
25. eine Benutzervariable definieren (Format: "define:Name,Wert") 23. eine Benutzervariable definieren (Format: "define:Name,Wert")
26. eine Option (Format: "file.section.option") 24. eine Option (Format: "file.section.option")
27. eine lokale Variable eines Buffers 25. 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. 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: 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.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: 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.full_name} ==> core.weechat
/eval -n ${window.buffer.number} ==> 1 /eval -n ${window.buffer.number} ==> 1
/eval -n ${\t} ==> <tab> /eval -n ${\t} ==> <tab>
/eval -n ${lower:TEST} ==> test
/eval -n ${upper:test} ==> TEST
/eval -n ${hide:-,${relay.network.password}} ==> -------- /eval -n ${hide:-,${relay.network.password}} ==> --------
/eval -n ${cut:3,+,test} ==> tes+ /eval -n ${cut:3,+,test} ==> tes+
/eval -n ${cut:+3,+,test} ==> te+ /eval -n ${cut:+3,+,test} ==> te+
@@ -1502,7 +1468,7 @@ Beispiele (Bedingungen):
add|addreplace <name> <buffer>[,<buffer>...] <tags> <regex> add|addreplace <name> <buffer>[,<buffer>...] <tags> <regex>
rename <name> <new_name> rename <name> <new_name>
recreate <name> recreate <name>
del <name>|-all [<name>...] del <name>|-all
list: alle Filter auflisten list: alle Filter auflisten
enable: Filter wird aktiviert (Filter werden standardmäßig aktiviert) 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. 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]] [[command_weechat_key]]
* `+key+`: Einer Taste einen Befehl zuordnen oder entfernen * `+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) - 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 "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. Ohne Angabe von Argumenten werden alle Relay-Clients in einem neuen Buffer dargestellt.
+10 -10
View File
@@ -1290,6 +1290,12 @@
** Werte: beliebige Zeichenkette ** Werte: beliebige Zeichenkette
** Standardwert: `+"*"+` ** Standardwert: `+"*"+`
* [[option_weechat.plugin.debug]] *weechat.plugin.debug*
** Beschreibung: pass:none[aktiviert Debug-Nachrichten für alle Erweiterungen (diese Einstellung ist standardmäßig deaktiviert und das ist auch gut so)]
** Typ: boolesch
** Werte: on, off
** Standardwert: `+off+`
* [[option_weechat.plugin.extension]] *weechat.plugin.extension* * [[option_weechat.plugin.extension]] *weechat.plugin.extension*
** Beschreibung: pass:none[durch Kommata getrennte Liste von Dateinamenserweiterungen, welche für die Erweiterungen genutzt werden sollen] ** Beschreibung: pass:none[durch Kommata getrennte Liste von Dateinamenserweiterungen, welche für die Erweiterungen genutzt werden sollen]
** Typ: Zeichenkette ** Typ: Zeichenkette
@@ -2690,12 +2696,6 @@
** Werte: beliebige Zeichenkette ** Werte: beliebige Zeichenkette
** Standardwert: `+""+` ** Standardwert: `+""+`
* [[option_irc.server_default.autojoin_dynamic]] *irc.server_default.autojoin_dynamic*
** Beschreibung: pass:none[Setze automatisch die "autojoin"-Option entsprechend den Kanälen, die du manuell beitrittst bzw. verlässt, mit den Befehlen /join und /part]
** Typ: boolesch
** Werte: on, off
** Standardwert: `+off+`
* [[option_irc.server_default.autoreconnect]] *irc.server_default.autoreconnect* * [[option_irc.server_default.autoreconnect]] *irc.server_default.autoreconnect*
** Beschreibung: pass:none[Nach einer Trennung vom Server die Verbindung automatisch wiederherstellen] ** Beschreibung: pass:none[Nach einer Trennung vom Server die Verbindung automatisch wiederherstellen]
** Typ: boolesch ** Typ: boolesch
@@ -3064,11 +3064,11 @@
** Werte: -1 .. 43200 ** Werte: -1 .. 43200
** Standardwert: `+0+` ** Standardwert: `+0+`
* [[option_relay.network.compression]] *relay.network.compression* * [[option_relay.network.compression_level]] *relay.network.compression_level*
** Beschreibung: pass:none[Komprimierung von Nachrichten, die mittels "weechat" Protokoll an Clients gesendet werden: 0 = Komprimierung deaktivieren, 1 = geringe Komprimierung / schnell ... 100 = beste Komprimierung / langsam; dieser Wert ist eine Prozentangabe, welcher für zlib nach 1-9 und für zstd nach 1-19 umgewandelt wird; der Standardwert wird empfohlen, denn er bietet einen guten Kompromiss zwischen Kompression und Geschwindigkeit] ** Beschreibung: pass:none[Kompressionsstärke der Pakete die durch das WeeChat Protokoll an den Client gesendet werden sollen (0 = Kompression deaktiviert, 1 = niedrige Kompression ... 9 = stärkste Kompression)]
** Typ: integer ** Typ: integer
** Werte: 0 .. 100 ** Werte: 0 .. 9
** Standardwert: `+20+` ** Standardwert: `+6+`
* [[option_relay.network.ipv6]] *relay.network.ipv6* * [[option_relay.network.ipv6]] *relay.network.ipv6*
** Beschreibung: pass:none[lauscht standardmäßig am IPv6 Socket (zusätzlich zu IPv4, welches als Standardprotokoll genutzt wird); mittels des Protokollnamens kann das IPv4 und IPv6 Protokoll, einzeln oder gemeinsam, erzwungen werden (siehe /help relay)] ** Beschreibung: pass:none[lauscht standardmäßig am IPv6 Socket (zusätzlich zu IPv4, welches als Standardprotokoll genutzt wird); mittels des Protokollnamens kann das IPv4 und IPv6 Protokoll, einzeln oder gemeinsam, erzwungen werden (siehe /help relay)]
+2 -2
View File
@@ -1,6 +1,6 @@
// tag::plugin_options[] // tag::plugin_options[]
Um eine vollständige Dokumentation der Optionen zu erhalten, siehe 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, Mittels der IRC Erweiterung kann man sich zu einen temporären Server verbinden lassen,
indem man eine URL verwendet: 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 WeeChat wird programmiert von Sébastien Helleu und weiteren Beteiligten (eine vollständige Auflistung
findet man in der AUTHORS.adoc Datei). findet man in der AUTHORS.adoc Datei).
Copyright (C) 2003-2022 {author} Copyright (C) 2003-2021 {author}
WeeChat is free software; you can redistribute it and/or modify WeeChat is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by
+1 -1
View File
@@ -63,4 +63,4 @@ include::includes/man.de.adoc[tag=copyright]
== SUPPORT / FEHLER MELDEN == 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 == 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. WeeChat ist sehr speicherschonend und besticht durch innovative Funktionen.
Weitere Infomationen über Weechat Weitere Informationen findet man auf der WeeChat Seite: https://weechat.org/about/features
https://weechat.org/about/features/[features page ^↗^,window=_blank].
[[compilation_install]] [[compilation_install]]
== Kompilierung / Installation == Kompilierung / Installation
@@ -47,17 +46,17 @@ https://weechat.org/about/features/[features page ^↗^,window=_blank].
[[gui]] [[gui]]
=== Ich habe gehört es gibt verschiedene GUIs für WeeChat. Wie kann ich diese kompilieren bzw. nutzen? === 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 Es sind einige Remote-Oberflächen verfügbar. Diese findet man auf der Homepage:
https://weechat.org/about/interfaces/[remote interfaces page ^↗^,window=_blank]. https://weechat.org/about/interfaces
[[compile_git]] [[compile_git]]
=== Ich kann WeeChat nach Cloning des git Repository nicht kompilieren - weshalb? === 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. kompilieren von WeeChat zu nutzen.
Falls Du WeeChat mit Hilfe der 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 (dich also nicht für CMake entscheidest), stelle sicher, dass Du die neueste
Version von autoconf und automake besitzt. Version von autoconf und automake besitzt.
@@ -70,7 +69,7 @@ das Repository klont und daraus Updates installiert.
[[compile_macos]] [[compile_macos]]
=== Wie installiere ich WeeChat auf 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: Hilfe erhält man mittels:
---- ----
@@ -88,12 +87,12 @@ brew install weechat
Um Hilfe zu erhalten, nutze den `/help` Befehl. Um Hilfe zu erhalten, nutze den `/help` Befehl.
Jeder Befehl besitzt einen Hilfstext, den man sich durch `/help Befehlsname` anzeigen lassen kann. 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 Die link:weechat_user.de.html#key_bindings[Standard Tastenbelegung] sowie
link:weechat_user.de.html#commands_and_options[Befehle und Optionen ^↗^,window=_blank] sind im link:weechat_user.de.html#commands_and_options[Befehle und Optionen] sind im
link:weechat_user.de.html[Benutzerhandbuch ^↗^,window=_blank] aufgeführt. link:weechat_user.de.html[Benutzerhandbuch] aufgeführt.
Neuen Anwendern wird empfohlen, 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]] [[display]]
== Anzeige == 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 ("`defutf8 on`" in der Datei ~/.screenrc oder `screen -U` beim Starten von
screen). screen).
* Überprüfe die Option * Ü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). (diese Option kann schwerwiegenden Darstellungsfehler verursachen, wenn man die Option aktiviert hat).
[NOTE] [NOTE]
@@ -142,10 +141,10 @@ Dieser Fehler sollte durch glibc 2.22 behoben sein (vielleicht ist diese Version
verwendeten Distributionen noch nicht verfügbar). verwendeten Distributionen noch nicht verfügbar).
Es gibt folgende Übergangslösung, um das Problem mit der _wcwidth_ zu umgehen: 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] Siehe auch diese Fehlermeldung für weitere Informationen:
für weitere Informationen. https://github.com/weechat/weechat/issues/79
[[bars_background]] [[bars_background]]
=== Weshalb haben Bars, z.B. Titel und Status, keine Hintergrundfarbe bzw. diese endet direkt nach dem Text? === 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]] [[buffers_list]]
=== Wie kann ich eine Liste mit den Buffern z.B. auf der linken Seite anzeigen lassen? === 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. automatisch geladen und verwendet.
Bei älteren Versionen kann stattdessen das Skript _buffers.pl_ installiert werden: Bei älteren Versionen kann stattdessen das Skript _buffers.pl_ installiert werden:
@@ -248,7 +247,7 @@ finden folgende WeeChat-Befehle Anwendung:
[NOTE] [NOTE]
Die Tasten "meta-OP" und "meta-OQ" können im Hinblick auf das jeweils genutzte Terminal variieren. 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. 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]] [[customize_buflist]]
=== Wie kann ich die Darstellung der Bufferliste anpassen, z.B. die Farbe des aktiven Buffers? === 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. 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] Es gibt auch eine Wiki-Seite mit Beispielen, wie eine erweiterte Konfiguration aussehen kann:
mit Beispielen für die erweiterte buflist Konfiguration. https://github.com/weechat/weechat/wiki/buflist
[[customize_prefix]] [[customize_prefix]]
=== Wie kann ich die Länge eines Nicknamens begrenzen oder die Ausrichtung des Nicks im Chatbereich entfernen? === 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_*__ Weitere hotlist Eigenschaften können mit Hilfe der Optionen __weechat.look.hotlist_*__
verändert werden. verändert werden.
Siehe link:weechat_user.de.html#screen_layout[Benutzerhandbuch / Screen layout ^↗^,window=_blank] Siehe link:weechat_user.de.html#screen_layout[Benutzerhandbuch / Screen layout] für
für weitere Informationen zur Hotlist. weitere Informationen zur Hotlist.
[[input_bar_size]] [[input_bar_size]]
=== Wie kann man eine mehrzeilige Eingabezeile einstellen? === 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 Zahl der Farbe eingetragen werden (optional: mit dem Befehl `/color` kann man einen Alias für
eine Farbe definieren). eine Farbe definieren).
Bitte lese link:weechat_user.de.html#colors[Benutzerhandbuch / Farben ^↗^,window=_blank] Bitte lese link:weechat_user.de.html#colors[Benutzerhandbuch / Farben] für weitere
für weitere Informationen die das Farbmanagement betreffen. Informationen die das Farbmanagement betreffen.
[[search_text]] [[search_text]]
=== Wie kann ich in einem Buffer nach einem Text suchen (vergleichbar /lastlog in irssi)? === 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: Um zu Highlight-Nachrichten zu springen:
kbd:[Alt+p] für vorherige, kbd:[Alt+n] für die nächste Nachricht. 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] siehe link:weechat_user.de.html#key_bindings[Benutzerhandbuch / Standard Tastenbelegung] für weitere
für weitere Informationen zu dieser Funktion. Informationen zu dieser Funktion.
[[terminal_focus]] [[terminal_focus]]
=== Wie kann ich Befehle ausführen, wenn der Terminal (keinen) Fokus hat? === 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 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 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: werden um dann z.B. mit einem Kurzbefehl `/123` zum Buffer #123 zu springen:
@@ -866,7 +865,7 @@ ersetzt werden:
---- ----
[[irc_sasl]] [[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, Sollte der Server SASL unterstützen,
ist es ratsam auf diese Funktion zurückzugreifen 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, Unterstützt der Server keine SASL Authentifizierung,
kann eine Verzögerung aktiviert werden, 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 /set irc.server.libera.command_delay 5
---- ----
[[edit_autojoin]] [[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, Um die Liste der autojoin Channels zu editieren,
automatisch aufzeichnen und die Serveroption „autojoin“ entsprechend anpassen. kann der Befehl `/set` genutzt werden.
In folgendem Beispiel wird der "libera"-Server angepasst:
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:
---- ----
/set irc.server.libera.autojoin [TAB] /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 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, oder mittels kbd:[Shift+Tab] eine teilweise Vervollständigung durchführen,
was bei Namen sinnvoll ist, denn so braucht nicht die komplette Liste 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: zu editieren:
---- ----
/fset autojoin /fset autojoin
---- ----
Bis WeeChat ≤ 3.4 kann man auch ein Skript nutzen: oder man nutzt ein Skript:
---- ----
/script search autojoin /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? === Was ist der Unterschied zwischen dem Befehl /ignore und /filter?
Der Befehl `/ignore` ist ein (clientseitiger) IRC-Befehl und beeinflusst direkt, 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 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. Der Befehl wird nicht auf den Inhalt eines IRC-Buffers angewandt.
Zutreffende Meldungen werden, bevor sie dem Buffer zugeführt werden, Zutreffende Meldungen werden, bevor sie dem Buffer zugeführt werden,
von der "irc"-Erweiterung gelöscht. Es gibt somit keine Möglichkeit, 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+-]. aller Filter ist kbd:[Alt+-].
[[filter_irc_join_part_quit]] [[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. Zum einen mit dem Smart-Filter.
Bei dessen Anwendung werden join/part/quit-Meldungen von Usern angezeigt, 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] [NOTE]
Für weitere Hilfe: `/help filter`, `+/help irc.look.smart_filter+` und 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]] [[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 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 die Option _irc.look.display_join_message_ (für weitere Informationen, siehe
`+/help irc.look.display_join_message+`). `+/help irc.look.display_join_message+`).
Um Nachrichten visuell zu verbergen, können diese gefiltert werden. Um Nachrichten visuell zu verbergen, können diese gefiltert werden.
Dazu wird der Befehl `/filter` auf bestimmte Nachrichten-Tags angewandt. 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 Siehe `/help filter`, um weitere Informationen über die Filterfunktion zu
erhalten. 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, und man nicht von diesen Mitteilungen überflutet werden möchte,
kann man WeeChat anweisen, abwesende Nicks in einer anderen Farbe darzustellen. 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 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 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. Die Angabe des Wertes erfolgt in Minuten.
Mit der Option _irc.server_default.away_check_max_nicks_ kann festgelegt werden, Mit der Option _irc.server_default.away_check_max_nicks_ kann festgelegt werden,
in welchen Kanälen eine Überprüfung stattfinden soll. in welchen Channels eine Überprüfung stattfinden soll.
Hierbei stellt der angegebene Wert die maximale Anzahl an Nicks in einem Kanal dar, Hierbei stellt der angegebene Wert die maximale Anzahl an Nicks in einem Channel dar,
die den Kanal gleichzeitig besuchen dürfen. die den Channel gleichzeitig besuchen dürfen.
Im folgenden Beispiel wird der Abwesenheitsstatus alle fünf Minuten überprüft. 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: 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_. _irc.network.away_check_max_nicks_.
[[highlight_notification]] [[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", Seit WeeChat ≥ 1.0 gibt es standardmäßig den Trigger "beep",
der an das Terminal ein _BEL_ Signal schickt, 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? === Wie kann ich Highlights (Hervorhebungen) von bestimmten Nicks deaktivieren?
Ab WeeChat ≥ 0.3.4 kann die Eigenschaft 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. für den entsprechenden Buffer gesetzt werden.
Dies kann für einzelne Nicks, Dies kann für einzelne Nicks,
einen Buffer oder eine Gruppe von Buffern (z.B. IRC Server) gelten. 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 /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: #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 $ curl -O https://weechat.org/files/plugins.xml.gz
---- ----
Wenn Sie macOS ausführen und die heruntergeladene Datei eine Größe von 0 Byte hat,
versuchen Sie, diese Variable in Ihrer Shell-Initialisierungsdatei oder auf der
Befehlszeile zu setzen. Bevor Sie WeeChat starten:
----
export OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES
----
[[spell_dictionaries]] [[spell_dictionaries]]
=== Ich habe aspell Wörterbücher auf mein System installiert. Wie kann ich diese nutzen, ohne WeeChat neu starten zu müssen? === Ich habe aspell Wörterbücher auf mein System installiert. Wie kann ich diese nutzen, ohne WeeChat neu starten zu müssen?
@@ -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` 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 bei der entsprechenden Option (falls man geschützte Daten nutzen kann, wird es
im Hilfstext erwähnt). 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: Beispiel:
@@ -1334,7 +1297,7 @@ Ihrer Passphrase verschlüsselten Kennwörter enthält.
Einige andere Dateien enthalten möglicherweise vertrauliche Informationen wie Einige andere Dateien enthalten möglicherweise vertrauliche Informationen wie
Kennwörter (sofern sie nicht mit dem Befehl `/secure` in _sec.conf_ gesichert werden). 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. für weitere Informationen über Konfigurationsdateien.
[[development]] [[development]]
@@ -1343,7 +1306,7 @@ für weitere Informationen über Konfigurationsdateien.
[[bug_task_patch]] [[bug_task_patch]]
=== Was kann ich machen, falls ich einen Fehler gefunden habe, mich nach neuen Funktionen erkundigen oder Patches einsenden möchte? === 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]] [[gdb_error_threads]]
=== Wenn man WeeChat in gdb startet, kann ein Thread-Fehler auftreten. Was beudeutet das? === 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, ... Es gibt einiges zu tun - z.B. testen, programmieren, dokumentieren, ...
Bitte kontaktieren Sie uns per IRC oder Mail, siehe Bitte kontaktiere uns via IRC oder E-Mail, wirf einen Blick auf die Support-Seite:
https://weechat.org/about/support/[support page ^↗^,window=_blank]. https://weechat.org/about/support
[[donate]] [[donate]]
=== Kann ich Geld oder anderes an die WeeChat Entwickler spenden? === Kann ich Geld oder anderes an die WeeChat Entwickler spenden?
Sie können uns Geld spenden, um die Entwicklung zu unterstützen. Du kannst uns Geld zur Unterstützung der weiteren Entwicklung spenden.
Details dazu, unter https://weechat.org/donate/[donation page ^↗^,window=_blank]. 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" /set irc.server.libera.autojoin "#channel1,#channel2"
---- ----
Mit dem `/autojoin` Befehl können die _autojoin_ Optionen einfach konfiguriert werden. [TIP]
(siehe `/help autojoin`). 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
WeeChat kann auch konfigurieren werden, dass die _autojoin_ Optionen automatisch aktualisiert werden durchgeführt werden (was bei langen Wörtern, wie z.B. dem Namen einer Option, nützlich
sobald man Kanäle betritt oder verlässt: sein kann).
----
/set irc.server_default.autojoin_dynamic on
----
Mit dem Befehl `/unset` können Server-Optionen zurückgesetzt werden. Mit dem Befehl `/unset` können Server-Optionen zurückgesetzt werden.
Ist eine Server-Option zurückgesetzt, _wirkt_ der entsprechende Vorgabewert 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 /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]] [[connect_to_irc_server]]
== Verbinden mit dem IRC-Server == Verbinden mit dem IRC-Server
@@ -441,14 +431,14 @@ Zeige eine liste aller verfügbaren Skripten:
/script /script
---- ----
Eine Liste von Skripten ist in WeeChat mittels `/script` oder auf Auf *weechat.org* von Drittanbietern bereitgestellte Scripten: https://weechat.org/scripts
https://weechat.org/scripts/[this page ^↗^,window=_blank] verfügbar.
[[more_doc]] [[more_doc]]
== Weitere Dokumentation == Weitere Dokumentation
WeeChat kann nun verwendet werden und lesen Sie Mit dieser Quickstart-Anleitung wurden dir die wesentlichen
https://weechat.org/doc/[FAQ/documentation ^↗^,window=_blank] Bedienungswerkzeuge von WeeChat nähergebracht.
falls Sie weitere Fragen haben. 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! Viel Spass mit WeeChat!
+143 -179
View File
@@ -17,8 +17,8 @@
Diese Anleitung beschreibt den WeeChat Chat Client und ist Teil von WeeChat. Diese Anleitung beschreibt den WeeChat Chat Client und ist Teil von WeeChat.
Die neueste Version dieses Dokuments finden Sie unter Die aktuelle Version dieser Anleitung finden Sie auf:
https://weechat.org/doc/[this page ^↗^,window=_blank]. https://weechat.org/doc
[[introduction]] [[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. + 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 Wenn etwas in einem Hintergrundprozess ausgeführt werden soll, kann die Funktion
`+hook_process+` genutzt werden. Siehe Beispiele im Kapitel <<hook_process,Hintergrundprozesse>> `+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]] [[languages_specificities]]
=== Besonderheiten der einzelnen Skriptsprachen === 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` WeeChat definiert ein `weechat` Module welches mittels `import weechat`
importiert werden muss. + importiert werden muss. +
Ein Python-Stub für die WeeChat-API ist im Repository verfügbar: 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]] [[python_functions]]
===== Funktionen ===== Funktionen
@@ -109,38 +109,38 @@ Liste ist nicht vollständig):
|=== |===
| API Funktion | Argumente | Beispiele| Beschreibung | API Funktion | Argumente | Beispiele| Beschreibung
| hook_modifier | hook_modifier |
| irc_in_yyy irc_in_yyy |
| pass:[irc_in_privmsg] + pass:[irc_in_privmsg] +
pass:[irc_in_notice] pass:[irc_in_notice] |
| Eine Nachricht die von der IRC Erweiterung empfangen wurde und bevor sie nach UTF-8 dekodiert wurde (intern Eine Nachricht die von der IRC Erweiterung empfangen wurde und bevor sie nach UTF-8 dekodiert wurde (intern
verwendet). + verwendet). +
+ +
Es wird empfohlen den Modifier `+irc_in2_yyy+` zu nutzen, da die empfangene Zeichenkette Es wird empfohlen den Modifier `+irc_in2_yyy+` zu nutzen, da die empfangene Zeichenkette
immer UTF-8 gültig ist. + immer UTF-8 gültig ist. +
siehe Funktion `+hook_modifier+` in der 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 | hook_signal |
| xxx,irc_out_yyy + xxx,irc_out_yyy +
xxx,irc_outtags_yyy xxx,irc_outtags_yyy |
| pass:[*,irc_out_privmsg] + pass:[*,irc_out_privmsg] +
pass:[*,irc_out_notice] + pass:[*,irc_out_notice] +
pass:[*,irc_outtags_privmsg] + pass:[*,irc_outtags_privmsg] +
pass:[*,irc_outtags_notice] pass:[*,irc_outtags_notice] |
| Eine Nachricht welche von der IRC Erweiterung versendet wurde, nachdem diese entsprechend Eine Nachricht welche von der IRC Erweiterung versendet wurde, nachdem diese entsprechend
der Benutzereinstellung `encode` Charset kodiert (falls abweichend von der `UTF-8` Standardeinstellung). + 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 Es wird empfohlen das Signal `+xxx,irc_out1_yyy+` zu nutzen, da die empfangene Zeichenkette
immer UTF-8 gültig ist. + immer UTF-8 gültig ist. +
siehe Funktion `+hook_signal+` in der 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 +
hook_process_hashtable hook_process_hashtable |
| - - |
| - - |
| Ausgabe des Befehls, dass an den Callback gesendet wurde, kann ungültige UTF-8 Daten enthalten. 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 ...+`. Funktionen werden aufgerufen mittels `+weechat::xxx arg1 arg2 ...+`.
Da Tcl nur String-Typen hat, gibt es keinen Null-Typ, der als Argument übergeben werden kann
wenn eine Funktion Nullwerte akzeptiert. Um dies zu überwinden, können Sie die Konstante
`$::weechat::WEECHAT_NULL` verwenden, das als Nullwert fungiert. Diese Konstante ist definiert
als `\uFFFF\uFFFF\uFFFFWEECHAT_NULL\uFFFF\uFFFF\uFFFF`, es ist somit sehr unwahrscheinlich
das es ungewollt verwendet wird.
[[language_guile]] [[language_guile]]
==== Guile (Scheme) ==== Guile (Scheme)
@@ -390,7 +384,7 @@ ein Link in das entsprechende _autoload_ Verzeichnis erzeugt.
Die Skripten API ist nahezu identisch mit der API der C Erweiterung. Die Skripten API ist nahezu identisch mit der API der C Erweiterung.
Um einen Überblick über alle API Funktionen (Prototyp, Argumente, Um einen Überblick über alle API Funktionen (Prototyp, Argumente,
Rückgabe werte, Beispiele) zu erhalten werfen Sie einen Blick in 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_ Es ist wichtig das man zwischen einer _Erweiterung_ und einem _Skript_
unterscheidet: Eine _Erweiterung_ ist eine Binärdatei die kompiliert wurde unterscheidet: Eine _Erweiterung_ ist eine Binärdatei die kompiliert wurde
und mittels `/plugin` geladen wird. Ein _Skript_ ist eine Textdatei welche 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 == Skript API
Um weiterführende Informationen zu den API Funktionen zu erhalten 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]] [[script_api_functions]]
=== Funktionen === Funktionen
Liste der Skript API Funktionen: Liste der Skript API Funktionen:
[width="100%",cols="1,5",options="header"] [width="100%",cols="1,3",options="header"]
|=== |===
| Kategorie | Funktionen | Kategorie | Funktionen
| Allgemein | Allgemein |
| register register
| Erweiterungen | Erweiterungen |
| plugin_get_name plugin_get_name
| Strings | Strings |
| charset_set + charset_set +
iconv_to_internal + iconv_to_internal +
iconv_from_internal + iconv_from_internal +
gettext + gettext +
@@ -596,13 +590,13 @@ Liste der Skript API Funktionen:
string_eval_expression + string_eval_expression +
string_eval_path_home string_eval_path_home
| Verzeichnisse | Verzeichnisse |
| mkdir_home + mkdir_home +
mkdir + mkdir +
mkdir_parents mkdir_parents
| sortierte Listen | sortierte Listen |
| list_new + list_new +
list_add + list_add +
list_search + list_search +
list_search_pos + list_search_pos +
@@ -618,8 +612,8 @@ Liste der Skript API Funktionen:
list_remove_all + list_remove_all +
list_free list_free
| Konfigurationsdatei | Konfigurationsdatei |
| config_new + config_new +
config_new_section + config_new_section +
config_search_section + config_search_section +
config_new_option + config_new_option +
@@ -656,21 +650,20 @@ Liste der Skript API Funktionen:
config_set_desc_plugin + config_set_desc_plugin +
config_unset_plugin config_unset_plugin
| Tastenbelegung | Tastenbelegung |
| key_bind + key_bind +
key_unbind key_unbind
| Ausgabe | Ausgabe |
| prefix + prefix +
color + color +
print (für Python: prnt) + print (für Python: prnt) +
print_date_tags (für Python: prnt_date_tags) + print_date_tags (für Python: prnt_date_tags) +
print_y (für Python: prnt_y) + print_y (für Python: prnt_y) +
print_y_date_tags (für Python: prnt_y_date_tags) +
log_print log_print
| Hooks | Hooks |
| hook_command + hook_command +
hook_command_run + hook_command_run +
hook_timer + hook_timer +
hook_fd + hook_fd +
@@ -695,9 +688,8 @@ Liste der Skript API Funktionen:
unhook + unhook +
unhook_all unhook_all
| Buffer | Buffer |
| buffer_new + buffer_new +
buffer_new_props +
current_buffer + current_buffer +
buffer_search + buffer_search +
buffer_search_main + buffer_search_main +
@@ -712,16 +704,16 @@ Liste der Skript API Funktionen:
buffer_string_replace_local_var + buffer_string_replace_local_var +
buffer_match_list buffer_match_list
| Fenster | Fenster |
| current_window + current_window +
window_search_with_buffer + window_search_with_buffer +
window_get_integer + window_get_integer +
window_get_string + window_get_string +
window_get_pointer + window_get_pointer +
window_set_title window_set_title
| Nickliste | Nickliste |
| nicklist_add_group + nicklist_add_group +
nicklist_search_group + nicklist_search_group +
nicklist_add_nick + nicklist_add_nick +
nicklist_search_nick + nicklist_search_nick +
@@ -737,8 +729,8 @@ Liste der Skript API Funktionen:
nicklist_nick_get_pointer + nicklist_nick_get_pointer +
nicklist_nick_set nicklist_nick_set
| Bars | Bars |
| bar_item_search + bar_item_search +
bar_item_new + bar_item_new +
bar_item_update + bar_item_update +
bar_item_remove + bar_item_remove +
@@ -748,23 +740,23 @@ Liste der Skript API Funktionen:
bar_update + bar_update +
bar_remove bar_remove
| Befehle | Befehle |
| command + command +
command_options command_options
| Vervollständigung | Vervollständigung |
| completion_new + completion_new +
completion_search + completion_search +
completion_get_string + completion_get_string +
completion_list_add + completion_list_add +
completion_free completion_free
| Informationen | Informationen |
| info_get + info_get +
info_get_hashtable info_get_hashtable
| Infolisten | Infolisten |
| infolist_new + infolist_new +
infolist_new_item + infolist_new_item +
infolist_new_var_integer + infolist_new_var_integer +
infolist_new_var_string + infolist_new_var_string +
@@ -782,8 +774,8 @@ Liste der Skript API Funktionen:
infolist_time + infolist_time +
infolist_free infolist_free
| hdata | hdata |
| hdata_get + hdata_get +
hdata_get_var_offset + hdata_get_var_offset +
hdata_get_var_type_string + hdata_get_var_type_string +
hdata_get_var_array_size + hdata_get_var_array_size +
@@ -804,8 +796,8 @@ Liste der Skript API Funktionen:
hdata_update + hdata_update +
hdata_get_string hdata_get_string
| Upgrade | Upgrade |
| upgrade_new + upgrade_new +
upgrade_write_object + upgrade_write_object +
upgrade_read + upgrade_read +
upgrade_close upgrade_close
@@ -816,17 +808,17 @@ Liste der Skript API Funktionen:
Liste der Konstanten in Skript API: Liste der Konstanten in Skript API:
[width="100%",cols="1,5",options="header"] [width="100%",cols="1,3",options="header"]
|=== |===
| Kategorie | Konstanten | Kategorie | Konstanten
| return codes | return codes |
| `WEECHAT_RC_OK` (integer) + `WEECHAT_RC_OK` (integer) +
`WEECHAT_RC_OK_EAT` (integer) + `WEECHAT_RC_OK_EAT` (integer) +
`WEECHAT_RC_ERROR` (integer) `WEECHAT_RC_ERROR` (integer)
| Konfigurationsdatei | Konfigurationsdatei |
| `WEECHAT_CONFIG_READ_OK` (integer) + `WEECHAT_CONFIG_READ_OK` (integer) +
`WEECHAT_CONFIG_READ_MEMORY_ERROR` (integer) + `WEECHAT_CONFIG_READ_MEMORY_ERROR` (integer) +
`WEECHAT_CONFIG_READ_FILE_NOT_FOUND` (integer) + `WEECHAT_CONFIG_READ_FILE_NOT_FOUND` (integer) +
`WEECHAT_CONFIG_WRITE_OK` (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_OK_REMOVED` (integer) +
`WEECHAT_CONFIG_OPTION_UNSET_ERROR` (integer) `WEECHAT_CONFIG_OPTION_UNSET_ERROR` (integer)
| sortierte Listen | sortierte Listen |
| `WEECHAT_LIST_POS_SORT` (string) + `WEECHAT_LIST_POS_SORT` (string) +
`WEECHAT_LIST_POS_BEGINNING` (string) + `WEECHAT_LIST_POS_BEGINNING` (string) +
`WEECHAT_LIST_POS_END` (string) `WEECHAT_LIST_POS_END` (string)
| Hotlist | Hotlist |
| `WEECHAT_HOTLIST_LOW` (string) + `WEECHAT_HOTLIST_LOW` (string) +
`WEECHAT_HOTLIST_MESSAGE` (string) + `WEECHAT_HOTLIST_MESSAGE` (string) +
`WEECHAT_HOTLIST_PRIVATE` (string) + `WEECHAT_HOTLIST_PRIVATE` (string) +
`WEECHAT_HOTLIST_HIGHLIGHT` (string) `WEECHAT_HOTLIST_HIGHLIGHT` (string)
| hook Prozesse | hook Prozesse |
| `WEECHAT_HOOK_PROCESS_RUNNING` (integer) + `WEECHAT_HOOK_PROCESS_RUNNING` (integer) +
`WEECHAT_HOOK_PROCESS_ERROR` (integer) `WEECHAT_HOOK_PROCESS_ERROR` (integer)
| hook Connect | hook Connect |
| `WEECHAT_HOOK_CONNECT_OK` (integer) + `WEECHAT_HOOK_CONNECT_OK` (integer) +
`WEECHAT_HOOK_CONNECT_ADDRESS_NOT_FOUND` (integer) + `WEECHAT_HOOK_CONNECT_ADDRESS_NOT_FOUND` (integer) +
`WEECHAT_HOOK_CONNECT_IP_ADDRESS_NOT_FOUND` (integer) + `WEECHAT_HOOK_CONNECT_IP_ADDRESS_NOT_FOUND` (integer) +
`WEECHAT_HOOK_CONNECT_CONNECTION_REFUSED` (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_TIMEOUT` (integer) +
`WEECHAT_HOOK_CONNECT_SOCKET_ERROR` (integer) `WEECHAT_HOOK_CONNECT_SOCKET_ERROR` (integer)
| hook Signal | hook Signal |
| `WEECHAT_HOOK_SIGNAL_STRING` (string) + `WEECHAT_HOOK_SIGNAL_STRING` (string) +
`WEECHAT_HOOK_SIGNAL_INT` (string) + `WEECHAT_HOOK_SIGNAL_INT` (string) +
`WEECHAT_HOOK_SIGNAL_POINTER` (string) `WEECHAT_HOOK_SIGNAL_POINTER` (string)
|=== |===
@@ -881,7 +873,7 @@ Liste der Konstanten in Skript API:
Dieses Kapitel beinhaltet einige Aufgaben mit Lösungsbeispielen. Dieses Kapitel beinhaltet einige Aufgaben mit Lösungsbeispielen.
Die Skript API wird dabei nur sehr oberflächlich besprochen.Um eine vollständige Die Skript API wird dabei nur sehr oberflächlich besprochen.Um eine vollständige
Übersicht aller Befehle zu erhalten nutzen Sie bitte die Ü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]] [[buffers]]
=== Buffer === Buffer
@@ -901,7 +893,7 @@ Beispiele:
weechat.prnt("", "Hallo") weechat.prnt("", "Hallo")
# Gibt den Text "Hallo" im Core Buffer aus, schreibt diesen aber nicht in die Protokolldatei # Gibt den Text "Hallo" im Core Buffer aus, schreibt diesen aber nicht in die Protokolldatei
# (nur Version 0.3.3) # (nur Version >= 0.3.3)
weechat.prnt_date_tags("", 0, "no_log", "hello") weechat.prnt_date_tags("", 0, "no_log", "hello")
# Gibt den Präfix "==>" gefolgt von dem Text "Hallo" im aktuellen Buffer aus # Gibt den Präfix "==>" gefolgt von dem Text "Hallo" im aktuellen Buffer aus
@@ -1081,53 +1073,26 @@ Mit der Funktion `+hook_process+` kann ein Hintergrundprozess gestartet werden.
Der Callback wird aufgerufen sobald der Hintergrundprozess abgearbeitet wurde. Der Callback wird aufgerufen sobald der Hintergrundprozess abgearbeitet wurde.
Dies kann auch mehrfach der Fall sein. Dies kann auch mehrfach der Fall sein.
Für den letzten Aufruf des Callback wird _return_code_ auf 0 oder einen positiven Für den letzten Aufruf des Callback wird _rc_ auf 0 oder einen positiven Wert
Wert gesetzt. Dies ist der Return Code des Befehls. gesetzt. Dies ist der Return Code des Befehls.
Beispiele: Beispiele:
[source,python] [source,python]
---- ----
def my_process_cb(data, command, return_code, out, err): process_output = ""
if return_code == weechat.WEECHAT_HOOK_PROCESS_ERROR:
weechat.prnt("", "Error with command '%s'" % command) def my_process_cb(data, command, rc, out, err):
return weechat.WEECHAT_RC_OK global process_output
if return_code >= 0: if out != "":
weechat.prnt("", "return_code = %d" % return_code) process_output += out
if out: if int(rc) >= 0:
weechat.prnt("", "stdout: %s" % out) weechat.prnt("", process_output)
if err:
weechat.prnt("", "stderr: %s" % err)
return weechat.WEECHAT_RC_OK return weechat.WEECHAT_RC_OK
weechat.hook_process("/bin/ls -l /etc", 10 * 1000, "my_process_cb", "") weechat.hook_process("/bin/ls -l /etc", 10 * 1000, "my_process_cb", "")
---- ----
Sie können statt eines externen Befehls auch direkt eine
Skriptfunktion aufrufen, die Weechat blockieren würde:
[source,python]
----
def get_status(data):
# do something blocking...
# ...
return "this is the result"
def my_process_cb(data, command, return_code, out, err):
if return_code == weechat.WEECHAT_HOOK_PROCESS_ERROR:
weechat.prnt("", "Error with command '%s'" % command)
return weechat.WEECHAT_RC_OK
if return_code >= 0:
weechat.prnt("", "return_code = %d" % return_code)
if out:
weechat.prnt("", "stdout: %s" % out)
if err:
weechat.prnt("", "stderr: %s" % err)
return weechat.WEECHAT_RC_OK
hook = weechat.hook_process("func:get_status", 5000, "my_process_cb", "")
----
[[url_transfer]] [[url_transfer]]
==== URL Übertragung ==== URL Übertragung
@@ -1142,15 +1107,15 @@ dabei in der Callback-Variable "out" gesichert (Standardausgabe des Prozesses):
[source,python] [source,python]
---- ----
# Display latest stable version of WeeChat. # Zeigt die aktuelle stabile Version von WeeChat an.
weechat_latest_version = "" weechat_version = ""
def weechat_process_cb(data, command, return_code, out, err): def weechat_process_cb(data, command, rc, out, err):
global weechat_latest_version global weechat_version
if out: if out != "":
weechat_latest_version += out weechat_version += out
if return_code >= 0: if int(rc) >= 0:
weechat.prnt("", "Latest WeeChat version: %s" % weechat_latest_version) weechat.prnt("", "aktuelle stabile WeeChat-Version: %s" % weechat_version)
return weechat.WEECHAT_RC_OK return weechat.WEECHAT_RC_OK
weechat.hook_process("url:https://weechat.org/dev/info/stable/", weechat.hook_process("url:https://weechat.org/dev/info/stable/",
@@ -1158,17 +1123,16 @@ weechat.hook_process("url:https://weechat.org/dev/info/stable/",
---- ----
[TIP] [TIP]
Alle verfügbaren Informationen über WeeChat findet man unter Alle Informationen die WeeChat betreffen findet man auf: https://weechat.org/dev/info
https://weechat.org/dev/info/[this page ^↗^,window=_blank].
Beispiel eines URL Transfers, mit zusätzliche Optionen: Es wird das neuste Beispiel eines URL Transfers, mit zusätzliche Optionen: Es wird das neuste
WeeChat Entwicklerpaket in die Datei _/tmp/weechat-devel.tar.gz_ gesichert: WeeChat Entwicklerpaket in die Datei _/tmp/weechat-devel.tar.gz_ gesichert:
[source,python] [source,python]
---- ----
def my_process_cb(data, command, return_code, out, err): def my_process_cb(data, command, rc, out, err):
if return_code >= 0: if int(rc) >= 0:
weechat.prnt("", "End of transfer (return code = %d)" % return_code) weechat.prnt("", "End of transfer (rc=%s)" % rc)
return weechat.WEECHAT_RC_OK return weechat.WEECHAT_RC_OK
weechat.hook_process_hashtable("url:https://weechat.org/files/src/weechat-devel.tar.gz", weechat.hook_process_hashtable("url:https://weechat.org/files/src/weechat-devel.tar.gz",
@@ -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 Für weitere Informationen zum URL Transfer und verfügbare Optionen, siehe Funktionen
`+hook_process+` und `+hook_process_hashtable+` in `+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]] [[config_options]]
=== Konfiguration / Optionen === Konfiguration / Optionen
@@ -1336,61 +1300,61 @@ Das Ergebnis ist eine Hashtabelle mit folgenden Schlüsseln
|=== |===
| Schlüssel | Seit WeeChat ^(1)^ | Beschreibung | Beispiel | Schlüssel | Seit WeeChat ^(1)^ | Beschreibung | Beispiel
| Tags | 0.4.0 | Tags | 0.4.0 |
| Tags in der Nachricht (kann leer sein). Tags in der Nachricht (kann leer sein). |
| `+time=2015-06-27T16:40:35.000Z+` `+time=2015-06-27T16:40:35.000Z+`
| tag_xxx | 3.3 | tag_xxx | 3.3 |
| Wert des Tags "xxx" ohne Escapezeichen (ein Schlüssel pro Tag). Wert des Tags "xxx" ohne Escapezeichen (ein Schlüssel pro Tag). |
| `+2015-06-27T16:40:35.000Z+` `+2015-06-27T16:40:35.000Z+`
| message_without_tags | 0.4.0 | message_without_tags | 0.4.0 |
| Die IRC Nachricht ohne Tags (wie eine Nachricht ohne Tags). Die IRC Nachricht ohne Tags (wie eine Nachricht ohne Tags). |
| `+:nick!user@host PRIVMSG #weechat :hello!+` `+:nick!user@host PRIVMSG #weechat :hello!+`
| nick | 0.3.4 | nick | 0.3.4 |
| der ursprüngliche Nick. der ursprüngliche Nick. |
| `+nick+` `+nick+`
| user | 2.7 | user | 2.7 |
| der ursprüngliche Benutzer. der ursprüngliche Benutzer. |
| `+user+` `+user+`
| host | 0.3.4 | host | 0.3.4 |
| der ursprüngliche Host (beinhaltet den Nick). der ursprüngliche Host (beinhaltet den Nick). |
| `+nick!user@host+` `+nick!user@host+`
| command | 0.3.4 | command | 0.3.4 |
| der Befehl (_PRIVMSG_, _NOTICE_, ...). der Befehl (_PRIVMSG_, _NOTICE_, ...). |
| `+PRIVMSG+` `+PRIVMSG+`
| channel | 0.3.4 | channel | 0.3.4 |
| der Zielchanne.l| der Zielchanne.l|
`+#weechat+` `+#weechat+`
| arguments | 0.3.4 | arguments | 0.3.4 |
| das Argument des Befehls (beinhaltet den Channel). das Argument des Befehls (beinhaltet den Channel). |
| `+#weechat :hello!+` `+#weechat :hello!+`
| text | 1.3 | text | 1.3 |
| der Text (zum Beispiel eine Nachricht eines Users). der Text (zum Beispiel eine Nachricht eines Users). |
| `+hello!+` `+hello!+`
| pos_command | 1.3 | pos_command | 1.3 |
| Index von _command_ innerhalb einer Nachricht ("-1" falls _command_ nicht gefunden wird). Index von _command_ innerhalb einer Nachricht ("-1" falls _command_ nicht gefunden wird). |
| `+47+` `+47+`
| pos_arguments | 1.3 | pos_arguments | 1.3 |
| Index von_arguments_ innerhalb einer Nachricht ("-1" falls _arguments_ nicht gefunden wird). Index von_arguments_ innerhalb einer Nachricht ("-1" falls _arguments_ nicht gefunden wird). |
| `+55+` `+55+`
| pos_channel | 1.3 | pos_channel | 1.3 |
| Index von _channel_ innerhalb einer Nachricht ("-1" falls _channel_ nicht gefunden wird). Index von _channel_ innerhalb einer Nachricht ("-1" falls _channel_ nicht gefunden wird). |
| `+55+` `+55+`
| pos_text | 1.3 | pos_text | 1.3 |
| Index von _text_ innerhalb einer Nachricht ("-1" falls _text_ nicht gefunden wird). Index von _text_ innerhalb einer Nachricht ("-1" falls _text_ nicht gefunden wird). |
| `+65+` `+65+`
|=== |===
[NOTE] [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 #!/usr/bin/env python3
# #
# Copyright (C) 2008-2022 Sébastien Helleu <flashcode@flashtux.org> # Copyright (C) 2008-2021 Sébastien Helleu <flashcode@flashtux.org>
# #
# This program is free software; you can redistribute it and/or modify # This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by
+6 -223
View File
@@ -1,255 +1,38 @@
<!-- <!--
Custom styles for Asciidoctor Custom styles for Asciidoctor
Copyright (C) 2016-2022 Sébastien Helleu <flashcode@flashtux.org> Copyright (C) 2016-2021 Sébastien Helleu <flashcode@flashtux.org>
--> -->
<style> <style>
#header,#content,#footnotes,#footer {
/* themes/colors */
@media (prefers-color-scheme: dark) {
/* dark theme */
:root {
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 {
max-width: none; max-width: none;
padding-left: 3em; padding-left: 3em;
padding-right: 3em; padding-right: 3em;
} }
#header #revnumber { #header #revnumber {
text-transform: none; text-transform: none;
} }
h1,h2,h3,h4,h5 {
h1, h2, h3, h4, h5 {
font-weight: bold; font-weight: bold;
} }
.literalblock pre { .literalblock pre {
font-family: "DejaVu Sans Mono", "Liberation Mono", "Lucida Console", monospace, 'Courier New', Courier; font-family: monospace, 'Courier New', Courier;
line-height: inherit; line-height: normal;
} }
kbd { kbd {
font-size: .9em; font-size: .9em;
} }
.keyseq { .keyseq {
margin-left: .2em; margin-left: .2em;
margin-right: .2em; margin-right: .2em;
} }
.tableblock kbd { .tableblock kbd {
margin-top: .2em; margin-top: .2em;
margin-bottom: .2em; margin-bottom: .2em;
} }
.hex { .hex {
padding: 0 .2em; padding: 0 .2em;
border: var(--border); border: 1px solid #88b;
margin: 0 .2em; margin: 0 .2em;
font-family: monospace; font-family: monospace;
font-size: 1.1em;
} }
</style> </style>
+14 -1
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. # This file is part of WeeChat, the extensible chat client.
# #
@@ -122,6 +122,19 @@ if(ENABLE_DOC)
add_custom_target(doc-quickstart-en ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/weechat_quickstart.en.html) add_custom_target(doc-quickstart-en ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/weechat_quickstart.en.html)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/weechat_quickstart.en.html DESTINATION ${DATAROOTDIR}/doc/${PROJECT_NAME}) install(FILES ${CMAKE_CURRENT_BINARY_DIR}/weechat_quickstart.en.html DESTINATION ${DATAROOTDIR}/doc/${PROJECT_NAME})
# tester's guide
add_custom_command(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/weechat_tester.en.html
COMMAND ${ASCIIDOCTOR_EXECUTABLE} ARGS ${ASCIIDOCTOR_ARGS} -o weechat_tester.en.html ${CMAKE_CURRENT_SOURCE_DIR}/weechat_tester.en.adoc
DEPENDS
${CMAKE_CURRENT_SOURCE_DIR}/../docinfo.html
${CMAKE_CURRENT_SOURCE_DIR}/weechat_tester.en.adoc
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMENT "Building weechat_tester.en.html"
)
add_custom_target(doc-tester-en ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/weechat_tester.en.html)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/weechat_tester.en.html DESTINATION ${DATAROOTDIR}/doc/${PROJECT_NAME})
# relay protocol # relay protocol
add_custom_command( add_custom_command(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/weechat_relay_protocol.en.html OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/weechat_relay_protocol.en.html
+7 -1
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> # Copyright (C) 2006 Julien Louis <ptitlouis@sysif.net>
# #
# This file is part of WeeChat, the extensible chat client. # This file is part of WeeChat, the extensible chat client.
@@ -29,6 +29,7 @@ EXTRA_DIST = CMakeLists.txt \
weechat_scripting.en.adoc \ weechat_scripting.en.adoc \
weechat_faq.en.adoc \ weechat_faq.en.adoc \
weechat_quickstart.en.adoc \ weechat_quickstart.en.adoc \
weechat_tester.en.adoc \
weechat_relay_protocol.en.adoc \ weechat_relay_protocol.en.adoc \
weechat_dev.en.adoc \ weechat_dev.en.adoc \
includes/autogen_api_completions.en.adoc \ includes/autogen_api_completions.en.adoc \
@@ -57,6 +58,7 @@ if DOC
weechat_scripting.en.html \ weechat_scripting.en.html \
weechat_faq.en.html \ weechat_faq.en.html \
weechat_quickstart.en.html \ weechat_quickstart.en.html \
weechat_tester.en.html \
weechat_relay_protocol.en.html \ weechat_relay_protocol.en.html \
weechat_dev.en.html weechat_dev.en.html
doc_install = install-doc doc_install = install-doc
@@ -90,6 +92,10 @@ weechat_faq.en.html: weechat_faq.en.adoc $(abs_top_srcdir)/doc/docinfo.html
weechat_quickstart.en.html: weechat_quickstart.en.adoc $(abs_top_srcdir)/doc/docinfo.html weechat_quickstart.en.html: weechat_quickstart.en.adoc $(abs_top_srcdir)/doc/docinfo.html
$(ASCIIDOCTOR) $(ASCIIDOCTOR_ARGS) -a revnumber="$(VERSION)" -o weechat_quickstart.en.html $(abs_top_srcdir)/doc/en/weechat_quickstart.en.adoc $(ASCIIDOCTOR) $(ASCIIDOCTOR_ARGS) -a revnumber="$(VERSION)" -o weechat_quickstart.en.html $(abs_top_srcdir)/doc/en/weechat_quickstart.en.adoc
# tester's guide
weechat_tester.en.html: weechat_tester.en.adoc $(abs_top_srcdir)/doc/docinfo.html
$(ASCIIDOCTOR) $(ASCIIDOCTOR_ARGS) -a revnumber="$(VERSION)" -o weechat_tester.en.html $(abs_top_srcdir)/doc/en/weechat_tester.en.adoc
# relay protocol # relay protocol
weechat_relay_protocol.en.html: weechat_relay_protocol.en.adoc $(abs_top_srcdir)/doc/docinfo.html weechat_relay_protocol.en.html: weechat_relay_protocol.en.adoc $(abs_top_srcdir)/doc/docinfo.html
$(ASCIIDOCTOR) $(ASCIIDOCTOR_ARGS) -a revnumber="$(VERSION)" -o weechat_relay_protocol.en.html $(abs_top_srcdir)/doc/en/weechat_relay_protocol.en.adoc $(ASCIIDOCTOR) $(ASCIIDOCTOR_ARGS) -a revnumber="$(VERSION)" -o weechat_relay_protocol.en.html $(abs_top_srcdir)/doc/en/weechat_relay_protocol.en.adoc
@@ -26,8 +26,6 @@
| irc | irc_channels | channels on all IRC servers | irc | irc_channels | channels on all IRC servers
| irc | irc_channels_autojoin | channels automatically joined on the current server (option "autojoin")
| irc | irc_ignores_numbers | numbers for defined ignores | irc | irc_ignores_numbers | numbers for defined ignores
| irc | irc_modelist_masks | modelist masks of current IRC channel; required argument: modelist mode | irc | irc_modelist_masks | modelist masks of current IRC channel; required argument: modelist mode
@@ -94,8 +92,6 @@
| tcl | tcl_script | list of scripts | 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_arguments | default arguments for a hook
| trigger | trigger_hook_command | default command 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 | 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_value | value of an environment variable
| weechat | env_vars | environment variables | weechat | env_vars | environment variables
@@ -8,7 +8,7 @@
|=== |===
| Plugin | Name | Description | Hashtable (input) | Hashtable (output) | Plugin | Name | Description | Hashtable (input) | Hashtable (output)
| irc | irc_message_parse | parse an IRC message | "message": IRC message, "server": server name (optional) | "tags": tags, "tag_xxx": unescaped value of tag "xxx" (one key per tag), "message_without_tags": message without the tags, "nick": nick, "user": user, "host": host, "command": command, "channel": channel, "arguments": arguments (includes channel), "text": text (for example user message), "param1" ... "paramN": parsed command parameters, "num_params": number of parsed command parameters, "pos_command": index of "command" message ("-1" if "command" was not found), "pos_arguments": index of "arguments" message ("-1" if "arguments" was not found), "pos_channel": index of "channel" message ("-1" if "channel" was not found), "pos_text": index of "text" message ("-1" if "text" was not found) | irc | irc_message_parse | parse an IRC message | "message": IRC message, "server": server name (optional) | "tags": tags, "tag_xxx": unescaped value of tag "xxx" (one key per tag), "message_without_tags": message without the tags, "nick": nick, "user": user, "host": host, "command": command, "channel": channel, "arguments": arguments (includes channel), "text": text (for example user message), "pos_command": index of "command" message ("-1" if "command" was not found), "pos_arguments": index of "arguments" message ("-1" if "arguments" was not found), "pos_channel": index of "channel" message ("-1" if "channel" was not found), "pos_text": index of "text" message ("-1" if "text" was not found)
| irc | irc_message_split | split an IRC message (to fit in 512 bytes by default) | "message": IRC message, "server": server name (optional) | "msg1" ... "msgN": messages to send (without final "\r\n"), "args1" ... "argsN": arguments of messages, "count": number of messages | irc | irc_message_split | split an IRC message (to fit in 512 bytes by default) | "message": IRC message, "server": server name (optional) | "msg1" ... "msgN": messages to send (without final "\r\n"), "args1" ... "argsN": arguments of messages, "count": number of messages
+27 -104
View File
@@ -123,36 +123,6 @@ Examples:
/auth user2 ${weechat_config_dir}/ecdsa2.pem /auth user2 ${weechat_config_dir}/ecdsa2.pem
---- ----
[[command_irc_autojoin]]
* `+autojoin+`: configure the "autojoin" server option
----
/autojoin add [<channel1> [<channel2>...]]
addraw <channel1>[,<channel2>...] [<key1>[,<key2>...]]
del [<channel1> [<channel2>...]]
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]] [[command_irc_ban]]
* `+ban+`: ban nicks or hosts * `+ban+`: ban nicks or hosts
@@ -1332,8 +1302,8 @@ Examples:
---- ----
/debug list /debug list
set <plugin> <level> set <plugin> <level>
dump|hooks [<plugin>] dump [<plugin>]
buffer|certs|color|dirs|infolists|libs|memory|tags|term|windows buffer|color|infolists|libs|certs|memory|tags|term|windows
mouse|cursor [verbose] mouse|cursor [verbose]
hdata [free] hdata [free]
time <command> time <command>
@@ -1343,15 +1313,15 @@ Examples:
plugin: name of plugin ("core" for WeeChat core) plugin: name of plugin ("core" for WeeChat core)
level: debug level for plugin (0 = disable debug) level: debug level for plugin (0 = disable debug)
dump: save memory dump in WeeChat log file (same dump is written when WeeChat crashes) 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 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 color: display infos about current color pairs
cursor: toggle debug for cursor mode cursor: toggle debug for cursor mode
dirs: display directories dirs: display directories
hdata: display infos about hdata (with free: remove all hdata in memory) hdata: display infos about hdata (with free: remove all hdata in memory)
hooks: display infos about hooks
infolists: display infos about infolists infolists: display infos about infolists
libs: display infos about external libraries used libs: display infos about external libraries used
certs: display number of loaded trusted certificate authorities
memory: display infos about memory usage memory: display infos about memory usage
mouse: toggle debug for mouse mouse: toggle debug for mouse
tags: display tags for lines 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") 3. an evaluated sub-string (format: "eval:xxx")
4. an evaluated condition (format: "eval_cond:xxx") 4. an evaluated condition (format: "eval_cond:xxx")
5. a string with escaped chars (format: "esc:xxx" or "\xxx") 5. a string with escaped chars (format: "esc:xxx" or "\xxx")
6. a string converted to lower case (format: "lower:xxx") 6. a string with chars to hide (format: "hide:char,string")
7. a string converted to upper case (format: "upper:xxx") 7. a string with max chars (format: "cut:max,suffix,string" or "cut:+max,suffix,string")
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")
or max chars displayed on screen (format: "cutscr:max,suffix,string" or "cutscr:+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") 8. a reversed string (format: "rev:xxx" or "revscr:xxx")
11. a repeated string (format: "repeat:count,string") 9. a repeated string (format: "repeat:count,string")
12. length of a string (format: "length:xxx" or "lengthscr:xxx") 10. length of a string (format: "length:xxx" or "lengthscr:xxx")
13. split of a string (format: "split:number,separators,flags,xxx") 11. split of a string (format: "split:number,separators,flags,xxx")
14. split of shell argmuents (format: "split_shell:number,xxx") 12. split of shell argmuents (format: "split_shell:number,xxx")
15. a color (format: "color:xxx", see "Plugin API reference", function "color") 13. a color (format: "color:xxx", see "Plugin API reference", function "color")
16. a modifier (format: "modifier:name,data,string") 14. a modifier (format: "modifier:name,data,string")
17. an info (format: "info:name,arguments", arguments are optional) 15. 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") 16. 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") 17. current date/time (format: "date" or "date:format")
20. an environment variable (format: "env:XXX") 18. an environment variable (format: "env:XXX")
21. a ternary operator (format: "if:condition?value_if_true:value_if_false") 19. a ternary operator (format: "if:condition?value_if_true:value_if_false")
22. result of an expression with parentheses and operators + - * / // % ** (format: "calc:xxx") 20. result of an expression with parentheses and operators + - * / // % ** (format: "calc:xxx")
23. a random integer number (format: "random:min,max") 21. a random integer number (format: "random:min,max")
24. a translated string (format: "translate:xxx") 22. a translated string (format: "translate:xxx")
25. define a user variable (format: "define:name,value") 23. define a user variable (format: "define:name,value")
26. an option (format: "file.section.option") 24. an option (format: "file.section.option")
27. a local variable in buffer 25. 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. 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: 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.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: 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.full_name} ==> core.weechat
/eval -n ${window.buffer.number} ==> 1 /eval -n ${window.buffer.number} ==> 1
/eval -n ${\t} ==> <tab> /eval -n ${\t} ==> <tab>
/eval -n ${lower:TEST} ==> test
/eval -n ${upper:test} ==> TEST
/eval -n ${hide:-,${relay.network.password}} ==> -------- /eval -n ${hide:-,${relay.network.password}} ==> --------
/eval -n ${cut:3,+,test} ==> tes+ /eval -n ${cut:3,+,test} ==> tes+
/eval -n ${cut:+3,+,test} ==> te+ /eval -n ${cut:+3,+,test} ==> te+
@@ -1502,7 +1468,7 @@ Examples (conditions):
add|addreplace <name> <buffer>[,<buffer>...] <tags> <regex> add|addreplace <name> <buffer>[,<buffer>...] <tags> <regex>
rename <name> <new_name> rename <name> <new_name>
recreate <name> recreate <name>
del <name>|-all [<name>...] del <name>|-all
list: list all filters list: list all filters
enable: enable filters (filters are enabled by default) enable: enable filters (filters are enabled by default)
@@ -1651,49 +1617,6 @@ list of actions:
This command is used by key bindings or plugins. 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]] [[command_weechat_key]]
* `+key+`: bind/unbind keys * `+key+`: bind/unbind keys
@@ -2894,7 +2817,7 @@ protocol.name: protocol and name to relay:
- protocol "weechat" (name is not used) - protocol "weechat" (name is not used)
The "irc" protocol allows any IRC client (including WeeChat itself) to connect on the port. 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. Without argument, this command opens buffer with list of relay clients.
+10 -10
View File
@@ -1290,6 +1290,12 @@
** values: any string ** values: any string
** default value: `+"*"+` ** default value: `+"*"+`
* [[option_weechat.plugin.debug]] *weechat.plugin.debug*
** description: pass:none[enable debug messages by default in all plugins (option disabled by default, which is highly recommended)]
** type: boolean
** values: on, off
** default value: `+off+`
* [[option_weechat.plugin.extension]] *weechat.plugin.extension* * [[option_weechat.plugin.extension]] *weechat.plugin.extension*
** description: pass:none[comma separated list of file name extensions for plugins] ** description: pass:none[comma separated list of file name extensions for plugins]
** type: string ** type: string
@@ -2690,12 +2696,6 @@
** values: any string ** values: any string
** default value: `+""+` ** default value: `+""+`
* [[option_irc.server_default.autojoin_dynamic]] *irc.server_default.autojoin_dynamic*
** description: pass:none[set automatically the "autojoin" option according to the channels you manually join and part with commands /join and /part]
** type: boolean
** values: on, off
** default value: `+off+`
* [[option_irc.server_default.autoreconnect]] *irc.server_default.autoreconnect* * [[option_irc.server_default.autoreconnect]] *irc.server_default.autoreconnect*
** description: pass:none[automatically reconnect to server when disconnected] ** description: pass:none[automatically reconnect to server when disconnected]
** type: boolean ** type: boolean
@@ -3064,11 +3064,11 @@
** values: -1 .. 43200 ** values: -1 .. 43200
** default value: `+0+` ** default value: `+0+`
* [[option_relay.network.compression]] *relay.network.compression* * [[option_relay.network.compression_level]] *relay.network.compression_level*
** description: pass:none[compression of messages sent to clients with "weechat" protocol: 0 = disable compression, 1 = low compression / fast ... 100 = best compression / slow; the value is a percentage converted to 1-9 for zlib and 1-19 for zstd; the default value is recommended, it offers a good compromise between compression and speed] ** description: pass:none[compression level for packets sent to client with WeeChat protocol (0 = disable compression, 1 = low compression ... 9 = best compression)]
** type: integer ** type: integer
** values: 0 .. 100 ** values: 0 .. 9
** default value: `+20+` ** default value: `+6+`
* [[option_relay.network.ipv6]] *relay.network.ipv6* * [[option_relay.network.ipv6]] *relay.network.ipv6*
** description: pass:none[listen on IPv6 socket by default (in addition to IPv4 which is default); protocols IPv4 and IPv6 can be forced (individually or together) in the protocol name (see /help relay)] ** description: pass:none[listen on IPv6 socket by default (in addition to IPv4 which is default); protocols IPv4 and IPv6 can be forced (individually or together) in the protocol name (see /help relay)]
+2 -2
View File
@@ -1,6 +1,6 @@
// tag::plugin_options[] // tag::plugin_options[]
For complete doc on plugin options, please look at plugins documentation in 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: 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 WeeChat is written by Sébastien Helleu and contributors (complete list is in
the AUTHORS.adoc file). the AUTHORS.adoc file).
Copyright (C) 2003-2022 {author} Copyright (C) 2003-2021 {author}
WeeChat is free software; you can redistribute it and/or modify WeeChat is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by
+1 -1
View File
@@ -60,4 +60,4 @@ include::includes/man.en.adoc[tag=copyright]
== SUPPORT / REPORTING BUGS == 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 == 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. This manual documents WeeChat chat client, it is part of WeeChat.
Latest version of this document can be found on Latest version of this document can be found on this page:
https://weechat.org/doc/[this page ^↗^,window=_blank]. https://weechat.org/doc
[[introduction]] [[introduction]]
@@ -31,8 +31,8 @@ This manual documents WeeChat internals:
[[repositories]] [[repositories]]
== Repositories == Repositories
WeeChat repositories are on GitHub organization WeeChat repositories are on GitHub organization "weechat":
https://github.com/weechat[weechat ^↗^,window=_blank]. https://github.com/weechat
List of repositories: List of repositories:
@@ -43,7 +43,7 @@ scripts::
the _official_ scripts submitted on weechat.org the _official_ scripts submitted on weechat.org
weechat.org:: weechat.org::
source of https://weechat.org/[WeeChat website ^↗^,window=_blank] source of WeeChat website: https://weechat.org/
weercd:: weercd::
IRC testing server IRC testing server
@@ -284,7 +284,6 @@ WeeChat "core" is located in following directories:
|       irc-ignore.c | IRC Ignore. |       irc-ignore.c | IRC Ignore.
|       irc-info.c | IRC info/infolists/hdata. |       irc-info.c | IRC info/infolists/hdata.
|       irc-input.c | Input of commands/text. |       irc-input.c | Input of commands/text.
|       irc-join.c | Functions for list of channels to join.
|       irc-message.c | Functions to manipulate IRC messages. |       irc-message.c | Functions to manipulate IRC messages.
|       irc-mode.c | Functions about channel/nick modes. |       irc-mode.c | Functions about channel/nick modes.
|       irc-modelist.c | IRC channel mode lists (+b, +e, +I, ...). |       irc-modelist.c | IRC channel mode lists (+b, +e, +I, ...).
@@ -297,7 +296,6 @@ WeeChat "core" is located in following directories:
|       irc-sasl.c | SASL authentication with IRC server. |       irc-sasl.c | SASL authentication with IRC server.
|       irc-server.c | I/O communication with IRC server. |       irc-server.c | I/O communication with IRC server.
|       irc-tag.c | Functions to manipulate IRC message tags. |       irc-tag.c | Functions to manipulate IRC message tags.
|       irc-typing.c | Typing status.
|       irc-upgrade.c | Save/restore of IRC data when upgrading WeeChat. |       irc-upgrade.c | Save/restore of IRC data when upgrading WeeChat.
|    javascript/ | JavaScript plugin. |    javascript/ | JavaScript plugin.
|       weechat-js.cpp | Main JavaScript functions (load/unload scripts, execute JavaScript code). |       weechat-js.cpp | Main JavaScript functions (load/unload scripts, execute JavaScript code).
@@ -391,68 +389,59 @@ WeeChat "core" is located in following directories:
[width="100%",cols="2m,3",options="header"] [width="100%",cols="2m,3",options="header"]
|=== |===
| Path/file | Description | Path/file | Description
| tests/ | Root of tests. | tests/ | Root of tests.
|    tests.cpp | Program used to run all tests. |    tests.cpp | Program used to run all tests.
|    scripts/ | Root of scripting API tests. |    scripts/ | Root of scripting API tests.
|       test-scripts.cpp | Program used to run the scripting API tests. |       test-scripts.cpp | Program used to run the scripting API tests.
|       python/ | Python scripts to generate and run the scripting API tests. |       python/ | Python scripts to generate and run the scripting API tests.
|          testapigen.py | Python script generating scripts in all languages to test the scripting API. |          testapigen.py | Python script generating scripts in all languages to test the scripting API.
|          testapi.py | Python script with scripting API tests, used by script testapigen.py. |          testapi.py | Python script with scripting API tests, used by script testapigen.py.
|          unparse.py | Convert Python code to other languages, used by script testapigen.py. |          unparse.py | Convert Python code to other languages, used by script testapigen.py.
|    unit/ | Root of unit tests. |    unit/ | Root of unit tests.
|       test-plugins.cpp | Tests: plugins. |       test-plugins.cpp | Tests: plugins.
|       core/ | Root of unit tests for core. |       core/ | Root of unit tests for core.
|          test-core-arraylist.cpp | Tests: arraylists. |          test-core-arraylist.cpp | Tests: arraylists.
|          test-core-calc.cpp | Tests: calculation of expressions. |          test-core-calc.cpp | Tests: calculation of expressions.
|          test-core-config-file.cpp | Tests: configuration files. |          test-core-config-file.cpp | Tests: configuration files.
|          test-core-crypto.cpp | Tests: cryptographic functions. |          test-core-crypto.cpp | Tests: cryptographic functions.
|          test-core-dir.cpp | Tests: directory/file functions. |          test-core-dir.cpp | Tests: directory/file functions.
|          test-core-eval.cpp | Tests: evaluation of expressions. |          test-core-eval.cpp | Tests: evaluation of expressions.
|          test-core-hashtble.cpp | Tests: hashtables. |          test-core-hashtble.cpp | Tests: hashtables.
|          test-core-hdata.cpp | Tests: hdata. |          test-core-hdata.cpp | Tests: hdata.
|          test-core-hook.cpp | Tests: hooks. |          test-core-hook.cpp | Tests: hooks.
|          test-core-infolist.cpp | Tests: infolists. |          test-core-infolist.cpp | Tests: infolists.
|          test-core-list.cpp | Tests: lists. |          test-core-list.cpp | Tests: lists.
|          test-core-network.cpp | Tests: network functions. |          test-core-network.cpp | Tests: network functions.
|          test-core-secure.cpp | Tests: secured data. |          test-core-secure.cpp | Tests: secured data.
|          test-core-signal.cpp | Tests: signals. |          test-core-signal.cpp | Tests: signals.
|          test-core-string.cpp | Tests: strings. |          test-core-string.cpp | Tests: strings.
|          test-core-url.cpp | Tests: URLs. |          test-core-url.cpp | Tests: URLs.
|          test-core-utf8.cpp | Tests: UTF-8. |          test-core-utf8.cpp | Tests: UTF-8.
|          test-core-util.cpp | Tests: utility functions. |          test-core-util.cpp | Tests: utility functions.
|       gui/ | Root of unit tests for interfaces. |       gui/ | Root of unit tests for interfaces.
|          test-gui-bar-window.cpp | Tests: bar window functions. |          test-gui-color.cpp | Tests: colors.
|          test-gui-buffer.cpp | Tests: buffer functions. |          test-gui-line.cpp | Tests: lines.
|          test-gui-chat.cpp | Tests: chat functions. |          test-gui-nick.cpp | Tests: nicks.
|          test-gui-color.cpp | Tests: colors. |       plugins/ | Root of unit tests for plugins.
|          test-gui-line.cpp | Tests: lines. |          irc/ | Root of unit tests for IRC plugin.
|          test-gui-nick.cpp | Tests: nicks. |             test-irc-channel.cpp | Tests: IRC channels.
|       plugins/ | Root of unit tests for plugins. |             test-irc-color.cpp | Tests: IRC colors.
|          irc/ | Root of unit tests for IRC plugin. |             test-irc-config.cpp | Tests: IRC configuration.
|             test-irc-buffer.cpp | Tests: IRC buffers. |             test-irc-ignore.cpp | Tests: IRC ignores.
|             test-irc-channel.cpp | Tests: IRC channels. |             test-irc-message.cpp | Tests: IRC messages.
|             test-irc-color.cpp | Tests: IRC colors. |             test-irc-mode.cpp | Tests: IRC modes.
|             test-irc-config.cpp | Tests: IRC configuration. |             test-irc-nick.cpp | Tests: IRC nicks.
|             test-irc-ignore.cpp | Tests: IRC ignores. |             test-irc-protocol.cpp | Tests: IRC protocol.
|             test-irc-join.cpp | Tests: IRC join functions. |             test-irc-server.cpp | Tests: IRC server.
|             test-irc-message.cpp | Tests: IRC messages. |          trigger/ | Root of unit tests for trigger plugin.
|             test-irc-mode.cpp | Tests: IRC modes. |             test-trigger.cpp | Tests: triggers.
|             test-irc-nick.cpp | Tests: IRC nicks. |          typing/ | Root of unit tests for typing plugin.
|             test-irc-protocol.cpp | Tests: IRC protocol. |             test-typing.cpp | Tests: typing.
|             test-irc-sasl.cpp | Tests: SASL authentication with IRC protocol. |             test-typing-status.cpp | Tests: typing status.
|             test-irc-server.cpp | Tests: IRC server. |          relay/ | Root of unit tests for Relay plugin.
|             test-irc-tag.cpp | Tests: IRC message tags. |             test-relay-auth.cpp | Tests: clients authentication.
|          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.
|=== |===
[[documentation_translations]] [[documentation_translations]]
@@ -468,13 +457,14 @@ Documentation files:
|    docgen.py | Python script to build auto-generated files in _includes/_ directory (see below). |    docgen.py | Python script to build auto-generated files in _includes/_ directory (see below).
|    XX/ | Documentation for language XX (languages: en, fr, de, it, ...). |    XX/ | Documentation for language XX (languages: en, fr, de, it, ...).
|       weechat.1.XX.adoc | Man page (`man weechat`). |       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_dev.XX.adoc | link:weechat_dev.en.html[Developer's guide] (this document).
|       weechat_faq.XX.adoc | link:weechat_faq.en.html[FAQ ^↗^,window=_blank]. |       weechat_faq.XX.adoc | link:weechat_faq.en.html[FAQ].
|       weechat_plugin_api.XX.adoc | link:weechat_plugin_api.en.html[Plugin API reference ^↗^,window=_blank]. |       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 ^↗^,window=_blank]. |       weechat_quickstart.XX.adoc | link:weechat_quickstart.en.html[Quickstart guide].
|       weechat_relay_protocol.XX.adoc | link:weechat_relay_protocol.en.html[Relay protocol ^↗^,window=_blank] (for remote interfaces). |       weechat_relay_protocol.XX.adoc | link:weechat_relay_protocol.en.html[Relay protocol] (for remote interfaces).
|       weechat_scripting.XX.adoc | link:weechat_scripting.en.html[Scripting guide ^↗^,window=_blank]. |       weechat_scripting.XX.adoc | link:weechat_scripting.en.html[Scripting guide].
|       weechat_user.XX.adoc | link:weechat_user.en.html[User's guide ^↗^,window=_blank]. |       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. |       includes/ | Files included in documentation.
|          autogen_api_completions.XX.adoc | Auto-generated file for Plugin API reference: completions (do *NEVER* update manually!). |          autogen_api_completions.XX.adoc | Auto-generated file for Plugin API reference: completions (do *NEVER* update manually!).
|          autogen_api_hdata.XX.adoc | Auto-generated file for Plugin API reference: hdata (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: Example in C:
[source,c] [source,C]
---- ----
/* /*
* weechat.c - core functions for WeeChat * weechat.c - core functions for WeeChat
* *
* Copyright (C) 2022 Your Name <your@email.com> * Copyright (C) 2021 Your Name <your@email.com>
* *
* This file is part of WeeChat, the extensible chat client. * This file is part of WeeChat, the extensible chat client.
* *
@@ -557,7 +547,7 @@ Some basic rules you *must* follow when you write C code:
Example: Example:
[source,c] [source,C]
---- ----
/* /*
* Checks if a string with boolean value is valid. * Checks if a string with boolean value is valid.
@@ -588,7 +578,7 @@ foo ()
Exception: in `for` loops, where variables like "i" or "n" are OK. Exception: in `for` loops, where variables like "i" or "n" are OK.
* Initialize local variables after declaration, in body of function, example: * Initialize local variables after declaration, in body of function, example:
[source,c] [source,C]
---- ----
void void
foo () foo ()
@@ -606,7 +596,7 @@ foo ()
* Place curly brackets `+{ }+` alone on lines, and indent them with number of * Place curly brackets `+{ }+` alone on lines, and indent them with number of
spaces used for line above opening curly bracket (the `if` in example): spaces used for line above opening curly bracket (the `if` in example):
[source,c] [source,C]
---- ----
if (nicks_count == 1) if (nicks_count == 1)
{ {
@@ -617,7 +607,7 @@ if (nicks_count == 1)
* Use empty lines to separate many different blocks inside functions, and if * Use empty lines to separate many different blocks inside functions, and if
possible add a comment for each one, like this: possible add a comment for each one, like this:
[source,c] [source,C]
---- ----
/* /*
* Sends a message from out queue. * Sends a message from out queue.
@@ -660,7 +650,7 @@ irc_server_outqueue_send (struct t_irc_server *server)
* Indent the `if` conditions, and use parentheses around conditions with an * Indent the `if` conditions, and use parentheses around conditions with an
operator (not needed for single boolean), like this: operator (not needed for single boolean), like this:
[source,c] [source,C]
---- ----
if (something) if (something)
{ {
@@ -684,7 +674,7 @@ else
* Indent the `switch` statements like this: * Indent the `switch` statements like this:
[source,c] [source,C]
---- ----
switch (string[0]) switch (string[0])
{ {
@@ -702,7 +692,7 @@ switch (string[0])
* Use `typedef` for function prototypes but not for structures: * Use `typedef` for function prototypes but not for structures:
[source,c] [source,C]
---- ----
typedef int (t_hook_callback_fd)(void *data, int fd); typedef int (t_hook_callback_fd)(void *data, int fd);
@@ -739,7 +729,7 @@ new_hook_fd = malloc (sizeof (*new_hook_fd));
[[coding_python_style]] [[coding_python_style]]
=== 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]]
== 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_): Example: an IRC nick (from _src/plugins/irc/irc-nick.h_):
[source,c] [source,C]
---- ----
struct t_irc_nick struct t_irc_nick
{ {
@@ -814,7 +804,7 @@ _X_ is name of variable, using singular form).
Example: windows (from _src/gui/gui-window.c_): Example: windows (from _src/gui/gui-window.c_):
[source,c] [source,C]
---- ----
struct t_gui_window *gui_windows = NULL; /* first window */ struct t_gui_window *gui_windows = NULL; /* first window */
struct t_gui_window *last_gui_window = NULL; /* last window */ struct t_gui_window *last_gui_window = NULL; /* last window */
@@ -834,7 +824,7 @@ Naming convention for functions is the same as
Example: creation of a new window (from _src/gui/gui-window.c_): Example: creation of a new window (from _src/gui/gui-window.c_):
[source,c] [source,C]
---- ----
/* /*
* Creates a new window. * Creates a new window.
@@ -870,7 +860,7 @@ and next node.
Example: list of buffers (from _src/gui/gui-buffer.h_): Example: list of buffers (from _src/gui/gui-buffer.h_):
[source,c] [source,C]
---- ----
struct t_gui_buffer struct t_gui_buffer
{ {
@@ -885,7 +875,7 @@ struct t_gui_buffer
Then the two list pointers, to the head and tail of list: Then the two list pointers, to the head and tail of list:
[source,c] [source,C]
---- ----
struct t_gui_buffer *gui_buffers = NULL; /* first buffer */ struct t_gui_buffer *gui_buffers = NULL; /* first buffer */
struct t_gui_buffer *last_gui_buffer = NULL; /* last buffer */ struct t_gui_buffer *last_gui_buffer = NULL; /* last buffer */
@@ -900,10 +890,18 @@ underline, ...) and colors on screen.
All attributes/colors are prefixed with a char in string, which can be: All attributes/colors are prefixed with a char in string, which can be:
* _0x19_: color code (followed by color code(s)) * _0x19_: color code (followed by color code(s))
* _0x1A_: set attribute (followed by raw attribute on one char) * _0x1A_: set attribute (followed by attribute on one char)
* _0x1B_: remove attribute (followed by raw attribute on one char) * _0x1B_: remove attribute (followed by attribute on one char)
* _0x1C_: reset (nothing after) * _0x1C_: reset (nothing after)
Allowed attributes are (one or more chars):
* `+*+`: bold
* `+!+`: reverse
* `+/+`: italic
* `+_+`: underline
* `+|+`: keep attributes
Possible colors are: Possible colors are:
* standard color: optional attributes + number on 2 digits * standard color: optional attributes + number on 2 digits
@@ -912,55 +910,45 @@ Possible colors are:
In following table, these conventions are used: In following table, these conventions are used:
* `STD`: standard color (2 digits) * `STD`: standard color (2 digits)
* `(ATTR)STD`: standard color with optional attributes (attributes + 2 digits) * `(A)STD`: standard color with optional attributes (attributes + 2 digits)
* `EXT`: extended color (`+@+` + 5 digits) * `EXT`: extended color (`+@+` + 5 digits)
* `(ATTR)EXT`: extended color with optional attributes (`+@+` + attributes + 5 digits) * `(A)EXT`: extended color with optional attributes (`+@+` + attributes + 5 digits)
* `(ATTR)`: one or more attribute chars: * `ATTR`: one attribute char (`+*+`, `+!+`, `+/+`, `+_+` or `+|+`)
** `+*+`: bold
** `+!+`: reverse
** `+/+`: italic
** `+_+`: underline
** `+|+`: keep attributes
* `(a)`: one raw attribute char:
** _0x01_: bold
** _0x02_: reverse
** _0x03_: italic
** _0x04_: underline
All combinations are summarized in this table: All combinations are summarized in this table:
[width="100%",cols="4,3,2,8",options="header"] [width="100%",cols="4,2,2,8",options="header"]
|=== |===
| Code | Example | Areas | Description | Code | Example | Areas | Description
| [hex]#19# + `STD` | [hex]#19# `+01+` | chat + bars | Set attributes and color using option, see table below. | [hex]#19# + STD | [hex]#19# `+01+` | chat + bars | Set attributes and color using option, see table below.
| [hex]#19# + `EXT` | [hex]#19# `+@00001+` | chat | Set color with a ncurses pair (used only on `/color` buffer). | [hex]#19# + EXT | [hex]#19# `+@00001+` | chat | Set color with a ncurses pair (used only on `/color` buffer).
| [hex]#19# + `F` + `(ATTR)STD` | [hex]#19# `+F*05+` | chat + bars | Set foreground (WeeChat color). | [hex]#19# + "F" + (A)STD | [hex]#19# `+F*05+` | chat + bars | Set foreground (WeeChat color).
| [hex]#19# + `F` + `(ATTR)EXT` | [hex]#19# `+F@00214+` | chat + bars | Set foreground (extended color). | [hex]#19# + "F" + (A)EXT | [hex]#19# `+F@00214+` | chat + bars | Set foreground (extended color).
| [hex]#19# + `B` + `STD` | [hex]#19# `+B05+` | chat + bars | Set background (WeeChat color). | [hex]#19# + "B" + STD | [hex]#19# `+B05+` | chat + bars | Set background (WeeChat color).
| [hex]#19# + `B` + `EXT` | [hex]#19# `+B@00124+` | chat + bars | Set background (extended color). | [hex]#19# + "B" + EXT | [hex]#19# `+B@00124+` | chat + bars | Set background (extended color).
| [hex]#19# + `*` + `(ATTR)STD` | [hex]#19# `+*05+` | chat + bars | Set foreground (WeeChat color). | [hex]#19# + "*" + (A)STD | [hex]#19# `+*05+` | chat + bars | Set foreground (WeeChat color).
| [hex]#19# + `*` + `(ATTR)EXT` | [hex]#19# `+*@00214+` | chat + bars | Set foreground (extended color). | [hex]#19# + "*" + (A)EXT | [hex]#19# `+*@00214+` | chat + bars | Set foreground (extended color).
| [hex]#19# + `*` + `(ATTR)STD` + `,` + `STD` ^(1)^ | [hex]#19# `+*08,05+` | chat + bars | Set foreground/background (WeeChat colors). | [hex]#19# + "*" + (A)STD + "," + STD ^(1)^ | [hex]#19# `+*08,05+` | chat + bars | Set foreground/background (WeeChat colors).
| [hex]#19# + `*` + `(ATTR)STD` + `,` + `EXT` ^(1)^ | [hex]#19# `+*01,@00214+` | chat + bars | Set foreground (WeeChat color) and background (extended color). | [hex]#19# + "*" + (A)STD + "," + EXT ^(1)^ | [hex]#19# `+*01,@00214+` | chat + bars | Set foreground (WeeChat color) and background (extended color).
| [hex]#19# + `*` + `(ATTR)EXT` + `,` + `STD` ^(1)^ | [hex]#19# `+*@00214,05+` | chat + bars | Set foreground (extended color) and background (WeeChat color). | [hex]#19# + "*" + (A)EXT + "," + STD ^(1)^ | [hex]#19# `+*@00214,05+` | chat + bars | Set foreground (extended color) and background (WeeChat color).
| [hex]#19# + `*` + `(ATTR)EXT` + `,` + `EXT` ^(1)^ | [hex]#19# `+*@00214,@00017+` | chat + bars | Set foreground/background (extended colors). | [hex]#19# + "*" + (A)EXT + "," + EXT ^(1)^ | [hex]#19# `+*@00214,@00017+` | chat + bars | Set foreground/background (extended colors).
| [hex]#19# + `*` + `(ATTR)STD` + `~` + `STD` | [hex]#19# `+*08~05+` | chat + bars | Set foreground/background (WeeChat colors). | [hex]#19# + "*" + (A)STD + "~" + STD | [hex]#19# `+*08~05+` | chat + bars | Set foreground/background (WeeChat colors).
| [hex]#19# + `*` + `(ATTR)STD` + `~` + `EXT` | [hex]#19# `+*01~@00214+` | chat + bars | Set foreground (WeeChat color) and background (extended color). | [hex]#19# + "*" + (A)STD + "~" + EXT | [hex]#19# `+*01~@00214+` | chat + bars | Set foreground (WeeChat color) and background (extended color).
| [hex]#19# + `*` + `(ATTR)EXT` + `~` + `STD` | [hex]#19# `+*@00214~05+` | chat + bars | Set foreground (extended color) and background (WeeChat color). | [hex]#19# + "*" + (A)EXT + "~" + STD | [hex]#19# `+*@00214~05+` | chat + bars | Set foreground (extended color) and background (WeeChat color).
| [hex]#19# + `*` + `(ATTR)EXT` + `~` + `EXT` | [hex]#19# `+*@00214~@00017+` | chat + bars | Set foreground/background (extended colors). | [hex]#19# + "*" + (A)EXT + "~" + EXT | [hex]#19# `+*@00214~@00017+` | chat + bars | Set foreground/background (extended colors).
| [hex]#19# + `b` + `F` | [hex]#19# `+bF+` | bars | Set bar foreground color. | [hex]#19# + "b" + "F" | [hex]#19# `+bF+` | bars | Set bar foreground color.
| [hex]#19# + `b` + `D` | [hex]#19# `+bD+` | bars | Set bar delimiter color. | [hex]#19# + "b" + "D" | [hex]#19# `+bD+` | bars | Set bar delimiter color.
| [hex]#19# + `b` + `B` | [hex]#19# `+bB+` | bars | Set bar background color. | [hex]#19# + "b" + "B" | [hex]#19# `+bB+` | bars | Set bar background color.
| [hex]#19# + `b` + `_` | [hex]#19# `+b_+` | input bar | Start input char (used only in item "input_text"). | [hex]#19# + "b" + "_" | [hex]#19# `+b_+` | input bar | Start input char (used only in item "input_text").
| [hex]#19# + `b` + `-` | [hex]#19# `+b-+` | input bar | Start input hidden char (used only in item "input_text"). | [hex]#19# + "b" + "-" | [hex]#19# `+b-+` | input bar | Start input hidden char (used only in item "input_text").
| [hex]#19# + `b` + `#` | [hex]#19# `+b#+` | input bar | Move cursor char (used only in item "input_text"). | [hex]#19# + "b" + "#" | [hex]#19# `+b#+` | input bar | Move cursor char (used only in item "input_text").
| [hex]#19# + `b` + `i` | [hex]#19# `+bi+` | bars | Start item. | [hex]#19# + "b" + "i" | [hex]#19# `+bi+` | bars | Start item.
| [hex]#19# + `b` + `l` (lower L) | [hex]#19# `+bl+` | bars | Start line item. | [hex]#19# + "b" + "l" (lower L) | [hex]#19# `+bl+` | bars | Start line item.
| [hex]#19# + `E` | [hex]#19# `+E+` | chat + bars | Emphasize text _(WeeChat ≥ 0.4.2)_. | [hex]#19# + "E" | [hex]#19# `+E+` | chat + bars | Emphasize text _(WeeChat ≥ 0.4.2)_.
| [hex]#19# + [hex]#1C# | [hex]#19# [hex]#1C# | chat + bars | Reset color (keep attributes). | [hex]#19# + [hex]#1C# | [hex]#19# [hex]#1C# | chat + bars | Reset color (keep attributes).
| [hex]#1A# + `(a)` | [hex]#1A# [hex]#01# | chat + bars | Set attribute. | [hex]#1A# + ATTR | [hex]#1A# `+*+` | chat + bars | Set attribute.
| [hex]#1B# + `(a)` | [hex]#1B# [hex]#01# | chat + bars | Remove attribute. | [hex]#1B# + ATTR | [hex]#1B# `+*+` | chat + bars | Remove attribute.
| [hex]#1C# | [hex]#1C# | chat + bars | Reset attributes and color. | [hex]#1C# | [hex]#1C# | chat + bars | Reset attributes and color.
|=== |===
[NOTE] [NOTE]
@@ -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_ For example, function _hook_timer_ is defined in structure _t_weechat_plugin_
like this: like this:
[source,c] [source,C]
---- ----
struct t_hook *(*hook_timer) (struct t_weechat_plugin *plugin, struct t_hook *(*hook_timer) (struct t_weechat_plugin *plugin,
long interval, long interval,
@@ -1090,7 +1078,7 @@ struct t_hook *(*hook_timer) (struct t_weechat_plugin *plugin,
And the macro used to call this function is: And the macro used to call this function is:
[source,c] [source,C]
---- ----
#define weechat_hook_timer(__interval, __align_second, __max_calls, \ #define weechat_hook_timer(__interval, __align_second, __max_calls, \
__callback, __data) \ __callback, __data) \
@@ -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: So in a plugin, the call to function will be for example:
[source,c] [source,C]
---- ----
server->hook_timer_sasl = weechat_hook_timer (timeout * 1000, server->hook_timer_sasl = weechat_hook_timer (timeout * 1000,
0, 1, 0, 1,
@@ -1115,7 +1103,7 @@ server->hook_timer_sasl = weechat_hook_timer (timeout * 1000,
[[git_repository]] [[git_repository]]
=== 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 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 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: Where _component_ is one of following:
[width="100%",cols="1m,4m,5",options="header"] * WeeChat core: _core_ (files in root directory, _po/_ and _src/_,
|=== except _src/plugins/_)
| Component | Files | Description * documentation files: _doc_ (files in directory _doc/_)
* name of a plugin: _irc_, _python_, _relay_, ... (files in directory
| core _src/plugins/_)
| AUTHORS.adoc +
ChangeLog.adoc +
Contributing.adoc +
.github/FUNDING.yml +
.github/ISSUE_TEMPLATE/* +
icons/* +
po/* +
README.adoc +
ReleaseNotes.adoc +
src/core/* +
src/gui/* +
version.sh +
weechat.desktop
| WeeChat core
| build
| autogen.sh +
CMakeLists.txt +
cmake/* +
configure.ac +
Makefile.am +
tools/* +
weechat.cygport.in +
weechat.spec
| Build
| ci
| .github/workflows/*
| Continuous integration
| debian
| debian-devel/* +
debian-stable/*
| Debian packaging
| tests
| tests/*
| Tests
| doc
| doc/*
| General doc updates, for example build
| doc/man
| doc/xx/weechat.1.xx.adoc +
doc/xx/weechat-headless.1.xx.adoc
| Man pages
| doc/faq
| doc/xx/weechat_faq.xx.adoc
| Frequently asked questions (FAQ)
| doc/quickstart
| doc/xx/weechat_quickstart.xx.adoc
| Quickstart guide
| doc/user
| doc/xx/weechat_user.xx.adoc
| User's guide
| doc/scripting
| doc/xx/weechat_scripting.xx.adoc
| Scripting guide
| doc/api
| doc/xx/weechat_plugin_api.xx.adoc
| Plugin API reference
| doc/relay
| doc/xx/weechat_relay_protocol.xx.adoc
| Relay protocol
| doc/dev
| doc/xx/weechat_dev.en.adoc
| Developer's guide
| irc +
python +
relay +
| src/plugins/<name>/*
| Plugin
|===
Some rules to follow: Some rules to follow:
@@ -1231,7 +1135,6 @@ Examples of commit messages:
---- ----
core: add callback "nickcmp" for nick comparison in buffers core: add callback "nickcmp" for nick comparison in buffers
core: update Japanese translations core: update Japanese translations
doc/user: add chapter on typing extension
irc: add command /unquiet (closes #36) irc: add command /unquiet (closes #36)
python: fix crash when unloading a script without pointer to interpreter python: fix crash when unloading a script without pointer to interpreter
ruby: add detection of ruby version 1.9.3 in CMake ruby: add detection of ruby version 1.9.3 in CMake
@@ -1265,8 +1168,8 @@ $ make translations && make update-po
Then you can edit .po files (if you can translate in a language). Then you can edit .po files (if you can translate in a language).
When done, you *have* to check your file with When done, you *have* to check your file with script _msgcheck.py_
https://github.com/flashcode/msgcheck[msgcheck ^↗^,window=_blank]: (https://github.com/flashcode/msgcheck):
---- ----
$ msgcheck.py xx.po $ msgcheck.py xx.po
@@ -1299,7 +1202,7 @@ work on it.
The translations missing in files are indicated by this string: The translations missing in files are indicated by this string:
---- ----
// TRANSLATION MISSING // TRANSLATION MISSING
---- ----
You must translate whole file except links and special keywords for notes, You must translate whole file except links and special keywords for notes,
@@ -1316,7 +1219,7 @@ warnings, ... These words must be kept unchanged:
[CAUTION] [CAUTION]
---- ----
When there is a name after `+<<link_name>>+`, then you must translate it: When there is a name after `<<link_name>>`, then you must translate it:
---- ----
<<link_name,this text must be translated>> <<link_name,this text must be translated>>
+35 -75
View File
@@ -32,8 +32,7 @@ apply to WeeChat!).
Because WeeChat is very light and brings innovating features. Because WeeChat is very light and brings innovating features.
More info on the WeeChat More info on the WeeChat features page: https://weechat.org/about/features
https://weechat.org/about/features/[features page ^↗^,window=_blank].
[[compilation_install]] [[compilation_install]]
== Compilation / install == Compilation / install
@@ -41,17 +40,16 @@ https://weechat.org/about/features/[features page ^↗^,window=_blank].
[[gui]] [[gui]]
=== I've heard about many GUIs for WeeChat. How can I compile/use them? === I've heard about many GUIs for WeeChat. How can I compile/use them?
Some remote GUIs are available, see the Some remote GUIs are available, see the remote interfaces page:
https://weechat.org/about/interfaces/[remote interfaces page ^↗^,window=_blank]. https://weechat.org/about/interfaces
[[compile_git]] [[compile_git]]
=== I can't compile WeeChat after cloning git repository, why? === I can't compile WeeChat after cloning git repository, why?
The recommended way to compile WeeChat is with 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 If you're compiling with link:weechat_user.en.html#compile_with_autotools[autotools]
link:weechat_user.en.html#compile_with_autotools[autotools ^↗^,window=_blank]
(and not CMake), check that you have latest version of autoconf and automake. (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. 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]] [[compile_macos]]
=== How can I install WeeChat on macOS? === How can I install WeeChat on macOS?
It is recommended to use https://brew.sh/[Homebrew ^↗^,window=_blank], It is recommended to use https://brew.sh/[Homebrew], you can get help with:
you can get help with:
---- ----
brew info weechat brew info weechat
@@ -79,12 +76,12 @@ brew install weechat
=== I've launched WeeChat, but I'm lost, what can I do? === 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`. 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#key_bindings[Keys] and
link:weechat_user.en.html#commands_and_options[commands ^↗^,window=_blank] link:weechat_user.en.html#commands_and_options[commands] are listed
are listed in documentation. in documentation.
It's recommended for new users to read the 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]]
== 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 ** If you are using screen, check that it is run with UTF-8 mode
("`defutf8 on`" in ~/.screenrc or `screen -U` to run screen). ("`defutf8 on`" in ~/.screenrc or `screen -U` to run screen).
* Check that option * 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). is off (this option may cause display bugs).
[NOTE] [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). in glibc 2.22 (maybe not yet available in your distribution).
There is a workaround to use the fixed _wcwidth_ function: 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] See this bug report for more information:
for more information. https://github.com/weechat/weechat/issues/79
[[bars_background]] [[bars_background]]
=== Bars like title and status are not filled, background color stops after text, why? === Bars like title and status are not filled, background color stops after text, why?
@@ -187,8 +184,7 @@ windows.
[[buffers_list]] [[buffers_list]]
=== How to display the buffers list on the left side? === How to display the buffers list on the left side?
With WeeChat ≥ 1.8, the plugin With WeeChat ≥ 1.8, the plugin link:weechat_user.en.html#buflist_plugin[buflist]
link:weechat_user.en.html#buflist[buflist ^↗^,window=_blank]
is loaded and enabled by default. is loaded and enabled by default.
With an older version, you can install script _buffers.pl_: 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 buflist plugin provides lot of options that you can customize, please read
the help on each option. the help on each option.
There's also a https://github.com/weechat/weechat/wiki/buflist[wiki page ^↗^,window=_blank] There's also a wiki page with examples of advanced buflist configuration:
with examples of advanced buflist configuration. https://github.com/weechat/weechat/wiki/buflist
[[customize_prefix]] [[customize_prefix]]
=== How can I reduce length of nicks or remove nick alignment in chat area? === 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). + (buffers) and __weechat.color.status_count_*__ (counters). +
Other hotlist options can be changed with the options __weechat.look.hotlist_*__. 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] See link:weechat_user.en.html#screen_layout[User's guide / Screen layout] for
for more info about the hotlist. more info about the hotlist.
[[input_bar_size]] [[input_bar_size]]
=== How to use command line with more than one line? === 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 For versions ≥ 0.3.5, you can use any color number in options (optional: you
can add color aliases with command `/color`). can add color aliases with command `/color`).
Please read the link:weechat_user.en.html#colors[User's guide / Colors ^↗^,window=_blank] Please read the link:weechat_user.en.html#colors[User's guide / Colors] for more
for more information about colors management. information about colors management.
[[search_text]] [[search_text]]
=== How can I search text in buffer (like /lastlog in irssi)? === 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+`). The default key is kbd:[Ctrl+r] (command is: `+/input search_text_here+`).
And jump to highlights: kbd:[Alt+p] / kbd:[Alt+n]. 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] See link:weechat_user.en.html#key_bindings[User's guide / Key bindings] for more
for more info about this feature. info about this feature.
[[terminal_focus]] [[terminal_focus]]
=== How can I execute commands when terminal gets/loses 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 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 To jump to buffers with number ≥ 100, you could define a trigger and then use
commands like `/123` to jump to buffer #123: commands like `/123` to jump to buffer #123:
@@ -833,36 +829,8 @@ join of channels):
[[edit_autojoin]] [[edit_autojoin]]
=== How can I add/remove channels from autojoin option? === How can I add/remove channels from autojoin option?
With WeeChat ≥ 3.5, you can automatically record the channels you manually You can use the `/set` command to edit the list of autojoin channels,
join and part in the "autojoin" server option. for example for the "libera" server:
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:
---- ----
/set irc.server.libera.autojoin [TAB] /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 /fset autojoin
---- ----
With WeeChat ≤ 3.4, another solution is to use a script: Another solution is to use a script:
---- ----
/script search autojoin /script search autojoin
@@ -919,7 +887,7 @@ With a global filter (hide *all* join/part/quit):
[NOTE] [NOTE]
For help: `/help filter`, `+/help irc.look.smart_filter+` and see 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]] [[filter_irc_join_channel_messages]]
=== How can I filter some messages displayed when I join an IRC channel? === 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? === How can I disable highlights for specific nicks?
With WeeChat ≥ 0.3.4 you can use the 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, buffer property to set the max hotlist level for some nicks, per buffer,
or per group of buffers (like IRC servers). 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 $ curl -O https://weechat.org/files/plugins.xml.gz
---- ----
If you're running macOS and the downloaded file has a size of 0 bytes,
try to set this variable in your shell initialization file or on command line,
before starting WeeChat:
----
export OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES
----
[[spell_dictionaries]] [[spell_dictionaries]]
=== I installed aspell dictionaries on my system, how can I use them without restarting WeeChat? === I installed aspell dictionaries on my system, how can I use them without restarting WeeChat?
@@ -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 Define a passphrase and use secured data wherever you can for sensitive data
like passwords: see `/help secure` and `/help` on options like passwords: see `/help secure` and `/help` on options
(if you can use secured data, it is written in the help). (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: 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 Some other files may contain sensitive info like passwords (if they are not
stored in _sec.conf_ with the `/secure` command). 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. for more information about configuration files.
[[development]] [[development]]
@@ -1250,7 +1210,7 @@ for more information about configuration files.
[[bug_task_patch]] [[bug_task_patch]]
=== How should I report bugs, ask for new features or send patches? === 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]] [[gdb_error_threads]]
=== When I run WeeChat under gdb, there is an error about threads, what can I do? === 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.) There are many tasks to do (testing, code, documentation, etc.)
Please contact us via IRC or mail, look at Please contact us via IRC or mail, look at support page:
https://weechat.org/about/support/[support page ^↗^,window=_blank]. https://weechat.org/about/support
[[donate]] [[donate]]
=== Can I give money or other things to WeeChat developers? === Can I give money or other things to WeeChat developers?
You can give us money to help development. 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" /set irc.server.libera.autojoin "#channel1,#channel2"
---- ----
The `/autojoin` command lets you configure the _autojoin_ option easily [TIP]
(see `/help autojoin`). 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
You can also configure WeeChat to automatically update the _autojoin_ option the name of option).
when you join or leave channels:
----
/set irc.server_default.autojoin_dynamic on
----
To remove a value of a server option, and use the default value instead, To remove a value of a server option, and use the default value instead,
for example to use default nicks (irc.server_default.nicks): for example to use default nicks (irc.server_default.nicks):
@@ -218,11 +213,6 @@ option name):
/set irc.server.libera.xxx value /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]]
== Connect to IRC server == Connect to IRC server
@@ -380,14 +370,13 @@ for example:
See `/help script` for more info. See `/help script` for more info.
A list of scripts is available in WeeChat with `/script` or on A list of scripts is available in WeeChat with `/script` or at this URL:
https://weechat.org/scripts/[this page ^↗^,window=_blank]. https://weechat.org/scripts
[[more_doc]] [[more_doc]]
== More documentation == More documentation
You can now use WeeChat and read You can now use WeeChat and read FAQ/documentation for any other questions:
https://weechat.org/doc/[FAQ/documentation ^↗^,window=_blank] https://weechat.org/doc
for any other questions.
Enjoy using WeeChat! Enjoy using WeeChat!
+84 -88
View File
@@ -84,7 +84,7 @@ Fields are:
List of available commands (detail in next chapters): List of available commands (detail in next chapters):
[width="100%",cols="1m,8",options="header"] [width="100%",cols="^3m,14",options="header"]
|=== |===
| Command | Description | Command | Description
| handshake | Handshake: prepare client authentication and set options, before _init_ command. | handshake | Handshake: prepare client authentication and set options, before _init_ command.
@@ -103,7 +103,7 @@ List of available commands (detail in next chapters):
[[command_handshake]] [[command_handshake]]
=== handshake === handshake
_WeeChat ≥ 2.9, updated in version 3.5._ _WeeChat ≥ 2.9._
Perform an handshake between the client and WeeChat: this is required in most Perform an handshake between the client and WeeChat: this is required in most
cases to know the session settings and prepare the authentication with the cases to know the session settings and prepare the authentication with the
@@ -127,15 +127,10 @@ Arguments:
*** _sha512_: password salted and hashed with SHA512 algorithm *** _sha512_: password salted and hashed with SHA512 algorithm
*** _pbkdf2+sha256_: password salted and hashed with PBKDF2 algorithm (using SHA256 hash) *** _pbkdf2+sha256_: password salted and hashed with PBKDF2 algorithm (using SHA256 hash)
*** _pbkdf2+sha512_: password salted and hashed with PBKDF2 algorithm (using SHA512 hash) *** _pbkdf2+sha512_: password salted and hashed with PBKDF2 algorithm (using SHA512 hash)
** _compression_: list of supported compression types supported by the client ** _compression_: compression type:
(separated by colons and sorted from most important to the fallback value); *** _zlib_: enable _zlib_ compression for messages sent by _relay_
if compression is enabled, messages from _relay_ to client are compressed (enabled by default if _relay_ supports _zlib_ compression)
to save bandwidth; allowed values are: *** _off_: disable compression
*** _off_: no compression (default if option is not given)
*** _zlib_: compress with https://zlib.net/[zlib ^↗^,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)_
Notes about option _password_hash_algo_: Notes about option _password_hash_algo_:
@@ -174,9 +169,8 @@ WeeChat replies with a hashtable containing the following keys and values:
and the user password (the _relay_ nonce + the client nonce is the salt used and the user password (the _relay_ nonce + the client nonce is the salt used
in the password hash algorithm) in the password hash algorithm)
* _compression_: compression type: * _compression_: compression type:
** _zlib_: messages are compressed with _zlib_
** _off_: messages are not compressed ** _off_: messages are not compressed
** _zlib_: messages are compressed with https://zlib.net/[zlib ^↗^,window=_blank]
** _zstd_: messages are compressed with https://facebook.github.io/zstd/[Zstandard ^↗^,window=_blank]
[TIP] [TIP]
With WeeChat ≤ 2.8, the command _handshake_ is not implemented, WeeChat silently With WeeChat ≤ 2.8, the command _handshake_ is not implemented, WeeChat silently
@@ -202,7 +196,7 @@ htb: {
'password_hash_iterations': '100000', 'password_hash_iterations': '100000',
'totp': 'on', 'totp': 'on',
'nonce': '85B1EE00695A5B254E14F4885538DF0D', 'nonce': '85B1EE00695A5B254E14F4885538DF0D',
'compression': 'off', 'compression': 'zlib',
} }
---- ----
@@ -222,7 +216,7 @@ htb: {
'password_hash_iterations': '100000', 'password_hash_iterations': '100000',
'totp': 'on', 'totp': 'on',
'nonce': '85B1EE00695A5B254E14F4885538DF0D', 'nonce': '85B1EE00695A5B254E14F4885538DF0D',
'compression': 'off', 'compression': 'zlib',
} }
---- ----
@@ -242,7 +236,7 @@ htb: {
'password_hash_iterations': '100000', 'password_hash_iterations': '100000',
'totp': 'on', 'totp': 'on',
'nonce': '85B1EE00695A5B254E14F4885538DF0D', 'nonce': '85B1EE00695A5B254E14F4885538DF0D',
'compression': 'off', 'compression': 'zlib',
} }
---- ----
@@ -254,11 +248,10 @@ the password is "test" in this example:
init password_hash=pbkdf2+sha256:85b1ee00695a5b254e14f4885538df0da4b73207f5aae4:100000:ba7facc3edb89cd06ae810e29ced85980ff36de2bb596fcf513aaab626876440 init password_hash=pbkdf2+sha256:85b1ee00695a5b254e14f4885538df0da4b73207f5aae4:100000:ba7facc3edb89cd06ae810e29ced85980ff36de2bb596fcf513aaab626876440
---- ----
* Only "sha256" and "sha512" are supported by the client, enable zstd (preferred) * Only "sha256" and "sha512" are supported by the client, disable compression:
or zlib compression:
---- ----
(handshake) handshake password_hash_algo=sha256:sha512,compression=zstd:zlib (handshake) handshake password_hash_algo=sha256:sha512,compression=off
---- ----
Response: Response:
@@ -271,14 +264,14 @@ htb: {
'password_hash_iterations': '100000', 'password_hash_iterations': '100000',
'totp': 'on', 'totp': 'on',
'nonce': '85B1EE00695A5B254E14F4885538DF0D', 'nonce': '85B1EE00695A5B254E14F4885538DF0D',
'compression': 'zstd', 'compression': 'off',
} }
---- ----
[[command_init]] [[command_init]]
=== 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_. Authenticate with _relay_.
@@ -305,6 +298,12 @@ Arguments:
factor, in addition to the password factor, in addition to the password
(option _relay.network.totp_secret_ in WeeChat) (option _relay.network.totp_secret_ in WeeChat)
_(WeeChat ≥ 2.4)_ _(WeeChat ≥ 2.4)_
** _compression_: compression type (*deprecated* since version 2.9, it is kept
for compatibility reasons but should be sent in the
<<command_handshake,handshake command>>):
*** _zlib_: enable _zlib_ compression for messages sent by _relay_
(enabled by default if _relay_ supports _zlib_ compression)
*** _off_: disable compression
[NOTE] [NOTE]
With WeeChat ≥ 1.6, commas can be escaped in the value, for example With WeeChat ≥ 1.6, commas can be escaped in the value, for example
@@ -993,7 +992,7 @@ Arguments:
WeeChat replies with a hdata: WeeChat replies with a hdata:
[width="100%",cols="2m,3,14",options="header"] [width="100%",cols="3m,2,10",options="header"]
|=== |===
| Name | Type | Description | Name | Type | Description
| context | string | Completion context: "null" (no completion), "command", "command_arg", "auto". | context | string | Completion context: "null" (no completion), "command", "command_arg", "auto".
@@ -1261,24 +1260,24 @@ Syntax:
Returned objects (in this order): Returned objects (in this order):
[width="80%",cols="1m,2,6m",options="header"] [width="100%",cols="^3,3m,5m",options="header"]
|=== |===
| Type | Description | Value | Type | Type (in message) | Value
| chr | char | 65 ("A") | char | chr | 65 ("A")
| int | integer | 123456 | integer | int | 123456
| int | integer | -123456 | integer | int | -123456
| lon | long | 1234567890 | long | lon | 1234567890
| lon | long | -1234567890 | long | lon | -1234567890
| str | string | "a string" | string | str | "a string"
| str | string | "" | string | str | ""
| str | string | NULL | string | str | NULL
| buf | buffer | "buffer" | buffer | buf | "buffer"
| buf | buffer | NULL | buffer | buf | NULL
| ptr | pointer | 0x1234abcd | pointer | ptr | 0x1234abcd
| ptr | pointer | NULL | pointer | ptr | NULL
| tim | time | 1321993456 | time | tim | 1321993456
| arr str | array of strings | [ "abc", "de" ] | array of strings | arr str | [ "abc", "de" ]
| arr int | array of integers | [ 123, 456, 789 ] | array of integers | arr int | [ 123, 456, 789 ]
|=== |===
[IMPORTANT] [IMPORTANT]
@@ -1380,8 +1379,7 @@ Messages are sent as binary data, using following format (with size in bytes):
(including this field) (including this field)
* _compression_ (byte): flag: * _compression_ (byte): flag:
** _0x00_: following data is not compressed ** _0x00_: following data is not compressed
** _0x01_: following data is compressed with https://zlib.net/[zlib ^↗^,window=_blank] ** _0x01_: following data is compressed with _zlib_
** _0x02_: following data is compressed with https://facebook.github.io/zstd/[Zstandard ^↗^,window=_blank]
* _id_ (string, 4 bytes + content): identifier sent by client (before command name); it can be * _id_ (string, 4 bytes + content): identifier sent by client (before command name); it can be
empty (string with zero length and no content) if no identifier was given in empty (string with zero length and no content) if no identifier was given in
command command
@@ -1391,10 +1389,8 @@ Messages are sent as binary data, using following format (with size in bytes):
[[message_compression]] [[message_compression]]
=== Compression === Compression
If flag _compression_ is equal to 0x01 or 0x02, then *all* data after is compressed If flag _compression_ is equal to 0x01, then *all* data after is compressed
with https://zlib.net/[zlib ^↗^,window=_blank] or with _zlib_, and therefore must be uncompressed before being processed.
https://facebook.github.io/zstd/[Zstandard ^↗^,window=_blank],
and therefore must be uncompressed before being processed.
[[message_identifier]] [[message_identifier]]
=== Identifier === Identifier
@@ -1409,68 +1405,68 @@ WeeChat reserved identifiers:
[width="100%",cols="5m,5,3,4,7",options="header"] [width="100%",cols="5m,5,3,4,7",options="header"]
|=== |===
| Identifier | Received with _sync_ | Data sent | Identifier | Received with _sync_ | Data sent |
| Description | Recommended action in client Description | Recommended action in client
| _buffer_opened | buffers / buffer | hdata: buffer | _buffer_opened | buffers / buffer | hdata: buffer |
| Buffer opened. | Open buffer. Buffer opened. | Open buffer.
| _buffer_type_changed | buffers / buffer | hdata: buffer | _buffer_type_changed | buffers / buffer | hdata: buffer |
| Type of buffer changed. | Change type of buffer. Type of buffer changed. | Change type of buffer.
| _buffer_moved | buffers / buffer | hdata: buffer | _buffer_moved | buffers / buffer | hdata: buffer |
| Buffer moved. | Move buffer. Buffer moved. | Move buffer.
| _buffer_merged | buffers / buffer | hdata: buffer | _buffer_merged | buffers / buffer | hdata: buffer |
| Buffer merged. | Merge buffer. Buffer merged. | Merge buffer.
| _buffer_unmerged | buffers / buffer | hdata: buffer | _buffer_unmerged | buffers / buffer | hdata: buffer |
| Buffer unmerged. | Unmerge buffer. Buffer unmerged. | Unmerge buffer.
| _buffer_hidden | buffers / buffer | hdata: buffer | _buffer_hidden | buffers / buffer | hdata: buffer |
| Buffer hidden. | Hide buffer. Buffer hidden. | Hide buffer.
| _buffer_unhidden | buffers / buffer | hdata: buffer | _buffer_unhidden | buffers / buffer | hdata: buffer |
| Buffer unhidden. | Unhide buffer. Buffer unhidden. | Unhide buffer.
| _buffer_renamed | buffers / buffer | hdata: buffer | _buffer_renamed | buffers / buffer | hdata: buffer |
| Buffer renamed. | Rename buffer. Buffer renamed. | Rename buffer.
| _buffer_title_changed | buffers / buffer | hdata: buffer | _buffer_title_changed | buffers / buffer | hdata: buffer |
| Title of buffer changed. | Change title of buffer. Title of buffer changed. | Change title of buffer.
| _buffer_localvar_added | buffers / buffer | hdata: buffer | _buffer_localvar_added | buffers / buffer | hdata: buffer |
| Local variable added. | Add local variable in buffer. Local variable added. | Add local variable in buffer.
| _buffer_localvar_changed | buffers / buffer | hdata: buffer | _buffer_localvar_changed | buffers / buffer | hdata: buffer |
| Local variable changed. | Change local variable in buffer. Local variable changed. | Change local variable in buffer.
| _buffer_localvar_removed | buffers / buffer | hdata: buffer | _buffer_localvar_removed | buffers / buffer | hdata: buffer |
| Local variable removed. | Remove local variable from buffer. Local variable removed. | Remove local variable from buffer.
| _buffer_closing | buffers / buffer | hdata: buffer | _buffer_closing | buffers / buffer | hdata: buffer |
| Buffer closing. | Close buffer. Buffer closing. | Close buffer.
| _buffer_cleared | buffer | hdata: buffer | _buffer_cleared | buffer | hdata: buffer |
| Buffer cleared. | Clear buffer. Buffer cleared. | Clear buffer.
| _buffer_line_added | buffer | hdata: line | _buffer_line_added | buffer | hdata: line |
| Line added in buffer. | Display line in buffer. Line added in buffer. | Display line in buffer.
| _nicklist | nicklist | hdata: nicklist_item | _nicklist | nicklist | hdata: nicklist_item |
| Nicklist for a buffer. | Replace nicklist. Nicklist for a buffer. | Replace nicklist.
| _nicklist_diff | nicklist | hdata: nicklist_item | _nicklist_diff | nicklist | hdata: nicklist_item |
| Nicklist diffs for a buffer . | Update nicklist. Nicklist diffs for a buffer . | Update nicklist.
| _pong | (always) | string: ping arguments | _pong | (always) | string: ping arguments |
| Answer to a "ping". | Measure response time. Answer to a "ping". | Measure response time.
| _upgrade | upgrade | (empty) | _upgrade | upgrade | (empty) |
| WeeChat is upgrading. | Desync from WeeChat (or disconnect). WeeChat is upgrading. | Desync from WeeChat (or disconnect).
| _upgrade_ended | upgrade | (empty) | _upgrade_ended | upgrade | (empty) |
| Upgrade of WeeChat done. | Sync/resync with WeeChat. Upgrade of WeeChat done. | Sync/resync with WeeChat.
|=== |===
[[message_buffer_opened]] [[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: Objects are identified by 3 letters, called _type_. Following types are used:
[width="100%",cols="1m,2,8",options="header"] [width="100%",cols="^2m,5,10",options="header"]
|=== |===
| Type | Value | Length | Type | Value | Length
| chr | Signed char | 1 byte | chr | Signed char | 1 byte
+144 -180
View File
@@ -11,8 +11,8 @@
This manual documents WeeChat chat client, it is part of WeeChat. This manual documents WeeChat chat client, it is part of WeeChat.
Latest version of this document can be found on Latest version of this document can be found on this page:
https://weechat.org/doc/[this page ^↗^,window=_blank]. https://weechat.org/doc
[[introduction]] [[introduction]]
@@ -61,7 +61,7 @@ function, this can crash WeeChat. +
If something must be run in background, the function `+hook_process+` can be used. 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>> See example in the chapter <<hook_process,Run a background process>>
and the documentation on the function `+hook_process+` in the 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]]
=== 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`. + WeeChat defines a `weechat` module which must be imported with `import weechat`. +
A Python stub for WeeChat API is available in the repository: 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]] [[python_functions]]
===== Functions ===== Functions
@@ -99,38 +99,38 @@ receive a string of type `str` or `bytes` (this list is not exhaustive):
|=== |===
| API function | Arguments | Examples | Description | API function | Arguments | Examples | Description
| hook_modifier | hook_modifier |
| irc_in_yyy irc_in_yyy |
| pass:[irc_in_privmsg] + pass:[irc_in_privmsg] +
pass:[irc_in_notice] pass:[irc_in_notice] |
| A message received in IRC plugin, before it is decoded to UTF-8 (used A message received in IRC plugin, before it is decoded to UTF-8 (used
internally). + internally). +
+ +
It is recommended to use modifier `+irc_in2_yyy+` instead, the string received It is recommended to use modifier `+irc_in2_yyy+` instead, the string received
is always UTF-8 valid. + is always UTF-8 valid. +
See function `+hook_modifier+` in the 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 | hook_signal |
| xxx,irc_out_yyy + xxx,irc_out_yyy +
xxx,irc_outtags_yyy xxx,irc_outtags_yyy |
| pass:[*,irc_out_privmsg] + pass:[*,irc_out_privmsg] +
pass:[*,irc_out_notice] + pass:[*,irc_out_notice] +
pass:[*,irc_outtags_privmsg] + pass:[*,irc_outtags_privmsg] +
pass:[*,irc_outtags_notice] pass:[*,irc_outtags_notice] |
| A message sent by IRC plugin, after it is encoded to the `encode` charset 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`). + 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 It is recommended to use signal `+xxx,irc_out1_yyy+` instead, the string received
is always UTF-8 valid. + is always UTF-8 valid. +
See function `+hook_signal+` in the 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 +
hook_process_hashtable hook_process_hashtable |
| - - |
| - - |
| Output of the command, sent to the callback, can contain invalid UTF-8 data. 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 ...+`. Functions are called with `+weechat::xxx arg1 arg2 ...+`.
Since Tcl only has string types, there's no null type to pass as an argument
when a function accepts null values. To overcome this you can use the constant
`$::weechat::WEECHAT_NULL` which acts as a null value. This constant is defined
as `\uFFFF\uFFFF\uFFFFWEECHAT_NULL\uFFFF\uFFFF\uFFFF`, so it's very unlikely to
appear unintentionally.
[[language_guile]] [[language_guile]]
==== Guile (Scheme) ==== Guile (Scheme)
@@ -376,7 +370,7 @@ directory is automatically created.
== Differences with C API == Differences with C API
Script API is almost the same as C plugin 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. 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 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 == Script API
For more information about functions in API, please read the 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]] [[script_api_functions]]
=== Functions === Functions
List of functions in script API: List of functions in script API:
[width="100%",cols="1,5",options="header"] [width="100%",cols="1,3",options="header"]
|=== |===
| Category | Functions | Category | Functions
| general | general |
| register register
| plugins | plugins |
| plugin_get_name plugin_get_name
| strings | strings |
| charset_set + charset_set +
iconv_to_internal + iconv_to_internal +
iconv_from_internal + iconv_from_internal +
gettext + gettext +
@@ -580,13 +574,13 @@ List of functions in script API:
string_eval_expression + string_eval_expression +
string_eval_path_home string_eval_path_home
| directories | directories |
| mkdir_home + mkdir_home +
mkdir + mkdir +
mkdir_parents mkdir_parents
| sorted lists | sorted lists |
| list_new + list_new +
list_add + list_add +
list_search + list_search +
list_search_pos + list_search_pos +
@@ -602,8 +596,8 @@ List of functions in script API:
list_remove_all + list_remove_all +
list_free list_free
| configuration files | configuration files |
| config_new + config_new +
config_new_section + config_new_section +
config_search_section + config_search_section +
config_new_option + config_new_option +
@@ -640,21 +634,20 @@ List of functions in script API:
config_set_desc_plugin + config_set_desc_plugin +
config_unset_plugin config_unset_plugin
| key bindings | key bindings |
| key_bind + key_bind +
key_unbind key_unbind
| display | display |
| prefix + prefix +
color + color +
print (for python: prnt) + print (for python: prnt) +
print_date_tags (for python: prnt_date_tags) + print_date_tags (for python: prnt_date_tags) +
print_y (for python: prnt_y) + print_y (for python: prnt_y) +
print_y_date_tags (for python: prnt_y_date_tags) +
log_print log_print
| hooks | hooks |
| hook_command + hook_command +
hook_command_run + hook_command_run +
hook_timer + hook_timer +
hook_fd + hook_fd +
@@ -679,9 +672,8 @@ List of functions in script API:
unhook + unhook +
unhook_all unhook_all
| buffers | buffers |
| buffer_new + buffer_new +
buffer_new_props +
current_buffer + current_buffer +
buffer_search + buffer_search +
buffer_search_main + buffer_search_main +
@@ -696,16 +688,16 @@ List of functions in script API:
buffer_string_replace_local_var + buffer_string_replace_local_var +
buffer_match_list buffer_match_list
| windows | windows |
| current_window + current_window +
window_search_with_buffer + window_search_with_buffer +
window_get_integer + window_get_integer +
window_get_string + window_get_string +
window_get_pointer + window_get_pointer +
window_set_title window_set_title
| nicklist | nicklist |
| nicklist_add_group + nicklist_add_group +
nicklist_search_group + nicklist_search_group +
nicklist_add_nick + nicklist_add_nick +
nicklist_search_nick + nicklist_search_nick +
@@ -721,8 +713,8 @@ List of functions in script API:
nicklist_nick_get_pointer + nicklist_nick_get_pointer +
nicklist_nick_set nicklist_nick_set
| bars | bars |
| bar_item_search + bar_item_search +
bar_item_new + bar_item_new +
bar_item_update + bar_item_update +
bar_item_remove + bar_item_remove +
@@ -732,23 +724,23 @@ List of functions in script API:
bar_update + bar_update +
bar_remove bar_remove
| commands | commands |
| command + command +
command_options command_options
| completion | completion |
| completion_new + completion_new +
completion_search + completion_search +
completion_get_string + completion_get_string +
completion_list_add + completion_list_add +
completion_free completion_free
| infos | infos |
| info_get + info_get +
info_get_hashtable info_get_hashtable
| infolists | infolists |
| infolist_new + infolist_new +
infolist_new_item + infolist_new_item +
infolist_new_var_integer + infolist_new_var_integer +
infolist_new_var_string + infolist_new_var_string +
@@ -766,8 +758,8 @@ List of functions in script API:
infolist_time + infolist_time +
infolist_free infolist_free
| hdata | hdata |
| hdata_get + hdata_get +
hdata_get_var_offset + hdata_get_var_offset +
hdata_get_var_type_string + hdata_get_var_type_string +
hdata_get_var_array_size + hdata_get_var_array_size +
@@ -788,8 +780,8 @@ List of functions in script API:
hdata_update + hdata_update +
hdata_get_string hdata_get_string
| upgrade | upgrade |
| upgrade_new + upgrade_new +
upgrade_write_object + upgrade_write_object +
upgrade_read + upgrade_read +
upgrade_close upgrade_close
@@ -800,17 +792,17 @@ List of functions in script API:
List of constants in script API: List of constants in script API:
[width="100%",cols="1,5",options="header"] [width="100%",cols="1,3",options="header"]
|=== |===
| Category | Constants | Category | Constants
| return codes | return codes |
| `WEECHAT_RC_OK` (integer) + `WEECHAT_RC_OK` (integer) +
`WEECHAT_RC_OK_EAT` (integer) + `WEECHAT_RC_OK_EAT` (integer) +
`WEECHAT_RC_ERROR` (integer) `WEECHAT_RC_ERROR` (integer)
| configuration files | configuration files |
| `WEECHAT_CONFIG_READ_OK` (integer) + `WEECHAT_CONFIG_READ_OK` (integer) +
`WEECHAT_CONFIG_READ_MEMORY_ERROR` (integer) + `WEECHAT_CONFIG_READ_MEMORY_ERROR` (integer) +
`WEECHAT_CONFIG_READ_FILE_NOT_FOUND` (integer) + `WEECHAT_CONFIG_READ_FILE_NOT_FOUND` (integer) +
`WEECHAT_CONFIG_WRITE_OK` (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_OK_REMOVED` (integer) +
`WEECHAT_CONFIG_OPTION_UNSET_ERROR` (integer) `WEECHAT_CONFIG_OPTION_UNSET_ERROR` (integer)
| sorted lists | sorted lists |
| `WEECHAT_LIST_POS_SORT` (string) + `WEECHAT_LIST_POS_SORT` (string) +
`WEECHAT_LIST_POS_BEGINNING` (string) + `WEECHAT_LIST_POS_BEGINNING` (string) +
`WEECHAT_LIST_POS_END` (string) `WEECHAT_LIST_POS_END` (string)
| hotlist | hotlist |
| `WEECHAT_HOTLIST_LOW` (string) + `WEECHAT_HOTLIST_LOW` (string) +
`WEECHAT_HOTLIST_MESSAGE` (string) + `WEECHAT_HOTLIST_MESSAGE` (string) +
`WEECHAT_HOTLIST_PRIVATE` (string) + `WEECHAT_HOTLIST_PRIVATE` (string) +
`WEECHAT_HOTLIST_HIGHLIGHT` (string) `WEECHAT_HOTLIST_HIGHLIGHT` (string)
| hook process | hook process |
| `WEECHAT_HOOK_PROCESS_RUNNING` (integer) + `WEECHAT_HOOK_PROCESS_RUNNING` (integer) +
`WEECHAT_HOOK_PROCESS_ERROR` (integer) `WEECHAT_HOOK_PROCESS_ERROR` (integer)
| hook connect | hook connect |
| `WEECHAT_HOOK_CONNECT_OK` (integer) + `WEECHAT_HOOK_CONNECT_OK` (integer) +
`WEECHAT_HOOK_CONNECT_ADDRESS_NOT_FOUND` (integer) + `WEECHAT_HOOK_CONNECT_ADDRESS_NOT_FOUND` (integer) +
`WEECHAT_HOOK_CONNECT_IP_ADDRESS_NOT_FOUND` (integer) + `WEECHAT_HOOK_CONNECT_IP_ADDRESS_NOT_FOUND` (integer) +
`WEECHAT_HOOK_CONNECT_CONNECTION_REFUSED` (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_TIMEOUT` (integer) +
`WEECHAT_HOOK_CONNECT_SOCKET_ERROR` (integer) `WEECHAT_HOOK_CONNECT_SOCKET_ERROR` (integer)
| hook signal | hook signal |
| `WEECHAT_HOOK_SIGNAL_STRING` (string) + `WEECHAT_HOOK_SIGNAL_STRING` (string) +
`WEECHAT_HOOK_SIGNAL_INT` (string) + `WEECHAT_HOOK_SIGNAL_INT` (string) +
`WEECHAT_HOOK_SIGNAL_POINTER` (string) `WEECHAT_HOOK_SIGNAL_POINTER` (string)
|=== |===
@@ -864,7 +856,7 @@ List of constants in script API:
This chapter shows some common tasks, with examples. This chapter shows some common tasks, with examples.
Only partial things in API are used here, for full reference, see the 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]]
=== Buffers === Buffers
@@ -883,7 +875,7 @@ Examples:
weechat.prnt("", "hello") weechat.prnt("", "hello")
# display "hello" on core buffer, but do not write it to log file # display "hello" on core buffer, but do not write it to log file
# (version 0.3.3 only) # (version >= 0.3.3 only)
weechat.prnt_date_tags("", 0, "no_log", "hello") weechat.prnt_date_tags("", 0, "no_log", "hello")
# display prefix "==>" and message "hello" on current buffer # display prefix "==>" and message "hello" on current buffer
@@ -1057,53 +1049,26 @@ weechat.hook_timer(60 * 1000, 60, 0, "timer_cb", "")
You can run a background process with `+hook_process+`. Your callback will be You can run a background process with `+hook_process+`. Your callback will be
called when data is ready. It may be called many times. called when data is ready. It may be called many times.
For the last call to your callback, _return_code_ is set to 0 or positive value, For the last call to your callback, _rc_ is set to 0 or positive value, it's
it is the return code of command. return code of command.
Example: Example:
[source,python] [source,python]
---- ----
def my_process_cb(data, command, return_code, out, err): process_output = ""
if return_code == weechat.WEECHAT_HOOK_PROCESS_ERROR:
weechat.prnt("", "Error with command '%s'" % command) def my_process_cb(data, command, rc, out, err):
return weechat.WEECHAT_RC_OK global process_output
if return_code >= 0: if out != "":
weechat.prnt("", "return_code = %d" % return_code) process_output += out
if out: if int(rc) >= 0:
weechat.prnt("", "stdout: %s" % out) weechat.prnt("", process_output)
if err:
weechat.prnt("", "stderr: %s" % err)
return weechat.WEECHAT_RC_OK return weechat.WEECHAT_RC_OK
weechat.hook_process("/bin/ls -l /etc", 10 * 1000, "my_process_cb", "") weechat.hook_process("/bin/ls -l /etc", 10 * 1000, "my_process_cb", "")
---- ----
You can also call directly a script function that does something blocking,
instead of an external command:
[source,python]
----
def get_status(data):
# do something blocking...
# ...
return "this is the result"
def my_process_cb(data, command, return_code, out, err):
if return_code == weechat.WEECHAT_HOOK_PROCESS_ERROR:
weechat.prnt("", "Error with command '%s'" % command)
return weechat.WEECHAT_RC_OK
if return_code >= 0:
weechat.prnt("", "return_code = %d" % return_code)
if out:
weechat.prnt("", "stdout: %s" % out)
if err:
weechat.prnt("", "stderr: %s" % err)
return weechat.WEECHAT_RC_OK
hook = weechat.hook_process("func:get_status", 5000, "my_process_cb", "")
----
[[url_transfer]] [[url_transfer]]
==== URL transfer ==== URL transfer
@@ -1117,15 +1082,15 @@ in callback (standard output of process):
[source,python] [source,python]
---- ----
# Display latest stable version of WeeChat. # Display current stable version of WeeChat.
weechat_latest_version = "" weechat_version = ""
def weechat_process_cb(data, command, return_code, out, err): def weechat_process_cb(data, command, rc, out, err):
global weechat_latest_version global weechat_version
if out: if out != "":
weechat_latest_version += out weechat_version += out
if return_code >= 0: if int(rc) >= 0:
weechat.prnt("", "Latest WeeChat version: %s" % weechat_latest_version) weechat.prnt("", "Current WeeChat stable is: %s" % weechat_version)
return weechat.WEECHAT_RC_OK return weechat.WEECHAT_RC_OK
weechat.hook_process("url:https://weechat.org/dev/info/stable/", weechat.hook_process("url:https://weechat.org/dev/info/stable/",
@@ -1133,17 +1098,16 @@ weechat.hook_process("url:https://weechat.org/dev/info/stable/",
---- ----
[TIP] [TIP]
All infos available about WeeChat are on All infos available about WeeChat are on page https://weechat.org/dev/info
https://weechat.org/dev/info/[this page ^↗^,window=_blank].
Example of URL transfer with an option: download latest WeeChat development Example of URL transfer with an option: download latest WeeChat development
package in file _/tmp/weechat-devel.tar.gz_: package in file _/tmp/weechat-devel.tar.gz_:
[source,python] [source,python]
---- ----
def my_process_cb(data, command, return_code, out, err): def my_process_cb(data, command, rc, out, err):
if return_code >= 0: if int(rc) >= 0:
weechat.prnt("", "End of transfer (return code = %d)" % return_code) weechat.prnt("", "End of transfer (rc=%s)" % rc)
return weechat.WEECHAT_RC_OK return weechat.WEECHAT_RC_OK
weechat.hook_process_hashtable("url:https://weechat.org/files/src/weechat-devel.tar.gz", weechat.hook_process_hashtable("url:https://weechat.org/files/src/weechat-devel.tar.gz",
@@ -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 For more information about URL transfer and available options, see functions
`+hook_process+` and `+hook_process_hashtable+` in `+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]]
=== Config / options === Config / options
@@ -1309,61 +1273,61 @@ The result is a hashtable with following keys
|=== |===
| Key | Since WeeChat ^(1)^ | Description | Example | Key | Since WeeChat ^(1)^ | Description | Example
| tags | 0.4.0 | tags | 0.4.0 |
| The tags in message (can be empty). The tags in message (can be empty). |
| `+time=2015-06-27T16:40:35.000Z+` `+time=2015-06-27T16:40:35.000Z+`
| tag_xxx | 3.3 | tag_xxx | 3.3 |
| Unescaped value of tag "xxx" (one key per tag). Unescaped value of tag "xxx" (one key per tag). |
| `+2015-06-27T16:40:35.000Z+` `+2015-06-27T16:40:35.000Z+`
| message_without_tags | 0.4.0 | message_without_tags | 0.4.0 |
| The message without the tags (the same as message if there are no tags). The message without the tags (the same as message if there are no tags). |
| `+:nick!user@host PRIVMSG #weechat :hello!+` `+:nick!user@host PRIVMSG #weechat :hello!+`
| nick | 0.3.4 | nick | 0.3.4 |
| The origin nick. The origin nick. |
| `+nick+` `+nick+`
| user | 2.7 | user | 2.7 |
| The origin user. The origin user. |
| `+user+` `+user+`
| host | 0.3.4 | host | 0.3.4 |
| The origin host (includes the nick). The origin host (includes the nick). |
| `+nick!user@host+` `+nick!user@host+`
| command | 0.3.4 | command | 0.3.4 |
| The command (_PRIVMSG_, _NOTICE_, ...). The command (_PRIVMSG_, _NOTICE_, ...). |
| `+PRIVMSG+` `+PRIVMSG+`
| channel | 0.3.4 | channel | 0.3.4 |
| The target channel. The target channel. |
| `+#weechat+` `+#weechat+`
| arguments | 0.3.4 | arguments | 0.3.4 |
| The command arguments (includes the channel). The command arguments (includes the channel). |
| `+#weechat :hello!+` `+#weechat :hello!+`
| text | 1.3 | text | 1.3 |
| The text (for example user message). The text (for example user message). |
| `+hello!+` `+hello!+`
| pos_command | 1.3 | pos_command | 1.3 |
| The index of _command_ in message ("-1" if _command_ was not found). The index of _command_ in message ("-1" if _command_ was not found). |
| `+47+` `+47+`
| pos_arguments | 1.3 | pos_arguments | 1.3 |
| The index of _arguments_ in message ("-1" if _arguments_ was not found). The index of _arguments_ in message ("-1" if _arguments_ was not found). |
| `+55+` `+55+`
| pos_channel | 1.3 | pos_channel | 1.3 |
| The index of _channel_ in message ("-1" if _channel_ was not found). The index of _channel_ in message ("-1" if _channel_ was not found). |
| `+55+` `+55+`
| pos_text | 1.3 | pos_text | 1.3 |
| The index of _text_ in message ("-1" if _text_ was not found). The index of _text_ in message ("-1" if _text_ was not found). |
| `+65+` `+65+`
|=== |===
[NOTE] [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. # 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. # 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. Porque WeeChat es muy ligero y ofrece funcionalidades innovadoras.
// TRANSLATION MISSING Más información de las funcionalidades de WeeChat en la página: https://weechat.org/about/features
More info on the WeeChat
https://weechat.org/about/features/[features page ^↗^,window=_blank].
[[compilation_install]] [[compilation_install]]
== Compilación / instalación == Compilación / instalación
@@ -46,17 +44,16 @@ https://weechat.org/about/features/[features page ^↗^,window=_blank].
[[gui]] [[gui]]
=== ¿He oido que hay muchas interfaces gráficas de susuario (GUI) para WeeChat. ¿Cómo puedo compilarlas o usarlas? === ¿He oido que hay muchas interfaces gráficas de susuario (GUI) para WeeChat. ¿Cómo puedo compilarlas o usarlas?
// TRANSLATION MISSING Hay disponibles algunas GUIs, eche un vistazo a la página de interfaces remotas:
Some remote GUIs are available, see the https://weechat.org/about/interfaces
https://weechat.org/about/interfaces/[remote interfaces page ^↗^,window=_blank].
[[compile_git]] [[compile_git]]
=== No puedo compilar WeeChat después de haber clonado el repositorio git, ¿por qué? === No puedo compilar WeeChat después de haber clonado el repositorio git, ¿por qué?
La manera recomendada para compilar WeeChat es con 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. (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. 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]] [[compile_macos]]
=== ¿Cómo puedo instalar WeeChat en macOS? === ¿Cómo puedo instalar WeeChat en macOS?
Se recomienda utilizar https://brew.sh/[Homebrew ^↗^,window=_blank], Se recomienda utilizar https://brew.sh/[Homebrew], puede obtener ayuda con el comando:
puede obtener ayuda con el comando:
---- ----
brew info weechat brew info weechat
@@ -84,12 +80,12 @@ brew install weechat
=== He lanzado WeeChat, pero estoy perdido, ¿qué puedo hacer? === He lanzado WeeChat, pero estoy perdido, ¿qué puedo hacer?
Para consultar la ayuda, escriba `/help`. Para buscar ayuda con un comando, escriba `/help comando`. 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#key_bindings[Las teclas] y
link:weechat_user.en.html#commands_and_options[comandos ^↗^,window=_blank] aparecen listados link:weechat_user.en.html#commands_and_options[comandos] aparecen listados
en la documentación. en la documentación.
Se recomienda a las personas recién llegadas leer la 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]] [[display]]
== Visualización == 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 ** 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). ("`defutf8 on`" en ~/.screenrc o `screen -U` al ejecutar screen).
* Compruebe si la opción * 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). está en off (esta opción puede causar errores a la hora de mostrar el texto).
[NOTE] [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). 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: 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 Vea este reporte de error para más información:
See this https://github.com/weechat/weechat/issues/79[bug report ^↗^,window=_blank] https://github.com/weechat/weechat/issues/79
for more information.
[[bars_background]] [[bars_background]]
=== Las barras del título y de estado no aparecen rellenadas, el color de fondo desaparece después del texto, ¿por qué? === 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]] [[buffers_list]]
=== ¿Cómo mostrar un listado de los buffers en la parte izquierda? === ¿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. está cargado y habilitado de manera predeterminada.
Con versiones anteriores, puede instalar el script _buffers.pl_: 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 El complemento del listado de buffers _buflist_ ofrece múltiples opciones que puede configurar, por favor lea
la ayuda de cada opción. la ayuda de cada opción.
// TRANSLATION MISSING También hay una página wiki con ejemplos de configuraciones más completas:
There's also a https://github.com/weechat/weechat/wiki/buflist[wiki page ^↗^,window=_blank] https://github.com/weechat/weechat/wiki/buflist
with examples of advanced buflist configuration.
[[customize_prefix]] [[customize_prefix]]
=== ¿Cómo puedo reducir la longitud de los apodos o eliminar la alineación de los apodos en el área del chat? === ¿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). + (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_*__. 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. más información sobre este tema.
[[input_bar_size]] [[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 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`). 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. información sobre la gestión de los colores.
[[search_text]] [[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í+`). 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]. 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] Vea la link:weechat_user.en.html#key_bindings[Guía del usuario / Atajos de teclado] para más
para más información sobre esta funcionalidad. información sobre esta funcionalidad.
[[terminal_focus]] [[terminal_focus]]
=== ¿Cómo puedo ejecutar comandos cuando la terminal tiene o pierde el foco? === ¿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 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 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: comandos como `/123` para saltar al buffer #123:
@@ -838,42 +832,8 @@ unirse a los canales):
[[edit_autojoin]] [[edit_autojoin]]
=== ¿Cómo puedo añadir/eliminar canales de la opción autojoin? === ¿Cómo puedo añadir/eliminar canales de la opción autojoin?
// TRANSLATION MISSING Puede utilizar el comando `/set` para editar la lista de canales con autojoin,
With WeeChat ≥ 3.5, you can automatically record the channels you manually por ejemplo, para el servidor "libera":
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":
---- ----
/set irc.server.libera.autojoin [TAB] /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 /fset autojoin
---- ----
// TRANSLATION MISSING Otra solución es utilizar un script:
With WeeChat ≤ 3.4, otra solución es utilizar un script:
---- ----
/script search autojoin /script search autojoin
@@ -931,7 +890,7 @@ Con un filtro global (oculta *todos* los mensajes join/part/quit):
[NOTE] [NOTE]
Para más ayuda: `/help filter`, `+/help irc.look.smart_filter+` y vea la 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]] [[filter_irc_join_channel_messages]]
=== ¿Cómo puedo filtrar algunos mensajes mostrados cuando me uno a un canal IRC? === ¿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? === ¿Cómo puedo inhabilitar las menciones de unos apodos específicos?
Con WeeChat ≥ 0.3.4 puede utilizar 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, 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). 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 $ curl -O https://weechat.org/files/plugins.xml.gz
---- ----
// TRANSLATION MISSING
If you're running macOS and the downloaded file has a size of 0 bytes,
try to set this variable in your shell initialization file or on command line,
before starting WeeChat:
----
export OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES
----
[[spell_dictionaries]] [[spell_dictionaries]]
=== Instalé los diccionarios aspell en mi sistema, ¿cómo puedo utilizarlos sin necesidad de reiniciar WeeChat? === Instalé los diccionarios aspell en mi sistema, ¿cómo puedo utilizarlos sin necesidad de reiniciar WeeChat?
@@ -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 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 como contraseñas: vea `/help secure` y `/help` en las opciones
(si puede utilice datos seguros, está escrito en la ayuda). (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: 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 Algunos otros archivos pueden contener información sensible como contraseñas (si no están
almacenadas en _sec.conf_ con el comando `/secure`). 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. para más información relacionada con los archivos de configuración.
[[development]] [[development]]
@@ -1263,8 +1213,7 @@ para más información relacionada con los archivos de configuración.
[[bug_task_patch]] [[bug_task_patch]]
=== ¿Cómo podría informar de errores, pedir nuevas funcionalidades o enviar parches? === ¿Cómo podría informar de errores, pedir nuevas funcionalidades o enviar parches?
// TRANSLATION MISSING Vea: https://weechat.org/about/support
See https://weechat.org/about/support/[this page ^↗^,window=_blank].
[[gdb_error_threads]] [[gdb_error_threads]]
=== Cuando ejecuto WeeChat bajo gdb, hay un error con la muestra de las conversaciones, ¿qué puedo hacer? === 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.) Hay muchas tareas que hacer (probar, escribir código, documentación, etc.)
// TRANSLATION MISSING Por favor, contacte con nosotros mediante IRC o correo electrónico, eche un vistazo a la página de soporte:
Please contact us via IRC or mail, look at https://weechat.org/about/support
https://weechat.org/about/support/[support page ^↗^,window=_blank].
[[donate]] [[donate]]
=== ¿Puedo donar dinero u otras cosas a las personas que desarrollan WeeChat? === ¿Puedo donar dinero u otras cosas a las personas que desarrollan WeeChat?
// TRANSLATION MISSING Puede donar dinero para ayudar en el desarrollo.
You can give us money to help development. Más detalles en https://weechat.org/donate
Details on https://weechat.org/donate/[donation page ^↗^,window=_blank].
+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" /set irc.server.libera.autojoin "#uncanal,#otrocanal"
---- ----
// TRANSLATION MISSING [TIP]
The `/autojoin` command lets you configure the _autojoin_ option easily Puede completar el nombre y el valor de las opciones con la tecla kbd:[Tab]
(see `/help autojoin`). y kbd:[Shift+Tab] para un autocompletado parcial (útil para palabras largas como
el nombre de la opción).
// 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
----
Para eliminar un valor asignado a una opción de servidor y usar los 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 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 /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]] [[connect_to_irc_server]]
== Conectarse a un servidor IRC == Conectarse a un servidor IRC
@@ -402,16 +390,13 @@ por ejemplo:
Vea `/help script` para obtener más información. Vea `/help script` para obtener más información.
// TRANSLATION MISSING Hay una lista de scripts disponibles en WeeChat mediante el comando `/script` o en este enlace:
A list of scripts is available in WeeChat with `/script` or on https://weechat.org/scripts
https://weechat.org/scripts/[this page ^↗^,window=_blank].
[[more_doc]] [[more_doc]]
== Más documentación == Más documentación
// TRANSLATION MISSING Ahora puede usar WeeChat y leer las FAQ/documentación para cada pregunta
You can now use WeeChat and read en: https://weechat.org/doc
https://weechat.org/doc/[FAQ/documentation ^↗^,window=_blank]
for any other questions.
¡Disfrute de WeeChat! ¡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. # This file is part of WeeChat, the extensible chat client.
# #
@@ -122,6 +122,19 @@ if(ENABLE_DOC)
add_custom_target(doc-quickstart-fr ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/weechat_quickstart.fr.html) add_custom_target(doc-quickstart-fr ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/weechat_quickstart.fr.html)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/weechat_quickstart.fr.html DESTINATION ${DATAROOTDIR}/doc/${PROJECT_NAME}) install(FILES ${CMAKE_CURRENT_BINARY_DIR}/weechat_quickstart.fr.html DESTINATION ${DATAROOTDIR}/doc/${PROJECT_NAME})
# tester's guide
add_custom_command(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/weechat_tester.fr.html
COMMAND ${ASCIIDOCTOR_EXECUTABLE} ARGS ${ASCIIDOCTOR_ARGS} -o weechat_tester.fr.html ${CMAKE_CURRENT_SOURCE_DIR}/weechat_tester.fr.adoc
DEPENDS
${CMAKE_CURRENT_SOURCE_DIR}/../docinfo.html
${CMAKE_CURRENT_SOURCE_DIR}/weechat_tester.fr.adoc
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMENT "Building weechat_tester.fr.html"
)
add_custom_target(doc-tester-fr ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/weechat_tester.fr.html)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/weechat_tester.fr.html DESTINATION ${DATAROOTDIR}/doc/${PROJECT_NAME})
# relay protocol # relay protocol
add_custom_command( add_custom_command(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/weechat_relay_protocol.fr.html OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/weechat_relay_protocol.fr.html
+7 -1
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> # Copyright (C) 2006 Julien Louis <ptitlouis@sysif.net>
# #
# This file is part of WeeChat, the extensible chat client. # This file is part of WeeChat, the extensible chat client.
@@ -29,6 +29,7 @@ EXTRA_DIST = CMakeLists.txt \
weechat_scripting.fr.adoc \ weechat_scripting.fr.adoc \
weechat_faq.fr.adoc \ weechat_faq.fr.adoc \
weechat_quickstart.fr.adoc \ weechat_quickstart.fr.adoc \
weechat_tester.fr.adoc \
weechat_relay_protocol.fr.adoc \ weechat_relay_protocol.fr.adoc \
weechat_dev.fr.adoc \ weechat_dev.fr.adoc \
includes/autogen_api_completions.fr.adoc \ includes/autogen_api_completions.fr.adoc \
@@ -57,6 +58,7 @@ if DOC
weechat_scripting.fr.html \ weechat_scripting.fr.html \
weechat_faq.fr.html \ weechat_faq.fr.html \
weechat_quickstart.fr.html \ weechat_quickstart.fr.html \
weechat_tester.fr.html \
weechat_relay_protocol.fr.html \ weechat_relay_protocol.fr.html \
weechat_dev.fr.html weechat_dev.fr.html
doc_install = install-doc doc_install = install-doc
@@ -90,6 +92,10 @@ weechat_faq.fr.html: weechat_faq.fr.adoc $(abs_top_srcdir)/doc/docinfo.html
weechat_quickstart.fr.html: weechat_quickstart.fr.adoc $(abs_top_srcdir)/doc/docinfo.html weechat_quickstart.fr.html: weechat_quickstart.fr.adoc $(abs_top_srcdir)/doc/docinfo.html
$(ASCIIDOCTOR) $(ASCIIDOCTOR_ARGS) -a revnumber="$(VERSION)" -o weechat_quickstart.fr.html $(abs_top_srcdir)/doc/fr/weechat_quickstart.fr.adoc $(ASCIIDOCTOR) $(ASCIIDOCTOR_ARGS) -a revnumber="$(VERSION)" -o weechat_quickstart.fr.html $(abs_top_srcdir)/doc/fr/weechat_quickstart.fr.adoc
# tester's guide
weechat_tester.fr.html: weechat_tester.fr.adoc $(abs_top_srcdir)/doc/docinfo.html
$(ASCIIDOCTOR) $(ASCIIDOCTOR_ARGS) -a revnumber="$(VERSION)" -o weechat_tester.fr.html $(abs_top_srcdir)/doc/fr/weechat_tester.fr.adoc
# relay protocol # relay protocol
weechat_relay_protocol.fr.html: weechat_relay_protocol.fr.adoc $(abs_top_srcdir)/doc/docinfo.html weechat_relay_protocol.fr.html: weechat_relay_protocol.fr.adoc $(abs_top_srcdir)/doc/docinfo.html
$(ASCIIDOCTOR) $(ASCIIDOCTOR_ARGS) -a revnumber="$(VERSION)" -o weechat_relay_protocol.fr.html $(abs_top_srcdir)/doc/fr/weechat_relay_protocol.fr.adoc $(ASCIIDOCTOR) $(ASCIIDOCTOR_ARGS) -a revnumber="$(VERSION)" -o weechat_relay_protocol.fr.html $(abs_top_srcdir)/doc/fr/weechat_relay_protocol.fr.adoc
@@ -26,8 +26,6 @@
| irc | irc_channels | canaux sur tous les serveurs IRC | irc | irc_channels | canaux sur tous les serveurs IRC
| irc | irc_channels_autojoin | canaux automatiquement rejoints sur le serveur courant (option "autojoin")
| irc | irc_ignores_numbers | numéros pour les ignores définis | irc | irc_ignores_numbers | numéros pour les ignores définis
| irc | irc_modelist_masks | masques de la liste de modes du canal IRC courant ; argument obligatoire : mode de la liste de modes | irc | irc_modelist_masks | masques de la liste de modes du canal IRC courant ; argument obligatoire : mode de la liste de modes
@@ -94,8 +92,6 @@
| tcl | tcl_script | liste des scripts | 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_arguments | paramètres par défaut pour un hook
| trigger | trigger_hook_command | commande 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 | 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_value | valeur d'une variable d'environnement
| weechat | env_vars | variables d'environnement | weechat | env_vars | variables d'environnement
@@ -8,7 +8,7 @@
|=== |===
| Extension | Nom | Description | Table de hachage (entrée) | Table de hachage (sortie) | Extension | Nom | Description | Table de hachage (entrée) | Table de hachage (sortie)
| irc | irc_message_parse | analyse un message IRC | "message" : message IRC, "server" : nom du serveur (optionnel) | "tags" : étiquettes, "tag_xxx" : valeur de l'étiquette "xxx" sans échappements (une clé par étiquette), "message_without_tags" : message sans les étiquettes, "nick" : pseudo, "user" : nom d'utilisateur, "host" : nom d'hôte, "command" : commande, "channel" : canal, "arguments" : paramètres (inclut le canal), "text" : texte (par exemple message utilisateur), "param1" ... "paramN" : paramètres de la commande, "num_params" : nombre de paramètres dans la commande, "pos_command" : index de "command" dans le message ("-1" si "command" n'a pas été trouvé), "pos_arguments" : index de "arguments" dans le message ("-1" si "arguments" n'a pas été trouvé), "pos_channel" : index de "channel" dans le message ("-1" si "channel" n'a pas été trouvé), "pos_text" : index de "text" dans le message ("-1" si "text" n'a pas été trouvé) | irc | irc_message_parse | analyse un message IRC | "message" : message IRC, "server" : nom du serveur (optionnel) | "tags" : étiquettes, "tag_xxx" : valeur de l'étiquette "xxx" sans échappements (une clé par étiquette), "message_without_tags" : message sans les étiquettes, "nick" : pseudo, "user" : nom d'utilisateur, "host" : nom d'hôte, "command" : commande, "channel" : canal, "arguments" : paramètres (inclut le canal), "text" : texte (par exemple message utilisateur), "pos_command" : index de "command" dans le message ("-1" si "command" n'a pas été trouvé), "pos_arguments" : index de "arguments" dans le message ("-1" si "arguments" n'a pas été trouvé), "pos_channel" : index de "channel" dans le message ("-1" si "channel" n'a pas été trouvé), "pos_text" : index de "text" dans le message ("-1" si "text" n'a pas été trouvé)
| irc | irc_message_split | découper un message IRC (pour tenir dans les 512 octets par défaut) | "message" : message IRC, "server" : nom du serveur (optionnel) | "msg1" ... "msgN" : messages à envoyer (sans le "\r\n" final), "args1" ... "argsN" : paramètres des messages, "count" : nombre de messages | irc | irc_message_split | découper un message IRC (pour tenir dans les 512 octets par défaut) | "message" : message IRC, "server" : nom du serveur (optionnel) | "msg1" ... "msgN" : messages à envoyer (sans le "\r\n" final), "args1" ... "argsN" : paramètres des messages, "count" : nombre de messages
+28 -105
View File
@@ -123,36 +123,6 @@ Exemples :
/auth utilisateur2 ${weechat_config_dir}/ecdsa2.pem /auth utilisateur2 ${weechat_config_dir}/ecdsa2.pem
---- ----
[[command_irc_autojoin]]
* `+autojoin+`: configurer l'option serveur "autojoin"
----
/autojoin add [<canal1> [<canal2>...]]
addraw <canal1>[,<canal2>...] [<clé1>[,<clé2>...]]
del [<canal1> [<canal2>...]]
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]] [[command_irc_ban]]
* `+ban+`: bannir des pseudos ou hôtes * `+ban+`: bannir des pseudos ou hôtes
@@ -1332,8 +1302,8 @@ Exemples :
---- ----
/debug list /debug list
set <extension> <niveau> set <extension> <niveau>
dump|hooks [<extension>] dump [<extension>]
buffer|certs|color|dirs|infolists|libs|memory|tags|term|windows buffer|color|infolists|libs|certs|memory|tags|term|windows
cursor|mouse [verbose] cursor|mouse [verbose]
hdata [free] hdata [free]
time <commande> time <commande>
@@ -1343,15 +1313,15 @@ Exemples :
extension : nom de l'extension ("core" pour le cœur de WeeChat) extension : nom de l'extension ("core" pour le cœur de WeeChat)
niveau : niveau de debug pour l'extension 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) 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 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 color : afficher des infos sur les paires de couleur courantes
cursor : activer/désactiver le debug pour le mode curseur cursor : activer/désactiver le debug pour le mode curseur
dirs : afficher les répertoires dirs : afficher les répertoires
hdata : afficher des infos sur les hdata (avec free : supprimer tous les hdata en mémoire) 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 infolists : afficher des infos sur les infolists
libs : afficher des infos sur les bibliothèques externes utilisées 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 memory : afficher des infos sur l'utilisation de la mémoire
mouse : activer/désactiver le debug pour la souris mouse : activer/désactiver le debug pour la souris
tags : afficher les étiquettes pour les lignes 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") 3. une sous-chaîne évaluée (format : "eval:xxx")
4. une condition évaluée (format : "eval_cond: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") 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") 6. une chaîne avec des caractères à cacher (format : "hide:caractère,chaîne")
7. une chaîne convertie en majuscules (format : "upper:xxx") 7. une chaîne avec un maximum de caractères (format : "cut:max,suffixe,chaîne" ou "cut:+max,suffixe,chaîne")
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")
ou un maximum de caractères affichés à l'écran (format : "cutscr:max,suffixe,chaîne" ou "cutscr:+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") 8. une chaîne inversée (format : "rev:xxx" ou "revscr:xxx")
11. une chaîne répétée (format : "repeat:nombre,chaîne") 9. une chaîne répétée (format : "repeat:nombre,chaîne")
12. longueur d'une chaîne (format : "length:xxx" ou "lengthscr:xxx") 10. 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") 11. 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") 12. 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") 13. une couleur (format : "color:xxx", voir la "Référence API extension", fonction "color")
16. un modificateur (format : "modifier:nom,données,chaîne") 14. un modificateur (format : "modifier:nom,données,chaîne")
17. une info (format : "info:nom,paramètres", les paramètres sont optionnels) 15. 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") 16. 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") 17. la date/heure courante (format : "date" ou "date:format")
20. une variable d'environnement (format : "env:XXX") 18. une variable d'environnement (format : "env:XXX")
21. un opérateur ternaire (format : "if:condition?valeur_si_vrai:valeur_si_faux") 19. 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") 20. 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") 21. un nombre entier aléatoire (format : "random:min,max")
24. une chaîne traduite (format : "translate:xxx") 22. une chaîne traduite (format : "translate:xxx")
25. déclaration d'une variable utilisateur (format : "define:nom,valeur") 23. déclaration d'une variable utilisateur (format : "define:nom,valeur")
26. une option (format : "fichier.section.option") 24. une option (format : "fichier.section.option")
27. une variable locale du tampon 25. 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. 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 : 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.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 : 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.full_name} ==> core.weechat
/eval -n ${window.buffer.number} ==> 1 /eval -n ${window.buffer.number} ==> 1
/eval -n ${\t} ==> <tab> /eval -n ${\t} ==> <tab>
/eval -n ${lower:TEST} ==> test
/eval -n ${upper:test} ==> TEST
/eval -n ${hide:-,${relay.network.password}} ==> -------- /eval -n ${hide:-,${relay.network.password}} ==> --------
/eval -n ${cut:3,+,test} ==> tes+ /eval -n ${cut:3,+,test} ==> tes+
/eval -n ${cut:+3,+,test} ==> te+ /eval -n ${cut:+3,+,test} ==> te+
@@ -1502,7 +1468,7 @@ Exemples (conditions) :
add|addreplace <nom> <tampon>[,<tampon>...] <étiquettes> <regex> add|addreplace <nom> <tampon>[,<tampon>...] <étiquettes> <regex>
rename <nom> <nouveau_nom> rename <nom> <nouveau_nom>
recreate <nom> recreate <nom>
del <nom>|-all [<nom>...] del <nom>|-all
list : lister tous les filtres list : lister tous les filtres
enable : activer les filtres (par défaut les filtres sont activés) 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. 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]] [[command_weechat_key]]
* `+key+`: associer/libérer des touches * `+key+`: associer/libérer des touches
@@ -1714,7 +1637,7 @@ listdefault : afficher les touches par défaut
contexte : nom du contexte ("default" ou "search") contexte : nom du contexte ("default" ou "search")
bind : associer une commande à une touche ou affiche la commande associée à la touche bind : associer une commande à une touche ou affiche la commande associée à la touche
bindctxt : associer une commande à une touche ou affiche la commande associée à la touche pour le contexte donné bindctxt : associer une commande à une touche ou affiche la commande associée à la touche pour le contexte donné
commande : commande (plusieurs commandes peuvent être séparées par des points-virgules) commande : commande (plusieurs commandes peuvent êtres séparées par des points-virgules)
unbind : supprimer l'association à une touche unbind : supprimer l'association à une touche
unbindctxt : supprimer l'association à une touche pour le contexte donné unbindctxt : supprimer l'association à une touche pour le contexte donné
reset : réinitialiser une touche à son association par défaut reset : réinitialiser une touche à son association par défaut
@@ -2894,7 +2817,7 @@ protocole.nom : protocole et nom à relayer :
- protocole "weechat" (le nom n'est pas utilisé) - 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 "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. 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 ** valeurs: toute chaîne
** valeur par défaut: `+"*"+` ** valeur par défaut: `+"*"+`
* [[option_weechat.plugin.debug]] *weechat.plugin.debug*
** description: pass:none[active les messages de debug par défaut pour toutes les extensions (option désactivée par défaut, ce qui est hautement recommandé)]
** type: booléen
** valeurs: on, off
** valeur par défaut: `+off+`
* [[option_weechat.plugin.extension]] *weechat.plugin.extension* * [[option_weechat.plugin.extension]] *weechat.plugin.extension*
** description: pass:none[liste d'extensions de noms de fichiers pour les extensions (séparées par des virgules)] ** description: pass:none[liste d'extensions de noms de fichiers pour les extensions (séparées par des virgules)]
** type: chaîne ** type: chaîne
@@ -2690,12 +2696,6 @@
** valeurs: toute chaîne ** valeurs: toute chaîne
** valeur par défaut: `+""+` ** valeur par défaut: `+""+`
* [[option_irc.server_default.autojoin_dynamic]] *irc.server_default.autojoin_dynamic*
** description: pass:none[définir automatiquement l'option "autojoin" selon les canaux que vous rejoignez ou quittez manuellement avec les commandes /join et /part]
** type: booléen
** valeurs: on, off
** valeur par défaut: `+off+`
* [[option_irc.server_default.autoreconnect]] *irc.server_default.autoreconnect* * [[option_irc.server_default.autoreconnect]] *irc.server_default.autoreconnect*
** description: pass:none[reconnexion automatique au serveur après une déconnexion] ** description: pass:none[reconnexion automatique au serveur après une déconnexion]
** type: booléen ** type: booléen
@@ -3064,11 +3064,11 @@
** valeurs: -1 .. 43200 ** valeurs: -1 .. 43200
** valeur par défaut: `+0+` ** valeur par défaut: `+0+`
* [[option_relay.network.compression]] *relay.network.compression* * [[option_relay.network.compression_level]] *relay.network.compression_level*
** description: pass:none[compression des messages envoyés aux clients avec le protocole "weechat" : 0 = désactiver la compression, 1 = faible compression / rapide ... 100 = meilleure compression / lent ; la valeur est un pourcentage converti de 1 à 9 pour zlib et de 1 à 19 pour zstd ; la valeur par défaut est recommandée, elle offre un bon compromis compression/vitesse] ** description: pass:none[niveau de compression pour les paquets envoyés au client avec le protocole WeeChat (0 = désactiver la compression, 1 = peu de compression ... 9 = meilleure compression)]
** type: entier ** type: entier
** valeurs: 0 .. 100 ** valeurs: 0 .. 9
** valeur par défaut: `+20+` ** valeur par défaut: `+6+`
* [[option_relay.network.ipv6]] *relay.network.ipv6* * [[option_relay.network.ipv6]] *relay.network.ipv6*
** description: pass:none[écouter en IPv6 sur le socket par défaut (en plus de l'IPv4 qui est par défaut) ; les protocoles IPv4 et IPv6 peuvent être forcés (individuellement ou ensemble) dans le nom du protocole (voir /help relay)] ** description: pass:none[écouter en IPv6 sur le socket par défaut (en plus de l'IPv4 qui est par défaut) ; les protocoles IPv4 et IPv6 peuvent être forcés (individuellement ou ensemble) dans le nom du protocole (voir /help relay)]
+2 -2
View File
@@ -1,7 +1,7 @@
// tag::plugin_options[] // tag::plugin_options[]
Pour une documentation complète sur les options des extensions, merci de Pour une documentation complète sur les options des extensions, merci de
consulter la documentation des extensions dans le 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 Avec l'extension irc, vous pouvez vous connecter à un serveur de manière
temporaire avec une URL, comme ceci : 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 WeeChat est écrit par Sébastien Helleu et des contributeurs (la liste complète
est dans le fichier AUTHORS.adoc). est dans le fichier AUTHORS.adoc).
Copyright (C) 2003-2022 {author} Copyright (C) 2003-2021 {author}
WeeChat est un logiciel libre ; vous pouvez le redistribuer et/ou le modifier WeeChat est un logiciel libre ; vous pouvez le redistribuer et/ou le modifier
sous les termes de la GNU General Public License telle que publiée par la sous les termes de la GNU General Public License telle que publiée par la
+1 -1
View File
@@ -62,4 +62,4 @@ include::includes/man.fr.adoc[tag=copyright]
== SUPPORT / SIGNALER DES BUGS == 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 == 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 Ce manuel documente le client de messagerie instantanée WeeChat, il fait
partie de WeeChat. partie de WeeChat.
La dernière version de ce document peut être téléchargée sur La dernière version de ce document peut être téléchargée sur cette page :
https://weechat.org/doc/[cette page ^↗^,window=_blank]. https://weechat.org/doc
[[introduction]] [[introduction]]
@@ -33,8 +33,8 @@ Ce manuel documente l'intérieur de WeeChat :
[[repositories]] [[repositories]]
== Dépôts == Dépôts
Les dépôts de WeeChat sont dans l'organisation Les dépôts de WeeChat sont dans l'organisation "weechat" de GitHub :
https://github.com/weechat[weechat ^↗^,window=_blank] de GitHub. https://github.com/weechat
Liste des dépôts : Liste des dépôts :
@@ -45,7 +45,7 @@ scripts::
les scripts _officiels_ soumis sur weechat.org les scripts _officiels_ soumis sur weechat.org
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:: weercd::
serveur de test IRC 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-ignore.c | Ignore IRC.
|       irc-info.c | Info/infolists/hdata pour IRC. |       irc-info.c | Info/infolists/hdata pour IRC.
|       irc-input.c | Entrée de commandes/texte. |       irc-input.c | Entrée de commandes/texte.
|       irc-join.c | Fonctions pour les listes de canaux à rejoindre.
|       irc-message.c | Fonctions pour manipuler les messages IRC. |       irc-message.c | Fonctions pour manipuler les messages IRC.
|       irc-mode.c | Fonctions pour les modes de canal/pseudo. |       irc-mode.c | Fonctions pour les modes de canal/pseudo.
|       irc-modelist.c | Listes de modes de canaux IRC (+b, +e, +I, ...). |       irc-modelist.c | Listes de modes de canaux IRC (+b, +e, +I, ...).
@@ -299,7 +298,6 @@ Le cœur de WeeChat est situé dans les répertoires suivants :
|       irc-sasl.c | Authentification SASL avec le serveur IRC. |       irc-sasl.c | Authentification SASL avec le serveur IRC.
|       irc-server.c | Communication avec le serveur IRC. |       irc-server.c | Communication avec le serveur IRC.
|       irc-tag.c | Fonctions pour manipuler les étiquettes de message IRC. |       irc-tag.c | Fonctions pour manipuler les étiquettes de message IRC.
|       irc-typing.c | Statut d'écriture.
|       irc-upgrade.c | Sauvegarde/restauration des données IRC lors de la mise à jour de WeeChat. |       irc-upgrade.c | Sauvegarde/restauration des données IRC lors de la mise à jour de WeeChat.
|    javascript/ | Extension JavaScript. |    javascript/ | Extension JavaScript.
|       weechat-js.cpp | Fonctions principales pour JavaScript (chargement/déchargement des scripts, exécution de code JavaScript). |       weechat-js.cpp | Fonctions principales pour JavaScript (chargement/déchargement des scripts, exécution de code JavaScript).
@@ -393,68 +391,58 @@ Le cœur de WeeChat est situé dans les répertoires suivants :
[width="100%",cols="2m,3",options="header"] [width="100%",cols="2m,3",options="header"]
|=== |===
| Chemin/fichier | Description | Chemin/fichier | Description
| tests/ | Racine des tests. | tests/ | Racine des tests.
|    tests.cpp | Programme utilisé pour lancer tous les tests. |    tests.cpp | Programme utilisé pour lancer tous les tests.
|    scripts/ | Racine des tests de l'API script. |    scripts/ | Racine des tests de l'API script.
|       test-scripts.cpp | Programme utilisé pour lancer les tests de l'API script. |       test-scripts.cpp | Programme utilisé pour lancer les tests de l'API script.
|       python/ | Scripts Python pour générer et lancer les tests de l'API script. |       python/ | Scripts Python pour générer et lancer les tests de l'API script.
|          testapigen.py | Script Python générant des scripts dans tous les languages pour tester l'API script. |          testapigen.py | Script Python générant des scripts dans tous les languages pour tester l'API script.
|          testapi.py | Script Python avec les tests API, utilisé par le script testapigen.py. |          testapi.py | Script Python avec les tests API, utilisé par le script testapigen.py.
|          unparse.py | Conversion de code Python vers d'autres langages, utilisé par le script testapigen.py. |          unparse.py | Conversion de code Python vers d'autres langages, utilisé par le script testapigen.py.
|    unit/ | Racine des tests unitaires. |    unit/ | Racine des tests unitaires.
|       test-plugins.cpp | Tests : extensions. |       test-plugins.cpp | Tests : extensions.
|       core/ | Racine des tests unitaires pour le cœur. |       core/ | Racine des tests unitaires pour le cœur.
|          test-core-arraylist.cpp | Tests : listes avec tableau (« arraylists »). |          test-core-arraylist.cpp | Tests : listes avec tableau (« arraylists »).
|          test-core-calc.cpp | Tests : calcul d'expressions. |          test-core-calc.cpp | Tests : calcul d'expressions.
|          test-core-config-file.cpp | Tests : fichiers de configuration. |          test-core-config-file.cpp | Tests : fichiers de configuration.
|          test-core-crypto.cpp | Tests : fonctions cryptographiques. |          test-core-crypto.cpp | Tests : fonctions cryptographiques.
|          test-core-dir.cpp | Tests : répertoires/fichiers. |          test-core-dir.cpp | Tests : répertoires/fichiers.
|          test-core-eval.cpp | Tests : évaluation d'expressions. |          test-core-eval.cpp | Tests : évaluation d'expressions.
|          test-core-hashtble.cpp | Tests : tables de hachage. |          test-core-hashtble.cpp | Tests : tables de hachage.
|          test-core-hdata.cpp | Tests : hdata. |          test-core-hdata.cpp | Tests : hdata.
|          test-core-hook.cpp | Tests : hooks. |          test-core-hook.cpp | Tests : hooks.
|          test-core-infolist.cpp | Tests : infolists. |          test-core-infolist.cpp | Tests : infolists.
|          test-core-list.cpp | Tests : listes. |          test-core-list.cpp | Tests : listes.
|          test-core-network.cpp | Tests : fonctions réseau. |          test-core-network.cpp | Tests : fonctions réseau.
|          test-core-secure.cpp | Tests : données sécurisées. |          test-core-secure.cpp | Tests : données sécurisées.
|          test-core-signal.cpp | Tests : signaux. |          test-core-signal.cpp | Tests : signaux.
|          test-core-string.cpp | Tests : chaînes. |          test-core-string.cpp | Tests : chaînes.
|          test-core-url.cpp | Tests : URLs. |          test-core-url.cpp | Tests : URLs.
|          test-core-utf8.cpp | Tests : UTF-8. |          test-core-utf8.cpp | Tests : UTF-8.
|          test-core-util.cpp | Tests : fonctions utiles. |          test-core-util.cpp | Tests : fonctions utiles.
|       gui/ | Racine des tests unitaires pour les interfaces. |       gui/ | Racine des tests unitaires pour les interfaces.
|          test-gui-bar-window.cpp | Tests : fonctions de fenêtres de barre. |          test-gui-color.cpp | Tests : couleurs.
|          test-gui-buffer.cpp | Tests : fonctions de tampons. |          test-gui-line.cpp | Tests : lignes.
|          test-gui-chat.cpp | Tests : fonctions de discussion. |          test-gui-nick.cpp | Tests : pseudos.
|          test-gui-color.cpp | Tests : couleurs. |       plugins/ | Racine des tests unitaires pour les extensions.
|          test-gui-line.cpp | Tests : lignes. |          irc/ | Racine des tests unitaires pour l'extension IRC.
|          test-gui-nick.cpp | Tests : pseudos. |             test-irc-channel.cpp | Tests : canaux IRC.
|       plugins/ | Racine des tests unitaires pour les extensions. |             test-irc-color.cpp | Tests : couleurs IRC.
|          irc/ | Racine des tests unitaires pour l'extension IRC. |             test-irc-config.cpp | Tests : configuration IRC.
|             test-irc-buffer.cpp | Tests : tampons IRC. |             test-irc-ignore.cpp | Tests : ignores IRC.
|             test-irc-channel.cpp | Tests : canaux IRC. |             test-irc-message.cpp | Tests : messages IRC.
|             test-irc-color.cpp | Tests : couleurs IRC. |             test-irc-mode.cpp | Tests : modes IRC.
|             test-irc-config.cpp | Tests : configuration IRC. |             test-irc-nick.cpp | Tests : pseudos IRC.
|             test-irc-ignore.cpp | Tests : ignores IRC. |             test-irc-protocol.cpp | Tests : protocole IRC.
|             test-irc-join.cpp | Tests : fonctions de join IRC. |             test-irc-server.cpp | Tests : serveur IRC.
|             test-irc-message.cpp | Tests : messages IRC. |          trigger/ | Racine des tests unitaires pour l'extension trigger.
|             test-irc-mode.cpp | Tests : modes IRC. |             test-trigger.cpp | Tests : triggers.
|             test-irc-nick.cpp | Tests : pseudos IRC. |          typing/ | Racine des tests unitaires pour l'extension typing.
|             test-irc-protocol.cpp | Tests : protocole IRC. |             test-typing.cpp | Tests : typing.
|             test-irc-sasl.cpp | Tests : authentification SASL avec le protocole IRC. |             test-typing-status.cpp | Tests : statut d'écriture.
|             test-irc-server.cpp | Tests : serveur IRC. |          relay/ | Racine des tests unitaires pour l'extension Relay.
|             test-irc-tag.cpp | Tests : étiquettes des messages IRC. |             test-relay-auth.cpp | Tests : authentification des clients.
|          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.
|=== |===
[[documentation_translations]] [[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). |    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, ...). |    XX/ | Documentation pour la langue XX (langues : en, fr, de, it, ...).
|       weechat.1.XX.adoc | Page de manuel (`man weechat`). |       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_dev.XX.adoc | link:weechat_dev.fr.html[Guide du développeur] (ce document).
|       weechat_faq.XX.adoc | link:weechat_faq.fr.html[FAQ ^↗^,window=_blank] (questions fréquemment posées). |       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 ^↗^,window=_blank]. |       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 ^↗^,window=_blank]. |       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 ^↗^,window=_blank] (pour les interfaces distantes). |       weechat_relay_protocol.XX.adoc | link:weechat_relay_protocol.fr.html[Protocole Relay (pour les interfaces distantes)].
|       weechat_scripting.XX.adoc | link:weechat_scripting.fr.html[Guide pour scripts ^↗^,window=_blank]. |       weechat_scripting.XX.adoc | link:weechat_scripting.fr.html[Guide pour scripts].
|       weechat_user.XX.adoc | link:weechat_user.fr.html[Guide utilisateur ^↗^,window=_blank]. |       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. |       includes/ | Fichiers inclus dans la documentation.
|          autogen_api_completions.XX.adoc | Fichier auto-généré pour la Référence API extension : complétions (ne *JAMAIS* mettre à jour manuellement !). |          autogen_api_completions.XX.adoc | Fichier auto-généré pour la Référence API extension : complétions (ne *JAMAIS* mettre à jour manuellement !).
|          autogen_api_hdata.XX.adoc | Fichier auto-généré pour la Référence API extension : hdata (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 : Exemple en C :
[source,c] [source,C]
---- ----
/* /*
* weechat.c - core functions for WeeChat * weechat.c - core functions for WeeChat
* *
* Copyright (C) 2022 Your Name <your@email.com> * Copyright (C) 2021 Your Name <your@email.com>
* *
* This file is part of WeeChat, the extensible chat client. * This file is part of WeeChat, the extensible chat client.
* *
@@ -562,7 +551,7 @@ Quelques règles basiques que vous *devez* suivre quand vous écrivez du code C
Exemple : Exemple :
[source,c] [source,C]
---- ----
/* /*
* Checks if a string with boolean value is valid. * Checks if a string with boolean value is valid.
@@ -595,7 +584,7 @@ foo ()
* Initialisez les variables locales après la déclaration, dans le corps de la * Initialisez les variables locales après la déclaration, dans le corps de la
fonction, exemple : fonction, exemple :
[source,c] [source,C]
---- ----
void void
foo () foo ()
@@ -615,7 +604,7 @@ foo ()
nombre d'espaces utilisés sur la ligne au dessus de l'accolade ouvrante (le nombre d'espaces utilisés sur la ligne au dessus de l'accolade ouvrante (le
`if` dans l'exemple) : `if` dans l'exemple) :
[source,c] [source,C]
---- ----
if (nicks_count == 1) if (nicks_count == 1)
{ {
@@ -626,7 +615,7 @@ if (nicks_count == 1)
* Utilisez des lignes vides pour séparer différents blocs dans les fonctions, et * Utilisez des lignes vides pour séparer différents blocs dans les fonctions, et
si possible ajoutez un commentaire pour chacun, comme ceci : si possible ajoutez un commentaire pour chacun, comme ceci :
[source,c] [source,C]
---- ----
/* /*
* Sends a message from out queue. * Sends a message from out queue.
@@ -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 conditions avec un opérateur (pas nécessaire pour un booléen simple), comme
ceci : ceci :
[source,c] [source,C]
---- ----
if (something) if (something)
{ {
@@ -694,7 +683,7 @@ else
* Indentez les `switch` comme ceci : * Indentez les `switch` comme ceci :
[source,c] [source,C]
---- ----
switch (string[0]) switch (string[0])
{ {
@@ -713,7 +702,7 @@ switch (string[0])
* Utilisez `typedef` pur les prototypes de fonctions mais pas pour les * Utilisez `typedef` pur les prototypes de fonctions mais pas pour les
structures : structures :
[source,c] [source,C]
---- ----
typedef int (t_hook_callback_fd)(void *data, int fd); typedef int (t_hook_callback_fd)(void *data, int fd);
@@ -750,7 +739,7 @@ new_hook_fd = malloc (sizeof (*new_hook_fd));
[[coding_python_style]] [[coding_python_style]]
=== Style Python === 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]] [[core_internals]]
== Intérieur du cœur == 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_) : Exemple : un pseudo IRC (de _src/plugins/irc/irc-nick.h_) :
[source,c] [source,C]
---- ----
struct t_irc_nick 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_) : Exemple : fenêtres (de _src/gui/gui-window.c_) :
[source,c] [source,C]
---- ----
struct t_gui_window *gui_windows = NULL; /* first window */ struct t_gui_window *gui_windows = NULL; /* first window */
struct t_gui_window *last_gui_window = NULL; /* last window */ struct t_gui_window *last_gui_window = NULL; /* last window */
@@ -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_) : Exemple : création d'une nouvelle fenêtre (de _src/gui/gui-window.c_) :
[source,c] [source,C]
---- ----
/* /*
* Creates a new window. * Creates a new window.
@@ -883,7 +872,7 @@ pointeur vers le nœud précédent/suivant.
Exemple : liste des tampons (de _src/gui/gui-buffer.h_) : Exemple : liste des tampons (de _src/gui/gui-buffer.h_) :
[source,c] [source,C]
---- ----
struct t_gui_buffer struct t_gui_buffer
{ {
@@ -898,7 +887,7 @@ struct t_gui_buffer
Et les deux pointeurs vers la tête et la fin de liste : Et les deux pointeurs vers la tête et la fin de liste :
[source,c] [source,C]
---- ----
struct t_gui_buffer *gui_buffers = NULL; /* first buffer */ struct t_gui_buffer *gui_buffers = NULL; /* first buffer */
struct t_gui_buffer *last_gui_buffer = NULL; /* last buffer */ struct t_gui_buffer *last_gui_buffer = NULL; /* last buffer */
@@ -914,10 +903,18 @@ Tous les attributs/couleurs sont préfixés par un caractère dans la chaîne, q
peuvent être : peuvent être :
* _0x19_ : code couleur (suivi par un/des code(s) couleur) * _0x19_ : code couleur (suivi par un/des code(s) couleur)
* _0x1A_ : activer un attribut (suivi par un attribut brut sur un caractère) * _0x1A_ : activer un attribut (suivi par un attribut sur un caractère)
* _0x1B_ : supprimer un attribut (suivi par un attribut brut sur un caractère) * _0x1B_ : supprimer un attribut (suivi par un attribut sur un caractère)
* _0x1C_ : réinitialiser (rien après) * _0x1C_ : réinitialiser (rien après)
Les attributs autorisés sont (un ou plusieurs caractères) :
* `+*+` : gras
* `+!+` : vidéo inverse
* `+/+` : italique
* `+_+` : souligné
* `+|+` : garder les attributs
Les couleurs possibles sont : Les couleurs possibles sont :
* couleur standard : attributs facultatifs + nombre sur 2 digits * couleur standard : attributs facultatifs + nombre sur 2 digits
@@ -926,57 +923,47 @@ Les couleurs possibles sont :
Dans le tableau qui suit, les conventions suivantes sont utilisées : Dans le tableau qui suit, les conventions suivantes sont utilisées :
* `STD` : couleur standard (2 digits) * `STD` : couleur standard (2 digits)
* `(ATTR)STD` : couleur standard avec des attributs facultatifs * `(A)STD` : couleur standard avec des attributs facultatifs
(attributs + 2 digits) (attributs + 2 digits)
* `EXT` : couleur étendue (`+@+` + 5 digits) * `EXT` : couleur étendue (`+@+` + 5 digits)
* `(ATTR)EXT` : couleur étendue avec des attributs facultatifs * `(A)EXT` : couleur étendue avec des attributs facultatifs
(`+@+` + attributs + 5 digits) (`+@+` + attributs + 5 digits)
* `(ATTR)` : un ou plusieurs caractères d'attribut : * `ATTR` : un caractère d'attribut (`+*+`, `+!+`, `+/+`, `+_+` ou `+|+`)
** `+*+` : gras
** `+!+` : vidéo inverse
** `+/+` : italique
** `+_+` : souligné
** `+|+` : garder les attributs
* `(a)` : un caractère d'attribut brut :
** _0x01_ : gras
** _0x02_ : vidéo inverse
** _0x03_ : italique
** _0x04_ : souligné
Toutes les combinaisons sont résumées dans ce tableau : Toutes les combinaisons sont résumées dans ce tableau :
[width="100%",cols="4,3,2,8",options="header"] [width="100%",cols="4,2,2,8",options="header"]
|=== |===
| Code | Exemple | Aires | Description | Code | Exemple | Aires | Description
| [hex]#19# + `STD` | [hex]#19# `+01+` | chat + barres | Définir les attributs et la couleur en utilisant une option, voir le tableau ci-dessous. | [hex]#19# + STD | [hex]#19# `+01+` | chat + barres | Définir les attributs et la couleur en utilisant une option, voir le tableau ci-dessous.
| [hex]#19# + `EXT` | [hex]#19# `+@00001+` | chat | Définir une couleur avec la paire ncurses (utilisé seulement sur le tampon `/color`). | [hex]#19# + EXT | [hex]#19# `+@00001+` | chat | Définir une couleur avec la paire ncurses (utilisé seulement sur le tampon `/color`).
| [hex]#19# + `F` + `(ATTR)STD` | [hex]#19# `+F*05+` | chat + barres | Définir la couleur de texte (couleur WeeChat). | [hex]#19# + "F" + (A)STD | [hex]#19# `+F*05+` | chat + barres | Définir la couleur de texte (couleur WeeChat).
| [hex]#19# + `F` + `(ATTR)EXT` | [hex]#19# `+F@00214+` | chat + barres | Définir la couleur de texte (couleur étendue). | [hex]#19# + "F" + (A)EXT | [hex]#19# `+F@00214+` | chat + barres | Définir la couleur de texte (couleur étendue).
| [hex]#19# + `B` + `STD` | [hex]#19# `+B05+` | chat + barres | Définir la couleur de fond (couleur WeeChat). | [hex]#19# + "B" + STD | [hex]#19# `+B05+` | chat + barres | Définir la couleur de fond (couleur WeeChat).
| [hex]#19# + `B` + `EXT` | [hex]#19# `+B@00124+` | chat + barres | Définir le couleur de fond (couleur étendue). | [hex]#19# + "B" + EXT | [hex]#19# `+B@00124+` | chat + barres | Définir le couleur de fond (couleur étendue).
| [hex]#19# + `*` + `(ATTR)STD` | [hex]#19# `+*05+` | chat + barres | Définir la couleur de texte (couleur WeeChat). | [hex]#19# + "*" + (A)STD | [hex]#19# `+*05+` | chat + barres | Définir la couleur de texte (couleur WeeChat).
| [hex]#19# + `*` + `(ATTR)EXT` | [hex]#19# `+*@00214+` | chat + barres | Définir la couleur de texte (couleur étendue). | [hex]#19# + "*" + (A)EXT | [hex]#19# `+*@00214+` | chat + barres | Définir la couleur de texte (couleur étendue).
| [hex]#19# + `*` + `(ATTR)STD` + `,` + `STD` ^(1)^ | [hex]#19# `+*08,05+` | chat + barres | Définir la couleur de texte/fond (couleurs WeeChat). | [hex]#19# + "*" + (A)STD + "," + STD ^(1)^ | [hex]#19# `+*08,05+` | chat + barres | Définir la couleur de texte/fond (couleurs WeeChat).
| [hex]#19# + `*` + `(ATTR)STD` + `,` + `EXT` ^(1)^ | [hex]#19# `+*01,@00214+` | chat + barres | Définir la couleur de texte (couleur WeeChat) et de fond (couleur étendue). | [hex]#19# + "*" + (A)STD + "," + EXT ^(1)^ | [hex]#19# `+*01,@00214+` | chat + barres | Définir la couleur de texte (couleur WeeChat) et de fond (couleur étendue).
| [hex]#19# + `*` + `(ATTR)EXT` + `,` + `STD` ^(1)^ | [hex]#19# `+*@00214,05+` | chat + barres | Définir la couleur de texte (couleur étendue) et de fond (couleur WeeChat). | [hex]#19# + "*" + (A)EXT + "," + STD ^(1)^ | [hex]#19# `+*@00214,05+` | chat + barres | Définir la couleur de texte (couleur étendue) et de fond (couleur WeeChat).
| [hex]#19# + `*` + `(ATTR)EXT` + `,` + `EXT` ^(1)^ | [hex]#19# `+*@00214,@00017+` | chat + barres | Définir la couleur de texte/fond (couleurs étendues). | [hex]#19# + "*" + (A)EXT + "," + EXT ^(1)^ | [hex]#19# `+*@00214,@00017+` | chat + barres | Définir la couleur de texte/fond (couleurs étendues).
| [hex]#19# + `*` + `(ATTR)STD` + `~` + `STD` | [hex]#19# `+*08~05+` | chat + barres | Définir la couleur de texte/fond (couleurs WeeChat). | [hex]#19# + "*" + (A)STD + "~" + STD | [hex]#19# `+*08~05+` | chat + barres | Définir la couleur de texte/fond (couleurs WeeChat).
| [hex]#19# + `*` + `(ATTR)STD` + `~` + `EXT` | [hex]#19# `+*01~@00214+` | chat + barres | Définir la couleur de texte (couleur WeeChat) et de fond (couleur étendue). | [hex]#19# + "*" + (A)STD + "~" + EXT | [hex]#19# `+*01~@00214+` | chat + barres | Définir la couleur de texte (couleur WeeChat) et de fond (couleur étendue).
| [hex]#19# + `*` + `(ATTR)EXT` + `~` + `STD` | [hex]#19# `+*@00214~05+` | chat + barres | Définir la couleur de texte (couleur étendue) et de fond (couleur WeeChat). | [hex]#19# + "*" + (A)EXT + "~" + STD | [hex]#19# `+*@00214~05+` | chat + barres | Définir la couleur de texte (couleur étendue) et de fond (couleur WeeChat).
| [hex]#19# + `*` + `(ATTR)EXT` + `~` + `EXT` | [hex]#19# `+*@00214~@00017+` | chat + barres | Définir la couleur de texte/fond (couleurs étendues). | [hex]#19# + "*" + (A)EXT + "~" + EXT | [hex]#19# `+*@00214~@00017+` | chat + barres | Définir la couleur de texte/fond (couleurs étendues).
| [hex]#19# + `b` + `F` | [hex]#19# `+bF+` | barres | Définir la couleur de texte de la barre. | [hex]#19# + "b" + "F" | [hex]#19# `+bF+` | barres | Définir la couleur de texte de la barre.
| [hex]#19# + `b` + `D` | [hex]#19# `+bD+` | barres | Définir la couleur du délimiteur de la barre. | [hex]#19# + "b" + "D" | [hex]#19# `+bD+` | barres | Définir la couleur du délimiteur de la barre.
| [hex]#19# + `b` + `B` | [hex]#19# `+bB+` | barres | Définir la couleur de fond de la barre. | [hex]#19# + "b" + "B" | [hex]#19# `+bB+` | barres | Définir la couleur de fond de la barre.
| [hex]#19# + `b` + `_` | [hex]#19# `+b_+` | barre input | Caractère de démarrage dans l'entrée (utilisé seulement dans l'objet "input_text"). | [hex]#19# + "b" + "_" | [hex]#19# `+b_+` | barre input | Caractère de démarrage dans l'entrée (utilisé seulement dans l'objet "input_text").
| [hex]#19# + `b` + `-` | [hex]#19# `+b-+` | barre input | Caractère de démarrage caché dans l'entrée (utilisé seulement dans l'objet "input_text"). | [hex]#19# + "b" + "-" | [hex]#19# `+b-+` | barre input | Caractère de démarrage caché dans l'entrée (utilisé seulement dans l'objet "input_text").
| [hex]#19# + `b` + `#` | [hex]#19# `+b#+` | barre input | Caractère de déplacement du curseur (utilisé seulement dans l'objet "input_text"). | [hex]#19# + "b" + "#" | [hex]#19# `+b#+` | barre input | Caractère de déplacement du curseur (utilisé seulement dans l'objet "input_text").
| [hex]#19# + `b` + `i` | [hex]#19# `+bi+` | barres | Début d'objet. | [hex]#19# + "b" + "i" | [hex]#19# `+bi+` | barres | Début d'objet.
| [hex]#19# + `b` + `l` (lower L) | [hex]#19# `+bl+` | barres | Ligne de démarrage d'objet. | [hex]#19# + "b" + "l" (lower L) | [hex]#19# `+bl+` | barres | Ligne de démarrage d'objet.
| [hex]#19# + `E` | [hex]#19# `+E+` | chat + barres | Texte mis en valeur _(WeeChat ≥ 0.4.2)_. | [hex]#19# + "E" | [hex]#19# `+E+` | chat + barres | Texte mis en valeur _(WeeChat ≥ 0.4.2)_.
| [hex]#19# + [hex]#1C# | [hex]#19# [hex]#1C# | chat + barres | Réinitialiser la couleur (garder les attributs). | [hex]#19# + [hex]#1C# | [hex]#19# [hex]#1C# | chat + barres | Réinitialiser la couleur (garder les attributs).
| [hex]#1A# + `(a)` | [hex]#1A# [hex]#01# | chat + barres | Activer un attribut. | [hex]#1A# + ATTR | [hex]#1A# `+*+` | chat + barres | Activer un attribut.
| [hex]#1B# + `(a)` | [hex]#1B# [hex]#01# | chat + barres | Supprimer un attribut. | [hex]#1B# + ATTR | [hex]#1B# `+*+` | chat + barres | Supprimer un attribut.
| [hex]#1C# | [hex]#1C# | chat + barres | Réinitialiser les attributs et la couleur. | [hex]#1C# | [hex]#1C# | chat + barres | Réinitialiser les attributs et la couleur.
|=== |===
[NOTE] [NOTE]
@@ -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 Par exemple, la fonction _hook_timer_ est définie dans la structure
_t_weechat_plugin_ comme ceci : _t_weechat_plugin_ comme ceci :
[source,c] [source,C]
---- ----
struct t_hook *(*hook_timer) (struct t_weechat_plugin *plugin, struct t_hook *(*hook_timer) (struct t_weechat_plugin *plugin,
long interval, long interval,
@@ -1109,7 +1096,7 @@ struct t_hook *(*hook_timer) (struct t_weechat_plugin *plugin,
Et la macro utilisée pour appeler cette fonction est : Et la macro utilisée pour appeler cette fonction est :
[source,c] [source,C]
---- ----
#define weechat_hook_timer(__interval, __align_second, __max_calls, \ #define weechat_hook_timer(__interval, __align_second, __max_calls, \
__callback, __data) \ __callback, __data) \
@@ -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 : Donc dans une extension, l'appel à cette fonction sera par exemple :
[source,c] [source,C]
---- ----
server->hook_timer_sasl = weechat_hook_timer (timeout * 1000, server->hook_timer_sasl = weechat_hook_timer (timeout * 1000,
0, 1, 0, 1,
@@ -1134,7 +1121,7 @@ server->hook_timer_sasl = weechat_hook_timer (timeout * 1000,
[[git_repository]] [[git_repository]]
=== Dépôt Git === 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 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 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) : du bug GitHub) :
---- ----
composant: fix a problem (closes #123) component: fix a problem (closes #123)
---- ----
Où _composant_ est : Où _component_ est :
[width="100%",cols="1m,4m,5",options="header"] * pour le cœur WeeChat : _core_ (les fichiers dans le répertoire racine, _po/_
|=== et _src/_, sauf _src/plugins/_)
| Composant | Fichiers | Description * fichiers de documentation : _doc_ (fichiers dans le répertoire _doc/_)
* nom d'une extension : _irc_, _python_, _relay_, ... (fichiers dans le
| core répertoire _src/plugins/_)
| AUTHORS.adoc +
ChangeLog.adoc +
Contributing.adoc +
.github/FUNDING.yml +
.github/ISSUE_TEMPLATE/* +
icons/* +
po/* +
README.adoc +
ReleaseNotes.adoc +
src/core/* +
src/gui/* +
version.sh +
weechat.desktop
| cœur de WeeChat
| build
| autogen.sh +
CMakeLists.txt +
cmake/* +
configure.ac +
Makefile.am +
tools/* +
weechat.cygport.in +
weechat.spec
| Construction
| ci
| .github/workflows/*
| Intégration continue
| debian
| debian-devel/* +
debian-stable/*
| Empaquetage Debian
| tests
| tests/*
| Tests
| doc
| doc/*
| Mises à jour générales sur la documentation, par exemple la construction
| doc/man
| doc/xx/weechat.1.xx.adoc +
doc/xx/weechat-headless.1.xx.adoc
| Pages de manuel
| doc/faq
| doc/xx/weechat_faq.xx.adoc
| Questions fréquemment posées (FAQ)
| doc/quickstart
| doc/xx/weechat_quickstart.xx.adoc
| Guide de démarrage rapide
| doc/user
| doc/xx/weechat_user.xx.adoc
| Guide utilisateur
| doc/scripting
| doc/xx/weechat_scripting.xx.adoc
| Guide pour scripts
| doc/api
| doc/xx/weechat_plugin_api.xx.adoc
| Référence extension API
| doc/relay
| doc/xx/weechat_relay_protocol.xx.adoc
| Protocole relay
| doc/dev
| doc/xx/weechat_dev.en.adoc
| Guide du développeur
| irc +
python +
relay +
| src/plugins/<name>/*
| Extension
|===
Quelques règles à suivre : Quelques règles à suivre :
@@ -1286,8 +1189,8 @@ $ make translations && make update-po
Vous pouvez alors éditer les fichiers .po (si vous pouvez traduire dans une Vous pouvez alors éditer les fichiers .po (si vous pouvez traduire dans une
langue). langue).
Une fois terminé, vous *devez* vérifier votre fichier avec Une fois terminé, vous *devez* vérifier votre fichier avec le script
https://github.com/flashcode/msgcheck[msgcheck ^↗^,window=_blank] : _msgcheck.py_ (https://github.com/flashcode/msgcheck) :
---- ----
$ msgcheck.py xx.po $ 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 : Les traductions manquantes dans les fichiers sont indiquées par cette chaîne :
---- ----
// TRANSLATION MISSING // TRANSLATION MISSING
---- ----
Vous devez traduire tout le fichier sauf les liens et les mots-clés spéciaux Vous devez traduire tout le fichier sauf les liens et les mots-clés spéciaux
@@ -1338,7 +1241,7 @@ pour les notes, avertissements, ... Ces mots doivent être gardés tels quels :
[CAUTION] [CAUTION]
---- ----
Lorsqu'il y a un nom après `+<<link_name>>+`, alors vous devez le traduire : Lorsqu'il y a un nom après `<<link_name>>`, alors vous devez le traduire :
---- ----
<<link_name,ce texte doit être traduit>> <<link_name,ce texte doit être traduit>>
+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. Parce que WeeChat est très léger et apporte des fonctionnalités innovantes.
Plus d'infos sur la Plus d'infos sur la page des fonctionnalités WeeChat :
https://weechat.org/about/features/[page des fonctionnalités ^↗^,window=_blank] https://weechat.org/about/features
WeeChat.
[[compilation_install]] [[compilation_install]]
== Compilation / installation == Compilation / installation
@@ -43,16 +41,16 @@ WeeChat.
[[gui]] [[gui]]
=== J'ai entendu parler de plusieurs interfaces pour WeeChat. Comment puis-je les compiler/utiliser ? === J'ai entendu parler de plusieurs interfaces pour WeeChat. Comment puis-je les compiler/utiliser ?
Des interfaces distantes sont disponibles, voir la Des interfaces distantes sont disponibles, voir la page avec les interfaces
https://weechat.org/about/interfaces/[page avec les interfaces distantes ^↗^,window=_blank]. distantes : https://weechat.org/about/interfaces
[[compile_git]] [[compile_git]]
=== Je ne peux pas compiler WeeChat après avoir cloné la base git, pourquoi ? === 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 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 (et non CMake), vérifiez que vous avez bien la dernière version d'autoconf et
automake. automake.
@@ -65,8 +63,8 @@ mises à jour.
[[compile_macos]] [[compile_macos]]
=== Comment puis-je installer WeeChat sous macOS ? === Comment puis-je installer WeeChat sous macOS ?
Il est recommandé d'utiliser https://brew.sh/[Homebrew ^↗^,window=_blank], Il est recommandé d'utiliser https://brew.sh/[Homebrew], vous pouvez avoir de
vous pouvez avoir de l'aide avec : l'aide avec :
---- ----
brew info weechat brew info weechat
@@ -82,12 +80,12 @@ brew install weechat
=== J'ai lancé WeeChat, mais je suis perdu, que puis-je faire ? === 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 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 `/help commande`. Les link:weechat_user.fr.html#key_bindings[touches] et
link:weechat_user.fr.html#commands_and_options[commandes ^↗^,window=_blank] sont listées dans la link:weechat_user.fr.html#commands_and_options[commandes] sont listées dans la
documentation. documentation.
Il est recommandé pour les nouveaux utilisateurs de lire le 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]] [[display]]
== Affichage == 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 ** Si vous utilisez screen, vérifiez qu'il est lancé en mode UTF-8
("`defutf8 on`" dans ~/.screenrc ou `screen -U` pour lancer screen). ("`defutf8 on`" dans ~/.screenrc ou `screen -U` pour lancer screen).
* Vérifiez que l'option * 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). est désactivée (cette option peut causer des problèmes d'affichage).
[NOTE] [NOTE]
@@ -135,10 +133,10 @@ devrait être corrigé dans la glibc 2.22 (peut-être pas encore disponible dans
votre distribution). votre distribution).
Il y a un moyen de contournement pour utiliser la fonction _wcwidth_ corrigée : 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] Voir ce rapport de bug pour plus d'informations :
pour plus d'informations. https://github.com/weechat/weechat/issues/79
[[bars_background]] [[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 ? === 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]] [[buffers_list]]
=== Comment afficher la liste des tampons sur la gauche ? === 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. est chargée et activée par défaut.
Avec une version plus ancienne, vous pouvez installer le script _buffers.pl_ : 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, L'extension buflist met à disposition beaucoup d'options que vous pouvez changer,
merci de lire l'aide sur chaque option. merci de lire l'aide sur chaque option.
Il y a aussi une https://github.com/weechat/weechat/wiki/buflist[page wiki ^↗^,window=_blank] Il y a aussi une page wiki avec des examples avancés de configuration buflist :
avec des exemples avancés de configuration buflist. https://github.com/weechat/weechat/wiki/buflist
[[customize_prefix]] [[customize_prefix]]
=== Comment puis-je réduire la longueur des pseudos ou supprimer l'alignement des pseudos dans la zone de discussion ? === 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 Les autres options pour la "hotlist" peuvent être changées via les options
__weechat.look.hotlist_*__. __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". pour plus d'information sur la "hotlist".
[[input_bar_size]] [[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 options (facultatif : vous pouvez ajouter des alias de couleurs avec la commande
`/color`). `/color`).
Merci de lire le link:weechat_user.fr.html#colors[Guide utilisateur / Couleurs ^↗^,window=_blank] Merci de lire le link:weechat_user.fr.html#colors[Guide utilisateur / Couleurs] pour
pour plus d'information sur la gestion des couleurs. plus d'information sur la gestion des couleurs.
[[search_text]] [[search_text]]
=== Comment puis-je chercher du texte dans le tampon (comme /lastlog dans irssi) ? === 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+`). 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]. 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é. pour plus d'information sur cette fonctionnalité.
[[terminal_focus]] [[terminal_focus]]
@@ -669,7 +667,7 @@ Vous pouvez définir une touche, par exemple :
---- ----
La liste des touches par défaut est dans le 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 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 : et utiliser les commandes comme `/123` pour sauter au tampon n°123 :
@@ -857,36 +855,8 @@ commande et le join des canaux) :
[[edit_autojoin]] [[edit_autojoin]]
=== Comment puis-je ajouter/supprimer des canaux de l'option autojoin ? === Comment puis-je ajouter/supprimer des canaux de l'option autojoin ?
Avec WeeChat ≥ 3.5, vous pouvez automatiquement enregistrer les canaux que Vous pouvez utiliser la commande `/set` pour éditer la liste des canaux de
vous rejoignez et quittez manuellement dans l'option "autojoin" du serveur. l'autojoin, par exemple pour le serveur libera :
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 :
---- ----
/set irc.server.libera.autojoin [TAB] /set irc.server.libera.autojoin [TAB]
@@ -904,7 +874,7 @@ des canaux :
/fset autojoin /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 /script search autojoin
@@ -948,7 +918,7 @@ Avec un filtre global (pour cacher *tous* les join/part/quit) :
[NOTE] [NOTE]
Pour l'aide : `/help filter`, `+/help irc.look.smart_filter+` et voir 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]] [[filter_irc_join_channel_messages]]
=== Comment puis-je filtrer certains messages affichés quand je rejoins un canal IRC ? === 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 ? === 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 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, pour définir le niveau maximum de hotlist pour certains pseudos, par tampon,
ou groupe de tampons (comme des serveurs IRC). 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 $ curl -O https://weechat.org/files/plugins.xml.gz
---- ----
Si vous êtes sous macOS et que le fichier téléchargé a une taille de 0 octet,
essayez de définir cette variable dans votre fichier d'initialisation du shell
ou sur la ligne de commande, avant de démarrer WeeChat :
----
export OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES
----
[[spell_dictionaries]] [[spell_dictionaries]]
=== J'ai installé des dictionnaires aspell sur mon système, comment les utiliser sans redémarrer WeeChat ? === J'ai installé des dictionnaires aspell sur mon système, comment les utiliser sans redémarrer WeeChat ?
@@ -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 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 `/help secure` et `/help` sur les options (si vous pouvez utiliser les données
sécurisées, cela est mentionné dans l'aide). 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 : 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 des mots de passes (s'ils ne sont pas stockés dans _sec.conf_ avec la commande
`/secure`). `/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. pour plus d'informations sur les fichiers de configuration.
[[development]] [[development]]
@@ -1297,7 +1259,7 @@ pour plus d'informations sur les fichiers de configuration.
[[bug_task_patch]] [[bug_task_patch]]
=== Comment puis-je reporter un bug, demander une nouvelle fonctionnalité ou envoyer un 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]] [[gdb_error_threads]]
=== Quand je lance WeeChat sous gdb, il y a une erreur à propos des threads, que puis-je faire ? === 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.) Il y a plusieurs choses à faire (test, code, documentation, etc.)
Merci de prendre contact avec nous par IRC ou mail, consultez la Merci de prendre contact avec nous par IRC ou mail, consultez la page
https://weechat.org/about/support/[page support ^↗^,window=_blank]. support : https://weechat.org/about/support
[[donate]] [[donate]]
=== Puis-je donner de l'argent ou d'autres choses aux développeurs WeeChat ? === 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. 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