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

Compare commits

..

1 Commits

Author SHA1 Message Date
Sébastien Helleu b20b5f1e41 [WIP] javascript: add compatibility with v8 version 6.8
This is work in progress, the javascript plugin does not yet compile.

Compatibility with old v8 lib will be added later, for now I'm focused on
compiling the plugin with v8 version 6.8.
2021-01-30 14:35:39 +01:00
826 changed files with 60632 additions and 181416 deletions
+1 -1
View File
@@ -5,4 +5,4 @@ debian-devel export-ignore
debian-stable export-ignore
weechat.spec export-ignore
.mailmap export-ignore
tools/build_debian.sh export-ignore
tools/build-debian.sh export-ignore
+19 -107
View File
@@ -1,32 +1,24 @@
name: CI
on:
- push
- pull_request
env:
WEECHAT_DEPENDENCIES: devscripts equivs python3-pip autopoint cmake ninja-build lcov pkg-config libncursesw5-dev gem2deb libperl-dev python3-dev libaspell-dev liblua5.3-dev tcl8.6-dev guile-3.0-dev libv8-dev libcurl4-gnutls-dev libgcrypt20-dev libgnutls28-dev libzstd-dev zlib1g-dev curl libcpputest-dev php-dev libphp-embed libargon2-dev libsodium-dev flake8 pylint python3-bandit asciidoctor ruby-pygments.rb shellcheck
on: [push, pull_request]
jobs:
tests_linux:
build:
name: ${{ matrix.config.name }}
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
os:
- ubuntu-22.04
config:
- { name: "cmake_gcc", cc: "gcc", cxx: "g++", tool: "cmake", args: "" }
- { name: "cmake_gcc_ninja", cc: "gcc", cxx: "g++", tool: "cmake", args: "-G Ninja" }
- { name: "cmake_gcc_no_nls", cc: "gcc", cxx: "g++", tool: "cmake", args: "-DENABLE_NLS=OFF" }
- { name: "cmake_gcc_py2", cc: "gcc", cxx: "g++", tool: "cmake", args: "-DENABLE_PYTHON2=ON" }
- { name: "cmake_gcc_coverage", cc: "gcc", cxx: "g++", tool: "cmake", args: "-DENABLE_CODE_COVERAGE=ON" }
- { name: "cmake_clang", cc: "clang", cxx: "clang++", tool: "cmake", args: "" }
- { name: "autotools_gcc", cc: "gcc", cxx: "g++", tool: "autotools", args: "" }
- { name: "autotools_clang", cc: "clang", cxx: "clang++", tool: "autotools", args: "" }
name: "Tests: ${{ matrix.config.name }} on ${{ matrix.os }}"
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v2
@@ -34,20 +26,21 @@ jobs:
- name: Install dependencies
run: |
sudo apt-get update -qq
sudo apt-get --yes --no-install-recommends install ${{ env.WEECHAT_DEPENDENCIES }}
sudo -H pip3 install --ignore-installed msgcheck
sudo apt-get --yes --no-install-recommends 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.4-dev libphp7.4-embed libargon2-0-dev libsodium-dev pylint3 asciidoctor
sudo -H pip install --ignore-installed msgcheck
- name: Test patches
run: ./tools/build-debian.sh test-patches
- name: Check gettext files
run: msgcheck po/*.po
- name: Check shell and Python scripts
run: ./tools/check_scripts.sh
- name: Check Python stub file
run: ./doc/python_stub.py | diff src/plugins/python/weechat.pyi -
- name: Check Curl symbols
run: curl --silent --show-error --fail --retry 10 https://raw.githubusercontent.com/curl/curl/master/docs/libcurl/symbols-in-versions | ./tools/check_curl_symbols.py
- name: Check Python scripts
run: |
pylint3 --additional-builtins=_ doc/docgen.py
pylint3 tests/scripts/python/testapigen.py
pylint3 tests/scripts/python/testapi.py
pylint3 tests/scripts/python/unparse.py
- name: Build and run tests
env:
@@ -55,7 +48,7 @@ jobs:
CXX: ${{ matrix.config.cxx }}
BUILDTOOL: ${{ matrix.config.tool }}
BUILDARGS: ${{ matrix.config.args }}
run: ./tools/build_test.sh
run: ./tools/build-test.sh
- name: Run WeeChat
env:
@@ -66,7 +59,7 @@ jobs:
weechat --colors
weechat --license
weechat --version
weechat --run-command "/debug dirs;/debug libs" --run-command "/quit"
weechat --temp-dir --run-command "/debug dirs;/debug libs" --run-command "/quit"
- name: Code coverage
if: ${{ matrix.config.name == 'cmake_gcc_coverage' }}
@@ -78,84 +71,3 @@ jobs:
lcov --remove coverage.info '/usr/*' --output-file coverage.info
lcov --list coverage.info
bash <(curl -s https://codecov.io/bash) -f coverage.info || echo 'Codecov error'
tests_macos:
strategy:
matrix:
os:
- macos-12
- macos-11
config:
- { name: "cmake_gcc", cc: "gcc", cxx: "g++" }
- { name: "cmake_clang", cc: "clang", cxx: "clang++" }
name: "Tests: ${{ matrix.config.name }} on ${{ matrix.os }}"
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v2
- name: Install dependencies
run: |
brew update
brew install asciidoctor guile lua ruby
- name: Build
env:
CC: ${{ matrix.config.cc }}
CXX: ${{ matrix.config.cxx }}
run: |
mkdir build-tmp && cd build-tmp
cmake .. -DENABLE_MAN=ON -DENABLE_DOC=ON -DENABLE_PHP=OFF
make VERBOSE=1 -j2
sudo make install
- name: Run WeeChat
env:
TERM: xterm-256color
run: |
weechat --help
weechat-curses --help
weechat --colors
weechat --license
weechat --version
weechat --run-command "/debug dirs;/debug libs" --run-command "/quit"
build_debian:
strategy:
matrix:
os:
- ubuntu-22.04
name: "Build Debian on ${{ matrix.os }}"
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v2
- name: Install dependencies
run: |
sudo apt-get update -qq
sudo apt-get --yes --no-install-recommends install ${{ env.WEECHAT_DEPENDENCIES }}
- name: Test Debian patches
run: ./tools/build_debian.sh test-patches
- name: Build Debian packages
run: ./tools/build_debian.sh devel ubuntu/jammy
- 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>
Nils Görs <weechatter@arcor.de>
Ryuunosuke Ayanokouzi <i38w7i3@yahoo.co.jp>
Krzysztof Korościk <soltys@soltys.info>
Krzysztof Korościk <soltys@soltys.info> <soltys1@gmail.com>
Krzysztof Korościk <soltys@soltys.info> <soltys@szluug.org>
Krzysztof Korościk <soltys1@gmail.com> <soltys@szluug.org> <soltys@soltys.info>
Marco Paolone <marcopaolone@gmail.com>
<marcopaolone@gmail.com> <marco@DrB4tch.sitecomwl601>
<mikaela.suomalainen@outlook.com> <mkaysi@outlook.com>
+46
View File
@@ -0,0 +1,46 @@
dist: bionic
sudo: required
language: c
env:
- CC="gcc" CXX="g++" BUILDTOOL="cmake" BUILDARGS=""
- CC="gcc" CXX="g++" BUILDTOOL="cmake" BUILDARGS="-DENABLE_PYTHON2=ON"
# - CC="gcc" CXX="g++" BUILDTOOL="cmake" BUILDARGS="-DENABLE_CODE_COVERAGE=ON" CODECOVERAGE="1"
- CC="gcc" CXX="g++" BUILDTOOL="autotools" BUILDARGS=""
- CC="gcc" CXX="g++" BUILDTOOL="autotools" BUILDARGS="--enable-python2"
- CC="clang" CXX="clang++" BUILDTOOL="cmake" BUILDARGS=""
- CC="clang" CXX="clang++" BUILDTOOL="cmake" BUILDARGS="-DENABLE_PYTHON2=ON"
- CC="clang" CXX="clang++" BUILDTOOL="autotools" BUILDARGS=""
- CC="clang" CXX="clang++" BUILDTOOL="autotools" BUILDARGS="--enable-python2"
matrix:
fast_finish: true
before_script:
- echo 'APT::Install-Recommends "false";' | sudo tee -a /etc/apt/apt.conf
- travis_retry sudo apt-get update -qq
- travis_retry sudo apt-get -y install devscripts equivs python-pip libenchant-dev autopoint cmake lcov pkg-config libncursesw5-dev gem2deb libperl-dev python-dev python3-dev libaspell-dev liblua5.3-dev tcl8.6-dev guile-2.0-dev libv8-dev libcurl4-gnutls-dev libgcrypt20-dev libgnutls28-dev zlib1g-dev curl libcpputest-dev php7.2-dev libphp7.2-embed libargon2-0-dev libsodium-dev pylint3
- travis_retry sudo gem install asciidoctor
- travis_retry sudo -H pip install --ignore-installed msgcheck
- phpenv local system
# work around broken travis environment variables, see https://github.com/travis-ci/travis-ci/issues/5301
- unset PYTHON_CFLAGS
script:
- ./tools/build-test.sh
- msgcheck po/*.po
- pylint3 --version
- pylint3 --additional-builtins=_ doc/docgen.py
- pylint3 tests/scripts/python/testapigen.py
- pylint3 tests/scripts/python/testapi.py
- pylint3 tests/scripts/python/unparse.py
- ./tools/build-debian.sh test-patches
after_success:
- weechat --help
- weechat-curses --help
- weechat --colors
- weechat --license
- weechat --version
- weechat --temp-dir --run-command "/debug dirs;/debug libs" --run-command "/quit"
# - if [ "$CODECOVERAGE" = "1" ]; then bash <(curl -s https://codecov.io/bash) -f coverage.info || echo "Codecov error"; fi
+3 -9
View File
@@ -43,9 +43,7 @@ Alphabetically:
* Elizabeth Myers (Elizacat)
* Elián Hanisch (m4v)
* Emanuele Giaquinta
* Emir Sarı
* emk
* Érico Nogueira
* Esteban I. Ruiz Moreno (Exio)
* Evgeny Shmarnev
* Felix Eckhofer
@@ -56,7 +54,6 @@ Alphabetically:
* Guido Berhoerster
* Gwenn
* Hasan Kiran (turgay)
* Ivan Pešić
* Ivan Sichmann Freitas
* Jakub Jirutka
* Jan Palus
@@ -77,9 +74,8 @@ Alphabetically:
* Krzysztof Koroscik (soltys)
* Kyle Fuller (kylef)
* Kyle Sabo
* Latchezar Tzvetkoff
* Lázaro A.
* Leonid Evdokimov
* Lázaro A.
* Linus Heckemann
* Maarten de Vries
* Mantas Mikulėnas (grawity)
@@ -123,7 +119,6 @@ Alphabetically:
* Rudolf Polzer (divVerent)
* Ruslan Bekenev
* Ryan Farley
* Ryan Qian
* Ryuunosuke Ayanokouzi
* scumjr
* Sergio Durigan Junior
@@ -133,7 +128,6 @@ Alphabetically:
* Simmo Saan (sim642)
* Simon Arlott
* Simon Kuhnle
* Simon Ser
* Stefano Pigozzi
* Stfn
* Sven Knurr (Cthulhux)
@@ -147,7 +141,6 @@ Alphabetically:
* Trevor Bergeron
* Valentin Lorentz (progval)
* Vasco Almeida
* Victorhck
* Voroskoi
* Wojciech Kwolek
* W. Trevor King
@@ -157,4 +150,5 @@ Alphabetically:
== Contact
See the https://weechat.org/about/support/[support page].
See https://weechat.org/files/doc/devel/weechat_user.en.html#support[user's guide]
or https://weechat.org/about/support
+21 -18
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2023 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2021 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2007-2008 Julien Louis <ptitlouis@sysif.net>
# Copyright (C) 2008-2009 Emmanuel Bouthenot <kolter@openics.org>
#
@@ -27,8 +27,8 @@ project(weechat C)
set(CMAKE_VERBOSE_MAKEFILE OFF)
set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake ${CMAKE_MODULE_PATH})
set(CMAKE_SKIP_RPATH ON)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsigned-char -fms-extensions -Wall -Wextra -Werror-implicit-function-declaration")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsigned-char -fms-extensions -Wall -Wextra")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsigned-char -Wall -Wextra -Werror-implicit-function-declaration")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsigned-char -Wall -Wextra")
# version
execute_process(COMMAND ${CMAKE_SOURCE_DIR}/version.sh devel-major OUTPUT_VARIABLE VERSION_MAJOR)
@@ -105,6 +105,7 @@ option(ENABLE_SCRIPT "Enable Script plugin (script manager)" ON)
option(ENABLE_SCRIPTS "Enable script plugins (perl, python, ...)" ON)
option(ENABLE_PERL "Enable Perl scripting language" ON)
option(ENABLE_PYTHON "Enable Python scripting language" ON)
option(ENABLE_PYTHON2 "Use Python 2 instead of Python 3" OFF)
option(ENABLE_RUBY "Enable Ruby scripting language" ON)
option(ENABLE_LUA "Enable Lua scripting language" ON)
option(ENABLE_TCL "Enable Tcl scripting language" ON)
@@ -114,7 +115,6 @@ option(ENABLE_PHP "Enable PHP scripting language" ON)
option(ENABLE_SPELL "Enable Spell checker plugin" ON)
option(ENABLE_ENCHANT "Enable Enchant lib for Spell checker plugin" OFF)
option(ENABLE_TRIGGER "Enable Trigger plugin" ON)
option(ENABLE_TYPING "Enable Typing plugin" ON)
option(ENABLE_XFER "Enable Xfer plugin" ON)
option(ENABLE_MAN "Enable build of man page" OFF)
option(ENABLE_DOC "Enable build of documentation" OFF)
@@ -134,11 +134,23 @@ if(ENABLE_TESTS AND NOT ENABLE_HEADLESS)
endif()
# option WEECHAT_HOME
if(NOT DEFINED WEECHAT_HOME OR "${WEECHAT_HOME}" STREQUAL "")
set(WEECHAT_HOME "~/.weechat")
endif()
set(WEECHAT_HOME "${WEECHAT_HOME}" CACHE
STRING "Force a single WeeChat home directory for config, logs, scripts, etc."
STRING "WeeChat home directory for config, logs, scripts.. (default is \"~/.weechat\")"
FORCE)
mark_as_advanced(CLEAR WEECHAT_HOME)
# option CA_FILE
if(NOT DEFINED CA_FILE OR "${CA_FILE}" STREQUAL "")
set(CA_FILE "/etc/ssl/certs/ca-certificates.crt")
endif()
set(CA_FILE "${CA_FILE}" CACHE
STRING "File containing the certificate authorities (default is \"/etc/ssl/certs/ca-certificates.crt\"). This is the default value of option \"weechat.network.gnutls_ca_file\"."
FORCE)
mark_as_advanced(CLEAR CA_FILE)
if(COMMAND cmake_policy)
if(POLICY CMP0003)
cmake_policy(SET CMP0003 NEW)
@@ -150,8 +162,6 @@ endif()
add_definitions(-DHAVE_CONFIG_H)
include(FindPkgConfig)
include(CheckIncludeFiles)
include(CheckFunctionExists)
include(CheckSymbolExists)
@@ -160,7 +170,6 @@ check_include_files("langinfo.h" HAVE_LANGINFO_CODESET)
check_include_files("sys/resource.h" HAVE_SYS_RESOURCE_H)
check_function_exists(mallinfo HAVE_MALLINFO)
check_function_exists(mallinfo2 HAVE_MALLINFO2)
check_symbol_exists("eat_newline_glitch" "term.h" HAVE_EAT_NEWLINE_GLITCH)
@@ -184,10 +193,9 @@ if(ENABLE_NLS)
endif()
# Check for libgcrypt
pkg_check_modules(LIBGCRYPT REQUIRED libgcrypt)
find_package(GCRYPT REQUIRED)
add_definitions(-DHAVE_GCRYPT)
include_directories(${LIBGCRYPT_INCLUDE_DIRS})
list(APPEND EXTRA_LIBS ${LIBGCRYPT_LDFLAGS})
list(APPEND EXTRA_LIBS ${GCRYPT_LDFLAGS})
# Check for GnuTLS
find_package(GnuTLS REQUIRED)
@@ -198,9 +206,7 @@ list(APPEND EXTRA_LIBS gnutls)
# Check for zlib
find_package(ZLIB REQUIRED)
# Check for zstd
pkg_check_modules(LIBZSTD REQUIRED libzstd)
add_definitions(-DHAVE_ZLIB)
# Check for iconv
find_package(Iconv)
@@ -242,16 +248,13 @@ if(ENABLE_TESTS)
else()
message(SEND_ERROR "CppUTest not found")
endif()
else()
enable_testing()
add_test(NAME notests COMMAND true)
endif()
configure_file(config.h.cmake config.h @ONLY)
# set the git version in "config-git.h"
add_custom_target(version_git ALL
COMMAND "${CMAKE_CURRENT_SOURCE_DIR}/tools/set_git_version.sh" "${CMAKE_CURRENT_SOURCE_DIR}" "${VERSION}" "config-git.h"
COMMAND "${CMAKE_CURRENT_SOURCE_DIR}/tools/git-version.sh" "${CMAKE_CURRENT_SOURCE_DIR}" "${VERSION}" "config-git.h"
WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}"
)
+1 -1
View File
@@ -671,4 +671,4 @@ into proprietary programs. If your program is a subroutine library, you
may consider it more useful to permit linking proprietary applications with
the library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License. But first, please read
<https://www.gnu.org/licenses/why-not-lgpl.html>.
<https://www.gnu.org/philosophy/why-not-lgpl.html>.
+440 -843
View File
File diff suppressed because it is too large Load Diff
+8 -7
View File
@@ -29,8 +29,8 @@ please include:
_WeeChat 1.7-dev (git: v1.6-6-g997f47f)_. +
If WeeChat does not start at all, please include the version displayed by
`weechat --help` (or the version installed with your package manager).
* Your *operating system*: its name and version (examples: Linux Debian Bullseye,
FreeBSD 13.0, Windows/Cygwin 64-bit, Windows/Ubuntu 64-bit...).
* Your *operating system*: its name and version (examples: Linux Debian Wheezy,
FreeBSD 10.0, Windows/Cygwin 64-bit, Windows/Ubuntu 64-bit...).
* The *steps to reproduce*: if possible, please include a reproducible example:
explain the steps which led you to the problem. +
It's even better if you can reproduce the problem with a new config (and no
@@ -38,7 +38,8 @@ please include:
problem here.
* The *gdb's backtrace* (only for a crash): if you can reproduce the crash
(or if you have a core file), please include the backtrace from gdb (look at
https://weechat.org/doc/user/#report_crashes[User's guide] for more info).
https://weechat.org/files/doc/devel/weechat_user.en.html#report_crashes[User's guide]
for more info).
* The *actual result*.
* The *expected result*: the correct result you are expecting.
@@ -68,22 +69,22 @@ time, for https://github.com/weechat/weechat[WeeChat] and the website
https://github.com/weechat/weechat.org[weechat.org].
To start a translation in a new language (not yet supported), please look at
https://weechat.org/doc/dev/#translations[translations]
https://weechat.org/files/doc/devel/weechat_dev.en.html#translations[translations]
in Developer's guide.
== Feature requests
WeeChat is under active development, so your idea may already have been
implemented, or scheduled for a future version (you can check in
https://weechat.org/dev/[roadmap] or
https://weechat.org/dev[roadmap] or
https://github.com/weechat/weechat/milestones[milestones] on GitHub.
Pull requests on GitHub are welcome for minor new features.
For major new features, it's better to discuss about it in IRC
(server: _irc.libera.chat_, channel _#weechat_).
(server: _chat.freenode.net_, channel _#weechat_).
Before submitting any pull request, be sure you have read the
https://weechat.org/doc/dev/#coding_rules[coding rules]
https://weechat.org/files/doc/devel/weechat_dev.en.html#coding_rules[coding rules]
in Developer's guide, which contains info about styles used, naming convention
and other useful info.
+4 -4
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2023 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2021 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2005 Julien Louis <ptitlouis@sysif.net>
# Copyright (C) 2006-2009 Emmanuel Bouthenot <kolter@openics.org>
#
@@ -23,7 +23,7 @@
# (if needed, and only for a devel/rc version).
BUILT_SOURCES = build-config-git.h
build-config-git.h:
-$(abs_top_srcdir)/tools/set_git_version.sh "$(abs_top_srcdir)" "$(VERSION)" config-git.h
-$(abs_top_srcdir)/tools/git-version.sh "$(abs_top_srcdir)" "$(VERSION)" config-git.h
if TESTS
tests_dir = tests
@@ -60,8 +60,8 @@ EXTRA_DIST = AUTHORS.adoc \
cmake/cmake_uninstall.cmake.in \
po/CMakeLists.txt \
po/srcfiles.cmake \
tools/build_test.sh \
tools/set_git_version.sh \
tools/build-test.sh \
tools/git-version.sh \
tools/makedist.sh \
version.sh \
weechat.desktop \
+78 -9
View File
@@ -23,13 +23,13 @@ Homepage: https://weechat.org/
== Features
* *Modular chat client*: WeeChat has a lightweight core and optional https://weechat.org/doc/user/#plugins[plugins]. All plugins (including https://weechat.org/doc/user/#irc[IRC]) are independent and can be unloaded.
* *Modular chat client*: WeeChat has a lightweight core and optional https://weechat.org/files/doc/stable/weechat_user.en.html#plugins[plugins]. All plugins (including https://weechat.org/files/doc/stable/weechat_user.en.html#irc_plugin[IRC]) are independent and can be unloaded.
* *Multi-platform*: WeeChat runs on GNU/Linux, *BSD, GNU/Hurd, Haiku, macOS and Windows (Bash/Ubuntu and Cygwin).
* *Multi-protocols*: WeeChat is designed to support multiple protocols by plugins, like IRC.
* *Standards-compliant*: the IRC plugin is compliant with RFCs https://tools.ietf.org/html/rfc1459[1459], https://tools.ietf.org/html/rfc2810[2810], https://tools.ietf.org/html/rfc2811[2811], https://tools.ietf.org/html/rfc2812[2812], and https://tools.ietf.org/html/rfc2813[2813].
* *Small, fast, and very light*: the core is and should stay as light and fast as possible.
* *Customizable and extensible*: there are a lot of options to customize WeeChat, and it is extensible with C plugins and https://weechat.org/scripts/[scripts] (https://weechat.org/scripts/language/perl/[Perl], https://weechat.org/scripts/language/python/[Python], https://weechat.org/scripts/language/ruby[Ruby], https://weechat.org/scripts/language/lua/[Lua], https://weechat.org/scripts/language/tcl/[Tcl], https://weechat.org/scripts/language/guile/[Scheme], https://weechat.org/scripts/language/javascript/[JavaScript] and https://weechat.org/scripts/language/php/[PHP]).
* *Fully documented*: there is comprehensive https://weechat.org/doc/[documentation], which is https://weechat.org/doc/dev/#translations[translated] into several languages.
* *Standards-compliant*: the IRC plugin is compliant with RFCs https://tools.ietf.org/html/rfc1459[1459], https://tools.ietf.org/html/rfc2810[2810], https://tools.ietf.org/html/rfc2811[2811], https://tools.ietf.org/html/rfc2812[2812] and https://tools.ietf.org/html/rfc2813[2813].
* *Small, fast and very light*: the core is and should stay as light and fast as possible.
* *Customizable and extensible*: there are a lot of options to customize WeeChat, and it is extensible with C plugins and https://weechat.org/scripts/[scripts] (https://weechat.org/scripts/stable/language/perl/[Perl], https://weechat.org/scripts/stable/language/python/[Python], https://weechat.org/scripts/stable/language/ruby[Ruby], https://weechat.org/scripts/stable/language/lua/[Lua], https://weechat.org/scripts/stable/language/tcl/[Tcl], https://weechat.org/scripts/stable/language/guile/[Scheme], https://weechat.org/scripts/stable/language/javascript/[JavaScript] and https://weechat.org/scripts/stable/language/php/[PHP]).
* *Fully documented*: there is comprehensive https://weechat.org/doc/[documentation], which is https://weechat.org/files/doc/stable/weechat_dev.en.html#translations[translated] into several languages.
* *Developed from scratch*: WeeChat was built from scratch and is not based on any other client.
* *Free software*: WeeChat is released under https://www.gnu.org/licenses/gpl-3.0.html[GPLv3].
@@ -37,15 +37,84 @@ pass:[<p align="center">] image:https://weechat.org/media/images/screenshots/wee
On WeeChat's website you can find https://weechat.org/about/screenshots/[more screenshots].
== Installation
== Install
WeeChat can be installed using your favorite package manager (recommended) or by compiling it yourself.
=== Dependencies
For detailed instructions, please check the https://weechat.org/doc/user/#install[WeeChat user's guide].
Following packages are *required*:
* CMake
* libncurses
* libcurl
* zlib
* libgcrypt
Following packages are optional:
* for i18n: gettext
* for SSL: gnutls, ca-certificates
* for spell checking: aspell or enchant
* for scripting: python, perl, ruby, lua, tcl, guile, libv8 (javascript), php
* for building doc and man page: asciidoctor
* for building tests: C++ compiler, CppUTest
For a complete list of dependencies and versions recommended, please look at
https://weechat.org/files/doc/devel/weechat_user.en.html#dependencies[user's guide].
=== Compile
WeeChat can be built with https://cmake.org/[CMake] (recommended) or autotools.
[NOTE]
Only CMake is officially supported to build WeeChat. You should only use
autotools if you are not able to use CMake. +
Building with autotools requires more dependencies and is slower than with CMake.
* Installation in system directories (requires _root_ privileges):
----
$ mkdir build
$ cd build
$ cmake ..
$ make
$ sudo make install
----
* Installation in custom directory (for example your home):
----
$ mkdir build
$ cd build
$ cmake .. -DCMAKE_INSTALL_PREFIX=/path/to/directory
$ make
$ make install
----
For more information or installation with autotools, please look at
https://weechat.org/files/doc/devel/weechat_user.en.html#compile_with_autotools[user's guide].
=== Run tests
Following packages are *required* to compile tests:
* libcpputest-dev
* C++ compiler
Tests must be enabled when compiling WeeChat:
----
$ cmake .. -DENABLE_TESTS=ON
----
They can be launched after compilation from the build directory:
----
$ ctest -V
----
== Copyright
Copyright (C) 2003-2023 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.
+257 -875
View File
File diff suppressed because it is too large Load Diff
+14 -14
View File
@@ -1,6 +1,6 @@
#!/bin/sh
#
# Copyright (C) 2003-2023 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2021 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2005 Julien Louis <ptitlouis@sysif.net>
# Copyright (C) 2005-2006 Emmanuel Bouthenot <kolter@openics.org>
#
@@ -34,36 +34,36 @@ err ()
echo "-------"
echo "Error :"
echo "---8<-----------------------------------"
cat "$AUTOGEN_LOG"
cat $AUTOGEN_LOG
echo "----------------------------------->8---"
exit 1
}
run ()
{
printf "Running \"%s\"... " "$*"
if "$@" >"$AUTOGEN_LOG" 2>&1 ; then
echo "OK"
printf "Running \"%s\"..." "$@"
if eval "$@" >$AUTOGEN_LOG 2>&1 ; then
echo " OK"
else
echo "FAILED"
echo " FAILED"
err
fi
}
# remove autotools stuff
run rm -f config.h.in
run rm -f aclocal.m4 configure config.log config.status
run rm -rf "autom4te*.cache"
run "rm -f config.h.in"
run "rm -f aclocal.m4 configure config.log config.status"
run "rm -rf autom4te*.cache"
# remove libtool stuff
run rm -f libtool
run "rm -f libtool"
# remove gettext stuff
run rm -f ABOUT-NLS
run rm -rf intl
run "rm -f ABOUT-NLS"
run "rm -rf intl"
# execute autoreconf cmds
run autoreconf -vi
run "autoreconf -vi"
# ending
rm -f "$AUTOGEN_LOG"
rm -f $AUTOGEN_LOG
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2023 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2021 Sébastien Helleu <flashcode@flashtux.org>
#
# This file is part of WeeChat, the extensible chat client.
#
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2023 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2021 Sébastien Helleu <flashcode@flashtux.org>
#
# This file is part of WeeChat, the extensible chat client.
#
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2014-2023 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.
#
+2 -2
View File
@@ -27,11 +27,11 @@ else()
find_path(ENCHANT_INCLUDE_DIR
NAMES enchant++.h
HINTS ${PC_ENCHANT_INCLUDEDIR} ${PC_ENCHANT_INCLUDE_DIRS}
PATH_SUFFIXES enchant-2 enchant
PATH_SUFFIXES enchant
)
find_library(ENCHANT_LIBRARIES
NAMES enchant-2 enchant
NAMES enchant
HINTS ${PC_ENCHANT_LIBDIR}
${PC_ENCHANT_LIBRARY_DIRS}
)
+53
View File
@@ -0,0 +1,53 @@
#
# Copyright (C) 2003-2021 Sébastien Helleu <flashcode@flashtux.org>
#
# This file is part of WeeChat, the extensible chat client.
#
# WeeChat is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# WeeChat is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with WeeChat. If not, see <https://www.gnu.org/licenses/>.
#
# - Find Gcrypt
# This module finds if libgcrypt is installed and determines where
# the include files and libraries are.
#
# This code sets the following variables:
#
# GCRYPT_CFLAGS = cflags to use to compile
# GCRYPT_LDFLAGS = ldflags to use to compile
#
find_program(LIBGCRYPT_CONFIG_EXECUTABLE NAMES libgcrypt-config)
set(GCRYPT_LDFLAGS)
set(GCRYPT_CFLAGS)
if(LIBGCRYPT_CONFIG_EXECUTABLE)
exec_program(${LIBGCRYPT_CONFIG_EXECUTABLE} ARGS --libs RETURN_VALUE _return_VALUE OUTPUT_VARIABLE GCRYPT_LDFLAGS)
exec_program(${LIBGCRYPT_CONFIG_EXECUTABLE} ARGS --cflags RETURN_VALUE _return_VALUE OUTPUT_VARIABLE GCRYPT_CFLAGS)
if(${GCRYPT_CFLAGS} MATCHES "\n")
set(GCRYPT_CFLAGS " ")
endif()
endif()
# handle the QUIETLY and REQUIRED arguments and set GCRYPT_FOUND to TRUE if
# all listed variables are TRUE
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(GCRYPT REQUIRED_VARS GCRYPT_LDFLAGS GCRYPT_CFLAGS)
if(GCRYPT_FOUND)
mark_as_advanced(GCRYPT_CFLAGS GCRYPT_LDFLAGS)
endif()
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2023 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2021 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2007 Julien Louis <ptitlouis@sysif.net>
# Copyright (C) 2009 Emmanuel Bouthenot <kolter@openics.org>
#
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2023 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2021 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2009 Emmanuel Bouthenot <kolter@openics.org>
#
# This file is part of WeeChat, the extensible chat client.
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2011-2023 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2011-2021 Sébastien Helleu <flashcode@flashtux.org>
#
# This file is part of WeeChat, the extensible chat client.
#
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2023 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2021 Sébastien Helleu <flashcode@flashtux.org>
#
# This file is part of WeeChat, the extensible chat client.
#
+2 -2
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2023 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.
#
@@ -35,5 +35,5 @@ endif()
find_package(PkgConfig)
if(PKG_CONFIG_FOUND)
pkg_search_module(LUA lua5.4 lua-5.4 lua54 lua5.3 lua-5.3 lua53 lua5.2 lua-5.2 lua52 lua5.1 lua-5.1 lua51 lua-5.0 lua5.0 lua50 lua)
pkg_search_module(LUA lua5.3 lua-5.3 lua53 lua5.2 lua-5.2 lua52 lua5.1 lua-5.1 lua51 lua-5.0 lua5.0 lua50 lua)
endif()
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2023 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.
#
+7 -12
View File
@@ -1,6 +1,6 @@
#
# Copyright (C) 2017 Adam Saponara <as@php.net>
# Copyright (C) 2017-2023 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.
#
@@ -24,31 +24,26 @@ endif()
find_package(PkgConfig)
if(PKG_CONFIG_FOUND)
pkg_search_module(PHP php8 php7)
pkg_search_module(PHP php7)
endif()
if(NOT PHP_FOUND)
find_program(PHP_CONFIG_EXECUTABLE NAMES
php-config8.2 php-config82
php-config8.1 php-config81
php-config8.0 php-config80
php-config8
php-config7.4 php-config74
php-config7.3 php-config73
php-config7.2 php-config72
php-config7.1 php-config71
php-config7.0 php-config70
php-config7
php-config
php-config php-config7
)
if (PHP_CONFIG_EXECUTABLE)
execute_process(COMMAND ${PHP_CONFIG_EXECUTABLE} --prefix OUTPUT_VARIABLE PHP_LIB_PREFIX OUTPUT_STRIP_TRAILING_WHITESPACE)
execute_process(COMMAND ${PHP_CONFIG_EXECUTABLE} --includes OUTPUT_VARIABLE PHP_INCLUDE_DIRS OUTPUT_STRIP_TRAILING_WHITESPACE)
execute_process(COMMAND ${PHP_CONFIG_EXECUTABLE} --libs OUTPUT_VARIABLE PHP_LIBS OUTPUT_STRIP_TRAILING_WHITESPACE)
execute_process(COMMAND ${PHP_CONFIG_EXECUTABLE} --version OUTPUT_VARIABLE PHP_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE)
if(${PHP_VERSION} MATCHES "^[78]")
if(${PHP_VERSION} MATCHES "^7")
find_library(PHP_LIB
NAMES php8.2 php8.1 php8.0 php8 php7.4 php7.3 php7.2 php7.1 php7.0 php7 php
NAMES php7.4 php7.3 php7.2 php7.1 php7.0 php7
HINTS ${PHP_LIB_PREFIX} ${PHP_LIB_PREFIX}/lib ${PHP_LIB_PREFIX}/lib64
)
if(PHP_LIB)
@@ -63,9 +58,9 @@ if(NOT PHP_FOUND)
endif()
if(NOT PHP_FOUND)
message(WARNING "Could not find libphp. "
message(WARNING "Could not find libphp7. "
"Ensure PHP >=7.0.0 development libraries are installed and compiled with `--enable-embed`. "
"Ensure `php-config` is in `PATH`. "
"You may set `-DCMAKE_LIBRARY_PATH=...` to the directory containing libphp."
"You may set `-DCMAKE_LIBRARY_PATH=...` to the directory containing libphp7."
)
endif()
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2023 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.
#
+10 -4
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2023 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2021 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2009 Julien Louis <ptitlouis@sysif.net>
#
# This file is part of WeeChat, the extensible chat client.
@@ -28,7 +28,13 @@
# PYTHON_LIBRARIES = path to where libpython.so* can be found
# PYTHON_LDFLAGS = python compiler options for linking
pkg_check_modules(PYTHON python3-embed IMPORTED_TARGET GLOBAL)
if(NOT PYTHON_FOUND)
pkg_check_modules(PYTHON python3 IMPORTED_TARGET GLOBAL)
include(FindPkgConfig)
if(ENABLE_PYTHON2)
pkg_check_modules(PYTHON python2 IMPORTED_TARGET GLOBAL)
else()
pkg_check_modules(PYTHON python3-embed IMPORTED_TARGET GLOBAL)
if(NOT PYTHON_FOUND)
pkg_check_modules(PYTHON python3 IMPORTED_TARGET GLOBAL)
endif()
endif()
+47 -9
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2023 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2021 Sébastien Helleu <flashcode@flashtux.org>
#
# This file is part of WeeChat, the extensible chat client.
#
@@ -33,13 +33,51 @@ endif()
find_package(PkgConfig)
if(PKG_CONFIG_FOUND)
if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
# set specific search path for macOS
set(ENV{PKG_CONFIG_PATH} "$ENV{PKG_CONFIG_PATH}:/usr/local/opt/ruby/lib/pkgconfig")
endif()
pkg_search_module(RUBY ruby-3.3 ruby-3.2 ruby-3.1 ruby-3.0 ruby-2.7 ruby-2.6 ruby-2.5 ruby-2.4 ruby-2.3 ruby-2.2 ruby-2.1 ruby-2.0 ruby-1.9 ruby)
if(RUBY_FOUND AND ${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
# FIXME: weird hack: hardcoding the Ruby lib location on macOS
set(RUBY_LDFLAGS "${RUBY_LDFLAGS} -L/usr/local/opt/ruby/lib")
pkg_search_module(RUBY ruby-2.7 ruby-2.6 ruby-2.5 ruby-2.4 ruby-2.3 ruby-2.2 ruby-2.1 ruby-2.0 ruby-1.9)
endif()
if(RUBY_FOUND)
set(RUBY_LIB "")
mark_as_advanced(RUBY_LIB)
else()
find_program(RUBY_EXECUTABLE
NAMES ruby2.7.0 ruby270 ruby2.7 ruby2.6.0 ruby260 ruby2.6 ruby2.5.0 ruby250 ruby2.5 ruby2.4.0 ruby240 ruby2.4 ruby2.3.0 ruby230 ruby2.3 ruby23 ruby2.2.3 ruby223 ruby2.2.2 ruby222 ruby2.2.1 ruby221 ruby2.2.0 ruby220 ruby2.2 ruby22 ruby2.1.7 ruby217 ruby2.1.6 ruby216 ruby2.1.5 ruby215 ruby2.1.4 ruby214 ruby2.1.3 ruby213 ruby2.1.2 ruby212 ruby2.1.1 ruby211 ruby2.1.0 ruby210 ruby2.1 ruby21 ruby2.0 ruby20 ruby1.9.3 ruby193 ruby1.9.2 ruby192 ruby1.9.1 ruby191 ruby1.9 ruby19 ruby
PATHS /usr/bin /usr/local/bin /usr/pkg/bin
)
if(RUBY_EXECUTABLE)
execute_process(
COMMAND ${RUBY_EXECUTABLE} -r rbconfig -e "print RbConfig::CONFIG['rubyhdrdir'] || RbConfig::CONFIG['archdir']"
OUTPUT_VARIABLE RUBY_ARCH_DIR
)
execute_process(
COMMAND ${RUBY_EXECUTABLE} -r rbconfig -e "print RbConfig::CONFIG['arch']"
OUTPUT_VARIABLE RUBY_ARCH
)
execute_process(
COMMAND ${RUBY_EXECUTABLE} -r rbconfig -e "print RbConfig::CONFIG['libdir']"
OUTPUT_VARIABLE RUBY_POSSIBLE_LIB_PATH
)
execute_process(
COMMAND ${RUBY_EXECUTABLE} -r rbconfig -e "print RbConfig::CONFIG['rubylibdir']"
OUTPUT_VARIABLE RUBY_RUBY_LIB_PATH
)
find_path(RUBY_INCLUDE_DIRS
NAMES ruby.h
PATHS ${RUBY_ARCH_DIR}
)
set(RUBY_INCLUDE_ARCH "${RUBY_INCLUDE_DIRS}/${RUBY_ARCH}")
find_library(RUBY_LIB
NAMES ruby-1.9.3 ruby1.9.3 ruby193 ruby-1.9.2 ruby1.9.2 ruby192 ruby-1.9.1 ruby1.9.1 ruby191 ruby1.9 ruby19 ruby
PATHS ${RUBY_POSSIBLE_LIB_PATH} ${RUBY_RUBY_LIB_PATH}
)
if(RUBY_LIB AND RUBY_INCLUDE_DIRS)
set(RUBY_FOUND TRUE)
endif()
set(RUBY_INCLUDE_DIRS "${RUBY_INCLUDE_DIRS};${RUBY_INCLUDE_ARCH}")
mark_as_advanced(
RUBY_INCLUDE_DIRS
RUBY_LIBRARY_DIRS
RUBY_LIB
)
endif()
endif()
+2 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2015-2023 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.
#
@@ -33,6 +33,7 @@ endif()
set(V8_INC_PATHS
/usr/include
/usr/include/v8
${CMAKE_INCLUDE_PATH}
)
find_path(V8_INCLUDE_DIR v8.h PATHS ${V8_INC_PATHS})
+4 -2
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2023 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.
#
@@ -28,7 +28,9 @@ list(REVERSE files)
foreach(file ${files})
message(STATUS "Uninstalling \"$ENV{DESTDIR}${file}\"")
if(EXISTS "$ENV{DESTDIR}${file}")
execute_process(COMMAND "@CMAKE_COMMAND@" -E remove "$ENV{DESTDIR}${file}" OUTPUT_VARIABLE rm_out RESULT_VARIABLE rm_retval)
exec_program("@CMAKE_COMMAND@" ARGS "-E remove \"$ENV{DESTDIR}${file}\""
OUTPUT_VARIABLE rm_out
RETURN_VARIABLE rm_retval)
if("${rm_retval}" GREATER 0)
message(FATAL_ERROR "Problem when removing \"$ENV{DESTDIR}${file}\"")
endif()
+1 -1
View File
@@ -5,7 +5,6 @@
#cmakedefine HAVE_BACKTRACE
#cmakedefine ICONV_2ARG_IS_CONST 1
#cmakedefine HAVE_MALLINFO
#cmakedefine HAVE_MALLINFO2
#cmakedefine HAVE_EAT_NEWLINE_GLITCH
#cmakedefine HAVE_ASPELL_VERSION_STRING
#cmakedefine HAVE_ENCHANT_GET_VERSION
@@ -18,4 +17,5 @@
#define WEECHAT_SHAREDIR "@WEECHAT_SHAREDIR@"
#define LOCALEDIR "@LOCALEDIR@"
#define WEECHAT_HOME "@WEECHAT_HOME@"
#define CA_FILE "@CA_FILE@"
#define _GNU_SOURCE 1
+50 -82
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2023 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2021 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2005 Benoit Papillault <benoit.papillault@free.fr>
# Copyright (C) 2005-2006 Julien Louis <ptitlouis@sysif.net>
# Copyright (C) 2005-2009 Emmanuel Bouthenot <kolter@openics.org>
@@ -64,7 +64,7 @@ darwin*)
esac
# Gettext
ALL_LINGUAS="cs de es fr hu it ja pl pt pt_BR ru sr tr"
ALL_LINGUAS="cs de es fr hu it ja pl pt pt_BR ru tr"
AM_GNU_GETTEXT
AM_GNU_GETTEXT_VERSION([0.18])
@@ -98,7 +98,6 @@ AC_MSG_RESULT($ac_cv_type_socklen_t)
AC_FUNC_SELECT_ARGTYPES
AC_TYPE_SIGNAL
AC_CHECK_FUNCS([mallinfo])
AC_CHECK_FUNCS([mallinfo2])
# Variables in config.h
@@ -130,12 +129,12 @@ AH_VERBATIM([PLUGIN_GUILE], [#undef PLUGIN_GUILE])
AH_VERBATIM([PLUGIN_JAVASCRIPT], [#undef PLUGIN_JAVASCRIPT])
AH_VERBATIM([PLUGIN_SPELL], [#undef PLUGIN_SPELL])
AH_VERBATIM([PLUGIN_TRIGGER], [#undef PLUGIN_TRIGGER])
AH_VERBATIM([PLUGIN_TYPING], [#undef PLUGIN_TYPING])
AH_VERBATIM([PLUGIN_XFER], [#undef PLUGIN_XFER])
AH_VERBATIM([TESTS], [#undef TESTS])
AH_VERBATIM([MAN], [#undef MAN])
AH_VERBATIM([DOC], [#undef DOC])
AH_VERBATIM([WEECHAT_HOME], [#define WEECHAT_HOME ""])
AH_VERBATIM([WEECHAT_HOME], [#define WEECHAT_HOME "~/.weechat"])
AH_VERBATIM([CA_FILE], [#define CA_FILE "/etc/ssl/certs/ca-certificates.crt"])
# Arguments for ./configure
@@ -155,6 +154,7 @@ AC_ARG_ENABLE(script, [ --disable-script turn off Script plugin (d
AC_ARG_ENABLE(scripts, [ --disable-scripts turn off script plugins (perl, python, ...) (default=compiled if found)],enable_scripts=$enableval,enable_scripts=yes)
AC_ARG_ENABLE(perl, [ --disable-perl turn off Perl script plugin (default=compiled if found)],enable_perl=$enableval,enable_perl=yes)
AC_ARG_ENABLE(python, [ --disable-python turn off Python script plugin (default=compiled if found)],enable_python=$enableval,enable_python=yes)
AC_ARG_ENABLE(python2, [ --enable-python2 use Python 2 instead of Python 3 (default=off)],enable_python2=$enableval,enable_python2=no)
AC_ARG_ENABLE(ruby, [ --disable-ruby turn off Ruby script plugin (default=compiled if found)],enable_ruby=$enableval,enable_ruby=yes)
AC_ARG_ENABLE(lua, [ --disable-lua turn off Lua script plugin (default=compiled if found)],enable_lua=$enableval,enable_lua=yes)
AC_ARG_ENABLE(tcl, [ --disable-tcl turn off Tcl script plugin (default=compiled if found)],enable_tcl=$enableval,enable_tcl=yes)
@@ -164,7 +164,6 @@ AC_ARG_ENABLE(php, [ --disable-php turn off PHP script plugi
AC_ARG_ENABLE(spell, [ --disable-spell turn off Spell checker plugin (default=compiled)],enable_spell=$enableval,enable_spell=yes)
AC_ARG_ENABLE(enchant, [ --enable-enchant turn on Enchant lib for Spell checker plugin (default=off)],enable_enchant=$enableval,enable_enchant=no)
AC_ARG_ENABLE(trigger, [ --disable-trigger turn off Trigger plugin (default=compiled)],enable_trigger=$enableval,enable_trigger=yes)
AC_ARG_ENABLE(typing, [ --disable-typing turn off Typing plugin (default=compiled)],enable_trigger=$enableval,enable_typing=yes)
AC_ARG_ENABLE(xfer, [ --disable-xfer turn off Xfer (file transfer) plugin (default=compiled)],enable_xfer=$enableval,enable_xfer=yes)
AC_ARG_WITH(tclconfig, [ --with-tclconfig=DIR directory containing tcl configuration (tclConfig.sh)],tclconfig=$withval,tclconfig='')
AC_ARG_WITH(debug, [ --with-debug debugging: 0=no debug, 1=debug compilation (default=0)],debug=$withval,debug=0)
@@ -172,10 +171,19 @@ AC_ARG_ENABLE(tests, [ --enable-tests turn on build of tests (d
AC_ARG_ENABLE(man, [ --enable-man turn on build of man page (default=not built)],enable_man=$enableval,enable_man=no)
AC_ARG_ENABLE(doc, [ --enable-doc turn on build of documentation (default=not built)],enable_doc=$enableval,enable_doc=no)
AC_ARG_VAR(WEECHAT_HOME, [Force a single WeeChat home directory for config, logs, scripts, etc.])
AC_ARG_VAR(WEECHAT_HOME, [WeeChat home directory for config, logs, scripts.. (default is "~/.weechat")])
AC_ARG_VAR(CA_FILE, [File containing the certificate authorities (default is "/etc/ssl/certs/ca-certificates.crt"). This is the default value of option "weechat.network.gnutls_ca_file".])
if test "x$WEECHAT_HOME" = "x" ; then
WEECHAT_HOME="~/.weechat"
fi
AC_DEFINE_UNQUOTED(WEECHAT_HOME, "$WEECHAT_HOME")
if test "x$CA_FILE" = "x" ; then
CA_FILE="/etc/ssl/certs/ca-certificates.crt"
fi
AC_DEFINE_UNQUOTED(CA_FILE, "$CA_FILE")
not_asked=""
not_found=""
@@ -466,9 +474,13 @@ fi
PYTHON_VERSION=
if test "x$enable_python" = "xyes" ; then
PKG_CHECK_MODULES(PYTHON, [python3-embed], [PYTHON_FOUND=yes; PYTHON_VERSION=`$PKGCONFIG --modversion python3-embed`], [PYTHON_FOUND=no])
if test "x$PYTHON_FOUND" != "xyes"; then
PKG_CHECK_MODULES(PYTHON, [python3], [PYTHON_FOUND=yes; PYTHON_VERSION=`$PKGCONFIG --modversion python3`], [PYTHON_FOUND=no])
if test "x$enable_python2" = "xyes" ; then
PKG_CHECK_MODULES(PYTHON, [python2], [PYTHON_FOUND=yes; PYTHON_VERSION=`$PKGCONFIG --modversion python2`], [PYTHON_FOUND=no])
else
PKG_CHECK_MODULES(PYTHON, [python3-embed], [PYTHON_FOUND=yes; PYTHON_VERSION=`$PKGCONFIG --modversion python3-embed`], [PYTHON_FOUND=no])
if test "x$PYTHON_FOUND" != "xyes"; then
PKG_CHECK_MODULES(PYTHON, [python3], [PYTHON_FOUND=yes; PYTHON_VERSION=`$PKGCONFIG --modversion python3`], [PYTHON_FOUND=no])
fi
fi
if test "x$PYTHON_FOUND" != "xyes" ; then
AC_MSG_WARN([
@@ -496,7 +508,7 @@ RUBY_VERSION=
if test "x$enable_ruby" = "xyes" ; then
RUBY_CFLAGS=""
RUBY_LFLAGS=""
for v in "3.2" "3.1" "3.0" "2.7" "2.6" "2.5" "2.4" "2.3" "2.2" "2.1" "2.0" "1.9" "1.8" ; do
for v in "2.7" "2.6" "2.5" "2.4" "2.3" "2.2" "2.1" "2.0" "1.9" "1.8" ; do
pkgconfig_ruby_found=`$PKGCONFIG --exists ruby-$v 2>/dev/null`
if test "x$?" = "x0" ; then
RUBY_VERSION=`$PKGCONFIG --modversion ruby-$v`
@@ -568,7 +580,7 @@ if test "x$enable_lua" = "xyes" ; then
if test "x$LUA_CFLAGS" = "x" -o "x$LUA_LFLAGS" = "x" ; then
AC_MSG_CHECKING(for Lua headers and libraries with pkg-config)
echo
for l in "54" "5.4" "53" "5.3" "52" "5.2" "51" "5.1" "50" "5.0" "$lua_suffix" "" ; do
for l in "53" "5.3" "52" "5.2" "51" "5.1" "50" "5.0" "$lua_suffix" "" ; do
pkgconfig_lua_found=`$PKGCONFIG --exists lua$l 2>/dev/null`
if test "x$?" = "x0" ; then
LUA_VERSION=`$PKGCONFIG --modversion lua$l`
@@ -587,7 +599,7 @@ if test "x$enable_lua" = "xyes" ; then
if test "x$LUA_CFLAGS" = "x" -o "x$LUA_LFLAGS" = "x" ; then
LUACONFIG=""
AC_CHECK_PROGS(LUACONFIG, lua-config54 lua-config5.4 lua-config53 lua-config5.3 lua-config52 lua-config5.2 lua-config51 lua-config5.1 lua-config50 lua-config5.0 lua-config)
AC_CHECK_PROGS(LUACONFIG, lua-config53 lua-config5.3 lua-config52 lua-config5.2 lua-config51 lua-config5.1 lua-config50 lua-config5.0 lua-config)
if test "x$LUACONFIG" != "x" ; then
AC_MSG_CHECKING(for Lua headers and libraries with lua-config)
echo
@@ -605,7 +617,7 @@ if test "x$enable_lua" = "xyes" ; then
if test "x$ac_found_lua_header" = "xyes" -a "x$ac_found_liblua_header" = "xyes"; then
LUA_CFLAGS="$CFLAGS"
fi
for l in "54" "5.4" "53" "5.3" "52" "5.2" "51" "5.1" "50" "5.0" "$lua_suffix" "" ; do
for l in "53" "5.3" "52" "5.2" "51" "5.1" "50" "5.0" "$lua_suffix" "" ; do
AC_CHECK_LIB(lua$l,lua_call,ac_found_lua_lib="yes",ac_found_lua_lib="no")
if test "x$ac_found_lua_lib" = "xyes" ; then
LUA_VERSION=">=5.1.0"
@@ -828,7 +840,6 @@ if test "x$enable_php" = "xyes" ; then
PHP_CFLAGS=""
PHP_LFLAGS=""
PHP_VERSIONS="8.2 82 8.1 81 8.0 80 8 7.4 74 7.3 73 7.2 72 7.1 71 7.0 70 7 $php_suffix"
if test -n "$php_inc"; then
CFLAGS="$CFLAGS -I$php_inc"
@@ -841,7 +852,7 @@ if test "x$enable_php" = "xyes" ; then
if test "x$PHP_CFLAGS" = "x" -o "x$PHP_LFLAGS" = "x" ; then
AC_MSG_CHECKING(for PHP headers and libraries with pkg-config)
echo
for l in $PHP_VERSIONS "" ; do
for l in "7.4" "74" "7.3" "73" "7.2" "72" "7.1" "71" "7.0" "70" "7" "$php_suffix" "" ; do
pkgconfig_php_found=`$PKGCONFIG --exists php$l 2>/dev/null`
if test "x$?" = "x0" ; then
pkgconfig_php_found=`$PKGCONFIG --atleast-version=7 php$l 2>/dev/null`
@@ -858,12 +869,11 @@ if test "x$enable_php" = "xyes" ; then
if test "x$PHP_CFLAGS" = "x" -o "x$PHP_LFLAGS" = "x" ; then
PHPCONFIG=""
AC_MSG_CHECKING(for PHP headers and libraries with php-config)
echo
for l in $PHP_VERSIONS "" ; do
for l in "7.4" "74" "7.3" "73" "7.2" "72" "7.1" "71" "7.0" "70" "7" "$php_suffix" "" ; do
AC_CHECK_PROG(PHPCONFIG, "php-config$l", "php-config$l")
if test "x$PHPCONFIG" != "x" ; then
php_config_version=`$PHPCONFIG --version`
if echo "x$php_config_version" | grep -e "^x7" -e "^x8" 1>/dev/null 2>&1 ; then
if test "x${php_config_version#7}" != "x${php_config_version}" ; then
PHP_VERSION=$php_config_version
PHP_CFLAGS=`$PHPCONFIG --includes`
PHP_LFLAGS="-L$($PHPCONFIG --prefix)/lib/ $($PHPCONFIG --libs) -lphp$l"
@@ -880,25 +890,23 @@ if test "x$enable_php" = "xyes" ; then
if test "x$ac_found_php_header" = "xyes" ; then
PHP_CFLAGS="$CFLAGS"
fi
for l in $PHP_VERSIONS "" ; do
for PHP_LIB_SUFFIX in "$l" "$(echo $l | cut -c1)" "" ; do
AC_CHECK_LIB(php$PHP_LIB_SUFFIX,php_execute_script,ac_found_php_lib="yes",ac_found_php_lib="no")
if test "x$ac_found_php_lib" = "xyes" ; then
PHP_VERSION=">=7.0.0"
for l in "7.4" "74" "7.3" "73" "7.2" "72" "7.1" "71" "7.0" "70" "7" "$php_suffix" "" ; do
AC_CHECK_LIB(php$l,php_execute_script,ac_found_php_lib="yes",ac_found_php_lib="no")
if test "x$ac_found_php_lib" = "xyes" ; then
PHP_VERSION=">=7.0.0"
PHP_LFLAGS="$LDFLAGS -lphp$PHP_LIB_SUFFIX -lm"
PHP_LFLAGS="$LDFLAGS -lphp7 -lm"
ac2_save_LDFLAGS="$LDFLAGS"
LDFLAGS="$LDFLAGS -lphp$PHP_LIB_SUFFIX -lm"
ac2_save_LDFLAGS="$LDFLAGS"
LDFLAGS="$LDFLAGS -lphp7 -lm"
if echo "$host_os" | grep "^linux" 1>/dev/null 2>&1 ; then
LDFLAGS="$LDFLAGS -ldl"
fi
LDFLAGS="$ac2_save_LDFLAGS"
break 2
if echo "$host_os" | grep "^linux" 1>/dev/null 2>&1 ; then
LDFLAGS="$LDFLAGS -ldl"
fi
done
LDFLAGS="$ac2_save_LDFLAGS"
break
fi
done
fi
@@ -1014,18 +1022,6 @@ else
not_asked="$not_asked trigger"
fi
# ---------------------------------- typing ------------------------------------
if test "x$enable_typing" = "xyes" ; then
TYPING_CFLAGS=""
TYPING_LFLAGS=""
AC_SUBST(TYPING_CFLAGS)
AC_SUBST(TYPING_LFLAGS)
AC_DEFINE(PLUGIN_TYPING)
else
not_asked="$not_asked typing"
fi
# ---------------------------------- xfer --------------------------------------
if test "x$enable_xfer" = "xyes" ; then
@@ -1170,27 +1166,6 @@ else
AC_SUBST(ZLIB_LFLAGS)
fi
# ------------------------------------------------------------------------------
# zstd
# ------------------------------------------------------------------------------
AC_CHECK_HEADER(zstd.h,ac_found_zstd_header="yes",ac_found_zstd_header="no")
AC_CHECK_LIB(zstd,ZSTD_compress,ac_found_zstd_lib="yes",ac_found_zstd_lib="no")
AC_MSG_CHECKING(for zstd headers and libraries)
if test "x$ac_found_zstd_header" = "xno" -o "x$ac_found_zstd_lib" = "xno" ; then
AC_MSG_RESULT(no)
AC_MSG_ERROR([
*** zstd was not found. You may want to get it from https://github.com/facebook/zstd
*** or try to install it with your software package manager.])
else
AC_MSG_RESULT(yes)
ZSTD_CFLAGS=`pkg-config libzstd --cflags`
ZSTD_LFLAGS=`pkg-config libzstd --libs`
AC_SUBST(ZSTD_CFLAGS)
AC_SUBST(ZSTD_LFLAGS)
fi
# ------------------------------------------------------------------------------
# curl
# ------------------------------------------------------------------------------
@@ -1279,7 +1254,7 @@ if test "x$enable_man" = "xyes" -o "x$enable_doc" = "xyes"; then
enable_man="no"
enable_doc="no"
fi
ASCIIDOCTOR_ARGS="-a experimental -a reproducible -a 'prewrap!' -a 'webfonts!' -a icons=font -a sectanchors -a source-highlighter=pygments -a pygments-style=native"
ASCIIDOCTOR_ARGS="-a experimental -a 'prewrap!' -a icons=font -a sectanchors -a source-highlighter=prettify"
AC_SUBST(ASCIIDOCTOR)
AC_SUBST(ASCIIDOCTOR_ARGS)
fi
@@ -1399,7 +1374,6 @@ AM_CONDITIONAL(PLUGIN_JAVASCRIPT, test "$enable_javascript" = "yes")
AM_CONDITIONAL(PLUGIN_PHP, test "$enable_php" = "yes")
AM_CONDITIONAL(PLUGIN_SPELL, test "$enable_spell" = "yes")
AM_CONDITIONAL(PLUGIN_TRIGGER, test "$enable_trigger" = "yes")
AM_CONDITIONAL(PLUGIN_TYPING, test "$enable_typing" = "yes")
AM_CONDITIONAL(PLUGIN_XFER, test "$enable_xfer" = "yes")
AM_CONDITIONAL(TESTS, test "$enable_tests" = "yes")
AM_CONDITIONAL(MAN, test "$enable_man" = "yes")
@@ -1408,16 +1382,15 @@ AM_CONDITIONAL(DOC, test "$enable_doc" = "yes")
AC_OUTPUT([Makefile
icons/Makefile
doc/Makefile
doc/cs/Makefile
doc/de/Makefile
doc/en/Makefile
doc/es/Makefile
doc/fr/Makefile
doc/it/Makefile
doc/ja/Makefile
doc/de/Makefile
doc/pl/Makefile
doc/es/Makefile
doc/ru/Makefile
doc/sr/Makefile
doc/ja/Makefile
doc/cs/Makefile
src/Makefile
src/core/Makefile
src/plugins/Makefile
@@ -1441,7 +1414,6 @@ AC_OUTPUT([Makefile
src/plugins/php/Makefile
src/plugins/spell/Makefile
src/plugins/trigger/Makefile
src/plugins/typing/Makefile
src/plugins/xfer/Makefile
src/gui/Makefile
src/gui/curses/Makefile
@@ -1530,9 +1502,6 @@ fi
if test "x$enable_trigger" = "xyes"; then
listplugins="$listplugins trigger"
fi
if test "x$enable_typing" = "xyes"; then
listplugins="$listplugins typing"
fi
if test "x$enable_xfer" = "xyes"; then
listplugins="$listplugins xfer"
fi
@@ -1578,6 +1547,7 @@ echo " Compile with debug..... : $msg_debug"
echo " Compile tests.......... : $msg_tests"
echo " Man page............... : $msg_man"
echo " Documentation.......... : $msg_doc"
echo " Certificate authorities : ${CA_FILE}"
if test "x$not_asked" != "x" || test "x$not_found" != "x"; then
echo ""
@@ -1591,10 +1561,8 @@ if test "x$not_asked" != "x" || test "x$not_found" != "x"; then
fi
echo ""
if test "x$WEECHAT_HOME" != "x" ; then
echo "WeeChat home directory is forced by default to: ${WEECHAT_HOME}"
echo ""
fi
echo "WeeChat home directory is ${WEECHAT_HOME}"
echo ""
eval echo "WeeChat will be installed in $bindir"
echo ""
echo "configure complete, now type 'make' to build WeeChat $VERSION"
+3 -6
View File
@@ -4,7 +4,6 @@ Priority: optional
Maintainer: Sébastien Helleu <flashcode@flashtux.org>
Build-Depends:
asciidoctor (>= 1.5.4),
ruby-pygments.rb,
debhelper (>= 12),
cmake, pkg-config,
libncursesw5-dev,
@@ -14,15 +13,14 @@ Build-Depends:
libaspell-dev,
liblua5.3-dev,
tcl8.6-dev,
guile-3.0-dev,
php-dev, libphp-embed, libargon2-dev, libsodium-dev,
guile-2.2-dev,
php-dev, libphp-embed, libargon2-0-dev, libsodium-dev,
libxml2-dev,
libcurl4-gnutls-dev,
libgcrypt20-dev,
libgnutls28-dev,
libzstd-dev,
zlib1g-dev
Standards-Version: 4.6.0.1
Standards-Version: 4.4.0
Homepage: https://weechat.org/
Vcs-Git: https://salsa.debian.org/kolter/weechat.git
Vcs-Browser: https://salsa.debian.org/kolter/weechat
@@ -155,7 +153,6 @@ Description: Fast, light and extensible chat client - plugins
- FIFO pipe for remote control
- Relay (IRC proxy and WeeChat protocol)
- Trigger
- Typing
Package: weechat-devel-python
Architecture: any
@@ -1,10 +0,0 @@
Document: weechat-faq-es
Title: WeeChat FAQ (Spanish)
Author: Sébastien Helleu
Abstract: This document answers frequently asked questions
about the WeeChat IRC client (Spanish version).
Section: Network/Communication
Format: HTML
Index: /usr/share/doc/weechat-devel-doc/html/weechat_faq.es.html
Files: /usr/share/doc/weechat-devel-doc/html/weechat_faq.es.html
@@ -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
-86
View File
@@ -1,89 +1,3 @@
weechat (3.7.1-1) unstable; urgency=medium
* New upstream release
-- Emmanuel Bouthenot <kolter@debian.org> Sat, 22 Oct 2022 12:55:10 +0000
weechat (3.7-1) unstable; urgency=medium
* New upstream release
-- Emmanuel Bouthenot <kolter@debian.org> Tue, 18 Oct 2022 12:44:29 +0000
weechat (3.6-1) unstable; urgency=medium
* New upstream release
* Bump Standards-Version to 4.6.1.0
-- Emmanuel Bouthenot <kolter@debian.org> Sat, 23 Jul 2022 09:56:24 +0000
weechat (3.5-1) unstable; urgency=medium
* New upstream release
* Add build dependency on libzstd-dev
-- Emmanuel Bouthenot <kolter@debian.org> Thu, 31 Mar 2022 11:36:01 +0000
weechat (3.4.1-1) unstable; urgency=medium
* New upstream release
- Fix a possible man-in-the-middle attack in TLS connection to servers
* Update build dependency from libargon2-0-dev to libargon2-dev
(libargon2-0-dev is now virtual package) (Closes: #1005703)
-- Emmanuel Bouthenot <kolter@debian.org> Tue, 22 Mar 2022 05:55:14 +0000
weechat (3.4-2) unstable; urgency=medium
* Remove build dependency on ruby-pygments.rb (no longer required)
-- Emmanuel Bouthenot <kolter@debian.org> Sat, 08 Jan 2022 06:00:17 +0000
weechat (3.4-1) unstable; urgency=medium
* New upstream release (Closes: #1001654, #1001245)
* Remove tester's guide from weechat-doc (according to upstream changes)
* Refresh ASCII Doctor options patch
* Update lintian override on weechat-plugins
* Update copyright (new year)
-- Emmanuel Bouthenot <kolter@debian.org> Fri, 07 Jan 2022 23:03:49 +0000
weechat (3.3-1) unstable; urgency=medium
* New upstream release
* Remove patch merged upstream (which command detection in libgcrypt)
* Minor updates in debian/copyright
* Enable Typing plugin
-- Emmanuel Bouthenot <kolter@debian.org> Mon, 20 Sep 2021 10:05:56 +0000
weechat (3.2.1-1) unstable; urgency=medium
* New upstream release
- fix CVE-2021-40516: possible denial of service (crash) via a crafted
WebSocket in relay plugin (Closes: #993803)
* Add a patch to fix a FTBFS (related to recent changes on which command
output) (Closes: #993333)
* Bump Standards-Version to 4.6.0.1
* Remove useless HomePage field in upstream/metadata
-- Emmanuel Bouthenot <kolter@debian.org> Tue, 07 Sep 2021 20:25:39 +0000
weechat (3.0.1-1) unstable; urgency=medium
* New upstream release
* Bump Standards-Version to 4.5.1
-- Emmanuel Bouthenot <kolter@debian.org> Wed, 03 Mar 2021 05:30:44 +0000
weechat (3.0-1) unstable; urgency=medium
* New upstream release
* Build against Guile 3.0 (instead of 2.2) (Closes: #969680)
-- Emmanuel Bouthenot <kolter@debian.org> Sat, 21 Nov 2020 07:34:12 +0000
weechat (2.9-1) unstable; urgency=medium
* New upstream release
+3 -6
View File
@@ -4,7 +4,6 @@ Priority: optional
Maintainer: Emmanuel Bouthenot <kolter@debian.org>
Build-Depends:
asciidoctor (>= 1.5.4),
ruby-pygments.rb,
debhelper (>= 12),
cmake, pkg-config,
libncursesw5-dev,
@@ -14,15 +13,14 @@ Build-Depends:
libaspell-dev,
liblua5.3-dev,
tcl8.6-dev,
guile-3.0-dev,
php-dev, libphp-embed, libargon2-dev, libsodium-dev,
guile-2.2-dev,
php-dev, libphp-embed, libargon2-0-dev, libsodium-dev,
libxml2-dev,
libcurl4-gnutls-dev,
libgcrypt20-dev,
libgnutls28-dev,
libzstd-dev,
zlib1g-dev
Standards-Version: 4.6.1.0
Standards-Version: 4.4.0
Homepage: https://weechat.org/
Vcs-Git: https://salsa.debian.org/kolter/weechat.git
Vcs-Browser: https://salsa.debian.org/kolter/weechat
@@ -150,7 +148,6 @@ Description: Fast, light and extensible chat client - plugins
- FIFO pipe for remote control
- Relay (IRC proxy and WeeChat protocol)
- Trigger
- Typing
Package: weechat-python
Architecture: any
+1 -1
View File
@@ -4,7 +4,7 @@ Upstream-Contact: Sébastien Helleu <flashcode@flashtux.org>
Source: https://weechat.org/
Files: *
Copyright: 2003-2023, Sébastien Helleu <flashcode@flashtux.org>
Copyright: 2003-2021, Sébastien Helleu <flashcode@flashtux.org>
License: GPL-3+
Files: src/core/wee-command.c
+2 -2
View File
@@ -1,2 +1,2 @@
version=4
opts=pgpsigurlmangle=s/$/.asc/ https://weechat.org/download/ /files/src/weechat-(\d.*)\.tar\.xz
version=3
opts=pgpsigurlmangle=s/$/.asc/ https://weechat.org/files/src/weechat-(\d.*)\.tar\.bz2
-10
View File
@@ -1,10 +0,0 @@
Document: weechat-faq-es
Title: WeeChat FAQ (Spanish)
Author: Sébastien Helleu
Abstract: This document answers frequently asked questions
about the WeeChat IRC client (Spanish version).
Section: Network/Communication
Format: HTML
Index: /usr/share/doc/weechat-doc/html/weechat_faq.es.html
Files: /usr/share/doc/weechat-doc/html/weechat_faq.es.html
@@ -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
-1
View File
@@ -4,4 +4,3 @@ usr/lib/*/weechat/plugins/relay.so
usr/lib/*/weechat/plugins/script.so
usr/lib/*/weechat/plugins/spell.so
usr/lib/*/weechat/plugins/trigger.so
usr/lib/*/weechat/plugins/typing.so
+2 -54
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2023 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2021 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2009 Emmanuel Bouthenot <kolter@openics.org>
#
# This file is part of WeeChat, the extensible chat client.
@@ -21,58 +21,7 @@
if(ENABLE_MAN OR ENABLE_DOC)
find_package(Asciidoctor)
if(ASCIIDOCTOR_FOUND)
# common asciidoctor arguments
set(ASCIIDOCTOR_ARGS -a experimental -a reproducible -a "prewrap!" -a "webfonts!" -a icons=font -a revnumber="${VERSION}" -a sectanchors -a source-highlighter=pygments -a pygments-style=native)
# sed arguments used to replace links in ChangeLog and release notes
set(SED_LINKS_ARGS
-e "'s/issue #\\([0-9][0-9]*\\)/https:\\/\\/github.com\\/weechat\\/weechat\\/issues\\/\\1[issue #\\1^]/g'"
-e "'s/bug #\\([0-9][0-9]*\\)/https:\\/\\/savannah.nongnu.org\\/bugs\\/?\\1[bug #\\1^]/g'"
-e "'s/task #\\([0-9][0-9]*\\)/https:\\/\\/savannah.nongnu.org\\/task\\/?\\1[task #\\1^]/g'"
-e "'s/patch #\\([0-9][0-9]*\\)/https:\\/\\/savannah.nongnu.org\\/patch\\/?\\1[patch #\\1^]/g'"
-e "'s/debian #\\([0-9][0-9]*\\)/http:\\/\\/bugs.debian.org\\/cgi-bin\\/bugreport.cgi?bug=\\1[debian bug #\\1^]/g'"
-e "'s/\\(CVE-[0-9][0-9]*-[0-9][0-9]*\\)/https:\\/\\/cve.mitre.org\\/cgi-bin\\/cvename.cgi?name=\\1[\\1^]/g'"
)
# ChangeLog
add_custom_command(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/ChangeLog-links.adoc
COMMAND sed ARGS ${SED_LINKS_ARGS} ${CMAKE_CURRENT_SOURCE_DIR}/../ChangeLog.adoc > ${CMAKE_CURRENT_BINARY_DIR}/ChangeLog-links.adoc
DEPENDS
${CMAKE_CURRENT_SOURCE_DIR}/../ChangeLog.adoc
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
)
add_custom_command(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/ChangeLog.html
COMMAND ${ASCIIDOCTOR_EXECUTABLE} ARGS ${ASCIIDOCTOR_ARGS} -a docinfodir="${CMAKE_CURRENT_SOURCE_DIR}" -o ChangeLog.html ${CMAKE_CURRENT_BINARY_DIR}/ChangeLog-links.adoc
DEPENDS
${CMAKE_CURRENT_SOURCE_DIR}/docinfo.html
${CMAKE_CURRENT_BINARY_DIR}/ChangeLog-links.adoc
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMENT "Building ChangeLog.html"
)
add_custom_target(changelog DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/ChangeLog.html)
# Release notes
add_custom_command(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/ReleaseNotes-links.adoc
COMMAND sed ARGS ${SED_LINKS_ARGS} ${CMAKE_CURRENT_SOURCE_DIR}/../ReleaseNotes.adoc > ${CMAKE_CURRENT_BINARY_DIR}/ReleaseNotes-links.adoc
DEPENDS
${CMAKE_CURRENT_SOURCE_DIR}/../ReleaseNotes.adoc
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
)
add_custom_command(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/ReleaseNotes.html
COMMAND ${ASCIIDOCTOR_EXECUTABLE} ARGS ${ASCIIDOCTOR_ARGS} -a docinfodir="${CMAKE_CURRENT_SOURCE_DIR}" -o ReleaseNotes.html ${CMAKE_CURRENT_BINARY_DIR}/ReleaseNotes-links.adoc
DEPENDS
${CMAKE_CURRENT_SOURCE_DIR}/docinfo.html
${CMAKE_CURRENT_BINARY_DIR}/ReleaseNotes-links.adoc
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMENT "Building ReleaseNotes.html"
)
add_custom_target(rn DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/ReleaseNotes.html)
# man/doc in all languages
set(ASCIIDOCTOR_ARGS -a experimental -a "prewrap!" -a icons=font -a revnumber="${VERSION}" -a sectanchors -a source-highlighter=prettify)
add_subdirectory(cs)
add_subdirectory(de)
add_subdirectory(en)
@@ -82,7 +31,6 @@ if(ENABLE_MAN OR ENABLE_DOC)
add_subdirectory(ja)
add_subdirectory(pl)
add_subdirectory(ru)
add_subdirectory(sr)
else()
message(SEND_ERROR "Asciidoctor not found")
endif()
+2 -2
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2023 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2021 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2006 Julien Louis <ptitlouis@sysif.net>
#
# This file is part of WeeChat, the extensible chat client.
@@ -18,7 +18,7 @@
# along with WeeChat. If not, see <https://www.gnu.org/licenses/>.
#
SUBDIRS = . cs de en es fr it ja pl ru sr
SUBDIRS = . cs de en es fr it ja pl ru
EXTRA_DIST = docgen.py \
docinfo.html \
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2023 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2021 Sébastien Helleu <flashcode@flashtux.org>
#
# This file is part of WeeChat, the extensible chat client.
#
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2023 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.
#
+4 -4
View File
@@ -16,11 +16,11 @@
(works only with the command *weechat-headless*, not compatible with option
"--daemon").
// TRANSLATION MISSING
*-d*, *--dir* _<path>_::
Force a single directory for all WeeChat files (directory is created if not found).
Four directories can be given, separated by colons (in this order: config,
data, cache, runtime).
Nastav cestu jako dovmský adresář pro WeeChat (použitou pro konfigurační
soubory, logy, uživatelské pluginy a skripty), výchozí hodnota je
"~/.weechat" (poznámka: složka bude vytvořena pokud nebude nalezena
Weechatem)
Pokud tato volba není zadána, použije se promněná prostředí WEECHAT_HOME
(pokud není prázdná)
+28 -31
View File
@@ -1,6 +1,6 @@
// tag::plugin_options[]
Pro kompletní dokumentaci nastavení pluginů a jejich volby podívejte se na
https://weechat.org/doc/[WeeChat user's guide].
https://weechat.org/doc[WeeChat user's guide].
S irc pluginem se můžete doččasně připojit na server s URL jako:
@@ -8,7 +8,7 @@ S irc pluginem se můžete doččasně připojit na server s URL jako:
K připojení na IRC kanál Weechatu pro podporu s přezdívkou "mynick":
irc://mynick@irc.libera.chat/#weechat
irc://mynick@chat.freenode.net/#weechat
IPv6 adresa může být uzavřena do hranatých závorek k přidání portu, například:
@@ -16,82 +16,79 @@ IPv6 adresa může být uzavřena do hranatých závorek k přidání portu, nap
// end::plugin_options[]
// tag::files[]
$HOME/.config/weechat/weechat.conf::
$HOME/.weechat/weechat.conf::
hlavní konfigurační soubor WeeChatu
$HOME/.config/weechat/plugins.conf::
$HOME/.weechat/plugins.conf::
soubor konfigurace pluginů
$HOME/.config/weechat/sec.conf::
$HOME/.weechat/sec.conf::
konfigurační soubor s chráněnými daty
$HOME/.config/weechat/alias.conf::
$HOME/.weechat/alias.conf::
configurační soubor pro _alias_ plugin
$HOME/.config/weechat/buflist.conf::
$HOME/.weechat/buflist.conf::
konfigurační soubor pro _buflist_ plugin
$HOME/.config/weechat/charset.conf::
$HOME/.weechat/charset.conf::
konfigurační soubor pro _charset_ plugin
$HOME/.config/weechat/exec.conf::
$HOME/.weechat/exec.conf::
konfigurační soubor pro _exec_ plugin
$HOME/.config/weechat/fifo.conf::
$HOME/.weechat/fifo.conf::
konfigurační soubor pro _fifo_ plugin
$HOME/.config/weechat/fset.conf::
$HOME/.weechat/fset.conf::
konfigurační soubor pro _fset_ plugin
$HOME/.config/weechat/guile.conf::
$HOME/.weechat/guile.conf::
konfigurační soubor pro _guile_ plugin
$HOME/.config/weechat/irc.conf::
$HOME/.weechat/irc.conf::
konfigurační soubor pro _irc_ plugin
$HOME/.config/weechat/javascript.conf::
$HOME/.weechat/javascript.conf::
konfigurační soubor pro _javascript_ plugin
$HOME/.config/weechat/logger.conf::
$HOME/.weechat/logger.conf::
konfigurační soubor pro _logger_ plugin
$HOME/.config/weechat/lua.conf::
$HOME/.weechat/lua.conf::
konfigurační soubor pro _lua_ plugin
$HOME/.config/weechat/perl.conf::
$HOME/.weechat/perl.conf::
konfigurační soubor pro _perl_ plugin
$HOME/.config/weechat/php.conf::
$HOME/.weechat/php.conf::
konfigurační soubor pro _php_ plugin
$HOME/.config/weechat/python.conf::
$HOME/.weechat/python.conf::
konfigurační soubor pro _python_ plugin
$HOME/.config/weechat/relay.conf::
$HOME/.weechat/relay.conf::
konfigurační soubor pro _relay_ plugin
$HOME/.config/weechat/ruby.conf::
$HOME/.weechat/ruby.conf::
konfigurační soubor pro _ruby_ plugin
$HOME/.config/weechat/script.conf::
$HOME/.weechat/script.conf::
konfigurační soubor pro _script_ plugin
$HOME/.config/weechat/spell.conf::
$HOME/.weechat/spell.conf::
konfigurační soubor pro _spell_ plugin
$HOME/.config/weechat/tcl.conf::
$HOME/.weechat/tcl.conf::
konfigurační soubor pro _tcl_ plugin
$HOME/.config/weechat/trigger.conf::
$HOME/.weechat/trigger.conf::
konfigurační soubor pro _trigger_ plugin
$HOME/.config/weechat/typing.conf::
konfigurační soubor pro _typing_ plugin
$HOME/.config/weechat/xfer.conf::
$HOME/.weechat/xfer.conf::
konfigurační soubor pro _xfer_ plugin
$HOME/.local/share/weechat/weechat.log::
$HOME/.weechat/weechat.log::
soubor záznamů WeeChatu
// end::files[]
@@ -99,7 +96,7 @@ $HOME/.local/share/weechat/weechat.log::
WeeChat je napsán Sébastienem Helleu a přispěvovateli (kompletní seznam je v
souboru AUTHORS.adoc).
Copyright (C) 2003-2023 {author}
Copyright (C) 2003-2021 {author}
WeeChat is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
+1 -1
View File
@@ -67,4 +67,4 @@ include::includes/man.cs.adoc[tag=copyright]
== PODPORA / HLÁŠENÍ CHYB
Pro pomoc nebo hlášení chyb https://weechat.org/about/support/
Pro pomoc nebo hlášení chyb https://weechat.org/about/support
+1 -1
View File
@@ -62,4 +62,4 @@ include::includes/man.cs.adoc[tag=copyright]
== PODPORA / HLÁŠENÍ CHYB
Pro pomoc nebo hlášení chyb https://weechat.org/about/support/
Pro pomoc nebo hlášení chyb https://weechat.org/about/support
+45 -52
View File
@@ -113,13 +113,13 @@ Použijte příkaz `/plugin` k zobrazení nahraných pluginů, pravděpodobně u
Můžete přidat irc server příkazem `/server`, například:
----
/server add libera irc.libera.chat/6697 -ssl
/server add freenode chat.freenode.net
----
// TRANSLATION MISSING
In this command, `libera` is the internal server name used by WeeChat:
you'll be able to connect with `/connect libera` and the server options
are _irc.server.libera.xxx_.
In this command, `freenode` is the internal server name used by WeeChat:
you'll be able to connect with `/connect freenode` and the server options
are _irc.server.freenode.xxx_.
Jako obvykle je poskytována nápověda pokud se ztratíte:
@@ -138,38 +138,45 @@ Pro každou serverovou volbu WeeChat použije její hodnotu pokud je definována
(není "prázdná"). Jinak WeeChat použije výchozí hodnotu ("irc.server_default.xxx).
Například, je zde výchozí přezdívka (založena na vašem un*x loginu), můžete
ji přepsat pro libera s následujícím příkazem:
ji přepsat pro freenode s následujícím příkazem:
----
/set irc.server.libera.nicks "mynick,mynick2,mynick3,mynick4,mynick5"
/set irc.server.freenode.nicks "mynick,mynick2,mynick3,mynick4,mynick5"
----
Nastavení username a realname:
----
/set irc.server.libera.username "Mé uživatelské jméno"
/set irc.server.libera.realname "Mé skutečné jméno"
/set irc.server.freenode.username "Mé uživatelské jméno"
/set irc.server.freenode.realname "Mé skutečné jméno"
----
K zapnutí automatického připojení při spuštění:
----
/set irc.server.libera.autoconnect on
/set irc.server.freenode.autoconnect on
----
K připojení s SSL:
----
/set irc.server.freenode.addresses "chat.freenode.net/7000"
/set irc.server.freenode.ssl on
----
Pokud je na serveru podporován SASL, můžete jej použít pro autentizaci (mužete
být identifikován před připojením kanálů):
----
/set irc.server.libera.sasl_username "mynick"
/set irc.server.libera.sasl_password "xxxxxxx"
/set irc.server.freenode.sasl_username "mynick"
/set irc.server.freenode.sasl_password "xxxxxxx"
----
K spuštění příkazů po připojení k serveru, například k autentizaci s nickserv
(pouze pokud nepoužíváte autentizaci přes SASL):
----
/set irc.server.libera.command "/msg nickserv identify xxxxxxx"
/set irc.server.freenode.command "/msg nickserv identify xxxxxxx"
----
[NOTE]
@@ -187,50 +194,24 @@ First setup a passphrase:
----
// TRANSLATION MISSING
Then add a secured data with your libera password:
Then add a secured data with your freenode password:
----
/secure set libera_password xxxxxxx
/secure set freenode_password xxxxxxx
----
// TRANSLATION MISSING
Then you can use `+${sec.data.libera_password}+` instead of your password in
Then you can use `+${sec.data.freenode_password}+` instead of your password in
IRC options mentioned above, for example:
----
/set irc.server.libera.sasl_password "${sec.data.libera_password}"
/set irc.server.freenode.sasl_password "${sec.data.freenode_password}"
----
K automatickému připojení některých kanálů při připojování k serveru:
----
/set irc.server.libera.autojoin "#channel1,#channel2"
----
// TRANSLATION MISSING
The `/autojoin` command lets you configure the _autojoin_ option easily
(see `/help autojoin`).
// TRANSLATION MISSING
You can also configure WeeChat to automatically update the _autojoin_ option
when you join or leave channels:
----
/set irc.server_default.autojoin_dynamic on
----
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):
----
/unset irc.server.libera.nicks
----
Ostatní volby: můžete nastavit ostatní volby s následujícím příkazem ("xxx" je
název volby):
----
/set irc.server.libera.xxx value
/set irc.server.freenode.autojoin "#channel1,#channel2"
----
// TRANSLATION MISSING
@@ -239,15 +220,29 @@ You can complete name and value of options with the kbd:[Tab] key
and kbd:[Shift+Tab] for a partial completion (useful for long words like
the name of option).
K smazání hodnoty serverové volby a k použití výchozí hodnoty místo ní,
například k požití výchozích přezdívek (irc.server_default.nicks):
----
/unset irc.server.freenode.nicks
----
Ostatní volby: můžete nastavit ostatní volby s následujícím příkazem ("xxx" je
název volby):
----
/set irc.server.freenode.xxx value
----
[[connect_to_irc_server]]
== Připojení k IRC serveru
----
/connect libera
/connect freenode
----
// TRANSLATION MISSING
With this command, WeeChat connects to the libera server and auto-joins the
With this command, WeeChat connects to the freenode server and auto-joins the
channels configured in the "autojoin" server option.
// TRANSLATION MISSING
@@ -401,16 +396,14 @@ například:
Zkuste `/help script` pro více informací.
// TRANSLATION MISSING
A list of scripts is available in WeeChat with `/script` or on
https://weechat.org/scripts/[this page ^↗^,window=_blank].
A seznam skriptů je dostupný v WeeChatu s příkazem `/script` nebo na této
adrese https://weechat.org/scripts
[[more_doc]]
== Další dokumentace
// TRANSLATION MISSING
You can now use WeeChat and read
https://weechat.org/doc/[FAQ/documentation ^↗^,window=_blank]
for any other questions.
Nyní jste schopni používat WeeChat a můžete si přečíst FAQ/dokumentaci pro
jakékoliv další otázky: https://weechat.org/doc
Ať máte radost z použití WeeChatu!
+14 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2023 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2021 Sébastien Helleu <flashcode@flashtux.org>
#
# This file is part of WeeChat, the extensible chat client.
#
@@ -107,4 +107,17 @@ if(ENABLE_DOC)
add_custom_target(doc-quickstart-de ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/weechat_quickstart.de.html)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/weechat_quickstart.de.html DESTINATION ${DATAROOTDIR}/doc/${PROJECT_NAME})
# tester's guide
add_custom_command(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/weechat_tester.de.html
COMMAND ${ASCIIDOCTOR_EXECUTABLE} ARGS ${ASCIIDOCTOR_ARGS} -o weechat_tester.de.html ${CMAKE_CURRENT_SOURCE_DIR}/weechat_tester.de.adoc
DEPENDS
${CMAKE_CURRENT_SOURCE_DIR}/../docinfo.html
${CMAKE_CURRENT_SOURCE_DIR}/weechat_tester.de.adoc
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMENT "Building weechat_tester.de.html"
)
add_custom_target(doc-tester-de ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/weechat_tester.de.html)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/weechat_tester.de.html DESTINATION ${DATAROOTDIR}/doc/${PROJECT_NAME})
endif()
+8 -2
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2023 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2021 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2006 Julien Louis <ptitlouis@sysif.net>
#
# This file is part of WeeChat, the extensible chat client.
@@ -28,6 +28,7 @@ EXTRA_DIST = CMakeLists.txt \
weechat_scripting.de.adoc \
weechat_faq.de.adoc \
weechat_quickstart.de.adoc \
weechat_tester.de.adoc \
includes/autogen_api_completions.de.adoc \
includes/autogen_api_hdata.de.adoc \
includes/autogen_api_infolists.de.adoc \
@@ -52,7 +53,8 @@ if DOC
doc_targets = weechat_user.de.html \
weechat_scripting.de.html \
weechat_faq.de.html \
weechat_quickstart.de.html
weechat_quickstart.de.html \
weechat_tester.de.html
doc_install = install-doc
doc_uninstall = uninstall-doc
endif
@@ -80,6 +82,10 @@ weechat_faq.de.html: weechat_faq.de.adoc $(abs_top_srcdir)/doc/docinfo.html
weechat_quickstart.de.html: weechat_quickstart.de.adoc $(abs_top_srcdir)/doc/docinfo.html
$(ASCIIDOCTOR) $(ASCIIDOCTOR_ARGS) -a revnumber="$(VERSION)" -o weechat_quickstart.de.html $(abs_top_srcdir)/doc/de/weechat_quickstart.de.adoc
# tester's guide
weechat_tester.de.html: weechat_tester.de.adoc $(abs_top_srcdir)/doc/docinfo.html
$(ASCIIDOCTOR) $(ASCIIDOCTOR_ARGS) -a revnumber="$(VERSION)" -o weechat_tester.de.html $(abs_top_srcdir)/doc/de/weechat_tester.de.adoc
# install man/docs
install-data-hook: $(man_install) $(doc_install)
+11 -23
View File
@@ -18,25 +18,23 @@
| guile | guile_script | Liste der Skripten
| irc | irc_channel | aktueller IRC-Kanal
| irc | irc_channel | aktueller IRC-Channel
| irc | irc_channel_nicks_hosts | Liste der Nicks und Hostnamen des aktuellen Kanals
| irc | irc_channel_nicks_hosts | Liste der Nicks und Hostnamen des aktuellen Channels
| irc | irc_channel_topic | Thema des aktuellen IRC-Kanals
| irc | irc_channel_topic | Thema des aktuellen IRC-Channels
| 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_channels | Channels auf allen IRC Servern
| 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 Channel; benötigtes Argument: modelist mode
| irc | irc_modelist_numbers | Modelist Nummern für aktuellen IRC Kanal; benötigtes Argument: modelist mode
| irc | irc_modelist_numbers | Modelist Nummern für aktuellen IRC Channel; benötigtes Argument: modelist mode
| irc | irc_msg_kick | Standardmitteilung wenn man jemanden aus einem Kanal wirftchannel
| irc | irc_msg_kick | Standardmitteilung wenn man jemanden aus einem Channel wirft
| irc | irc_msg_part | Standardmitteilung beim Verlassen (/part) eines IRC-Kanals
| irc | irc_msg_part | Standardmitteilung beim Verlassen (/part) eines IRC-Channels
| irc | irc_notify_nicks | Nicks für die eine Benachrichtigung existiert
@@ -46,17 +44,17 @@
| irc | irc_server | aktueller IRC-Server
| irc | irc_server_channels | Kanäle des derzeitigen IRC-Server
| irc | irc_server_channels | Channels des derzeitigen IRC-Server
| irc | irc_server_nick | Nick beim derzeitigen IRC-Server
| irc | irc_server_nicks | Nicks für alle Kanäle auf dem aktuellen IRC-Server
| irc | irc_server_nicks | Nicks für alle Channels auf dem aktuellen IRC-Server
| irc | irc_server_privates | Privat auf aktuellem IRC Server
| irc | irc_servers | IRC-Server (interne Namen)
| irc | nick | Liste der Nicks im aktuellen Kanal
| irc | nick | Liste der Nicks im aktuellen Channel
| javascript | javascript_script | Liste der Skripten
@@ -94,8 +92,6 @@
| tcl | tcl_script | Liste der Skripten
| trigger | trigger_add_arguments | Argumente für den Befehl, der einen Trigger hinzufügt: Name des Triggers, Hooks, Hook-Argumente, Hook-Bedingungen, Hook-Regex, Hook-Befehl, Hook-Rückgabecode, nachfolgende Aktionen
| trigger | trigger_hook_arguments | Standardargumente für einen Hook
| trigger | trigger_hook_command | Standardbefehl für einen Hook
@@ -150,14 +146,6 @@
| weechat | cursor_areas | Bereiche in denen der Cursor frei bewegt werden kann ("chat" oder Name einer Bar)
| weechat | custom_bar_item_add_arguments | Argumente für den Befehl, der ein benutzerdefiniertes Bar-Item hinzufügt: Elementname, Bedingungen,Inhalt
| weechat | custom_bar_item_conditions | Bedingungen für benutzerdefinierte Bar-Items
| weechat | custom_bar_item_contents | Inhalte für benutzerdefinierte Bar-Items
| weechat | custom_bar_items_names | Namen der benutzerdefinierten Bar-Items
| weechat | env_value | Wert einer Umgebungsvariable
| weechat | env_vars | Umgebungsvariablen
+2 -18
View File
@@ -53,7 +53,7 @@ _next_script_   (pointer, hdata: "guile_script") +
| irc
| [[hdata_irc_channel]]<<hdata_irc_channel,irc_channel>>
| IRC-Kanal
| IRC-Channel
| -
| _type_   (integer) +
_name_   (string) +
@@ -79,8 +79,6 @@ _last_nick_speaking_time_   (pointer, hdata: "irc_channel_speaking") +
_modelists_   (pointer, hdata: "irc_modelist") +
_last_modelist_   (pointer, hdata: "irc_modelist") +
_join_smart_filtered_   (hashtable) +
_typing_state_   (integer) +
_typing_status_sent_   (time) +
_buffer_   (pointer, hdata: "buffer") +
_buffer_as_string_   (string) +
_prev_channel_   (pointer, hdata: "irc_channel") +
@@ -89,7 +87,7 @@ _next_channel_   (pointer, hdata: "irc_channel") +
| irc
| [[hdata_irc_channel_speaking]]<<hdata_irc_channel_speaking,irc_channel_speaking>>
| irc channel_speaking
| IRC channel_speaking
| -
| _nick_   (string) +
_time_last_message_   (time) +
@@ -235,12 +233,6 @@ _hook_connect_   (pointer, hdata: "hook") +
_hook_fd_   (pointer, hdata: "hook") +
_hook_timer_connection_   (pointer, hdata: "hook") +
_hook_timer_sasl_   (pointer, hdata: "hook") +
_sasl_scram_client_first_   (string) +
_sasl_scram_salted_pwd_   (other) +
_sasl_scram_salted_pwd_size_   (integer) +
_sasl_scram_auth_message_   (string) +
_sasl_temp_username_   (string) +
_sasl_temp_password_   (string) +
_is_connected_   (integer) +
_ssl_connected_   (integer) +
_disconnected_   (integer) +
@@ -271,10 +263,6 @@ _chantypes_   (string) +
_chanmodes_   (string) +
_monitor_   (integer) +
_monitor_time_   (time) +
_clienttagdeny_   (string) +
_clienttagdeny_count_   (integer) +
_clienttagdeny_array_   (string, array_size: "clienttagdeny_count") +
_typing_allowed_   (integer) +
_reconnect_delay_   (integer) +
_reconnect_start_   (time) +
_command_time_   (time) +
@@ -582,7 +570,6 @@ _title_   (string) +
_own_lines_   (pointer, hdata: "lines") +
_mixed_lines_   (pointer, hdata: "lines") +
_lines_   (pointer, hdata: "lines") +
_next_line_id_   (integer) +
_time_for_each_line_   (integer) +
_chat_refresh_needed_   (integer) +
_nicklist_   (integer) +
@@ -632,8 +619,6 @@ _text_search_input_   (string) +
_highlight_words_   (string) +
_highlight_regex_   (string) +
_highlight_regex_compiled_   (pointer) +
_highlight_disable_regex_   (string) +
_highlight_disable_regex_compiled_   (pointer) +
_highlight_tags_restrict_   (string) +
_highlight_tags_restrict_count_   (integer) +
_highlight_tags_restrict_array_   (pointer, array_size: "highlight_tags_restrict_count") +
@@ -924,7 +909,6 @@ _next_line_   (pointer, hdata: "line") +
| Struktur mit einzeiligen Daten
| -
| _buffer_   (pointer, hdata: "buffer") +
_id_   (integer) +
_y_   (integer) +
_date_   (time) +
_date_printed_   (time) +
@@ -18,17 +18,17 @@
| guile | guile_script | Liste der Skripten | Skript Pointer (optional) | Name des Skriptes (Platzhalter "*" kann verwendet werden) (optional)
| irc | irc_channel | Liste der Kanäle eines IRC-Servers | Pointer vom Kanal (optional) | Server,Kanal (Kanal ist optional)
| irc | irc_channel | Liste der Channels eines IRC-Servers | Channel Pointer (optional) | Server,Channel (Channel ist optional)
| irc | irc_color_weechat | Zuordnung der IRC Farbkodierung und der WeeChat Farbnamen | - | -
| irc | irc_ignore | Liste von ignorierten IRCs | Ignore Pointer (optional) | -
| irc | irc_modelist | Liste der Kanalmoduslisten für einen IRC-Kanal | Modelist Pointer (optional) | Server,Channel,Type (Type ist optional)
| irc | irc_modelist | Liste der Channel-Mode-Liste für einen IRC-Channel | Modelist Pointer (optional) | Server,Channel,Type (Type ist optional)
| irc | irc_modelist_item | Liste der Items in der Kanal-Modeliste | Modelist Item Pointer (optional) | Server,Channel,Type,Nummer (Nummer ist optional)
| irc | irc_modelist_item | Liste der Items in der Channel-Modeliste | Modelist Item Pointer (optional) | Server,Channel,Type,Nummer (Nummer ist optional)
| irc | irc_nick | Liste der Nicks im IRC-Kanal | Nick Pointer (optional) | server,channel,nick (nick ist optional)
| irc | irc_nick | Liste der Nicks im IRC-Channel | Nick Pointer (optional) | server,channel,nick (nick ist optional)
| irc | irc_notify | Liste mit Benachrichtigungen | Benachrichtigungspointer (optional) | Servername (Platzhalter "*" kann verwendet werden) (optional)
+6 -18
View File
@@ -16,11 +16,9 @@
| guile | guile_version | Version des verwendeten Interpreters | -
| irc | irc_buffer | holt Buffer Pointer für einen IRC Server/Kanal/Nick | server,channel,nick (Kanal und Nicks sind optional)
| irc | irc_buffer | holt Buffer Pointer für einen IRC Server/Channel/Nick | server,channel,nick (Channel und Nicks sind optional)
| irc | irc_is_channel | 1, falls die Zeichenkette ein gültiger IRC-Kanalname für den Server ist | Server,Kanal (Server ist optional)
| irc | irc_is_message_ignored | 1, wenn der Nick ignoriert wird (Meldung wird nicht angezeigt) | Server,Nachricht (Nachricht ist die unverarbeitete IRC Nachricht)
| irc | irc_is_channel | 1, falls die Zeichenkette ein gültiger IRC-Channelname für den Server ist | Server,Channel (Server ist optional)
| irc | irc_is_nick | 1, falls die Zeichenkette ein gültiger IRC Nickname ist | Server,Nickname (Server ist optional)
@@ -60,6 +58,8 @@
| php | php_version | Version des verwendeten Interpreters | -
| python | python2_bin | Pfad für Python 2.x Interpreter | -
| python | python_eval | Evaluierung des Quelltextes | Quelltext welcher ausgeführt werden soll
| python | python_interpreter | Name des verwendeten Interpreters | -
@@ -74,7 +74,7 @@
| ruby | ruby_version | Version des verwendeten Interpreters | -
| spell | spell_dict | durch Kommata getrennte Liste von Wörterbüchern, die in diesem Buffer genutzt werden sollen | Buffer-Pointer ("0x12345678") oder der vollständige Buffername ("irc.libera.#weechat")
| spell | spell_dict | durch Kommata getrennte Liste von Wörterbüchern, die in diesem Buffer genutzt werden sollen | Buffer-Pointer ("0x12345678") oder der vollständige Buffername ("irc.freenode.#weechat")
| tcl | tcl_eval | Evaluierung des Quelltextes | Quelltext welcher ausgeführt werden soll
@@ -126,23 +126,13 @@
| weechat | uptime | Laufzeit von WeeChat (Format: "days:hh:mm:ss") | "days" (Anzahl der Tage) oder "seconds" (Anzahl der Sekunden) (optional)
| weechat | uptime_current | WeeChat-Betriebszeit für den aktuellen Prozess (Upgrades mit /upgrade Befehlwerden ignoriert) (Format: "Tage:hh:mm:ss") | "days" (Anzahl der Tage) oder "seconds" (Anzahl der Sekunden) (optional)
| weechat | version | WeeChat-Version | -
| weechat | version_git | WeeChat Git Version (Ausgabe des Befehls "git describe", ausschließlich für eine Entwicklerversion. Eine stabile Version gibt keine Information zurück) | -
| weechat | version_number | WeeChat-Version (als Zahl) | -
| weechat | weechat_cache_dir | WeeChat Cache-Verzeichnis | -
| weechat | weechat_config_dir | WeeChat Konfigurationsverzeichnis | -
| weechat | weechat_daemon | 1, falls WeeChat im Daemon-Modus ausgeführt wird (ohne Oberfläche, im Hintergrund) | -
| weechat | weechat_data_dir | WeeChat-Datenverzeichnis | -
| weechat | weechat_dir | WeeChat-Verzeichnis (*veraltet* seit Version 3.2, ersetzt durch "weechat_config_dir", "weechat_data_dir", "weechat_cache_dir" und "weechat_runtime_dir") | -
| weechat | weechat_dir | WeeChat Verzeichnis | -
| weechat | weechat_headless | 1, falls WeeChat im Hintergrundmodus ausgeführt wird | -
@@ -150,8 +140,6 @@
| weechat | weechat_localedir | "lokales" Verzeichnis von WeeChat | -
| weechat | weechat_runtime_dir | WeeChat-Laufzeitverzeichnis | -
| weechat | weechat_sharedir | WeeChat "share" Verzeichnis | -
| weechat | weechat_site | WeeChat Seite | -
@@ -8,13 +8,11 @@
|===
| 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, "message_without_tags": Nachrichten ohne Tags, "nick": Nick, "user": Benutzername, "host": Host, "command": Befehl, "channel": Channel, "arguments": Argumente (schließt Channel 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
| weechat | focus_info | Fokusinformationen abrufen | "x": x-Koordinate (Zeichenfolge mit Ganzzahl >= 0), "y": y-Koordinate (Zeichenfolge mit Ganzzahl >= 0) | siehe Funktion "hook_focus" in API Dokumentation
| weechat | secured_data | schutzwürdige Daten | - | schutzwürdige Daten: Namen und Werte (Vorsicht: Dies sind vertrauliche Daten: drucken oder protokollieren Sie diese NICHT)
|===
// end::infos_hashtable[]
@@ -4,26 +4,18 @@
//
// tag::plugins_priority[]
. charset (16000)
. logger (15000)
. exec (14000)
. trigger (13000)
. spell (12000)
. alias (11000)
. buflist (10000)
. fifo (9000)
. typing (8000)
. charset (15000)
. logger (14000)
. exec (13000)
. trigger (12000)
. spell (11000)
. alias (10000)
. buflist (9000)
. fifo (8000)
. xfer (7000)
. irc (6000)
. relay (5000)
. guile (4070)
. javascript (4060)
. lua (4050)
. perl (4040)
. php (4030)
. python (4020)
. ruby (4010)
. tcl (4000)
. guile, javascript, lua, perl, php, python, ruby, tcl (4000)
. script (3000)
. fset (2000)
// end::plugins_priority[]
+21 -47
View File
@@ -6,7 +6,7 @@
// tag::url_options[]
[width="100%",cols="2,^1,7",options="header"]
|===
| Einstellung | Type ^(1)^ | Konstanten ^(2)^
| Einstellung | Type ^(1)^ | Konstanten ^(2)^
| verbose | long |
@@ -48,6 +48,10 @@
| address_scope | long |
| protocols | mask | http, https, ftp, ftps, scp, sftp, telnet, ldap, ldaps, dict, file, tftp, all, imap, imaps, pop3, pop3s, smtp, smtps, rtsp, rtmp, rtmpt, rtmpe, rtmpte, rtmps, rtmpts, gopher, smb, smbs
| redir_protocols | mask | http, https, ftp, ftps, scp, sftp, telnet, ldap, ldaps, dict, file, tftp, all, imap, imaps, pop3, pop3s, smtp, smtps, rtsp, rtmp, rtmpt, rtmpe, rtmpte, rtmps, rtmpts, gopher, smb, smbs
| noproxy | string |
| socks5_gssapi_nec | long |
@@ -78,19 +82,15 @@
| doh_url | string |
| protocols_str | string |
| redir_protocols_str | string |
| netrc | long | ignored, optional, required
| userpwd | string |
| proxyuserpwd | string |
| httpauth | mask | none, basic, digest, ntlm, any, anysafe, digest_ie, only, ntlm_wb, negotiate, gssapi, bearer, aws_sigv4
| httpauth | mask | none, basic, digest, ntlm, any, anysafe, digest_ie, only, ntlm_wb, negotiate, gssapi, bearer
| proxyauth | mask | none, basic, digest, ntlm, any, anysafe, digest_ie, only, ntlm_wb, negotiate, gssapi, bearer, aws_sigv4
| proxyauth | mask | none, basic, digest, ntlm, any, anysafe, digest_ie, only, ntlm_wb, negotiate, gssapi, bearer
| netrc_file | string |
@@ -108,8 +108,6 @@
| tlsauth_password | string |
| sasl_authzid | string |
| sasl_ir | long |
| xoauth2_bearer | string |
@@ -122,6 +120,8 @@
| followlocation | long |
| put | long |
| post | long |
| postfields | string |
@@ -144,7 +144,7 @@
| cookiejar | string |
| http_version | long | none, 1_0, 1_1, 2_0, 2, 2tls, 2_prior_knowledge, 3
| http_version | long | none, 1_0, 1_1, 2_0, 2, 2tls, 2_prior_knowledge
| cookiesession | long |
@@ -182,20 +182,12 @@
| request_target | string |
| http09_allowed | long |
| hsts | string |
| hsts_ctrl | mask | enable, readonlyfile
| mail_from | string |
| mail_rcpt | list |
| mail_auth | string |
| mail_rcpt_alllowfails | long |
| tftp_blksize | long |
| tftp_no_options | long |
@@ -214,6 +206,8 @@
| ftp_create_missing_dirs | long |
| ftp_response_timeout | long |
| ftpsslauth | long | default, ssl, tls
| ftp_account | string |
@@ -244,8 +238,6 @@
| rtsp_server_cseq | long |
| aws_sigv4 | string |
| crlf | long |
| range | string |
@@ -282,8 +274,6 @@
| upload_buffersize | long |
| mime_options | mask | formescape
| timeout | long |
| low_speed_limit | long |
@@ -308,8 +298,6 @@
| connecttimeout_ms | long |
| maxage_conn | long |
| maxconnects | long |
| use_ssl | long | none, try, control, all
@@ -334,8 +322,6 @@
| upkeep_interval_ms | long |
| maxlifetime_conn | long |
| sslcert | string |
| sslversion | long | default, tlsv1, sslv2, sslv3, tlsv1_0, tlsv1_1, tlsv1_2, tlsv1_3, max_default, max_none, max_tlsv1_0, max_tlsv1_1, max_tlsv1_2, max_tlsv1_3
@@ -344,6 +330,10 @@
| cainfo | string |
| random_file | string |
| egdsocket | string |
| ssl_verifyhost | long |
| ssl_cipher_list | string |
@@ -374,10 +364,12 @@
| gssapi_delegation | long | none, policy_flag, flag
| ssl_options | long | allow_beast, no_revoke, no_backends, ok, too_late, unknown_backend, no_partialchain, revoke_best_effort, native_ca, auto_client_cert
| ssl_options | long | allow_beast, no_revoke, no_backends, ok, too_late, unknown_backend
| ssl_enable_alpn | long |
| ssl_enable_npn | long |
| pinnedpublickey | string |
| ssl_verifystatus | long |
@@ -406,7 +398,7 @@
| proxy_ssl_cipher_list | list |
| proxy_ssl_options | long | allow_beast, no_revoke, no_backends, ok, too_late, unknown_backend, no_partialchain, revoke_best_effort, native_ca, auto_client_cert
| proxy_ssl_options | long | allow_beast, no_revoke, no_backends, ok, too_late, unknown_backend
| proxy_ssl_verifyhost | long |
@@ -422,18 +414,6 @@
| proxy_tls13_ciphers | list |
| proxy_issuercert | string |
| ssl_ec_curves | string |
| doh_ssl_verifyhost | long |
| doh_ssl_verifypeer | long |
| doh_ssl_verifystatus | long |
| ca_cache_timeout | long |
| ssh_auth_types | mask | none, policy_flag, flag
| ssh_public_keyfile | string |
@@ -446,17 +426,11 @@
| ssh_compression | long |
| ssh_host_public_key_sha256 | string |
| telnetoptions | list |
| ws_options | mask | binary, close, cont, offset, ping, pong, raw_mode, text
| new_file_perms | long |
| new_directory_perms | long |
| quick_exit | long |
| telnetoptions | list |
|===
// end::url_options[]
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+3 -2
View File
@@ -16,8 +16,9 @@
"--daemon").
*-d*, *--dir* _<path>_::
Erzwingen Sie ein einzelnes Verzeichnis für alle WeeChat-Dateien (Verzeichnis wird erstellt, wenn es nicht gefunden wird).
Es können vier Verzeichnisse angegeben werden, die durch Doppelpunkte getrennt sind (folgende Reihenfolge: Konfiguration, Daten, Cache, Laufzeit).
legt den Konfigurationsordner für WeeChat fest in welchem die Erweiterungen,
Skripten, Protokolldateien etc.pp. gesichert werden (Voreinstellung: "~/.weechat").
Sollte das Verzeichnis nicht existieren wird es beim Start angelegt.
Wird diese Option nicht genutzt, wird die Umgebungsvariable WEECHAT_HOME genutzt
(sofern diese vorhanden ist).
+28 -31
View File
@@ -1,6 +1,6 @@
// tag::plugin_options[]
Um eine vollständige Dokumentation der Optionen zu erhalten, siehe
https://weechat.org/doc/[WeeChat user's guide].
https://weechat.org/doc[WeeChat user's guide].
Mittels der IRC Erweiterung kann man sich zu einen temporären Server verbinden lassen,
indem man eine URL verwendet:
@@ -9,7 +9,7 @@ indem man eine URL verwendet:
Um dem WeeChat IRC Support-Channel, mit dem Nick "mynick", beizutreten:
irc://mynick@irc.libera.chat/#weechat
irc://mynick@chat.freenode.net/#weechat
Um eine IPv6 Adresse zu nutzen, muss diese in eckige Klammern gesetzt werden:
@@ -17,82 +17,79 @@ Um eine IPv6 Adresse zu nutzen, muss diese in eckige Klammern gesetzt werden:
// end::plugin_options[]
// tag::files[]
$HOME/.config/weechat/weechat.conf::
$HOME/.weechat/weechat.conf::
WeeChats Konfigurationsdatei
$HOME/.config/weechat/plugins.conf::
$HOME/.weechat/plugins.conf::
Konfigurationsdatei für Erweiterungen
$HOME/.config/weechat/sec.conf::
$HOME/.weechat/sec.conf::
Konfigurationsdatei mit schutzwürdigen Daten
$HOME/.config/weechat/alias.conf::
$HOME/.weechat/alias.conf::
Konfigurationsdatei für _alias_ Erweiterung
$HOME/.config/weechat/buflist.conf::
$HOME/.weechat/buflist.conf::
Konfigurationsdatei für _buflist_ Erweiterung
$HOME/.config/weechat/charset.conf::
$HOME/.weechat/charset.conf::
Konfigurationsdatei für _charset_ Erweiterung
$HOME/.config/weechat/exec.conf::
$HOME/.weechat/exec.conf::
Konfigurationsdatei für _exec_ Erweiterung
$HOME/.config/weechat/fifo.conf::
$HOME/.weechat/fifo.conf::
Konfigurationsdatei für _fifo_ Erweiterung
$HOME/.config/weechat/fset.conf::
$HOME/.weechat/fset.conf::
Konfigurationsdatei für _fset_ Erweiterung
$HOME/.config/weechat/guile.conf::
$HOME/.weechat/guile.conf::
Konfigurationsdatei für _guile_ Erweiterung
$HOME/.config/weechat/irc.conf::
$HOME/.weechat/irc.conf::
Konfigurationsdatei für _irc_ Erweiterung
$HOME/.config/weechat/javascript.conf::
$HOME/.weechat/javascript.conf::
Konfigurationsdatei für _javascript_ Erweiterung
$HOME/.config/weechat/logger.conf::
$HOME/.weechat/logger.conf::
Konfigurationsdatei für _logger_ Erweiterung
$HOME/.config/weechat/lua.conf::
$HOME/.weechat/lua.conf::
Konfigurationsdatei für _lua_ Erweiterung
$HOME/.config/weechat/perl.conf::
$HOME/.weechat/perl.conf::
Konfigurationsdatei für _perl_ Erweiterung
$HOME/.config/weechat/php.conf::
$HOME/.weechat/php.conf::
Konfigurationsdatei für _php_ Erweiterung
$HOME/.config/weechat/python.conf::
$HOME/.weechat/python.conf::
Konfigurationsdatei für _python_ Erweiterung
$HOME/.config/weechat/relay.conf::
$HOME/.weechat/relay.conf::
Konfigurationsdatei für _relay_ Erweiterung
$HOME/.config/weechat/ruby.conf::
$HOME/.weechat/ruby.conf::
Konfigurationsdatei für _ruby_ Erweiterung
$HOME/.config/weechat/script.conf::
$HOME/.weechat/script.conf::
Konfigurationsdatei für _script_ Erweiterung
$HOME/.config/weechat/spell.conf::
$HOME/.weechat/spell.conf::
Konfigurationsdatei für _spell_ Erweiterung
$HOME/.config/weechat/tcl.conf::
$HOME/.weechat/tcl.conf::
Konfigurationsdatei für _tcl_ Erweiterung
$HOME/.config/weechat/trigger.conf::
$HOME/.weechat/trigger.conf::
Konfigurationsdatei für _trigger_ Erweiterung
$HOME/.config/weechat/typing.conf::
Konfigurationsdatei für _typing_ Erweiterung
$HOME/.config/weechat/xfer.conf::
$HOME/.weechat/xfer.conf::
Konfigurationsdatei für _xfer_ Erweiterung
$HOME/.local/share/weechat/weechat.log::
$HOME/.weechat/weechat.log::
WeeChat Protokolldatei
// end::files[]
@@ -100,7 +97,7 @@ $HOME/.local/share/weechat/weechat.log::
WeeChat wird programmiert von Sébastien Helleu und weiteren Beteiligten (eine vollständige Auflistung
findet man in der AUTHORS.adoc Datei).
Copyright (C) 2003-2023 {author}
Copyright (C) 2003-2021 {author}
WeeChat is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
+1 -1
View File
@@ -63,4 +63,4 @@ include::includes/man.de.adoc[tag=copyright]
== SUPPORT / FEHLER MELDEN
für Hilfe oder um einen Fehler zu melden: https://weechat.org/about/support/
für Hilfe oder um einen Fehler zu melden: https://weechat.org/about/support
+1 -1
View File
@@ -59,4 +59,4 @@ include::includes/man.de.adoc[tag=copyright]
== SUPPORT / FEHLER MELDEN
für Hilfe oder um einen Fehler zu melden: https://weechat.org/about/support/
für Hilfe oder um einen Fehler zu melden: https://weechat.org/about/support
+196 -143
View File
@@ -10,10 +10,13 @@
:docinfo1:
Diese Dokumentation bezieht sich auf die WeeChat Version ≥ 0.3.0. Es sollte aber
vorzugsweise immer die aktuell veröffentlichte Version von WeeChat genutzt werden.
Übersetzer:
* Juergen Descher <jhdl@gmx.net>, 2009
* Nils Görs <weechatter@arcor.de>, 2009-2022
* Nils Görs <weechatter@arcor.de>, 2009-2018
toc::[]
@@ -35,8 +38,7 @@ Aber diese Bedeutung trifft nicht auf WeeChat zu!)
WeeChat ist sehr speicherschonend und besticht durch innovative Funktionen.
Weitere Infomationen über Weechat
https://weechat.org/about/features/[features page ^↗^,window=_blank].
Weitere Informationen findet man auf der WeeChat Seite: https://weechat.org/about/features
[[compilation_install]]
== Kompilierung / Installation
@@ -44,17 +46,17 @@ https://weechat.org/about/features/[features page ^↗^,window=_blank].
[[gui]]
=== Ich habe gehört es gibt verschiedene GUIs für WeeChat. Wie kann ich diese kompilieren bzw. nutzen?
Einige Remote-GUIs sind verfügbar, siehe
https://weechat.org/about/interfaces/[remote interfaces page ^↗^,window=_blank].
Es sind einige Remote-Oberflächen verfügbar. Diese findet man auf der Homepage:
https://weechat.org/about/interfaces
[[compile_git]]
=== Ich kann WeeChat nach Cloning des git Repository nicht kompilieren - weshalb?
Es wird empfohlen link:weechat_user.de.html#compile_with_cmake[CMake ^↗^,window=_blank] zum
Es wird empfohlen link:weechat_user.de.html#compile_with_cmake[CMake] zum
kompilieren von WeeChat zu nutzen.
Falls Du WeeChat mit Hilfe der
link:weechat_user.de.html#compile_with_autotools[autotools ^↗^,window=_blank] kompilieren solltest
link:weechat_user.de.html#compile_with_autotools[autotools] kompilieren solltest
(dich also nicht für CMake entscheidest), stelle sicher, dass Du die neueste
Version von autoconf und automake besitzt.
@@ -67,7 +69,7 @@ das Repository klont und daraus Updates installiert.
[[compile_macos]]
=== Wie installiere ich WeeChat auf macOS?
Wir empfehlen, dass zur Installation https://brew.sh/[Homebrew ^↗^,window=_blank] genutzt wird.
Wir empfehlen, dass zur Installation https://brew.sh/[Homebrew] genutzt wird.
Hilfe erhält man mittels:
----
@@ -85,12 +87,12 @@ brew install weechat
Um Hilfe zu erhalten, nutze den `/help` Befehl.
Jeder Befehl besitzt einen Hilfstext, den man sich durch `/help Befehlsname` anzeigen lassen kann.
Die link:weechat_user.de.html#key_bindings[Standard Tastenbelegung ^↗^,window=_blank] sowie
link:weechat_user.de.html#commands_and_options[Befehle und Optionen ^↗^,window=_blank] sind im
link:weechat_user.de.html[Benutzerhandbuch ^↗^,window=_blank] aufgeführt.
Die link:weechat_user.de.html#key_bindings[Standard Tastenbelegung] sowie
link:weechat_user.de.html#commands_and_options[Befehle und Optionen] sind im
link:weechat_user.de.html[Benutzerhandbuch] aufgeführt.
Neuen Anwendern wird empfohlen,
die link:weechat_quickstart.de.html[Quickstart Anleitung ^↗^,window=_blank] zu lesen.
die link:weechat_quickstart.de.html[Quickstart Anleitung] zu lesen.
[[display]]
== Anzeige
@@ -123,7 +125,7 @@ Es ist deshalb wichtig, *ALLE* der folgenden Lösungsmöglichkeiten zu prüfen:
("`defutf8 on`" in der Datei ~/.screenrc oder `screen -U` beim Starten von
screen).
* Überprüfe die Option
link:weechat_user.de.html#option_weechat.look.eat_newline_glitch[_weechat.look.eat_newline_glitch_ ^↗^,window=_blank]
link:weechat_user.de.html#option_weechat.look.eat_newline_glitch[_weechat.look.eat_newline_glitch_]
(diese Option kann schwerwiegenden Darstellungsfehler verursachen, wenn man die Option aktiviert hat).
[NOTE]
@@ -139,10 +141,10 @@ Dieser Fehler sollte durch glibc 2.22 behoben sein (vielleicht ist diese Version
verwendeten Distributionen noch nicht verfügbar).
Es gibt folgende Übergangslösung, um das Problem mit der _wcwidth_ zu umgehen:
https://blog.nytsoi.net/2015/05/04/emoji-support-for-weechat[https://blog.nytsoi.net/2015/05/04/emoji-support-for-weechat ^↗^,window=_blank].
https://blog.nytsoi.net/2015/05/04/emoji-support-for-weechat
Siehe https://github.com/weechat/weechat/issues/79[bug report ^↗^,window=_blank]
für weitere Informationen.
Siehe auch diese Fehlermeldung für weitere Informationen:
https://github.com/weechat/weechat/issues/79
[[bars_background]]
=== Weshalb haben Bars, z.B. Titel und Status, keine Hintergrundfarbe bzw. diese endet direkt nach dem Text?
@@ -197,10 +199,17 @@ von einem oder mehreren Fenstern gleichzeitig angezeigt werden.
[[buffers_list]]
=== Wie kann ich eine Liste mit den Buffern z.B. auf der linken Seite anzeigen lassen?
Diese Erweiterung, link:weechat_user.de.html#buflist[buflist ^↗^,window=_blank],
wird standardmäßig geladen und aktiviert.
Ab WeeChat ≥ 1.8 wird standardmäßig die link:weechat_user.de.html#buflist_plugin["buflist"-Erweiterung]
automatisch geladen und verwendet.
Um die maximale Breite der buflist-Spalte zu reduzieren, nutze folgende Option:
Bei älteren Versionen kann stattdessen das Skript _buffers.pl_ installiert werden:
----
/script install buffers.pl
----
Um die maximale Breite der buflist-Spalte zu reduzieren (ersetze "buflist" durch "buffers", wenn das
Skript _buffers.pl_ genutzt wird), nutze folgende Option:
----
/set weechat.bar.buflist.size_max 15
@@ -220,6 +229,26 @@ kbd:[F1] oder kbd:[Ctrl+F1]) zum Hoch-Scrollen,
kbd:[F2] oder kbd:[Ctrl+F2] zum Runter-Scrollen,
kbd:[Alt+F1] und kbd:[Alt+F2] um an den Anfang bzw. an das Ende der Liste zu springen.
Wird das Skript _buffers.pl_ verwendet,
müssen die entsprechenden Tasten selbst definiert werden.
Sie sind dann vergleichbar mit den vorhanden Tasten für die Nicklist. +
Um zum Beispiel folgende Tasten nutzen zu können:
kbd:[F1], kbd:[F2] um zu scrollen,
oder kbd:[Alt+F1] und kbd:[Alt+F2] um an den Anfang bzw. das Ende zu springen,
finden folgende WeeChat-Befehle Anwendung:
----
/key bind meta-OP /bar scroll buffers * -100%
/key bind meta-OQ /bar scroll buffers * +100%
/key bind meta-meta-OP /bar scroll buffers * b
/key bind meta-meta-OQ /bar scroll buffers * e
----
[NOTE]
Die Tasten "meta-OP" und "meta-OQ" können im Hinblick auf das jeweils genutzte Terminal variieren.
Um die korrekten Tasten zu finden, sollte man mit kbd:[Alt+k] die gewünschte Tastenkombination einfangen.
Siehe auch: link:weechat_user.de.html#key_bindings_command_line[Benutzerhandbuch / Tastenbelegung].
[[customize_buflist]]
=== Wie kann ich die Darstellung der Bufferliste anpassen, z.B. die Farbe des aktiven Buffers?
@@ -242,8 +271,8 @@ Es kann auch eine beliebige numerische Farbe anstelle von "Rot" verwendet werden
Die Buflist-Erweiterung bietet viele Optionen, zum individualisieren. Bitte lesen Sie dazu die Hilfe von jeder Option.
Es gibt zusätzlich die https://github.com/weechat/weechat/wiki/buflist[wiki page ^↗^,window=_blank]
mit Beispielen für die erweiterte buflist Konfiguration.
Es gibt auch eine Wiki-Seite mit Beispielen, wie eine erweiterte Konfiguration aussehen kann:
https://github.com/weechat/weechat/wiki/buflist
[[customize_prefix]]
=== Wie kann ich die Länge eines Nicknamens begrenzen oder die Ausrichtung des Nicks im Chatbereich entfernen?
@@ -289,8 +318,8 @@ Diese Farben können mit den Optionen __weechat.color.status_data_*__
Weitere hotlist Eigenschaften können mit Hilfe der Optionen __weechat.look.hotlist_*__
verändert werden.
Siehe link:weechat_user.de.html#screen_layout[Benutzerhandbuch / Screen layout ^↗^,window=_blank]
für weitere Informationen zur Hotlist.
Siehe link:weechat_user.de.html#screen_layout[Benutzerhandbuch / Screen layout] für
weitere Informationen zur Hotlist.
[[input_bar_size]]
=== Wie kann man eine mehrzeilige Eingabezeile einstellen?
@@ -339,8 +368,9 @@ sobald das Item "input_text" in keiner anderen Bar genutzt wird:
[[terminal_copy_paste]]
=== Wie kann ich einen Text kopieren und einfügen, ohne dass die Nickliste (Benutzerliste) mit kopiert wird?
Sie können den vereinfachten Anzeigemodus verwenden (Standardtaste: kbd:[Alt+l] (`L`)), dieser
zeigt nur den Inhalt des aktuell ausgewählten Fensters an, ohne jegliche Formatierung.
Seit WeeChat ≥ 1.0 gibt es den "einfachen Anzeigemodus".
Dieser kann mit der Tastenkombination kbd:[Alt+l] (<l> wie in Lima) aktiviert werden.
Der Inhalt des aktuellen Fensters wird nach der Aktivierung ohne Formatierung angezeigt.
Jetzt kannst Du die Block-Auswahl nutzen, insofern dein Terminal diesen Modus
unterstützt (rxvt-unicode, konsole, gnome-terminal, ... um nur einige zu nennen ).
@@ -357,7 +387,8 @@ die Benutzerliste am oberen oder unteren Rand des WeeChat-Bildschirmes zu positi
[[urls]]
=== Wie kann ich eine URL aufrufen, die einen Zeilenumbruch besitzt?
Dazu kann man den vereinfachten Anzeigemodus nutzen (Standardtaste: kbd:[Alt+l] (`L`)).
Seit WeeChat ≥ 1.0 gibt es den "einfachen Anzeigemodus".
Dieser kann mit der Tastenkombination kbd:[Alt+l] (<l> wie in Lima) aktiviert werden.
Um URLs einfacher zu öffnen, können alternativ folgende Optionen gesetzt werden:
@@ -367,7 +398,7 @@ Um URLs einfacher zu öffnen, können alternativ folgende Optionen gesetzt werde
/set weechat.bar.nicklist.position top
----
* Die Ausrichtung bei einem Zeilenumbruch innerhalb eines Wortes deaktivieren.
* Die Ausrichtung bei einem Zeilenumbruch innerhalb eines Wortes deaktivieren (WeeChat ≥ 1.7).
----
/set weechat.look.align_multiline_words off
@@ -379,9 +410,9 @@ Um URLs einfacher zu öffnen, können alternativ folgende Optionen gesetzt werde
/set weechat.look.align_end_of_lines time
----
Es kann auch die "eat_newline_glitch" Option aktiviert werden,
sodass kein neuer Zeilenumbruch hinzugefügt wird,
am Ende jeder angezeigten Zeile (es wird die URL-Auswahl nicht unterbrechen):
Ab der WeeChat Version ≥ 0.3.6, kann die Option "eat_newline_glitch" aktiviert werden.
Damit wird das Zeichen für einen Zeilenumbruch nicht an die dargestellten Zeilen angefügt
(dies führt dazu, dass URLs beim Markieren korrekt erkannt werden):
----
/set weechat.look.eat_newline_glitch on
@@ -410,7 +441,7 @@ Natürlich ist das möglich:
[[timezone]]
=== Wie kann ich die Zeitzone ändern?
Es gibt in WeeChat keine Option um die Zeitzone einzustellen. Die
Es gibt in WeeChat keine Option um die Zeitzone einzustellen. Die
Umgebungsvariable `TZ` muss auf einen entsprechenden Wert eingestellt werden.
Am Besten machen Sie dies in Ihrer Shell-Initialisierungsdatei oder in der
Befehlszeile, bevor Sie WeeChat starten:
@@ -428,6 +459,8 @@ In WeeChat wird der neue Wert umgehend genutzt:
[[use_256_colors]]
=== Wie kann ich 256 Farben in WeeChat nutzen?
256 Farben werden ab der WeeChat Version ≥ 0.3.4 unterstützt.
Zuerst sollte überprüft werden, ob die _TERM_-Umgebungsvariable korrekt hinterlegt ist.
Folgende Werte sind zu empfehlen:
@@ -448,18 +481,21 @@ term screen-256color
Falls die Umgebungsvariable _TERM_ einen falschen Wert haben sollte und WeeChat
schon gestartet wurde, kann man die Umgebungsvariable mit folgenden WeeChat Befehlen
anpassen:
anpassen (WeeChat ≥ 1.0):
----
/set env TERM screen-256color
/upgrade
----
Sie können eine beliebige Farbnummer in den Optionen verwenden (optional: Sie können Farbaliase,
mit dem Befehl `/color`, erstellen.
Mit der WeeChat Version 0.3.4 muss der Befehl `/color` genutzt werden, um neue Farben zu erstellen.
Bitte lese link:weechat_user.de.html#colors[Benutzerhandbuch / Farben ^↗^,window=_blank]
für weitere Informationen die das Farbmanagement betreffen.
Ab Version ≥ 0.3.5 kann in den Optionen für eine zu nutzende Farbe die entsprechende
Zahl der Farbe eingetragen werden (optional: mit dem Befehl `/color` kann man einen Alias für
eine Farbe definieren).
Bitte lese link:weechat_user.de.html#colors[Benutzerhandbuch / Farben] für weitere
Informationen die das Farbmanagement betreffen.
[[search_text]]
=== Wie kann ich in einem Buffer nach einem Text suchen (vergleichbar /lastlog in irssi)?
@@ -469,8 +505,8 @@ Die Standardtastenbelegung lautet kbd:[Ctrl+r]
Um zu Highlight-Nachrichten zu springen:
kbd:[Alt+p] für vorherige, kbd:[Alt+n] für die nächste Nachricht.
siehe link:weechat_user.de.html#key_bindings[Benutzerhandbuch / Standard Tastenbelegung ^↗^,window=_blank]
für weitere Informationen zu dieser Funktion.
siehe link:weechat_user.de.html#key_bindings[Benutzerhandbuch / Standard Tastenbelegung] für weitere
Informationen zu dieser Funktion.
[[terminal_focus]]
=== Wie kann ich Befehle ausführen, wenn der Terminal (keinen) Fokus hat?
@@ -505,7 +541,7 @@ Um zum Beispiel Buffer als gelesen zu markieren,
wenn das Terminal den Fokus verlieren sollte:
----
/key bind meta2-O /allbuf /buffer set unread
/key bind meta2-O /input set_unread
----
[[screen_paste]]
@@ -523,10 +559,9 @@ Der bracketed paste Modus kann wie folgt deaktiviert werden:
[[small_terminal]]
=== Wie kann ich die Anzeige bei sehr kleinen Terminalgrößen (wie 80 x 25) optimieren, um keinen Platz zu verschwenden?
Die seitlichen Bars (buflist und nicklist) können deaktiviert werden, die Datums-
anzeige sollte nur Stunden und Minuten darstellen, die Ausrichtung von Nach-
richten sollte ebenfalls deaktiviert werden und es sollte der Nick mit einen
Präfix und Suffix vesehen werden:
Sie können die seitlichen Bars (Buflist und Nicklist) entfernen und das Zeitformat im Buffer anpassen,
sodass nur Stunden und Sekunden angezeigt werden. Die Ausrichtung von Nachrichten sollte deaktiviert
und der Präfix/Suffix für Nicks gesetzt werden:
----
/set buflist.look.enabled off
@@ -650,7 +685,7 @@ Es kann auch eine neue Taste eingebunden werden um zu einem Buffer zu wechseln:
----
Eine Auflistung der Standardtastenbelegung findet man in
link:weechat_user.de.html#key_bindings[Benutzerhandbuch / Standard Tastenbelegung ^↗^,window=_blank].
link:weechat_user.de.html#key_bindings[Benutzerhandbuch / Standard Tastenbelegung].
Um zu Buffern zu wechseln die an Position ≥ 100 sind kann ein Trigger definiert
werden um dann z.B. mit einem Kurzbefehl `/123` zum Buffer #123 zu springen:
@@ -682,6 +717,8 @@ Um die korrekten Tasten zu finden, sollte man mit kbd:[Alt+k] die gewünschte Ta
[[mouse_not_working]]
=== Die Mausunterstützung funktioniert nicht, was kann ich tun?
Eine Unterstützung von Mausfunktionen ist seit WeeChat ≥ 0.3.6 verfügbar.
Als erstes sollte man die Mausunterstützung einschalten:
----
@@ -738,6 +775,11 @@ anstelle der kbd:[Shift]-Taste gedrückt werden).
Falls macOS genutzt wird,
muss mittels Homebrew `openssl` installiert werden.
Eine CA-Datei wird mittels Zertifikaten vom Systemschlüssel geladen.
Der Pfad zu den Zertifikaten kann in WeeChat eingestellt werden:
----
/set weechat.network.gnutls_ca_file "/usr/local/etc/openssl/cert.pem"
----
Falls Fehlermeldungen auftreten, die besagen,
dass der gnutls Handshake fehlgeschlagen ist,
@@ -768,25 +810,39 @@ des Zertifikats von Hand eingetragen werden:
[[irc_ssl_handshake_error]]
=== Bei einem Verbindungsaufbau zum Server via SSL erhalte ich "TLS Handshake fehlgeschlagen". Wie kann ich das beheben?
Man sollte versuchen, eine andere Priorität zu nutzen; Im folgenden Beispiel
muss "xxx" durch den betroffenen Servernamen ersetzt werden:
Man sollte versuchen, eine andere Priorität zu nutzen (nur WeeChat ≥ 0.3.5);
Im folgenden Beispiel muss "xxx" durch den betroffenen Servernamen ersetzt werden:
----
/set irc.server.xxx.ssl_priorities "NORMAL:-VERS-TLS-ALL:+VERS-TLS1.0:+VERS-SSL3.0:%COMPAT"
----
[[irc_ssl_libera]]
=== Wie kann ich eine SSL gesicherte Verbindung zum libera Server herstellen?
[[irc_ssl_freenode]]
=== Wie kann ich eine SSL gesicherte Verbindung zum freenode Server herstellen?
Überprüfen Sie, ob auf Ihrem System Zertifikate installiert sind. Dies wird häufig
durch das Paket "ca-certificates" bereitgestellt.
Die Option _weechat.network.gnutls_ca_file_ sollte auf die Zertifikationsdatei zeigen:
----
/set weechat.network.gnutls_ca_file "/etc/ssl/certs/ca-certificates.crt"
----
Wenn openssl mit homebrew unter macOS installiert wurde, könnte es sein,
dass die Zertifikate in einer anderen Datei bereitgestellt werden:
----
/set weechat.network.gnutls_ca_file "/usr/local/etc/openssl/cert.pem"
----
[NOTE]
Überprüfe, ob die Zertifikationsdatei auf deinem System installiert wurde.
Üblicherweise wird diese Datei durch das Paket "ca-certificates" bereitgestellt.
Konfiguration des Servers, Port angeben, SSL aktivieren und Verbindung herstellen:
----
/set irc.server.libera.addresses "irc.libera.chat/6697"
/set irc.server.libera.ssl on
/connect libera
/set irc.server.freenode.addresses "chat.freenode.net/7000"
/set irc.server.freenode.ssl on
/connect freenode
----
[[irc_oauth]]
@@ -806,57 +862,50 @@ ersetzt werden:
----
[[irc_sasl]]
=== Wie kann ich mich vor dem Betreten von Kanälen identifizieren?
=== Wie kann ich mich vor dem Betreten von Channels identifizieren?
Sollte der Server SASL unterstützen,
ist es ratsam auf diese Funktion zurückzugreifen
und sich nicht mittels "nickserv" zu authentifizieren:
----
/set irc.server.libera.sasl_username "meinNick"
/set irc.server.libera.sasl_password "xxxxxxx"
/set irc.server.freenode.sasl_username "meinNick"
/set irc.server.freenode.sasl_password "xxxxxxx"
----
Unterstützt der Server keine SASL Authentifizierung,
kann eine Verzögerung aktiviert werden,
um sich vor dem Betreten von Kanälen bei "nickserv" zu identifizieren:
um sich vor dem Betreten von Channels bei "nickserv" zu identifizieren:
----
/set irc.server.libera.command_delay 5
/set irc.server.freenode.command_delay 5
----
[[edit_autojoin]]
=== Wie kann ich Kanäle zur autojoin Option hinzufügen oder entfernen?
=== Wie kann ich Channels zur autojoin Option entfernen/hinzufügen?
Ab WeeChat ≥ 3.5 können Sie die Kanäle, denen Sie manuell betreten und verlassen,
automatisch aufzeichnen und die Serveroption „autojoin“ entsprechend anpassen.
Für alle Server:
Um die Liste der autojoin Channels zu editieren,
kann der Befehl `/set` genutzt werden.
In folgendem Beispiel wird der "freenode"-Server angepasst:
----
/set irc.server_default.autojoin_dynamic on
/set irc.server.freenode.autojoin [TAB]
----
Für einen einzelnen Server:
[NOTE]
Man kann den Namen oder den Wert einer Option mit kbd:[Tab] vervollständigen
oder mittels kbd:[Shift+Tab] eine teilweise Vervollständigung durchführen,
was bei Namen sinnvoll ist, denn so braucht nicht die komplette Liste
der Channels neu geschrieben werden.
Es kann auch der `/fset` Befehl verwendet werden, um die Liste der Channels
zu editieren:
----
/set irc.server.libera.autojoin_dynamic on
/fset autojoin
----
Sie können den aktuellen Kanal auch in der Serveroption "autojoin" hinzufügen, indem
Sie den `/autojoin`-Befehl nutzen:
----
/autojoin add
----
oder einen beliebigen Kanal:
----
/autojoin add #test
----
Es existieren aber auch Skripten:
oder man nutzt ein Skript:
----
/script search autojoin
@@ -866,9 +915,9 @@ Es existieren aber auch Skripten:
=== Was ist der Unterschied zwischen dem Befehl /ignore und /filter?
Der Befehl `/ignore` ist ein (clientseitiger) IRC-Befehl und beeinflusst direkt,
welche vom Server empfangenen Nachrichten im IRC-Buffer (Server und Kanäle) landen.
welche vom Server empfangenen Nachrichten im IRC-Buffer (Server und Channel) landen.
Durch diesen Befehl können bestimmte Nicks oder Hostnamen von bestimmten Servern
oder Kanäle ignoriert werden.
oder Channels ignoriert werden.
Der Befehl wird nicht auf den Inhalt eines IRC-Buffers angewandt.
Zutreffende Meldungen werden, bevor sie dem Buffer zugeführt werden,
von der "irc"-Erweiterung gelöscht. Es gibt somit keine Möglichkeit,
@@ -889,7 +938,7 @@ Die voreingestellte Tastenkombination zum Aktivieren bzw. Deaktivieren
aller Filter ist kbd:[Alt+-].
[[filter_irc_join_part_quit]]
=== Wie kann ich join/part/quit Meldungen in den IRC Kanälen filtern/unterdrücken?
=== Wie kann ich join/part/quit Meldungen in den IRC Channels filtern/unterdrücken?
Zum einen mit dem Smart-Filter.
Bei dessen Anwendung werden join/part/quit-Meldungen von Usern angezeigt,
@@ -909,18 +958,19 @@ Dabei werden *alle* join/part/quit Nachrichten unterdrückt:
[NOTE]
Für weitere Hilfe: `/help filter`, `+/help irc.look.smart_filter+` und
link:weechat_user.de.html#irc_smart_filter_join_part_quit[Benutzerhandbuch / einfacher Filter für join/part/quit Nachrichten ^↗^,window=_blank].
link:weechat_user.de.html#irc_smart_filter_join_part_quit[Benutzerhandbuch / einfacher Filter für join/part/quit Nachrichten].
[[filter_irc_join_channel_messages]]
=== Wie kann ich die Server-Nachrichten filtern, wenn ich einen IRC Kanal betrete?
=== Wie kann ich Server-Nachrichten filtern, wenn ich einen IRC Channel betrete?
Sie können auswählen, welche Nachrichten angezeigt werden, wenn Sie einem Kanal beitreten
Option _irc.look.display_join_message_ (siehe `+/help irc.look.display_join_message+`
Für mehr Information).
Ab WeeChat ≥ 0.4.1 kann man auswählen, welche Server-Nachrichten beim Betreten
eines Channels angezeigt und welche verborgen werden sollen. Dazu nutzt man
die Option _irc.look.display_join_message_ (für weitere Informationen, siehe
`+/help irc.look.display_join_message+`).
Um Nachrichten visuell zu verbergen, können diese gefiltert werden.
Dazu wird der Befehl `/filter` auf bestimmte Nachrichten-Tags angewandt.
Das Tag _irc_329_ kennzeichnet beispielsweise das Erstellungsdatum des Kanals.
Das Tag _irc_329_ kennzeichnet beispielsweise das Erstellungsdatum des Channels.
Siehe `/help filter`, um weitere Informationen über die Filterfunktion zu
erhalten.
@@ -935,13 +985,13 @@ da diese dazu genutzt werden um den Abwesenheitsstatus anderer User anzuzeigen
und man nicht von diesen Mitteilungen überflutet werden möchte,
kann man WeeChat anweisen, abwesende Nicks in einer anderen Farbe darzustellen.
Nutzt man Bitlbee ≥ 3, sollte man im _&bitlbee_ Kanal folgendes eingeben:
Nutzt man Bitlbee ≥ 3, sollte man im _&bitlbee_ Channel folgendes eingeben:
----
channel set show_users online,away
----
für ältere Versionen von Bitlbee gibt man im _&bitlbee_ Kanal ein:
für ältere Versionen von Bitlbee gibt man im _&bitlbee_ Channel ein:
----
set away_devoice false
@@ -967,12 +1017,12 @@ in welchem Zeitintervall die Überprüfungen auf Abwesenheit stattfinden sollen.
Die Angabe des Wertes erfolgt in Minuten.
Mit der Option _irc.server_default.away_check_max_nicks_ kann festgelegt werden,
in welchen Kanälen eine Überprüfung stattfinden soll.
Hierbei stellt der angegebene Wert die maximale Anzahl an Nicks in einem Kanal dar,
die den Kanal gleichzeitig besuchen dürfen.
in welchen Channels eine Überprüfung stattfinden soll.
Hierbei stellt der angegebene Wert die maximale Anzahl an Nicks in einem Channel dar,
die den Channel gleichzeitig besuchen dürfen.
Im folgenden Beispiel wird der Abwesenheitsstatus alle fünf Minuten überprüft.
Dabei werden aber nur solche Kanäle berücksichtigt, die nicht mehr als 25
Dabei werden aber nur solche Channels berücksichtigt, die nicht mehr als 25
Teilnehmer haben:
----
@@ -980,13 +1030,18 @@ Teilnehmer haben:
/set irc.server_default.away_check_max_nicks 25
----
[[highlight_notification]]
=== Wie kann ich mich benachrichtigen lassen, falls mich jemand in einem Kanal direkt anspricht (highlight)?
[NOTE]
Für WeeChat ≤ 0.3.3, lauten die Optionen _irc.network.away_check_ und
_irc.network.away_check_max_nicks_.
Es gibt einen voreingestellten Trigger mit Namen „beep“, der ein _BEL_ an das Terminal sendet,
bei einem Highlight oder einer private Nachricht. Damit können Sie Ihr Terminal konfigurieren
(oder einen Multiplexer wie screen/tmux), um einen Befehl auszuführen oder einen Ton abzuspielen, wenn
ein _BEL_ tritt auf.
[[highlight_notification]]
=== Wie kann ich mich benachrichtigen lassen, falls mich jemand in einem Channel direkt anspricht (highlight)?
Seit WeeChat ≥ 1.0 gibt es standardmäßig den Trigger "beep",
der an das Terminal ein _BEL_ Signal schickt,
sobald man eine highlight (hervorgehobene) oder private Nachricht erhält.
Nun muss man lediglich im Terminalprogramm oder dem Multiplexer (screen/tmux) einstellen,
welcher Befehl ausgeführt werden soll, sobald das Terminal das _BEL_ Signal erhält.
Der Trigger "beep" kann auch direkt an einen externen Befehl gekoppelt werden:
@@ -1012,9 +1067,11 @@ Es gibt weitere Skripten, die auch zu diesem Thema passen:
[[disable_highlights_for_specific_nicks]]
=== Wie kann ich Highlights (Hervorhebungen) von bestimmten Nicks deaktivieren?
Dafür sollte link:weechat_user.de.html#max_hotlist_level_nicks[hotlist_max_level_nicks_add ^↗^,window=_blank]
die Buffer-Eigenschaft genutzt werden, um das maximale Hotlist-Level für einige Nicks pro Puffer festzulegen,
oder pro Gruppe von Buffern (wie IRC-Server).
Ab WeeChat ≥ 0.3.4 kann die Eigenschaft
link:weechat_user.de.html#max_hotlist_level_nicks[hotlist_max_level_nicks_add]
für den entsprechenden Buffer gesetzt werden.
Dies kann für einzelne Nicks,
einen Buffer oder eine Gruppe von Buffern (z.B. IRC Server) gelten.
Um nun Highlights (Hervorhebungen) für bestimmte Nicks zu deaktivieren, muss
man die entsprechende Eigenschaft auf 2 setzen:
@@ -1031,17 +1088,17 @@ das Skript _buffer_autoset.py_ nutzen:
/script install buffer_autoset.py
----
Um zum Beispiel Highlights (Hervorhebungen) von Nick "mike" im Kanal
#weechat auf dem IRC Server libera zu deaktivieren:
Um zum Beispiel Highlights (Hervorhebungen) von Nick "mike" im Channel
#weechat auf dem IRC Server freenode zu deaktivieren:
----
/buffer_autoset add irc.libera.#weechat hotlist_max_level_nicks_add mike:2
/buffer_autoset add irc.freenode.#weechat hotlist_max_level_nicks_add mike:2
----
Um dies auf den kompletten libera Server anzuwenden:
Um dies auf den kompletten freenode Server anzuwenden:
----
/buffer_autoset add irc.libera hotlist_max_level_nicks_add mike:2
/buffer_autoset add irc.freenode hotlist_max_level_nicks_add mike:2
----
Für weitere Beispiele, siehe `+/help buffer_autoset+`.
@@ -1050,7 +1107,7 @@ Für weitere Beispiele, siehe `+/help buffer_autoset+`.
=== Wie kann ich bei zusammengefügten Buffern den Zielbuffer ändern (z.B. bei einem Server-Buffer)?
Die Standardtastenkombination ist kbd:[Ctrl+x]. Der entsprechende Befehl lautet:
`+/buffer switch+`.
`+/input switch_active_buffer+`.
[[plugins_scripts]]
== Erweiterungen / Skripten
@@ -1070,26 +1127,25 @@ Um dies zu beheben, muss folgendes konfiguriert werden:
[[install_scripts]]
=== Wie kann ich Skripten installieren? Sind Skripten kompatibel mit anderen IRC Clients?
Mit dem Befehl `/script` können Sie Skripte installieren und verwalten (siehe `/help script`
für Hilfe).
Seit WeeChat ≥ 0.3.9 gibt es den Befehl `/script` um Skripten zu installieren und zu verwalten
(siehe `/help script` um eine Hilfe zu erhalten). Nutzt man eine ältere Version von WeeChat
kann man die Skripten weeget.py und script.pl nutzen.
Die Skripten für WeeChat sind mit anderen IRC-Clients nicht kompatibel und vice versa.
[[scripts_update]]
=== Der Befehl "/script update" liest die Skriptliste nicht ein, wie kann ich das beheben?
Als erstes sollte das Kapitel über SSL Verbindungen in dieser FAQ gelesen werden.
Als erstes sollte das Kapitel über SSL Verbindungen in dieser FAQ gelesen werden
(besonders über die Option _weechat.network.gnutls_ca_file_).
Wenn das nicht hilft, sollte die Skriptliste von Hand gelöscht werden. Dazu
folgenden Befehl in der Shell ausführen:
----
$ rm ~/.cache/weechat/script/plugins.xml.gz
$ rm ~/.weechat/script/plugins.xml.gz
----
[NOTE]
Wenn Sie die XDG-Verzeichnisse nicht verwenden, könnte der Pfad lauten: _~/.weechat/script/plugins.xml.gz_.
Danach sollte man noch einmal versuchen die Datei herunter zu laden:
----
@@ -1109,18 +1165,10 @@ Das bedeutet aber auch, dass die Skripten von Hand aktuell gehalten werden müss
* und in der Shell, mit installiertem curl:
----
$ cd ~/.cache/weechat/script
$ cd ~/.weechat/script
$ curl -O https://weechat.org/files/plugins.xml.gz
----
Wenn Sie macOS ausführen und die heruntergeladene Datei eine Größe von 0 Byte hat,
versuchen Sie, diese Variable in Ihrer Shell-Initialisierungsdatei oder auf der
Befehlszeile zu setzen. Bevor Sie WeeChat starten:
----
export OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES
----
[[spell_dictionaries]]
=== Ich habe aspell Wörterbücher auf mein System installiert. Wie kann ich diese nutzen, ohne WeeChat neu starten zu müssen?
@@ -1130,6 +1178,10 @@ Du brauchst lediglich die "spell"-Erweiterung neu zu laden:
/plugin reload spell
----
[NOTE]
Bis WeeChat ≤ 2.4, hieß die "spell"-Erweiterung, "aspell". Somit lautet der Befehl:
`/plugin reload aspell`.
[[settings]]
== Einstellungen
@@ -1165,8 +1217,9 @@ Damit WeeChat weniger Speicher benötigt, solltest Du folgende Tipps umsetzen:
Fifo, Logger, Perl, Python, Ruby, Lua, Tcl, Guile, JavaScript, PHP, Spell, Xfer
(wird für DCC benötigst), siehe `/help weechat.plugin.autoload`.
* installiere ausschließlich Skripten die Du auch nutzt
* Laden Sie keine Systemzertifikate, wenn SSL *NICHT* verwendet wird: Deaktivieren Sie diese Option:
_weechat.network.gnutls_ca_system_.
* falls man SSL *NICHT* nutzt, sollte kein Zertifikat geladen werden. In diesem
Fall, einfach den Eintrag in folgender Option leer lassen:
_weechat.network.gnutls_ca_file_
* der Wert der Option _weechat.history.max_buffer_lines_number_ sollte möglichst
niedrig eingestellt werden oder die Option _weechat.history.max_buffer_lines_minutes_
verwendet werden.
@@ -1219,28 +1272,29 @@ Definiere eine Passphrase und nutze ausschließlich geschützte Daten wann immer
es möglich ist, wie z.B. bei Passwörtern: siehe `/help secure` und nutze `/help`
bei der entsprechenden Option (falls man geschützte Daten nutzen kann, wird es
im Hilfstext erwähnt).
Siehe auch link:weechat_user.de.html#secured_data[Benutzerhandbuch / sensible Daten ^↗^,window=_blank].
Siehe auch link:weechat_user.de.html#secured_data[Benutzerhandbuch / sensible Daten].
Beispiel:
----
/secure passphrase xxxxxxxxxx
/secure set libera_username username
/secure set libera_password xxxxxxxx
/set irc.server.libera.sasl_username "${sec.data.libera_username}"
/set irc.server.libera.sasl_password "${sec.data.libera_password}"
/secure set freenode_username username
/secure set freenode_password xxxxxxxx
/set irc.server.freenode.sasl_username "${sec.data.freenode_username}"
/set irc.server.freenode.sasl_password "${sec.data.freenode_password}"
----
[[sharing_config_files]]
=== Ich möchte meine WeeChat Konfiguration teilen. Welche Dateien kann ich weitergeben und welche sollte ich behalten?
Sie können Ihre _*.conf_ Konfigurationsdateien teilen, mit Ausnahme der Datei _sec.conf_, die Ihre mit
Ihrer Passphrase verschlüsselten Kennwörter enthält.
Es können alle _~/.weechat/*.conf_ Dateien geteilt werden.
Hiervon ausgenommen ist die Datei _sec.conf_,
die durch eine Passphrase verschlüsselte, sensible, Daten enthalten kann.
Einige andere Dateien enthalten möglicherweise vertrauliche Informationen wie
Kennwörter (sofern sie nicht mit dem Befehl `/secure` in _sec.conf_ gesichert werden).
Siehe link:weechat_user.de.html#files_and_directories[Benutzerhandbuch / Dateien und Verzeichnisse ^↗^,window=_blank]
Siehe link:weechat_user.de.html#files_and_directories[Benutzerhandbuch / Dateien und Verzeichnisse]
für weitere Informationen über Konfigurationsdateien.
[[development]]
@@ -1249,7 +1303,7 @@ für weitere Informationen über Konfigurationsdateien.
[[bug_task_patch]]
=== Was kann ich machen, falls ich einen Fehler gefunden habe, mich nach neuen Funktionen erkundigen oder Patches einsenden möchte?
siehe https://weechat.org/about/support/[this page ^↗^,window=_blank].
siehe: https://weechat.org/about/support
[[gdb_error_threads]]
=== Wenn man WeeChat in gdb startet, kann ein Thread-Fehler auftreten. Was beudeutet das?
@@ -1274,8 +1328,7 @@ $ LD_PRELOAD=/lib/libpthread.so.0 gdb /Pfad/zu/weechat
[[supported_os]]
=== Auf welchen Plattformen läuft WeeChat und wird es noch auf andere Betriebssysteme portiert?
WeeChat läuft auf den meisten Linux/BSD-Distributionen, GNU/Hurd, Mac OS und
Windows (Cygwin und Windows Subsystem für Linux) einwandfrei.
Eine vollständige Liste der Portierungen findest Du unter: https://weechat.org/download.
Wir geben unser Bestes, WeeChat auf möglichst viele Plattformen zu portieren.
Deshalb ist jede Hilfe gerne gesehen, die es uns ermöglicht,
@@ -1287,11 +1340,11 @@ Das Gleiche gilt für Systeme, zu denen wir keinen Zugang haben.
Es gibt einiges zu tun - z.B. testen, programmieren, dokumentieren, ...
Bitte kontaktieren Sie uns per IRC oder Mail, siehe
https://weechat.org/about/support/[support page ^↗^,window=_blank].
Bitte kontaktiere uns via IRC oder E-Mail, wirf einen Blick auf die Support-Seite:
https://weechat.org/about/support
[[donate]]
=== Kann ich Geld oder anderes an die WeeChat Entwickler spenden?
Sie können uns Geld spenden, um die Entwicklung zu unterstützen.
Details dazu, unter https://weechat.org/donate/[donation page ^↗^,window=_blank].
Du kannst uns Geld zur Unterstützung der weiteren Entwicklung spenden.
Details hierzu gibt es auf: https://weechat.org/donate
+51 -54
View File
@@ -123,13 +123,13 @@ Um eine Verbindung zu einem IRC Server herzustellen, wird der
`/server` Befehl verwendet. Beispiel:
----
/server add libera irc.libera.chat/6697 -ssl
/server add freenode chat.freenode.net
----
In diesem Beispiel ist `libera` der interne, von Weechat genutzte Servername.
Mit dem Befehl `/connect libera` kann jetzt die Verbindung
zu diesem Libera-IRC-Server aufgebaut werden.
Alle für den Server relevanten Optionen sind unter _irc.server.libera.xxx_ zu finden.
In diesem Beispiel ist `freenode` der interne, von Weechat genutzte Servername.
Mit dem Befehl `/connect freenode` kann jetzt die Verbindung
zu diesem Freenode-IRC-Server aufgebaut werden.
Alle für den Server relevanten Optionen sind unter _irc.server.freenode.xxx_ zu finden.
Verwende die Hilfe, falls noch Fragen offen sind:
@@ -149,24 +149,31 @@ definiert ist (nicht "null"). Andernfalls verwendet WeeChat die Vorgabewerte
(_irc.server_default.xxx_).
Beispielsweise werden Standard Nicks verwendet (basierend auf dem Un*x Login).
Sollen speziell für den libera-Server andere Nicks genutzt werden,
Sollen speziell für den freenode-Server andere Nicks genutzt werden,
können diese mit folgendem Befehl angepasst werden:
----
/set irc.server.libera.nicks "meinNick,meinNick2,meinNick3,meinNick4,meinNick5"
/set irc.server.freenode.nicks "meinNick,meinNick2,meinNick3,meinNick4,meinNick5"
----
Benutzernamen und wirklichen Namen (realname) anpassen:
----
/set irc.server.libera.username "Mein Benutzername"
/set irc.server.libera.realname "Mein wirklicher Name"
/set irc.server.freenode.username "Mein Benutzername"
/set irc.server.freenode.realname "Mein wirklicher Name"
----
Beim Start von WeeChat automatisch die Verbindung zu einem Server herstellen:
----
/set irc.server.libera.autoconnect on
/set irc.server.freenode.autoconnect on
----
Beim Verbindungsaufbau SSL (sichere Verbindung) nutzen:
----
/set irc.server.freenode.addresses "chat.freenode.net/7000"
/set irc.server.freenode.ssl on
----
Wenn der Server SASL unterstützt,
@@ -175,8 +182,8 @@ Der Benutzer wird auf diese Weise gegenüber dem IRC-Server identifiziert,
noch bevor Server-Befehle übermittelt oder Cannels (Chaträume) betreten werden können.
----
/set irc.server.libera.sasl_username "mynick"
/set irc.server.libera.sasl_password "xxxxxxx"
/set irc.server.freenode.sasl_username "mynick"
/set irc.server.freenode.sasl_password "xxxxxxx"
----
Wenn der Server keine SASL-Authentifizierung unterstützt,
@@ -184,7 +191,7 @@ muss der Benutzer sich nach dem Verbindungsaufbau bei "nickserv" identifizieren.
Der dafür notwendige IRC-Server-Befehl kann auch automatisch übermittelt werden:
----
/set irc.server.libera.command "/msg nickserv identify xxxxxxx"
/set irc.server.freenode.command "/msg nickserv identify xxxxxxx"
----
[NOTE]
@@ -200,19 +207,19 @@ Zuerst sollte die Passphrase gesetzt werden:
----
Jetzt wird das Passwort (`xxxxxx`)
für den Zugang zum Libera-Server verschlüsselt
und mit dem Bezeichner `libera_password` verknüpft:
für den Zugang zum Freenode-Server verschlüsselt
und mit dem Bezeichner `freenode_password` verknüpft:
----
/secure set libera_password xxxxxx
/secure set freenode_password xxxxxx
----
Das geschützte Libera-Passwort kann nun in anderen Optionen genutzt werden.
Das geschützte Freenode-Passwort kann nun in anderen Optionen genutzt werden.
Dazu wird anstelle des Klartext-Passwortes die Variable
`+${sec.data.libera_password}+` eingesetzt:
`+${sec.data.freenode_password}+` eingesetzt:
----
/set irc.server.libera.sasl_password "${sec.data.libera_password}"
/set irc.server.freenode.sasl_password "${sec.data.freenode_password}"
----
Das automatische Betreten (auto-join) von Channels (Chaträume) direkt nach dem
@@ -220,34 +227,7 @@ Verbindungsaufbau zum IRC-Server kann durch den Eintrag der gewünschten Channel
in folgender Option erreicht werden:
----
/set irc.server.libera.autojoin "#channel1,#channel2"
----
Mit dem `/autojoin` Befehl können die _autojoin_ Optionen einfach konfiguriert werden.
(siehe `/help autojoin`).
WeeChat kann auch konfigurieren werden, dass die _autojoin_ Optionen automatisch aktualisiert werden
sobald man Kanäle betritt oder verlässt:
----
/set irc.server_default.autojoin_dynamic on
----
Mit dem Befehl `/unset` können Server-Optionen zurückgesetzt werden.
Ist eine Server-Option zurückgesetzt, _wirkt_ der entsprechende Vorgabewert
aus dem fall-back-Bereich `irc.server_default.xxx`. So nimmt, beispielsweise
nach dem Rücksetzen der Libera-Nicks, diese Server-Option _automatisch_ den Wert
der entsprechenden fall-back-Option `irc.server_default.nicks` an:
----
/unset irc.server.libera.nicks
----
*Andere Optionen:*
Werte anderer Server-Optionen (`xxx`) können festgelegt werden mit:
----
/set irc.server.libera.xxx Wert
/set irc.server.freenode.autojoin "#channel1,#channel2"
----
[TIP]
@@ -256,14 +236,31 @@ vervollständigen und mittels kbd:[Shift+Tab] kann eine teilweise Vervollständi
durchgeführt werden (was bei langen Wörtern, wie z.B. dem Namen einer Option, nützlich
sein kann).
Mit dem Befehl `/unset` können Server-Optionen zurückgesetzt werden.
Ist eine Server-Option zurückgesetzt, _wirkt_ der entsprechende Vorgabewert
aus dem fall-back-Bereich `irc.server_default.xxx`. So nimmt, beispielsweise
nach dem Rücksetzen der Freenode-Nicks, diese Server-Option _automatisch_ den Wert
der entsprechenden fall-back-Option `irc.server_default.nicks` an:
----
/unset irc.server.freenode.nicks
----
*Andere Optionen:*
Werte anderer Server-Optionen (`xxx`) können festgelegt werden mit:
----
/set irc.server.freenode.xxx Wert
----
[[connect_to_irc_server]]
== Verbinden mit dem IRC-Server
----
/connect libera
/connect freenode
----
Mittels obigem Befehl stellt WeeChat eine Verbindung zum libera Server
Mittels obigem Befehl stellt WeeChat eine Verbindung zum freenode Server
her und betritt automatisch die Kanäle die in der "autojoin" Server-Option
aufgeführt sind.
@@ -441,14 +438,14 @@ Zeige eine liste aller verfügbaren Skripten:
/script
----
Eine Liste von Skripten ist in WeeChat mittels `/script` oder auf
https://weechat.org/scripts/[this page ^↗^,window=_blank] verfügbar.
Auf *weechat.org* von Drittanbietern bereitgestellte Scripten: https://weechat.org/scripts
[[more_doc]]
== Weitere Dokumentation
WeeChat kann nun verwendet werden und lesen Sie
https://weechat.org/doc/[FAQ/documentation ^↗^,window=_blank]
falls Sie weitere Fragen haben.
Mit dieser Quickstart-Anleitung wurden dir die wesentlichen
Bedienungswerkzeuge von WeeChat nähergebracht.
Für das eingehende Studium aller verfügbaren Funktionalitäten
sei dir unsere ausführliche FAQ/Dokumentation ans Herz gelegt: https://weechat.org/doc
Viel Spass mit WeeChat!
+195 -279
View File
@@ -17,8 +17,8 @@
Diese Anleitung beschreibt den WeeChat Chat Client und ist Teil von WeeChat.
Die neueste Version dieses Dokuments finden Sie unter
https://weechat.org/doc/[this page ^↗^,window=_blank].
Die aktuelle Version dieser Anleitung finden Sie auf:
https://weechat.org/doc
[[introduction]]
@@ -67,23 +67,18 @@ Ein Skript darf *NIEMALS* einen fork nutzen oder einen eigenen Thread erstellen,
dafür gibt es explizit eine API Funktion, andernfalls kann WeeChat abstürzen. +
Wenn etwas in einem Hintergrundprozess ausgeführt werden soll, kann die Funktion
`+hook_process+` genutzt werden. Siehe Beispiele im Kapitel <<hook_process,Hintergrundprozesse>>
und die Dokumentation für die Funktion `+hook_process+` in link:weechat_plugin_api.en.html#_hook_process[WeeChat plugin API reference ^↗^,window=_blank] (Englisch).
und die Dokumentation für die Funktion `+hook_process+` in link:weechat_plugin_api.en.html#_hook_process[WeeChat plugin API reference] (Englisch).
[[languages_specificities]]
=== Besonderheiten der einzelnen Skriptsprachen
[[language_python]]
==== Python
[[python_module]]
===== Module
WeeChat definiert ein `weechat` Module welches mittels `import weechat`
importiert werden muss. +
Ein Python-Stub für die WeeChat-API ist im Repository verfügbar:
https://raw.githubusercontent.com/weechat/weechat/master/src/plugins/python/weechat.pyi[weechat.pyi ^↗^,window=_blank].
importiert werden muss.
[[python_functions]]
===== Funktionen
Funktionen werden aufgerufen mittels `+weechat.xxx(arg1, arg2, ...)+`.
@@ -91,7 +86,6 @@ Funktionen werden aufgerufen mittels `+weechat.xxx(arg1, arg2, ...)+`.
Die Funktionen `+print*+` werden bei python durch `+prnt*+` ersetzt
(`print` war ein reserviertes Schlüsselwort unter Python 2).
[[python_strings]]
===== In Callbacks empfangene Zeichen
Mit Python 3 und WeeChat ≥ 2.7 sind die Zeichenketten in Callbacks
@@ -109,58 +103,57 @@ Liste ist nicht vollständig):
|===
| API Funktion | Argumente | Beispiele| Beschreibung
| hook_modifier
| irc_in_yyy
| pass:[irc_in_privmsg] +
pass:[irc_in_notice]
| Eine Nachricht die von der IRC Erweiterung empfangen wurde und bevor sie nach UTF-8 dekodiert wurde (intern
| hook_modifier |
irc_in_yyy |
pass:[irc_in_privmsg] +
pass:[irc_in_notice] |
Eine Nachricht die von der IRC Erweiterung empfangen wurde und bevor sie nach UTF-8 dekodiert wurde (intern
verwendet). +
+
Es wird empfohlen den Modifier `+irc_in2_yyy+` zu nutzen, da die empfangene Zeichenkette
immer UTF-8 gültig ist. +
siehe Funktion `+hook_modifier+` in der
link:weechat_plugin_api.en.html#_hook_modifier[WeeChat Anleitung für API Erweiterung ^↗^,window=_blank].
link:weechat_plugin_api.en.html#_hook_modifier[WeeChat Anleitung für API Erweiterung].
| hook_signal
| xxx,irc_out_yyy +
xxx,irc_outtags_yyy
| pass:[*,irc_out_privmsg] +
| hook_signal |
xxx,irc_out_yyy +
xxx,irc_outtags_yyy |
pass:[*,irc_out_privmsg] +
pass:[*,irc_out_notice] +
pass:[*,irc_outtags_privmsg] +
pass:[*,irc_outtags_notice]
| Eine Nachricht welche von der IRC Erweiterung versendet wurde, nachdem diese entsprechend
pass:[*,irc_outtags_notice] |
Eine Nachricht welche von der IRC Erweiterung versendet wurde, nachdem diese entsprechend
der Benutzereinstellung `encode` Charset kodiert (falls abweichend von der `UTF-8` Standardeinstellung). +
+
Es wird empfohlen das Signal `+xxx,irc_out1_yyy+` zu nutzen, da die empfangene Zeichenkette
immer UTF-8 gültig ist. +
siehe Funktion `+hook_signal+` in der
link:weechat_plugin_api.en.html#_hook_signal[WeeChat Anleitung für API Erweiterung ^↗^,window=_blank].
link:weechat_plugin_api.en.html#_hook_signal[WeeChat Anleitung für API Erweiterung].
| hook_process +
hook_process_hashtable
| -
| -
| Ausgabe des Befehls, dass an den Callback gesendet wurde, kann ungültige UTF-8 Daten enthalten.
hook_process_hashtable |
- |
- |
Ausgabe des Befehls, dass an den Callback gesendet wurde, kann ungültige UTF-8 Daten enthalten.
|===
[[language_perl]]
Mit Python 2, das mittlerweile veraltet ist und nicht mehr verwendet werden sollte, ist die
Zeichenkette die an die Callbacks gesendet wird immer vom Typ `str` und kann deshalb bei den
oben genannten Fällen, ungültige UTF-8 Daten enthalten.
==== Perl
[[perl_functions]]
===== Funktionen
Funktionen werden aufgerufen mittels `+weechat::xxx(arg1, arg2, ...);+`.
[[language_ruby]]
==== Ruby
[[ruby_init]]
===== Initialization
Es muss _weechat_init_ definiert werden und darin dann _register_ ausgeführt werden.
[[ruby_functions]]
===== Functions
Funktionen werden aufgerufen mittels `+Weechat.xxx(arg1, arg2, ...)+`.
@@ -185,42 +178,20 @@ Weechat.bar_new("name", "off", "0", "window", "", "left", "vertical", "vertical"
["default", "default", "default", "default"], "0", "items")
----
[[language_lua]]
==== Lua
[[lua_functions]]
===== Funktionen
Funktionen werden aufgerufen mittels `+weechat.xxx(arg1, arg2, ...)+`.
[[language_tcl]]
==== Tcl
[[tcl_functions]]
===== Funktionen
Funktionen werden aufgerufen mittels `+weechat::xxx arg1 arg2 ...+`.
[[tcl_null]]
===== Nullwerte
Da Tcl nur String-Typen nutzt, gibt es keinen Null-Typ, der als Argument übergeben
werden kann wenn eine Funktion Nullwerte akzeptiert, oder als Argument in einem
Callback zu erhalten Funktion. Um dies zu umgehen, definiert die WeeChat-API die
Konstante `$::weechat::WEECHAT_NULL`, welches als Nullwert fungiert. Diese Konstante
ist festgelegt und lautet `\uFFFF\uFFFF\uFFFFWEECHAT_NULL\uFFFF\uFFFF\uFFFF`,
es ist also sehr unwahrscheinlich das dies ungewollt genutzt wird.
Sie können diese Konstante übergeben, wenn eine Funktion NULL als Argument akzeptiert
und Sie erhält es als Wert eines Arguments in einer Callback-Funktion zurück, wenn
der Wert des Arguments NULL ist. Um zu sehen, welche Funktionen Nullwerte akzeptieren
und Nullwerte in Rückrufen übergeben, schauen Sie sich die Python-Prototypen an
link:weechat_plugin_api.en.html[WeeChat plugin API reference ^↗^,window=_blank].
[[language_guile]]
==== Guile (Scheme)
[[guile_functions]]
===== Funktionen
Funktionen werden aufgerufen mittels `+(weechat:xxx arg1 arg2 ...)+`.
@@ -233,18 +204,14 @@ für andere Funktionen), da die Anzahl der Argumente die zulässige Anzahl in Gu
* config_new_option
* bar_new
[[language_javascript]]
==== JavaScript
[[javascript_functions]]
===== Funktionen
Funktionen werden aufgerufen mittels `+weechat.xxx(arg1, arg2, ...);+`.
[[language_php]]
==== PHP
[[php_functions]]
===== Functions
Funktionen werden aufgerufen mittels `+weechat_xxx(arg1, arg2, ...);+`.
@@ -255,11 +222,11 @@ Funktionen werden aufgerufen mittels `+weechat_xxx(arg1, arg2, ...);+`.
Ein WeeChat-Skript muss sich bei WeeChat "registrieren". Dazu muss das Skript
zuerst die "register" Funktion ausführen.
Prototyp (Python):
Prototyp:
[source,python]
----
def register(name: str, author: str, version: str, license: str, description: str, shutdown_function: str, charset: str) -> int: ...
weechat.register(Name, Author, Version, Lizenz, Beschreibung, Shutdown_Funktion, Zeichensatz)
----
Argumente:
@@ -382,7 +349,7 @@ anlegen, der in das Verzeichnis _Skriptsprache/autoload_ zeigt.
Ein Beispiel für ein Python-Skript:
----
$ cd ~/.local/share/weechat/python/autoload
$ cd ~/.weechat/python/autoload
$ ln -s ../script.py
----
@@ -396,7 +363,7 @@ ein Link in das entsprechende _autoload_ Verzeichnis erzeugt.
Die Skripten API ist nahezu identisch mit der API der C Erweiterung.
Um einen Überblick über alle API Funktionen (Prototyp, Argumente,
Rückgabe werte, Beispiele) zu erhalten werfen Sie einen Blick in
die link:weechat_plugin_api.en.html[WeeChat Plugin API Reference ^↗^,window=_blank] (Englisch).
die link:weechat_plugin_api.en.html[WeeChat Plugin API Reference] (Englisch).
Es ist wichtig das man zwischen einer _Erweiterung_ und einem _Skript_
unterscheidet: Eine _Erweiterung_ ist eine Binärdatei die kompiliert wurde
und mittels `/plugin` geladen wird. Ein _Skript_ ist eine Textdatei welche
@@ -565,25 +532,25 @@ weechat_hook_timer(1000, 0, 1, $timer_cb, 'test');
== Skript API
Um weiterführende Informationen zu den API Funktionen zu erhalten
lesen Sie bitte link:weechat_plugin_api.en.html[WeeChat Plugin API Reference ^↗^,window=_blank] (Englisch).
lesen Sie bitte link:weechat_plugin_api.en.html[WeeChat Plugin API Reference] (Englisch).
[[script_api_functions]]
=== Funktionen
Liste der Skript API Funktionen:
[width="100%",cols="1,5",options="header"]
[width="100%",cols="1,3",options="header"]
|===
| Kategorie | Funktionen
| Allgemein
| register
| Allgemein |
register
| Erweiterungen
| plugin_get_name
| Erweiterungen |
plugin_get_name
| Strings
| charset_set +
| Strings |
charset_set +
iconv_to_internal +
iconv_from_internal +
gettext +
@@ -595,7 +562,6 @@ Liste der Skript API Funktionen:
string_has_highlight_regex +
string_mask_to_regex +
string_format_size +
string_parse_size +
string_color_code_size +
string_remove_color +
string_is_command_char +
@@ -603,13 +569,13 @@ Liste der Skript API Funktionen:
string_eval_expression +
string_eval_path_home
| Verzeichnisse
| mkdir_home +
| Verzeichnisse |
mkdir_home +
mkdir +
mkdir_parents
| sortierte Listen
| list_new +
| sortierte Listen |
list_new +
list_add +
list_search +
list_search_pos +
@@ -625,8 +591,8 @@ Liste der Skript API Funktionen:
list_remove_all +
list_free
| Konfigurationsdatei
| config_new +
| Konfigurationsdatei |
config_new +
config_new_section +
config_search_section +
config_new_option +
@@ -663,21 +629,20 @@ Liste der Skript API Funktionen:
config_set_desc_plugin +
config_unset_plugin
| Tastenbelegung
| key_bind +
| Tastenbelegung |
key_bind +
key_unbind
| Ausgabe
| prefix +
| Ausgabe |
prefix +
color +
print (für Python: prnt) +
print_date_tags (für Python: prnt_date_tags) +
print_y (für Python: prnt_y) +
print_y_date_tags (für Python: prnt_y_date_tags) +
log_print
| Hooks
| hook_command +
| Hooks |
hook_command +
hook_command_run +
hook_timer +
hook_fd +
@@ -702,9 +667,8 @@ Liste der Skript API Funktionen:
unhook +
unhook_all
| Buffer
| buffer_new +
buffer_new_props +
| Buffer |
buffer_new +
current_buffer +
buffer_search +
buffer_search_main +
@@ -719,16 +683,16 @@ Liste der Skript API Funktionen:
buffer_string_replace_local_var +
buffer_match_list
| Fenster
| current_window +
| Fenster |
current_window +
window_search_with_buffer +
window_get_integer +
window_get_string +
window_get_pointer +
window_set_title
| Nickliste
| nicklist_add_group +
| Nickliste |
nicklist_add_group +
nicklist_search_group +
nicklist_add_nick +
nicklist_search_nick +
@@ -744,8 +708,8 @@ Liste der Skript API Funktionen:
nicklist_nick_get_pointer +
nicklist_nick_set
| Bars
| bar_item_search +
| Bars |
bar_item_search +
bar_item_new +
bar_item_update +
bar_item_remove +
@@ -755,23 +719,23 @@ Liste der Skript API Funktionen:
bar_update +
bar_remove
| Befehle
| command +
| Befehle |
command +
command_options
| Vervollständigung
| completion_new +
| Vervollständigung |
completion_new +
completion_search +
completion_get_string +
completion_list_add +
completion_free
| Informationen
| info_get +
| Informationen |
info_get +
info_get_hashtable
| Infolisten
| infolist_new +
| Infolisten |
infolist_new +
infolist_new_item +
infolist_new_var_integer +
infolist_new_var_string +
@@ -789,8 +753,8 @@ Liste der Skript API Funktionen:
infolist_time +
infolist_free
| hdata
| hdata_get +
| hdata |
hdata_get +
hdata_get_var_offset +
hdata_get_var_type_string +
hdata_get_var_array_size +
@@ -811,8 +775,8 @@ Liste der Skript API Funktionen:
hdata_update +
hdata_get_string
| Upgrade
| upgrade_new +
| Upgrade |
upgrade_new +
upgrade_write_object +
upgrade_read +
upgrade_close
@@ -823,63 +787,63 @@ Liste der Skript API Funktionen:
Liste der Konstanten in Skript API:
[width="100%",cols="1,5",options="header"]
[width="100%",cols="1,3",options="header"]
|===
| Kategorie | Konstanten
| return codes
| `WEECHAT_RC_OK` (integer) +
`WEECHAT_RC_OK_EAT` (integer) +
`WEECHAT_RC_ERROR` (integer)
| return codes |
WEECHAT_RC_OK +
WEECHAT_RC_OK_EAT +
WEECHAT_RC_ERROR
| Konfigurationsdatei
| `WEECHAT_CONFIG_READ_OK` (integer) +
`WEECHAT_CONFIG_READ_MEMORY_ERROR` (integer) +
`WEECHAT_CONFIG_READ_FILE_NOT_FOUND` (integer) +
`WEECHAT_CONFIG_WRITE_OK` (integer) +
`WEECHAT_CONFIG_WRITE_ERROR` (integer) +
`WEECHAT_CONFIG_WRITE_MEMORY_ERROR` (integer) +
`WEECHAT_CONFIG_OPTION_SET_OK_CHANGED` (integer) +
`WEECHAT_CONFIG_OPTION_SET_OK_SAME_VALUE` (integer) +
`WEECHAT_CONFIG_OPTION_SET_ERROR` (integer) +
`WEECHAT_CONFIG_OPTION_SET_OPTION_NOT_FOUND` (integer) +
`WEECHAT_CONFIG_OPTION_UNSET_OK_NO_RESET` (integer) +
`WEECHAT_CONFIG_OPTION_UNSET_OK_RESET` (integer) +
`WEECHAT_CONFIG_OPTION_UNSET_OK_REMOVED` (integer) +
`WEECHAT_CONFIG_OPTION_UNSET_ERROR` (integer)
| Konfigurationsdatei |
WEECHAT_CONFIG_READ_OK +
WEECHAT_CONFIG_READ_MEMORY_ERROR +
WEECHAT_CONFIG_READ_FILE_NOT_FOUND +
WEECHAT_CONFIG_WRITE_OK +
WEECHAT_CONFIG_WRITE_ERROR +
WEECHAT_CONFIG_WRITE_MEMORY_ERROR +
WEECHAT_CONFIG_OPTION_SET_OK_CHANGED +
WEECHAT_CONFIG_OPTION_SET_OK_SAME_VALUE +
WEECHAT_CONFIG_OPTION_SET_ERROR +
WEECHAT_CONFIG_OPTION_SET_OPTION_NOT_FOUND +
WEECHAT_CONFIG_OPTION_UNSET_OK_NO_RESET +
WEECHAT_CONFIG_OPTION_UNSET_OK_RESET +
WEECHAT_CONFIG_OPTION_UNSET_OK_REMOVED +
WEECHAT_CONFIG_OPTION_UNSET_ERROR
| sortierte Listen
| `WEECHAT_LIST_POS_SORT` (string) +
`WEECHAT_LIST_POS_BEGINNING` (string) +
`WEECHAT_LIST_POS_END` (string)
| sortierte Listen |
WEECHAT_LIST_POS_SORT +
WEECHAT_LIST_POS_BEGINNING +
WEECHAT_LIST_POS_END
| Hotlist
| `WEECHAT_HOTLIST_LOW` (string) +
`WEECHAT_HOTLIST_MESSAGE` (string) +
`WEECHAT_HOTLIST_PRIVATE` (string) +
`WEECHAT_HOTLIST_HIGHLIGHT` (string)
| Hotlist |
WEECHAT_HOTLIST_LOW +
WEECHAT_HOTLIST_MESSAGE +
WEECHAT_HOTLIST_PRIVATE +
WEECHAT_HOTLIST_HIGHLIGHT
| hook Prozesse
| `WEECHAT_HOOK_PROCESS_RUNNING` (integer) +
`WEECHAT_HOOK_PROCESS_ERROR` (integer)
| hook Prozesse |
WEECHAT_HOOK_PROCESS_RUNNING +
WEECHAT_HOOK_PROCESS_ERROR
| hook Connect
| `WEECHAT_HOOK_CONNECT_OK` (integer) +
`WEECHAT_HOOK_CONNECT_ADDRESS_NOT_FOUND` (integer) +
`WEECHAT_HOOK_CONNECT_IP_ADDRESS_NOT_FOUND` (integer) +
`WEECHAT_HOOK_CONNECT_CONNECTION_REFUSED` (integer) +
`WEECHAT_HOOK_CONNECT_PROXY_ERROR` (integer) +
`WEECHAT_HOOK_CONNECT_LOCAL_HOSTNAME_ERROR` (integer) +
`WEECHAT_HOOK_CONNECT_GNUTLS_INIT_ERROR` (integer) +
`WEECHAT_HOOK_CONNECT_GNUTLS_HANDSHAKE_ERROR` (integer) +
`WEECHAT_HOOK_CONNECT_MEMORY_ERROR` (integer) +
`WEECHAT_HOOK_CONNECT_TIMEOUT` (integer) +
`WEECHAT_HOOK_CONNECT_SOCKET_ERROR` (integer)
| hook Connect |
WEECHAT_HOOK_CONNECT_OK +
WEECHAT_HOOK_CONNECT_ADDRESS_NOT_FOUND +
WEECHAT_HOOK_CONNECT_IP_ADDRESS_NOT_FOUND +
WEECHAT_HOOK_CONNECT_CONNECTION_REFUSED +
WEECHAT_HOOK_CONNECT_PROXY_ERROR +
WEECHAT_HOOK_CONNECT_LOCAL_HOSTNAME_ERROR +
WEECHAT_HOOK_CONNECT_GNUTLS_INIT_ERROR +
WEECHAT_HOOK_CONNECT_GNUTLS_HANDSHAKE_ERROR +
WEECHAT_HOOK_CONNECT_MEMORY_ERROR +
WEECHAT_HOOK_CONNECT_TIMEOUT +
WEECHAT_HOOK_CONNECT_SOCKET_ERROR
| hook Signal
| `WEECHAT_HOOK_SIGNAL_STRING` (string) +
`WEECHAT_HOOK_SIGNAL_INT` (string) +
`WEECHAT_HOOK_SIGNAL_POINTER` (string)
| hook Signal |
WEECHAT_HOOK_SIGNAL_STRING +
WEECHAT_HOOK_SIGNAL_INT +
WEECHAT_HOOK_SIGNAL_POINTER
|===
[[common_tasks]]
@@ -888,7 +852,7 @@ Liste der Konstanten in Skript API:
Dieses Kapitel beinhaltet einige Aufgaben mit Lösungsbeispielen.
Die Skript API wird dabei nur sehr oberflächlich besprochen.Um eine vollständige
Übersicht aller Befehle zu erhalten nutzen Sie bitte die
link:weechat_plugin_api.en.html[WeeChat Plugin API Reference ^↗^,window=_blank] (Englisch).
link:weechat_plugin_api.en.html[WeeChat Plugin API Reference] (Englisch).
[[buffers]]
=== Buffer
@@ -908,7 +872,7 @@ Beispiele:
weechat.prnt("", "Hallo")
# Gibt den Text "Hallo" im Core Buffer aus, schreibt diesen aber nicht in die Protokolldatei
# (nur Version 0.3.3)
# (nur Version >= 0.3.3)
weechat.prnt_date_tags("", 0, "no_log", "hello")
# Gibt den Präfix "==>" gefolgt von dem Text "Hallo" im aktuellen Buffer aus
@@ -922,13 +886,13 @@ weechat.prnt("", "%sfalsche Anzahl an Argumenten" % weechat.prefix("error"))
weechat.prnt("", "Text %sGeld auf Blau" % weechat.color("yellow,blue"))
# sucht einen bestimmten Buffer und gibt dort einen Text aus
# (der Name des Buffers muss folgendes Format besitzen Erweiterung.Name, Beispiel: "irc.libera.#weechat")
buffer = weechat.buffer_search("irc", "libera.#weechat")
# (der Name des Buffers muss folgendes Format besitzen Erweiterung.Name, Beispiel: "irc.freenode.#weechat")
buffer = weechat.buffer_search("irc", "freenode.#weechat")
weechat.prnt(buffer, "Nachricht im #weechat Channel")
# die zweite Möglichkeit einen Buffer zu suchen (empfohlen!)
# (bitte beachten Sie dass der Server- und Channelname durch ein Komma zu trennen sind)
buffer = weechat.info_get("irc_buffer", "libera,#weechat")
buffer = weechat.info_get("irc_buffer", "freenode,#weechat")
weechat.prnt(buffer, "Nachricht im #weechat Channel")
----
@@ -950,7 +914,7 @@ Beispiele:
weechat.command("", "/help")
# sendet den Text "Hallo" in den IRC Channel #weechat (die Teilnehmer des Channels sehen diese Nachricht)
buffer = weechat.info_get("irc_buffer", "libera,#weechat")
buffer = weechat.info_get("irc_buffer", "freenode,#weechat")
weechat.command(buffer, "Hallo")
----
@@ -1088,53 +1052,26 @@ Mit der Funktion `+hook_process+` kann ein Hintergrundprozess gestartet werden.
Der Callback wird aufgerufen sobald der Hintergrundprozess abgearbeitet wurde.
Dies kann auch mehrfach der Fall sein.
Für den letzten Aufruf des Callback wird _return_code_ auf 0 oder einen positiven
Wert gesetzt. Dies ist der Return Code des Befehls.
Für den letzten Aufruf des Callback wird _rc_ auf 0 oder einen positiven Wert
gesetzt. Dies ist der Return Code des Befehls.
Beispiele:
[source,python]
----
def my_process_cb(data, command, return_code, out, err):
if return_code == weechat.WEECHAT_HOOK_PROCESS_ERROR:
weechat.prnt("", "Error with command '%s'" % command)
return weechat.WEECHAT_RC_OK
if return_code >= 0:
weechat.prnt("", "return_code = %d" % return_code)
if out:
weechat.prnt("", "stdout: %s" % out)
if err:
weechat.prnt("", "stderr: %s" % err)
process_output = ""
def my_process_cb(data, command, rc, out, err):
global process_output
if out != "":
process_output += out
if int(rc) >= 0:
weechat.prnt("", process_output)
return weechat.WEECHAT_RC_OK
weechat.hook_process("/bin/ls -l /etc", 10 * 1000, "my_process_cb", "")
----
Sie können statt eines externen Befehls auch direkt eine
Skriptfunktion aufrufen, die Weechat blockieren würde:
[source,python]
----
def get_status(data):
# do something blocking...
# ...
return "this is the result"
def my_process_cb(data, command, return_code, out, err):
if return_code == weechat.WEECHAT_HOOK_PROCESS_ERROR:
weechat.prnt("", "Error with command '%s'" % command)
return weechat.WEECHAT_RC_OK
if return_code >= 0:
weechat.prnt("", "return_code = %d" % return_code)
if out:
weechat.prnt("", "stdout: %s" % out)
if err:
weechat.prnt("", "stderr: %s" % err)
return weechat.WEECHAT_RC_OK
hook = weechat.hook_process("func:get_status", 5000, "my_process_cb", "")
----
[[url_transfer]]
==== URL Übertragung
@@ -1149,15 +1086,15 @@ dabei in der Callback-Variable "out" gesichert (Standardausgabe des Prozesses):
[source,python]
----
# Display latest stable version of WeeChat.
weechat_latest_version = ""
# Zeigt die aktuelle stabile Version von WeeChat an.
weechat_version = ""
def weechat_process_cb(data, command, return_code, out, err):
global weechat_latest_version
if out:
weechat_latest_version += out
if return_code >= 0:
weechat.prnt("", "Latest WeeChat version: %s" % weechat_latest_version)
def weechat_process_cb(data, command, rc, out, err):
global weechat_version
if out != "":
weechat_version += out
if int(rc) >= 0:
weechat.prnt("", "aktuelle stabile WeeChat-Version: %s" % weechat_version)
return weechat.WEECHAT_RC_OK
weechat.hook_process("url:https://weechat.org/dev/info/stable/",
@@ -1165,17 +1102,16 @@ weechat.hook_process("url:https://weechat.org/dev/info/stable/",
----
[TIP]
Alle verfügbaren Informationen über WeeChat findet man unter
https://weechat.org/dev/info/[this page ^↗^,window=_blank].
Alle Informationen die WeeChat betreffen findet man auf: https://weechat.org/dev/info
Beispiel eines URL Transfers, mit zusätzliche Optionen: Es wird das neuste
WeeChat Entwicklerpaket in die Datei _/tmp/weechat-devel.tar.gz_ gesichert:
[source,python]
----
def my_process_cb(data, command, return_code, out, err):
if return_code >= 0:
weechat.prnt("", "End of transfer (return code = %d)" % return_code)
def my_process_cb(data, command, rc, out, err):
if int(rc) >= 0:
weechat.prnt("", "End of transfer (rc=%s)" % rc)
return weechat.WEECHAT_RC_OK
weechat.hook_process_hashtable("url:https://weechat.org/files/src/weechat-devel.tar.gz",
@@ -1185,7 +1121,7 @@ weechat.hook_process_hashtable("url:https://weechat.org/files/src/weechat-devel.
Für weitere Informationen zum URL Transfer und verfügbare Optionen, siehe Funktionen
`+hook_process+` und `+hook_process_hashtable+` in
link:weechat_plugin_api.en.html#_hook_process[WeeChat plugin API reference ^↗^,window=_blank] (Englisch).
link:weechat_plugin_api.en.html#_hook_process[WeeChat plugin API reference] (Englisch).
[[config_options]]
=== Konfiguration / Optionen
@@ -1285,7 +1221,7 @@ xxx,irc_raw_in2_yyy::
[source,python]
----
def join_cb(data, signal, signal_data):
# Das Signal lautet: "libera,irc_in2_join"
# Das Signal lautet: "freenode,irc_in2_join"
# signal_data enthält die IRC Nachricht, zum Beispiel: ":nick!user@host JOIN :#channel"
server = signal.split(",")[0]
msg = weechat.info_get_hashtable("irc_message_parse", {"message": signal_data})
@@ -1339,88 +1275,71 @@ Das Ergebnis ist eine Hashtabelle mit folgenden Schlüsseln
(das Beispiel bezieht sich auf folgende IRC Nachricht:
`+@time=2015-06-27T16:40:35.000Z :nick!user@host PRIVMSG #weechat :hello!+`):
[width="100%",cols="3,^2,10,7",options="header"]
[width="100%",cols="1,^2,10,8",options="header"]
|===
| Schlüssel | Seit WeeChat ^(1)^ | Beschreibung | Beispiel
| Schlüssel | WeeChat version | Beschreibung | Beispiel
| Tags | 0.4.0
| Tags in der Nachricht (kann leer sein).
| `+time=2015-06-27T16:40:35.000Z+`
| Tags | 0.4.0 |
Tags in der Nachricht (kann leer sein). |
`+time=2015-06-27T16:40:35.000Z+`
| tag_xxx | 3.3
| Wert des Tags "xxx" ohne Escapezeichen (ein Schlüssel pro Tag).
| `+2015-06-27T16:40:35.000Z+`
| message_without_tags | ≥ 0.4.0 |
Die IRC Nachricht ohne Tags (wie eine Nachricht ohne Tags). |
`+:nick!user@host PRIVMSG #weechat :hello!+`
| message_without_tags | 0.4.0
| Die IRC Nachricht ohne Tags (wie eine Nachricht ohne Tags).
| `+:nick!user@host PRIVMSG #weechat :hello!+`
| nick | ≥ 0.3.4 |
der ursprüngliche Nick. |
`+nick+`
| nick | 0.3.4
| der ursprüngliche Nick.
| `+nick+`
| user | ≥ 2.7 |
der ursprüngliche Benutzer. |
`+user+`
| user | 2.7
| der ursprüngliche Benutzer.
| `+user+`
| host | ≥ 0.3.4 |
der ursprüngliche Host (beinhaltet den Nick). |
`+nick!user@host+`
| host | 0.3.4
| der ursprüngliche Host (beinhaltet den Nick).
| `+nick!user@host+`
| command | ≥ 0.3.4 |
der Befehl (_PRIVMSG_, _NOTICE_, ...). |
`+PRIVMSG+`
| command | 0.3.4
| der Befehl (_PRIVMSG_, _NOTICE_, ...).
| `+PRIVMSG+`
| channel | 0.3.4
| der Zielchanne.l|
| channel | 0.3.4 |
der Zielchanne.l|
`+#weechat+`
| arguments | 0.3.4
| das Argument des Befehls (beinhaltet den Channel).
| `+#weechat :hello!+`
| arguments | 0.3.4 |
das Argument des Befehls (beinhaltet den Channel). |
`+#weechat :hello!+`
| text | 1.3
| der Text (zum Beispiel eine Nachricht eines Users).
| `+hello!+`
| text | 1.3 |
der Text (zum Beispiel eine Nachricht eines Users). |
`+hello!+`
| paramN | 3.4
| Befehlsparameter (von 1 bis N).
| `+#weechat+`
| pos_command | ≥ 1.3 |
Index von _command_ innerhalb einer Nachricht ("-1" falls _command_ nicht gefunden wird). |
`+47+`
| num_params | 3.4
| Anzahl der Befehlsparameter.
| `+2+`
| pos_arguments | ≥ 1.3 |
Index von_arguments_ innerhalb einer Nachricht ("-1" falls _arguments_ nicht gefunden wird). |
`+55+`
| pos_command | 1.3
| Index von _command_ innerhalb einer Nachricht ("-1" falls _command_ nicht gefunden wird).
| `+47+`
| pos_channel | 1.3 |
Index von _channel_ innerhalb einer Nachricht ("-1" falls _channel_ nicht gefunden wird). |
`+55+`
| pos_arguments | 1.3
| Index von_arguments_ innerhalb einer Nachricht ("-1" falls _arguments_ nicht gefunden wird).
| `+55+`
| pos_channel | 1.3
| Index von _channel_ innerhalb einer Nachricht ("-1" falls _channel_ nicht gefunden wird).
| `+55+`
| pos_text | 1.3
| Index von _text_ innerhalb einer Nachricht ("-1" falls _text_ nicht gefunden wird).
| `+65+`
| pos_text | 1.3 |
Index von _text_ innerhalb einer Nachricht ("-1" falls _text_ nicht gefunden wird). |
`+65+`
|===
[NOTE]
^(1)^ Der Schlüssel wurde mit dieser WeeChat Version eingeführt.
[source,python]
----
dict = weechat.info_get_hashtable(
"irc_message_parse",
{"message": "@time=2015-06-27T16:40:35.000Z;tag2=value\\sspace :nick!user@host PRIVMSG #weechat :hello!"})
{"message": "@time=2015-06-27T16:40:35.000Z :nick!user@host PRIVMSG #weechat :hello!"})
# dict == {
# "tags": "time=2015-06-27T16:40:35.000Z;tag2=value\\sspace",
# "tag_time": "2015-06-27T16:40:35.000Z",
# "tag_tag2": "value space",
# "tags": "time=2015-06-27T16:40:35.000Z",
# "message_without_tags": ":nick!user@host PRIVMSG #weechat :hello!",
# "nick": "nick",
# "user": "user",
@@ -1429,13 +1348,10 @@ dict = weechat.info_get_hashtable(
# "channel": "#weechat",
# "arguments": "#weechat :hello!",
# "text": "hello!",
# "param1": "#weechat",
# "param2": "hello!",
# "num_params": "2",
# "pos_command": "65",
# "pos_arguments": "73",
# "pos_channel": "73",
# "pos_text": "83",
# "pos_command": "47",
# "pos_arguments": "55",
# "pos_channel": "55",
# "pos_text": "65",
# }
----
@@ -1477,8 +1393,8 @@ weechat.prnt("", "Version %s" % weechat.info_get("version", ""))
[source,python]
----
# Zum Beispiel, das WeeChat-Konfigurationsverzeichnis: "/home/user/.config/weechat"
weechat.prnt("", "WeeChat config dir: %s" % weechat.info_get("weechat_config_dir", ""))
# WeeChat Hauptverzeichnis, zum Beispiel: "/home/xxxx/.weechat"
weechat.prnt("", "WeeChat Hauptverzeichnis: %s" % weechat.info_get("weechat_dir", ""))
# Inaktivität der Tastatur
weechat.prnt("", "Tastatur ist seit %s Sekunden nicht mehr betätigt worden" % weechat.info_get("inactivity", ""))
+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 _chat.freenode.net_ (A.d.Ü.: englischsprachig) und
berichte uns darüber.
Auch falls alles korrekt funktionieren sollte gib uns trotzdem Bescheid, wir
brauchen Deine Rückmeldung!
+2333 -3497
View File
File diff suppressed because it is too large Load Diff
+14 -23
View File
@@ -1,6 +1,6 @@
#!/usr/bin/env python3
#
# Copyright (C) 2008-2023 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2008-2021 Sébastien Helleu <flashcode@flashtux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -81,7 +81,6 @@ LOCALE_LIST = (
'it_IT',
'ja_JP',
'pl_PL',
'sr_RS',
)
# all commands/options/.. of following plugins will produce a file
@@ -115,7 +114,6 @@ PLUGIN_LIST = {
'spell': 'o',
'trigger': 'o',
'xfer': 'co',
'typing': 'o',
}
# options to ignore
@@ -487,8 +485,7 @@ class AutogenDoc():
f'autogen_{name}.{self.locale[:2]}.adoc',
)
self.filename_tmp = f'{self.filename}.tmp'
# pylint: disable=consider-using-with
self._file = open(self.filename_tmp, 'w', encoding='utf-8')
self._file = open(self.filename_tmp, 'w')
def write_autogen_files(self, weechat_doc):
"""Write auto-generated files."""
@@ -613,21 +610,15 @@ class AutogenDoc():
default_value = ('"%s"' %
default_value.replace('"', '\\"'))
elif opt_type == 'color':
values = _(
'a WeeChat color name (default, black, '
'(dark)gray, white, (light)red, '
'(light)green, brown, yellow, (light)blue, '
'(light)magenta, (light)cyan), a terminal '
'color number or an alias; attributes are '
'allowed before color (for text color '
'only, not background): '
'\"%\" for blink, '
'\".\" for \"dim\" (half bright), '
'\"*\" for bold, '
'\"!\" for reverse, '
'\"/\" for italic, '
'\"_\" for underline'
)
values = _('a WeeChat color name (default, black, '
'(dark)gray, white, (light)red, '
'(light)green, brown, yellow, (light)blue, '
'(light)magenta, (light)cyan), a terminal '
'color number or an alias; attributes are '
'allowed before color (for text color '
'only, not background): \"*\" for bold, '
'\"!\" for reverse, \"/\" for italic, '
'\"_\" for underline')
self.write(f'* [[option_{config}.{section}.{option}]] '
f'*{config}.{section}.{option}*')
self.write('** %s: pass:none[%s]',
@@ -683,7 +674,7 @@ class AutogenDoc():
for info in sorted(infos[plugin]):
_inf = infos[plugin][info]
desc = translate(_inf['description'])
args_desc = translate(_inf['args_description']) or '-'
args_desc = translate(_inf['args_description'] or '-')
self.write('| %s | %s | %s | %s\n',
escape(plugin), escape(info), escape(desc),
escape(args_desc))
@@ -703,7 +694,7 @@ class AutogenDoc():
for info in sorted(infos_hashtable[plugin]):
_inh = infos_hashtable[plugin][info]
desc = translate(_inh['description'])
args_desc = translate(_inh['args_description']) or '-'
args_desc = translate(_inh['args_description'])
output_desc = translate(_inh['output_description']) or '-'
self.write('| %s | %s | %s | %s | %s\n',
escape(plugin), escape(info), escape(desc),
@@ -789,7 +780,7 @@ class AutogenDoc():
self.write('// tag::url_options[]')
self.write('[width="100%",cols="2,^1,7",options="header"]')
self.write('|===')
self.write('| %s | %s ^(1)^ | %s ^(2)^\n',
self.write('| %s | %s ^(1)^ | %s ^(2)^\n',
_('Option'), _('Type'), _('Constants'))
for option in url_options:
constants = option['constants']
+6 -223
View File
@@ -1,255 +1,38 @@
<!--
Custom styles for Asciidoctor
Copyright (C) 2016-2023 Sébastien Helleu <flashcode@flashtux.org>
Copyright (C) 2016-2021 Sébastien Helleu <flashcode@flashtux.org>
-->
<style>
/* themes/colors */
@media (prefers-color-scheme: dark) {
/* dark theme */
:root {
color-scheme: dark;
--body-bg-color: #1a1a1a;
--body-color: #ddd;
--body-font: system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";
--link-color: #7abeef;
--table-thead-tfoot: #252525;
--th-color: #fff;
--toc-bg-color: #252525;
--color-header1: #ddd;
--color-header2: #da8975;
--header-details-color: #aaa;
--border: 1px solid #444;
--code-bg-color: #252525;
--pre-color: #ddd;
--pre-bg-color: #202020;
--pre-code-bg-color: #202020;
--keyseq-color: #777;
--kbd-bg-color: #252525;
--kbd-border: 1px solid #333;
--kbd-box-shadow: 0 1px 0 rgba(0, 0, 0, .2), inset 0 0 0 .1em #2c2c2c;
--icon-note-color: #4d7cc6;
--icon-tip-color: #fff;
--icon-warning-color: #f39c12;
--icon-caution-color: #bf3400;
--icon-important-color: #f44336;
--mark-bg-color: #007;
}
}
@media (not (prefers-color-scheme: dark)), (prefers-color-scheme: light) {
/* light theme */
:root {
color-scheme: light;
--body-bg-color: #fff;
--body-color: #353535;
--body-font: system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";
--link-color: #3d6baf;
--table-thead-tfoot: #f7f8f7;
--th-color: #000;
--toc-bg-color: #f8f8f7;
--color-header1: #000;
--color-header2: #ba3925;
--header-details-color: #797979;
--border: 1px solid #dddddf;
--code-bg-color: #f7f7f8;
--keyseq-color: #333c;
--pre-color: #353535;
--pre-bg-color: #f7f7f8;
--pre-code-bg-color: #202020;
--kbd-bg-color: #f7f7f7;
--kbd-border: 1px solid #ccc;
--kbd-box-shadow: 0 1px 0 rgba(0, 0, 0, .2), inset 0 0 0 .1em #fff;
--icon-note-color: #19407c;
--icon-tip-color: #111;
--icon-warning-color: #bf6900;
--icon-caution-color: #ff0000;
--icon-important-color: #bf0000;
--mark-bg-color: #9df;
}
}
body {
background-color: var(--body-bg-color);
color: var(--body-color);
font-family: var(--body-font);
}
h1 {
color: var(--color-header1) !important;
}
h2, h3, h4, h5, h6 {
color: var(--color-header2) !important;
}
h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 {
font-family: var(--body-font);
}
a:link, a:visited, #header .details span.email a {
color: var(--link-color);
text-decoration: none;
}
table thead, table tfoot {
background: var(--table-thead-tfoot) !important;
}
table.tableblock, th.tableblock, td.tableblock {
border: var(--border);
}
th {
color: var(--th-color) !important;
}
td {
background-color: var(--body-bg-color);
color: var(--body-color) !important;
}
#toc.toc2 {
background-color: var(--toc-bg-color);
border-right: none;
}
#toc.toc2 > ul {
font-size: .9em;
}
@media screen and (max-width:767px) {
#toc.toc2 {
background-color: var(--body-bg-color);
}
}
p, .paragraph.lead > p, #preamble > .sectionbody > [class="paragraph"]:first-of-type p, #toctitle, .title {
color: var(--body-color);
}
#header .details {
border-bottom: var(--border);
color: var(--header-details-color);
}
code, .prettyprint {
background-color: var(--code-bg-color) !important;
color: var(--body-color);
}
pre {
color: var(--pre-color) !important;
}
pre > code {
background-color: var(--pre-code-bg-color) !important;
}
.keyseq {
color: var(--keyseq-color);
}
kbd {
background-color: var(--kbd-bg-color) !important;
border: var(--kbd-border) !important;
box-shadow: var(--kbd-box-shadow);
color: var(--body-color);
}
.literalblock pre, .listingblock > .content > pre:not(.highlight), .listingblock > .content > pre[class="highlight"], .listingblock > .content > pre[class^="highlight "] {
background-color: var(--pre-bg-color);
color: var(--body-color);
}
.sect1 + .sect1 {
border-top: var(--border);
}
.admonitionblock td.icon .icon-note::before {
color: var(--icon-note-color);
}
.admonitionblock td.icon .icon-tip::before {
color: var(--icon-tip-color);
}
.admonitionblock td.icon .icon-warning::before {
color: var(--icon-warning-color);
}
.admonitionblock td.icon .icon-caution::before {
color: var(--icon-caution-color);
}
.admonitionblock td.icon .icon-important::before {
color: var(--icon-important-color);
}
.admonitionblock > table td.content {
border-left: var(--border);
}
mark {
background-color: var(--mark-bg-color);
color: var(--body-color);
}
/* syntax highlighting tuning */
pre.pygments .tok-cp {
color: #44cfaf;
}
pre.pygments .tok-nc, pre.pygments .tok-nf {
color: #649fef;
}
pre.pygments .tok-gu, pre.pygments .tok-nc, pre.pygments .tok-nn {
text-decoration: none;
}
/* asciidoctor styles tuning */
#header, #content, #footnotes, #footer {
#header,#content,#footnotes,#footer {
max-width: none;
padding-left: 3em;
padding-right: 3em;
}
#header #revnumber {
text-transform: none;
}
h1, h2, h3, h4, h5 {
h1,h2,h3,h4,h5 {
font-weight: bold;
}
.literalblock pre {
font-family: "DejaVu Sans Mono", "Liberation Mono", "Lucida Console", monospace, 'Courier New', Courier;
line-height: inherit;
font-family: monospace, 'Courier New', Courier;
line-height: normal;
}
kbd {
font-size: .9em;
}
.keyseq {
margin-left: .2em;
margin-right: .2em;
}
.tableblock kbd {
margin-top: .2em;
margin-bottom: .2em;
}
.hex {
padding: 0 .2em;
border: var(--border);
border: 1px solid #88b;
margin: 0 .2em;
font-family: monospace;
font-size: 1.1em;
}
</style>
+14 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2023 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2021 Sébastien Helleu <flashcode@flashtux.org>
#
# This file is part of WeeChat, the extensible chat client.
#
@@ -122,6 +122,19 @@ if(ENABLE_DOC)
add_custom_target(doc-quickstart-en ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/weechat_quickstart.en.html)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/weechat_quickstart.en.html DESTINATION ${DATAROOTDIR}/doc/${PROJECT_NAME})
# tester's guide
add_custom_command(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/weechat_tester.en.html
COMMAND ${ASCIIDOCTOR_EXECUTABLE} ARGS ${ASCIIDOCTOR_ARGS} -o weechat_tester.en.html ${CMAKE_CURRENT_SOURCE_DIR}/weechat_tester.en.adoc
DEPENDS
${CMAKE_CURRENT_SOURCE_DIR}/../docinfo.html
${CMAKE_CURRENT_SOURCE_DIR}/weechat_tester.en.adoc
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMENT "Building weechat_tester.en.html"
)
add_custom_target(doc-tester-en ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/weechat_tester.en.html)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/weechat_tester.en.html DESTINATION ${DATAROOTDIR}/doc/${PROJECT_NAME})
# relay protocol
add_custom_command(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/weechat_relay_protocol.en.html
+7 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2023 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2021 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2006 Julien Louis <ptitlouis@sysif.net>
#
# This file is part of WeeChat, the extensible chat client.
@@ -29,6 +29,7 @@ EXTRA_DIST = CMakeLists.txt \
weechat_scripting.en.adoc \
weechat_faq.en.adoc \
weechat_quickstart.en.adoc \
weechat_tester.en.adoc \
weechat_relay_protocol.en.adoc \
weechat_dev.en.adoc \
includes/autogen_api_completions.en.adoc \
@@ -57,6 +58,7 @@ if DOC
weechat_scripting.en.html \
weechat_faq.en.html \
weechat_quickstart.en.html \
weechat_tester.en.html \
weechat_relay_protocol.en.html \
weechat_dev.en.html
doc_install = install-doc
@@ -90,6 +92,10 @@ weechat_faq.en.html: weechat_faq.en.adoc $(abs_top_srcdir)/doc/docinfo.html
weechat_quickstart.en.html: weechat_quickstart.en.adoc $(abs_top_srcdir)/doc/docinfo.html
$(ASCIIDOCTOR) $(ASCIIDOCTOR_ARGS) -a revnumber="$(VERSION)" -o weechat_quickstart.en.html $(abs_top_srcdir)/doc/en/weechat_quickstart.en.adoc
# tester's guide
weechat_tester.en.html: weechat_tester.en.adoc $(abs_top_srcdir)/doc/docinfo.html
$(ASCIIDOCTOR) $(ASCIIDOCTOR_ARGS) -a revnumber="$(VERSION)" -o weechat_tester.en.html $(abs_top_srcdir)/doc/en/weechat_tester.en.adoc
# relay protocol
weechat_relay_protocol.en.html: weechat_relay_protocol.en.adoc $(abs_top_srcdir)/doc/docinfo.html
$(ASCIIDOCTOR) $(ASCIIDOCTOR_ARGS) -a revnumber="$(VERSION)" -o weechat_relay_protocol.en.html $(abs_top_srcdir)/doc/en/weechat_relay_protocol.en.adoc
@@ -26,8 +26,6 @@
| irc | irc_channels | channels on all IRC servers
| irc | irc_channels_autojoin | channels automatically joined on the current server (option "autojoin")
| irc | irc_ignores_numbers | numbers for defined ignores
| irc | irc_modelist_masks | modelist masks of current IRC channel; required argument: modelist mode
@@ -94,8 +92,6 @@
| tcl | tcl_script | list of scripts
| trigger | trigger_add_arguments | arguments for command that adds a trigger: trigger name, hooks, hook arguments, hook conditions, hook regex, hook command, hook return code, post actions
| trigger | trigger_hook_arguments | default arguments for a hook
| trigger | trigger_hook_command | default command for a hook
@@ -150,14 +146,6 @@
| weechat | cursor_areas | areas ("chat" or bar name) for free cursor movement
| weechat | custom_bar_item_add_arguments | arguments for command that adds a custom bar item: item name, conditions, content
| weechat | custom_bar_item_conditions | conditions for custom bar item
| weechat | custom_bar_item_contents | contents for custom bar item
| weechat | custom_bar_items_names | names of custom bar items
| weechat | env_value | value of an environment variable
| weechat | env_vars | environment variables
-16
View File
@@ -79,8 +79,6 @@ _last_nick_speaking_time_   (pointer, hdata: "irc_channel_speaking") +
_modelists_   (pointer, hdata: "irc_modelist") +
_last_modelist_   (pointer, hdata: "irc_modelist") +
_join_smart_filtered_   (hashtable) +
_typing_state_   (integer) +
_typing_status_sent_   (time) +
_buffer_   (pointer, hdata: "buffer") +
_buffer_as_string_   (string) +
_prev_channel_   (pointer, hdata: "irc_channel") +
@@ -235,12 +233,6 @@ _hook_connect_   (pointer, hdata: "hook") +
_hook_fd_   (pointer, hdata: "hook") +
_hook_timer_connection_   (pointer, hdata: "hook") +
_hook_timer_sasl_   (pointer, hdata: "hook") +
_sasl_scram_client_first_   (string) +
_sasl_scram_salted_pwd_   (other) +
_sasl_scram_salted_pwd_size_   (integer) +
_sasl_scram_auth_message_   (string) +
_sasl_temp_username_   (string) +
_sasl_temp_password_   (string) +
_is_connected_   (integer) +
_ssl_connected_   (integer) +
_disconnected_   (integer) +
@@ -271,10 +263,6 @@ _chantypes_   (string) +
_chanmodes_   (string) +
_monitor_   (integer) +
_monitor_time_   (time) +
_clienttagdeny_   (string) +
_clienttagdeny_count_   (integer) +
_clienttagdeny_array_   (string, array_size: "clienttagdeny_count") +
_typing_allowed_   (integer) +
_reconnect_delay_   (integer) +
_reconnect_start_   (time) +
_command_time_   (time) +
@@ -582,7 +570,6 @@ _title_   (string) +
_own_lines_   (pointer, hdata: "lines") +
_mixed_lines_   (pointer, hdata: "lines") +
_lines_   (pointer, hdata: "lines") +
_next_line_id_   (integer) +
_time_for_each_line_   (integer) +
_chat_refresh_needed_   (integer) +
_nicklist_   (integer) +
@@ -632,8 +619,6 @@ _text_search_input_   (string) +
_highlight_words_   (string) +
_highlight_regex_   (string) +
_highlight_regex_compiled_   (pointer) +
_highlight_disable_regex_   (string) +
_highlight_disable_regex_compiled_   (pointer) +
_highlight_tags_restrict_   (string) +
_highlight_tags_restrict_count_   (integer) +
_highlight_tags_restrict_array_   (pointer, array_size: "highlight_tags_restrict_count") +
@@ -924,7 +909,6 @@ _next_line_   (pointer, hdata: "line") +
| structure with one line data
| -
| _buffer_   (pointer, hdata: "buffer") +
_id_   (integer) +
_y_   (integer) +
_date_   (time) +
_date_printed_   (time) +
+4 -16
View File
@@ -20,8 +20,6 @@
| irc | irc_is_channel | 1 if string is a valid IRC channel name for server | server,channel (server is optional)
| irc | irc_is_message_ignored | 1 if the nick is ignored (message is not displayed) | server,message (message is the raw IRC message)
| irc | irc_is_nick | 1 if string is a valid IRC nick name | server,nickname (server is optional)
| irc | irc_nick | get current nick on a server | server name
@@ -60,6 +58,8 @@
| php | php_version | version of the interpreter used | -
| python | python2_bin | path to python 2.x interpreter | -
| python | python_eval | evaluation of source code | source code to execute
| python | python_interpreter | name of the interpreter used | -
@@ -74,7 +74,7 @@
| ruby | ruby_version | version of the interpreter used | -
| spell | spell_dict | comma-separated list of dictionaries used in buffer | buffer pointer ("0x12345678") or buffer full name ("irc.libera.#weechat")
| spell | spell_dict | comma-separated list of dictionaries used in buffer | buffer pointer ("0x12345678") or buffer full name ("irc.freenode.#weechat")
| tcl | tcl_eval | evaluation of source code | source code to execute
@@ -126,23 +126,13 @@
| weechat | uptime | WeeChat uptime (format: "days:hh:mm:ss") | "days" (number of days) or "seconds" (number of seconds) (optional)
| weechat | uptime_current | WeeChat uptime for the current process only (upgrades with /upgrade command are ignored) (format: "days:hh:mm:ss") | "days" (number of days) or "seconds" (number of seconds) (optional)
| weechat | version | WeeChat version | -
| weechat | version_git | WeeChat git version (output of command "git describe" for a development version only, empty for a stable release) | -
| weechat | version_number | WeeChat version (as number) | -
| weechat | weechat_cache_dir | WeeChat cache directory | -
| weechat | weechat_config_dir | WeeChat config directory | -
| weechat | weechat_daemon | 1 if WeeChat is running in daemon mode (headless, in background) | -
| weechat | weechat_data_dir | WeeChat data directory | -
| weechat | weechat_dir | WeeChat directory (*deprecated* since version 3.2, replaced by "weechat_config_dir", "weechat_data_dir", "weechat_cache_dir" and "weechat_runtime_dir") | -
| weechat | weechat_dir | WeeChat directory | -
| weechat | weechat_headless | 1 if WeeChat is running headless | -
@@ -150,8 +140,6 @@
| weechat | weechat_localedir | WeeChat "locale" directory | -
| weechat | weechat_runtime_dir | WeeChat runtime directory | -
| weechat | weechat_sharedir | WeeChat "share" directory | -
| weechat | weechat_site | WeeChat site | -
@@ -8,13 +8,11 @@
|===
| 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, "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
| weechat | focus_info | get focus info | "x": x coordinate (string with integer >= 0), "y": y coordinate (string with integer >= 0) | see function "hook_focus" in Plugin API reference
| weechat | secured_data | secured data | - | secured data: names and values (be careful: the values are sensitive data: do NOT print/log them anywhere)
|===
// end::infos_hashtable[]
@@ -4,26 +4,18 @@
//
// tag::plugins_priority[]
. charset (16000)
. logger (15000)
. exec (14000)
. trigger (13000)
. spell (12000)
. alias (11000)
. buflist (10000)
. fifo (9000)
. typing (8000)
. charset (15000)
. logger (14000)
. exec (13000)
. trigger (12000)
. spell (11000)
. alias (10000)
. buflist (9000)
. fifo (8000)
. xfer (7000)
. irc (6000)
. relay (5000)
. guile (4070)
. javascript (4060)
. lua (4050)
. perl (4040)
. php (4030)
. python (4020)
. ruby (4010)
. tcl (4000)
. guile, javascript, lua, perl, php, python, ruby, tcl (4000)
. script (3000)
. fset (2000)
// end::plugins_priority[]
+21 -47
View File
@@ -6,7 +6,7 @@
// tag::url_options[]
[width="100%",cols="2,^1,7",options="header"]
|===
| Option | Type ^(1)^ | Constants ^(2)^
| Option | Type ^(1)^ | Constants ^(2)^
| verbose | long |
@@ -48,6 +48,10 @@
| address_scope | long |
| protocols | mask | http, https, ftp, ftps, scp, sftp, telnet, ldap, ldaps, dict, file, tftp, all, imap, imaps, pop3, pop3s, smtp, smtps, rtsp, rtmp, rtmpt, rtmpe, rtmpte, rtmps, rtmpts, gopher, smb, smbs
| redir_protocols | mask | http, https, ftp, ftps, scp, sftp, telnet, ldap, ldaps, dict, file, tftp, all, imap, imaps, pop3, pop3s, smtp, smtps, rtsp, rtmp, rtmpt, rtmpe, rtmpte, rtmps, rtmpts, gopher, smb, smbs
| noproxy | string |
| socks5_gssapi_nec | long |
@@ -78,19 +82,15 @@
| doh_url | string |
| protocols_str | string |
| redir_protocols_str | string |
| netrc | long | ignored, optional, required
| userpwd | string |
| proxyuserpwd | string |
| httpauth | mask | none, basic, digest, ntlm, any, anysafe, digest_ie, only, ntlm_wb, negotiate, gssapi, bearer, aws_sigv4
| httpauth | mask | none, basic, digest, ntlm, any, anysafe, digest_ie, only, ntlm_wb, negotiate, gssapi, bearer
| proxyauth | mask | none, basic, digest, ntlm, any, anysafe, digest_ie, only, ntlm_wb, negotiate, gssapi, bearer, aws_sigv4
| proxyauth | mask | none, basic, digest, ntlm, any, anysafe, digest_ie, only, ntlm_wb, negotiate, gssapi, bearer
| netrc_file | string |
@@ -108,8 +108,6 @@
| tlsauth_password | string |
| sasl_authzid | string |
| sasl_ir | long |
| xoauth2_bearer | string |
@@ -122,6 +120,8 @@
| followlocation | long |
| put | long |
| post | long |
| postfields | string |
@@ -144,7 +144,7 @@
| cookiejar | string |
| http_version | long | none, 1_0, 1_1, 2_0, 2, 2tls, 2_prior_knowledge, 3
| http_version | long | none, 1_0, 1_1, 2_0, 2, 2tls, 2_prior_knowledge
| cookiesession | long |
@@ -182,20 +182,12 @@
| request_target | string |
| http09_allowed | long |
| hsts | string |
| hsts_ctrl | mask | enable, readonlyfile
| mail_from | string |
| mail_rcpt | list |
| mail_auth | string |
| mail_rcpt_alllowfails | long |
| tftp_blksize | long |
| tftp_no_options | long |
@@ -214,6 +206,8 @@
| ftp_create_missing_dirs | long |
| ftp_response_timeout | long |
| ftpsslauth | long | default, ssl, tls
| ftp_account | string |
@@ -244,8 +238,6 @@
| rtsp_server_cseq | long |
| aws_sigv4 | string |
| crlf | long |
| range | string |
@@ -282,8 +274,6 @@
| upload_buffersize | long |
| mime_options | mask | formescape
| timeout | long |
| low_speed_limit | long |
@@ -308,8 +298,6 @@
| connecttimeout_ms | long |
| maxage_conn | long |
| maxconnects | long |
| use_ssl | long | none, try, control, all
@@ -334,8 +322,6 @@
| upkeep_interval_ms | long |
| maxlifetime_conn | long |
| sslcert | string |
| sslversion | long | default, tlsv1, sslv2, sslv3, tlsv1_0, tlsv1_1, tlsv1_2, tlsv1_3, max_default, max_none, max_tlsv1_0, max_tlsv1_1, max_tlsv1_2, max_tlsv1_3
@@ -344,6 +330,10 @@
| cainfo | string |
| random_file | string |
| egdsocket | string |
| ssl_verifyhost | long |
| ssl_cipher_list | string |
@@ -374,10 +364,12 @@
| gssapi_delegation | long | none, policy_flag, flag
| ssl_options | long | allow_beast, no_revoke, no_backends, ok, too_late, unknown_backend, no_partialchain, revoke_best_effort, native_ca, auto_client_cert
| ssl_options | long | allow_beast, no_revoke, no_backends, ok, too_late, unknown_backend
| ssl_enable_alpn | long |
| ssl_enable_npn | long |
| pinnedpublickey | string |
| ssl_verifystatus | long |
@@ -406,7 +398,7 @@
| proxy_ssl_cipher_list | list |
| proxy_ssl_options | long | allow_beast, no_revoke, no_backends, ok, too_late, unknown_backend, no_partialchain, revoke_best_effort, native_ca, auto_client_cert
| proxy_ssl_options | long | allow_beast, no_revoke, no_backends, ok, too_late, unknown_backend
| proxy_ssl_verifyhost | long |
@@ -422,18 +414,6 @@
| proxy_tls13_ciphers | list |
| proxy_issuercert | string |
| ssl_ec_curves | string |
| doh_ssl_verifyhost | long |
| doh_ssl_verifypeer | long |
| doh_ssl_verifystatus | long |
| ca_cache_timeout | long |
| ssh_auth_types | mask | none, policy_flag, flag
| ssh_public_keyfile | string |
@@ -446,17 +426,11 @@
| ssh_compression | long |
| ssh_host_public_key_sha256 | string |
| telnetoptions | list |
| ws_options | mask | binary, close, cont, offset, ping, pong, raw_mode, text
| new_file_perms | long |
| new_directory_perms | long |
| quick_exit | long |
| telnetoptions | list |
|===
// end::url_options[]
+116 -339
View File
@@ -17,11 +17,10 @@ target: server name
* `+allchan+`: execute a command on all channels of all connected servers
----
/allchan [-current] [-parted] [-exclude=<channel>[,<channel>...]] <command>
[-current] [-parted] -include=<channel>[,<channel>...] <command>
/allchan [-current] [-exclude=<channel>[,<channel>...]] <command>
[-current] -include=<channel>[,<channel>...] <command>
-current: execute command for channels of current server only
-parted: execute on parted channels only
-exclude: exclude some channels (wildcard "*" is allowed)
-include: include only some channels (wildcard "*" is allowed)
command: command to execute (or text to send to buffer if command does not start with '/')
@@ -42,8 +41,6 @@ Examples:
/allchan -exclude=#weechat,#linux* hello
say 'hello' on all channels beginning with #linux:
/allchan -include=#linux* hello
close all buffers with parted channels:
/allchan -parted /close
----
[[command_irc_allpv]]
@@ -103,56 +100,6 @@ Examples:
/allserv /whois $nick
----
[[command_irc_auth]]
* `+auth+`: authenticate with SASL
----
/auth [<username> <password>]
username: SASL username (content is evaluated, see /help eval; server options are evaluated with ${irc_server.xxx} and ${server} is replaced by the server name)
password: SASL password or path to file with private key (content is evaluated, see /help eval; server options are evaluated with ${irc_server.xxx} and ${server} is replaced by the server name)
If username and password are not provided, the values from server options "sasl_username" and "sasl_password" (or "sasl_key") are used.
Examples:
authenticate with username/password defined in the server:
/auth
authenticate as a different user:
/auth user2 password2
authenticate as a different user with mechanism ecdsa-nist256p-challenge:
/auth user2 ${weechat_config_dir}/ecdsa2.pem
----
[[command_irc_autojoin]]
* `+autojoin+`: configure the "autojoin" server option
----
/autojoin add [<channel1> [<channel2>...]]
addraw <channel1>[,<channel2>...] [<key1>[,<key2>...]]
del [<channel1> [<channel2>...]]
apply
sort
add: add current channel or a list of channels (with optional keys) to the autojoin option; if you are on the channel and the key is not provided, the key is read in the channel
addraw: use the IRC raw format (same as /join command): all channels separated by commas, optional keys separated by commas
del: delete current channel or a list of channels from the autojoin option
channel: channel name
key: key for the channel
apply: set currently joined channels in the autojoin option
sort: sort alphabetically channels in the autojoin option
Examples:
/autojoin add
/autojoin add #test
/autojoin add #chan1 #chan2
/allchan /autojoin add
/autojoin addraw #chan1,#chan2,#chan3 key1,key2
/autojoin del
/autojoin del #chan1
/autojoin apply
/autojoin sort
----
[[command_irc_ban]]
* `+ban+`: ban nicks or hosts
@@ -176,25 +123,19 @@ Without argument, this command displays the ban list for current channel.
ls: list the capabilities supported by the server
list: list the capabilities currently enabled
req: request a new capability or remove a capability (if starting with "-", for example: "-multi-prefix")
req: request a capability
ack: acknowledge capabilities which require client-side acknowledgement
end: end the capability negotiation
Without argument, "ls" and "list" are sent.
Capabilities supported by WeeChat are: account-notify, away-notify, cap-notify, chghost, extended-join, invite-notify, message-tags, multi-prefix, server-time, setname, userhost-in-names.
Capabilities supported by WeeChat are: account-notify, away-notify, cap-notify, chghost, extended-join, invite-notify, multi-prefix, server-time, userhost-in-names.
The capabilities to automatically enable on servers can be set in option irc.server_default.capabilities (or by server in option irc.server.xxx.capabilities).
Examples:
display supported and enabled capabilities:
/cap
request capabilities multi-prefix and away-notify:
/cap req multi-prefix away-notify
request capability extended-join, remove capability multi-prefix:
/cap req extended-join -multi-prefix
remove capability away-notify:
/cap req -away-notify
/cap
/cap req multi-prefix away-notify
----
[[command_irc_connect]]
@@ -220,7 +161,7 @@ Examples:
To disconnect from a server or stop any connection attempt, use command /disconnect.
Examples:
/connect libera
/connect freenode
/connect irc.oftc.net/6667
/connect irc6.oftc.net/6667 -ipv6
/connect irc6.oftc.net/6697 -ipv6 -ssl
@@ -360,10 +301,10 @@ Note: the regular expression can start with "(?-i)" to become case sensitive.
Examples:
ignore nick "toto" everywhere:
/ignore add toto
ignore host "toto@domain.com" on libera server:
/ignore add toto@domain.com libera
ignore host "toto*@*.domain.com" on libera/#weechat:
/ignore add toto*@*.domain.com libera #weechat
ignore host "toto@domain.com" on freenode server:
/ignore add toto@domain.com freenode
ignore host "toto*@*.domain.com" on freenode/#weechat:
/ignore add toto*@*.domain.com freenode #weechat
----
[[command_irc_info]]
@@ -408,7 +349,7 @@ nick: nick
Examples:
/join #weechat
/join #protectedchan,#weechat key
/join -server libera #weechat
/join -server freenode #weechat
/join -noswitch #weechat
----
@@ -420,7 +361,7 @@ Examples:
channel: channel name
nick: nick
reason: reason (evaluated, see /help eval; special variables ${nick} (self nick), ${target} (target nick), ${channel} and ${server} are replaced by their values)
reason: reason (special variables $nick, $channel and $server are replaced by their value)
----
[[command_irc_kickban]]
@@ -431,7 +372,7 @@ channel: channel name
channel: channel name
nick: nick
reason: reason (evaluated, see /help eval; special variables ${nick} (self nick), ${target} (target nick), ${channel} and ${server} are replaced by their values)
reason: reason (special variables $nick, $channel and $server are replaced by their value)
It is possible to kick/ban with a mask, nick will be extracted from mask and replaced by "*".
@@ -461,7 +402,7 @@ server_mask: list of servers must match this mask
----
[[command_irc_list]]
* `+list+`: list channels and their topics
* `+list+`: list channels and their topic
----
/list [-server <server>] [-re <regex>] [<channel>[,<channel>...]] [<target>]
@@ -611,10 +552,10 @@ Without argument, this command displays notifications for current server (or all
Examples:
notify when "toto" joins/quits current server:
/notify add toto
notify when "toto" joins/quits libera server:
/notify add toto libera
notify when "toto" is away or back on libera server:
/notify add toto libera -away
notify when "toto" joins/quits freenode server:
/notify add toto freenode
notify when "toto" is away or back on freenode server:
/notify add toto freenode -away
----
[[command_irc_op]]
@@ -732,7 +673,7 @@ option: extra option, for some servers
channel: channel name
nick: nick
reason: reason (special variables $nick, $channel and $server are replaced by their values)
reason: reason (special variables $nick, $channel and $server are replaced by their value)
----
[[command_irc_restart]]
@@ -834,16 +775,16 @@ nooption: set boolean option to 'off' (for example: -nossl)
Examples:
/server listfull
/server add libera irc.libera.chat
/server add libera irc.libera.chat/6697 -ssl -autoconnect
/server add freenode chat.freenode.net
/server add freenode chat.freenode.net/6697 -ssl -autoconnect
/server add chatspike irc.chatspike.net/6667,irc.duckspike.net/6667
/server copy libera libera-test
/server rename libera-test libera2
/server reorder libera2 libera
/server del libera
/server copy freenode freenode-test
/server rename freenode-test freenode2
/server reorder freenode2 freenode
/server del freenode
/server deloutq
/server raw
/server raw s:libera
/server raw s:freenode
/server raw c:${recv} && ${command}==PRIVMSG && ${nick}==foo
----
@@ -867,15 +808,6 @@ mask: list only services matching this mask
type: list only services of this type
----
[[command_irc_setname]]
* `+setname+`: set real name
----
/setname <realname>
realname: new real name
----
[[command_irc_squery]]
* `+squery+`: deliver a message to a service
@@ -1104,19 +1036,6 @@ Examples:
// end::alias_commands[]
// tag::weechat_commands[]
[[command_weechat_allbuf]]
* `+allbuf+`: execute a command on all buffers
----
/allbuf <command>
command: command to execute (or text to send to buffer if command does not start with '/')
Examples:
set unread marker on all buffers:
/allbuf /buffer set unread
----
[[command_weechat_away]]
* `+away+`: set or remove away status
@@ -1193,8 +1112,6 @@ Examples:
unmerge [<number>|-all]
hide [<number>|<name>|-all [<number>|<name>...]]
unhide [<number>|<name>|-all [<number>|<name>...]]
switch [-previous]
zoom
renumber [<number1> [<number2> [<start>]]]
close [<n1>[-<n2>]|<name>...]
notify [<level>]
@@ -1203,7 +1120,6 @@ Examples:
delvar <name>
set <property> [<value>]
get <property>
jump smart|last_displayed|prev_visited|next_visited
<number>|-|+|<name>
list: list buffers (without argument, this list is displayed)
@@ -1217,8 +1133,6 @@ Examples:
unmerge: unmerge buffer from other buffers which have same number
hide: hide the buffer
unhide: unhide the buffer
switch: switch to next merged buffer (or to previous buffer with "-previous")
zoom: zoom on merged buffer
renumber: renumber buffers (works only if option weechat.look.buffer_auto_renumber is off)
close: close buffer (number/range or name is optional)
notify: display or set notify level for current buffer: this level determines whether buffer will be added to hotlist or not:
@@ -1232,11 +1146,6 @@ renumber: renumber buffers (works only if option weechat.look.buffer_auto_renumb
delvar: delete a local variable from the current buffer
set: set a property in the current buffer
get: display a property of current buffer
jump: jump to another buffer:
smart: next buffer with activity
last_displayed: last buffer displayed (before last jump to a buffer)
prev_visited: previously visited buffer
next_visited: jump to next visited buffer
number: jump to buffer by number, possible prefix:
'+': relative jump, add number to current
'-': relative jump, sub number to current
@@ -1361,25 +1270,23 @@ Examples:
----
/debug list
set <plugin> <level>
dump|hooks [<plugin>]
buffer|certs|color|dirs|infolists|libs|memory|tags|term|windows
dump [<plugin>]
buffer|color|infolists|memory|tags|term|windows
mouse|cursor [verbose]
hdata [free]
time <command>
unicode <string>
list: list plugins with debug levels
set: set debug level for plugin
plugin: name of plugin ("core" for WeeChat core)
level: debug level for plugin (0 = disable debug)
dump: save memory dump in WeeChat log file (same dump is written when WeeChat crashes)
hooks: display infos about hooks (with a plugin: display detailed info about hooks created by the plugin)
buffer: dump buffer content with hexadecimal values in log file
certs: display number of loaded trusted certificate authorities
color: display infos about current color pairs
cursor: toggle debug for cursor mode
dirs: display directories
hdata: display infos about hdata (with free: remove all hdata in memory)
hooks: display infos about hooks
infolists: display infos about infolists
libs: display infos about external libraries used
memory: display infos about memory usage
@@ -1388,13 +1295,6 @@ infolists: display infos about infolists
term: display infos about terminal
windows: display windows tree
time: measure time to execute a command or to send text to the current buffer
unicode: display information about string and unicode chars (evaluated, see /help eval)
Examples:
/debug set irc 1
/debug mouse verbose
/debug time /filter toggle
/debug unicode ${chars:${\u26C0}-${\u26CF}}
----
[[command_weechat_eval]]
@@ -1441,84 +1341,57 @@ To force a string comparison, you can add double quotes around each expression,
"50" > "100" ==> 1
Some variables are replaced in expression, using the format ${variable}, variable can be, by order of priority:
- the string itself without evaluation (format: "raw:xxx")
- a user-defined variable (format: "name")
- an evaluated sub-string (format: "eval:xxx")
- an evaluated condition (format: "eval_cond:xxx")
- a string with escaped chars (format: "esc:xxx" or "\xxx")
- a string with a range of chars (format: "chars:xxx" or "chars:c1-c2" where "xxx" is one of: "digit", "xdigit", "lower", "upper", "alpha", "alnum")
- a string converted to lower case (format: "lower:xxx")
- a string converted to upper case (format: "upper:xxx")
- a string with chars to hide (format: "hide:char,string")
- a string with max chars (format: "cut:max,suffix,string" or "cut:+max,suffix,string")
1. an evaluated sub-string (format: "eval:xxx")
2. an evaluated condition (format: "eval_cond:xxx")
3. a string with escaped chars (format: "esc:xxx" or "\xxx")
4. a string with chars to hide (format: "hide:char,string")
5. 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")
- a reversed string (format: "rev:xxx" or "revscr:xxx")
- a repeated string (format: "repeat:count,string")
- length of a string (format: "length:xxx" or "lengthscr:xxx")
- split of a string (format: "split:number,separators,flags,xxx")
- split of shell argmuents (format: "split_shell:number,xxx")
- a color (format: "color:xxx", see "Plugin API reference", function "color")
- a modifier (format: "modifier:name,data,string")
- an info (format: "info:name,arguments", arguments are optional)
- a base 16/32/64 encoded/decoded string (format: "base_encode:base,xxx" or "base_decode:base,xxx")
- current date/time (format: "date" or "date:format")
- an environment variable (format: "env:XXX")
- a ternary operator (format: "if:condition?value_if_true:value_if_false")
- result of an expression with parentheses and operators + - * / // % ** (format: "calc:xxx")
- a random integer number (format: "random:min,max")
- a translated string (format: "translate:xxx")
- define a user variable (format: "define:name,value")
- an option (format: "file.section.option")
- a local variable in buffer
- a hdata name/variable (the value is automatically converted to string), by default "window" and "buffer" point to current window/buffer.
6. a reversed string (format: "rev:xxx" or "revscr:xxx")
7. a repeated string (format: "repeat:count,string")
8. length of a string (format: "length:xxx" or "lengthscr:xxx")
9. a color (format: "color:xxx", see "Plugin API reference", function "color")
10. a modifier (format: "modifier:name,data,string")
11. an info (format: "info:name,arguments", arguments are optional)
12. a base 16/32/64 encoded/decoded string (format: "base_encode:base,xxx" or "base_decode:base,xxx")
13. current date/time (format: "date" or "date:format")
14. an environment variable (format: "env:XXX")
15. a ternary operator (format: "if:condition?value_if_true:value_if_false")
16. result of an expression with parentheses and operators + - * / // % ** (format: "calc:xxx")
17. an option (format: "file.section.option")
18. a local variable in buffer
19. a hdata name/variable (the value is automatically converted to string), by default "window" and "buffer" point to current window/buffer.
Format for hdata can be one of following:
hdata.var1.var2...: start with a hdata (pointer must be known), and ask variables one after one (other hdata can be followed)
hdata[list].var1.var2...: start with a hdata using a list/pointer/pointer name, for example:
hdata[list].var1.var2...: start with a hdata using a list, for example:
${buffer[gui_buffers].full_name}: full name of first buffer in linked list of buffers
${plugin[weechat_plugins].name}: name of first plugin in linked list of plugins
hdata[pointer].var1.var2...: start with a hdata using a pointer, for example:
${buffer[0x1234abcd].full_name}: full name of the buffer with this pointer (can be used in triggers)
${buffer[my_pointer].full_name}: full name of the buffer with this pointer name (can be used in triggers)
For name of hdata and variables, please look at "Plugin API reference", function "weechat_hdata_get".
Examples (simple strings):
/eval -n ${raw:${info:version}} ==> ${info:version}
/eval -n ${eval_cond:${window.win_width}>100} ==> 1
/eval -n ${info:version} ==> 0.4.3
/eval -n ${env:HOME} ==> /home/user
/eval -n ${weechat.look.scroll_amount} ==> 3
/eval -n ${sec.data.password} ==> secret
/eval -n ${window} ==> 0x2549aa0
/eval -n ${window.buffer} ==> 0x2549320
/eval -n ${window.buffer.full_name} ==> core.weechat
/eval -n ${window.buffer.number} ==> 1
/eval -n ${\t} ==> <tab>
/eval -n ${chars:digit} ==> 0123456789
/eval -n ${chars:J-T} ==> JKLMNOPQRST
/eval -n ${lower:TEST} ==> test
/eval -n ${upper:test} ==> TEST
/eval -n ${hide:-,${relay.network.password}} ==> --------
/eval -n ${cut:3,+,test} ==> tes+
/eval -n ${cut:+3,+,test} ==> te+
/eval -n ${date:%H:%M:%S} ==> 07:46:40
/eval -n ${if:${info:term_width}>80?big:small} ==> big
/eval -n ${rev:Hello} ==> olleH
/eval -n ${repeat:5,-} ==> -----
/eval -n ${length:test} ==> 4
/eval -n ${split:1,,,abc,def,ghi} ==> abc
/eval -n ${split:-1,,,abc,def,ghi} ==> ghi
/eval -n ${split:count,,,abc,def,ghi} ==> 3
/eval -n ${split:random,,,abc,def,ghi} ==> def
/eval -n ${split_shell:1,"arg 1" arg2} ==> arg 1
/eval -n ${split_shell:-1,"arg 1" arg2} ==> arg2
/eval -n ${split_shell:count,"arg 1" arg2} ==> 2
/eval -n ${split_shell:random,"arg 1" arg2} ==> arg2
/eval -n ${calc:(5+2)*3} ==> 21
/eval -n ${random:0,10} ==> 3
/eval -n ${base_encode:64,test} ==> dGVzdA==
/eval -n ${base_decode:64,dGVzdA==} ==> test
/eval -n ${translate:Plugin} ==> Extension
/eval -n ${define:len,${calc:5+3}}${len}x${len} ==> 8x8
/eval -n ${eval_cond:${window.win_width}>100} ==> 1
/eval -n ${info:version} ==> 0.4.3
/eval -n ${env:HOME} ==> /home/user
/eval -n ${weechat.look.scroll_amount} ==> 3
/eval -n ${sec.data.freenode_password} ==> secret
/eval -n ${window} ==> 0x2549aa0
/eval -n ${window.buffer} ==> 0x2549320
/eval -n ${window.buffer.full_name} ==> core.weechat
/eval -n ${window.buffer.number} ==> 1
/eval -n ${\t} ==> <tab>
/eval -n ${hide:-,${relay.network.password}} ==> --------
/eval -n ${cut:3,+,test} ==> tes+
/eval -n ${cut:+3,+,test} ==> te+
/eval -n ${date:%H:%M:%S} ==> 07:46:40
/eval -n ${if:${info:term_width}>80?big:small} ==> big
/eval -n ${rev:Hello} ==> olleH
/eval -n ${repeat:5,-} ==> -----
/eval -n ${length:test} ==> 4
/eval -n ${calc:(5+2)*3} ==> 21
/eval -n ${base_encode:64,test} ==> dGVzdA==
/eval -n ${base_decode:64,dGVzdA==} ==> test
Examples (conditions):
/eval -n -c ${window.buffer.number} > 2 ==> 0
@@ -1542,7 +1415,7 @@ Examples (conditions):
add|addreplace <name> <buffer>[,<buffer>...] <tags> <regex>
rename <name> <new_name>
recreate <name>
del <name>|-all [<name>...]
del <name>|-all
list: list all filters
enable: enable filters (filters are enabled by default)
@@ -1556,7 +1429,7 @@ addreplace: add or replace an existing filter
del: delete a filter
-all: delete all filters
buffer: comma separated list of buffers where filter is active:
- this is full name including plugin (example: "irc.libera.#weechat" or "irc.server.libera")
- this is full name including plugin (example: "irc.freenode.#weechat" or "irc.server.freenode")
- "*" means all buffers
- a name starting with '!' is excluded
- wildcard "*" is allowed
@@ -1591,11 +1464,11 @@ Examples:
filter nicks displayed when joining channels or with /names:
/filter add nicks * irc_366 *
filter nick "toto" on IRC channel #weechat:
/filter add toto irc.libera.#weechat nick_toto *
/filter add toto irc.freenode.#weechat nick_toto *
filter IRC join/action messages from nick "toto":
/filter add toto * nick_toto+irc_join,nick_toto+irc_action *
filter lines containing "weechat sucks" on IRC channel #weechat:
/filter add sucks irc.libera.#weechat * weechat sucks
/filter add sucks irc.freenode.#weechat * weechat sucks
filter lines that are strictly equal to "WeeChat sucks" on all buffers:
/filter add sucks2 * * (?-i)^WeeChat sucks$
----
@@ -1626,22 +1499,6 @@ clear: clear history
value: number of history entries to show
----
[[command_weechat_hotlist]]
* `+hotlist+`: manage hotlist
----
/hotlist add [low|message|private|highlight]
clear [<level>]
remove
restore [-all]
add: add current buffer in hotlist (default level: "low", conditions defined in option weechat.look.hotlist_add_conditions are NOT checked)
clear: clear hotlist
level: "lowest" to clear only lowest level in hotlist, highest" to clear only highest level in hotlist, or level mask: integer which is a combination of 1=join/part, 2=message, 4=private, 8=highlight)
remove: remove current buffer from hotlist
restore: restore latest hotlist removed in the current buffer (or all buffers with -all)
----
[[command_weechat_input]]
* `+input+`: functions for command line
@@ -1664,7 +1521,6 @@ list of actions:
delete_previous_char: delete previous char
delete_next_char: delete next char
delete_previous_word: delete previous word
delete_previous_word_whitespace: delete previous word (until whitespace)
delete_next_word: delete next word
delete_beginning_of_line: delete from beginning of line until cursor
delete_end_of_line: delete from cursor until end of line
@@ -1683,10 +1539,20 @@ list of actions:
history_next: recall next command in current buffer history
history_global_previous: recall previous command in global history
history_global_next: recall next command in global history
jump_smart: jump to next buffer with activity
jump_last_buffer_displayed: jump to last buffer displayed (before last jump to a buffer)
jump_previously_visited_buffer: jump to previously visited buffer
jump_next_visited_buffer: jump to next visited buffer
hotlist_clear: clear hotlist (optional argument: "lowest" to clear only lowest level in hotlist, "highest" to clear only highest level in hotlist, or level mask: integer which is a combination of 1=join/part, 2=message, 4=private, 8=highlight)
grab_key: grab a key (optional argument: delay for end of grab, default is 500 milliseconds)
grab_key_command: grab a key with its associated command (optional argument: delay for end of grab, default is 500 milliseconds)
grab_mouse: grab mouse event code
grab_mouse_area: grab mouse event code with area
set_unread: set unread marker for all buffers
set_unread_current_buffer: set unread marker for current buffer
switch_active_buffer: switch to next merged buffer
switch_active_buffer_previous: switch to previous merged buffer
zoom_merged_buffer: zoom on merged buffer
insert: insert text in command line (escaped chars are allowed, see /help print)
send: send text to the buffer
paste_start: start paste (bracketed paste mode)
@@ -1695,49 +1561,6 @@ list of actions:
This command is used by key bindings or plugins.
----
[[command_weechat_item]]
* `+item+`: manage custom bar items
----
/item list
add|addreplace <name> "<conditions>" "<content>"
rename <name> <new_name>
refresh <name> [<name>...]
recreate <name>
del <name>|-all
list: list all custom bar items
add: add a custom bar item
addreplace: add or replace an existing custom bar item
name: custom bar item name
conditions: evaluated conditions to display the bar item (for example to display the bar item only in specific buffers)
content: content (evaluated, see /help eval)
rename: rename a custom bar item
refresh: update content of item in all bars where the item is displayed; any item can be refreshed: default/plugin/custom bar items
recreate: set input with the command used to edit the custom bar item
del: delete a custom bar item
-all: delete all custom bar items
Examples:
add item with terminal size, displayed only in buffers with number = 1:
/item add terminfo "${buffer.number} == 1" "term:${info:term_width}x${info:term_height}"
add item with buffer info:
/item add bufinfo "" "${buffer.number}:${buffer.name}${if:${buffer.zoomed}?(Z)}"
add item with date/time using format "Dec 25, 12:34 +0100", refreshed every minute:
/item add datetime "" "${date:%b %d, %H:%M %z}"
/trigger add datetime_refresh timer "60000;60" "" "" "/item refresh datetime"
add item with number of lines in buffer (displayed/total), refreshed each time a new line is displayed or if filtered lines have changed:
/item add lines_count "" "${calc:${buffer.lines.lines_count}-${buffer.lines.lines_hidden}}/${buffer.lines.lines_count} lines"
/trigger add lines_count_refresh_print print "" "" "" "/item refresh lines_count"
/trigger add lines_count_refresh_signal signal "window_switch;buffer_switch;buffer_lines_hidden;filters_*" "" "" "/item refresh lines_count"
force refresh of item "lines_count":
/item refresh lines_count
recreate item "lines_count" with different conditions or content:
/item recreate lines_count
delete item "lines_count":
/item del lines_count
----
[[command_weechat_key]]
* `+key+`: bind/unbind keys
@@ -1816,8 +1639,6 @@ windows: store/apply only windows (buffer displayed by each window)
Without argument, this command displays stored layouts.
The current layout can be saved on /quit command with the option "weechat.look.save_layout_on_exit".
Note: the layout only remembers windows split and buffers numbers. It does not open buffers. That means for example you must still auto-join IRC channels to open the buffers, the saved layout only applies once the buffers are opened.
----
[[command_weechat_mouse]]
@@ -1849,7 +1670,7 @@ Examples:
-core: no output on WeeChat core buffer
-current: no output on current buffer
-buffer: no output on specified buffer
name: full buffer name (examples: "irc.server.libera", "irc.libera.#weechat")
name: full buffer name (examples: "irc.server.freenode", "irc.freenode.#weechat")
command: command to execute silently (a '/' is automatically added if not found at beginning of command)
If no target is specified (-core, -current or -buffer), then default is to mute all buffers.
@@ -1860,33 +1681,28 @@ Examples:
message to current IRC channel:
/mute -current msg * hi!
message to #weechat channel:
/mute -buffer irc.libera.#weechat msg #weechat hi!
/mute -buffer irc.freenode.#weechat msg #weechat hi!
----
[[command_weechat_plugin]]
* `+plugin+`: list/load/unload plugins
----
/plugin list [-o|-ol|-i|-il|<name>]
listfull [<name>]
/plugin list|listfull [<name>]
load <filename> [<arguments>]
autoload [<arguments>]
reload [<name>|* [<arguments>]]
unload [<name>]
list: list loaded plugins
-o: send list of loaded plugins to buffer (string in English)
-ol: send list of loaded plugins to buffer (translated string)
-i: copy list of loaded plugins in command line (for sending to buffer) (string in English)
-il: copy list of loaded plugins in command line (for sending to buffer) (translated string)
name: a plugin name
listfull: list loaded plugins (verbose)
load: load a plugin
filename: plugin (file) to load
arguments: arguments given to plugin on load
autoload: autoload plugins in system or user directory
reload: reload a plugin (if no name given, unload all plugins, then autoload plugins)
unload: unload a plugin (if no name given, unload all plugins)
filename: plugin (file) to load
name: a plugin name
arguments: arguments given to plugin on load
Without argument, this command lists loaded plugins.
----
@@ -1933,7 +1749,7 @@ Examples:
display message on core buffer with prefix "abc":
/print -core abc\tThe message
display a message on channel #weechat:
/print -buffer irc.libera.#weechat Message on #weechat
/print -buffer irc.freenode.#weechat Message on #weechat
display a snowman (U+2603):
/print -escape \u2603
send alert (BEL):
@@ -2055,7 +1871,7 @@ Keys on secure buffer:
alt+v toggle values
When a passphrase is used (data encrypted), it is asked by WeeChat on startup.
It is possible to set environment variable "WEECHAT_PASSPHRASE" to prevent the prompt (this same variable is used by WeeChat on /upgrade), or to set option sec.crypt.passphrase_command to read the passphrase from the output of an external command like a password manager (see /help sec.crypt.passphrase_command).
It is possible to set environment variable "WEECHAT_PASSPHRASE" to prevent the prompt (this same variable is used by WeeChat on /upgrade), or to set option sec.crypt.passphrase_file to read the passphrase from a file (see /help sec.crypt.passphrase_file).
Secured data with format ${sec.data.xxx} can be used in:
- command /eval
@@ -2066,16 +1882,14 @@ Secured data with format ${sec.data.xxx} can be used in:
Examples:
set a passphrase:
/secure passphrase this is my passphrase
use program "pass" to read the passphrase on startup:
/set sec.crypt.passphrase_command "/usr/bin/pass show weechat/passphrase"
encrypt libera SASL password:
/secure set libera mypassword
/set irc.server.libera.sasl_password "${sec.data.libera}"
encrypt freenode SASL password:
/secure set freenode mypassword
/set irc.server.freenode.sasl_password "${sec.data.freenode}"
encrypt oftc password for nickserv:
/secure set oftc mypassword
/set irc.server.oftc.command "/msg nickserv identify ${sec.data.oftc}"
alias to ghost the nick "mynick":
/alias add ghost /eval /msg -server libera nickserv ghost mynick ${sec.data.libera}
/alias add ghost /eval /msg -server freenode nickserv ghost mynick ${sec.data.freenode}
----
[[command_weechat_set]]
@@ -2114,32 +1928,6 @@ Examples:
/set env ABC ""
----
[[command_weechat_toggle]]
* `+toggle+`: toggle value of a config option
----
/toggle <option> [<value> [<value>...]]
option: name of an option
value: possible values for the option (values are split like the shell command arguments: quotes can be used to preserve spaces at the beginning/end of values)
Behavior:
- only an option of type boolean or string can be toggled without a value:
- boolean: toggle between on/off according to current value
- string: toggle between empty string and default value (works only if empty string is allowed for the option)
- with a single value given, toggle between this value and the default value of option
- with multiple values given, toggle between these values: the value used is the one following the current value of option; if the current value of option is not in list, the first value in the list is used
- the special value "null" can be given, but only as first value in the list and without quotes around.
Examples:
toggle display of time in chat area (without displaying the new value used):
/mute /toggle weechat.look.buffer_time_format
switch format of time in chat area (with seconds, without seconds, disabled):
/toggle weechat.look.buffer_time_format "%H:%M:%S" "%H:%M" ""
toggle autojoin of #weechat channel on libera server:
/toggle irc.server.libera.autojoin null #weechat
----
[[command_weechat_unset]]
* `+unset+`: unset/reset config options
@@ -2160,22 +1948,19 @@ Examples:
----
[[command_weechat_upgrade]]
* `+upgrade+`: save WeeChat session and reload the WeeChat binary without disconnecting from servers
* `+upgrade+`: reload the WeeChat binary without disconnecting from servers
----
/upgrade [-yes] [<path_to_binary>|-save|-quit]
/upgrade [-yes] [<path_to_binary>|-quit]
-yes: required if option "weechat.look.confirm_upgrade" is enabled
path_to_binary: path to WeeChat binary (default is current binary)
-dummy: do nothing (option used to prevent accidental completion with "-quit")
-save: only save the session, do not quit nor reload WeeChat; the configuration files are not saved (if needed you can use /save before this command)
-quit: close *ALL* connections, save session and quit WeeChat, which makes possible a delayed restoration (see below)
This command upgrades and reloads a running WeeChat session. The new WeeChat binary must have been compiled or installed with a package manager before running this command.
Note: SSL connections are lost during upgrade (except with -save), because the reload of SSL sessions is currently not possible with GnuTLS. There is automatic reconnection after upgrade.
Important: use of option -save can be dangerous, it is recommended to use only /upgrade (or with -quit) for a standard upgrade and a restart; the option -save can be used to save the session regularly and restore it in case of after abnormal exit (power outage, crash, etc.)
Note: SSL connections are lost during upgrade, because reload of SSL sessions is currently not possible with GnuTLS. There is automatic reconnection after upgrade.
Upgrade process has 4 steps:
1. save session into files for core and plugins (buffers, history, ..)
@@ -2183,19 +1968,15 @@ Upgrade process has 4 steps:
3. save WeeChat configuration (weechat.conf)
4. execute new WeeChat binary and reload session.
With option "-quit", the process is:
With option "-quit", the process is slightly different:
1. close *ALL* connections (irc, xfer, relay, ...)
2. save session into files (*.upgrade)
3. unload all plugins
4. save WeeChat configuration
5. quit WeeChat
With option "-save", the process is:
1. save session into files (*.upgrade) with a disconnected state for IRC servers and Relay clients (but no disconnection is made)
With -quit or -save, you can restore the session later with this command: weechat --upgrade
IMPORTANT: you must restore the session with exactly same configuration (files *.conf) and if possible the same WeeChat version (or a more recent one).
It is possible to restore WeeChat session on another machine if you copy the content of WeeChat home directories (see /debug dirs).
Then later you can restore session with command: weechat --upgrade
IMPORTANT: you must restore the session with exactly same configuration (files *.conf).
It is possible to restore WeeChat session on another machine if you copy the content of directory "~/.weechat".
----
[[command_weechat_uptime]]
@@ -2379,9 +2160,7 @@ The following variables can be used in these options:
- ${format_hotlist}: the formatted hotlist (evaluation of option buflist.format.hotlist)
- ${hotlist}: the raw hotlist
- ${hotlist_priority}: "none", "low", "message", "private" or "highlight"
- ${hotlist_priority_number}: -1 = none, 0 = low, 1 = message, 2 = private, 3 = highlight
- ${format_lag}: the lag for an IRC server buffer, empty if there's no lag (evaluation of option buflist.format.lag)
- ${format_tls_version}: indicator of TLS version for a server buffer, empty for channels (evaluation of option buflist.format.tls_version)
----
// end::buflist_commands[]
@@ -2488,14 +2267,14 @@ disable: disable FIFO pipe
toggle: toggle FIFO pipe
FIFO pipe is used as remote control of WeeChat: you can send commands or text to the FIFO pipe from your shell.
By default the FIFO pipe is called weechat_fifo_xxx (where xxx is the WeeChat process id) and located in the WeeChat runtime directory (see /debug dirs).
By default the FIFO pipe is in ~/.weechat/weechat_fifo
The expected format is one of:
plugin.buffer *text or command here
*text or command here
For example to change your libera nick:
echo 'irc.server.libera */nick newnick' >/run/user/1000/weechat/weechat_fifo_12345
For example to change your freenode nick:
echo 'irc.server.freenode */nick newnick' >~/.weechat/weechat_fifo
Please read the user's guide for more info and examples.
@@ -2932,7 +2711,7 @@ Without argument, this command lists all loaded scripts.
stop: close the server socket (clients remain connected)
name: relay name (see format below)
port: port used for relay
path: path used for relay (for UNIX domain socket only); path is evaluated (see function string_eval_path_home in plugin API reference)
path: path used for relay (for UNIX domain socket only); "%h" at beginning of string is replaced by WeeChat home ("~/.weechat" by default), content is evaluated (see /help eval)
raw: open buffer with raw Relay data
sslcertkey: set SSL certificate/key using path in option relay.network.ssl_cert_key
@@ -2946,15 +2725,15 @@ protocol.name: protocol and name to relay:
- protocol "weechat" (name is not used)
The "irc" protocol allows any IRC client (including WeeChat itself) to connect on the port.
The "weechat" protocol allows a remote interface to connect on the port, see the list here: https://weechat.org/about/interfaces/
The "weechat" protocol allows a remote interface to connect on the port, see the list here: https://weechat.org/about/interfaces
Without argument, this command opens buffer with list of relay clients.
Examples:
irc proxy, for server "libera":
/relay add irc.libera 8000
irc proxy, for server "libera", with SSL:
/relay add ssl.irc.libera 8001
irc proxy, for server "freenode":
/relay add irc.freenode 8000
irc proxy, for server "freenode", with SSL:
/relay add ssl.irc.freenode 8001
irc proxy, for all servers (client will choose), with SSL:
/relay add ssl.irc 8002
weechat protocol:
@@ -2968,7 +2747,7 @@ Examples:
weechat protocol with SSL, using IPv4 + IPv6:
/relay add ipv4.ipv6.ssl.weechat 9001
weechat protocol over UNIX domain socket:
/relay add unix.weechat ${weechat_runtime_dir}/relay_socket
/relay add unix.weechat %h/relay_socket
----
// end::relay_commands[]
@@ -3101,7 +2880,7 @@ Examples:
----
/spell enable|disable|toggle
listdict
setdict -|<dict>[,<dict>...]
setdict <dict>[,<dict>...]
deldict
addword [<dict>] <word>
@@ -3109,7 +2888,7 @@ Examples:
disable: disable spell checker
toggle: toggle spell checker
listdict: show installed dictionaries
setdict: set dictionary for current buffer (multiple dictionaries can be separated by a comma, the special value "-" disables spell checking on current buffer)
setdict: set dictionary for current buffer (multiple dictionaries can be separated by a comma)
deldict: delete dictionary used on current buffer
addword: add a word in personal dictionary
@@ -3238,8 +3017,6 @@ Examples (you can also look at default triggers with /trigger listdefault):
/trigger add resize_big signal signal_sigwinch "${info:term_width} >= 100" "" "/bar show nicklist"
silently save config each hour:
/trigger add cfgsave timer 3600000;0;0 "" "" "/mute /save"
silently save WeeChat session at midnight (see /help upgrade):
/trigger add session_save signal day_changed "" "" "/mute /upgrade -save"
open trigger monitor and show only modifiers and triggers whose name starts with "resize":
/trigger monitor @modifier,resize*
----
File diff suppressed because it is too large Load Diff
+3 -3
View File
@@ -15,9 +15,9 @@
"--daemon").
*-d*, *--dir* _<path>_::
Force a single directory for all WeeChat files (directory is created if not found).
Four directories can be given, separated by colons (in this order: config,
data, cache, runtime).
Set path as home for WeeChat (used for configuration files, logs, user
plugins and scripts), default value is "~/.weechat" (note: directory is
created if not found by WeeChat).
If this option is not given, the environment variable WEECHAT_HOME is used
(if not empty).
+28 -31
View File
@@ -1,6 +1,6 @@
// tag::plugin_options[]
For complete doc on plugin options, please look at plugins documentation in
https://weechat.org/doc/[WeeChat user's guide].
https://weechat.org/doc[WeeChat user's guide].
With irc plugin, you can connect to temporary server with an URL like:
@@ -8,7 +8,7 @@ With irc plugin, you can connect to temporary server with an URL like:
To join WeeChat IRC channel support with nick "mynick":
irc://mynick@irc.libera.chat/#weechat
irc://mynick@chat.freenode.net/#weechat
IPv6 address can be enclosed in brackets to add a port after address, for
example:
@@ -17,82 +17,79 @@ example:
// end::plugin_options[]
// tag::files[]
$HOME/.config/weechat/weechat.conf::
$HOME/.weechat/weechat.conf::
main WeeChat configuration file
$HOME/.config/weechat/plugins.conf::
$HOME/.weechat/plugins.conf::
plugins configuration file
$HOME/.config/weechat/sec.conf::
$HOME/.weechat/sec.conf::
configuration file with secured data
$HOME/.config/weechat/alias.conf::
$HOME/.weechat/alias.conf::
configuration file for _alias_ plugin
$HOME/.config/weechat/buflist.conf::
$HOME/.weechat/buflist.conf::
configuration file for _buflist_ plugin
$HOME/.config/weechat/charset.conf::
$HOME/.weechat/charset.conf::
configuration file for _charset_ plugin
$HOME/.config/weechat/exec.conf::
$HOME/.weechat/exec.conf::
configuration file for _exec_ plugin
$HOME/.config/weechat/fifo.conf::
$HOME/.weechat/fifo.conf::
configuration file for _fifo_ plugin
$HOME/.config/weechat/fset.conf::
$HOME/.weechat/fset.conf::
configuration file for _fset_ plugin
$HOME/.config/weechat/guile.conf::
$HOME/.weechat/guile.conf::
configuration file for _guile_ plugin
$HOME/.config/weechat/irc.conf::
$HOME/.weechat/irc.conf::
configuration file for _irc_ plugin
$HOME/.config/weechat/javascript.conf::
$HOME/.weechat/javascript.conf::
configuration file for _javascript_ plugin
$HOME/.config/weechat/logger.conf::
$HOME/.weechat/logger.conf::
configuration file for _logger_ plugin
$HOME/.config/weechat/lua.conf::
$HOME/.weechat/lua.conf::
configuration file for _lua_ plugin
$HOME/.config/weechat/perl.conf::
$HOME/.weechat/perl.conf::
configuration file for _perl_ plugin
$HOME/.config/weechat/php.conf::
$HOME/.weechat/php.conf::
configuration file for _php_ plugin
$HOME/.config/weechat/python.conf::
$HOME/.weechat/python.conf::
configuration file for _python_ plugin
$HOME/.config/weechat/relay.conf::
$HOME/.weechat/relay.conf::
configuration file for _relay_ plugin
$HOME/.config/weechat/ruby.conf::
$HOME/.weechat/ruby.conf::
configuration file for _ruby_ plugin
$HOME/.config/weechat/script.conf::
$HOME/.weechat/script.conf::
configuration file for _script_ plugin
$HOME/.config/weechat/spell.conf::
$HOME/.weechat/spell.conf::
configuration file for _spell_ plugin
$HOME/.config/weechat/tcl.conf::
$HOME/.weechat/tcl.conf::
configuration file for _tcl_ plugin
$HOME/.config/weechat/trigger.conf::
$HOME/.weechat/trigger.conf::
configuration file for _trigger_ plugin
$HOME/.config/weechat/typing.conf::
configuration file for _typing_ plugin
$HOME/.config/weechat/xfer.conf::
$HOME/.weechat/xfer.conf::
configuration file for _xfer_ plugin
$HOME/.local/share/weechat/weechat.log::
$HOME/.weechat/weechat.log::
WeeChat log file
// end::files[]
@@ -100,7 +97,7 @@ $HOME/.local/share/weechat/weechat.log::
WeeChat is written by Sébastien Helleu and contributors (complete list is in
the AUTHORS.adoc file).
Copyright (C) 2003-2023 {author}
Copyright (C) 2003-2021 {author}
WeeChat is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
+1 -1
View File
@@ -60,4 +60,4 @@ include::includes/man.en.adoc[tag=copyright]
== SUPPORT / REPORTING BUGS
For help or a bug report: https://weechat.org/about/support/
For help or a bug report: https://weechat.org/about/support
+1 -1
View File
@@ -57,4 +57,4 @@ include::includes/man.en.adoc[tag=copyright]
== SUPPORT / REPORTING BUGS
For help or a bug report: https://weechat.org/about/support/
For help or a bug report: https://weechat.org/about/support
+144 -261
View File
@@ -10,8 +10,8 @@
This manual documents WeeChat chat client, it is part of WeeChat.
Latest version of this document can be found on
https://weechat.org/doc/[this page ^↗^,window=_blank].
Latest version of this document can be found on this page:
https://weechat.org/doc
[[introduction]]
@@ -31,8 +31,8 @@ This manual documents WeeChat internals:
[[repositories]]
== Repositories
WeeChat repositories are on GitHub organization
https://github.com/weechat[weechat ^↗^,window=_blank].
WeeChat repositories are on GitHub organization "weechat":
https://github.com/weechat
List of repositories:
@@ -43,7 +43,7 @@ scripts::
the _official_ scripts submitted on weechat.org
weechat.org::
source of https://weechat.org/[WeeChat website ^↗^,window=_blank]
source of WeeChat website: https://weechat.org/
weercd::
IRC testing server
@@ -89,7 +89,6 @@ The main WeeChat directories are:
|       spell/ | Spell plugin.
|       tcl/ | Tcl scripting API.
|       trigger/ | Trigger plugin.
|       typing/ | Typing plugin.
|       xfer/ | Xfer plugin (IRC DCC file/chat).
| tests/ | Tests.
|    scripts/ | Scripting API tests.
@@ -99,7 +98,6 @@ The main WeeChat directories are:
|       gui/ | Unit tests for interfaces functions.
|       plugins/ | Unit tests for plugins.
|          irc/ | Unit tests for IRC plugin.
|          trigger/ | Unit tests for trigger plugin.
| doc/ | Documentation.
| po/ | Translations files (gettext).
| debian/ | Debian packaging.
@@ -129,7 +127,6 @@ WeeChat "core" is located in following directories:
|    wee-config.c | Configuration options for WeeChat core (file weechat.conf).
|    wee-crypto.c | Cryptographic functions.
|    wee-debug.c | Some debug functions.
|    wee-dir.c | Directory/file functions.
|    wee-eval.c | Evaluation of expressions with references to internal vars.
|    wee-hashtable.c | Hashtables.
|    wee-hdata.c | Hdata (direct access to data using hashtables).
@@ -143,7 +140,6 @@ WeeChat "core" is located in following directories:
|    wee-secure.c | Secured data functions.
|    wee-secure-buffer.c | Secured data buffer.
|    wee-secure-config.c | Secured data options (file sec.conf).
|    wee-signal.c | Signal functions.
|    wee-string.c | Functions on strings.
|    wee-upgrade-file.c | Internal upgrade system.
|    wee-upgrade.c | Upgrade for WeeChat core (buffers, lines, history, ...).
@@ -284,7 +280,6 @@ WeeChat "core" is located in following directories:
|       irc-ignore.c | IRC Ignore.
|       irc-info.c | IRC info/infolists/hdata.
|       irc-input.c | Input of commands/text.
|       irc-join.c | Functions for list of channels to join.
|       irc-message.c | Functions to manipulate IRC messages.
|       irc-mode.c | Functions about channel/nick modes.
|       irc-modelist.c | IRC channel mode lists (+b, +e, +I, ...).
@@ -296,8 +291,6 @@ WeeChat "core" is located in following directories:
|       irc-redirect.c | Redirection of IRC command output.
|       irc-sasl.c | SASL authentication with IRC server.
|       irc-server.c | I/O communication with IRC server.
|       irc-tag.c | Functions to manipulate IRC message tags.
|       irc-typing.c | Typing status.
|       irc-upgrade.c | Save/restore of IRC data when upgrading WeeChat.
|    javascript/ | JavaScript plugin.
|       weechat-js.cpp | Main JavaScript functions (load/unload scripts, execute JavaScript code).
@@ -367,11 +360,6 @@ WeeChat "core" is located in following directories:
|       trigger-command.c | Trigger commands.
|       trigger-completion.c | Trigger completions.
|       trigger-config.c | Trigger config options (file trigger.conf).
|    typing/ | Typing plugin.
|       typing.c | Main typing functions.
|       typing-bar-item.c | Typing bar items.
|       typing-config.c | Typing config options (file typing.conf).
|       typing-status.c | Messages typing status on buffers.
|    xfer/ | Xfer plugin (IRC DCC file/chat).
|       xfer.c | Main xfer functions.
|       xfer-buffer.c | Xfer buffer.
@@ -391,74 +379,50 @@ WeeChat "core" is located in following directories:
[width="100%",cols="2m,3",options="header"]
|===
| Path/file | Description
| tests/ | Root of tests.
|    tests.cpp | Program used to run all tests.
|    scripts/ | Root of scripting API tests.
|       test-scripts.cpp | Program used to run the scripting API tests.
|       python/ | Python scripts to generate and run the scripting API tests.
|          testapigen.py | Python script generating scripts in all languages to test the scripting API.
|          testapi.py | Python script with scripting API tests, used by script testapigen.py.
|          unparse.py | Convert Python code to other languages, used by script testapigen.py.
|    unit/ | Root of unit tests.
|       test-plugins.cpp | Tests: plugins.
|       core/ | Root of unit tests for core.
|          test-core-arraylist.cpp | Tests: arraylists.
|          test-core-calc.cpp | Tests: calculation of expressions.
|          test-core-command.cpp | Tests: commands.
|          test-core-config-file.cpp | Tests: configuration files.
|          test-core-crypto.cpp | Tests: cryptographic functions.
|          test-core-dir.cpp | Tests: directory/file functions.
|          test-core-eval.cpp | Tests: evaluation of expressions.
|          test-core-hashtble.cpp | Tests: hashtables.
|          test-core-hdata.cpp | Tests: hdata.
|          test-core-hook.cpp | Tests: hooks.
|          test-core-infolist.cpp | Tests: infolists.
|          test-core-list.cpp | Tests: lists.
|          test-core-network.cpp | Tests: network functions.
|          test-core-secure.cpp | Tests: secured data.
|          test-core-signal.cpp | Tests: signals.
|          test-core-string.cpp | Tests: strings.
|          test-core-url.cpp | Tests: URLs.
|          test-core-utf8.cpp | Tests: UTF-8.
|          test-core-util.cpp | Tests: utility functions.
|       gui/ | Root of unit tests for interfaces.
|          test-gui-bar-window.cpp | Tests: bar window functions.
|          test-gui-buffer.cpp | Tests: buffer functions.
|          test-gui-chat.cpp | Tests: chat functions.
|          test-gui-color.cpp | Tests: colors.
|          test-gui-filter.cpp | Tests: filters.
|          test-gui-input.cpp | Tests: input functions.
|          test-gui-line.cpp | Tests: lines.
|          test-gui-nick.cpp | Tests: nicks.
|       plugins/ | Root of unit tests for plugins.
|          irc/ | Root of unit tests for IRC plugin.
|             test-irc-buffer.cpp | Tests: IRC buffers.
|             test-irc-channel.cpp | Tests: IRC channels.
|             test-irc-color.cpp | Tests: IRC colors.
|             test-irc-config.cpp | Tests: IRC configuration.
|             test-irc-ignore.cpp | Tests: IRC ignores.
|             test-irc-join.cpp | Tests: IRC join functions.
|             test-irc-message.cpp | Tests: IRC messages.
|             test-irc-mode.cpp | Tests: IRC modes.
|             test-irc-nick.cpp | Tests: IRC nicks.
|             test-irc-protocol.cpp | Tests: IRC protocol.
|             test-irc-sasl.cpp | Tests: SASL authentication with IRC protocol.
|             test-irc-server.cpp | Tests: IRC server.
|             test-irc-tag.cpp | Tests: IRC message tags.
|          logger/ | Root of unit tests for logger plugin.
|             test-logger-backlog.cpp | Tests: logger backlog.
|          trigger/ | Root of unit tests for trigger plugin.
|             test-trigger.cpp | Tests: triggers.
|             test-trigger-config.cpp | Tests: trigger configuration.
|          typing/ | Root of unit tests for typing plugin.
|             test-typing.cpp | Tests: typing.
|             test-typing-status.cpp | Tests: typing status.
|          relay/ | Root of unit tests for Relay plugin.
|             test-relay-auth.cpp | Tests: clients authentication.
|          xfer/ | Root of unit tests for Xfer plugin.
|             test-xfer-file.cpp | Tests: file functions.
|             test-xfer-network.cpp | Tests: network functions.
| Path/file | Description
| tests/ | Root of tests.
|    tests.cpp | Program used to run all tests.
|    scripts/ | Root of scripting API tests.
|       test-scripts.cpp | Program used to run the scripting API tests.
|       python/ | Python scripts to generate and run the scripting API tests.
|          testapigen.py | Python script generating scripts in all languages to test the scripting API.
|          testapi.py | Python script with scripting API tests, used by script testapigen.py.
|          unparse.py | Convert Python code to other languages, used by script testapigen.py.
|    unit/ | Root of unit tests.
|       test-plugins.cpp | Tests: plugins.
|       core/ | Root of unit tests for core.
|          test-core-arraylist.cpp | Tests: arraylists.
|          test-core-calc.cpp | Tests: calculation of expressions.
|          test-core-crypto.cpp | Tests: cryptographic functions.
|          test-core-eval.cpp | Tests: evaluation of expressions.
|          test-core-hashtble.cpp | Tests: hashtables.
|          test-core-hdata.cpp | Tests: hdata.
|          test-core-hook.cpp | Tests: hooks.
|          test-core-infolist.cpp | Tests: infolists.
|          test-core-list.cpp | Tests: lists.
|          test-core-secure.cpp | Tests: secured data.
|          test-core-string.cpp | Tests: strings.
|          test-core-url.cpp | Tests: URLs.
|          test-core-utf8.cpp | Tests: UTF-8.
|          test-core-util.cpp | Tests: utility functions.
|       gui/ | Root of unit tests for interfaces.
|          test-gui-color.cpp | Tests: colors.
|          test-gui-line.cpp | Tests: lines.
|          test-gui-nick.cpp | Tests: nicks.
|       plugins/ | Root of unit tests for plugins.
|          irc/ | Root of unit tests for IRC plugin.
|             test-irc-channel.cpp | Tests: IRC channels.
|             test-irc-color.cpp | Tests: IRC colors.
|             test-irc-config.cpp | Tests: IRC configuration.
|             test-irc-ignore.cpp | Tests: IRC ignores.
|             test-irc-message.cpp | Tests: IRC messages.
|             test-irc-mode.cpp | Tests: IRC modes.
|             test-irc-nick.cpp | Tests: IRC nicks.
|             test-irc-protocol.cpp | Tests: IRC protocol.
|             test-irc-server.cpp | Tests: IRC server.
|          relay/ | Root of unit tests for Relay plugin.
|             test-relay-auth.cpp | Tests: clients authentication.
|===
[[documentation_translations]]
@@ -474,13 +438,14 @@ Documentation files:
|    docgen.py | Python script to build auto-generated files in _includes/_ directory (see below).
|    XX/ | Documentation for language XX (languages: en, fr, de, it, ...).
|       weechat.1.XX.adoc | Man page (`man weechat`).
|       weechat_dev.XX.adoc | link:weechat_dev.en.html[Developer's guide ^↗^,window=_blank] (this document).
|       weechat_faq.XX.adoc | link:weechat_faq.en.html[FAQ ^↗^,window=_blank].
|       weechat_plugin_api.XX.adoc | link:weechat_plugin_api.en.html[Plugin API reference ^↗^,window=_blank].
|       weechat_quickstart.XX.adoc | link:weechat_quickstart.en.html[Quickstart guide ^↗^,window=_blank].
|       weechat_relay_protocol.XX.adoc | link:weechat_relay_protocol.en.html[Relay protocol ^↗^,window=_blank] (for remote interfaces).
|       weechat_scripting.XX.adoc | link:weechat_scripting.en.html[Scripting guide ^↗^,window=_blank].
|       weechat_user.XX.adoc | link:weechat_user.en.html[User's guide ^↗^,window=_blank].
|       weechat_dev.XX.adoc | link:weechat_dev.en.html[Developer's guide] (this document).
|       weechat_faq.XX.adoc | link:weechat_faq.en.html[FAQ].
|       weechat_plugin_api.XX.adoc | link:weechat_plugin_api.en.html[Plugin API reference].
|       weechat_quickstart.XX.adoc | link:weechat_quickstart.en.html[Quickstart guide].
|       weechat_relay_protocol.XX.adoc | link:weechat_relay_protocol.en.html[Relay protocol] (for remote interfaces).
|       weechat_scripting.XX.adoc | link:weechat_scripting.en.html[Scripting guide].
|       weechat_tester.XX.adoc | link:weechat_tester.en.html[Tester's guide].
|       weechat_user.XX.adoc | link:weechat_user.en.html[User's guide].
|       includes/ | Files included in documentation.
|          autogen_api_completions.XX.adoc | Auto-generated file for Plugin API reference: completions (do *NEVER* update manually!).
|          autogen_api_hdata.XX.adoc | Auto-generated file for Plugin API reference: hdata (do *NEVER* update manually!).
@@ -525,12 +490,12 @@ directory:
Example in C:
[source,c]
[source,C]
----
/*
* weechat.c - core functions for WeeChat
*
* Copyright (C) 2023 Your Name <your@email.com>
* Copyright (C) 2021 Your Name <your@email.com>
*
* This file is part of WeeChat, the extensible chat client.
*
@@ -563,7 +528,7 @@ Some basic rules you *must* follow when you write C code:
Example:
[source,c]
[source,C]
----
/*
* Checks if a string with boolean value is valid.
@@ -594,7 +559,7 @@ foo ()
Exception: in `for` loops, where variables like "i" or "n" are OK.
* Initialize local variables after declaration, in body of function, example:
[source,c]
[source,C]
----
void
foo ()
@@ -612,7 +577,7 @@ foo ()
* Place curly brackets `+{ }+` alone on lines, and indent them with number of
spaces used for line above opening curly bracket (the `if` in example):
[source,c]
[source,C]
----
if (nicks_count == 1)
{
@@ -623,7 +588,7 @@ if (nicks_count == 1)
* Use empty lines to separate many different blocks inside functions, and if
possible add a comment for each one, like this:
[source,c]
[source,C]
----
/*
* Sends a message from out queue.
@@ -666,7 +631,7 @@ irc_server_outqueue_send (struct t_irc_server *server)
* Indent the `if` conditions, and use parentheses around conditions with an
operator (not needed for single boolean), like this:
[source,c]
[source,C]
----
if (something)
{
@@ -690,7 +655,7 @@ else
* Indent the `switch` statements like this:
[source,c]
[source,C]
----
switch (string[0])
{
@@ -708,7 +673,7 @@ switch (string[0])
* Use `typedef` for function prototypes but not for structures:
[source,c]
[source,C]
----
typedef int (t_hook_callback_fd)(void *data, int fd);
@@ -745,7 +710,7 @@ new_hook_fd = malloc (sizeof (*new_hook_fd));
[[coding_python_style]]
=== Python style
See https://www.python.org/dev/peps/pep-0008/[PEP 8 ^↗^,window=_blank].
See https://www.python.org/dev/peps/pep-0008/
[[core_internals]]
== Core internals
@@ -790,7 +755,7 @@ Structures have name _t_X_Y_ or _t_X_Y_Z_:
Example: an IRC nick (from _src/plugins/irc/irc-nick.h_):
[source,c]
[source,C]
----
struct t_irc_nick
{
@@ -820,7 +785,7 @@ _X_ is name of variable, using singular form).
Example: windows (from _src/gui/gui-window.c_):
[source,c]
[source,C]
----
struct t_gui_window *gui_windows = NULL; /* first window */
struct t_gui_window *last_gui_window = NULL; /* last window */
@@ -840,7 +805,7 @@ Naming convention for functions is the same as
Example: creation of a new window (from _src/gui/gui-window.c_):
[source,c]
[source,C]
----
/*
* Creates a new window.
@@ -876,7 +841,7 @@ and next node.
Example: list of buffers (from _src/gui/gui-buffer.h_):
[source,c]
[source,C]
----
struct t_gui_buffer
{
@@ -891,7 +856,7 @@ struct t_gui_buffer
Then the two list pointers, to the head and tail of list:
[source,c]
[source,C]
----
struct t_gui_buffer *gui_buffers = NULL; /* first buffer */
struct t_gui_buffer *last_gui_buffer = NULL; /* last buffer */
@@ -906,10 +871,18 @@ underline, ...) and colors on screen.
All attributes/colors are prefixed with a char in string, which can be:
* _0x19_: color code (followed by color code(s))
* _0x1A_: set attribute (followed by raw attribute on one char)
* _0x1B_: remove attribute (followed by raw attribute on one char)
* _0x1A_: set attribute (followed by attribute on one char)
* _0x1B_: remove attribute (followed by attribute on one char)
* _0x1C_: reset (nothing after)
Allowed attributes are (one or more chars):
* `+*+`: bold
* `+!+`: reverse
* `+/+`: italic
* `+_+`: underline
* `+|+`: keep attributes
Possible colors are:
* standard color: optional attributes + number on 2 digits
@@ -918,59 +891,45 @@ Possible colors are:
In following table, these conventions are used:
* `STD`: standard color (2 digits)
* `(ATTR)STD`: standard color with optional attributes (attributes + 2 digits)
* `(A)STD`: standard color with optional attributes (attributes + 2 digits)
* `EXT`: extended color (`+@+` + 5 digits)
* `(ATTR)EXT`: extended color with optional attributes (`+@+` + attributes + 5 digits)
* `(ATTR)`: one or more attribute chars:
** `+%+`: blink
** `+.+`: "dim" (half bright)
** `+*+`: bold
** `+!+`: reverse
** `+/+`: italic
** `+_+`: underline
** `+|+`: keep attributes
* `(a)`: one raw attribute char:
** _0x01_: bold
** _0x02_: reverse
** _0x03_: italic
** _0x04_: underline
** _0x05_: blink
** _0x06_: "dim" (half bright)
* `(A)EXT`: extended color with optional attributes (`+@+` + attributes + 5 digits)
* `ATTR`: one attribute char (`+*+`, `+!+`, `+/+`, `+_+` or `+|+`)
All combinations are summarized in this table:
[width="100%",cols="4,3,2,8",options="header"]
[width="100%",cols="4,2,2,8",options="header"]
|===
| Code | Example | Areas | Description
| [hex]#19# + `STD` | [hex]#19# `+01+` | chat + bars | Set attributes and color using option, see table below.
| [hex]#19# + `EXT` | [hex]#19# `+@00001+` | chat | Set color with a ncurses pair (used only on `/color` buffer).
| [hex]#19# + `F` + `(ATTR)STD` | [hex]#19# `+F*05+` | chat + bars | Set foreground (WeeChat color).
| [hex]#19# + `F` + `(ATTR)EXT` | [hex]#19# `+F@00214+` | chat + bars | Set foreground (extended color).
| [hex]#19# + `B` + `STD` | [hex]#19# `+B05+` | chat + bars | Set background (WeeChat color).
| [hex]#19# + `B` + `EXT` | [hex]#19# `+B@00124+` | chat + bars | Set background (extended color).
| [hex]#19# + `*` + `(ATTR)STD` | [hex]#19# `+*05+` | chat + bars | Set foreground (WeeChat color).
| [hex]#19# + `*` + `(ATTR)EXT` | [hex]#19# `+*@00214+` | chat + bars | Set foreground (extended color).
| [hex]#19# + `*` + `(ATTR)STD` + `,` + `STD` ^(1)^ | [hex]#19# `+*08,05+` | chat + bars | Set foreground/background (WeeChat colors).
| [hex]#19# + `*` + `(ATTR)STD` + `,` + `EXT` ^(1)^ | [hex]#19# `+*01,@00214+` | chat + bars | Set foreground (WeeChat color) and background (extended color).
| [hex]#19# + `*` + `(ATTR)EXT` + `,` + `STD` ^(1)^ | [hex]#19# `+*@00214,05+` | chat + bars | Set foreground (extended color) and background (WeeChat color).
| [hex]#19# + `*` + `(ATTR)EXT` + `,` + `EXT` ^(1)^ | [hex]#19# `+*@00214,@00017+` | chat + bars | Set foreground/background (extended colors).
| [hex]#19# + `*` + `(ATTR)STD` + `~` + `STD` | [hex]#19# `+*08~05+` | chat + bars | Set foreground/background (WeeChat colors).
| [hex]#19# + `*` + `(ATTR)STD` + `~` + `EXT` | [hex]#19# `+*01~@00214+` | chat + bars | Set foreground (WeeChat color) and background (extended color).
| [hex]#19# + `*` + `(ATTR)EXT` + `~` + `STD` | [hex]#19# `+*@00214~05+` | chat + bars | Set foreground (extended color) and background (WeeChat color).
| [hex]#19# + `*` + `(ATTR)EXT` + `~` + `EXT` | [hex]#19# `+*@00214~@00017+` | chat + bars | Set foreground/background (extended colors).
| [hex]#19# + `b` + `F` | [hex]#19# `+bF+` | bars | Set bar foreground color.
| [hex]#19# + `b` + `D` | [hex]#19# `+bD+` | bars | Set bar delimiter color.
| [hex]#19# + `b` + `B` | [hex]#19# `+bB+` | bars | Set bar background color.
| [hex]#19# + `b` + `_` | [hex]#19# `+b_+` | input bar | Start input char (used only in item "input_text").
| [hex]#19# + `b` + `-` | [hex]#19# `+b-+` | input bar | Start input hidden char (used only in item "input_text").
| [hex]#19# + `b` + `#` | [hex]#19# `+b#+` | input bar | Move cursor char (used only in item "input_text").
| [hex]#19# + `b` + `i` | [hex]#19# `+bi+` | bars | Start item.
| [hex]#19# + `b` + `l` (lower L) | [hex]#19# `+bl+` | bars | Start line item.
| [hex]#19# + `E` | [hex]#19# `+E+` | chat + bars | Emphasize text _(WeeChat ≥ 0.4.2)_.
| [hex]#19# + [hex]#1C# | [hex]#19# [hex]#1C# | chat + bars | Reset color (keep attributes).
| [hex]#1A# + `(a)` | [hex]#1A# [hex]#01# | chat + bars | Set attribute.
| [hex]#1B# + `(a)` | [hex]#1B# [hex]#01# | chat + bars | Remove attribute.
| [hex]#1C# | [hex]#1C# | chat + bars | Reset attributes and color.
| Code | Example | Areas | Description
| [hex]#19# + STD | [hex]#19# `+01+` | chat + bars | Set attributes and color using option, see table below.
| [hex]#19# + EXT | [hex]#19# `+@00001+` | chat | Set color with a ncurses pair (used only on `/color` buffer).
| [hex]#19# + "F" + (A)STD | [hex]#19# `+F*05+` | chat + bars | Set foreground (WeeChat color).
| [hex]#19# + "F" + (A)EXT | [hex]#19# `+F@00214+` | chat + bars | Set foreground (extended color).
| [hex]#19# + "B" + STD | [hex]#19# `+B05+` | chat + bars | Set background (WeeChat color).
| [hex]#19# + "B" + EXT | [hex]#19# `+B@00124+` | chat + bars | Set background (extended color).
| [hex]#19# + "*" + (A)STD | [hex]#19# `+*05+` | chat + bars | Set foreground (WeeChat color).
| [hex]#19# + "*" + (A)EXT | [hex]#19# `+*@00214+` | chat + bars | Set foreground (extended color).
| [hex]#19# + "*" + (A)STD + "," + STD ^(1)^ | [hex]#19# `+*08,05+` | chat + bars | Set foreground/background (WeeChat colors).
| [hex]#19# + "*" + (A)STD + "," + EXT ^(1)^ | [hex]#19# `+*01,@00214+` | chat + bars | Set foreground (WeeChat color) and background (extended color).
| [hex]#19# + "*" + (A)EXT + "," + STD ^(1)^ | [hex]#19# `+*@00214,05+` | chat + bars | Set foreground (extended color) and background (WeeChat color).
| [hex]#19# + "*" + (A)EXT + "," + EXT ^(1)^ | [hex]#19# `+*@00214,@00017+` | chat + bars | Set foreground/background (extended colors).
| [hex]#19# + "*" + (A)STD + "~" + STD | [hex]#19# `+*08~05+` | chat + bars | Set foreground/background (WeeChat colors).
| [hex]#19# + "*" + (A)STD + "~" + EXT | [hex]#19# `+*01~@00214+` | chat + bars | Set foreground (WeeChat color) and background (extended color).
| [hex]#19# + "*" + (A)EXT + "~" + STD | [hex]#19# `+*@00214~05+` | chat + bars | Set foreground (extended color) and background (WeeChat color).
| [hex]#19# + "*" + (A)EXT + "~" + EXT | [hex]#19# `+*@00214~@00017+` | chat + bars | Set foreground/background (extended colors).
| [hex]#19# + "b" + "F" | [hex]#19# `+bF+` | bars | Set bar foreground color.
| [hex]#19# + "b" + "D" | [hex]#19# `+bD+` | bars | Set bar delimiter color.
| [hex]#19# + "b" + "B" | [hex]#19# `+bB+` | bars | Set bar background color.
| [hex]#19# + "b" + "_" | [hex]#19# `+b_+` | input bar | Start input char (used only in item "input_text").
| [hex]#19# + "b" + "-" | [hex]#19# `+b-+` | input bar | Start input hidden char (used only in item "input_text").
| [hex]#19# + "b" + "#" | [hex]#19# `+b#+` | input bar | Move cursor char (used only in item "input_text").
| [hex]#19# + "b" + "i" | [hex]#19# `+bi+` | bars | Start item.
| [hex]#19# + "b" + "l" (lower L) | [hex]#19# `+bl+` | bars | Start line item.
| [hex]#19# + "E" | [hex]#19# `+E+` | chat + bars | Emphasize text _(WeeChat ≥ 0.4.2)_.
| [hex]#19# + [hex]#1C# | [hex]#19# [hex]#1C# | chat + bars | Reset color (keep attributes).
| [hex]#1A# + ATTR | [hex]#1A# `+*+` | chat + bars | Set attribute.
| [hex]#1B# + ATTR | [hex]#1B# `+*+` | chat + bars | Remove attribute.
| [hex]#1C# | [hex]#1C# | chat + bars | Reset attributes and color.
|===
[NOTE]
@@ -1087,7 +1046,7 @@ Then some macros are defined to call these functions.
For example, function _hook_timer_ is defined in structure _t_weechat_plugin_
like this:
[source,c]
[source,C]
----
struct t_hook *(*hook_timer) (struct t_weechat_plugin *plugin,
long interval,
@@ -1100,7 +1059,7 @@ struct t_hook *(*hook_timer) (struct t_weechat_plugin *plugin,
And the macro used to call this function is:
[source,c]
[source,C]
----
#define weechat_hook_timer(__interval, __align_second, __max_calls, \
__callback, __data) \
@@ -1111,7 +1070,7 @@ And the macro used to call this function is:
So in a plugin, the call to function will be for example:
[source,c]
[source,C]
----
server->hook_timer_sasl = weechat_hook_timer (timeout * 1000,
0, 1,
@@ -1125,126 +1084,50 @@ server->hook_timer_sasl = weechat_hook_timer (timeout * 1000,
[[git_repository]]
=== Git repository
Git repository is on https://github.com/weechat/weechat[GitHub ^↗^,window=_blank].
Git repository is at this URL: https://github.com/weechat/weechat
Any patch for bug or new feature must be done on master branch, preferred way
is a GitHub pull request. A patch can also be sent by e-mail
(made with `git diff` or `git format-patch`).
Format of commit message is the following (with automatic close of a GitHub issue):
Format of commit message is the following (to close a GitHub issue):
----
component: fix a problem (closes #123)
----
For a Savannah bug:
----
component: fix a problem (bug #12345)
----
Where _component_ is one of following:
[width="100%",cols="1m,4m,5",options="header"]
|===
| Component | Files | Description
| core
| AUTHORS.adoc +
ChangeLog.adoc +
Contributing.adoc +
.github/FUNDING.yml +
.github/ISSUE_TEMPLATE/* +
icons/* +
po/* +
README.adoc +
ReleaseNotes.adoc +
src/core/* +
src/gui/* +
version.sh +
weechat.desktop
| WeeChat core
| build
| autogen.sh +
CMakeLists.txt +
cmake/* +
configure.ac +
Makefile.am +
tools/* +
weechat.cygport.in +
weechat.spec
| Build
| ci
| .github/workflows/*
| Continuous integration
| debian
| debian-devel/* +
debian-stable/*
| Debian packaging
| tests
| tests/*
| Tests
| doc
| doc/*
| General doc updates, for example build
| doc/man
| doc/xx/weechat.1.xx.adoc +
doc/xx/weechat-headless.1.xx.adoc
| Man pages
| doc/faq
| doc/xx/weechat_faq.xx.adoc
| Frequently asked questions (FAQ)
| doc/quickstart
| doc/xx/weechat_quickstart.xx.adoc
| Quickstart guide
| doc/user
| doc/xx/weechat_user.xx.adoc
| User's guide
| doc/scripting
| doc/xx/weechat_scripting.xx.adoc
| Scripting guide
| doc/api
| doc/xx/weechat_plugin_api.xx.adoc
| Plugin API reference
| doc/relay
| doc/xx/weechat_relay_protocol.xx.adoc
| Relay protocol
| doc/dev
| doc/xx/weechat_dev.en.adoc
| Developer's guide
| irc +
python +
relay +
| src/plugins/<name>/*
| Plugin
|===
* WeeChat core: _core_ (files in root directory, _po/_ and _src/_,
except _src/plugins/_)
* documentation files: _doc_ (files in directory _doc/_)
* name of a plugin: _irc_, _python_, _relay_, ... (files in directory
_src/plugins/_)
Some rules to follow:
* Use only English.
* Use infinitive form of verb.
* If commit is related to a GitHub issue, write it in parenthesis after
the message, with this format: `(issue #123)` or `(closes #123)` to close it.
* If commit is related to something in tracker, write it in parenthesis after
the message, with this format:
** GitHub: closes #123
** Savannah: bug #12345, task #12345, patch #12345
Examples of commit messages:
----
core: add callback "nickcmp" for nick comparison in buffers
core: update Japanese translations
doc/user: add chapter on typing extension
irc: add command /unquiet (closes #36)
python: fix crash when unloading a script without pointer to interpreter
core: add callback "nickcmp" for nick comparison in buffers
irc: fix freeze when reading on socket with SSL enabled (bug #35097)
ruby: add detection of ruby version 1.9.3 in CMake
python: fix crash when unloading a script without pointer to interpreter
core: update Japanese translations (patch #7783)
----
[[translations]]
@@ -1275,8 +1158,8 @@ $ make translations && make update-po
Then you can edit .po files (if you can translate in a language).
When done, you *have* to check your file with
https://github.com/flashcode/msgcheck[msgcheck ^↗^,window=_blank]:
When done, you *have* to check your file with script _msgcheck.py_
(https://github.com/flashcode/msgcheck):
----
$ msgcheck.py xx.po
@@ -1309,7 +1192,7 @@ work on it.
The translations missing in files are indicated by this string:
----
// TRANSLATION MISSING
// TRANSLATION MISSING
----
You must translate whole file except links and special keywords for notes,
@@ -1326,7 +1209,7 @@ warnings, ... These words must be kept unchanged:
[CAUTION]
----
When there is a name after `+<<link_name>>+`, then you must translate it:
When there is a name after `<<link_name>>`, then you must translate it:
----
<<link_name,this text must be translated>>
+153 -117
View File
@@ -9,6 +9,9 @@
:docinfo1:
This document is written for WeeChat versions ≥ 0.3.0 but should preferably be
used with latest stable version of WeeChat.
toc::[]
@@ -29,8 +32,7 @@ apply to WeeChat!).
Because WeeChat is very light and brings innovating features.
More info on the WeeChat
https://weechat.org/about/features/[features page ^↗^,window=_blank].
More info on the WeeChat features page: https://weechat.org/about/features
[[compilation_install]]
== Compilation / install
@@ -38,17 +40,16 @@ https://weechat.org/about/features/[features page ^↗^,window=_blank].
[[gui]]
=== I've heard about many GUIs for WeeChat. How can I compile/use them?
Some remote GUIs are available, see the
https://weechat.org/about/interfaces/[remote interfaces page ^↗^,window=_blank].
Some remote GUIs are available, see the remote interfaces page:
https://weechat.org/about/interfaces
[[compile_git]]
=== I can't compile WeeChat after cloning git repository, why?
The recommended way to compile WeeChat is with
link:weechat_user.en.html#compile_with_cmake[CMake ^↗^,window=_blank].
link:weechat_user.en.html#compile_with_cmake[CMake].
If you're compiling with
link:weechat_user.en.html#compile_with_autotools[autotools ^↗^,window=_blank]
If you're compiling with link:weechat_user.en.html#compile_with_autotools[autotools]
(and not CMake), check that you have latest version of autoconf and automake.
The other way is to install the "devel package", which needs less dependencies.
@@ -59,8 +60,7 @@ than git cloning for installing updates.
[[compile_macos]]
=== How can I install WeeChat on macOS?
It is recommended to use https://brew.sh/[Homebrew ^↗^,window=_blank],
you can get help with:
It is recommended to use https://brew.sh/[Homebrew], you can get help with:
----
brew info weechat
@@ -76,12 +76,12 @@ brew install weechat
=== I've launched WeeChat, but I'm lost, what can I do?
For help you can type `/help`. For help about a command, type `/help command`.
link:weechat_user.en.html#key_bindings[Keys ^↗^,window=_blank] and
link:weechat_user.en.html#commands_and_options[commands ^↗^,window=_blank]
are listed in documentation.
link:weechat_user.en.html#key_bindings[Keys] and
link:weechat_user.en.html#commands_and_options[commands] are listed
in documentation.
It's recommended for new users to read the
link:weechat_quickstart.en.html[Quickstart guide ^↗^,window=_blank].
link:weechat_quickstart.en.html[Quickstart guide].
[[display]]
== Display
@@ -109,7 +109,7 @@ It's a common issue with a variety of causes, please read carefully and check
** If you are using screen, check that it is run with UTF-8 mode
("`defutf8 on`" in ~/.screenrc or `screen -U` to run screen).
* Check that option
link:weechat_user.en.html#option_weechat.look.eat_newline_glitch[_weechat.look.eat_newline_glitch_ ^↗^,window=_blank]
link:weechat_user.en.html#option_weechat.look.eat_newline_glitch[_weechat.look.eat_newline_glitch_]
is off (this option may cause display bugs).
[NOTE]
@@ -124,10 +124,10 @@ This may be caused by a libc bug in function _wcwidth_, which should be fixed
in glibc 2.22 (maybe not yet available in your distribution).
There is a workaround to use the fixed _wcwidth_ function:
https://blog.nytsoi.net/2015/05/04/emoji-support-for-weechat[https://blog.nytsoi.net/2015/05/04/emoji-support-for-weechat ^↗^,window=_blank]
https://blog.nytsoi.net/2015/05/04/emoji-support-for-weechat
See this https://github.com/weechat/weechat/issues/79[bug report ^↗^,window=_blank]
for more information.
See this bug report for more information:
https://github.com/weechat/weechat/issues/79
[[bars_background]]
=== Bars like title and status are not filled, background color stops after text, why?
@@ -184,10 +184,17 @@ windows.
[[buffers_list]]
=== How to display the buffers list on the left side?
The plugin link:weechat_user.en.html#buflist[buflist ^↗^,window=_blank]
With WeeChat ≥ 1.8, the plugin link:weechat_user.en.html#buflist_plugin[buflist]
is loaded and enabled by default.
To limit size of bar:
With an older version, you can install script _buffers.pl_:
----
/script install buffers.pl
----
To limit size of bar (replace "buflist" by "buffers" if you're using the script
_buffers.pl_):
----
/set weechat.bar.buflist.size_max 15
@@ -205,6 +212,21 @@ bar with your mouse wheel.
Default keys to scroll _buflist_ bar are kbd:[F1] (or kbd:[Ctrl+F1]), kbd:[F2]
(or kbd:[Ctrl+F2]), kbd:[Alt+F1] and kbd:[Alt+F2].
For script _buffers.pl_, you can define keys, similar to the existing keys to
scroll nicklist. +
For example to use kbd:[F1], kbd:[F2], kbd:[Alt+F1] and kbd:[Alt+F2]:
----
/key bind meta-OP /bar scroll buffers * -100%
/key bind meta-OQ /bar scroll buffers * +100%
/key bind meta-meta-OP /bar scroll buffers * b
/key bind meta-meta-OQ /bar scroll buffers * e
----
[NOTE]
Keys "meta-OP" and "meta-OQ" may be different in your terminal. To find key
code press kbd:[Alt+k] then key.
[[customize_buflist]]
=== How can I customize the list of buffers list, like the color of the active buffer?
@@ -230,8 +252,8 @@ like `237` for dark gray.
The buflist plugin provides lot of options that you can customize, please read
the help on each option.
There's also a https://github.com/weechat/weechat/wiki/buflist[wiki page ^↗^,window=_blank]
with examples of advanced buflist configuration.
There's also a wiki page with examples of advanced buflist configuration:
https://github.com/weechat/weechat/wiki/buflist
[[customize_prefix]]
=== How can I reduce length of nicks or remove nick alignment in chat area?
@@ -274,8 +296,8 @@ These colors can be changed with the options __weechat.color.status_data_*__
(buffers) and __weechat.color.status_count_*__ (counters). +
Other hotlist options can be changed with the options __weechat.look.hotlist_*__.
See link:weechat_user.en.html#screen_layout[User's guide / Screen layout ^↗^,window=_blank]
for more info about the hotlist.
See link:weechat_user.en.html#screen_layout[User's guide / Screen layout] for
more info about the hotlist.
[[input_bar_size]]
=== How to use command line with more than one line?
@@ -320,8 +342,9 @@ any bar:
[[terminal_copy_paste]]
=== How can I copy/paste text without pasting nicklist?
You can use the bare display (default key: kbd:[Alt+l] (`L`)), which shows
just the contents of the currently selected window, without any formatting.
With WeeChat ≥ 1.0, you can use the bare display (default key: kbd:[Alt+l] (`L`)),
which will show just the contents of the currently selected window,
without any formatting.
You can use a terminal with rectangular selection (like rxvt-unicode,
konsole, gnome-terminal, etc.). Key is usually kbd:[Ctrl] + kbd:[Alt] + mouse
@@ -336,7 +359,7 @@ Another solution is to move nicklist to top or bottom, for example:
[[urls]]
=== How can I click on long URLs (more than one line)?
You can use the bare display (default key: kbd:[Alt+l] (`L`)).
With WeeChat ≥ 1.0, you can use the bare display (default key: kbd:[Alt+l] (`L`)).
To make opening URLs easier, you can:
@@ -346,7 +369,7 @@ To make opening URLs easier, you can:
/set weechat.bar.nicklist.position top
----
* disable alignment for multiline words:
* disable alignment for multiline words (WeeChat ≥ 1.7):
----
/set weechat.look.align_multiline_words off
@@ -358,8 +381,9 @@ To make opening URLs easier, you can:
/set weechat.look.align_end_of_lines time
----
You can enable option "eat_newline_glitch", so that new line char is not added
at the end of each line displayed (it will not break URL selection):
With WeeChat ≥ 0.3.6, you can enable option "eat_newline_glitch", so that
new line char is not added at the end of each line displayed (it will not break
URL selection):
----
/set weechat.look.eat_newline_glitch on
@@ -406,6 +430,8 @@ In WeeChat, the new value is immediately used:
[[use_256_colors]]
=== How can I use 256 colors in WeeChat?
256 colors are supported with WeeChat ≥ 0.3.4.
First check that your _TERM_ environment variable is correct, recommended values
are:
@@ -424,18 +450,20 @@ term screen-256color
----
If your _TERM_ variable has a wrong value and that WeeChat is already running,
you can change it with these two commands:
you can change it with these two commands (with WeeChat ≥ 1.0):
----
/set env TERM screen-256color
/upgrade
----
You can use any color number in options (optional: you can add color aliases
with command `/color`).
For version 0.3.4, you must use command `/color` to add new colors.
Please read the link:weechat_user.en.html#colors[User's guide / Colors ^↗^,window=_blank]
for more information about colors management.
For versions ≥ 0.3.5, you can use any color number in options (optional: you
can add color aliases with command `/color`).
Please read the link:weechat_user.en.html#colors[User's guide / Colors] for more
information about colors management.
[[search_text]]
=== How can I search text in buffer (like /lastlog in irssi)?
@@ -443,8 +471,8 @@ for more information about colors management.
The default key is kbd:[Ctrl+r] (command is: `+/input search_text_here+`).
And jump to highlights: kbd:[Alt+p] / kbd:[Alt+n].
See link:weechat_user.en.html#key_bindings[User's guide / Key bindings ^↗^,window=_blank]
for more info about this feature.
See link:weechat_user.en.html#key_bindings[User's guide / Key bindings] for more
info about this feature.
[[terminal_focus]]
=== How can I execute commands when terminal gets/loses focus?
@@ -477,7 +505,7 @@ commands of your choice):
For example to mark buffers as read when the terminal loses the focus:
----
/key bind meta2-O /allbuf /buffer set unread
/key bind meta2-O /input set_unread
----
[[screen_paste]]
@@ -496,7 +524,7 @@ You can just disable bracketed paste mode:
=== How can I customize display for very small terminal size (like 80x25), to not waste space?
You can remove side bars (buflist and nicklist), change time format to display
only hours and minutes, disable alignment of messages and set a char for nick
only hours and seconds, disable alignment of messages and set a char for nick
prefix/suffix:
----
@@ -617,7 +645,7 @@ You can bind a key, for example:
----
List of default keys is in
link:weechat_user.en.html#key_bindings[User's guide / Key bindings ^↗^,window=_blank].
link:weechat_user.en.html#key_bindings[User's guide / Key bindings].
To jump to buffers with number ≥ 100, you could define a trigger and then use
commands like `/123` to jump to buffer #123:
@@ -649,6 +677,8 @@ code press kbd:[Alt+k] then key.
[[mouse_not_working]]
=== Mouse is not working at all, what can I do?
Mouse is supported with WeeChat ≥ 0.3.6.
First try to enable mouse:
----
@@ -697,6 +727,11 @@ you have to use kbd:[Alt] instead of kbd:[Shift]).
If you are using macOS, you must install `openssl` from Homebrew.
A CA file will be bootstrapped using certificates from the system keychain.
You can then set the path to certificates in WeeChat:
----
/set weechat.network.gnutls_ca_file "/usr/local/etc/openssl/cert.pem"
----
If you see errors about gnutls handshake, you can try to use a smaller
Diffie-Hellman key (default is 2048):
@@ -722,24 +757,38 @@ should be, you can specify the fingerprint (SHA-512, SHA-256 or SHA-1):
[[irc_ssl_handshake_error]]
=== When connecting to server with SSL, I only see the error "TLS handshake failed", what can I do?
You can try a different priority string, replace "xxx" by your server name:
You can try a different priority string (WeeChat ≥ 0.3.5 only), replace "xxx"
by your server name:
----
/set irc.server.xxx.ssl_priorities "NORMAL:-VERS-TLS-ALL:+VERS-TLS1.0:+VERS-SSL3.0:%COMPAT"
----
[[irc_ssl_libera]]
=== How can I connect to libera server using SSL?
[[irc_ssl_freenode]]
=== How can I connect to freenode server using SSL?
Check that you have certificates installed on your system, this is commonly
provided by the package "ca-certificates".
Set option _weechat.network.gnutls_ca_file_ to file with certificates:
----
/set weechat.network.gnutls_ca_file "/etc/ssl/certs/ca-certificates.crt"
----
Note: if you are running macOS with homebrew openssl installed, you can do:
----
/set weechat.network.gnutls_ca_file "/usr/local/etc/openssl/cert.pem"
----
[NOTE]
Check that you have this file on your system (commonly brought by package
"ca-certificates").
Setup server port, SSL, then connect:
----
/set irc.server.libera.addresses "irc.libera.chat/6697"
/set irc.server.libera.ssl on
/connect libera
/set irc.server.freenode.addresses "chat.freenode.net/7000"
/set irc.server.freenode.ssl on
/connect freenode
----
[[irc_oauth]]
@@ -764,49 +813,39 @@ If the server supports SASL, you should use that instead of sending the
command for nickserv authentication, for example:
----
/set irc.server.libera.sasl_username "mynick"
/set irc.server.libera.sasl_password "xxxxxxx"
/set irc.server.freenode.sasl_username "mynick"
/set irc.server.freenode.sasl_password "xxxxxxx"
----
If the server does not support SASL, you can add a delay (between command and
join of channels):
----
/set irc.server.libera.command_delay 5
/set irc.server.freenode.command_delay 5
----
[[edit_autojoin]]
=== How can I add/remove channels from autojoin option?
With WeeChat ≥ 3.5, you can automatically record the channels you manually
join and part in the "autojoin" server option.
For all servers:
You can use the `/set` command to edit the list of autojoin channels,
for example for the "freenode" server:
----
/set irc.server_default.autojoin_dynamic on
/set irc.server.freenode.autojoin [TAB]
----
For a single server:
[NOTE]
You can complete the name and value of option with the kbd:[Tab] key
(or kbd:[Shift+Tab] for partial completion, useful for the name). +
This way you don't have to type the whole list of channels.
You can also use the `/fset` command to edit the list of channels:
----
/set irc.server.libera.autojoin_dynamic on
/fset autojoin
----
You can also add the current channel in the "autojoin" server option using the
`/autojoin` command:
----
/autojoin add
----
Or another channel:
----
/autojoin add #test
----
There are also scripts:
Another solution is to use a script:
----
/script search autojoin
@@ -846,14 +885,14 @@ With a global filter (hide *all* join/part/quit):
[NOTE]
For help: `/help filter`, `+/help irc.look.smart_filter+` and see
link:weechat_user.en.html#irc_smart_filter_join_part_quit[User's guide / Smart filter for join/part/quit messages ^↗^,window=_blank].
link:weechat_user.en.html#irc_smart_filter_join_part_quit[User's guide / Smart filter for join/part/quit messages].
[[filter_irc_join_channel_messages]]
=== How can I filter some messages displayed when I join an IRC channel?
You can choose which messages are displayed when joining a channel with the
option _irc.look.display_join_message_ (see `+/help irc.look.display_join_message+`
for more info).
With WeeChat ≥ 0.4.1, you can choose which messages are displayed when
joining a channel with the option _irc.look.display_join_message_ (see
`+/help irc.look.display_join_message+` for more info).
To hide messages (but keep them in buffer), you can filter them using the tag
(for example _irc_329_ for channel creation date). See `/help filter` for help
@@ -908,13 +947,17 @@ nicks:
/set irc.server_default.away_check_max_nicks 25
----
[NOTE]
For WeeChat ≤ 0.3.3, options are _irc.network.away_check_ and
_irc.network.away_check_max_nicks_.
[[highlight_notification]]
=== How can I be warned when someone highlights me on a channel?
There is a default trigger "beep" which sends a _BEL_ to the terminal on
a highlight or private message. Thus you can configure your terminal
(or multiplexer like screen/tmux) to run a command or play a sound when
a _BEL_ occurs.
With WeeChat ≥ 1.0, there is a default trigger "beep" which sends a _BEL_ to
the terminal on a highlight or private message. Thus you can configure your
terminal (or multiplexer like screen/tmux) to run a command or play a sound
when a _BEL_ occurs.
Or you can add a command in "beep" trigger:
@@ -939,8 +982,8 @@ Other scripts on this subject:
[[disable_highlights_for_specific_nicks]]
=== How can I disable highlights for specific nicks?
You can use the
link:weechat_user.en.html#max_hotlist_level_nicks[hotlist_max_level_nicks_add ^↗^,window=_blank]
With WeeChat ≥ 0.3.4 you can use the
link:weechat_user.en.html#max_hotlist_level_nicks[hotlist_max_level_nicks_add]
buffer property to set the max hotlist level for some nicks, per buffer,
or per group of buffers (like IRC servers).
@@ -959,16 +1002,16 @@ _buffer_autoset.py_ script:
----
For example, to permanently disable highlights from "mike" on #weechat
on the IRC server libera:
on the IRC server freenode:
----
/buffer_autoset add irc.libera.#weechat hotlist_max_level_nicks_add mike:2
/buffer_autoset add irc.freenode.#weechat hotlist_max_level_nicks_add mike:2
----
To apply it to the entire libera server instead:
To apply it to the entire freenode server instead:
----
/buffer_autoset add irc.libera hotlist_max_level_nicks_add mike:2
/buffer_autoset add irc.freenode hotlist_max_level_nicks_add mike:2
----
For more examples, see `+/help buffer_autoset+`.
@@ -976,7 +1019,7 @@ For more examples, see `+/help buffer_autoset+`.
[[irc_target_buffer]]
=== How can I change target buffer for commands on merged buffers (like buffer with servers)?
The default key is kbd:[Ctrl+x] (command is: `+/buffer switch+`).
The default key is kbd:[Ctrl+x] (command is: `+/input switch_active_buffer+`).
[[plugins_scripts]]
== Plugins / scripts
@@ -996,25 +1039,23 @@ You must set that up:
[[install_scripts]]
=== How can I install scripts? Are scripts compatible with other IRC clients?
You can use the command `/script` to install and manage scripts (see `/help script`
for help).
With WeeChat ≥ 0.3.9 you can use the command `/script` to install and manage scripts
(see `/help script` for help). For older versions there is weeget.py and script.pl.
Scripts are not compatible with other IRC clients.
[[scripts_update]]
=== The command "/script update" can not read scripts, how to fix that?
First check questions about SSL connection in this FAQ.
First check questions about SSL connection in this FAQ
(especially the option _weechat.network.gnutls_ca_file_).
If still not working, try to manually delete the scripts file (in your shell):
----
$ rm ~/.cache/weechat/script/plugins.xml.gz
$ rm ~/.weechat/script/plugins.xml.gz
----
[NOTE]
If you are not using the XDG directories, the path could be: _~/.weechat/script/plugins.xml.gz_.
And update scripts again in WeeChat:
----
@@ -1034,18 +1075,10 @@ have to update manually the file yourself to get updates):
* in your shell, with curl installed:
----
$ cd ~/.cache/weechat/script
$ cd ~/.weechat/script
$ curl -O https://weechat.org/files/plugins.xml.gz
----
If you're running macOS and the downloaded file has a size of 0 bytes,
try to set this variable in your shell initialization file or on command line,
before starting WeeChat:
----
export OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES
----
[[spell_dictionaries]]
=== I installed aspell dictionaries on my system, how can I use them without restarting WeeChat?
@@ -1055,6 +1088,10 @@ You have to reload the spell plugin:
/plugin reload spell
----
[NOTE]
With WeeChat ≤ 2.4, the "spell" plugin was named "aspell", so the command is:
`/plugin reload aspell`.
[[settings]]
== Settings
@@ -1088,8 +1125,8 @@ You can try following tips to consume less memory:
fifo, logger, perl, python, ruby, lua, tcl, guile, javascript, php, spell,
xfer (used for DCC). See `/help weechat.plugin.autoload`.
* Load only scripts that you really need.
* Do not load system certificates if SSL is *NOT* used: turn off this option:
_weechat.network.gnutls_ca_system_.
* Do not load certificates if SSL is *NOT* used: set empty string in option
_weechat.network.gnutls_ca_file_.
* Reduce value of option _weechat.history.max_buffer_lines_number_ or set value
of option _weechat.history.max_buffer_lines_minutes_.
* Reduce value of option _weechat.history.max_commands_.
@@ -1139,28 +1176,28 @@ Unload and disable auto-loading of "xfer" plugin (used for IRC DCC):
Define a passphrase and use secured data wherever you can for sensitive data
like passwords: see `/help secure` and `/help` on options
(if you can use secured data, it is written in the help).
See also link:weechat_user.en.html#secured_data[User's guide / Secured data ^↗^,window=_blank].
See also link:weechat_user.en.html#secured_data[User's guide / Secured data].
For example:
----
/secure passphrase xxxxxxxxxx
/secure set libera_username username
/secure set libera_password xxxxxxxx
/set irc.server.libera.sasl_username "${sec.data.libera_username}"
/set irc.server.libera.sasl_password "${sec.data.libera_password}"
/secure set freenode_username username
/secure set freenode_password xxxxxxxx
/set irc.server.freenode.sasl_username "${sec.data.freenode_username}"
/set irc.server.freenode.sasl_password "${sec.data.freenode_password}"
----
[[sharing_config_files]]
=== I want to share my WeeChat configuration, what files should I share and what should I keep private?
You can share configuration files _*.conf_ except the file _sec.conf_ which
You can share files _~/.weechat/*.conf_ except the file _sec.conf_ which
contains your passwords ciphered with your passphrase.
Some other files may contain sensitive info like passwords (if they are not
stored in _sec.conf_ with the `/secure` command).
See the link:weechat_user.en.html#files_and_directories[User's guide / Files and directories ^↗^,window=_blank]
See the link:weechat_user.en.html#files_and_directories[User's guide / Files and directories]
for more information about configuration files.
[[development]]
@@ -1169,7 +1206,7 @@ for more information about configuration files.
[[bug_task_patch]]
=== How should I report bugs, ask for new features or send patches?
See https://weechat.org/about/support/[this page ^↗^,window=_blank].
See: https://weechat.org/about/support
[[gdb_error_threads]]
=== When I run WeeChat under gdb, there is an error about threads, what can I do?
@@ -1194,8 +1231,7 @@ $ LD_PRELOAD=/lib/libpthread.so.0 gdb /path/to/weechat
[[supported_os]]
=== What is the list of supported platforms for WeeChat? Will it be ported to other operating systems?
WeeChat runs fine on most Linux/BSD distributions, GNU/Hurd, Mac OS and Windows
(Cygwin and Windows Subsystem for Linux).
The full list is on this page: https://weechat.org/download
We do our best to run on as many platforms as possible. Help is welcome for
some OS' we don't have, to test WeeChat.
@@ -1205,11 +1241,11 @@ some OS' we don't have, to test WeeChat.
There are many tasks to do (testing, code, documentation, etc.)
Please contact us via IRC or mail, look at
https://weechat.org/about/support/[support page ^↗^,window=_blank].
Please contact us via IRC or mail, look at support page:
https://weechat.org/about/support
[[donate]]
=== Can I give money or other things to WeeChat developers?
You can give us money to help development.
Details on https://weechat.org/donate/[donation page ^↗^,window=_blank].
Details on https://weechat.org/donate
File diff suppressed because it is too large Load Diff

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