1
0
mirror of https://github.com/weechat/weechat.git synced 2026-06-23 19:36:37 +02:00

Compare commits

..

3 Commits

Author SHA1 Message Date
Sébastien Helleu 6a98f747e6 Version 3.7.1 2022-10-21 13:01:44 +02:00
Sébastien Helleu dc034e2685 trigger: execute trigger command on appropriate buffer (issue #1841)
This affects the following hook types:

- command
- command_run
- line
- modifier
- print

This fixes a regression introduced in WeeChat 3.7 by commit
0f67f55098.
2022-10-20 20:39:39 +02:00
Sébastien Helleu a0bba1325a Version 3.7.1-dev 2022-10-20 20:39:09 +02:00
749 changed files with 35021 additions and 42415 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
+30 -33
View File
@@ -5,7 +5,7 @@ on:
- pull_request
env:
WEECHAT_DEPENDENCIES: devscripts equivs python3-pip 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
WEECHAT_DEPENDENCIES: devscripts equivs python3-pip autopoint cmake ninja-build lcov pkg-config libncursesw5-dev gem2deb libperl-dev python2-dev python3-dev libaspell-dev liblua5.3-dev tcl8.6-dev guile-2.2-dev libv8-dev libcurl4-gnutls-dev libgcrypt20-dev libgnutls28-dev libzstd-dev zlib1g-dev curl libcpputest-dev php8.0-dev libphp8.0-embed libargon2-dev libsodium-dev pylint python3-bandit asciidoctor ruby-pygments.rb
jobs:
@@ -16,11 +16,14 @@ jobs:
os:
- ubuntu-22.04
config:
- { name: "gcc", cc: "gcc", cxx: "g++", buildargs: "" }
- { name: "gcc_ninja", cc: "gcc", cxx: "g++", buildargs: "-G Ninja" }
- { name: "gcc_no_nls", cc: "gcc", cxx: "g++", buildargs: "-DENABLE_NLS=OFF" }
- { name: "gcc_coverage", cc: "gcc", cxx: "g++", buildargs: "-DENABLE_CODE_COVERAGE=ON" }
- { name: "clang", cc: "clang", cxx: "clang++", buildargs: "" }
- { 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 }}
@@ -31,28 +34,33 @@ jobs:
- name: Install dependencies
run: |
sudo apt-add-repository --yes ppa:ondrej/php
sudo apt-get update -qq
sudo apt-get --yes purge php8.1-dev
sudo apt-get --yes --no-install-recommends install ${{ env.WEECHAT_DEPENDENCIES }}
sudo -H pip3 install --ignore-installed msgcheck
- name: Check gettext files
run: msgcheck po/*.po
- name: Check shell and Python scripts
run: ./tools/check_scripts.sh
- name: Check Python scripts
run: |
pylint --additional-builtins=_ doc/docgen.py
pylint doc/python_stub.py
pylint tests/scripts/python/testapigen.py tests/scripts/python/testapi.py tests/scripts/python/unparse.py
bandit doc/docgen.py doc/python_stub.py
bandit tests/scripts/python/testapigen.py tests/scripts/python/testapi.py tests/scripts/python/unparse.py
- name: Check Python stub file
run: ./doc/python_stub.py | diff src/plugins/python/weechat.pyi -
- 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: Build and run tests
env:
CC: ${{ matrix.config.cc }}
CXX: ${{ matrix.config.cxx }}
BUILDARGS: ${{ matrix.config.buildargs }}
run: ./tools/build_test.sh
BUILDTOOL: ${{ matrix.config.tool }}
BUILDARGS: ${{ matrix.config.args }}
run: ./tools/build-test.sh
- name: Run WeeChat
env:
@@ -66,7 +74,7 @@ jobs:
weechat --run-command "/debug dirs;/debug libs" --run-command "/quit"
- name: Code coverage
if: ${{ matrix.config.name == 'gcc_coverage' }}
if: ${{ matrix.config.name == 'cmake_gcc_coverage' }}
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
run: |
@@ -84,8 +92,8 @@ jobs:
- macos-12
- macos-11
config:
- { name: "gcc", cc: "gcc", cxx: "g++" }
- { name: "clang", cc: "clang", cxx: "clang++" }
- { 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 }}
@@ -97,20 +105,7 @@ jobs:
- name: Install dependencies
run: |
brew update
# temporary fix, see: https://github.com/actions/setup-python/issues/577
rm -f \
/usr/local/bin/2to3 \
/usr/local/bin/idle3 \
/usr/local/bin/pydoc3 \
/usr/local/bin/python3 \
/usr/local/bin/python3-config \
/usr/local/bin/2to3-3.11 \
/usr/local/bin/idle3.11 \
/usr/local/bin/pydoc3.11 \
/usr/local/bin/python3.11 \
/usr/local/bin/python3.11-config \
;
brew install asciidoctor guile lua pkg-config ruby
brew install asciidoctor lua ruby
- name: Build
env:
@@ -149,14 +144,16 @@ jobs:
- name: Install dependencies
run: |
sudo apt-add-repository --yes ppa:ondrej/php
sudo apt-get update -qq
sudo apt-get --yes --no-install-recommends install ${{ env.WEECHAT_DEPENDENCIES }}
sudo apt-get --yes purge php8.1-dev
sudo apt-get --yes --no-install-recommends install ${{ env.WEECHAT_DEPENDENCIES }} php-dev
- name: Test Debian patches
run: ./tools/build_debian.sh test-patches
run: ./tools/build-debian.sh test-patches
- name: Build Debian packages
run: ./tools/build_debian.sh devel ubuntu/jammy
run: ./tools/build-debian.sh devel ubuntu/jammy
- name: Install Debian packages
run: sudo dpkg -i ../weechat-devel*.deb
+1 -3
View File
@@ -77,9 +77,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 +122,6 @@ Alphabetically:
* Rudolf Polzer (divVerent)
* Ruslan Bekenev
* Ryan Farley
* Ryan Qian
* Ryuunosuke Ayanokouzi
* scumjr
* Sergio Durigan Junior
+3 -5
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2023 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2007-2008 Julien Louis <ptitlouis@sysif.net>
# Copyright (C) 2008-2009 Emmanuel Bouthenot <kolter@openics.org>
#
@@ -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)
@@ -241,16 +242,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}"
)
+13 -103
View File
@@ -15,96 +15,6 @@ https://weechat.org/files/releasenotes/ReleaseNotes-devel.html[release notes]
(file _ReleaseNotes.adoc_ in sources).
[[v3.9]]
== Version 3.9 (under dev)
New features::
* core: display similar command names when a command is unknown (issue #1877)
* core: force ctrl keys to lower case when they are added (issue #1875)
* core, plugins: make many identifiers case sensitive (issue #1872, issue #398, bug #32213)
* alias: use lower case for default aliases (issue #1872)
* irc: add command `/rules` (issue #1864)
* irc: add command `/knock` (issue #7)
* irc: add server option "registered_mode", add fields "authentication_method" and "sasl_mechanism_used" in server (issue #1625)
* irc: add option `join` in command `/autojoin`
Bug fixes::
* core: fix crash in case of NULL message sent to function gui_chat_printf_y_date_tags (issue #1883)
* core: allow command `/input move_next_word` going to the end of line (issue #1881)
* core: ignore incomplete ctrl/meta/meta2 codes in keys
* core: fix display glitch in command errors when a wide char is set in option weechat.look.command_chars (issue #1871)
* api: readjust string size in function string_dyn_free when string is not freed
* irc: fix join of channels in "autojoin" server option on first connection to server if auto reconnection is performed (issue #1873)
* typing: fix crash when pointer buffer is not received in callback for signal "input_text_changed" (issue #1869)
Tests::
* gui: add tests on key functions
Build::
* core: remove build with autotools (issue #1860)
[[v3.8]]
== Version 3.8 (2023-01-08)
New features::
* core: add option weechat.look.chat_space_right (issue #1862)
* core: allow value "0" in buffer property "unread" to remove read marker from buffer
* core: add command `/allbuf`
* core: add command `/hotlist`
* core: move some `/input` actions to commands `/allbuf`, `/buffer` and `/hotlist`
* core: improve case convert and insensitive char comparisons (issue #258)
* core: add color attributes "blink" and "dim" (half bright) (issue #1855)
* core: allow command `/toggle` to create option before setting the value, if allowed in the section (issue #1837)
* core: add signals "buffer_user_input_xxx" and "buffer_user_closing_xxx" for buffers created with `/buffer add` (issue #1848)
* core: add identifier in buffer lines (issue #901)
* core: add option `unicode` in command `/debug`
* api: add Curl options for versions 7.64.0 to 7.87.0
* api: add functions string_strcmp and string_strncmp
* api: rename char comparison functions "utf8_char*" to "string_char*"
* api: return arithmetic difference between chars in functions string_charcmp, string_charcasecmp, string_charcasecmp_range, string_strcasecmp, string_strcasecmp_range, string_strncasecmp, string_strncasecmp_range, string_strcmp_ignore_chars
* api: return newly allocated string in functions string_tolower and string_toupper
* api: add function utf8_strncpy
* trigger: add regex command "y" to translate chars, set default regex command to "s" (regex replace) (issue #1510)
Bug fixes::
* core: fix color when the delimiter is not followed by a background color (issue #1867)
* core: display chars the same way in chat and bars, replace tabulations by spaces in bars, display chars < 32 with letter in chat, do not display soft hyphens, zero width spaces and all non-printable chars (issue #1659, issue #1669, issue #1770)
* core: fix context info in buffers with free content (issue #1832)
* core: keep terminal title unchanged when option weechat.look.window_title is set to empty value (issue #1835, issue #1836)
* core: fix crash when setting invalid color in option with null value (issue #1844)
* api: do not check conditions defined in option weechat.look.hotlist_add_conditions when adding buffer in hotlist with function buffer_set
* api: fix function strcmp_ignore_chars with case sensitive comparison and wide chars starting with the same byte
* api: send NULL values to config section callbacks in scripting API (issue #1843)
* api: fix function string_cut when there are non printable chars in suffix
* api: do not expect any return value in callbacks "callback_change" and "callback_delete" of function config_new_option (scripting API)
* irc: properly rename private buffer on nick changes or privmsg/notice message when new nick is the same with different case
* irc: do not join channels in server autojoin option after reconnection to the server (issue #560, bug #21529)
* irc: escape backslashes in raw buffer (issue #1838)
* trigger: fix variables sent to focus callback (issue #1858)
Tests::
* ci: remove use of repository ppa:ondrej/php, use standard PHP version (8.1) from Ubuntu 22.04
* core: add script check_scripts.sh
* core: add script check_curl_symbols.py
* gui: add tests on input functions
* scripts: add tests on config functions
Build::
* core: add CMake test called "notests" when tests are not compiled
* core: rename scripts: build-debian.sh to build_debian.sh, build-test.sh to build_test.sh, git-version.sh to set_git_version.sh
* debian: change dependency guile-2.2-dev to guile-3.0-dev
* python: remove support of Python 2.x
* ruby: add detection of Ruby 3.2
* spell: add detection of enchant-2 (issue #1859)
[[v3.7.1]]
== Version 3.7.1 (2022-10-21)
@@ -170,8 +80,8 @@ Bug fixes::
Tests::
* ci: switch from Ubuntu 20.04 to 22.04
* ci: remove macOS 10.15, add macOS 12
* core: switch from Ubuntu 20.04 to 22.04 in CI
* core: remove macOS 10.15, add macOS 12 in CI
* core: add tests on filter functions
* scripts: add tests on hdata functions
* scripts: fix run of Guile test script
@@ -241,8 +151,8 @@ Bug fixes::
Tests::
* ci: add build of Debian packages
* core: add tests on GUI chat functions
* core: add build of Debian packages in CI
Build::
@@ -291,8 +201,8 @@ Documentation::
Tests::
* ci: add build with CMake and Ninja
* ci: add build on macOS 11
* core: add build with CMake and Ninja in CI
* core: add build on macOS 11 in CI
Build::
@@ -345,8 +255,8 @@ Documentation::
Tests::
* ci: switch to PHP 8.0
* ci: add build on macOS
* core: switch to PHP 8.0 in CI
* core: add build on macOS in CI
Build::
@@ -408,7 +318,7 @@ Bug fixes::
Tests::
* ci: switch from Ubuntu 18.04 to 20.04
* core: switch from Ubuntu 18.04 to 20.04 in CI
* trigger: add tests on main trigger functions
Build::
@@ -569,8 +479,8 @@ Documentation::
Tests::
* ci: add CI with GitHub Actions, move codecov.io upload to GitHub Actions
* ci: switch to Ubuntu Bionic on Travis CI, use pylint3 to lint Python scripts
* core: add CI with GitHub Actions, move codecov.io upload to GitHub Actions
* core: switch to Ubuntu Bionic on Travis CI, use pylint3 to lint Python scripts
* core: run tests on plugins only if the plugins are enabled and compiled
* irc: add tests on IRC color and channel functions
@@ -1057,7 +967,7 @@ New features::
Bug fixes::
* core: fix bind of keys with space key, like kbd:[Alt+Space] (issue #603, bug #32133)
* core: fix bind of keys with space key, like kbd:[Alt+Space] (bug #32133)
* core: fix infinite loop when the terminal is closed on the secure password prompt (issue #1010)
* buflist: fix long mouse gestures
* buflist: fix slow switch of buffer when there are a lot of buffers opened (issue #998)
@@ -1718,7 +1628,7 @@ New features::
* api: add hdata "buffer_visited"
* api: add support of infos with format `${info:name,arguments}` in function string_eval_expression and command `/eval`
* api: add support for C++ plugins
* alias: add default alias `/beep` -> `/print -stderr \a`
* alias: add default alias `/beep` => `/print -stderr \a`
* irc: add server option "ssl_fingerprint" (task #12724)
* irc: add option irc.look.smart_filter_mode (task #12499)
* irc: add option irc.network.ban_mask_default (bug #26571)
@@ -2228,7 +2138,7 @@ New features::
* api: add modifier "input_text_for_buffer" (bug #35317)
* api: add support of URL in hook_process / hook_process_hashtable (task #10247)
* api: add new functions strcasecmp_range, strncasecmp_range, string_regex_flags, string_regcomp, hashtable_map_string, hook_process_hashtable, hdata_check_pointer, hdata_char, hdata_hashtable and nicklist_get_next_item
* alias: add default alias `/umode` -> `/mode $nick`
* alias: add default alias `/umode` => `/mode $nick`
* irc: add option "capabilities" in servers to enable client capabilities on connection
* irc: add signal "irc_server_opened"
* irc: add signal "xxx,irc_out1_yyy" and modifier "irc_out1_xxx" (outgoing message before automatic split to fit in 512 bytes)
+80
View File
@@ -0,0 +1,80 @@
#
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2005 Julien Louis <ptitlouis@sysif.net>
# Copyright (C) 2006-2009 Emmanuel Bouthenot <kolter@openics.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/>.
#
# This target will update file config-git.h with output of command "git describe"
# (if needed, and only for a devel/rc version).
BUILT_SOURCES = build-config-git.h
build-config-git.h:
-$(abs_top_srcdir)/tools/git-version.sh "$(abs_top_srcdir)" "$(VERSION)" config-git.h
if TESTS
tests_dir = tests
endif
SUBDIRS = icons po doc intl src $(tests_dir)
EXTRA_DIST = AUTHORS.adoc \
ChangeLog.adoc \
Contributing.adoc \
README.adoc \
ReleaseNotes.adoc \
CMakeLists.txt \
config.rpath \
config.h.cmake \
cmake/CMakeParseArguments.cmake \
cmake/FindAsciidoctor.cmake \
cmake/FindAspell.cmake \
cmake/FindCppUTest.cmake \
cmake/FindENCHANT.cmake \
cmake/FindGCRYPT.cmake \
cmake/FindGettext.cmake \
cmake/FindGnuTLS.cmake \
cmake/FindGuile.cmake \
cmake/FindIconv.cmake \
cmake/FindLua.cmake \
cmake/FindNcurses.cmake \
cmake/FindPerl.cmake \
cmake/FindPkgConfig.cmake \
cmake/FindPython.cmake \
cmake/FindRuby.cmake \
cmake/FindV8.cmake \
cmake/FindZLIB.cmake \
cmake/cmake_uninstall.cmake.in \
po/CMakeLists.txt \
po/srcfiles.cmake \
tools/build-test.sh \
tools/git-version.sh \
tools/makedist.sh \
version.sh \
weechat.desktop \
weechat.pc.in \
weechat.cygport.in
ACLOCAL_AMFLAGS = -I m4
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = weechat.pc
desktopdir = $(datadir)/applications
desktop_DATA = weechat.desktop
clean-local:
$(RM) config-git.h
+1 -1
View File
@@ -45,7 +45,7 @@ For detailed instructions, please check the https://weechat.org/doc/user/#instal
== Copyright
Copyright (C) 2003-2023 Sébastien Helleu <flashcode@flashtux.org>
Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
This file is part of WeeChat, the extensible chat client.
+48 -266
View File
@@ -17,224 +17,6 @@ https://weechat.org/files/changelog/ChangeLog-devel.html[ChangeLog]
(file _ChangeLog.adoc_ in sources).
[[v3.9]]
== Version 3.9 (under dev)
[[v3.9_ctrl_keys_lower_case]]
=== Control keys as lower case
Keys using the kbd:[Ctrl] key and a letter are now automatically converted to
lower case. +
That means for example keys `ctrl-q` and `ctrl-Q` are the same and saved as
`ctrl-q` (lower case).
Example of key being automatically converted to lower case:
----
/key bind ctrl-Q /print test
----
Output is now:
----
New key binding (context "default"): ctrl-q => /print test
----
With older releases, upper case was mandatory and lower case letter for control
keys were not working at all.
[[v3.9_case_sensitive_identifiers]]
=== Case sensitive identifiers
Many identifiers are made case sensitive, including among others:
- configuration files, sections, options
- commands, aliases
- completion (except nick completion)
- bars, bar items
- colors
- filters
- IRC servers
- scripts
- triggers.
See https://specs.weechat.org/specs/2023-001-case-sensitive-identifiers.html[Case sensitive identifiers specification]
for more information.
Accordingly, default aliases are now in lower case. +
If you upgraded from an old WeeChat version, the aliases are still in upper case
and must be completed/used with upper case. For example `/CLO` + key kbd:[Tab]
completes to `/CLOSE` (and `/close` is not valid any more). +
The default aliases can be converted to lower case with the following commands:
----
/alias rename AAWAY aaway
/alias rename ANICK anick
/alias rename BEEP beep
/alias rename BYE bye
/alias rename C c
/alias rename CHAT chat
/alias rename CL cl
/alias rename CLOSE close
/alias rename EXIT exit
/alias rename IG ig
/alias rename J j
/alias rename K k
/alias rename KB kb
/alias rename LEAVE leave
/alias rename M m
/alias rename MSGBUF msgbuf
/alias rename MUB mub
/alias rename N n
/alias rename Q q
/alias rename REDRAW redraw
/alias rename SAY say
/alias rename SIGNOFF signoff
/alias rename T t
/alias rename UB ub
/alias rename UMODE umode
/alias rename V v
/alias rename W w
/alias rename WC wc
/alias rename WI wi
/alias rename WII wii
/alias rename WM wm
/alias rename WW ww
----
[[v3.9_remove_autotools]]
=== Remove build with autotools
The autotools support for build of WeeChat has been removed. +
WeeChat must now be built with CMake.
[[v3.8]]
== Version 3.8 (2023-01-08)
[[v3.8_command_input_options]]
=== Move of options out of command /input
Some options of `/input` command have been moved to other commands (they can
still be used with `/input` but marked as deprecated and completion has been
removed):
[width="100%",cols="4m,4m,3",options="header"]
|===
| Old command | New command | Default key
| /input jump_smart | /buffer jump smart | kbd:[Alt+a]
| /input jump_previously_visited_buffer | /buffer jump prev_visited | kbd:[Alt+<]
| /input jump_next_visited_buffer | /buffer jump next_visited | kbd:[Alt+>]
| /input jump_last_buffer_displayed | /buffer jump last_displayed | kbd:[Alt+/]
| /input hotlist_clear | /hotlist clear | kbd:[Alt+h], kbd:[Alt+c]
| /input hotlist_remove_buffer | /hotlist remove | kbd:[Alt+h], kbd:[Alt+m]
| /input hotlist_restore_buffer | /hotlist restore | kbd:[Alt+h], kbd:[Alt+r]
| /input hotlist_restore_all | /hotlist restore -all | kbd:[Alt+h], kbd:[Alt+Shift+R]
| /input set_unread | /allbuf /buffer set unread | kbd:[Ctrl+s], kbd:[Ctrl+u]
| /input set_unread_current_buffer | /buffer set unread | (none)
| /input switch_active_buffer | /buffer switch | kbd:[Ctrl+x]
| /input switch_active_buffer_previous | /buffer switch -previous | (none)
| /input zoom_merged_buffer | /buffer zoom | kbd:[Alt+x]
|===
The following default keys can be reset to use the new command:
----
/key reset meta-a
/key reset meta-<
/key reset meta->
/key reset meta-/
/key reset meta-hmeta-c
/key reset meta-hmeta-m
/key reset meta-hmeta-r
/key reset meta-hmeta-R
/key reset ctrl-Sctrl-U
/key reset ctrl-X
/key reset meta-x
----
[[v3.8_return_code_string_comparison_functions]]
=== Return code of string comparison functions
The following functions now return arithmetic result of subtracting the last
compared UTF-8 char in string2 from the last compared UTF-8 char in string1:
* string_charcmp
* string_charcasecmp
* string_charcasecmp_range
* string_strcasecmp
* string_strcasecmp_range
* string_strncasecmp
* string_strncasecmp_range
* string_strcmp_ignore_chars
In addition, the case conversion has been extended, now in addition to range
A-Z, all chars that have a lower case version are handled. +
That means for example the case insensitive comparison of "é" and "É" is 0
(chars are considered equal).
Example with WeeChat 3.8:
[source,c]
----
int diff = string_strcasecmp ("aaa", "CCC"); /* == -2 */
----
With older releases:
[source,c]
----
int diff = string_strcasecmp ("aaa", "CCC"); /* == -1 */
----
[[v3.8_api_string_lower_upper]]
=== API functions string_tolower and string_toupper
The functions link:https://weechat.org/doc/plugin/#_string_tolower[string_tolower]
and link:https://weechat.org/doc/plugin/#_string_toupper[string_toupper]
now return newly allocated string instead of doing the change in place. +
The returned string must then be freed after use.
[[v3.8_trigger_regex_command]]
=== Trigger regex command
The trigger regex now starts with a command, which is "s" (regex replace, default)
or "y" (translate chars).
For compatibility, any regex starting with a delimiter different from a letter
will still work.
If you defined some triggers with a regex starting with a letter (used as delimiter),
then you must change them *before* upgrading WeeChat, otherwise they'll be lost
after upgrade (with an error when WeeChat tries to load them from configuration file).
For example this regex is now invalid:
----
XabcXdefX
----
And must be replaced by:
----
sXabcXdefX
----
For more information on the regex format, see the trigger chapter in the
_WeeChat User's guide_.
[[v3.8_remove_python2_support]]
=== Remove Python 2 support
The CMake option `ENABLE_PYTHON2` and autotools option `--enable-python2`
have been removed, and WeeChat can not be compiled with Python 2.x any more.
[[v3.8_config_new_option_callbacks]]
=== Callbacks of function config_new_option
The two callbacks "callback_change" and "callback_delete" in scripting API function
config_new_option have been changed: an integer return value was expected by error,
now any return value is ignored (like it has always been in the C API).
[[v3.7.1]]
== Version 3.7.1 (2022-10-21)
@@ -899,8 +681,8 @@ plugins/scripts to complete a string, without using the buffer input.
Therefore two functions have been renamed in API and moved to the new
"completion" category:
* hook_completion_get_string -> link:https://weechat.org/doc/plugin/#_completion_get_string[completion_get_string]
* hook_completion_list_add -> link:https://weechat.org/doc/plugin/#_completion_list_add[completion_list_add]
* hook_completion_get_string => link:https://weechat.org/doc/plugin/#_completion_get_string[completion_get_string]
* hook_completion_list_add => link:https://weechat.org/doc/plugin/#_completion_list_add[completion_list_add]
[NOTE]
The old names are still valid for compatibility reasons, but it is recommended
@@ -1198,13 +980,13 @@ it supports aspell and also enchant.
Consequently, the following things have been renamed as well:
* file aspell.conf -> spell.conf (the content of the file has not changed, so you can just rename the file to keep your changes)
* options aspell.* -> spell.*
* command `/aspell` -> `/spell`
* default key kbd:[Alt+s] -> `/mute spell toggle`
* bar item aspell_dict -> spell_dict
* bar item aspell_suggest -> spell_suggest
* info aspell_dict -> spell_dict
* file aspell.conf => spell.conf (the content of the file has not changed, so you can just rename the file to keep your changes)
* options aspell.* => spell.*
* command `/aspell` => `/spell`
* default key kbd:[Alt+s] => `/mute spell toggle`
* bar item aspell_dict => spell_dict
* bar item aspell_suggest => spell_suggest
* info aspell_dict => spell_dict
If you are upgrading from a previous release, you can copy the config file
before doing `/upgrade`, in WeeChat:
@@ -1424,14 +1206,14 @@ configuration file (type: boolean, default is `off`).
List of options moved:
* plugins.var.python.check_license (string) -> python.look.check_license (boolean)
* plugins.var.perl.check_license (string) -> perl.look.check_license (boolean)
* plugins.var.ruby.check_license (string) -> ruby.look.check_license (boolean)
* plugins.var.lua.check_license (string) -> lua.look.check_license (boolean)
* plugins.var.tcl.check_license (string) -> tcl.look.check_license (boolean)
* plugins.var.guile.check_license (string) -> guile.look.check_license (boolean)
* plugins.var.javascript.check_license (string) -> javascript.look.check_license (boolean)
* plugins.var.php.check_license (string) -> php.look.check_license (boolean)
* plugins.var.python.check_license (string) => python.look.check_license (boolean)
* plugins.var.perl.check_license (string) => perl.look.check_license (boolean)
* plugins.var.ruby.check_license (string) => ruby.look.check_license (boolean)
* plugins.var.lua.check_license (string) => lua.look.check_license (boolean)
* plugins.var.tcl.check_license (string) => tcl.look.check_license (boolean)
* plugins.var.guile.check_license (string) => guile.look.check_license (boolean)
* plugins.var.javascript.check_license (string) => javascript.look.check_license (boolean)
* plugins.var.php.check_license (string) => php.look.check_license (boolean)
[[v2.0.1]]
== Version 2.0.1 (2017-12-20)
@@ -1626,13 +1408,13 @@ command:
Server options with default messages for kick/part/quit have been renamed:
* options by default for all servers:
** irc.server_default.default_msg_kick -> irc.server_default.msg_kick
** irc.server_default.default_msg_part -> irc.server_default.msg_part
** irc.server_default.default_msg_quit -> irc.server_default.msg_quit
** irc.server_default.default_msg_kick => irc.server_default.msg_kick
** irc.server_default.default_msg_part => irc.server_default.msg_part
** irc.server_default.default_msg_quit => irc.server_default.msg_quit
* options in each server:
** irc.server.xxx.default_msg_kick -> irc.server.xxx.msg_kick
** irc.server.xxx.default_msg_part -> irc.server.xxx.msg_part
** irc.server.xxx.default_msg_quit -> irc.server.xxx.msg_quit
** irc.server.xxx.default_msg_kick => irc.server.xxx.msg_kick
** irc.server.xxx.default_msg_part => irc.server.xxx.msg_part
** irc.server.xxx.default_msg_quit => irc.server.xxx.msg_quit
If you changed the value of these options, you must set them again after upgrade.
@@ -1659,17 +1441,17 @@ The nick coloring feature has been moved from irc plugin to core.
Two options have been moved from irc plugin (irc.conf) to core (weechat.conf),
and you must set new value if you customized them:
* irc.look.nick_color_force -> weechat.look.nick_color_force
* irc.look.nick_color_hash -> weechat.look.nick_color_hash
* irc.look.nick_color_stop_chars -> weechat.look.nick_color_stop_chars
* irc.look.nick_color_force => weechat.look.nick_color_force
* irc.look.nick_color_hash => weechat.look.nick_color_hash
* irc.look.nick_color_stop_chars => weechat.look.nick_color_stop_chars
The default value for option weechat.look.nick_color_hash is now `djb2`
instead of `sum`.
The following info names (used by API function "info_get") are renamed as well:
* irc_nick_color -> nick_color
* irc_nick_color_name -> nick_color_name
* irc_nick_color => nick_color
* irc_nick_color_name => nick_color_name
[NOTE]
The old info irc_nick_color and irc_nick_color_name are kept for
@@ -1726,8 +1508,8 @@ can be displayed for any plugin, using the buffer local variable "away").
Two options have been moved from irc plugin (irc.conf) to core (weechat.conf):
* irc.look.item_away_message -> weechat.look.item_away_message
* irc.color.item_away -> weechat.color.item_away
* irc.look.item_away_message => weechat.look.item_away_message
* irc.color.item_away => weechat.color.item_away
[[v1.5_default_triggers]]
=== Default triggers
@@ -2295,10 +2077,10 @@ display (not stored any more in the line).
Options moved from irc plugin (irc.conf) to core (weechat.conf):
* irc.look.nick_prefix -> weechat.look.nick_prefix
* irc.look.nick_suffix -> weechat.look.nick_suffix
* irc.color.nick_prefix -> weechat.color.chat_nick_prefix
* irc.color.nick_suffix -> weechat.color.chat_nick_suffix
* irc.look.nick_prefix => weechat.look.nick_prefix
* irc.look.nick_suffix => weechat.look.nick_suffix
* irc.color.nick_prefix => weechat.color.chat_nick_prefix
* irc.color.nick_suffix => weechat.color.chat_nick_suffix
Types and default values for these four options remain unchanged.
@@ -2468,8 +2250,8 @@ This version fixes crash when decoding IRC colors in strings.
Options moved from core (weechat.conf) to irc plugin (irc.conf):
* weechat.look.nickmode -> irc.look.nick_mode (new type: integer with values: none/prefix/action/both)
* weechat.look.nickmode_empty -> irc.look.nick_mode_empty
* weechat.look.nickmode => irc.look.nick_mode (new type: integer with values: none/prefix/action/both)
* weechat.look.nickmode_empty => irc.look.nick_mode_empty
[[v0.3.9_bar_item_buffer_modes]]
=== New bar item buffer_modes
@@ -2494,9 +2276,9 @@ New options in command `/aspell`:
Options renamed in command `/aspell`:
* `enable` -> `setdict` (set dictionary for current buffer)
* `disable` -> `deldict` (delete dictionary used on current buffer)
* `dictlist` -> `listdict` (show installed dictionaries)
* `enable` => `setdict` (set dictionary for current buffer)
* `disable` => `deldict` (delete dictionary used on current buffer)
* `dictlist` => `listdict` (show installed dictionaries)
[[v0.3.9_horizontal_separator]]
=== Horizontal separator
@@ -2676,17 +2458,17 @@ value for old options, and set them again with new name:
* options moved from "network" section to servers (with global value, and
server value, like other server options):
** irc.network.connection_timeout -> irc.server_default.connection_timeout
** irc.network.anti_flood_prio_high -> irc.server_default.anti_flood_prio_high
** irc.network.anti_flood_prio_low -> irc.server_default.anti_flood_prio_low
** irc.network.away_check -> irc.server_default.away_check
** irc.network.away_check_max_nicks -> irc.server_default.away_check_max_nicks
** irc.network.default_msg_part -> irc.server_default.default_msg_part
** irc.network.default_msg_quit -> irc.server_default.default_msg_quit
** irc.network.connection_timeout => irc.server_default.connection_timeout
** irc.network.anti_flood_prio_high => irc.server_default.anti_flood_prio_high
** irc.network.anti_flood_prio_low => irc.server_default.anti_flood_prio_low
** irc.network.away_check => irc.server_default.away_check
** irc.network.away_check_max_nicks => irc.server_default.away_check_max_nicks
** irc.network.default_msg_part => irc.server_default.default_msg_part
** irc.network.default_msg_quit => irc.server_default.default_msg_quit
* other IRC options renamed:
** irc.look.open_channel_near_server -> irc.look.new_channel_position
** irc.look.open_channel_near_server => irc.look.new_channel_position
(old option was boolean, new is integer with value as string)
** irc.look.open_pv_near_server -> irc.look.new_pv_position
** irc.look.open_pv_near_server => irc.look.new_pv_position
(old option was boolean, new is integer with value as string)
[[v0.3.3]]
Executable
+69
View File
@@ -0,0 +1,69 @@
#!/bin/sh
#
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2005 Julien Louis <ptitlouis@sysif.net>
# Copyright (C) 2005-2006 Emmanuel Bouthenot <kolter@openics.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/>.
#
###
### common stuff
###
DIR=$(cd "$(dirname "$0")" || exit 1; pwd)
cd "$DIR" || exit 1
AUTOGEN_LOG=autogen.log
err ()
{
echo "-------"
echo "Error :"
echo "---8<-----------------------------------"
cat "$AUTOGEN_LOG"
echo "----------------------------------->8---"
exit 1
}
run ()
{
printf "Running \"%s\"..." "$@"
if eval "$@" >"$AUTOGEN_LOG" 2>&1 ; then
echo " OK"
else
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"
# remove libtool stuff
run "rm -f libtool"
# remove gettext stuff
run "rm -f ABOUT-NLS"
run "rm -rf intl"
# execute autoreconf cmds
run "autoreconf -vi"
# ending
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-2022 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-2022 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-2022 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}
)
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2023 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2022 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-2022 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-2022 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-2022 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-2022 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-2022 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-2022 Sébastien Helleu <flashcode@flashtux.org>
#
# This file is part of WeeChat, the extensible chat client.
#
+2 -3
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-2022 Sébastien Helleu <flashcode@flashtux.org>
#
# This file is part of WeeChat, the extensible chat client.
#
@@ -29,7 +29,6 @@ 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
@@ -48,7 +47,7 @@ if(NOT PHP_FOUND)
execute_process(COMMAND ${PHP_CONFIG_EXECUTABLE} --version OUTPUT_VARIABLE PHP_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE)
if(${PHP_VERSION} MATCHES "^[78]")
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 php8.1 php8.0 php8 php7.4 php7.3 php7.2 php7.1 php7.0 php7 php
HINTS ${PHP_LIB_PREFIX} ${PHP_LIB_PREFIX}/lib ${PHP_LIB_PREFIX}/lib64
)
if(PHP_LIB)
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2023 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
#
# This file is part of WeeChat, the extensible chat client.
#
+8 -4
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2023 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2022 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,11 @@
# 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)
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()
+2 -2
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2023 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
#
# This file is part of WeeChat, the extensible chat client.
#
@@ -37,7 +37,7 @@ if(PKG_CONFIG_FOUND)
# 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.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)
pkg_search_module(RUBY ruby-3.1 ruby-3.0 ruby-2.7 ruby-2.6 ruby-2.5 ruby-2.4 ruby-2.3 ruby-2.2 ruby-2.1 ruby-2.0 ruby-1.9 ruby)
if(RUBY_FOUND AND ${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
# FIXME: weird hack: hardcoding the Ruby lib location on macOS
set(RUBY_LDFLAGS "${RUBY_LDFLAGS} -L/usr/local/opt/ruby/lib")
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2015-2023 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2015-2022 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-2022 Sébastien Helleu <flashcode@flashtux.org>
#
# This file is part of WeeChat, the extensible chat client.
#
+1606
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -14,7 +14,7 @@ Build-Depends:
libaspell-dev,
liblua5.3-dev,
tcl8.6-dev,
guile-3.0-dev,
guile-2.2-dev,
php-dev, libphp-embed, libargon2-dev, libsodium-dev,
libxml2-dev,
libcurl4-gnutls-dev,
+13 -3
View File
@@ -4,8 +4,10 @@ export DEB_BUILD_MAINT_OPTIONS=hardening=+all
BUILDDIR = builddir
override_dh_auto_configure:
dh_auto_configure --buildsystem=cmake -- \
$(BUILDDIR)/Makefile:
mkdir -p $(BUILDDIR)
cd $(BUILDDIR) && \
cmake .. \
-DCMAKE_INSTALL_PREFIX:FILEPATH=/usr \
-DLIBDIR=/usr/lib/${DEB_HOST_MULTIARCH} \
-DENABLE_DOC:BOOL=ON \
@@ -16,8 +18,16 @@ override_dh_auto_configure:
-DCMAKE_SKIP_RPATH:BOOL=ON \
-DCMAKE_VERBOSE_MAKEFILE:BOOL=ON
override_dh_auto_configure:
# the package also has autotools buildsys and
# debhelper try to use it but that's not needed
echo
override_dh_auto_build: $(BUILDDIR)/Makefile
dh_auto_build
override_dh_installchangelogs:
dh_installchangelogs ChangeLog.adoc
%:
dh $@ --builddirectory=$(BUILDDIR)
dh $@ --builddirectory=$(BUILDDIR) --without autoreconf
-12
View File
@@ -1,15 +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
+1 -1
View File
@@ -14,7 +14,7 @@ Build-Depends:
libaspell-dev,
liblua5.3-dev,
tcl8.6-dev,
guile-3.0-dev,
guile-2.2-dev,
php-dev, libphp-embed, libargon2-dev, libsodium-dev,
libxml2-dev,
libcurl4-gnutls-dev,
+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-2022, Sébastien Helleu <flashcode@flashtux.org>
License: GPL-3+
Files: src/core/wee-command.c
+13 -3
View File
@@ -4,8 +4,10 @@ export DEB_BUILD_MAINT_OPTIONS=hardening=+all
BUILDDIR = builddir
override_dh_auto_configure:
dh_auto_configure --buildsystem=cmake -- \
$(BUILDDIR)/Makefile:
mkdir -p $(BUILDDIR)
cd $(BUILDDIR) && \
cmake .. \
-DCMAKE_INSTALL_PREFIX:FILEPATH=/usr \
-DLIBDIR=/usr/lib/${DEB_HOST_MULTIARCH} \
-DENABLE_DOC:BOOL=ON \
@@ -16,8 +18,16 @@ override_dh_auto_configure:
-DCMAKE_SKIP_RPATH:BOOL=ON \
-DCMAKE_VERBOSE_MAKEFILE:BOOL=ON
override_dh_auto_configure:
# the package also has autotools buildsys and
# debhelper try to use it but that's not needed
echo
override_dh_auto_build: $(BUILDDIR)/Makefile
dh_auto_build
override_dh_installchangelogs:
dh_installchangelogs ChangeLog.adoc
%:
dh $@ --builddirectory=$(BUILDDIR)
dh $@ --builddirectory=$(BUILDDIR) --without autoreconf
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2023 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2009 Emmanuel Bouthenot <kolter@openics.org>
#
# This file is part of WeeChat, the extensible chat client.
+28
View File
@@ -0,0 +1,28 @@
#
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2006 Julien Louis <ptitlouis@sysif.net>
#
# 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/>.
#
SUBDIRS = . cs de en es fr it ja pl ru sr
EXTRA_DIST = docgen.py \
docinfo.html \
CMakeLists.txt
uninstall-hook:
-rmdir $(DESTDIR)$(datadir)/doc/$(PACKAGE)
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2023 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
#
# This file is part of WeeChat, the extensible chat client.
#
+81
View File
@@ -0,0 +1,81 @@
#
# Copyright (C) 2003-2022 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/>.
#
docdir = $(datadir)/doc/$(PACKAGE)
EXTRA_DIST = CMakeLists.txt \
docinfo.html \
weechat.1.cs.adoc \
weechat-headless.1.cs.adoc \
weechat_quickstart.cs.adoc \
includes/cmdline_options.cs.adoc \
includes/man.cs.adoc
if MAN
man_targets = weechat.1 \
weechat-headless.1
man_install = install-man
man_uninstall = uninstall-man
endif
if DOC
doc_targets = weechat_quickstart.cs.html
doc_install = install-doc
doc_uninstall = uninstall-doc
endif
all-local: $(man_targets) $(doc_targets)
# man pages
weechat.1: weechat.1.cs.adoc includes/cmdline_options.cs.adoc includes/man.cs.adoc
$(ASCIIDOCTOR) $(ASCIIDOCTOR_ARGS) -a revnumber="$(VERSION)" -b manpage -o weechat.1 $(abs_top_srcdir)/doc/cs/weechat.1.cs.adoc
weechat-headless.1: weechat-headless.1.cs.adoc includes/cmdline_options.cs.adoc includes/man.cs.adoc
$(ASCIIDOCTOR) $(ASCIIDOCTOR_ARGS) -a revnumber="$(VERSION)" -b manpage -o weechat-headless.1 $(abs_top_srcdir)/doc/cs/weechat-headless.1.cs.adoc
# quickstart
weechat_quickstart.cs.html: weechat_quickstart.cs.adoc $(abs_top_srcdir)/doc/docinfo.html
$(ASCIIDOCTOR) $(ASCIIDOCTOR_ARGS) -a revnumber="$(VERSION)" -o weechat_quickstart.cs.html $(abs_top_srcdir)/doc/cs/weechat_quickstart.cs.adoc
# install man/docs
install-data-hook: $(man_install) $(doc_install)
install-man:
$(mkinstalldirs) $(DESTDIR)$(mandir)/cs/man1/
$(INSTALL_DATA) *.1 $(DESTDIR)$(mandir)/cs/man1/
install-doc:
$(mkinstalldirs) $(DESTDIR)$(docdir)/
$(INSTALL_DATA) *.html $(DESTDIR)$(docdir)/
# uninstall man/docs
uninstall-hook: $(man_uninstall) $(doc_uninstall)
uninstall-man:
$(RM) $(DESTDIR)$(mandir)/cs/man1/weechat.1
$(RM) $(DESTDIR)$(mandir)/cs/man1/weechat-headless.1
-rmdir $(DESTDIR)$(mandir)/cs/man1
uninstall-doc:
$(RM) $(DESTDIR)$(docdir)/*.cs.html
-rmdir $(DESTDIR)$(docdir)
# clean
clean-local:
-$(RM) weechat.1 weechat-headless.1 weechat_*.html
+1 -1
View File
@@ -99,7 +99,7 @@ $HOME/.local/share/weechat/weechat.log::
WeeChat je napsán Sébastienem Helleu a přispěvovateli (kompletní seznam je v
souboru AUTHORS.adoc).
Copyright (C) 2003-2023 {author}
Copyright (C) 2003-2022 {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
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2023 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
#
# This file is part of WeeChat, the extensible chat client.
#
+111
View File
@@ -0,0 +1,111 @@
#
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2006 Julien Louis <ptitlouis@sysif.net>
#
# 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/>.
#
docdir = $(datadir)/doc/$(PACKAGE)
EXTRA_DIST = CMakeLists.txt \
docinfo.html \
weechat.1.de.adoc \
weechat-headless.1.de.adoc \
weechat_user.de.adoc \
weechat_scripting.de.adoc \
weechat_faq.de.adoc \
weechat_quickstart.de.adoc \
includes/autogen_api_completions.de.adoc \
includes/autogen_api_hdata.de.adoc \
includes/autogen_api_infolists.de.adoc \
includes/autogen_api_infos.de.adoc \
includes/autogen_api_infos_hashtable.de.adoc \
includes/autogen_api_plugins_priority.de.adoc \
includes/autogen_api_url_options.de.adoc \
includes/autogen_user_commands.de.adoc \
includes/autogen_user_default_aliases.de.adoc \
includes/autogen_user_irc_colors.de.adoc \
includes/autogen_user_options.de.adoc \
includes/cmdline_options.de.adoc \
includes/man.de.adoc
if MAN
man_targets = weechat.1 \
weechat-headless.1
man_install = install-man
man_uninstall = uninstall-man
endif
if DOC
doc_targets = weechat_user.de.html \
weechat_scripting.de.html \
weechat_faq.de.html \
weechat_quickstart.de.html
doc_install = install-doc
doc_uninstall = uninstall-doc
endif
all-local: $(man_targets) $(doc_targets)
# man pages
weechat.1: weechat.1.de.adoc includes/cmdline_options.de.adoc includes/man.de.adoc
$(ASCIIDOCTOR) $(ASCIIDOCTOR_ARGS) -a revnumber="$(VERSION)" -b manpage -o weechat.1 $(abs_top_srcdir)/doc/de/weechat.1.de.adoc
weechat-headless.1: weechat-headless.1.de.adoc includes/cmdline_options.de.adoc includes/man.de.adoc
$(ASCIIDOCTOR) $(ASCIIDOCTOR_ARGS) -a revnumber="$(VERSION)" -b manpage -o weechat-headless.1 $(abs_top_srcdir)/doc/de/weechat-headless.1.de.adoc
# user's guide
weechat_user.de.html: weechat_user.de.adoc includes/cmdline_options.de.adoc $(wildcard includes/autogen_user_*.adoc) $(abs_top_srcdir)/doc/docinfo.html
$(ASCIIDOCTOR) $(ASCIIDOCTOR_ARGS) -a revnumber="$(VERSION)" -o weechat_user.de.html $(abs_top_srcdir)/doc/de/weechat_user.de.adoc
# scripting guide
weechat_scripting.de.html: weechat_scripting.de.adoc $(abs_top_srcdir)/doc/docinfo.html
$(ASCIIDOCTOR) $(ASCIIDOCTOR_ARGS) -a revnumber="$(VERSION)" -o weechat_scripting.de.html $(abs_top_srcdir)/doc/de/weechat_scripting.de.adoc
# FAQ
weechat_faq.de.html: weechat_faq.de.adoc $(abs_top_srcdir)/doc/docinfo.html
$(ASCIIDOCTOR) $(ASCIIDOCTOR_ARGS) -a revnumber="$(VERSION)" -o weechat_faq.de.html $(abs_top_srcdir)/doc/de/weechat_faq.de.adoc
# quickstart
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
# install man/docs
install-data-hook: $(man_install) $(doc_install)
install-man:
$(mkinstalldirs) $(DESTDIR)$(mandir)/de/man1/
$(INSTALL_DATA) *.1 $(DESTDIR)$(mandir)/de/man1/
install-doc:
$(mkinstalldirs) $(DESTDIR)$(docdir)/
$(INSTALL_DATA) *.html $(DESTDIR)$(docdir)/
# uninstall man/docs
uninstall-hook: $(man_uninstall) $(doc_uninstall)
uninstall-man:
$(RM) $(DESTDIR)$(mandir)/de/man1/weechat.1
$(RM) $(DESTDIR)$(mandir)/de/man1/weechat-headless.1
-rmdir $(DESTDIR)$(mandir)/de/man1
uninstall-doc:
$(RM) $(DESTDIR)$(docdir)/*.de.html
-rmdir $(DESTDIR)$(docdir)
# clean
clean-local:
-$(RM) weechat.1 weechat-headless.1 weechat_*.html
@@ -1,36 +0,0 @@
//
// This file is auto-generated by script docgen.py.
// DO NOT EDIT BY HAND!
//
// tag::config_priority[]
[width="30%",cols="1,3,2",options="header"]
|===
| Rang | Datei | Priorität
| 1 | sec.conf | 120000
| 2 | weechat.conf | 110000
| 3 | plugins.conf | 100000
| 4 | charset.conf | 16000
| 5 | logger.conf | 15000
| 6 | exec.conf | 14000
| 7 | trigger.conf | 13000
| 8 | spell.conf | 12000
| 9 | alias.conf | 11000
| 10 | buflist.conf | 10000
| 11 | fifo.conf | 9000
| 12 | typing.conf | 8000
| 13 | xfer.conf | 7000
| 14 | irc.conf | 6000
| 15 | relay.conf | 5000
| 16 | guile.conf | 4070
| 17 | javascript.conf | 4060
| 18 | lua.conf | 4050
| 19 | perl.conf | 4040
| 20 | php.conf | 4030
| 21 | python.conf | 4020
| 22 | ruby.conf | 4010
| 23 | tcl.conf | 4000
| 24 | script.conf | 3000
| 25 | fset.conf | 2000
|===
// end::config_priority[]
+1 -6
View File
@@ -241,8 +241,6 @@ _sasl_scram_salted_pwd_size_   (integer) +
_sasl_scram_auth_message_   (string) +
_sasl_temp_username_   (string) +
_sasl_temp_password_   (string) +
_authentication_method_   (integer) +
_sasl_mechanism_used_   (integer) +
_is_connected_   (integer) +
_ssl_connected_   (integer) +
_disconnected_   (integer) +
@@ -280,7 +278,7 @@ _typing_allowed_   (integer) +
_reconnect_delay_   (integer) +
_reconnect_start_   (time) +
_command_time_   (time) +
_autojoin_done_   (integer) +
_reconnect_join_   (integer) +
_disable_autojoin_   (integer) +
_is_away_   (integer) +
_away_message_   (string) +
@@ -584,7 +582,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) +
@@ -709,7 +706,6 @@ _count_   (integer) +
_last_config_file_ +
| _plugin_   (pointer, hdata: "plugin") +
_priority_   (integer) +
_name_   (string) +
_filename_   (string) +
_file_   (pointer) +
@@ -927,7 +923,6 @@ _next_line_   (pointer, hdata: "line") +
| Struktur mit einzeiligen Daten
| -
| _buffer_   (pointer, hdata: "buffer") +
_id_   (integer) +
_y_   (integer) +
_date_   (time) +
_date_printed_   (time) +
@@ -60,6 +60,8 @@
| php | php_version | Version des verwendeten Interpreters | -
| python | python2_bin | Pfad zum Python 2.x Interpreter (*veraltet*, seit WeeChat Version 2.6 müssen Skripten Python3 verwenden) | -
| python | python_eval | Evaluierung des Quelltextes | Quelltext welcher ausgeführt werden soll
| python | python_interpreter | Name des verwendeten Interpreters | -
@@ -4,30 +4,26 @@
//
// tag::plugins_priority[]
[width="30%",cols="1,3,2",options="header"]
|===
| Rang | Erweiterung | Priorität
| 1 | charset | 16000
| 2 | logger | 15000
| 3 | exec | 14000
| 4 | trigger | 13000
| 5 | spell | 12000
| 6 | alias | 11000
| 7 | buflist | 10000
| 8 | fifo | 9000
| 9 | typing | 8000
| 10 | xfer | 7000
| 11 | irc | 6000
| 12 | relay | 5000
| 13 | guile | 4070
| 14 | javascript | 4060
| 15 | lua | 4050
| 16 | perl | 4040
| 17 | php | 4030
| 18 | python | 4020
| 19 | ruby | 4010
| 20 | tcl | 4000
| 21 | script | 3000
| 22 | fset | 2000
|===
. charset (16000)
. logger (15000)
. exec (14000)
. trigger (13000)
. spell (12000)
. alias (11000)
. buflist (10000)
. fifo (9000)
. typing (8000)
. xfer (7000)
. irc (6000)
. relay (5000)
. guile (4007)
. javascript (4006)
. lua (4005)
. perl (4004)
. php (4003)
. python (4002)
. ruby (4001)
. tcl (4000)
. script (3000)
. fset (2000)
// end::plugins_priority[]
+20 -46
View File
@@ -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[]
+48 -108
View File
@@ -131,7 +131,6 @@ Beispiele:
addraw <channel1>[,<channel2>...] [<key1>[,<key2>...]]
del [<channel1> [<channel2>...]]
apply
join
sort
add: Hinzufügen des aktuellen Kanals oder einer Liste von Kanälen (mit optionalen Schlüsseln) zur autojoin-Option; Wenn Sie sich in dem Kanal befinden und der Schlüssel nicht übergeben wird, wird der Schlüssel im Kanal gelesen
@@ -140,7 +139,6 @@ Beispiele:
channel: Kanalname
key: Schlüssel für den Kanal
apply: fügt die aktuell besuchten Kanäle in der autojoin-Option hinzu
join: betrete die Kanäle, die in der autojoin-Option eingetragen sind
sort: sortiert die Kanäle alphabetisch in der autojoin Option
Beispiele:
@@ -152,7 +150,6 @@ Beispiele:
/autojoin del
/autojoin del #chan1
/autojoin apply
/autojoin join
/autojoin sort
----
@@ -306,7 +303,7 @@ nick: Nick oder Maske (Platzhalter "*" kann verwendet werden)
* -yes
nick: Nick oder Maske (Platzhalter "*" kann verwendet werden)
*: entzieht allen Nicks im Kanal die Stimme
*: entzieht allen Nicks im Kanal den voice-Status
----
[[command_irc_die]]
@@ -453,16 +450,6 @@ Beispiel:
reason: Grund der Abmeldung
----
[[command_irc_knock]]
* `+knock+`: sendet eine Benachrichtigung an einen Kanal, der nur mit Einladung betreten werden kann, um eine Einladung anzufragen
----
/knock <channel> [<message>]
channel: Name des Kanals
message: Text, welcher versendet werden soll
----
[[command_irc_links]]
* `+links+`: alle Servernamen auflisten, die dem antwortenden Server bekannt sind
@@ -533,7 +520,7 @@ Kanal-Eigenschaften:
i: geschlossener Kanal (Zutritt nur mit Einladung)
t: nur Operatoren dürfen das Thema setzen
n: keine Nachrichten von außerhalb des Kanals zulassen
m: moderierter Kanal (schreiben nur mit Stimme)
m: moderierter Kanal (schreiben nur mit Voice)
l: maximale Anzahl an Usern im Kanal festlegen
b: Bannmaske für zu sperrende User (in nick!ident@host-Form)
e: legt Ausnahmemaske fest
@@ -757,12 +744,6 @@ channel: Kanalname
target: Servername
----
[[command_irc_rules]]
* `+rules+`: Fordert die Serverregeln an
----
----
[[command_irc_sajoin]]
* `+sajoin+`: fordert einen User auf einen oder mehrere Kanäle zu betreten
@@ -1016,14 +997,14 @@ target: Servername
----
[[command_irc_voice]]
* `+voice+`: Stimme an Nick(s) vergeben
* `+voice+`: Voice an Nick(s) vergeben
----
/voice <nick> [<nick>...]
* -yes
nick: Nick oder Maske (Platzhalter "*" kann verwendet werden)
*: vergibt an alle Nicks im Kanal eine Stimme
*: vergibt an alle Nicks im Kanal den voice-Status
----
[[command_irc_wallchops]]
@@ -1092,13 +1073,11 @@ target: Antwort soll auf diese Suchmaske zutreffen
add <alias> [<command>[;<command>...]]
addcompletion <completion> <alias> [<command>[;<command>...]]
del <alias> [<alias>...]
rename <alias> <new_alias>
list: listet Alternativbefehle auf (ohne Angabe von Argumenten wird diese Liste dargestellt)
add: fügt einen Alternativbefehl hinzu
addcompletion: fügt einen Alternativbefehl, mit einer benutzerdefinierten Vervollständigung, hinzu
del: entfernt einen Alternativbefehl
rename: ein Alias umbenennen
completion: Vervollständigung für Alternativbefehl: standardmäßig wird die Vervollständigung auf den Zielbefehl angewendet
Hinweis: Mit der Variablen "%%command" kann eine Vervollständigung eines vorhandenen Befehls durchgeführt werden
alias: Name des Alternativbefehls
@@ -1119,27 +1098,12 @@ Beispiele:
/alias add split /window splith
Alternativbefehl "/hallo" wird angelegt um in allen Channels, außer im #weechat Channel, den Text "Hallo" auszugeben:
/alias add hallo /allchan -exclude=#weechat hallo
alias "hallo" nach "Hallo" umbenennen:
/alias rename hello Hello
Alternativbefehl "/forcejoin" wird angelegt um den IRC Befehl "forcejoin" mit einer Vervollständigung von /sajoin auszuführen:
/alias addcompletion %%sajoin forcejoin /quote forcejoin
----
// end::alias_commands[]
// tag::weechat_commands[]
[[command_weechat_allbuf]]
* `+allbuf+`: führt einen Befehl in allen Buffern aus
----
/allbuf <Befehl>
command: Befehl der ausgeführt werden soll (oderText welcher in den Buffer gesendet werden soll, sofern dem Befehl kein '/' vorangestellt ist)
Beispiele:
setze den ungelesen Marker für alle Buffer:
/allbuf /buffer set unread
----
[[command_weechat_away]]
* `+away+`: Abwesenheitsstatus setzen oder entfernen
@@ -1216,8 +1180,6 @@ Beispiele:
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>]
@@ -1226,7 +1188,6 @@ Beispiele:
delvar <name>
set <property> [<value>]
get <property>
jump smart|last_displayed|prev_visited|next_visited
<number>|-|+|<name>
list: alle geöffneten Buffer werden aufgelistet (ohne Angabe von Argumente wird diese Liste standardmäßig ausgegeben)
@@ -1240,8 +1201,6 @@ Beispiele:
unmerge: trennt Buffer wieder voneinander, falls zwei Buffer die selbe Nummer teilen
hide: versteckt einen Buffer
unhide: macht Buffer wieder sichtbar
switch: wechselt zum nächsten zusammengeführten Buffer (oder zum vorherigen Buffer mit "-previous")
zoom: zoomen eines zusammengeführten Buffers
renumber: Buffer werden umnummeriert (Einstellung weechat.look.buffer_auto_renumber muss deaktiviert sein)
close: Buffer schließen (Nummer oder Bereich ist optional)
notify: Benachrichtigungsstufe für den aktuellen Buffer anzeigen oder einstellen. Folgende Möglichkeiten bestimmen den Grad der Benachrichtigung und ob der Buffer in der Hotlist angezeigt wird:
@@ -1255,11 +1214,6 @@ renumber: Buffer werden umnummeriert (Einstellung weechat.look.buffer_auto_renum
delvar: löscht eine lokale Variable des aktuellen Buffers
set: setzt eine Eigenschaft für den aktuellen Buffer
get: zeigt eine Eigenschaft für den aktuellen Buffer an
jump: springt zu einem anderen Buffer:
smart: nächster Buffer mit Aktivität
last_displayed: letzter angezeigter Buffer (vor dem letzten Sprung zu einem Buffer)
prev_visited: zuvor besuchter Buffer
next_visited: zum nächsten besuchten Buffer springen
number: wechselt von einem Buffer zu einem anderen, mögliche Optionen:
'+': relativer Sprung um 'n'-Buffer
'-': relativer Sprung, um 'n'-Buffer
@@ -1389,7 +1343,6 @@ Beispiele:
mouse|cursor [verbose]
hdata [free]
time <command>
unicode <string>
list: zeigt alle Erweiterungen mit Debuglevel an
set: setzt den Level der Protokollierung für eine Erweiterung
@@ -1411,13 +1364,6 @@ infolists: zeigt Information über die Infolists an
term: zeigt Informationen über das Terminal an
windows: zeigt die Fensterstruktur an
time: misst die Zeit um einen Befehl auszuführen oder um einen Text in den aktuellen Buffer zu senden
unicode: Zeigt Informationen über Unicode-Zeichen in Zeichenkette an (evaluiert, siehe /help eval)
Beispiele:
/debug set irc 1
/debug mouse verbose
/debug time /filter toggle
/debug unicode ${chars:${\u26C0}-${\u26CF}}
----
[[command_weechat_eval]]
@@ -1464,36 +1410,35 @@ Um einen Vergleich zwischen zwei Zeichenketten zu erzwingen, müssen die Ausdrü
"50" > "100" ==> 1
Einige Variablen werden im Ausdruck mittels der Formatierung ${variable} ersetzt. Mögliche Variablen sind, nach Reihenfolge ihrer Priorität:
- die Zeichenfolge selbst ohne Auswertung (Format: "raw:xxx")
- eine benutzerdefinierte Variable (Format: "name")
- eine evaluierte Teilzeichenkette (Format: "eval:xxx")
- eine evaluierte Bedingung (Format: "eval_cond:xxx")
- eine Zeichenkette mit Escapesequenzen (Format: "esc:xxx" oder "\xxx")
- eine Zeichenfolge mit einer Reihe von Zeichen (Format: "chars:xxx" oder "chars:c1-c2" wobei "xxx" von folgenden Typ sein muss: "digit", "xdigit", "lower", "upper", "alpha", "alnum")
- eine Zeichenfolge, die in Kleinbuchstaben umgewandelt wird (Format: "lower:xxx")
- eine Zeichenfolge, die in Großbuchstaben umgewandelt wird (Format: "upper:xxx")
- Zeichen, die in einer Zeichenkette nicht dargestellt werden sollen (Format: "hide:Zeichen,Zeichenkette")
- eine Zeichenkette mit einer maximalen Anzahl an Zeichen (Format: "cut:max,suffix,string" oder "cut:+max,suffix,string")
1. die Zeichenfolge selbst ohne Auswertung (Format: "raw:xxx")
2. eine benutzerdefinierte Variable (Format: "name")
3. eine evaluierte Teilzeichenkette (Format: "eval:xxx")
4. eine evaluierte Bedingung (Format: "eval_cond:xxx")
5. eine Zeichenkette mit Escapesequenzen (Format: "esc:xxx" oder "\xxx")
6. eine Zeichenfolge, die in Kleinbuchstaben umgewandelt wird (Format: "lower:xxx")
7. eine Zeichenfolge, die in Großbuchstaben umgewandelt wird (Format: "upper:xxx")
8. Zeichen, die in einer Zeichenkette nicht dargestellt werden sollen (Format: "hide:Zeichen,Zeichenkette")
9. eine Zeichenkette mit einer maximalen Anzahl an Zeichen (Format: "cut:max,suffix,string" oder "cut:+max,suffix,string")
oder maximale Anzahl an Zeichen die auf dem Bildschirm angezeigt werden sollen (Format: "cutscr:Max,Suffix,Zeichenkette oder "cutscr:+Max,Suffix,Zeichenkette")
- eine Zeichenkette umkehren (Format: "rev:xxx" oder "revscr:xxx")
- eine Zeichenkette wiederholen (Format: "repeat:Anzahl,Zeichenkette")
- Länge einer Zeichenkette (Format: "length:xxx" oder "lengthscr:xxx")
- Aufteilen einer Zeichenkette (Format: "split:Anzahl,Trennzeichen,Flags,xxx")
- Aufteilen von Shell-Argumenten (Format: "split_shell:Anzahl,xxx")
- eine Farbe (Format: "color:xxx", siehe "Anleitung für API Erweiterung", Funktion "color")
- zum modifizieren (Format: "modifier:name,data,string")
- eine Info (Format: "Info:Name,Argumente", Argumente sind optional)
- eine Basis 16/32/64 kodierte / dekodierte Zeichenfolge (Format: "base_encode:base,xxx" oder "base_decode:base,xxx")
- aktuelles Datum/Uhrzeit (Format: "date" oder "date:format")
- eine Umgebungsvariable (Format: "env:XXX")
- ein Dreifachoperand (Format: "if:Bedingung?Wert_falls_wahr:Wert_falls_unwahr")
- Ergebnis eines Ausdrucks mit Klammern und Operatoren + - * / // % ** (Format: "calc:xxx")
- eine zufällige ganze Zahl (Format: "random:min,max")
- eine übersetzte Zeichenkette (Format: "translate:xxx")
- eine Benutzervariable definieren (Format: "define:Name,Wert")
- eine Option (Format: "file.section.option")
- eine lokale Variable eines Buffers
- ein(e) hdata - Name/Variable (der Wert wird automatisch in eine Zeichenkette konvertiert), standardmäßig wird für "window" und "buffer" das aktuelle Fenster/Buffer verwendet.
10. eine Zeichenkette umkehren (Format: "rev:xxx" oder "revscr:xxx")
11. eine Zeichenkette wiederholen (Format: "repeat:Anzahl,Zeichenkette")
12. Länge einer Zeichenkette (Format: "length:xxx" oder "lengthscr:xxx")
13. Aufteilen einer Zeichenkette (Format: "split:Anzahl,Trennzeichen,Flags,xxx")
14. Aufteilen von Shell-Argumenten (Format: "split_shell:Anzahl,xxx")
15. eine Farbe (Format: "color:xxx", siehe "Anleitung für API Erweiterung", Funktion "color")
16. zum modifizieren (Format: "modifier:name,data,string")
17. eine Info (Format: "Info:Name,Argumente", Argumente sind optional)
18. eine Basis 16/32/64 kodierte / dekodierte Zeichenfolge (Format: "base_encode:base,xxx" oder "base_decode:base,xxx")
19. aktuelles Datum/Uhrzeit (Format: "date" oder "date:format")
20. eine Umgebungsvariable (Format: "env:XXX")
21. ein Dreifachoperand (Format: "if:Bedingung?Wert_falls_wahr:Wert_falls_unwahr")
22. Ergebnis eines Ausdrucks mit Klammern und Operatoren + - * / // % ** (Format: "calc:xxx")
23. eine zufällige ganze Zahl (Format: "random:min,max")
24. eine übersetzte Zeichenkette (Format: "translate:xxx")
25. eine Benutzervariable definieren (Format: "define:Name,Wert")
26. eine Option (Format: "file.section.option")
27. eine lokale Variable eines Buffers
28. ein(e) hdata - Name/Variable (der Wert wird automatisch in eine Zeichenkette konvertiert), standardmäßig wird für "window" und "buffer" das aktuelle Fenster/Buffer verwendet.
Das Format für hdata kann wie folgt aufgebaut sein:
hdata.var1.var2...: startet mit hdata (der Pointer muss bekannt sein) und fragt eine Variable nach der anderen ab (weitere hdata können folgen)
hdata[list].var1.var2...: startet hdata mittels einer Liste, zum Beispiel:
@@ -1516,8 +1461,6 @@ Beispiele (einfache Zeichenketten):
/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}} ==> --------
@@ -1649,22 +1592,6 @@ clear: löscht den Befehlsverlauf
value: Anzahl der gewünschten Einträgen im Befehlsverlauf anzeigen
----
[[command_weechat_hotlist]]
* `+hotlist+`: Hotlist verwalten
----
/hotlist add [low|message|private|highlight]
clear [<level>]
remove
restore [-all]
add: füge den aktuellen Buffer zur Hotlist (Standardlevel: "low", Bedingungen die in Option weechat.look.hotlist_add_conditions definiert sind, werden NICHT überprüft)
clear: lösche Hotlist
level: "lowest" um die niedrigste Benachrichtigungsstufe in der Hotlist zu löschen, "highest" um die höchste Benachrichtigungsstufe in der Hotlist zu löschen, oder mit einer Levelmaske: Integer aus einer Kombination von 1=join/part, 2=message, 4=private, 8=highlight)
remove: entferne aktuellen Buffer von Hotlist
restore: stellt die letzte Hotlist wieder her, die im aktuellen Buffer entfernt wurde (oder alle Buffer mit -all)
----
[[command_weechat_input]]
* `+input+`: Funktionen für die Befehlszeile
@@ -1706,10 +1633,23 @@ Auflistung der möglichen Aktionen:
history_next: ruft nächsten Befehl oder Nachricht aus dem Befehlsspeicher auf (im Such-Modus: vorwärts suchen)
history_global_previous: ruft vorherigen Befehl/Nachricht aus dem globalen Befehlsspeicher auf (für alle Buffer)
history_global_next: ruft nächsten Befehl/Nachricht aus dem globalen Befehlsspeicher auf (für alle Buffer)
jump_smart: wechselt zum nächsten Buffer mit Aktivität (nach Priorität: highlight, Nachricht, …)
jump_last_buffer_displayed: wechselt zum jeweils zuletzt angezeigten Buffer
jump_previously_visited_buffer: springt zum letzten besuchten Buffer
jump_next_visited_buffer: springt zum nächsten besuchten Buffer
hotlist_clear: löscht Hotlist (Aktivitätsanzeige für die Buffer), (optionales Argument: "lowest" löscht den niedrigsten Eintrag der Hotlist, "highest" löscht den höchsten Eintrag der Hotlist, oder eine integer Maske: eine Kombination aus 1=join/part, 2=Nachricht,4=privat,8=highlight)
hotlist_remove_buffer: entferne aktuellen Buffer von der Hotlist
hotlist_restore_buffer: Wiederherstellen der neuesten Hotlist, die im aktuellen Buffer entfernt wurde
hotlist_restore_all: Wiederherstellen der neuesten Hotlist, die in allen Buffern entfernt wurde
grab_key: fängt eine Taste (optionales Argument: Verzögerung um eine Taste einzufangen. Standard sind 500 Millisekunden)
grab_key_command: zeigt den Tastencode (inklusive des eingebundenen Befehls) einer Tastenkombination an und fügt ihn in die Befehlszeile ein (optionales Argument: Verzögerung um eine Taste einzufangen. Standard sind 500 Millisekunden)
grab_mouse: fängt den Code einer Maus Aktivität
grab_mouse_area: fängt den Code einer Maus Aktivität mit entsprechendem Bereich
set_unread: setzt für alle Buffer die Markierung der ungelesen Nachrichten
set_unread_current_buffer: setzt nur für den aktuellen Buffer eine Markierung der ungelesen Nachrichten
switch_active_buffer: springt zum nächsten zusammengefügten Buffer
switch_active_buffer_previous: springt zum vorherigen zusammengefügten Buffer
zoom_merged_buffer: zoomt in zusammengefügte Buffer
insert: fügt einen Text in die Eingabezeile ein (Escapesequenzen sind möglich, siehe /help print)
send: schickt Text an einen Buffer
paste_start: Einfügen wird gestartet (bracketed paste mode)
@@ -1811,7 +1751,7 @@ Beispiele:
Die Tastenkombination "alt-r" wird auf die Standardfunktion zurückgesetzt:
/key reset meta-r
"Tab"-Taste nutzen um im Kontext "search" die Suche innerhalb eines Buffers zu beenden:
/key bindctxt search ctrl-i /input search_stop
/key bindctxt search ctrl-I /input search_stop
Auswahl eines Nicknamens mittels mittlerer Maustaste zeigt zusätzliche Informationen zu dem Nick an:
/key bindctxt mouse @item(buffer_nicklist):button3 /msg nickserv info ${nick}
----
@@ -2650,7 +2590,7 @@ Tasten und Eingaben um Optionen im fset Buffer zu editieren:
u:xxx demarkiert Optionen welche angezeigt werden und auf die der Filter "xxx" zutrifft (jeder Filter für Option oder Wert ist erlaubt, siehe Filterung weiter oben)
weitere Tasten und Eingaben im fset Buffer:
ctrl+l der Bildschirm wird neu gezeichnet (Befehl: /fset -refresh)
ctrl+L der Bildschirm wird neu gezeichnet (Befehl: /fset -refresh)
$ Optionen neu einlesen (markierte Optionen werden beibehalten)
$$ Optionen neu einlesen (Markierungen von Optionen werden dabei gelöscht)
alt+p p Umschalten der Beschreibung von Erweiterungen (plugins.desc.*)
@@ -2660,7 +2600,7 @@ weitere Tasten und Eingaben im fset Buffer:
w:xxx exportiert Optionen in Datei "xxx"
w-:xxx exportiert Optionen in Datei "xxx", ohne Hilfstext
w+:xxx exportiert Optionen in Datei "xxx", mit Hilfstext
ctrl+x x umschalten zwischen der Darstellung von Optionen
ctrl+X x umschalten zwischen der Darstellung von Optionen
q schließt fset Buffer
Mausaktionen im fset Buffer:
@@ -8,37 +8,37 @@
|===
| Alias | Befehl | Vervollständigung
| /aaway | /allserv /away | -
| /anick | /allserv /nick | -
| /beep | /print -beep | -
| /bye | /quit | -
| /c | /buffer clear | -
| /cl | /buffer clear | -
| /close | /buffer close | -
| /chat | /dcc chat | -
| /exit | /quit | -
| /ig | /ignore | -
| /j | /join | -
| /k | /kick | -
| /kb | /kickban | -
| /leave | /part | -
| /m | /msg | -
| /mub | /unban * | -
| /msgbuf | /command -buffer $1 * /input send $2- | %(buffers_plugins_names)
| /n | /names | -
| /q | /query | -
| /redraw | /window refresh | -
| /say | /msg * | -
| /signoff | /quit | -
| /t | /topic | -
| /ub | /unban | -
| /umode | /mode $nick | -
| /v | /command core version | -
| /w | /who | -
| /wc | /window close | -
| /wi | /whois | -
| /wii | /whois $1 $1 | -
| /wm | /window merge | -
| /ww | /whowas | -
| /AAWAY | /allserv /away | -
| /ANICK | /allserv /nick | -
| /BEEP | /print -beep | -
| /BYE | /quit | -
| /C | /buffer clear | -
| /CL | /buffer clear | -
| /CLOSE | /buffer close | -
| /CHAT | /dcc chat | -
| /EXIT | /quit | -
| /IG | /ignore | -
| /J | /join | -
| /K | /kick | -
| /KB | /kickban | -
| /LEAVE | /part | -
| /M | /msg | -
| /MUB | /unban * | -
| /MSGBUF | /command -buffer $1 * /input send $2- | %(buffers_plugins_names)
| /N | /names | -
| /Q | /query | -
| /REDRAW | /window refresh | -
| /SAY | /msg * | -
| /SIGNOFF | /quit | -
| /T | /topic | -
| /UB | /unban | -
| /UMODE | /mode $nick | -
| /V | /command core version | -
| /W | /who | -
| /WC | /window close | -
| /WI | /whois | -
| /WII | /whois $1 $1 | -
| /WM | /window merge | -
| /WW | /whowas | -
|===
// end::default_aliases[]
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -100,7 +100,7 @@ $HOME/.local/share/weechat/weechat.log::
WeeChat wird programmiert von Sébastien Helleu und weiteren Beteiligten (eine vollständige Auflistung
findet man in der AUTHORS.adoc Datei).
Copyright (C) 2003-2023 {author}
Copyright (C) 2003-2022 {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
+142 -41
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::[]
@@ -50,12 +53,19 @@ https://weechat.org/about/interfaces/[remote interfaces page ^↗^,window=_blan
[[compile_git]]
=== Ich kann WeeChat nach Cloning des git Repository nicht kompilieren - weshalb?
WeeChat muss mit CMake kompiliert werden.
Es wird empfohlen link:weechat_user.de.html#compile_with_cmake[CMake ^↗^,window=_blank] zum
kompilieren von WeeChat zu nutzen.
Bitte folgen Sie link:weechat_user.en.html#source_package[build instructions ^↗^,window=_blank]
und stellen Sie sicher, dass alle erforderlichen Abhängigkeiten installiert sind.
Falls Du WeeChat mit Hilfe der
link:weechat_user.de.html#compile_with_autotools[autotools ^↗^,window=_blank] kompilieren solltest
(dich also nicht für CMake entscheidest), stelle sicher, dass Du die neueste
Version von autoconf und automake besitzt.
Wenn Sie weiterhin Probleme haben, melden Sie diese bitte den Entwicklern.
Die zweite Möglichkeit besteht darin, das "Entwickler-Paket" zu installieren, denn dies
besitzt weniger Abhängigkeiten. Das Paket wird quasi täglich aus dem git Repository erstellt.
Beachte, dass dieses Paket nicht immer exakt mit dem git Repository übereinstimmen muss
und daher auch weniger brauchbar sein kann. Im Gegensatz zu der Möglichkeit, dass man selbst
das Repository klont und daraus Updates installiert.
[[compile_macos]]
=== Wie installiere ich WeeChat auf macOS?
@@ -190,10 +200,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[buflist-Erweiterung ^↗^,window=_blank]
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
@@ -213,6 +230,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 ^↗^,window=_blank].
[[customize_buflist]]
=== Wie kann ich die Darstellung der Bufferliste anpassen, z.B. die Farbe des aktiven Buffers?
@@ -332,8 +369,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 ).
@@ -350,7 +388,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:
@@ -360,7 +399,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
@@ -372,9 +411,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
@@ -421,6 +460,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:
@@ -441,15 +482,18 @@ 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.
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 ^↗^,window=_blank]
für weitere Informationen die das Farbmanagement betreffen.
@@ -498,7 +542,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]]
@@ -675,6 +719,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:
----
@@ -732,6 +778,12 @@ Falls macOS genutzt wird,
muss mittels Homebrew `openssl` installiert werden.
Eine CA-Datei wird mittels Zertifikaten vom Systemschlüssel geladen.
Ab WeeChat ≤ 3.1 können Sie den Pfad zu Systemzertifikaten festlegen:
----
/set weechat.network.gnutls_ca_file "/usr/local/etc/openssl/cert.pem"
----
Falls Fehlermeldungen auftreten, die besagen,
dass der gnutls Handshake fehlgeschlagen ist,
sollte ein kleinerer Diffie-Hellman-Schlüssel verwendet werden (Standardgröße: 2048):
@@ -761,8 +813,8 @@ 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"
@@ -771,8 +823,23 @@ muss "xxx" durch den betroffenen Servernamen ersetzt werden:
[[irc_ssl_libera]]
=== Wie kann ich eine SSL gesicherte Verbindung zum libera Server herstellen?
Überprüfen Sie, ob auf Ihrem System Zertifikate installiert sind. Dies wird häufig
durch das Paket "ca-certificates" bereitgestellt.
Ab WeeChat ≤ 3.1 kann mit der Option _weechat.network.gnutls_ca_file_ eine Datei mit
Zertifikaten ausgewählt werden:
----
/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:
@@ -836,8 +903,8 @@ Für einen einzelnen Server:
/set irc.server.libera.autojoin_dynamic on
----
Sie können den aktuellen Kanal auch in der Serveroption "autojoin" hinzufügen, indem
Sie den `/autojoin`-Befehl nutzen:
Ab WeeChat ≥ 3.5 kann man mit dem `/autojoin` Befehl den
aktuellen Kanal in die Serveroption autojoin hinzufügen:
----
/autojoin add
@@ -849,7 +916,28 @@ oder einen beliebigen Kanal:
/autojoin add #test
----
Es existieren aber auch Skripten:
Bis WeeChat ≤ 3.4, wird der `/set` Befehl verwendet, um die
Liste der autojoin-Kanäle zu editieren. In folgendem Beispiel
wird der "libera"-Server angepasst:
----
/set irc.server.libera.autojoin [TAB]
----
[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 Kanäle neu geschrieben werden.
Es kann auch der `/fset` Befehl verwendet werden, um die Liste der Kanäle
zu editieren:
----
/fset autojoin
----
Bis WeeChat ≤ 3.4 kann man auch ein Skript nutzen:
----
/script search autojoin
@@ -905,11 +993,12 @@ 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].
[[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 Kanal 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 Kanals 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.
@@ -973,13 +1062,18 @@ Teilnehmer haben:
/set irc.server_default.away_check_max_nicks 25
----
[NOTE]
Für WeeChat ≤ 0.3.3, lauten die Optionen _irc.network.away_check_ und
_irc.network.away_check_max_nicks_.
[[highlight_notification]]
=== Wie kann ich mich benachrichtigen lassen, falls mich jemand in einem Kanal direkt anspricht (highlight)?
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.
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:
@@ -1005,9 +1099,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 ^↗^,window=_blank]
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:
@@ -1043,7 +1139,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
@@ -1063,8 +1159,9 @@ 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.
@@ -1081,7 +1178,7 @@ $ rm ~/.cache/weechat/script/plugins.xml.gz
----
[NOTE]
Wenn Sie die XDG-Verzeichnisse nicht verwenden, könnte der Pfad lauten: _~/.weechat/script/plugins.xml.gz_.
Ab WeeChat ≤ 3.1, sollte der Pfad: _~/.weechat/script/plugins.xml.gz_ lauten.
Danach sollte man noch einmal versuchen die Datei herunter zu laden:
@@ -1123,6 +1220,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
+9 -15
View File
@@ -144,6 +144,10 @@ Liste ist nicht vollständig):
|===
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.
[[language_perl]]
==== Perl
@@ -201,21 +205,11 @@ Funktionen werden aufgerufen mittels `+weechat.xxx(arg1, arg2, ...)+`.
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].
Da Tcl nur String-Typen hat, gibt es keinen Null-Typ, der als Argument übergeben werden kann
wenn eine Funktion Nullwerte akzeptiert. Um dies zu überwinden, können Sie die Konstante
`$::weechat::WEECHAT_NULL` verwenden, das als Nullwert fungiert. Diese Konstante ist definiert
als `\uFFFF\uFFFF\uFFFFWEECHAT_NULL\uFFFF\uFFFF\uFFFF`, es ist somit sehr unwahrscheinlich
das es ungewollt verwendet wird.
[[language_guile]]
==== Guile (Scheme)
+191 -213
View File
@@ -100,7 +100,7 @@ Repositorium.
[[source_package]]
=== Quellpakete
WeeChat muss mit CMake erstellt werden.
WeeChat kann mittels CMake oder autotools kompiliert werden (CMake sollte dabei die bevorzugte Methode sein).
[NOTE]
Unter macOS kann https://brew.sh/[Homebrew ^↗^,window=_blank] verwendet werden:
@@ -109,18 +109,18 @@ Unter macOS kann https://brew.sh/[Homebrew ^↗^,window=_blank] verwendet werde
[[dependencies]]
==== Abhängigkeiten
Die folgende Tabelle zeigt eine Auflistung der Pakete, die zum Erstellen von WeeChat
*erforderlich* sind:
Die folgende Tabelle zeigt die Liste der Pakete, die zum Kompilieren von
WeeChat *erforderlich* sind:
[width="100%",cols="5,^3,.^15",options="header"]
|===
| Paket ^(1)^ | Version | Funktionen
| C Kompiler (gcc / clang) |
| kompiliert C Quelldaten.
| C compiler (gcc / clang) |
| zum Erstellen der Binärdatei.
| cmake | ≥ 3.0
| bauen.
| zum kompilieren (autotools ist möglich. CMake wird aber empfohlen).
| pkg-config |
| entdeckt installierte Bibliotheken.
@@ -168,7 +168,7 @@ WeeChat optional sind:
| gettext | | Internationalisierung (Übersetzung der Mitteilungen; Hauptsprache ist englisch).
| ca-certificates | | Zertifikate für SSL Verbindungen.
| libaspell-dev / libenchant-dev | | Spell Erweiterung.
| python3-dev | ≥ 3.0 | Python Erweiterung.
| python3-dev ^(2)^ | | Python Erweiterung.
| libperl-dev | | Perl Erweiterung.
| ruby2.7, ruby2.7-dev | ≥ 1.9.1 | Ruby Erweiterung.
| liblua5.4-dev | | Lua Erweiterung.
@@ -187,7 +187,9 @@ WeeChat optional sind:
[NOTE]
^(1)^ Der Name stammt von der Debian GNU/Linux Bullseye-Distribution,
Version und Name können in anderen Distributionen anders lauten.
Version und Name können in anderen Distributionen anders lauten. +
^(2)^ standardmäßig wird Python 3.x verwendet. Wird die Option `+ENABLE_PYTHON2+` aktiviert
(siehe unten), sollte die Version 2.7 von Python genutzt werden.
Falls eine Debian/Ubuntu basierte Distribution genutzt wird und man einen
"deb-src" Quelleintrag in _/etc/apt/sources.list_ eingetragen hat, dann ist
@@ -198,8 +200,8 @@ installieren:
# apt-get build-dep weechat
----
[[build]]
==== Erstellen
[[compile_with_cmake]]
==== Kompilieren mit CMake
* Installation in das Systemverzeichnis (benötigt _root_ Privilegien):
@@ -303,6 +305,9 @@ Liste von häufig verwendeten Optionen:
| ENABLE_PYTHON | `ON`, `OFF` | ON
| kompiliert <<scripting_plugins,Python Erweiterung>>.
| ENABLE_PYTHON2 | `ON`, `OFF` | OFF
| kompiliert <<scripting_plugins,Python Erweiterung>> nutzt Python 2 anstelle von Python 3.
| ENABLE_RELAY | `ON`, `OFF` | ON
| kompiliert <<relay,Relay Erweiterung>>.
@@ -351,21 +356,59 @@ oder mittels der Curses-Oberfläche:
$ ccmake ..
----
[[tests]]
==== Tests
[[compile_with_autotools]]
==== Kompilieren mit autotools
[WARNING]
Ausschließlich das Kompilieren mittels CMake wird offiziell unterstützt. Autotools
sollte nur verwendet werden, falls man keine Möglichkeit hat CMake zu nutzen. +
Für die Erstellung mittels autotools werden zusätzliche Pakete benötigt und es ist
zeitintensiver als CMake.
* Installation in das Systemverzeichnis (benötigt _root_ Privilegien):
----
$ ./autogen.sh
$ mkdir build
$ cd build
$ ../configure
$ make
$ sudo make install
----
* Installation in ein benutzerdefiniertes Verzeichnis (zum Beispiel ins Heimatverzeichnis):
----
$ ./autogen.sh
$ mkdir build
$ cd build
$ ../configure --prefix=/Pfad/zum/Verzeichnis
$ make
$ make install
----
Die Optionen können auch für das _configure_ Skript verwendet und mittels
folgendem Befehl angezeigt werden:
----
$ ./configure --help
----
[[run_tests]]
==== Tests ausführen
Folgende Pakete werden *benötigt* um Tests zu kompilieren:
* libcpputest-dev
* C++ compiler
Tests muss aktiviert werden wenn WeeChat kompiliert wird:
Tests muss aktiviert werden wenn WeeChat kompiliert wird (mittels CMake):
----
$ cmake .. -DENABLE_TESTS=ON
----
Nach der Kompilierung wird die Testumgebung im build-Verzeichnis ausgeführt:
Nach der Kompilierung wird die Testumgebung im build-Verzeichnis (bei CMake) ausgeführt:
----
$ ctest -V
@@ -529,6 +572,77 @@ Sollte WeeChat abgestürzt sein, muss der Befehl `bt full` genutzt werden:
(gdb) bt full
----
[[upgrade]]
== Upgrade
Wenn eine neue stabile Version von WeeChat veröffentlicht wird, ist es Zeit
auf diese neue Version zu wechseln.
Zunächst müssen Sie die neue WeeChat Version als Binärdatei installieren.
Entweder installieren Sie WeeChat mittels Ihrem Paketmanager oder Sie
kompilieren WeeChat selber. Dadurch befindet sich die `weechat`-Binärdatei
und alle erforderlichen Dateien in den selben Pfaden. +
Diese Installation kann durchgeführt werden, während WeeChat ausgeführt wird.
[[upgrade_command]]
=== Upgrade Befehl
WeeChat kann die neue Binärdatei mit Hilfe des <<command_weechat_upgrade,/upgrade>>
Befehls starten: der Bufferinhalt und nicht-SSL Verbindungen bleiben dabei erhalten. +
Eine SSL-Verbindung wird während des Upgrades getrennt und wird automatisch,
nach dem Beenden des Upgrades, wiederhergestellt (das aufrechterhalten einer
SSL-Sitzungen ist derzeit, mit GnuTLS, nicht möglich).
Der Befehl kann auch verwendet werden, wenn Sie den Computer neu starten müssen,
z.B. um den Kernel zu aktualisieren oder WeeChat auf einen anderen Computer zu verschieben:
----
/upgrade -quit
----
Dies speichert den aktuellen Status in `*.upgrade`-Dateien. Sie können dann entweder
die gesamten WeeChat-Verzeichnisse (Konfiguration, Daten, Cache) neu starten oder auf
einen anderen Computer verschieben und WeeChat später mit diesem Befehl neu starten:
----
$ weechat --upgrade
----
[[restart_after_upgrade]]
=== Neustart nach Upgrade
[[restart_release_notes]]
==== Versionshinweise
Nach einem Upgrade wird *dringend empfohlen* die,
https://weechat.org/files/releasenotes/ReleaseNotes-devel.html[Versionshinweise ^↗^,window=_blank]
zu lesen, denn dort sind wichtige Informationen zu Änderungen enthalten und ob
eventuell ein manuelles Eingreifen erforderlich sein könnte.
Sie müssen die Versionshinweise aller Versionen zwischen Ihrer alten (abgelaufenen)
und Ihrer neuen Version (enthalten) lesen. +
Wenn Sie beispielsweise von Version 3.0 auf 3.2 wechseln, müssen Sie die Versionshinweise
der Versionen 3.1 und 3.2 lesen.
[[restart_configuration_upgrade]]
==== Konfigurations-Upgrade
WeeChat hat ein automatisches Upgrade für Konfigurationsdateien (`*.conf`):
* Neue Optionen werden stillschweigend mit dem Standardwert hinzugefügt
* Veraltete Optionen werden automatisch verworfen. WeeChat zeigt eine Warnung,
mit dem Wert der eingestellt war, im Core-Buffer, an.
Beispiel für eine Warnung, wenn eine Option entfernt wurde:
----
=!= Warnung: /home/user/.config/weechat/sec.conf, Zeile 15: unbekannte Einstellung für Sektion "crypt": passphrase_file = ""
----
Das bedeutet, dass die Option "sec.crypt.passphrase_file" entfernt wurde und der
Wert für diese Option eine leere Zeichenkette war. Dies war der Standardwert in
der vorherigen Version (in diesem Fall ist kein manuelles Eingreifen erforderlich).
[[running_weechat]]
== WeeChat starten
@@ -632,11 +746,11 @@ verwendet und festgelegt:
[width="100%",cols="1,2m,5",options="header"]
|===
| Verzeichnis | Standardwert | Ersatzverzeichnis, falls $XDG_XXX nicht definiert wurde
| Konfiguration | $XDG_CONFIG_HOME/weechat | `$HOME/.config/weechat`
| Daten | $XDG_DATA_HOME/weechat | `$HOME/.local/share/weechat`
| Cache | $XDG_CACHE_HOME/weechat | `$HOME/.cache/weechat`
| Laufzeit | $XDG_RUNTIME_DIR/weechat | Wie beim _Cache_ Verzeichnis
| Verzeichnis | Standardwert | Fallback-Wert
| Konfiguration| $XDG_CONFIG_HOME/weechat | `$HOME/.config/weechat` falls `$XDG_CONFIG_HOME` nicht definiert oder leer ist.
| Daten | $XDG_DATA_HOME/weechat | `$HOME/.local/share/weechat` falls `$XDG_DATA_HOME` nicht definiert oder leer ist.
| Cache | $XDG_CACHE_HOME/weechat | `$HOME/.cache/weechat` falls `$XDG_CACHE_HOME` nicht definiert oder leer ist.
| Laufzeit | $XDG_RUNTIME_DIR/weechat | Wie beim _Cache_ Verzeichnis, falls `$XDG_RUNTIME_DIR` nicht definiert oder leer ist.
|===
Die Konfigurationsdateien werden beim ersten Ausführen von WeeChat mit Standardwerten erstellt.
@@ -721,77 +835,6 @@ bevor man diese ggf. gesichert hat <<command_weechat_save,/save>>). +
Man sollte immer den <<command_weechat_set,/set>> Befehl nutzen, da der Befehl die
Eingabe prüft und Änderungen sofort wirksam werden.
[[upgrade]]
== Upgrade
Wenn eine neue stabile Version von WeeChat veröffentlicht wird, ist es Zeit
auf diese neue Version zu wechseln.
Zunächst müssen Sie die neue WeeChat Version als Binärdatei installieren.
Entweder installieren Sie WeeChat mittels Ihrem Paketmanager oder Sie
kompilieren WeeChat selber. Dadurch befindet sich die `weechat`-Binärdatei
und alle erforderlichen Dateien in den selben Pfaden. +
Diese Installation kann durchgeführt werden, während WeeChat ausgeführt wird.
[[upgrade_command]]
=== Upgrade Befehl
WeeChat kann die neue Binärdatei mit Hilfe des <<command_weechat_upgrade,/upgrade>>
Befehls starten: der Bufferinhalt und nicht-SSL Verbindungen bleiben dabei erhalten. +
Eine SSL-Verbindung wird während des Upgrades getrennt und wird automatisch,
nach dem Beenden des Upgrades, wiederhergestellt (das aufrechterhalten einer
SSL-Sitzungen ist derzeit, mit GnuTLS, nicht möglich).
Der Befehl kann auch verwendet werden, wenn Sie den Computer neu starten müssen,
z.B. um den Kernel zu aktualisieren oder WeeChat auf einen anderen Computer zu verschieben:
----
/upgrade -quit
----
Dies speichert den aktuellen Status in `*.upgrade`-Dateien. Sie können dann entweder
die gesamten WeeChat-Verzeichnisse (Konfiguration, Daten, Cache) neu starten oder auf
einen anderen Computer verschieben und WeeChat später mit diesem Befehl neu starten:
----
$ weechat --upgrade
----
[[restart_after_upgrade]]
=== Neustart nach Upgrade
[[restart_release_notes]]
==== Versionshinweise
Nach einem Upgrade wird *dringend empfohlen* die,
https://weechat.org/files/releasenotes/ReleaseNotes-devel.html[Versionshinweise ^↗^,window=_blank]
zu lesen, denn dort sind wichtige Informationen zu Änderungen enthalten und ob
eventuell ein manuelles Eingreifen erforderlich sein könnte.
Sie müssen die Versionshinweise aller Versionen zwischen Ihrer alten (abgelaufenen)
und Ihrer neuen Version (enthalten) lesen. +
Wenn Sie beispielsweise von Version 3.0 auf 3.2 wechseln, müssen Sie die Versionshinweise
der Versionen 3.1 und 3.2 lesen.
[[restart_configuration_upgrade]]
==== Konfigurations-Upgrade
WeeChat hat ein automatisches Upgrade für Konfigurationsdateien (`*.conf`):
* Neue Optionen werden stillschweigend mit dem Standardwert hinzugefügt
* Veraltete Optionen werden automatisch verworfen. WeeChat zeigt eine Warnung,
mit dem Wert der eingestellt war, im Core-Buffer, an.
Beispiel für eine Warnung, wenn eine Option entfernt wurde:
----
=!= Warnung: /home/user/.config/weechat/sec.conf, Zeile 15: unbekannte Einstellung für Sektion "crypt": passphrase_file = ""
----
Das bedeutet, dass die Option "sec.crypt.passphrase_file" entfernt wurde und der
Wert für diese Option eine leere Zeichenkette war. Dies war der Standardwert in
der vorherigen Version (in diesem Fall ist kein manuelles Eingreifen erforderlich).
[[interface]]
== Schnittstelle
@@ -884,7 +927,7 @@ In der _input_ Bar lautet die Standardeinstellung:
| input_prompt | `[@Flashy(i)]` | Input prompt, für irc: Nick und Modi (Modus "+i" bedeutet auf libera, unsichtbar).
| away | `(away)` | Abwesenheitsanzeige.
| input_search | `[Search (~ str,msg)]` | Suchindikatoren ("`~`": Groß-und Kleinschreibung ignorieren, "`==`": Groß-und Kleinschreibung berücksichtigen, "`str`": einfache Textsuche, "`regex`": suche mit regulären Ausdrücken, "`msg`": Suche in Nachrichten, "`pre`": Suche in Präfix, "`pre\|msg`": Suche in Präfix und Nachrichten).
| input_paste | `[Paste 7 lines ? [ctrl-y] Ja [ctrl-n] Nein]` | Nachfrage ob sieben Zeilen eingefügt werden sollen.
| input_paste | `[Paste 7 lines ? [ctrl-Y] Ja [ctrl-N] Nein]` | Nachfrage ob sieben Zeilen eingefügt werden sollen.
| input_text | `hi peter!` | Text der eingegeben wird.
|===
@@ -1548,9 +1591,9 @@ Sie können mit dem Befehl <<command_weechat_key,/key>> geändert und neue hinzu
|===
| Taste | Beschreibung | Befehl
| kbd:[Ctrl+r] | Textsuche im Verlaufsspeicher des Buffers (siehe <<key_bindings_search_context,Tasten für Such-Kontext>>). | `+/input search_text_here+`
| kbd:[Ctrl+s], kbd:[Ctrl+u] | setzt für alle Buffer die Markierung für ungelesene Nachrichten. | `+/allbuf /buffer set unread+`
| kbd:[Ctrl+x] | Wechseln Sie den aktuellen Buffer, wenn diese zusammengefügt worden sind, z.B. zwischen IRC-Serverbuffer wechseln. | `+/buffer switch+`
| kbd:[Alt+x] | Zoom eines zusammengefügten Buffers (kbd:[Alt+x] ein zweites mal: alle zusammengefügten Buffer werden angezeigt). | `+/buffer zoom+`
| kbd:[Ctrl+s], kbd:[Ctrl+u] | setzt für alle Buffer die Markierung für ungelesene Nachrichten. | `+/input set_unread+`
| kbd:[Ctrl+x] | Wechseln Sie den aktuellen Buffer, wenn diese zusammengefügt worden sind, z.B. zwischen IRC-Serverbuffer wechseln. | `+/input switch_active_buffer+`
| kbd:[Alt+x] | Zoom eines zusammengefügten Buffers (kbd:[Alt+x] ein zweites mal: alle zusammengefügten Buffer werden angezeigt). | `+/input zoom_merged_buffer+`
| kbd:[PgUp] | eine Seite im Verlaufsspeicher des Buffers nach oben blättern. | `+/window page_up+`
| kbd:[PgDn] | eine Seite im Verlaufsspeicher des Buffer nach unten blättern. | `+/window page_down+`
| kbd:[Alt+PgUp] | einige Zeilen im Verlaufsspeicher des Buffer nach oben blättern. | `+/window scroll_up+`
@@ -1574,9 +1617,9 @@ Sie können mit dem Befehl <<command_weechat_key,/key>> geändert und neue hinzu
| kbd:[Alt+n] | springt zur nächsten Highlight Nachricht. | `+/window scroll_next_highlight+`
| kbd:[Alt+p] | springt zur vorherigen Highlight Nachricht. | `+/window scroll_previous_highlight+`
| kbd:[Alt+u] | springt zur ersten ungelesenen Zeile im Buffer. | `+/window scroll_unread+`
| kbd:[Alt+<] | springt zum letzten besuchten Buffer. | `+/buffer jump prev_visited+`
| kbd:[Alt+>] | springt zum nächsten besuchten Buffer. | `+/buffer jump next_visited+`
| kbd:[Alt+/] | wechselt zum jeweils zuletzt angezeigten Buffern. | `+/buffer jump last_displayed+`
| kbd:[Alt+<] | springt zum letzten besuchten Buffer. | `+/input jump_previously_visited_buffer+`
| kbd:[Alt+>] | springt zum nächsten besuchten Buffer. | `+/input jump_next_visited_buffer+`
| kbd:[Alt+/] | wechselt zum jeweils zuletzt angezeigten Buffern. | `+/input jump_last_buffer_displayed+`
|===
[[key_bindings_windows]]
@@ -1628,11 +1671,11 @@ Sie können mit dem Befehl <<command_weechat_key,/key>> geändert und neue hinzu
[width="100%",cols="^.^3,.^8,.^5",options="header"]
|===
| Taste | Beschreibung | Befehl
| kbd:[Alt+a] | wechselt zum nächsten Buffer mit Aktivität (nach Priorität: highlight, Nachricht, ...). | `+/buffer jump smart+`
| kbd:[Alt+h], kbd:[Alt+c] | Hotlist löschen (Aktivitätsbenachrichtigung bei Buffern). | `+/hotlist clear+`
| kbd:[Alt+h], kbd:[Alt+m] | Aktuellen Puffer aus Hotlist entfernen. | `+/hotlist remove+`
| kbd:[Alt+h], kbd:[Alt+r] | stelle die letzte aus dem aktuellen Buffer entfernte Hotlist wieder her. | `+/hotlist restore+`
| kbd:[Alt+h], kbd:[Alt+Shift+R] | stelle die neueste Hotlist wieder her, die in allen Buffern entfernt wurde. | `+/hotlist restore -all+`
| kbd:[Alt+a] | wechselt zum nächsten Buffer mit Aktivität (nach Priorität: highlight, Nachricht, ...). | `+/input jump_smart+`
| kbd:[Alt+h], kbd:[Alt+c] | Hotlist löschen (Aktivitätsbenachrichtigung bei Buffern). | `+/input hotlist_clear+`
| kbd:[Alt+h], kbd:[Alt+m] | Aktuellen Puffer aus Hotlist entfernen. | `+/input hotlist_remove_buffer+`
| kbd:[Alt+h], kbd:[Alt+r] | stelle die letzte aus dem aktuellen Buffer entfernte Hotlist wieder her. | `+/input hotlist_restore_buffer+`
| kbd:[Alt+h], kbd:[Alt+Shift+R] | stelle die neueste Hotlist wieder her, die in allen Buffern entfernt wurde. | `+/input hotlist_restore_all+`
|===
[[key_bindings_toggle_keys]]
@@ -1709,7 +1752,7 @@ wurde (Befehl: `+/mouse toggle+`).
| ◾◽◽ | links | Chat | zum vorherigen Buffer springen. | `+/window ${_window_number};/buffer +1+`
| ◾◽◽ | rechts | Chat | zum nächsten Buffer springen. | `+/window ${_window_number};/buffer +1+`
| ◾◽◽ | links(lang) | Chat | wechselt zum ersten Buffer. | `+/window ${_window_number};/buffer 1+`
| ◾◽◽ | rechts(lang) | Chat | wechselt zum letzten Buffer. | `+/window ${_window_number};/buffer ++`
| ◾◽◽ | rechts(lang) | Chat | wechselt zum letzten Buffer. | `+/window ${_window_number};/input jump_last_buffer+`
| kbd:[▲] | - | Chat | mehrere Zeilen im Verlaufsspeicher des Buffer nach oben blättern. | `+/window scroll_up -window ${_window_number}+`
| kbd:[▼] | - | Chat | mehrere Zeilen im Verlaufsspeicher des Buffer nach unten blättern. | `+/window scroll_down -window ${_window_number}+`
| kbd:[Ctrl+▲] | - | Chat | horizontal, nach links scrollen. | `+/window scroll_horiz -window ${_window_number} -10%+`
@@ -1956,13 +1999,11 @@ Beispiel:
Er ist möglich einer Farbe ein Attribut hinzuzufügen. Dazu wird dem
Farbnamen oder der Farbnummer ein- oder mehrere Attribute vorangestellt.
* `+%+`: blinken
* `+.+`: "dim" (halb hell)
* `+*+` : fett
* `+!+` : invertierte Darstellung
* `+/+` : kursiven
* `+_+` : unterstrichen
* `+|+`: Attribute beibehalten: blinken/dim/fett/invertierte Darstellung/kursiv/unterstrichen nicht zurücksetzen, wenn die Farbe geändert wird
* `+|+` : behält Attribut bei: fett, invertierte Darstellung, Unterstrichen wird beim Farbwechsel nicht zurückgesetzt
Um zum Beispiel dem eigenen Nick die Farbe weiß und unterstrichen
zuzuordnen:
@@ -2203,7 +2244,7 @@ Zum Beispiel, Nachrichten die eine Hervorhebung besitzen, wo die Nachricht
mit "flash" zwischen spitzen Klammern beginnt:
----
/set weechat.look.highlight_disable_regex "<flash.*>"
/set weechat.look.highlight_regex "<flash.*>"
----
Dies kann auch mit der Buffereigenschaft „highlight_disable_regex“ eingestellt werden.
@@ -4907,119 +4948,22 @@ ${tg_displayed} && (${tg_highlight} || ${tg_msg_pv})
----
[[trigger_regex]]
=== Reguläre Ausdrücke
=== reguläre Ausdrücke
Der reguläre Ausdruck wird verwendet, um Variablen in der Callback-Hashtabelle zu ändern.
Reguläre Ausdrücke werden verwendet um Variablen in einem Callback Hashtable zu ändern.
Format ist eines der folgenden:
Das Format ist: "/regex/replace" oder "/regex/replace/var" (wobei _var_ eine
Variable eines Hashtable darstellt).
----
/string1/string2
/string1/string2/var
s/string1/string2
s/string1/string2/var
y/string1/string2
y/string1/string2/var
----
Falls _var_ in der Hashtabelle nicht existieren sollte, wird diese automatisch mit einem
leeren Wert angelegt. Damit kann man temporär benutzerspezifische Variablen erstellen.
Felder:
* `s` oder `y`: ein Buchstabe mit dem Befehl; falls nicht vorhanden, ist der Standardbefehl `s`
und das erste Zeichen wird dann als Trennzeichen verwendet:
** `s`: Regex-Ersetzung: Die erste Zeichenfolge ist ein regulärer Ausdruck, die zweite Zeichenfolge
ist der Ersatz für jede passende Zeichenfolge
** `y`: Zeichenübersetzung: Die erste Zeichenfolge ist eine Reihe von Zeichen, die ersetzt werden
durch die Zeichen in der zweiten Zeichenfolge; einmal ausgewertet, muss jeder String haben
genau die gleiche Anzahl von UTF-8-Zeichen
* `/`: das Regex-Trennzeichen; das Zeichen "/" kann durch ein beliebiges Zeichen ersetzt werden
(ein oder mehrere identische Zeichen)
* `string1`: die erste Zeichenkette (Verwendung ist abhängig vom Befehl)
* `string2`: die zweite Zeichenkette (Verwendung ist abhängig vom Befehl)
* `var`: die zu aktualisierende Hashtable-Variable
Mehrere reguläre Ausdrücke können durch ein Leerzeichen getrennt werden, zum Beispiel:
----
s/regex1/replace1/var1 y/abcdef/ABDDEF/var2
----
[[trigger_regex_replace]]
==== Regex ersetzen
Für den Befehl `s` ist das Format: `s/regex/replace` oder `s/regex/replace/var`
(wobei _var_ eine Variable der Hashtabelle ist).
Da `s` der Standardbefehl ist, kann dieser weggelassen werden, also ist es auch `/regex/replace`
gültig (aber das erste Zeichen, das das Trennzeichen ist, darf kein Buchstabe sein).
Zutreffende Gruppen können in _replace_ verwendet werden:
* `+${re:0}+` nach `+${re:99}+`: `+${re:0}+` ist die ganze Trefferanzahl, `+${re:1}+` nach
`+${re:99}+` sind als Gruppen erfasst.
* `+${re:+}+`: das letzte Treffer (mit der höchsten Zahl)
* `+${hide:c,${re:N}}+`: Treffer "N" mit allen Zeichen die durch "c" ersetzt wurden
(Beispiele: `+${hide:*,${re:2}}+` ist die Gruppe #2, mit allen Zeichen die durch
`+*+` ersetzt wurden).
Beispiel: Verwenden Sie Fettschrift für Wörter zwischen `+*+`:
----
s/\*([^ ]+)\*/*${color:bold}${re:1}${color:-bold}*/
----
Beispiel: Der Standardtrigger _server_pass_ verwendet diesen regulären Ausdruck zum Ausblenden
des Passwortes in den Befehlen `/server` und `/connect` (Zeichen in Passwörtern werden ersetzt
durch `+*+`):
----
s==^(/(server|connect) .*-(sasl_)?password=)([^ ]+)(.*)==${re:1}${hide:*,${re:4}}${re:5}
----
[NOTE]
In diesem Beispiel ist das verwendete Trennzeichen "==", da ein "/" in dem
regulären Ausdruck vorhanden ist.
[[trigger_regex_translate_chars]]
==== Zeichen ersetzen
Für den Befehl „y“ ist das Format: „y/chars1/chars2“ oder „y/chars1/chars2/var“.
(wobei _var_ eine Variable der Hashtabelle ist).
Beispiel: ersetze "a", "b" und "c" durch Großbuchstaben:
----
y/abc/ABC/
----
Beispiel: rotiere Pfeile im Uhrzeigersinn:
----
y/←↑→↓/↑→↓←/
----
Beispiel: konvertiere alle Zeichen in Kleinbuchstaben:
----
y/${chars:upper}/${chars:lower}/
----
Beispiel: verschiebt jeden Buchstaben um eine Position, wobei die Groß- und Kleinschreibung erhalten bleibt: a→b, b→c … y→z, z→a:
----
y/${chars:a-z}${chars:A-Z}/${chars:b-z}a${chars:B-Z}A/
----
[[trigger_regex_variable]]
==== Variablen
Wenn _var_ nicht in der Hashtabelle vorhanden ist, wird es automatisch mit einem
leerer Wert erstellt. Dies ermöglicht das Erstellen benutzerdefinierter temporärer Variablen.
Wenn _var_ nicht angegeben ist, wird die Standardvariable verwendet, sie hängt vom Hook-Typ ab:
Sollte _var_ nicht näher spezifiziert sein, wird die Standard-Variable genutzt,
welche abhängig von dem genutzten Hook ist:
[width="100%",cols="2,3,7",options="header"]
|===
| Hook | Standard-Variable | Update erlaubt ^(1)^
| Hook | Standard-Variable | Update allowed ^(1)^
| signal | tg_signal_data |
| hsignal | |
| modifier | tg_string | tg_string
@@ -5039,6 +4983,40 @@ Wenn _var_ nicht angegeben ist, wird die Standardvariable verwendet, sie hängt
haben einen Einfluss auf den Wert der vom Trigger zurückgegeben wird und dann von
WeeChat genutzt wird.
Mehrere reguläre Ausdrücke können durch ein Leerzeichen voneinander
getrennt werden, zum Beispiel:
"/regex1/replace1/var1 /regex2/replace2/var2".
Das Zeichen "/" kann durch jedes andere Zeichen ersetzt werden (ein
oder mehrere identische Zeichen).
Matching groups können in "replace" genutzt werden:
* `+${re:0}+` bis `+${re:99}+`: `+${re:0}+` um alles zu matchen, `+${re:1}+` bis
`+${re:99}+` um Gruppen zu fangen
* `+${re:+}+`: der letzte match (mit der höchsten Nummer)
* `+${hide:c,${re:N}}+`: match "N" mit allen Zeichen die durch "c" ersetzt wurden
(Beispiel: `+${hide:*,${re:2}}+` ist die group #2 mit allen Zeichen die durch
`+*+` ersetzt wurden).
Beispiel: nutzte Fettschrift zwischen dem Zeichen `+*+`:
----
/\*([^ ]+)\*/*${color:bold}${re:1}${color:-bold}*/
----
Beispiel: der Standard-Trigger _server_pass_ nutzt folgenden regulären Ausdruck
um ein Passwort in den Befehlen `/server` und `/connect` zu verbergen (die
einzelnen Zeichen des Passwortes werden durch `+*+` ersetzt):
----
==^(/(server|connect) .*-(sasl_)?password=)([^ ]+)(.*)==${re:1}${hide:*,${re:4}}${re:5}
----
[NOTE]
In diesem Beispiel wird "==" als Trennzeichen verwendet, da ein "/" in
dem regulären Ausdruck genutzt wird.
[[trigger_command]]
=== Befehl
+13 -58
View File
@@ -1,6 +1,6 @@
#!/usr/bin/env python3
#
# Copyright (C) 2008-2023 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2008-2022 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
@@ -29,8 +29,7 @@ Documentation generator for WeeChat: build include files with:
- hdata
- completions
- URL options
- plugins priority
- config files priority.
- plugins priority.
Instructions to build config files yourself in WeeChat directories
(replace "path" with the path to the docgen.py script in WeeChat repository):
@@ -453,25 +452,6 @@ class WeechatDoc(): # pylint: disable=too-few-public-methods
weechat.infolist_free(infolist)
return plugins_priority
@staticmethod
def _read_api_config_priority():
"""
Get priority of default configuration files as a dictionary.
"""
config_priority = {}
ptr_hdata = weechat.hdata_get('config_file')
ptr_config = weechat.hdata_get_list(ptr_hdata, 'config_files')
while ptr_config:
name = weechat.hdata_string(ptr_hdata, ptr_config, 'name')
config_name = f'{name}.conf'
priority = weechat.hdata_integer(ptr_hdata, ptr_config, 'priority')
if priority in config_priority:
config_priority[priority].append(config_name)
else:
config_priority[priority] = [config_name]
ptr_config = weechat.hdata_move(ptr_hdata, ptr_config, 1)
return config_priority
class AutogenDoc():
"""A class to write auto-generated doc files."""
@@ -633,21 +613,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]',
@@ -825,30 +799,11 @@ class AutogenDoc():
"""Write plugins priority."""
self.write()
self.write('// tag::plugins_priority[]')
self.write('[width="30%",cols="1,3,2",options="header"]')
self.write('|===')
self.write('| %s | %s | %s',
_('Rank'), _('Plugin'), _('Priority'))
for i, priority in enumerate(sorted(plugins_priority, reverse=True)):
for priority in sorted(plugins_priority, reverse=True):
plugins = ', '.join(sorted(plugins_priority[priority]))
self.write('| %d | %s | %d', i + 1, escape(plugins), priority)
self.write('|===')
self.write('. %s (%s)', escape(plugins), priority)
self.write('// end::plugins_priority[]')
def _write_api_config_priority(self, config_priority):
"""Write configuration files priority."""
self.write()
self.write('// tag::config_priority[]')
self.write('[width="30%",cols="1,3,2",options="header"]')
self.write('|===')
self.write('| %s | %s | %s',
_('Rank'), _('File'), _('Priority'))
for i, priority in enumerate(sorted(config_priority, reverse=True)):
configs = ', '.join(sorted(config_priority[priority]))
self.write('| %d | %s | %d', i + 1, escape(configs), priority)
self.write('|===')
self.write('// end::config_priority[]')
def docgen_cmd_cb(data, buf, args):
"""Callback for /docgen command."""
+2 -2
View File
@@ -1,6 +1,6 @@
<!--
Custom styles for Asciidoctor
Copyright (C) 2016-2023 Sébastien Helleu <flashcode@flashtux.org>
Copyright (C) 2016-2022 Sébastien Helleu <flashcode@flashtux.org>
-->
<style>
@@ -42,7 +42,7 @@
/* light theme */
:root {
color-scheme: light;
--body-bg-color: #fff;
--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;
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2023 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
#
# This file is part of WeeChat, the extensible chat client.
#
+129
View File
@@ -0,0 +1,129 @@
#
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2006 Julien Louis <ptitlouis@sysif.net>
#
# 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/>.
#
docdir = $(datadir)/doc/$(PACKAGE)
EXTRA_DIST = CMakeLists.txt \
docinfo.html \
weechat.1.en.adoc \
weechat-headless.1.en.adoc \
weechat_user.en.adoc \
weechat_plugin_api.en.adoc \
weechat_scripting.en.adoc \
weechat_faq.en.adoc \
weechat_quickstart.en.adoc \
weechat_relay_protocol.en.adoc \
weechat_dev.en.adoc \
includes/autogen_api_completions.en.adoc \
includes/autogen_api_hdata.en.adoc \
includes/autogen_api_infolists.en.adoc \
includes/autogen_api_infos.en.adoc \
includes/autogen_api_infos_hashtable.en.adoc \
includes/autogen_api_plugins_priority.en.adoc \
includes/autogen_api_url_options.en.adoc \
includes/autogen_user_commands.en.adoc \
includes/autogen_user_default_aliases.en.adoc \
includes/autogen_user_irc_colors.en.adoc \
includes/autogen_user_options.en.adoc \
includes/cmdline_options.en.adoc \
includes/man.en.adoc
if MAN
man_targets = weechat.1 \
weechat-headless.1
man_install = install-man
man_uninstall = uninstall-man
endif
if DOC
doc_targets = weechat_user.en.html \
weechat_plugin_api.en.html \
weechat_scripting.en.html \
weechat_faq.en.html \
weechat_quickstart.en.html \
weechat_relay_protocol.en.html \
weechat_dev.en.html
doc_install = install-doc
doc_uninstall = uninstall-doc
endif
all-local: $(man_targets) $(doc_targets)
# man pages
weechat.1: weechat.1.en.adoc includes/cmdline_options.en.adoc includes/man.en.adoc
$(ASCIIDOCTOR) $(ASCIIDOCTOR_ARGS) -a revnumber="$(VERSION)" -b manpage -o weechat.1 $(abs_top_srcdir)/doc/en/weechat.1.en.adoc
weechat-headless.1: weechat-headless.1.en.adoc includes/cmdline_options.en.adoc includes/man.en.adoc
$(ASCIIDOCTOR) $(ASCIIDOCTOR_ARGS) -a revnumber="$(VERSION)" -b manpage -o weechat-headless.1 $(abs_top_srcdir)/doc/en/weechat-headless.1.en.adoc
# user's guide
weechat_user.en.html: weechat_user.en.adoc includes/cmdline_options.en.adoc $(wildcard includes/autogen_user_*.adoc) $(abs_top_srcdir)/doc/docinfo.html
$(ASCIIDOCTOR) $(ASCIIDOCTOR_ARGS) -a revnumber="$(VERSION)" -o weechat_user.en.html $(abs_top_srcdir)/doc/en/weechat_user.en.adoc
# plugin API reference
weechat_plugin_api.en.html: weechat_plugin_api.en.adoc $(wildcard includes/autogen_api_*.adoc) $(abs_top_srcdir)/doc/docinfo.html
$(ASCIIDOCTOR) $(ASCIIDOCTOR_ARGS) -a revnumber="$(VERSION)" -o weechat_plugin_api.en.html $(abs_top_srcdir)/doc/en/weechat_plugin_api.en.adoc
# scripting guide
weechat_scripting.en.html: weechat_scripting.en.adoc $(abs_top_srcdir)/doc/docinfo.html
$(ASCIIDOCTOR) $(ASCIIDOCTOR_ARGS) -a revnumber="$(VERSION)" -o weechat_scripting.en.html $(abs_top_srcdir)/doc/en/weechat_scripting.en.adoc
# FAQ
weechat_faq.en.html: weechat_faq.en.adoc $(abs_top_srcdir)/doc/docinfo.html
$(ASCIIDOCTOR) $(ASCIIDOCTOR_ARGS) -a revnumber="$(VERSION)" -o weechat_faq.en.html $(abs_top_srcdir)/doc/en/weechat_faq.en.adoc
# quickstart
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
# 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
# developer's guide
weechat_dev.en.html: weechat_dev.en.adoc $(abs_top_srcdir)/doc/docinfo.html
$(ASCIIDOCTOR) $(ASCIIDOCTOR_ARGS) -a revnumber="$(VERSION)" -o weechat_dev.en.html $(abs_top_srcdir)/doc/en/weechat_dev.en.adoc
# install man/docs
install-data-hook: $(man_install) $(doc_install)
install-man:
$(mkinstalldirs) $(DESTDIR)$(mandir)/man1/
$(INSTALL_DATA) *.1 $(DESTDIR)$(mandir)/man1/
install-doc:
$(mkinstalldirs) $(DESTDIR)$(docdir)/
$(INSTALL_DATA) *.html $(DESTDIR)$(docdir)/
# uninstall man/docs
uninstall-hook: $(man_uninstall) $(doc_uninstall)
uninstall-man:
$(RM) $(DESTDIR)$(mandir)/man1/weechat.1
$(RM) $(DESTDIR)$(mandir)/man1/weechat-headless.1
-rmdir $(DESTDIR)$(mandir)/man1
uninstall-doc:
$(RM) $(DESTDIR)$(docdir)/*.en.html
-rmdir $(DESTDIR)$(docdir)
# clean
clean-local:
-$(RM) weechat.1 weechat-headless.1 weechat_*.html
@@ -1,36 +0,0 @@
//
// This file is auto-generated by script docgen.py.
// DO NOT EDIT BY HAND!
//
// tag::config_priority[]
[width="30%",cols="1,3,2",options="header"]
|===
| Rank | File | Priority
| 1 | sec.conf | 120000
| 2 | weechat.conf | 110000
| 3 | plugins.conf | 100000
| 4 | charset.conf | 16000
| 5 | logger.conf | 15000
| 6 | exec.conf | 14000
| 7 | trigger.conf | 13000
| 8 | spell.conf | 12000
| 9 | alias.conf | 11000
| 10 | buflist.conf | 10000
| 11 | fifo.conf | 9000
| 12 | typing.conf | 8000
| 13 | xfer.conf | 7000
| 14 | irc.conf | 6000
| 15 | relay.conf | 5000
| 16 | guile.conf | 4070
| 17 | javascript.conf | 4060
| 18 | lua.conf | 4050
| 19 | perl.conf | 4040
| 20 | php.conf | 4030
| 21 | python.conf | 4020
| 22 | ruby.conf | 4010
| 23 | tcl.conf | 4000
| 24 | script.conf | 3000
| 25 | fset.conf | 2000
|===
// end::config_priority[]
+1 -6
View File
@@ -241,8 +241,6 @@ _sasl_scram_salted_pwd_size_   (integer) +
_sasl_scram_auth_message_   (string) +
_sasl_temp_username_   (string) +
_sasl_temp_password_   (string) +
_authentication_method_   (integer) +
_sasl_mechanism_used_   (integer) +
_is_connected_   (integer) +
_ssl_connected_   (integer) +
_disconnected_   (integer) +
@@ -280,7 +278,7 @@ _typing_allowed_   (integer) +
_reconnect_delay_   (integer) +
_reconnect_start_   (time) +
_command_time_   (time) +
_autojoin_done_   (integer) +
_reconnect_join_   (integer) +
_disable_autojoin_   (integer) +
_is_away_   (integer) +
_away_message_   (string) +
@@ -584,7 +582,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) +
@@ -709,7 +706,6 @@ _count_   (integer) +
_last_config_file_ +
| _plugin_   (pointer, hdata: "plugin") +
_priority_   (integer) +
_name_   (string) +
_filename_   (string) +
_file_   (pointer) +
@@ -927,7 +923,6 @@ _next_line_   (pointer, hdata: "line") +
| structure with one line data
| -
| _buffer_   (pointer, hdata: "buffer") +
_id_   (integer) +
_y_   (integer) +
_date_   (time) +
_date_printed_   (time) +
@@ -60,6 +60,8 @@
| php | php_version | version of the interpreter used | -
| python | python2_bin | path to Python 2.x interpreter (*deprecated* since version 2.6, scripts must use Python 3 only) | -
| python | python_eval | evaluation of source code | source code to execute
| python | python_interpreter | name of the interpreter used | -
@@ -4,30 +4,26 @@
//
// tag::plugins_priority[]
[width="30%",cols="1,3,2",options="header"]
|===
| Rank | Plugin | Priority
| 1 | charset | 16000
| 2 | logger | 15000
| 3 | exec | 14000
| 4 | trigger | 13000
| 5 | spell | 12000
| 6 | alias | 11000
| 7 | buflist | 10000
| 8 | fifo | 9000
| 9 | typing | 8000
| 10 | xfer | 7000
| 11 | irc | 6000
| 12 | relay | 5000
| 13 | guile | 4070
| 14 | javascript | 4060
| 15 | lua | 4050
| 16 | perl | 4040
| 17 | php | 4030
| 18 | python | 4020
| 19 | ruby | 4010
| 20 | tcl | 4000
| 21 | script | 3000
| 22 | fset | 2000
|===
. charset (16000)
. logger (15000)
. exec (14000)
. trigger (13000)
. spell (12000)
. alias (11000)
. buflist (10000)
. fifo (9000)
. typing (8000)
. xfer (7000)
. irc (6000)
. relay (5000)
. guile (4007)
. javascript (4006)
. lua (4005)
. perl (4004)
. php (4003)
. python (4002)
. ruby (4001)
. tcl (4000)
. script (3000)
. fset (2000)
// end::plugins_priority[]
+20 -46
View File
@@ -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[]
+44 -104
View File
@@ -131,7 +131,6 @@ Examples:
addraw <channel1>[,<channel2>...] [<key1>[,<key2>...]]
del [<channel1> [<channel2>...]]
apply
join
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
@@ -140,7 +139,6 @@ Examples:
channel: channel name
key: key for the channel
apply: set currently joined channels in the autojoin option
join: join the channels in the autojoin option
sort: sort alphabetically channels in the autojoin option
Examples:
@@ -152,7 +150,6 @@ Examples:
/autojoin del
/autojoin del #chan1
/autojoin apply
/autojoin join
/autojoin sort
----
@@ -453,16 +450,6 @@ Example:
reason: reason
----
[[command_irc_knock]]
* `+knock+`: send a notice to an invitation-only channel, requesting an invite
----
/knock <channel> [<message>]
channel: channel name
message: message to send
----
[[command_irc_links]]
* `+links+`: list all server names which are known by the server answering the query
@@ -757,12 +744,6 @@ channel: channel name
target: server name
----
[[command_irc_rules]]
* `+rules+`: request the server rules
----
----
[[command_irc_sajoin]]
* `+sajoin+`: force a user to join channel(s)
@@ -1092,13 +1073,11 @@ target: reply should match this mask
add <alias> [<command>[;<command>...]]
addcompletion <completion> <alias> [<command>[;<command>...]]
del <alias> [<alias>...]
rename <alias> <new_alias>
list: list aliases (without argument, this list is displayed)
add: add an alias
addcompletion: add an alias with a custom completion
del: delete an alias
rename: rename an alias
completion: completion for alias: by default completion is done with target command
note: you can use %%command to use completion of an existing command
alias: name of alias
@@ -1119,27 +1098,12 @@ Examples:
/alias add split /window splith
alias /hello to say "hello" on all channels but not on #weechat:
/alias add hello /allchan -exclude=#weechat hello
rename alias "hello" to "Hello":
/alias rename hello Hello
alias /forcejoin to send IRC command "forcejoin" with completion of /sajoin:
/alias addcompletion %%sajoin forcejoin /quote forcejoin
----
// 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
@@ -1216,8 +1180,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>]
@@ -1226,7 +1188,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)
@@ -1240,8 +1201,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:
@@ -1255,11 +1214,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
@@ -1389,7 +1343,6 @@ Examples:
mouse|cursor [verbose]
hdata [free]
time <command>
unicode <string>
list: list plugins with debug levels
set: set debug level for plugin
@@ -1411,13 +1364,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]]
@@ -1464,36 +1410,35 @@ 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. the string itself without evaluation (format: "raw:xxx")
2. a user-defined variable (format: "name")
3. an evaluated sub-string (format: "eval:xxx")
4. an evaluated condition (format: "eval_cond:xxx")
5. a string with escaped chars (format: "esc:xxx" or "\xxx")
6. a string converted to lower case (format: "lower:xxx")
7. a string converted to upper case (format: "upper:xxx")
8. a string with chars to hide (format: "hide:char,string")
9. a string with max chars (format: "cut:max,suffix,string" or "cut:+max,suffix,string")
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.
10. a reversed string (format: "rev:xxx" or "revscr:xxx")
11. a repeated string (format: "repeat:count,string")
12. length of a string (format: "length:xxx" or "lengthscr:xxx")
13. split of a string (format: "split:number,separators,flags,xxx")
14. split of shell argmuents (format: "split_shell:number,xxx")
15. a color (format: "color:xxx", see "Plugin API reference", function "color")
16. a modifier (format: "modifier:name,data,string")
17. an info (format: "info:name,arguments", arguments are optional)
18. a base 16/32/64 encoded/decoded string (format: "base_encode:base,xxx" or "base_decode:base,xxx")
19. current date/time (format: "date" or "date:format")
20. an environment variable (format: "env:XXX")
21. a ternary operator (format: "if:condition?value_if_true:value_if_false")
22. result of an expression with parentheses and operators + - * / // % ** (format: "calc:xxx")
23. a random integer number (format: "random:min,max")
24. a translated string (format: "translate:xxx")
25. define a user variable (format: "define:name,value")
26. an option (format: "file.section.option")
27. a local variable in buffer
28. a hdata name/variable (the value is automatically converted to string), by default "window" and "buffer" point to current window/buffer.
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:
@@ -1516,8 +1461,6 @@ Examples (simple strings):
/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}} ==> --------
@@ -1649,22 +1592,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
@@ -1706,10 +1633,23 @@ 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)
hotlist_remove_buffer: remove current buffer from hotlist
hotlist_restore_buffer: restore latest hotlist removed in the current buffer
hotlist_restore_all: restore latest hotlist removed in all buffers
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)
@@ -1811,7 +1751,7 @@ Examples:
restore default binding for key alt-r:
/key reset meta-r
key "tab" to stop search in buffer:
/key bindctxt search ctrl-i /input search_stop
/key bindctxt search ctrl-I /input search_stop
middle button of mouse on a nick to retrieve info on nick:
/key bindctxt mouse @item(buffer_nicklist):button3 /msg nickserv info ${nick}
----
@@ -2650,7 +2590,7 @@ Keys and input to set options on fset buffer:
u:xxx unmark options displayed that are matching filter "xxx" (any filter on option or value is allowed, see filters above)
Other keys and input on fset buffer:
ctrl+l refresh options and whole screen (command: /fset -refresh)
ctrl+L refresh options and whole screen (command: /fset -refresh)
$ refresh options (keep marked options)
$$ refresh options (unmark all options)
alt+p p toggle plugin description options (plugins.desc.*)
@@ -2660,7 +2600,7 @@ Other keys and input on fset buffer:
w:xxx export options in file "xxx"
w-:xxx export options in file "xxx" without help
w+:xxx export options in file "xxx" with help
ctrl+x x switch the format used to display options
ctrl+X x switch the format used to display options
q close fset buffer
Mouse actions on fset buffer:
@@ -8,37 +8,37 @@
|===
| Alias | Command | Completion
| /aaway | /allserv /away | -
| /anick | /allserv /nick | -
| /beep | /print -beep | -
| /bye | /quit | -
| /c | /buffer clear | -
| /cl | /buffer clear | -
| /close | /buffer close | -
| /chat | /dcc chat | -
| /exit | /quit | -
| /ig | /ignore | -
| /j | /join | -
| /k | /kick | -
| /kb | /kickban | -
| /leave | /part | -
| /m | /msg | -
| /mub | /unban * | -
| /msgbuf | /command -buffer $1 * /input send $2- | %(buffers_plugins_names)
| /n | /names | -
| /q | /query | -
| /redraw | /window refresh | -
| /say | /msg * | -
| /signoff | /quit | -
| /t | /topic | -
| /ub | /unban | -
| /umode | /mode $nick | -
| /v | /command core version | -
| /w | /who | -
| /wc | /window close | -
| /wi | /whois | -
| /wii | /whois $1 $1 | -
| /wm | /window merge | -
| /ww | /whowas | -
| /AAWAY | /allserv /away | -
| /ANICK | /allserv /nick | -
| /BEEP | /print -beep | -
| /BYE | /quit | -
| /C | /buffer clear | -
| /CL | /buffer clear | -
| /CLOSE | /buffer close | -
| /CHAT | /dcc chat | -
| /EXIT | /quit | -
| /IG | /ignore | -
| /J | /join | -
| /K | /kick | -
| /KB | /kickban | -
| /LEAVE | /part | -
| /M | /msg | -
| /MUB | /unban * | -
| /MSGBUF | /command -buffer $1 * /input send $2- | %(buffers_plugins_names)
| /N | /names | -
| /Q | /query | -
| /REDRAW | /window refresh | -
| /SAY | /msg * | -
| /SIGNOFF | /quit | -
| /T | /topic | -
| /UB | /unban | -
| /UMODE | /mode $nick | -
| /V | /command core version | -
| /W | /who | -
| /WC | /window close | -
| /WI | /whois | -
| /WII | /whois $1 $1 | -
| /WM | /window merge | -
| /WW | /whowas | -
|===
// end::default_aliases[]
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -100,7 +100,7 @@ $HOME/.local/share/weechat/weechat.log::
WeeChat is written by Sébastien Helleu and contributors (complete list is in
the AUTHORS.adoc file).
Copyright (C) 2003-2023 {author}
Copyright (C) 2003-2022 {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
+5 -8
View File
@@ -405,7 +405,6 @@ WeeChat "core" is located in following directories:
|       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.
@@ -429,7 +428,6 @@ WeeChat "core" is located in following directories:
|          test-gui-color.cpp | Tests: colors.
|          test-gui-filter.cpp | Tests: filters.
|          test-gui-input.cpp | Tests: input functions.
|          test-gui-key.cpp | Tests: keys.
|          test-gui-line.cpp | Tests: lines.
|          test-gui-nick.cpp | Tests: nicks.
|       plugins/ | Root of unit tests for plugins.
@@ -531,7 +529,7 @@ Example in C:
/*
* weechat.c - core functions for WeeChat
*
* Copyright (C) 2023 Your Name <your@email.com>
* Copyright (C) 2022 Your Name <your@email.com>
*
* This file is part of WeeChat, the extensible chat client.
*
@@ -923,8 +921,6 @@ In following table, these conventions are used:
* `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
@@ -935,8 +931,6 @@ In following table, these conventions are used:
** _0x02_: reverse
** _0x03_: italic
** _0x04_: underline
** _0x05_: blink
** _0x06_: "dim" (half bright)
All combinations are summarized in this table:
@@ -1161,8 +1155,11 @@ Where _component_ is one of following:
| WeeChat core
| build
| CMakeLists.txt +
| autogen.sh +
CMakeLists.txt +
cmake/* +
configure.ac +
Makefile.am +
tools/* +
weechat.cygport.in +
weechat.spec
+120 -34
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::[]
@@ -44,12 +47,17 @@ https://weechat.org/about/interfaces/[remote interfaces page ^↗^,window=_blan
[[compile_git]]
=== I can't compile WeeChat after cloning git repository, why?
WeeChat must be compiled with CMake.
The recommended way to compile WeeChat is with
link:weechat_user.en.html#compile_with_cmake[CMake ^↗^,window=_blank].
Please follow link:weechat_user.en.html#source_package[build instructions ^↗^,window=_blank]
and ensure all required dependencies are installed.
If you're compiling with
link:weechat_user.en.html#compile_with_autotools[autotools ^↗^,window=_blank]
(and not CMake), check that you have latest version of autoconf and automake.
If you still have issues, please report them to the developers.
The other way is to install the "devel package", which needs less dependencies.
This package is built almost every day using git repository. Note that this
package may not correspond exactly to git base and that it's less convenient
than git cloning for installing updates.
[[compile_macos]]
=== How can I install WeeChat on macOS?
@@ -179,10 +187,18 @@ 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[buflist ^↗^,window=_blank]
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
@@ -200,6 +216,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?
@@ -315,8 +346,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
@@ -331,7 +363,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:
@@ -341,7 +373,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
@@ -353,8 +385,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
@@ -401,6 +434,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:
@@ -419,15 +454,17 @@ 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.
For versions ≥ 0.3.5, you can use any color number in options (optional: you
can add color aliases with command `/color`).
Please read the link:weechat_user.en.html#colors[User's guide / Colors ^↗^,window=_blank]
for more information about colors management.
@@ -472,7 +509,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]]
@@ -644,6 +681,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:
----
@@ -693,6 +732,12 @@ 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.
With WeeChat ≤ 3.1, you can then set the path to system certificates:
----
/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):
@@ -717,7 +762,8 @@ 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"
@@ -726,8 +772,22 @@ You can try a different priority string, replace "xxx" by your server name:
[[irc_ssl_libera]]
=== How can I connect to libera server using SSL?
Check that you have certificates installed on your system, this is commonly
provided by the package "ca-certificates".
With WeeChat ≤ 3.1, 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:
@@ -788,8 +848,8 @@ For a single server:
/set irc.server.libera.autojoin_dynamic on
----
You can also add the current channel in the "autojoin" server option using the
`/autojoin` command:
With WeeChat ≥ 3.5, you can also add the current channel in the "autojoin"
server option using the `/autojoin` command:
----
/autojoin add
@@ -801,7 +861,25 @@ Or another channel:
/autojoin add #test
----
There are also scripts:
With WeeChat ≤ 3.4, you can use the `/set` command to edit the list of autojoin
channels, for example for the "libera" server:
----
/set irc.server.libera.autojoin [TAB]
----
[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:
----
/fset autojoin
----
With WeeChat ≤ 3.4, another solution is to use a script:
----
/script search autojoin
@@ -846,9 +924,9 @@ link:weechat_user.en.html#irc_smart_filter_join_part_quit[User's guide / Smart f
[[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
@@ -903,13 +981,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:
@@ -934,7 +1016,7 @@ Other scripts on this subject:
[[disable_highlights_for_specific_nicks]]
=== How can I disable highlights for specific nicks?
You can use the
With WeeChat ≥ 0.3.4 you can use the
link:weechat_user.en.html#max_hotlist_level_nicks[hotlist_max_level_nicks_add ^↗^,window=_blank]
buffer property to set the max hotlist level for some nicks, per buffer,
or per group of buffers (like IRC servers).
@@ -971,7 +1053,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
@@ -991,8 +1073,8 @@ 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.
@@ -1008,7 +1090,7 @@ $ rm ~/.cache/weechat/script/plugins.xml.gz
----
[NOTE]
If you are not using the XDG directories, the path could be: _~/.weechat/script/plugins.xml.gz_.
With WeeChat ≤ 3.1, the path should be: _~/.weechat/script/plugins.xml.gz_.
And update scripts again in WeeChat:
@@ -1050,6 +1132,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
+135 -442
View File
@@ -616,38 +616,25 @@ This function is not available in scripting API.
==== string_tolower
_Updated in 3.8._
Return a string with uppercase letters converted to lowercase.
[NOTE]
Behavior has changed in version 3.8: now all uppercase letters are properly
converted to lowercase (by calling function `towlower`), in addition to the
range `A` to `Z`. +
Moreover, a newly allocated string is returned and must be freed after use.
Convert UTF-8 string to lower case.
Prototype:
[source,c]
----
char *weechat_string_tolower (const char *string);
void weechat_string_tolower (char *string);
----
Arguments:
* _string_: string to convert
Return value:
* string with lowercase letters (must be freed by calling "free" after use)
C example:
[source,c]
----
char *str = weechat_string_tolower ("ABCD_É"); /* result: "abcd_é" */
/* ... */
free (str);
char str[] = "AbCdé";
weechat_string_tolower (str); /* str is now: "abcdé" */
----
[NOTE]
@@ -655,189 +642,25 @@ This function is not available in scripting API.
==== string_toupper
_Updated in 3.8._
Return a string with lowercase letters converted to uppercase.
[NOTE]
Behavior has changed in version 3.8: now all lowercase letters are properly
converted to uppercase (by calling function `towupper`), in addition to the
range `a` to `z`. +
Moreover, a newly allocated string is returned and must be freed after use.
Convert UTF-8 string to upper case.
Prototype:
[source,c]
----
char *weechat_string_toupper (const char *string);
void weechat_string_toupper (char *string);
----
Arguments:
* _string_: string to convert
Return value:
* string with uppercase letters (must be freed by calling "free" after use)
C example:
[source,c]
----
char *str = weechat_string_toupper ("abcd_é"); /* result: "ABCD_É" */
/* ... */
free (str);
----
[NOTE]
This function is not available in scripting API.
==== string_charcmp
_Updated in 1.0, 3.8._
Compare two chars.
Prototype:
[source,c]
----
int weechat_string_charcmp (const char *string1, const char *string2);
----
Arguments:
* _string1_: first string for comparison
* _string2_: second string for comparison
Return value:
* arithmetic result of subtracting the first UTF-8 char in _string2_
from the first UTF-8 char in _string1_:
** < 0 if char1 < char2
** 0 if char1 == char2
** > 0 if char1 > char2
C example:
[source,c]
----
int diff = weechat_string_charcmp ("aaa", "ccc"); /* == -2 */
----
[NOTE]
This function is not available in scripting API.
==== string_charcasecmp
_Updated in 1.0, 3.8._
Compare two chars, ignoring case.
[NOTE]
Behavior has changed in version 3.8: now all uppercase letters are properly
converted to lowercase (by calling function `towlower`), in addition to the
range `A` to `Z`.
Prototype:
[source,c]
----
int weechat_string_charcasecmp (const char *string1, const char *string2);
----
Arguments:
* _string1_: first string for comparison
* _string2_: second string for comparison
Return value:
* arithmetic result of subtracting the first UTF-8 char in _string2_
(converted to lowercase) from the first UTF-8 char in _string1_ (converted to
lowercase):
** < 0 if char1 < char2
** 0 if char1 == char2
** > 0 if char1 > char2
C example:
[source,c]
----
int diff = weechat_string_charcasecmp ("aaa", "CCC"); /* == -2 */
----
[NOTE]
This function is not available in scripting API.
==== strcmp
_WeeChat ≥ 3.8._
Case sensitive string comparison.
Prototype:
[source,c]
----
int weechat_strcmp (const char *string1, const char *string2);
----
Arguments:
* _string1_: first string for comparison
* _string2_: second string for comparison
Return value:
* arithmetic result of subtracting the last compared UTF-8 char in
_string2_ from the last compared UTF-8 char in _string1_:
** < 0 if string1 < string2
** 0 if string1 == string2
** > 0 if string1 > string2
C example:
[source,c]
----
int diff = weechat_strcmp ("aaa", "ccc"); /* == -2 */
----
[NOTE]
This function is not available in scripting API.
==== strncmp
_WeeChat ≥ 3.8._
Case sensitive string comparison, for _max_ chars.
Prototype:
[source,c]
----
int weechat_strncmp (const char *string1, const char *string2, int max);
----
Arguments:
* _string1_: first string for comparison
* _string2_: second string for comparison
* _max_: max chars to compare
Return value:
* arithmetic result of subtracting the last compared UTF-8 char in
_string2_ from the last compared UTF-8 char in _string1_:
** < 0 if string1 < string2
** 0 if string1 == string2
** > 0 if string1 > string2
C example:
[source,c]
----
int diff = weechat_strncmp ("aabb", "aacc", 2); /* == 0 */
char str[] = "AbCdé";
weechat_string_toupper (str); /* str is now: "ABCDé" */
----
[NOTE]
@@ -845,14 +668,9 @@ This function is not available in scripting API.
==== strcasecmp
_Updated in 1.0, 3.8._
_Updated in 1.0._
Case insensitive string comparison.
[NOTE]
Behavior has changed in version 3.8: now all uppercase letters are properly
converted to lowercase (by calling function `towlower`), in addition to the
range `A` to `Z`.
Locale and case independent string comparison.
Prototype:
@@ -868,20 +686,15 @@ Arguments:
Return value:
* arithmetic result of subtracting the last compared UTF-8 char in
_string2_ (converted to lowercase) from the last compared UTF-8 char in _string1_
(converted to lowercase):
** < 0 if string1 < string2
** 0 if string1 == string2
** > 0 if string1 > string2
* -1 if string1 < string2
* 0 if string1 == string2
* 1 if string1 > string2
C example:
[source,c]
----
int diff;
diff = weechat_strcasecmp ("aaa", "CCC"); /* == -2 */
diff = weechat_strcasecmp ("noël", "NOËL"); /* == 0 */
int diff = weechat_strcasecmp ("aaa", "CCC"); /* == -2 */
----
[NOTE]
@@ -889,7 +702,7 @@ This function is not available in scripting API.
==== strcasecmp_range
_WeeChat ≥ 0.3.7, updated in 1.0, 3.8._
_WeeChat ≥ 0.3.7, updated in 1.0._
Locale and case independent string comparison, using a range for case
comparison.
@@ -915,12 +728,9 @@ Values 29 and 30 are used by some protocols like IRC.
Return value:
* arithmetic result of subtracting the last compared UTF-8 char in
_string2_ (converted to lowercase) from the last compared UTF-8 char in _string1_
(converted to lowercase):
** < 0 if string1 < string2
** 0 if string1 == string2
** > 0 if string1 > string2
* -1 if string1 < string2
* 0 if string1 == string2
* 1 if string1 > string2
C example:
@@ -934,14 +744,9 @@ This function is not available in scripting API.
==== strncasecmp
_Updated in 1.0, 3.8._
_Updated in 1.0._
Case insensitive string comparison, for _max_ chars.
[NOTE]
Behavior has changed in version 3.8: now all uppercase letters are properly
converted to lowercase (by calling function `towlower`), in addition to the
range `A` to `Z`.
Locale and case independent string comparison, for _max_ chars.
Prototype:
@@ -958,18 +763,15 @@ Arguments:
Return value:
* arithmetic result of subtracting the last compared UTF-8 char in
_string2_ (converted to lowercase) from the last compared UTF-8 char in _string1_
(converted to lowercase):
** < 0 if string1 < string2
** 0 if string1 == string2
** > 0 if string1 > string2
* -1 if string1 < string2
* 0 if string1 == string2
* 1 if string1 > string2
C example:
[source,c]
----
int diff = weechat_strncasecmp ("aabb", "AACC", 2); /* == 0 */
int diff = weechat_strncasecmp ("aabb", "aacc", 2); /* == 0 */
----
[NOTE]
@@ -977,7 +779,7 @@ This function is not available in scripting API.
==== strncasecmp_range
_WeeChat ≥ 0.3.7, updated in 1.0, 3.8._
_WeeChat ≥ 0.3.7, updated in 1.0._
Locale and case independent string comparison, for _max_ chars, using a range
for case comparison.
@@ -1004,12 +806,9 @@ Values 29 and 30 are used by some protocols like IRC.
Return value:
* arithmetic result of subtracting the last compared UTF-8 char in
_string2_ (converted to lowercase) from the last compared UTF-8 char in _string1_
(converted to lowercase):
** < 0 if string1 < string2
** 0 if string1 == string2
** > 0 if string1 > string2
* -1 if string1 < string2
* 0 if string1 == string2
* 1 if string1 > string2
C example:
@@ -1023,9 +822,10 @@ This function is not available in scripting API.
==== strcmp_ignore_chars
_Updated in 1.0, 3.8._
_Updated in 1.0._
String comparison ignoring some chars.
Locale (and optionally case independent) string comparison, ignoring some
chars.
Prototype:
@@ -1043,20 +843,11 @@ Arguments:
* _chars_ignored_: string with chars to ignored
* _case_sensitive_: 1 for case sensitive comparison, otherwise 0
[NOTE]
Behavior has changed in version 3.8 when _case_sensitive_ is set to 0: now all
uppercase letters are properly converted to lowercase (by calling function
`towlower`), in addition to the range `A` to `Z`.
Return value:
* arithmetic result of subtracting the last compared UTF-8 char in
_string2_ (converted to lowercase if _case_sentitive_ is set to 0) from the last
compared UTF-8 char in _string1_ (converted to lowercase if _case_sensitive_ is
set to 0):
** < 0 if string1 < string2
** 0 if string1 == string2
** > 0 if string1 > string2
* -1 if string1 < string2
* 0 if string1 == string2
* 1 if string1 > string2
C example:
@@ -1070,14 +861,9 @@ This function is not available in scripting API.
==== strcasestr
_Updated in 1.3, 3.8._
_Updated in 1.3._
Case insensitive string search.
[NOTE]
Behavior has changed in version 3.8: now all uppercase letters are properly
converted to lowercase (by calling function `towlower`), in addition to the
range `A` to `Z`.
Locale and case independent string search.
Prototype:
@@ -1108,12 +894,11 @@ This function is not available in scripting API.
==== strlen_screen
_WeeChat ≥ 0.4.2, updated in 3.8._
_WeeChat ≥ 0.4.2._
Return number of chars needed on screen to display UTF-8 string.
WeeChat color codes are skipped and don't count in the result (this is the only
difference with the function <<_utf8_strlen_screen,utf8_strlen_screen>>).
Non-printable chars have a width of 1 (this is the difference with the function
<<_utf8_strlen_screen,utf8_strlen_screen>>).
Prototype:
@@ -1150,7 +935,7 @@ length = weechat.strlen_screen("é") # 1
==== string_match
_Updated in 1.0, 3.8._
_Updated in 1.0._
Check if a string matches a mask.
@@ -1173,11 +958,6 @@ Arguments:
Since version 1.0, wildcards are allowed inside the mask
(not only beginning/end of mask).
[NOTE]
Behavior has changed in version 3.8 when _case_sensitive_ is set to 0: now all
uppercase letters are properly converted to lowercase (by calling function
`towlower`), in addition to the range `A` to `Z`.
Return value:
* 1 if string matches mask, otherwise 0
@@ -1210,7 +990,7 @@ match5 = weechat.string_match("abcdef", "*b*d*", 0) # == 1
==== string_match_list
_WeeChat ≥ 2.5, updated in 3.8._
_WeeChat ≥ 2.5._
Check if a string matches a list of masks where negative mask is allowed
with the format "!word". A negative mask has higher priority than a standard
@@ -1231,11 +1011,6 @@ Arguments:
is compared to the string with the function <<_string_match,string_match>>
* _case_sensitive_: 1 for case sensitive comparison, otherwise 0
[NOTE]
Behavior has changed in version 3.8 when _case_sensitive_ is set to 0: now all
uppercase letters are properly converted to lowercase (by calling function
`towlower`), in addition to the range `A` to `Z`.
Return value:
* 1 if string matches list of masks (at least one mask matches and no negative
@@ -1812,45 +1587,6 @@ if (weechat_string_regcomp (&my_regex, "([0-9]{4})-([0-9]{2})-([0-9]{2})",
[NOTE]
This function is not available in scripting API.
==== string_translate_chars
_WeeChat ≥ 3.8._
Translate chars in a string.
Prototype:
[source,c]
----
char *string_translate_chars (const char *string, const char *chars1, const char *chars2);
----
Arguments:
* _string_: string
* _chars1_: string with chars to translate
* _chars2_: string with replacement chars; it must contain the same number of
UTF-8 chars than _chars1_
Return value:
* string with translated chars, NULL if problem (must be freed by calling "free"
after use)
C examples:
[source,c]
----
/* "test" => "tEst" */
char *str = weechat_string_translate_chars ("test", "abcdef", "ABCDEF");
/* "clean the boat" => "CleAn the BoAt" */
char *str = weechat_string_translate_chars ("clean the boat", "abc", "ABC");
----
[NOTE]
This function is not available in scripting API.
==== string_split
_Updated in 2.5, 2.6._
@@ -2574,7 +2310,7 @@ str3 = weechat.string_input_for_buffer("//test") # "/test"
==== string_eval_expression
_WeeChat ≥ 0.4.0, updated in 0.4.2, 0.4.3, 1.0, 1.1, 1.2, 1.3, 1.6, 1.8, 2.0,
2.2, 2.3, 2.7, 2.9, 3.1, 3.2, 3.3, 3.4, 3.6, 3.8._
2.2, 2.3, 2.7, 2.9, 3.1, 3.2, 3.3, 3.4, 3.6._
Evaluate an expression and return result as a string.
Special variables with format `+${variable}+` are expanded (see table below).
@@ -2959,44 +2695,20 @@ expanded to last):
>> `+${\ua9}+` +
== `+©+`
| `+${chars:range}+` | 3.8
| String with a range of chars, where `range` is one of: +
- `digit` (`0123456789`) +
- `xdigit` (`0123456789abcdefABCDEF`) +
- `lower` (all lower case letters) +
- `upper` (all upper case letters) +
- `alpha` (all letters) +
- `alnum` (all letters and digits) +
- a range of chars with format `c1-c2` (`c1` code point must be lower or equal to `c2`)
| >> `+${chars:digit}+` +
== `+0123456789+` +
+
>> `+${chars:xdigit}+` +
== `+0123456789abcdefABCDEF+` +
+
>> `+${chars:lower}+` +
== `+abcdefghijklmnopqrstuvwxyz+` +
+
>> `+${chars:J-V}+` +
== `+JKLMNOPQRSTUV+` +
+
>> `+${chars:←-↓}+` +
== `+←↑→↓+`
| `+${lower:string}+` | 3.6
| String converted to lower case.
| >> `+${lower:TEST}+` +
== `+test+`
>> `+test+`
| `+${upper:string}+` | 3.6
| String converted to upper case.
| >> `+${upper:test}+` +
== `+TEST+`
>> `+TEST+`
| `+${hide:x,string}+` | 1.1
| String with hidden chars (all chars in `string` replaced by `x`).
| >> `+${hide:*,password}+` +
== `+********+`
>> `+********+`
| `+${cut:max,suffix,string}+` +
`+${cut:+max,suffix,string}+` | 1.8
@@ -3794,9 +3506,75 @@ int length_on_screen = weechat_utf8_strlen_screen ("é"); /* == 1 */
[NOTE]
This function is not available in scripting API.
==== utf8_char_size_screen
==== utf8_charcmp
_Updated in 3.8._
_Updated in 1.0._
Compare two UTF-8 chars.
Prototype:
[source,c]
----
int weechat_utf8_charcmp (const char *string1, const char *string2);
----
Arguments:
* _string1_: first string for comparison
* _string2_: second string for comparison
Return value:
* -1 if string1 < string2
* 0 if string1 == string2
* 1 if string1 > string2
C example:
[source,c]
----
int diff = weechat_utf8_charcmp ("aaa", "ccc"); /* == -2 */
----
[NOTE]
This function is not available in scripting API.
==== utf8_charcasecmp
_Updated in 1.0._
Compare two UTF-8 chars, ignoring case.
Prototype:
[source,c]
----
int weechat_utf8_charcasecmp (const char *string1, const char *string2);
----
Arguments:
* _string1_: first string for comparison
* _string2_: second string for comparison
Return value:
* -1 if string1 < string2
* 0 if string1 == string2
* 1 if string1 > string2
C example:
[source,c]
----
int diff = weechat_utf8_charcasecmp ("aaa", "CCC"); /* == -2 */
----
[NOTE]
This function is not available in scripting API.
==== utf8_char_size_screen
Return number of chars needed on screen to display UTF-8 char.
@@ -3813,18 +3591,7 @@ Arguments:
Return value:
* number of chars needed on screen to display UTF-8 char:
** -1: non printable char
** ≥ 0: printable char
The result is the return value of function `wcwidth` (see `man wcwidth`), with
exception for the following chars, that have a specific behavior in WeeChat:
* U+0009 (Tabulation): value of option
link:weechat_user.en.html#option_weechat.look.tab_width[weechat.look.tab_width ^↗^,window=_blank]
* U+0001 (1) to U+001F (31), except U+0009 (Tabulation): 1
* U+00AD (173, soft hyphen): -1
* U+200B (8203, zero width space): -1
* number of chars needed on screen to display UTF-8 char
C example:
@@ -3962,37 +3729,6 @@ free (string);
[NOTE]
This function is not available in scripting API.
==== utf8_strncpy
_WeeChat ≥ 3.8._
Copy _length_ chars max in another string and add null byte at the end.
Prototype:
[source,c]
----
void weechat_utf8_strncpy (char *dest, const char *string, int length);
----
Arguments:
* _dest_: destination string (must be long enough)
* _string_: string
* _length_: max chars to copy
C example:
[source,c]
----
char dest[256];
weechat_utf8_strncpy (dest, "chêne", 3); /* copies "chê" to dest */
----
[NOTE]
This function is not available in scripting API.
[[crypto]]
=== Cryptography
@@ -6263,7 +5999,7 @@ Functions for configuration files.
==== config_new
_Updated in 1.5, 3.9._
_Updated in 1.5._
Create a new configuration file.
@@ -6281,11 +6017,7 @@ struct t_config_file *weechat_config_new (const char *name,
Arguments:
* _name_: name of configuration file (without path or extension); a priority
is allowed before the name, with format `nnn|name` where `nnn` is non-negative
integer with priority; default priority is 1000; files are sorted by priority
from higher to lower when running command `/reload`
(see priority of configuration files below)
* _name_: name of configuration file (without path or extension)
* _callback_reload_: function called when configuration file is reloaded with
`/reload` (optional, can be NULL, see below), arguments and return value:
** _const void *pointer_: pointer
@@ -6321,10 +6053,6 @@ You should call this function only after adding some sections (with
<<_config_new_section,config_new_section>>) and options (with
<<_config_new_option,config_new_option>>).
Priority of default configuration files:
include::includes/autogen_api_config_priority.en.adoc[tag=config_priority]
C example:
[source,c]
@@ -6428,10 +6156,9 @@ Arguments:
** _const char *option_name_: name of option
** _const char *value_: value
** return value:
*** _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_READ_OK_
*** _WEECHAT_CONFIG_READ_MEMORY_ERROR_
*** _WEECHAT_CONFIG_READ_FILE_NOT_FOUND_
* _callback_read_pointer_: pointer given to callback when it is called by
WeeChat
* _callback_read_data_: pointer given to callback when it is called by WeeChat;
@@ -6524,10 +6251,9 @@ my_section_read_cb (const void *pointer, void *data,
{
/* ... */
return WEECHAT_CONFIG_OPTION_SET_OK_CHANGED;
/* return WEECHAT_CONFIG_OPTION_SET_OK_SAME_VALUE; */
/* return WEECHAT_CONFIG_OPTION_SET_ERROR; */
/* return WEECHAT_CONFIG_OPTION_SET_OPTION_NOT_FOUND; */
return WEECHAT_CONFIG_READ_OK;
/* return WEECHAT_CONFIG_READ_MEMORY_ERROR; */
/* return WEECHAT_CONFIG_READ_FILE_NOT_FOUND; */
}
int
@@ -6617,38 +6343,28 @@ def config_new_section(config_file: str, name: str,
callback_delete_option: str, callback_delete_option_data: str) -> str: ...
# example
def my_section_read_cb(data: str, config_file: str, section: str, option_name: str, value: str | None) -> int:
def my_section_read_cb(data: str, config_file: str, section: str, option_name: str, value: str) -> int:
# ...
return weechat.WEECHAT_CONFIG_OPTION_SET_OK_CHANGED
# return weechat.WEECHAT_CONFIG_OPTION_SET_OK_SAME_VALUE
# return weechat.WEECHAT_CONFIG_OPTION_SET_ERROR
# return weechat.WEECHAT_CONFIG_OPTION_SET_OPTION_NOT_FOUND
# return weechat.WEECHAT_CONFIG_OPTION_SET_ERROR
def my_section_write_cb(data: str, config_file: str, section_name: str) -> int:
# ...
return weechat.WEECHAT_CONFIG_WRITE_OK
# return weechat.WEECHAT_CONFIG_WRITE_ERROR
# return weechat.WEECHAT_CONFIG_WRITE_MEMORY_ERROR
def my_section_write_default_cb(data: str, config_file: str, section_name: str) -> int:
# ...
return weechat.WEECHAT_CONFIG_WRITE_OK
# return weechat.WEECHAT_CONFIG_WRITE_ERROR
# return weechat.WEECHAT_CONFIG_WRITE_MEMORY_ERROR
def my_section_create_option_cb(data: str, config_file: str, section: str, option_name: str, value: str | None) -> int:
def my_section_create_option_cb(data: str, config_file: str, section: str, option_name: str, value: str) -> int:
# ...
return weechat.WEECHAT_CONFIG_OPTION_SET_OK_CHANGED
# return weechat.WEECHAT_CONFIG_OPTION_SET_OK_SAME_VALUE
# return weechat.WEECHAT_CONFIG_OPTION_SET_ERROR
# return weechat.WEECHAT_CONFIG_OPTION_SET_OPTION_NOT_FOUND
return weechat.WEECHAT_CONFIG_OPTION_SET_OK_SAME_VALUE
def my_section_delete_option_cb(data: str, config_file: str, section: str, option: str) -> int:
# ...
return weechat.WEECHAT_CONFIG_OPTION_UNSET_OK_REMOVED
# return weechat.WEECHAT_CONFIG_OPTION_UNSET_OK_NO_RESET
# return weechat.WEECHAT_CONFIG_OPTION_UNSET_OK_RESET
# return weechat.WEECHAT_CONFIG_OPTION_UNSET_ERROR
section = weechat.config_new_section(config_file, "section1", 1, 1,
"my_section_read_cb", "",
@@ -6888,10 +6604,10 @@ def option4_check_value_cb(data: str, option: str, value: str) -> int:
return 1
# return 0
def option4_change_cb(data: str, option: str) -> None:
def option4_change_cb(data: str, option: str) -> int:
# ...
def option4_delete_cb(data: str, option: str) -> None:
def option4_delete_cb(data: str, option: str) -> int:
# ...
option1 = weechat.config_new_option(config_file, section, "option1", "boolean",
@@ -8852,10 +8568,6 @@ Arguments:
_irc.color.message_quit_ _(WeeChat ≥ 1.2)_
** color with optional attributes/background (see below)
** attribute:
*** _blink_: set blink
*** _-blink_: remove blink
*** _dim_: set "dim" (half bright)
*** _-dim_: remove "dim" (half bright)
*** _bold_: set bold
*** _-bold_: remove bold
*** _reverse_: set reverse
@@ -8878,8 +8590,6 @@ Arguments:
Format of color is: attributes (optional) + color name + ",background"
(optional). Possible attributes are:
* `+%+`: blink
* `+.+`: "dim" (half bright)
* `+*+`: bold text
* `+!+`: reverse video
* `+/+`: italic
@@ -11186,16 +10896,6 @@ List of signals sent by WeeChat and plugins:
| Pointer: buffer.
| Merged buffer unzoomed.
| weechat | [[hook_signal_buffer_user_input_xxx]] buffer_user_input_xxx ^(2)^ | 3.8
| String: text sent to buffer.
| Text sent to a user buffer as input (sent only for buffers created with `/buffer add`). +
If the return code of a callback is _WEECHAT_RC_OK_EAT_, then the string "q"
can not be used any more to close the buffer.
| weechat | [[hook_signal_buffer_user_closing_xxx]] buffer_user_closing_xxx ^(2)^ | 3.8
| -
| User buffer is closing (sent only for buffers created with `/buffer add`).
| weechat | [[hook_signal_cursor_start]] cursor_start | 3.2
| -
| Start cursor mode.
@@ -11435,8 +11135,7 @@ List of signals sent by WeeChat and plugins:
|===
[NOTE]
^(1)^ _xxx_ is IRC server name, _yyy_ is IRC command name. +
^(2)^ _xxx_ is buffer name.
^(1)^ _xxx_ is IRC server name, _yyy_ is IRC command name.
C example:
@@ -13782,9 +13481,7 @@ Properties:
WEECHAT_HOTLIST_PRIVATE, WEECHAT_HOTLIST_HIGHLIGHT, "-1"
| "+": enable hotlist (global setting, buffer pointer is not used) +
"-": disable hotlist (global setting, buffer pointer is not used) +
priority: add buffer to hotlist with this priority
(conditions defined in option _weechat.look.hotlist_add_conditions_
are *NOT* checked) +
priority: add buffer to hotlist with this priority +
"-1": remove buffer from hotlist _(WeeChat ≥ 1.0)_.
| completion_freeze | | "0" or "1"
@@ -13793,9 +13490,8 @@ Properties:
"1": do not stop completion when command line is updated
(global setting, buffer pointer is not used).
| unread | | empty string or "0"
| empty string: set unread marker after last line of buffer +
"0": remove unread marker from buffer.
| unread | | -
| Set unread marker after last line of buffer.
| display | | "1" or "auto"
| "1": switch to this buffer in current window +
@@ -14082,7 +13778,7 @@ str = weechat.buffer_string_replace_local_var(my_buffer, "test with $toto")
==== buffer_match_list
_WeeChat ≥ 0.3.5, updated in 3.9._
_WeeChat ≥ 0.3.5._
Check if buffer matches a list of buffers.
@@ -14101,9 +13797,6 @@ Arguments:
** name beginning with `+!+` is excluded
** wildcard `+*+` is allowed in name
[NOTE]
Since version 3.9, comparison of buffer names is case sensitive.
Return value:
* 1 if buffer matches list of buffers, 0 otherwise
@@ -14117,7 +13810,7 @@ if (buffer)
{
weechat_printf (NULL, "%d", weechat_buffer_match_list (buffer, "*")); /* 1 */
weechat_printf (NULL, "%d", weechat_buffer_match_list (buffer, "*,!*#weechat*")); /* 0 */
weechat_printf (NULL, "%d", weechat_buffer_match_list (buffer, "irc.libera.*")); /* 1 */
weechat_printf (NULL, "%d", weechat_buffer_match_list (buffer, "irc.libera.*")); /* 1 */
weechat_printf (NULL, "%d", weechat_buffer_match_list (buffer, "irc.oftc.*,python.*")); /* 0 */
}
----
@@ -14134,7 +13827,7 @@ buffer = weechat.buffer_search("irc", "libera.#weechat")
if buffer:
weechat.prnt("", "%d" % weechat.buffer_match_list(buffer, "*")) # 1
weechat.prnt("", "%d" % weechat.buffer_match_list(buffer, "*,!*#weechat*")) # 0
weechat.prnt("", "%d" % weechat.buffer_match_list(buffer, "irc.libera.*")) # 1
weechat.prnt("", "%d" % weechat.buffer_match_list(buffer, "irc.libera.*")) # 1
weechat.prnt("", "%d" % weechat.buffer_match_list(buffer, "irc.oftc.*,python.*")) # 0
----
+5 -11
View File
@@ -134,6 +134,10 @@ receive a string of type `str` or `bytes` (this list is not exhaustive):
|===
In Python 2, which is now deprecated and should not be used any more, the
strings sent to callbacks are always of type `str`, and may contain invalid
UTF-8 data, in the cases mentioned above.
[[language_perl]]
==== Perl
@@ -191,22 +195,12 @@ Functions are called with `+weechat.xxx(arg1, arg2, ...)+`.
Functions are called with `+weechat::xxx arg1 arg2 ...+`.
[[tcl_null]]
===== Null values
Since Tcl only has string types, there's no null type to pass as an argument
when a function accepts null values or to get as an argument in a callback
function. To overcome this the WeeChat API defines the constant
when a function accepts null values. To overcome this you can use the constant
`$::weechat::WEECHAT_NULL` which acts as a null value. This constant is defined
as `\uFFFF\uFFFF\uFFFFWEECHAT_NULL\uFFFF\uFFFF\uFFFF`, so it's very unlikely to
appear unintentionally.
You can pass this constant when a function accepts null as an argument and you
will get it as the value of an argument in a callback function if the argument
value is null. To see which functions accept null values and passes null values
to callbacks, look at the Python prototypes in the
link:weechat_plugin_api.en.html[WeeChat plugin API reference ^↗^,window=_blank].
[[language_guile]]
==== Guile (Scheme)
+182 -208
View File
@@ -94,7 +94,7 @@ repository.
[[source_package]]
=== Source package
WeeChat must be built with CMake.
WeeChat can be compiled with CMake or autotools (CMake is recommended way).
[NOTE]
On macOS, you can use https://brew.sh/[Homebrew ^↗^,window=_blank]:
@@ -103,7 +103,7 @@ On macOS, you can use https://brew.sh/[Homebrew ^↗^,window=_blank]:
[[dependencies]]
==== Dependencies
The following table shows the list of packages that are *required* to build
The following table shows the list of packages that are *required* to compile
WeeChat:
[width="100%",cols="5,^3,.^15",options="header"]
@@ -111,10 +111,10 @@ WeeChat:
| Package ^(1)^ | Version | Features
| C compiler (gcc / clang) |
| Compile C sources.
| Build.
| cmake | ≥ 3.0
| Build.
| Build (autotools still possible, but CMake is recommended).
| pkg-config |
| Detect installed libraries.
@@ -161,7 +161,7 @@ WeeChat:
| gettext | | Internationalization (translation of messages; base language is English).
| ca-certificates | | Certificates for SSL connections.
| libaspell-dev / libenchant-dev | | Spell plugin.
| python3-dev | ≥ 3.0 | Python plugin.
| python3-dev ^(2)^ | | Python plugin.
| libperl-dev | | Perl plugin.
| ruby2.7, ruby2.7-dev | ≥ 1.9.1 | Ruby plugin.
| liblua5.4-dev | | Lua plugin.
@@ -180,7 +180,9 @@ WeeChat:
[NOTE]
^(1)^ Name comes from the Debian GNU/Linux Bullseye distribution, version and
name can be different in other distributions.
name can be different in other distributions. +
^(2)^ By default Python 3.x is used. If you enable option `+ENABLE_PYTHON2+`
(see below), only the version 2.7 of Python is recommended.
If you are using a Debian/Ubuntu based distribution, and if you have some
"deb-src" source entries in your file _/etc/apt/sources.list_, you can install
@@ -190,8 +192,8 @@ all dependencies with the command:
# apt-get build-dep weechat
----
[[build]]
==== Build
[[compile_with_cmake]]
==== Compile with CMake
* Installation in system directories (requires _root_ privileges):
@@ -295,6 +297,9 @@ List of commonly used options:
| ENABLE_PYTHON | `ON`, `OFF` | ON
| Compile <<scripting_plugins,Python plugin>>.
| ENABLE_PYTHON2 | `ON`, `OFF` | OFF
| Compile <<scripting_plugins,Python plugin>> using Python 2 instead of Python 3.
| ENABLE_RELAY | `ON`, `OFF` | ON
| Compile <<relay,Relay plugin>>.
@@ -343,21 +348,58 @@ Or with Curses interface:
$ ccmake ..
----
[[tests]]
==== Tests
[[compile_with_autotools]]
==== Compile with autotools
[WARNING]
Only CMake is officially supported to build WeeChat. You should use autotools
only if you are not able to use CMake. +
Build with autotools requires more dependencies and is slower than with CMake.
* Installation in system directories (requires _root_ privileges):
----
$ ./autogen.sh
$ mkdir build
$ cd build
$ ../configure
$ make
$ sudo make install
----
* Installation in custom directory (for example your home):
----
$ ./autogen.sh
$ mkdir build
$ cd build
$ ../configure --prefix=/path/to/directory
$ make
$ make install
----
Options can be used for _configure_ script, they can be displayed with this
command:
----
$ ./configure --help
----
[[run_tests]]
==== Run tests
Following packages are *required* to compile tests:
* libcpputest-dev
* C++ compiler
Tests must be enabled when compiling WeeChat:
Tests must be enabled when compiling WeeChat (with CMake):
----
$ cmake .. -DENABLE_TESTS=ON
----
They can be launched after compilation from the build directory:
They can be launched after compilation from the build directory (with CMake):
----
$ ctest -V
@@ -520,6 +562,77 @@ Then like for a crash, use command `bt full`:
(gdb) bt full
----
[[upgrade]]
== Upgrade
If a new stable version of WeeChat is released, this is time for you to
switch to this version.
First of all, you must install the new version of WeeChat, either with your
package manager or by compiling yourself, so that the `weechat` binary and all
required files are in the same paths. +
This can be done while WeeChat is running.
[[upgrade_command]]
=== Upgrade command
WeeChat can restart the new binary, in place, using the
<<command_weechat_upgrade,/upgrade>> command: the buffer contents and non-SSL
connections are preserved. +
The SSL connections are lost during upgrade and are restored automatically
after the upgrade (reload of SSL sessions is currently not possible
with GnuTLS).
The command can also be used if you have to restart the machine, for example
to upgrade the kernel or to move your WeeChat to another machine:
----
/upgrade -quit
----
This saves the current state in `*.upgrade` files. You can then either reboot
or move the whole WeeChat directories (config, data, cache) to another machine,
and restart WeeChat later with this command:
----
$ weechat --upgrade
----
[[restart_after_upgrade]]
=== Restart after upgrade
[[restart_release_notes]]
==== Release notes
After an upgrade, it is *strongly recommended* to read the
https://weechat.org/files/releasenotes/ReleaseNotes-devel.html[release notes ^↗^,window=_blank]
which contain important information about breaking changes and some
manual actions that could be required.
You must read the release notes of all versions between your old (excluded) and
your new version (included). +
For example if you switch from version 3.0 to 3.2, you must read release notes
of versions 3.1 and 3.2.
[[restart_configuration_upgrade]]
==== Configuration upgrade
WeeChat has an automatic upgrade of configuration files (`*.conf`):
* new options are silently added with default value
* obsolete options are automatically discarded and WeeChat displays a warning
with the value read from file.
Example of warning when an option has been removed:
----
=!= Warning: /home/user/.config/weechat/sec.conf, line 15: unknown option for section "crypt": passphrase_file = ""
----
That means the option `sec.crypt.passphrase_file` has been removed, and you
had value set to empty string, which was the default value in the previous version
(in this case no manual action is required).
[[running_weechat]]
== Running WeeChat
@@ -621,11 +734,11 @@ and set like this:
[width="100%",cols="1,2m,5",options="header"]
|===
| Directory | Default value | Fallback value if $XDG_XXX is not defined
| config | $XDG_CONFIG_HOME/weechat | `$HOME/.config/weechat`
| data | $XDG_DATA_HOME/weechat | `$HOME/.local/share/weechat`
| cache | $XDG_CACHE_HOME/weechat | `$HOME/.cache/weechat`
| runtime | $XDG_RUNTIME_DIR/weechat | Same as _cache_ directory
| Directory | Default value | Fallback value
| config | $XDG_CONFIG_HOME/weechat | `$HOME/.config/weechat` if `$XDG_CONFIG_HOME` is not defined or empty.
| data | $XDG_DATA_HOME/weechat | `$HOME/.local/share/weechat` if `$XDG_DATA_HOME` is not defined or empty.
| cache | $XDG_CACHE_HOME/weechat | `$HOME/.cache/weechat` if `$XDG_CACHE_HOME` is not defined or empty.
| runtime | $XDG_RUNTIME_DIR/weechat | Same as _cache_ directory if `$XDG_RUNTIME_DIR` is not defined or empty.
|===
The configuration files are created with default values the first time you run WeeChat.
@@ -710,77 +823,6 @@ and after any change you must run the command <<command_weechat_reload,/reload>>
You can use the command <<command_weechat_set,/set>>, which checks the value
and applies immediately the changes.
[[upgrade]]
== Upgrade
If a new stable version of WeeChat is released, this is time for you to
switch to this version.
First of all, you must install the new version of WeeChat, either with your
package manager or by compiling yourself, so that the `weechat` binary and all
required files are in the same paths. +
This can be done while WeeChat is running.
[[upgrade_command]]
=== Upgrade command
WeeChat can restart the new binary, in place, using the
<<command_weechat_upgrade,/upgrade>> command: the buffer contents and non-SSL
connections are preserved. +
The SSL connections are lost during upgrade and are restored automatically
after the upgrade (reload of SSL sessions is currently not possible
with GnuTLS).
The command can also be used if you have to restart the machine, for example
to upgrade the kernel or to move your WeeChat to another machine:
----
/upgrade -quit
----
This saves the current state in `*.upgrade` files. You can then either reboot
or move the whole WeeChat directories (config, data, cache) to another machine,
and restart WeeChat later with this command:
----
$ weechat --upgrade
----
[[restart_after_upgrade]]
=== Restart after upgrade
[[restart_release_notes]]
==== Release notes
After an upgrade, it is *strongly recommended* to read the
https://weechat.org/files/releasenotes/ReleaseNotes-devel.html[release notes ^↗^,window=_blank]
which contain important information about breaking changes and some
manual actions that could be required.
You must read the release notes of all versions between your old (excluded) and
your new version (included). +
For example if you switch from version 3.0 to 3.2, you must read release notes
of versions 3.1 and 3.2.
[[restart_configuration_upgrade]]
==== Configuration upgrade
WeeChat has an automatic upgrade of configuration files (`*.conf`):
* new options are silently added with default value
* obsolete options are automatically discarded and WeeChat displays a warning
with the value read from file.
Example of warning when an option has been removed:
----
=!= Warning: /home/user/.config/weechat/sec.conf, line 15: unknown option for section "crypt": passphrase_file = ""
----
That means the option `sec.crypt.passphrase_file` has been removed, and you
had value set to empty string, which was the default value in the previous version
(in this case no manual action is required).
[[interface]]
== Interface
@@ -876,7 +918,7 @@ Bar _input_ has following default items:
| input_prompt | `[@Flashy(i)]` | Input prompt, for irc: nick and modes (mode "+i" means invisible on libera).
| away | `(away)` | Away indicator.
| input_search | `[Search (~ str,msg)]` | Search indicator ("`~`": case insensitive, "`==`": case sensitive, "`str`": search string, "`regex`": search regular expression, "`msg`": search in messages, "`pre`": search in prefixes, "`pre\|msg`": search in prefixes and messages).
| input_paste | `[Paste 7 lines ? [ctrl-y] Yes [ctrl-n] No]` | Question to user for pasting lines.
| input_paste | `[Paste 7 lines ? [ctrl-Y] Yes [ctrl-N] No]` | Question to user for pasting lines.
| input_text | `hi peter!` | Input text.
|===
@@ -1532,9 +1574,9 @@ They can be changed and new ones can be added with the <<command_weechat_key,/ke
|===
| Key | Description | Command
| kbd:[Ctrl+r] | Search for text in buffer history (see <<key_bindings_search_context,keys for search context>>). | `+/input search_text_here+`
| kbd:[Ctrl+s], kbd:[Ctrl+u] | Set unread marker on all buffers. | `+/allbuf /buffer set unread+`
| kbd:[Ctrl+x] | Switch current buffer if buffers are merged with same number, for example switch to another IRC server buffer. | `+/buffer switch+`
| kbd:[Alt+x] | Zoom on merged buffer (kbd:[Alt+x] again: display all merged buffers). | `+/buffer zoom+`
| kbd:[Ctrl+s], kbd:[Ctrl+u] | Set unread marker on all buffers. | `+/input set_unread+`
| kbd:[Ctrl+x] | Switch current buffer if buffers are merged with same number, for example switch to another IRC server buffer. | `+/input switch_active_buffer+`
| kbd:[Alt+x] | Zoom on merged buffer (kbd:[Alt+x] again: display all merged buffers). | `+/input zoom_merged_buffer+`
| kbd:[PgUp] | Scroll up one page in buffer history. | `+/window page_up+`
| kbd:[PgDn] | Scroll down one page in buffer history. | `+/window page_down+`
| kbd:[Alt+PgUp] | Scroll up a few lines in buffer history. | `+/window scroll_up+`
@@ -1558,9 +1600,9 @@ They can be changed and new ones can be added with the <<command_weechat_key,/ke
| kbd:[Alt+n] | Scroll to next highlight. | `+/window scroll_next_highlight+`
| kbd:[Alt+p] | Scroll to previous highlight. | `+/window scroll_previous_highlight+`
| kbd:[Alt+u] | Scroll to first unread line in buffer. | `+/window scroll_unread+`
| kbd:[Alt+<] | Switch to previous buffer in list of visited buffers. | `+/buffer jump prev_visited+`
| kbd:[Alt+>] | Switch to next buffer in list of visited buffers. | `+/buffer jump next_visited+`
| kbd:[Alt+/] | Switch to last buffer displayed (before last jump to a buffer). | `+/buffer jump last_displayed+`
| kbd:[Alt+<] | Switch to previous buffer in list of visited buffers. | `+/input jump_previously_visited_buffer+`
| kbd:[Alt+>] | Switch to next buffer in list of visited buffers. | `+/input jump_next_visited_buffer+`
| kbd:[Alt+/] | Switch to last buffer displayed (before last jump to a buffer). | `+/input jump_last_buffer_displayed+`
|===
[[key_bindings_windows]]
@@ -1612,11 +1654,11 @@ They can be changed and new ones can be added with the <<command_weechat_key,/ke
[width="100%",cols="^.^3,.^8,.^5",options="header"]
|===
| Key | Description | Command
| kbd:[Alt+a] | Switch to next buffer with activity (with priority: highlight, message, other). | `+/buffer jump smart+`
| kbd:[Alt+h], kbd:[Alt+c] | Clear hotlist (activity notification on buffers). | `+/hotlist clear+`
| kbd:[Alt+h], kbd:[Alt+m] | Remove current buffer from hotlist. | `+/hotlist remove+`
| kbd:[Alt+h], kbd:[Alt+r] | Restore latest hotlist removed in the current buffer. | `+/hotlist restore+`
| kbd:[Alt+h], kbd:[Alt+Shift+R] | Restore latest hotlist removed in all buffers. | `+/hotlist restore -all+`
| kbd:[Alt+a] | Switch to next buffer with activity (with priority: highlight, message, other). | `+/input jump_smart+`
| kbd:[Alt+h], kbd:[Alt+c] | Clear hotlist (activity notification on buffers). | `+/input hotlist_clear+`
| kbd:[Alt+h], kbd:[Alt+m] | Remove current buffer from hotlist. | `+/input hotlist_remove_buffer+`
| kbd:[Alt+h], kbd:[Alt+r] | Restore latest hotlist removed in the current buffer. | `+/input hotlist_restore_buffer+`
| kbd:[Alt+h], kbd:[Alt+Shift+R] | Restore latest hotlist removed in all buffers. | `+/input hotlist_restore_all+`
|===
[[key_bindings_toggle_keys]]
@@ -1693,7 +1735,7 @@ These mouse actions are possible only if mouse is enabled with key kbd:[Alt+m]
| ◾◽◽ | left | chat | Switch to previous buffer. | `+/window ${_window_number};/buffer +1+`
| ◾◽◽ | right | chat | Switch to next buffer. | `+/window ${_window_number};/buffer +1+`
| ◾◽◽ | left (long) | chat | Switch to first buffer. | `+/window ${_window_number};/buffer 1+`
| ◾◽◽ | right (long) | chat | Switch to last buffer. | `+/window ${_window_number};/buffer ++`
| ◾◽◽ | right (long) | chat | Switch to last buffer. | `+/window ${_window_number};/input jump_last_buffer+`
| kbd:[▲] | - | chat | Scroll up a few lines in buffer history. | `+/window scroll_up -window ${_window_number}+`
| kbd:[▼] | - | chat | Scroll down a few lines in buffer history. | `+/window scroll_down -window ${_window_number}+`
| kbd:[Ctrl+▲] | - | chat | Scroll horizontally to the left. | `+/window scroll_horiz -window ${_window_number} -10%+`
@@ -1938,14 +1980,12 @@ For example:
It is possible to use some attributes for colors. One or more attributes can be
added before color name or number:
* `+%+`: blink
* `+.+`: "dim" (half bright)
* `+*+`: bold text
* `+!+`: reverse video
* `+/+`: italic
* `+_+`: underlined text
* `+|+`: keep attributes: do not reset blink/dim/bold/reverse/italic/underlined
when changing color
* `+|+`: keep attributes: do not reset bold/reverse/italic/underlined when
changing color
For example if you want self nick as white underlined, do:
@@ -2175,7 +2215,7 @@ For example to disable any highlight on messages with a word beginning
with "flash" between chevrons:
----
/set weechat.look.highlight_disable_regex "<flash.*>"
/set weechat.look.highlight_regex "<flash.*>"
----
This can also be set with the buffer property "highlight_disable_regex".
@@ -4625,8 +4665,8 @@ A trigger has the following options (names are
<<command_weechat_eval,/eval>>).
| regex | string
| One or more regex "commands" (similar to the `sed` command) to change data
received in the hook callback (and some stuff added by trigger plugin), see
| One or more POSIX extended regular expressions, to change data received in the
hook callback (and some stuff added by trigger plugin), see
<<trigger_regex,regular expression>>.
| command | string
@@ -4799,106 +4839,8 @@ ${tg_displayed} && (${tg_highlight} || ${tg_msg_pv})
The regular expression is used to change variables in callback hashtable.
Format is one of the following:
----
/string1/string2
/string1/string2/var
s/string1/string2
s/string1/string2/var
y/string1/string2
y/string1/string2/var
----
Fields:
* `s` or `y`: a letter with the command; if missing, default command is `s`
and the first char is then used as the delimiter:
** `s`: regex replacement: first string is a regular expression, second string
is the replacement for every matching string
** `y`: chars translation: first string is a set of characters that are replaced
by the characters in the second string; once evaluated, each string must have
exactly the same number of UTF-8 chars
* `/`: the regex delimiter; the char "/" can be replaced by any char
(one or more identical chars)
* `string1`: the first string (use depends on the command)
* `string2`: the second string (use depends on the command)
* `var`: the hashtable variable to update
Many regular expressions can be separated by a space, for example:
----
s/regex1/replace1/var1 y/abcdef/ABDDEF/var2
----
[[trigger_regex_replace]]
==== Regex replace
For the command `s`, the format is: `s/regex/replace` or `s/regex/replace/var`
(where _var_ is a variable of the hashtable).
As `s` is the default command, it can be omitted, so `/regex/replace` is also
valid (but the first char, which is the delimiter, must not be a letter).
Matching groups can be used in _replace_:
* `+${re:0}+` to `+${re:99}+`: `+${re:0}+` is the whole match, `+${re:1}+` to
`+${re:99}+` are groups captured
* `+${re:+}+`: the last match (with highest number)
* `+${hide:c,${re:N}}+`: match "N" with all chars replaced by "c"
(example: `+${hide:*,${re:2}}+` is the group #2 with all chars replaced by
`+*+`).
Example: use bold for words between `+*+`:
----
s/\*([^ ]+)\*/*${color:bold}${re:1}${color:-bold}*/
----
Example: default trigger _server_pass_ uses this regular expression to hide
password in commands `/server` and `/connect` (chars in passwords are replaced
by `+*+`):
----
s==^(/(server|connect) .*-(sasl_)?password=)([^ ]+)(.*)==${re:1}${hide:*,${re:4}}${re:5}
----
[NOTE]
In this example, the delimiter used is "==" because there is a "/" in the
regular expression.
[[trigger_regex_translate_chars]]
==== Translate chars
For the command `y`, the format is: `y/chars1/chars2` or `y/chars1/chars2/var`
(where _var_ is a variable of the hashtable).
Example: replace "a", "b" and "c" by upper case letter:
----
y/abc/ABC/
----
Example: rotate arrows clockwise:
----
y/←↑→↓/↑→↓←/
----
Example: convert all letters to lower case:
----
y/${chars:upper}/${chars:lower}/
----
Example: shift each letter by one position, preserving case: a→b, b→c … y→z, z→a:
----
y/${chars:a-z}${chars:A-Z}/${chars:b-z}a${chars:B-Z}A/
----
[[trigger_regex_variable]]
==== Variable
The format is: "/regex/replace" or "/regex/replace/var" (where _var_ is a
variable of the hashtable).
If _var_ does not exist in the hashtable, it is created automatically with an
empty value. This allows to create custom temporary variables.
@@ -4927,6 +4869,38 @@ type:
^(1)^ All variables can be updated in the trigger, but only these variables
have an effect on the value returned by the trigger and used by WeeChat.
Many regular expressions can be separated by a space, for example:
"/regex1/replace1/var1 /regex2/replace2/var2".
The char "/" can be replaced by any char (one or more identical chars).
Matching groups can be used in "replace":
* `+${re:0}+` to `+${re:99}+`: `+${re:0}+` is the whole match, `+${re:1}+` to
`+${re:99}+` are groups captured
* `+${re:+}+`: the last match (with highest number)
* `+${hide:c,${re:N}}+`: match "N" with all chars replaced by "c"
(example: `+${hide:*,${re:2}}+` is the group #2 with all chars replaced by
`+*+`).
Example: use bold for words between `+*+`:
----
/\*([^ ]+)\*/*${color:bold}${re:1}${color:-bold}*/
----
Example: default trigger _server_pass_ uses this regular expression to hide
password in commands `/server` and `/connect` (chars in passwords are replaced
by `+*+`):
----
==^(/(server|connect) .*-(sasl_)?password=)([^ ]+)(.*)==${re:1}${hide:*,${re:4}}${re:5}
----
[NOTE]
In this example, the delimiter used is "==" because there is a "/" in the
regular expression.
[[trigger_command]]
=== Command
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2012-2023 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2012-2022 Sébastien Helleu <flashcode@flashtux.org>
#
# This file is part of WeeChat, the extensible chat client.
#
+77
View File
@@ -0,0 +1,77 @@
#
# Copyright (C) 2012-2022 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/>.
#
docdir = $(datadir)/doc/$(PACKAGE)
EXTRA_DIST = CMakeLists.txt \
docinfo.html \
weechat_faq.es.adoc \
weechat_quickstart.es.adoc
if MAN
man_targets =
man_install =
man_uninstall =
endif
if DOC
doc_targets = weechat_faq.es.html \
weechat_quickstart.es.html
doc_install = install-doc
doc_uninstall = uninstall-doc
endif
all-local: $(man_targets) $(doc_targets)
# FAQ
weechat_faq.es.html: weechat_faq.es.adoc $(abs_top_srcdir)/doc/docinfo.html
$(ASCIIDOCTOR) $(ASCIIDOCTOR_ARGS) -a revnumber="$(VERSION)" -o weechat_faq.es.html $(abs_top_srcdir)/doc/es/weechat_faq.es.adoc
# quickstart
weechat_quickstart.es.html: weechat_quickstart.es.adoc $(abs_top_srcdir)/doc/docinfo.html
$(ASCIIDOCTOR) $(ASCIIDOCTOR_ARGS) -a revnumber="$(VERSION)" -o weechat_quickstart.es.html $(abs_top_srcdir)/doc/es/weechat_quickstart.es.adoc
# install man/docs
install-data-hook: $(man_install) $(doc_install)
install-man:
$(mkinstalldirs) $(DESTDIR)$(mandir)/es/man1/
$(INSTALL_DATA) *.1 $(DESTDIR)$(mandir)/es/man1/
(cd '$(DESTDIR)$(mandir)/es/man1/' && $(RM) weechat-headless.1 && $(LN_S) weechat.1 weechat-headless.1)
install-doc:
$(mkinstalldirs) $(DESTDIR)$(docdir)/
$(INSTALL_DATA) *.html $(DESTDIR)$(docdir)/
# uninstall man/docs
uninstall-hook: $(man_uninstall) $(doc_uninstall)
uninstall-man:
$(RM) $(DESTDIR)$(mandir)/es/man1/weechat.1
$(RM) $(DESTDIR)$(mandir)/es/man1/weechat-headless.1
-rmdir $(DESTDIR)$(mandir)/es/man1
uninstall-doc:
$(RM) $(DESTDIR)$(docdir)/*.es.html
-rmdir $(DESTDIR)$(docdir)
# clean
clean-local:
-$(RM) weechat_*.html
+121 -50
View File
@@ -13,6 +13,9 @@ Traductores
* Victorhck <victorhck.mailbox.org>, 2021
Este documento está escrito para versiones de WeeChat ≥ 0.3.0 pero siempre es preferible
usar la última versión estable de WeeChat.
toc::[]
@@ -50,15 +53,16 @@ https://weechat.org/about/interfaces/[remote interfaces page ^↗^,window=_blan
[[compile_git]]
=== No puedo compilar WeeChat después de haber clonado el repositorio git, ¿por qué?
// TRANSLATION MISSING
WeeChat must be compiled with CMake.
La manera recomendada para compilar WeeChat es con
link:weechat_user.en.html#compile_with_cmake[CMake ^↗^,window=_blank].
// TRANSLATION MISSING
Please follow link:weechat_user.en.html#source_package[build instructions ^↗^,window=_blank]
and ensure all required dependencies are installed.
Si lo está compilando con link:weechat_user.en.html#compile_with_autotools[autotools ^↗^,window=_blank]
(y no con CMake), compruebe que tiene la versión más reciente de autoconf y automake.
// TRANSLATION MISSING
If you still have issues, please report them to the developers.
Otra forma es instalar "devel package", que necesita menos dependencias.
Este paquete está compilado casi cada día utilizando el repositorio git. Tenga en cuenta que este
paquete puede no corresponder exactamente con la base de git y es menos conveniente
que la opción de clonar el repositorio de git a la hora de instalar actualizaciones.
[[compile_macos]]
=== ¿Cómo puedo instalar WeeChat en macOS?
@@ -189,10 +193,17 @@ ventanas.
[[buffers_list]]
=== ¿Cómo mostrar un listado de los buffers en la parte izquierda?
El complemento link:weechat_user.en.html#buflist[buflist ^↗^,window=_blank]
Con WeeChat ≥ 1.8, el complemento link:weechat_user.en.html#buflist[buflist ^↗^,window=_blank]
está cargado y habilitado de manera predeterminada.
Para limitar el tamaño de la barra:
Con versiones anteriores, puede instalar el script _buffers.pl_:
----
/script install buffers.pl
----
Para limitar el tamaño de la barra (reemplace "buflist" por "buffers" si está utilizando el script
_buffers.pl_):
----
/set weechat.bar.buflist.size_max 15
@@ -210,6 +221,21 @@ con la rueda del ratón.
Las teclas predeterminadas para _hacer scroll_ en la barra son kbd:[F1] (o kbd:[Ctrl+F1]), kbd:[F2]
(o kbd:[Ctrl+F2]), kbd:[Alt+F1] y kbd:[Alt+F2].
Para el script _buffers.pl_, puede definir las teclas, similares a las teclas existentes para
hacer _scroll_ en la lista de apodos. +
Por ejemplo para utilizar kbd:[F1], kbd:[F2], kbd:[Alt+F1] y 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]
Las teclas "meta-OP" y "meta-OQ" pueden ser diferentes en su terminal. Para encontrar el código
de la tecla, pulse kbd:[Alt+k] y después la tecla.
[[customize_buflist]]
=== ¿Cómo puedo personalizar la lista de lista de buffers, como el color del buffer activo?
@@ -326,9 +352,9 @@ en ninguna barra:
[[terminal_copy_paste]]
=== ¿Cómo puedo copiar/pegar texto sin pegar la lista de apodos?
// TRANSLATION MISSING
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.
Con WeeChat ≥ 1.0, puedes utilizar una visualización simple (la tecla predeterminada: kbd:[Alt+l] (`L`)),
que mostrará solo el contenido de la ventana actual seleccionada,
sin ningún tipo de formato de texto.
Puede utilizar una terminal con selección rectangualr (como rxvt-unicode,
konsole, gnome-terminal, etc.). La tecla normalmente es kbd:[Ctrl] + kbd:[Alt] + la selección
@@ -343,8 +369,7 @@ Otra solución es mover la lista de apodos a la parte superior o inferior, por e
[[urls]]
=== ¿Cómo puedo hacer clic sobre direcciones URL largas (de más de una línea)?
// TRANSLATION MISSING
You can use the bare display (default key: kbd:[Alt+l] (`L`)).
Con WeeChat ≥ 1.0, puede utilizar la visualización simple (la tecla predeterminada: kbd:[Alt+l] (`L`)).
Para abrir direcciones URL más fácilmente, puede:
@@ -354,7 +379,7 @@ Para abrir direcciones URL más fácilmente, puede:
/set weechat.bar.nicklist.position top
----
* inhabilitar la alineación de palabras multilínea:
* inhabilitar la alineación de palabras multilínea (WeeChat ≥ 1.7):
----
/set weechat.look.align_multiline_words off
@@ -366,9 +391,9 @@ Para abrir direcciones URL más fácilmente, puede:
/set weechat.look.align_end_of_lines time
----
// TRANSLATION MISSING
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):
Con WeeChat ≥ 0.3.6, puede habilitar la opción "eat_newline_glitch", así
el caracter de la nueva línea no es añadido al final de cada línea mostrada (esto no romperá
la selección de la dirección URL):
----
/set weechat.look.eat_newline_glitch on
@@ -415,6 +440,8 @@ En WeeChat, el nuevo valor es inmediatamente utilizado:
[[use_256_colors]]
=== ¿Cómo puedo utilizar 256 colors en WeeChat?
256 colors están admitidos con WeeChat ≥ 0.3.4.
Primero compruebe que su variable de entorno _TERM_ es correcta, los valores recomendados
son:
@@ -432,16 +459,17 @@ term screen-256color
----
Si su variable _TERM_ tiene un valor erróneo y ya WeeChat está ejecutándose,
puede cambiarlo con estos dos comandos:
puede cambiarlo con estos dos comandos (en WeeChat ≥ 1.0):
----
/set env TERM screen-256color
/upgrade
----
// TRANSLATION MISSING
You can use any color number in options (optional: you can add color aliases
with command `/color`).
Para la versión 0.3.4, deberá utilizar el comando `/color` para añadir nuevos colores.
Para versiones ≥ 0.3.5, puede utilizar cualquier número de color en las opciones (opcional: puede
añadir alias al color con el comando `/color`).
Por favor lea la link:weechat_user.en.html#colors[Guía del usuario / Colores ^↗^,window=_blank] para más
información sobre la gestión de los colores.
@@ -486,7 +514,7 @@ comandos que prefiera):
Por ejemplo, para marcar buffers como leidos cuando una terminal pierde el foco:
----
/key bind meta2-O /allbuf /buffer set unread
/key bind meta2-O /input set_unread
----
[[screen_paste]]
@@ -658,6 +686,8 @@ de la tecla pulse kbd:[Alt+k] y después la tecla.
[[mouse_not_working]]
=== El ratón no funciona en absoluto, ¿qué puedo hacer?
El ratón tiene soporte desde WeeChat ≥ 0.3.6.
Primero trate de habilitar el ratón:
----
@@ -707,6 +737,12 @@ tiene que utilizar kbd:[Alt] en vez de kbd:[Shift]).
Si está utilizando macOS, deberá instalar `openssl` desde Homebrew.
Se añadirá un archivo CA que utiliza los certificados del sistema.
Con WeeChat ≤ 3.1, puede establecer la ruta de los certificados del sistema:
----
/set weechat.network.gnutls_ca_file "/usr/local/etc/openssl/cert.pem"
----
Si ve errores en gnutls handshake, puede intentar utilizar una clave de cifrado menor
Diffie-Hellman (la predeterminada es 2048):
@@ -731,8 +767,8 @@ debería ser, puede especificar la huella (fingerprint) (SHA-512, SHA-256 or SHA
[[irc_ssl_handshake_error]]
=== Al conectar a un servidor con SSL, solo veo el error "TLS handshake failed", ¿qué puedo hacer?
Puede intentar una cadena de prioridad diferente, reemplace "xxx" por el nombre
de su servidor:
Puede intentar una cadena de prioridad diferente (WeeChat ≥ 0.3.5 únicamente), reemplace "xxx"
por el nombre de su servidor:
----
/set irc.server.xxx.ssl_priorities "NORMAL:-VERS-TLS-ALL:+VERS-TLS1.0:+VERS-SSL3.0:%COMPAT"
@@ -741,9 +777,22 @@ de su servidor:
[[irc_ssl_libera]]
=== ¿Cómo puedo conectarme al servidor libera utilizando SSL?
// TRANSLATION MISSING
Check that you have certificates installed on your system, this is commonly
provided by the package "ca-certificates".
Con WeeChat ≤ 3.1, establezca la opción _weechat.network.gnutls_ca_file_ en el archivo con
los certificados:
----
/set weechat.network.gnutls_ca_file "/etc/ssl/certs/ca-certificates.crt"
----
Nota: Si está ejecutando macOS con Homebrew openssl instalado, puede ejecutar:
----
/set weechat.network.gnutls_ca_file "/usr/local/etc/openssl/cert.pem"
----
[NOTE]
Compruebe que tiene este archivo en su sistema (normalmente viene ofrecido por el paquete
"ca-certificates").
Establezca el puerto del servidor, SSL, después conecte:
@@ -808,8 +857,8 @@ For a single server:
----
// TRANSLATION MISSING
You can also add the current channel in the "autojoin" server option using the
`/autojoin` command:
With WeeChat ≥ 3.5, you can also add the current channel in the "autojoin"
server option using the `/autojoin` command:
----
/autojoin add
@@ -823,7 +872,26 @@ Or another channel:
----
// TRANSLATION MISSING
There are also scripts:
With WeeChat ≤ 3.4, puede utilizar el comando `/set` para editar la lista de
canales con autojoin, por ejemplo, para el servidor "libera":
----
/set irc.server.libera.autojoin [TAB]
----
[NOTE]
Puede completar el nombre y el valor de la opción con la tecla kbd:[Tab]
(o kbd:[Shift+Tab] para completar el comando de manera parcial, útil para el nombre). +
De esta manera no tendrá que escribir la lista completa de canales.
También puede utilizar el comando `/fset` para editar la lista de canales:
----
/fset autojoin
----
// TRANSLATION MISSING
With WeeChat ≤ 3.4, otra solución es utilizar un script:
----
/script search autojoin
@@ -868,10 +936,9 @@ link:weechat_user.en.html#irc_smart_filter_join_part_quit[Guía del usuario / Fi
[[filter_irc_join_channel_messages]]
=== ¿Cómo puedo filtrar algunos mensajes mostrados cuando me uno a un canal IRC?
// TRANSLATION MISSING
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).
Con WeeChat ≥ 0.4.1, puede escoger qué mensajes son mostrados cuando
se une a un canal mediante la opción _irc.look.display_join_message_ (vea
`+/help irc.look.display_join_message+` para más información).
Para ocultar mensajes (pero mantenerlos en el buffer), puede filtrarlos utilizando la etiqueta propia del mensaje
(por ejemplo _irc_329_ para la fecha de creación del canal). Vea `/help filter` para más información
@@ -926,14 +993,17 @@ apodos:
/set irc.server_default.away_check_max_nicks 25
----
[NOTE]
Para WeeChat ≤ 0.3.3, las opciones son _irc.network.away_check_ y
_irc.network.away_check_max_nicks_.
[[highlight_notification]]
=== ¿Cómo puedo ser advertido cuando alguien me menciona en un canal?
// TRANSLATION MISSING
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.
Con WeeChat ≥ 1.0, hay un disparador "beep" que envía un _BEL_ a
a la terminal cuando alguien le menciona o le manda un privado. Además puede configurar su
terminal (o multiplexador como screen/tmux) para ejecutar un comando o reproducir un sonido
cuando suceda un evento _BEL_.
O puede añadir un comando al disparador "beep":
@@ -958,11 +1028,10 @@ Otros scripts para este tema:
[[disable_highlights_for_specific_nicks]]
=== ¿Cómo puedo inhabilitar las menciones de unos apodos específicos?
// TRANSLATION MISSING
You can use the
Con WeeChat ≥ 0.3.4 puede utilizar
link:weechat_user.en.html#max_hotlist_level_nicks[hotlist_max_level_nicks_add ^↗^,window=_blank]
buffer property to set the max hotlist level for some nicks, per buffer,
or per group of buffers (like IRC servers).
esta propiedad del buffer para configurar el nivel máximo de la hotlist para algunos apodos, por buffer,
o por grupo de buffers (como servidores IRC).
Para únicamente inhabilitar las notificaciones, debería establecerlo a 2:
@@ -996,7 +1065,7 @@ Para más ejemplos, vea `+/help buffer_autoset+`.
[[irc_target_buffer]]
=== ¿Cómo puedo cambiar el objetivo del buffer para comandos en buffers unidos (como en un buffer con servidores)?
La tecla predeterminada es kbd:[Ctrl+x] (el comando es: `+/buffer switch+`).
La tecla predeterminada es kbd:[Ctrl+x] (el comando es: `+/input switch_active_buffer+`).
[[plugins_scripts]]
== Complementos / scripts
@@ -1016,9 +1085,8 @@ Deberá configurar lo siguiente:
[[install_scripts]]
=== ¿Cómo puedo instalar scripts? ¿Son los scripts compatibles con otros clientes IRC?
// TRANSLATION MISSING
You can use the command `/script` to install and manage scripts (see `/help script`
for help).
Con WeeChat ≥ 0.3.9 puede utilizar el comando `/script` para instalar y gestionar los scripts
(vea `/help script` para obtener más ayuda). Para versiones anteriores existe weeget.py y script.pl.
Los scripts no son compatibles con otros clientes IRC.
@@ -1033,9 +1101,8 @@ Si todavía no funciona, trate de manera manual eliminar los archivos de scripts
$ rm ~/.cache/weechat/script/plugins.xml.gz
----
// TRANSLATION MISSING
[NOTE]
If you are not using the XDG directories, the path could be: _~/.weechat/script/plugins.xml.gz_.
Con WeeChat ≤ 3.1, la ruta debería ser: _~/.weechat/script/plugins.xml.gz_.
Y vuelva a actualitar los scripts de nuevo en WeeChat:
@@ -1078,6 +1145,10 @@ Deberá recargar el complemento spell:
/plugin reload spell
----
[NOTE]
Con WeeChat ≤ 2.4, el complemento "spell" fue renombrado a "aspell", así que el comando sería:
`/plugin reload aspell`.
[[settings]]
== Ajustes
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2023 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
#
# This file is part of WeeChat, the extensible chat client.
#
+129
View File
@@ -0,0 +1,129 @@
#
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2006 Julien Louis <ptitlouis@sysif.net>
#
# 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/>.
#
docdir = $(datadir)/doc/$(PACKAGE)
EXTRA_DIST = CMakeLists.txt \
docinfo.html \
weechat.1.fr.adoc \
weechat-headless.1.fr.adoc \
weechat_user.fr.adoc \
weechat_plugin_api.fr.adoc \
weechat_scripting.fr.adoc \
weechat_faq.fr.adoc \
weechat_quickstart.fr.adoc \
weechat_relay_protocol.fr.adoc \
weechat_dev.fr.adoc \
includes/autogen_api_completions.fr.adoc \
includes/autogen_api_hdata.fr.adoc \
includes/autogen_api_infolists.fr.adoc \
includes/autogen_api_infos.fr.adoc \
includes/autogen_api_infos_hashtable.fr.adoc \
includes/autogen_api_plugins_priority.fr.adoc \
includes/autogen_api_url_options.fr.adoc \
includes/autogen_user_commands.fr.adoc \
includes/autogen_user_default_aliases.fr.adoc \
includes/autogen_user_irc_colors.fr.adoc \
includes/autogen_user_options.fr.adoc \
includes/cmdline_options.fr.adoc \
includes/man.fr.adoc
if MAN
man_targets = weechat.1 \
weechat-headless.1
man_install = install-man
man_uninstall = uninstall-man
endif
if DOC
doc_targets = weechat_user.fr.html \
weechat_plugin_api.fr.html \
weechat_scripting.fr.html \
weechat_faq.fr.html \
weechat_quickstart.fr.html \
weechat_relay_protocol.fr.html \
weechat_dev.fr.html
doc_install = install-doc
doc_uninstall = uninstall-doc
endif
all-local: $(man_targets) $(doc_targets)
# man pages
weechat.1: weechat.1.fr.adoc includes/cmdline_options.fr.adoc includes/man.fr.adoc
$(ASCIIDOCTOR) $(ASCIIDOCTOR_ARGS) -a revnumber="$(VERSION)" -b manpage -o weechat.1 $(abs_top_srcdir)/doc/fr/weechat.1.fr.adoc
weechat-headless.1: weechat-headless.1.fr.adoc includes/cmdline_options.fr.adoc includes/man.fr.adoc
$(ASCIIDOCTOR) $(ASCIIDOCTOR_ARGS) -a revnumber="$(VERSION)" -b manpage -o weechat-headless.1 $(abs_top_srcdir)/doc/fr/weechat-headless.1.fr.adoc
# user's guide
weechat_user.fr.html: weechat_user.fr.adoc includes/cmdline_options.fr.adoc $(wildcard includes/autogen_user_*.adoc) $(abs_top_srcdir)/doc/docinfo.html
$(ASCIIDOCTOR) $(ASCIIDOCTOR_ARGS) -a revnumber="$(VERSION)" -o weechat_user.fr.html $(abs_top_srcdir)/doc/fr/weechat_user.fr.adoc
# plugin API reference
weechat_plugin_api.fr.html: weechat_plugin_api.fr.adoc $(wildcard includes/autogen_api_*.adoc) $(abs_top_srcdir)/doc/docinfo.html
$(ASCIIDOCTOR) $(ASCIIDOCTOR_ARGS) -a revnumber="$(VERSION)" -o weechat_plugin_api.fr.html $(abs_top_srcdir)/doc/fr/weechat_plugin_api.fr.adoc
# scripting guide
weechat_scripting.fr.html: weechat_scripting.fr.adoc $(abs_top_srcdir)/doc/docinfo.html
$(ASCIIDOCTOR) $(ASCIIDOCTOR_ARGS) -a revnumber="$(VERSION)" -o weechat_scripting.fr.html $(abs_top_srcdir)/doc/fr/weechat_scripting.fr.adoc
# FAQ
weechat_faq.fr.html: weechat_faq.fr.adoc $(abs_top_srcdir)/doc/docinfo.html
$(ASCIIDOCTOR) $(ASCIIDOCTOR_ARGS) -a revnumber="$(VERSION)" -o weechat_faq.fr.html $(abs_top_srcdir)/doc/fr/weechat_faq.fr.adoc
# quickstart
weechat_quickstart.fr.html: weechat_quickstart.fr.adoc $(abs_top_srcdir)/doc/docinfo.html
$(ASCIIDOCTOR) $(ASCIIDOCTOR_ARGS) -a revnumber="$(VERSION)" -o weechat_quickstart.fr.html $(abs_top_srcdir)/doc/fr/weechat_quickstart.fr.adoc
# relay protocol
weechat_relay_protocol.fr.html: weechat_relay_protocol.fr.adoc $(abs_top_srcdir)/doc/docinfo.html
$(ASCIIDOCTOR) $(ASCIIDOCTOR_ARGS) -a revnumber="$(VERSION)" -o weechat_relay_protocol.fr.html $(abs_top_srcdir)/doc/fr/weechat_relay_protocol.fr.adoc
# developer's guide
weechat_dev.fr.html: weechat_dev.fr.adoc $(abs_top_srcdir)/doc/docinfo.html
$(ASCIIDOCTOR) $(ASCIIDOCTOR_ARGS) -a revnumber="$(VERSION)" -o weechat_dev.fr.html $(abs_top_srcdir)/doc/fr/weechat_dev.fr.adoc
# install man/docs
install-data-hook: $(man_install) $(doc_install)
install-man:
$(mkinstalldirs) $(DESTDIR)$(mandir)/fr/man1/
$(INSTALL_DATA) *.1 $(DESTDIR)$(mandir)/fr/man1/
install-doc:
$(mkinstalldirs) $(DESTDIR)$(docdir)/
$(INSTALL_DATA) *.html $(DESTDIR)$(docdir)/
# uninstall man/docs
uninstall-hook: $(man_uninstall) $(doc_uninstall)
uninstall-man:
$(RM) $(DESTDIR)$(mandir)/fr/man1/weechat.1
$(RM) $(DESTDIR)$(mandir)/fr/man1/weechat-headless.1
-rmdir $(DESTDIR)$(mandir)/fr/man1
uninstall-doc:
$(RM) $(DESTDIR)$(docdir)/*.fr.html
-rmdir $(DESTDIR)$(docdir)
# clean
clean-local:
-$(RM) weechat.1 weechat-headless.1 weechat_*.html
@@ -1,36 +0,0 @@
//
// This file is auto-generated by script docgen.py.
// DO NOT EDIT BY HAND!
//
// tag::config_priority[]
[width="30%",cols="1,3,2",options="header"]
|===
| Rang | Fichier | Priorité
| 1 | sec.conf | 120000
| 2 | weechat.conf | 110000
| 3 | plugins.conf | 100000
| 4 | charset.conf | 16000
| 5 | logger.conf | 15000
| 6 | exec.conf | 14000
| 7 | trigger.conf | 13000
| 8 | spell.conf | 12000
| 9 | alias.conf | 11000
| 10 | buflist.conf | 10000
| 11 | fifo.conf | 9000
| 12 | typing.conf | 8000
| 13 | xfer.conf | 7000
| 14 | irc.conf | 6000
| 15 | relay.conf | 5000
| 16 | guile.conf | 4070
| 17 | javascript.conf | 4060
| 18 | lua.conf | 4050
| 19 | perl.conf | 4040
| 20 | php.conf | 4030
| 21 | python.conf | 4020
| 22 | ruby.conf | 4010
| 23 | tcl.conf | 4000
| 24 | script.conf | 3000
| 25 | fset.conf | 2000
|===
// end::config_priority[]
+1 -6
View File
@@ -241,8 +241,6 @@ _sasl_scram_salted_pwd_size_   (integer) +
_sasl_scram_auth_message_   (string) +
_sasl_temp_username_   (string) +
_sasl_temp_password_   (string) +
_authentication_method_   (integer) +
_sasl_mechanism_used_   (integer) +
_is_connected_   (integer) +
_ssl_connected_   (integer) +
_disconnected_   (integer) +
@@ -280,7 +278,7 @@ _typing_allowed_   (integer) +
_reconnect_delay_   (integer) +
_reconnect_start_   (time) +
_command_time_   (time) +
_autojoin_done_   (integer) +
_reconnect_join_   (integer) +
_disable_autojoin_   (integer) +
_is_away_   (integer) +
_away_message_   (string) +
@@ -584,7 +582,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) +
@@ -709,7 +706,6 @@ _count_   (integer) +
_last_config_file_ +
| _plugin_   (pointer, hdata: "plugin") +
_priority_   (integer) +
_name_   (string) +
_filename_   (string) +
_file_   (pointer) +
@@ -927,7 +923,6 @@ _next_line_   (pointer, hdata: "line") +
| structure avec les données d'une ligne
| -
| _buffer_   (pointer, hdata: "buffer") +
_id_   (integer) +
_y_   (integer) +
_date_   (time) +
_date_printed_   (time) +
@@ -60,6 +60,8 @@
| php | php_version | version de l'interpréteur utilisé | -
| python | python2_bin | chemin vers l'interpréteur Python 2.x (*obsolète* depuis la version 2.6, les scripts doivent utiliser seulement Python 3) | -
| python | python_eval | évaluation de code source | code source à exécuter
| python | python_interpreter | nom de l'interpréteur utilisé | -
@@ -4,30 +4,26 @@
//
// tag::plugins_priority[]
[width="30%",cols="1,3,2",options="header"]
|===
| Rang | Extension | Priorité
| 1 | charset | 16000
| 2 | logger | 15000
| 3 | exec | 14000
| 4 | trigger | 13000
| 5 | spell | 12000
| 6 | alias | 11000
| 7 | buflist | 10000
| 8 | fifo | 9000
| 9 | typing | 8000
| 10 | xfer | 7000
| 11 | irc | 6000
| 12 | relay | 5000
| 13 | guile | 4070
| 14 | javascript | 4060
| 15 | lua | 4050
| 16 | perl | 4040
| 17 | php | 4030
| 18 | python | 4020
| 19 | ruby | 4010
| 20 | tcl | 4000
| 21 | script | 3000
| 22 | fset | 2000
|===
. charset (16000)
. logger (15000)
. exec (14000)
. trigger (13000)
. spell (12000)
. alias (11000)
. buflist (10000)
. fifo (9000)
. typing (8000)
. xfer (7000)
. irc (6000)
. relay (5000)
. guile (4007)
. javascript (4006)
. lua (4005)
. perl (4004)
. php (4003)
. python (4002)
. ruby (4001)
. tcl (4000)
. script (3000)
. fset (2000)
// end::plugins_priority[]
+20 -46
View File
@@ -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[]
+50 -110
View File
@@ -131,7 +131,6 @@ Exemples :
addraw <canal1>[,<canal2>...] [<clé1>[,<clé2>...]]
del [<canal1> [<canal2>...]]
apply
join
sort
add : ajouter le canal courant ou une liste de canaux (avec clés facultatives) dans l'option autojoin ; si vous êtes sur le canal et que la clé n'est pas fournie, la clé est lue sur ce canal
@@ -140,7 +139,6 @@ Exemples :
channel : nom du canal
key : clé pour le canal
apply : définir les canaux actuellement joints dans l'option autojoin
join : joindre les canaux de l'option autojoin
sort : trier les canaux de l'option autojoin par ordre alphabétique
Exemples :
@@ -152,7 +150,6 @@ Exemples :
/autojoin del
/autojoin del #chan1
/autojoin apply
/autojoin join
/autojoin sort
----
@@ -453,16 +450,6 @@ pseudo : pseudo
raison : raison
----
[[command_irc_knock]]
* `+knock+`: envoyer une notice à un canal en invitation seulement, en demandant une invitation
----
/knock <canal> [<message>]
canal : nom du canal
message : message à envoyer
----
[[command_irc_links]]
* `+links+`: lister tous les noms de serveurs connus du serveur qui répondent à la requête
@@ -757,12 +744,6 @@ raison : raison (les variables spéciales $nick, $channel et $server sont rempl
cible : nom du serveur
----
[[command_irc_rules]]
* `+rules+`: demander les règles du serveur
----
----
[[command_irc_sajoin]]
* `+sajoin+`: forcer un utilisateur à rejoindre un ou plusieurs canaux
@@ -1092,13 +1073,11 @@ nombre : nombre de réponses à retourner (recherche complète si nombre négat
add <alias> [<commande>[;<commande>...]]
addcompletion <complétion> <alias> [<commande>[;<commande>...]]
del <alias> [<alias>...]
rename <alias> <nouvel_alias>
list : afficher les alias (sans paramètre, cette liste est affichée)
add : ajouter un alias
addcompletion : ajouter un alias avec une complétion personnalisée
del : supprimer un alias
rename : renommer un alias
complétion : complétion pour l'alias : par défaut la complétion se fait avec la commande cible
note : vous pouvez utiliser %%commande pour utiliser la complétion d'une commande existante
alias : nom de l'alias
@@ -1119,27 +1098,12 @@ Exemples :
/alias add split /window splith
alias /hello pour dire "hello" sur tous les canaux mais pas sur #weechat :
/alias add hello /allchan -exclude=#weechat hello
renommer l'alias "hello" en "Hello" :
/alias rename hello Hello
alias /forcejoin pour envoyer la commande IRC "forcejoin" avec la complétion de /sajoin :
/alias addcompletion %%sajoin forcejoin /quote forcejoin
----
// end::alias_commands[]
// tag::weechat_commands[]
[[command_weechat_allbuf]]
* `+allbuf+`: exécuter une commande sur tous les tampons
----
/allbuf <commande>
commande : commande à exécuter (ou texte à envoyer au tampon si la commande ne commence pas par '/')
Exemples :
définir le marqueur de lecture sur tous les tampons :
/allbuf /buffer set unread
----
[[command_weechat_away]]
* `+away+`: définir ou supprimer le statut d'absence
@@ -1216,8 +1180,6 @@ Exemples :
unmerge [<nombre>|-all]
hide [<nombre>|<nom>|-all [<nombre>|<nom>...]]
unhide [<nombre>|<nom>|-all [<nombre>|<nom>...]]
switch [-previous]
zoom
renumber <nombre1> [<nombre2> [<départ>]]
close [<n1>[-<n2>]|<nom>...]
notify [<niveau>]
@@ -1226,8 +1188,7 @@ Exemples :
delvar <nom>
set <propriété> [<valeur>]
get <propriété>
jump smart|last_displayed|prev_visited|next_visited
<nombre>|-|+|<nom>
<nombre>|<nom>
list : lister les tampons ouverts (sans paramètre, cette liste est affichée)
add : ajouter un nouveau tampon (il peut être fermé avec "/buffer close" ou l'entrée "q")
@@ -1240,8 +1201,6 @@ Exemples :
unmerge : détacher le tampon courant des autres tampons portant le même numéro
hide : masquer le tampon
unhide : démasquer le tampon
switch : basculer vers le tampon mélangé suivant (ou vers le tampon précédent avec -previous)
zoom : zoom sur le tampon mélangé
renumber : renuméroter des tampons (fonctionne seulement si l'option weechat.look.buffer_auto_renumber est désactivée)
close : fermer le tampon (nombre/intervalle ou nom optionnel)
notify : afficher ou définir le niveau de notification pour le tampon courant : ce niveau détermine si le tampon doit être ajouté à la hotlist ou pas :
@@ -1255,14 +1214,9 @@ renumber : renuméroter des tampons (fonctionne seulement si l'option weechat.l
delvar : supprimer une variable locale du tampon courant
set : modifier une propriété du tampon courant
get : afficher une propriété du tampon courant
jump : sauter vers un autre tampon :
smart : prochain tampon avec de l'activité
last_displayed : dernier tampon affiché (avant le dernier saut vers un tampon)
prev_visited : tampon visité précédemment
next_visited : tampon visité après
nombre : sauter au tampon qui a ce numéro, préfixe possible :
'+' : saut relatif, ajoute le numéro au courant
'-' : saut relatif, soustrait le numéro au courant
'+' : saut relatif, ajoute le numéro au courant,
'-' : saut relatif, soustrait le numéro au courant,
'*' : saut au numéro en utilisant l'option "jump_current_to_previous_buffer"
- : sauter au premier numéro de tampon
+ : sauter au dernier numéro de tampon
@@ -1389,7 +1343,6 @@ Exemples :
cursor|mouse [verbose]
hdata [free]
time <commande>
unicode <chaîne>
list : lister les extensions avec leur niveau de debug
set : définir le niveau de debug pour l'extension
@@ -1411,13 +1364,6 @@ infolists : afficher des infos sur les infolists
term : afficher des infos sur le terminal
windows : afficher l'arbre des fenêtres
time : mesurer le temps pour exécuter une commande ou pour envoyer du texte au tampon courant
unicode : afficher des informations sur la chaîne et les caractères unicode (évaluée, voir /help eval)
Exemples :
/debug set irc 1
/debug mouse verbose
/debug time /filter toggle
/debug unicode ${chars:${\u26C0}-${\u26CF}}
----
[[command_weechat_eval]]
@@ -1464,36 +1410,35 @@ Pour forcer une comparaison de chaînes, vous pouvez ajouter des guillemets auto
"50" > "100" ==> 1
Des variables sont remplacées dans l'expression, en utilisant le format ${variable}, la variable pouvant être, par ordre de priorité :
- la chaîne elle-même sans évaluation (format : "raw:xxx")
- une variable définie par l'utilisateur (format : "nom")
- une sous-chaîne évaluée (format : "eval:xxx")
- une condition évaluée (format : "eval_cond:xxx")
- une chaîne avec les caractères échappés (format : "esc:xxx" ou "\xxx")
- une chaîne avec un intervalle de caractères (format : "chars:xxx" ou "chars:c1-c2")
- une chaîne convertie en minuscules (format : "lower:xxx")
- une chaîne convertie en majuscules (format : "upper:xxx")
- une chaîne avec des caractères à cacher (format : "hide:caractère,chaîne")
- une chaîne avec un maximum de caractères (format : "cut:max,suffixe,chaîne" ou "cut:+max,suffixe,chaîne")
ou un maximum de caractères affichés à l'écran (format : "cutscr:max,suffixe,chaîne" ou "cutscr:+max,suffixe,chaîne")
- une chaîne inversée (format : "rev:xxx" ou "revscr:xxx")
- une chaîne répétée (format : "repeat:nombre,chaîne")
- longueur d'une chaîne (format : "length:xxx" ou "lengthscr:xxx")
- découpage d'une chaîne (format : "split:nombre,séparateurs,flags,xxx")
- découpage de paramètres shell (format : "split_shell:nombre,xxx")
- une couleur (format : "color:xxx", voir la "Référence API extension", fonction "color")
- un modificateur (format : "modifier:nom,données,chaîne")
- une info (format : "info:nom,paramètres", les paramètres sont optionnels)
- une chaîne encodée/decodée en base 16, 32 ou 64 (format : "base_encode:base,xxx" ou "base_decode:base,xxx")
- la date/heure courante (format : "date" ou "date:format")
- une variable d'environnement (format : "env:XXX")
- un opérateur ternaire (format : "if:condition?valeur_si_vrai:valeur_si_faux")
- le résultat d'une expression avec parenthèses et les opérateurs + - * / // % ** (format : "calc:xxx")
- un nombre entier aléatoire (format : "random:min,max")
- une chaîne traduite (format : "translate:xxx")
- déclaration d'une variable utilisateur (format : "define:nom,valeur")
- une option (format : "fichier.section.option")
- une variable locale du tampon
- un hdata/variable (la valeur est automatiquement convertie en chaîne), par défaut "window" et "buffer" pointent vers la fenêtre et le tampon courants.
1. la chaîne elle-même sans évaluation (format : "raw:xxx")
2. une variable définie par l'utilisateur (format : "nom")
3. une sous-chaîne évaluée (format : "eval:xxx")
4. une condition évaluée (format : "eval_cond:xxx")
5. une chaîne avec les caractères échappés (format : "esc:xxx" ou "\xxx")
6. une chaîne convertie en minuscules (format : "lower:xxx")
7. une chaîne convertie en majuscules (format : "upper:xxx")
8. une chaîne avec des caractères à cacher (format : "hide:caractère,chaîne")
9. une chaîne avec un maximum de caractères (format : "cut:max,suffixe,chaîne" ou "cut:+max,suffixe,chaîne")
ou un maximum de caractères affichés à l'écran (format : "cutscr:max,suffixe,chaîne" ou "cutscr:+max,suffixe,chaîne")
10. une chaîne inversée (format : "rev:xxx" ou "revscr:xxx")
11. une chaîne répétée (format : "repeat:nombre,chaîne")
12. longueur d'une chaîne (format : "length:xxx" ou "lengthscr:xxx")
13. découpage d'une chaîne (format : "split:nombre,séparateurs,flags,xxx")
14. découpage de paramètres shell (format : "split_shell:nombre,xxx")
15. une couleur (format : "color:xxx", voir la "Référence API extension", fonction "color")
16. un modificateur (format : "modifier:nom,données,chaîne")
17. une info (format : "info:nom,paramètres", les paramètres sont optionnels)
18. une chaîne encodée/decodée en base 16, 32 ou 64 (format : "base_encode:base,xxx" ou "base_decode:base,xxx")
19. la date/heure courante (format : "date" ou "date:format")
20. une variable d'environnement (format : "env:XXX")
21. un opérateur ternaire (format : "if:condition?valeur_si_vrai:valeur_si_faux")
22. le résultat d'une expression avec parenthèses et les opérateurs + - * / // % ** (format : "calc:xxx")
23. un nombre entier aléatoire (format : "random:min,max")
24. une chaîne traduite (format : "translate:xxx")
25. déclaration d'une variable utilisateur (format : "define:nom,valeur")
26. une option (format : "fichier.section.option")
27. une variable locale du tampon
28. un hdata/variable (la valeur est automatiquement convertie en chaîne), par défaut "window" et "buffer" pointent vers la fenêtre et le tampon courants.
Le format du hdata peut être le suivant :
hdata.var1.var2... : démarrer avec un hdata (le pointeur doit être connu), et demander les variables l'une après l'autre (d'autres hdata peuvent être suivis)
hdata[liste].var1.var2... : démarrer avec un hdata en utilisant une liste/pointeur/nom de pointeur, par exemple :
@@ -1516,8 +1461,6 @@ Exemples (chaînes simples) :
/eval -n ${window.buffer.full_name} ==> core.weechat
/eval -n ${window.buffer.number} ==> 1
/eval -n ${\t} ==> <tab>
/eval -n ${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}} ==> --------
@@ -1649,22 +1592,6 @@ extension : lister les commandes de cette extension
valeur : nombre d'entrées dans l'historique à afficher
----
[[command_weechat_hotlist]]
* `+hotlist+`: gestion de la hotlist
----
/hotlist add [low|message|private|highlight]
clear [<niveau>]
remove
restore [-all]
add : ajouter le tampon courant dans la hotlist (niveau par défaut : "low", les conditions définies dans l'option weechat.look.hotlist_add_conditions ne sont PAS vérifiées)
clear : effacer la hotlist
niveau : "lowest" pour effacer seulement le plus petit niveau dans la hotlist, "highest" pour effacer seulement le niveau le plus haut dans la hotlist, ou un masque de niveaux : entier qui est une combinaison de 1=join/part, 2=message, 4=privé, 8=highlight
remove : supprimer le tampon courant de la hotlist
restore : restaurer la dernière hotlist supprimée dans le tampon courant (ou tous les tampons avec -all)
----
[[command_weechat_input]]
* `+input+`: fonctions pour la ligne de commande
@@ -1706,16 +1633,29 @@ liste des actions :
history_next : rappeler la commande suivante dans l'historique du tampon courant
history_global_previous : rappeler la commande précédente dans l'historique global
history_global_next : rappeler la commande suivante dans l'historique global
jump_smart : sauter au prochain tampon avec de l'activité
jump_last_buffer_displayed : sauter au dernier tampon affiché (avant le dernier saut vers un tampon)
jump_previously_visited_buffer : sauter au tampon visité précédemment
jump_next_visited_buffer : sauter au tampon visité après
hotlist_clear : effacer la hotlist (paramètre facultatif : "lowest" pour effacer seulement le plus petit niveau dans la hotlist, "highest" pour effacer seulement le niveau le plus haut dans la hotlist, ou un masque de niveaux : entier qui est une combinaison de 1=join/part, 2=message, 4=privé, 8=highlight)
hotlist_remove_buffer : supprimer le tampon courant de la hotlist
hotlist_restore_buffer : restaurer la dernière hotlist supprimée dans le tampon courant
hotlist_restore_all : restaurer la dernière hotlist supprimée dans tous les tampons
grab_key : capturer une touche (paramètre facultatif : délai pour la fin de la capture, par défaut 500 millisecondes)
grab_key_command : capturer une touche avec sa commande associée (paramètre facultatif : délai pour la fin de la capture, par défaut 500 millisecondes)
grab_mouse : capturer un évènement de la souris
grab_mouse_area : capturer un évènement de la souris avec la zone
set_unread : définir le marqueur de données non lues pour tous les tampons
set_unread_current_buffer : définir le marqueur de données non lues pour le tampon courant
switch_active_buffer : basculer vers le tampon mélangé suivant
switch_active_buffer_previous : basculer vers le tampon mélangé précédent
zoom_merged_buffer : zoom sur le tampon mélangé
insert : insérer du texte dans la ligne de commande (les caractères échappés sont autorisés, voir /help print)
send : envoyer du texte au tampon
paste_start : début de collage (mode "bracketed paste")
paste_stop : fin de collage (mode "bracketed paste")
Cette commande est utilisée par les associations de touches ou les extensions.
Cette commande est utilisé par les associations de touches ou les extensions.
----
[[command_weechat_item]]
@@ -1811,7 +1751,7 @@ Exemples :
restaure l'association par défaut pour la touche alt-r :
/key reset meta-r
touche "tab" pour arrêter la recherche dans le tampon :
/key bindctxt search ctrl-i /input search_stop
/key bindctxt search ctrl-I /input search_stop
bouton du milieu de la souris sur un pseudo pour récupérer les infos sur le pseudo :
/key bindctxt mouse @item(buffer_nicklist):button3 /msg nickserv info ${nick}
----
@@ -2317,7 +2257,7 @@ scroll_bottom : faire défiler jusqu'en bas du tampon
scroll_beyond_end : faire défiler au-delà de la fin du tampon
scroll_previous_highlight : faire défiler jusqu'au highlight précédent
scroll_next_highlight : faire défiler jusqu'au highlight suivant
scroll_unread : faire défiler jusqu'au marqueur de lecture
scroll_unread : faire défiler jusqu'au marqueur de données non lues
swap : échanger les tampons de deux fenêtres (avec une direction facultative pour la fenêtre cible)
zoom : zoomer sur la fenêtre
bare : activer/désactiver le mode d'affichage dépouillé (avec un délai facultatif en secondes pour un retour automatique au mode d'affichage standard)
@@ -2650,7 +2590,7 @@ Touches et entrées pour définir les options sur le tampon fset :
u:xxx démarquer les options affichées qui correspondent au filtre "xxx" (tout filtre sur une option ou valeur est autorisé, voir les filtres ci-dessus)
Autres touches et entrées sur le tampon fset :
ctrl+l rafraîchir les options et l'écran entier (commande : /fset -refresh)
ctrl+L rafraîchir les options et l'écran entier (commande : /fset -refresh)
$ rafraîchir les options (garder les options marquées)
$$ rafraîchir les options (démarquer toutes les options)
alt+p p activer/désactiver la description des options d'extensions (plugins.desc.*)
@@ -2660,7 +2600,7 @@ Autres touches et entrées sur le tampon fset :
w:xxx exporter les options dans le fichier "xxx"
w-:xxx exporter les options dans le fichier "xxx" sans aide
w+:xxx exporter les options dans le fichier "xxx" avec aide
ctrl+x x basculer le format utilisé pour afficher les options
ctrl+X x basculer le format utilisé pour afficher les options
q fermer le tampon fset
Actions de la souris sur le tampon fset :
@@ -8,37 +8,37 @@
|===
| Alias | Commande | Complétion
| /aaway | /allserv /away | -
| /anick | /allserv /nick | -
| /beep | /print -beep | -
| /bye | /quit | -
| /c | /buffer clear | -
| /cl | /buffer clear | -
| /close | /buffer close | -
| /chat | /dcc chat | -
| /exit | /quit | -
| /ig | /ignore | -
| /j | /join | -
| /k | /kick | -
| /kb | /kickban | -
| /leave | /part | -
| /m | /msg | -
| /mub | /unban * | -
| /msgbuf | /command -buffer $1 * /input send $2- | %(buffers_plugins_names)
| /n | /names | -
| /q | /query | -
| /redraw | /window refresh | -
| /say | /msg * | -
| /signoff | /quit | -
| /t | /topic | -
| /ub | /unban | -
| /umode | /mode $nick | -
| /v | /command core version | -
| /w | /who | -
| /wc | /window close | -
| /wi | /whois | -
| /wii | /whois $1 $1 | -
| /wm | /window merge | -
| /ww | /whowas | -
| /AAWAY | /allserv /away | -
| /ANICK | /allserv /nick | -
| /BEEP | /print -beep | -
| /BYE | /quit | -
| /C | /buffer clear | -
| /CL | /buffer clear | -
| /CLOSE | /buffer close | -
| /CHAT | /dcc chat | -
| /EXIT | /quit | -
| /IG | /ignore | -
| /J | /join | -
| /K | /kick | -
| /KB | /kickban | -
| /LEAVE | /part | -
| /M | /msg | -
| /MUB | /unban * | -
| /MSGBUF | /command -buffer $1 * /input send $2- | %(buffers_plugins_names)
| /N | /names | -
| /Q | /query | -
| /REDRAW | /window refresh | -
| /SAY | /msg * | -
| /SIGNOFF | /quit | -
| /T | /topic | -
| /UB | /unban | -
| /UMODE | /mode $nick | -
| /V | /command core version | -
| /W | /who | -
| /WC | /window close | -
| /WI | /whois | -
| /WII | /whois $1 $1 | -
| /WM | /window merge | -
| /WW | /whowas | -
|===
// end::default_aliases[]
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -102,7 +102,7 @@ $HOME/.local/share/weechat/weechat.log::
WeeChat est écrit par Sébastien Helleu et des contributeurs (la liste complète
est dans le fichier AUTHORS.adoc).
Copyright (C) 2003-2023 {author}
Copyright (C) 2003-2022 {author}
WeeChat est un logiciel libre ; vous pouvez le redistribuer et/ou le modifier
sous les termes de la GNU General Public License telle que publiée par la
+5 -8
View File
@@ -407,7 +407,6 @@ Le cœur de WeeChat est situé dans les répertoires suivants :
|       core/ | Racine des tests unitaires pour le cœur.
|          test-core-arraylist.cpp | Tests : listes avec tableau (« arraylists »).
|          test-core-calc.cpp | Tests : calcul d'expressions.
|          test-core-command.cpp | Tests : commandes.
|          test-core-config-file.cpp | Tests : fichiers de configuration.
|          test-core-crypto.cpp | Tests : fonctions cryptographiques.
|          test-core-dir.cpp | Tests : répertoires/fichiers.
@@ -431,7 +430,6 @@ Le cœur de WeeChat est situé dans les répertoires suivants :
|          test-gui-color.cpp | Tests : couleurs.
|          test-gui-filter.cpp | Tests : filtres.
|          test-gui-input.cpp | Tests : fonctions d'entrée.
|          test-gui-key.cpp | Tests : touches.
|          test-gui-line.cpp | Tests : lignes.
|          test-gui-nick.cpp | Tests : pseudos.
|       plugins/ | Racine des tests unitaires pour les extensions.
@@ -533,7 +531,7 @@ Exemple en C :
/*
* weechat.c - core functions for WeeChat
*
* Copyright (C) 2023 Your Name <your@email.com>
* Copyright (C) 2022 Your Name <your@email.com>
*
* This file is part of WeeChat, the extensible chat client.
*
@@ -939,8 +937,6 @@ Dans le tableau qui suit, les conventions suivantes sont utilisées :
* `(ATTR)EXT` : couleur étendue avec des attributs facultatifs
(`+@+` + attributs + 5 digits)
* `(ATTR)` : un ou plusieurs caractères d'attribut :
** `+%+` : clignotement
** `+.+` : "dim" (demi-intensité)
** `+*+` : gras
** `+!+` : vidéo inverse
** `+/+` : italique
@@ -951,8 +947,6 @@ Dans le tableau qui suit, les conventions suivantes sont utilisées :
** _0x02_ : vidéo inverse
** _0x03_ : italique
** _0x04_ : souligné
** _0x05_ : clignotement
** _0x06_ : "dim" (demi-intensité)
Toutes les combinaisons sont résumées dans ce tableau :
@@ -1181,8 +1175,11 @@ Où _composant_ est :
| cœur de WeeChat
| build
| CMakeLists.txt +
| autogen.sh +
CMakeLists.txt +
cmake/* +
configure.ac +
Makefile.am +
tools/* +
weechat.cygport.in +
weechat.spec
+127 -39
View File
@@ -10,6 +10,9 @@
:docinfo1:
Ce document est écrit pour les versions de WeeChat ≥ 0.3.0 mais devrait être
utilisé de préférence avec la dernière version stable de WeeChat.
toc::[]
@@ -46,12 +49,18 @@ https://weechat.org/about/interfaces/[page avec les interfaces distantes ^↗^,
[[compile_git]]
=== Je ne peux pas compiler WeeChat après avoir cloné la base git, pourquoi ?
WeeChat doit être compilé avec CMake.
La méthode recommandée pour compiler WeeChat est d'utiliser
link:weechat_user.fr.html#compile_with_cmake[CMake ^↗^,window=_blank].
Merci de suivre les link:weechat_user.en.html#source_package[instructions de construction ^↗^,window=_blank]
et vous assurer que toutes les dépendances obligatoires sont installées.
Si vous compilez avec les link:weechat_user.fr.html#compile_with_autotools[autotools ^↗^,window=_blank]
(et non CMake), vérifiez que vous avez bien la dernière version d'autoconf et
automake.
Si vous avez toujours des problèmes, merci de les remonter aux développeurs.
Une autre façon de faire est de compiler le "paquet devel", qui nécessite moins
de dépendances. Ce paquet est construit quasiment tous les jours à partir de la
base git. Notez que ce paquet peut ne pas correspondre exactement à la base
git et qu'il est moins pratique que de cloner la base git pour installer des
mises à jour.
[[compile_macos]]
=== Comment puis-je installer WeeChat sous macOS ?
@@ -187,10 +196,17 @@ fenêtres.
[[buffers_list]]
=== Comment afficher la liste des tampons sur la gauche ?
L'extension link:weechat_user.fr.html#buflist[buflist ^↗^,window=_blank]
Avec WeeChat ≥ 1.8, l'extension link:weechat_user.fr.html#buflist[buflist ^↗^,window=_blank]
est chargée et activée par défaut.
Pour limiter la taille de la barre :
Avec une version plus ancienne, vous pouvez installer le script _buffers.pl_ :
----
/script install buffers.pl
----
Pour limiter la taille de la barre (remplacez "buflist" par "buffers" si vous
utilisez le script _buffers.pl_) :
----
/set weechat.bar.buffers.size_max 15
@@ -208,6 +224,21 @@ vous pouvez faire défiler avec la roulette de votre souris.
Les touches par défaut pour faire défiler la barre _buflist_ sont kbd:[F1]
(ou kbd:[Ctrl+F1]), kbd:[F2] (ou kbd:[Ctrl+F2]), kbd:[Alt+F1] et kbd:[Alt+F2].
Pour le script _buffers.pl_, vous pouvez définir des touches, comme les touches
déjà existantes pour faire défiler la liste de pseudos. +
Par exemple pour utiliser kbd:[F1], kbd:[F2], kbd:[Alt+F1] et 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]
Les touches "meta-OP" et "meta-OQ" peuvent être différentes dans votre terminal.
Pour trouver le code de la touche appuyez sur kbd:[Alt+k] puis la touche.
[[customize_buflist]]
=== Comment puis-je configurer la liste des tampons, comme la couleur du tampon actif ?
@@ -325,9 +356,9 @@ barre, WeeChat recréera automatiquement la barre par défaut "input" si l'objet
[[terminal_copy_paste]]
=== Comment puis-je copier/coller du texte sans coller la liste des pseudos ?
Vous pouvez utiliser l'affichage dépouillé (touche par défaut : kbd:[Alt+l] (`L`)),
qui affiche juste le contenu de la fenêtre actuellement sélectionnée sans aucun
formatage.
Avec WeeChat ≥ 1.0, vous pouvez utiliser l'affichage dépouillé (touche par
défaut : kbd:[Alt+l] (`L`)), qui affiche juste le contenu de la fenêtre
actuellement sélectionnée sans aucun formatage.
Vous pouvez utiliser un terminal qui propose la sélection rectangulaire (comme
rxvt-unicode, konsole, gnome-terminal, etc.). La touche est habituellement
@@ -343,7 +374,8 @@ exemple :
[[urls]]
=== Comment puis-je cliquer sur les longs URLs (plus d'une ligne) ?
Vous pouvez utiliser l'affichage dépouillé (touche par défaut : kbd:[Alt+l] (`L`)).
Avec WeeChat ≥ 1.0, vous pouvez utiliser l'affichage dépouillé (touche par
défaut : kbd:[Alt+l] (`L`)).
Pour rendre le clic d'URL plus facile, vous pouvez :
@@ -353,7 +385,7 @@ Pour rendre le clic d'URL plus facile, vous pouvez :
/set weechat.bar.nicklist.position top
----
* désactiver l'alignement pour les mots sur plusieurs lignes :
* désactiver l'alignement pour les mots sur plusieurs lignes (WeeChat ≥ 1.7) :
----
/set weechat.look.align_multiline_words off
@@ -365,9 +397,9 @@ Pour rendre le clic d'URL plus facile, vous pouvez :
/set weechat.look.align_end_of_lines time
----
Vous pouvez activer l'option "eat_newline_glitch", pour éviter qu'un caractère
de nouvelle ligne soit affiché après chaque ligne (donc cela ne cassera pas
la sélection d'une URL) :
Avec WeeChat ≥ 0.3.6, vous pouvez activer l'option "eat_newline_glitch", pour
éviter qu'un caractère de nouvelle ligne soit affiché après chaque ligne (donc
cela ne cassera pas la sélection d'une URL) :
----
/set weechat.look.eat_newline_glitch on
@@ -415,6 +447,8 @@ Dans WeeChat, la nouvelle valeur est immédiatement utilisée :
[[use_256_colors]]
=== Comment puis-je utiliser 256 couleurs sous WeeChat ?
Les 256 couleurs sont supportées avec WeeChat ≥ 0.3.4.
Premièrement vérifiez que votre variable d'environnement _TERM_ est correcte,
les valeurs recommandées sont :
@@ -435,15 +469,19 @@ term screen-256color
----
Si votre variable _TERM_ a une valeur erronée et que WeeChat est déjà lancé,
vous pouvez la changer avec ces deux commandes :
vous pouvez la changer avec ces deux commandes (avec WeeChat ≥ 1.0) :
----
/set env TERM screen-256color
/upgrade
----
Vous pouvez utiliser un numéro de couleur dans les options (facultatif : vous
pouvez ajouter des alias de couleurs avec la commande `/color`).
Pour la version 0.3.4, vous devez utiliser la commande `/color` pour ajouter
des nouvelles couleurs.
Pour les versions ≥ 0.3.5, vous pouvez utiliser un numéro de couleur dans les
options (facultatif : vous pouvez ajouter des alias de couleurs avec la commande
`/color`).
Merci de lire le link:weechat_user.fr.html#colors[Guide utilisateur / Couleurs ^↗^,window=_blank]
pour plus d'information sur la gestion des couleurs.
@@ -489,7 +527,7 @@ les commandes de votre choix) :
Par exemple pour marquer les tampons comme lus lorsque le terminal perd le focus :
----
/key bind meta2-O /allbuf /buffer set unread
/key bind meta2-O /input set_unread
----
[[screen_paste]]
@@ -663,6 +701,8 @@ Pour trouver le code de la touche appuyez sur kbd:[Alt+k] puis la touche.
[[mouse_not_working]]
=== La souris ne fonctionne pas du tout, que puis-je faire ?
La souris est supportée avec WeeChat ≥ 0.3.6.
Premièrement essayez d'activer la souris :
----
@@ -714,6 +754,12 @@ kbd:[Alt] au lieu de kbd:[Shift]).
Si vous utilisez macOS, vous devez installer `openssl` depuis Homebrew.
Un fichier CA sera installé avec le le trousseau système.
Avec WeeChat ≤ 3.1, vous pouvez définir le chemin vers les certificats système :
----
/set weechat.network.gnutls_ca_file "/usr/local/etc/openssl/cert.pem"
----
Si vous voyez des erreurs à propos de la poignée de main gnutls ("handshake"),
vous pouvez utiliser une valeur plus petite pour la clé Diffie-Hellman (par
défaut 2048) :
@@ -739,8 +785,8 @@ le certificat, vous pouvez spécifier l'empreinte (SHA-512, SHA-256 ou SHA-1) :
[[irc_ssl_handshake_error]]
=== Lors de la connexion SSL à un serveur, je vois juste une erreur "TLS handshake failed", que puis-je faire ?
Vous pouvez essayer une chaîne de priorité différente, remplacez "xxx" par
le nom de votre serveur :
Vous pouvez essayer une chaîne de priorité différente (WeeChat ≥ 0.3.5
seulement), remplacez "xxx" par le nom de votre serveur :
----
/set irc.server.xxx.ssl_priorities "NORMAL:-VERS-TLS-ALL:+VERS-TLS1.0:+VERS-SSL3.0:%COMPAT"
@@ -749,8 +795,23 @@ le nom de votre serveur :
[[irc_ssl_libera]]
=== Comment puis-je me connecter à libera avec SSL ?
Vérifiez que vous avez les certificats installés sur votre système, cela est
fourni généralement par le paquet "ca-certificates".
Avec WeeChat ≤ 3.1, positionnez l'option _weechat.network.gnutls_ca_file_ avec
le fichier des certificats :
----
/set weechat.network.gnutls_ca_file "/etc/ssl/certs/ca-certificates.crt"
----
Note : si vous êtes sous macOS avec le paquet homebrew openssl installé, vous
pouvez lancer :
----
/set weechat.network.gnutls_ca_file "/usr/local/etc/openssl/cert.pem"
----
[NOTE]
Vérifiez que vous avez bien ce fichier (fourni généralement par le paquet
"ca-certificates").
Configurez le port du serveur, SSL, puis connectez-vous :
@@ -811,8 +872,8 @@ Pour un seul serveur :
/set irc.server.libera.autojoin_dynamic on
----
Vous pouvez aussi ajouter le canal coucant dans l'option "autojoin" du serveur
avec la commande `/autojoin` :
Avec WeeChat ≥ 3.5, vous pouvez aussi ajouter le canal coucant dans l'option
"autojoin" du serveur avec la commande `/autojoin` :
----
/autojoin add
@@ -824,7 +885,26 @@ Ou un autre canal :
/autojoin add #test
----
Il y a aussi des scripts :
Avec WeeChat ≤ 3.4, vous pouvez utiliser la commande `/set` pour éditer la liste
des canaux de l'autojoin, par exemple pour le serveur libera :
----
/set irc.server.libera.autojoin [TAB]
----
[NOTE]
Vous pouvez compléter le nom et les valeurs de l'option avec la touche kbd:[Tab]
(ou kbd:[Shift+Tab] pour une complétion partielle, pratique pour le nom). +
De cette façon, vous n'avez pas à taper la liste complète des canaux.
Vous pouvez également utiliser la commande `/fset` pour éditer la liste
des canaux :
----
/fset autojoin
----
Avec WeeChat ≤ 3.4, une autre solution est d'utiliser un script :
----
/script search autojoin
@@ -873,9 +953,9 @@ link:weechat_user.fr.html#irc_smart_filter_join_part_quit[Guide utilisateur / Fi
[[filter_irc_join_channel_messages]]
=== Comment puis-je filtrer certains messages affichés quand je rejoins un canal IRC ?
Vous pouvez choisir les messages affichés lorsque vous rejoignez un canal avec
l'option _irc.look.display_join_message_ (voir `+/help irc.look.display_join_message+`
pour plus d'informations).
Avec WeeChat ≥ 0.4.1, vous pouvez choisir les messages affichés lorsque
vous rejoignez un canal avec l'option _irc.look.display_join_message_ (voir
`+/help irc.look.display_join_message+` pour plus d'informations).
Pour cacher des messages (mais les garder dans le tampon), vous pouvez les
filtrer en utilisant l'étiquette (par exemple _irc_329_ pour la date de création
@@ -933,13 +1013,17 @@ canaux avec maximum 25 pseudos :
/set irc.server_default.away_check_max_nicks 25
----
[NOTE]
Pour WeeChat ≤ 0.3.3, les options sont _irc.network.away_check_ et
_irc.network.away_check_max_nicks_.
[[highlight_notification]]
=== Comment être averti lorsque quelqu'un prononce mon pseudo sur un canal ?
Il y a un trigger "beep" qui envoie _BEL_ au terminal sur un highlight ou
un message privé. Par conséquent vous pouvez configurer votre terminal
(ou multiplexeur comme screen/tmux) pour lancer une commande ou jouer un son
lorsque le _BEL_ se produit.
Avec WeeChat ≥ 1.0, il y a un trigger "beep" qui envoie _BEL_ au terminal sur
un highlight ou un message privé. Par conséquent vous pouvez configurer votre
terminal (ou multiplexeur comme screen/tmux) pour lancer une commande ou jouer
un son lorsque le _BEL_ se produit.
Ou vous pouvez ajouter une commande dans le trigger "beep" :
@@ -965,8 +1049,8 @@ Autres scripts sur ce sujet :
[[disable_highlights_for_specific_nicks]]
=== Comment puis-je désactiver le highlight pour des pseudos spécifiques ?
Vous pouvez utiliser la propriété de tampon
link:weechat_user.fr.html#max_hotlist_level_nicks[hotlist_max_level_nicks_add ^↗^,window=_blank]
Avec WeeChat ≥ 0.3.4 vous pouvez utiliser la propriété de tampon
link:weechat_user.en.html#max_hotlist_level_nicks[hotlist_max_level_nicks_add ^↗^,window=_blank]
pour définir le niveau maximum de hotlist pour certains pseudos, par tampon,
ou groupe de tampons (comme des serveurs IRC).
@@ -1003,7 +1087,7 @@ Pour plus d'exemples, voir `+/help buffer_autoset+`.
=== Comment puis-je changer le serveur cible pour les commandes avec des tampons mélangés (comme le tampon avec les serveurs) ?
La touche par défaut est kbd:[Ctrl+x] (la commande est :
`+/buffer switch+`).
`+/input switch_active_buffer+`).
[[plugins_scripts]]
== Extensions / scripts
@@ -1024,8 +1108,9 @@ Vous devez configurer ça :
[[install_scripts]]
=== Comment puis-je installer des scripts ? Les scripts sont-ils compatibles avec d'autres clients IRC ?
Vous pouvez utiliser la commande `/script` pour installer et gérer les scripts
(voir `/help script` pour de l'aide).
Avec WeeChat ≥ 0.3.9, vous pouvez utiliser la commande `/script` pour installer
et gérer les scripts (voir `/help script` pour de l'aide). Pour les versions
plus anciennes il y a weeget.py et script.pl.
Les scripts ne sont pas compatibles avec d'autres clients IRC.
@@ -1042,8 +1127,7 @@ $ rm ~/.cache/weechat/script/plugins.xml.gz
----
[NOTE]
Si vous n'utilisez pas les répertoires XDG, le chemin pourrait être :
_~/.weechat/script/plugins.xml.gz_.
Avec WeeChat ≤ 3.1, le chemin devrait être : _~/.weechat/script/plugins.xml.gz_.
Et mettez à jour les scripts à nouveau dans WeeChat :
@@ -1086,6 +1170,10 @@ Vous devez recharger l'extension spell :
/plugin reload spell
----
[NOTE]
Avec WeeChat ≤ 2.4, l'extension "spell" s'appelait "aspell", donc la commande est :
`/plugin reload aspell`.
[[settings]]
== Réglages
+132 -451
View File
@@ -626,40 +626,25 @@ Cette fonction n'est pas disponible dans l'API script.
==== string_tolower
_Mis à jour dans la 3.8._
Retourner une chaîne avec les lettres majuscules converties en minuscules.
[NOTE]
Le comportement a changé dans la version 3.8 : désormais toutes les lettres en
majuscules sont correctement converties en minuscules (par appel à la fonction
`towlower`), en plus de l'intervalle de `A` à `Z`. +
De plus, une chaîne nouvellement allouée est retournée et doit être libérée après
utilisation.
Convertir une chaîne UTF-8 en minuscules.
Prototype :
[source,c]
----
char *weechat_string_tolower (const char *string);
void weechat_string_tolower (char *string);
----
Paramètres :
* _string_ : chaîne à convertir
Valeur de retour :
* chaîne avec les lettres en minuscules (doit être supprimée par un appel à "free"
après utilisation)
Exemple en C :
[source,c]
----
char *str = weechat_string_tolower ("ABCD_É"); /* résultat : "abcd_é" */
/* ... */
free (str);
char str[] = "AbCdé";
weechat_string_tolower (str); /* str vaut maintenant : "abcdé" */
----
[NOTE]
@@ -667,191 +652,25 @@ Cette fonction n'est pas disponible dans l'API script.
==== string_toupper
_Mis à jour dans la 3.8._
Retourner une chaîne avec les lettres minuscules converties en majuscules.
[NOTE]
Le comportement a changé dans la version 3.8 : désormais toutes les lettres en
minuscules sont correctement converties en majuscules (par appel à la fonction
`towupper`), en plus de l'intervalle de `a` à `z`. +
De plus, une chaîne nouvellement allouée est retournée et doit être libérée après
utilisation.
Convertir une chaîne UTF-8 en majuscules.
Prototype :
[source,c]
----
char *weechat_string_toupper (const char *string);
void weechat_string_toupper (char *string);
----
Paramètres :
* _string_ : chaîne à convertir
Valeur de retour :
* chaîne avec les lettres en majuscules (doit être supprimée par un appel à "free"
après utilisation)
Exemple en C :
[source,c]
----
char *str = weechat_string_toupper ("abcd_é"); /* résultat : "ABCD_É" */
/* ... */
free (str);
----
[NOTE]
Cette fonction n'est pas disponible dans l'API script.
==== string_charcmp
_Mis à jour dans la 1.0, 3.8._
Comparer deux caractères.
Prototype :
[source,c]
----
int weechat_string_charcmp (const char *string1, const char *string2);
----
Paramètres :
* _string1_ : première chaîne pour la comparaison
* _string2_ : seconde chaîne pour la comparaison
Valeur de retour :
* résultat de la soustraction du premier caractère UTF-8 dans
_string2_ du premier caractère UTF-8 dans _string1_ :
** < 0 si char1 < char2
** 0 si char1 == char2
** > 0 si char1 > char2
Exemple en C :
[source,c]
----
int diff = weechat_string_charcmp ("aaa", "ccc"); /* == -2 */
----
[NOTE]
Cette fonction n'est pas disponible dans l'API script.
==== string_charcasecmp
_Mis à jour dans la 1.0, 3.8._
Comparer deux caractères en ignorant la casse.
[NOTE]
Le comportement a changé dans la version 3.8 : désormais toutes les lettres en
majuscules sont correctement converties en minuscules (par appel à la fonction
`towlower`), en plus de l'intervalle de `A` à `Z`.
Prototype :
[source,c]
----
int weechat_string_charcasecmp (const char *string1, const char *string2);
----
Paramètres :
* _string1_ : première chaîne pour la comparaison
* _string2_ : seconde chaîne pour la comparaison
Valeur de retour :
* résultat de la soustraction du premier caractère UTF-8 dans
_string2_ (converti en minuscule) du premier caractère UTF-8 dans _string1_
(converti en minuscule) :
** < 0 si char1 < char2
** 0 si char1 == char2
** > 0 si char1 > char2
Exemple en C :
[source,c]
----
int diff = weechat_string_charcasecmp ("aaa", "CCC"); /* == -2 */
----
[NOTE]
Cette fonction n'est pas disponible dans l'API script.
==== strcmp
_WeeChat ≥ 3.8._
Comparer deux chaînes.
Prototype :
[source,c]
----
int weechat_strcmp (const char *string1, const char *string2);
----
Paramètres :
* _string1_ : première chaîne à comparer
* _string2_ : seconde chaîne à comparer
Valeur de retour :
* résultat de la soustraction du dernier caractère UTF-8 comparé
dans _string2_ du dernier caractère UTF-8 comparé dans _string1_ :
** < 0 si string1 < string2
** 0 si string1 == string2
** > 0 si string1 > string2
Exemple en C :
[source,c]
----
int diff = weechat_strcmp ("aaa", "ccc"); /* == -2 */
----
[NOTE]
Cette fonction n'est pas disponible dans l'API script.
==== strncmp
_WeeChat ≥ 3.8._
Comparer deux chaînes, pour _max_ caractères.
Prototype :
[source,c]
----
int weechat_strncmp (const char *string1, const char *string2, int max);
----
Paramètres :
* _string1_ : première chaîne à comparer
* _string2_ : seconde chaîne à comparer
* _max_ : nombre maximum de caractères à comparer
Valeur de retour :
* résultat de la soustraction du dernier caractère UTF-8 comparé
dans _string2_ du dernier caractère UTF-8 comparé dans _string1_ :
** < 0 si string1 < string2
** 0 si string1 == string2
** > 0 si string1 > string2
Exemple en C :
[source,c]
----
int diff = weechat_strncmp ("aabb", "aacc", 2); /* == 0 */
char str[] = "AbCdé";
weechat_string_toupper (str); /* str vaut maintenant : "ABCDé" */
----
[NOTE]
@@ -859,14 +678,9 @@ Cette fonction n'est pas disponible dans l'API script.
==== strcasecmp
_Mis à jour dans la 1.0, 3.8._
_Mis à jour dans la 1.0._
Comparer deux chaînes indépendemment de la casse.
[NOTE]
Le comportement a changé dans la version 3.8 : désormais toutes les lettres en
majuscules sont correctement converties en minuscules (par appel à la fonction
`towlower`), en plus de l'intervalle de `A` à `Z`.
Comparer deux chaînes indépendemment de la locale et de la casse.
Prototype :
@@ -882,20 +696,15 @@ Paramètres :
Valeur de retour :
* résultat de la soustraction du dernier caractère UTF-8 comparé
dans _string2_ (converti en minuscule) du dernier caractère UTF-8 comparé dans
_string1_ (converti en minuscule) :
** < 0 si string1 < string2
** 0 si string1 == string2
** > 0 si string1 > string2
* -1 si string1 < string2
* 0 si string1 == string2
* 1 si string1 > string2
Exemple en C :
[source,c]
----
int diff;
diff = weechat_strcasecmp ("aaa", "CCC"); /* == -2 */
diff = weechat_strcasecmp ("noël", "NOËL"); /* == 0 */
int diff = weechat_strcasecmp ("aaa", "CCC"); /* == -2 */
----
[NOTE]
@@ -903,7 +712,7 @@ Cette fonction n'est pas disponible dans l'API script.
==== strcasecmp_range
_WeeChat ≥ 0.3.7, mis à jour dans la 1.0, 3.8._
_WeeChat ≥ 0.3.7, mis à jour dans la 1.0._
Comparer deux chaînes indépendemment de la locale et de la casse, avec un
intervalle pour comparer la casse.
@@ -929,12 +738,9 @@ Les valeurs 29 et 30 sont utilisés par quelques protocoles comme IRC.
Valeur de retour :
* résultat de la soustraction du dernier caractère UTF-8 comparé
dans _string2_ (converti en minuscule) du dernier caractère UTF-8 comparé dans
_string1_ (converti en minuscule) :
** < 0 si string1 < string2
** 0 si string1 == string2
** > 0 si string1 > string2
* -1 si string1 < string2
* 0 si string1 == string2
* 1 si string1 > string2
Exemple en C :
@@ -948,14 +754,10 @@ Cette fonction n'est pas disponible dans l'API script.
==== strncasecmp
_Mis à jour dans la 1.0, 3.8._
_Mis à jour dans la 1.0._
Comparer deux chaînes indépendemment de la casse, pour _max_ caractères.
[NOTE]
Le comportement a changé dans la version 3.8 : désormais toutes les lettres en
majuscules sont correctement converties en minuscules (par appel à la fonction
`towlower`), en plus de l'intervalle de `A` à `Z`.
Comparer deux chaînes indépendemment de la locale et de la casse, pour _max_
caractères.
Prototype :
@@ -972,18 +774,15 @@ Paramètres :
Valeur de retour :
* résultat de la soustraction du dernier caractère UTF-8 comparé
dans _string2_ (converti en minuscule) du dernier caractère UTF-8 comparé dans
_string1_ (converti en minuscule) :
** < 0 si string1 < string2
** 0 si string1 == string2
** > 0 si string1 > string2
* -1 si string1 < string2
* 0 si string1 == string2
* 1 si string1 > string2
Exemple en C :
[source,c]
----
int diff = weechat_strncasecmp ("aabb", "AACC", 2); /* == 0 */
int diff = weechat_strncasecmp ("aabb", "aacc", 2); /* == 0 */
----
[NOTE]
@@ -991,7 +790,7 @@ Cette fonction n'est pas disponible dans l'API script.
==== strncasecmp_range
_WeeChat ≥ 0.3.7, mis à jour dans la 1.0, 3.8._
_WeeChat ≥ 0.3.7, mis à jour dans la 1.0._
Comparer deux chaînes indépendemment de la locale et de la casse, pour _max_
caractères, avec un intervalle pour comparer la casse.
@@ -1018,12 +817,9 @@ Les valeurs 29 et 30 sont utilisés par quelques protocoles comme IRC.
Valeur de retour :
* résultat de la soustraction du dernier caractère UTF-8 comparé
dans _string2_ (converti en minuscule) du dernier caractère UTF-8 comparé dans
_string1_ (converti en minuscule) :
** < 0 si string1 < string2
** 0 si string1 == string2
** > 0 si string1 > string2
* -1 si string1 < string2
* 0 si string1 == string2
* 1 si string1 > string2
Exemple en C :
@@ -1037,9 +833,10 @@ Cette fonction n'est pas disponible dans l'API script.
==== strcmp_ignore_chars
_Mis à jour dans la 1.0, 3.8._
_Mis à jour dans la 1.0._
Comparer deux chaînes en ignorant des caractères.
Comparer deux chaînes indépendemment de la locale (et en option de la casse), en
ignorant des caractères.
Prototype :
@@ -1057,21 +854,11 @@ Paramètres :
* _chars_ignored_ : chaîne avec les caractères à ignorer
* _case_sensitive_ : 1 pour une comparaison tenant compte de la casse, sinon 0
[NOTE]
Le comportement a changé dans la version 3.8 lorsque _case_sensitive_ est
positionné à 0 : désormais toutes les lettres en majuscules sont correctement
converties en minuscules (par appel à la fonction `towlower`), en plus de
l'intervalle de `A` à `Z`.
Valeur de retour :
* résultat de la soustraction du dernier caractère UTF-8 comparé
dans _string2_ (converti en minuscule si _case_sensitive_ est positionné à 0)
du dernier caractère UTF-8 comparé dans _string1_ (converti en minuscule si
_case_sensitive_ est positionné à 0) :
** < 0 si string1 < string2
** 0 si string1 == string2
** > 0 si string1 > string2
* -1 si string1 < string2
* 0 si string1 == string2
* 1 si string1 > string2
Exemple en C :
@@ -1085,14 +872,9 @@ Cette fonction n'est pas disponible dans l'API script.
==== strcasestr
_Mis à jour dans la 1.3, 3.8._
_Mis à jour dans la 1.3._
Rechercher une chaîne indépendemment de la casse.
[NOTE]
Le comportement a changé dans la version 3.8 : désormais toutes les lettres en
majuscules sont correctement converties en minuscules (par appel à la fonction
`towlower`), en plus de l'intervalle de `A` à `Z`.
Rechercher une chaîne indépendemment de la locale et de la casse.
Prototype :
@@ -1124,13 +906,12 @@ Cette fonction n'est pas disponible dans l'API script.
==== strlen_screen
_WeeChat ≥ 0.4.2, mis à jour dans la 3.8._
_WeeChat ≥ 0.4.2._
Retourner le nombre de caractères nécessaires pour afficher la chaîne UTF-8
sur l'écran.
Les codes couleur de WeeChat sont sautés et ne comptent pas dans le résultat
(ceci est la seule différence avec la fonction <<_utf8_strlen_screen,utf8_strlen_screen>>).
Les caractères non affichables ont une longueur de 1 (c'est la différence avec
la fonction <<_utf8_strlen_screen,utf8_strlen_screen>>).
Prototype :
@@ -1167,7 +948,7 @@ length = weechat.strlen_screen("é") # 1
==== string_match
_Mis à jour dans la 1.0, 3.8._
_Mis à jour dans la 1.0._
Vérifier si une chaîne correspond à un masque.
@@ -1190,12 +971,6 @@ Paramètres :
Depuis la version 1.0, les caractères joker sont autorisés à l'intérieur du
masque (pas seulement au début et à la fin du masque).
[NOTE]
Le comportement a changé dans la version 3.8 lorsque _case_sensitive_ est
positionné à 0 : désormais toutes les lettres en majuscules sont correctement
converties en minuscules (par appel à la fonction `towlower`), en plus de
l'intervalle de `A` à `Z`.
Valeur de retour :
* 1 si la chaîne correspond au masque, sinon 0
@@ -1228,7 +1003,7 @@ match5 = weechat.string_match("abcdef", "*b*d*", 0) # == 1
==== string_match_list
_WeeChat ≥ 2.5, mis à jour dans la 3.8._
_WeeChat ≥ 2.5._
Vérifier si une chaîne correspond à une liste de masques. Des masques négatifs
sont autorisés avec le format "!mot". Un masque négatif a une priorité plus
@@ -1250,12 +1025,6 @@ Paramètres :
<<_string_match,string_match>>
* _case_sensitive_ : 1 pour une comparaison tenant compte de la casse, sinon 0
[NOTE]
Le comportement a changé dans la version 3.8 lorsque _case_sensitive_ est
positionné à 0 : désormais toutes les lettres en majuscules sont correctement
converties en minuscules (par appel à la fonction `towlower`), en plus de
l'intervalle de `A` à `Z`.
Valeur de retour :
* 1 si la chaîne correspond à la liste de masques (au moins un masque correspond
@@ -1846,45 +1615,6 @@ if (weechat_string_regcomp (&my_regex, "([0-9]{4})-([0-9]{2})-([0-9]{2})",
[NOTE]
Cette fonction n'est pas disponible dans l'API script.
==== string_translate_chars
_WeeChat ≥ 3.8._
Traduire des caractères dans une chaîne.
Prototype :
[source,c]
----
char *string_translate_chars (const char *string, const char *chars1, const char *chars2);
----
Paramètres :
* _string_ : chaîne
* _chars1_ : chaîne avec des caractères à traduire
* _chars2_ : chaîne avec les caractères de remplacement ; elle doit contenir
le même nombre de caractères UTF-8 que _chars1_
Valeur de retour :
* chaîne avec les caractères traduits, NULL en cas de problème (doit être
supprimée par un appel à "free" après utilisation)
Exemples en C :
[source,c]
----
/* "test" => "tEst" */
char *str = weechat_string_translate_chars ("test", "abcdef", "ABCDEF");
/* "clean the boat" => "CleAn the BoAt" */
char *str = weechat_string_translate_chars ("clean the boat", "abc", "ABC");
----
[NOTE]
Cette fonction n'est pas disponible dans l'API script.
==== string_split
_Mis à jour dans la 2.5, 2.6._
@@ -2620,7 +2350,7 @@ str3 = weechat.string_input_for_buffer("//test") # "/test"
==== string_eval_expression
_WeeChat ≥ 0.4.0, mis à jour dans la 0.4.2, 0.4.3, 1.0, 1.1, 1.2, 1.3, 1.6, 1.8,
2.0, 2.2, 2.3, 2.7, 2.9, 3.1, 3.2, 3.3, 3.4, 3.6, 3.8._
2.0, 2.2, 2.3, 2.7, 2.9, 3.1, 3.2, 3.3, 3.4, 3.6._
Évaluer l'expression et retourner le résultat sous forme de chaîne.
Les variables spéciales avec le format `+${variable}+` sont étendues (voir le
@@ -3011,40 +2741,15 @@ première étendue à la dernière) :
>> `+${\ua9}+` +
== `+©+`
| `+${chars:range}+` | 3.8
| Chaîne avec un intervalle de caractères, où `range` est parmi : +
- `digit` (`0123456789`) +
- `xdigit` (`0123456789abcdefABCDEF`) +
- `lower` (toutes les lettres en minuscules) +
- `upper` (toutes les lettres en majuscules) +
- `alpha` (toutes les lettres) +
- `alnum` (toutes les lettres et chiffres) +
- un intervalle de caractères avec le format `c1-c2` (le code de `c1` doit
être inférieur ou égal à celui de `c2`)
| >> `+${chars:digit}+` +
== `+0123456789+` +
+
>> `+${chars:xdigit}+` +
== `+0123456789abcdefABCDEF+` +
+
>> `+${chars:lower}+` +
== `+abcdefghijklmnopqrstuvwxyz+` +
+
>> `+${chars:J-V}+` +
== `+JKLMNOPQRSTUV+` +
+
>> `+${chars:←-↓}+` +
== `+←↑→↓+`
| `+${lower:string}+` | 3.6
| Chaîne convertie en minuscules.
| >> `+${lower:TEST}+` +
== `+test+`
>> `+test+`
| `+${upper:string}+` | 3.6
| Chaîne convertie en majuscules.
| >> `+${upper:test}+` +
== `+TEST+`
>> `+TEST+`
| `+${hide:x,chaîne}+` | 1.1
| Chaîne avec les caractères masqués (tous les caractères dans `chaîne`
@@ -3859,9 +3564,75 @@ int length_on_screen = weechat_utf8_strlen_screen ("é"); /* == 1 */
[NOTE]
Cette fonction n'est pas disponible dans l'API script.
==== utf8_char_size_screen
==== utf8_charcmp
_Mis à jour dans la 3.8._
_Mis à jour dans la 1.0._
Comparer deux caractères UTF-8.
Prototype :
[source,c]
----
int weechat_utf8_charcmp (const char *string1, const char *string2);
----
Paramètres :
* _string1_ : première chaîne pour la comparaison
* _string2_ : seconde chaîne pour la comparaison
Valeur de retour :
* -1 si string1 < string2
* 0 si string1 == string2
* 1 si string1 > string2
Exemple en C :
[source,c]
----
int diff = weechat_utf8_charcmp ("aaa", "ccc"); /* == -2 */
----
[NOTE]
Cette fonction n'est pas disponible dans l'API script.
==== utf8_charcasecmp
_Mis à jour dans la 1.0._
Comparer deux caractères UTF-8 en ignorant la casse.
Prototype :
[source,c]
----
int weechat_utf8_charcasecmp (const char *string1, const char *string2);
----
Paramètres :
* _string1_ : première chaîne pour la comparaison
* _string2_ : seconde chaîne pour la comparaison
Valeur de retour :
* -1 si string1 < string2
* 0 si string1 == string2
* 1 si string1 > string2
Exemple en C :
[source,c]
----
int diff = weechat_utf8_charcasecmp ("aaa", "CCC"); /* == -2 */
----
[NOTE]
Cette fonction n'est pas disponible dans l'API script.
==== utf8_char_size_screen
Retourner le nombre de caractères nécessaires pour afficher le caractère UTF-8
sur l'écran.
@@ -3879,19 +3650,7 @@ Paramètres :
Valeur de retour :
* nombre de caractères nécessaires pour afficher le caractère UTF-8 sur l'écran :
** -1 : caractère non affichable
** ≥ 0 : caractère affichable
Le résultat est la valeur de retour de la fonction `wcwidth` (voir `man wcwidth`),
avec une exception pour les caractères suivants, qui ont un comportement
spécifique dans WeeChat :
* U+0009 (Tabulation) : valeur de l'option
link:weechat_user.fr.html#option_weechat.look.tab_width[weechat.look.tab_width ^↗^,window=_blank]
* U+0001 (1) to U+001F (31), sauf U+0009 (Tabulation) : 1
* U+00AD (173, trait d'union conditionnel) : -1
* U+200B (8203, espace sans chasse) : -1
* nombre de caractères nécessaires pour afficher le caractère UTF-8 sur l'écran
Exemple en C :
@@ -4032,38 +3791,6 @@ free (str);
[NOTE]
Cette fonction n'est pas disponible dans l'API script.
==== utf8_strncpy
_WeeChat ≥ 3.8._
Copier au plus _length_ caractères dans une autre chaîne et ajouter l'octet
nul à la fin.
Prototype :
[source,c]
----
void weechat_utf8_strncpy (char *dest, const char *string, int length);
----
Paramètres :
* _dest_ : chaîne de destination (doit être suffisamment grande)
* _string_ : chaîne
* _length_ : nombre maximum de caractères à copier
Exemple en C :
[source,c]
----
char dest[256];
weechat_utf8_strncpy (dest, "chêne", 3); /* copie "chê" dans dest */
----
[NOTE]
Cette fonction n'est pas disponible dans l'API script.
[[crypto]]
=== Cryptographie
@@ -6360,7 +6087,7 @@ Fonctions pour les fichiers de configuration.
==== config_new
_Mis à jour dans la 1.5, 3.9._
_Mis à jour dans la 1.5._
Créer un nouveau fichier de configuration.
@@ -6378,12 +6105,7 @@ struct t_config_file *weechat_config_new (const char *name,
Paramètres :
* _name_ : nom du nouveau fichier de configuration (sans chemin ou extension) ;
une priorité est autorisée avant le nom, avec le format `nnn|nom` où `nnn` est
un entier positif avec la priorité ; la priorité par défaut est 1000 ; les
fichiers de configuration sont triés par priorité de la plus haute à la plus
basse lorsque la commande `/reload` est exécutée
(voir la priorité des fichiers de configuration ci-dessous)
* _name_ : nom du nouveau fichier de configuration (sans chemin ou extension)
* _callback_reload_ : fonction appelée quand le fichier de configuration est
rechargé avec `/reload` (optionnel, peut être NULL, voir ci-dessous),
paramètres et valeur de retour :
@@ -6424,10 +6146,6 @@ Vous ne devriez appeler cette fonction qu'après avoir créé les sections (avec
<<_config_new_section,config_new_section>>) et les options (avec
<<_config_new_option,config_new_option>>).
Priorité des fichiers de configuration par défaut :
include::includes/autogen_api_config_priority.fr.adoc[tag=config_priority]
Exemple en C :
[source,c]
@@ -6533,10 +6251,9 @@ Paramètres :
** _const char *option_name_ : nom de l'option
** _const char *value_ : valeur
** valeur de retour :
*** _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_READ_OK_
*** _WEECHAT_CONFIG_READ_MEMORY_ERROR_
*** _WEECHAT_CONFIG_READ_FILE_NOT_FOUND_
* _callback_read_pointer_ : pointeur donné à la fonction de rappel lorsqu'elle
est appelée par WeeChat
* _callback_read_data_ : pointeur donné à la fonction de rappel lorsqu'elle est
@@ -6726,38 +6443,28 @@ def config_new_section(config_file: str, name: str,
callback_delete_option: str, callback_delete_option_data: str) -> str: ...
# exemple
def my_section_read_cb(data: str, config_file: str, section: str, option_name: str, value: str | None) -> int:
def my_section_read_cb(data: str, config_file: str, section: str, option_name: str, value: str) -> int:
# ...
return weechat.WEECHAT_CONFIG_OPTION_SET_OK_CHANGED
# return weechat.WEECHAT_CONFIG_OPTION_SET_OK_SAME_VALUE
# return weechat.WEECHAT_CONFIG_OPTION_SET_ERROR
# return weechat.WEECHAT_CONFIG_OPTION_SET_OPTION_NOT_FOUND
# return weechat.WEECHAT_CONFIG_OPTION_SET_ERROR
def my_section_write_cb(data: str, config_file: str, section_name: str) -> int:
# ...
return weechat.WEECHAT_CONFIG_WRITE_OK
# return weechat.WEECHAT_CONFIG_WRITE_ERROR
# return weechat.WEECHAT_CONFIG_WRITE_MEMORY_ERROR
def my_section_write_default_cb(data: str, config_file: str, section_name: str) -> int:
# ...
return weechat.WEECHAT_CONFIG_WRITE_OK
# return weechat.WEECHAT_CONFIG_WRITE_ERROR
# return weechat.WEECHAT_CONFIG_WRITE_MEMORY_ERROR
def my_section_create_option_cb(data: str, config_file: str, section: str, option_name: str, value: str | None) -> int:
def my_section_create_option_cb(data: str, config_file: str, section: str, option_name: str, value: str) -> int:
# ...
return weechat.WEECHAT_CONFIG_OPTION_SET_OK_CHANGED
# return weechat.WEECHAT_CONFIG_OPTION_SET_OK_SAME_VALUE
# return weechat.WEECHAT_CONFIG_OPTION_SET_ERROR
# return weechat.WEECHAT_CONFIG_OPTION_SET_OPTION_NOT_FOUND
return weechat.WEECHAT_CONFIG_OPTION_SET_OK_SAME_VALUE
def my_section_delete_option_cb(data: str, config_file: str, section: str, option: str) -> int:
# ...
return weechat.WEECHAT_CONFIG_OPTION_UNSET_OK_REMOVED
# return weechat.WEECHAT_CONFIG_OPTION_UNSET_OK_NO_RESET
# return weechat.WEECHAT_CONFIG_OPTION_UNSET_OK_RESET
# return weechat.WEECHAT_CONFIG_OPTION_UNSET_ERROR
section = weechat.config_new_section(config_file, "section1", 1, 1,
"my_section_read_cb", "",
@@ -7002,10 +6709,10 @@ def option4_check_value_cb(data: str, option: str, value: str) -> int:
return 1
# return 0
def option4_change_cb(data: str, option: str) -> None:
def option4_change_cb(data: str, option: str) -> int:
# ...
def option4_delete_cb(data: str, option: str) -> None:
def option4_delete_cb(data: str, option: str) -> int:
# ...
option1 = weechat.config_new_option(config_file, section, "option1", "boolean",
@@ -8989,10 +8696,6 @@ Paramètres :
_irc.color.message_quit_ _(WeeChat ≥ 1.2)_
** une couleur avec des attributs/fond optionnels (voir ci-dessous)
** un attribut :
*** _blink_ : activer le clignotement
*** _-blink_ : désactiver le clignotement
*** _dim_ : activer le "dim" (demi-intensité)
*** _-dim_ : désactiver le "dim" (demi-intensité)
*** _bold_ : activer le gras
*** _-bold_ : désactiver le gras
*** _reverse_ : activer la vidéo inverse
@@ -9017,8 +8720,6 @@ Paramètres :
Le format de la couleur est : attributs (optionnel) + nom de couleur + ",fond"
(optionnel). Les attributs possibles sont :
* `+%+` : clignotement
* `+.+` : "dim" (demi-intensité)
* `+*+` : texte gras
* `+!+` : mode vidéo inverse
* `+/+` : italique
@@ -11415,18 +11116,6 @@ Liste des signaux envoyés par WeeChat et les extensions :
| Pointeur : tampon.
| Fin du zoom sur un tampon mélangé.
| weechat | [[hook_signal_buffer_user_input_xxx]] buffer_user_input_xxx ^(2)^ | 3.8
| Chaîne : texte envoyé au tampon.
| Texte envoyé au tampon utilisateur (envoyé seulement sur les tampons créés
avec `/buffer add`). +
Si le code retour d'une fonction de rappel est _WEECHAT_RC_OK_EAT_, alors
la chaîne "q" ne peut plus être utilisée pour fermer le tampon.
| weechat | [[hook_signal_buffer_user_closing_xxx]] buffer_user_closing_xxx ^(2)^ | 3.8
| -
| Fermeture du tampon utilisateur en cours (envoyé seulement sur les tampons créés
avec `/buffer add`).
| weechat | [[hook_signal_cursor_start]] cursor_start | 3.2
| -
| Début du mode curseur.
@@ -11666,8 +11355,7 @@ Liste des signaux envoyés par WeeChat et les extensions :
|===
[NOTE]
^(1)^ _xxx_ est le nom du serveur IRC, _yyy_ est le nom d'une commande IRC. +
^(2)^ _xxx_ est le nom du tampon.
^(1)^ _xxx_ est le nom du serveur IRC, _yyy_ est le nom d'une commande IRC.
Exemple en C :
@@ -14082,9 +13770,7 @@ Propriétés :
utilisé) +
"-" : désactive la hotlist (option globale, le pointeur vers le tampon n'est
pas utilisé) +
priorité : ajouter ce tampon dans la hotlist avec cette priorité
(les conditions définies dans l'option _weechat.look.hotlist_add_conditions_
ne sont *PAS* vérifiées) +
priorité : ajouter ce tampon dans la hotlist avec cette priorité +
"-1" : supprimer ce tampon de la hotlist _(WeeChat ≥ 1.0)_.
| completion_freeze | | "0" ou "1"
@@ -14093,10 +13779,8 @@ Propriétés :
"1" : ne pas arrêter la complétion lorsque la ligne de commande est mise à
jour (option globale, le pointeur vers le tampon n'est pas utilisé).
| unread | | chaîne vide ou "0"
| chaîne vide : définit le marqueur de données non lues après la dernière ligne
du tampon +
"0" : supprime le marqueur de données non lues du tampon.
| unread | | -
| Définit le marqueur de données non lues après la dernière ligne du tampon.
| display | | "1" ou "auto"
| "1" : basculer vers ce tampon dans la fenêtre active +
@@ -14395,7 +14079,7 @@ str = weechat.buffer_string_replace_local_var(my_buffer, "test avec $toto")
==== buffer_match_list
_WeeChat ≥ 0.3.5, mis à jour dans la 3.9._
_WeeChat ≥ 0.3.5._
Vérifier si le tampon correspond à la liste de tampons.
@@ -14414,9 +14098,6 @@ Paramètres :
** un nom commençant par `+!+` est exclu
** le caractère joker `+*+` est autorisé dans le nom
[NOTE]
Depuis la version 3.9, la comparaison des noms de tampons est sensible à la casse.
Valeur de retour :
* 1 si le tampon correspond à la liste de tampons, 0 sinon
@@ -14430,7 +14111,7 @@ if (buffer)
{
weechat_printf (NULL, "%d", weechat_buffer_match_list (buffer, "*")); /* 1 */
weechat_printf (NULL, "%d", weechat_buffer_match_list (buffer, "*,!*#weechat*")); /* 0 */
weechat_printf (NULL, "%d", weechat_buffer_match_list (buffer, "irc.libera.*")); /* 1 */
weechat_printf (NULL, "%d", weechat_buffer_match_list (buffer, "irc.libera.*")); /* 1 */
weechat_printf (NULL, "%d", weechat_buffer_match_list (buffer, "irc.oftc.*,python.*")); /* 0 */
}
----
@@ -14447,7 +14128,7 @@ buffer = weechat.buffer_search("irc", "libera.#weechat")
if buffer:
weechat.prnt("", "%d" % weechat.buffer_match_list(buffer, "*")) # 1
weechat.prnt("", "%d" % weechat.buffer_match_list(buffer, "*,!*#weechat*")) # 0
weechat.prnt("", "%d" % weechat.buffer_match_list(buffer, "irc.libera.*")) # 1
weechat.prnt("", "%d" % weechat.buffer_match_list(buffer, "irc.libera.*")) # 1
weechat.prnt("", "%d" % weechat.buffer_match_list(buffer, "irc.oftc.*,python.*")) # 0
----
+11 -17
View File
@@ -67,7 +67,7 @@ Si quelque chose doit être lancé en arrière-plan, la fonction `+hook_process+
peut être utilisée. Voir l'exemple dans le chapitre
<<hook_process,Lancer un processus en tâche de fond>> et la documentation sur
la fonction `+hook_process+` dans la
link:weechat_plugin_api.fr.html#_hook_process[Référence API extension WeeChat ^↗^,window=_blank].
link:weechat_plugin_api.en.html#_hook_process[Référence API extension WeeChat ^↗^,window=_blank].
[[languages_specificities]]
=== Spécificités des langages
@@ -143,6 +143,10 @@ pas exhaustive) :
|===
En Python 2, qui est déconseillé et ne devrait plus être utilisé, les chaînes
envoyées aux fonctions de rappel sont toujours de type `str`, et peuvent contenir
des données invalides UTF-8, dans les cas mentionnés ci-dessus.
[[language_perl]]
==== Perl
@@ -201,22 +205,12 @@ Les fonctions sont appelées par `+weechat.xxx(arg1, arg2, ...)+`.
Les fonctions sont appelées par `+weechat::xxx arg1 arg2 ...+`.
// TRANSLATION MISSING
[[tcl_null]]
===== Null values
Since Tcl only has string types, there's no null type to pass as an argument
when a function accepts null values or to get as an argument in a callback
function. To overcome this the WeeChat API defines the constant
`$::weechat::WEECHAT_NULL` which acts as a null value. This constant is defined
as `\uFFFF\uFFFF\uFFFFWEECHAT_NULL\uFFFF\uFFFF\uFFFF`, so it's very unlikely to
appear unintentionally.
You can pass this constant when a function accepts null as an argument and you
will get it as the value of an argument in a callback function if the argument
value is null. To see which functions accept null values and passes null values
to callbacks, look at the Python prototypes in the
link:weechat_plugin_api.en.html[WeeChat plugin API reference ^↗^,window=_blank].
Étant donné que Tcl n'a que des types "string", il n'y a pas de type null à
donner comme paramètre quand une fonctionne accepte des valeurs nulles.
Pour surmonter cela vous pouvez utiliser la constante `$::weechat::WEECHAT_NULL`
qui agit comme la valeur nulle. Cette constante est définie avec la valeur
`\uFFFF\uFFFF\uFFFFWEECHAT_NULL\uFFFF\uFFFF\uFFFF`, il est donc très peu probable
qu'elle apparaisse de manière non intentionnelle.
[[language_guile]]
==== Guile (Scheme)
+188 -210
View File
@@ -95,7 +95,8 @@ https://github.com/weechat/weechat-container[weechat-container ^↗^,window=_bl
[[source_package]]
=== Paquet source
WeeChat doit être construit avec CMake.
WeeChat peut être compilé avec CMake ou les autotools (CMake est la méthode
recommandée).
[NOTE]
Sous macOS, vous pouvez utiliser https://brew.sh/[Homebrew ^↗^,window=_blank] :
@@ -104,17 +105,17 @@ Sous macOS, vous pouvez utiliser https://brew.sh/[Homebrew ^↗^,window=_blank]
[[dependencies]]
==== Dépendances
Le tableau suivant liste les paquets *requis* pour construire WeeChat :
Le tableau suivant liste les paquets *requis* pour compiler WeeChat :
[width="100%",cols="5,^3,.^15",options="header"]
|===
| Paquet ^(1)^ | Version | Fonctionnalités
| compilateur C (gcc / clang) |
| Compilation des sources en C.
| Construction.
| cmake | ≥ 3.0
| Construction.
| Construction (autotools toujours possible, mais CMake est recommandé).
| pkg-config |
| Détection des bibliothèques installées.
@@ -161,7 +162,7 @@ Le tableau suivant liste les paquets optionnels pour compiler WeeChat :
| gettext | | Internationalisation (traduction des messages ; la langue de base est l'anglais).
| ca-certificates | | Certificats pour les connexions SSL.
| libaspell-dev / libenchant-dev | | Extension spell.
| python3-dev | ≥ 3.0 | Extension python.
| python3-dev ^(2)^ | | Extension python.
| libperl-dev | | Extension perl.
| ruby2.7, ruby2.7-dev | ≥ 1.9.1 | Extension ruby.
| liblua5.4-dev | | Extension lua.
@@ -181,6 +182,9 @@ Le tableau suivant liste les paquets optionnels pour compiler WeeChat :
[NOTE]
^(1)^ Le nom provient de la distribution GNU/Linux Debian Bullseye, la version
et le nom peuvent être différents dans les autres distributions.
^(2)^ Par défaut Python 3.x est utilisé. Si vous activez l'option
`+ENABLE_PYTHON2+` (voir ci-dessous), seule la version 2.7 de Python est
recommandée.
Si vous utilisez une distribution basée sur Debian ou Ubuntu, et si vous avez
des entrées source "deb-src" dans votre fichier _/etc/apt/sources.list_, vous
@@ -190,8 +194,8 @@ pouvez installer toutes les dépendances avec la commande :
# apt-get build-dep weechat
----
[[build]]
==== Construction
[[compile_with_cmake]]
==== Compilation avec CMake
* Installation dans les répertoires systèmes (nécessite les droits _root_) :
@@ -295,6 +299,10 @@ Liste des options couramment utilisées :
| ENABLE_PYTHON | `ON`, `OFF` | ON
| Compiler <<scripting_plugins,l'extension Python>>.
| ENABLE_PYTHON2 | `ON`, `OFF` | OFF
| Compiler <<scripting_plugins,l'extension Python>> avec Python 2 au lieu de
Python 3.
| ENABLE_RELAY | `ON`, `OFF` | ON
| Compiler <<relay,l'extension Relay>>.
@@ -344,21 +352,60 @@ Ou avec l'interface Curses :
$ ccmake ..
----
[[tests]]
==== Tests
[[compile_with_autotools]]
==== Compilation avec autotools
[WARNING]
Seul CMake est officiellement supporté pour construire WeeChat. Vous ne devriez
utiliser les autotools que si vous n'avez pas la possibilité d'utiliser CMake. +
La compilation avec les autotools requiert plus de dépendances et est plus lente
qu'avec CMake.
* Installation dans les répertoires systèmes (nécessite les droits _root_) :
----
$ ./autogen.sh
$ mkdir build
$ cd build
$ ../configure
$ make
$ sudo make install
----
* Installation dans un répertoire spécifique (par exemple dans votre "home") :
----
$ ./autogen.sh
$ mkdir build
$ cd build
$ ../configure --prefix=/chemin/vers/répertoire
$ make
$ make install
----
Des options peuvent être utilisées pour le script _configure_, elles peuvent
être affichées avec cette commande :
----
$ ./configure --help
----
[[run_tests]]
==== Lancement des tests
Les paquets suivants sont nécessaires pour compiler les tests :
* libcpputest-dev
* C++ compiler
Les tests doivent être activés pour compiler WeeChat :
Les tests doivent être activés pour compiler WeeChat (avec CMake) :
----
$ cmake .. -DENABLE_TESTS=ON
----
Ils peuvent être lancés après compilation depuis le répertoire de construction :
Ils peuvent être lancés après compilation depuis le répertoire de construction
(avec CMake) :
----
$ ctest -V
@@ -525,6 +572,79 @@ Ensuite comme pour un crash, utilisez la commande `bt full` :
(gdb) bt full
----
[[upgrade]]
== Mise à jour
Si une nouvelle version stable de WeeChat est disponible, il est temps pour vous
de passer à cette version.
Avant toute chose, vous devez installer la nouvelle version de WeeChat, soit
via votre gestionnaire de paquets ou en le compilant vous-même, de telle sorte
que le nouveau binaire `weechat` et tous les fichiers requis sont dans les mêmes
répertoires. +
Cela peut être fait pendant que WeeChat tourne.
[[upgrade_command]]
=== Commande de mise à jour
WeeChat peut redémarrer le nouveau binaire avec la commande
<<command_weechat_upgrade,/upgrade>> : le contenu des tampons et les connexions
non SSL sont préservées. +
Les connexions SSL sont perdues pendant la mise à jour et sont automatiquement
rétablies après la mise à jour (le rechargement des sessions SSL n'est pas
possible actuellement avec GnuTLS).
La commande peut aussi être utilisée si vous devez redémarrer la machine, par
exemple pour mettre à jour le noyau ou déplacer WeeChat vers une autre machine :
----
/upgrade -quit
----
Cela sauvegarde l'état actuel dans des fichiers `*.upgrade`. Vous pouvez soit
rebooter ou déplacer les répertoires WeeChat (config, data, cache) vers une
autre machine, et redémarrer WeeChat plus tard avec cette commande :
----
$ weechat --upgrade
----
[[restart_after_upgrade]]
=== Redémarrage après mise à jour
[[restart_release_notes]]
==== Notes de version
Après une mise à jour, il est *fortement recommandé* de lire les
https://weechat.org/files/releasenotes/ReleaseNotes-devel.html[notes de version ^↗^,window=_blank]
qui contiennent des informations importantes sur les changements majeurs et
quelques actions manuelles qui pourraient être nécessaires.
Vous devez lire les notes des versions entre votre version ancienne (exclue)
et votre nouvelle version (incluse). +
Par exemple si vous passez de la version 3.0 à 3.2, vous devez lire les notes
des versions 3.1 et 3.2.
[[restart_configuration_upgrade]]
==== Mise à jour de la configuration
WeeChat a un système de mise à jour automatique des fichiers de configuration
(`*.conf`) :
* les nouvelles options sont silencieusement ajoutées avec la valeur par défaut
* les options obsolètes sont automatiquement supprimées et WeeChat affiche un
avertissement avec la valeur lue dans le fichier.
Exemple d'avertissement lorsqu'une option a été supprimée :
----
=!= Attention : /home/user/.config/weechat/sec.conf, ligne 15 : option inconnue pour la section "crypt" : passphrase_file = ""
----
Cela signifie que l'option `sec.crypt.passphrase_file` a été supprimée, et vous
aviez la valeur définie à une chaîne vide, ce qui était la valeur par défaut
dans la version précédente (dans ce cas aucune action manuelle n'est nécessaire).
[[running_weechat]]
== Lancement de WeeChat
@@ -630,11 +750,11 @@ utilisés et déterminés ainsi :
[width="100%",cols="1,2m,5",options="header"]
|===
| Répertoire | Valeur par défaut | Valeur de repli si $XDG_XXX n'est pas définie
| config | $XDG_CONFIG_HOME/weechat | `$HOME/.config/weechat`
| data | $XDG_DATA_HOME/weechat | `$HOME/.local/share/weechat`
| cache | $XDG_CACHE_HOME/weechat | `$HOME/.cache/weechat`
| runtime | $XDG_RUNTIME_DIR/weechat | Identique au répertoire _cache_
| Répertoire | Valeur par défaut | Valeur de repli
| config | $XDG_CONFIG_HOME/weechat | `$HOME/.config/weechat` si `$XDG_CONFIG_HOME` n'est pas défini ou vide.
| data | $XDG_DATA_HOME/weechat | `$HOME/.local/share/weechat` si `$XDG_DATA_HOME` n'est pas défini ou vide.
| cache | $XDG_CACHE_HOME/weechat | `$HOME/.cache/weechat` si `$XDG_CACHE_HOME` n'est pas défini ou vide.
| runtime | $XDG_RUNTIME_DIR/weechat | Identique au répertoire _cache_ si `$XDG_RUNTIME_DIR` n'est pas défini ou vide.
|===
Les fichiers de configuration sont créés avec les valeurs par défaut la première
@@ -722,79 +842,6 @@ changements qui n'auraient pas été sauvés avec <<command_weechat_save,/save>>
Vous pouvez utiliser la commande <<command_weechat_set,/set>>, qui vérifie la
valeur et applique les changements immédiatement.
[[upgrade]]
== Mise à jour
Si une nouvelle version stable de WeeChat est disponible, il est temps pour vous
de passer à cette version.
Avant toute chose, vous devez installer la nouvelle version de WeeChat, soit
via votre gestionnaire de paquets ou en le compilant vous-même, de telle sorte
que le nouveau binaire `weechat` et tous les fichiers requis sont dans les mêmes
répertoires. +
Cela peut être fait pendant que WeeChat tourne.
[[upgrade_command]]
=== Commande de mise à jour
WeeChat peut redémarrer le nouveau binaire avec la commande
<<command_weechat_upgrade,/upgrade>> : le contenu des tampons et les connexions
non SSL sont préservées. +
Les connexions SSL sont perdues pendant la mise à jour et sont automatiquement
rétablies après la mise à jour (le rechargement des sessions SSL n'est pas
possible actuellement avec GnuTLS).
La commande peut aussi être utilisée si vous devez redémarrer la machine, par
exemple pour mettre à jour le noyau ou déplacer WeeChat vers une autre machine :
----
/upgrade -quit
----
Cela sauvegarde l'état actuel dans des fichiers `*.upgrade`. Vous pouvez soit
rebooter ou déplacer les répertoires WeeChat (config, data, cache) vers une
autre machine, et redémarrer WeeChat plus tard avec cette commande :
----
$ weechat --upgrade
----
[[restart_after_upgrade]]
=== Redémarrage après mise à jour
[[restart_release_notes]]
==== Notes de version
Après une mise à jour, il est *fortement recommandé* de lire les
https://weechat.org/files/releasenotes/ReleaseNotes-devel.html[notes de version ^↗^,window=_blank]
qui contiennent des informations importantes sur les changements majeurs et
quelques actions manuelles qui pourraient être nécessaires.
Vous devez lire les notes des versions entre votre version ancienne (exclue)
et votre nouvelle version (incluse). +
Par exemple si vous passez de la version 3.0 à 3.2, vous devez lire les notes
des versions 3.1 et 3.2.
[[restart_configuration_upgrade]]
==== Mise à jour de la configuration
WeeChat a un système de mise à jour automatique des fichiers de configuration
(`*.conf`) :
* les nouvelles options sont silencieusement ajoutées avec la valeur par défaut
* les options obsolètes sont automatiquement supprimées et WeeChat affiche un
avertissement avec la valeur lue dans le fichier.
Exemple d'avertissement lorsqu'une option a été supprimée :
----
=!= Attention : /home/user/.config/weechat/sec.conf, ligne 15 : option inconnue pour la section "crypt" : passphrase_file = ""
----
Cela signifie que l'option `sec.crypt.passphrase_file` a été supprimée, et vous
aviez la valeur définie à une chaîne vide, ce qui était la valeur par défaut
dans la version précédente (dans ce cas aucune action manuelle n'est nécessaire).
[[interface]]
== Interface
@@ -891,7 +938,7 @@ La barre _input_ contient les objets (items) suivants par défaut :
| input_prompt | `[@Flashy(i)]` | Prompt, pour irc : pseudo et modes (le mode "+i" signifie invisible sur libera).
| away | `(absent)` | Indicateur d'absence.
| input_search | `[Recherche (~ str,msg)]` | Indicateur de recherche de texte ("`~`" : insensible à la casse, "`==`" : sensible à la casse, "`str`" : recherche de chaîne, "`regex`" : recherche d'expression régulière, "`msg`" : recherche dans les messages, "`pre`" : recherche dans les préfixes, "`pre\|msg`" : recherche dans les préfixes et messages).
| input_paste | `[Coller 7 lignes ? [ctrl-y] Oui [ctrl-n] Non]` | Question à l'utilisateur pour coller des lignes.
| input_paste | `[Coller 7 lignes ? [ctrl-Y] Oui [ctrl-N] Non]` | Question à l'utilisateur pour coller des lignes.
| input_text | `salut peter !` | Texte entré.
|===
@@ -1568,9 +1615,9 @@ Ils peuvent être modifiés et de nouveaux peuvent être ajoutés avec la comman
|===
| Touche | Description | Commande
| kbd:[Ctrl+r] | Chercher du texte dans l'historique du tampon (voir <<key_bindings_search_context,les touches pour le contexte de recherche>>). | `+/input search_text_here+`
| kbd:[Ctrl+s], kbd:[Ctrl+u] | Positionner le marqueur de données non lues sur tous les tampons. | `+/allbuf /buffer set unread+`
| kbd:[Ctrl+x] | Changer de tampon courant si plusieurs tampons sont mélangés avec le même numéro, par exemple basculer vers un autre tampon serveur IRC. | `+/buffer switch+`
| kbd:[Alt+x] | Zoomer sur le tampon mélangé (kbd:[Alt+x] de nouveau : afficher tous les tampons mélangés). | `+/buffer zoom+`
| kbd:[Ctrl+s], kbd:[Ctrl+u] | Positionner le marqueur de données non lues sur tous les tampons. | `+/input set_unread+`
| kbd:[Ctrl+x] | Changer de tampon courant si plusieurs tampons sont mélangés avec le même numéro, par exemple basculer vers un autre tampon serveur IRC. | `+/input switch_active_buffer+`
| kbd:[Alt+x] | Zoomer sur le tampon mélangé (kbd:[Alt+x] de nouveau : afficher tous les tampons mélangés). | `+/input zoom_merged_buffer+`
| kbd:[PgUp] | Monter d'une page dans l'historique du tampon. | `+/window page_up+`
| kbd:[PgDn] | Descendre d'une page dans l'historique du tampon. | `+/window page_down+`
| kbd:[Alt+PgUp] | Monter de quelques lignes dans l'historique du tampon. | `+/window scroll_up+`
@@ -1594,9 +1641,9 @@ Ils peuvent être modifiés et de nouveaux peuvent être ajoutés avec la comman
| kbd:[Alt+n] | Se positionner sur le highlight suivant. | `+/window scroll_next_highlight+`
| kbd:[Alt+p] | Se positionner sur le highlight précédent. | `+/window scroll_previous_highlight+`
| kbd:[Alt+u] | Se positionner sur la première ligne non lue du tampon. | `+/window scroll_unread+`
| kbd:[Alt+<] | Sauter au tampon précédent dans la liste des tampons visités. | `+/buffer jump prev_visited+`
| kbd:[Alt+>] | Sauter au tampon suivant dans la liste des tampons visités. | `+/buffer jump next_visited+`
| kbd:[Alt+/] | Sauter au dernier tampon affiché (avant le dernier saut vers un tampon). | `+/buffer jump last_displayed+`
| kbd:[Alt+<] | Sauter au tampon précédent dans la liste des tampons visités. | `+/input jump_previously_visited_buffer+`
| kbd:[Alt+>] | Sauter au tampon suivant dans la liste des tampons visités. | `+/input jump_next_visited_buffer+`
| kbd:[Alt+/] | Sauter au dernier tampon affiché (avant le dernier saut vers un tampon). | `+/input jump_last_buffer_displayed+`
|===
[[key_bindings_windows]]
@@ -1648,11 +1695,11 @@ Ils peuvent être modifiés et de nouveaux peuvent être ajoutés avec la comman
[width="100%",cols="^.^3,.^8,.^5",options="header"]
|===
| Touche | Description | Commande
| kbd:[Alt+a] | Sauter au prochain tampon avec activité (avec priorité : highlight, message, autre). | `+/buffer jump smart+`
| kbd:[Alt+h], kbd:[Alt+c] | Vider la hotlist (notification d'activité sur les tampons). | `+/hotlist clear+`
| kbd:[Alt+h], kbd:[Alt+m] | Supprimer le tampon courant de la hotlist. | `+/hotlist remove+`
| kbd:[Alt+h], kbd:[Alt+r] | Restaurer la dernière hotlist supprimée dans le tampon courant. | `+/hotlist restore+`
| kbd:[Alt+h], kbd:[Alt+Shift+R] | Restaurer la dernière hotlist supprimée dans tous les tampons. | `+/hotlist restore -all+`
| kbd:[Alt+a] | Sauter au prochain tampon avec activité (avec priorité : highlight, message, autre). | `+/input jump_smart+`
| kbd:[Alt+h], kbd:[Alt+c] | Vider la hotlist (notification d'activité sur les tampons). | `+/input hotlist_clear+`
| kbd:[Alt+h], kbd:[Alt+m] | Supprimer le tampon courant de la hotlist. | `+/input hotlist_remove_buffer+`
| kbd:[Alt+h], kbd:[Alt+r] | Restaurer la dernière hotlist supprimée dans le tampon courant. | `+/input hotlist_restore_buffer+`
| kbd:[Alt+h], kbd:[Alt+Shift+R] | Restaurer la dernière hotlist supprimée dans tous les tampons. | `+/input hotlist_restore_all+`
|===
[[key_bindings_toggle_keys]]
@@ -1730,7 +1777,7 @@ avec la touche kbd:[Alt+m] (commande : `+/mouse toggle+`).
| ◾◽◽ | left | chat | Aller au tampon précédent. | `+/window ${_window_number};/buffer +1+`
| ◾◽◽ | right | chat | Aller au tampon suivant. | `+/window ${_window_number};/buffer +1+`
| ◾◽◽ | left (long) | chat | Aller au premier tampon. | `+/window ${_window_number};/buffer 1+`
| ◾◽◽ | right (long) | chat | Aller au dernier tampon. | `+/window ${_window_number};/buffer ++`
| ◾◽◽ | right (long) | chat | Aller au dernier tampon. | `+/window ${_window_number};/input jump_last_buffer+`
| kbd:[▲] | - | chat | Monter de quelques lignes dans l'historique du tampon. | `+/window scroll_up -window ${_window_number}+`
| kbd:[▼] | - | chat | Descendre de quelques lignes dans l'historique du tampon. | `+/window scroll_down -window ${_window_number}+`
| kbd:[Ctrl+▲] | - | chat | Faire défiler horizontalement vers la gauche. | `+/window scroll_horiz -window ${_window_number} -10%+`
@@ -1979,14 +2026,12 @@ Par exemple :
Il est possible d'utiliser des attributs pour les couleurs. Un ou plusieurs
attributs peuvent être ajoutés avant le nom ou le numéro de la couleur :
* `+%+` : clignotement
* `+.+` : "dim" (demi-intensité)
* `+*+` : texte gras
* `+!+` : mode vidéo inverse
* `+/+` : italique
* `+_+` : texte souligné
* `+|+` : garder les attributs : ne pas réinitialiser
clignotement/dim/gras/inverse/souligné lors du changement de couleur
* `+|+` : garder les attributs : ne pas réinitialiser gras/inverse/souligné lors
du changement de couleur
Par exemple si vous voulez votre pseudo en blanc souligné, faites :
@@ -2231,7 +2276,7 @@ Par exemple pour désactiver tout highlight sur les messages avec un mot
commençant par "flash" entre chevrons :
----
/set weechat.look.highlight_disable_regex "<flash.*>"
/set weechat.look.highlight_regex "<flash.*>"
----
Ceci peut aussi être défini avec la propriété de tampon "highlight_disable_regex".
@@ -4859,7 +4904,7 @@ points-virgules.
`+*;irc.libera.*+` +
`+*;irc.libera.#weechat+` +
`+formatted;irc.libera.#weechat;irc_notice+`
| link:weechat_plugin_api.fr.html#_hook_line[hook_line ^↗^,window=_blank]
| link:weechat_plugin_api.en.html#_hook_line[hook_line ^↗^,window=_blank]
| print
| 1. nom de tampon +
@@ -4951,108 +4996,8 @@ ${tg_displayed} && (${tg_highlight} || ${tg_msg_pv})
L'expression régulière est utilisée pour modifier des variables dans la table
de hachage de la fonction de rappel.
Le format est l'un des suivants :
----
/chaîne1/chaîne2
/chaîne1/chaîne2/var
s/chaîne1/chaîne2
s/chaîne1/chaîne2/var
y/chaîne1/chaîne2
y/chaîne1/chaîne2/var
----
Champs :
* `s` ou `y` : une lettre avec la commande ; si manquante, la commande par défaut
est `s` et le premier caractère est alors utilisé comme délimiteur :
** `s` : remplacement par expression régulière : la première chaîne est l'expression
régulière, la seconde chaîne est le remplacement pour chaque chaîne trouvée
** `y` : traduction de caractères : la première chaîne est un ensemble de caractères
qui sont remplacés par les caractères de la seconde chaîne ; une fois évaluée,
chaque chaîne doit contenir exactement le même nombre de caractères UTF-8
* `/` : le délimiteur d'expression régulière ; le caractère "/" peut être remplacé
par n'importe quel caractère (un ou plusieurs caractères identiques)
* `chaîne1` : la première chaîne (l'utilisation dépend de la commande)
* `chaîne2` : la seconde chaîne (l'utilisation dépend de la commande)
* `var` : la table de hachage avec la variable à mettre à jour
Plusieurs expressions régulières peuvent être séparées par un espace, par exemple :
----
s/regex1/remplacement1/var1 y/abcdef/ABDDEF/var2
----
[[trigger_regex_replace]]
==== Regex replace
Pour la commande `s`, le format est : `s/regex/remplacement` ou
`s/regex/remplacement/var` (où _var_ est une variable de la table de hachage).
Comme `s` est la commande par défaut, elle peut être omise, donc `/regex/replace`
est également valide (mais le premier caractère, qui est le délimiteur, ne doit
pas être une lettre).
Les groupes de correspondance peuvent être utilisés dans le _remplacement_ :
* `+${re:0}+` à `+${re:99}+` : `+${re:0}+` est la correspondance complète, `+${re:1}+`
à `+${re:99}+` sont les groupes capturés
* `+${re:+}+` : la dernière correspondance (avec le numéro le plus élevé)
* `+${hide:c,${re:N}}+` : la correspondance "N" avec tous les caractères
remplacés par "c" (exemple : `+${hide:*,${re:2}}+` est le groupe n°2 avec tous
les caractères remplacés par `+*+`).
Exemple : utiliser du gras pour les mots entre `+*+` :
----
s/\*([^ ]+)\*/*${color:bold}${re:1}${color:-bold}*/
----
Exemple : le trigger par défaut _server_pass_ utilise cette expression régulière
pour cacher le mot de passe dans les commandes `/server` et `/connect` (les
caractères des mots de passe sont remplacés par `+*+`) :
----
s==^(/(server|connect) .*-(sasl_)?password=)([^ ]+)(.*)==${re:1}${hide:*,${re:4}}${re:5}
----
[NOTE]
Dans cet exemple, le séparateur utilisé est "==" car il y a "/" dans
l'expression régulière.
[[trigger_regex_translate_chars]]
==== Translate chars
Pour la commande `y`, le format est : `y/caractères1/caractères2` ou
`y/caractères1/caractères2/var` (où _var_ est une variable de la table de hachage).
Exemple : remplacer "a", "b" et "c" par la lettre en majuscules :
----
y/abc/ABC/
----
Exemple : faire tourner une flèche dans le sens horaire :
----
y/←↑→↓/↑→↓←/
----
Exemple : convertir toutes les lettres en minuscules :
----
y/${chars:upper}/${chars:lower}/
----
Exemple : décaler toutes les lettres d'une position, en préservant la casse :
a→b, b→c … y→z, z→a :
----
y/${chars:a-z}${chars:A-Z}/${chars:b-z}a${chars:B-Z}A/
----
[[trigger_regex_variable]]
==== Variable
Le format est : "/regex/remplacement" ou "/regex/remplacement/var" (où _var_ est
une variable de la table de hachage).
Si _var_ n'existe pas dans la table de hachage, elle est automatiquement créée
avec une valeur vide. Cela permet de créer des variables temporaires.
@@ -5082,6 +5027,39 @@ du type de hook :
seulement ces variables ont un effet sur la valeur retournée par le trigger
et utilisée par WeeChat.
Plusieurs expressions régulières peuvent être séparées par un espace, par
exemple : "/regex1/remplacement1/var1 /regex2/remplacement2/var2".
Le caractère "/" peut être remplacé par tout caractère (un ou plusieurs
caractères identiques).
Les groupes de correspondance peuvent être utilisés dans le "remplacement" :
* `+${re:0}+` à `+${re:99}+` : `+${re:0}+` est la correspondance complète, `+${re:1}+`
à `+${re:99}+` sont les groupes capturés
* `+${re:+}+` : la dernière correspondance (avec le numéro le plus élevé)
* `+${hide:c,${re:N}}+` : la correspondance "N" avec tous les caractères
remplacés par "c" (exemple : `+${hide:*,${re:2}}+` est le groupe n°2 avec tous
les caractères remplacés par `+*+`).
Exemple : utiliser du gras pour les mots entre `+*+` :
----
/\*([^ ]+)\*/*${color:bold}${re:1}${color:-bold}*/
----
Exemple : le trigger par défaut _server_pass_ utilise cette expression régulière
pour cacher le mot de passe dans les commandes `/server` et `/connect` (les
caractères des mots de passe sont remplacés par `+*+`) :
----
==^(/(server|connect) .*-(sasl_)?password=)([^ ]+)(.*)==${re:1}${hide:*,${re:4}}${re:5}
----
[NOTE]
Dans cet exemple, le séparateur utilisé est "==" car il y a "/" dans
l'expression régulière.
[[trigger_command]]
=== Commande
+1 -1
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2023 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
#
# This file is part of WeeChat, the extensible chat client.
#
+116
View File
@@ -0,0 +1,116 @@
#
# Copyright (C) 2003-2022 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/>.
#
docdir = $(datadir)/doc/$(PACKAGE)
EXTRA_DIST = CMakeLists.txt \
docinfo.html \
weechat.1.it.adoc \
weechat-headless.1.it.adoc \
weechat_user.it.adoc \
weechat_plugin_api.it.adoc \
weechat_scripting.it.adoc \
weechat_faq.it.adoc \
weechat_quickstart.it.adoc \
includes/autogen_api_completions.it.adoc \
includes/autogen_api_hdata.it.adoc \
includes/autogen_api_infolists.it.adoc \
includes/autogen_api_infos_hashtable.it.adoc \
includes/autogen_api_infos.it.adoc \
includes/autogen_api_plugins_priority.it.adoc \
includes/autogen_api_url_options.it.adoc \
includes/autogen_user_commands.it.adoc \
includes/autogen_user_default_aliases.it.adoc \
includes/autogen_user_irc_colors.it.adoc \
includes/autogen_user_options.it.adoc \
includes/cmdline_options.it.adoc \
includes/man.it.adoc
if MAN
man_targets = weechat.1 \
weechat-headless.1
man_install = install-man
man_uninstall = uninstall-man
endif
if DOC
doc_targets = weechat_user.it.html \
weechat_plugin_api.it.html \
weechat_scripting.it.html \
weechat_faq.it.html \
weechat_quickstart.it.html
doc_install = install-doc
doc_uninstall = uninstall-doc
endif
all-local: $(man_targets) $(doc_targets)
# man pages
weechat.1: weechat.1.it.adoc includes/cmdline_options.it.adoc includes/man.it.adoc
$(ASCIIDOCTOR) $(ASCIIDOCTOR_ARGS) -a revnumber="$(VERSION)" -b manpage -o weechat.1 $(abs_top_srcdir)/doc/it/weechat.1.it.adoc
weechat-headless.1: weechat-headless.1.it.adoc includes/cmdline_options.it.adoc includes/man.it.adoc
$(ASCIIDOCTOR) $(ASCIIDOCTOR_ARGS) -a revnumber="$(VERSION)" -b manpage -o weechat-headless.1 $(abs_top_srcdir)/doc/it/weechat-headless.1.it.adoc
# user's guide
weechat_user.it.html: weechat_user.it.adoc includes/cmdline_options.it.adoc $(wildcard includes/autogen_user_*.adoc) $(abs_top_srcdir)/doc/docinfo.html
$(ASCIIDOCTOR) $(ASCIIDOCTOR_ARGS) -a revnumber="$(VERSION)" -o weechat_user.it.html $(abs_top_srcdir)/doc/it/weechat_user.it.adoc
# plugin API reference
weechat_plugin_api.it.html: weechat_plugin_api.it.adoc $(wildcard includes/autogen_api_*.adoc) $(abs_top_srcdir)/doc/docinfo.html
$(ASCIIDOCTOR) $(ASCIIDOCTOR_ARGS) -a revnumber="$(VERSION)" -o weechat_plugin_api.it.html $(abs_top_srcdir)/doc/it/weechat_plugin_api.it.adoc
# scripting guide
weechat_scripting.it.html: weechat_scripting.it.adoc $(abs_top_srcdir)/doc/docinfo.html
$(ASCIIDOCTOR) $(ASCIIDOCTOR_ARGS) -a revnumber="$(VERSION)" -o weechat_scripting.it.html $(abs_top_srcdir)/doc/it/weechat_scripting.it.adoc
# FAQ
weechat_faq.it.html: weechat_faq.it.adoc $(abs_top_srcdir)/doc/docinfo.html
$(ASCIIDOCTOR) $(ASCIIDOCTOR_ARGS) -a revnumber="$(VERSION)" -o weechat_faq.it.html $(abs_top_srcdir)/doc/it/weechat_faq.it.adoc
# quickstart
weechat_quickstart.it.html: weechat_quickstart.it.adoc $(abs_top_srcdir)/doc/docinfo.html
$(ASCIIDOCTOR) $(ASCIIDOCTOR_ARGS) -a revnumber="$(VERSION)" -o weechat_quickstart.it.html $(abs_top_srcdir)/doc/it/weechat_quickstart.it.adoc
# install man/docs
install-data-hook: $(man_install) $(doc_install)
install-man:
$(mkinstalldirs) $(DESTDIR)$(mandir)/it/man1/
$(INSTALL_DATA) *.1 $(DESTDIR)$(mandir)/it/man1/
install-doc:
$(mkinstalldirs) $(DESTDIR)$(docdir)/
$(INSTALL_DATA) *.html $(DESTDIR)$(docdir)/
# uninstall man/docs
uninstall-hook: $(man_uninstall) $(doc_uninstall)
uninstall-man:
$(RM) $(DESTDIR)$(mandir)/it/man1/weechat.1
$(RM) $(DESTDIR)$(mandir)/it/man1/weechat-headless.1
-rmdir $(DESTDIR)$(mandir)/it/man1
uninstall-doc:
$(RM) $(DESTDIR)$(docdir)/*.it.html
-rmdir $(DESTDIR)$(docdir)
# clean
clean-local:
-$(RM) weechat.1 weechat-headless.1 weechat_*.html
@@ -1,36 +0,0 @@
//
// This file is auto-generated by script docgen.py.
// DO NOT EDIT BY HAND!
//
// tag::config_priority[]
[width="30%",cols="1,3,2",options="header"]
|===
| Rank | File | Priority
| 1 | sec.conf | 120000
| 2 | weechat.conf | 110000
| 3 | plugins.conf | 100000
| 4 | charset.conf | 16000
| 5 | logger.conf | 15000
| 6 | exec.conf | 14000
| 7 | trigger.conf | 13000
| 8 | spell.conf | 12000
| 9 | alias.conf | 11000
| 10 | buflist.conf | 10000
| 11 | fifo.conf | 9000
| 12 | typing.conf | 8000
| 13 | xfer.conf | 7000
| 14 | irc.conf | 6000
| 15 | relay.conf | 5000
| 16 | guile.conf | 4070
| 17 | javascript.conf | 4060
| 18 | lua.conf | 4050
| 19 | perl.conf | 4040
| 20 | php.conf | 4030
| 21 | python.conf | 4020
| 22 | ruby.conf | 4010
| 23 | tcl.conf | 4000
| 24 | script.conf | 3000
| 25 | fset.conf | 2000
|===
// end::config_priority[]
+1 -6
View File
@@ -241,8 +241,6 @@ _sasl_scram_salted_pwd_size_   (integer) +
_sasl_scram_auth_message_   (string) +
_sasl_temp_username_   (string) +
_sasl_temp_password_   (string) +
_authentication_method_   (integer) +
_sasl_mechanism_used_   (integer) +
_is_connected_   (integer) +
_ssl_connected_   (integer) +
_disconnected_   (integer) +
@@ -280,7 +278,7 @@ _typing_allowed_   (integer) +
_reconnect_delay_   (integer) +
_reconnect_start_   (time) +
_command_time_   (time) +
_autojoin_done_   (integer) +
_reconnect_join_   (integer) +
_disable_autojoin_   (integer) +
_is_away_   (integer) +
_away_message_   (string) +
@@ -584,7 +582,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) +
@@ -709,7 +706,6 @@ _count_   (integer) +
_last_config_file_ +
| _plugin_   (pointer, hdata: "plugin") +
_priority_   (integer) +
_name_   (string) +
_filename_   (string) +
_file_   (pointer) +
@@ -927,7 +923,6 @@ _next_line_   (pointer, hdata: "line") +
| struttura con una riga di dati
| -
| _buffer_   (pointer, hdata: "buffer") +
_id_   (integer) +
_y_   (integer) +
_date_   (time) +
_date_printed_   (time) +
@@ -60,6 +60,8 @@
| php | php_version | version of the interpreter used | -
| python | python2_bin | path to Python 2.x interpreter (*deprecated* since version 2.6, scripts must use Python 3 only) | -
| python | python_eval | evaluation of source code | source code to execute
| python | python_interpreter | name of the interpreter used | -
@@ -4,30 +4,26 @@
//
// tag::plugins_priority[]
[width="30%",cols="1,3,2",options="header"]
|===
| Rank | Plugin | Priority
| 1 | charset | 16000
| 2 | logger | 15000
| 3 | exec | 14000
| 4 | trigger | 13000
| 5 | spell | 12000
| 6 | alias | 11000
| 7 | buflist | 10000
| 8 | fifo | 9000
| 9 | typing | 8000
| 10 | xfer | 7000
| 11 | irc | 6000
| 12 | relay | 5000
| 13 | guile | 4070
| 14 | javascript | 4060
| 15 | lua | 4050
| 16 | perl | 4040
| 17 | php | 4030
| 18 | python | 4020
| 19 | ruby | 4010
| 20 | tcl | 4000
| 21 | script | 3000
| 22 | fset | 2000
|===
. charset (16000)
. logger (15000)
. exec (14000)
. trigger (13000)
. spell (12000)
. alias (11000)
. buflist (10000)
. fifo (9000)
. typing (8000)
. xfer (7000)
. irc (6000)
. relay (5000)
. guile (4007)
. javascript (4006)
. lua (4005)
. perl (4004)
. php (4003)
. python (4002)
. ruby (4001)
. tcl (4000)
. script (3000)
. fset (2000)
// end::plugins_priority[]
+20 -46
View File
@@ -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[]
+44 -104
View File
@@ -131,7 +131,6 @@ Examples:
addraw <channel1>[,<channel2>...] [<key1>[,<key2>...]]
del [<channel1> [<channel2>...]]
apply
join
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
@@ -140,7 +139,6 @@ Examples:
channel: channel name
key: key for the channel
apply: set currently joined channels in the autojoin option
join: join the channels in the autojoin option
sort: sort alphabetically channels in the autojoin option
Examples:
@@ -152,7 +150,6 @@ Examples:
/autojoin del
/autojoin del #chan1
/autojoin apply
/autojoin join
/autojoin sort
----
@@ -453,16 +450,6 @@ Example:
motivo: motivo
----
[[command_irc_knock]]
* `+knock+`: send a notice to an invitation-only channel, requesting an invite
----
/knock <channel> [<message>]
channel: channel name
message: message to send
----
[[command_irc_links]]
* `+links+`: list all server names which are known by the server answering the query
@@ -757,12 +744,6 @@ channel: channel name
destinazione: nome server
----
[[command_irc_rules]]
* `+rules+`: request the server rules
----
----
[[command_irc_sajoin]]
* `+sajoin+`: forza un utente ad entrare su uno o più canali
@@ -1092,13 +1073,11 @@ target: reply should match this mask
add <alias> [<command>[;<command>...]]
addcompletion <completion> <alias> [<command>[;<command>...]]
del <alias> [<alias>...]
rename <alias> <new_alias>
list: list aliases (without argument, this list is displayed)
add: add an alias
addcompletion: add an alias with a custom completion
del: delete an alias
rename: rename an alias
completion: completion for alias: by default completion is done with target command
note: you can use %%command to use completion of an existing command
alias: name of alias
@@ -1119,27 +1098,12 @@ Examples:
/alias add split /window splith
alias /hello to say "hello" on all channels but not on #weechat:
/alias add hello /allchan -exclude=#weechat hello
rename alias "hello" to "Hello":
/alias rename hello Hello
alias /forcejoin to send IRC command "forcejoin" with completion of /sajoin:
/alias addcompletion %%sajoin forcejoin /quote forcejoin
----
// 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+`: imposta o elimina lo stato di assenza
@@ -1216,8 +1180,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>]
@@ -1226,7 +1188,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)
@@ -1240,8 +1201,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:
@@ -1255,11 +1214,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
@@ -1389,7 +1343,6 @@ Examples:
mouse|cursor [verbose]
hdata [free]
time <command>
unicode <string>
list: list plugins with debug levels
set: set debug level for plugin
@@ -1411,13 +1364,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]]
@@ -1464,36 +1410,35 @@ 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. the string itself without evaluation (format: "raw:xxx")
2. a user-defined variable (format: "name")
3. an evaluated sub-string (format: "eval:xxx")
4. an evaluated condition (format: "eval_cond:xxx")
5. a string with escaped chars (format: "esc:xxx" or "\xxx")
6. a string converted to lower case (format: "lower:xxx")
7. a string converted to upper case (format: "upper:xxx")
8. a string with chars to hide (format: "hide:char,string")
9. a string with max chars (format: "cut:max,suffix,string" or "cut:+max,suffix,string")
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.
10. a reversed string (format: "rev:xxx" or "revscr:xxx")
11. a repeated string (format: "repeat:count,string")
12. length of a string (format: "length:xxx" or "lengthscr:xxx")
13. split of a string (format: "split:number,separators,flags,xxx")
14. split of shell argmuents (format: "split_shell:number,xxx")
15. a color (format: "color:xxx", see "Plugin API reference", function "color")
16. a modifier (format: "modifier:name,data,string")
17. an info (format: "info:name,arguments", arguments are optional)
18. a base 16/32/64 encoded/decoded string (format: "base_encode:base,xxx" or "base_decode:base,xxx")
19. current date/time (format: "date" or "date:format")
20. an environment variable (format: "env:XXX")
21. a ternary operator (format: "if:condition?value_if_true:value_if_false")
22. result of an expression with parentheses and operators + - * / // % ** (format: "calc:xxx")
23. a random integer number (format: "random:min,max")
24. a translated string (format: "translate:xxx")
25. define a user variable (format: "define:name,value")
26. an option (format: "file.section.option")
27. a local variable in buffer
28. a hdata name/variable (the value is automatically converted to string), by default "window" and "buffer" point to current window/buffer.
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:
@@ -1516,8 +1461,6 @@ Examples (simple strings):
/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}} ==> --------
@@ -1649,22 +1592,6 @@ Examples:
valore: numero delle voci nella cronologia da mostrare
----
[[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+`: funzioni per la riga di comando
@@ -1706,10 +1633,23 @@ 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)
hotlist_remove_buffer: remove current buffer from hotlist
hotlist_restore_buffer: restore latest hotlist removed in the current buffer
hotlist_restore_all: restore latest hotlist removed in all buffers
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)
@@ -1811,7 +1751,7 @@ Examples:
restore default binding for key alt-r:
/key reset meta-r
key "tab" to stop search in buffer:
/key bindctxt search ctrl-i /input search_stop
/key bindctxt search ctrl-I /input search_stop
middle button of mouse on a nick to retrieve info on nick:
/key bindctxt mouse @item(buffer_nicklist):button3 /msg nickserv info ${nick}
----
@@ -2650,7 +2590,7 @@ Keys and input to set options on fset buffer:
u:xxx unmark options displayed that are matching filter "xxx" (any filter on option or value is allowed, see filters above)
Other keys and input on fset buffer:
ctrl+l refresh options and whole screen (command: /fset -refresh)
ctrl+L refresh options and whole screen (command: /fset -refresh)
$ refresh options (keep marked options)
$$ refresh options (unmark all options)
alt+p p toggle plugin description options (plugins.desc.*)
@@ -2660,7 +2600,7 @@ Other keys and input on fset buffer:
w:xxx export options in file "xxx"
w-:xxx export options in file "xxx" without help
w+:xxx export options in file "xxx" with help
ctrl+x x switch the format used to display options
ctrl+X x switch the format used to display options
q close fset buffer
Mouse actions on fset buffer:
@@ -8,37 +8,37 @@
|===
| Alias | Command | Completion
| /aaway | /allserv /away | -
| /anick | /allserv /nick | -
| /beep | /print -beep | -
| /bye | /quit | -
| /c | /buffer clear | -
| /cl | /buffer clear | -
| /close | /buffer close | -
| /chat | /dcc chat | -
| /exit | /quit | -
| /ig | /ignore | -
| /j | /join | -
| /k | /kick | -
| /kb | /kickban | -
| /leave | /part | -
| /m | /msg | -
| /mub | /unban * | -
| /msgbuf | /command -buffer $1 * /input send $2- | %(buffers_plugins_names)
| /n | /names | -
| /q | /query | -
| /redraw | /window refresh | -
| /say | /msg * | -
| /signoff | /quit | -
| /t | /topic | -
| /ub | /unban | -
| /umode | /mode $nick | -
| /v | /command core version | -
| /w | /who | -
| /wc | /window close | -
| /wi | /whois | -
| /wii | /whois $1 $1 | -
| /wm | /window merge | -
| /ww | /whowas | -
| /AAWAY | /allserv /away | -
| /ANICK | /allserv /nick | -
| /BEEP | /print -beep | -
| /BYE | /quit | -
| /C | /buffer clear | -
| /CL | /buffer clear | -
| /CLOSE | /buffer close | -
| /CHAT | /dcc chat | -
| /EXIT | /quit | -
| /IG | /ignore | -
| /J | /join | -
| /K | /kick | -
| /KB | /kickban | -
| /LEAVE | /part | -
| /M | /msg | -
| /MUB | /unban * | -
| /MSGBUF | /command -buffer $1 * /input send $2- | %(buffers_plugins_names)
| /N | /names | -
| /Q | /query | -
| /REDRAW | /window refresh | -
| /SAY | /msg * | -
| /SIGNOFF | /quit | -
| /T | /topic | -
| /UB | /unban | -
| /UMODE | /mode $nick | -
| /V | /command core version | -
| /W | /who | -
| /WC | /window close | -
| /WI | /whois | -
| /WII | /whois $1 $1 | -
| /WM | /window merge | -
| /WW | /whowas | -
|===
// end::default_aliases[]
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -103,7 +103,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-2022 {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

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